/* =============================================================
   NFL Rank — Broadcast Bold theme
   Drop-in stylesheet. Pair with the refreshed Jinja templates.
   Uses CSS variables for light/dark theming.
   ============================================================= */

:root,
[data-theme="dark"] {
  --bg:        #0a0e1a;
  --surface:   #111827;
  --surface-2: #1a2030;
  --border:    #1f2937;
  --text:      #ffffff;
  --muted:     #94a3b8;
  --accent:    #ef2b2b;
  --accent-2:  #fbbf24;
  --row-bg:    #0f1420;
  --row-alt:   #0c111c;
  --row-hover: #161d2e;
  --win:       #22c55e;
  --loss:      #ef4444;
}

[data-theme="light"] {
  --bg:        #f1f3f7;
  --surface:   #ffffff;
  --surface-2: #f8fafc;
  --border:    #e2e8f0;
  --text:      #0a0e1a;
  --muted:     #64748b;
  --accent:    #dc2626;
  --accent-2:  #d97706;
  --row-bg:    #ffffff;
  --row-alt:   #f8fafc;
  --row-hover: #f1f5f9;
  --win:       #16a34a;
  --loss:      #dc2626;
}

/* ----- Base ----- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Barlow+Condensed:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,700;1,800;1,900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

html, body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
}

body { padding-top: 64px !important; }

/* ----- Top broadcast ticker ----- */
.broadcast-ticker {
  background: var(--accent);
  color: #fff;
  padding: 6px 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 1.4px;
  font-weight: 700;
  text-transform: uppercase;
}
.broadcast-ticker .live-dot {
  width: 8px; height: 8px; border-radius: 999px; background: #fff;
  display: inline-block; animation: bc-pulse 1.5s infinite;
}
.broadcast-ticker .ticker-end { margin-left: auto; opacity: 0.85; font-weight: 600; }
@keyframes bc-pulse { 0%,100%{opacity:1;} 50%{opacity:0.3;} }

/* ----- Navbar ----- */
.bc-navbar {
  position: fixed; top: 0; left: 0; right: 0;
  background: var(--bg) !important;
  border-bottom: 1px solid var(--border);
  height: 64px;
  display: flex; align-items: center;
  padding: 0 24px;
  z-index: 1030;
  font-family: 'Barlow Condensed', sans-serif;
}
.bc-navbar .bc-brand {
  background: var(--accent); color: #fff !important;
  padding: 8px 14px; font-weight: 900; font-size: 18px;
  letter-spacing: 1px; text-transform: uppercase;
  margin-right: 24px; text-decoration: none;
  display: flex; align-items: center; gap: 8px;
}
.bc-navbar .bc-brand:hover { color: #fff; }
.bc-navbar .bc-nav { display: flex; gap: 0; height: 100%; flex: 1; }
.bc-navbar .bc-nav a {
  color: var(--text);
  padding: 0 18px; height: 64px;
  display: flex; align-items: center;
  font-weight: 700; font-size: 14px; letter-spacing: 1.2px;
  text-transform: uppercase; text-decoration: none;
  border-bottom: 3px solid transparent;
  transition: border-color 0.15s, background 0.15s;
}
.bc-navbar .bc-nav a:hover { background: var(--surface); }
.bc-navbar .bc-nav a.active { border-bottom-color: var(--accent); }
.bc-navbar .bc-right {
  display: flex; align-items: center; gap: 12px;
  margin-left: auto;
}
.bc-navbar .bc-season {
  font-size: 11px; letter-spacing: 2px;
  color: var(--muted); font-weight: 600;
}
/* Global bc-btn — usable anywhere, not just navbar */
.bc-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px;
  background: transparent; color: var(--text);
  border: 1px solid var(--border);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px; letter-spacing: 1px; font-weight: 700;
  text-transform: uppercase; cursor: pointer; text-decoration: none;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  white-space: nowrap;
}
.bc-btn:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
.bc-btn--secondary:hover { background: var(--surface-2); color: var(--text); border-color: var(--border); }
.bc-btn--danger { color: var(--loss); border-color: var(--loss); }
.bc-btn--danger:hover { background: var(--loss); color: #fff; border-color: var(--loss); }

/* Navbar bc-btn inherits global, no overrides needed */
.bc-navbar .bc-btn { padding: 8px 14px; }
.bc-navbar .theme-toggle {
  background: transparent; border: 1px solid var(--border);
  width: 36px; height: 36px; cursor: pointer;
  color: var(--text); font-size: 16px;
  display: flex; align-items: center; justify-content: center;
}

/* ----- Page header strip ----- */
.bc-page-header {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  padding: 20px 24px;
  display: flex; align-items: flex-end; gap: 24px; flex-wrap: wrap;
}
.bc-page-header .eyebrow {
  font-size: 12px; letter-spacing: 3px; color: var(--muted);
  font-weight: 700; text-transform: uppercase; margin-bottom: 4px;
}
.bc-page-header h1 {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 56px; margin: 0;
  letter-spacing: -1px; text-transform: uppercase;
  line-height: 0.95; color: var(--text);
}

/* ----- Week pills ----- */
.bc-weeks { display: flex; gap: 6px; flex-wrap: wrap; margin-left: auto; }
.bc-week-pill {
  padding: 8px 14px; border: 1px solid var(--border);
  background: transparent; color: var(--text);
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
  letter-spacing: 1px; font-size: 13px; text-transform: uppercase;
  cursor: pointer; text-decoration: none;
}
.bc-week-pill:hover { background: var(--surface-2); color: var(--text); }
.bc-week-pill.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.bc-week-pill.current { border-color: var(--accent-2); }
.bc-week-pill.empty { opacity: 0.4; border-style: dashed; }
.bc-week-pill.empty:hover { opacity: 0.7; background: var(--surface-2); color: var(--text); }

/* =============================================================
   RANKINGS table
   ============================================================= */
.bc-rankings { padding-bottom: 48px; }
.bc-rankings .col-headers,
.bc-rankings .row {
  display: grid;
  grid-template-columns: 70px 1fr 70px 80px 80px 70px 70px 70px 60px 36px;
  gap: 10px; align-items: center; padding: 0 24px;
}
.bc-rankings .col-headers {
  padding-top: 12px; padding-bottom: 12px;
  border-bottom: 2px solid var(--accent);
  border-left: 6px solid transparent;
  font-size: 10px; letter-spacing: 1.6px; font-weight: 700;
  color: var(--muted); text-transform: uppercase;
}
.bc-rankings .row {
  background: var(--row-bg); height: 76px;
  border-left: 6px solid var(--row-stripe, var(--accent));
  cursor: pointer; transition: background 0.15s;
  text-decoration: none; color: var(--text);
}
.bc-rankings .row:nth-child(even) { background: var(--row-alt); }
.bc-rankings .row:hover { background: var(--row-hover); }

.bc-rankings .rank {
  font-size: 52px; font-weight: 900; line-height: 1;
  font-family: 'Barlow Condensed', sans-serif;
  font-style: italic; color: var(--text);
}
.bc-rankings .row.top-4 .rank { color: var(--accent-2); }

/* Center numeric columns (3–9: Conf, Pwr, Record, PF, PA, Diff, SOS) */
.bc-rankings .col-headers > div:nth-child(n+3) { text-align: center; }
.bc-rankings .bc-mono,
.bc-rankings .bc-pwr,
.bc-rankings .bc-diff,
.bc-rankings .bc-sos { text-align: center; }

.bc-team {
  display: flex; align-items: center; gap: 14px;
}
.bc-team-logo, .bc-team-badge {
  width: 46px; height: 46px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 15px; color: #fff;
  letter-spacing: 0.5px;
}
.bc-team-logo { object-fit: contain; background: transparent; }
.bc-team-badge {
  background: var(--team-primary, var(--accent));
  border-right: 4px solid var(--team-secondary, var(--accent-2));
}
.bc-team-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 19px; line-height: 1.1;
  letter-spacing: 0.3px; text-transform: uppercase;
}
.bc-team-name .city { color: var(--text); }
.bc-team-name .nick { color: var(--muted); font-weight: 500; }
.bc-team-meta {
  font-size: 11px; color: var(--muted);
  letter-spacing: 1.5px; font-weight: 600;
  text-transform: uppercase; margin-top: 2px;
}

