/* GENERATED by tokens/build.mjs from tokens/*.tokens.json — do not edit by hand.
 * EdOps App Design Language v2. See ../DESIGN_LANGUAGE.md.
 * Not covered: v1's QC-only tokens (--sev-*, --st-*, --chart-open/healed/...) — QC keeps its own until QC is reskinned. */

/* Primitives — reference these only through the semantic tokens below. */
:root {
  --eo-neutral-0: #FFFFFF;
  --eo-neutral-10: #FFFEFB;
  --eo-neutral-25: #FCFAF8;
  --eo-neutral-50: #F5F3EF;
  --eo-neutral-100: #EFEAE5;
  --eo-neutral-200: #E0DAD1;
  --eo-neutral-300: #D0C7BF;
  --eo-neutral-400: #A79D90;
  --eo-neutral-500: #78736E;
  --eo-neutral-550: #6C665F;
  --eo-neutral-600: #635E59;
  --eo-neutral-700: #4A4743;
  --eo-neutral-800: #34322F;
  --eo-neutral-900: #1F2328;
  --eo-blue-25: #F5F9FD;
  --eo-blue-50: #EAF3FA;
  --eo-blue-100: #D5E7F5;
  --eo-blue-200: #9CC3E4;
  --eo-blue-400: #2D95EC;
  --eo-blue-500: #0066B3;
  --eo-blue-600: #004F8A;
  --eo-blue-700: #003D6B;
  --eo-ochre-50: #FBF6EE;
  --eo-ochre-100: #F3E7D2;
  --eo-ochre-500: #B7791F;
  --eo-ochre-700: #8A5B1E;
  --eo-orange-50: #FBEFE7;
  --eo-orange-500: #DF7B35;
  --eo-orange-700: #9C5625;
  --eo-orange-900: #643718;
  --eo-green-50: #E7F3EF;
  --eo-green-500: #3B9A76;
  --eo-green-700: #296C53;
  --eo-green-900: #1B4535;
  --eo-sky-50: #EBF3F9;
  --eo-sky-500: #599BCE;
  --eo-sky-700: #3E6C90;
  --eo-sky-900: #28465D;
  --eo-red-50: #F8E8E8;
  --eo-red-500: #C83F3F;
  --eo-red-700: #8C2C2C;
  --eo-red-900: #5A1C1C;
  --eo-navy-900: #172033;
  --eo-purple-50: #F1ECF6;
  --eo-purple-700: #725A8F;
  --eo-amber-25: #FFF9ED;
  --eo-amber-50: #FFF6D6;
  --eo-amber-500: #F5A524;
  --eo-amber-600: #D28A22;
  --eo-amber-700: #B26A00;
  --eo-amber-900: #7A5A00;
  --eo-slate-50: #E9EFF3;
  --eo-slate-200: #CBD5DC;
  --eo-slate-600: #466A92;
  --eo-slate-700: #245A99;
  --eo-tint-row-hover: #F7F2ED;
  --eo-tint-actual-hover: #F8F6F3;
  --eo-tint-forecast-hover: #EFF5FB;
  --eo-flame-400: #F0A04B;
  --eo-flame-500: #F26419;
  --eo-flame-700: #B34C00;
  --eo-white: #FFFFFF;
  --eo-black-a-4: rgba(70, 50, 25, 0.039);
  --eo-black-a-8: rgba(70, 50, 25, 0.078);
  --eo-black-a-14: rgba(70, 50, 25, 0.141);
  --eo-black-a-50: rgba(70, 50, 25, 0.502);
  --eo-font-family-data: Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-font-family-text: "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-font-family-mono: ui-monospace, Menlo, Consolas, monospace;
  --eo-font-weight-regular: 400;
  --eo-font-weight-medium: 500;
  --eo-font-weight-semibold: 600;
  --eo-font-weight-bold: 700;
  --eo-font-size-10: 10px;
  --eo-font-size-11: 11px;
  --eo-font-size-12: 12px;
  --eo-font-size-13: 13px;
  --eo-font-size-14: 14px;
  --eo-font-size-15: 15px;
  --eo-font-size-16: 16px;
  --eo-font-size-18: 18px;
  --eo-font-size-19: 19px;
  --eo-font-size-24: 24px;
  --eo-font-size-26: 26px;
  --eo-font-size-32: 32px;
  --eo-font-line-height-12: 12px;
  --eo-font-line-height-14: 14px;
  --eo-font-line-height-16: 16px;
  --eo-font-line-height-18: 18px;
  --eo-font-line-height-20: 20px;
  --eo-font-line-height-21: 21px;
  --eo-font-line-height-22: 22px;
  --eo-font-line-height-24: 24px;
  --eo-font-line-height-25: 25px;
  --eo-font-line-height-30: 30px;
  --eo-font-line-height-32: 32px;
  --eo-font-line-height-36: 36px;
  --eo-font-tracking-tight: -0.02em;
  --eo-font-tracking-snug: -0.01em;
  --eo-font-tracking-normal: 0em;
  --eo-font-tracking-caps: 0.06em;
  --eo-space-0: 0px;
  --eo-space-1: 4px;
  --eo-space-2: 6px;
  --eo-space-3: 8px;
  --eo-space-4: 10px;
  --eo-space-5: 12px;
  --eo-space-6: 16px;
  --eo-space-7: 20px;
  --eo-space-8: 24px;
  --eo-space-9: 28px;
  --eo-space-10: 32px;
  --eo-space-11: 40px;
  --eo-space-half: 2px;
  --eo-radius-none: 0px;
  --eo-radius-xs: 3px;
  --eo-radius-sm: 4px;
  --eo-radius-control: 6px;
  --eo-radius-md: 8px;
  --eo-radius-card: 8px;
  --eo-radius-pill: 999px;
  --eo-border-width-hair: 1px;
  --eo-border-width-strong: 2px;
  --eo-duration-fast: 120ms;
  --eo-duration-base: 200ms;
  --eo-easing-out: cubic-bezier(0, 0, 0.58, 1);
}

