:root{--bg:#f1f5f9;--chrome:#0f172a;--chrome-2:#172033;--panel:#fff;--panel-2:#f8fafc;--panel-3:#f1f5f9;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--border-strong:#cbd5e1;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#dbeafe;--success:#16a34a;--success-soft:#dcfce7;--success-strong:#15803d;--football:#16a34a;--live:#dc2626;--warning:#f59e0b;--focus:#7c3aed;--shadow:0 1px 2px #0f172a0f;--shadow-2:0 8px 24px #0f172a14;--radius-sm:8px;--radius-md:12px;--radius-card:16px;--radius-panel:20px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,select{outline-color:var(--focus)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a{color:inherit;text-decoration:none}#app{min-height:100vh}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--chrome);color:#e7edf5;border-right:1px solid #e2e8f01f;padding:20px}.brand{align-items:center;gap:10px;height:48px;font-weight:750;display:flex}.brand svg{color:var(--accent)}.nav-list{gap:4px;margin-top:22px;display:grid}.nav-list a{border-radius:var(--radius-sm);color:#98a6b8;padding:12px}.nav-list a.router-link-active,.nav-list a:hover{color:#fff;background:#2563eb2e}.sidebar-section{border-top:1px solid #d8e0ea2e;margin-top:24px;padding-top:18px}.sidebar-section.compact{margin-top:18px}.section-title,.date-control,.search-box{align-items:center;gap:8px;display:flex}.section-title{color:#8795a8;text-transform:uppercase;font-size:13px;font-weight:700}.league-nav{gap:4px;margin-top:12px;display:grid}.data-status-page{gap:18px;margin:24px;display:grid}.status-badge{background:var(--panel-2);color:var(--muted);text-transform:uppercase;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:900}.status-badge.ready,.source-row b.ready,.source-row b.completed{background:var(--success-soft);color:var(--success-strong)}.status-badge.needs-import,.source-row b.needs-import,.source-row b.failed,.source-row b.completed-with-errors{color:#a16207;background:#fff3d8}.source-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 120px 120px;align-items:center;gap:12px;padding:11px 0;display:grid}.source-row:last-child{border-bottom:0}.source-row div{gap:3px;display:grid}.source-row span,.source-row em{color:var(--muted);font-size:13px;font-style:normal}.source-row b{text-align:center;text-transform:uppercase;border-radius:999px;padding:5px 8px;font-size:12px}.league-nav a{border-radius:var(--radius-sm);gap:2px;padding:9px 10px;display:grid}.league-nav a:hover,.league-nav a.router-link-active{background:#2563eb2e}.league-nav span{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:750;overflow:hidden}.league-nav small{color:#8795a8;font-size:12px}.main-panel{min-width:0}.topbar{z-index:10;color:#e7edf5;min-height:72px;box-shadow:var(--shadow-2);background:#172033f5;border-bottom:1px solid #e2e8f01f;justify-content:space-between;align-items:center;gap:16px;padding:12px 32px;display:flex;position:sticky;top:0}.date-control{border-radius:var(--radius-md);background:#ffffff14;border:1px solid #ffffff1f;min-height:44px;padding:10px 14px;font-weight:650}.search-box{border-radius:var(--radius-md);background:#ffffff14;border:1px solid #ffffff1f;width:min(440px,48vw);padding:0 12px;position:relative}.search-box input{color:#fff;background:0 0;border:0;outline:0;width:100%;padding:10px 0}.search-box input::placeholder,.search-box svg,.date-control svg{color:#9fb0c4}.search-results{z-index:30;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);width:min(520px,80vw);max-height:420px;color:var(--text);padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 18px 38px #060c143d}.search-results a{border-radius:var(--radius-sm);grid-template-columns:68px minmax(0,1fr);gap:2px 10px;padding:9px 10px;display:grid}.search-results a:hover{background:var(--panel-2)}.search-results span{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);text-align:center;grid-row:span 2;align-self:center;padding:4px 6px;font-size:12px;font-weight:900}.search-results strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-results small,.search-empty{color:var(--muted)}.search-empty{padding:12px}.page-header,.scoreboard-header,.home-hero,.home-controls,.status-tabs,.matchday-strip,.league-hero,.match-hero,.team-hero,.player-hero,.content-grid,.detail-layout,.league-layout,.league-index,.team-index,.player-index,.data-section{margin:24px}.home-hero{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel);box-shadow:var(--shadow);justify-content:space-between;align-items:flex-end;gap:24px;padding:24px;display:flex}.home-hero-copy{gap:8px;min-width:0;display:grid}.home-hero-copy p:last-child{color:var(--muted);font-weight:700}.sport-switcher{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.sport-switcher button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-2);min-height:36px;color:var(--muted);padding:8px 12px;font-weight:850}.sport-switcher button.active{background:var(--success-soft);color:var(--success-strong);border-color:#16a34a59}.sport-switcher button:disabled{cursor:not-allowed;opacity:.45}.home-controls{gap:12px;display:grid}.home-controls .status-tabs,.home-controls .matchday-strip{margin:0}.home-layout{grid-template-columns:minmax(0,1fr) 320px;gap:18px;margin:24px;display:grid}.home-main,.home-side{align-content:start;gap:14px;display:grid}.section-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.section-heading.compact{align-items:center;margin-bottom:12px}.section-heading p{color:var(--muted);font-size:13px;font-weight:700}.section-heading a{border-radius:var(--radius-md);background:var(--accent);color:#fff;white-space:nowrap;padding:9px 12px;font-size:13px;font-weight:850}.home-match-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel);min-height:112px;box-shadow:var(--shadow);gap:12px;padding:16px;display:grid}.home-match-card:hover{background:#eff6ff;border-color:#2563eb57}.home-match-topline{grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.home-match-topline strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-match-topline small{color:var(--muted);font-size:13px;font-weight:750}.home-league-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(76px,.45fr) minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.home-league-row:last-of-type{border-bottom:0}.home-league-row span,.home-league-row em{color:var(--muted);font-size:13px;font-style:normal;font-weight:750}.home-league-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.followed-empty{border-radius:var(--radius-md);background:var(--panel-2);color:var(--muted);gap:6px;padding:14px;display:grid}.followed-empty svg{color:var(--accent)}.followed-empty strong{color:var(--text)}.followed-empty span{font-size:13px}.home-search-entry{border:1px dashed var(--border-strong);border-radius:var(--radius-card);background:var(--panel);color:var(--muted);align-items:center;gap:10px;padding:16px;font-weight:850;display:flex}.page-header{justify-content:space-between;align-items:end;gap:20px;display:flex}.scoreboard-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding-bottom:18px;display:flex}.scoreboard-title{min-width:0}.eyebrow{color:var(--accent);text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:800}h1,h2,p{margin:0}h1{font-size:34px;line-height:1.12}h2{margin-bottom:16px;font-size:18px}.segmented-control{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);display:flex;overflow:hidden}.date-strip,.status-tabs{align-items:center;display:flex}.date-strip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);gap:10px;padding:5px}.date-strip button,.status-tabs button{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.date-strip button{border-radius:var(--radius-sm);width:32px;height:32px}.date-strip button:hover,.status-tabs button:hover{background:var(--panel-2);color:var(--text)}.date-strip span{text-align:center;min-width:78px;font-weight:750}.status-tabs{gap:8px;padding-bottom:2px;overflow-x:auto}.status-tabs button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);flex:none;gap:7px;min-height:44px;padding:8px 12px;font-weight:750}.status-tabs button.active{border-color:var(--accent);background:var(--accent);color:#fff}.status-tabs span{text-align:center;background:#00000014;border-radius:999px;min-width:22px;padding:2px 6px;font-size:12px}.status-tabs .active span{background:#ffffff38}.status-tabs .filter-button{width:38px;padding:0}.matchday-strip{gap:8px;display:flex;overflow-x:auto}.matchday-strip button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);min-width:74px;color:var(--text);justify-items:center;gap:3px;padding:8px 10px;display:grid}.matchday-strip button.active,.matchday-strip button:hover{border-color:var(--accent);background:var(--accent-soft)}.matchday-strip span{color:var(--muted);font-size:12px;font-weight:850}.matchday-strip strong{font-size:16px}.segmented-control button{border:0;border-right:1px solid var(--border);color:var(--muted);background:0 0;padding:9px 14px}.segmented-control button:last-child{border-right:0}.segmented-control .active{background:var(--accent);color:#fff}.content-grid{grid-template-columns:minmax(0,1fr) 280px;gap:18px;display:grid}.match-list,.detail-layout{gap:14px;display:grid}.competition-block,.insight-panel,.data-section,.state-box{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel);box-shadow:var(--shadow)}.competition-header{border-bottom:1px solid var(--border);background:var(--panel-2);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.state-box{color:var(--muted);padding:18px}.state-box.error{color:var(--live)}.competition-header div{align-items:baseline;gap:8px;display:flex}.competition-header span,.competition-header small,.muted{color:var(--muted)}.match-row{border-bottom:1px solid var(--border);grid-template-columns:78px minmax(0,1fr) 72px minmax(0,1fr);align-items:center;gap:12px;min-height:56px;padding:10px 16px;display:grid}.match-row:last-child{border-bottom:0}.match-row:hover{background:var(--panel-2)}.smart-match-card{border-bottom:1px solid var(--border);gap:10px;min-height:112px;padding:16px;display:grid}.smart-match-card:last-child{border-bottom:0}.smart-match-card:hover{background:var(--panel-2)}.smart-match-main{grid-template-columns:78px minmax(0,1fr) 72px minmax(0,1fr);align-items:center;gap:12px;display:grid}.smart-team{gap:5px;min-width:0;display:grid}.smart-team.right{text-align:right;justify-items:end}.smart-team strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.smart-score{border-radius:var(--radius-sm);background:var(--panel-3);text-align:center;padding:6px 8px}.form-pills{flex-wrap:wrap;gap:4px;display:flex}.smart-team.right .form-pills{justify-content:flex-end}.form-pills span,.trend-badge{border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:900;display:inline-flex}.form-pills span{width:22px;height:22px;color:var(--muted);background:#e5eaf1}.form-pills .w,.trend-badge.hot{background:var(--success-soft);color:var(--success-strong)}.form-pills .d,.trend-badge.steady,.trend-badge.building{background:var(--panel-3);color:var(--muted)}.form-pills .l,.trend-badge.cold{color:#b91c1c;background:#ef444424}.smart-match-context{color:var(--muted);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;font-size:12px;display:grid}.smart-match-context p{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:700;overflow:hidden}.smart-match-context small{color:var(--muted)}.trend-badge{text-transform:uppercase;padding:5px 8px}.match-status{color:var(--live);font-size:13px;font-weight:800}.match-status.finished{color:var(--muted)}.match-status.scheduled{color:var(--accent)}.team-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.score{border-radius:var(--radius-sm);background:var(--panel-3);text-align:center;padding:5px 8px}.insight-panel,.data-section{padding:16px}.insight-panel dl,.metric-grid{gap:10px;margin:0;display:grid}.insight-panel dl div,.metric-grid div,.stat-row{border-radius:var(--radius-md);background:var(--panel-2);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}dt,.metric-grid span,.stat-row span{color:var(--muted)}dd{margin:0;font-weight:800}.detail-layout{grid-template-columns:minmax(0,1fr) minmax(280px,420px)}.match-tabs{z-index:8;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f1f5f9eb;gap:8px;margin:0 24px 24px;padding:10px 0;display:flex;position:sticky;top:72px;overflow-x:auto}.match-tabs a{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);color:var(--muted);flex:none;padding:9px 12px;font-size:13px;font-weight:850}.match-tabs a:hover{color:var(--accent);border-color:#2563eb57}.match-primary-stack,.match-side-stack{align-content:start;gap:18px;display:grid}.match-summary-grid,.featured-stat-grid,.lineup-snapshot{gap:10px;display:grid}.match-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.featured-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.match-summary-grid div,.featured-stat-grid div,.lineup-snapshot div{border-radius:var(--radius-md);background:var(--panel-2);gap:4px;padding:12px;display:grid}.match-summary-grid span,.featured-stat-grid span,.lineup-snapshot span,.lineup-snapshot em{color:var(--muted);text-transform:uppercase;font-size:12px;font-style:normal;font-weight:850}.featured-stat-grid strong{font-size:20px}.lineup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lineup-block{border-radius:var(--radius-md);background:var(--panel-2);gap:8px;padding:12px;display:grid}.lineup-block>span,.lineup-block>small{color:var(--muted);font-size:13px;font-weight:750}.lineup-block ol{gap:6px;margin:4px 0 0;padding:0;list-style:none;display:grid}.lineup-block li{border-top:1px solid var(--border);grid-template-columns:32px minmax(0,1fr) minmax(74px,.5fr);align-items:center;gap:8px;padding-top:6px;display:grid}.lineup-block b{border-radius:var(--radius-sm);background:var(--panel);color:var(--accent);text-align:center;padding:4px 0}.lineup-block li span,.lineup-block li em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lineup-block li em{color:var(--muted);font-size:12px;font-style:normal;font-weight:750}.match-hero{border-radius:var(--radius-card);color:#fff;box-shadow:var(--shadow);background:linear-gradient(#172033 0%,#0f172a 100%);border:1px solid #162235;padding:20px}.match-competition{color:#8fa2b9;text-transform:uppercase;margin-bottom:16px;font-size:13px;font-weight:800;display:inline-flex}.match-competition:hover{color:#fff}.match-scoreboard{grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);align-items:center;gap:18px;display:grid}.match-team-card{border-radius:var(--radius-md);background:#ffffff0f;gap:5px;padding:16px;display:grid}.match-team-card:hover{background:#ffffff1a}.match-team-card.right{text-align:right}.match-team-card span{color:#9fb0c4;text-transform:uppercase;font-size:13px;font-weight:800}.match-team-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:22px;overflow:hidden}.match-score-center{justify-items:center;gap:8px;display:grid}.match-status-pill{color:#c8d3df;text-transform:uppercase;background:#ffffff1a;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900}.match-status-pill.live{color:#ff6b8a;background:#e11d482e}.match-status-pill.finished{color:#86efac;background:#16a34a29}.match-scoreline{align-items:baseline;gap:12px;display:flex}.match-scoreline strong{font-size:46px;line-height:1}.match-scoreline span,.match-score-center small{color:#9fb0c4}.league-hero{border-bottom:1px solid var(--border);padding-bottom:18px}.league-discovery-hero{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel);box-shadow:var(--shadow);justify-content:space-between;align-items:flex-end;gap:24px;margin:24px;padding:24px;display:flex}.league-discovery-hero div{gap:8px;display:grid}.league-discovery-hero p:last-child{color:var(--muted);font-weight:700}.team-hero,.player-hero{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel);box-shadow:var(--shadow);justify-content:space-between;align-items:end;gap:18px;padding:18px;display:flex}.profile-team-link{border-radius:var(--radius-md);background:var(--accent);color:#fff;padding:10px 12px;font-weight:800}.team-record{grid-template-columns:repeat(4,62px);gap:8px;display:grid}.team-record div{border-radius:var(--radius-md);background:var(--panel-2);justify-items:center;gap:3px;padding:10px;display:grid}.team-record span{color:var(--muted);font-size:12px;font-weight:900}.team-record strong{font-size:20px}.team-form-strip{margin-top:12px}.team-primary-stack,.team-side-stack{align-content:start;gap:18px;display:grid}.team-split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.team-split-grid div{border-radius:var(--radius-md);background:var(--panel-2);gap:4px;padding:12px;display:grid}.team-split-grid span,.team-split-grid em{color:var(--muted);text-transform:uppercase;font-size:12px;font-style:normal;font-weight:850}.squad-group{border-top:1px solid var(--border);gap:2px;padding-top:12px;display:grid}.squad-group:first-of-type{border-top:0;padding-top:0}.squad-group-title{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 0 4px;font-size:13px;font-weight:850;display:flex}.league-layout{grid-template-columns:minmax(420px,.85fr) minmax(0,1.15fr);gap:18px;display:grid}.league-side-stack{align-content:start;gap:18px;display:grid}.league-index{gap:18px;display:grid}.league-tools{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:16px;display:flex}.league-search{align-items:center;gap:8px;min-width:min(420px,100%);display:flex}.league-country-group{border-top:1px solid var(--border);gap:4px;padding:14px 0 4px;display:grid}.league-country-group:first-of-type{border-top:0;padding-top:0}.league-country-header{justify-content:space-between;align-items:baseline;gap:12px;padding:0 12px 6px;display:flex}.league-country-header span{color:var(--muted);font-size:13px;font-weight:750}.team-index,.player-index{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.player-coverage{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.player-coverage.compact{margin-bottom:12px}.player-coverage span{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:999px;align-items:center;gap:5px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.player-coverage strong{color:var(--text)}.league-card-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.league-card,.team-card,.player-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel-2);gap:8px;min-height:120px;padding:16px;display:grid}.player-card{grid-template-columns:54px minmax(0,1fr);align-items:center;min-height:132px}.player-card .card-topline,.player-card>strong,.player-card>small,.player-card-meta{grid-column:2}.player-card-photo{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);object-fit:cover;grid-row:1/span 4;width:54px;height:54px}.player-card-photo.placeholder{color:var(--muted);justify-content:center;align-items:center;font-size:22px;font-weight:900;display:inline-flex}.player-card-meta{flex-wrap:wrap;gap:6px;display:flex}.player-card-meta b,.card-topline em{border-radius:var(--radius-sm);background:var(--panel);color:var(--muted);padding:4px 7px;font-size:12px;font-style:normal;font-weight:850}.card-topline{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-topline b{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.player-profile-strip{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:10px;margin-bottom:18px;display:grid}.player-profile-strip.has-photo{grid-template-columns:88px repeat(4,minmax(0,1fr))}.player-photo{border-radius:var(--radius-md);background:var(--panel-2);object-fit:cover;width:88px;height:88px}.player-profile-strip div,.player-profile-strip a{border-radius:var(--radius-md);background:var(--panel-2);gap:4px;padding:10px 12px;display:grid}.player-profile-strip span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.player-profile-strip a{background:var(--accent);color:#fff;align-content:center;font-weight:850}.player-profile-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.player-profile-grid div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-2);gap:4px;min-height:76px;padding:12px;display:grid}.player-profile-grid span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.player-profile-grid small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.player-breakdown-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:20px;display:grid}.player-breakdown-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel-2);gap:10px;min-height:166px;padding:14px;display:grid}.player-breakdown-card h3{margin:0;font-size:15px}.player-breakdown-card dl{gap:8px;margin:0;display:grid}.player-breakdown-card dl div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-bottom:7px;display:flex}.player-breakdown-card dl div:last-child{border-bottom:0;padding-bottom:0}.player-breakdown-card dt,.player-breakdown-card dd{margin:0}.player-breakdown-card dt{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.player-breakdown-card dd{color:var(--ink);font-size:14px;font-weight:900}.subsection-title{color:var(--muted);text-transform:uppercase;margin:14px 0 8px;font-size:12px}.roster-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(92px,140px) auto;align-items:center;gap:10px;padding:9px 0;display:grid}.roster-row:last-child{border-bottom:0}.roster-row a{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.roster-row span{color:var(--muted);font-size:13px;font-weight:750}.league-card:hover,.team-card:hover,.player-card:hover,.league-list-row:hover{background:#eff6ff;border-color:#2563eb57}.league-card svg{color:var(--accent)}.league-card span,.league-card small,.team-card span,.team-card small,.player-card span,.player-card small,.league-list-row span,.league-list-row small{color:var(--muted);font-size:13px;font-weight:750}.league-card strong,.team-card strong,.player-card strong{align-self:end;font-size:20px}.directory-tools{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.inline-search{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);width:min(320px,100%);padding:0 12px}.inline-search input{background:0 0;border:0;outline:0;width:100%;padding:10px 0}.inline-select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);color:var(--text);padding:0 12px}.league-list-row{border:1px solid #0000;border-bottom-color:var(--border);border-radius:var(--radius-md);grid-template-columns:130px minmax(0,1fr) 110px;align-items:center;gap:14px;padding:11px 12px;display:grid}.league-coverage-row{border:1px solid #0000;border-bottom-color:var(--border);border-radius:var(--radius-md);grid-template-columns:120px minmax(0,1fr) 110px 150px 90px 100px;align-items:center;gap:12px;padding:11px 12px;display:grid}.league-coverage-row:hover{background:#eff6ff;border-color:#2563eb57}.league-coverage-row span,.league-coverage-row small,.league-coverage-row em,.league-coverage-row b{color:var(--muted);font-size:13px;font-style:normal;font-weight:750}.league-coverage-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.league-coverage-row b{background:var(--panel-2);text-align:center;border-radius:999px;padding:5px 8px}.timeline{gap:10px;margin:0;padding:0;list-style:none;display:grid}.timeline li{gap:12px;display:flex}.empty-note{border-radius:var(--radius-md);background:var(--panel-2);color:var(--muted);padding:14px}.timeline span,.form-strip span{border-radius:var(--radius-sm);background:var(--accent-soft);width:34px;height:28px;color:var(--accent);justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.stat-compare{border-bottom:1px solid var(--border);gap:8px;padding:10px 0;display:grid}.stat-compare:last-child{border-bottom:0}.stat-compare-values{text-align:center;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:10px;display:grid}.stat-compare-values span{color:var(--muted);font-size:13px;font-weight:750}.stat-bars{background:#e6edf4;border-radius:999px;height:6px;display:flex;overflow:hidden}.stat-bars i{min-width:2px;display:block}.home-bar{background:var(--accent)}.away-bar{background:#94a3b8}.player-stat-list{gap:8px;display:grid}.player-stat-row{border-bottom:1px solid var(--border);grid-template-columns:48px minmax(0,1fr) minmax(140px,.8fr);align-items:center;gap:12px;padding:10px 0;display:grid}.player-stat-row:last-child{border-bottom:0}.player-stat-row b{border-radius:var(--radius-sm);background:var(--accent);color:#fff;justify-content:center;align-items:center;width:42px;height:32px;font-size:14px;display:inline-flex}.player-stat-row div{gap:3px;min-width:0;display:grid}.player-stat-row strong,.player-stat-row em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-stat-row span,.player-stat-row em{color:var(--muted);font-size:13px;font-style:normal;font-weight:700}.player-match-row{border-bottom:1px solid var(--border);grid-template-columns:74px minmax(0,1fr) 48px minmax(160px,.8fr);align-items:center;gap:12px;padding:10px 0;display:grid}.player-match-row:last-child{border-bottom:0}.player-match-row span,.player-match-row em{color:var(--muted);font-size:13px;font-style:normal;font-weight:700}.player-match-row strong,.player-match-row em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-match-row b{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);text-align:center;padding:6px 8px}.standings-table{border-collapse:collapse;width:100%}.standings-table th,.standings-table td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:9px 8px}.standings-table th:nth-child(2),.standings-table td:nth-child(2){text-align:left}.standings-table th{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.fixture-row{border-bottom:1px solid var(--border);grid-template-columns:72px minmax(0,1fr) 58px minmax(0,1fr);align-items:center;gap:10px;padding:10px 0;display:grid}.fixture-row:last-child{border-bottom:0}.fixture-row:hover{background:var(--panel-2)}.fixture-row span{color:var(--muted);font-size:13px;font-weight:700}.fixture-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fixture-row b{border-radius:var(--radius-sm);background:var(--panel-2);text-align:center;padding:5px 7px}.team-match-row{border-bottom:1px solid var(--border);grid-template-columns:34px 72px minmax(0,1fr) 58px minmax(0,1fr);align-items:center;gap:10px;padding:10px 0;display:grid}.team-match-row:last-child{border-bottom:0}.team-match-row b{border-radius:var(--radius-sm);color:#fff;text-align:center;padding:4px 0;font-size:12px}.team-match-row b.w{background:var(--success)}.team-match-row b.d{background:#94a3b8}.team-match-row b.l{background:var(--live)}.team-match-row span{color:var(--muted);font-size:13px;font-weight:700}.team-match-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-match-row em{border-radius:var(--radius-sm);background:var(--panel-2);text-align:center;padding:5px 7px;font-style:normal;font-weight:800}.form-strip{gap:8px;display:flex}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:20;border-right:0;border-bottom:1px solid var(--border);padding:12px;position:sticky;top:0}.nav-list{grid-template-columns:repeat(4,1fr);margin-top:12px}.nav-list a{text-align:center;padding:9px 6px}.sidebar-section{display:none}.topbar,.page-header,.scoreboard-header,.home-hero,.league-discovery-hero,.team-hero,.player-hero{flex-direction:column;align-items:stretch}.search-box{width:100%}.home-hero,.content-grid,.detail-layout,.league-layout,.match-summary-grid,.featured-stat-grid,.lineup-grid,.team-split-grid,.home-layout,.home-match-topline,.home-league-row{grid-template-columns:1fr}.league-list-row{grid-template-columns:1fr;gap:4px}.match-scoreboard{grid-template-columns:1fr}.match-team-card.right{text-align:left}.match-row{grid-template-columns:54px minmax(0,1fr) 54px}.match-row .team-name:last-child{grid-column:2/4}.smart-match-main{grid-template-columns:54px minmax(0,1fr) 54px}.smart-match-main .smart-team.right{text-align:left;grid-column:2/4;justify-items:start}.smart-match-main .smart-team.right .form-pills{justify-content:flex-start}.smart-match-context{grid-template-columns:1fr}.smart-match-context p{white-space:normal}.league-hero{margin-top:18px}.fixture-row{grid-template-columns:54px minmax(0,1fr) 52px}.fixture-row strong:last-child{grid-column:2/4}.team-record{grid-template-columns:repeat(4,1fr)}.team-match-row{grid-template-columns:32px 54px minmax(0,1fr) 52px}.team-match-row strong:last-child{grid-column:3/5}}
