/* Score lists are the primary surface; match detail opens on request. */
html{scrollbar-gutter:stable}
:root{--bg:#f3f5f4;--line:#e1e7e3;--radius:8px;--muted:#64756c}
.masthead-inner{min-height:58px;max-width:1280px;padding:0 24px}
.logo{width:100px}
.brand-lockup{gap:14px}
.brand-name{font-size:20px}
.top-nav{margin-left:24px;gap:24px;font-size:12px}
.preview-label{display:none}
.layout{max-width:1280px;grid-template-columns:170px minmax(0,1fr);gap:22px;padding:20px 24px 26px}
.sidebar{padding-top:0;top:16px}
.side-section{padding:13px 0}
.side-button{font-size:12px;min-height:40px;padding:10px 9px;gap:9px;border-radius:5px}
.side-button .count{color:#66775c;font-size:11px}
.side-heading{padding:8px 9px;font-size:10px;letter-spacing:.6px;color:#708074}
.panel{box-shadow:none}
.scoreboard-title{padding:12px 16px;min-height:49px;gap:10px}
.scoreboard-title h1{font:600 23px Condensed,sans-serif;letter-spacing:-.2px}
.scoreboard-title .title-count{color:#65776a;font-size:11px;white-space:nowrap}
.scoreboard-title #sync{margin-left:auto}
.sync{font-size:10px;color:#617267;gap:6px;white-space:nowrap}
.sync .icon-button{height:30px;width:30px}
.sync.stale>span:nth-child(2){white-space:normal;max-width:180px;line-height:1.5}
.board-tools{display:flex;align-items:center;gap:10px;padding:0 16px 10px}
.search{height:35px;flex:1;margin:0;border-radius:5px;background:#f7f9f7;border-color:#e2e8e2}
.search input{font-size:12px}
.search-clear{align-items:center;justify-content:center;min-width:28px;height:30px}
.density-toggle{height:34px;width:34px;border:1px solid var(--line);border-radius:5px;color:#637366;flex-shrink:0}
.density-toggle[aria-pressed=true]{background:#eaf0de;color:#2a472f}
.mobile-league-select{display:none}
.date-bar{padding:4px 10px;background:#fff;gap:6px}
.date-days{max-width:640px}
.date-button{min-height:43px;padding:5px 2px;gap:3px;color:#68796c;font-size:10px;border-radius:5px}
.date-button b{font:600 15px Condensed,sans-serif;color:#344c3c}
.date-button.selected{background:#1b3d31;color:#d8e5d9}
.date-button.selected b{color:#fff}
.date-bar>.icon-button{height:35px;width:30px;flex-shrink:0}
.calendar-wrap{margin-left:auto}
.filter-bar{min-height:46px;padding:6px 12px;gap:5px;flex-wrap:nowrap}
.filter-button{font-size:12px;min-height:33px;padding:6px 10px;gap:7px;color:#647468;border-radius:5px}
.filter-button b{font:600 13px Condensed;opacity:1;color:inherit}
.filter-button.selected{background:#e9efdd;color:#2c482f}
.filter-button[data-value=live].selected{background:#ffeded;color:#bf343a}
.live-indicator{height:6px;width:6px}
.filter-bar .timezone{font-size:10px;color:#6c7b70}
.clear-filters{font-size:10px;color:#4f674d;margin-left:auto;white-space:nowrap;padding:7px 5px;text-decoration:underline;text-underline-offset:3px}
.clear-filters:not([hidden])+.timezone{margin-left:6px}
.list-columns{display:grid;grid-template-columns:58px minmax(0,1fr) 82px minmax(0,1fr);gap:14px;padding:7px 64px 7px 18px;font-size:10px;color:#758378;border-bottom:1px solid var(--line);background:#fcfdfb}
.list-columns>span:nth-child(2){text-align:right}
.list-columns>span:nth-child(3){text-align:center}
.league-heading{padding:8px 16px;min-height:36px;gap:8px;background:#edf2ec;border-color:#dfe7dc}
.league-heading .league-name{font-size:12px;color:#314d36}
.league-heading small{font-size:10px;color:#647861}
.league-table-link{min-height:23px;min-width:25px;align-items:center;justify-content:center}
.match-row{padding:0 12px 0 18px;min-height:56px;border-color:#edf0ed}
.match-row:hover{background:#f7faf4}
.match-row.selected{background:#f0f5e7;box-shadow:inset 3px 0 #90a744}
.match-open{display:grid;grid-template-columns:58px minmax(0,1fr) 82px minmax(0,1fr);gap:14px;padding:10px 0;align-items:center}
.match-status{font-size:15px;line-height:18px;gap:2px;color:#53685b;min-width:0}
.match-status b{font-weight:600;max-width:100%;overflow-wrap:anywhere}
.match-status small{font-size:9px;line-height:13px;color:#758276}
.match-status.is-live,.match-status.is-live small{color:#c72c37}
.team-line{font-size:13px;line-height:21px;gap:9px;font-weight:400;color:#344e3e}
.home-team{justify-content:flex-end;text-align:right}
.home-team .team-logo,.home-team .team-logo-fallback{order:2}
.team-logo,.team-logo-fallback{width:22px;height:22px}
.team-line.winner .team-name{font-weight:600;color:#1b3928}
.score-pair{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;font:700 27px/32px Condensed,sans-serif;font-variant-numeric:tabular-nums;color:#122f21;letter-spacing:0}
.score-pair>span:not(.score-divider){min-width:20px}
.score-pair .score-divider{font-size:17px;color:#94a18f;font-weight:400}
.score-pair.scheduled{color:#8d9a8a}
.score-pair.live{color:#cf2636}
.save-match{width:34px;height:40px;margin-left:12px;color:#89997b}
.save-match.is-saved{color:#6e882f}
.match-row.compact{min-height:45px}
.match-row.compact .match-open{padding:5px 0}
.match-row.compact .score-pair{gap:7px}
.board-foot{padding:10px 16px;min-height:37px;font-size:10px;color:#6d7b6b}
.board-foot button{margin-left:auto;font-size:10px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.empty-state{padding:34px 18px}
.empty-state b{font-size:13px}
.empty-state p{font-size:11px}
.empty-state .empty-icon{width:38px;height:38px;margin-bottom:10px}
.text-button{font-size:11px;min-height:36px}
.page-footer{max-width:1280px;padding:0 24px 24px;color:#6e7e6f;font-size:10px}
.detail-column{display:none;position:fixed;inset:0 0 0 auto;width:min(500px,100%);z-index:50;padding:0;background:#fff;overflow:auto;overscroll-behavior:contain;box-shadow:-10px 0 40px #10251918}
.detail-column.is-open{display:block}
.detail-backdrop{position:fixed;inset:0;background:#142d2359;z-index:49}
.detail-column .panel{min-height:100%;border:0;border-radius:0;padding-bottom:16px}
.detail-kicker{position:sticky;top:0;z-index:2;background:var(--green);color:#eef3e7;min-height:54px;border:0;padding:9px 20px;font-size:11px;letter-spacing:.4px}
.detail-kicker .detail-date{color:#c1d0b7;font-size:11px}
.detail-close{display:inline-flex;align-items:center;justify-content:center;color:#f2f6ea;width:36px;height:36px;margin-left:-8px;margin-right:4px;border-radius:5px}
.detail-close:hover{background:#ffffff12}
.detail-refresh{color:#dbe8d0;width:32px;height:34px}
.detail-refresh:hover{background:#ffffff12}
.detail-hero{padding:23px 24px 19px;background:#fff}
.detail-score{grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);gap:10px}
.detail-team .team-logo,.detail-team .team-logo-fallback{width:50px;height:50px}
.detail-team b{font-size:13px;line-height:1.5}
.detail-score-center strong{font-size:50px;font-variant-numeric:tabular-nums}
.detail-score-center .scheduled-time{font-size:40px}
.detail-score-center .state{font-size:11px;color:#607555}
.detail-competition{font-size:11px;margin-bottom:22px}
.venue{font-size:10px}
.detail-save{font-size:11px;min-height:37px;margin-top:14px}
.detail-tabs{position:sticky;top:54px;z-index:2;padding:0 16px}
.detail-tab{font-size:12px;padding:13px 7px;min-height:45px;color:#6b7c62}
.detail-body{max-height:none;min-height:220px;padding:21px 23px}
.detail-body .body-heading{font-size:12px}
.summary-statistics{margin-bottom:25px}
.event-source-note{margin:0 0 22px;border:1px solid #e7dec9;border-radius:5px;padding:10px 12px;background:#fcf8ef;color:#86692f;font-size:10px;line-height:1.8}
.event-source-note summary{cursor:pointer}
.event-source-note p{margin-top:8px}
.event-source-note button{display:flex;align-items:center;gap:5px;padding:8px 0 0;font-size:10px;text-decoration:underline}
.stat-values span{font-size:12px}
.stat-values b{font-size:23px;font-variant-numeric:tabular-nums}
.stat-bar{height:6px}
.event-text b{font-size:12px}
.event-text small{font-size:10px}
.event-minute{font-size:16px}
.match-facts{font-size:11px}
.detail-source{font-size:10px;padding:13px 23px}
.detail-supplement{display:none}
.h2h-teams{font-size:12px;grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr)}
.h2h-teams b{font-size:22px}
.standing-header{padding:17px}
.standings-table{font-size:12px}
.standings-table th{font-size:11px}
.standings-table .standing-team{font-size:12px}
.standings-table td{font-variant-numeric:tabular-nums;padding:11px 6px}
.standings-table td:last-child{font:700 18px Condensed}
@media(max-width:1030px){
  .layout{display:block;padding:14px 20px 22px}
  .sidebar{display:none}
  .mobile-nav{display:flex;max-width:1240px;margin:0 auto;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:3px 18px;background:#fff;gap:10px}
  .mobile-nav button{flex:0 1 150px;min-height:38px;font-size:12px;border-radius:5px;color:#697965}
  .mobile-nav button.active{color:#26452e;background:#eaf0df;font-weight:600}
  .mobile-league-select{display:block;padding:0;flex:0 1 200px;min-width:0}
  .mobile-league-select select{width:100%;height:35px;min-width:0;border-radius:5px;padding:6px;font-size:11px;background:#f7f9f4}
  .board-tools .search{min-width:0}
}
@media(max-width:760px){
  .masthead-inner{min-height:49px;padding:0 13px;gap:10px}
  .logo{width:87px}
  .brand-lockup{gap:9px}
  .brand-name{font-size:17px}
  .brand-divider{height:20px}
  .top-nav{margin-left:auto;gap:0}
  .top-nav a{font-size:11px}
  .header-right{margin-left:7px}
  .language{font-size:11px}
  .mobile-nav{padding:3px 8px;gap:4px;min-height:43px}
  .mobile-nav button{flex:1;font-size:11px;min-height:35px;padding:7px 3px;gap:5px}
  .mobile-nav button svg{width:15px;height:15px}
  .mobile-nav button .nav-count{font-size:10px}
  .layout{padding:9px 8px 18px}
  .scoreboard-title{padding:7px 10px;min-height:39px;gap:7px}
  .scoreboard-title h1{font-size:19px}
  .scoreboard-title .title-count{font-size:10px}
  .sync{font-size:9px;gap:4px}
  .sync .icon-button{width:25px;height:27px}
  .sync.stale>span:nth-child(2){max-width:90px}
  .sync-dot{width:5px;height:5px}
  .board-tools{padding:0 9px 8px;gap:6px}
  .search{height:32px;padding:0 7px;gap:6px}
  .search input{font-size:11px}
  .search svg{width:14px}
  .mobile-league-select{flex:0 1 124px}
  .mobile-league-select select{font-size:10px;height:32px;padding:5px}
  .density-toggle{display:none}
  .date-bar{padding:3px 5px;gap:2px}
  .date-days{grid-template-columns:repeat(3,minmax(0,1fr))}
  .date-button:first-child,.date-button:last-child{display:none}
  .date-button{font-size:9px;min-height:38px;padding:4px 2px;gap:2px}
  .date-button b{font-size:14px}
  .date-bar>.icon-button{width:25px;height:32px}
  .calendar-wrap{width:28px;height:32px;margin-left:3px}
  .calendar-wrap svg{width:16px;margin:7px 6px}
  .filter-bar{padding:4px 6px;gap:3px;min-height:41px;flex-wrap:wrap}
  .filter-button{font-size:10px;min-height:31px;padding:5px 7px;gap:5px}
  .filter-button b{font-size:12px}
  .filter-bar .timezone{display:none}
  .clear-filters{font-size:9px;padding:5px 4px}
  .list-columns{display:none}
  .league-heading{padding:6px 11px;min-height:32px;gap:7px}
  .league-heading .league-name{font-size:11px}
  .league-heading small{font-size:9px}
  .league-table-link{min-height:20px}
  .match-row,.match-row.compact{padding:0 6px 0 11px;min-height:68px}
  .match-open,.match-row.compact .match-open{grid-template-columns:43px minmax(0,1fr) 27px;grid-template-rows:minmax(21px,auto) minmax(21px,auto);gap:4px 8px;padding:10px 0}
  .match-status{grid-column:1;grid-row:1 / 3;font-size:15px;line-height:18px;gap:3px}
  .match-status small{font-size:9px}
  .team-line{font-size:12px;gap:7px;line-height:21px}
  .home-team{grid-column:2;grid-row:1;justify-content:flex-start;text-align:left}
  .away-team{grid-column:2;grid-row:2}
  .home-team .team-logo,.home-team .team-logo-fallback{order:0}
  .team-logo,.team-logo-fallback{width:19px;height:19px}
  .score-pair,.match-row.compact .score-pair{grid-column:3;grid-row:1 / 3;flex-direction:column;gap:4px;font-size:23px;line-height:21px}
  .score-pair .score-divider{display:none}
  .save-match{width:28px;height:44px;margin-left:4px}
  .save-match svg{width:16px}
  .board-foot{padding:9px 11px;font-size:9px;line-height:1.7}
  .page-footer{padding:0 13px 18px;gap:8px;font-size:9px}
  .page-footer .footer-right{width:auto;margin-left:auto}
  .page-footer .footer-brand{font-size:13px}
  .detail-column{width:100%;box-shadow:none}
  .detail-kicker{padding:9px 17px}
  .detail-hero{padding:22px 18px 17px}
  .detail-score{grid-template-columns:minmax(0,1fr) 102px minmax(0,1fr)}
  .detail-score-center strong{font-size:48px}
  .detail-team b{font-size:12px}
  .detail-tabs{padding:0 10px}
  .detail-tab{font-size:11px;padding:13px 5px}
  .detail-body{padding:21px 20px}
  .standings-table .standing-team{font-size:10px}
  .standings-table td{font-size:11px;padding:10px 3px}
  .standings-table th{font-size:9px}
  .standings-table td:first-child{padding-left:9px}
  .standings-table td:last-child{font-size:17px;padding-right:9px}
  .standing-header h2{font-size:22px}
}
@media(max-width:360px){
  .scoreboard-title h1{font-size:18px}
  .scoreboard-title .title-count{font-size:9px}
  .sync{font-size:8px}
  .sync-dot{display:none}
  .filter-button{font-size:9px;padding-left:6px;padding-right:6px;gap:4px}
  .mobile-nav button{font-size:10px;gap:4px}
  .mobile-league-select{flex-basis:111px}
  .match-open,.match-row.compact .match-open{grid-template-columns:39px minmax(0,1fr) 25px;column-gap:6px}
  .team-line{font-size:11px;gap:6px}
  .save-match{width:25px}
  .page-footer{flex-wrap:wrap}
  .page-footer .footer-right{width:100%;margin-left:0}
}
