@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:400;src:url(../media/rajdhani-latin-400-normal.2u4k93jz4xfvm.woff2)format("woff2"),url(../media/rajdhani-latin-400-normal.0tnvuf3bc2nlb.woff)format("woff")}
@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(../media/rajdhani-latin-500-normal.17xl-1x258jw7.woff2)format("woff2"),url(../media/rajdhani-latin-500-normal.3auqj6wt3hjej.woff)format("woff")}
@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(../media/rajdhani-latin-600-normal.44429yc8lpv97.woff2)format("woff2"),url(../media/rajdhani-latin-600-normal.2e19miumqy07v.woff)format("woff")}
@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(../media/rajdhani-latin-700-normal.1ugh377nth0yw.woff2)format("woff2"),url(../media/rajdhani-latin-700-normal.1iej3_5wcrxei.woff)format("woff")}
:root{--bg:#e9edf6;--bg2:#dfe5f1;--surface:#fff;--surface-2:#f6f8fc;--ink:#0f172a;--ink-2:#475569;--ink-3:#8996ac;--line:#dde3ee;--card-border:#a4b5d6;--brand:#5b5bd6;--brand-2:#7c6cf5;--brand-ink:#4338ca;--grad:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#a855f7 100%);--good:#16a34a;--good-bg:#dcfce7;--bad:#e11d48;--bad-bg:#ffe4e6;--warn:#d97706;--warn-bg:#fef3c7;--shadow:0 1px 1px #10182808,0 2px 6px #1018280d,0 8px 24px #1018280d;--shadow-lg:0 8px 30px #1018281f;--radius:16px;--radius-sm:10px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0}body{-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#cbd5e1;background:#111827;flex-direction:column;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand-block{color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:11px;width:100%;padding:5px 7px 20px;display:flex}.brand-block img{object-fit:cover;border-radius:14px;width:70px;height:70px}.brand-block strong{color:#fff;font-size:17px;font-weight:850;display:block}.brand-block span{color:#94a3b8;max-width:112px;font-size:10px;line-height:1.35;display:block}.nav-list{flex-direction:column;gap:2px;min-height:0;display:flex;overflow-y:auto}.nav-list button{color:#cbd5e1;text-align:left;background:0 0;border:0;border-radius:10px;width:100%;padding:9px 11px;transition:all .12s;display:block}.nav-list button:hover{color:#fff;background:#1f2937}.nav-list button.active{background:var(--grad);color:#fff;box-shadow:0 4px 12px #7c6cf566}.nav-list button strong,.nav-list button span{display:block}.nav-list button strong{font-size:13px;font-weight:700}.nav-list button span{color:#76869e;margin-top:1px;font-size:9.5px}.nav-list button.active span{color:#e0e7ff}.sidebar-foot{border-top:1px solid #293548;margin-top:auto;padding:15px 9px 2px}.sidebar-foot>div span,.sidebar-foot>div strong{display:block}.sidebar-foot>div span{text-transform:uppercase;letter-spacing:.1em;color:#64748b;font-size:9px}.sidebar-foot>div strong{color:#fff;margin-top:3px}.sidebar-foot>button{color:#dbe3ef;background:#1f2937;border:1px solid #344158;border-radius:9px;width:100%;margin-top:12px;padding:8px 10px;font-size:11px;font-weight:700}.main-area{min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4f6fbe0;justify-content:space-between;align-items:center;padding:14px 34px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:800;line-height:1.2}.topbar p{color:var(--ink-3);margin:3px 0 0;font-size:11px;font-weight:600}.season-chip{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:10px;padding:7px 11px;font-size:11px;font-weight:800}.content{width:100%;padding:24px 34px 60px}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:var(--brand-ink);font-size:9px;font-weight:850;display:block}.eyebrow.light{color:#c7d2fe}.card,.metric-card,.public-team-card,.editor-card{background:var(--surface);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow)}.champion-banner{color:#fff;min-height:216px;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#111827 0%,#24204b 62%,#59388d 100%);border-radius:20px;justify-content:space-between;align-items:center;padding:30px 34px;display:flex;overflow:hidden}.champion-banner.compact{min-height:170px}.champion-banner h2{letter-spacing:-.03em;margin:9px 0 6px;font-size:34px}.champion-banner p{color:#d8d9e8;margin:0}.champion-banner button{color:#fff;background:#ffffff1a;border:1px solid #ffffff40;border-radius:10px;margin-top:20px;padding:9px 13px;font-weight:700}.team-logo{object-fit:contain;flex:none;display:inline-block}.team-logo.sm{width:28px;height:28px}.team-logo.md{width:62px;height:62px}.team-logo.lg{filter:drop-shadow(0 12px 22px #00000045);width:170px;height:150px}.team-logo.placeholder{background:var(--bg2);border-radius:50%}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.metric-card{padding:18px 20px}.metric-card span,.metric-card small{display:block}.metric-card span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-size:9px;font-weight:800}.metric-card strong{letter-spacing:-.03em;margin:9px 0 5px;font-size:29px;line-height:1;display:block}.metric-card small{color:var(--ink-3);font-size:10px}.dashboard-grid{grid-template-columns:1.12fr 1fr;gap:18px;margin-top:18px;display:grid}.card{padding:21px}.section-card{margin-top:18px}.card-head{justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px;display:flex}.card-head h2,.card-head h3{margin:3px 0 0;font-size:17px}.text-button{color:var(--brand-ink);background:0 0;border:0;font-size:10px;font-weight:800}.compact-standings>div{border-top:1px solid var(--line);grid-template-columns:24px 32px minmax(0,1fr) auto 62px;align-items:center;gap:9px;padding:8px 0;display:grid}.compact-standings>div>span,.compact-standings small{color:var(--ink-3);font-size:11px}.compact-standings b{text-align:right;color:var(--brand-ink);font-size:11px}.latest-results .game-line{border:0;border-top:1px solid var(--line);border-radius:0;padding:9px 0}.latest-results .game-meta,.latest-results .status-badge{display:none}.latest-results .game-teams{width:100%}.team-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.public-team-card{text-align:left;color:var(--ink);align-items:center;gap:15px;padding:16px;transition:all .12s;display:flex}.public-team-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.public-team-card h3{margin:0 0 4px;font-size:14px}.public-team-card p{color:var(--ink-3);margin:0;font-size:10.5px}.table-wrap{border:1px solid var(--line);border-radius:12px;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px;font-size:12px}.data-table th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);border-bottom:2px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:9px;font-weight:850}.data-table td{white-space:nowrap;border-bottom:1px solid #edf0f5;padding:8px 10px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafbfe}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table .strong{font-weight:750}.data-table .wrap-cell{white-space:normal;min-width:220px}.team-inline{align-items:center;gap:8px;display:inline-flex}.rank-cell{color:var(--ink-3);font-weight:850}.points-cell{color:var(--brand-ink);font-size:15px;font-weight:850}.positive{color:var(--good)}.negative{color:var(--bad)}.section-intro{justify-content:space-between;align-items:flex-end;margin-bottom:16px;display:flex}.section-intro h2{margin:4px 0;font-size:22px}.section-intro p{color:var(--ink-2);margin:0}.filter-bar{background:var(--surface);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:15px;padding:12px 14px;display:flex}.filter-bar label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);flex-direction:column;gap:4px;font-size:9px;font-weight:800;display:flex}.filter-bar select,.filter-bar input,.admin-list-head input{border:1px solid var(--line);background:var(--surface-2);min-width:160px;color:var(--ink);border-radius:9px;padding:8px 10px;font-size:12px}.filter-bar>span{color:var(--ink-3);margin-left:auto;padding:8px 2px;font-size:11px}.segmented{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:3px;display:flex}.segmented button{color:var(--ink-2);background:0 0;border:0;border-radius:7px;padding:7px 11px;font-size:11px;font-weight:700}.segmented button.active{color:var(--brand-ink);background:#fff;box-shadow:0 1px 4px #0f172a1a}.search-field{margin-left:auto}.schedule-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.schedule-list.inset{grid-template-columns:repeat(2,minmax(0,1fr))}.game-line{background:var(--surface);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:16px;padding:13px 15px;display:flex;position:relative}.game-meta{flex:0 0 138px}.game-meta strong,.game-meta span{display:block}.game-meta span{color:var(--ink-3);margin-top:3px;font-size:9.5px}.game-teams{flex:1;min-width:0}.game-teams>div{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:31px;display:grid}.game-teams span{font-weight:700}.status-badge{text-transform:uppercase;letter-spacing:.07em;border-radius:5px;padding:3px 5px;font-size:7px;font-weight:900;position:absolute;top:8px;right:12px}.status-badge.completed{background:var(--good-bg);color:var(--good)}.status-badge.postponed{background:var(--warn-bg);color:var(--warn)}.status-badge.scheduled{color:var(--brand-ink);background:#e0e7ff}.status-badge.cancelled{background:var(--bad-bg);color:var(--bad)}.team-selector{gap:8px;padding:2px 1px 12px;display:flex;overflow-x:auto}.team-selector button{white-space:nowrap;border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:10px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:700;display:flex}.team-selector button.active{border-color:var(--brand);color:var(--brand-ink);box-shadow:0 0 0 2px #5b5bd61f}.team-hero{grid-template-columns:170px 1fr auto;align-items:center;gap:24px;min-height:180px;display:grid}.team-hero h2{margin:4px 0;font-size:28px}.team-hero p{color:var(--ink-2);margin:0}.team-record{text-align:right;border-left:1px solid var(--line);padding-left:26px}.team-record span,.team-record small,.team-record strong{display:block}.team-record span{text-transform:uppercase;color:var(--ink-3);font-size:9px;font-weight:800}.team-record strong{margin:4px 0;font-size:28px}.team-record small{color:var(--ink-3);font-size:10px}.bracket{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:18px;margin-top:18px;display:grid}.bracket-round{flex-direction:column;gap:12px;display:flex}.bracket-round h3{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:0;font-size:10px}.series-card{background:var(--surface);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:14px;padding:11px}.series-card>div{color:var(--ink-2);border-radius:9px;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:6px;display:grid}.series-card>div.winner{color:var(--ink);background:#eef2ff;font-weight:800}.series-card>div b{font-size:16px}.series-card>small{border-top:1px solid var(--line);color:var(--ink-3);margin-top:5px;padding:7px 6px 0;font-size:9px;display:block}.login-stage{place-items:center;min-height:calc(100vh - 150px);display:grid}.login-card{border:1px solid var(--line);width:390px;max-width:100%;box-shadow:var(--shadow-lg);background:#fff;border-radius:20px;padding:31px}.login-card>img{object-fit:cover;border-radius:16px;width:100px;height:100px;margin-bottom:18px}.login-card h2{margin:5px 0;font-size:23px}.login-card p{color:var(--ink-2);margin:0 0 20px;font-size:12px}.login-card label,.editor-card label,.league-settings label{color:var(--ink-2);flex-direction:column;gap:5px;margin-top:11px;font-size:10px;font-weight:750;display:flex}.login-card input,.editor-card input,.editor-card select,.editor-card textarea,.league-settings input,.league-settings select{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--ink);border-radius:9px;padding:9px 10px}.login-card input:focus,.editor-card input:focus,.editor-card select:focus,.editor-card textarea:focus{border-color:var(--brand);background:#fff;outline:none;box-shadow:0 0 0 3px #ede9fe}.primary-button{background:var(--grad);color:#fff;border:0;border-radius:9px;padding:10px 14px;font-weight:800;box-shadow:0 5px 14px #7c6cf547}.login-card .primary-button{width:100%;margin-top:18px}.primary-button:disabled{opacity:.6;cursor:default}.secondary-button{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:9px;padding:8px 11px;font-weight:750}.form-error,.form-success{border-radius:9px;margin:10px 0;padding:9px 11px;font-size:11px}.form-error{background:var(--bad-bg);color:var(--bad)}.form-success{background:var(--good-bg);color:var(--good)}.admin-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.admin-header h2{margin:4px 0;font-size:25px}.admin-header p{color:var(--ink-2);margin:0}.league-settings{grid-template-columns:1fr 1.3fr 1.3fr auto;align-items:end;gap:12px;margin-bottom:15px;display:grid}.league-settings label{margin-top:0}.league-settings .primary-button{height:38px}.admin-tabs{gap:6px;padding-bottom:12px;display:flex;overflow-x:auto}.admin-tabs button{white-space:nowrap;border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:9px;padding:8px 11px;font-size:10px;font-weight:750}.admin-tabs button.active{background:var(--grad);color:#fff;border-color:#0000}.admin-workspace{grid-template-columns:minmax(300px,390px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.editor-card{padding:18px;position:sticky;top:89px}.editor-head,.admin-list-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-head h3,.admin-list-head h3{margin:3px 0;font-size:16px}.form-grid{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.form-grid label.wide{grid-column:1/-1}.form-grid textarea{resize:vertical;min-height:90px}.form-grid .checkbox{width:20px;height:20px;margin-top:6px}.editor-card>.primary-button{width:100%;margin-top:15px}.admin-list{min-width:0}.admin-list-head{margin-bottom:12px}.row-actions{gap:5px;display:flex}.row-actions button{border:1px solid var(--line);color:var(--brand-ink);background:#fff;border-radius:7px;padding:5px 7px;font-size:9px;font-weight:800}.row-actions button.danger{color:var(--bad)}.loading-state,.fatal-state{text-align:center;place-content:center;place-items:center;gap:12px;min-height:100vh;display:grid}.loading-state img{object-fit:cover;border-radius:18px;width:120px;height:120px}.fatal-state p{color:var(--ink-2)}@media (max-width:1200px){.metric-grid{grid-template-columns:repeat(2,1fr)}.schedule-list,.schedule-list.inset,.admin-workspace{grid-template-columns:1fr}.editor-card{position:static}.league-settings{grid-template-columns:1fr 1fr}}@media (max-width:980px){.dashboard-grid{grid-template-columns:1fr}.team-card-grid{grid-template-columns:repeat(2,1fr)}.bracket{grid-template-columns:1fr 1fr}.team-hero{grid-template-columns:120px 1fr}.team-hero .team-logo.lg{width:120px;height:120px}.team-record{border-left:0;border-top:1px solid var(--line);text-align:left;grid-column:1/-1;padding:15px 0 0}}@media (max-width:720px){.site-shell{display:block}.sidebar{height:auto;padding:10px;position:relative}.brand-block{padding:2px 6px 10px}.brand-block img{width:48px;height:48px}.nav-list{flex-direction:row;padding-bottom:4px;overflow-x:auto}.nav-list button{width:auto;min-width:max-content}.nav-list button span,.sidebar-foot{display:none}.topbar{padding:12px 15px}.season-chip{display:none}.content{padding:15px}.champion-banner{min-height:175px;padding:23px}.champion-banner h2{font-size:25px}.champion-banner .team-logo.lg{width:100px;height:100px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{padding:14px}.metric-card strong{font-size:24px}.team-card-grid{grid-template-columns:1fr}.filter-bar{align-items:stretch}.filter-bar label,.filter-bar select,.filter-bar input{width:100%}.filter-bar>span,.search-field{margin-left:0}.segmented{overflow-x:auto}.game-line{display:block}.game-meta{margin-bottom:8px}.status-badge{top:11px}.team-selector{padding-bottom:10px}.team-hero{grid-template-columns:88px 1fr;padding:16px}.team-hero .team-logo.lg{width:84px;height:84px}.team-hero h2{font-size:21px}.bracket,.league-settings,.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.admin-header{display:block}.admin-header .secondary-button{margin-top:12px}.login-stage{min-height:calc(100vh - 120px)}.login-card{padding:24px}.card{padding:15px}}@media (max-width:430px){.metric-grid{grid-template-columns:1fr}.champion-banner p,.champion-banner button{display:none}.champion-banner .team-logo.lg{width:82px;height:82px}.compact-standings>div{grid-template-columns:20px 28px minmax(0,1fr) auto}.compact-standings>div small{display:none}.team-hero{grid-template-columns:1fr}.team-hero .team-logo.lg{width:100px;height:100px}.team-record{grid-column:auto}}.topbar-status,.calendar-toolbar,.calendar-admin-actions,.team-page-toolbar,.roster-toolbar,.context-actions,.modal-actions,.upload-row,.review-head{align-items:center;gap:10px;display:flex}.admin-status{background:var(--good-bg);color:var(--good);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:850}.sidebar-foot>button.admin-enabled{color:#dcfce7;background:#163328;border-color:#22c55e}.team-mark{object-fit:contain;flex:none;width:132px;height:132px}.team-mark.small{width:24px;height:24px}.team-mark.blank{background:var(--bg2);border-radius:50%;display:inline-block}.season-control{align-items:center;gap:6px;display:flex}.season-chip{appearance:auto}.season-add{background:var(--grad);color:#fff;border:0;border-radius:9px;width:32px;height:32px;font-size:20px;font-weight:800;line-height:1}.season-add:disabled{opacity:.55}.season-notice{border-radius:10px;margin:12px 34px 0;padding:9px 12px;font-size:11px;font-weight:700}.season-notice.success{background:var(--good-bg);color:var(--good)}.season-notice.error{background:var(--bad-bg);color:var(--bad)}.team-jump{color:inherit;text-align:left;background:0 0;border:0;padding:0}.team-jump:hover strong,.team-jump:hover span,.team-jump:hover{color:var(--brand-ink)}.game-teams>button{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:31px;display:grid}.compact-standings>.compact-team-row{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:24px 32px minmax(0,1fr) auto 62px;align-items:center;gap:9px;width:100%;padding:8px 0;display:grid}.compact-team-row>span,.compact-team-row small{color:var(--ink-3);font-size:11px}.compact-team-row b{text-align:right;color:var(--brand-ink);font-size:11px}.champion-team-link,.champion-logo-link{color:inherit;text-align:left;background:0 0;border:0;padding:0}.champion-team-link h2{margin:9px 0 6px}.champion-logo-link{line-height:0}.empty-season-card{max-width:720px;margin:10vh auto;padding:36px}.empty-season-card h2{margin:8px 0;font-size:26px}.empty-season-card p,.empty-copy{color:var(--ink-3)}.series-card>button{border-radius:9px;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;width:100%;padding:6px;display:grid}.series-card>button.winner{color:var(--ink);background:#eef2ff;font-weight:800}.game-modal-score>.team-jump{border-radius:12px}.game-modal-score>.team-jump:hover{background:var(--surface-2)}.calendar-toolbar{justify-content:space-between;margin-bottom:14px}.month-switcher{border:1px solid var(--card-border);box-shadow:var(--shadow);background:#fff;border-radius:12px;grid-template-columns:90px minmax(190px,240px) 90px;align-items:center;display:grid;overflow:hidden}.month-switcher strong{text-align:center;font-size:16px}.month-switcher button{background:var(--surface-2);color:var(--brand-ink);border:0;padding:11px;font-size:10px;font-weight:800}.calendar{padding:0;overflow:hidden}.calendar-weekdays{color:#dbe3ef;background:#111827;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays span{text-transform:uppercase;letter-spacing:.08em;padding:10px 12px;font-size:9px;font-weight:850}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-width:0;min-height:150px;padding:8px}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{color:#a5afbe;background:#f3f5f9}.calendar-day-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.calendar-day-head button{color:var(--brand-ink);background:0 0;border:0;padding:2px;font-size:8px;font-weight:850}.day-games{flex-direction:column;gap:5px;display:flex}.calendar-game{text-align:left;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:1px 6px;width:100%;min-width:0;padding:5px 6px;display:grid}.calendar-game:hover{border-color:var(--brand);box-shadow:0 2px 8px #5b5bd61f}.calendar-game.completed{background:#f0fdf4;border-color:#bbf7d0}.calendar-game.postponed{background:#fffbeb;border-color:#fde68a}.calendar-game.cancelled{background:#fff1f2;border-color:#fecdd3}.calendar-logos{grid-row:1/3;align-items:center;display:flex}.calendar-logos .team-mark+.team-mark{margin-left:-7px}.calendar-logos .team-mark{background:#fff;border:1px solid #fff;border-radius:50%}.calendar-game strong,.calendar-game small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-game strong{color:var(--ink);font-size:8.5px}.calendar-game small{color:var(--ink-3);font-size:8px}.edit-mode-banner{color:var(--brand-ink);background:#ede9fe;border-radius:10px;align-items:center;gap:12px;margin-bottom:12px;padding:10px 13px;display:flex}.calendar.is-editing{box-shadow:0 0 0 3px #7c6cf524,var(--shadow)}.modal-backdrop{z-index:100;background:#0f172a9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.modal-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(620px,100%);max-height:calc(100vh - 48px);padding:22px;overflow:auto;box-shadow:0 24px 70px #0f172a4d}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:13px;display:flex}.modal-head h2{margin:0;font-size:20px}.modal-head button{background:var(--surface-2);color:var(--ink-2);border:0;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:800}.context-form label,.gamesheet-panel label{color:var(--ink-2);flex-direction:column;gap:5px;font-size:9px;font-weight:800;display:flex}.context-form input,.context-form select,.gamesheet-panel input,.gamesheet-panel select{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--ink);border-radius:9px;padding:9px}.context-form .check-label{flex-direction:row;align-items:center;margin-top:14px}.context-form .check-label input{width:auto}.modal-actions{justify-content:flex-end;margin-top:18px}.modal-actions>span{flex:1}.danger-button{color:var(--bad);background:#fff1f2;border:1px solid #fecdd3;border-radius:9px;padding:9px 11px;font-weight:800}.danger-link{color:var(--bad);background:0 0;border:0;padding:5px;font-size:9px;font-weight:800}.game-modal-score{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;display:grid}.game-modal-score>div{text-align:center;justify-items:center;gap:7px;display:grid}.game-modal-score>div b{font-size:32px}.game-modal-score>span{text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:850}.game-facts{grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0;display:grid}.game-facts>div{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:10px}.game-facts span,.game-facts strong{display:block}.game-facts span{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-size:8px;font-weight:800}.game-facts strong{text-transform:capitalize;margin-top:4px;font-size:11px}.game-stat-summary{border-top:1px solid var(--line);padding-top:14px}.game-stat-summary>div{border-top:1px solid #edf0f5;grid-template-columns:minmax(0,1fr) 90px auto;gap:8px;padding:6px 0;font-size:10px;display:grid}.game-stat-summary small{color:var(--ink-3)}.gamesheet-toggle{width:100%;margin-top:15px}.gamesheet-panel{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.workflow-note{color:var(--brand-ink);background:#eef2ff;border-radius:10px;flex-direction:column;gap:3px;padding:11px 12px;display:flex}.upload-row{margin:12px 0}.upload-row input{flex:1}.form-note{color:#1d4ed8;background:#eff6ff;border-radius:9px;margin:10px 0;padding:9px 11px;font-size:10px}.sheet-score-grid{grid-template-columns:1fr 1fr 1fr;gap:10px;margin:14px 0;display:grid}.review-head{justify-content:space-between;margin:16px 0 8px}.review-head div{flex-direction:column;display:flex}.review-head span{color:var(--ink-3);font-size:9px}.stat-review-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.stat-review-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(200px,1fr) 60px 60px 60px 100px auto;align-items:end;gap:7px;padding:8px;display:grid}.stat-review-row:last-child{border-bottom:0}.match-confidence{color:var(--brand-ink);align-self:center;min-width:0;font-size:9px;font-weight:800}.match-confidence small{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.goalie-review{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.goalie-review>div{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 110px;gap:8px;padding:10px;display:grid}.ocr-text{color:var(--ink-2);margin-top:12px;font-size:10px}.ocr-text pre{white-space:pre-wrap;color:#dbe3ef;background:#111827;border-radius:10px;max-height:180px;padding:12px;overflow:auto}.apply-sheet{width:100%;margin-top:12px}.team-page-toolbar{justify-content:space-between;align-items:flex-start}.team-page-toolbar .team-selector{min-width:0}.team-hero .team-mark{width:150px;height:150px}.context-actions{margin-top:14px}.roster-toolbar{justify-content:space-between;margin:14px 0}.roster-toolbar>div:last-child{gap:8px;display:flex}.roster-list{flex-direction:column;display:flex}.roster-row{border-top:1px solid var(--line);grid-template-columns:54px minmax(170px,1fr) 100px minmax(240px,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.roster-row>b{color:var(--ink-3)}.roster-row>span,.roster-row>small{color:var(--ink-2)}.empty-copy{color:var(--ink-3);font-size:11px}.discipline-row{border-top:1px solid var(--line);grid-template-columns:180px 1fr auto;gap:12px;padding:9px 0;display:grid}.discipline-row small{color:var(--ink-3)}.team-logo-editor{flex-direction:column;align-items:stretch;gap:9px;display:flex}.team-logo-upload{text-align:center;display:block}.team-logo-upload input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.team-logo-upload.disabled{opacity:.6;cursor:wait}.brand-shell{padding-bottom:12px}.brand-shell .brand-block{padding-bottom:8px}.league-logo-upload{color:#dbe3ef;text-align:center;cursor:pointer;background:#1f2937;border:1px solid #344158;border-radius:8px;margin:0 7px;padding:6px 8px;font-size:11px;font-weight:700;display:block}.league-logo-upload:hover{color:#fff;border-color:#64748b}.league-logo-upload input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.league-logo-upload.disabled{opacity:.6;cursor:wait}.league-logo-message{margin:6px 7px 0;font-size:10px;line-height:1.25;display:block}.league-logo-message.success{color:#86efac}.league-logo-message.error{color:#fca5a5}.data-table th.sortable-column{padding:0}.sortable-column>button{width:100%;min-height:44px;color:inherit;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:5px;padding:10px 12px;display:flex}.sortable-column.num>button{justify-content:flex-end}.sortable-column>button:hover,.sortable-column>button:focus-visible{color:var(--brand-ink);background:#e9edfa;outline:none}.sortable-column>button span{min-width:12px;color:var(--brand-ink);font-size:14px;line-height:1}.roster-sortbar{border-bottom:1px solid var(--line);align-items:center;gap:6px;margin:-2px 0 8px;padding:7px 0 9px;display:flex;overflow-x:auto}.roster-sortbar>span{color:var(--ink-3);white-space:nowrap;font-size:13px;font-weight:700}.roster-sortbar button{border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;background:#fff;border-radius:7px;padding:5px 8px;font-size:13px;font-weight:700}.roster-sortbar button.active{border-color:var(--brand);color:var(--brand-ink);background:#eef2ff}.roster-sortbar button b{margin-left:4px}.admin-home{max-width:980px;margin:0 auto}.admin-welcome{color:#fff;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#111827,#312e81);border-radius:20px;justify-content:space-between;align-items:flex-start;gap:25px;padding:30px;display:flex}.admin-welcome h2{max-width:650px;margin:8px 0;font-size:28px}.admin-welcome p{color:#cbd5e1;max-width:720px}.admin-destination-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;display:grid}.admin-destination-grid button{border:1px solid var(--card-border);text-align:left;box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:20px}.admin-destination-grid button:hover{border-color:var(--brand);transform:translateY(-1px)}.admin-destination-grid strong,.admin-destination-grid span{display:block}.admin-destination-grid span{color:var(--ink-2);margin-top:7px;font-size:10px;line-height:1.5}@media (max-width:1100px){.calendar-day{min-height:125px}.calendar-game strong{font-size:7.5px}.calendar-game{grid-template-columns:1fr}.calendar-logos{display:none}.roster-row{grid-template-columns:50px 1fr 90px auto}.roster-row>small{grid-column:2/4}.stat-review-row{grid-template-columns:1fr repeat(3,55px)}.match-confidence{grid-column:1/4}.admin-destination-grid{grid-template-columns:1fr}}@media (max-width:760px){.calendar-toolbar,.team-page-toolbar,.roster-toolbar{flex-direction:column;align-items:stretch}.month-switcher{grid-template-columns:70px 1fr 70px}.calendar{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:800px}.modal-backdrop{padding:10px}.modal-card{max-height:calc(100vh - 20px);padding:16px}.game-facts{grid-template-columns:1fr 1fr}.sheet-score-grid,.goalie-review{grid-template-columns:1fr}.stat-review-row{grid-template-columns:1fr 52px 52px 52px}.match-confidence{grid-column:1/4}.team-hero .team-mark{width:100px;height:100px}.roster-row{grid-template-columns:42px 1fr auto}.roster-row>span{display:none}.roster-row>small,.roster-row .row-actions{grid-column:2/4}.discipline-row{grid-template-columns:1fr}.admin-welcome{padding:22px;display:block}.admin-welcome .secondary-button{margin-top:15px}.admin-welcome h2{font-size:22px}}body{font-size:16px}.brand-block span{font-size:12px}.sidebar-foot>button{padding:10px;font-size:13px}.season-chip{font-size:13px}.filter-bar select,.filter-bar input,.admin-list-head input{padding:10px 12px;font-size:14px}.filter-bar>span,.segmented button,.team-selector button{font-size:13px}.primary-button,.secondary-button,.danger-button{padding:11px 15px;font-size:14px}.month-switcher{grid-template-columns:100px minmax(220px,280px) 100px}.month-switcher button{padding:13px;font-size:13px}.calendar-weekdays span{padding:12px;font-size:11px}.calendar-day{min-height:180px;padding:9px}.calendar-day-head .calendar-add{background:var(--grad);color:#fff;border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;font-size:27px;font-weight:400;line-height:1;transition:transform .12s,box-shadow .12s;display:grid;box-shadow:0 5px 12px #5b5bd647}.calendar-day-head .calendar-add:hover{transform:translateY(-1px)scale(1.04);box-shadow:0 7px 16px #5b5bd65c}.calendar-game{padding:8px}.edit-mode-banner{padding:13px 15px}.modal-card.wide{width:min(1180px,100%)}.modal-head button{padding:9px 12px;font-size:13px}.context-form input,.context-form select,.gamesheet-panel input,.gamesheet-panel select{padding:11px;font-size:14px}.game-stat-summary>div{grid-template-columns:minmax(0,1fr) 130px auto;padding:9px 0;font-size:13px}.workflow-note{padding:14px 15px}.workflow-note strong{font-size:15px}.photo-prefill{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;margin-top:12px;padding:12px 14px}.photo-prefill>summary{color:var(--brand-ink);cursor:pointer;font-size:14px;font-weight:800}.upload-row{align-items:center;gap:10px;display:flex}.result-score-card{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;grid-template-columns:1fr 180px 1fr;align-items:end;gap:18px;margin:16px 0;padding:17px;display:grid}.score-entry{grid-template-columns:auto minmax(0,1fr) 96px;align-items:center;gap:11px;display:grid}.score-entry input{text-align:center;background:#fff;font-size:24px;font-weight:850}.roster-picker-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.roster-picker{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:13px}.roster-picker-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.roster-picker-head>div{align-items:center;gap:8px;display:flex}.roster-picker-head strong{font-size:16px}.roster-search{margin-bottom:9px;background:#fff!important}.roster-pick-list{flex-direction:column;gap:5px;max-height:280px;padding-right:3px;display:flex;overflow:auto}.roster-pick-list>button{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--ink);text-align:left;border-radius:9px;grid-template-columns:50px minmax(0,1fr) 90px 42px;align-items:center;gap:8px;padding:9px 10px;display:grid}.roster-pick-list>button:hover:not(:disabled){border-color:var(--brand);background:#eef2ff}.roster-pick-list>button.added{opacity:.58}.roster-pick-list>button b{color:var(--ink-2)}.roster-pick-list>button span{font-weight:750}.roster-pick-list>button small{color:var(--ink-3);font-size:12px}.roster-pick-list>button>strong{text-align:center;color:var(--brand-ink);font-size:20px}.new-player-inline{background:#eef2ff;border-radius:10px;grid-template-columns:minmax(160px,1.4fr) 75px 100px auto auto;gap:7px;margin:9px 0;padding:10px;display:grid}.selected-stats,.goalie-entry-section{margin-top:20px}.stat-review-columns,.manual-sheet .stat-review-row{grid-template-columns:minmax(250px,1fr) repeat(5,70px) 72px;align-items:center;gap:8px;display:grid}.stat-review-columns{background:var(--surface-2);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);padding:8px 10px;font-size:10px;font-weight:850}.manual-sheet .stat-review-row{padding:10px}.stat-player{align-items:center;gap:8px;min-width:0;display:flex}.stat-player span,.stat-player strong,.stat-player small{min-width:0;display:block}.stat-player strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.stat-player small{color:var(--ink-3);font-size:11px}.manual-sheet .stat-review-row input{text-align:center;background:#fff}.manual-sheet .stat-review-row output,.goalie-review output{border:1px solid var(--line);min-height:43px;color:var(--ink-2);background:#f8fafc;border-radius:9px;place-items:center;font-size:15px;font-weight:850;display:grid}.manual-sheet .danger-link{font-size:11px}.goalie-entry-section .goalie-review{grid-template-columns:1fr;gap:12px}.goalie-entry-section .goalie-review>div{grid-template-columns:minmax(240px,2fr) repeat(4,minmax(90px,1fr));align-items:end;gap:10px;padding:13px}.apply-sheet{margin-top:18px;padding:14px;font-size:16px}.ocr-text{font-size:13px}@media (max-width:1100px){.calendar-day{min-height:155px}.calendar-game strong{font-size:10px}.calendar-logos{display:flex}.roster-picker-grid{grid-template-columns:1fr}.stat-review-columns,.manual-sheet .stat-review-row{grid-template-columns:minmax(220px,1fr) repeat(5,62px) 66px}.new-player-inline{grid-template-columns:1fr 75px 100px}.new-player-inline button{grid-row:2}.goalie-entry-section .goalie-review>div{grid-template-columns:1fr 1fr 1fr}.goalie-entry-section .goalie-review>div label:first-child{grid-column:1/-1}}@media (max-width:760px){body{font-size:15px}.content{padding:18px 16px 45px}.topbar{padding:13px 16px}.topbar h1{font-size:22px}.calendar-day{min-height:155px}.calendar-game strong{font-size:10px}.result-score-card{grid-template-columns:1fr}.score-entry{grid-template-columns:auto 1fr 84px}.stat-review-list{overflow-x:auto}.stat-review-columns,.manual-sheet .stat-review-row{min-width:760px}.new-player-inline{grid-template-columns:1fr}.new-player-inline button{grid-row:auto}.goalie-entry-section .goalie-review>div{grid-template-columns:1fr 1fr}.goalie-entry-section .goalie-review>div label:first-child{grid-column:1/-1}}html,body,button,input,select,textarea{font-family:Rajdhani,sans-serif}body{font-size:18px;font-weight:500;line-height:1.5}.topbar h1{font-size:30px}.topbar p{font-size:16px}.brand-block strong{font-size:24px}.brand-block span{font-size:14px;line-height:1.4}.nav-list button{padding:13px}.nav-list button strong{font-size:18px}.nav-list button span{font-size:13px}.sidebar-foot>div span{font-size:12px}.sidebar-foot>div strong{font-size:20px}.sidebar-foot>button,.season-chip{font-size:16px}.eyebrow{font-size:13px}.champion-banner h2{font-size:40px}.champion-banner p{font-size:18px}.champion-banner button{font-size:16px}.metric-card span{font-size:13px}.metric-card strong{font-size:34px}.metric-card small{font-size:14px}.card-head h2,.card-head h3{font-size:23px}.text-button,.compact-standings>div>span,.compact-standings small,.compact-team-row>span,.compact-team-row small,.compact-team-row b{font-size:14px}.public-team-card h3{font-size:20px}.public-team-card p{font-size:15px}.data-table{font-size:16px}.data-table th{padding:12px 13px;font-size:13px}.data-table td{padding:12px 13px}.section-intro h2{font-size:30px}.section-intro p{font-size:17px}.filter-bar label{font-size:13px}.filter-bar select,.filter-bar input,.admin-list-head input{font-size:16px}.filter-bar>span,.segmented button,.team-selector button{font-size:15px}.game-meta strong{font-size:16px}.game-meta span{font-size:14px}.game-teams span{font-size:18px}.game-teams b{font-size:19px}.status-badge{font-size:11px}.team-hero h2{font-size:34px}.team-hero p{font-size:17px}.team-record span{font-size:12px}.team-record strong{font-size:34px}.team-record small{font-size:13px}.login-card h2{font-size:29px}.login-card p{font-size:16px}.login-card label,.editor-card label,.league-settings label{font-size:13px}.primary-button,.secondary-button,.danger-button{font-size:16px}.form-error,.form-success,.form-note{font-size:15px}.month-switcher strong{font-size:23px}.month-switcher button{font-size:15px}.calendar-weekdays span{font-size:13px}.calendar-day-head b{font-size:18px}.calendar-game strong{font-size:14px}.calendar-game small{font-size:13px}.edit-mode-banner strong{font-size:17px}.edit-mode-banner span{font-size:15px}.modal-head h2{font-size:30px}.modal-head button{font-size:15px}.context-form label,.gamesheet-panel label{font-size:14px}.context-form input,.context-form select,.gamesheet-panel input,.gamesheet-panel select{font-size:17px}.game-facts span{font-size:12px}.game-facts strong{font-size:17px}.game-stat-summary h3{font-size:19px}.game-stat-summary>div{font-size:15px}.gamesheet-toggle,.workflow-note strong{font-size:18px}.workflow-note span{font-size:15px}.photo-prefill>summary{font-size:16px}.score-entry strong,.roster-picker-head strong{font-size:19px}.roster-pick-list>button{font-size:16px}.roster-pick-list>button small{font-size:14px}.review-head strong{font-size:20px}.review-head span{font-size:14px}.stat-review-columns{font-size:12px}.stat-player strong{font-size:16px}.stat-player small,.manual-sheet .danger-link{font-size:13px}.apply-sheet{font-size:19px}.empty-copy{font-size:14px}.roster-row{font-size:17px}.discipline-row{font-size:16px}.admin-destination-grid strong{font-size:18px}.admin-destination-grid span{font-size:14px}@media (max-width:760px){body{font-size:17px}.topbar h1{font-size:27px}.topbar p{font-size:14px}.calendar-game strong{font-size:13px}.calendar-game small{font-size:12px}}.quick-team-toggle{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.quick-team-toggle span{color:var(--ink-2);font-size:16px;font-weight:700}.quick-team-form{background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;margin-top:10px;padding:15px}.quick-team-form>strong{color:var(--brand-ink);margin-bottom:8px;font-size:19px;display:block}.quick-team-form>.primary-button{width:100%;margin-top:12px}.past-game-notice{color:var(--brand-ink);background:#eef2ff;border:1px solid #c7d2fe;border-radius:11px;flex-direction:column;gap:3px;margin-top:14px;padding:14px 15px;display:flex}.past-game-notice.past{color:#92400e;background:#fffbeb;border-color:#fbbf24}.past-game-notice strong{font-size:18px}.past-game-notice span{font-size:15px}.game-editor-actions{margin-top:14px}.save-and-sheet{width:100%;margin-top:10px;padding:15px 18px;font-size:19px}.add-team-button{flex:none;min-width:150px;font-size:18px}@media (max-width:760px){.quick-team-toggle{flex-direction:column;align-items:stretch}.game-editor-actions{grid-template-columns:1fr 1fr;display:grid}.game-editor-actions>span{display:none}.game-editor-actions .danger-button{grid-column:1/-1}.save-and-sheet{font-size:17px}.add-team-button{width:100%}}@media (max-width:720px){.topbar{gap:10px}.topbar>div:first-child{min-width:0}.topbar h1{white-space:nowrap;font-size:25px}.topbar p{display:none}.topbar-status{flex:none;gap:5px;margin-left:auto}.admin-status{display:none}.season-control{gap:4px}.season-chip{width:122px;min-width:0;max-width:122px;padding:8px 9px;font-size:15px;display:block}.season-add{width:36px;height:36px;font-size:23px}}@media (max-width:390px){.topbar h1{font-size:22px}.season-chip{width:108px;max-width:108px;font-size:14px}.season-add{width:34px;height:34px}}.mobile-admin-access{display:none}@media (max-width:720px){.topbar>div:first-child{flex:1;min-width:0;overflow:hidden}.topbar h1{text-overflow:ellipsis;overflow:hidden}.mobile-admin-access{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:9px;flex:none;padding:8px 10px;font-size:15px;font-weight:800;display:block}.mobile-admin-access.active{color:#15803d;background:#ecfdf5;border-color:#22c55e}}@media (max-width:390px){.mobile-admin-access{padding:8px;font-size:14px}}@media (max-width:760px){.roster-row{grid-template-columns:38px minmax(0,1fr) auto;gap:6px;padding:6px 0}.roster-row>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.roster-row>small{white-space:nowrap;text-align:right;grid-column:auto;font-size:13px}.roster-row .row-actions{grid-column:2/4;margin-top:2px}}@media (max-width:390px){.roster-row{grid-template-columns:34px minmax(0,1fr) auto;gap:5px}.roster-row>small{font-size:12px}}@media (max-width:760px){.calendar-toolbar{gap:10px}.month-switcher{grid-template-columns:72px minmax(0,1fr) 72px;width:100%}.month-switcher button{padding:12px 4px}.month-switcher strong{font-size:21px}.calendar{border-radius:14px;width:100%;overflow:hidden}.calendar-weekdays,.calendar-grid{width:100%;min-width:0}.calendar-weekdays span{text-align:center;letter-spacing:.04em;padding:9px 0;font-size:10px}.calendar-day{min-height:100px;padding:4px 2px}.calendar-day-head{margin-bottom:3px;padding:0 2px}.calendar-day-head b{font-size:14px}.calendar-day-head .calendar-add{width:24px;height:24px;font-size:19px;box-shadow:0 3px 8px #5b5bd63d}.day-games{gap:2px}.calendar-game{text-align:center;border-radius:6px;grid-template-columns:1fr;justify-items:center;gap:1px;width:100%;min-height:38px;padding:3px 1px;display:grid}.calendar-logos{grid-row:auto;justify-content:center;display:flex}.calendar-logos .team-mark{width:20px;height:20px}.calendar-logos .team-mark+.team-mark{margin-left:-6px}.calendar-game strong{display:none}.calendar-game small{text-align:center;max-width:100%;font-size:10px;line-height:1.05;display:block}.edit-mode-banner{flex-direction:column;align-items:flex-start;gap:2px}}@media (max-width:390px){.month-switcher{grid-template-columns:64px minmax(0,1fr) 64px}.month-switcher strong{font-size:19px}.calendar-weekdays span{font-size:9px}.calendar-day{min-height:92px}.calendar-logos .team-mark{width:18px;height:18px}.calendar-game{min-height:35px}.calendar-game small{font-size:9px}}.schedule-importer{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);align-items:end;gap:22px;margin-bottom:14px;padding:18px 20px;display:grid}.schedule-importer h2{margin:3px 0 4px;font-size:22px}.schedule-importer p{max-width:720px;color:var(--ink-2);margin:0;font-size:15px}.schedule-importer form{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;display:grid}.schedule-file{color:var(--ink-2);flex-direction:column;gap:5px;font-size:13px;font-weight:800;display:flex}.schedule-file input{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;width:100%;min-width:0;padding:8px;font-size:14px}.schedule-importer .form-error{grid-column:1/-1;margin:0}.schedule-import-preview{color:var(--ink);box-shadow:var(--shadow);background:#eef2ff;border:1px solid #a5b4fc;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;margin-bottom:14px;padding:16px 18px;display:grid}.schedule-import-preview.blocked{background:#fffbeb;border-color:#fbbf24}.schedule-import-preview h2{margin:3px 0;font-size:21px}.schedule-import-preview p{color:var(--ink-2);margin:0;font-size:14px}.import-preview-metrics{gap:8px;display:flex}.import-preview-metrics span{min-width:90px;color:var(--ink-2);text-align:center;background:#ffffffb8;border-radius:9px;padding:8px 10px;font-size:12px}.import-preview-metrics strong{color:var(--ink);font-size:20px;display:block}.schedule-import-preview details{background:#ffffffb8;border-radius:9px;grid-column:1/-1;padding:10px 12px}.schedule-import-preview summary{cursor:pointer;color:var(--brand-ink);font-weight:800}.schedule-import-preview ul{color:var(--ink-2);margin:8px 0 0;padding-left:20px}@media (max-width:900px){.schedule-importer,.schedule-import-preview{grid-template-columns:1fr}.schedule-import-preview details{grid-column:auto}.schedule-import-preview>.secondary-button{width:100%}.import-preview-metrics{grid-template-columns:repeat(3,1fr);display:grid}}@media (max-width:560px){.schedule-importer{padding:15px}.schedule-importer form{grid-template-columns:1fr}.schedule-importer form .primary-button{width:100%}.import-preview-metrics span{min-width:0}.schedule-import-preview{padding:14px}.schedule-import-preview h2{font-size:19px}.schedule-import-preview p{font-size:13px}}.game-admin-controls{align-items:center;gap:10px;margin-top:14px;display:flex}.game-admin-controls .gamesheet-toggle{flex:1;margin-top:0}.admin-operations{gap:18px;margin-top:18px;display:grid}.activity-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.activity-metrics>div{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:14px}.activity-metrics span,.activity-metrics strong{display:block}.activity-metrics span{color:var(--ink-2);font-size:13px;font-weight:700}.activity-metrics strong{margin-top:4px;font-size:28px}.activity-table .failed-row{background:var(--bad-bg);color:#9f1239}.admin-explainer{color:var(--ink-2);margin-top:0}.admin-user-list{flex-wrap:wrap;gap:9px;margin:12px 0 16px;display:flex}.admin-user-list>div{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;grid-template-columns:auto auto auto;align-items:center;gap:8px;padding:9px 11px;display:grid}.admin-user-list span{color:var(--ink-2)}.admin-user-list small{color:var(--good);font-weight:800}.admin-user-form{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;display:grid}.admin-user-form label{color:var(--ink-2);flex-direction:column;gap:5px;font-size:13px;font-weight:750;display:flex}.admin-user-form input{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--ink);border-radius:9px;padding:10px}@media (max-width:900px){.activity-metrics,.admin-user-form{grid-template-columns:1fr 1fr}.admin-user-form .primary-button{align-self:end}}@media (max-width:560px){.game-admin-controls{flex-direction:column;align-items:stretch}.game-admin-controls>*{width:100%}.activity-metrics{grid-template-columns:1fr 1fr}.admin-user-form{grid-template-columns:1fr}.admin-user-list>div{grid-template-columns:1fr auto}.admin-user-list small{grid-column:1/-1}}.suspensions-card{border-top:5px solid var(--brand);margin-bottom:26px;padding:24px}.suspensions-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.suspensions-heading h2{letter-spacing:.02em;align-items:center;gap:11px;margin:4px 0 0;font-size:29px;display:flex}.suspensions-heading h2 b{background:var(--grad);color:#fff;border-radius:50%;place-items:center;min-width:38px;height:38px;font-size:20px;display:grid;box-shadow:0 6px 15px #5b5bd638}.no-suspensions{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.no-suspensions strong{font-size:21px}.no-suspensions span{color:var(--ink-2);font-size:16px}.suspension-editor{background:#eef2ff;border:1px solid #c7d2fe;border-radius:13px;grid-template-columns:1fr 1fr 1.5fr 1fr;align-items:end;gap:11px;margin-bottom:18px;padding:17px;display:grid}.suspension-editor label{color:var(--ink-2);flex-direction:column;gap:5px;font-size:14px;font-weight:800;display:flex}.suspension-editor input,.suspension-editor select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:11px 12px}.suspension-form-actions{grid-column:1/-1;justify-content:flex-end;gap:9px;display:flex}.suspension-list{gap:10px;display:grid}.suspension-list article{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.4fr) minmax(155px,.7fr) auto;align-items:center;gap:18px;padding:16px 18px;display:grid}.suspension-list article>div:first-child strong,.suspension-list article>div:first-child span{display:block}.suspension-list article>div:first-child strong{font-size:20px}.suspension-list article>div:first-child span{color:var(--ink-2);font-size:14px}.suspension-list article p{margin:0;font-size:17px}.suspension-return span,.suspension-return strong{display:block}.suspension-return span{color:var(--ink-3);text-transform:uppercase;letter-spacing:.07em;font-size:12px;font-weight:800}.suspension-return strong{font-size:16px}.rules-intro{margin:4px 0 16px}.rules-intro h2{margin:3px 0 4px;font-size:34px}.rules-intro p{color:var(--ink-2);margin:0;font-size:17px}.rules-groups{gap:20px;display:grid}.rule-group{padding:24px}.rule-group>h2{border-bottom:1px solid var(--line);margin:0 0 18px;padding-bottom:13px;font-size:28px}.rule-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.rule-section-grid article{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:18px}.rule-section-grid h3{color:var(--brand-ink);margin:0 0 10px;font-size:21px}.rule-section-grid ol{gap:7px;margin:0;padding-left:23px;display:grid}.rule-section-grid li{color:var(--ink-2);padding-left:3px;font-size:16px;line-height:1.45}.rule-section-grid li::marker{color:var(--brand);font-weight:850}.rules-intro-heading,.rulebook-editor-heading,.rulebook-editor-row{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.rule-group-introduction{color:var(--ink-2);margin:-7px 0 18px;font-size:16px}.rulebook-editor{border-top:5px solid var(--brand);gap:18px;margin-bottom:22px;padding:24px;display:grid}.rulebook-editor-heading h2{margin:3px 0 2px;font-size:27px}.rulebook-editor-heading p{color:var(--ink-2);margin:0}.rulebook-editor-groups,.rulebook-editor-sections,.rulebook-editor-rules{gap:14px;display:grid}.rulebook-editor-group{background:#eef2ff;border:1px solid #c7d2fe;border-radius:13px;gap:14px;margin:0;padding:18px;display:grid}.rulebook-editor-section{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;padding:16px;display:grid}.rulebook-editor label,.rulebook-rule-row label{color:var(--ink-2);flex-direction:column;flex:1;gap:5px;font-size:14px;font-weight:800;display:flex}.rulebook-editor input,.rulebook-editor textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);resize:vertical;background:#fff;border-radius:9px;padding:10px 12px}.rulebook-group-title input{font-size:20px;font-weight:800}.rulebook-rule-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.rulebook-editor .danger.secondary-button{color:var(--bad);background:#fff;border-color:#fecdd3}.rulebook-editor .danger.secondary-button:disabled{opacity:.45}.add-rule-button{justify-self:start}.rulebook-editor-actions{justify-content:flex-end;gap:10px;padding-top:3px;display:flex}@media (max-width:980px){.suspension-editor,.suspension-list article{grid-template-columns:1fr 1fr}.suspension-list article .row-actions{justify-self:end}.rule-section-grid{grid-template-columns:1fr}}@media (max-width:600px){.suspensions-card,.rule-group,.rulebook-editor{padding:17px}.suspensions-heading,.rules-intro-heading,.rulebook-editor-heading,.rulebook-editor-row{flex-direction:column;align-items:stretch}.suspensions-heading .primary-button,.rules-intro-heading .primary-button{width:100%}.suspensions-heading h2{font-size:24px}.no-suspensions{flex-direction:column;align-items:flex-start;gap:2px}.suspension-editor{grid-template-columns:1fr}.suspension-form-actions{grid-column:auto;grid-template-columns:1fr 1fr;display:grid}.suspension-list article{grid-template-columns:1fr;gap:9px}.suspension-list article .row-actions{justify-self:stretch}.suspension-list article .row-actions button{flex:1}.rules-intro h2{font-size:29px}.rule-group>h2{font-size:25px}.rule-section-grid article{padding:15px}.rule-section-grid li{font-size:15px}.rulebook-editor-group,.rulebook-editor-section{padding:13px}.rulebook-rule-row{grid-template-columns:1fr}.rulebook-rule-row .secondary-button{width:100%}.rulebook-editor-actions{grid-template-columns:1fr 1fr;display:grid}}.metric-card strong.metric-player-name{overflow-wrap:anywhere;font-size:22px;line-height:1.05}
