/*
 * Shared brand tokens — single source of truth for color and font tokens, sitewide.
 * Tokens only: no component styles, no selectors beyond :root.
 *
 * Every consuming page must include these Google Fonts <link> tags in <head> —
 * this stylesheet cannot load fonts itself:
 *
 * <link rel="preconnect" href="https://fonts.googleapis.com">
 * <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
 * <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
 */

:root {
  --color-authority: #0F172A;
  --color-authority-rgb: 15, 23, 42;
  --color-authority-dark: #0B1220;
  --accent: #0073AF; /* darkened from #007DBC (2026-09-18 watch-card audit) — the prior value's documented "4.51:1" contrast was verified against pure white only; against --color-bg (#F8FAFC), the actual background --accent text renders on in several components (e.g. the watch card's "Book now" link, default per-date badge), it measured only ~4.31:1, below the WCAG AA 4.5:1 floor. This value clears ~4.94:1 against #F8FAFC and ~5.17:1 against white — see docs/DECISIONS.md */
  --accent-hover: #0369A1;
  --color-text-muted: #5b6472; /* darkened from #5f6773 — that value cleared AA (4.5:1) against the old #ffffff --color-bg-surface but only 4.30:1 against the darkened #eef2f7 surface below; #5b6472 clears 5.3:1+ on card, page, and white backgrounds alike (sitewide fix, not admin-only) — see docs/DECISIONS.md */
  --color-success: #166534; /* darkened from #16a34a for WCAG AA (4.5:1) as plain text on light backgrounds — see docs/DECISIONS.md */
  --color-success-tint: #F0FBF4;

  /* Canonical — new, not yet consumed by any page (see docs/AUDIT_VISUAL_CONSISTENCY.md) */
  --color-text: #111827;
  --color-danger: #dc2626;
  --color-danger-tint: color-mix(in srgb, var(--color-danger) 4%, white); /* light-appropriate tint, derived from --color-danger so it can't go stale again — see docs/DECISIONS.md */
  --color-warn: #92400e; /* darkened from #d97706 for WCAG AA (4.5:1) as plain text on light backgrounds — see docs/DECISIONS.md */
  --color-border: #e2e8f0;
  --color-border-strong: #aab6c7; /* visibly distinct card/panel edge, paired with the admin-only --color-bg-surface:#eef2f7 override in src/admin/routes.js/insights.js's own <style> blocks (the default --color-border is too close in value to read as a border against that darker surface); a UI-component-edge token, held to visual distinctness rather than a text-contrast ratio — see docs/DECISIONS.md */
  --color-bg: #f8fafc;
  --color-bg-surface: #ffffff; /* reverted to the original global default — a same-day darkening to #eef2f7 (Option 3) reached dashboard.html/panel-chrome.css/dep-window-picker.js/index.html unintentionally via this shared token; the darker admin-card treatment now lives as a local :root override scoped to src/admin/routes.js's main dashboard and src/admin/insights.js only — see docs/DECISIONS.md */
  --color-bg-surface2: #e3eaf2; /* nested/secondary surface — dropdowns, insets inside a white card; darkened from #f0f4f8 (was only ~1.06-1.10:1 vs #ffffff/#f8fafc, not visibly distinct) to clear 1.15:1 against both — see docs/DECISIONS.md for the confirmed AA tradeoff this required against --color-text-muted */
  --color-bg-subtle: #f8fafc; /* promoted from index.html's local :root, where it was already this exact value — date-horizon.js's .dp-cal .dp-nav-btn:hover background is the sole consumer; value-identical to --color-bg-hover below (flagged, not consolidated — out of this promotion's scope) — see docs/DECISIONS.md */

  /* Interactive-state shading — one value per role, replacing the hand-keyed
     per-component literals inventoried in docs/AUDIT_VISUAL_CONSISTENCY.md.
     Not yet consumed by any page (migration is a separate run). See docs/DECISIONS.md. */
  --color-bg-selected: #EFF8FF;             /* selected/active surface tint — a true accent tint, chosen over the more common #EEF2FF (lavender-drift) */
  --color-bg-hover: #f8fafc;                /* hover surface tint — bridge-independent literal (matches --color-bg's intended value), NOT var(--color-bg): forms.css's --color-bg bridge shadows that token to #ffffff on pages whose inline :root doesn't redeclare it — same reason as the station-dropdown row-highlight fix, see docs/DECISIONS.md */
  --color-border-subtle: var(--color-border); /* low-emphasis divider/border, distinct role from --color-border's default use */

  /* Canonical single font token; --font-d/--font-b kept as aliases (14/23 live call sites) */
  --font-body: 'Inter', sans-serif;
  --font-d: var(--font-body);
  --font-b: var(--font-body);

  /* Shared field-value typography (docs/DECISIONS.md D1, D3) — for a form
     field's own primary display value only, not its container/label/siblings. */
  --font-size-field-value: 16px;
  --font-weight-field-value: 600;
}