/* Semantic */
:root {
  --eo-text-primary: #172033;
  --eo-text-secondary: #6C665F;
  --eo-text-tertiary: #78736E;
  --eo-text-disabled: #A79D90;
  --eo-text-inverse: #FFFFFF;
  --eo-text-link: #0066B3;
  --eo-text-link-hover: #004F8A;
  --eo-surface-page: #F5F3EF;
  --eo-surface-card: #FFFEFB;
  --eo-surface-muted: #FCFAF8;
  --eo-surface-sunken: #EFEAE5;
  --eo-surface-hover: #FCFAF8;
  --eo-surface-selected: #EAF3FA;
  --eo-surface-search: #F5F9FD;
  --eo-surface-overlay: #FFFFFF;
  --eo-surface-scrim: rgba(23, 32, 51, 0.22);
  --eo-surface-inverse: #1F2328;
  --eo-border-subtle: #EFEAE5;
  --eo-border-default: #E0DAD1;
  --eo-border-strong: #D0C7BF;
  --eo-border-emphasis: #1F2328;
  --eo-border-focus: #2D95EC;
  --eo-action-primary-bg: #0066B3;
  --eo-action-primary-bg-hover: #004F8A;
  --eo-action-primary-fg: #FFFFFF;
  --eo-action-secondary-bg: #FFFFFF;
  --eo-action-secondary-bg-hover: #FCFAF8;
  --eo-action-secondary-fg: #1F2328;
  --eo-action-secondary-border: #E0DAD1;
  --eo-action-quiet-fg: #635E59;
  --eo-action-quiet-fg-active: #004F8A;
  --eo-action-danger-fg: #C83F3F;
  --eo-action-danger-bg: #C83F3F;
  --eo-data-actual-fg: #635E59;
  --eo-data-actual-bg: #FCFAF8;
  --eo-data-actual-rule: #D0C7BF;
  --eo-data-forecast-fg: #0066B3;
  --eo-data-forecast-bg: #F5F9FD;
  --eo-data-forecast-rule: #0066B3;
  --eo-data-plan-fg: #8A5B1E;
  --eo-data-plan-bg: #FBF6EE;
  --eo-data-plan-band: #F3E7D2;
  --eo-data-plan-rule: #B7791F;
  --eo-data-current-rule: #1F2328;
  --eo-data-row-hover: #F7F2ED;
  --eo-data-actual-hover: #F8F6F3;
  --eo-data-forecast-hover: #EFF5FB;
  --eo-data-edited-bg: #FFF9ED;
  --eo-data-edited-mark: #D28A22;
  --eo-data-edited-fg: #7A5A00;
  --eo-data-total-bg: #FCFAF8;
  --eo-data-section-bg: #E9EFF3;
  --eo-data-section-rule: #CBD5DC;
  --eo-data-section-bar: #466A92;
  --eo-data-group-fg: #245A99;
  --eo-status-good-fill: #3B9A76;
  --eo-status-good-fg: #296C53;
  --eo-status-good-bg: #E7F3EF;
  --eo-status-attention-fill: #DF7B35;
  --eo-status-attention-fg: #9C5625;
  --eo-status-attention-bg: #FBEFE7;
  --eo-status-ahead-fill: #599BCE;
  --eo-status-ahead-fg: #3E6C90;
  --eo-status-ahead-bg: #EBF3F9;
  --eo-status-severe-fill: #C83F3F;
  --eo-status-severe-fg: #8C2C2C;
  --eo-status-severe-bg: #F8E8E8;
  --eo-status-neutral-fill: #D0C7BF;
  --eo-status-neutral-fg: #635E59;
  --eo-status-neutral-bg: #EFEAE5;
  --eo-status-track: #EFEAE5;
  --eo-status-marker: #1F2328;
  --eo-discussion-fg: #725A8F;
  --eo-discussion-bg: #F1ECF6;
  --eo-mark-star: #F0A04B;
  --eo-mark-badge-bg: #F26419;
  --eo-mark-badge-fg: #FFFFFF;
  --eo-mark-note: #725A8F;
  --eo-mark-note-empty: #D0C7BF;
  --eo-chart-actual: #0066B3;
  --eo-chart-forecast: #0066B3;
  --eo-chart-budget: #1F2328;
  --eo-chart-budget-bar: #E0DAD1;
  --eo-chart-prior: #9CC3E4;
  --eo-chart-grid: #EFEAE5;
  --eo-chart-axis: #635E59;
  --eo-chart-closed-region: #F5F9FD;
  --eo-chart-forecast-hatch: #D5E7F5;
  --eo-chart-gap: rgba(0, 102, 179, 0.18);
  --eo-chart-prior-outline: #1F2328;
  --eo-chart-ledger: #1F2328;
  --eo-shadow-raised: 0px 1px 2px 0px rgba(70, 50, 25, 0.039), 0px 6px 20px 0px rgba(70, 50, 25, 0.039);
  --eo-shadow-overlay: 0px 2px 6px 0px rgba(70, 50, 25, 0.141), 0px 12px 32px 0px rgba(70, 50, 25, 0.078);
  --eo-shadow-drawer: 0px -10px 28px 0px rgba(70, 50, 25, 0.141);
  --eo-shadow-side: -10px 0px 28px 0px rgba(70, 50, 25, 0.141);
  --eo-shadow-sticky-edge: 5px 0px 8px -8px rgba(70, 50, 25, 0.502);
  --eo-focus-ring: 0px 0px 0px 2px #FFFFFF, 0px 0px 0px 4px #2D95EC;
  --eo-motion-fast: 120ms cubic-bezier(0, 0, 0.58, 1);
  --eo-motion-base: 200ms cubic-bezier(0, 0, 0.58, 1);
  --eo-type-display: 700 32px/36px Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-display-tracking: -0.02em;
  --eo-type-display-family: Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-display-size: 32px;
  --eo-type-display-weight: 700;
  --eo-type-display-line: 36px;
  --eo-type-figure: 600 14px/18px Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-figure-tracking: 0em;
  --eo-type-figure-family: Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-figure-size: 14px;
  --eo-type-figure-weight: 600;
  --eo-type-figure-line: 18px;
  --eo-type-title-page: 700 26px/32px "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-title-page-tracking: -0.01em;
  --eo-type-title-page-family: "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-title-page-size: 26px;
  --eo-type-title-page-weight: 700;
  --eo-type-title-page-line: 32px;
  --eo-type-title-section: 600 19px/25px "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-title-section-tracking: -0.01em;
  --eo-type-title-section-family: "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-title-section-size: 19px;
  --eo-type-title-section-weight: 600;
  --eo-type-title-section-line: 25px;
  --eo-type-title-card: 600 16px/21px "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-title-card-tracking: 0em;
  --eo-type-title-card-family: "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-title-card-size: 16px;
  --eo-type-title-card-weight: 600;
  --eo-type-title-card-line: 21px;
  --eo-type-body: 400 14px/20px "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-body-tracking: 0em;
  --eo-type-body-family: "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-body-size: 14px;
  --eo-type-body-weight: 400;
  --eo-type-body-line: 20px;
  --eo-type-body-strong: 600 14px/20px "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-body-strong-tracking: 0em;
  --eo-type-body-strong-family: "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-body-strong-size: 14px;
  --eo-type-body-strong-weight: 600;
  --eo-type-body-strong-line: 20px;
  --eo-type-small: 400 13px/18px "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-small-tracking: 0em;
  --eo-type-small-family: "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-small-size: 13px;
  --eo-type-small-weight: 400;
  --eo-type-small-line: 18px;
  --eo-type-meta: 400 12px/16px "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-meta-tracking: 0em;
  --eo-type-meta-family: "DM Sans", Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-meta-size: 12px;
  --eo-type-meta-weight: 400;
  --eo-type-meta-line: 16px;
  --eo-type-meta-data: 400 12px/16px Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-meta-data-tracking: 0em;
  --eo-type-meta-data-family: Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-meta-data-size: 12px;
  --eo-type-meta-data-weight: 400;
  --eo-type-meta-data-line: 16px;
  --eo-type-grid: 400 12px/16px Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-grid-tracking: 0em;
  --eo-type-grid-family: Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-grid-size: 12px;
  --eo-type-grid-weight: 400;
  --eo-type-grid-line: 16px;
  --eo-type-grid-strong: 600 12px/16px Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-grid-strong-tracking: 0em;
  --eo-type-grid-strong-family: Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-grid-strong-size: 12px;
  --eo-type-grid-strong-weight: 600;
  --eo-type-grid-strong-line: 16px;
  --eo-type-chip: 600 11px/14px Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-chip-tracking: 0em;
  --eo-type-chip-family: Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-chip-size: 11px;
  --eo-type-chip-weight: 600;
  --eo-type-chip-line: 14px;
  --eo-type-label-caps: 700 10px/12px Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-label-caps-tracking: 0.06em;
  --eo-type-label-caps-family: Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-label-caps-size: 10px;
  --eo-type-label-caps-weight: 700;
  --eo-type-label-caps-line: 12px;
  --eo-type-code: 700 10px/12px Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-code-tracking: 0.06em;
  --eo-type-code-family: Inter, "Helvetica Neue", Arial, sans-serif;
  --eo-type-code-size: 10px;
  --eo-type-code-weight: 700;
  --eo-type-code-line: 12px;
}

