/* Bolada Bingo shared visual language: printed 90-ball ticket, warm paper, orange ink. */
:root {
  --ticket-paper: #fffdf8;
  --ticket-paper-soft: #fbf0e3;
  --ticket-blank: #f6e4d1;
  --ticket-line: #e4a267;
  --ticket-line-soft: #efc69f;
  --ticket-orange: #d67629;
  --ticket-orange-dark: #a9511c;
  --ticket-ink: #4d2b1a;
  --ticket-shadow: 0 12px 28px rgba(107, 55, 20, .13);
}

/* Administration and terminal screens share the same paper-and-ink base. */
body:not(.hub-dark-mode):not(.admin-dark-mode):not(.tv-broadcast-body) {
  background: #f7eee4;
  color: var(--ticket-ink);
}

body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) .main-header {
  background: var(--ticket-paper);
  border-bottom: 1px solid var(--ticket-line-soft);
}

body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) .content-wrapper {
  background: radial-gradient(circle at 90% 0%, rgba(228, 162, 103, .18), transparent 28%), #f7eee4;
}

body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) .content-header h1,
body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) .breadcrumb-item.active {
  color: var(--ticket-orange-dark);
}

body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) .card,
body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) .module-card,
body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) .info-box {
  border: 1px solid var(--ticket-line-soft);
  border-radius: 3px;
  background: var(--ticket-paper);
  box-shadow: var(--ticket-shadow);
}

body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) .card-header {
  border-bottom: 1px solid var(--ticket-line-soft);
  background: linear-gradient(90deg, #fff7ed, var(--ticket-paper-soft));
  color: var(--ticket-orange-dark);
}

body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) table thead th {
  border-color: var(--ticket-line-soft);
  background: #f3ddc7;
  color: #7b431f;
}

body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) table td {
  border-color: #f0d9c2;
}

body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) .form-control,
body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) input,
body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) select,
body:not(.hub-mode):not(.player-mode):not(.public-auth-mode):not(.cambista-mode):not(.admin-dark-mode) textarea {
  border-color: #e5b17d;
  background: #fffefa;
  color: var(--ticket-ink);
}

/* Public participant and cambista surfaces. */
#hub-shell,
#player-shell,
.public-auth-shell,
.cambista-terminal {
  --surface: var(--ticket-paper);
  --surface-soft: var(--ticket-paper-soft);
  --line: var(--ticket-line-soft);
  --accent: var(--ticket-orange);
  --accent-dark: var(--ticket-orange-dark);
  --ink: var(--ticket-ink);
  color: var(--ink);
}

#hub-shell .hub-topbar,
#player-shell .player-topbar,
.public-auth-topbar,
.cambista-terminal-header {
  background: rgba(255, 253, 248, .97);
  border-bottom: 1px solid var(--ticket-line-soft);
  color: var(--ticket-ink);
}

#hub-shell .hub-content,
#player-shell .player-content,
.public-auth-main,
.cambista-terminal-main {
  background: linear-gradient(155deg, #f5e4d2 0%, #fbf8f2 58%, #f1d9bf 100%);
}

#hub-shell .hub-countdown-card,
#hub-shell .hub-info-card,
#hub-shell .hub-prize-bar,
#hub-shell .hub-donation-card,
#hub-shell .hub-history-card,
#hub-shell .hub-bottom-card,
#hub-shell .hub-promo,
#hub-shell .hub-promo-configured,
#player-shell .player-toolbar,
#player-shell .player-panel,
#player-shell .player-live-card,
#player-shell .player-reference-card,
#player-shell .player-purchased-ticket,
.public-auth-card,
.cambista-terminal .terminal-card,
.cambista-terminal .cambista-section-card {
  border-color: var(--ticket-line-soft) !important;
  border-radius: 3px !important;
  background: var(--ticket-paper) !important;
  box-shadow: var(--ticket-shadow);
}

#hub-shell h1,
#hub-shell h2,
#hub-shell h3,
#player-shell h1,
#player-shell h2,
#player-shell h3,
.public-auth-card h1,
.cambista-terminal h1,
.cambista-terminal h2 {
  color: var(--ticket-orange-dark);
}

#hub-shell .hub-nav {
  background: #3a291e !important;
  border-bottom: 1px solid #8f5126;
}

#hub-shell .hub-nav a,
#hub-shell .hub-theme-toggle {
  color: #f7dbc0 !important;
  border-color: rgba(239, 189, 139, .35) !important;
  background: rgba(255, 250, 242, .08) !important;
  box-shadow: 0 3px 0 rgba(62, 27, 8, .28);
}

#hub-shell .hub-nav a:hover,
#hub-shell .hub-nav a.is-active {
  color: #fffaf3 !important;
  border-color: #f0b172 !important;
  background: linear-gradient(135deg, #e08a3b, #b95b20) !important;
  box-shadow: 0 5px 0 rgba(86, 36, 10, .3);
}

#hub-shell .hub-nav a i:first-child,
#hub-shell .hub-nav a.is-active i:first-child,
#hub-shell .hub-nav-status i {
  color: #f0a35f !important;
}

#hub-shell .hub-nav a.is-active i:first-child {
  color: #fffaf3 !important;
}

#hub-shell .hub-nav-status,
#hub-shell .hub-nav-note {
  color: #e8c6a4 !important;
}

#hub-shell .hub-countdown-card {
  border: 1px solid var(--ticket-line) !important;
  background: var(--ticket-paper) !important;
  box-shadow: var(--ticket-shadow) !important;
}

#hub-shell .hub-countdown-card .hub-live-label,
#hub-shell .hub-countdown-card .hub-countdown-card small,
#hub-shell .hub-countdown-card .hub-countdown b {
  color: var(--ticket-orange-dark) !important;
  text-shadow: none !important;
}

#hub-shell .hub-countdown-card .hub-live-label i {
  color: var(--ticket-orange) !important;
}

#hub-shell .hub-countdown-card .hub-countdown span {
  border: 1px solid var(--ticket-line) !important;
  border-radius: 2px !important;
  background: #fff0df !important;
  color: var(--ticket-orange-dark) !important;
  text-shadow: none !important;
}

#hub-shell .hub-info-card {
  border: 1px solid var(--ticket-line) !important;
  background: var(--ticket-paper) !important;
  color: var(--ticket-ink) !important;
  box-shadow: var(--ticket-shadow) !important;
}

#hub-shell .hub-info-card > div {
  border-color: var(--ticket-line) !important;
}

#hub-shell .hub-info-card small,
#hub-shell .hub-info-card strong,
#hub-shell .hub-info-card > div:first-child strong {
  color: var(--ticket-orange-dark) !important;
}

#hub-shell .hub-prize-bar {
  border: 1px solid var(--ticket-line) !important;
  border-radius: 2px !important;
  background: #fff6eb !important;
  color: var(--ticket-orange-dark) !important;
  box-shadow: var(--ticket-shadow) !important;
}

#hub-shell .hub-prize-bar strong,
#hub-shell .hub-prize-bar span,
#hub-shell .hub-prize-bar span i {
  color: var(--ticket-orange-dark) !important;
}

#hub-shell .hub-prize-bar.hub-accumulated {
  background: linear-gradient(135deg, #b9571d, #8e3d15) !important;
  color: #fffaf3 !important;
}

#hub-shell .hub-prize-bar.hub-accumulated strong,
#hub-shell .hub-prize-bar.hub-accumulated span,
#hub-shell .hub-prize-bar.hub-accumulated span i {
  color: #fffaf3 !important;
}

#hub-shell .hub-donation-card,
#hub-shell .hub-donation-card-locked {
  border: 1px solid var(--ticket-line) !important;
  background: var(--ticket-paper) !important;
  color: var(--ticket-ink) !important;
  box-shadow: var(--ticket-shadow) !important;
}

#hub-shell .hub-donation-draw,
#hub-shell .hub-upcoming-draws {
  border-color: var(--ticket-line-soft) !important;
  background: var(--ticket-paper-soft) !important;
  color: var(--ticket-ink) !important;
}

#hub-shell .hub-donation-draw span,
#hub-shell .hub-donation-draw strong,
#hub-shell .hub-donation-draw small,
#hub-shell .hub-next-draw-chevron,
#hub-shell .hub-donation-draw span i {
  color: var(--ticket-orange-dark) !important;
}

#hub-shell .hub-amount-button {
  border: 1px solid var(--ticket-line) !important;
  border-radius: 2px !important;
  background: #fffaf3 !important;
  color: var(--ticket-orange-dark) !important;
}

#hub-shell .hub-amount-button:hover,
#hub-shell .hub-amount-button.is-selected {
  background: var(--ticket-orange) !important;
  color: #fffaf3 !important;
}

#hub-shell .hub-donation-row > button:not(.hub-donate-button),
#hub-shell .hub-donation-row output,
#hub-shell .hub-donate-button,
#hub-shell .hub-ticket-button {
  border-color: var(--ticket-orange-dark) !important;
  background: linear-gradient(135deg, #e08a3b, #b95b20) !important;
  color: #fffaf3 !important;
}

#hub-shell .hub-donation-note,
#hub-shell .hub-donation-locked,
#hub-shell .hub-donation-locked-next {
  color: #80614a !important;
}

#hub-shell .hub-promo:not(.hub-promo-configured) {
  border: 1px solid var(--ticket-line) !important;
  background: linear-gradient(135deg, #fff5e8, #f2d1b0) !important;
  color: var(--ticket-ink) !important;
  box-shadow: var(--ticket-shadow) !important;
}

#hub-shell .hub-promo:not(.hub-promo-configured) > div > span,
#hub-shell .hub-promo:not(.hub-promo-configured) > div > strong,
#hub-shell .hub-promo:not(.hub-promo-configured) > div > small {
  color: var(--ticket-orange-dark) !important;
  text-shadow: none !important;
}

#hub-shell .hub-promo:not(.hub-promo-configured) .hub-promo-burst,
#hub-shell .hub-promo:not(.hub-promo-configured) .hub-promo-ball {
  border-color: var(--ticket-orange) !important;
  background: #fffaf3 !important;
  color: var(--ticket-orange-dark) !important;
}

#hub-shell .hub-history-card,
#hub-shell .hub-bottom-card {
  border-color: var(--ticket-line) !important;
  background: var(--ticket-paper) !important;
  box-shadow: var(--ticket-shadow) !important;
}

#hub-shell .hub-card-title,
#hub-shell .hub-card-title a,
#hub-shell .hub-bottom-card strong {
  color: var(--ticket-orange-dark) !important;
}

#hub-shell .hub-history-card li,
#hub-shell .hub-bottom-card p {
  color: #80614a !important;
}

#hub-shell a,
#player-shell a,
.public-auth-shell a,
.cambista-terminal a {
  color: var(--ticket-orange-dark);
}

#hub-shell button,
#player-shell button,
.public-auth-submit,
.cambista-terminal button,
.cambista-terminal .download {
  border-color: var(--ticket-orange-dark);
}

