:root{--sm-navy: #122c67;--sm-blue: #07a5fd;--sm-gold: #ffcd13;--sm-ink: #102651;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--sm-ink);background:#f3f7fb;font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.eyebrow{margin:0 0 .2rem;color:#607083;font-size:.72rem;font-weight:900;letter-spacing:.12em}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + .8rem) 1rem .8rem;color:#fff;background:#111827;box-shadow:0 3px 14px #11182733}.topbar .eyebrow{color:#b8c2cf}.topbar h1{margin:0;font-size:1.35rem}.icon-button{width:42px;height:42px;border:0;border-radius:50%;color:inherit;background:#ffffff18;font-size:1.4rem}.app-shell{width:min(760px,100%);max-width:100vw;margin:0 auto;padding:1rem 1rem 5rem;overflow:hidden}.controls{display:grid;gap:.75rem;min-width:0}.controls>*,.segment>*,.summary-grid>*{min-width:0}.controls label,.modal-body label,.login-card label{display:grid;gap:.35rem;color:#536274;font-size:.78rem;font-weight:800}input{min-height:46px;padding:.7rem .8rem;border:1px solid #c8d2dc;border-radius:11px;background:#fff;color:#122033}.segment{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px;border-radius:12px;background:#dfe5ea}.segment button{min-height:42px;border:0;border-radius:9px;color:#586777;background:transparent;font-weight:900}.segment button.active{color:#fff;background:#1f5d85;box-shadow:0 2px 5px #0b324833}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0}.summary-grid div{display:grid;place-items:center;padding:.8rem;border-radius:14px;background:#fff;box-shadow:0 2px 8px #1a35420c}.summary-grid b{font-size:1.55rem}.summary-grid span{color:#657487;font-size:.75rem;font-weight:800}.summary-grid .total{color:#fff;background:#1f5d85}.summary-grid .total span{color:#dceef8}.roster-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1.2rem 0 .7rem}.roster-head h2{margin:0;font-size:1.1rem}.exception-button{min-height:42px;padding:0 .9rem;border:1px solid #c58317;border-radius:10px;color:#8b5600;background:#fff8e6;font-weight:900}.alpha-jumps{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin-bottom:.7rem}.alpha-jumps button{min-height:36px;border:1px solid #ccd6df;border-radius:8px;color:#536274;background:#fff;font-size:.78rem;font-weight:900}.roster{display:grid;gap:.55rem}.player-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.65rem;width:100%;min-height:70px;padding:.7rem;text-align:left;border:1px solid #d4dde4;border-radius:14px;color:#122033;background:#fff;box-shadow:0 2px 8px #1a35420b}.player-row.checked{border-color:#65b486;background:#eaf8ef}.check-circle{display:grid;place-items:center;width:36px;height:36px;border:2px solid #b9c5ce;border-radius:50%;color:#fff;font-weight:1000}.checked .check-circle{border-color:#18894d;background:#18894d}.player-name{display:grid;gap:.2rem}.player-name b{font-size:1rem}.player-name small{color:#728091}.row-action{color:#1f5d85;font-size:.78rem;font-weight:900}.checked .row-action{color:#8a3f24}.empty{display:grid;gap:.2rem;place-items:center;padding:2rem;border:1px dashed #bcc8d1;border-radius:14px;text-align:center;color:#69798a}.setup-link{width:100%;margin-top:1rem;padding:.8rem;border:0;color:#657487;background:transparent;text-decoration:underline}.login-shell{display:grid;min-height:100vh;place-items:center;padding:1rem;background:linear-gradient(145deg,#111827 0 48%,#1f5d85 48%)}.login-card{width:min(420px,100%);padding:2rem;border-radius:24px;background:#fff;box-shadow:0 20px 60px #0005}.brand-mark{display:grid;width:54px;height:54px;place-items:center;margin-bottom:1rem;border-radius:15px;color:#fff;background:#1f5d85;font-weight:1000}.login-card h1{margin:0}.login-card form{display:grid;gap:1rem;margin-top:1.5rem}.primary,.secondary{min-height:48px;padding:.7rem 1rem;border:0;border-radius:11px;color:#fff;background:#1f5d85;font-weight:900}.secondary{color:#1f5d85;border:1px solid #91b6cb;background:#fff}.form-error{margin:0;color:#a32c2c;font-weight:800}dialog{width:min(650px,calc(100% - 1rem));max-height:calc(100vh - 1rem);padding:0;border:0;border-radius:20px;box-shadow:0 20px 80px #0007}dialog::backdrop{background:#0b1722aa}dialog header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:1rem;color:#fff;background:#111827}dialog h2{margin:0}.modal-body{display:grid;gap:1rem;padding:1rem}.modal-body section{padding-bottom:1rem;border-bottom:1px solid #e1e7eb}.modal-body h3{margin:0 0 .3rem}.exception-results{display:grid;gap:.5rem}.exception-results>button{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:64px;padding:.7rem;text-align:left;border:1px solid #d4dde4;border-radius:12px;background:#fff}.exception-results span{display:grid;gap:.2rem}.exception-results small{color:#657487}.exception-results em{color:#1f5d85;font-style:normal;font-weight:900}.paper-note{padding:.8rem;border-radius:10px;background:#fff8e6;color:#76500e}.setup-body input[type=file]{width:100%}.toast{position:fixed;z-index:20;left:50%;bottom:calc(env(safe-area-inset-bottom) + 1rem);transform:translate(-50%);max-width:calc(100% - 2rem);padding:.85rem 1rem;border-radius:12px;color:#fff;background:#18894d;box-shadow:0 7px 30px #0004;font-weight:850}.toast.warn{background:#9a6508}.toast.error{background:#a32c2c}.offline-banner{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.7rem 1rem;color:#fff;background:#a32c2c;text-align:center;font-size:.84rem}.offline-banner[hidden]{display:none}.offline-banner strong{letter-spacing:.08em}.import-summary{display:grid;grid-template-columns:auto 1fr;gap:.3rem .7rem;align-items:baseline;padding:.8rem;border-radius:10px;background:#eef6fb}.import-summary b{color:var(--sm-navy);font-size:1.15rem}.import-summary+p{margin-block:.8rem}@media(min-width:620px){.controls{grid-template-columns:1fr 1.3fr 1fr;align-items:end}.topbar{padding-left:max(1rem,calc((100vw - 760px)/2));padding-right:max(1rem,calc((100vw - 760px)/2))}}@media(max-width:619px){.app-shell{padding:.75rem .75rem 5rem}.segment button{min-width:0;padding-inline:.35rem}.summary-grid{gap:.45rem}.summary-grid div{padding:.7rem .35rem}.roster-head{align-items:stretch;flex-direction:column;gap:.55rem}.exception-button{width:100%}.alpha-jumps{gap:.3rem}.player-row{grid-template-columns:42px minmax(0,1fr)}.row-action{grid-column:2}.player-name{min-width:0}.player-name b,.player-name small{overflow-wrap:anywhere}.offline-banner{align-items:flex-start;flex-direction:column;gap:.15rem}}.brand-logo{display:block;object-fit:contain}.topbar{padding-top:calc(env(safe-area-inset-top) + .65rem);padding-bottom:.65rem;background:var(--sm-navy);border-bottom:4px solid var(--sm-gold);box-shadow:0 3px 14px #122c6740}.topbar-brand{display:flex;align-items:center;gap:.7rem}.topbar-logo{width:48px;height:48px;border-radius:50%;background:#fff}.topbar .eyebrow{color:#bce7ff}.segment button.active{background:var(--sm-navy)}.summary-grid .total{color:var(--sm-navy);background:var(--sm-gold)}.summary-grid .total span{color:#5b4a00}.row-action,.exception-results em{color:var(--sm-navy)}.login-shell{background:linear-gradient(145deg,var(--sm-navy) 0 52%,var(--sm-blue) 52% 78%,var(--sm-gold) 78%)}.login-logo{width:96px;height:96px;margin:0 auto 1rem;border-radius:50%}.login-card>.eyebrow{color:var(--sm-navy);text-align:center}.login-card>h1,.login-card>p{text-align:center}.primary,.secondary{background:var(--sm-navy)}.primary{border-bottom:4px solid #0a1b45}.secondary{color:var(--sm-navy);border-color:#91b6cb;background:#fff}dialog header{background:var(--sm-navy);border-bottom:4px solid var(--sm-gold)}.demo-banner{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px 16px;background:#ffcd13;color:#122c67;font-size:12px}.demo-banner div{display:grid;gap:3px}.demo-banner button{border:1px solid #122c67;border-radius:8px;padding:8px;background:#fff;color:#122c67;white-space:nowrap;font-weight:700}.demo-guide{background:#fff;padding:12px;border:1px solid #c8d2dc;border-radius:12px;font-size:14px;line-height:1.5}.demo-guide summary{font-weight:700;cursor:pointer}.exception-results button:disabled{opacity:.65;cursor:not-allowed}input,select,textarea{font-size:16px;min-width:0;max-width:100%}dialog{width:min(520px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}dialog header{gap:12px}dialog header>div{min-width:0}dialog h2{font-size:1.15rem;line-height:1.25}dialog .icon-button{flex-shrink:0}.modal-body{min-width:0;font-size:15px;line-height:1.45}.modal-body p{margin:0}.modal-body input:not([type=checkbox]){width:100%}.exception-results>button{min-width:0}.exception-results span{min-width:0;overflow-wrap:anywhere}.paper-entry{padding:12px;border:1px solid #c8d2dc;border-radius:10px}.paper-entry summary{font-weight:700;cursor:pointer}.paper-entry form{display:grid;gap:12px;margin-top:12px}.verify-paper{display:flex!important;align-items:start;gap:10px!important}.verify-paper input{min-height:20px;width:20px;flex-shrink:0;margin:0}.topbar-brand h1{font-size:1.05rem;line-height:1.25;margin:0}.checkin-subtitle{font-size:.95rem;font-weight:500;margin:5px 0 0;color:#d8eaff}
