/* ============================================================
   NIGHTWATCH — scoreboard.html tactical skin (loads LAST)
   npn-tactical.css already themes topbar/panels/buttons/boot.
   This file handles the ballpark-specific components.
   ============================================================ */

.score-page { padding: 16px; }

/* ---- ballpark shell → tactical console frame ---- */
.board-shell {
  background: var(--tac-surface-1s) !important;
  border: 1px solid var(--tac-line-strong) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 16px !important;
  position: relative;
}
.board-shell::before, .board-shell::after {
  content: "";
  position: absolute;
  width: 8px; height: 8px;
  pointer-events: none;
}
.board-shell::before {
  top: -1px; left: -1px;
  border-top: 1px solid var(--tac-green-dim);
  border-left: 1px solid var(--tac-green-dim);
}
.board-shell::after {
  bottom: -1px; right: -1px;
  border-bottom: 1px solid var(--tac-green-dim);
  border-right: 1px solid var(--tac-green-dim);
}

.stadium-title {
  font-family: var(--tac-font-display) !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  color: var(--tac-text-bright) !important;
}

/* ---- pills → status chips ---- */
.pill {
  border-radius: 2px !important;
  font: 600 10px var(--tac-font-display) !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid currentColor !important;
  background: var(--tac-bg-deep) !important;
}
.pill.yes  { color: var(--tac-green) !important; }
.pill.info { color: var(--tac-blue) !important; }
.pill.warn { color: var(--tac-amber) !important; }
.pill.bad  { color: var(--tac-red) !important; }

/* ---- linescore table ---- */
.scoreboard-table-wrap {
  border: 1px solid var(--tac-line-strong) !important;
  background: var(--tac-bg-deep) !important;
  border-radius: 0 !important;
}
.linescore th, .linescore td {
  border: 1px solid var(--tac-line) !important;
  font-family: var(--tac-font-mono);
}
.linescore thead th {
  background: var(--tac-surface-2) !important;
  color: var(--tac-muted) !important;
  font: 600 11px var(--tac-font-display) !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.team-col {
  background: var(--tac-surface-1s) !important;
  color: var(--tac-text-bright) !important;
  font-family: var(--tac-font-display) !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.team-meta {
  color: var(--tac-muted) !important;
  font-family: var(--tac-font-mono);
  text-transform: none;
  letter-spacing: 0;
}
.digit {
  font-family: var(--tac-font-mono) !important;
  font-variant-numeric: tabular-nums;
  color: var(--tac-green) !important;
  text-shadow: none !important;
  background: var(--tac-inset) !important;
}
/* R / H / E summary columns pop amber */
.linescore td:nth-last-child(-n+3).digit { color: var(--tac-amber) !important; }

/* ---- summary + card grids (npn-tactical.css already styles .card) ---- */
.summary-grid .card,
.card {
  background: var(--tac-inset) !important;
  border: 1px solid var(--tac-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.card .label {
  color: var(--tac-muted) !important;
  font: 500 10px var(--tac-font-display) !important;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.card .value {
  font-family: var(--tac-font-mono) !important;
  font-variant-numeric: tabular-nums;
  color: var(--tac-green) !important;
}

/* ---- data tables inside panels ---- */
.panel-body table { width: 100%; border-collapse: collapse; }
.panel-body th {
  color: var(--tac-muted) !important;
  font: 600 10px var(--tac-font-display) !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: left;
  border-bottom: 1px solid var(--tac-line-strong);
  padding: 6px 8px;
}
.panel-body td {
  font: 400 11px var(--tac-font-mono) !important;
  color: var(--tac-text);
  border-bottom: 1px solid var(--tac-line);
  padding: 6px 8px;
}
.panel-body code { color: var(--tac-dim); background: transparent; font-size: 9px; }
#status { font: 400 10px var(--tac-font-mono) !important; color: var(--tac-muted); }
#status code { color: var(--tac-text); background: transparent; }

/* ---- classification bar + clock ---- */
.tac-class-bar {
  height: 18px;
  display: grid;
  place-items: center;
  background: var(--tac-class-bg);
  color: var(--tac-class-text);
  font: 600 10px var(--tac-font-display);
  letter-spacing: .22em;
  text-transform: uppercase;
  user-select: none;
}
.tac-sb-clock {
  display: grid;
  gap: 1px;
  text-align: right;
  margin-left: 8px;
}
.tac-sb-clock .cap {
  font: 500 9px var(--tac-font-display);
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--tac-muted);
}
.tac-sb-clock .val {
  font: 600 14px var(--tac-font-mono);
  font-variant-numeric: tabular-nums;
  color: var(--tac-green);
}

@media (max-width: 900px) {
  .tac-class-bar { height: 14px; font-size: 8px; letter-spacing: .14em; }
}

/* ---- diagnostics page specifics ---- */
.diag-grid { display: grid; gap: 8px; }
.pill.no { color: var(--tac-dim) !important; }
.panel-body details {
  border: 1px solid var(--tac-line) !important;
  background: var(--tac-inset) !important;
  padding: 6px 8px;
}
.panel-body summary {
  cursor: pointer;
  font: 600 10px var(--tac-font-display) !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tac-muted) !important;
}
.panel-body pre, #watchlist, #lastMatch, #prodTotals {
  font: 400 10px var(--tac-font-mono) !important;
  color: var(--tac-text) !important;
  background: var(--tac-inset) !important;
  border: 1px solid var(--tac-line) !important;
  border-radius: 0 !important;
  padding: 8px 10px;
  white-space: pre-wrap;
  word-break: break-word;
}
#watchlist code, #lastMatch code, #prodTotals code, .panel-body pre code {
  color: var(--tac-green) !important;
  background: transparent !important;
}
#watchlist b, #lastMatch b { color: var(--tac-text-bright) !important; font-family: var(--tac-font-display); }