.bc-pwr {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800; font-size: 18px; color: var(--accent-2);
  font-variant-numeric: tabular-nums;
}
.bc-mono {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700; font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.bc-mono.muted { color: var(--muted); font-weight: 500; }
.bc-diff { font-family: 'JetBrains Mono', monospace; font-weight: 700; font-size: 13px; font-variant-numeric: tabular-nums; }
.bc-diff.pos { color: var(--win); }
.bc-diff.neg { color: var(--loss); }
.bc-sos { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.bc-chev { color: var(--muted); font-size: 18px; text-align: right; }

/* Compact density */
[data-density="compact"] .bc-rankings .row { height: 56px; }
[data-density="compact"] .bc-rankings .rank { font-size: 36px; }
[data-density="compact"] .bc-team-logo,
[data-density="compact"] .bc-team-badge { width: 36px; height: 36px; font-size: 13px; }
[data-density="compact"] .bc-team-name { font-size: 16px; }
[data-density="compact"] .bc-team-meta { display: none; }

/* =============================================================
   SCOREBOARD
   ============================================================= */
/* =============================================================
   Clarify Teams page
   ============================================================= */
.bc-clarify-banner {
  background: var(--surface);
  border-left: 4px solid var(--accent-2);
  padding: 14px 18px;
  font-size: 13px; color: var(--text);
  margin-bottom: 24px;
}

.bc-clarify-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: 3px solid var(--accent);
  margin-bottom: 16px;
}
.bc-clarify-card__head {
  padding: 14px 20px;
  border-bottom: 1px solid var(--border);
  display: flex; align-items: baseline; gap: 12px;
}
.bc-clarify-card__label {
  font-size: 10px; letter-spacing: 2px; font-weight: 700;
  text-transform: uppercase; color: var(--accent);
}
.bc-clarify-card__team {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 22px; letter-spacing: 0.3px;
  text-transform: uppercase; color: var(--text);
}
.bc-clarify-card__context {
  padding: 10px 20px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
}
.bc-clarify-card__context-label {
  font-size: 10px; letter-spacing: 1.5px; font-weight: 700;
  text-transform: uppercase; color: var(--muted);
  display: block; margin-bottom: 4px;
}
.bc-clarify-card__context-line {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px; color: var(--muted); line-height: 1.6;
}

.bc-clarify-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: var(--border);
}
@media (max-width: 600px) {
  .bc-clarify-options { grid-template-columns: 1fr; }
}

.bc-clarify-opt {
  background: var(--surface);
  padding: 16px 18px;
  cursor: pointer;
  display: flex; gap: 12px; align-items: flex-start;
  transition: background 0.15s;
}
.bc-clarify-opt:hover { background: var(--row-hover); }
.bc-clarify-opt input[type="radio"] { margin-top: 3px; flex-shrink: 0; accent-color: var(--accent); }
.bc-clarify-opt__title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 15px; letter-spacing: 0.5px;
  text-transform: uppercase; color: var(--text); margin-bottom: 3px;
}
.bc-clarify-opt__desc {
  font-size: 11px; color: var(--muted); line-height: 1.5;
}