#hub-shell .hub-primary-action,
#hub-shell .hub-buy-button,
#player-shell .player-primary-action,
#player-shell .player-buy-button,
.public-auth-submit,
.cambista-terminal .cambista-primary-action {
  background: linear-gradient(135deg, #e58c3c, #b85c20) !important;
  color: #fffaf3 !important;
  box-shadow: 0 7px 14px rgba(167, 79, 24, .2);
}

/* Official 90-ball ticket: three rows, nine columns, five numbers per row. */
.player-ticket-grid-90,
.player-live-card-grid-90,
.player-reference-nearest-card-grid-90,
.ticket-mini-grid-90,
.hub-wallet-ticket-grid,
.mini-grid.ticket-grid-90 {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 0;
  overflow: hidden;
  padding: 2px;
  border: 1px solid var(--ticket-orange);
  border-radius: 2px;
  background: var(--ticket-line);
}

.player-ticket-grid-90 > *,
.player-live-card-grid-90 > *,
.player-reference-nearest-card-grid-90 > *,
.ticket-mini-grid-90 > *,
.hub-wallet-ticket-grid > *,
.mini-grid.ticket-grid-90 > * {
  display: grid;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1.35 / 1;
  place-items: center;
  border: 1px solid var(--ticket-line-soft);
  border-radius: 0;
  background: var(--ticket-paper);
  color: var(--ticket-orange-dark);
  font-weight: 800;
}

.player-ticket-grid-90 > .is-empty,
.player-live-card-grid-90 > .is-empty,
.player-reference-nearest-card-grid-90 > .is-empty,
.ticket-mini-grid-90 > .is-empty,
.hub-wallet-ticket-grid > .is-empty,
.mini-grid.ticket-grid-90 > .blank {
  background: var(--ticket-blank);
  color: transparent;
}

.player-ticket-grid-90 > .is-called,
.player-ticket-grid-90 > .is-marked,
.player-live-card-grid-90 > .is-called,
.player-live-card-grid-90 > .is-marked,
.mini-grid.ticket-grid-90 > .hit {
  border-color: #bd5b1d;
  background: #e98b3e;
  color: #fffaf3;
}

.player-ticket-grid-90,
.player-live-card-grid-90,
.player-reference-nearest-card-grid-90 {
  width: min(100%, 620px);
  margin-inline: auto;
}

.player-purchased-ticket.is-90-ball,
.player-live-card.is-90-ball {
  padding: 12px;
}

.ticket-mini-grid-90 {
  width: min(230px, 100%);
}

.ticket-mini-grid-90 > *,
.hub-wallet-ticket-grid > * {
  font-size: 10px;
}

.hub-wallet-ticket-grid {
  width: min(250px, 100%);
}

/* TV keeps the high-contrast broadcast layout while adopting the same ticket ink. */
body.tv-broadcast-body {
  background: #211810;
  color: #fff8ef;
}

body.tv-broadcast-body .board,
body.tv-broadcast-body .ticket,
body.tv-broadcast-body .waiting-screen,
body.tv-broadcast-body .schedule,
body.tv-broadcast-body .participants {
  border-color: #bc7135;
  background: #2f2118;
}

body.tv-broadcast-body .mini-grid.ticket-grid-90 {
  background: #bc7135;
  border-color: #e4a267;
}

body.tv-broadcast-body .mini-grid.ticket-grid-90 > span {
  border-color: #e8ba8e;
  background: #fffaf3;
  color: #a9511c;
}

body.tv-broadcast-body .mini-grid.ticket-grid-90 > span.blank {
  background: #f3dfca;
  color: transparent;
}

body.tv-broadcast-body .mini-grid.ticket-grid-90 > span.hit {
  border-color: #9d4517;
  background: #d67629;
  color: white;
}

body.tv-broadcast-body .mini-grid.ticket-grid-90 > span.missing {
  border-color: #dbb386;
  background: #fff1dc;
  color: #7d4827;
}

/* TV cleanup: keep the broadcast board blue and reserve the numbered sample
   panel for numbers only. The ticket paper palette remains in use elsewhere. */
body.tv-broadcast-body {
  background: #4784e8 url('/public/reference/sky.jpg') center / cover fixed !important;
  color: #ffffff !important;
}
body.tv-broadcast-body .board {
  border-color: rgba(116, 185, 255, 0.62) !important;
  background: linear-gradient(145deg, rgba(8, 31, 67, 0.97), rgba(5, 15, 34, 0.99)) !important;
  box-shadow: 0 16px 42px rgba(1, 16, 42, 0.52), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}
body.tv-broadcast-body .schedule {
  border-color: rgba(120, 181, 247, 0.42) !important;
  background: rgba(7, 26, 58, 0.82) !important;
}
body.tv-broadcast-body .waiting-screen {
  border-color: rgba(132, 202, 255, 0.7) !important;
  background: radial-gradient(ellipse at center, rgba(20, 64, 118, 0.97), rgba(8, 25, 55, 0.99) 72%, rgba(5, 13, 29, 1)) !important;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.58), 0 0 45px rgba(63, 151, 239, 0.2) !important;
}
body.tv-broadcast-body .participants {
  border: 0 !important;
  background: transparent !important;
}
body.tv-broadcast-body .ticket.ticket-numbers-only {
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.tv-broadcast-body .tickets:has(.ticket-numbers-only) > footer {
  display: none !important;
}
body.tv-broadcast-body .ticket-numbers-only .mini-grid.ticket-grid {
  gap: 4px;
  padding: 8px;
  border: 1px solid rgba(137, 196, 255, 0.52);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(7, 34, 76, 0.96), rgba(5, 18, 42, 0.98));
  box-shadow: 0 8px 18px rgba(0, 12, 32, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
body.tv-broadcast-body .ticket-numbers-only .mini-grid.ticket-grid > span {
  min-height: 25px;
  padding: 4px 0;
  border: 1px solid rgba(154, 203, 255, 0.22);
  border-radius: 5px;
  color: #e9f4ff;
  background: rgba(13, 34, 65, 0.92);
  font-size: 11px;
  font-weight: 900;
}
body.tv-broadcast-body .ticket-numbers-only .mini-grid.ticket-grid > span.blank {
  color: transparent;
  background: rgba(7, 18, 38, 0.62);
}
body.tv-broadcast-body .ticket-numbers-only .mini-grid.ticket-grid > span.hit {
  border-color: #9af4bb;
  color: #062014;
  background: linear-gradient(145deg, #51df78, #1aa65a);
}
body.tv-broadcast-body .ticket-numbers-only .mini-grid.ticket-grid > span.missing {
  border-color: rgba(255, 220, 116, 0.8);
  color: #ffe48b;
  background: rgba(112, 78, 17, 0.72);
}

/* Keep the last value inside the sphere on every TV aspect ratio. */
body.tv-broadcast-body #live-strip .last-ball {
  width: clamp(130px, 16vw, 230px) !important;
  height: clamp(130px, 16vw, 230px) !important;
  width: min(clamp(130px, 16vw, 230px), 26vh) !important;
  height: min(clamp(130px, 16vw, 230px), 26vh) !important;
  aspect-ratio: 1 !important;
}
body.tv-broadcast-body #live-strip .last-ball.bingo-sphere > small {
  top: 16% !important;
  font-size: 16cqw !important;
}
body.tv-broadcast-body #live-strip .last-ball.bingo-sphere > strong {
  top: 39% !important;
  max-width: 76%;
  overflow: hidden;
  font-size: 34cqw !important;
  line-height: 0.9;
  letter-spacing: -0.06em;
}

/* Small screens retain the proportions of the reference ticket. */
@media (max-width: 640px) {
  .player-ticket-grid-90,
  .player-live-card-grid-90,
  .player-reference-nearest-card-grid-90 {
    width: 100%;
  }

  .player-ticket-grid-90 > *,
  .player-live-card-grid-90 > *,
  .player-reference-nearest-card-grid-90 > * {
    font-size: clamp(11px, 3.6vw, 16px);
  }
}

/* Let the sky artwork show through the prize rail while preserving the
   dotted borders and the active-prize glow. */
body.tv-broadcast-body .prizes {
  background: transparent !important;
}
body.tv-broadcast-body .prizes .prize {
  background: transparent !important;
}

/* Hub light palette: replace the legacy brown paper treatment with a clean
   navy, sky-blue and violet interface while keeping the bingo accents clear. */
