:root{--bg:var(--tg-theme-bg-color,#fff);--bg2:var(--tg-theme-secondary-bg-color,#f0f0f0);--text:var(--tg-theme-text-color,#1a1a1a);--hint:var(--tg-theme-hint-color,#999);--btn:var(--tg-theme-button-color,#3390ec);--btn-text:var(--tg-theme-button-text-color,#fff);--destructive:var(--tg-theme-destructive-text-color,#e74c3c);--link:var(--tg-theme-link-color,#3390ec);--sep:var(--tg-theme-separator-color,#e0e0e0);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;padding-bottom:56px}.bottom-nav{background:var(--bg);border-top:1px solid var(--sep);z-index:100;padding-bottom:env(safe-area-inset-bottom,0);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--hint);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;font-size:10px;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.bottom-nav a.active{color:var(--link)}.bottom-nav svg{width:22px;height:22px}.page{padding:16px;animation:.15s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.page-title{margin-bottom:16px;font-size:20px;font-weight:700}.stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.stat-card{background:var(--bg2);text-align:center;border-radius:12px;padding:14px 10px}.stat-card .number{color:var(--text);font-size:26px;font-weight:700;line-height:1.1}.stat-card .label{color:var(--hint);text-transform:uppercase;letter-spacing:.3px;margin-top:4px;font-size:11px}.card{background:var(--bg2);border-radius:12px;margin-bottom:10px;padding:14px}.card-title{margin-bottom:4px;font-size:15px;font-weight:600}.card-sub{color:var(--hint);font-size:13px}.field{margin-bottom:14px}.field label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field input,.field textarea,.field select{border:1px solid var(--sep);background:var(--bg2);width:100%;color:var(--text);border-radius:10px;outline:none;padding:10px 12px;font-size:15px;transition:border-color .15s}.field input:focus,.field textarea:focus{border-color:var(--link)}.field textarea{resize:vertical;min-height:80px}.group-picker{background:var(--bg2);border-radius:12px;max-height:200px;margin-bottom:14px;padding:4px 0;overflow-y:auto}.group-picker-header{justify-content:space-between;align-items:center;padding:10px 14px 6px;display:flex}.group-picker-header span{color:var(--text);font-size:13px;font-weight:600}.group-picker-header button{color:var(--link);cursor:pointer;background:0 0;border:none;width:auto;padding:0;font-size:12px;font-weight:600}.group-item{cursor:pointer;align-items:center;gap:10px;padding:10px 14px;transition:background .1s;display:flex}.group-item:active{background:var(--sep)}.group-check{border:2px solid var(--sep);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex}.group-item.selected .group-check{background:var(--btn);border-color:var(--btn)}.group-item.selected .group-check:after{content:"✓";color:var(--btn-text);font-size:13px;font-weight:700}.group-item-title{color:var(--text);font-size:14px}.group-item-sub{color:var(--hint);font-size:12px}.btn{background:var(--btn);width:100%;color:var(--btn-text);cursor:pointer;border:none;border-radius:10px;margin-top:8px;padding:14px;font-size:15px;font-weight:600;transition:opacity .15s;display:block}.btn:active{opacity:.8}.btn:disabled{opacity:.4;cursor:not-allowed}.msg{border-radius:10px;margin-top:10px;padding:10px 12px;font-size:13px}.msg-ok{color:#27ae60;background:#27ae601f}.msg-err{color:var(--destructive);background:#e74c3c1f}.section-head{color:var(--text);margin-bottom:10px;font-size:14px;font-weight:600}.badge-row{gap:8px;margin-bottom:16px;display:flex}.badge{text-align:center;background:var(--bg2);border-radius:10px;flex:1;padding:10px}.badge .count{font-size:20px;font-weight:700}.badge .badge-label{color:var(--hint);text-transform:uppercase;margin-top:2px;font-size:11px}.badge.going .count{color:#27ae60}.badge.maybe .count{color:#f39c12}.badge.notgoing .count{color:var(--destructive)}.rsvp-table{border-collapse:collapse;background:var(--bg2);border-radius:12px;width:100%;font-size:13px;overflow:hidden}.rsvp-table th{text-align:left;color:var(--hint);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--sep);padding:10px 12px;font-size:11px;font-weight:600}.rsvp-table td{border-bottom:1px solid var(--sep);padding:10px 12px}.rsvp-table tr:last-child td{border-bottom:none}.status-going{color:#27ae60;font-weight:600}.status-maybe{color:#f39c12;font-weight:600}.status-not_going{color:var(--destructive);font-weight:600}.empty{text-align:center;color:var(--hint);padding:32px 16px;font-size:14px}.char-count{text-align:right;color:var(--hint);margin-top:4px;font-size:12px}.char-count.warn{color:#f39c12}.char-count.over{color:var(--destructive)}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}
