.overview-shell{min-height:100svh;padding:16px 32px;display:flex;flex-direction:column;gap:14px}
.overview-header{display:flex;align-items:center;justify-content:space-between;gap:24px}
.overview-header .club-logo{width:72px}
.overview-header h1{font-size:clamp(24px,2.2vw,40px);text-align:right}
.overview-courts{flex:1;display:grid;grid-auto-rows:minmax(0,1fr);gap:14px}
.overview-court{min-width:0;padding:14px 24px;background:var(--color-surface);border-radius:var(--radius-panel);display:flex;flex-direction:column}
.overview-court-header{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,2fr) auto auto;align-items:center;gap:20px}
.overview-court-header h2{font-size:clamp(20px,1.7vw,32px);line-height:1.2;overflow-wrap:anywhere}
.overview-court-header h2 a{color:var(--color-accent);text-decoration:none}
.overview-court-header h2 a:hover{text-decoration:underline}
.overview-match-label{font-size:clamp(18px,1.5vw,28px);font-weight:700;overflow-wrap:anywhere}
.overview-court .match-status{font-size:clamp(14px,1.1vw,20px)}
.overview-court .connection{font-size:13px}
.overview-court .board-wrap{margin-top:8px}
.overview-court .scoreboard{--team-icon-size:clamp(28px,2.5vw,44px);height:100%}
.overview-court .scoreboard col.team-col{width:58%}
.overview-court .scoreboard thead th{height:auto;padding:0 8px;font-size:clamp(13px,1vw,18px)}
.overview-court .scoreboard thead th span{display:inline;min-height:0;font-size:11px;margin-left:8px}
.overview-court .scoreboard tbody tr{height:auto}
.overview-court .scoreboard tbody th,.overview-court .scoreboard tbody td{padding:3px 8px}
.overview-court .scoreboard tbody th{padding-left:0}
.overview-court .team-code{display:none}
.overview-court .player-names{display:block;flex:1;font-size:clamp(20px,2vw,36px);padding-right:0}
.overview-court .player-names>span{display:inline}
.overview-court .player-names>span:not(:last-child)::after{content:" / ";white-space:pre}
.overview-court .scoreboard td{font-size:clamp(32px,3vw,56px)}
.overview-court .scoreboard td.active{font-size:clamp(34px,3.2vw,64px);background:var(--color-bg)}
.overview-court .empty-state{min-height:100px;gap:12px;flex-direction:row;font-size:clamp(20px,2vw,32px)}
.overview-court .court-mark{width:60px;height:40px;flex-shrink:0}
.overview-court .network-notice{margin:8px 0 0;padding:8px 12px;font-size:14px}
.overview-shell .score-footer{margin:0;padding:0;font-size:12px}
@media(min-width:1000px) and (min-height:850px){
  .overview-shell{padding:24px 40px;gap:20px}
  .overview-courts{gap:20px}
  .overview-court{padding:18px 28px}
  .overview-court .scoreboard tbody th,.overview-court .scoreboard tbody td{padding-top:8px;padding-bottom:8px}
}
@media(max-width:799px){
  .overview-shell{padding:16px;gap:16px}
  .overview-header{flex-wrap:wrap;gap:16px}
  .overview-header h1{font-size:24px;text-align:left}
  .overview-header .brand{font-size:18px}
  .overview-court{padding:16px}
  .overview-court-header{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
  .overview-match-label{grid-row:2;grid-column:1/-1}
  .overview-court .connection{grid-row:1;grid-column:2;font-size:12px}
  .overview-court .match-status{grid-row:3;grid-column:1/-1;text-align:left;max-width:none}
  .overview-court .scoreboard col.team-col{width:55%}
  .overview-court .player-names{font-size:16px}
  .overview-court .team-player-row{gap:8px}
  .overview-court .scoreboard{--team-icon-size:24px}
  .overview-court .scoreboard thead th{font-size:12px;padding:4px 2px}
  .overview-court .scoreboard thead th span{display:block;font-size:10px;min-height:15px;margin:0}
  .overview-court .scoreboard td{font-size:26px}
  .overview-court .scoreboard td.active{font-size:34px}
  .overview-court .scoreboard tbody td{padding:10px 2px}
  .overview-court .empty-state{padding:20px 0;font-size:18px}
  .overview-shell .score-footer{flex-wrap:wrap;gap:4px}
}
