:root{
  /* Brand — unchanged */
  --brand-navy:#00075d;
  --brand-gold:#c9a84c;        /* accent / fills ONLY — never body text */
  --color-primary:#1d4ed8;
  --color-primary-hover:#1740b8;
  /* Text — two-gray rule: fixed text people READ is locked to AA/AAA;
     placeholder is the only light gray, allowed ONLY on type-over fields */
  --text-heading:#16181d;      /* page titles — near-black */
  --text-primary:#1a1f2e;      /* headings, values  (~15:1) */
  --text-secondary:#374151;    /* static labels / values (~10:1 AAA) */
  --text-placeholder:#4b5563;  /* input placeholders only — lightest allowed (~7.6:1 AAA) */
  --text-on-navy:#ffffff;
  /* Surfaces */
  --bg-canvas:#f4f5f7; --bg-surface:#ffffff;
  --border-hairline:#eceef2; --border-input:#e6e8ee;
  /* Radius */
  --radius-sm:8px; --radius-md:10px; --radius-lg:16px; --radius-pill:999px;
  /* Soft shadows — the separator, replacing hard borders */
  --shadow-sm:0 1px 2px rgba(8,12,40,.04);
  --shadow-md:0 1px 2px rgba(8,12,40,.04), 0 10px 28px rgba(8,12,40,.07);
  --shadow-lg:0 4px 8px rgba(8,12,40,.06), 0 24px 48px rgba(8,12,40,.10);
  /* Spacing */
  --space-xs:4px; --space-sm:8px; --space-md:12px; --space-lg:16px; --space-xl:24px; --space-2xl:32px;
  /* Type */
  --font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --text-sm:14px; --text-body:18px; --text-sub:24px; --text-section:28px; --text-page:32px; --text-hero:40px;
  --weight-regular:400; --weight-medium:500; --weight-semibold:600; --weight-bold:700; --weight-display:800;
  /* Status — kept */
  --color-success:#0f7a4d; --color-success-light:#e7f6ee;
  --color-warning:#b45309; --color-warning-light:#fef3e2;
  --color-danger:#b42318;  --color-danger-light:#fee4e2;
  --color-info:#1d4ed8;    --color-info-light:#e6edfb;

  /* ── legacy aliases — still consumed by Tickets + shared badges/chips (StatusChip, UrgencyBadge,
     TicketTypeBadge, IncompleteFlag, UserPicker, VoiceRecorder, SopChecklist, etc). Kept at their
     ORIGINAL values so those surfaces render unchanged; migrate to the canonical tokens above, then
     delete this block. ── */
  --cp-text-sm:14px; --cp-text-body:18px; --cp-text-sub:24px; --cp-text-section:28px; --cp-text-page:32px; --cp-text-hero:40px;
  --cp-p1:#dc2626; --cp-p2:#d97706; --cp-p3:#2563eb; --cp-p4:#6b7280;
  --cp-status-open:#6b7280; --cp-status-inprogress:#2563eb; --cp-status-pending:#d97706;
  --cp-status-pendingexternal:#0891b2; --cp-status-pendingapproval:#ea580c; --cp-status-resolved:#059669; --cp-status-closed:#374151;
  --cp-tap-target:44px; --cp-record-btn:80px;
}
