/*
### README ###
This file is the source of truth for colour tokens (code, not Figma).

SURFACES
Three levels, no more: --surface-primary (page, sidebar, table headers, card
footers, inset areas), --surface-secondary (cards, panels, every control),
--surface-tertiary (menus, popovers, tooltips). Hover and selected are alpha
washes (--gray-alpha-*) over whatever level is already there, never a fourth
level. Elevation is a shadow, not a colour. Cards add --surface-sheen (a
120px white gradient) as background-image; controls take the flat token.

BORDERS
--border-default (object edges: cards, overlays, dividers), --border-structural
(the frame: sidebar edge, header hairline), --border-medium-contrast (control
edges), --border-high-contrast (hovered control edge). Width is always
var(--border-width) (unit.css), never a literal px.

ELEVATION
There is a three-rung elevation ladder for things that left the flow:
--shadow-elevated-sm for tooltips, --shadow-elevated for anchored menus and
popovers, and --shadow-elevated-lg for modals and unanchored offcanvas. Apply
them through .elevated-sm, .elevated, and .elevated-lg. Cards never receive a
shadow. Choose the rung in order: did it leave the flow, is it anchored to a
trigger, and does it hold anything interactive?

BRAND TINT
Every surface is a neutral with a trace of brand mixed in, driven by the
dials below (--tint-light, --tint-dark, --tint-saturation). The per-theme
blocks only set untinted --neutral-* values; the derivation block mixes them.
To retune the look, change the dials, never paste a tinted hex.

When updating the docs, ensure to add new top level selections as comments using === TITLE ===

For sub sections, you can simply state TITLE
*/

/* Theme-independent: dials and everything derived from the per-theme neutrals.
   Declared on [data-theme] as well so the mix is re-resolved on the element
   that carries the theme (body), not inherited pre-resolved from :root. */
:root,
[data-theme] {
    /* === TINT DIALS === */
    --tint-light: 3%;
    --tint-dark: 12%;
    --tint-saturation: 30%;
    /* Achromatic twin of the brand: same OKLCH lightness, zero chroma, so the
       mix drops chroma without drifting the lightness. */
    --brand-achromatic: #b7b7b7;
    --tint-color: color-mix(in oklch, var(--brand-primary) var(--tint-saturation), var(--brand-achromatic));

    /* === SURFACE === */
    --surface-primary: color-mix(in srgb, var(--tint-color) var(--brand-tint), var(--neutral-surface-primary));
    --surface-secondary: color-mix(in srgb, var(--tint-color) var(--brand-tint), var(--neutral-surface-secondary));
    --surface-tertiary: color-mix(in srgb, var(--tint-color) var(--brand-tint), var(--neutral-surface-tertiary));
    --gray-100: color-mix(in srgb, var(--tint-color) var(--brand-tint), var(--neutral-gray-100));
    --gray-200: color-mix(in srgb, var(--tint-color) var(--brand-tint), var(--neutral-gray-200));
    --gray-300: color-mix(in srgb, var(--tint-color) var(--brand-tint), var(--neutral-gray-300));
    --gray-400: color-mix(in srgb, var(--tint-color) var(--brand-tint), var(--neutral-gray-400));
    --gray-500: color-mix(in srgb, var(--tint-color) var(--brand-tint), var(--neutral-gray-500));
    --surface-hover: var(--gray-alpha-100);
    --surface-selected: var(--gray-alpha-200);
    --surface-disabled: var(--gray-alpha-100);
    /* Same washes as background-image layers: stack them over an opaque
       fill (cards, controls) instead of replacing it with a translucent one. */
    --surface-hover-layer: linear-gradient(var(--surface-hover), var(--surface-hover));
    --surface-selected-layer: linear-gradient(var(--surface-selected), var(--surface-selected));

    /* === BORDER === */
    --border-medium-contrast: var(--gray-alpha-400);
    --border-high-contrast: var(--gray-alpha-500);

    /* === SERIES === */
    /* Chart palette in proto order; step 700 is theme-invariant, 500 is the
       soft companion. Python chart services emit these names. */
    --series-01: var(--blue-700);
    --series-02: var(--purple-700);
    --series-03: var(--teal-700);
    --series-04: var(--amber-700);
    --series-05: var(--pink-700);
    --series-06: var(--green-700);
    --series-07: var(--blue-500);
    --series-08: var(--purple-500);
    --series-09: var(--teal-500);
    --series-10: var(--amber-500);
    --series-11: var(--pink-500);
    --series-12: var(--green-500);
    --series-14: var(--gray-500);
    --series-assisted: var(--blue-600);
    --series-inactive: var(--gray-alpha-300);
}