.bc-clarify-select,
.bc-clarify-input {
  width: 100%;
  background: var(--surface-2) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  padding: 8px 10px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  border-radius: 0;
}
.bc-clarify-select:focus,
.bc-clarify-input:focus {
  outline: none;
  border-color: var(--accent-2) !important;
  box-shadow: 0 0 0 2px rgba(251,191,36,0.2);
}
.bc-clarify-input::placeholder { color: var(--muted); }
.bc-clarify-select option { background: var(--surface-2); color: var(--text); }

.bc-clarify-preview {
  padding: 10px 20px;
  font-size: 12px; letter-spacing: 0.5px;
  color: var(--muted);
  border-top: 1px solid var(--border);
  font-family: 'JetBrains Mono', monospace;
}
.bc-clarify-preview--set { color: var(--win); }

.bc-clarify-help {
  margin-top: 32px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: 3px solid var(--muted);
  padding: 18px 20px;
}
.bc-clarify-help__title {
  font-size: 10px; letter-spacing: 2px; font-weight: 700;
  text-transform: uppercase; color: var(--muted);
  margin-bottom: 14px;
}
.bc-clarify-help__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
@media (max-width: 600px) {
  .bc-clarify-help__grid { grid-template-columns: 1fr; }
}
.bc-clarify-help__label {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 14px; letter-spacing: 0.5px;
  text-transform: uppercase; color: var(--accent-2);
  margin-bottom: 6px;
}
.bc-clarify-help__text { font-size: 12px; color: var(--muted); line-height: 1.6; }

/* Admin action bar — scoreboard */
.bc-admin-bar {
  padding: 10px 24px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
  display: flex; align-items: center; gap: 8px;
}
.bc-admin-bar__label {
  margin-left: auto;
  font-size: 10px; letter-spacing: 2px; font-weight: 700;
  text-transform: uppercase; color: var(--accent);
}

/* Scheduled game delete button */
.bc-del-btn {
  background: transparent; color: var(--loss);
  border: 1px solid var(--loss);
  padding: 2px 8px; font-size: 10px; font-weight: 800;
  letter-spacing: 1.5px; text-transform: uppercase;
  cursor: pointer; font-family: 'Barlow Condensed', sans-serif;
  transition: background 0.15s, color 0.15s;
}
.bc-del-btn:hover { background: var(--loss); color: #fff; }

.bc-scoreboard { padding: 24px; }
.bc-date-header {
  display: flex; align-items: center; gap: 18px;
  margin: 32px 0 16px;
}
.bc-date-header:first-child { margin-top: 0; }
.bc-date-header hr {
  flex: 1; border: 0; border-top: 1px solid var(--border);
}
.bc-date-header h3 {
  margin: 0; font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800; font-size: 18px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--muted);
}

.bc-game-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 14px;
}

.bc-game-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: 3px solid var(--accent);
  position: relative;
  overflow: hidden;
}
.bc-game-card.scheduled { border-top-color: var(--muted); }

/* Status badge — completed games only */
.bc-game-card .bc-game-status {
  position: absolute; top: 10px; right: 12px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800; font-size: 11px; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--accent);
}

/* Scheduled card header — replaces the absolute badge */
.bc-game-card .bc-sched-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 7px 16px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800; font-size: 11px; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--muted);
}
.bc-game-card .bc-sched-time {
  font-size: 14px; font-weight: 700; color: var(--text); letter-spacing: 0.5px;
}

/* Completed game rows: logo | name | score */
.bc-game-card .bc-team-row {
  display: grid; grid-template-columns: 36px 1fr 60px;
  gap: 12px; align-items: center;
  padding: 14px 16px;
  border-left: 4px solid var(--team-stripe, transparent);
}
/* Scheduled game rows: logo | name (no score column) */
.bc-game-card.scheduled .bc-team-row {
  grid-template-columns: 36px 1fr;
}
.bc-game-card .bc-team-row + .bc-team-row { border-top: 1px solid var(--border); }
.bc-game-card .bc-team-row.loser { opacity: 0.5; }
.bc-game-card .bc-team-row.loser .bc-score { color: var(--muted); }
.bc-game-card .bc-team-row .bc-score {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 32px;
  text-align: right; font-variant-numeric: tabular-nums;
  color: var(--text);
}
.bc-game-card .bc-team-row.winner .bc-score { color: var(--win); }
.bc-game-card .bc-team-row.scheduled-time .bc-score {
  font-size: 16px; color: var(--muted); font-weight: 700;
}
.bc-game-card .bc-team-row .bc-team-mini {
  width: 32px; height: 32px;
  background: var(--team-primary, var(--accent));
  border-right: 3px solid var(--team-secondary, var(--accent-2));
  display: flex; align-items: center; justify-content: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 12px; color: #fff;
}
.bc-game-card .bc-team-row .bc-team-mini-logo {
  width: 32px; height: 32px; object-fit: contain;
}
.bc-game-card .bc-team-row .bc-team-text {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 16px;
  text-transform: uppercase; letter-spacing: 0.3px;
  line-height: 1.1;
}
.bc-game-card .bc-team-row .bc-team-sub {
  font-size: 10px; color: var(--muted);
  letter-spacing: 1px; font-weight: 600;
  text-transform: uppercase; margin-top: 2px;
}
.bc-game-card .bc-game-footer {
  padding: 8px 16px; border-top: 1px solid var(--border);
  background: var(--surface-2);
  display: flex; justify-content: space-between; align-items: center;
  font-size: 10px; letter-spacing: 1.5px; font-weight: 700;
  color: var(--muted); text-transform: uppercase;
}
.bc-game-card .bc-game-footer .ot-badge {
  background: var(--accent-2); color: #0a0e1a;
  padding: 2px 6px; font-weight: 800;
}
.bc-game-card .bc-game-footer .neutral-badge {
  background: var(--surface); color: var(--text);
  border: 1px solid var(--border);
  padding: 2px 6px;
}

