/* 5Solution — Color tokens. Source of truth: packages/design-tokens/src/tokens.css
   + admin-tokens.css in 5solution-saas (unified 2/9/2026, "adapted from 5SPORT system"). */
:root{
/* ── Brand — Royal (default tenant/platform brand) ───────────── */
--5s-brand:#1E40FF;
--5s-brand-600:#1730D9;
--5s-brand-50:#EEF2FF;
--5s-brand-100:#DBE4FF;
--5s-brand-text:#1E3A9E;
--5s-lime:#BFD730;
--5s-lime-dark:#8FA823;
--5s-navy:#1B2A6B;

/* ── Neutrals ─────────────────────────────────────────────────── */
--5s-bg:#FAFAF9;
--5s-surface:#FFFFFF;
--5s-surface-2:#F4F4F5;
--5s-surface-3:#E4E4E7;
--5s-ink:#0F172A;
--5s-ink-2:#334155;
--5s-muted:#64748B;
--5s-subtle:#94A3B8;
--5s-border:#E2E8F0;
--5s-border-strong:#CBD5E1;

/* ── Semantic (bg-safe -50 tints for fills; base for icons on white) ─ */
--5s-success:#10B981;
--5s-success-50:#ECFDF5;
--5s-warn:#F59E0B;
--5s-warn-50:#FFFBEB;
--5s-danger:#EF4444;
--5s-danger-50:#FEF2F2;
--5s-info:#0EA5E9;
--5s-info-50:#F0F9FF;
--5s-live:#EF4444;
/* Text/icon-safe 700-level ink for the three states above — the base
   tones fail WCAG icon contrast (2.4:1 / 2.1:1) on their own -50 fill. */
--5s-state-good-ink:#047857;
--5s-state-warn-ink:#B45309;
--5s-state-stop-ink:#B91C1C;

/* ── Sport accent ─────────────────────────────────────────────── */
--sport-running:#F97316;
--sport-running-50:#FFF7ED;

/* ── Dashboard chrome (BTC admin) ────────────────────────────── */
--bib-brand:#1E40FF;
--bib-brand-600:#1730D9;
--bib-brand-50:#EEF2FF;
--bib-brand-100:#DBE4FF;
--bib-brand-text:#1E3A9E;
--bib-accent:#F97316;
--bib-accent-50:#FFF7ED;
--bib-lime:#BFD730;
--bib-sidebar:#0B1220;
--bib-sidebar-2:#131C30;
--bib-sidebar-text:#E2E8F0;
--bib-sidebar-muted:#94A3B8;
--bib-sidebar-active:rgba(255,255,255,.08);

/* Event lifecycle stage colors */
--stage-setup:#8B5CF6;
--stage-selling:#1E40FF;
--stage-final:#F59E0B;
--stage-raceday:#EF4444;
--stage-after:#10B981;

/* RBAC role badge colors */
--role-owner:#A855F7;--role-owner-bg:#F3E8FF;
--role-manager:#1E40FF;--role-manager-bg:#DBE4FF;
--role-data-entry:#10B981;--role-data-entry-bg:#ECFDF5;
--role-finance:#F59E0B;--role-finance-bg:#FFFBEB;
--role-checkin:#64748B;--role-checkin-bg:#F1F5F9;

/* ── 5Sport sub-brand palette (results product; own product line) ─── */
--sport-navy:#002CA8;
--sport-blue:#2563EB;
--sport-lime:#AECC02;
--sport-ink:#1E293B;
}
/* Per-tenant brand swatch presets — apply on <html data-brand="race"> etc.
   BTC white-labels the dashboard + buyer pages to one of these (or a custom hex). */
[data-brand="race"]{--bib-brand:#F97316;--bib-brand-600:#EA580C;--bib-brand-50:#FFF7ED;--bib-brand-100:#FFEDD5;--bib-brand-text:#9A3412;}
[data-brand="forest"]{--bib-brand:#10B981;--bib-brand-600:#059669;--bib-brand-50:#ECFDF5;--bib-brand-100:#D1FAE5;--bib-brand-text:#065F46;}
[data-brand="crimson"]{--bib-brand:#EF4444;--bib-brand-600:#DC2626;--bib-brand-50:#FEF2F2;--bib-brand-100:#FEE2E2;--bib-brand-text:#991B1B;}
[data-brand="plum"]{--bib-brand:#A855F7;--bib-brand-600:#9333EA;--bib-brand-50:#FAF5FF;--bib-brand-100:#F3E8FF;--bib-brand-text:#6B21A8;}
[data-brand="ink"]{--bib-brand:#0F172A;--bib-brand-600:#020617;--bib-brand-50:#F1F5F9;--bib-brand-100:#E2E8F0;--bib-brand-text:#0F172A;}
::selection{background:var(--5s-brand-100);color:var(--5s-brand-text)}
