:root{
/* ——— Brand primitives ——— */
--ciw-ink:#0E0F11;            /* the monogram black */
--ciw-ink-soft:#1C1E22;
--ciw-paper:#FBFAF8;          /* warm paper, taken from the logo ground */
--ciw-paper-tint:#F4F2EE;

/* ——— Neutrals (warm-grey ramp) ——— */
--neutral-0:#FFFFFF;
--neutral-25:#FBFAF8;
--neutral-50:#F5F3F0;
--neutral-100:#ECE9E4;
--neutral-200:#DEDAD3;
--neutral-300:#C6C1B8;
--neutral-400:#A29C92;
--neutral-500:#7C766D;
--neutral-600:#5B564F;
--neutral-700:#403C37;
--neutral-800:#282622;
--neutral-900:#171614;
--neutral-950:#0E0F11;

/* ——— Primary: Verdigris (assurance / integrity) ——— */
--verdigris-50:#EAF3F0;
--verdigris-100:#CFE4DE;
--verdigris-200:#A2CCC2;
--verdigris-300:#6FAEA1;
--verdigris-400:#3F8C7E;
--verdigris-500:#0F6E62;
--verdigris-600:#0B5A50;
--verdigris-700:#08453E;
--verdigris-800:#06322D;
--verdigris-900:#04211E;

/* ——— Secondary: Brass (craft / seals / awards) ——— */
--brass-50:#FAF4EA;
--brass-100:#F0E2C9;
--brass-200:#E0C79B;
--brass-300:#CBA469;
--brass-400:#B4884A;
--brass-500:#96702C;
--brass-600:#7A5A2C;
--brass-700:#5C431F;

/* ——— Semantic hues ——— */
--positive-50:#E9F4EE;--positive-500:#1E7A4F;--positive-600:#166040;
--caution-50:#FBF3E2;--caution-500:#B07A12;--caution-600:#8D610C;
--critical-50:#FBEDEB;--critical-500:#B23B2E;--critical-600:#8F2C21;
--info-50:#EBF1F8;--info-500:#2C5C9A;--info-600:#22497B;

/* ——— Semantic aliases: surface ——— */
--surface-page:var(--ciw-paper);
--surface-card:var(--neutral-0);
--surface-sunken:var(--neutral-50);
--surface-raised:var(--neutral-0);
--surface-inverse:var(--ciw-ink);
--surface-inverse-soft:var(--ciw-ink-soft);
--surface-hover:var(--neutral-50);
--surface-active:var(--neutral-100);
--surface-selected:var(--verdigris-50);
--surface-disabled:var(--neutral-50);
--surface-scrim:rgba(14,15,17,.52);

/* ——— Semantic aliases: text ——— */
--text-display:var(--ciw-ink);
--text-heading:var(--neutral-900);
--text-body:var(--neutral-800);
--text-muted:var(--neutral-600);
--text-subtle:var(--neutral-500);
--text-disabled:var(--neutral-400);
--text-inverse:var(--neutral-25);
--text-inverse-muted:var(--neutral-400);
--text-link:var(--verdigris-600);
--text-link-hover:var(--verdigris-700);
--text-on-accent:#FFFFFF;
--text-positive:var(--positive-600);
--text-caution:var(--caution-600);
--text-critical:var(--critical-600);

/* ——— Semantic aliases: border ——— */
--border-subtle:var(--neutral-100);
--border-default:var(--neutral-200);
--border-strong:var(--neutral-300);
--border-inverse:rgba(255,255,255,.14);
--border-focus:var(--verdigris-500);
--border-critical:var(--critical-500);

/* ——— Semantic aliases: interactive ——— */
--accent:var(--verdigris-500);
--accent-hover:var(--verdigris-600);
--accent-active:var(--verdigris-700);
--accent-quiet:var(--verdigris-50);
--accent-secondary:var(--brass-400);
--focus-ring:0 0 0 3px rgba(15,110,98,.24);

/* ——— Data visualisation (categorical, colour-blind safe order) ——— */
--chart-1:#0F6E62;--chart-2:#B4884A;--chart-3:#2C5C9A;--chart-4:#6FAEA1;
--chart-5:#8F2C21;--chart-6:#5B564F;--chart-7:#E0C79B;--chart-8:#A2CCC2;
--chart-grid:var(--neutral-100);
--chart-axis:var(--neutral-400);
}

/* Inverse scope — dashboards use it for the rail, command bar and dark panels */
.ciw-dark{
--surface-page:var(--ciw-ink);
--surface-card:var(--ciw-ink-soft);
--surface-sunken:#111317;
--surface-hover:rgba(255,255,255,.06);
--surface-active:rgba(255,255,255,.1);
--surface-selected:rgba(15,110,98,.22);
--text-display:var(--neutral-25);
--text-heading:var(--neutral-25);
--text-body:var(--neutral-100);
--text-muted:var(--neutral-400);
--text-subtle:var(--neutral-500);
--border-subtle:rgba(255,255,255,.08);
--border-default:rgba(255,255,255,.14);
--border-strong:rgba(255,255,255,.24);
--accent:var(--verdigris-300);
--accent-hover:var(--verdigris-200);
--text-link:var(--verdigris-200);
}
