:root{--brand:#b3123c;--brand-dark:#8c0d2e;--brand-soft:#fdeef2;--ink:#1d1b1e;--muted:#6b6470;--line:#e4dfe6;--bg:#faf7f8;--card:#fff;--ok:#1f7a4d;--danger:#b42318;--radius:14px;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}[hidden]{display:none!important}h1,h2{margin:0 0 .25em;line-height:1.15}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--brand);margin:0 0 .4rem;font-size:.8rem;font-weight:700}.hint{color:var(--muted);font-size:.9rem;font-weight:400}.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 1px 3px #0000000a}input[type=text],input[type=email],input[type=password],input[type=search],select{font:inherit;border:1.5px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:12px 14px}input:focus-visible,select:focus-visible,button:focus-visible,th:focus-visible{outline:3px solid color-mix(in srgb, var(--brand) 40%, transparent);outline-offset:2px}.field{border:0;min-width:0;margin:0 0 24px;padding:0}.field>label,.field>legend{margin-bottom:8px;padding:0;font-size:1.05rem;font-weight:700;display:block}.btn-primary,.btn-secondary{font:inherit;cursor:pointer;border:2px solid var(--brand);border-radius:12px;padding:12px 20px;font-weight:700}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.btn-primary:disabled{opacity:.6;cursor:wait}.btn-primary.small{white-space:nowrap;padding:10px 16px}.btn-secondary{color:var(--brand);background:#fff}.btn-link{font:inherit;color:var(--brand);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:4px 6px;text-decoration:underline}.btn-link:disabled{color:var(--line);cursor:default}.btn-link.danger{color:var(--danger)}.form-error{color:var(--danger);background:#fef3f2;border:1px solid #fecdca;border-radius:10px;padding:12px 14px;font-weight:600}body.kiosk{background:linear-gradient(180deg, var(--brand-soft), var(--bg) 320px);min-height:100dvh;font-size:18px}.kiosk-shell{max-width:820px;padding:max(24px, env(safe-area-inset-top)) 20px 48px;margin:0 auto}.kiosk-header{text-align:center;margin:12px 0 24px}.kiosk-header h1{font-size:clamp(2rem,5vw,2.75rem)}.lede{color:var(--muted);margin:0}.kiosk input[type=text],.kiosk input[type=email]{min-height:58px;padding:16px 18px;font-size:1.2rem}.choice-group{margin-bottom:14px}.choice-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:.85rem;font-weight:700}.choices{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.choice{cursor:pointer;display:block;position:relative}.choice input{opacity:0;pointer-events:none;position:absolute}.choice-body{border:2px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;justify-content:center;gap:2px;min-height:64px;padding:12px 16px;transition:border-color .12s,background .12s;display:flex}.choice-label{font-weight:700}.choice-detail{color:var(--muted);font-size:.9rem}.choice input:checked+.choice-body{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.choice input:focus-visible+.choice-body{outline:3px solid color-mix(in srgb, var(--brand) 40%, transparent);outline-offset:2px}.picks-status{margin:0 0 10px}.team-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.team-chip{font:inherit;text-align:left;border:2px solid var(--line);min-height:60px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-weight:600;display:flex}.team-chip.picked{border-color:var(--brand);background:var(--brand-soft)}.team-chip.anywhere{border-style:dashed}.team-chip:disabled{opacity:.4;cursor:not-allowed}.team-chip .rank{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.kiosk .btn-primary{width:100%;min-height:64px;font-size:1.3rem}.thanks{text-align:center;padding:48px 24px}.thanks .heart{color:var(--brand);margin-bottom:12px;font-size:4rem;line-height:1}.thanks .btn-secondary{min-height:58px;margin-top:16px;padding:12px 32px;font-size:1.15rem}body.admin{font-size:15px}.admin #app{max-width:1280px;margin:0 auto;padding:24px 16px 64px}.login{max-width:420px;margin:10vh auto 0}.login .btn-primary{width:100%}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.admin-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-actions .btn-secondary{padding:8px 14px}.count-pill{vertical-align:middle;background:var(--brand);color:#fff;border-radius:999px;padding:2px 10px;font-size:.9rem;display:inline-block}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:16px;display:flex}.tab{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 14px;font-weight:600}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.filters input,.filters select{flex:180px;width:auto;padding:9px 12px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:24px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfafb}th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap;background:#fbf9fa;font-size:.8rem;position:sticky;top:0}th[data-sort]{cursor:pointer;-webkit-user-select:none;user-select:none}th[data-sort]:after{content:" ↕";opacity:.3}th.sorted{color:var(--brand)}th.sorted[data-dir=asc]:after{content:" ↑";opacity:1}th.sorted[data-dir=desc]:after{content:" ↓";opacity:1}td.strong{font-weight:600}td.hit{color:var(--brand);font-weight:700}td.num{text-align:right;font-variant-numeric:tabular-nums}td.empty,li.empty{color:var(--muted);text-align:center;padding:32px}.nowrap{white-space:nowrap}td a{color:inherit}.badge{white-space:nowrap;background:#eef0f3;border-radius:999px;padding:3px 9px;font-size:.82rem;font-weight:600;display:inline-block}.avail-serve_c1_attend_c2,.avail-serve_c2_attend_c1{color:#5b21b6;background:#f3e8ff}.avail-conference_1,.avail-conference_2{color:#075985;background:#e0f2fe}.avail-thursday_night,.avail-friday,.avail-friday_night,.avail-saturday{color:#92400e;background:#fef3c7}#tab-summary h2{margin-top:8px;font-size:1.15rem}.inline-form{gap:8px;max-width:520px;margin:12px 0 16px;display:flex}.team-list{border:1px solid var(--line);border-radius:var(--radius);background:#fff;max-width:760px;margin:0;padding:0;list-style:none}.team-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.team-list li:last-child{border-bottom:0}.team-list li.inactive .team-name{color:var(--muted);text-decoration:line-through}.team-name{font-weight:600}#admin-error{z-index:10;max-width:90vw;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}
