/* ============================================================================
   COLOUR — R-041 LOCKED values, plus the approved R-050 v1.0 baseline.
   R-041 keeps three separate colour systems: brand, semantic product, and data
   visualisation. They must not be mixed or substituted for one another.
   ========================================================================= */
:root{
/* ---------- R-041 LOCKED — core brand colours (Brand Book §8) ------------- */
--fid-plum:#380F3F;          /* Primary Brand — Plum owns the brand */
--fid-plum-deep:#241029;     /* Dark Brand Surface */
--fid-violet:#7D49FF;        /* Digital Energy / system focus */
--fid-orange:#FF6A00;        /* Human action / attention / exception */
--fid-neutral-soft:#F6F6F5;  /* Calm Surface */
--fid-white:#FFFFFF;         /* Clear Surface */

/* ---------- R-041 LOCKED — semantic product colours (Brand Book §9) ------- */
--sem-success:#1F7A4D;       /* Success / Approved */
--sem-warning:#8A6100;       /* Warning / threshold attention (amber, advisory) */
--sem-critical:#B42318;      /* Critical / Rejected / Failed */
--sem-info:#2459A9;          /* Info */
--sem-inprogress:#7D49FF;    /* In-progress / Active — Focus Violet */
--sem-exception:#FF6A00;     /* Exception / human action required — Orange */
--sem-neutral-inactive:#645E65; /* Neutral / inactive status text */

/* Orange Exception means human intervention is required.
   Amber Warning means advisory or approaching-threshold attention.
   Status must always pair colour with text and/or icon. */

/* ---------- R-041 LOCKED — data visualisation (Brand Book §10) ------------
   Separate from brand and semantic systems. Maximum six primary categorical
   series. Orange is never a categorical chart-series colour. */
--chart-light-1:#6A3575;
--chart-light-2:#1769AA;
--chart-light-3:#8A6500;
--chart-light-4:#667085;
--chart-light-5:#9B2C2C;
--chart-light-6:#1C7C54;
--chart-dark-1:#B787C2;
--chart-dark-2:#6BA7E5;
--chart-dark-3:#D7AF51;
--chart-dark-4:#AAB2C0;
--chart-dark-5:#E07A73;
--chart-dark-6:#5BBE9D;
--chart-series-max:6; /* @kind other */
/* Sequential magnitude uses the single-hue Plum ramp below (--chart-seq-*).
   Diverging uses a neutral midpoint plus functional positive/negative colours. */
--chart-seq-1:#F4EFF5;
--chart-seq-2:#CDBCD0;
--chart-seq-3:#9C7EA1;
--chart-seq-4:#6B4571;
--chart-seq-5:#380F3F;
--chart-diverging-mid:#E6E4E0;
--chart-diverging-pos:var(--sem-success);
--chart-diverging-neg:var(--sem-critical);

/* ==========================================================================
   R-050 APPROVED — v1.0 (DEC-02, DEC-04, DEC-07)
   Everything below is Product Design System implementation detail. R-041 §24
   delegates component tokens downstream; these values are NOT R-041 rules and
   require R-050 approval. They are single-hue derivatives of approved colours
   and introduce no new brand colour.
   ========================================================================= */

/* Plum tint ramp — structural depth on brand surfaces. R-050 APPROVED — v1.0. */
--fid-plum-900:#1A0B1E;
--fid-plum-800:#241029;
--fid-plum-700:#2E0C34;
--fid-plum-600:#380F3F;
--fid-plum-500:#4E2255;
--fid-plum-400:#6B4571;
--fid-plum-300:#9C7EA1;
--fid-plum-200:#CDBCD0;
--fid-plum-100:#E7DFE9;
--fid-plum-050:#F4EFF5;

/* Working neutral ramp, derived from Soft Neutral #F6F6F5. R-050 APPROVED — v1.0.
   --fid-grey-600 is aligned to the R-041 neutral-inactive value #645E65. */
--fid-grey-900:#1C1B1A;
--fid-grey-800:#2E2C2B;
--fid-grey-700:#4A4746;
--fid-grey-600:#645E65;
--fid-grey-500:#726D73;
--fid-grey-400:#A39EA4;
--fid-grey-300:#D6D3CE;
--fid-grey-200:#E6E4E0;
--fid-grey-100:#F0EFED;
--fid-grey-050:#F6F6F5;

/* Violet and Orange support tints, for surfaces and accessible text only.
   R-050 APPROVED — v1.0. */
--fid-violet-700:#4A1FC9;
--fid-violet-600:#6330F0;
--fid-violet-500:#7D49FF;
--fid-violet-200:#D5C6FF;
--fid-violet-100:#EBE4FF;
--fid-orange-800:#7A3100;
--fid-orange-700:#9A3E00;
--fid-orange-500:#FF6A00;
--fid-orange-200:#FFD3B5;
--fid-orange-100:#FFEBDD;

/* Semantic surface/text tints derived from the locked semantic hues.
   R-050 APPROVED — v1.0. */
--sem-success-text:#17603C;
--sem-success-surface:#E6F1EB;
--sem-success-border:#A9CFBC;
--sem-warning-text:#6E4D00;
--sem-warning-surface:#F7EFDC;
--sem-warning-border:#D9C08A;
--sem-critical-text:#8F1C13;
--sem-critical-surface:#FBE9E7;
--sem-critical-border:#E0AAA4;
--sem-info-text:#1D4886;
--sem-info-surface:#E7EEF8;
--sem-info-border:#AEC3E2;
--sem-inprogress-text:#4A1FC9;
--sem-inprogress-surface:#EBE4FF;
--sem-inprogress-border:#D5C6FF;
--sem-exception-text:#9A3E00;
--sem-exception-surface:#FFEBDD;
--sem-exception-border:#FFD3B5;

/* ------------- Semantic aliases used by components. R-050 APPROVED v1.0 --- */
/* Surfaces — light, neutral working surfaces are the default (R-041 §16). */
--surface-app:var(--fid-grey-050);
--surface-card:var(--fid-white);
--surface-raised:var(--fid-white);
--surface-sunken:var(--fid-grey-100);
--surface-hover:var(--fid-grey-100);
--surface-active:var(--fid-grey-200);
--surface-shell:var(--fid-plum-deep);
--surface-shell-hover:#32173A;
--surface-shell-active:var(--fid-plum);
--surface-brand:var(--fid-plum);
--surface-brand-hover:var(--fid-plum-700);
--surface-selected:var(--sem-inprogress-surface);
--surface-exception:var(--sem-exception-surface);
--surface-disabled:var(--fid-grey-100);

/* Text */
--text-heading:var(--fid-plum-deep);
--text-default:var(--fid-grey-800); /* body ink. Renamed from --text-body at v1.1: the
   type scale also declares --text-body as the 16px size and won that cascade,
   so every colour consumer was falling back to browser black. Value unchanged. */
--text-muted:var(--fid-grey-600);
--text-subtle:var(--fid-grey-600);
--text-brand:var(--fid-plum);
--text-on-brand:var(--fid-white);
--text-on-shell:#F1EBF2;
--text-on-shell-muted:#C9B4CE;
--text-on-orange:var(--fid-plum-deep);
--text-link:var(--fid-plum);
--text-link-hover:var(--fid-violet-700);
--text-exception:var(--sem-exception-text);
--text-disabled:#8A858B;

/* Borders */
--border-subtle:var(--fid-grey-200);
--border-default:var(--fid-grey-300);
--border-strong:var(--fid-grey-400);
--border-brand:var(--fid-plum);
--border-focus:var(--fid-violet);
--border-exception:var(--fid-orange);
--border-on-shell:rgba(255,255,255,.14);

/* Interaction */
--focus-ring:var(--fid-violet);
--focus-ring-halo:rgba(125,73,255,.22);
--action-primary:var(--fid-plum);
--action-primary-hover:var(--fid-plum-700);
--action-primary-active:var(--fid-plum-900);
--action-exception:var(--fid-orange);
--action-exception-hover:#E85F00;
--action-exception-active:#D25700;

/* Icons — R-041 §13: default Deep Plum / Fidelen Plum on light, White on dark,
   Focus Violet when active. */
--icon-default:var(--fid-plum);
--icon-muted:var(--sem-neutral-inactive);
--icon-on-shell:#C9B4CE;
--icon-on-dark:var(--fid-white);
--icon-active:var(--fid-violet);

/* Workflow status tokens. The state vocabulary is R-041 (Terminology
   Dictionary); the surface/border tints are R-050 APPROVED — v1.0 (DEC-07). */
--status-draft-fg:var(--sem-neutral-inactive);
--status-draft-bg:var(--fid-grey-100);
--status-draft-bd:var(--fid-grey-300);
--status-submitted-fg:var(--sem-info-text);
--status-submitted-bg:var(--sem-info-surface);
--status-submitted-bd:var(--sem-info-border);
--status-underreview-fg:var(--sem-inprogress-text);
--status-underreview-bg:var(--sem-inprogress-surface);
--status-underreview-bd:var(--sem-inprogress-border);
--status-approved-fg:var(--sem-success-text);
--status-approved-bg:var(--sem-success-surface);
--status-approved-bd:var(--sem-success-border);
--status-rejected-fg:var(--sem-critical-text);
--status-rejected-bg:var(--sem-critical-surface);
--status-rejected-bd:var(--sem-critical-border);
--status-cancelled-fg:var(--sem-neutral-inactive);
--status-cancelled-bg:var(--fid-grey-100);
--status-cancelled-bd:var(--fid-grey-400);
--status-completed-fg:var(--fid-plum);
--status-completed-bg:var(--fid-plum-100);
--status-completed-bd:var(--fid-plum-200);
--status-exception-fg:var(--sem-exception-text);
--status-exception-bg:var(--sem-exception-surface);
--status-exception-bd:var(--sem-exception-border);
--status-warning-fg:var(--sem-warning-text);
--status-warning-bg:var(--sem-warning-surface);
--status-warning-bd:var(--sem-warning-border);
}