/* =============================================================
   PLAYOFFS bracket
   ============================================================= */
.bc-playoffs { padding: 24px; }
.bc-playoffs .conf-header {
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: 4px solid var(--accent);
  padding: 18px 20px;
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 20px;
}
.bc-playoffs .conf-header h2 {
  margin: 0; font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 32px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--text);
}
.bc-playoffs .conf-header .conf-sub {
  font-size: 11px; letter-spacing: 2px; color: var(--muted);
  font-weight: 700; text-transform: uppercase;
}

.bc-bracket-row {
  display: grid; gap: 14px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 32px;
}
@media (max-width: 1100px) {
  .bc-bracket-row { grid-template-columns: 1fr; }
}

.bc-seed-card {
  background: var(--surface); border: 1px solid var(--border);
  border-left: 6px solid var(--team-primary, var(--accent));
  padding: 12px 16px;
  display: flex; align-items: center; gap: 14px;
}
.bc-seed-card.bye { background: linear-gradient(90deg, rgba(251, 191, 36, 0.12) 0%, var(--surface) 60%); border-left-color: var(--accent-2); }
.bc-seed-card.div-winner { border-top: 3px solid var(--accent-2); }
.bc-seed-card .seed {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 32px; font-style: italic;
  color: var(--accent-2); width: 40px;
}
.bc-seed-card .team-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 18px;
  text-transform: uppercase; letter-spacing: 0.5px;
}
.bc-seed-card .meta {
  font-size: 11px; letter-spacing: 1.5px; color: var(--muted);
  font-weight: 700; text-transform: uppercase; margin-top: 2px;
}
.bc-seed-card .record {
  margin-left: auto; font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800; font-size: 22px;
  font-variant-numeric: tabular-nums; color: var(--text);
}
.bc-seed-card .bye-badge {
  background: var(--accent-2); color: #0a0e1a;
  padding: 4px 8px; font-size: 10px;
  letter-spacing: 1.5px; font-weight: 900;
  text-transform: uppercase; margin-left: 8px;
}

.bc-matchup {
  background: var(--surface); border: 1px solid var(--border);
  padding: 14px 16px; margin-bottom: 10px;
}
.bc-matchup .label {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800; font-size: 11px; letter-spacing: 2px;
  color: var(--accent); text-transform: uppercase;
  margin-bottom: 8px;
}
.bc-matchup .teams {
  display: grid; grid-template-columns: 1fr 40px 1fr;
  align-items: center; gap: 8px;
}
.bc-matchup .vs {
  text-align: center; font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 20px; color: var(--muted);
}
.bc-matchup .side {
  display: flex; align-items: center; gap: 10px;
  font-family: 'Barlow Condensed', sans-serif;
}
.bc-matchup .side.right { flex-direction: row-reverse; text-align: right; }
.bc-matchup .side .seed-num {
  font-weight: 900; font-size: 22px; color: var(--accent-2); font-style: italic;
}
.bc-matchup .side .name { font-weight: 700; font-size: 16px; text-transform: uppercase; }
.bc-matchup .side .rec { font-size: 11px; color: var(--muted); letter-spacing: 1px; font-weight: 600; }

.bc-section-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 24px; letter-spacing: 1px;
  text-transform: uppercase; color: var(--text);
  margin: 24px 0 12px;
  padding-bottom: 8px; border-bottom: 2px solid var(--accent);
}

/* =============================================================
   VS MEDIA table
   ============================================================= */
.bc-vsmedia { padding-bottom: 48px; }
.bc-vsmedia .stats-strip {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  margin: 0 24px 24px;
}
.bc-vsmedia .stats-strip .stat {
  background: var(--surface); padding: 14px 16px;
}
.bc-vsmedia .stats-strip .stat .label {
  font-size: 10px; letter-spacing: 2px; color: var(--muted);
  font-weight: 700; text-transform: uppercase; margin-bottom: 4px;
}
.bc-vsmedia .stats-strip .stat .value {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 32px; color: var(--accent-2);
  line-height: 1; font-variant-numeric: tabular-nums;
}
.bc-vsmedia .stats-strip .stat .sub { font-size: 10px; color: var(--muted); margin-top: 4px; letter-spacing: 1px; font-weight: 600; }

