/* =============================================================================
 * DO NOT EDIT — generated by scripts/lib/build-design-tokens.mjs
 * =============================================================================
 * Source: docs/design-system/tokens/*.json
 *
 * CI regenerates this file and runs `git diff --exit-code`, so an edit here without the
 * matching edit to the source fails the build rather than surviving until the next
 * regeneration. Change the token JSON, then re-run the build.
 * ========================================================================== */

/* -----------------------------------------------------------------------------
 * Generated journey and EPIC screens link THIS file.
 *
 * It pulls in the tokens, the three themes, the vendored fonts and the element defaults, then
 * maps the vocabulary those screens use onto semantic tokens. A screen declares no colour of its
 * own; it renders standalone and inside an iframe exactly as before.
 *
 * LIGHT IS THE BASE. These screens were authored dark, so linking this changes how they look —
 * that is the correction, not a side effect. For dark:
 *     document.documentElement.dataset.theme = 'dark'
 * -------------------------------------------------------------------------- */

@import './styles.css';

:root {
  /* Surfaces */
  --bg-surface-hover: var(--bg-elevated);
  --bg-surface-2: var(--bg-elevated);
  --bg-border: var(--border-default);
  --bg-950: var(--bg-page);
  --bg-800: var(--bg-surface);
  --line: var(--border-subtle);
  --muted: var(--text-muted);

  /* Accents, by the role they carry */
  --primary: var(--interactive-primary);
  --primary-hover: var(--interactive-primary-hover);
  --primary-600: var(--interactive-primary);
  --emerald: var(--status-success);
  --violet: var(--status-shared);
  --crimson: var(--status-error);
  --amber: var(--status-warning);
  --danger: var(--status-error);
  --info: var(--status-info);
  --blue: var(--status-info);

  /* Status washes */
  --primary-muted: rgb(var(--interactive-primary-rgb) / 0.12);
  --emerald-muted: rgb(var(--status-success-rgb) / 0.12);
  --violet-muted: rgb(var(--status-shared-rgb) / 0.12);
  --crimson-muted: rgb(var(--status-error-rgb) / 0.12);
  --amber-muted: rgb(var(--status-warning-rgb) / 0.12);

  /* Status text */
  --crimson-text: var(--status-error-text);
  --amber-text: var(--status-warning-text);
  --emerald-text: var(--status-success-text);
  --violet-text: var(--status-shared-text);

  /* Layout */
  --sidebar-width: var(--sidebar-w);

  /* Neutral text, by role */
  --text: var(--text-primary);
  --ink: var(--text-primary);
  --text-2: var(--text-secondary);
  --b200: var(--text-secondary);
  --text-footer: var(--text-muted);
  --text-muted-aa: var(--text-muted);
  --text-muted-accessible: var(--text-muted);
  --text-readable: var(--text-muted);
  --text-excluded: var(--text-muted);
  --review: var(--text-muted);
  --slate: var(--text-muted);
  --b300: var(--text-muted);
  --b400: var(--text-muted);
  --bg-400: var(--text-muted);
  --base400: var(--text-muted);
  --b500: var(--text-dim);
  --white: var(--text-on-accent);
  --on-primary: var(--text-on-accent);

  /* Neutral surfaces, by role */
  --bg: var(--bg-page);
  --bg-base: var(--bg-page);
  --bg-root: var(--bg-page);
  --watch-bg: var(--bg-page);
  --navy: var(--bg-page);
  --b950: var(--bg-page);
  --base950: var(--bg-page);
  --b900: var(--bg-sidebar);
  --surface: var(--bg-surface);
  --b800: var(--bg-surface);
  --base800: var(--bg-surface);
  --b850: var(--bg-card);
  --surface-2: var(--bg-elevated);
  --surface2: var(--bg-elevated);
  --bg-hover: var(--bg-elevated);
  --bg-raised: var(--bg-elevated);
  --navy-light: var(--bg-elevated);
  --badge-neutral-bg: var(--bg-elevated);
  --bg-inset: var(--bg-input);
  --bg-900: var(--bg-input);
  --input: var(--bg-input);
  --alt: var(--bg-input);
  --border: var(--border-default);
  --border-strong: var(--border-default);
  --bg-700: var(--border-default);
  --b600: var(--border-default);
  --b700: var(--border-default);
  --base700: var(--border-default);
  --badge-neutral-fg: var(--text-secondary);

  /* Accents, by role */
  --primary-bright: var(--interactive-primary);
  --primary-text: var(--interactive-primary);
  --accent-primary: var(--interactive-primary);
  --accent: var(--interactive-primary);
  --brand: var(--interactive-primary);
  --p400: var(--interactive-primary);
  --primary-deep: var(--interactive-primary-hover);
  --accent-hover: var(--interactive-primary-hover);
  --p500: var(--interactive-primary-hover);
  --e400: var(--status-success);
  --accent-emerald: var(--status-success);
  --ok: var(--status-success);
  --am400: var(--status-warning);
  --accent-amber: var(--status-warning);
  --warn: var(--status-warning);
  --cr400: var(--status-error);
  --rose: var(--status-error);
  --rose-deep: var(--status-error);
  --accent-crimson: var(--status-error);
  --crimson-hover: var(--status-error);
  --crimson-deep: var(--status-error);
  --crimson-deep-hover: var(--status-error);
  --crimson-fill: var(--status-error);
  --destructive: var(--status-error);
  --destructive-hover: var(--status-error);
  --err: var(--status-error);
  --vi400: var(--status-shared);
  --vi500: var(--status-shared);
  --accent-violet: var(--status-shared);
  --sov: var(--status-shared);
  --bl400: var(--status-info);
  --module-color: var(--status-info);
  --nhs-blue: var(--status-info);
  --epc-a: var(--status-success);
  --epc-b: var(--status-success);
  --epc-c: var(--status-success);
  --epc-d: var(--status-warning);
  --epc-e: var(--status-warning);
  --epc-f: var(--status-error);
  --epc-g: var(--status-error);

  /* Status text (AA-lifted) */
  --crimson-bright: var(--status-error-text);
  --rose-lift: var(--status-error-text);
  --on-crimson: var(--status-error-text);
  --badge-danger-fg: var(--status-error-text);
  --on-amber: var(--status-warning-text);
  --badge-warn-fg: var(--status-warning-text);
  --on-emerald: var(--status-success-text);
  --badge-ok-fg: var(--status-success-text);
  --on-violet: var(--status-shared-text);
  --on-info: var(--status-info-text);
  --badge-info-fg: var(--status-info-text);

  /* Status washes */
  --primary-tint: rgb(var(--interactive-primary-rgb) / 0.12);
  --primary-subtle: rgb(var(--interactive-primary-rgb) / 0.06);
  --org-muted: rgb(var(--interactive-primary-rgb) / 0.12);
  --emerald-tint: rgb(var(--status-success-rgb) / 0.12);
  --emerald-soft: rgb(var(--status-success-rgb) / 0.12);
  --emerald-faint: rgb(var(--status-success-rgb) / 0.08);
  --teal-soft: rgb(var(--status-success-rgb) / 0.12);
  --badge-ok-bg: rgb(var(--status-success-rgb) / 0.12);
  --amber-tint: rgb(var(--status-warning-rgb) / 0.12);
  --amber-soft: rgb(var(--status-warning-rgb) / 0.12);
  --amber-faint: rgb(var(--status-warning-rgb) / 0.08);
  --warn-bg: rgb(var(--status-warning-rgb) / 0.12);
  --badge-warn-bg: rgb(var(--status-warning-rgb) / 0.12);
  --crimson-tint: rgb(var(--status-error-rgb) / 0.12);
  --rose-muted: rgb(var(--status-error-rgb) / 0.12);
  --danger-muted: rgb(var(--status-error-rgb) / 0.12);
  --badge-danger-bg: rgb(var(--status-error-rgb) / 0.12);
  --violet-tint: rgb(var(--status-shared-rgb) / 0.12);
  --violet-soft: rgb(var(--status-shared-rgb) / 0.12);
  --violet-faint: rgb(var(--status-shared-rgb) / 0.08);
  --blue-muted: rgb(var(--status-info-rgb) / 0.12);
  --blue-tint: rgb(var(--status-info-rgb) / 0.12);
  --info-muted: rgb(var(--status-info-rgb) / 0.12);
  --module-muted: rgb(var(--status-info-rgb) / 0.12);
  --badge-info-bg: rgb(var(--status-info-rgb) / 0.12);
  --review-bg: rgb(var(--text-muted-rgb) / 0.12);

  /* Status borders (30%) */
  --primary-border: rgb(var(--interactive-primary-rgb) / 0.3);
  --emerald-border: rgb(var(--status-success-rgb) / 0.3);
  --amber-border: rgb(var(--status-warning-rgb) / 0.3);
  --crimson-border: rgb(var(--status-error-rgb) / 0.3);
  --danger-border: rgb(var(--status-error-rgb) / 0.3);
  --violet-border: rgb(var(--status-shared-rgb) / 0.3);

  /* Radius, type and layout */
  --radius: var(--radius-xl);
  --r-sm: var(--radius-default);
  --r-md: var(--radius-xl);
  --r-lg: var(--radius-2xl);
  --r-xl: var(--radius-2xl);
  --pill: var(--radius-full);
  --radius-pill: var(--radius-full);
  --r-full: var(--radius-full);
  --font: var(--font-sans);
  --rail: var(--sidebar-w);
  --rail-width: var(--sidebar-w);
  --sidebar-collapsed: var(--sidebar-w-collapsed);
  --header-h: var(--sp-16);
  --offscreen: -9999px;

  /* Gradients */
  --grad-brand: linear-gradient(90deg, var(--interactive-primary), var(--status-success));
  --shimmer-bg: linear-gradient(90deg, transparent 0%, rgb(var(--text-primary-rgb) / 0.04) 50%, transparent 100%);
}