:root {
    /* === BRAND === */
    --brand-primary: #16DB65;
    --brand-alpha-10: rgba(22, 219, 101, 0.1);
    --brand-alpha-20: rgba(22, 219, 101, 0.2);
    --brand-alpha-30: rgba(22, 219, 101, 0.3);
    --brand-alpha-40: rgba(22, 219, 101, 0.4);
    --brand-alpha-50: rgba(22, 219, 101, 0.5);
    --brand-alpha-60: rgba(22, 219, 101, 0.6);
    --brand-alpha-70: rgba(22, 219, 101, 0.7);
    --brand-alpha-80: rgba(22, 219, 101, 0.8);
    --brand-alpha-90: rgba(22, 219, 101, 0.9);
    /* Brand ramp: even OKLCH lightness on the brand hue; 100–300 backgrounds, 400–600 borders, 700–800 fills, 900–1000 text. Direction flips with the theme. */
    --brand-100: #06210d;
    --brand-200: #073214;
    --brand-300: #0b471f;
    --brand-400: #13602c;
    --brand-500: #1f7d3d;
    --brand-600: #23a04d;
    --brand-700: #00c558;
    --brand-800: #00e366;
    --brand-900: #7cf699;
    --brand-1000: #c6fbcf;
    --icon-brand: #16DB65;
    --surface-brand: #274732;

    /* === TEXT === */
    --text-primary: #ededed;
    --text-secondary: #a0a0a0;
    --text-tertiary: #777777;
    --text-disabled: #636363;
    --text-primary-alpha: #EDEDEDB2;
    --text-secondary-alpha: #A0A0A080;
    --text-inverse: var(--black);

    /* === LINK === */
    --link-default: var(--text-primary);
    --link-contrast: var(--green-text);
    --link-hover: var(--green-800);
    --link-active: var(--green-700);
    --link-nav-active: var(--gray-alpha-200);

    /* === ICON === */
    --icon-primary: var(--text-primary);
    --icon-secondary: var(--text-secondary);
    --icon-tertiary: var(--text-tertiary);
    --icon-disabled: var(--text-disabled);

    /* === NEUTRAL === */
    /* Untinted surfaces; the tint block mixes them into --surface-*. Dark has
       room, so the three levels separate by tone. */
    --brand-tint: var(--tint-dark);
    --neutral-surface-primary: #000000;
    --neutral-surface-secondary: #0a0a0a;
    --neutral-surface-tertiary: #151515;
    --gray-alpha-100: rgba(255, 255, 255, 0.07);
    --gray-alpha-200: rgba(255, 255, 255, 0.09);
    --gray-alpha-300: rgba(255, 255, 255, 0.13);
    --gray-alpha-400: rgba(255, 255, 255, 0.16);
    --gray-alpha-500: rgba(255, 255, 255, 0.24);
    --border-default: rgba(255, 255, 255, 0.1);
    --border-structural: rgba(255, 255, 255, 0.13);
    --series-13: var(--gray-600);
    --series-15: var(--gray-400);
    --series-human: var(--gray-600);
    --series-agentic: var(--purple-700);

    /* === OVERLAY === */
    --backdrop-bg-color: rgba(0, 0, 0, 0.5);

    /* === ACTION === */
    --action-primary-default: var(--brand-700);
    --action-primary-hover: var(--brand-800);
    --action-primary-active: var(--action-primary-hover);
    --action-primary-disabled: var(--gray-300);
    --action-primary-content-default: var(--surface-secondary);
    --action-primary-content-disabled: var(--gray-600);
    --action-secondary-default: var(--surface-secondary);
    --action-secondary-hover: var(--gray-alpha-100);
    --action-secondary-active: var(--gray-alpha-200);
    --action-secondary-disabled: var(--surface-disabled);
    --action-secondary-content-default: var(--text-primary);
    --action-secondary-content-disabled: var(--text-disabled);
    --action-danger-default: var(--red-800);
    --action-danger-hover: var(--red-900);
    --action-danger-content-default: var(--surface-secondary);
    --focus-ring-color: var(--brand-primary);

    /* === SEMANTIC === */
    /* CATEGORY */
    --semantic-category-newstuff: var(--blue-700);
    --semantic-category-performance: var(--purple-700);
    --semantic-category-improvement: var(--teal-700);
    --semantic-category-ktlo: var(--amber-700);
    --semantic-category-ai-usage: var(--pink-700);
    --semantic-category-rework: var(--red-700);
    --semantic-category-other: var(--gray-700);
    /* PRO */
    --semantic-pro-surface: var(--purple-100);
    --semantic-pro-border: var(--purple-400);
    --semantic-pro-icon: var(--purple-text);
    /* ITEM-STATUS */
    --semantic-item-status-neutral: var(--text-secondary);
    --semantic-item-status-success: var(--green-text);
    --semantic-item-status-alert: var(--amber-text);
    --semantic-item-status-danger: var(--red-text);
    --semantic-item-status-special: var(--purple-text);
    --semantic-item-status-info: var(--teal-text);
    --semantic-item-status-neutral-surface: var(--gray-200);
    --semantic-item-status-success-surface: var(--green-200);
    --semantic-item-status-alert-surface: var(--amber-200);
    --semantic-item-status-danger-surface: var(--red-200);
    --semantic-item-status-special-surface: var(--purple-200);
    --semantic-item-status-info-surface: var(--teal-200);
    --semantic-item-status-draft: var(--semantic-item-status-neutral);
    --semantic-item-status-backlog: var(--semantic-item-status-neutral);
    --semantic-item-status-to-do: var(--semantic-item-status-neutral);
    --semantic-item-status-locked: var(--semantic-item-status-neutral);
    --semantic-item-status-open: var(--semantic-item-status-success);
    --semantic-item-status-re-opened: var(--semantic-item-status-success);
    --semantic-item-status-in-progress: var(--semantic-item-status-alert);
    --semantic-item-status-changes-requested: var(--semantic-item-status-alert);
    --semantic-item-status-needs-work: var(--semantic-item-status-alert);
    --semantic-item-status-approved: var(--semantic-item-status-info);
    --semantic-item-status-in-review: var(--semantic-item-status-info);
    --semantic-item-status-closed: var(--semantic-item-status-danger);
    --semantic-item-status-declined: var(--semantic-item-status-danger);
    --semantic-item-status-done: var(--semantic-item-status-special);
    --semantic-item-status-merged: var(--semantic-item-status-special);
    /* INFO */
    --semantic-info-surface: var(--teal-100);
    --semantic-info-text: var(--teal-text);
    --semantic-info-border: var(--teal-500);
    --semantic-info-icon: var(--teal-text);
    /* DANGER */
    --semantic-danger-surface: var(--red-100);
    --semantic-danger-surface-hover: var(--red-200);
    --semantic-danger-surface-active: var(--red-300);
    --semantic-danger-text: var(--red-text);
    --semantic-danger-border: var(--red-500);
    --semantic-danger-icon: var(--red-text);
    /* WARNING */
    --semantic-warning-surface: var(--amber-100);
    --semantic-warning-text: var(--amber-text);
    --semantic-warning-border: var(--amber-500);
    --semantic-warning-icon: var(--amber-text);
    /* SUCCESS */
    --semantic-success-surface: var(--green-100);
    --semantic-success-surface-hover: var(--green-200);
    --semantic-success-surface-active: var(--green-300);
    --semantic-success-text: var(--green-text);
    --semantic-success-border: var(--green-500);
    --semantic-success-icon: var(--green-text);
    /* PEOPLE */
    --semantic-people-fte: var(--semantic-kpi-active-fill);
    --semantic-people-contractor: var(--semantic-kpi-inactive-fill);
    /* TYPE */
    --semantic-type-pull-request: var(--brand-900);
    --semantic-type-ticket: var(--brand-700);
    --semantic-type-document: var(--brand-500);
    --semantic-type-communication: var(--brand-300);
    /* AI TOOL PROVIDERS */
    --semantic-aitool-cursor: var(--teal-700);
    --semantic-aitool-claude: var(--red-700);
    --semantic-aitool-copilot: var(--blue-700);
    --semantic-aitool-gemini: var(--blue-800);
    --semantic-aitool-devin: var(--purple-900);
    --semantic-aitool-codex: var(--green-700);
    --semantic-aitool-cline: var(--pink-800);
    --semantic-aitool-asterix: var(--teal-900);
    --semantic-aitool-bedrock: var(--green-900);
    --semantic-aitool-qodo: #7766FA;
    --semantic-aitool-coderabbit: #FF580A;
    --semantic-aitool-greptile: #2BE9A0;
    --semantic-aitool-sourcery: #FCC264;
    --semantic-aitool-korbit: #FEDE2A;
    --semantic-aitool-sweep: var(--red-900);
    /* GIT */
    --semantic-git-addition: var(--semantic-success-text);
    --semantic-git-deletion: var(--semantic-danger-text);
    --semantic-code: var(--pink-700);
    /* KPI */
    --semantic-kpi-active-fill: var(--brand-primary);
    --semantic-kpi-active-fill-alpha: var(--brand-alpha-40);
    --semantic-kpi-inactive-fill: var(--series-human);
    --semantic-kpi-no-data: #2E3C32;
    --semantic-kpi-selected: #4EED8E;
    --semantic-kpi-overlay-line: var(--border-high-contrast);
    --semantic-kpi-negative: var(--red-700);
    --semantic-kpi-average: #407254;
    --semantic-kpi-unlinked-points: var(--pink-500);
    /* OOO AND FOCUS */
    --semantic-kpi-ooo: var(--pink-700);
    --semantic-kpi-meeting: var(--semantic-kpi-inactive-fill);
    --semantic-kpi-focus-low: var(--pink-500);
    --semantic-kpi-focus-medium: #BE185D7F;
    --semantic-kpi-focus-high: #BE185D3F;
    --semantic-kpi-focus-max: var(--semantic-kpi-no-data);
    /* DEFECT COST */
    --semantic-defect-cost: var(--red-700);
    --semantic-defect-cost-overlay-line: var(--red-700);
    /* WEAKNESS */
    --semantic-weakness: var(--amber-700);
    /* REWORK */
    --semantic-rework: var(--amber-600);
    /* REWORKED */
    --semantic-reworked: var(--amber-700);
    /* NOISE */
    --semantic-noise: #6B7A72;
    /* TREND */
    --semantic-trend-chart-filled: #434D45;
    --semantic-trend-increasing-surface: var(--semantic-success-surface);
    --semantic-trend-increasing-text: var(--semantic-success-text);
    --semantic-trend-increasing-border: var(--semantic-success-border);
    --semantic-trend-decreasing-surface: var(--semantic-danger-surface);
    --semantic-trend-decreasing-text: var(--semantic-danger-text);
    --semantic-trend-decreasing-border: var(--semantic-danger-border);
    --semantic-trend-no-change-text: var(--text-secondary);
    --semantic-trend-no-change-border: #b2d1bd;
    --semantic-trend-no-change-surface: var(--surface-primary);
    /* SIZE */
    --semantic-size-xl: var(--brand-900);
    --semantic-size-lg: var(--brand-800);
    --semantic-size-md: var(--brand-700);
    --semantic-size-sm: var(--brand-600);
    --semantic-size-xs: var(--brand-500);
    --semantic-size-minor: var(--brand-400);
    --semantic-size-zero: var(--brand-300);
    --semantic-size-na: var(--brand-200);
    /* PERCENTILES */
    --semantic-percentile-low-surface: var(--semantic-danger-surface);
    --semantic-percentile-low-icon: var(--semantic-danger-icon);
    --semantic-percentile-low-text: var(--semantic-danger-text);
    --semantic-percentile-below-average-surface: var(--semantic-warning-surface);
    --semantic-percentile-below-average-icon: var(--semantic-warning-icon);
    --semantic-percentile-below-average-text: var(--semantic-warning-text);
    --semantic-percentile-above-average-surface: var(--semantic-success-surface);
    --semantic-percentile-above-average-icon: var(--semantic-success-icon);
    --semantic-percentile-above-average-text: var(--semantic-success-text);
    --semantic-percentile-top-surface: var(--teal-100);
    --semantic-percentile-top-icon: var(--teal-text);
    --semantic-percentile-top-text: var(--teal-text);
    /* CALIBRATE */
    --semantic-calibrate-low-surface: var(--red-600);
    --semantic-calibrate-below-average-surface: var(--red-600);
    --semantic-calibrate-above-average-surface: var(--green-600);
    --semantic-calibrate-top-surface: var(--green-600);
    /* QUADRANT */
    --semantic-quadrant-bottomleft-surface: var(--semantic-percentile-low-surface);
    --semantic-quadrant-bottomleft-text: var(--semantic-percentile-low-text);
    --semantic-quadrant-bottomleft-icon: var(--semantic-percentile-low-icon);
    --semantic-quadrant-bottomright-surface: var(--semantic-percentile-below-average-surface);
    --semantic-quadrant-bottomright-icon: var(--semantic-percentile-below-average-icon);
    --semantic-quadrant-bottomright-text: var(--semantic-percentile-below-average-text);
    --semantic-quadrant-topleft-surface: var(--semantic-percentile-above-average-surface);
    --semantic-quadrant-topleft-icon: var(--semantic-percentile-above-average-icon);
    --semantic-quadrant-topleft-text: var(--semantic-percentile-above-average-text);
    --semantic-quadrant-topright-surface: var(--semantic-percentile-top-surface);
    --semantic-quadrant-topright-icon: var(--semantic-percentile-top-icon);
    --semantic-quadrant-topright-text: var(--semantic-percentile-top-text);
    /* HEATMAP */
    --semantic-heatmap-included: var(--brand-alpha-10);
    --semantic-heatmap-low: var(--brand-alpha-30);
    --semantic-heatmap-moderate: var(--brand-alpha-50);
    --semantic-heatmap-high: var(--brand-alpha-70);
    --semantic-heatmap-very-high: var(--brand-primary);
    /* AI */
    --semantic-ai: var(--series-agentic);
    --semantic-ai-overlay-line: var(--series-agentic);
    --semantic-ai-remainder: var(--purple-400);

    /* === BOX SHADOWS === */
    --shadow-elevated: 0 2px 4px rgba(0, 0, 0, 0.5), 0 12px 28px -8px rgba(0, 0, 0, 0.6);
    --shadow-elevated-sm: 0 1px 2px rgba(0, 0, 0, 0.5), 0 4px 8px -2px rgba(0, 0, 0, 0.4);
    --shadow-elevated-lg: 0 2px 4px rgba(0, 0, 0, 0.5), 0 12px 24px -6px rgba(0, 0, 0, 0.55), 0 32px 64px -16px rgba(0, 0, 0, 0.7);
    --overlay: rgba(0, 0, 0, 0.6);
    /* Marketing hero shadow; intentionally outside the elevation ladder. */
    --box-shadow-xl: 0px 100px 40px 0px rgba(0, 0, 0, 0.1);

    /* Cards read as raised through a soft top highlight, falling off over 120px */
    --surface-sheen: linear-gradient(180deg, rgba(255, 255, 255, 0.016) 0%, rgba(255, 255, 255, 0) 120px);
}

