/* Solved PM — design tokens (Phase 2)
   Adopted verbatim from design/design_handoff_solved_pm_v1/design-tokens.css.
   Core palette and fonts are immutable (BRAND.md is the law). */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&family=Inter:wght@400;500;600&display=swap');

:root{
  /* Brand law */
  --teal:#103947;
  --gold:#f6ba6d;
  --gold-dark:#b0713a;
  --coal:#282f32;
  --white:#ffffff;
  --gold-gradient:linear-gradient(135deg,#f6ba6d,#b0713a);

  /* Derived neutrals */
  --teal-hover:#1a4a5c;
  --teal-subtle:#e9eff1;
  --border:#d8dfe2;
  --text-muted:#5c676c;
  --surface:#f7f9fa;

  /* Status — functional, never brand. Gold is never a status colour. */
  --pass:#15803d;  --pass-bg:#e9f3eb;
  --warn:#d97706;  --warn-bg:#fdf3e3;
  --fail:#b3261e;  --fail-bg:#fbeeec;
  --info:#2d6e82;  --info-bg:#e9f1f4;

  /* Type */
  --font-heading:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --text-display:26px;   /* large titles */
  --text-title:20px;
  --text-headline:16px;
  --text-body:15px;
  --text-footnote:13px;
  --text-caption:11px;
  --track-label:0.08em;  /* uppercase eyebrows and labels */

  /* Spacing scale */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-8:32px; --sp-10:40px;

  /* Radii */
  --r-sm:4px; --r-md:8px; --r-lg:12px; --r-xl:16px; --r-pill:999px;

  /* Elevation — cool teal-tinted, never black */
  --shadow-sm:0 1px 2px rgba(16,57,71,.06);
  --shadow-md:0 2px 8px rgba(16,57,71,.08);
  --shadow-lg:0 10px 28px rgba(16,57,71,.16);

  /* Motion */
  --ease:cubic-bezier(.4,0,.2,1);
  --dur-fast:120ms; --dur:180ms; --dur-slow:220ms;

  /* Accessibility */
  --tap:44px;
  --focus-ring:0 0 0 3px rgba(246,186,109,.55);
}

/* --- Legacy aliases (temporary) ------------------------------------------
   Pre-redesign views and the server-rendered public pages still reference the
   old variable names. These aliases keep them rendering during the parallel
   port and die when the last consumer is rewritten. Do not use in new code. */
:root{
  --status-pass:var(--pass);   --status-pass-bg:var(--pass-bg);
  --status-warn:var(--warn);   --status-warn-bg:var(--warn-bg);
  --status-fail:var(--fail);   --status-fail-bg:var(--fail-bg);
  --status-info:var(--info);   --status-info-bg:var(--info-bg);
  --radius:var(--r-md);
}