.bc-vsmedia table {
  width: 100%; border-collapse: collapse;
}
.bc-vsmedia thead th {
  position: sticky; top: 64px; z-index: 5;
  background: var(--bg);
  font-size: 10px; letter-spacing: 1.6px; font-weight: 700;
  color: var(--muted); text-transform: uppercase;
  padding: 12px 10px; text-align: center;
  border-bottom: 2px solid var(--accent);
}
.bc-vsmedia thead th.team-col { text-align: left; padding-left: 24px; }
.bc-vsmedia thead th.mine { color: var(--accent-2); }
.bc-vsmedia tbody tr {
  background: var(--row-bg);
  border-left: 6px solid var(--team-primary, transparent);
}
.bc-vsmedia tbody tr:nth-child(even) { background: var(--row-alt); }
.bc-vsmedia tbody tr:hover { background: var(--row-hover); }
.bc-vsmedia tbody td {
  padding: 12px 10px; text-align: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px; font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.bc-vsmedia tbody td.team-col {
  text-align: left; padding-left: 24px;
  display: flex; align-items: center; gap: 12px;
}
.bc-vsmedia tbody td.mine {
  color: var(--accent-2); background: rgba(251, 191, 36, 0.08);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 20px;
}
.bc-vsmedia .delta-up { color: var(--win); }
.bc-vsmedia .delta-down { color: var(--loss); }
.bc-vsmedia .delta-same { color: var(--muted); }

/* Variance highlight cells */
.bc-vsmedia .var-small  { background: rgba(34,197,94,0.08); }
.bc-vsmedia .var-medium { background: rgba(251,191,36,0.10); }
.bc-vsmedia .var-large  { background: rgba(239,43,43,0.10); }

/* =============================================================
   TEAM LEADERS
   ============================================================= */
.bc-leaders { padding: 24px; }
.bc-leaders .leader-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  gap: 16px;
}
.bc-leaders .leader-card {
  background: var(--surface); border: 1px solid var(--border);
  border-top: 3px solid var(--accent);
}
.bc-leaders .leader-head {
  padding: 14px 18px; border-bottom: 1px solid var(--border);
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
}
.bc-leaders .leader-head h3 {
  margin: 0; font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 22px; letter-spacing: 0.5px;
  text-transform: uppercase; color: var(--text);
}
.bc-leaders .leader-head .sub {
  font-size: 10px; letter-spacing: 1.5px; color: var(--muted);
  font-weight: 700; text-transform: uppercase;
}
.bc-leaders .leader-head .top {
  margin-left: auto; font-size: 10px; color: var(--accent-2);
  font-weight: 700; letter-spacing: 1px;
}
.bc-leaders .leader-row {
  display: grid; grid-template-columns: 32px 36px 1fr auto;
  gap: 12px; align-items: center;
  padding: 9px 18px; background: var(--row-bg);
  border-left: 4px solid var(--team-primary, var(--border));
}
.bc-leaders .leader-row:nth-child(even) { background: var(--row-alt); }
.bc-leaders .leader-row .pos {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 18px; color: var(--muted);
  font-style: italic;
}
.bc-leaders .leader-row.first .pos { color: var(--accent-2); }
.bc-leaders .leader-row .badge-mini {
  width: 32px; height: 28px;
  background: var(--team-primary, var(--accent));
  border-right: 2px solid var(--team-secondary, var(--accent-2));
  display: flex; align-items: center; justify-content: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 11px; color: #fff;
}
.bc-leaders .leader-row .name {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 14px; text-transform: uppercase;
  letter-spacing: 0.3px; margin-bottom: 3px;
}
.bc-leaders .leader-row .name .nick { color: var(--muted); font-weight: 500; }
.bc-leaders .leader-row .bar {
  height: 4px; background: var(--surface-2); position: relative;
}
.bc-leaders .leader-row .bar > span {
  position: absolute; left: 0; top: 0; bottom: 0;
  background: var(--accent-2); opacity: 0.7;
}
.bc-leaders .leader-row.first .bar > span { opacity: 1; }
.bc-leaders .leader-row .value {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 22px;
  color: var(--text); font-variant-numeric: tabular-nums;
  min-width: 60px; text-align: right;
}
.bc-leaders .leader-row.first .value { color: var(--accent-2); }

/* =============================================================
   TEAM DETAIL
   ============================================================= */
/* Charts grid */
.bc-charts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
  gap: 16px;
}

.bc-team-detail { padding-bottom: 48px; }
.bc-team-hero {
  background: linear-gradient(135deg, var(--team-primary, var(--surface)) 0%, var(--team-secondary, var(--surface-2)) 100%);
  padding: 36px 32px;
  display: flex; align-items: center; gap: 24px;
  color: #fff;
  position: relative; overflow: hidden;
}
.bc-team-hero::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.35) 100%);
  pointer-events: none;
}
.bc-team-hero > * { position: relative; z-index: 1; }
.bc-team-hero .logo {
  width: 110px; height: 110px; object-fit: contain;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));
}
.bc-team-hero .name-block .eyebrow {
  font-size: 12px; letter-spacing: 3px; color: #fff;
  opacity: 0.8; font-weight: 700; text-transform: uppercase;
  margin-bottom: 4px;
}
.bc-team-hero .name-block h1 {
  margin: 0; font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 68px; letter-spacing: -1px;
  line-height: 0.95; text-transform: uppercase; color: #fff;
}

.bc-hero-pwr {
  margin-left: auto; text-align: right; flex-shrink: 0;
}
.bc-hero-pwr__label {
  font-size: 11px; letter-spacing: 2px; color: rgba(255,255,255,0.85);
  font-weight: 700; text-transform: uppercase;
}
.bc-hero-pwr__num {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 64px; line-height: 1; color: #fff;
}

.bc-stat-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1px; background: var(--border);
  border: 1px solid var(--border);
  margin: 24px;
}
.bc-stat-grid .stat-cell {
  background: var(--surface); padding: 18px 20px;
}
.bc-stat-grid .stat-cell .label {
  font-size: 10px; letter-spacing: 2px; color: var(--muted);
  font-weight: 700; text-transform: uppercase; margin-bottom: 6px;
}
.bc-stat-grid .stat-cell .value {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 36px; line-height: 1;
  color: var(--text); font-variant-numeric: tabular-nums;
}
.bc-stat-grid .stat-cell .value.accent { color: var(--accent-2); }
.bc-stat-grid .stat-cell .value.pos { color: var(--win); }
.bc-stat-grid .stat-cell .value.neg { color: var(--loss); }