/* Density: comfortable is the default. Put data-density on any container to switch a subtree. */
:root,
[data-density="comfortable"] {
  --eo-density-row: 32px;
  --eo-density-row-header: 32px;
  --eo-density-row-section: 32px;
  --eo-density-row-band: 21px;
  --eo-density-control: 30px;
  --eo-density-control-sm: 27px;
  --eo-density-icon: 16px;
  --eo-density-cell-x: 10px;
  --eo-density-card-pad: 12px;
  --eo-density-card-head-pad-y: 10px;
  --eo-density-page-pad: 32px;
  --eo-density-gap: 24px;
  --eo-density-radius-card: 8px;
  --eo-density-text-table: 13px;
  --eo-density-text-table-lh: 18px;
  --eo-density-text-meta: 12px;
}

/* Density: compact */
[data-density="compact"] {
  --eo-density-row: 22px;
  --eo-density-row-header: 32px;
  --eo-density-row-section: 27px;
  --eo-density-row-band: 21px;
  --eo-density-control: 30px;
  --eo-density-control-sm: 27px;
  --eo-density-icon: 16px;
  --eo-density-cell-x: 6px;
  --eo-density-card-pad: 12px;
  --eo-density-card-head-pad-y: 10px;
  --eo-density-page-pad: 12px;
  --eo-density-gap: 12px;
  --eo-density-radius-card: 8px;
  --eo-density-text-table: 12px;
  --eo-density-text-table-lh: 16px;
  --eo-density-text-meta: 11px;
}