[data-theme="light"] {

    /* === BRAND === */
    --brand-primary: #16DB65;
    --brand-alpha-10: rgba(22, 219, 101, 0.1);
    --brand-alpha-20: rgba(22, 219, 101, 0.2);
    --brand-alpha-30: rgba(22, 219, 101, 0.3);
    --brand-alpha-40: rgba(22, 219, 101, 0.4);
    --brand-alpha-50: rgba(22, 219, 101, 0.5);
    --brand-alpha-60: rgba(22, 219, 101, 0.6);
    --brand-alpha-70: rgba(22, 219, 101, 0.7);
    --brand-alpha-80: rgba(22, 219, 101, 0.8);
    --brand-alpha-90: rgba(22, 219, 101, 0.9);
    /* Brand ramp: even OKLCH lightness on the brand hue; 100–300 backgrounds, 400–600 borders, 700–800 fills, 900–1000 text. Direction flips with the theme. */
    --brand-100: #e8fbeb;
    --brand-200: #cdf4d3;
    --brand-300: #aee9b8;
    --brand-400: #81d893;
    --brand-500: #46c46a;
    --brand-600: #00a84a;
    --brand-700: #008632;
    --brand-800: #006e2e;
    --brand-900: #0f5325;
    --brand-1000: #043816;
    --icon-brand: #199E4E;
    --surface-brand: #E3FAEC;

    /* === TEXT === */
    --text-primary: #171717;
    --text-secondary: #4d4d4d;
    --text-tertiary: #8d8d8d;
    --text-disabled: #a9a9a9;
    --text-primary-alpha: #171717B2;
    --text-secondary-alpha: #4D4D4D80;
    --text-inverse: var(--white);

    /* === LINK === */
    --link-default: var(--text-primary);
    --link-contrast: var(--green-text);
    --link-hover: var(--green-800);
    --link-active: var(--green-700);
    --link-nav-active: var(--gray-alpha-200);

    /* === ICON === */
    --icon-primary: var(--text-primary);
    --icon-secondary: var(--text-secondary);
    --icon-tertiary: var(--text-tertiary);
    --icon-disabled: var(--text-disabled);

    /* === NEUTRAL === */
    /* Light compresses at the top: you cannot go lighter than white, so the
       three levels sit a hair apart and elevation carries the separation. */
    --brand-tint: var(--tint-light);
    --neutral-surface-primary: #f5f5f5;
    --neutral-surface-secondary: #fdfdfd;
    --neutral-surface-tertiary: #ffffff;
    --gray-alpha-100: rgba(0, 0, 0, 0.05);
    --gray-alpha-200: rgba(0, 0, 0, 0.08);
    --gray-alpha-300: rgba(0, 0, 0, 0.1);
    --gray-alpha-400: rgba(0, 0, 0, 0.1);
    --gray-alpha-500: rgba(0, 0, 0, 0.21);
    --border-default: rgba(0, 0, 0, 0.11);
    --border-structural: rgba(0, 0, 0, 0.12);
    --series-13: var(--gray-700);
    --series-15: var(--gray-300);
    --series-human: var(--gray-500);
    --series-agentic: var(--purple-700);

    /* === OVERLAY === */
    --backdrop-bg-color: rgba(0, 0, 0, 0.5);

    /* === ACTION === */
    --action-primary-default: var(--brand-700);
    --action-primary-hover: var(--brand-800);
    --action-primary-active: var(--action-primary-hover);
    --action-primary-disabled: var(--gray-300);
    --action-primary-content-default: var(--surface-secondary);
    --action-primary-content-disabled: var(--gray-600);
    --action-secondary-default: var(--surface-secondary);
    --action-secondary-hover: var(--gray-alpha-100);
    --action-secondary-active: var(--gray-alpha-200);
    --action-secondary-disabled: var(--surface-disabled);
    --action-secondary-content-default: var(--text-primary);
    --action-secondary-content-disabled: var(--text-disabled);
    --action-danger-default: var(--red-800);
    --action-danger-hover: var(--red-900);
    --action-danger-content-default: var(--surface-secondary);
    --focus-ring-color: #008b33;

    /* === SEMANTIC === */
    /* CATEGORY */
    --semantic-category-newstuff: var(--blue-700);
    --semantic-category-performance: var(--purple-700);
    --semantic-category-improvement: var(--teal-700);
    --semantic-category-ktlo: var(--amber-700);
    --semantic-category-ai-usage: var(--pink-700);
    --semantic-category-rework: var(--red-700);
    --semantic-category-other: var(--gray-700);
    /* PRO */
    --semantic-pro-surface: var(--purple-100);
    --semantic-pro-border: var(--purple-400);
    --semantic-pro-icon: var(--purple-text);

    /* ITEM-STATUS */
    --semantic-item-status-neutral: var(--text-secondary);
    --semantic-item-status-success: var(--green-text);
    --semantic-item-status-alert: var(--amber-text);
    --semantic-item-status-danger: var(--red-text);
    --semantic-item-status-special: var(--purple-text);
    --semantic-item-status-info: var(--teal-text);
    --semantic-item-status-neutral-surface: var(--gray-200);
    --semantic-item-status-success-surface: var(--green-200);
    --semantic-item-status-alert-surface: var(--amber-200);
    --semantic-item-status-danger-surface: var(--red-200);
    --semantic-item-status-special-surface: var(--purple-200);
    --semantic-item-status-info-surface: var(--teal-200);
    --semantic-item-status-draft: var(--semantic-item-status-neutral);
    --semantic-item-status-backlog: var(--semantic-item-status-neutral);
    --semantic-item-status-to-do: var(--semantic-item-status-neutral);
    --semantic-item-status-locked: var(--semantic-item-status-neutral);
    --semantic-item-status-open: var(--semantic-item-status-success);
    --semantic-item-status-re-opened: var(--semantic-item-status-success);
    --semantic-item-status-in-progress: var(--semantic-item-status-alert);
    --semantic-item-status-changes-requested: var(--semantic-item-status-alert);
    --semantic-item-status-needs-work: var(--semantic-item-status-alert);
    --semantic-item-status-approved: var(--semantic-item-status-info);
    --semantic-item-status-in-review: var(--semantic-item-status-info);
    --semantic-item-status-closed: var(--semantic-item-status-danger);
    --semantic-item-status-declined: var(--semantic-item-status-danger);
    --semantic-item-status-done: var(--semantic-item-status-special);
    --semantic-item-status-merged: var(--semantic-item-status-special);
    /* INFO */
    --semantic-info-surface: var(--teal-100);
    --semantic-info-text: var(--teal-text);
    --semantic-info-border: var(--teal-500);
    --semantic-info-icon: var(--teal-text);
    /* DANGER */
    --semantic-danger-surface: var(--red-100);
    --semantic-danger-surface-hover: var(--red-200);
    --semantic-danger-surface-active: var(--red-300);
    --semantic-danger-text: var(--red-text);
    --semantic-danger-border: var(--red-500);
    --semantic-danger-icon: var(--red-text);
    /* WARNING */
    --semantic-warning-surface: var(--amber-100);
    --semantic-warning-text: var(--amber-text);
    --semantic-warning-border: var(--amber-500);
    --semantic-warning-icon: var(--amber-700);
    /* SUCCESS */
    --semantic-success-surface: var(--green-100);
    --semantic-success-surface-hover: var(--green-200);
    --semantic-success-surface-active: var(--green-300);
    --semantic-success-text: var(--green-text);
    --semantic-success-border: var(--green-500);
    --semantic-success-icon: var(--green-text);
    /* PEOPLE */
    --semantic-people-fte: var(--semantic-kpi-active-fill);
    --semantic-people-contractor: var(--semantic-kpi-inactive-fill);
    /* TYPE */
    --semantic-type-pull-request: #184E2E;
    --semantic-type-ticket: #29834D;
    --semantic-type-document: #3ABA6D;
    --semantic-type-communication: #92DCB0;
    /* AI TOOL PROVIDERS */
    --semantic-aitool-cursor: var(--teal-800);
    --semantic-aitool-claude: var(--red-600);
    --semantic-aitool-copilot: var(--blue-700);
    --semantic-aitool-gemini: var(--blue-900);
    --semantic-aitool-devin: var(--purple-900);
    --semantic-aitool-codex: var(--green-600);
    --semantic-aitool-cline: var(--pink-700);
    --semantic-aitool-asterix: var(--teal-600);
    --semantic-aitool-bedrock: var(--green-900);
    --semantic-aitool-qodo: #7766FA;
    --semantic-aitool-coderabbit: #FF580A;
    --semantic-aitool-greptile: #2BE9A0;
    --semantic-aitool-sourcery: #FCC264;
    --semantic-aitool-korbit: #FEDE2A;
    --semantic-aitool-sweep: var(--red-900);
    /* GIT */
    --semantic-git-addition: var(--semantic-success-text);
    --semantic-git-deletion: var(--semantic-danger-text);
    --semantic-code: var(--pink-700);
    /* KPI */
    --semantic-kpi-active-fill: var(--brand-primary);
    --semantic-kpi-active-fill-alpha: var(--brand-alpha-40);
    --semantic-kpi-inactive-fill: var(--series-human);
    --semantic-kpi-no-data: #F2F6F4;
    --semantic-kpi-selected: #0E9444;
    --semantic-kpi-overlay-line: var(--border-high-contrast);
    --semantic-kpi-negative: var(--red-700);
    --semantic-kpi-average: #BADDC8;
    --semantic-kpi-unlinked-points: var(--pink-400);
    /* OOO AND FOCUS */
    --semantic-kpi-ooo: var(--pink-600);
    --semantic-kpi-meeting: var(--semantic-kpi-inactive-fill);
    --semantic-kpi-focus-low: var(--pink-400);
    --semantic-kpi-focus-medium: #F9A8D47F;
    --semantic-kpi-focus-high: #F9A8D43F;
    --semantic-kpi-focus-max: var(--semantic-kpi-no-data);
    /* DEFECT COST */
    --semantic-defect-cost: var(--red-600);
    --semantic-defect-cost-overlay-line: var(--red-600);
    /* WEAKNESS */
    --semantic-weakness: var(--amber-600);
    /* REWORK */
    --semantic-rework: var(--amber-500);
    /* REWORKED */
    --semantic-reworked: var(--amber-600);
    /* NOISE */
    --semantic-noise: #BCC5C0;
    /* TREND */
    --semantic-trend-chart-filled: #D8E5DD;
    --semantic-trend-increasing-surface: var(--semantic-success-surface);
    --semantic-trend-increasing-text: var(--semantic-success-text);
    --semantic-trend-increasing-border: var(--semantic-success-border);
    --semantic-trend-decreasing-surface: var(--semantic-danger-surface);
    --semantic-trend-decreasing-text: var(--semantic-danger-text);
    --semantic-trend-decreasing-border: var(--semantic-danger-border);
    --semantic-trend-no-change-text: var(--text-secondary);
    --semantic-trend-no-change-border: #8da595;
    --semantic-trend-no-change-surface: var(--surface-primary);
    /* SIZE */
    --semantic-size-xl: var(--brand-900);
    --semantic-size-lg: var(--brand-800);
    --semantic-size-md: var(--brand-700);
    --semantic-size-sm: var(--brand-600);
    --semantic-size-xs: var(--brand-500);
    --semantic-size-minor: var(--brand-400);
    --semantic-size-zero: var(--brand-300);
    --semantic-size-na: var(--brand-200);
    /* PERCENTILES */
    --semantic-percentile-low-surface: var(--semantic-danger-surface);
    --semantic-percentile-low-icon: var(--semantic-danger-icon);
    --semantic-percentile-low-text: var(--semantic-danger-text);
    --semantic-percentile-below-average-surface: var(--semantic-warning-surface);
    --semantic-percentile-below-average-icon: var(--semantic-warning-icon);
    --semantic-percentile-below-average-text: var(--semantic-warning-text);
    --semantic-percentile-above-average-surface: var(--green-200);
    --semantic-percentile-above-average-icon: var(--semantic-success-icon);
    --semantic-percentile-above-average-text: var(--semantic-success-text);
    --semantic-percentile-top-surface: var(--teal-100);
    --semantic-percentile-top-icon: var(--teal-text);
    --semantic-percentile-top-text: var(--teal-text);
    /* CALIBRATE */
    --semantic-calibrate-low-surface: var(--red-500);
    --semantic-calibrate-below-average-surface: var(--red-500);
    --semantic-calibrate-above-average-surface: var(--green-500);
    --semantic-calibrate-top-surface: var(--green-500);
    /* QUADRANT */
    --semantic-quadrant-bottomleft-surface: var(--semantic-percentile-low-surface);
    --semantic-quadrant-bottomleft-icon: var(--semantic-percentile-low-icon);
    --semantic-quadrant-bottomleft-text: var(--semantic-percentile-low-text);
    --semantic-quadrant-bottomright-surface: var(--semantic-percentile-below-average-surface);
    --semantic-quadrant-bottomright-icon: var(--semantic-percentile-below-average-icon);
    --semantic-quadrant-bottomright-text: var(--semantic-percentile-below-average-text);
    --semantic-quadrant-topleft-surface: var(--semantic-percentile-above-average-surface);
    --semantic-quadrant-topleft-icon: var(--semantic-percentile-above-average-icon);
    --semantic-quadrant-topleft-text: var(--semantic-percentile-above-average-text);
    --semantic-quadrant-topright-surface: var(--semantic-percentile-top-surface);
    --semantic-quadrant-topright-icon: var(--semantic-percentile-top-icon);
    --semantic-quadrant-topright-text: var(--semantic-percentile-top-text);

    /* HEATMAP */
    --semantic-heatmap-included: var(--brand-alpha-10);
    --semantic-heatmap-low: var(--brand-alpha-30);
    --semantic-heatmap-moderate: var(--brand-alpha-50);
    --semantic-heatmap-high: var(--brand-alpha-70);
    --semantic-heatmap-very-high: var(--brand-primary);
    /* AI */
    --semantic-ai-overlay-line: var(--purple-500);
    --semantic-ai: var(--series-agentic);
    --semantic-ai-remainder: var(--purple-200);

    /* === BOX SHADOWS === */
    --shadow-elevated: 0 2px 4px rgba(0, 0, 0, 0.05), 0 8px 20px -6px rgba(0, 0, 0, 0.09);
    --shadow-elevated-sm: 0 1px 2px rgba(0, 0, 0, 0.05), 0 4px 8px -2px rgba(0, 0, 0, 0.07);
    --shadow-elevated-lg: 0 2px 4px rgba(0, 0, 0, 0.04), 0 12px 24px -6px rgba(0, 0, 0, 0.1), 0 32px 64px -16px rgba(0, 0, 0, 0.16);
    --overlay: rgba(0, 0, 0, 0.4);
    /* Marketing hero shadow; intentionally outside the elevation ladder. */
    --box-shadow-xl: 0px 100px 40px 0px rgba(0, 0, 0, 0.1);

    --surface-sheen: linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0) 120px);
}