/* Game history table */
.bc-history-table { width: 100%; border-collapse: collapse; }
.bc-history-table th {
  background: var(--surface-2);
  font-size: 10px; letter-spacing: 1.6px; font-weight: 700;
  color: var(--muted); text-transform: uppercase;
  padding: 12px 16px; text-align: left;
  border-bottom: 2px solid var(--accent);
}
.bc-history-table td {
  padding: 14px 16px; border-bottom: 1px solid var(--border);
  font-family: 'Barlow Condensed', sans-serif; font-weight: 600;
  font-size: 16px;
}
.bc-history-table tbody tr:hover { background: var(--row-hover); }
.bc-history-table .result-W { color: var(--win); font-weight: 900; }
.bc-history-table .result-L { color: var(--loss); font-weight: 900; }

.bc-recent-form {
  display: flex; gap: 10px; padding: 16px 24px; flex-wrap: wrap;
}
.bc-recent-form .form-pill {
  text-align: center;
}
.bc-recent-form .form-pill .badge-big {
  width: 48px; height: 48px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 22px; color: #fff;
}
.bc-recent-form .form-pill .W { background: var(--win); }
.bc-recent-form .form-pill .L { background: var(--loss); }
.bc-recent-form .form-pill .meta {
  font-size: 10px; letter-spacing: 1px; color: var(--muted);
  font-weight: 600; text-transform: uppercase; margin-top: 4px;
}

/* =============================================================
   Misc / utility
   ============================================================= */
.bc-container { max-width: 1400px; margin: 0 auto; }
.bc-empty {
  text-align: center; padding: 64px 24px; color: var(--muted);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 18px; letter-spacing: 1px;
}
.bc-link { color: var(--accent-2); text-decoration: none; font-weight: 700; }
.bc-link:hover { color: var(--accent); text-decoration: underline; }

/* Override Bootstrap that leaks into our pages */
.bc-page .alert { border-radius: 0; border-left: 4px solid var(--accent); background: var(--surface); color: var(--text); }
.bc-page .btn { border-radius: 0; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }

/* ----- Hamburger button ----- */
.mobile-menu-btn {
  display: none;
  flex-direction: column; justify-content: center; align-items: center;
  gap: 5px; width: 36px; height: 36px;
  background: transparent; border: 1px solid var(--border);
  cursor: pointer; padding: 6px;
}
.mobile-menu-btn span {
  display: block; width: 18px; height: 2px;
  background: var(--text); transition: all 0.2s;
}
.mobile-menu-btn.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mobile-menu-btn.open span:nth-child(2) { opacity: 0; }
.mobile-menu-btn.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ----- Mobile nav drawer ----- */
.bc-mobile-nav {
  display: none;
  position: fixed; top: 64px; left: 0; right: 0;
  background: var(--bg); border-bottom: 2px solid var(--accent);
  z-index: 1029; flex-direction: column;
}
.bc-mobile-nav a {
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 16px; letter-spacing: 2px;
  text-transform: uppercase; text-decoration: none;
  color: var(--text);
}
.bc-mobile-nav a.active { color: var(--accent); border-left: 4px solid var(--accent); }
.bc-mobile-nav a:hover { background: var(--surface); }
.bc-mobile-nav.open { display: flex; }

/* Responsive */
@media (max-width: 900px) {
  .bc-page-header h1 { font-size: 36px; }
  .bc-page-header { flex-direction: column; align-items: flex-start; }
  .bc-rankings .col-headers,
  .bc-rankings .row {
    grid-template-columns: 50px 1fr 60px 70px 70px;
    padding: 0 16px;
  }
  .bc-rankings .col-headers > :nth-child(n+6),
  .bc-rankings .row > :nth-child(n+6) { display: none; }
  .bc-rankings .rank { font-size: 38px; }
  .bc-team-name { font-size: 16px; }
  .bc-team-hero h1 { font-size: 44px; }
  .bc-team-hero .logo { width: 80px; height: 80px; }
  .bc-navbar .bc-nav { display: none; }
  .mobile-menu-btn { display: flex; }
  .bc-navbar .bc-season { display: none; }

  /* Offseason splash mobile */
  .bc-offseason-countdown { flex-direction: column; gap: 1px; }
  .bc-offseason-features { grid-template-columns: 1fr !important; }
}

/* ── Phone: team detail ── */
@media (max-width: 600px) {
  /* Hero: stack logo+name on top, power below */
  .bc-team-hero {
    flex-wrap: wrap;
    padding: 20px 16px;
    gap: 12px;
  }
  .bc-team-hero .logo { width: 64px; height: 64px; }
  .bc-team-hero .name-block { flex: 1; min-width: 0; }
  .bc-team-hero .name-block h1 { font-size: 36px; }
  .bc-hero-pwr {
    width: 100%; margin-left: 0; text-align: left;
    display: flex; align-items: baseline; gap: 12px;
    border-top: 1px solid rgba(255,255,255,0.15);
    padding-top: 10px;
  }
  .bc-hero-pwr__label { font-size: 10px; }
  .bc-hero-pwr__num { font-size: 44px; }

  /* Stat grid: 2 columns, smaller values */
  .bc-stat-grid { margin: 16px; grid-template-columns: repeat(2, 1fr); }
  .bc-stat-grid .stat-cell { padding: 14px 14px; }
  .bc-stat-grid .stat-cell .value { font-size: 26px; }

  /* Section padding */
  .bc-team-detail [style*="padding: 0 24px"] { padding: 0 12px !important; }

  /* Charts: single column */
  .bc-charts-grid { grid-template-columns: 1fr !important; }

  /* History table: hide Type + Location */
  .bc-history-table th:nth-child(4),
  .bc-history-table td:nth-child(4),
  .bc-history-table th:nth-child(5),
  .bc-history-table td:nth-child(5) { display: none; }
  .bc-history-table th,
  .bc-history-table td { padding: 10px 10px; font-size: 14px; }

  /* Recent form pills: smaller */
  .bc-recent-form { padding: 12px 12px; gap: 8px; }
  .bc-recent-form .form-pill .badge-big { width: 40px; height: 40px; font-size: 18px; }
}