body.hub-mode:not(.hub-dark-mode),
body.hub-mode:not(.hub-dark-mode) .content-wrapper {
  background: #eaf3ff !important;
  color: #172554 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell {
  --surface: #ffffff;
  --surface-soft: #f3f7ff;
  --line: #c8d8f5;
  --accent: #4263d8;
  --accent-dark: #263b92;
  --ink: #172554;
  color: #172554;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-topbar {
  background: rgba(255,255,255,.98) !important;
  border-bottom-color: #d7e3fb !important;
  color: #52648f !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-content {
  background: linear-gradient(155deg, #eaf3ff 0%, #d6e7ff 48%, #f7f9ff 100%) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav {
  background: linear-gradient(135deg, #141c39 0%, #263873 100%) !important;
  border-bottom-color: #4058a5 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav a,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-theme-toggle {
  color: #d9e4ff !important;
  border-color: rgba(182,201,255,.28) !important;
  background: rgba(255,255,255,.07) !important;
  box-shadow: 0 3px 0 rgba(9,20,58,.28) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav a:hover,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav a.is-active {
  color: #ffffff !important;
  border-color: #9ea8ff !important;
  background: linear-gradient(135deg, #5368df, #887af5) !important;
  box-shadow: 0 5px 0 rgba(25,32,103,.3), 0 8px 18px rgba(58,71,180,.25) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav a i:first-child,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav-status i {
  color: #aebeff !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav a.is-active i:first-child {
  color: #ffffff !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav-status,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav-note {
  color: #c6d3f6 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card {
  border-color: #ffffff !important;
  background: linear-gradient(145deg, #10245a 0%, #193d91 100%) !important;
  box-shadow: 0 12px 28px rgba(29,67,141,.24) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card .hub-live-label,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card .hub-countdown-card small {
  color: #d8e5ff !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card .hub-live-label i {
  color: #f7c948 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card .hub-countdown span {
  border-color: rgba(184,210,255,.85) !important;
  background: #0b1b4a !important;
  color: #ffe56c !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 8px 18px rgba(3,13,47,.25) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card .hub-countdown b {
  color: #ffe56c !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-card,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-card-locked,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-history-card,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-card {
  border-color: #c8d8f5 !important;
  background: rgba(255,255,255,.96) !important;
  color: #172554 !important;
  box-shadow: 0 10px 24px rgba(38,73,145,.12) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card > div {
  border-color: #dbe6fb !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card small,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card strong,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card > div:first-child strong,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-card-title,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-card-title a,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-card strong {
  color: #2f469f !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar {
  border-color: #b9cbed !important;
  background: linear-gradient(135deg, #173b86, #285fc1) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 16px rgba(28,65,140,.2) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar:nth-child(2) {
  background: linear-gradient(135deg, #087f86, #13a89d) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar:nth-child(3) {
  background: linear-gradient(135deg, #4b3da8, #7864e8) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar.hub-accumulated {
  background: linear-gradient(135deg, #263b92, #5b50c9) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar strong,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar span,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar span i,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar.hub-accumulated strong,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar.hub-accumulated span,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar.hub-accumulated span i {
  color: #ffffff !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar strong {
  color: #ffe56c !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-upcoming-draws {
  border-color: #c8d8f5 !important;
  background: #f3f7ff !important;
  color: #172554 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw span,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw strong,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw small,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-next-draw-chevron,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw span i,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-history-card li,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-card p {
  color: #3d5189 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-amount-button {
  border-color: #b9cbed !important;
  background: #ffffff !important;
  color: #334da9 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-amount-button:hover,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-amount-button.is-selected {
  background: #5669df !important;
  color: #ffffff !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-row > button:not(.hub-donate-button),
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-row output,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-ticket-button {
  border-color: #334da9 !important;
  background: linear-gradient(135deg, #435bc7, #6f63e5) !important;
  color: #ffffff !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donate-button {
  border-color: #078a5d !important;
  background: linear-gradient(135deg, #16b978, #078a5d) !important;
  color: #ffffff !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-primary-action,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-buy-button {
  background: linear-gradient(135deg, #435bc7, #7165e7) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(63,80,194,.24) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) {
  border-color: #c8d8f5 !important;
  background: linear-gradient(135deg, #eef5ff, #d9e7ff) !important;
  color: #172554 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) > div > span,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) > div > strong,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) > div > small {
  color: #2f469f !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) .hub-promo-burst,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) .hub-promo-ball {
  border-color: #6e80e6 !important;
  background: #ffffff !important;
  color: #334da9 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell a {
  color: #334da9;
}

/* Final TV palette for the public Hub. This file is loaded after the shared
   admin sheet, so these scoped rules also win over the legacy ticket palette. */
body.hub-mode #hub-shell {
  color: #f8fbff !important;
  background: radial-gradient(circle at 50% 0%, rgba(38,103,199,.52), transparent 42%), linear-gradient(180deg, rgba(3,14,34,.84), rgba(4,12,27,.97)) !important;
}
body.hub-mode #hub-shell .hub-topbar {
  color: #f8fbff !important;
  background: rgba(5,12,25,.94) !important;
  border-bottom-color: rgba(106,164,236,.25) !important;
  box-shadow: 0 8px 26px rgba(0,0,0,.3) !important;
}
body.hub-mode #hub-shell .hub-logo,
body.hub-mode #hub-shell .hub-logo:hover,
body.hub-mode #hub-shell .hub-logo strong,
body.hub-mode #hub-shell .hub-account-copy strong { color: #fff !important; }
body.hub-mode #hub-shell .hub-logo-mark { color: #071326 !important; background: linear-gradient(145deg,#ffe36f,#c9962d) !important; box-shadow: 0 0 18px rgba(255,214,74,.28) !important; }
body.hub-mode #hub-shell .hub-top-links a,
body.hub-mode #hub-shell .hub-account-copy small { color: #afc5e8 !important; }
body.hub-mode #hub-shell .hub-top-links a:hover { color: #fff !important; background: rgba(40,113,214,.22) !important; }
body.hub-mode #hub-shell .hub-account-avatar { color: #fff !important; background: linear-gradient(145deg,#2584e8,#12428d) !important; }
body.hub-mode #hub-shell .hub-account-signout { color: #dbeafe !important; border-color: #31527f !important; background: rgba(19,44,82,.72) !important; }
body.hub-mode #hub-shell .hub-nav { background: rgba(4,14,31,.94) !important; border-bottom-color: rgba(106,164,236,.2) !important; }
body.hub-mode #hub-shell .hub-nav a,
body.hub-mode #hub-shell .hub-theme-toggle { color: #c5d8f5 !important; border-color: rgba(103,161,230,.28) !important; background: rgba(20,48,88,.7) !important; box-shadow: 0 4px 10px rgba(0,0,0,.22) !important; }
body.hub-mode #hub-shell .hub-nav a:hover,
body.hub-mode #hub-shell .hub-theme-toggle:hover { color: #fff !important; border-color: #4b9af0 !important; background: rgba(30,91,171,.82) !important; }
body.hub-mode #hub-shell .hub-nav a.is-active { color: #fff !important; border-color: #55a8ff !important; background: linear-gradient(135deg,#1f68c5,#123e82) !important; }
body.hub-mode #hub-shell .hub-nav-status,
body.hub-mode #hub-shell .hub-nav-note { color: #9fbce1 !important; }
body.hub-mode #hub-shell .hub-content { background: transparent !important; }
body.hub-mode #hub-shell .hub-countdown-card { border: 2px solid rgba(67,145,236,.7) !important; border-radius: 15px !important; background: linear-gradient(145deg,#0d254c,#07172f) !important; box-shadow: 0 14px 32px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08) !important; }
body.hub-mode #hub-shell .hub-countdown span { color: #ffe600 !important; border: 2px solid #3d99ef !important; border-radius: 10px !important; background: #030d20 !important; text-shadow: 0 0 20px rgba(255,230,0,.25) !important; }
body.hub-mode #hub-shell .hub-countdown b,
body.hub-mode #hub-shell .hub-live-label { color: #ffe600 !important; }
body.hub-mode #hub-shell .hub-countdown-card small { color: #9fc0e9 !important; }
body.hub-mode #hub-shell .hub-info-card { color: #f8fbff !important; border: 1px solid #31527f !important; border-radius: 12px !important; background: #0c1a31 !important; box-shadow: 0 9px 22px rgba(0,0,0,.27) !important; }
body.hub-mode #hub-shell .hub-info-card > div { border-color: #294665 !important; }
body.hub-mode #hub-shell .hub-info-card small { color: #8faed5 !important; }
body.hub-mode #hub-shell .hub-info-card strong { color: #62b3ff !important; }
body.hub-mode #hub-shell .hub-info-card > div:first-child strong { color: #ffd65a !important; }
body.hub-mode #hub-shell .hub-prize-bar { color: #fff !important; border: 1px solid rgba(106,164,236,.38) !important; border-radius: 11px !important; box-shadow: 0 7px 17px rgba(0,0,0,.3) !important; }
body.hub-mode #hub-shell .hub-prize-bar:nth-child(1) { background: linear-gradient(90deg,#173c77,#0c1c36) !important; }
body.hub-mode #hub-shell .hub-prize-bar:nth-child(2) { background: linear-gradient(90deg,#075b50,#073a3a) !important; }
body.hub-mode #hub-shell .hub-prize-bar:nth-child(3) { background: linear-gradient(90deg,#4c2b8a,#241b50) !important; }
body.hub-mode #hub-shell .hub-prize-bar span { color: #f4f8ff !important; }
body.hub-mode #hub-shell .hub-prize-bar span i { color: #f7cf59 !important; }
body.hub-mode #hub-shell .hub-prize-bar strong { color: #ffe36a !important; }
body.hub-mode #hub-shell .hub-accumulated { color: #fff !important; border-color: rgba(245,188,75,.65) !important; background: linear-gradient(90deg,#71331d,#3e1b18) !important; }
body.hub-mode #hub-shell .hub-accumulated strong { color: #ffe58a !important; }
body.hub-mode #hub-shell .hub-accumulated span b { color: #182a4a !important; background: linear-gradient(145deg,#ffe36a,#dc9c2d) !important; }
body.hub-mode #hub-shell .hub-donation-card,
body.hub-mode #hub-shell .hub-history-card,
body.hub-mode #hub-shell .hub-bottom-card { color: #edf5ff !important; border: 1px solid #294666 !important; border-radius: 14px !important; background: linear-gradient(145deg,#101e35,#0a1427) !important; box-shadow: 0 10px 24px rgba(0,0,0,.34) !important; }
body.hub-mode #hub-shell .hub-donation-draw { color: #e9f3ff !important; border-color: #294666 !important; background: #0b1930 !important; }
body.hub-mode #hub-shell .hub-donation-draw span,
body.hub-mode #hub-shell .hub-donation-draw strong { color: #f4f8ff !important; }
body.hub-mode #hub-shell .hub-donation-draw small,
body.hub-mode #hub-shell .hub-donation-note { color: #8faed5 !important; }
body.hub-mode #hub-shell .hub-amount-button { color: #d8e8ff !important; border-color: #31557f !important; background: #142b4b !important; }
body.hub-mode #hub-shell .hub-amount-button:hover { color: #071326 !important; background: #74baff !important; }
body.hub-mode #hub-shell .hub-amount-button.is-selected { color: #17233b !important; border-color: #f2c64f !important; background: #f6d261 !important; }
body.hub-mode #hub-shell .hub-donation-row > button:not(.hub-donate-button),
body.hub-mode #hub-shell .hub-donation-row output,
body.hub-mode #hub-shell .hub-donation-row > strong { color: #edf5ff !important; border-color: #31557f !important; background: #142b4b !important; }
body.hub-mode #hub-shell .hub-donation-row > button:not(.hub-donate-button):first-child,
body.hub-mode #hub-shell .hub-donation-row > button:not(.hub-donate-button):nth-child(3) { color: #fff !important; border-color: #357fd0 !important; background: #1f68c5 !important; }
body.hub-mode #hub-shell .hub-donate-button { color: #18233a !important; border-color: #e2b94f !important; background: linear-gradient(135deg,#ffe07a,#c58b29) !important; }
body.hub-mode #hub-shell .hub-ticket-button { border-color: #3b8be1 !important; background: linear-gradient(135deg,#287ed6,#15478e) !important; }
body.hub-mode #hub-shell .hub-ticket-button strong,
body.hub-mode #hub-shell .hub-ticket-button small { color: #fff !important; }
body.hub-mode #hub-shell .hub-history-card .hub-card-title { color: #f1f6ff !important; }
body.hub-mode #hub-shell .hub-history-card .hub-card-title a { color: #67b7ff !important; }
body.hub-mode #hub-shell .hub-history-card li { color: #9db4d4 !important; border-color: #213b5b !important; }
body.hub-mode #hub-shell .hub-history-card li strong { color: #68d5a7 !important; }
body.hub-mode #hub-shell .hub-bottom-icon { color: #79baff !important; background: #17345b !important; }
body.hub-mode #hub-shell .hub-bottom-icon.green { color: #5be1ad !important; background: #103f3b !important; }
body.hub-mode #hub-shell .hub-bottom-icon.gold { color: #f4ca62 !important; background: #493719 !important; }
body.hub-mode #hub-shell .hub-bottom-card strong { color: #e7f0ff !important; }
body.hub-mode #hub-shell .hub-bottom-card p { color: #9ab1d2 !important; }
body.hub-mode #hub-shell .hub-footer { color: #91a9ca !important; }
body.hub-mode #hub-shell .hub-footer a { color: #d9eaff !important; }

/* Reference-style Caixa colors are scoped to the report route, so other
   admin modules keep their selected theme. */
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode),
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .content-wrapper { color: #343a40 !important; background: #fff !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .main-header { color: #343a40 !important; background: #fff !important; border-bottom-color: #e2e5e9 !important; box-shadow: 0 2px 8px rgba(0,0,0,.06) !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .main-header .nav-link { color: #66717d !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .main-sidebar { color: #d5d9de !important; background: #343a40 !important; border-right: 0 !important; box-shadow: none !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .brand-link { background: #343a40 !important; border-bottom-color: rgba(255,255,255,.1) !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .brand-text strong { color: #fff !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .brand-text small { color: #c8ced5 !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .user-panel { border-color: rgba(255,255,255,.13) !important; background: rgba(255,255,255,.06) !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .user-info a,
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .nav-link { color: #d6dbe1 !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .nav-link:hover { color: #fff !important; background: rgba(255,255,255,.1) !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .sidebar-search input,
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .sidebar-search button { color: #fff !important; background: #3e454d !important; border-color: #5d6670 !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .content-header h1 { color: #343a40 !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .breadcrumb,
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .breadcrumb a { color: #6c757d !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .breadcrumb a { color: #007bff !important; }
body.cashier-reference-mode .cashier-reference-card { border: 1px solid #dee2e6 !important; border-radius: 5px !important; background: #fff !important; box-shadow: 0 3px 10px rgba(0,0,0,.06) !important; }
body.cashier-reference-mode .cashier-reference-card .card-header { color: #343a40 !important; border-bottom: 1px solid #dee2e6 !important; background: #fff !important; }
body.cashier-reference-mode .cashier-reference-card .form-group label { color: #343a40 !important; }
body.cashier-reference-mode .cashier-reference-card .form-control { color: #495057 !important; border-color: #ced4da !important; background: #fff !important; border-radius: 4px !important; }
body.cashier-reference-mode .cashier-reference-card .btn { border-radius: 4px !important; box-shadow: none !important; }
body.cashier-reference-mode .cashier-reference-card .btn-primary { border-color: #007bff !important; background: #007bff !important; }
body.cashier-reference-mode .cashier-report-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:4px 0 18px; padding-bottom:13px; border-bottom:1px solid #e1e4e8; }
body.cashier-reference-mode .cashier-report-toolbar > div { display:flex; gap:8px; }
body.cashier-reference-mode .cashier-report-toolbar .btn-danger { border-color:#dc3545 !important; background:#dc3545 !important; }
body.cashier-reference-mode .cashier-report-toolbar .btn-info { border-color:#007bff !important; background:#007bff !important; }
body.cashier-reference-mode .cashier-report-toolbar h2 { margin:0; color:#343a40 !important; font-size:18px; font-weight:600; }
body.cashier-reference-mode .cashier-summary-table { width:100%; min-width:680px !important; color:#343a40 !important; border:1px solid #dee2e6 !important; border-radius:4px !important; }
body.cashier-reference-mode .cashier-summary-table th { color:#343a40 !important; border-color:#dee2e6 !important; background:#f4f4f4 !important; }
body.cashier-reference-mode .cashier-summary-table td { color:#343a40 !important; border-color:#dee2e6 !important; background:#fff !important; }
body.cashier-reference-mode .cashier-summary-table tbody tr:nth-child(even) td { background:#f8f8f8 !important; }
body.cashier-reference-mode .cashier-summary-table tbody tr.is-total td { color:#111 !important; background:#d7d7d7 !important; font-weight:700; }
body.cashier-reference-mode .cashier-summary-foot { display:flex; justify-content:flex-end; gap:26px; margin:9px 2px 20px; color:#6c757d; font-size:13px; }
body.cashier-reference-mode .cashier-summary-foot strong { margin-left:5px; color:#343a40 !important; }
body.cashier-reference-mode .cashier-stat-cards { display:none !important; }
body.cashier-reference-mode .cashier-reference-card .module-subtitle { margin:22px 0 12px; color:#343a40 !important; font-size:19px; font-weight:600; }
body.cashier-reference-mode .cashier-manager-section { margin:0 0 22px; }
body.cashier-reference-mode .cashier-manager-heading { display:flex; align-items:center; justify-content:center; min-height:42px; padding:8px 14px; color:#fff !important; background:#087ff0 !important; font-size:16px; }
body.cashier-reference-mode .cashier-discharge-badge { display:inline-flex; align-items:center; gap:4px; margin-left:auto; padding:4px 8px; color:#155724 !important; border-radius:12px; background:#d4edda !important; font-size:10px; font-weight:700; }
body.cashier-reference-mode .cashier-manager-section .module-table { width:100%; min-width:789px !important; color:#343a40 !important; border:1px solid #dee2e6 !important; border-top:0 !important; border-radius:0 0 4px 4px !important; }
body.cashier-reference-mode .cashier-manager-section .module-table th,
body.cashier-reference-mode .cashier-manager-section .module-table td { color:#343a40 !important; border-color:#dee2e6 !important; background:#fff !important; }
body.cashier-reference-mode .cashier-manager-section .module-table tbody tr:nth-child(even) td { background:#f6f6f6 !important; }
body.cashier-reference-mode .cashier-manager-section .module-table tbody tr:last-child td { color:#111 !important; background:#d7d7d7 !important; font-weight:700; }
body.cashier-reference-mode .cashier-person { display:inline-flex; align-items:center; gap:7px; }
body.cashier-reference-mode .cashier-person-icon { display:inline-grid; width:22px; height:22px; place-items:center; color:#fff; border-radius:50%; background:#147be8; font-size:10px; }
body.cashier-reference-mode .cashier-quantity { color:#fff !important; background:#147be8 !important; }
@media (max-width:760px) {
  body.cashier-reference-mode .cashier-report-toolbar { align-items:stretch; flex-direction:column-reverse; }
  body.cashier-reference-mode .cashier-report-toolbar > div { display:grid; grid-template-columns:1fr 1fr; }
  body.cashier-reference-mode .cashier-report-toolbar > div,
  body.cashier-reference-mode .cashier-report-toolbar .btn { width:100%; }
  body.cashier-reference-mode .cashier-summary-foot { justify-content:space-between; gap:8px; }
}

/* The Hub uses the same broadcast surfaces as the TV page.  Keep this
   higher-specificity override after the legacy light Hub palette so the
   default public view remains dark even when the admin theme is active. */
body.hub-mode:not(.hub-dark-mode),
body.hub-mode:not(.hub-dark-mode) .content-wrapper {
  color: #edf5ff !important;
  background: #06152d !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell {
  color: #edf5ff !important;
  background: radial-gradient(circle at 50% 0%, rgba(39,107,207,.48), transparent 42%), linear-gradient(180deg, #071a38 0%, #040d20 100%) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-topbar {
  color: #f8fbff !important;
  background: rgba(5,12,25,.96) !important;
  border-bottom-color: rgba(106,164,236,.25) !important;
  box-shadow: 0 8px 26px rgba(0,0,0,.3) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-topbar .hub-logo,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-topbar .hub-logo strong,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-topbar .hub-account-copy strong { color:#fff !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-topbar .hub-top-links a,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-topbar .hub-account-copy small { color:#afc5e8 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-topbar .hub-account-avatar { color:#fff !important; background:linear-gradient(145deg,#2584e8,#12428d) !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-topbar .hub-account-signout { color:#dbeafe !important; border-color:#31527f !important; background:rgba(19,44,82,.72) !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-content { background: transparent !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card {
  border: 2px solid rgba(67,145,236,.7) !important;
  background: linear-gradient(145deg,#0d254c,#07172f) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card .hub-countdown span { border-color:#3d99ef !important; background:#030d20 !important; color:#ffe600 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card .hub-live-label,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card .hub-countdown b { color:#ffe600 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card small { color:#9fc0e9 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-card,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-card-locked,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-history-card,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-card {
  color:#edf5ff !important;
  border-color:#294666 !important;
  background:linear-gradient(145deg,#101e35,#0a1427) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.34) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card > div { border-color:#294665 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card small { color:#8faed5 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card strong { color:#62b3ff !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card > div:first-child strong { color:#ffd65a !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-upcoming-draws { color:#e9f3ff !important; border-color:#294666 !important; background:#0b1930 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw span,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw strong { color:#f4f8ff !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw small,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-note { color:#8faed5 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-history-card .hub-card-title { color:#f1f6ff !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-history-card .hub-card-title a { color:#67b7ff !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-history-card li { color:#9db4d4 !important; border-color:#213b5b !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-history-card li strong { color:#68d5a7 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-card strong { color:#e7f0ff !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-card p { color:#9ab1d2 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) { border-color:#294666 !important; background:linear-gradient(145deg,#101e35,#0a1427) !important; color:#edf5ff !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) > div > span,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) > div > strong,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) > div > small { color:#dbeafe !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar.hub-accumulated {
  color:#fff !important;
  border-color:rgba(106,164,236,.48) !important;
  background:linear-gradient(90deg,#1c3e78,#0b1b37) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar.hub-accumulated strong { color:#ffe36a !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar.hub-accumulated span b { color:#17233b !important; background:linear-gradient(145deg,#ffe36a,#d59c2e) !important; }

/* The public player uses the same broadcast palette as the Hub.  The player
   was still inheriting the legacy paper theme, which made /play look like a
   separate product even though it contains the same live-round information. */
body.player-mode:not(.hub-dark-mode),
body.player-mode:not(.hub-dark-mode) .content-wrapper {
  color: #edf5ff !important;
  background: #06152d !important;
}
body.player-mode:not(.hub-dark-mode) #player-shell,
body.player-mode:not(.hub-dark-mode) #player-shell .player-app {
  color: #edf5ff !important;
  background: radial-gradient(circle at 50% 0%, rgba(39,107,207,.48), transparent 42%), linear-gradient(180deg,#071a38 0%,#040d20 100%) !important;
}
body.player-mode:not(.hub-dark-mode) #player-shell .player-topbar {
  color: #f8fbff !important;
  border-color: rgba(106,164,236,.25) !important;
  background: rgba(5,12,25,.96) !important;
  box-shadow: 0 8px 26px rgba(0,0,0,.3) !important;
}
body.player-mode:not(.hub-dark-mode) #player-shell .player-brand,
body.player-mode:not(.hub-dark-mode) #player-shell .player-brand:hover,
body.player-mode:not(.hub-dark-mode) #player-shell .player-brand strong { color: #fff !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-brand small,
body.player-mode:not(.hub-dark-mode) #player-shell .player-connection { color: #afc5e8 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-brand-mark { color:#13284b !important; background:linear-gradient(145deg,#ffe36a,#d59c2e) !important; box-shadow:0 8px 18px rgba(213,156,46,.24) !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-icon-button { color:#dbeafe !important; border-color:#31527f !important; background:rgba(19,44,82,.72) !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-icon-button:hover { color:#fff !important; border-color:#62b3ff !important; background:#173662 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-content,
body.player-mode:not(.hub-dark-mode) #player-shell .player-app.is-live-page { background: transparent !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-live-reference,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-heading h1,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-panel-heading h2,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-card-heading h2 { color:#edf5ff !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-heading h1 i { color:#55d29a !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-heading p,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-panel-heading > span,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-info-item span,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-order,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-legend,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-card-need small { color:#8faed5 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-live-meta span,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-prize,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-info-list,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-ball-wall,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-number-panel,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-card {
  color:#edf5ff !important;
  border-color:#294666 !important;
  background:linear-gradient(145deg,#101e35,#0a1427) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.34) !important;
}
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-live-meta strong,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-panel-heading > span strong,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-card-heading > strong { color:#67b7ff !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-live-meta span { color:#8faed5 !important; background:#0b1930 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-prize.is-current,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-prize.is-selected { border-color:#62b3ff !important; box-shadow:0 0 0 3px rgba(98,179,255,.16),0 10px 24px rgba(0,0,0,.4) !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-prize.is-complete { border-color:#3fb980 !important; background:linear-gradient(145deg,#103b32,#0b2a28) !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-prize.is-disabled { opacity:.5; filter:grayscale(.25); }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-prize-title,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-prize > strong,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-info-item strong { color:#e9f3ff !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-prize-title > i { color:#8aa7d0 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-prize.is-current .player-reference-prize-title > i { color:#67b7ff !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-prize.is-complete .player-reference-prize-title > i { color:#55d29a !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-accumulated-mark { color:#17233b !important; background:linear-gradient(145deg,#ffe36a,#d59c2e) !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-accumulated-status { color:#55d29a !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-info-item { border-color:#213b5b !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-info-item { color:#edf5ff !important; background:#101e35 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-ball-wall { background:radial-gradient(circle at 35% 45%,rgba(47,126,227,.24),transparent 48%),#0b1930 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-order strong { color:#67b7ff !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-number-grid { background:#0b1930 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-number { color:transparent !important; border-color:#213b5b !important; background:#142b4b !important; box-shadow:inset 0 1px 2px rgba(0,0,0,.22) !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-number.is-called { color:#fff !important; border-color:transparent !important; background:linear-gradient(145deg,#51c975,#2b9e63) !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-number.is-latest { background:linear-gradient(145deg,#ff747b,#e9364c) !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-legend span i { background:#294666 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-legend span i.is-called { background:#3eb86e !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-legend small { color:#55d29a !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-winners span { color:#dbeafe !important; border-color:#294666 !important; background:#0b1930 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-winners strong { color:#f1f6ff !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-nearest-cards,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-participant-directory,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-nearest-item { border-color:#213b5b !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-nearest-heading strong,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-nearest-top strong,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-directory-heading strong,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-card-need strong { color:#edf5ff !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-nearest-heading > span,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-directory-heading > span { color:#9fc0e9 !important; background:#142b4b !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-nearest-stage.is-a-caminho { color:#bfd0e8 !important; background:#1a2e4b !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-nearest-card { border-color:#294666 !important; background:#0b1930 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-nearest-card-head { color:#8faed5 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-nearest-cell { color:#dbeafe !important; border-color:#294666 !important; background:#142b4b !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-nearest-cell.is-free { color:#72d8ae !important; border-color:#397e68 !important; background:#12392f !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-published-cards .player-live-participant { background:#0b1930 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-empty span,
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-empty-card span { color:#dbeafe !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-reference-empty small { color:#8faed5 !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-own-tickets-float-panel { border-color:#31527f !important; background:#0b1930 !important; box-shadow:0 12px 34px rgba(0,0,0,.48) !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-own-tickets-float-heading { color:#dbeafe !important; }
body.player-mode:not(.hub-dark-mode) #player-shell .player-own-tickets-float-heading button { color:#c4d8f4 !important; border-color:#31527f !important; background:#142b4b !important; }

/* Keep the Caixa report light when selected, but make the theme toggle real.
   These rules intentionally come after the light reference skin so the
   admin-dark-mode class can switch every surface without changing the layout. */
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode),
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .content-wrapper {
  color:#e8f1ff !important;
  background:#070d18 !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .main-header { color:#f8fbff !important; border-bottom-color:#27364d !important; background:#0b1220 !important; box-shadow:0 6px 22px rgba(0,0,0,.35) !important; }
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .main-header .nav-link { color:#b7c9e4 !important; }
body.admin-dark-mode.cashier-reference-mode .content-header h1 { color:#f1f6ff !important; }
body.admin-dark-mode.cashier-reference-mode .breadcrumb,
body.admin-dark-mode.cashier-reference-mode .breadcrumb a { color:#9fb6d6 !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-reference-card { border-color:#2c3e59 !important; background:#111b2b !important; box-shadow:0 12px 28px rgba(0,0,0,.38) !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-reference-card .card-header { color:#eef5ff !important; border-color:#2c3e59 !important; background:linear-gradient(145deg,#16263f,#101a2b) !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-reference-card .form-group label { color:#d9e7fa !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-reference-card .form-control { color:#edf5ff !important; border-color:#3a4c69 !important; background:#172338 !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-report-toolbar { border-bottom-color:#2c3e59 !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-report-toolbar h2 { color:#eef5ff !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-summary-table,
body.admin-dark-mode.cashier-reference-mode .cashier-manager-section .module-table { color:#e8f1ff !important; border-color:#334761 !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-summary-table th,
body.admin-dark-mode.cashier-reference-mode .cashier-manager-section .module-table th { color:#dbeafe !important; border-color:#334761 !important; background:#1e304a !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-summary-table td,
body.admin-dark-mode.cashier-reference-mode .cashier-manager-section .module-table td { color:#e8f1ff !important; border-color:#334761 !important; background:#111b2b !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-summary-table tbody tr:nth-child(even) td,
body.admin-dark-mode.cashier-reference-mode .cashier-manager-section .module-table tbody tr:nth-child(even) td { background:#172338 !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-summary-table tbody tr.is-total td,
body.admin-dark-mode.cashier-reference-mode .cashier-manager-section .module-table tbody tr:last-child td { color:#fff !important; background:#263b57 !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-summary-foot { color:#9fb6d6 !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-summary-foot strong { color:#eef5ff !important; }
body.admin-dark-mode.cashier-reference-mode .cashier-reference-card .module-subtitle { color:#eaf3ff !important; }

/* Caixa sidebar polish: keep the existing width and navigation flow while
   adding the same navy, blue and gold language used by the TV and Hub. */
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .main-sidebar {
  position: fixed !important;
  isolation: isolate;
  overflow-x: hidden;
  color: #dceaff !important;
  background:
    radial-gradient(circle at 16% 8%, rgba(52, 129, 239, .2), transparent 25%),
    radial-gradient(circle at 100% 84%, rgba(212, 166, 70, .12), transparent 30%),
    linear-gradient(180deg, #0d1c34 0%, #091426 48%, #07101f 100%) !important;
  border-right: 1px solid rgba(91, 157, 244, .28) !important;
  box-shadow: 10px 0 34px rgba(2, 10, 25, .32), inset -1px 0 rgba(255,255,255,.04) !important;
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .main-sidebar::before,
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .main-sidebar::after {
  position: absolute;
  z-index: 0;
  display: block;
  pointer-events: none;
  content: "";
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .main-sidebar::before {
  top: 0;
  right: -38px;
  width: 160px;
  height: 230px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(72, 144, 255, .2), transparent 68%);
  filter: blur(2px);
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .main-sidebar::after {
  right: 0;
  bottom: 12%;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232, 190, 83, .42), transparent);
  box-shadow: 0 0 18px rgba(232, 190, 83, .22);
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .main-sidebar > * {
  position: relative;
  z-index: 1;
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .brand-link {
  display: flex;
  align-items: center;
  height: 66px;
  padding: 12px 12px;
  background: linear-gradient(135deg, rgba(21, 49, 91, .96), rgba(10, 24, 45, .96)) !important;
  border-bottom: 1px solid rgba(117, 168, 239, .25) !important;
  box-shadow: 0 8px 20px rgba(3, 13, 30, .24), inset 0 -1px rgba(255,255,255,.04);
  transition: background .2s ease, box-shadow .2s ease;
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .brand-link:hover {
  background: linear-gradient(135deg, rgba(31, 73, 132, .98), rgba(12, 31, 58, .98)) !important;
  box-shadow: 0 10px 26px rgba(13, 75, 160, .3), inset 0 -1px rgba(255,255,255,.08);
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .brand-mark {
  display: inline-grid;
  width: 38px;
  height: 38px;
  margin-right: 10px;
  place-items: center;
  color: #101b2c !important;
  border: 2px solid #ffe07a;
  border-radius: 12px;
  background: linear-gradient(145deg, #ffe88b, #d6a83f) !important;
  box-shadow: 0 0 0 3px rgba(255, 217, 101, .12), 0 5px 16px rgba(235, 181, 62, .28);
  transition: transform .2s ease, box-shadow .2s ease;
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .brand-link:hover .brand-mark {
  transform: translateY(-1px) rotate(-3deg);
  box-shadow: 0 0 0 4px rgba(255, 217, 101, .16), 0 7px 20px rgba(235, 181, 62, .36);
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .brand-text strong {
  color: #f7fbff !important;
  letter-spacing: .01em;
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .brand-text small {
  color: #94b4df !important;
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .user-panel {
  margin: 14px 8px 0;
  padding: 12px 10px;
  border: 1px solid rgba(125, 171, 230, .2) !important;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(40, 74, 123, .58), rgba(14, 31, 57, .74)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.06), 0 8px 20px rgba(2, 11, 28, .24);
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .user-panel .avatar {
  border: 2px solid rgba(255, 222, 112, .9);
  box-shadow: 0 0 0 4px rgba(255, 222, 112, .1), 0 4px 14px rgba(2, 10, 24, .35);
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .user-info a {
  color: #eef6ff !important;
  font-weight: 700;
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .sidebar-search {
  margin: 16px 8px 12px;
  filter: drop-shadow(0 6px 12px rgba(2, 10, 24, .2));
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .sidebar-search input,
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .sidebar-search button {
  color: #eef6ff !important;
  background: rgba(15, 34, 62, .86) !important;
  border-color: rgba(111, 157, 215, .32) !important;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .sidebar-search input::placeholder { color: #9bb6d9 !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .sidebar-search:focus-within input,
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .sidebar-search:focus-within button {
  border-color: #4c9bff !important;
  background: rgba(18, 43, 78, .98) !important;
  box-shadow: 0 0 0 2px rgba(76, 155, 255, .12);
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav {
  margin-top: 8px;
  padding: 0 8px;
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .nav-link {
  height: 42px;
  margin-bottom: 4px;
  padding: 9px 13px;
  color: #bfd1eb !important;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent !important;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .nav-link:hover {
  color: #f7fbff !important;
  border-color: rgba(101, 163, 239, .26);
  background: linear-gradient(90deg, rgba(43, 98, 173, .38), rgba(33, 68, 119, .15)) !important;
  transform: translateX(3px);
  box-shadow: inset 3px 0 #66a8ff, 0 6px 14px rgba(2, 13, 31, .2);
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .nav-link.active {
  color: #fff !important;
  border-color: rgba(126, 173, 244, .48);
  background: linear-gradient(100deg, #245da9, #4f4acb) !important;
  box-shadow: inset 3px 0 #ffe16e, 0 7px 18px rgba(24, 70, 146, .32), inset 0 1px rgba(255,255,255,.14);
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .nav-icon {
  color: #8db8f2 !important;
  transition: color .2s ease, transform .2s ease;
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .nav-link:hover .nav-icon,
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .nav-link.active .nav-icon {
  color: #ffe16e !important;
  transform: scale(1.08);
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .chevron { color: #9db9df !important; }
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .nav-treeview {
  margin: 1px 0 6px;
  padding-left: 10px;
  border-left: 1px solid rgba(106, 156, 222, .26);
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .nav-treeview .nav-link {
  height: 36px;
  margin-bottom: 2px;
  padding: 6px 13px;
  color: #a8bfdf !important;
  border-radius: 8px;
  font-size: 14px;
}
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .nav-treeview .nav-link:hover,
body.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .side-nav .nav-treeview .nav-link.active {
  color: #fff !important;
  background: rgba(63, 126, 215, .24) !important;
  box-shadow: inset 2px 0 #ffe16e;
}

/* The public Play sample uses the same compact card language as the TV:
   participant, stage/position, then only the numbers still needed. */
body.player-mode #player-shell .player-reference-nearest-item {
  padding: 8px 0 !important;
  border-bottom-color: #213b5b !important;
}
body.player-mode #player-shell .player-tv-ticket.ticket-missing-only {
  display: block;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(255, 211, 93, .62) !important;
  border-radius: 10px !important;
  background: linear-gradient(145deg, rgba(7, 24, 51, .98), rgba(5, 15, 34, .98)) !important;
  box-shadow: 0 7px 16px rgba(0, 7, 22, .34), inset 0 1px rgba(255,255,255,.08) !important;
}
body.player-mode #player-shell .player-tv-ticket .ticket-player {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
}
body.player-mode #player-shell .player-tv-ticket .ticket-player strong {
  min-width: 0;
  overflow: hidden;
  color: #fff !important;
  font-size: clamp(13px, 1.05vw, 18px);
  font-weight: 900;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.player-mode #player-shell .player-tv-ticket .ticket-player small {
  flex: 0 0 auto;
  max-width: 56%;
  overflow: hidden;
  color: #ffdc75 !important;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .7px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.player-mode #player-shell .player-tv-ticket .ticket-missing-row {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
}
body.player-mode #player-shell .player-tv-ticket .missing-label {
  flex: 0 0 auto;
  padding-top: 6px;
  color: #ffdc75 !important;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .65px;
  white-space: nowrap;
}
body.player-mode #player-shell .player-tv-ticket .missing-numbers {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}
body.player-mode #player-shell .player-tv-ticket .missing-number {
  display: inline-flex;
  min-width: 28px;
  min-height: 27px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 4px 6px;
  border: 1px solid rgba(255, 220, 116, .8) !important;
  border-radius: 6px;
  color: #fff1af !important;
  background: rgba(104, 74, 18, .76) !important;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}
body.player-mode #player-shell .player-tv-ticket .ticket-complete {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  padding: 4px 8px;
  border: 1px solid rgba(129, 245, 170, .75) !important;
  border-radius: 6px;
  color: #b8ffd0 !important;
  background: rgba(18, 124, 69, .7) !important;
  font-size: 11px;
  font-weight: 900;
}
body.hub-dark-mode.player-mode #player-shell .player-tv-ticket.ticket-missing-only {
  border-color: rgba(56, 189, 248, .5) !important;
  background: linear-gradient(145deg, #0f1c36, #091122) !important;
  box-shadow: 0 7px 16px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.06) !important;
}
body.hub-dark-mode.player-mode #player-shell .player-reference-nearest-item { border-bottom-color: #1e293b !important; }

/* All administration modules share the same compact surfaces as Caixa. The
   route class is applied to every private admin page by app.js; keeping this
   block here lets module-specific markup inherit one consistent visual system
   without changing any of the existing forms or actions. */
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .card {
  border-color: #2c3e59 !important;
  border-radius: 5px !important;
  background: #111b2b !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.38) !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .card-header {
  min-height: 54px !important;
  padding: 16px 20px !important;
  color: #eef5ff !important;
  border-bottom-color: #2c3e59 !important;
  background: linear-gradient(145deg,#16263f,#101a2b) !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .card-body { padding: 20px !important; }
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .form-control {
  color: #edf5ff !important;
  border-color: #3a4c69 !important;
  border-radius: 4px !important;
  background: #172338 !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .btn {
  border-radius: 4px !important;
  box-shadow: none !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .btn-primary {
  border-color: #007bff !important;
  background: #007bff !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) table {
  border-color: #334761 !important;
  border-radius: 4px !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) th {
  color: #dbeafe !important;
  border-color: #334761 !important;
  background: #1e304a !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) td {
  color: #e8f1ff !important;
  border-color: #334761 !important;
  background: #111b2b !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) tbody tr:nth-child(even) td { background: #172338 !important; }

body.cashier-reference-mode:not(.admin-dark-mode):not(.hub-mode):not(.player-mode):not(.public-auth-mode) .card {
  border: 1px solid #dee2e6 !important;
  border-radius: 5px !important;
  background: #fff !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.06) !important;
}
body.cashier-reference-mode:not(.admin-dark-mode):not(.hub-mode):not(.player-mode):not(.public-auth-mode) .card-header {
  min-height: 54px !important;
  padding: 16px 20px !important;
  color: #343a40 !important;
  border-bottom-color: #dee2e6 !important;
  background: #fff !important;
}
body.cashier-reference-mode:not(.admin-dark-mode):not(.hub-mode):not(.player-mode):not(.public-auth-mode) .card-body { padding: 20px !important; }
body.cashier-reference-mode:not(.admin-dark-mode):not(.hub-mode):not(.player-mode):not(.public-auth-mode) .btn { border-radius: 4px !important; box-shadow: none !important; }

/* Caixa report accents: mirror the blue section rules from the reference
   report while keeping the selected dark palette readable. The accent is
   applied to empty and populated tables alike so the layout stays consistent
   before any records are returned. */
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .cashier-report-toolbar {
  border-bottom: 2px solid #1687f7 !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .cashier-reference-card .module-subtitle {
  padding: 9px 12px !important;
  border-left: 4px solid #1687f7 !important;
  border-bottom: 2px solid #1687f7 !important;
  background: linear-gradient(90deg, rgba(22,135,247,.16), transparent 68%) !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .cashier-reference-card .module-table-wrap {
  border: 2px solid #1687f7 !important;
  border-radius: 5px !important;
  box-shadow: 0 0 0 1px rgba(22,135,247,.2), 0 7px 20px rgba(2,17,39,.22) !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .cashier-reference-card .cashier-summary-table {
  border: 2px solid #1687f7 !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .cashier-reference-card .module-table th,
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .cashier-reference-card .module-table td {
  border-color: #2d78ba !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .cashier-reference-card .module-table th {
  box-shadow: inset 0 -2px 0 #1687f7 !important;
}
body.admin-dark-mode.cashier-reference-mode:not(.hub-mode):not(.player-mode):not(.public-auth-mode) .cashier-manager-heading {
  border: 2px solid #1687f7 !important;
  border-bottom: 0 !important;
  background: linear-gradient(180deg, #1687f7, #086bc9) !important;
}

/* Definitive Hub light skin.  This stylesheet is loaded after styles.css, so
   the public light mode must finish here.  It is deliberately excluded from
   .hub-dark-mode: the dark broadcast palette above remains unchanged. */
body.hub-mode:not(.hub-dark-mode),
body.hub-mode:not(.hub-dark-mode) .content-wrapper {
  color: #183454 !important;
  background: #eff5fb !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell {
  color: #183454 !important;
  background: #eff5fb !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-topbar {
  color: #5c7390 !important;
  border-bottom: 1px solid #d8e5f3 !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 6px 18px rgba(36, 76, 118, .09) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-logo,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-logo:hover,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-logo strong,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-account-copy strong {
  color: #17395f !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-logo-mark,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-account-avatar {
  color: #fff !important;
  background: linear-gradient(145deg, #2f86e8, #1759aa) !important;
  box-shadow: 0 7px 16px rgba(38, 115, 199, .24) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-top-links a,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-account-copy small {
  color: #657d99 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-top-links a:hover {
  color: #1b4f88 !important;
  background: #edf5fd !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-account-signout {
  color: #1f5fa9 !important;
  border-color: #bcd3eb !important;
  background: #f7fbff !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav {
  background: #ffffff !important;
  border-bottom: 1px solid #d9e5f2 !important;
  box-shadow: 0 4px 14px rgba(33, 71, 112, .08) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav a,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-theme-toggle {
  color: #54708f !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav a:hover,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav a.is-active,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-theme-toggle:hover {
  color: #1556a0 !important;
  border-color: #bed8f2 !important;
  background: #edf5fe !important;
  box-shadow: none !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav a.is-active {
  box-shadow: inset 0 -3px 0 #2f82df !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav a i:first-child,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav-status i {
  color: #2580d9 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav-status,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-nav-note { color: #6d849d !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-content {
  background: linear-gradient(180deg, #edf5fc 0%, #f9fbfe 52%, #edf4fb 100%) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-content::before,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-content::after {
  opacity: .28 !important;
  background: #fff !important;
  filter: blur(28px) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card {
  border: 1px solid #b9d4ee !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #e9f4ff 0%, #d5e9fc 100%) !important;
  box-shadow: 0 14px 30px rgba(39, 91, 143, .14) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card .hub-live-label,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card small {
  color: #32628d !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card .hub-live-label i { color: #e6a52e !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown { color: #1f69ba !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown span {
  color: #1a5da9 !important;
  border: 2px solid #72aae0 !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 8px 17px rgba(38, 102, 165, .14) !important;
  text-shadow: none !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown b { color: #e19b21 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-live-round,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-card,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-card-locked,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-history-card,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-daily-draws,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-draws-page-header,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-card {
  color: #183454 !important;
  border: 1px solid #d4e2ef !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 12px 28px rgba(39, 80, 123, .1) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card > div { border-color: #dce8f3 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card small { color: #6b829d !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card strong { color: #236cb9 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card > div:first-child strong { color: #c95d65 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prizes { gap: 9px; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar {
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .26) !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #2567a8, #184879) !important;
  box-shadow: 0 8px 18px rgba(28, 75, 123, .15) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar:nth-child(2) { background: linear-gradient(135deg, #148174, #0e6259) !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar:nth-child(3) { background: linear-gradient(135deg, #7355b6, #503c88) !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar.hub-accumulated { background: linear-gradient(135deg, #bd6335, #8f3b2d) !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar strong { color: #ffe18c !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar span,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar span i { color: #fff !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-accumulated span b { color: #70371b !important; background: #ffd166 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-card-title,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-live-round h2,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-daily-draws-heading h2,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-draws-page-header h1 { color: #1c4774 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-card-title a,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-daily-draws-heading > a,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-draws-page-header > a { color: #216ab8 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-live-round p,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-daily-draws-heading p,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-draws-page-header p,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-note { color: #6b829d !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-live-round-strip,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-live-participant-list li { border-color: #dce8f3 !important; background: #f7fbff !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-live-round-strip { color: #5d7694 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-live-round-strip strong { color: #216ab8 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-live-participant-list li strong { color: #355676 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-upcoming-draws {
  color: #1f456e !important;
  border-color: #d6e4f0 !important;
  background: #f7fbff !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw span,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw strong,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-draw small,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-next-draw-chevron { color: #315b83 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-amount-button {
  color: #275a8c !important;
  border-color: #b7d0e8 !important;
  background: #f7fbff !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-amount-button:hover,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-amount-button.is-selected { color: #fff !important; border-color: #216ab8 !important; background: #216ab8 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-row > button:not(.hub-donate-button),
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-row output,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-row > strong {
  color: #315b83 !important;
  border-color: #d0dfec !important;
  background: #f8fbff !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-row > button:not(.hub-donate-button):first-child,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-row > button:not(.hub-donate-button):nth-child(3) {
  color: #fff !important;
  border-color: #216ab8 !important;
  background: #216ab8 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-ticket-button,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-daily-draw-buy,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-daily-draw-open,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-live-open {
  color: #fff !important;
  border-color: #1b5fa9 !important;
  background: linear-gradient(135deg, #2d83e5, #1857a4) !important;
  box-shadow: 0 8px 16px rgba(31, 101, 179, .18) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donate-button {
  color: #59340c !important;
  border-color: #d69e31 !important;
  background: linear-gradient(135deg, #ffda73, #d9a12e) !important;
  box-shadow: 0 8px 16px rgba(190, 135, 35, .18) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) {
  color: #23496f !important;
  border-color: #d4e2ef !important;
  background: linear-gradient(135deg, #eaf5ff, #d6e9fb) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) > div > span,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) > div > strong,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-promo:not(.hub-promo-configured) > div > small { color: #315c85 !important; text-shadow: none !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-history-card li,
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-card p { color: #6b829d !important; border-color: #e0eaf3 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-history-card li strong { color: #158a65 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-footer { color: #7087a1 !important; border-color: #d6e3ef !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-footer a { color: #216ab8 !important; }
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-float-trigger {
  background: linear-gradient(135deg, #1d62b4, #3286e5 65%, #65a5f2) !important;
  box-shadow: 0 10px 24px rgba(29, 98, 180, .25) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-float-panel {
  border-color: #d4e2ef !important;
  background: rgba(255, 255, 255, .99) !important;
  box-shadow: 0 16px 36px rgba(39, 80, 123, .18) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-float-heading { color: #1f5fa9 !important; }

@media (max-width: 760px) {
  body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-content { padding: 12px 10px 132px !important; }
  body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card { min-height: 178px; border-radius: 16px !important; }
  body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-info-card { margin-top: 10px; border-radius: 12px !important; }
  body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-prize-bar { min-height: 54px; padding: 7px 13px; border-radius: 11px !important; }
  body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-card { padding: 11px !important; border-radius: 14px !important; }
  body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-row { gap: 6px; }
  body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-float { right: 10px; bottom: max(12px, env(safe-area-inset-bottom)); width: min(330px, calc(100vw - 20px)); }
  body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-float-trigger { min-height: 54px; }
}

body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-card strong {
  color: #214b76 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-card p {
  color: #6b829d !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-icon {
  color: #236ab3 !important;
  background: #e6f1fc !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-icon.green {
  color: #168668 !important;
  background: #e3f7ee !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-bottom-icon.gold {
  color: #ad7313 !important;
  background: #fff3d2 !important;
}

/* Final mobile controls for the public light Hub. Keep the dark broadcast
   layout untouched while making the countdown easier to read and moving the
   quick-options control into the quiet edge of the navigation row. */
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card {
  min-height: 168px !important;
  padding: 15px 12px 12px !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown {
  width: 100%;
  justify-content: center;
  gap: clamp(6px, 1.8vw, 12px);
  margin: 8px 0 5px;
  font-size: clamp(46px, 10.8vw, 78px) !important;
  letter-spacing: 0 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown span {
  min-width: 1.12em;
  padding: .08em .12em .035em;
  border-radius: 14px !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown b {
  margin: 0 -2px;
  font-size: .52em;
  line-height: 1;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell > .reference-tools,
body.player-mode:not(.hub-dark-mode) #player-shell > .reference-tools {
  position: fixed !important;
  top: 72px !important;
  right: 12px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 1250;
  padding: 0 !important;
  filter: drop-shadow(0 5px 12px rgba(37, 93, 151, .2));
}
body.hub-mode:not(.hub-dark-mode) #hub-shell > .reference-tools button,
body.player-mode:not(.hub-dark-mode) #player-shell > .reference-tools button {
  width: 38px !important;
  height: 38px !important;
  border: 1px solid #a7c9ea !important;
  border-radius: 12px !important;
  color: #1f69ba !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 5px 14px rgba(37, 93, 151, .18) !important;
  animation: none !important;
  font-size: 19px !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell > .reference-tools button::after,
body.player-mode:not(.hub-dark-mode) #player-shell > .reference-tools button::after { display: none; }
body.hub-mode:not(.hub-dark-mode) #hub-shell > .reference-tools button:hover,
body.hub-mode:not(.hub-dark-mode) #hub-shell > .reference-tools button:focus-visible,
body.player-mode:not(.hub-dark-mode) #player-shell > .reference-tools button:hover,
body.player-mode:not(.hub-dark-mode) #player-shell > .reference-tools button:focus-visible {
  color: #1556a0 !important;
  border-color: #6fa8dd !important;
  background: #edf6ff !important;
  transform: translateY(-1px) !important;
}
body.hub-dark-mode #hub-shell > .reference-tools,
body.hub-dark-mode #player-shell > .reference-tools {
  position: fixed !important;
  top: 72px !important;
  right: 12px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 1250 !important;
  padding: 0 !important;
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.45)) !important;
}
body.hub-dark-mode #hub-shell > .reference-tools button,
body.hub-dark-mode #player-shell > .reference-tools button {
  width: 38px !important;
  height: 38px !important;
  border: 1px solid rgba(59, 130, 246, 0.45) !important;
  border-radius: 12px !important;
  color: #38bdf8 !important;
  background: rgba(13, 23, 46, 0.95) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
  animation: none !important;
  font-size: 19px !important;
  backdrop-filter: blur(8px) !important;
}
body.hub-dark-mode #hub-shell > .reference-tools button::after,
body.hub-dark-mode #player-shell > .reference-tools button::after { display: none !important; }
body.hub-dark-mode #hub-shell > .reference-tools button:hover,
body.hub-dark-mode #hub-shell > .reference-tools button:focus-visible,
body.hub-dark-mode #player-shell > .reference-tools button:hover,
body.hub-dark-mode #player-shell > .reference-tools button:focus-visible {
  color: #ffffff !important;
  border-color: #38bdf8 !important;
  background: #1d4ed8 !important;
  transform: translateY(-1px) !important;
}
@media (max-width: 360px) {
  body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown-card { min-height: 156px !important; }
  body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown { font-size: 44px !important; }
  body.hub-mode #hub-shell > .reference-tools,
  body.player-mode #player-shell > .reference-tools { top: 70px !important; right: 9px !important; }
}

/* Keep both timer digits in the same fixed-width cells. This prevents the
   countdown from shifting when a value changes from 10 to 09 or 09 to 08. */
body.hub-mode #hub-shell .hub-countdown {
  align-items: center;
  font-variant-numeric: tabular-nums;
}
body.hub-mode #hub-shell .hub-countdown span {
  display: inline-grid !important;
  width: 2.15ch !important;
  min-width: 2.15ch !important;
  place-items: center;
  box-sizing: border-box;
  font-variant-numeric: tabular-nums;
}
body.hub-mode #hub-shell .hub-countdown b {
  flex: 0 0 auto;
  width: .55em;
  text-align: center;
}

/* Keep the countdown cells visually equal in every Hub theme. Earlier theme
   rules sized them from the digit font, which made the light version smaller
   and left the dark version with a different proportion. */
body.hub-mode #hub-shell .hub-countdown span {
  width: clamp(96px, 10.5vw, 132px) !important;
  min-width: clamp(96px, 10.5vw, 132px) !important;
  height: clamp(96px, 10.5vw, 132px) !important;
  padding: 0 !important;
  aspect-ratio: 1 / 1;
  place-items: center;
  line-height: 1 !important;
}
body.hub-mode #hub-shell .hub-countdown {
  gap: clamp(8px, 1.2vw, 18px);
  font-size: clamp(58px, 9vw, 108px) !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown {
  font-size: clamp(58px, 9vw, 108px) !important;
}

@media (max-width: 360px) {
  body.hub-mode #hub-shell .hub-countdown span {
    width: 88px !important;
    min-width: 88px !important;
    height: 88px !important;
  }
  body.hub-mode #hub-shell .hub-countdown {
    font-size: 54px !important;
    gap: 7px;
  }
  body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-countdown {
    font-size: 54px !important;
  }
}

/* The Hub shows total minutes until the next draw, so a long wait can be
   3 digits (for example 472:06). Give that value a wider responsive cell and
   a slightly smaller type size so every digit stays inside the same square. */
body.hub-mode #hub-shell .hub-countdown.is-long {
  gap: clamp(7px, 1.1vw, 16px);
  font-size: clamp(44px, 6.8vw, 82px) !important;
}
body.hub-mode #hub-shell .hub-countdown.is-long span {
  width: clamp(112px, 15vw, 188px) !important;
  min-width: clamp(112px, 15vw, 188px) !important;
  height: clamp(88px, 12vw, 150px) !important;
  aspect-ratio: 1 / 1;
}

/* Final Hub accent pass: replace the remaining warm orange/brown accents
   with the same blue language used by the public broadcast surfaces. Gold
   prize highlights and green live/status colors stay semantic. */
body.hub-mode #hub-shell.hub-app {
  --ticket-line: #63b7f5;
  --ticket-line-soft: #b7d9f6;
  --ticket-orange: #2d8fe8;
  --ticket-orange-dark: #155aa6;
  --ticket-ink: #183454;
}
body.hub-mode #hub-shell.hub-app .hub-draws-page-header h1,
body.hub-mode #hub-shell.hub-app .hub-daily-draws-heading h2,
body.hub-mode #hub-shell.hub-app .hub-card-title,
body.hub-mode #hub-shell.hub-app .hub-live-round h2 {
  color: #2e8edb !important;
}
body.hub-mode #hub-shell.hub-app .hub-draws-page-header > a,
body.hub-mode #hub-shell.hub-app .hub-daily-draws-heading > a {
  color: #2d8fe8 !important;
  border-color: rgba(73, 157, 235, .55) !important;
  background: rgba(25, 91, 165, .18) !important;
}
body.hub-mode #hub-shell.hub-app .hub-draws-page-header > a:hover,
body.hub-mode #hub-shell.hub-app .hub-daily-draws-heading > a:hover {
  color: #fff !important;
  border-color: #55b5ff !important;
  background: #1f68c5 !important;
}
body.hub-mode #hub-shell.hub-app .hub-prize-bar.hub-accumulated {
  color: #fff !important;
  border-color: rgba(78, 163, 239, .62) !important;
  background: linear-gradient(135deg, #1c67b5, #123e7d) !important;
}
body.hub-mode #hub-shell.hub-app .hub-prize-bar.hub-accumulated strong,
body.hub-mode #hub-shell.hub-app .hub-prize-bar.hub-accumulated span,
body.hub-mode #hub-shell.hub-app .hub-prize-bar.hub-accumulated span i {
  color: #f3f8ff !important;
}
body.hub-mode #hub-shell.hub-app .hub-prize-bar.hub-accumulated span b {
  color: #16365f !important;
  background: linear-gradient(145deg, #d9efff, #75baf3) !important;
}
body.hub-mode #hub-shell.hub-app .hub-daily-draw-winners i,
body.hub-mode #hub-shell.hub-app .hub-daily-draw-closed-group details > summary > span i {
  color: #50aef5 !important;
}

/* Keep monetary results prominent in the public Hub, including the mobile
   layout where the shared reference stylesheet otherwise caps them at 20px. */
body.hub-mode #hub-shell .hub-prize-bar strong {
  font-size: clamp(24px, 2.8vw, 38px) !important;
  line-height: 1 !important;
}
body.hub-mode #hub-shell .player-prize strong { font-size: clamp(23px, 2.8vw, 30px) !important; line-height: 1 !important; }
body.hub-mode #hub-shell .player-reference-prize > strong { font-size: clamp(20px, 2.6vw, 29px) !important; line-height: 1 !important; }
body.hub-mode #hub-shell .player-winner-gift-list .winner-gift-amount { font-size: clamp(34px, 6vw, 60px) !important; line-height: 1 !important; }
body.hub-mode #hub-shell .player-prize-announcement-value { font-size: clamp(48px, 10vw, 96px) !important; line-height: .98 !important; }
body.hub-mode #hub-shell .hub-daily-draw-prize strong { font-size: clamp(18px, 2vw, 22px) !important; line-height: 1 !important; }
body.hub-mode #hub-shell .hub-wallet-ticket-prize strong { font-size: clamp(12px, 1.5vw, 16px) !important; line-height: 1 !important; }
body.hub-mode #hub-shell .hub-upcoming-draw b { font-size: clamp(14px, 1.5vw, 18px) !important; line-height: 1 !important; }
body.hub-mode #hub-shell .cambista-prize-card strong { font-size: clamp(22px, 3vw, 30px) !important; line-height: 1 !important; }
body.hub-mode #hub-shell .cambista-prize-value { font-size: clamp(22px, 3vw, 30px) !important; line-height: 1 !important; }

@media (max-width: 600px) {
  body.hub-mode #hub-shell .hub-prize-bar strong { font-size: clamp(22px, 6vw, 32px) !important; }
  body.hub-mode #hub-shell .player-prize strong { font-size: 22px !important; }
  body.hub-mode #hub-shell .player-reference-prize > strong { font-size: 18px !important; }
  body.hub-mode #hub-shell .player-winner-gift-list .winner-gift-amount { font-size: clamp(34px, 10vw, 50px) !important; }
  body.hub-mode #hub-shell .player-prize-announcement-value { font-size: clamp(44px, 17vw, 76px) !important; }
  body.hub-mode #hub-shell .hub-daily-draw-prize strong { font-size: 18px !important; }
  body.hub-mode #hub-shell .hub-wallet-ticket-prize strong { font-size: 13px !important; }
  body.hub-mode #hub-shell .hub-upcoming-draw b { font-size: 16px !important; }
  body.hub-mode #hub-shell .cambista-prize-card strong,
  body.hub-mode #hub-shell .cambista-prize-value { font-size: 22px !important; }

  /* Keep the accumulated prize readable on narrow phones. The status moves
     under the label so the full monetary value always remains visible. */
  body.hub-mode #hub-shell .hub-prize-bar.hub-accumulated {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 8px;
    min-height: 64px;
    padding: 7px 11px !important;
    overflow: hidden;
  }
  body.hub-mode #hub-shell .hub-prize-bar.hub-accumulated > span {
    min-width: 0;
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-content: center;
    gap: 2px 5px;
    line-height: 1;
  }
  body.hub-mode #hub-shell .hub-prize-bar.hub-accumulated > span > small {
    flex: 1 0 100%;
    min-width: 0;
    margin-left: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 9px;
    line-height: 1.15;
  }
  body.hub-mode #hub-shell .hub-prize-bar.hub-accumulated > span > b {
    width: 32px;
    height: 32px;
    margin-left: 0;
    flex: 0 0 32px;
    font-size: 16px;
  }
  body.hub-mode #hub-shell .hub-prize-bar.hub-accumulated > strong {
    min-width: 0;
    flex: 0 0 auto;
    font-size: clamp(21px, 5.5vw, 29px) !important;
    letter-spacing: -.025em;
    white-space: nowrap;
  }
}

/* Preserve readable contrast in the public light Hub theme. These focused
   overrides keep the dark-TV palette from leaking onto the white header and
   the locked donation call-to-action. */
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-topbar .hub-lang-btn:not(.is-active) {
  color: #475569 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-topbar .hub-top-links > a:not(.hub-register-link):not(.hub-account-signout) {
  color: #475569 !important;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-donation-register {
  color: #fff !important;
  border-color: #1d4ed8 !important;
  background: #1d4ed8 !important;
}

/* Wallet tickets: keep the printed-paper character with calmer spacing and hierarchy. */
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-group {
  overflow: hidden;
  border: 1px solid #ead8c1;
  border-radius: 13px;
  background: #fffdf8;
}
body.hub-mode #hub-shell .hub-wallet-float-panel .hub-wallet-heading > strong {
  min-width: 0;
  max-width: 60%;
  flex: 0 1 60%;
  overflow-wrap: anywhere;
  font-size: clamp(15px, 4.8vw, 20px);
  line-height: 1.15;
  text-align: right;
  white-space: normal;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-group > summary {
  min-height: 54px;
  padding: 9px 11px;
  color: #4d2b1a;
  background: #fffaf2;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-group > summary strong {
  font-size: 11px;
  font-weight: 800;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-group > summary small {
  color: #75583c;
  font-size: 9px;
  line-height: 1.35;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-group > summary b {
  padding: 4px 8px;
  border: 1px solid #d4eadb;
  color: #216844;
  background: #edf8f0;
  font-size: 9px;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-group > summary::after {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-right: 1.5px solid #8b6948;
  border-bottom: 1.5px solid #8b6948;
  transform: rotate(45deg);
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-group[open] > summary::after {
  transform: rotate(225deg);
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-group > summary:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid #a9511c;
  outline-offset: -3px;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-group-list {
  gap: 9px;
  padding: 9px;
  border-color: #f0e3d2;
  background: #fffdf8;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-item {
  gap: 9px;
  padding: 10px;
  border: 1px solid #e8dccb;
  border-radius: 12px;
  background: linear-gradient(180deg, #fffefa, #fbf6ed);
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-item.has-won-prize {
  border-color: #d99a52;
  background: linear-gradient(180deg, #fffdf8, #fff8e9);
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "code status" "draw draw";
  align-items: center;
  gap: 7px 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #efe5d8;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-code {
  grid-area: code;
  width: fit-content;
  max-width: 100%;
  padding: 4px 7px;
  border: 1px solid #ead9c5;
  border-radius: 7px;
  color: #70421f;
  background: #fffaf2;
  font-family: inherit;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-draw {
  grid-area: draw;
  min-width: 0;
  flex-wrap: wrap;
  color: #614c38;
  font-size: 10px;
  line-height: 1.4;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-time-tag {
  border-color: #e3c39e;
  border-radius: 5px;
  color: #814718;
  background: #fff3df;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  grid-area: status;
  max-width: 110px;
  padding: 4px 7px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-size: 9px;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-status.is-paid {
  border-color: #d4eadb;
  color: #216844;
  background: #edf8f0;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-status.is-live {
  border-color: #c8dcf4;
  color: #285a8a;
  background: #edf5ff;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-status.is-winner {
  border-color: #e5c786;
  color: #795019;
  background: #fbf0d2;
  box-shadow: none;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-prize {
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 9px 10px;
  border: 1px solid #edd7a6;
  border-radius: 10px;
  background: #fff8e8;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-prize i {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  place-items: center;
  border-radius: 50%;
  color: #88531f;
  background: #f5e6c4;
  font-size: 13px;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-prize > div {
  min-width: 0;
  gap: 3px;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-prize strong {
  color: #75451e;
  font-size: 9px !important;
  font-weight: 800;
  letter-spacing: .025em;
  line-height: 1.35;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-prize span {
  color: #604529;
  font-size: 11px;
  line-height: 1.4;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-meta {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 5px 8px;
  color: #72583e;
  font-size: 10px;
  line-height: 1.4;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-meta strong {
  color: #246447;
  font-variant-numeric: tabular-nums;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-draw-time {
  justify-self: end;
  flex-wrap: wrap;
  color: #634b34;
  font-size: 9px;
  text-align: right;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-draw-time strong {
  color: #70421f;
  font-variant-numeric: tabular-nums;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-grid {
  width: 100%;
  max-width: 300px;
  margin: 1px auto 0;
  gap: 2px;
  padding: 5px;
  border: 1px solid #e4c7a4;
  border-radius: 10px;
  background: #f4e7d5;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-grid > span {
  border: 1px solid #eadbc8;
  border-radius: 3px;
  color: #614127;
  background: #fffdf8;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-grid > .is-empty {
  color: transparent;
  background: #f0e4d5;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-item .cambista-print-card {
  display: flex;
  width: 100%;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid #e6c9a8;
  border-radius: 9px;
  color: #774720;
  background: #fffaf2;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-item .cambista-print-card i {
  color: #a45f2d;
  font-size: 11px;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-item .cambista-print-card:hover {
  border-color: #d99a52;
  background: #fff2df;
}
body.hub-mode:not(.hub-dark-mode) #hub-shell .hub-wallet-ticket-item .cambista-print-card:focus-visible {
  outline: 2px solid #a9511c;
  outline-offset: 2px;
}

body.hub-dark-mode #hub-shell .hub-wallet-ticket-group { border-color: #334155; border-radius: 13px; background: #111c2f; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-group > summary { color: #e2e8f0; background: #101a2b; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-group > summary small { color: #a6b5c8; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-group > summary b { border-color: #1f5c4a; color: #a7f3d0; background: #123b32; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-group > summary::after { border-color: #9aaec6; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-group-list { border-color: #28374d; background: #111c2f; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-item { border-color: #334155; border-radius: 12px; background: #162238; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-item.has-won-prize { border-color: #a97836; background: #241f19; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-top { border-color: #334155; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-code { border-color: #3b4d66; color: #cbd5e1; background: #111c2f; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-draw { color: #cbd5e1; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-status.is-live { border-color: #1d4e89; color: #bfdbfe; background: #172c49; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-status.is-winner { border-color: #80622c; color: #f5deb0; background: #3a2e1b; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-status { display: inline-flex; align-items: center; justify-content: center; gap: 4px; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-prize { border-color: #76613a; background: #302719; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-prize i { color: #f5d78e; background: #493a21; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-prize strong { color: #f5deb0; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-prize span { color: #e8d8b9; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-meta { color: #afbed0; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-meta strong,
body.hub-dark-mode #hub-shell .hub-wallet-ticket-draw-time strong { color: #86efac; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-grid { border-color: #6e5639; border-radius: 10px; background: #3a2f21; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-grid > span { border-color: #4a3a29; color: #352719; background: #fffaf0; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-grid > .is-empty { background: #e8d8c4; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-item .cambista-print-card { border-color: #465872; color: #dbeafe; background: #1c2c43; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-item .cambista-print-card i { color: #bfdbfe; }
body.hub-dark-mode #hub-shell .hub-wallet-ticket-item .cambista-print-card:hover { background: #253b58; }

/* Deep navy and premium blue theme for the public Hub and player wallet. */
body.hub-mode.hub-dark-mode:has(#hub-shell) {
  --hub-night-bg: #071329;
  --hub-night-surface: #0c1c38;
  --hub-night-raised: #132b4f;
  --hub-night-line: #284b75;
  --hub-night-text: #edf2f7;
  --hub-night-muted: #abc5e9;
  --hub-night-blue: #82bdff;
  --hub-night-blue-strong: #2879d0;
  --hub-night-blue-wash: #143864;
  --hub-night-gold: #e9c77f;
  --hub-night-green: #83d3b1;
  --hub-night-green-wash: #19382f;
  --hub-night-red: #f2a0a5;
  --hub-night-red-wash: #3a2529;
  color-scheme: dark;
  color: var(--hub-night-text) !important;
  background: var(--hub-night-bg) !important;
}

body.hub-mode.hub-dark-mode #hub-shell .hub-app,
body.hub-mode.hub-dark-mode #hub-shell #hub-shell,
body.hub-mode.hub-dark-mode #hub-shell .content-wrapper {
  color: var(--hub-night-text) !important;
  background-color: var(--hub-night-bg) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-topbar {
  color: var(--hub-night-muted) !important;
  border-color: var(--hub-night-line) !important;
  background: rgba(5, 14, 31, .97) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .22) !important;
  backdrop-filter: blur(12px);
}
body.hub-mode.hub-dark-mode #hub-shell .hub-logo,
body.hub-mode.hub-dark-mode #hub-shell .hub-logo:hover,
body.hub-mode.hub-dark-mode #hub-shell .hub-account-copy strong,
body.hub-mode.hub-dark-mode #hub-shell .hub-top-links .hub-register-link { color: var(--hub-night-text) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-logo-mark,
body.hub-mode.hub-dark-mode #hub-shell .hub-account-avatar,
body.hub-mode.hub-dark-mode #hub-shell .hub-top-links .hub-register-link {
  background: var(--hub-night-blue-strong) !important;
  box-shadow: 0 4px 12px rgba(40, 121, 208, .24) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-logo strong span,
body.hub-mode.hub-dark-mode #hub-shell .hub-top-links a:nth-child(2),
body.hub-mode.hub-dark-mode #hub-shell .hub-card-title a { color: var(--hub-night-blue) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-top-links a,
body.hub-mode.hub-dark-mode #hub-shell .hub-account-copy small,
body.hub-mode.hub-dark-mode #hub-shell .hub-nav-status { color: var(--hub-night-muted) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-top-links a:hover,
body.hub-mode.hub-dark-mode #hub-shell .hub-nav a:hover { color: var(--hub-night-text) !important; background: var(--hub-night-raised) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-account-signout,
body.hub-mode.hub-dark-mode #hub-shell .hub-theme-toggle {
  color: var(--hub-night-muted) !important;
  border-color: var(--hub-night-line) !important;
  background: var(--hub-night-surface) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-account-signout:hover { color: var(--hub-night-red) !important; border-color: #70444a !important; background: var(--hub-night-red-wash) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-nav { border-color: var(--hub-night-line) !important; background: #08172f !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-nav a {
  color: var(--hub-night-muted) !important;
  border-color: transparent !important;
  background: transparent !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-nav a.is-active {
  color: var(--hub-night-text) !important;
  border-color: #4775ab !important;
  background: var(--hub-night-blue-wash) !important;
  box-shadow: none !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-nav a i:first-child { color: var(--hub-night-blue) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-theme-toggle span { border-color: #3c6491 !important; background: var(--hub-night-raised) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-theme-toggle span::after { background: #7fa7d7 !important; box-shadow: none !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-theme-toggle input:checked + span::after { background: var(--hub-night-blue) !important; box-shadow: none !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-theme-toggle input:focus-visible + span { outline-color: var(--hub-night-blue) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-content {
  color: var(--hub-night-text) !important;
  background: radial-gradient(ellipse at 50% 0%, #18365f 0%, #08172f 48%, var(--hub-night-bg) 100%) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card,
body.hub-mode.hub-dark-mode #hub-shell .hub-info-card,
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-card,
body.hub-mode.hub-dark-mode #hub-shell .hub-history-card,
body.hub-mode.hub-dark-mode #hub-shell .hub-bottom-card,
body.hub-mode.hub-dark-mode #hub-shell .hub-daily-draws,
body.hub-mode.hub-dark-mode #hub-shell .hub-draws-page-header {
  color: var(--hub-night-text) !important;
  border: 1px solid var(--hub-night-line) !important;
  border-radius: 14px;
  background: var(--hub-night-surface) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .2) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card { border-color: #416b9b !important; background: linear-gradient(145deg, #18365f, #0c1c38) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown,
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown b { color: var(--hub-night-blue) !important; text-shadow: none !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown span { border: 1px solid #35577e !important; border-radius: 10px; background: #08172f !important; text-shadow: none !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card small,
body.hub-mode.hub-dark-mode #hub-shell .hub-info-card small,
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-note,
body.hub-mode.hub-dark-mode #hub-shell .hub-nav-note,
body.hub-mode.hub-dark-mode #hub-shell .hub-bottom-card p { color: var(--hub-night-muted) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-info-card > div { border-color: var(--hub-night-line) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-info-card strong,
body.hub-mode.hub-dark-mode #hub-shell .hub-info-card > div:first-child strong { color: var(--hub-night-blue) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-prize-bar {
  color: var(--hub-night-text) !important;
  border: 1px solid var(--hub-night-line) !important;
  border-radius: 11px;
  background: var(--hub-night-raised) !important;
  box-shadow: none !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-prize-bar:nth-child(1) { border-color: #2b5487 !important; background: #16365e !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-prize-bar:nth-child(2) { border-color: #315345 !important; background: #1b302a !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-prize-bar:nth-child(3) { border-color: #494363 !important; background: #292638 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-prize-bar strong { color: var(--hub-night-gold) !important; text-shadow: none !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-accumulated {
  color: var(--hub-night-text) !important;
  border: 1px solid #416a96 !important;
  background: #15375f !important;
  box-shadow: none !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-accumulated strong { color: var(--hub-night-gold) !important; text-shadow: none !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-accumulated span b { color: #153156 !important; background: var(--hub-night-gold) !important; box-shadow: none !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-accumulated span small { color: var(--hub-night-muted) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-accumulated.is-disabled { color: #abc5e9 !important; border-color: var(--hub-night-line) !important; background: var(--hub-night-raised) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-accumulated.is-disabled strong { color: #abc5e9 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-accumulated.is-disabled span b { color: #dbe8fa !important; background: #365b88 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-accumulated.is-complete { border-color: #38634f !important; background: #1b302a !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-amount-button,
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-row > button:not(.hub-donate-button),
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-row output,
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-row > strong {
  color: var(--hub-night-text) !important;
  border-color: var(--hub-night-line) !important;
  border-radius: 7px;
  background: var(--hub-night-raised) !important;
  box-shadow: none !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-amount-button:hover { border-color: #5276a0 !important; background: #1a3b68 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-amount-button.is-selected { color: #fff !important; border-color: var(--hub-night-blue-strong) !important; background: #315f99 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-row > button:not(.hub-donate-button):first-child,
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-row > button:not(.hub-donate-button):nth-child(3),
body.hub-mode.hub-dark-mode #hub-shell .hub-ticket-button,
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-register,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-buy {
  color: #fff !important;
  border-color: #2879d0 !important;
  background: var(--hub-night-blue-strong) !important;
  box-shadow: none !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-donate-button { color: #10231d !important; border-color: #72c9a4 !important; background: #83d3b1 !important; box-shadow: none !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-quantity-total { color: #c4ead9 !important; border-color: #315345 !important; background: #1b302a !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-quantity-total strong,
body.hub-mode.hub-dark-mode #hub-shell .hub-history-card li strong { color: var(--hub-night-green) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-note i,
body.hub-mode.hub-dark-mode #hub-shell .hub-history-card li i { color: var(--hub-night-blue) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-locked,
body.hub-mode.hub-dark-mode #hub-shell .hub-empty { color: var(--hub-night-muted) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-locked strong,
body.hub-mode.hub-dark-mode #hub-shell .hub-card-title,
body.hub-mode.hub-dark-mode #hub-shell .hub-bottom-card strong { color: var(--hub-night-text) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-login,
body.hub-mode.hub-dark-mode #hub-shell .hub-account-signout { border-color: var(--hub-night-line) !important; background: var(--hub-night-raised) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-donation-login:hover { background: #1a3b68 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-promo,
body.hub-mode.hub-dark-mode #hub-shell .hub-promo-configured {
  border-color: var(--hub-night-line) !important;
  background-color: #0d2142 !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .2) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-promo-configured::after { background: linear-gradient(90deg, rgba(10, 28, 56, .78), rgba(10, 28, 56, .22) 72%, rgba(10, 28, 56, .72)) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-schedule-link { color: var(--hub-night-text) !important; border-color: var(--hub-night-line) !important; background: var(--hub-night-surface) !important; box-shadow: none !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-schedule-link:hover { border-color: #5276a0 !important; background: var(--hub-night-raised) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-bottom-icon { color: var(--hub-night-blue) !important; background: var(--hub-night-blue-wash) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-bottom-icon.green { color: var(--hub-night-green) !important; background: var(--hub-night-green-wash) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-bottom-icon.gold { color: var(--hub-night-gold) !important; background: #393329 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-footer { color: var(--hub-night-muted) !important; border-color: var(--hub-night-line) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-footer i { color: var(--hub-night-green) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-footer a { color: var(--hub-night-blue) !important; }

/* Normalize each wallet state so the floating view, forms and ticket history
   remain readable in the same palette, including narrow mobile panels. */
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-card {
  min-width: 0;
  color: var(--hub-night-text) !important;
  border: 1px solid var(--hub-night-line) !important;
  border-radius: 14px;
  background: var(--hub-night-surface) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .24) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-heading span,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-panel-title strong,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-history > div strong,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-tickets-header strong,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-tickets-header strong i,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-code,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-wins-heading strong,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-wins-heading strong i { color: var(--hub-night-blue) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-heading small,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-metrics small,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-history > div span,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-history li span small,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-panel p,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-panel form > small,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-meta,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-wins-summary li small,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-wins-more,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-locked p { color: var(--hub-night-muted) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-heading > strong { color: #f4f7fb !important; font-variant-numeric: tabular-nums; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-metrics span,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-panels,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-item,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-empty-tickets { border-color: var(--hub-night-line) !important; background: #10264a !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-metrics b { color: #d4e5fc !important; font-variant-numeric: tabular-nums; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-actions button,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-submit {
  color: #fff !important;
  border-color: #2879d0 !important;
  border-radius: 8px;
  background: var(--hub-night-blue-strong) !important;
  box-shadow: none !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-actions button:hover,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-submit:hover { background: #3d7dcb !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-actions button:last-child,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-close {
  color: #d4e5fc !important;
  border-color: var(--hub-night-line) !important;
  background: var(--hub-night-raised) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-actions button:last-child:hover,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-close:hover { color: #fff !important; background: #21446e !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-error { color: var(--hub-night-red) !important; border-color: #70444a !important; background: var(--hub-night-red-wash) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-panel-title button,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-heading button {
  color: var(--hub-night-muted) !important;
  border-color: var(--hub-night-line) !important;
  background: var(--hub-night-raised) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-panel label { color: #cadcf4 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-panel input {
  min-width: 0;
  color: var(--hub-night-text) !important;
  border-color: #35577e !important;
  border-radius: 7px;
  background: #08172f !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-panel input::placeholder { color: #abc5e9 !important; opacity: 1; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-panel input:focus { border-color: var(--hub-night-blue-strong) !important; box-shadow: 0 0 0 3px rgba(40, 121, 208, .24) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-history li,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-wins-summary li { color: #cadcf4 !important; border-color: var(--hub-night-line) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-history li span i,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-group > summary small i,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-time-tag i,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-draw-time i { color: var(--hub-night-blue) !important; }
body.hub-mode.hub-dark-mode #hub-shell .wallet-status-pending { color: #f1d99e !important; background: #403622 !important; }
body.hub-mode.hub-dark-mode #hub-shell .wallet-status-approved,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-status.is-paid { color: #a6e5c8 !important; background: #1c3a30 !important; }
body.hub-mode.hub-dark-mode #hub-shell .wallet-status-rejected,
body.hub-mode.hub-dark-mode #hub-shell .wallet-status-cancelled { color: #f2a0a5 !important; background: #42282d !important; }
body.hub-mode.hub-dark-mode #hub-shell .wallet-pending-open { color: #cadcf4 !important; }
body.hub-mode.hub-dark-mode #hub-shell .wallet-pending-open:hover { color: var(--hub-night-blue) !important; }
body.hub-mode.hub-dark-mode #hub-shell .wallet-pending-open .wallet-pending-hint { color: var(--hub-night-blue) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-panel { color: #dce9f8 !important; border-color: var(--hub-night-line) !important; background: #10264a !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-summary span,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-key { color: var(--hub-night-muted) !important; border-color: var(--hub-night-line) !important; background: #091a36 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-summary strong,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-key strong { color: #edf2f7 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-summary [data-wallet-payment-countdown] { color: var(--hub-night-gold) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-summary [data-wallet-payment-countdown].is-expired { color: var(--hub-night-red) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-key small,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-info,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-note { color: var(--hub-night-muted) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-payment-key button { color: var(--hub-night-blue) !important; border-color: #416b98 !important; background: #17375e !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-tickets { border-color: var(--hub-night-line) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-tickets-header span,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-group > summary b { color: #a6e5c8 !important; background: #1c3a30 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-group { border-color: var(--hub-night-line) !important; background: #091a36 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-group > summary { color: #dfeaff !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-group > summary:hover { background: #17375e !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-group > summary::after,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-group > summary small { color: var(--hub-night-muted) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-group-list { border-color: var(--hub-night-line) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-draw { color: #cadcf4 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-item { border-radius: 8px; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-item.has-won-prize {
  border-color: #806d46 !important;
  background: #2b281f !important;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .18) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-prize { border-color: #665636 !important; background: #393222 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-prize i,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-prize strong,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-prize span { color: #f0d58e !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-status.is-winner { color: #3a2e16 !important; background: var(--hub-night-gold) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-time-tag { color: #d3e4fa !important; border-color: #3b526b !important; background: #243549 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-draw-time,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-draw-time strong { color: #d3e4fa !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-meta strong,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-wins-summary li b { color: var(--hub-night-green) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-numbers span,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-grid span {
  color: #dce9f7 !important;
  border-color: #355b86 !important;
  background: #091a36 !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-grid span.is-empty { background: #142d4d !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-wins-summary { border-color: var(--hub-night-line) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-wins-heading span { color: #153156 !important; background: var(--hub-night-gold) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-wins-summary li strong { color: #edf2f7 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-locked { color: var(--hub-night-muted) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-icon { color: #fff !important; background: var(--hub-night-blue-strong) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-locked strong { color: var(--hub-night-text) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-trigger {
  color: #fff !important;
  border: 1px solid #6ba6e4 !important;
  background: linear-gradient(115deg, #2876c4, #164275) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .3) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-icon { color: #e6f0fc !important; border-color: rgba(255,255,255,.38) !important; background: #1c4b82 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-copy strong,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-chevron { color: #fff !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-copy small { color: #d3e4fb !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-panel {
  border: 1px solid #31577f !important;
  border-radius: 16px;
  background: #08172f !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .38) !important;
  scrollbar-color: #426d9f #10264a;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-panel > .hub-wallet-card { border: 0 !important; background: transparent !important; box-shadow: none !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-heading { color: var(--hub-night-blue) !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-heading button:hover,
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-panel-title button:hover { color: #fff !important; background: #1c4b82 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-buy:hover { background: #3d7dcb !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-panel::-webkit-scrollbar { width: 10px; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-panel::-webkit-scrollbar-track { background: #10264a; border-radius: 8px; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-panel::-webkit-scrollbar-thumb { border: 2px solid #10264a; border-radius: 8px; background: #426d9f; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-panel::-webkit-scrollbar-thumb:hover { background: #75a9e1; }
body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float :is(button, a, summary, input):focus-visible {
  outline: 2px solid #8fbcf5 !important;
  outline-offset: 2px;
}
body.hub-mode.hub-dark-mode #hub-shell :is(.hub-top-links a, .hub-nav a, .hub-amount-button, .hub-donation-row button, .hub-donate-button, .hub-schedule-link):focus-visible {
  outline: 2px solid #8fbcf5 !important;
  outline-offset: 2px;
}
body.hub-mode.hub-dark-mode #hub-shell :is(.hub-wallet-actions button, .hub-wallet-submit, .hub-wallet-float-buy):disabled { cursor: wait; opacity: .62; transform: none; }
body.hub-mode.hub-dark-mode #hub-shell .hub-footer { color: var(--hub-night-muted) !important; }

@media (max-width: 480px) {
  body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-card { padding: 12px !important; }
  body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-heading { gap: 8px; }
  body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-heading > strong { font-size: clamp(18px, 5.5vw, 22px); }
  body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-metrics { gap: 6px; }
  body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-metrics span { min-width: 0; padding: 8px 7px; }
  body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-metrics small { line-height: 1.25; }
  body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-top { flex-wrap: wrap; align-items: flex-start; }
  body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-draw { min-width: 0; flex: 1 1 120px; }
  body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-panel { max-height: calc(100dvh - 96px); }
}

@media (prefers-reduced-motion: reduce) {
  body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-trigger,
  body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-float-chevron,
  body.hub-mode.hub-dark-mode #hub-shell .hub-wallet-ticket-group > summary::after { transition: none !important; }
}

/* Keep late legacy Hub selectors from reintroducing the broadcast neon colors. */
body.hub-mode.hub-dark-mode #hub-shell .hub-content {
  background: linear-gradient(180deg, #10264a 0%, #08172f 58%, #071329 100%) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card .hub-countdown span {
  color: #e4f0ff !important;
  text-shadow: none !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card .hub-countdown b,
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card .hub-live-label,
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card .hub-live-label i {
  color: #9bc9ff !important;
  text-shadow: none !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-prize-bar.hub-accumulated {
  color: #edf2f7 !important;
  border-color: #4673a4 !important;
  background: #163a67 !important;
  box-shadow: none !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-prize-bar.hub-accumulated strong {
  color: #e9c77f !important;
  text-shadow: none !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-prize-bar.hub-accumulated span,
body.hub-mode.hub-dark-mode #hub-shell .hub-prize-bar.hub-accumulated span i { color: #c4d9f3 !important; }
body.hub-mode.hub-dark-mode #hub-shell .hub-prize-bar.hub-accumulated span b {
  color: #142d4d !important;
  border-color: #e9c77f !important;
  background: #e9c77f !important;
  box-shadow: none !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-promo:not(.hub-promo-configured) {
  color: #edf2f7 !important;
  border-color: #416991 !important;
  background: #18222d !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .2) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-promo:not(.hub-promo-configured) > div > span {
  color: #bad5fa !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-promo:not(.hub-promo-configured) > div > strong {
  color: #edf2f7 !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-promo:not(.hub-promo-configured) > div > small {
  color: #b4cae8 !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-promo:not(.hub-promo-configured) .hub-promo-burst,
body.hub-mode.hub-dark-mode #hub-shell .hub-promo:not(.hub-promo-configured) .hub-promo-ball {
  color: #dce9f8 !important;
  border-color: #426a97 !important;
  background: #183d69 !important;
  box-shadow: none !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-promo-configured::after {
  background: linear-gradient(90deg, rgba(7, 19, 41, .7), rgba(7, 19, 41, .15) 72%, rgba(7, 19, 41, .65)) !important;
}


/* Let the floating wallet button keep its own rounded silhouette. */
body.hub-mode #hub-shell .hub-wallet-float {
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

/* Add a calm live pulse to the upcoming draw clock. */
@keyframes hubCountdownBoltPulse {
  0%, 100% { transform: scale(1); opacity: .82; filter: drop-shadow(0 0 0 rgba(93, 173, 255, 0)); }
  50% { transform: scale(1.14); opacity: 1; filter: drop-shadow(0 0 7px rgba(93, 173, 255, .72)); }
}
@keyframes hubCountdownColonPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .48; }
}
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card {
  border-color: #438fee !important;
  background: radial-gradient(ellipse at 50% 8%, rgba(44, 123, 213, .46), transparent 74%), linear-gradient(145deg, #173968, #0c1c38) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, .38), 0 0 26px rgba(38, 126, 226, .2), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card .hub-live-label i {
  color: #73bdff !important;
  animation: hubCountdownBoltPulse 1.6s ease-in-out infinite;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card .hub-countdown span[data-hub-countdown="seconds"] {
  background: radial-gradient(ellipse at 50% 0%, #12305a, #08172f) !important;
  border-color: #468ee0 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09), 0 0 20px rgba(45, 132, 229, .12) !important;
  will-change: transform;
}
body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card .hub-countdown b {
  animation: hubCountdownColonPulse 1s steps(2, end) infinite;
}
@media (prefers-reduced-motion: reduce) {
  body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card .hub-live-label i,
  body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card .hub-countdown b {
    animation: none !important;
  }
  body.hub-mode.hub-dark-mode #hub-shell .hub-countdown-card .hub-countdown span[data-hub-countdown="seconds"] {
    will-change: auto;
  }
}