:root{--bg:#f3f4f6;--card:#fff;--text:#111827;--muted:#6b7280;--border:#d1d5db;--accent:#111827;--accent-text:#fff;--danger:#b91c1c;--green:#00c853}body.high-contrast{--bg:#000;--card:#000;--text:#fff;--muted:#d1d5db;--border:#fff;--accent:#fff;--accent-text:#000;--danger:#ef4444}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}.container{max-width:1400px;margin:0 auto;padding:16px}h1,h2,h3,p{margin:0}.muted{color:var(--muted)}.topbar{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-bottom:16px}.toolbar,.row,.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row-between{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.08);margin-bottom:16px}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}label{display:block;font-size:14px;margin-bottom:6px}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text)}textarea{min-height:160px;resize:vertical}button{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;padding:10px 14px;cursor:pointer}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}button.small{padding:8px 10px}[data-stat-change]{font-size:1.5em;padding:12px 16px}button:disabled{opacity:.5;cursor:not-allowed}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:14px}.danger-pill{background:var(--danger);color:#fff;border-color:var(--danger)}.hidden{display:none!important}.clock{font-size:46px;font-weight:800;margin:8px 0}.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.score-box{border:1px solid var(--border);border-radius:14px;padding:12px;text-align:center}.score-box .value{font-size:36px;font-weight:700;margin:10px 0}.logo{width:128px;height:128px;object-fit:contain;border:1px solid var(--border);border-radius:10px;background:var(--card)}.tabs-header{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tab-btn.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.tab-panel{display:none}.tab-panel.active{display:block}table{width:100%;border-collapse:collapse;min-width:720px}th,td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left;vertical-align:top}.divider-right{border-right:2px solid var(--border)}.center{text-align:center}.timer-card{position:sticky;top:0;z-index:10}.error-box{margin-top:10px;padding:10px;border:1px solid var(--danger);border-radius:10px;color:var(--danger);background:rgba(185,28,28,.08);font-weight:700}.success-box{margin-top:10px;padding:10px;border:1px solid var(--green);border-radius:10px;color:#087f23;background:rgba(0,200,83,.08);font-weight:700}body.high-contrast .error-box{background:#220000;color:#ffb4b4}body.high-contrast .success-box{color:#94ffb8;background:#00220c}.upload-button,.button-link{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;padding:10px 14px;cursor:pointer;text-decoration:none}.upload-button input{display:none}.upload-button:hover,.button-link:hover{filter:brightness(.96)}.teamlist-preview{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap}body.high-contrast .upload-button:hover,body.high-contrast .button-link:hover{filter:brightness(1.2)}@media(max-width:700px){.topbar{grid-template-columns:1fr}.score-grid{grid-template-columns:1fr}.clock{font-size:34px}}


/* Interface update: cleaner top controls, larger tabs, score overlay */
.topbar{grid-template-columns:minmax(0,1fr) auto}.toolbar{justify-content:flex-end}.toolbar .pill{white-space:nowrap}.toolbar input[type="checkbox"]{width:auto;min-width:18px;min-height:18px}.score-overlay{display:grid;grid-template-columns:160px 1fr 160px;align-items:center;gap:18px;text-align:center}.overlay-logo-slot{min-height:128px;display:flex;align-items:center;justify-content:center}.overlay-logo{width:128px;height:128px;object-fit:contain;border:1px solid var(--border);border-radius:12px;background:var(--card)}.overlay-logo-placeholder{width:128px;height:128px;border:1px dashed var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.overlay-center{display:flex;flex-direction:column;align-items:center}.overlay-quarter-row{justify-content:center}.overlay-buttons{justify-content:center}.tab-btn{font-size:1.25rem;font-weight:700;padding:16px 26px;min-width:190px}.custom-label-input{font-weight:700;text-align:center;font-size:1rem;margin-bottom:10px}.stat-title{font-weight:700;text-align:center;margin-bottom:10px}.summary-highlight{background:rgba(0,200,83,.18);font-weight:800}.summary-highlight-total{background:rgba(0,200,83,.26);font-weight:900}.team-logo-upload-row{margin-top:12px}.team-logo-upload-row.hidden{display:none}.team-card-logo-row{align-items:center;margin-top:14px}.team-card-logo-row .logo{width:128px;height:128px}.logo{width:128px;height:128px}@media(max-width:850px){.topbar{grid-template-columns:1fr}.toolbar{justify-content:flex-start}.score-overlay{grid-template-columns:110px 1fr 110px;gap:10px}.overlay-logo,.overlay-logo-placeholder{width:96px;height:96px}.tab-btn{min-width:0;flex:1;font-size:1.1rem;padding:14px 18px}}@media(max-width:560px){.score-overlay{grid-template-columns:1fr;}.overlay-logo-slot{min-height:auto}.overlay-logo,.overlay-logo-placeholder{width:90px;height:90px}.tabs-header{display:grid;grid-template-columns:1fr}.tab-btn{width:100%}}

.clock.time-on{color:var(--green);text-shadow:0 0 10px rgba(0,200,83,.25)}

/* Match report */
.match-report{display:grid;gap:16px}.report-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.08)}.report-title-card h2{font-size:2rem;margin-bottom:12px}.report-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.report-scoreboard{display:grid;grid-template-columns:160px 1fr 160px;gap:18px;align-items:center}.report-score-team{text-align:center;display:grid;justify-items:center;gap:10px}.report-logo{width:128px;height:128px;object-fit:contain;border:1px solid var(--border);border-radius:14px;background:#fff}.report-logo-placeholder{display:flex;align-items:center;justify-content:center;color:#111827}.report-score-table-wrap{overflow:auto}.report-score-table{min-width:760px}.report-final-line{text-align:center;font-weight:800;font-size:1.1rem;margin-top:12px}.report-kpi{font-size:1.25rem;margin-top:12px}.report-scoreworm-wrap{overflow:auto}.statbar-list{display:grid;gap:18px;margin-top:14px}.statbar-stat{display:grid;gap:8px}.statbar-stat h4{margin:0}.statbar-row{display:grid;grid-template-columns:60px minmax(280px,1fr) 56px;gap:10px;align-items:center}.statbar-team{font-weight:800}.statbar-track{height:34px;border:1px solid var(--border);border-radius:999px;overflow:hidden;display:flex;background:rgba(107,114,128,.08)}.statbar-segment{min-width:0;height:100%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.86rem;white-space:nowrap;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.35)}.statbar-total{font-weight:900;font-size:1.1rem}.home-q1{background:#60a5fa}.home-q2{background:#3b82f6}.home-q3{background:#2563eb}.home-q4{background:#1d4ed8}.away-q1{background:#fdba74}.away-q2{background:#fb923c}.away-q3{background:#f97316}.away-q4{background:#ea580c}.best-player-list{margin:12px 0 0 0;padding-left:22px;line-height:1.8;font-weight:700}.weather-chip-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.weather-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:800}.weather-chip input{width:auto}.weather-chip.selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.report-notes{margin-top:12px;min-height:220px}.report-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.report-actions button{font-size:1.05rem;font-weight:800;padding:14px 18px}@media(max-width:850px){.report-scoreboard{grid-template-columns:1fr}.report-score-team{grid-template-columns:auto 1fr;text-align:left;justify-items:start}.statbar-row{grid-template-columns:52px minmax(180px,1fr) 44px}.statbar-segment{font-size:.72rem}.report-actions{justify-content:stretch}.report-actions button{flex:1}}
@media print{body{background:#fff!important;color:#111827!important}.report-actions,.topbar,.tabs-header,.timer-card,.team-grid,.field-grid{display:none!important}.tab-panel{display:block!important}.match-report{gap:10px}.report-card{break-inside:avoid;box-shadow:none}.report-logo{background:#fff}.container{max-width:1200px}.weather-chip{border-color:#111827}.weather-chip:not(.selected){display:none}}

.saved-indicator{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:var(--green);white-space:nowrap}.saved-indicator.saving{color:#f59e0b}
.scoreworm-fill-note{font-size:.85rem;color:var(--muted)}

.best-team-toggle{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--border);border-radius:999px;padding:6px;margin-top:12px;background:rgba(107,114,128,.08)}.best-team-toggle .toggle-option{margin:0;display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 18px;cursor:pointer;font-weight:800}.best-team-toggle .toggle-option input{width:auto}.best-team-toggle .toggle-option.active{background:var(--accent);color:var(--accent-text)}

.logo-wrap{position:relative;display:inline-flex}.logo-delete{position:absolute;top:-10px;right:-10px;width:34px;height:34px;border-radius:999px;background:var(--danger);color:#fff;border:2px solid var(--card);font-size:24px;line-height:1;padding:0;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.25)}.logo-delete:hover{filter:brightness(.95)}


/* Segmented toggle controls and match detail sizing */
.hidden-control{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important}
.seg-control{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:6px;background:rgba(107,114,128,.08);white-space:nowrap}
.seg-label{font-weight:800;padding:0 6px;color:var(--muted)}
.seg-btn{border:0;border-radius:999px;padding:10px 16px;font-weight:800;background:transparent;color:var(--text)}
.seg-btn.active,.seg-btn[aria-pressed="true"]{background:var(--accent);color:var(--accent-text)}
.theme-control{min-height:44px}
.time-control{width:100%;justify-content:center}
.match-details-grid{grid-template-columns:minmax(140px,1.05fr) minmax(115px,.9fr) minmax(175px,1fr) minmax(80px,.45fr) minmax(150px,1fr) minmax(105px,.5fr) minmax(155px,.85fr);align-items:end}
.narrow-field input{max-width:95px}
.quarter-field input{max-width:110px}
.date-field input{min-width:165px}
@media(max-width:1050px){.match-details-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.narrow-field input,.quarter-field input{max-width:none}.date-field input{min-width:0}.time-control{width:auto}}
@media(max-width:700px){.seg-control{width:100%;justify-content:center}.theme-control{justify-content:flex-start}.seg-label{margin-right:auto}.toolbar .theme-control{width:100%}}

/* Interface refinement: compact toggles, shorter Grade, equal stat cards */
.toolbar{align-items:center;gap:10px}
.toolbar .seg-control,.time-control,.best-team-toggle{min-height:42px;padding:4px;border-radius:999px}
.toolbar .seg-btn,.time-control .seg-btn,.best-team-toggle .toggle-option{min-height:32px;padding:6px 12px;font-size:.92rem;line-height:1}
.toolbar .theme-control{min-height:42px}
.toolbar button#resetBtn{min-height:42px;padding:9px 14px}
.match-details-grid{grid-template-columns:minmax(140px,1.05fr) minmax(90px,.63fr) minmax(180px,1.1fr) minmax(75px,.38fr) minmax(150px,1fr) minmax(95px,.42fr) minmax(145px,.72fr)}
.grade-field input{max-width:70%}
.round-field input{max-width:85px}
.quarter-field input{max-width:92px}
.time-control{height:42px;width:auto;align-items:center}
.stats-grid{align-items:stretch}
.stat-card{padding:12px;min-height:178px;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}
.stat-title,.custom-label-input{height:42px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.custom-label-input{display:block;text-align:center;width:100%;font-weight:800}
.stat-value{font-size:34px;font-weight:800;text-align:center;margin:8px 0;line-height:1.1}
.stat-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;margin-top:auto}
.stat-btn{min-height:52px;font-size:1.45rem;font-weight:900;padding:10px 14px;border-radius:12px}
.weather-text-input{margin-top:12px;width:100%;font-weight:700}
@media(max-width:1050px){.grade-field input,.round-field input,.quarter-field input{max-width:none}.match-details-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.toolbar .seg-control,.time-control,.best-team-toggle{width:auto}}
@media(max-width:700px){.toolbar .seg-control{width:auto}.stat-card{min-height:160px}.stat-btn{min-height:48px}}


/* Requested report and overlay refinements */
.score-overlay{
  grid-template-columns:150px 80px 1fr 80px 150px;
}
.overlay-score{
  font-size:2.4rem;
  font-weight:900;
  text-align:center;
  line-height:1;
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px 10px;
  background:rgba(107,114,128,.08);
}
.report-goal-scorers table{
  table-layout:fixed;
  min-width:0;
}
.report-goal-scorers th:first-child,
.report-goal-scorers td:first-child{
  width:50%;
  max-width:50%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-goal-scorers th:last-child,
.report-goal-scorers td:last-child{
  width:80px;
  white-space:nowrap;
  text-align:right;
}
.weather-row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:12px;
}
.weather-row .weather-text-input{
  flex:1 1 320px;
  margin-top:0;
}
@media(max-width:850px){
  .score-overlay{grid-template-columns:90px 58px 1fr 58px 90px}
  .overlay-score{font-size:1.7rem;padding:10px 6px}
}
@media(max-width:560px){
  .score-overlay{grid-template-columns:1fr 1fr;grid-template-areas:"home away" "homescore awayscore" "center center"}
  #timerHomeLogo{grid-area:home}
  #timerAwayLogo{grid-area:away}
  #timerHomeScore{grid-area:homescore}
  #timerAwayScore{grid-area:awayscore}
  .overlay-center{grid-area:center}
}