/* Density: dense */
[data-density="dense"] {
  --eo-density-row: 20px;
  --eo-density-row-header: 26px;
  --eo-density-row-section: 24px;
  --eo-density-row-band: 18px;
  --eo-density-control: 24px;
  --eo-density-control-sm: 22px;
  --eo-density-icon: 14px;
  --eo-density-cell-x: 5px;
  --eo-density-card-pad: 10px;
  --eo-density-card-head-pad-y: 8px;
  --eo-density-page-pad: 10px;
  --eo-density-gap: 8px;
  --eo-density-radius-card: 8px;
  --eo-density-text-table: 11px;
  --eo-density-text-table-lh: 14px;
  --eo-density-text-meta: 10px;
}

/* v1 compatibility (EdOps App Design Language v1 names → v2 values) */
:root {
  --brand-50: var(--eo-blue-50);
  --brand-200: var(--eo-blue-200);
  --brand-400: var(--eo-blue-400);
  --brand-500: var(--eo-blue-500);
  --brand-600: var(--eo-blue-600);
  --accent-400: var(--eo-flame-400);
  --accent-500: var(--eo-flame-500);
  --accent-700: var(--eo-flame-700);
  --gray-900: var(--eo-neutral-900);
  --gray-700: var(--eo-neutral-700);
  --gray-600: var(--eo-neutral-600);
  --gray-500: var(--eo-neutral-500);
  --gray-400: var(--eo-neutral-300);
  --gray-300: var(--eo-neutral-200);
  --gray-200: var(--eo-neutral-100);
  --gray-100: var(--eo-neutral-100);
  --gray-50: var(--eo-neutral-25);
  --white: var(--eo-white);
  --success: var(--eo-green-500);
  --success-700: var(--eo-green-700);
  --success-50: var(--eo-green-50);
  --warning: var(--eo-amber-500);
  --warning-700: var(--eo-amber-700);
  --warning-50: var(--eo-amber-50);
  --warning-900: var(--eo-amber-900);
  --danger: var(--eo-red-500);
  --danger-700: var(--eo-red-700);
  --info: var(--eo-sky-500);
  --pace-over: var(--eo-orange-500);
  --pace-over-700: var(--eo-orange-700);
  --pace-over-50: var(--eo-orange-50);
  --pace-over-900: var(--eo-orange-900);
  --pace-on: var(--eo-green-500);
  --pace-on-700: var(--eo-green-700);
  --pace-on-50: var(--eo-green-50);
  --pace-on-900: var(--eo-green-900);
  --pace-under: var(--eo-sky-500);
  --pace-under-700: var(--eo-sky-700);
  --pace-under-50: var(--eo-sky-50);
  --pace-under-900: var(--eo-sky-900);
  --pace-severe: var(--eo-red-500);
  --pace-severe-700: var(--eo-red-700);
  --pace-severe-50: var(--eo-red-50);
  --pace-severe-900: var(--eo-red-900);
  --text-body: var(--eo-text-primary);
  --text-secondary: var(--eo-text-secondary);
  --text-link: var(--eo-text-link);
  --text-link-hover: var(--eo-text-link-hover);
  --surface-page: var(--eo-surface-page);
  --surface-card: var(--eo-surface-card);
  --surface-muted: var(--eo-surface-muted);
  --surface-selected: var(--eo-surface-selected);
  --border-card: var(--eo-border-default);
  --border-row: var(--eo-border-subtle);
  --border-region: var(--eo-border-emphasis);
  --avatar-bg: var(--eo-sky-500);
  --font-sans: var(--eo-font-family-data);
  --font-mono: var(--eo-font-family-mono);
  --shadow-card: var(--eo-shadow-raised);
  --shadow-pop: var(--eo-shadow-overlay);
  --radius-sm: var(--eo-radius-sm);
  --radius-md: var(--eo-radius-md);
  --radius-card: var(--eo-radius-card);
  --radius-pill: var(--eo-radius-pill);
  --ease: var(--eo-easing-out);
  --dur-fast: var(--eo-duration-fast);
  --text-xs: var(--eo-font-size-12);
  --text-sm: var(--eo-font-size-13);
  --text-base: var(--eo-font-size-14);
  --text-md: var(--eo-font-size-16);
  --text-lg: var(--eo-font-size-19);
  --text-xl: var(--eo-font-size-26);
  --text-kpi: var(--eo-font-size-32);
  --leading-body: 1.45;
  --leading-tight: 1.1;
  --tracking-title: -0.01em;
  --tracking-kpi: -0.02em;
  --weight-regular: var(--eo-font-weight-regular);
  --weight-medium: var(--eo-font-weight-medium);
  --weight-semibold: var(--eo-font-weight-semibold);
  --weight-bold: var(--eo-font-weight-bold);
  --numeric: tabular-nums;
  --space-1: var(--eo-space-1);
  --space-2: var(--eo-space-2);
  --space-3: var(--eo-space-3);
  --space-4: var(--eo-space-4);
  --space-5: var(--eo-space-5);
  --space-6: var(--eo-space-6);
  --space-7: var(--eo-space-7);
  --space-8: var(--eo-space-8);
  --space-9: var(--eo-space-9);
  --space-10: var(--eo-space-10);
  --page-pad-y: 28px;
  --page-pad-x: var(--eo-density-page-pad);
  --page-gap: var(--eo-density-gap);
  --card-pad: var(--eo-density-card-pad);
  --card-head-pad: var(--eo-density-card-head-pad-y) var(--eo-density-card-pad);
  --row-pad: var(--eo-space-3) var(--eo-density-cell-x);
  --grid-gap: var(--eo-space-5);
  --topbar-h: 60px;
  --radius-lg: var(--eo-radius-md);
  --bar-h: 8px;
  --avatar: 32px;
  --shadow-segment: var(--eo-shadow-raised);
  --gradient-kpi: none;
}

