.qr.small{max-width:220px}
.seats{display:flex!important;flex-wrap:wrap;gap:8px}
.seat{border:2px solid #22c55e;border-radius:12px;padding:8px;text-align:center;position:relative;background:#f6ffed;color:#16a34a;white-space:nowrap;font-size:12px;flex:0 0 calc(20% - 8px)}
.nav-icons svg{display:block}
.form-row{display:flex;align-items:center;gap:10px}
.section-title{display:inline-block;background:linear-gradient(90deg,#22c55e,#10b981);color:#fff;padding:6px 10px;border-radius:10px;margin-bottom:6px;font-weight:600}
.section-title.blue{background:linear-gradient(90deg,#3b82f6,#60a5fa)}
.section-title.orange{background:linear-gradient(90deg,#f59e0b,#f97316)}
.divider{height:1px;background:#e2e8f0;margin:12px 0;border-radius:2px}
.notice-bar{display:flex;align-items:center;gap:8px;background:linear-gradient(90deg,#fde68a,#fcd34d);border-radius:10px;padding:6px 10px;color:#7c2d12}
.notice-bar .icon{width:18px;height:18px;background:#ef4444;border-radius:50%}
.notice-bar .label{font-weight:600;white-space:nowrap}
.notice-track{overflow:hidden;display:flex;align-items:center}
.notice-marquee{display:inline-block;white-space:nowrap;animation:marquee 30s linear infinite}
@keyframes marquee{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}
.hint{display:inline-block;background:linear-gradient(90deg,#3b82f6,#60a5fa);color:#fff;padding:6px 10px;border-radius:10px;margin-top:8px}
.grid .column{display:flex;flex-direction:column}
.bottom-spacer{margin-top:auto}
.qr.narrow{max-width:80%}
.tabbar a.home{color:#1d4ed8}
.tabbar a.event{color:#ef4444}
.tabbar a.group{color:#10b981}
.tabbar a.wish{color:#f59e0b}
.tabbar a.admin{color:#8b5cf6}
.card li div{margin:4px 0}
.message-card{background:#fff;border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,.08);padding:10px;margin:10px 0}
.nickname{color:#1d4ed8;font-weight:600}
.avatar{width:24px;height:24px;border-radius:50%;background:#3b82f6;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;margin-right:6px}
.msg-content{line-height:1.8}
.msg-content.collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.reveal{opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease}
.reveal.visible{opacity:1;transform:none}
