/* Jebel Jais Club tokens (light day / dark pre-dawn). Band colours updated 24 Oct to the agreed wristbands: social green, intermediate orange, fast red, driver blue, passenger white, children yellow; admin settings override them if the stock differs. */
:root, [data-theme="light"] {
  --surface: #fff3e0;
  --surface-raised: #fffaf3;
  --surface-sunken: #f9dec1;
  --ink: #351a0c;
  --ink-muted: #6b4a3b;
  --line: #e6cdb0;
  --line-strong: #8c6c5d;
  --brand: #a0352e;
  --brand-hover: #82271f;
  --on-brand: #fff3e0;
  --accent: #ce6e42;
  --focus: #183f54;
  --status-open-bg: #dde8ec;
  --status-open-fg: #183f54;
  --status-few-bg: #fbe0c6;
  --status-few-fg: #83350f;
  --status-waitlist-bg: #efe4d8;
  --status-waitlist-fg: #5a3f31;
  --status-closed-bg: #e8e2dc;
  --status-closed-fg: #4d4641;
  --danger: #9c1f17;
  --danger-bg: #fbe3dc;
  --success: #1f5c6e;
  --success-bg: #dceef2;
  --art-ink: #351a0c;
  --art-cream: #fff3e0;
  --art-dawn: #f9dec1;
  --art-sun: #ce6e42;
  --art-slate: #456983;
  --art-terra: #cd6130;
  --art-rust: #a0352e;
  --art-rust-deep: #711c15;
  --art-sand: #e4a37f;
  --art-peach: #fac9a9;
  --art-mist: #b2bdc0;
  --art-stone: #9b7f70;
  --band-social: #2e7d4f;
  --band-intermediate: #e07a1f;
  --band-fast: #c62828;
  --band-driver: #1f5fa8;
  --band-passenger: #ffffff;
  --band-child: #f2c230;
  --band-vip: #351a0c;
  --shadow-card: 0 1px 2px rgba(53,26,12,0.08), 0 6px 18px rgba(53,26,12,0.08);
}
/* Dark (pre-dawn) theme: follows the system unless the page sets data-theme="light". */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
  --surface: #101e28;
  --surface-raised: #172a37;
  --surface-sunken: #0b161e;
  --ink: #f6e8d6;
  --ink-muted: #c7b6a6;
  --line: #2c4352;
  --line-strong: #7d93a1;
  --brand: #e8835a;
  --brand-hover: #f29a74;
  --on-brand: #1c0d07;
  --accent: #f8a04c;
  --focus: #f8a04c;
  --status-open-bg: #1d3a4a;
  --status-open-fg: #cfe4ef;
  --status-few-bg: #4a2a17;
  --status-few-fg: #ffd2ac;
  --status-waitlist-bg: #33281f;
  --status-waitlist-fg: #ead8c4;
  --status-closed-bg: #2a2826;
  --status-closed-fg: #d6cec7;
  --danger: #ff9b8a;
  --danger-bg: #3d1712;
  --success: #8fd0e0;
  --success-bg: #12333d;
  --shadow-card: 0 1px 2px rgba(0,0,0,0.40), 0 8px 24px rgba(0,0,0,0.35);
}
}
[data-theme="dark"] {
  --surface: #101e28;
  --surface-raised: #172a37;
  --surface-sunken: #0b161e;
  --ink: #f6e8d6;
  --ink-muted: #c7b6a6;
  --line: #2c4352;
  --line-strong: #7d93a1;
  --brand: #e8835a;
  --brand-hover: #f29a74;
  --on-brand: #1c0d07;
  --accent: #f8a04c;
  --focus: #f8a04c;
  --status-open-bg: #1d3a4a;
  --status-open-fg: #cfe4ef;
  --status-few-bg: #4a2a17;
  --status-few-fg: #ffd2ac;
  --status-waitlist-bg: #33281f;
  --status-waitlist-fg: #ead8c4;
  --status-closed-bg: #2a2826;
  --status-closed-fg: #d6cec7;
  --danger: #ff9b8a;
  --danger-bg: #3d1712;
  --success: #8fd0e0;
  --success-bg: #12333d;
  --shadow-card: 0 1px 2px rgba(0,0,0,0.40), 0 8px 24px rgba(0,0,0,0.35);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --tap-target: 44px;
  --field-height: 48px;
  --content-max: 1120px;
  --form-max: 560px;
  --font-sans: "Alexandria", "Alexandria Arabic", system-ui, sans-serif;
}
.display { font-family: var(--font-sans); font-size: 56px; line-height: 60px; font-weight: 800; }
.h1 { font-family: var(--font-sans); font-size: 40px; line-height: 46px; font-weight: 800; }
.h2 { font-family: var(--font-sans); font-size: 28px; line-height: 34px; font-weight: 700; }
.h3 { font-family: var(--font-sans); font-size: 20px; line-height: 28px; font-weight: 700; }
.figure { font-family: var(--font-sans); font-size: 32px; line-height: 36px; font-weight: 800; }
.body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 28px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 26px; font-weight: 400; }
.body-sm { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: 0.06em; }
.caption { font-family: var(--font-sans); font-size: 12px; line-height: 18px; font-weight: 400; }