/* ws compatibility (Make prototype workspace-ui.css names → v2 values). Load after workspace-ui.css. */
:root {
  --ws-font-sans: var(--eo-font-family-data);
  --ws-font-size-2xs: var(--eo-font-size-10);
  --ws-font-size-xs: var(--eo-font-size-11);
  --ws-font-size-sm: var(--eo-density-text-table);
  --ws-font-size-md: var(--eo-font-size-12);
  --ws-font-size-lg: var(--eo-font-size-14);
  --ws-weight-medium: var(--eo-font-weight-medium);
  --ws-weight-semibold: var(--eo-font-weight-semibold);
  --ws-weight-bold: var(--eo-font-weight-bold);
  --ws-canvas: var(--eo-surface-page);
  --ws-surface: var(--eo-surface-card);
  --ws-surface-raised: var(--eo-surface-overlay);
  --ws-surface-muted: var(--eo-surface-muted);
  --ws-surface-subtle: var(--eo-data-actual-bg);
  --ws-text: var(--eo-text-primary);
  --ws-text-strong: var(--eo-text-primary);
  --ws-text-muted: var(--eo-text-secondary);
  --ws-text-soft: var(--eo-text-tertiary);
  --ws-line: var(--eo-border-default);
  --ws-line-soft: var(--eo-border-subtle);
  --ws-line-strong: var(--eo-border-strong);
  --ws-line-header: var(--eo-border-strong);
  --ws-blue: var(--eo-text-link);
  --ws-blue-strong: var(--eo-data-forecast-fg);
  --ws-blue-soft: var(--eo-surface-selected);
  --ws-gold: var(--eo-status-attention-fill);
  --ws-gold-strong: var(--eo-status-attention-fg);
  --ws-gold-soft: var(--eo-status-attention-bg);
  --ws-green: var(--eo-status-good-fg);
  --ws-green-soft: var(--eo-status-good-bg);
  --ws-red: var(--eo-action-danger-fg);
  --ws-red-soft: var(--eo-status-severe-bg);
  --ws-purple: var(--eo-discussion-fg);
  --ws-purple-soft: var(--eo-discussion-bg);
  --ws-group-surface: var(--eo-surface-sunken);
  --ws-section-surface: var(--eo-data-section-bg);
  --ws-category-surface: var(--eo-surface-muted);
  --ws-total-surface: var(--eo-data-total-bg);
  --ws-grand-total-surface: var(--eo-surface-sunken);
  --ws-selected-surface: var(--eo-surface-selected);
  --ws-forecast-surface: var(--eo-data-forecast-bg);
  --ws-radius-sm: var(--eo-radius-sm);
  --ws-radius-control: var(--eo-radius-control);
  --ws-radius-panel: var(--eo-radius-md);
  --ws-radius-drawer: var(--eo-radius-md);
  --ws-control-height: var(--eo-density-control);
  --ws-group-header-height: var(--eo-density-row-band);
  --ws-column-header-height: var(--eo-density-row-header);
  --ws-row-height: var(--eo-density-row);
  --ws-space-1: var(--eo-space-1);
  --ws-space-2: var(--eo-space-2);
  --ws-space-3: var(--eo-space-3);
  --ws-space-4: var(--eo-space-5);
  --ws-space-5: var(--eo-space-6);
  --ws-shadow-toolbar: var(--eo-shadow-raised);
  --ws-shadow-grid: var(--eo-shadow-raised);
  --ws-shadow-drawer: var(--eo-shadow-drawer);
  --ws-motion-fast: var(--eo-duration-fast);
  --ws-motion-enter: var(--eo-duration-base);
  --ws-ease-out: var(--eo-easing-out);
}