/* ── Phone: 3-column rankings (Rank | Team | Pwr) ── */
@media (max-width: 600px) {
  .bc-rankings .col-headers,
  .bc-rankings .row {
    grid-template-columns: 40px 1fr 64px;
    padding: 0 12px;
    gap: 8px;
  }
  /* Hide Conf (col 3), Record (col 5), and everything beyond */
  .bc-rankings .col-headers > :nth-child(3),
  .bc-rankings .row > :nth-child(3),
  .bc-rankings .col-headers > :nth-child(n+5),
  .bc-rankings .row > :nth-child(n+5) { display: none; }

  .bc-rankings .row { height: auto; min-height: 60px; padding-top: 10px; padding-bottom: 10px; }
  .bc-rankings .rank { font-size: 28px; }

  .bc-team { gap: 10px; }
  .bc-team-logo, .bc-team-badge { width: 32px; height: 32px; font-size: 11px; }
  .bc-team-name { font-size: 13px; line-height: 1.2; }
  .bc-team-meta { font-size: 10px; letter-spacing: 1px; }

  .bc-pwr { font-size: 15px; }
}

/* =============================================================
   ADMIN dashboard
   ============================================================= */
.bc-admin { padding: 0 0 48px; }

/* Layout: main column + sticky sidebar */
.bc-admin .layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  padding: 24px;
}
@media (max-width: 1100px) {
  .bc-admin .layout { grid-template-columns: 1fr; }
}

/* KPI strip (top stat tiles) */
.bc-admin .kpi-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  margin-bottom: 24px;
}
.bc-admin .kpi {
  background: var(--surface);
  padding: 18px 20px;
  border-top: 3px solid transparent;
  position: relative;
}
.bc-admin .kpi.accent  { border-top-color: var(--accent); }
.bc-admin .kpi.gold    { border-top-color: var(--accent-2); }
.bc-admin .kpi.win     { border-top-color: var(--win); }
.bc-admin .kpi.muted   { border-top-color: var(--muted); }
.bc-admin .kpi .label {
  font-size: 10px; letter-spacing: 2px; color: var(--muted);
  font-weight: 700; text-transform: uppercase; margin-bottom: 6px;
}
.bc-admin .kpi .value {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 38px; line-height: 1;
  color: var(--text); font-variant-numeric: tabular-nums;
}
.bc-admin .kpi.gold .value { color: var(--accent-2); }
.bc-admin .kpi .sub {
  font-size: 11px; color: var(--muted);
  margin-top: 8px; letter-spacing: 0.8px;
}

/* Section block — used for Data, Season, ML, Comparison sections */
.bc-admin .section {
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: 3px solid var(--accent);
  margin-bottom: 18px;
}
.bc-admin .section.gold { border-top-color: var(--accent-2); }
.bc-admin .section.muted { border-top-color: var(--muted); }
.bc-admin .section.danger { border-top-color: var(--loss); }

.bc-admin .section-head {
  padding: 14px 20px;
  border-bottom: 1px solid var(--border);
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
}
.bc-admin .section-head h2 {
  margin: 0; font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 22px; letter-spacing: 0.5px;
  text-transform: uppercase; color: var(--text);
}
.bc-admin .section-head .sub {
  font-size: 11px; letter-spacing: 1.5px; color: var(--muted);
  font-weight: 700; text-transform: uppercase;
}
.bc-admin .section-body { padding: 18px 20px; }

/* Action button rows inside sections */
.bc-admin .action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}
.bc-admin .action-btn {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent);
  color: var(--text); text-decoration: none;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 14px; letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer; transition: background 0.15s, border-color 0.15s;
}
.bc-admin .action-btn:hover {
  background: var(--accent); color: #fff; border-left-color: var(--accent-2);
}
.bc-admin .action-btn.gold { border-left-color: var(--accent-2); }
.bc-admin .action-btn.gold:hover { background: var(--accent-2); color: #0a0e1a; }
.bc-admin .action-btn.muted { border-left-color: var(--muted); }
.bc-admin .action-btn.muted:hover { background: var(--surface); color: var(--text); border-left-color: var(--accent); }
.bc-admin .action-btn.danger { border-left-color: var(--loss); color: var(--loss); }
.bc-admin .action-btn.danger:hover { background: var(--loss); color: #fff; border-left-color: var(--loss); }
.bc-admin .action-btn .chev { color: var(--muted); font-size: 16px; }
.bc-admin .action-btn:hover .chev { color: #fff; }
.bc-admin .action-btn:disabled,
.bc-admin .action-btn.disabled {
  opacity: 0.45; cursor: not-allowed; pointer-events: none;
}

/* Inline status banners (replaces alert-info / alert-success boxes) */
.bc-admin .banner {
  padding: 12px 16px;
  background: var(--surface-2);
  border-left: 4px solid var(--accent-2);
  font-size: 13px; color: var(--text);
  font-family: 'Inter', sans-serif;
  margin-bottom: 14px;
}
.bc-admin .banner.muted   { border-left-color: var(--muted); color: var(--muted); }
.bc-admin .banner.danger  { border-left-color: var(--loss); }
.bc-admin .banner strong {
  font-family: 'Barlow Condensed', sans-serif;
  letter-spacing: 1px; text-transform: uppercase;
  color: var(--accent-2); font-size: 12px;
}

/* Recent games list (sidebar) */
.bc-admin .sidebar { display: flex; flex-direction: column; gap: 18px; }
.bc-admin .recent-game {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px;
  background: var(--row-bg);
  border-left: 4px solid var(--accent);
}
.bc-admin .recent-game:nth-child(even) { background: var(--row-alt); }
.bc-admin .recent-game .wk {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 14px; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--accent-2);
  min-width: 44px;
}
.bc-admin .recent-game .matchup {
  flex: 1; font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 14px; text-transform: uppercase;
  letter-spacing: 0.3px; line-height: 1.3;
}
.bc-admin .recent-game .matchup .meta {
  font-size: 10px; color: var(--muted); letter-spacing: 1px;
  font-weight: 600; margin-top: 2px;
}
.bc-admin .recent-game .del {
  background: transparent; border: 1px solid var(--border);
  color: var(--muted); width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 14px;
}
.bc-admin .recent-game .del:hover {
  background: var(--loss); color: #fff; border-color: var(--loss);
}

/* Quick-links 3-column inside admin */
.bc-admin .quicklinks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
}
.bc-admin .quicklinks h4 {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 13px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--accent-2);
  margin: 0 0 10px;
  padding-bottom: 6px; border-bottom: 1px solid var(--border);
}
.bc-admin .quicklinks ul { list-style: none; padding: 0; margin: 0; }
.bc-admin .quicklinks li { margin-bottom: 4px; }
.bc-admin .quicklinks a {
  color: var(--text); text-decoration: none;
  font-size: 13px; font-weight: 500;
  padding: 4px 0; display: inline-block;
  border-bottom: 1px solid transparent;
}
.bc-admin .quicklinks a:hover { color: var(--accent-2); border-bottom-color: var(--accent-2); }
.bc-admin .quicklinks a.danger { color: var(--loss); }
.bc-admin .quicklinks a.danger:hover { color: var(--loss); border-bottom-color: var(--loss); }
.bc-admin .quicklinks button.linklike {
  background: transparent; border: none; padding: 4px 0;
  color: var(--loss); font: inherit; cursor: pointer;
  border-bottom: 1px solid transparent;
}
.bc-admin .quicklinks button.linklike:hover { border-bottom-color: var(--loss); }

