/* The design-proposal score palette, applied to the ranking-feedback layouts. */
:root, [data-bs-theme=dark], [data-bs-theme=light] {
  --bs-body-bg: #080b0e;
  --bs-body-color: #e7eaf0;
  --bs-primary: #4aa8ff;
  --bs-primary-rgb: 117, 152, 247;
  --bs-secondary-color: #a1acc1;
  --bs-tertiary-bg: #111620;
  --bs-border-color: #253b55;
  --bs-link-color: #a8cfff;
  --bs-link-hover-color: #d6f0ff;
  --ah-blue: #4aa8ff;
}

:is(body.ah-app, body.ah-admin-app) {
  --ah-blue: #4aa8ff;
  --ah-muted: #8fa5bd;
  --ah-line: #253b55;
  background: #080b0e;
  color: #e7eaf0;
}
:is(body.ah-app, body.ah-admin-app) main { background: #080b0e; }
:is(body.ah-app, body.ah-admin-app) .footer { background: #080b0e !important; border-top-color: #253140; color: #929db2; }

/* Keep the first branch's sidebar geometry and use the second score view's colors. */
:is(body.ah-app, body.ah-admin-app) :is(.ah-sidebar, .ah-admin-sidebar) {
  background: linear-gradient(180deg, #080d17, #0a111f 68%, #101a2c);
  border-right-color: #253140;
}
:is(body.ah-app, body.ah-admin-app) :is(.ah-sidebar, .ah-admin-sidebar) .navbar-nav + .navbar-nav { border-top-color: #253140; }
:is(body.ah-app, body.ah-admin-app) :is(.ah-sidebar, .ah-admin-sidebar) .nav-link { color: #bbcfe7; }
:is(body.ah-app, body.ah-admin-app) :is(.ah-sidebar, .ah-admin-sidebar) .nav-link i,
:is(body.ah-app, body.ah-admin-app) :is(.ah-sidebar, .ah-admin-sidebar) .dropdown-toggle i { color: #7fc0ea; }
:is(body.ah-app, body.ah-admin-app) :is(.ah-sidebar, .ah-admin-sidebar) .nav-link:hover { background: #151e30 !important; color: #e2efff; }
:is(body.ah-app, body.ah-admin-app) :is(.ah-sidebar, .ah-admin-sidebar) .nav-link[aria-current=page] {
  background: linear-gradient(90deg, #294464, #151e30) !important;
  border-left-color: #4aa8ff;
  color: #aed2ff;
}
:is(body.ah-app, body.ah-admin-app) :is(.ah-sidebar, .ah-admin-sidebar) .dropdown-menu { background: #101827; border-color: #2a4664; }
:is(body.ah-app, body.ah-admin-app) .ah-sidebar-collapse { color: #7fc0ea; }
:is(body.ah-app, body.ah-admin-app) .ah-sidebar-collapse:hover { color: #d6f0ff; }

/* Shared surfaces retain their size and position. */
:is(body.ah-app, body.ah-admin-app) :is(.card, .modal-content, .list-group-item, .config-section) {
  background: #0d121c !important;
  border-color: #253b55 !important;
}
:is(body.ah-app, body.ah-admin-app) :is(.card-header, .modal-header, .editor-toolbar) {
  background: #151c2a !important;
  border-color: #35435b !important;
}
:is(body.ah-app, body.ah-admin-app) :is(.btn-primary, .btn-success) {
  background: #2a8ae8 !important;
  border-color: #4aa8ff !important;
  color: #fff;
}
:is(body.ah-app, body.ah-admin-app) :is(.btn-primary, .btn-success):hover {
  background: #4aa8ff !important;
  border-color: #8fd2ff !important;
}
:is(body.ah-app, body.ah-admin-app) :is(.btn-secondary, .btn-outline-secondary) {
  background: #1a2334 !important;
  border-color: #4b5a78 !important;
  color: #c5d5e9;
}
:is(body.ah-app, body.ah-admin-app) :is(.form-control, .form-select, .custom-select) {
  background: #111827 !important;
  border-color: #2a4664 !important;
  color: #e7eaf0;
}
:is(body.ah-app, body.ah-admin-app) :is(.form-control, .form-select, .custom-select):focus {
  background: #151e32 !important;
  border-color: #4aa8ff !important;
  box-shadow: 0 0 0 3px #4aa8ff29;
}
:is(body.ah-app, body.ah-admin-app) .table thead th { background: #101624 !important; color: #a8bacf !important; }
:is(body.ah-app, body.ah-admin-app) .table tbody :is(td, th) { border-bottom-color: #253140 !important; color: #d9e2ee; }
:is(body.ah-app, body.ah-admin-app) .table tbody tr:hover > :is(td, th) { background: #172138 !important; }

/* Vehicle console, challenge list, and result states use the same navy and periwinkle. */
:is(body.ah-app, body.ah-admin-app) .ah-workspace { background: #080b12; border-color: #35465a; }
:is(body.ah-app, body.ah-admin-app) .ah-workspace .ah-console-copy {
  background: linear-gradient(105deg, #1b253b, #101827 70%) !important;
  border-bottom-color: #2a4664;
}
:is(body.ah-app, body.ah-admin-app) .ah-workspace .ah-console-copy h1 { color: #f1f7ff; }
:is(body.ah-app, body.ah-admin-app) .ah-workspace .ah-console-copy p { color: #a9bcd4; }
:is(body.ah-app, body.ah-admin-app) .ah-workspace .ah-region-map { background: #05080f; border-right-color: #253b55; }
:is(body.ah-app, body.ah-admin-app) .ah-workspace .ah-clock {
  background: radial-gradient(ellipse at 100% 110%, #3c5069, #1d2d40 42%, #0b111d 82%);
  border-left-color: #2a4664;
}
:is(body.ah-app, body.ah-admin-app) .ah-workspace .ah-clock-text small { color: #8fd2ff; }
:is(body.ah-app, body.ah-admin-app) .ah-workspace .ah-map-legend {
  background: #0d1422;
  border-top-color: #253b55;
  color: #aabbd0;
}
:is(body.ah-app, body.ah-admin-app) .ah-map-legend .complete { background: #2a8ae8; border-color: #8fd2ff; }
:is(body.ah-app, body.ah-admin-app) .ah-3d-callout {
  background: linear-gradient(145deg, #1a2436f0, #090f1bf0);
  border-color: #435a75;
  color: #e7f0fa;
}
:is(body.ah-app, body.ah-admin-app) .ah-3d-callout small,
:is(body.ah-app, body.ah-admin-app) .ah-3d-callout b { color: #9db2cc; }
:is(body.ah-app, body.ah-admin-app) .ah-3d-callout[aria-pressed=true] {
  background: linear-gradient(145deg, #284261f5, #111c37f5);
  border-color: #4aa8ff;
  box-shadow: inset 0 1px #d6f0ff33, 0 0 0 1px #4aa8ff33, 0 10px 28px #101a3c80;
}
:is(body.ah-app, body.ah-admin-app) .ah-3d-callout[aria-pressed=true] b { color: #b9d8ff; }
:is(body.ah-app, body.ah-admin-app) .ah-3d-wires path[data-active=true] { stroke: #4aa8ff; filter: drop-shadow(0 0 4px #4aa8ff); }
:is(body.ah-app, body.ah-admin-app) .ah-3d-hotspot { border-color: #c2ddff; stroke: #aad0ff; filter: drop-shadow(0 0 5px #4aa8ff99); }
:is(body.ah-app, body.ah-admin-app) .ah-challenge-results .category-header { border-color: #2a4664; }
:is(body.ah-app, body.ah-admin-app) .ah-challenge-results .category-header .ah-overline { color: #97b5da; }
:is(body.ah-app, body.ah-admin-app) .challenge-button { background: #111827 !important; border-color: #2a4664 !important; }
:is(body.ah-app, body.ah-admin-app) .challenge-button:hover { background: #1b2d43 !important; border-color: #4aa8ff !important; }
:is(body.ah-app, body.ah-admin-app) .challenge-solved { background: #182c44 !important; border-color: #2a8ae8 !important; }
:is(body.ah-app, body.ah-admin-app) .ah-challenge-status { color: #aad0ff; }
:is(body.ah-app, body.ah-admin-app) .ah-challenge-points { border-color: #2a4664; color: #d6f0ff; }
:is(body.ah-app, body.ah-admin-app) .ah-track-nav a { background: #151e30; color: #aec4e0; }
:is(body.ah-app, body.ah-admin-app) .ah-track-nav a:hover { background: #263f5e; color: #e2efff; }

/* The score matrix keeps its existing car image and blue/orange solve lights. */
:is(body.ah-app, body.ah-admin-app).ah-scoreboard-page,
:is(body.ah-app, body.ah-admin-app).ah-scoreboard-page main { background: #080b0e; }
:is(body.ah-app, body.ah-admin-app) #ah-pit.ah-pit--board .ah-pit-scroll { background: #080b12c9; }
:is(body.ah-app, body.ah-admin-app) #ah-pit.ah-pit--board #ah-lanes > .ah-track-head { background: #101624; }
:is(body.ah-app, body.ah-admin-app) #ah-pit.ah-pit--board .ah-lane:hover { background: #4aa8ff12; }
