/* ============================================================
   CourtCast Referee — approved light mode.
   Colour and surface overrides only: the 1850 x 850 geometry,
   control positions, and the dark navy header are unchanged.
   ============================================================ */

:root {
  --lt-page: #eaf3fb;
  --lt-surface: #ffffff;
  --lt-surface-soft: #f5f9fd;
  --lt-line: #d6e4f2;
  --lt-ink: #0b1f5c;
  --lt-ink-soft: #1f3a6e;
  --lt-muted: #5d7391;
  --lt-blue-1: #1f8dff;
  --lt-blue-2: #0565e6;
  --lt-shadow: 0 6px 18px rgba(18, 61, 120, 0.10);
  --lt-shadow-soft: 0 2px 8px rgba(18, 61, 120, 0.08);
  color-scheme: light;
  background: var(--lt-page);
}

html,
body,
.referee-viewport {
  background: var(--lt-page) !important;
}

.referee-canvas {
  background: var(--lt-page);
}

/* Score strip ------------------------------------------------ */
.score-strip {
  background: transparent;
}

.games-card {
  border: 1px solid var(--lt-line);
  background: var(--lt-surface);
  box-shadow: var(--lt-shadow);
}

.games-card__value {
  color: var(--lt-ink);
}

.games-card__label {
  color: var(--lt-ink-soft);
}

.spoken-score-card {
  background: linear-gradient(180deg, var(--lt-blue-1), var(--lt-blue-2));
  box-shadow: 0 10px 26px rgba(5, 101, 230, 0.28);
}

.spoken-score,
.spoken-score-labels {
  color: #ffffff;
}

.match-clock {
  border: 1px solid var(--lt-line);
  background: var(--lt-surface);
  box-shadow: var(--lt-shadow-soft);
}

.match-clock__label {
  color: var(--lt-muted);
}

.match-clock__value {
  color: var(--lt-ink);
}

[data-referee-phase="paused"] .match-clock__value {
  color: #c98a00;
}

.link-status {
  border: 1px solid var(--lt-line);
  background: var(--lt-surface);
  color: var(--lt-ink-soft);
  box-shadow: var(--lt-shadow-soft);
}

/* Teams and court -------------------------------------------- */
.team-zone {
  background: transparent;
}

.team-zone--left,
.team-zone--right {
  border: 0;
}

.player-card {
  border: 1px solid var(--lt-line);
  border-radius: 18px;
  background: var(--lt-surface);
  box-shadow: var(--lt-shadow);
}

.player-row + .player-row {
  border-top: 2px solid #e3ecf6;
}

.player-name {
  color: var(--lt-ink);
}

.player-badge--band {
  border: 3px solid var(--cc-yellow);
  color: var(--lt-ink);
  background: #fff3c4;
}

.player-badge--no-band {
  border: 3px solid #d3dce8;
  color: var(--lt-ink-soft);
  background: #f1f5fa;
}

.player-badge--server {
  border: 0;
  color: #ffffff;
  background: linear-gradient(180deg, var(--lt-blue-1), var(--lt-blue-2));
  box-shadow: 0 4px 12px rgba(5, 101, 230, 0.3);
}

.court-stage {
  box-shadow: 0 8px 22px rgba(4, 120, 70, 0.22);
}

.court-watermark {
  opacity: 0.5;
}

/* Right rail --------------------------------------------------- */
.match-action-rail {
  border-left: 0;
  background: transparent;
}

.rail-action {
  border: 1px solid var(--lt-line);
  background: var(--lt-surface);
  box-shadow: var(--lt-shadow);
}

.rail-action strong {
  color: var(--lt-ink);
}

.rail-action span {
  color: var(--lt-ink-soft);
}

.rail-action--change svg {
  stroke: var(--lt-ink);
}

.rail-action--pip {
  border-color: var(--lt-line);
  box-shadow: var(--lt-shadow);
}

.rail-action--pip.is-active {
  border-color: transparent;
  background: linear-gradient(180deg, var(--lt-blue-1), var(--lt-blue-2));
  box-shadow: 0 10px 24px rgba(5, 101, 230, 0.32);
}

.rail-action--pip.is-active strong,
.rail-action--pip.is-active span {
  color: #ffffff;
  text-shadow: none;
}

.rail-action--change.is-required {
  border-color: var(--cc-yellow);
  background: #fff8dc;
}

/* Bottom controls --------------------------------------------- */
.referee-controls {
  border-top: 0;
  background: transparent;
}

.control {
  border: 1px solid var(--lt-line);
  background: var(--lt-surface);
  box-shadow: var(--lt-shadow);
}

.control-value,
.control-label {
  color: var(--lt-ink);
}

.control-icon {
  stroke: var(--lt-ink);
}

.stop-glyph,
.more-glyph i {
  background: var(--lt-ink);
}

.control--start {
  border-color: transparent;
  background: linear-gradient(180deg, var(--lt-blue-1), var(--lt-blue-2));
  box-shadow: 0 10px 24px rgba(5, 101, 230, 0.32);
}

.control--start .control-label {
  color: #ffffff;
}

.control--start .control-icon--play {
  fill: #ffffff;
  stroke: none;
}

