:root{--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-muted: #f3f4f6;--color-ink: #111111;--color-ink-muted: #6b7280;--color-line: #e5e7eb;--color-primary: #3b6cf6;--color-primary-ink: #ffffff;--color-success: #16a34a;--color-success-bg: #dcfce7;--color-danger: #dc2626;--color-danger-bg: #fee2e2;--color-warning: #b45309;--color-warning-bg: #fef3c7;--radius-card: 12px;--radius-input: 10px;--radius-pill: 999px;--space-page: 20px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ink: var(--color-ink);--muted: #6b7280;--line: #e5e7eb;--bg: var(--color-bg);--surface: #ffffff;--accent: var(--color-primary);--danger: var(--color-danger);--ok: var(--color-success);font-family:var(--font)}*{box-sizing:border-box}.app-shell{display:flex;min-height:100dvh;flex-direction:column}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;font-size:15px}.topbar{order:1;padding-top:env(safe-area-inset-top);background:var(--color-surface)}.app-shell--offline .topbar{padding-top:0}.topbar__inner,.event-nav,.shell-content{max-width:430px;margin:0 auto;padding-right:calc(var(--space-page) + env(safe-area-inset-right));padding-left:calc(var(--space-page) + env(safe-area-inset-left))}.topbar__inner{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:12px}.event-nav{order:3;display:flex;min-height:64px;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}.wordmark{height:32px;filter:invert(1)}.topbar__action{padding:8px 0;cursor:pointer}.event-nav__back,.event-nav__name{color:var(--color-ink);font-size:16px;font-weight:600;text-decoration:none}.event-nav__back{padding:0;border:0;background:transparent;cursor:pointer}.event-nav__dashboard{padding:0;font-size:13px}.shell-content{order:4;width:100%;padding-top:20px;padding-bottom:24px}.offline-banner{order:0;color:var(--color-warning);background:var(--color-warning-bg)}.offline-banner__inner{display:grid;max-width:640px;margin:0 auto;padding:calc(10px + env(safe-area-inset-top)) calc(var(--space-page) + env(safe-area-inset-right)) 10px calc(var(--space-page) + env(safe-area-inset-left));gap:2px;font-size:13px}.sync-line{order:2;padding:7px calc(var(--space-page) + env(safe-area-inset-right)) 7px calc(var(--space-page) + env(safe-area-inset-left));color:var(--color-ink-muted);background:var(--color-surface-muted);font-size:13px;text-align:center}.sync-pause-error{display:block;color:var(--color-danger);font-size:13px;font-weight:600}.app-shell .screen{max-width:none;padding:0}.screen{max-width:640px;margin:0 auto;padding:16px calc(16px + env(safe-area-inset-left)) calc(24px + env(safe-area-inset-bottom))}.screen--centered{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center}.sign-in__wordmark{display:block;height:72px;margin:0 auto 20px;filter:invert(1)}.card{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.title{font-size:20px;font-weight:600;line-height:1.25;margin:0 0 4px}.subtitle{margin:0 0 20px;color:var(--muted)}.label{display:block;font-size:14px;font-weight:600;margin:12px 0 6px}.section-label{margin:0 0 10px;font-size:15px;font-weight:600}.input{width:100%;font-size:16px;padding:12px;border:0;border-radius:var(--radius-input);background:var(--color-surface-muted);color:var(--ink)}.input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.button{width:100%;margin-top:20px;min-height:48px;font-size:16px;font-weight:600;color:var(--color-primary-ink);background:var(--color-primary);border:none;border-radius:var(--radius-pill)}.button:disabled{opacity:.5}.button--secondary{background:var(--color-ink)}.button--ghost{border:0;background:transparent;color:var(--color-primary);font-size:14px;font-weight:600;text-decoration:none}.link-button{background:none;border:none;padding:8px 0;font-size:15px;color:var(--muted);text-decoration:underline;cursor:pointer}.list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.list-item{display:block;width:100%;text-align:left;min-height:56px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:16px;cursor:pointer}.list-item__name{display:block;font-weight:600;margin-bottom:2px}.counts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.count{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}.count__value{display:block;font-size:24px;font-weight:700}.muted{color:var(--muted);font-size:14px}.error{color:var(--danger);font-size:14px;margin:12px 0 0}.status{font-size:13px;font-weight:600;margin:4px 0 12px}.status--online{color:var(--ok)}.status--offline{color:var(--danger)}.qr{display:block;width:100%;max-width:280px;height:auto;margin:16px auto 8px;border:1px solid var(--line);border-radius:8px}.handoff-link{overflow-wrap:anywhere;font-size:13px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px;margin:0}.cam{position:relative;width:min(100%,34.5dvh);max-height:46dvh;aspect-ratio:3 / 4;margin:12px auto 0;overflow:hidden;border-radius:16px;background:#000}.cam__video{width:100%;height:100%;object-fit:cover}.cam__reticle{position:absolute;top:50%;left:50%;width:60%;aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid var(--surface);border-radius:12px;opacity:.85}.cam__hint{position:absolute;right:16px;bottom:18px;left:16px;text-align:center;margin:0;color:#ffffffb3;font-size:13px}.cam__error{position:absolute;top:50%;right:32px;left:32px;margin:0;transform:translateY(-50%);color:var(--color-primary-ink);text-align:center}.queued-checkins{margin-top:20px}.list-item__row{display:flex;align-items:center;justify-content:space-between;gap:8px}.chip{flex:none;font-size:12px;font-weight:600;padding:4px 10px;border:0;border-radius:var(--radius-pill);color:var(--color-ink-muted);background:var(--color-surface-muted)}.chip:before{content:"•  "}.chip--ready{color:var(--color-success);background:var(--color-success-bg)}.chip--blocked{color:var(--color-danger);background:var(--color-danger-bg)}.chip--checked-in{color:var(--color-success);background:var(--color-success-bg)}.chip--queued{color:var(--color-ink-muted);background:var(--color-surface-muted);border:1px dashed var(--color-ink-muted)}.status-chip{display:inline-flex;flex:none;align-items:center;padding:4px 10px;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-ink-muted);font-size:12px;font-weight:600}.status-chip--dot:before{content:"•";margin-right:5px}.status-chip--success{background:var(--color-success-bg);color:var(--color-success)}.status-chip--danger{background:var(--color-danger-bg);color:var(--color-danger)}.status-chip--warning{background:var(--color-warning-bg);color:var(--color-warning)}.status-chip--queued{border:1px dashed var(--color-ink-muted)}.status-chip-button{padding:0;border:0;background:transparent;font:inherit;cursor:pointer}.list-item--row{display:flex;align-items:center;gap:12px}.list-item__grow{flex:1;min-width:0}.event-section{margin-top:24px}.event-section .list{gap:0}.event-row{display:flex;width:100%;gap:14px;padding:14px 0;border:0;border-bottom:1px solid var(--color-line);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.event-row__image{flex:0 0 72px;width:72px;height:72px;border-radius:8px;background:var(--color-surface-muted);object-fit:cover}.event-row__meta{display:flex;margin-top:5px;color:var(--color-ink-muted);font-size:13px}.event-row__meta.meta-with-icon{display:flex}.meta-with-icon{display:inline-flex;align-items:center;gap:5px}.meta-icon{flex:none;width:14px;height:14px;stroke-width:1.8}.event-row__counts{display:block;margin-top:6px;color:var(--color-ink-muted);font-size:13px}.event-row__counts strong{color:var(--color-ink)}.count-hero{display:flex;align-items:baseline;margin-top:24px}.count-hero strong{font-size:34px}.count-hero span{margin-left:5px;color:var(--color-ink-muted);font-size:20px}.count-caption{margin:4px 0 0}.blocked-summary{margin:24px 0 0;font-size:13px}.actions-sticky{display:grid;gap:10px;margin:0;position:sticky;bottom:0;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:var(--color-bg)}.sticky-actions-content{padding-bottom:126px}.actions-sticky .button{margin-top:0}.actions-cluster{position:static;margin-top:16px;padding-top:0}.home-row{display:block;margin-top:24px;padding:14px 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);color:var(--color-ink);text-decoration:none}.home-row--disabled{opacity:.6}.dashboard-section{margin-top:28px}.dashboard-list{margin:0;padding:0;list-style:none}.dashboard-list>li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--color-line);font-size:14px;font-weight:600}.division-count{color:var(--color-ink-muted);font-weight:400}.division-count strong{color:var(--color-ink)}.recent-list>li{font-size:15px}.recent-list .muted{font-size:13px;font-weight:400}.gate{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:15px}.gate--pass b{color:var(--ok)}.gate--block b{color:var(--danger)}.banner{margin-top:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:8px;font-size:15px}.textarea{min-height:96px;resize:vertical;font-family:inherit}.dialog{margin-top:12px;padding:14px;background:var(--surface);border:2px solid var(--ink);border-radius:8px}.offline-block{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px;padding:12px 14px;border:1px solid var(--color-line);border-radius:var(--radius-card)}.offline-block>.muted{margin-right:auto}.offline-block .error{flex-basis:100%}.search-heading{display:block;margin:0;font-size:16px;font-weight:600}.search-helper{margin:4px 0 12px}.search-input{position:relative}.search-input__icon{position:absolute;top:50%;left:14px;z-index:1;transform:translateY(-50%);color:var(--color-ink-muted);font-size:18px}.search-input .input{padding-left:42px}.search-tabs{display:flex;gap:8px;margin-top:12px}.search-tabs button{min-height:36px;padding:0 16px;border:1px solid var(--color-line);border-radius:var(--radius-pill);color:var(--color-ink);background:var(--color-surface);font:inherit;font-weight:600}.search-tabs button.is-active{border-color:var(--color-ink);color:var(--color-primary-ink);background:var(--color-ink)}.search-tabs button:disabled:not(.is-active){opacity:.5}.search-count{margin:20px 0 0;color:var(--color-ink-muted);font-size:13px}.search-results{gap:0;margin-top:8px}.search-results .list-item{padding:13px 0;border:0;border-bottom:1px solid var(--color-line);border-radius:0}.result-grade{color:var(--color-ink-muted);font-weight:400}.load-more{display:block;margin:14px auto 0;cursor:pointer}.registration-id{overflow-wrap:anywhere;margin-top:4px}.result--ok,.result--failed{display:block;margin-top:4px;font-size:13px;font-weight:600}.result--ok{color:var(--ok)}.result--failed{color:var(--danger)}.button--link{display:flex;align-items:center;justify-content:center;text-decoration:none}.list-item__meta{flex:none;white-space:nowrap;color:var(--muted);font-size:14px}.gear-button{display:grid;width:40px;height:40px;place-items:center;padding:0;border:0;border-radius:50%;color:var(--color-ink);background:transparent;font-size:22px;cursor:pointer}.gear-button:focus-visible,.gear-sheet__row:focus-visible,.gear-sheet__action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.gear-sheet-layer{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0}.gear-sheet-scrim{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:#11111173;cursor:default}.gear-sheet{position:absolute;right:0;bottom:0;left:0;width:min(100%,430px);max-height:calc(100dvh - 32px);margin:0 auto;padding:10px 20px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;border-radius:18px 18px 0 0;background:var(--color-surface)}.gear-sheet__handle{width:40px;height:4px;margin:0 auto 18px;border-radius:var(--radius-pill);background:var(--color-line)}.gear-sheet h2{margin:0 0 12px;font-size:20px;font-weight:600}.gear-sheet__rows{border-top:1px solid var(--color-line)}.gear-sheet__row{display:flex;width:100%;min-height:62px;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border:0;border-bottom:1px solid var(--color-line);color:var(--color-ink);background:transparent;font:inherit;text-align:left;text-decoration:none}button.gear-sheet__row{cursor:pointer}.gear-sheet__row:disabled{cursor:default;opacity:.5}.gear-sheet__copy{display:grid;gap:3px}.gear-sheet__copy strong{font-size:15px;font-weight:600}.gear-sheet__copy span{color:var(--color-ink-muted);font-size:13px}.gear-sheet__action{flex:none;padding:8px 0 8px 12px;cursor:pointer}.gear-sheet__action:disabled{cursor:default;opacity:.5}.gear-sheet__row--danger{color:var(--color-danger)}.gear-sheet__error{margin:10px 0 0}.app-shell>.sign-out-dialog{position:fixed;z-index:110;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));left:20px;width:min(calc(100% - 40px),390px);margin:auto;box-shadow:0 18px 50px #11111140}.dashboard-live-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-live-row h1{margin:0;font-size:20px;font-weight:600;line-height:1.25}.dashboard-page .count-hero{display:grid;justify-items:center;margin-top:34px;text-align:center}.dashboard-page .count-hero>div{display:flex;align-items:baseline}.dashboard-page .count-hero strong{font-size:34px;font-weight:700;line-height:1}.dashboard-page .count-hero span{margin-left:5px;color:var(--color-ink-muted);font-size:20px}.dashboard-page .count-caption{margin:7px 0 0;font-size:13px;text-align:center}.dashboard-offline-copy{margin:18px 0 0;font-size:13px;text-align:center}.dashboard-hairline{height:1px;margin-top:30px;background:var(--color-line)}.dashboard-page .dashboard-section{margin-top:24px}.dashboard-page .section-label{margin:0 0 8px;font-size:13px;font-weight:600;text-transform:none}.dashboard-page .dashboard-list>li{padding:13px 0;font-size:14px;font-weight:600}.dashboard-page .division-count{color:var(--color-ink-muted);font-weight:400}.dashboard-page .division-count strong{color:var(--color-ink);font-weight:700}.dashboard-page .recent-list>li{font-size:15px}.dashboard-page .recent-list .list-item__name{font-size:15px;font-weight:600}.dashboard-page .recent-list .muted{font-size:13px;font-weight:400}.offline-readiness-hint{display:flex;align-items:center;gap:5px;margin:8px 0 0;font-size:13px}.chip--warning{color:var(--color-warning);background:var(--color-warning-bg)}.player-card,.sheet-card,.walkup-card{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);padding:16px}.player-card{display:flex;align-items:center;gap:12px;margin-bottom:18px}.player-avatar{display:grid;flex:0 0 44px;height:44px;place-items:center;border-radius:50%;background:var(--color-surface-muted);color:var(--color-ink-muted);font-weight:600}.player-card__body{min-width:0;flex:1}.player-card__heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.player-card h1{margin:0;font-size:17px;font-weight:600}.player-card p{margin:4px 0 0;color:var(--color-ink-muted);font-size:13px}.player-card .error{color:var(--color-danger)}.nsid-check{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.nsid-check .button--ghost{min-height:32px;padding:0 4px}.nsid-check .button--ghost:disabled{opacity:.5}.gate-list{margin-bottom:14px;border-top:1px solid var(--color-line)}.gate-list .gate{margin:0;padding:13px 0;border:0;border-bottom:1px solid var(--color-line);border-radius:0}.sheet-actions{position:sticky;bottom:0;z-index:2;display:grid;gap:10px;margin-top:22px;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:var(--color-bg)}.sheet-actions .button,.waiver-form .button,.sheet-card .button{margin-top:0}.sheet-actions .button--ghost{min-height:36px}.sheet-banner{margin:14px 0;padding:12px 14px;border-radius:8px;background:var(--color-surface-muted);color:var(--color-ink-muted)}.sheet-banner--success{background:var(--color-success-bg);color:var(--color-success)}.sheet-banner--warning{background:var(--color-warning-bg);color:var(--color-warning)}.sheet-undo{width:auto;min-height:36px;margin-top:2px;padding:0}.override-block{margin-top:14px}.roster-checkin{min-height:32px;padding:0 13px;border:0;border-radius:var(--radius-pill);background:var(--color-ink);color:#fff;font-weight:600}.sheet-tabs{display:grid;grid-template-columns:1fr 1fr;margin:20px 0;border-bottom:1px solid var(--color-line)}.sheet-tabs button{padding:11px 4px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--color-ink-muted);font-weight:600}.sheet-tabs button.is-active{border-color:var(--color-primary);color:var(--color-primary)}.waiver-form h2{margin:0 0 8px;font-size:15px}.waiver-copy{display:-webkit-box;overflow:hidden;margin:0 0 8px;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:4}.waiver-copy.is-expanded{display:block}.waiver-agree{display:flex;align-items:flex-start;gap:10px;margin:18px 0}.waiver-agree input{width:20px;height:20px;accent-color:var(--color-primary)}.waiver-select{margin-top:10px}.typed-signature{display:flex;height:96px;align-items:center;margin-top:10px;padding:12px;border-radius:var(--radius-input);background:var(--color-surface-muted)}.typed-signature input{width:100%;border:0;outline:0;background:transparent;font-family:cursive;font-size:20px;font-style:italic}.waiver-phone{text-align:center}.walkup-card .button{margin-top:18px}.review-section-title{margin:24px 0 8px;font-size:16px;font-weight:600}.review-list{gap:0}.review-list .list-item{padding:14px 0;border:0;border-bottom:1px solid var(--color-line);border-radius:0}.review-dismiss{margin-top:8px;padding:4px 0}.team-results{display:grid;gap:14px;margin-top:8px}.team-result-card{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface)}.team-result-card__toggle{display:grid;width:100%;gap:12px;padding:16px;border:0;border-radius:inherit;background:transparent;color:inherit;font:inherit;text-align:left}.team-result-card__title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px}.team-result-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;color:var(--color-ink-muted);font-size:13px}.team-result-card__status{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--color-ink-muted);font-size:13px}.is-due{color:var(--color-danger)}.team-result-card__roster{padding:0 16px 16px;border-top:1px solid var(--color-line)}.team-roster-row{display:flex;min-height:60px;align-items:center;gap:12px;border-bottom:1px solid var(--color-line)}.team-roster-row__identity{display:grid;flex:1;min-width:0;gap:3px;padding:13px 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left}.team-roster-row__identity strong{font-size:15px}.team-roster-row__identity span{font-size:13px}.team-result-card__actions{position:sticky;bottom:0;z-index:2;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:var(--color-bg)}.team-result-card__actions .button{margin-top:0}.team-result-card__summary{margin:8px 0 0;color:var(--color-ink-muted);font-size:13px}.team-result-card--sheet{padding:16px}
