/* Colours. Source: Orange Health Labs Brand Guidelines colour palette sheet
   (assets/reference/brand-colour-palette.jpg). Tint ramps are the sheet's own
   10-step interpolations to white; do not invent intermediate values.

   NAMING RULE, load-bearing: the three brand primaries own --orange-500,
   --green-500 and --grey-500. Ramp steps live in their own namespace
   (--orange-tint-N, --green-tint-N, --neutral-NNN) and must never reuse a
   primary's name. They did until 2026-08-25: the ramps declared --orange-500,
   --green-500 and --grey-500 a second time in this same :root, so CSS
   last-wins silently replaced all three Pantone brand values with tint-ramp
   ones, and --grey-500, the body-text colour, fell from 6.12:1 to 2.56:1
   against white. Nothing in the system read the primitives, so nothing caught
   it. Keep the namespaces apart and the class cannot come back. */
:root{
/* primary — print-accurate brand values */
--orange-500:#F7941D;/* PANTONE P 2013 C | C0 M50 Y100 K0 | 247 148 29 */
--green-500:#17A578;/* PANTONE P 133-8 C | C80 M10 Y70 K0 | 23 165 120 */
--grey-500:#616262;/* PANTONE P 169-14 C | C61 M53 Y52 K23 | 97 97 97 */
/* orange tint ramp */
--orange-tint-1:#FF970A;
--orange-tint-2:#FFA123;
--orange-tint-3:#FFAC3B;
--orange-tint-4:#FFB654;
--orange-tint-5:#FFC16C;
--orange-tint-6:#FFCB85;
--orange-tint-7:#FFD59D;
--orange-tint-8:#FFE0B6;
--orange-tint-9:#FFEACE;
--orange-tint-10:#FFF5E7;
/* green tint ramp */
--green-tint-1:#01B37A;
--green-tint-2:#1ABB87;
--green-tint-3:#34C295;
--green-tint-4:#4DCAA2;
--green-tint-5:#67D1AF;
--green-tint-6:#80D9BD;
--green-tint-7:#99E1CA;
--green-tint-8:#B3E8D7;
--green-tint-9:#CCF0E4;
--green-tint-10:#E6F7F2;
/* neutral ramp */
--neutral-100:#333333;
--neutral-150:#484848;
--neutral-200:#545555;
--neutral-250:#616262;
--neutral-300:#6E6F6F;
--neutral-350:#7A7C7C;
--neutral-400:#878888;
--neutral-450:#949595;
--neutral-500:#A1A2A2;
--neutral-550:#AEAFAF;
--neutral-600:#BBBCBC;
--neutral-650:#C8C9C9;
--neutral-700:#D5D6D6;
--neutral-750:#E2E3E3;
--neutral-800:#EFEFEF;
--neutral-850:#F7F7F7;
/* semantic status colours */
--red-500:#D32F2F;--red-100:#FBE7E7;--red-700:#9A2020;
--blue-500:#2D7DD2;--blue-100:#E5EFFA;--blue-700:#1F5893;
--magenta-500:#C0549F;--magenta-100:#F6E7F1;
--slate-500:#98A0A6;--slate-100:#EEF0F1;
/* certification ladder — fixed, ordered highest to lowest */
--cert-certified:#17A578;
--cert-distinction:#2D7DD2;
--cert-completed:#F7941D;
--cert-audited:#C0549F;
--cert-assigned:#98A0A6;
}

/* ---- semantic aliases: light theme (default) ---- */
:root,[data-theme="light"]{
color-scheme:light;
--surface-page:#FFFFFF;
--surface-sunken:#F7F7F7;
--surface-card:#FFFFFF;
--surface-raised:#FFFFFF;
--surface-inset:#EFEFEF;
--surface-accent-soft:#FFF4E6;
--surface-success-soft:#E5F7F1;
--surface-info-soft:#E5EFFA;
--surface-danger-soft:#FBE7E7;
--surface-inverse:#333333;
--text-heading:#333333;
--text-body:#616262;
--text-muted:#878888;
--text-faint:#A1A2A2;
--text-on-accent:#FFFFFF;
--text-on-inverse:#FFFFFF;
--text-accent:#F7941D;
--text-success:#17A578;
--text-danger:#D32F2F;
--text-link:#17A578;
--text-link-hover:#01B37A;
--border-subtle:#EFEFEF;
--border-default:#D5D6D6;
--border-strong:#A1A2A2;
--border-accent:#F7941D;
--focus-ring:#F7941D;
--accent:#F7941D;
--accent-hover:#E5850F;
--accent-active:#C9720B;
--chart-grid:#EFEFEF;
--chart-axis:#A1A2A2;
--chart-1:#F7941D;--chart-2:#17A578;--chart-3:#2D7DD2;--chart-4:#C0549F;--chart-5:#98A0A6;--chart-6:#FFCB84;
}

/* ---- semantic aliases: dark theme ---- */
[data-theme="dark"]{
color-scheme:dark;
--surface-page:#1A1C1C;
--surface-sunken:#141515;
--surface-card:#232525;
--surface-raised:#2C2E2E;
--surface-inset:#1A1C1C;
--surface-accent-soft:#3A2A11;
--surface-success-soft:#12332A;
--surface-info-soft:#152738;
--surface-danger-soft:#3A1D1D;
--surface-inverse:#F7F7F7;
--text-heading:#F7F7F7;
--text-body:#C8C9C9;
--text-muted:#949595;
--text-faint:#7A7C7C;
--text-on-accent:#231703;
--text-on-inverse:#333333;
--text-accent:#FFAC3B;
--text-success:#4DC9A1;
--text-danger:#F08A8A;
--text-link:#4DC9A1;
--text-link-hover:#80D9BC;
--border-subtle:#2C2E2E;
--border-default:#3D3F3F;
--border-strong:#616262;
--border-accent:#FFAC3B;
--focus-ring:#FFAC3B;
--accent:#FFA122;
--accent-hover:#FFB653;
--accent-active:#F7941D;
--chart-grid:#2C2E2E;
--chart-axis:#7A7C7C;
--chart-1:#FFA122;--chart-2:#4DC9A1;--chart-3:#6BA6E0;--chart-4:#D68BC2;--chart-5:#98A0A6;--chart-6:#FFD59D;
/* certification ladder, lifted for dark surfaces */
--cert-certified:#4DC9A1;
--cert-distinction:#6BA6E0;
--cert-completed:#FFA122;
--cert-audited:#D68BC2;
--cert-assigned:#AEAFAF;
}