/* Inline 2-column row inside section bodies */
.bc-admin .split {
  display: grid; grid-template-columns: 1fr auto; gap: 16px;
  align-items: center;
}

/* Source-rankings mini table */
.bc-admin .src-table { width: 100%; border-collapse: collapse; margin-top: 12px; }
.bc-admin .src-table th {
  font-size: 10px; letter-spacing: 1.6px; font-weight: 700;
  color: var(--muted); text-transform: uppercase;
  padding: 10px 12px; text-align: left;
  border-bottom: 2px solid var(--accent);
}
.bc-admin .src-table td {
  padding: 10px 12px; border-bottom: 1px solid var(--border);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 14px;
}
.bc-admin .src-table .status-good { color: var(--win); }
.bc-admin .src-table .status-mid  { color: var(--accent-2); }
.bc-admin .src-table .status-bad  { color: var(--loss); }

/* Modal restyle — bring Bootstrap modals into the broadcast vocabulary */
.bc-admin-modal .modal-content {
  background: var(--bg);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 0;
}
.bc-admin-modal .modal-header {
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  padding: 14px 20px;
}
.bc-admin-modal .modal-header.danger { background: var(--loss); color: #fff; }
.bc-admin-modal .modal-header.warn   { background: var(--accent-2); color: #0a0e1a; }
.bc-admin-modal .modal-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 18px; letter-spacing: 1px;
  text-transform: uppercase;
}
.bc-admin-modal .modal-body { padding: 20px; }
.bc-admin-modal .modal-footer {
  border-top: 1px solid var(--border);
  background: var(--surface);
  padding: 12px 20px;
}
.bc-admin-modal .form-label {
  font-size: 11px; letter-spacing: 1.5px; color: var(--muted);
  font-weight: 700; text-transform: uppercase;
}
.bc-admin-modal .form-control,
.bc-admin-modal .form-select {
  background: var(--surface-2) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0;
  font-family: 'Inter', sans-serif;
  padding: 10px 12px;
}
.bc-admin-modal .form-control::placeholder { color: var(--muted) !important; opacity: 1; }
.bc-admin-modal .form-control:focus,
.bc-admin-modal .form-select:focus {
  background: var(--surface-2) !important;
  color: var(--text) !important;
  border-color: var(--accent-2) !important;
  box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.2);
}
/* select option elements inherit from OS; set color explicitly */
.bc-admin-modal .form-select option { background: var(--surface-2); color: var(--text); }
.bc-admin-modal .form-text { color: var(--muted); font-size: 11px; letter-spacing: 0.5px; }
.bc-admin-modal .btn { border-radius: 0; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.bc-admin-modal .btn-primary { background: var(--accent); border-color: var(--accent); }
.bc-admin-modal .btn-primary:hover { background: #b91c1c; border-color: #b91c1c; }
.bc-admin-modal .btn-success { background: var(--win); border-color: var(--win); }
.bc-admin-modal .btn-secondary { background: var(--surface-2); border-color: var(--border); color: var(--text); }
.bc-admin-modal .btn-warning { background: var(--accent-2); border-color: var(--accent-2); color: #0a0e1a; }
.bc-admin-modal .btn-danger  { background: var(--loss); border-color: var(--loss); }


/* ----- Scrolling broadcast ticker ----- */
.ticker-label {
  white-space: nowrap;
  flex-shrink: 0;
  opacity: 0.85;
}
.ticker-scroll-wrap {
  flex: 1;
  overflow: hidden;
  min-width: 0;
}
.ticker-track {
  display: inline-block;
  white-space: nowrap;
  animation: ticker-move 60s linear infinite;
  will-change: transform;
}
.ticker-track:hover { animation-play-state: paused; }
@keyframes ticker-move {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
