/* White app surfaces, black information and red actions.
   Natural photos, club crests and data-driven map colors are not recolored. */
:root {
  --bg: #ffffff;
  --paper: #ffffff;
  --ink: #000000;
  --muted: #666666;
  --line: #e5e5e5;
  --app-accent: #c6283d;
  --blue: var(--app-accent); /* Legacy app-action token; brand cards use --brand. */
}

body, #app, .content { background-color: #ffffff; color: #000000; }
.home-contests-head h2 { color: #000000; }
.sidebar, .topbar, .mobile-bottom { background: #ffffff; border-color: var(--line); }
.topbar .searchbox { background: #ffffff; border-color: var(--line); }
.topbar .sport-selector, .logo, .nav-item, .mobile-bottom button { color: #000000; }
.logo .brand-icon { background: var(--app-accent); color: #ffffff; box-shadow: none; }
.logo > span[style] { color: var(--app-accent) !important; }
.header-profile .avatar, .profile .avatar { background: #ffffff !important; color: #000000; }
.sidebar-bottom .invite-box, .wallet-shortcut {
  background: #ffffff; color: #000000; border-color: #e5e5e5;
}
.sidebar-bottom .invite-box strong, .sidebar-bottom .invite-box button { color: #000000; }

.btn.primary {
  background: var(--app-accent);
  border-color: var(--app-accent);
  color: #ffffff;
  box-shadow: none;
}
.btn.primary:hover { background: #a91f32; border-color: #a91f32; }
.btn.outline { background: #ffffff; color: #000000; border-color: #dadada; }
.btn.outline:hover { background: #ffffff; border-color: #888888; }
.nav-item.active, .nav-item.active:hover {
  background: #ffffff;
  color: #000000;
  box-shadow: inset 3px 0 var(--app-accent);
}
[dir="rtl"] .nav-item.active { box-shadow: inset -3px 0 var(--app-accent); }
.nav-item.active svg, .mobile-bottom button.active svg { color: var(--app-accent); }
.mobile-bottom button.active { color: #000000; font-weight: 800; }

.home-contest, .home-contest.blue, .home-contest.violet, .home-contest.gold {
  background: #ffffff;
  color: #000000;
  border-color: #e5e5e5;
  box-shadow: inset 0 3px var(--app-accent);
}
.home-contest.violet { box-shadow: inset 0 3px #8b479b; }
.home-contest.gold { box-shadow: inset 0 3px #b47a18; }
.home-contest > b, .home-contest.violet > b, .home-contest.gold > b,
.home-contest > span, .home-contest > em { color: #000000; }
.home-contest > small { color: #666666; }
.home-contest > em { text-decoration: underline; text-underline-offset: 3px; }
.home-contests-head a, .home-personalize a, .text-link,
.football-fixture-bottom .text-link, .football-player-events > button span:last-child {
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.home-personalize, .home-personalize p { background: #ffffff; color: #000000; }

.football-page, .football-page h1, .football-page h2, .football-page h3,
.football-page .football-entity-link, .football-table { color: #000000; }
.football-table thead, .football-points { color: #000000; background: #ffffff; }
.football-tabs button { color: #000000; }

.football-tabs button[aria-current="page"] {
  color: #000000;
  border-bottom-color: var(--app-accent);
}
.football-stat-track { background: #e5e5e5; }
.football-stat-track i { background: var(--app-accent); }

.fan-map { color: #000000; }
.fan-map select, .fan-map .fm-compare-selectors select,
.fan-map input { color: #000000; background: #ffffff; accent-color: var(--app-accent); }
.fan-map .fm-location-search > input { background: #ffffff !important; }
.fm-heading .fm-kicker, .fm-map-hint, .fm-panel-label,
.fm-total > span, .fm-leading small, .fm-split-row small,
.fm-compare-selectors label, .fm-selection-card > small,
.fm-fairness, .fm-fairness p { color: #666666; }
.fm-fairness summary { color: #000000; }
.fm-leading, .fm-selection-card { background: #ffffff; color: #000000; }
.fm-heading h1, .fm-heading h2, .fm-total b, .fm-leading b,
.fm-split-row b, .fm-split-row strong, .fm-tabs a, .fm-cities > button { color: #000000; }
.fm-button { background: #ffffff; color: #000000; border-color: #dadada; }
.fm-button:hover { background: #ffffff; border-color: #888888; }
.fm-button.selected, .fm-tabs .fm-button.selected {
  background: #ffffff;
  color: #000000;
  border-color: var(--app-accent);
  box-shadow: inset 0 -2px var(--app-accent);
}
.fm-button.fm-primary { background: var(--app-accent); border-color: var(--app-accent); color: #ffffff; }
.fm-button.fm-primary:hover { background: #a91f32; border-color: #a91f32; }
.fm-match-strip > button { background: #ffffff; color: #000000; }
.fm-match-strip > button.selected { border-color: var(--app-accent); box-shadow: inset 0 0 0 1px var(--app-accent); }
.fm-map-controls .fm-button { background: #ffffff; color: #000000; border-color: #dadada; }
.fm-map-caption, .fm-map-caption span, .fm-map-caption b,
.fm-map-credit, .fm-map-credit a { background: #ffffff; color: #000000; }
.fm-cities > button.selected { color: #000000; font-weight: 800; }
.fm-data-actions .fm-button, .fo-step-icon { background: #ffffff; color: #000000; }

.contest-cover, .brand-blue .contest-cover, .brand-violet .contest-cover,
.brand-gold .contest-cover, .cup-brand-header,
.cup-brand-header.brand-blue, .cup-brand-header.brand-violet, .cup-brand-header.brand-gold {
  background: #ffffff;
  color: #000000;
}
.contest-cover :is(h1,h2,h3,p,span,strong,b,small),
.cup-brand-header :is(h1,h2,h3,p,span,strong,b,small) { color: #000000; }
.contest-card-cta, .brand-blue .contest-card-cta, .brand-gold .contest-card-cta {
  background: #ffffff;
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.btn:focus-visible, button:focus-visible, a:focus-visible { outline-color: var(--app-accent); }
