/* Shared light/dark theme finishing layer.
   Loaded last so the navbar toggle can carry the full app surface. */

html,
body {
  background: var(--bg-primary);
  color: var(--text-primary);
}

/* Global density tuning: keeps 100% browser zoom from feeling oversized. */
body {
  font-size: 14px;
}

.nav-top-container {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.nav-main {
  min-height: 58px !important;
}

.nav-main-container {
  min-height: 58px !important;
}

.nav-menu {
  gap: 24px !important;
  font-size: 14px !important;
}

.logo-icon {
  height: 68px !important;
}

.nav-option,
.favorites-option,
.login-link,
.signup-link {
  font-size: 12px !important;
}

.search-pill,
.nav-search {
  min-height: 42px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

.search-input,
.nav-search input {
  font-size: 14px !important;
}

.vip-btn {
  min-height: 42px !important;
  padding: 7px 14px !important;
  font-size: 13px !important;
}

.page-container {
  margin-top: 12px !important;
}

.layout {
  gap: 10px !important;
}

.content,
.left-sidebar,
.right-sidebar {
  font-size: 13px;
}

.sidebar-block,
.sidebar-widget,
.calendar-widget,
.league,
.writer-dashboard,
.team-header,
.team-card,
.stats_parents,
.previews-page,
.match-preview-container {
  border-radius: 7px !important;
}

.block-title,
.sidebar-widget-header,
.calendar-title #calendarMonth,
.center-title,
.standings-title,
.h2h-title,
.ld-title,
.team-header-name,
.writer-title,
.previews-hero h1,
.mp-title {
  letter-spacing: 0 !important;
}

.block-title,
.sidebar-widget-header,
.pc-tab-title,
.af-results-title,
.glm-results-title,
.ep-hdr-title,
.tc-title,
.ta-panel-title,
.pma-panel-title,
.mt-card-title,
.vte-panel-title {
  font-size: 13px !important;
}

.center-title {
  font-size: 22px !important;
  line-height: 1.2 !important;
}

.writer-dashboard {
  padding: 24px !important;
}

.writer-title {
  font-size: 23px !important;
}

.writer-dashboard .form-label {
  font-size: 15px !important;
}

.writer-dashboard .form-control,
.writer-dashboard .ts-control,
.writer-dashboard .btn-save {
  font-size: 14px !important;
}

.writer-dashboard .form-control,
.writer-dashboard .ts-control {
  padding: 11px 14px !important;
}

.calendar-title #calendarMonth {
  font-size: 15px !important;
}

.calendar-subtitle,
.calendar-weekdays,
.calendar-day {
  font-size: 12px !important;
}

.banker-league,
.league-name,
.ld-fixture-team,
.team-name-standing,
.pv-title,
.rec-pv-title {
  font-size: 13px !important;
}

.ptype,
.status-btn,
.prediction-tab,
.pm-tab,
.standings-tab,
.standings-nav-tab,
.standings-group-tab {
  font-size: 11px !important;
}

.footer-inner {
  font-size: 13px;
}

.footer-section h3 {
  font-size: 16px !important;
}

.footer-logo-text {
  font-size: 22px !important;
}

.footer-tagline,
.footer-links a,
.contact-info li,
.newsletter-form p,
.copyright {
  font-size: 13px !important;
}

.footer-legal a,
.newsletter-note,
.payment-methods span,
.badge {
  font-size: 12px !important;
}

.page-container,
.layout,
.content,
.left-sidebar,
.right-sidebar {
  color: var(--text-primary);
}

.content {
  background: var(--bg-primary);
}

.league,
.league-header,
.prediction-card,
.sidebar-widget-content,
.favorite-item,
.favorites-sidebar,
.ld-card,
.ld-section,
.ld-table-card,
.pv-card,
.rec-pv-card,
.writer-card,
.writer-dashboard {
  background: var(--surface-card) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.league-content,
.pinned-teams-block,
.football-leagues-block,
.countries-block,
.other-countries,
.banker-pick-row,
.status-filters,
.ptype,
.trend-tab,
.skeleton-card,
.favorite-item:hover {
  background: var(--bg-secondary) !important;
  color: var(--text-primary);
}

.league-header:hover,
.trend-item:hover,
.sidebar-item.dropdown .dropdown-body a:hover,
.current-date:hover,
.date-btn:hover,
.scroll-btn:hover {
  background: var(--bg-tertiary) !important;
}

.prediction-card .stats,
.stats,
.date-navigator,
.date-btn,
.pc-preview-btn,
.search-section-label {
  background: var(--surface-elevated) !important;
  color: var(--text-secondary) !important;
  border-color: var(--border-color) !important;
}

.pc-preview-btn:hover {
  background: var(--text-primary) !important;
  border-color: var(--text-primary) !important;
  color: var(--accent-yellow) !important;
}

html:not(.dark-mode) .league-content > .prediction-card + .prediction-card {
  margin-top: 10px !important;
  border-top: 1px solid #e2e8f0 !important;
  box-shadow: 0 -10px 0 #f8fafc, var(--shadow-card) !important;
}

html:not(.dark-mode) .search-dropdown {
  background: #ffffff !important;
  border-color: #dbe3ef !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18) !important;
}

html:not(.dark-mode) .search-tabs {
  background: #f8fafc !important;
  border-bottom-color: #e2e8f0 !important;
}

html:not(.dark-mode) .search-tab {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #475569 !important;
}

html:not(.dark-mode) .search-tab:hover {
  border-color: #22c55e !important;
  color: #15803d !important;
}

html:not(.dark-mode) .search-tab.active {
  background: #22c55e !important;
  border-color: #22c55e !important;
  color: #052e16 !important;
  box-shadow: 0 6px 14px rgba(34, 197, 94, 0.22) !important;
}

html:not(.dark-mode) .search-results {
  background: #ffffff !important;
}

html:not(.dark-mode) .search-results::-webkit-scrollbar-thumb {
  background: #cbd5e1 !important;
}

html:not(.dark-mode) .search-section-label {
  background: #f8fafc !important;
  color: #475569 !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

html:not(.dark-mode) .search-result-row {
  color: #0f172a !important;
}

html:not(.dark-mode) .search-result-row:hover,
html:not(.dark-mode) .search-result-row.keyboard-active,
html:not(.dark-mode) .search-result-row.keyboard-selected {
  background: #eef6ff !important;
}

html:not(.dark-mode) .search-result-logo {
  background: #e8eef7 !important;
}

html:not(.dark-mode) .search-result-name {
  color: #0f172a !important;
}

html:not(.dark-mode) .search-result-country,
html:not(.dark-mode) .search-result-type-badge,
html:not(.dark-mode) .search-empty,
html:not(.dark-mode) .search-loading,
html:not(.dark-mode) .search-query-icon,
html:not(.dark-mode) .search-fixture-vs {
  color: #64748b !important;
}

html:not(.dark-mode) .search-result-score {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

.prediction-card .pc-name,
.prediction-card .pc-score,
.prediction-card .pc-percent,
.prediction-card .pc-odds,
.prediction-card .pc-badge,
.prediction-card .score-predict,
.current-date,
.date-btn,
.scroll-btn,
.banker-league,
.sb-table-subtitle,
.trend-text,
.trend-pick b {
  color: var(--text-primary) !important;
}

.pc-header,
.league-match-count,
.block-title,
.banker-match-details,
.banker-pick-label,
.sb-table-league-title,
.sidebar-standings th,
.sb-legend-label,
.trend-match-info,
.trend-pick,
.pc-minute-label,
.pc-ft-score {
  color: var(--text-secondary) !important;
}

.score-strong,
.pc-ns-time,
.pc-score-dash {
  color: var(--score-text) !important;
}

.score-faded {
  color: var(--muted-score) !important;
}

.sidebar-standings td {
  color: var(--text-primary) !important;
  border-bottom-color: var(--border-subtle) !important;
}

.sidebar-standings tr.sb-fixture-team td {
  background: var(--bg-tertiary) !important;
}

.pc-bg,
.prediction-card .pc-bg {
  stroke: var(--border-color) !important;
}

.score-predict,
.prediction-card .score-predict {
  background: var(--surface-card-muted) !important;
  border-color: var(--border-color) !important;
}

.skeleton-line,
.skeleton-circle {
  background: linear-gradient(
    90deg,
    var(--skeleton-base) 25%,
    var(--skeleton-highlight) 50%,
    var(--skeleton-base) 75%
  ) !important;
  background-size: 200% 100% !important;
}

.dark-mode .nav-top {
  background: #050b15;
}

.dark-mode .nav-search,
.dark-mode .search-pill {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
}

.dark-mode img {
  color-scheme: light;
}

/* Page-specific design systems: map their local variables back to the
   shared theme so every tool follows the navbar toggle. */
body {
  --af-bg: var(--bg-primary);
  --af-surface: var(--surface-card);
  --af-surface-2: var(--bg-secondary);
  --af-border: var(--border-color);
  --af-text: var(--text-primary);
  --af-text-2: var(--text-secondary);
  --af-text-3: var(--text-tertiary);
  --af-shadow: var(--shadow-card);

  --glm-bg: var(--bg-primary);
  --glm-surface: var(--surface-card);
  --glm-surface-2: var(--bg-secondary);
  --glm-border: var(--border-color);
  --glm-text: var(--text-primary);
  --glm-text-2: var(--text-secondary);
  --glm-text-3: var(--text-tertiary);

  --ep-bg: var(--bg-primary);
  --ep-surface: var(--surface-card);
  --ep-surface-2: var(--bg-secondary);
  --ep-border: var(--border-color);
  --ep-text: var(--text-primary);
  --ep-text-2: var(--text-secondary);
  --ep-text-3: var(--text-tertiary);
  --ep-shadow: var(--shadow-card);

  --tc-bg: var(--bg-primary);
  --tc-surface: var(--surface-card);
  --tc-border: var(--border-color);
  --tc-text: var(--text-primary);
  --tc-text-muted: var(--text-tertiary);

  --ta-bg: var(--bg-primary);
  --ta-surface: var(--surface-card);
  --ta-border: var(--border-color);
  --ta-text: var(--text-primary);
  --ta-text-2: var(--text-secondary);
  --ta-text-3: var(--text-tertiary);

  --pc-bg: var(--bg-primary);
  --pc-surface: var(--surface-card);
  --pc-surface-2: var(--bg-secondary);
  --pc-surface-3: var(--bg-tertiary);
  --pc-border: var(--border-color);
  --pc-border-light: var(--border-subtle);
  --pc-text: var(--text-primary);
  --pc-text-2: var(--text-secondary);
  --pc-text-3: var(--text-tertiary);
}

/* League detail */
.ld-page,
.ld-header,
.ld-tabs,
.ld-trend-card,
.ld-fixture-row,
.ld-scorer-row,
.ld-trends-fixture-block,
.ld-trends-prediction-pill,
.ls-card,
.lr-row,
.leaders-card {
  background: var(--surface-card) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.ld-header,
.ld-round-badge,
.ld-round-header,
.lr-round-header,
.ld-trends-fixture-header,
.ld-trends-ai-block,
.ld-fixture-score,
.ls-score-val,
.standings-group-header,
.leader-stat-pill,
.leader-rank.rank-other,
.ld-logo-placeholder,
.leader-player-placeholder {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.ld-panel,
.ld-table-wrap,
.ld-predictions-content,
.ls-wrap,
.lr-fixture-list {
  background: transparent !important;
  color: var(--text-primary) !important;
}

.ld-league-name,
.ld-trend-title,
.ld-trend-pct,
.ld-pts,
.ld-fixture-team,
.ld-fixture-score,
.ld-stats-title,
.ld-scorer-name,
.ld-trends-fixture-matchup,
.ld-trends-prediction-pill strong,
.lr-team-name,
.lr-score,
.lr-time,
.ls-card-title,
.ls-stat-val,
.ls-bar-count,
.ls-score-val,
.ls-team-name,
.ls-team-stat,
.leaders-title,
.leader-player-name {
  color: var(--text-primary) !important;
}

.ld-country,
.ld-tab,
.ld-trend-label,
.ld-trend-sample,
.ld-empty-state,
.ld-standings-table th,
.ld-form-table th,
.ld-standings-table td,
.ld-form-table td,
.ld-pos,
.ld-legend-item,
.ld-round-header,
.ld-fixture-status,
.ld-scorer-rank,
.ld-season,
.lr-date,
.lr-status,
.lr-pen,
.ls-stat-label,
.ls-bar-label,
.ls-bar-pct,
.ls-scores-header,
.ls-score-count,
.ls-score-pct,
.ls-team-header,
.ls-team-rank,
.leader-player-pos,
.leader-team-name,
.leader-stat-sub {
  color: var(--text-secondary) !important;
}

html:not(.dark-mode) .ld-tab.active {
  background: #ecfdf5 !important;
  color: #047857 !important;
  border-bottom-color: #10b981 !important;
}

html:not(.dark-mode) .ld-tab:hover {
  background: #f8fafc !important;
  color: #0f172a !important;
}

.dark-mode .ld-tab.active {
  background: rgba(16, 185, 129, 0.14) !important;
  color: #6ee7b7 !important;
  border-bottom-color: #10b981 !important;
}

.dark-mode .ld-tab:hover {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}

.ld-standings-table th,
.ld-form-table th,
.ld-legend,
.ld-trends-fixture-header,
.ld-trends-ai-block,
.ld-trends-fixture-block .trends-card,
.lr-fixture-list,
.lr-row,
.ls-divider,
.ls-scores-header,
.ls-team-header,
.ls-team-row,
.leaders-header,
.leaders-list-item {
  border-color: var(--border-color) !important;
}

.ld-standings-table tr:hover td,
.ld-form-table tr:hover td,
.ld-fixture-row:hover,
.lr-row:hover,
.ld-scorer-row:hover,
.leaders-list-item:hover {
  background: var(--bg-secondary) !important;
}

.ld-trend-bar,
.ls-bar-track,
.ls-team-row,
.ls-score-val,
.leader-stat-pill {
  background-color: var(--bg-tertiary) !important;
}

.ld-predictions-content .skeleton-card {
  background: var(--surface-card) !important;
  border-color: var(--border-color) !important;
}

/* Tool pages */
.af-page,
.glm-page,
.ep-page,
.tc-page,
.ta-page,
.pma-page,
.mt-page,
.vte-page,
.pc-page {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}

.af-panel,
.af-results,
.af-results-header,
.af-league-group,
.af-mcard,
.af-modal-box,
.glm-panel,
.glm-results,
.glm-league-group,
.glm-match-card,
.ep-panel,
.ep-hdr,
.ep-dash-item,
.ep-pick,
.tc-panel,
.tc-card,
.tc-selector-card,
.ta-panel,
.ta-card,
.pma-panel,
.pma-card,
.mt-panel,
.mt-card,
.mt-modal,
.vte-panel,
.vte-feed-header,
.vte-fixture-group,
.pc-sidebar,
.pc-tab-header,
.pc-card,
.pc-feed-card {
  background: var(--surface-card) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.af-panel-header,
.af-saved-row,
.af-apply-wrap,
.af-league-header,
.af-mcard-league,
.glm-panel-header,
.glm-saved-row,
.glm-results-header,
.glm-league-header,
.ep-pick-hdr,
.tc-card-header,
.ta-card-header,
.pma-card-header,
.mt-card-header,
.vte-panel-header,
.vte-fixture-header,
.pc-user-strip,
.pc-nav,
.pc-card-header {
  background-color: var(--surface-card) !important;
  border-color: var(--border-color) !important;
}

.af-chip,
.af-date-input,
.af-market-chip,
.af-streak-pill,
.af-conf-pill,
.af-intensity-bar,
.af-league-search,
.af-league-list,
.af-active-pill,
.af-sort-select,
.af-page-btn,
.glm-chip,
.glm-date-input,
.glm-market-chip,
.glm-sort-select,
.ep-chip,
.ep-mkt,
.tc-select,
.tc-input,
.ta-search-input,
.pma-search-input,
.mt-filter-chip,
.vte-date-pill,
.vte-trend-chip,
.vte-league-search,
.vte-view-tabs,
.vte-view-tab,
.pc-nav-item {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

html:not(.dark-mode) .af-market-chip.active,
html:not(.dark-mode) .glm-market-chip.active {
  background: linear-gradient(135deg, #16a34a, #15803d) !important;
  border-color: #16a34a !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 1px rgba(22, 163, 74, 0.35), 0 8px 18px rgba(22, 163, 74, 0.16) !important;
}

html:not(.dark-mode) .af-market-chip.premium-chip.active,
html:not(.dark-mode) .glm-market-chip.premium-chip.active,
html:not(.dark-mode) .af-prem-pill.active,
html:not(.dark-mode) .glm-prem-pill.active {
  background: linear-gradient(135deg, #f59e0b, #d97706) !important;
  border-color: #d97706 !important;
  color: #111827 !important;
  box-shadow: 0 0 0 1px rgba(217, 119, 6, 0.35), 0 8px 18px rgba(245, 158, 11, 0.14) !important;
}

html:not(.dark-mode) .af-streak-pill.active,
html:not(.dark-mode) .glm-streak-pill.active,
html:not(.dark-mode) .af-conf-pill.active,
html:not(.dark-mode) .glm-conf-pill.active,
html:not(.dark-mode) .af-venue-pill.active,
html:not(.dark-mode) .glm-venue-pill.active,
html:not(.dark-mode) .af-htbias-pill.active,
html:not(.dark-mode) .glm-htbias-pill.active,
html:not(.dark-mode) .af-multisignal-pill.active,
html:not(.dark-mode) .glm-multisignal-pill.active,
html:not(.dark-mode) .glm-strictodds-pill.active {
  background: #dcfce7 !important;
  border-color: #22c55e !important;
  color: #14532d !important;
  box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.22) !important;
}

html:not(.dark-mode) .af-intensity-bar.active,
html:not(.dark-mode) .glm-intensity-bar.active {
  border-color: #d97706 !important;
  color: #92400e !important;
  box-shadow: 0 0 0 1px rgba(217, 119, 6, 0.24) !important;
}

.dark-mode .af-market-chip.active,
.dark-mode .glm-market-chip.active {
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  border-color: #60a5fa !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.45), 0 8px 20px rgba(37, 99, 235, 0.22) !important;
}

.dark-mode .af-market-chip.premium-chip.active,
.dark-mode .glm-market-chip.premium-chip.active,
.dark-mode .af-prem-pill.active,
.dark-mode .glm-prem-pill.active {
  background: linear-gradient(135deg, #f59e0b, #d97706) !important;
  border-color: #fbbf24 !important;
  color: #111827 !important;
  box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.48), 0 8px 20px rgba(245, 158, 11, 0.2) !important;
}

.dark-mode .af-streak-pill.active,
.dark-mode .glm-streak-pill.active,
.dark-mode .af-conf-pill.active,
.dark-mode .glm-conf-pill.active,
.dark-mode .af-venue-pill.active,
.dark-mode .glm-venue-pill.active,
.dark-mode .af-htbias-pill.active,
.dark-mode .glm-htbias-pill.active,
.dark-mode .af-multisignal-pill.active,
.dark-mode .glm-multisignal-pill.active,
.dark-mode .glm-strictodds-pill.active {
  background: rgba(59, 130, 246, 0.24) !important;
  border-color: #60a5fa !important;
  color: #bfdbfe !important;
  box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

.dark-mode .af-intensity-bar.active,
.dark-mode .glm-intensity-bar.active {
  border-color: #fbbf24 !important;
  color: #fde68a !important;
  box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.35) !important;
}

.af-section-header:hover,
.af-market-chip:hover,
.af-league-item:hover,
.af-match-row:hover,
.af-mcard:hover,
.glm-section-header:hover,
.glm-league-item:hover,
.glm-match-row:hover,
.ep-tip:hover,
.tc-card-row:hover,
.ta-search-item:hover,
.pma-search-item:hover,
.mt-table tbody tr:hover,
.vte-trend-row:hover,
.vte-section-header:hover,
.pc-nav-item:hover {
  background: var(--bg-tertiary) !important;
}

.af-panel-title,
.af-section-name,
.af-label,
.af-results-title,
.af-empty h3,
.af-league-name,
.af-team-name,
.af-mcard-team span,
.af-mcard-odds-val,
.glm-panel-title,
.glm-section-name,
.glm-results-title,
.glm-match-team,
.ep-panel-title,
.ep-hdr-title,
.ep-tip-match,
.tc-title,
.tc-card-title,
.ta-panel-title,
.ta-card-header,
.ta-th-name,
.pma-panel-title,
.pma-card-header,
.pma-mh-name,
.mt-card-title,
.vte-panel-title,
.vte-feed-title,
.vte-fx-team-name,
.pc-tab-title,
.pc-card-title,
.pc-user-name {
  color: var(--text-primary) !important;
}

.af-section-sub,
.af-toggle-arrow,
.af-saved-label,
.af-active-pill,
.af-empty p,
.af-league-country,
.af-match-time,
.af-signal-label,
.af-match-odds,
.glm-section-sub,
.glm-toggle-arrow,
.glm-active-pill,
.ep-stat-label,
.ep-hdr-sub,
.ep-tip-prob,
.tc-card-sub,
.tc-muted,
.ta-section-sub,
.ta-toggle-arrow,
.ta-th-meta,
.pma-section-sub,
.pma-toggle-arrow,
.pma-mh-short,
.mt-muted,
.vte-section-sub,
.vte-fx-kickoff,
.vte-tr-text,
.pc-tab-sub,
.pc-mini-lbl {
  color: var(--text-secondary) !important;
}

/* Team and match detail labels/cards that appear outside the tool systems. */
.team-detail-page,
.team-header,
.team-tabs,
.team-standing-badge,
.team-stat-card,
.team-card,
.stats_parents,
.content.stats-content,
.stat_card_header,
.vote-block,
.vote-btn {
  background: var(--surface-card) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.team-header-logo,
.team-header-logo-placeholder,
.team-standing-badge,
.prediction-tab,
.vote-block {
  background: var(--bg-secondary) !important;
}

.team-header-name,
.team-tab,
.team-form-label,
.stats-breadcrumb,
.crumb,
.ball-icon,
.league-title,
.vote-block h3,
.vote-btn {
  color: var(--text-primary) !important;
}

.team-header-meta,
.team-header-meta-item,
.team-breadcrumb,
.team-breadcrumb a,
.team-breadcrumb .current,
.sep,
.prediction-tab:not(.active) {
  color: var(--text-secondary) !important;
}

.prediction-tab.active,
.ptype.active {
  background: var(--text-primary) !important;
  color: var(--bg-primary) !important;
}

/* Match details / stats page */
.dark-mode .stats_parents,
.dark-mode .content.stats-content,
.dark-mode .stat_card_header,
.dark-mode .h2h-card,
.dark-mode .h2h-bottom-row,
.dark-mode .match-intro-card,
.dark-mode .standings-card,
.dark-mode .last6-card,
.dark-mode .perf-card,
.dark-mode .ms-card,
.dark-mode .pea-container,
.dark-mode .pea-hero-bar,
.dark-mode .pea-outcome-card,
.dark-mode .pea-signal-card,
.dark-mode .ou-team-card,
.dark-mode .fhg-team-block,
.dark-mode .shg-team-block,
.dark-mode .mtr-card,
.dark-mode .btts-card {
  background: var(--surface-card) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.dark-mode .stat_card_header,
.dark-mode .ms-time-tabs,
.dark-mode .ms-cat-tabs,
.dark-mode .standings-table thead tr,
.dark-mode .perf-form-table thead tr,
.dark-mode .perf-stats-table thead tr,
.dark-mode .standings-group-tab,
.dark-mode .standings-nav-tab,
.dark-mode .standings-secondary-tab,
.dark-mode .pm-tab,
.dark-mode .last6-tab,
.dark-mode .pm-view-btn,
.dark-mode .ms-section-header,
.dark-mode .trends-league-badge,
.dark-mode .mtr-team-logo,
.dark-mode .perf-logo {
  background: var(--bg-secondary) !important;
  color: var(--text-secondary) !important;
  border-color: var(--border-color) !important;
}

.dark-mode .stats-breadcrumb,
.dark-mode .stats-breadcrumb .crumb,
.dark-mode .stats-breadcrumb .league-title,
.dark-mode .h2h-title,
.dark-mode .h2h-team strong,
.dark-mode .h2h-total,
.dark-mode .h2h-grid .box b,
.dark-mode .pm-label,
.dark-mode .pm-home-name,
.dark-mode .pm-away-name,
.dark-mode .pm-home-name.bold,
.dark-mode .pm-away-name.bold,
.dark-mode .pm-total-item strong,
.dark-mode .standings-title,
.dark-mode .team-name-standing,
.dark-mode .standings-table td,
.dark-mode .last6-team-name,
.dark-mode .last6-list-inner .pm-home-name,
.dark-mode .last6-list-inner .pm-away-name,
.dark-mode .perf-team-name,
.dark-mode .perf-form-table td,
.dark-mode .perf-stats-table td,
.dark-mode .ms-team-name,
.dark-mode .ms-score,
.dark-mode .ms-time-tab.active,
.dark-mode .ms-val-away,
.dark-mode .pea-outcome-title,
.dark-mode .pea-signals-title,
.dark-mode .pea-sig-name,
.dark-mode .pea-stat-value,
.dark-mode .pea-prob-num,
.dark-mode .pea-prob-val,
.dark-mode .mtr-team-name,
.dark-mode .ou-team-name,
.dark-mode .fhg-team-name,
.dark-mode .shg-team-name,
.dark-mode .trends-team-name {
  color: var(--text-primary) !important;
}

.dark-mode .h2h-team span,
.dark-mode .h2h-results,
.dark-mode .h2h-grid .box,
.dark-mode .h2h-grid .box small,
.dark-mode .box-label,
.dark-mode .box-sub,
.dark-mode .pm-date,
.dark-mode .pm-ht,
.dark-mode .pm-league-abbr,
.dark-mode .pm-total-item span,
.dark-mode .match-intro-body p,
.dark-mode .match-intro-date,
.dark-mode .pm-empty,
.dark-mode .standings-league-name,
.dark-mode .standings-tab,
.dark-mode .standings-table th,
.dark-mode .standings-legend,
.dark-mode .last6-title,
.dark-mode .last6-list-inner .pm-date,
.dark-mode .last6-list-inner .pm-ht,
.dark-mode .last6-list-inner .pm-league-abbr,
.dark-mode .perf-league-name,
.dark-mode .perf-position,
.dark-mode .perf-form-table th,
.dark-mode .perf-stats-table th,
.dark-mode .perf-stats-table td:first-child,
.dark-mode .perf-no-data,
.dark-mode .ms-time-tab,
.dark-mode .ms-cat-tab,
.dark-mode .ms-score-ht,
.dark-mode .ms-loading,
.dark-mode .ms-section-header,
.dark-mode .ms-stat-label,
.dark-mode .pea-conf-label,
.dark-mode .pea-stat-label,
.dark-mode .pea-outcome-label,
.dark-mode .pea-sig-desc,
.dark-mode .pea-prob-key,
.dark-mode .pea-weight-text,
.dark-mode .btts-team-name,
.dark-mode .mtr-stats-grid,
.dark-mode .trends-trend-side,
.dark-mode .trends-league-badge {
  color: var(--text-secondary) !important;
}

.dark-mode .pm-row,
.dark-mode .last6-list-inner .pm-row,
.dark-mode .standings-tabs,
.dark-mode .standings-group-tabs,
.dark-mode .standings-table thead tr,
.dark-mode .standings-table tbody tr,
.dark-mode .standings-card tfoot,
.dark-mode .perf-form-table,
.dark-mode .perf-form-table th,
.dark-mode .perf-form-table td,
.dark-mode .perf-stats-table th,
.dark-mode .perf-stats-table td,
.dark-mode .fea-matches-row,
.dark-mode .fea-match-row,
.dark-mode .ms-time-tabs,
.dark-mode .ms-cat-tabs,
.dark-mode .ms-teams-header {
  border-color: var(--border-color) !important;
}

.dark-mode .pm-row:hover,
.dark-mode .last6-list-inner .pm-row:hover,
.dark-mode .standings-table tbody tr:hover,
.dark-mode .standings-table td.sort-active,
.dark-mode .perf-stats-table tbody tr:hover,
.dark-mode .ms-stat-row:hover,
.dark-mode .standings-group-tab:hover,
.dark-mode .standings-nav-tab:hover,
.dark-mode .last6-tab:not(.active):hover,
.dark-mode .pm-view-btn:hover {
  background: var(--bg-hover) !important;
}

.dark-mode .prediction-tab.active,
.dark-mode .pm-tab.active,
.dark-mode .last6-tab.active,
.dark-mode .standings-group-tab.active,
.dark-mode .standings-nav-tab.active,
.dark-mode .standings-secondary-tab.active,
.dark-mode .ms-cat-tab.active {
  background: var(--text-primary) !important;
  color: var(--bg-primary) !important;
  border-color: var(--text-primary) !important;
}

.dark-mode .ms-time-tab.active {
  background: var(--surface-card) !important;
  border-bottom-color: #fb7185 !important;
}

.dark-mode .h2h-bar,
.dark-mode .pm-bar,
.dark-mode .ms-bar-home-wrap,
.dark-mode .ms-bar-away-wrap,
.dark-mode .fhg-separator,
.dark-mode .shg-separator {
  background: var(--bg-tertiary) !important;
}

.dark-mode .standing-row.highlight-home,
.dark-mode .standing-row.highlight-home td {
  background: rgba(34, 197, 94, 0.12) !important;
}

.dark-mode .standing-row.highlight-away,
.dark-mode .standing-row.highlight-away td {
  background: rgba(248, 113, 113, 0.12) !important;
}

.dark-mode .perf-col-highlight {
  background: rgba(96, 165, 250, 0.18) !important;
  color: #bfdbfe !important;
}

.dark-mode .last6-tabs-fade-right {
  background: linear-gradient(to right, transparent, var(--surface-card) 80%) !important;
}

.dark-mode .ms-val-home,
.dark-mode .standings-tab.active,
.dark-mode a.standings-league-name:hover {
  color: #fb7185 !important;
}

.dark-mode .ms-bar-away-fill,
.dark-mode .ms-poss-away {
  background: #60a5fa !important;
}

/* Deep stats markets: Over/Under, BTTS and Match Tempo Radar */
.dark-mode .ou-card,
.dark-mode .btts-card,
.dark-mode .mtr-card {
  background: var(--surface-card) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.dark-mode .ou-team-card,
.dark-mode .btts-timeline-wrap,
.dark-mode .btts-signals-block,
.dark-mode .mtr-stat-row {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.dark-mode .ou-tab,
.dark-mode .btts-tab {
  background: var(--bg-secondary) !important;
  color: var(--text-secondary) !important;
  border-color: var(--border-color) !important;
}

.dark-mode .ou-tab.active,
.dark-mode .btts-tab.active {
  background: var(--text-primary) !important;
  color: var(--bg-primary) !important;
  border-color: var(--text-primary) !important;
}

.dark-mode .ou-gauge-title,
.dark-mode .ou-team-name,
.dark-mode .btts-hero-verdict,
.dark-mode .btts-team-name,
.dark-mode .btts-signal-name,
.dark-mode .btts-tl-name,
.dark-mode .mtr-team-name,
.dark-mode .mtr-mini-val,
.dark-mode .mtr-verdict-text strong,
.dark-mode .ou-verdict-text strong,
.dark-mode .btts-verdict-label strong {
  color: var(--text-primary) !important;
}

.dark-mode .ou-gauge-lbl,
.dark-mode .ou-gauge-sub,
.dark-mode .ou-stat-lbl,
.dark-mode .ou-games-label,
.dark-mode .ou-verdict-text,
.dark-mode .btts-gauge-lbl,
.dark-mode .btts-hero-sub,
.dark-mode .btts-tl-title,
.dark-mode .btts-tl-note,
.dark-mode .btts-tl-count,
.dark-mode .btts-tl-empty,
.dark-mode .btts-legend-item,
.dark-mode .btts-signals-title,
.dark-mode .btts-signal-desc,
.dark-mode .btts-verdict-label,
.dark-mode .mtr-vs,
.dark-mode .mtr-legend-item,
.dark-mode .mtr-stat-label,
.dark-mode .mtr-verdict-text {
  color: var(--text-secondary) !important;
}

.dark-mode .ou-bar-wrap,
.dark-mode .btts-bar-wrap,
.dark-mode .btts-signal-bar-wrap,
.dark-mode .mtr-mini-bar-wrap {
  background: var(--bg-tertiary) !important;
}

.dark-mode .ou-verdict,
.dark-mode .btts-verdict-footer,
.dark-mode .mtr-verdict {
  background: linear-gradient(135deg, #101a2d 0%, #1e3150 100%) !important;
  border: 1px solid var(--border-color) !important;
}

.dark-mode .mtr-logo {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}

.dark-mode .btts-hero {
  border-bottom-color: var(--border-color) !important;
}

/* Writer dashboard */
.writer-dashboard {
  background: var(--surface-card) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: var(--shadow-card) !important;
}

.writer-dashboard .writer-header,
.writer-dashboard .action-buttons {
  border-color: var(--border-color) !important;
}

.writer-dashboard .writer-title,
.writer-dashboard .form-label {
  color: var(--text-primary) !important;
}

.writer-dashboard .form-control,
.writer-dashboard .ts-control,
.writer-dashboard .ts-dropdown,
.writer-dashboard .ts-dropdown .option,
.writer-dashboard .ts-dropdown .create,
.writer-dashboard .ts-dropdown .no-results,
.writer-dashboard .ts-dropdown .active,
.writer-dashboard .ts-wrapper.single .ts-control,
.writer-dashboard .ts-wrapper.multi .ts-control {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.writer-dashboard .form-control:focus,
.writer-dashboard .ts-wrapper.focus .ts-control {
  background: var(--surface-card) !important;
  border-color: var(--accent-blue) !important;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.16) !important;
}

.writer-dashboard .form-control::placeholder,
.writer-dashboard .ts-control input::placeholder {
  color: var(--text-tertiary) !important;
}

.writer-dashboard .ts-dropdown .optgroup-header {
  background: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}

.writer-dashboard .ts-dropdown .option:hover,
.writer-dashboard .ts-dropdown .active {
  background: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}

.writer-dashboard .btn-save {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
}

.writer-dashboard .btn-save:hover {
  background: var(--bg-tertiary) !important;
}

.writer-dashboard .tox-tinymce,
.writer-dashboard .tox-editor-container,
.writer-dashboard .tox-editor-header,
.writer-dashboard .tox-toolbar,
.writer-dashboard .tox-toolbar__primary,
.writer-dashboard .tox-toolbar-overlord,
.writer-dashboard .tox-statusbar {
  background: var(--surface-card) !important;
  border-color: var(--border-color) !important;
}

.writer-dashboard .tox .tox-tbtn,
.writer-dashboard .tox .tox-mbtn,
.writer-dashboard .tox .tox-statusbar,
.writer-dashboard .tox .tox-statusbar a,
.writer-dashboard .tox .tox-statusbar__path-item,
.writer-dashboard .tox .tox-tbtn svg {
  color: var(--text-secondary) !important;
  fill: var(--text-secondary) !important;
}

.writer-dashboard .tox .tox-tbtn:hover,
.writer-dashboard .tox .tox-mbtn:hover {
  background: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}

/* Match previews list and detail pages */
.previews-page,
.match-preview-container {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}

.previews-hero {
  background: linear-gradient(135deg, #102653 0%, #21406f 100%) !important;
  border: 1px solid rgba(148, 163, 184, 0.22);
}

.previews-hero h1 {
  color: #ffffff !important;
}

.previews-hero p {
  color: rgba(226, 232, 240, 0.82) !important;
}

.pv-card,
.rec-pv-card,
.match-preview-container,
.mp-poll-card,
.mp-dashboard-card,
.form-timeline-box,
.mp-h2h-box,
.mp-lineup-card,
.mp-team-news-card {
  background: var(--surface-card) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.pv-card:first-child,
.pv-card,
.mp-title,
.rec-previews-section,
.mp-dash-title,
.metric-compare-row,
.h2h-table th,
.h2h-table td {
  border-color: var(--border-color) !important;
}

.pv-card:hover,
.rec-pv-card:hover,
.mp-poll-btn:hover,
.h2h-table tbody tr:hover {
  background: var(--bg-secondary) !important;
}

.pv-title,
.rec-previews-title,
.rec-pv-title,
.mp-title,
.mp-content h2,
.mp-content h3,
.mp-stats-bar .view-count,
.mp-stats-bar .view-count .count-num,
.mp-poll-label-row,
.mp-dash-title,
.pick-verdict,
.form-team-header,
.elo-value-badge,
.h2h-score-badge,
.h2h-table td,
.mp-lineup-title,
.mp-team-news-title {
  color: var(--text-primary) !important;
}

.pv-excerpt,
.pv-date,
.previews-empty,
.gl-page-info,
.mp-meta,
.mp-content,
.mp-content blockquote,
.mp-stats-bar,
.mp-poll-title,
.mp-poll-btn .team-name,
.prob-header,
.metric-label,
.elo-team-name,
.pick-subtext,
.h2h-table th,
.rec-pv-league,
.mp-lineup-meta,
.mp-team-news-meta {
  color: var(--text-secondary) !important;
}

.pv-league,
.mp-meta .league-name {
  color: #60a5fa !important;
}

.pv-badge,
.mp-meta .preview-badge,
.mp-meta .stats-badge {
  background: rgba(248, 113, 113, 0.16) !important;
  border-color: rgba(248, 113, 113, 0.28) !important;
  color: #fca5a5 !important;
}

.mp-meta .compare-badge {
  background: rgba(167, 139, 250, 0.16) !important;
  border-color: rgba(167, 139, 250, 0.28) !important;
  color: #c4b5fd !important;
}

.mp-content blockquote,
.mp-stats-bar,
.mp-poll-btn,
.prob-bar-track,
.mp-poll-bar-wrapper,
.elo-value-badge,
.h2h-score-badge,
.gl-page-btn,
.gl-page-btn.disabled {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}

.gl-page-btn {
  color: var(--text-primary) !important;
  box-shadow: none !important;
}

.gl-page-btn:hover:not(.disabled) {
  background: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}

.gl-page-btn.active {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #ffffff !important;
}

.gl-page-btn.text-btn {
  color: #f87171 !important;
}

.gl-page-btn.text-btn:hover:not(.disabled) {
  background: rgba(248, 113, 113, 0.12) !important;
  border-color: rgba(248, 113, 113, 0.24) !important;
  color: #fca5a5 !important;
}

.mp-poll-btn,
.mp-poll-btn .team-name,
.mp-poll-title,
.prob-header,
.metric-label,
.pick-subtext {
  color: var(--text-secondary) !important;
}

.mp-poll-btn:hover {
  color: var(--text-primary) !important;
}

.rec-pv-card:hover .rec-pv-title {
  color: #60a5fa !important;
}

.rec-pv-league {
  color: #f87171 !important;
}

/* Match statistics: sample-style dark surface, tabs, and event rows. */
.dark-mode .ms-card {
  background: #071923 !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
  color: #eaf2fb !important;
}

.dark-mode .ms-time-tabs,
.dark-mode .ms-cat-tabs {
  background: #071923 !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
}

.dark-mode .ms-time-tab {
  background: #071923 !important;
  color: #d6e2ef !important;
}

.dark-mode .ms-time-tab:hover {
  background: rgba(19, 54, 67, 0.72) !important;
  color: #ffffff !important;
}

.dark-mode .ms-time-tab.active {
  background: #071923 !important;
  border-bottom-color: #f00649 !important;
  color: #ffffff !important;
}

.dark-mode .ms-cat-tab {
  background: #12313c !important;
  border-color: rgba(20, 184, 166, 0.12) !important;
  color: #d7e3f5 !important;
}

.dark-mode .ms-cat-tab:hover {
  background: #174353 !important;
  color: #ffffff !important;
}

.dark-mode .ms-cat-tab.active {
  background: #d4003f !important;
  border-color: #d4003f !important;
  color: #ffffff !important;
}

.dark-mode .ms-summary-wrap {
  background: #071923 !important;
  padding: 16px 18px 22px !important;
}

.dark-mode .ms-summary-wrap .ms-half-header,
.dark-mode .ms-half-header {
  background: #082d37 !important;
  color: #f8fafc !important;
}

.dark-mode .ms-summary-wrap .ms-half-header {
  border-radius: 6px !important;
  margin: 8px 0 !important;
  padding: 12px 18px !important;
}

.dark-mode .ms-summary-wrap .ms-half-score {
  background: transparent !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.dark-mode .ms-summary-wrap .ms-event-row {
  background: transparent !important;
  color: #e5eefb !important;
  min-height: 52px !important;
  padding: 10px 18px !important;
}

.dark-mode .ms-summary-wrap .ms-event-row:hover {
  background: rgba(20, 184, 166, 0.08) !important;
}

.dark-mode .ms-summary-wrap .ms-event-minute {
  color: #eaf2fb !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.dark-mode .ms-summary-wrap .ms-event-player,
.dark-mode .ms-summary-wrap .ms-event-info > span:not(.ms-event-score):not(.ms-event-yellow-card):not(.ms-event-red-card) {
  color: #f8fafc !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28) !important;
}

.dark-mode .ms-summary-wrap .ms-event-assist {
  color: #b9c9dd !important;
  font-weight: 650 !important;
}

.dark-mode .ms-summary-wrap .ms-event-score {
  background: #06141b !important;
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  min-width: 52px !important;
  padding: 6px 10px !important;
}

.dark-mode .ms-summary-wrap .ms-event-icon.goal:not(.missed-penalty) svg,
.dark-mode .ms-summary-wrap .ms-event-icon.goal:not(.missed-penalty) svg path,
.dark-mode .ms-summary-wrap .ms-event-icon.penalty svg,
.dark-mode .ms-summary-wrap .ms-event-icon.penalty svg path {
  fill: #f8fafc !important;
}

.dark-mode .ms-summary-wrap .ms-event-icon.missed-penalty svg,
.dark-mode .ms-summary-wrap .ms-event-icon.missed-penalty svg path {
  fill: #dc2626 !important;
}

.dark-mode .ms-summary-wrap .ms-event-icon.var svg,
.dark-mode .ms-summary-wrap .ms-event-icon.var svg path {
  fill: #a5b4fc !important;
}

.dark-mode .ms-summary-wrap .ms-event-icon.sub svg path:first-child {
  fill: #fb7185 !important;
}

.dark-mode .ms-summary-wrap .ms-event-icon.sub svg path:last-child {
  fill: #4ade80 !important;
}

/* Site-wide type scale: a modest reduction for denser match pages. */
html,
body {
  font-size: 13px !important;
}

.content,
.left-sidebar,
.right-sidebar,
.page-container,
.layout,
.league,
.sidebar-block,
.sidebar-widget,
.calendar-widget,
.prediction-card,
.stats_parents,
.standings-card,
.team-card,
.ld-card,
.pv-card,
.rec-pv-card,
.match-preview-container {
  font-size: 12.5px !important;
}

.nav-menu,
.search-input,
.nav-search input,
.vip-btn,
.prediction-tab,
.pm-tab,
.status-btn,
.ptype {
  font-size: 13px !important;
}

.nav-option,
.favorites-option,
.login-link,
.signup-link,
.block-title,
.sidebar-widget-header,
.calendar-title #calendarMonth,
.banker-league,
.league-name,
.ld-fixture-team,
.team-name-standing,
.pv-title,
.rec-pv-title,
.pc-name,
.pc-odds,
.pc-percent,
.pc-badge {
  font-size: 12px !important;
}

.center-title,
.standings-title,
.h2h-title,
.ld-title,
.mp-title {
  font-size: 20px !important;
}

.ms-title,
.ms-score {
  font-size: 22px !important;
}

.ms-team-name,
.ms-cat-tab,
.ms-time-tab,
.ms-event-player,
.ms-event-minute,
.ms-half-header,
.pst-player-name,
.pst-stat-cell {
  font-size: 12px !important;
}

.ms-summary-wrap .ms-event-minute {
  font-size: 13px !important;
}

/* ==========================================================================
   Lineups Dark Mode Override
   ========================================================================== */
.dark-mode .msp-name-text {
    color: #f1f5f9 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.8) !important;
}

.dark-mode .msp-num {
    color: rgba(148, 163, 184, 0.95) !important;
}

.dark-mode .msp-number {
    background: rgba(15, 23, 42, 0.9) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,0.2) !important;
}

.dark-mode .ms-sub3-name,
.dark-mode .ms-coach-name,
.dark-mode .ms-bench-name {
    color: #e2e8f0 !important;
}

.dark-mode .ms-sub3-rating {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #cbd5e1 !important;
}

.dark-mode .ms-formation-badge,
.dark-mode .ms-formation-label,
body.dark-mode .ms-formation-badge,
body.dark-mode .ms-formation-label {
    color: #cbd5e1 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85);
}

.dark-mode .ms-team-avg-rating,
.dark-mode .ms-avg-rating-val,
body.dark-mode .ms-team-avg-rating,
body.dark-mode .ms-avg-rating-val {
    color: #e2e8f0 !important;
}

.dark-mode .ms-sub3-rating,
body.dark-mode .ms-sub3-rating {
    color: #fff !important;
}

.dark-mode .ms-sub3-rating.msp-rc-red,
body.dark-mode .ms-sub3-rating.msp-rc-red {
    background: #e8001e !important;
}

.dark-mode .ms-sub3-rating.msp-rc-orange,
body.dark-mode .ms-sub3-rating.msp-rc-orange {
    background: #f97316 !important;
}

.dark-mode .ms-sub3-rating.msp-rc-yellow,
body.dark-mode .ms-sub3-rating.msp-rc-yellow {
    background: #eab308 !important;
}

.dark-mode .ms-sub3-rating.msp-rc-green,
body.dark-mode .ms-sub3-rating.msp-rc-green {
    background: #16a34a !important;
}

.dark-mode .ms-sub3-rating.msp-rc-teal,
body.dark-mode .ms-sub3-rating.msp-rc-teal {
    background: #06b6d4 !important;
}

.dark-mode .ms-sub3-rating.msp-rc-blue,
body.dark-mode .ms-sub3-rating.msp-rc-blue {
    background: #3b47d4 !important;
}

.dark-mode .ms-sub3-rating.msp-rc-gray,
body.dark-mode .ms-sub3-rating.msp-rc-gray {
    background: #64748b !important;
}

.dark-mode .ms-coach-label {
    color: #94a3b8 !important;
}

.dark-mode .ms-bench-col,
.dark-mode .ms-coaches-row {
    background: rgba(15, 23, 42, 0.4) !important;
    border-color: rgba(148, 163, 184, 0.1) !important;
}