.control-divider {
  background: linear-gradient(transparent, #7f96b5 12%, #7f96b5 88%, transparent);
}

.control:disabled,
.rail-action:disabled {
  opacity: 0.42;
  filter: none;
}

.demo-toast.is-visible {
  border-color: var(--lt-line);
  background: var(--lt-ink);
  color: #ffffff;
}

/* Light glass modals ------------------------------------------ */
.final-score-overlay {
  background: rgba(234, 243, 251, 0.45);
  -webkit-backdrop-filter: blur(8px) saturate(1.1);
  backdrop-filter: blur(8px) saturate(1.1);
}

.final-score-modal {
  border: 1.5px solid rgba(255, 255, 255, 0.95);
  color: var(--lt-ink);
  background:
    radial-gradient(circle at 15% 95%, rgba(120, 220, 210, 0.22), transparent 40%),
    linear-gradient(160deg, rgba(255, 255, 255, 0.82), rgba(226, 239, 251, 0.78));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 24px 60px rgba(18, 61, 120, 0.22);
  -webkit-backdrop-filter: blur(24px) saturate(1.3);
  backdrop-filter: blur(24px) saturate(1.3);
}

.final-score-close {
  border: 1px solid var(--lt-line);
  color: var(--lt-ink-soft);
  background: rgba(255, 255, 255, 0.85);
  box-shadow: var(--lt-shadow-soft);
  font-weight: 300;
}

.final-score-heading p {
  color: var(--lt-ink-soft);
}

.final-score-meta {
  color: var(--lt-blue-2) !important;
}

.final-score-card {
  border: 1px solid rgba(255, 255, 255, 0.95);
  background: rgba(255, 255, 255, 0.55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.final-score-names {
  color: var(--lt-ink);
  font-weight: 500;
}

.final-score-value {
  border: 1px solid var(--lt-line);
  color: var(--lt-ink);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--lt-shadow-soft);
}

.final-score-divider {
  background: var(--lt-line);
}

.final-score-button--cancel {
  border: 1px solid rgba(255, 255, 255, 0.95);
  color: var(--lt-ink);
  background: rgba(220, 240, 238, 0.85);
  box-shadow: var(--lt-shadow-soft);
}

.final-score-button--save {
  border: 0;
  color: #ffffff;
  background: linear-gradient(180deg, #19b2ff, var(--lt-blue-2));
  box-shadow: 0 10px 24px rgba(5, 101, 230, 0.35);
}

.match-summary-team {
  border: 1px solid var(--lt-line);
  background: rgba(255, 255, 255, 0.75);
  color: var(--lt-ink);
}

.match-summary-team.is-winner {
  border-color: var(--cc-yellow);
  background: #fff8dc;
}

.match-summary-team small,
.match-summary-games th {
  color: var(--lt-muted);
}

.match-summary-games {
  color: var(--lt-ink);
}

.match-summary-games th,
.match-summary-games td {
  border-bottom-color: var(--lt-line);
}

.match-summary-stats div,
.stats-grid div {
  border: 1px solid var(--lt-line);
  background: rgba(255, 255, 255, 0.8);
}

.match-summary-stats dt,
.stats-grid dt {
  color: var(--lt-muted);
}

.match-summary-stats dd,
.stats-grid dd {
  color: var(--lt-ink);
}

/* MORE sheet and setup panel ------------------------------------ */
.demo-sheet__backdrop {
  background: rgba(234, 243, 251, 0.55);
}

.more-sheet,
.setup-card {
  border: 1px solid var(--lt-line);
  color: var(--lt-ink);
  background: var(--lt-surface);
  box-shadow: 0 24px 60px rgba(18, 61, 120, 0.18);
}

.more-sheet__header {
  border-bottom-color: var(--lt-line);
}

.more-tab {
  border: 1px solid var(--lt-line);
  color: var(--lt-ink);
  background: var(--lt-surface-soft);
}

.more-tab.is-active {
  border-color: transparent;
  color: #ffffff;
  background: linear-gradient(180deg, var(--lt-blue-1), var(--lt-blue-2));
}

.sheet-close {
  border: 1px solid var(--lt-line);
  color: var(--lt-ink);
  background: var(--lt-surface-soft);
}

.history-list li {
  border-bottom-color: var(--lt-line);
}

.history-list li span:first-child,
.pane-note,
.setup-header p,
.assignment-item small {
  color: var(--lt-muted);
}

.history-list li.is-reverted {
  color: #9aabbf;
}

.history-list li.is-correction {
  color: #b07800;
}

.setup-panel {
  background: var(--lt-page);
}

.eyebrow {
  color: var(--lt-blue-2);
}

.setup-tile,
.assignment-item {
  border: 1px solid var(--lt-line);
  color: var(--lt-ink);
  background: var(--lt-surface-soft);
}

.setup-tile h3 {
  color: var(--lt-blue-2);
}

.pill-button {
  border: 1px solid var(--lt-line);
  color: var(--lt-ink);
  background: var(--lt-surface);
  box-shadow: var(--lt-shadow-soft);
}

.pill-button--primary,
.pill-button.is-selected {
  border-color: transparent;
  color: #ffffff;
  background: linear-gradient(180deg, var(--lt-blue-1), var(--lt-blue-2));
}

.pill-button--danger {
  border-color: #f2b8b8;
  color: #9b1c1c;
  background: #fdecec;
}

.voice-pack {
  border-color: var(--lt-line);
  background: var(--lt-surface-soft);
}

.voice-pack[data-state="ready"] .voice-pack__title {
  color: #0a7a45;
}

.voice-pack[data-state="unavailable"] .voice-pack__title {
  color: #9a6200;
}
