/* Stradephi design tokens — single source of truth for color, type, spacing.
   No external dependencies; consumed by base/components/public/auth. */
:root {
  /* Brand palette */
  --color-cream: #FEFBEA;
  --color-navy-900: #002045;
  --color-navy-800: #06294F;
  --color-navy-700: #0A2D5C;
  /* Third blue (second review, Design System): a step lighter than the panel
     navy-700 so narrow right-hand content boxes read as their own layer. */
  --color-navy-600: #0F3A6E;
  --color-primary: #1E90FF;
  --color-primary-600: #1577D6;
  --color-primary-300: #6DB8FF;
  /* Purple (third review): NeonPink read as too severe for table headers.
     PI §2793 supersedes the §792 NeonPink recommendation. --color-purple is
     the literal dark purple for light surfaces; -300 is the navy-readable
     tint (~4.9:1 on navy-700) — a literal dark purple as *text* on the navy
     dashboard would fail AA outright, so the ramp carries both. */
  --color-purple: #6A4C93;
  /* Fourth review (Bud): slightly less white tint, slightly more blue hue. */
  --color-purple-300: #A385E8;
  /* Orange (third review): reversible / recoverable actions — revoke, pause,
     downgrade — must not read the same as the irreversible solid-red delete. */
  --color-orange: #F57C00;
  --color-orange-300: #FFB074;
  /* DEV_ONLY accent (Task 112 follow-up, Aug 28 2026): every other warm hue
     already carries an unrelated meaning on the dashboard (gold = headings +
     Super-status + Live-money; orange = reversible actions; purple = table
     headers), so a gold DEV_ONLY tint kept getting lost next to elements
     that were already gold for a different reason. DEV_ONLY gets its own
     dedicated hue instead — restyle DEV_ONLY app-wide (or restyle the
     unrelated Live-money gold, kept as --color-warning-300) by changing only
     these two values, nothing else in the stylesheet. */
  --color-dev: #C74B95;
  --color-dev-300: #E8A0CB;

  /* Spec accent palette (PI §Color System). Bud 2026-07-31: solid fills stay
     for SERIOUS actions/states (saves, failures, delete) — but the severe
     traffic-light hues go. Deep pine teal and garnet replace the Material
     green/red; both clear AA with white text on a solid fill. */
  --color-success: #0C7E6C;      /* deep pine teal — success, saves (5.0:1 vs #fff) */
  --color-warning: #C98A6D;      /* rose-gold — attention / Super-status accent
                                    (Bud 4th review: the old #D4AF37 read too
                                    yellow; keep distinct from dev magenta and
                                    error garnet) */
  --color-error: #B8394A;        /* garnet — errors, destructive (5.6:1 vs #fff) */
  --color-accent: #00BCD4;       /* aqua — secondary highlights, data accents */
  --color-surface-elevated: #143D6B;  /* elevated layers: hovers, dropdowns */
  /* Readable tints of the accents for text on the navy theme */
  --color-success-300: #6FCFC5;
  --color-warning-300: #E6BA96;
  --color-error-300: #F29DA8;   /* rose tint of the garnet (6.4:1 on navy-700) */
  --color-accent-300: #66D9E8;
  /* Darker aqua for text/ink on the light/public theme (base aqua is too pale on cream; 
     #00838F clears WCAG AA 4.5:1 for normal text on white/cream) */
  --color-accent-600: #00838F;

  /* Public theme (cream surface, dark ink) */
  --bg-public: var(--color-cream);
  --surface-public: #FFFFFF;
  --ink: #122A43;
  --ink-strong: #0A2540;
  --ink-muted: #5B6B7B;
  --border-public: #E8E1C6;

  /* Auth / dashboard theme (deep navy) */
  --bg-auth: var(--color-navy-900);
  --surface-card: var(--color-navy-700);
  --surface-aside: var(--color-navy-600);  /* RHS narrow content boxes */
  --on-dark: #E8F1FB;
  /* Fourth review: form-field labels carry a subtle gold-tinged cream so they
     read distinct from white field values and grey helper text. */
  --on-dark-label: #EFE7D2;
  --on-dark-muted: #9FB6CF;
  --border-dark: rgba(255, 255, 255, 0.10);

  /* Feedback (semi-transparent by type, per §0.1.8) — anchored on the
     spec accent palette. Ink values are for the light/public theme;
     base.css re-assigns them to light tints under .theme-auth. */
  --flash-error-bg: rgba(184, 57, 74, 0.16);
  --flash-error-border: var(--color-error);
  --flash-error-ink: #8E1F17;
  --flash-warning-bg: rgba(201, 138, 109, 0.18);
  --flash-warning-border: var(--color-warning);
  --flash-warning-ink: #6B5510;
  --flash-success-bg: rgba(12, 126, 108, 0.17);
  --flash-success-border: var(--color-success);
  --flash-success-ink: #0A4E46;
  /* Info flash rides the aqua accent ramp (like the other three ride their
     accents) — the old raw dodger-blue read as "just another blue box" on
     the navy dashboard instead of a real flash category. */
  --flash-info-bg: rgba(0, 188, 212, 0.12);
  --flash-info-border: rgba(0, 188, 212, 0.55);
  --flash-info-ink: #00575F;
  /* Static note boxes — deliberately distinct from flash styling (neutral
     surface + left accent bar) so they never read as a lingering flash. */
  --info-box-bg: rgba(255, 255, 255, 0.04);
  --info-box-border: rgba(30, 144, 255, 0.55);
  /* Interior callout box — must read as distinct from ALL THREE navy content
     shades (PI §3083-3089). The second-review callout sat on --surface-aside
     (one of the three blues) and its accent/ink tokens never existed, so the
     left bar silently dropped out and it read as "just another blue box".
     Warm rose-gold-accented neutral, deliberately off the blue ramp. */
  --callout-bg: rgba(201, 138, 109, 0.09);
  --callout-border: var(--color-warning);
  --callout-ink: #EDE3C8;

  /* Semantic action colors (third review). Destructive-and-final keeps a
     SOLID fill; everything reversible is semi-transparent + exterior
     highlight, so weight alone signals recoverability. */
  --color-table-header: var(--color-purple-300);
  --action-destructive: var(--color-error);   /* delete — solid, irreversible */
  --action-reversible: var(--color-orange);   /* revoke / pause — recoverable */
  --action-upgrade: var(--color-success);     /* teal */
  --action-downgrade: var(--color-orange);    /* orange/amber */

  /* Typography */
  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --fs-xs: 0.78rem;
  --fs-sm: 0.875rem;
  --fs-md: 0.9375rem;
  --fs-base: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 2rem;
  --fs-3xl: clamp(2.2rem, 4.5vw, 3.4rem);

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* Elevation */
  --shadow-sm: 0 1px 2px rgba(10, 37, 64, 0.06);
  --shadow-md: 0 6px 20px rgba(10, 37, 64, 0.10);
  --shadow-lg: 0 18px 48px rgba(10, 37, 64, 0.16);

  /* Layout */
  --container-max: 1140px;
  --header-h: 68px;
}
