:root{--bg:#eef0ea;--bg-panel:#f5f7f2;--surface:#fff;--border:#d7ddd0;--border-soft:#e6e9e0;--text:#1c231a;--text-muted:#5b6555;--text-faint:#8a9382;--field-hint:#e6e9e0;--accent:#2f6d3a;--accent-ink:#fff;--div-1:#3f5fc4;--div-2:#c9622f;--div-3:#8347c9;--div-4:#c93d78;--div-5:#2f9db0;--div-6:#8a5a2e;--warn-hard:#b23a2c;--warn-hard-bg:#fae3df;--warn-incomplete:#a3760f;--warn-incomplete-bg:#faf0d8;--notice-info:#2f8f4f;--notice-info-bg:#e2f3e6;--font-display:"Oswald", "IBM Plex Sans Condensed", sans-serif;--font-body:"Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius-s:4px;--radius-m:6px;--radius-l:10px;--shadow:0 1px 2px #141e0a0f, 0 8px 20px #141e0a12}:root[data-theme=l2]{--bg:#eef1f5;--bg-panel:#e9edf3;--surface:#fff;--border:#c6d0dc;--border-soft:#dbe2ea;--text:#16202c;--text-muted:#56677a;--text-faint:#8695a6;--field-hint:#dbe2ea;--accent:#1d4ed8;--accent-ink:#fff;--div-1:#2f7fd6;--div-2:#c23b7a;--div-3:#7c3fc9;--div-4:#1f9e8f;--div-5:#b1552f;--div-6:#5a6ac9;--warn-hard:#c23b3b;--warn-hard-bg:#fbe2e2;--warn-incomplete:#b3790a;--warn-incomplete-bg:#fbeed4;--notice-info:#1f8a5f;--notice-info-bg:#e0f4ea;--font-display:"Archivo", sans-serif;--font-body:"Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--radius-s:2px;--radius-m:4px;--radius-l:6px;--shadow:0 1px 2px #0f19280f, 0 8px 20px #0f19280f}:root[data-theme=d1]{--bg:#0c0f13;--bg-panel:#1a212b;--surface:#131820;--border:#263140;--border-soft:#1e2731;--text:#e7edf3;--text-muted:#8695a6;--text-faint:#5c6b7c;--field-hint:#1e2731;--accent:#34e0ff;--accent-ink:#001318;--div-1:#7aa6ff;--div-2:#ff8fc0;--div-3:#b48cff;--div-4:#63d3ff;--div-5:#ff9f6b;--div-6:#ffd166;--warn-hard:#ff6b57;--warn-hard-bg:#331813;--warn-incomplete:#ffb648;--warn-incomplete-bg:#332510;--notice-info:#4fd689;--notice-info-bg:#123024;--font-display:"Chakra Petch", sans-serif;--font-body:"Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius-s:3px;--radius-m:5px;--radius-l:9px;--shadow:0 1px 2px #0006, 0 10px 26px #0006}:root[data-theme=d3]{--bg:#12141a;--bg-panel:#1f232c;--surface:#191c24;--border:#2b303b;--border-soft:#232732;--text:#e7e9ee;--text-muted:#8b909e;--text-faint:#5f6472;--field-hint:#232732;--accent:#8b93f0;--accent-ink:#12141a;--div-1:#8fa6ee;--div-2:#ec80b3;--div-3:#b797ef;--div-4:#7fb4f0;--div-5:#d187c8;--div-6:#b8a67e;--warn-hard:#d97c72;--warn-hard-bg:#301c18;--warn-incomplete:#d9a856;--warn-incomplete-bg:#302818;--notice-info:#6fbf94;--notice-info-bg:#1a2c22;--font-display:"Fraunces", serif;--font-body:"Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius-s:5px;--radius-m:8px;--radius-l:12px;--shadow:0 1px 2px #0000004d, 0 10px 26px #00000052}:root[data-theme=d3] .time-cell,:root[data-theme=d3] .version-meta{font-family:var(--font-display);font-weight:600}:root[data-theme=l1] .topbar{border-bottom:3px double var(--border)}:root[data-theme=l2] .shell{background-image:linear-gradient(color-mix(in srgb, var(--border) 55%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--border) 55%, transparent) 1px, transparent 1px);background-size:26px 26px}:root[data-theme=d1] .brand-mark .o-accent{text-shadow:0 0 12px color-mix(in srgb, var(--accent) 65%, transparent)}.grid-scroll{overflow-x:auto}body,.shell,.topbar,.match,.panel-card,.needs-attention-panel,.attention-card,.registry-table,.schedule-grid th,.schedule-grid td,.status-pill,.ladder-state,.day-tab,.theme-select,.topbar>select,.topbar>button,.history-controls button,.version-actions button,.attention-card button,.registry-tabs button{transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s}@media (prefers-reduced-motion:no-preference){.match:hover,.panel-card:hover,.attention-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.match,.panel-card,.attention-card{transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}@keyframes attention-card-in{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.attention-card{animation:.25s both attention-card-in}@keyframes ladder-state-pop{0%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:scale(1)}}.ladder-state.touched{animation:.3s ladder-state-pop}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);margin:0;font-size:14px;font-weight:500;line-height:1.45}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.schedule-grid{border-collapse:collapse;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-l);width:100%;overflow:hidden}.schedule-grid th,.schedule-grid td{border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft);text-align:left;vertical-align:top;padding:8px 10px}.schedule-grid th:last-child,.schedule-grid td:last-child{border-right:none}.schedule-grid th{background:var(--bg-panel);font-size:12.5px;font-weight:700}.time-cell{white-space:nowrap;font-weight:600;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-panel);font-size:12.5px}.match{border-left:3px solid var(--m-color,var(--accent));border-radius:var(--radius-m);background:color-mix(in srgb, var(--m-color,var(--border)) 12%, var(--bg-panel));cursor:grab;flex-direction:column;gap:3px;min-height:40px;padding:7px 9px;display:flex}.match-cell.drop-incompatible{background:var(--field-hint);opacity:.5}.drag-error,.delete-error{color:var(--warn-hard);margin:4px 0;font-size:.85rem;font-weight:600}.transfer-request-notice{color:var(--notice-info);margin:4px 0;font-size:.85rem;font-weight:600}.match .division{letter-spacing:.04em;text-transform:uppercase;color:var(--m-color,var(--accent));font-size:10px;font-weight:700;display:block}.match .vs{flex-direction:column;gap:2px;display:flex}.match .vs .team-wrapper .team,.match .vs>.team{font-size:12.5px;font-weight:600}.cell-conflict-warning{color:var(--warn-hard);margin:0 0 4px;font-size:.75rem;font-weight:600}.team-hard-warning{outline:2px solid var(--warn-hard);outline-offset:1px}.team-incomplete-warning{position:relative}.team-incomplete-warning:after{content:"!";background:var(--warn-incomplete);color:#1a1a1a;text-align:center;border-radius:50%;width:14px;height:14px;font-size:10px;font-weight:700;line-height:14px;position:absolute;top:-6px;right:-10px}.day-tabs{gap:4px;margin-bottom:8px;display:flex}.day-tab{border:1px solid var(--border);background:var(--bg-panel);color:var(--text-muted);font:inherit;border-radius:var(--radius-m);cursor:pointer;padding:6px 14px;font-size:12.5px;font-weight:600}.day-tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.team-wrapper{display:inline-block;position:relative}.team-wrapper .team{font:inherit;color:inherit;text-align:left;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.team-context-menu{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow);flex-direction:column;min-width:200px;padding:6px;display:flex;position:absolute}.team-context-menu-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:0;padding:6px 8px 4px;font-size:11px;font-weight:700}.team-context-menu button{font:inherit;text-align:left;color:var(--text);border-radius:var(--radius-s);cursor:pointer;background:0 0;border:none;padding:7px 8px}.team-context-menu button:hover{background:var(--bg-panel);color:var(--accent)}.shift-proposal{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow);min-width:220px;padding:8px 10px;font-size:.85rem;position:absolute}.shift-proposal p{margin:0 0 4px}.coach-contacts-form{border-top:1px solid var(--border-soft);flex-direction:column;gap:6px;margin-top:4px;padding:6px 8px;display:flex}.coach-contacts-form label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);flex-direction:column;gap:3px;font-size:10px;font-weight:700;display:flex}.coach-contacts-form input{font:inherit;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-s);padding:6px 8px;font-size:12.5px}.history-controls{align-items:center;gap:8px;margin:8px 0;display:flex}.history-controls button{font:inherit;border-radius:var(--radius-m);border:1px solid var(--border);background:var(--bg-panel);color:var(--text);cursor:pointer;padding:7px 12px;font-size:12.5px;font-weight:600}.history-controls button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.history-controls button:disabled{color:var(--text-faint);cursor:not-allowed}.history-error{color:var(--warn-hard);margin:0;font-size:.85rem;font-weight:600}.shell{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 20px;display:flex}.brand-mark{font-family:var(--font-display);letter-spacing:.01em;color:var(--text);margin-right:8px;font-size:20px;font-weight:800}.brand-mark .o-accent{color:var(--accent)}.theme-select{appearance:none;font:inherit;background:var(--bg-panel);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-m);cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);background-position:calc(100% - 13px) 55%,calc(100% - 8px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding:7px 26px 7px 11px;font-size:12.5px;font-weight:700}.theme-select:hover{border-color:var(--accent)}.topbar>select,.topbar>button{font:inherit;background:var(--bg-panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-m);cursor:pointer;padding:7px 13px;font-size:12.5px;font-weight:600}.topbar>select:hover,.topbar>button:hover{border-color:var(--accent);color:var(--accent)}main{flex-direction:column;gap:16px;padding:18px 20px;display:flex}.panel-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-l);padding:14px 16px}.panel-card h3{font-size:13px;font-weight:700;font-family:var(--font-body);margin:0 0 10px}.status-pill{background:var(--notice-info-bg);color:var(--notice-info);border-radius:999px;margin-bottom:8px;padding:6px 13px;font-size:12px;font-weight:700;display:inline-block}.ladder-row{border-top:1px solid var(--border-soft);justify-content:space-between;padding:6px 0;font-size:12.5px;display:flex}.ladder-row:first-of-type{border-top:none}.ladder-name{color:var(--text-muted)}.ladder-state{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.ladder-state.ok{color:var(--notice-info);background:var(--notice-info-bg)}.ladder-state.touched{color:var(--warn-incomplete);background:var(--warn-incomplete-bg)}.version-list{margin:0;padding:0;list-style:none}.version-item{border-top:1px solid var(--border-soft);justify-content:space-between;padding:7px 0;font-size:12.5px;display:flex}.version-item:first-child{border-top:none}.version-name{font-weight:700}.version-meta{color:var(--text-muted);font-size:11.5px}.sent-meta{color:var(--text-muted);margin:0 0 8px;font-size:11.5px}.version-author{color:var(--text);font-weight:700}.version-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.version-actions input{min-width:0;font:inherit;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--bg-panel);color:var(--text);flex:1;padding:7px 10px;font-size:12.5px}.version-actions button{font:inherit;border-radius:var(--radius-m);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;padding:7px 14px;font-size:12.5px;font-weight:700}.version-action-error{color:var(--warn-hard);margin:6px 0 0;font-size:.85rem;font-weight:600}.diff-team-list{margin:0;padding:0;list-style:none}.diff-team-item{border-top:1px solid var(--border-soft);padding:6px 0;font-size:12.5px}.diff-team-item:first-child{border-top:none}.division-format-table{border-collapse:collapse;width:100%;margin-bottom:10px}.division-format-table td{border-top:1px solid var(--border-soft);padding:6px 8px;font-size:12.5px}.color-swatch{border-radius:3px;width:14px;height:14px;display:inline-block}.division-format-actions{align-items:center;gap:8px;display:flex}.division-format-color-pick-inline{flex-flow:wrap;align-items:center;gap:8px;display:flex}.division-format-color-pick-inline p{color:var(--text);margin:0;font-size:.85rem}.color-swatch-button{border-radius:var(--radius-s);border:1px solid var(--border);cursor:pointer;width:24px;height:24px;padding:0}.color-swatch-button-selected{outline:2px solid var(--accent);outline-offset:1px}.division-format-error{color:var(--warn-hard);margin:6px 0 0;font-size:.85rem;font-weight:600}.registry-tabs{flex-direction:row;align-items:center;gap:8px;margin-bottom:10px;display:flex}.registry-tabs button{font:inherit;border-radius:var(--radius-m);border:1px solid var(--border);background:var(--bg-panel);color:var(--text-muted);cursor:pointer;padding:7px 14px;font-size:12.5px;font-weight:600}.registry-tabs button:hover{color:var(--accent);border-color:var(--accent)}.registry-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-l);width:100%;margin-bottom:10px;overflow:hidden}.registry-table td{border-top:1px solid var(--border-soft);padding:6px 8px;font-size:12.5px}.registry-error{color:var(--warn-hard);margin:6px 0 0;font-size:.85rem;font-weight:600}.needs-attention-panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-l);padding:14px 16px}.needs-attention-panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin:0 0 12px;font-size:13px;font-weight:700}.needs-attention-error{color:var(--warn-hard);font-size:.85rem;font-weight:600}.attention-card{border-left:3px solid var(--warn-incomplete);background:color-mix(in srgb, var(--warn-incomplete) 8%, var(--bg-panel));border-radius:var(--radius-m);margin-bottom:8px;padding:9px 11px;font-size:12.5px}.attention-card button{font:inherit;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;margin-top:6px;margin-right:6px;padding:5px 10px;font-size:11.5px;font-weight:700}.attention-card button:hover{border-color:var(--accent);color:var(--accent)}.buffer-pending-hint{color:var(--accent);font-size:.85rem;font-weight:600}.group-recalc-controls{align-items:center;gap:8px;display:flex}.time-header{width:90px}.login-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-l);width:100%;max-width:340px;box-shadow:var(--shadow);flex-direction:column;gap:4px;padding:32px 28px 28px;display:flex}.login-brand{text-align:center;margin:0;font-size:28px}.login-tag{text-align:center;color:var(--text-faint);text-transform:uppercase;letter-spacing:.09em;margin:2px 0 22px;font-size:11px}.login-card label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin:10px 0 6px;font-size:11px;font-weight:700}.login-card input{font:inherit;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-m);padding:10px 12px;font-size:14px}.login-card input:focus{border-color:var(--accent);outline:none}.login-error{color:var(--warn-hard);background:var(--warn-hard-bg);border-radius:var(--radius-s);margin:12px 0 0;padding:8px 10px;font-size:12.5px;font-weight:600}.login-submit{font:inherit;border-radius:var(--radius-m);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;margin-top:20px;padding:11px 16px;font-size:14px;font-weight:700}.login-submit:hover{filter:brightness(1.06)}.account-form{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-l);flex-direction:column;max-width:340px;padding:20px;display:flex}.account-form label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin:10px 0 6px;font-size:11px;font-weight:700}.account-form label:first-of-type{margin-top:0}.account-form input{font:inherit;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-m);padding:10px 12px;font-size:14px}.account-form input:focus{border-color:var(--accent);outline:none}.account-form button[type=submit]{font:inherit;border-radius:var(--radius-m);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;margin-top:18px;padding:11px 16px;font-size:14px;font-weight:700}.account-error{color:var(--warn-hard);background:var(--warn-hard-bg);border-radius:var(--radius-s);margin:14px 0 0;padding:8px 10px;font-size:12.5px;font-weight:600}.account-success{color:var(--notice-info);background:var(--notice-info-bg);border-radius:var(--radius-s);margin:14px 0 0;padding:8px 10px;font-size:12.5px;font-weight:600}.admin-users-error{color:var(--warn-hard);font-size:.85rem;font-weight:600}.admin-users-list{flex-direction:column;gap:8px;max-width:560px;margin:0;padding:0;list-style:none;display:flex}.admin-user-item{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-m);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.admin-user-email{font-weight:700}.admin-user-role{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.admin-user-actions{gap:8px;margin-left:auto;display:flex}.admin-user-actions button,.admin-approve-actions button{font:inherit;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--bg-panel);color:var(--text);cursor:pointer;padding:6px 12px;font-size:12.5px;font-weight:600}.admin-user-actions button:hover,.admin-approve-actions button:hover{border-color:var(--accent);color:var(--accent)}.admin-approve-form{border-top:1px solid var(--border-soft);flex-direction:column;gap:8px;width:100%;margin-top:8px;padding-top:8px;display:flex}.admin-approve-form label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);flex-direction:column;gap:4px;font-size:11px;font-weight:700;display:flex}.admin-approve-form select{font:inherit;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-s);padding:7px 10px;font-size:13px}.admin-approve-actions{gap:8px;display:flex}
