/**
 * Master Admin Dark Token V2
 * Graphite Admin + Blue Accent, tuned for dense SaaS admin screens.
 *
 * Load order: 다크 토큰 단일 소스 (T957 통합 — 구 dark-semantic-tokens.css 폐기).
 * This file deliberately separates brand, status, and data-viz colors.
 */

[data-theme="dark"] {
  color-scheme: dark;
  --ds-member-popup-page-source-active-border: rgb(161 187 229 / 0.192157);
  --ds-member-popup-page-source-caution-border: rgb(203 198 182 / 0.192157);
  --ds-member-popup-page-source-danger-border: rgb(208 175 179 / 0.211765);

  /* V2 primitives */
  --ds-v2-ink-940: var(--shade-50);
  --ds-v2-ink-920: var(--shade-100);
  --ds-v2-ink-900: var(--shade-200);
  --ds-v2-ink-860: var(--shade-300);
  --ds-v2-ink-460: var(--ash-600);
  --ds-v2-ink-380: var(--ash-500);
  --ds-v2-ink-300: var(--ash-400);
  --ds-v2-ink-220: var(--ash-300);
  --ds-v2-ink-160: var(--ash-200);
  --ds-v2-ink-100: var(--ash-100);

  /* Status colors stay muted enough for tables and badges. */
  --ds-v2-green-700: var(--green-700);
  --ds-v2-green-600: var(--green-500);
  --ds-v2-green-500: var(--green-400);
  --ds-v2-green-300: var(--green-300);
  --ds-v2-red-700: var(--red-700);
  --ds-v2-red-600: var(--red-500);
  --ds-v2-red-500: var(--red-400);
  --ds-v2-red-300: var(--red-300);
  --ds-v2-amber-700: var(--amber-700);
  --ds-v2-amber-600: var(--amber-600);
  --ds-v2-amber-500: var(--amber-600);
  --ds-v2-amber-300: var(--amber-300);
  --ds-v2-blue-700: var(--cyan-700);
  --ds-v2-blue-600: var(--cyan-500);
  --ds-v2-blue-500: var(--cyan-400);
  --ds-v2-blue-300: var(--cyan-300);
  --ds-v2-purple-500: var(--purple-400);

  /* Semantic surfaces */
  --ds-bg-app: var(--ds-v2-ink-940);
  --ds-surface-1: var(--ds-v2-ink-920);
  --ds-surface-2: var(--ds-v2-ink-900);
  --ds-surface-3: var(--ds-v2-ink-860);
  --ds-surface-raised: var(--ds-v2-ink-900);
  --ds-surface-overlay: var(--ds-v2-ink-900);
  --ds-surface-hover: var(--ds-v2-ink-860);
  --ds-border-subtle: rgb(200 208 218 / 10%);
  --ds-border-muted: rgb(200 208 218 / 14%);
  --ds-border-default: rgb(200 208 218 / 19%);
  --ds-border-strong: rgb(200 208 218 / 28%);

  /* Page and component panels: neutral graphite surfaces, no status tint. */
  --ds-panel-bg: var(--ds-surface-1);
  --ds-panel-raised-bg: var(--ds-surface-2);
  --ds-panel-header-bg: color-mix(in srgb, var(--ds-surface-2) 94%, var(--ds-surface-3) 6%);
  --ds-panel-muted-bg: color-mix(in srgb, var(--ds-surface-1) 92%, var(--ds-surface-3) 8%);
  --ds-panel-hover-bg: var(--ds-surface-hover);
  --ds-panel-border: var(--ds-border-default);
  --ds-panel-border-muted: var(--ds-border-muted);
  --ds-panel-border-strong: var(--ds-border-strong);
  --ds-panel-shadow: 0 16px 40px rgb(var(--shadow-color-black-rgb), 0.22);

  --ds-text-primary: var(--ds-v2-ink-100);
  --ds-text-secondary: var(--ds-v2-ink-220);
  --ds-text-muted: var(--ds-v2-ink-300);
  --ds-text-faint: var(--ds-v2-ink-380);
  --ds-text-disabled: var(--ds-v2-ink-460);
  --ds-text-link: var(--color-text-link);
  --ds-text-link-hover: var(--color-text-link-hover);

  /* Brand */
  --ds-brand: var(--color-accent-indicator);
  --ds-brand-hover: var(--blue-300);
  --ds-accent: var(--ds-brand);

  /* Template-list chip palette promoted to semantic point tokens.
     --template-chip-* is declared in badges.css; var() keeps this layer load-order safe. */
  --point-chip-primary-tone: var(--template-chip-14-tone, color-mix(in srgb, var(--ds-v2-blue-500) 62%, var(--ds-v2-purple-500) 38%));
  --point-chip-primary-bg: var(--template-chip-14-bg, color-mix(in srgb, var(--point-chip-primary-tone) 20%, var(--ds-surface-1) 80%));
  --point-chip-primary-border: var(--template-chip-14-border, color-mix(in srgb, var(--point-chip-primary-tone) 68%, var(--ds-border-default) 32%));
  --point-chip-primary-text: var(--template-chip-14-text, color-mix(in srgb, var(--ds-text-primary) 24%, var(--point-chip-primary-tone) 76%));
  --point-chip-primary-rail: var(--point-chip-primary-tone);
  --point-chip-success-tone: var(--template-chip-03-tone, var(--ds-v2-green-500));
  --point-chip-success-bg: var(--template-chip-03-bg, color-mix(in srgb, var(--point-chip-success-tone) 20%, var(--ds-surface-1) 80%));
  --point-chip-success-border: var(--template-chip-03-border, color-mix(in srgb, var(--point-chip-success-tone) 68%, var(--ds-border-default) 32%));
  --point-chip-success-text: var(--template-chip-03-text, color-mix(in srgb, var(--ds-text-primary) 24%, var(--point-chip-success-tone) 76%));
  --point-chip-success-rail: var(--point-chip-success-tone);
  --point-chip-danger-tone: var(--template-chip-02-tone, var(--ds-v2-red-500));
  --point-chip-danger-bg: var(--template-chip-02-bg, color-mix(in srgb, var(--point-chip-danger-tone) 20%, var(--ds-surface-1) 80%));
  --point-chip-danger-border: var(--template-chip-02-border, color-mix(in srgb, var(--point-chip-danger-tone) 68%, var(--ds-border-default) 32%));
  --point-chip-danger-text: var(--template-chip-02-text, color-mix(in srgb, var(--ds-text-primary) 24%, var(--point-chip-danger-tone) 76%));
  --point-chip-danger-rail: var(--point-chip-danger-tone);
  --point-chip-warning-tone: var(--template-chip-04-tone, var(--ds-v2-amber-500));
  --point-chip-warning-bg: var(--template-chip-04-bg, color-mix(in srgb, var(--point-chip-warning-tone) 20%, var(--ds-surface-1) 80%));
  --point-chip-warning-border: var(--template-chip-04-border, color-mix(in srgb, var(--point-chip-warning-tone) 68%, var(--ds-border-default) 32%));
  --point-chip-warning-text: var(--template-chip-04-text, color-mix(in srgb, var(--ds-text-primary) 24%, var(--point-chip-warning-tone) 76%));
  --point-chip-warning-rail: var(--point-chip-warning-tone);
  --point-chip-info-tone: var(--template-chip-09-tone, var(--cyan-400));
  --point-chip-info-bg: var(--template-chip-09-bg, color-mix(in srgb, var(--point-chip-info-tone) 20%, var(--ds-surface-1) 80%));
  --point-chip-info-border: var(--template-chip-09-border, color-mix(in srgb, var(--point-chip-info-tone) 68%, var(--ds-border-default) 32%));
  --point-chip-info-text: var(--template-chip-09-text, color-mix(in srgb, var(--ds-text-primary) 24%, var(--point-chip-info-tone) 76%));
  --point-chip-info-rail: var(--point-chip-info-tone);
  --point-chip-purple-tone: var(--template-chip-11-tone, var(--ds-v2-purple-500));
  --point-chip-purple-bg: var(--template-chip-11-bg, color-mix(in srgb, var(--point-chip-purple-tone) 20%, var(--ds-surface-1) 80%));
  --point-chip-purple-border: var(--template-chip-11-border, color-mix(in srgb, var(--point-chip-purple-tone) 68%, var(--ds-border-default) 32%));
  --point-chip-purple-text: var(--template-chip-11-text, color-mix(in srgb, var(--ds-text-primary) 24%, var(--point-chip-purple-tone) 76%));
  --point-chip-purple-rail: var(--point-chip-purple-tone);
  --ds-point-primary-tone: var(--point-chip-primary-rail);
  --ds-point-success-tone: var(--point-chip-success-rail);
  --ds-point-danger-tone: var(--point-chip-danger-rail);
  --ds-point-warning-tone: var(--point-chip-warning-rail);
  --ds-point-info-tone: var(--point-chip-info-rail);
  --ds-point-purple-tone: var(--point-chip-purple-rail);
  --ds-point-primary-bg: var(--point-chip-primary-bg);
  --ds-point-primary-border: var(--point-chip-primary-border);
  --ds-point-primary-text: var(--point-chip-primary-text);
  --ds-point-success-bg: var(--point-chip-success-bg);
  --ds-point-success-border: var(--point-chip-success-border);
  --ds-point-success-text: var(--point-chip-success-text);
  --ds-point-danger-bg: var(--point-chip-danger-bg);
  --ds-point-danger-border: var(--point-chip-danger-border);
  --ds-point-danger-text: var(--point-chip-danger-text);
  --ds-point-warning-bg: var(--point-chip-warning-bg);
  --ds-point-warning-border: var(--point-chip-warning-border);
  --ds-point-warning-text: var(--point-chip-warning-text);
  --ds-point-info-bg: var(--point-chip-info-bg);
  --ds-point-info-border: var(--point-chip-info-border);
  --ds-point-info-text: var(--point-chip-info-text);
  --ds-point-purple-bg: var(--point-chip-purple-bg);
  --ds-point-purple-border: var(--point-chip-purple-border);
  --ds-point-purple-text: var(--point-chip-purple-text);
  --ds-accent-soft-bg: rgb(23 40 63 / 1);
  --ds-accent-soft-border: rgb(94 160 249 / 0.545098);
  --ds-accent-soft-text: color-mix(in srgb, var(--ds-text-primary) 18%, var(--ds-brand) 82%);
  --ds-accent-indicator: var(--ds-brand);
  --ds-accent-active-bg: color-mix(in srgb, var(--ds-surface-2) 92%, var(--ds-text-primary) 8%);
  --ds-accent-active-border: color-mix(in oklch, var(--blue-400) 38%, transparent);
  --ds-accent-active-text: var(--ds-text-primary);
  --ds-brand-soft-bg: var(--ds-accent-soft-bg);
  --ds-brand-soft-border: var(--ds-accent-soft-border);
  --ds-brand-soft-text: var(--ds-accent-soft-text);
  --ds-on-brand: var(--color-white);

  /* Status */
  --ds-success: var(--green-400);
  --ds-success-hover: var(--green-300);
  --ds-success-soft-bg: var(--ds-point-success-bg);
  --ds-success-soft-border: var(--ds-point-success-border);
  --ds-success-soft-text: var(--ds-point-success-text);
  --ds-danger: var(--red-400);
  --ds-danger-hover: var(--red-300);
  --ds-danger-soft-bg: var(--ds-point-danger-bg);
  --ds-danger-soft-border: var(--ds-point-danger-border);
  --ds-danger-soft-text: var(--ds-point-danger-text);
  --ds-warning: var(--amber-600);
  --ds-warning-hover: var(--amber-500);
  --ds-warning-soft-bg: var(--ds-point-warning-bg);
  --ds-warning-soft-border: var(--ds-point-warning-border);
  --ds-warning-soft-text: var(--ds-point-warning-text);
  --ds-info: var(--cyan-400);
  --ds-info-filled: var(--cyan-400);
  --ds-info-hover: var(--cyan-300);
  --ds-info-soft-bg: var(--ds-point-info-bg);
  --ds-info-soft-border: var(--ds-point-info-border);
  --ds-info-soft-text: var(--ds-point-info-text);
  --ds-neutral-soft-bg: color-mix(in srgb, var(--ds-surface-1) 88%, var(--ds-v2-ink-300) 12%);
  --ds-neutral-soft-border: rgb(176 184 193 / 22%);
  --ds-neutral-soft-text: var(--ds-v2-ink-220);
  --ds-selection-bg: var(--color-selection-bg);
  --ds-selection-strong-bg: var(--color-selection-strong-bg);
  --ds-selection-hover-bg: var(--color-selection-hover-bg);
  --ds-selection-border: var(--color-selection-border);
  --ds-selection-text: var(--ds-text-primary);
  --ds-on-success: #07130d;
  --ds-on-danger: #1a0708;
  --ds-on-warning: #14161d;
  --ds-on-info: #07131b;

  /* Event domain UI: neutral surfaces first, status color only for small state cues. */
  --event-surface-bg: var(--ds-surface-1);
  --event-surface-raised-bg: var(--ds-surface-2);
  --event-surface-header-bg: color-mix(in srgb, var(--ds-surface-2) 92%, var(--ds-surface-3) 8%);
  --event-surface-muted-bg: color-mix(in srgb, var(--ds-surface-1) 88%, var(--ds-surface-3) 12%);
  --event-surface-hover-bg: var(--ds-panel-hover-bg);
  --event-border-subtle: var(--ds-border-subtle);
  --event-border-muted: var(--ds-border-muted);
  --event-border-default: var(--ds-border-default);
  --event-border-strong: var(--ds-border-strong);
  --event-text-primary: var(--ds-text-primary);
  --event-text-secondary: var(--ds-text-secondary);
  --event-text-muted: var(--ds-text-muted);
  --event-accent-bg: var(--ds-accent-active-bg);
  --event-accent-border: var(--ds-accent-active-border);
  --event-accent-text: var(--ds-accent-active-text);
  --event-selection-bg: var(--ds-selection-bg);
  --event-selection-border: var(--ds-selection-border);
  --event-selection-text: var(--ds-selection-text);
  --event-focus-ring: var(--ds-selection-border);
  --event-data-positive-bg: var(--data-positive-soft-bg);
  --event-data-positive-border: var(--data-positive-soft-border);
  --event-data-positive-text: var(--data-positive-indicator);
  --event-active-control-bg: var(--ds-panel-hover-bg);
  --event-active-control-text: var(--ds-text-primary);
  --event-active-control-indicator: var(--data-positive-indicator);
  --event-active-control-border: color-mix(in srgb, var(--ds-border-default) 90%, var(--event-active-control-indicator) 10%);
  --event-info-control-bg: var(--ds-panel-hover-bg);
  --event-info-control-border: color-mix(in srgb, var(--ds-border-default) 94%, var(--data-info) 6%);
  --event-info-control-text: var(--ds-text-primary);
  --event-info-control-indicator: var(--data-info-indicator);
  --event-caution-control-bg: var(--ds-panel-hover-bg);
  --event-caution-control-border: color-mix(in srgb, var(--ds-border-default) 94%, var(--data-caution) 6%);
  --event-caution-control-text: var(--ds-text-primary);
  --event-caution-control-indicator: var(--data-caution-indicator);
  --event-accent-chip-bg: var(--data-info-soft-bg);
  --event-accent-chip-border: var(--data-info-soft-border);
  --event-accent-chip-text: var(--data-info-soft-text);
  --event-status-success-bg: var(--data-positive-soft-bg);
  --event-status-success-border: var(--data-positive-soft-border);
  --event-status-success-text: var(--data-positive-soft-text);
  --event-status-warning-bg: var(--data-caution-soft-bg);
  --event-status-warning-border: var(--data-caution-soft-border);
  --event-status-warning-text: var(--data-caution-soft-text);
  --event-status-info-bg: var(--data-info-soft-bg);
  --event-status-info-border: var(--data-info-soft-border);
  --event-status-info-text: var(--data-info-soft-text);
  --event-status-danger-bg: var(--data-negative-soft-bg);
  --event-status-danger-border: var(--data-negative-soft-border);
  --event-status-danger-text: var(--data-negative-soft-text);

  /* Semantic state tokens: filled actions are separate from soft badges. */
  --state-primary-fill-bg: var(--ds-action-fill-bg);
  --state-primary-fill-bg-hover: var(--ds-action-fill-bg-hover);
  --state-primary-fill-text: var(--ds-on-action);
  --state-primary-fill-border: var(--ds-action-fill-border);
  --state-success-fill-bg: var(--ds-success);
  --state-success-fill-bg-hover: var(--ds-success-hover);
  --state-success-fill-text: var(--ds-on-success);
  --state-success-fill-border: var(--ds-success);
  --state-danger-fill-bg: var(--ds-danger);
  --state-danger-fill-bg-hover: var(--ds-danger-hover);
  --state-danger-fill-text: var(--ds-on-danger);
  --state-danger-fill-border: var(--ds-danger);
  --state-warning-fill-bg: var(--ds-warning);
  --state-warning-fill-bg-hover: var(--ds-warning-hover);
  --state-warning-fill-text: var(--ds-on-warning);
  --state-warning-fill-border: var(--ds-warning);
  --state-info-fill-bg: var(--ds-info-filled);
  --state-info-fill-bg-hover: var(--ds-info-hover);
  --state-info-fill-text: var(--ds-on-info);
  --state-info-fill-border: var(--ds-info-filled);
  --state-primary-soft-bg: var(--ds-brand-soft-bg);
  --state-primary-soft-text: var(--ds-brand-soft-text);
  --state-primary-soft-border: var(--ds-brand-soft-border);
  --state-success-soft-bg: var(--ds-success-soft-bg);
  --state-success-soft-text: var(--ds-success-soft-text);
  --state-success-soft-border: var(--ds-success-soft-border);
  --state-danger-soft-bg: var(--ds-danger-soft-bg);
  --state-danger-soft-text: var(--ds-danger-soft-text);
  --state-danger-soft-border: var(--ds-danger-soft-border);
  --state-warning-soft-bg: var(--ds-warning-soft-bg);
  --state-warning-soft-text: var(--ds-warning-soft-text);
  --state-warning-soft-border: var(--ds-warning-soft-border);
  --state-info-soft-bg: var(--ds-info-soft-bg);
  --state-info-soft-text: var(--ds-info-soft-text);
  --state-info-soft-border: var(--ds-info-soft-border);
  --state-neutral-soft-bg: var(--ds-neutral-soft-bg);
  --state-neutral-soft-text: var(--ds-neutral-soft-text);
  --state-neutral-soft-border: var(--ds-neutral-soft-border);

  /* Data visualization palette */
  --chart-color-stake: #58a6ff;
  --chart-color-payout: #8cc8f8;
  --chart-color-payout-rgb: 140, 200, 248;
  --chart-color-profit: #6ee7b7;
  --chart-color-margin: #d2a85f;
  --chart-color-danger: #e87986;
  --chart-color-info: #a7aeff;
  --chart-color-stake-rgb: 88, 166, 255;
  --chart-color-profit-rgb: 110, 231, 183;
  --chart-color-margin-rgb: 210, 168, 95;
  --chart-color-info-rgb: 167, 174, 255;
  --ds-accent-muted-indicator: rgb(122 147 179 / 1);
  --data-info: var(--chart-color-stake);
  --data-info-soft-bg: var(--ds-point-info-bg);
  --data-info-soft-border: var(--ds-point-info-border);
  --data-info-soft-text: var(--ds-point-info-text);
  --data-info-indicator: var(--ds-point-info-tone);
  --data-caution: var(--chart-color-margin);
  --data-caution-soft-bg: var(--ds-point-warning-bg);
  --data-caution-soft-border: var(--ds-point-warning-border);
  --data-caution-soft-text: var(--ds-point-warning-text);
  --data-caution-indicator: var(--ds-point-warning-tone);
  --data-positive: var(--chart-color-profit);
  --data-positive-soft-bg: var(--ds-point-success-bg);
  --data-positive-soft-border: var(--ds-point-success-border);
  --data-positive-soft-text: var(--ds-point-success-text);
  --data-positive-indicator: var(--ds-point-success-tone);
  --data-negative: var(--chart-color-danger);
  --data-negative-soft-bg: var(--ds-point-danger-bg);
  --data-negative-soft-border: var(--ds-point-danger-border);
  --data-negative-soft-text: var(--ds-point-danger-text);
  --data-negative-indicator: var(--ds-point-danger-tone);
  --log-dark-danger-text: var(--data-negative-soft-text);
  --log-dark-success-text: var(--data-positive-soft-text);
  --log-dark-primary-text: var(--state-primary-soft-text);
  --log-dark-neutral-border: var(--state-neutral-soft-border);
  --funds-state-active-bg: var(--ds-panel-raised-bg);
  --funds-state-active-border: rgb(159 218 204 / 0.407843);
  --funds-state-active-text: var(--data-positive-soft-text);
  --funds-state-active-indicator: var(--data-positive-indicator);
  --funds-state-info-bg: var(--ds-panel-raised-bg);
  --funds-state-info-border: rgb(152 189 233 / 0.407843);
  --funds-state-info-text: var(--data-info-soft-text);
  --funds-state-info-indicator: var(--data-info-indicator);
  --funds-state-caution-bg: var(--ds-panel-raised-bg);
  --funds-state-caution-border: rgb(204 189 164 / 0.407843);
  --funds-state-caution-text: var(--data-caution-soft-text);
  --funds-state-caution-indicator: var(--data-caution-indicator);
  --funds-state-danger-bg: var(--ds-panel-raised-bg);
  --funds-state-danger-border: rgb(216 163 177 / 0.435294);
  --funds-state-danger-text: var(--data-negative-soft-text);
  --funds-state-danger-indicator: var(--data-negative-indicator);
  --bets-state-surface-bg: var(--ds-panel-raised-bg);
  --bets-state-surface-hover-bg: var(--ds-panel-hover-bg);
  --bets-state-info-bg: var(--bets-state-surface-bg);
  --bets-state-info-border: rgb(152 189 233 / 0.407843);
  --bets-state-info-text: var(--data-info-soft-text);
  --bets-state-info-indicator: var(--data-info-indicator);
  --bets-state-caution-bg: var(--bets-state-surface-bg);
  --bets-state-caution-border: rgb(204 189 164 / 0.407843);
  --bets-state-caution-text: var(--data-caution-soft-text);
  --bets-state-caution-indicator: var(--data-caution-indicator);
  --bets-state-win-bg: var(--bets-state-surface-bg);
  --bets-state-win-border: rgb(159 218 204 / 0.407843);
  --bets-state-win-text: var(--data-positive-soft-text);
  --bets-state-win-indicator: var(--data-positive-indicator);
  --bets-state-loss-bg: var(--bets-state-surface-bg);
  --bets-state-loss-border: rgb(216 163 177 / 0.435294);
  --bets-state-loss-text: var(--data-negative-soft-text);
  --bets-state-loss-indicator: var(--data-negative-indicator);
  --bets-state-neutral-bg: var(--ds-panel-raised-bg);
  --bets-state-neutral-border: var(--ds-panel-border);
  --bets-state-neutral-text: var(--ds-text-primary);
  --bets-state-neutral-indicator: #9eafc3;
  --bets-state-danger-bg: var(--bets-state-loss-bg);
  --bets-state-danger-border: var(--bets-state-loss-border);
  --bets-state-danger-text: var(--bets-state-loss-text);
  --bets-state-danger-indicator: var(--bets-state-loss-indicator);
  --bets-state-progress-track-bg: rgb(174 181 181 / 0.14902);
  --bets-state-progress-info-fill: var(--bets-state-info-indicator);
  --bets-state-progress-success-fill: var(--bets-state-win-indicator);
  --bets-state-progress-warning-fill: var(--bets-state-caution-indicator);
  --bets-state-progress-danger-fill: var(--bets-state-danger-indicator);
  --bets-state-live-pulse-start: rgb(240 100 105 / 0.4);
  --bets-state-live-pulse-end: transparent;
  --tournament-state-info-bg: var(--bets-state-info-bg);
  --tournament-state-info-border: var(--bets-state-info-border);
  --tournament-state-info-text: var(--bets-state-info-text);
  --tournament-state-info-indicator: var(--bets-state-info-indicator);
  --tournament-state-caution-bg: var(--bets-state-caution-bg);
  --tournament-state-caution-border: var(--bets-state-caution-border);
  --tournament-state-caution-text: var(--bets-state-caution-text);
  --tournament-state-caution-indicator: var(--bets-state-caution-indicator);
  --tournament-state-win-bg: var(--bets-state-win-bg);
  --tournament-state-win-border: var(--bets-state-win-border);
  --tournament-state-win-text: var(--bets-state-win-text);
  --tournament-state-win-indicator: var(--bets-state-win-indicator);
  --tournament-state-danger-bg: var(--bets-state-danger-bg);
  --tournament-state-danger-border: var(--bets-state-danger-border);
  --tournament-state-danger-text: var(--bets-state-danger-text);
  --tournament-state-danger-indicator: var(--bets-state-danger-indicator);
  --tournament-state-neutral-bg: var(--bets-state-neutral-bg);
  --tournament-state-neutral-border: var(--bets-state-neutral-border);
  --tournament-state-neutral-text: var(--bets-state-neutral-text);
  --tournament-state-neutral-indicator: var(--bets-state-neutral-indicator);
  --sport-state-info-bg: var(--bets-state-info-bg);
  --sport-state-info-border: var(--bets-state-info-border);
  --sport-state-info-text: var(--bets-state-info-text);
  --sport-state-info-indicator: var(--bets-state-info-indicator);
  --sport-state-active-bg: var(--bets-state-win-bg);
  --sport-state-active-border: var(--bets-state-win-border);
  --sport-state-active-text: var(--bets-state-win-text);
  --sport-state-active-indicator: var(--bets-state-win-indicator);
  --sport-state-caution-bg: var(--bets-state-caution-bg);
  --sport-state-caution-border: var(--bets-state-caution-border);
  --sport-state-caution-text: var(--bets-state-caution-text);
  --sport-state-caution-indicator: var(--bets-state-caution-indicator);
  --sport-state-danger-bg: var(--bets-state-danger-bg);
  --sport-state-danger-border: var(--bets-state-danger-border);
  --sport-state-danger-text: var(--bets-state-danger-text);
  --sport-state-danger-indicator: var(--bets-state-danger-indicator);
  --sport-state-neutral-bg: var(--bets-state-neutral-bg);
  --sport-state-neutral-border: var(--bets-state-neutral-border);
  --sport-state-neutral-text: var(--bets-state-neutral-text);
  --sport-state-neutral-indicator: var(--bets-state-neutral-indicator);
  --chart-palette-1: #58a6ff;
  --chart-palette-2: #6ee7b7;
  --chart-palette-3: #d2a85f;
  --chart-palette-4: #a7aeff;
  --chart-palette-5: #a451f8;
  --chart-palette-6: #e87986;
  --chart-axis-color: rgb(219 226 234 / 55%);
  --chart-grid-color: rgb(219 226 234 / 6%);
  --chart-grid-strong-color: rgb(219 226 234 / 10%);
  --chart-fill-blue: rgb(132 147 168 / 5%);
  --chart-fill-green: rgb(147 159 154 / 3%);
  --chart-fill-amber: rgb(170 145 112 / 6%);
  --chart-line-fill-alpha-dark: 0.045;
  --chart-line-fill-alpha-light: 0.075;
  --chart-bar-fill-alpha-dark: 0.22;
  --chart-bar-fill-alpha-light: 0.28;
  --chart-bar-hover-fill-alpha-dark: 0.34;
  --chart-bar-hover-fill-alpha-light: 0.42;
  --chart-tooltip-bg: rgb(16 23 32 / 96%);
  --chart-tooltip-border: rgb(200 208 218 / 19%);
  --chart-tooltip-text: #eaecef;
  --chart-text-primary: #eaecef;
  --chart-text-secondary: #b7bdc6;
  --chart-surface-primary: rgb(16 18 24);
  --chart-surface-secondary: rgb(20 24 31);

  /* P0 Design System Contract: dark aliases for shared semantic/component tokens. */
  --ds-surface-page: var(--ds-bg-app);
  --ds-surface-base: var(--ds-surface-1);
  --ds-surface-muted: var(--ds-surface-2);
  --ds-surface-selected: var(--ds-selection-bg);
  --ds-text-strong: var(--ds-text-primary);
  --ds-text-base: var(--ds-text-primary);
  --ds-text-subtle: var(--ds-text-faint);
  --ds-text-inverse: var(--ds-on-action);
  --ds-border-focus: var(--ds-brand);
  --ds-status-success-bg: var(--state-success-soft-bg);
  --ds-status-success-border: var(--state-success-soft-border);
  --ds-status-success-text: var(--state-success-soft-text);
  --ds-status-danger-bg: var(--state-danger-soft-bg);
  --ds-status-danger-border: var(--state-danger-soft-border);
  --ds-status-danger-text: var(--state-danger-soft-text);
  --ds-status-warning-bg: var(--state-warning-soft-bg);
  --ds-status-warning-border: var(--state-warning-soft-border);
  --ds-status-warning-text: var(--state-warning-soft-text);
  --ds-status-info-bg: var(--state-info-soft-bg);
  --ds-status-info-border: var(--state-info-soft-border);
  --ds-status-info-text: var(--state-info-soft-text);
  --ds-status-neutral-bg: var(--state-neutral-soft-bg);
  --ds-status-neutral-border: var(--state-neutral-soft-border);
  --ds-status-neutral-text: var(--state-neutral-soft-text);
  --ds-action-fill-bg: var(--color-action-fill);
  --ds-action-fill-bg-hover: var(--color-action-fill-hover);
  --ds-action-fill-border: var(--color-action-border);
  --ds-on-action: var(--color-on-action);
  --ds-action-main-bg: var(--ds-action-fill-bg);
  --ds-action-main-bg-hover: var(--ds-action-fill-bg-hover);
  --ds-action-main-text: var(--ds-on-action);
  --ds-action-main-border: var(--ds-action-fill-border);
  --ds-action-main-rail: var(--ds-action-fill-bg);
  --ds-action-save-bg: var(--ds-action-main-bg);
  --ds-action-save-bg-hover: var(--ds-action-main-bg-hover);
  --ds-action-save-text: var(--ds-action-main-text);
  --ds-action-save-border: var(--ds-action-main-border);
  --ds-action-search-bg: var(--ds-action-fill-bg);
  --ds-action-search-bg-hover: var(--ds-action-fill-bg-hover);
  --ds-action-search-text: var(--ds-on-action);
  --ds-action-search-border: var(--ds-action-fill-border);
  --ds-action-search-rail: var(--ds-action-fill-bg);
  --ds-action-filter-toggle-bg: color-mix(in srgb, var(--ds-surface-2) 88%, var(--ds-brand) 12%);
  --ds-action-filter-toggle-bg-hover: color-mix(in srgb, var(--ds-surface-2) 80%, var(--ds-brand) 20%);
  --ds-action-filter-toggle-text: var(--ds-text-secondary);
  --ds-action-filter-toggle-text-hover: color-mix(in srgb, var(--ds-text-primary) 22%, var(--ds-brand) 78%);
  --ds-action-filter-toggle-border: color-mix(in srgb, var(--ds-border-default) 62%, var(--ds-brand) 38%);
  --ds-action-filter-toggle-border-hover: color-mix(in srgb, var(--ds-border-default) 42%, var(--ds-brand) 58%);
  --ds-action-filter-toggle-rail: var(--ds-brand);
  --ds-action-create-bg: var(--ds-point-success-bg);
  --ds-action-create-bg-hover: color-mix(in srgb, var(--ds-action-create-bg) 84%, var(--ds-point-success-tone) 16%);
  --ds-action-create-text: var(--ds-point-success-text);
  --ds-action-create-border: var(--ds-point-success-border);
  --ds-action-create-soft-bg: var(--ds-action-create-bg);
  --ds-action-create-soft-text: var(--ds-action-create-text);
  --ds-action-create-soft-border: var(--ds-action-create-border);
  --ds-action-edit-bg: var(--ds-point-warning-bg);
  --ds-action-edit-bg-hover: color-mix(in srgb, var(--ds-action-edit-bg) 84%, var(--ds-point-warning-tone) 16%);
  --ds-action-edit-text: var(--ds-point-warning-text);
  --ds-action-edit-border: var(--ds-point-warning-border);
  --ds-action-edit-soft-bg: var(--ds-action-edit-bg);
  --ds-action-edit-soft-text: var(--ds-action-edit-text);
  --ds-action-edit-soft-border: var(--ds-action-edit-border);
  --ds-action-danger-bg: var(--ds-point-danger-bg);
  --ds-action-danger-bg-hover: color-mix(in srgb, var(--ds-action-danger-bg) 84%, var(--ds-point-danger-tone) 16%);
  --ds-action-danger-text: var(--ds-point-danger-text);
  --ds-action-danger-border: var(--ds-point-danger-border);
  --ds-action-danger-soft-bg: var(--ds-action-danger-bg);
  --ds-action-danger-soft-bg-hover: var(--ds-action-danger-bg-hover);
  --ds-action-danger-soft-text: var(--ds-action-danger-text);
  --ds-action-danger-soft-border: var(--ds-action-danger-border);
  --ds-action-info-bg: var(--ds-point-info-bg);
  --ds-action-info-bg-hover: color-mix(in srgb, var(--ds-action-info-bg) 84%, var(--ds-point-info-tone) 16%);
  --ds-action-info-text: var(--ds-point-info-text);
  --ds-action-info-border: var(--ds-point-info-border);
  --ds-action-info-soft-bg: var(--ds-action-info-bg);
  --ds-action-info-soft-text: var(--ds-action-info-text);
  --ds-action-info-soft-border: var(--ds-action-info-border);
  --ds-action-export-bg: var(--ds-action-create-bg);
  --ds-action-export-bg-hover: var(--ds-action-create-bg-hover);
  --ds-action-export-text: var(--ds-action-create-text);
  --ds-action-export-border: var(--ds-action-create-border);
  --ds-action-result-bg: var(--ds-action-info-bg);
  --ds-action-result-bg-hover: var(--ds-action-info-bg-hover);
  --ds-action-result-text: var(--ds-action-info-text);
  --ds-action-result-border: var(--ds-action-info-border);
  --ds-action-utility-bg: var(--ds-surface-2);
  --ds-action-utility-bg-hover: var(--ds-surface-3);
  --ds-action-utility-text: var(--ds-text-secondary);
  --ds-action-utility-border: var(--ds-border-default);
  --ds-badge-neutral-bg: var(--ds-surface-raised);
  --ds-badge-neutral-border: var(--ds-border-default);
  --ds-badge-neutral-text: var(--ds-text-secondary);
  --ds-badge-primary-bg: var(--ds-point-primary-bg);
  --ds-badge-primary-border: var(--ds-point-primary-border);
  --ds-badge-primary-text: var(--ds-point-primary-text);
  --ds-badge-success-bg: var(--ds-point-success-bg);
  --ds-badge-success-border: var(--ds-point-success-border);
  --ds-badge-success-text: var(--ds-point-success-text);
  --ds-badge-danger-bg: var(--ds-point-danger-bg);
  --ds-badge-danger-border: var(--ds-point-danger-border);
  --ds-badge-danger-text: var(--ds-point-danger-text);
  --ds-badge-warning-bg: var(--ds-point-warning-bg);
  --ds-badge-warning-border: var(--ds-point-warning-border);
  --ds-badge-warning-text: var(--ds-point-warning-text);
  --ds-badge-info-bg: var(--ds-point-info-bg);
  --ds-badge-info-border: var(--ds-point-info-border);
  --ds-badge-info-text: var(--ds-point-info-text);
  --ds-badge-special-bg: var(--ds-point-purple-bg);
  --ds-badge-special-border: var(--ds-point-purple-border);
  --ds-badge-special-text: var(--ds-point-purple-text);
  --ds-badge-casino-bg: var(--ds-point-purple-bg);
  --ds-badge-casino-border: var(--ds-point-purple-border);
  --ds-badge-casino-text: var(--ds-point-purple-text);
  --ds-table-surface-bg: var(--data-table-surface-bg);
  --ds-table-header-bg: var(--data-table-header-bg);
  --ds-table-header-text: var(--data-table-header-text);
  --ds-table-row-bg: var(--data-table-row-bg);
  --ds-table-row-alt-bg: var(--data-table-row-alt-bg);
  --ds-table-row-hover-bg: var(--data-table-row-hover-bg);
  --ds-table-row-selected-bg: var(--data-table-row-selected-bg);
  --ds-table-cell-text: var(--data-table-cell-text);
  --ds-table-muted-text: var(--data-table-muted-text);
  --ds-table-border: var(--data-table-cell-border);
  --ds-form-panel-bg: var(--filter-control-panel-bg);
  --ds-form-field-bg: var(--filter-control-field-bg);
  --ds-form-field-text: var(--filter-control-field-text);
  --ds-form-field-border: var(--filter-control-field-border);
  --ds-form-field-focus-border: var(--filter-control-field-focus-border);
  --ds-modal-bg: var(--overlay-surface-bg);
  --ds-modal-header-bg: var(--overlay-header-bg);
  --ds-modal-body-bg: var(--overlay-body-bg);
  --ds-modal-footer-bg: var(--overlay-footer-bg);
  --ds-modal-border: var(--overlay-border);
  --ds-modal-text: var(--overlay-body-text);
  --ds-admin-modal-shell-bg: var(--overlay-surface-bg);
  --ds-admin-modal-header-bg: var(--overlay-header-bg);
  --ds-admin-modal-body-bg: var(--overlay-body-bg);
  --ds-admin-modal-footer-bg: var(--overlay-footer-bg);
  --ds-admin-modal-panel-bg: var(--ds-panel-raised-bg);
  --ds-admin-modal-panel-muted-bg: var(--ds-panel-muted-bg);
  --ds-admin-modal-border: var(--overlay-border);
  --ds-admin-modal-border-strong: var(--ds-border-strong);
  --ds-admin-modal-accent: var(--ds-brand);
  --ds-admin-modal-label-bg: rgb(23 28 35 / 0.941176);
  --ds-admin-modal-control-hover-bg: rgb(28 31 36 / 0.921569);
  --ds-admin-modal-control-border: var(--overlay-control-border);
  --ds-admin-modal-control-focus-ring: var(--overlay-focus-ring);
  --ds-admin-modal-control-inner-shadow: none;
  --ds-admin-modal-control-disabled-bg: var(--overlay-raised-bg);
  --ds-admin-modal-shadow: var(--overlay-shadow);
  --ds-admin-modal-subtle-shadow: var(--overlay-shadow-soft, 0 1px 2px rgb(0 0 0 / 20%));
  --ds-admin-modal-table-header-bg: color-mix(in srgb, var(--overlay-header-bg) 92%, var(--ds-text-primary) 4%);
  --ds-admin-modal-callout-bg: rgb(18 28 42 / 1);
  --ds-admin-modal-callout-border: rgb(129 177 240 / 0.333333);
  --ds-admin-flow-scrim-bg: var(--overlay-scrim-bg);
  --ds-admin-flow-scrim-soft-bg: var(--overlay-scrim-soft-bg);
  --ds-admin-flow-loading-scrim-bg: rgb(13 20 26 / 0.819608);
  --ds-admin-flow-success-ring-border: rgb(108 196 126 / 0.341176);
  --ds-data-1: var(--chart-palette-1);
  --ds-data-2: var(--chart-palette-2);
  --ds-data-3: var(--chart-palette-3);
  --ds-data-4: var(--chart-palette-4);
  --ds-data-5: var(--chart-palette-5);
  --ds-data-6: var(--chart-palette-6);
  --ds-data-7: var(--chart-palette-7);
  --ds-chart-stake: var(--chart-stake-color);
  --ds-chart-payout: var(--chart-payout-color);
  --ds-chart-margin: var(--chart-margin-color);
  --ds-chart-grid: var(--chart-grid-color);
  --ds-chart-tooltip-bg: var(--chart-tooltip-bg);
  --ds-chart-tooltip-text: var(--chart-tooltip-text);
  --ds-member-marker-black: var(--member-marker-black);
  --ds-member-marker-pink: var(--member-marker-pink);
  --ds-member-marker-red: var(--member-marker-red);
  --ds-member-marker-orange: var(--member-marker-orange);
  --ds-member-marker-green: var(--member-marker-green);
  --ds-member-marker-white: var(--member-marker-white);
  --ds-member-marker-blue: var(--member-marker-blue);
  --ds-member-marker-purple: var(--member-marker-purple);
  --ds-member-marker-peach: var(--member-marker-peach);
  --ds-member-marker-gray: var(--member-marker-gray);
  --ds-member-marker-lightgreen: var(--member-marker-lightgreen);
  --ds-member-marker-yellow: var(--member-marker-yellow);
  --ds-member-marker-darkblue: var(--member-marker-darkblue);
  --ds-member-marker-brown: var(--member-marker-brown);

  /* Dashboard widget operational surface tokens */
  --ds-widget-ops-surface: var(--ds-bg-app, var(--color-bg-primary));
  --ds-widget-ops-surface-soft: var(--ds-surface-1, var(--color-bg-secondary));
  --ds-widget-ops-border: var(--ds-border-default, var(--color-border-primary));
  --ds-widget-ops-border-strong: var(--ds-border-strong, var(--ds-border-default));
  --ds-widget-ops-shadow: 0 16px 40px -28px var(--color-black-alpha-88, rgb(0 0 0 / 82%));
  --ds-widget-ops-shadow-hover: 0 22px 50px -32px var(--color-black-alpha-88, rgb(0 0 0 / 92%));
  --ds-widget-polish-muted: var(--ds-text-muted, var(--color-text-secondary));
  --ds-widget-polish-faint: var(--ds-text-subtle, var(--color-text-tertiary, var(--color-text-secondary)));
  --ds-widget-polish-surface: var(--ds-bg-app, var(--color-bg-primary));
  --ds-widget-polish-surface-soft: var(--ds-surface-1, var(--color-bg-secondary));
  --ds-widget-polish-surface-tint: var(--ds-panel-raised-bg, var(--color-surface-elevated, var(--color-bg-secondary)));
  --ds-widget-polish-border: var(--ds-border-default, var(--color-border-primary));
  --ds-widget-polish-border-soft: var(--ds-border-subtle, var(--widget-token-border-soft));
  --ds-widget-polish-shadow: 0 16px 38px -28px color-mix(in oklch, var(--color-black, #000000) 80%, transparent);
  --ds-widget-primary-surface-faint: rgb(10 16 25 / 1);
  --ds-widget-primary-surface-subtle: rgb(11 18 29 / 1);
  --ds-widget-primary-surface-soft: rgb(11 20 31 / 1);
  --ds-widget-primary-surface-medium: rgb(12 21 33 / 1);
  --ds-widget-primary-surface-strong: rgb(14 26 41 / 1);
  --ds-widget-primary-border-faint: rgb(142 182 238 / 0.301961);
  --ds-widget-primary-border-subtle: rgb(139 179 239 / 0.317647);
  --ds-widget-primary-border-soft: rgb(132 177 240 / 0.333333);
  --ds-widget-primary-border-medium: rgb(129 175 244 / 0.34902);
  --ds-widget-primary-border-strong: rgb(125 174 244 / 0.368627);
  --ds-widget-primary-border-emphasis: rgb(122 172 245 / 0.384314);
  --ds-widget-primary-border-active: rgb(115 168 245 / 0.415686);
  --ds-widget-success-surface-soft: rgb(10 22 33 / 1);
  --ds-widget-success-surface-medium: rgb(10 24 35 / 1);
  --ds-widget-success-border: rgb(125 195 133 / 0.384314);
  --ds-widget-danger-surface-soft: rgb(14 19 31 / 1);
  --ds-widget-danger-border: rgb(228 149 149 / 0.368627);
  --ds-widget-muted-chip-bg: rgb(15 18 23 / 1);
  --ds-widget-focus-outline: rgb(127 182 255 / 1);
  --ds-widget-focus-ring: rgb(67 150 255 / 0.180392);
  --ds-widget-shadow-blue-soft: 0 10px 24px -24px color-mix(in oklch, var(--color-primary-900) 44%, transparent);
  --ds-widget-shadow-blue-medium: 0 14px 34px -30px color-mix(in oklch, var(--color-primary-900) 48%, transparent);
  --ds-widget-control-active-border: rgb(166 191 229 / 0.235294);
  --ds-widget-restraint-card-recessed-bg: rgb(9 13 19 / 1);
  --ds-widget-catalog-backdrop-bg: rgb(7 11 16 / 1);
  --ds-widget-catalog-panel-recessed-bg: rgb(13 18 24 / 1);
  --ds-widget-primary-overlay-micro: rgb(77 153 230 / 0.027451);
  --ds-widget-primary-overlay-xs: rgb(67 133 255 / 0.031373);
  --ds-widget-primary-overlay-sm: rgb(57 142 255 / 0.035294);
  --ds-widget-primary-overlay: rgb(74 148 247 / 0.039216);
  --ds-widget-primary-overlay-subtle: rgb(71 142 255 / 0.070588);
  --ds-widget-primary-overlay-soft: rgb(62 148 255 / 0.082353);
  --ds-widget-primary-overlay-medium: rgb(69 147 255 / 0.101961);
  --ds-widget-primary-overlay-strong: rgb(66 148 255 / 0.121569);
  --ds-widget-primary-overlay-emphasis: rgb(68 149 255 / 0.160784);
  --ds-widget-primary-transparent-border: rgb(65 150 255 / 0.2);
  --ds-widget-primary-inset-border: rgb(67 147 255 / 0.4);
  --ds-widget-primary-soft-rail: rgb(78 153 255 / 0.772549);
  --ds-widget-primary-soft-outline: rgb(123 180 255 / 1);
  --ds-widget-current-overlay: rgb(255 255 255 / 0.05098);
  --ds-widget-current-overlay-soft: rgb(255 255 255 / 0.058824);
  --ds-widget-current-surface: rgb(27 30 35 / 1);
  --ds-widget-current-border: rgb(228 234 237 / 0.333333);
  --ds-widget-current-border-strong: rgb(234 237 242 / 0.384314);
  --ds-widget-current-border-transparent: rgb(255 255 255 / 0.239216);
  --ds-widget-light-inset-soft: color-mix(in oklch, var(--widget-mix-light, var(--color-white)) 42%, transparent);
  --ds-widget-light-inset-medium: color-mix(in oklch, var(--widget-mix-light, var(--color-white)) 58%, transparent);
  --ds-widget-light-inset-strong: color-mix(in oklch, var(--widget-mix-light, var(--color-white)) 62%, transparent);
  --ds-widget-light-overlay-soft: color-mix(in oklch, var(--widget-mix-light, var(--color-white)) 2.4%, transparent);
  --ds-widget-primary-surface-context: rgb(11 19 31 / 0.901961);
  --ds-widget-primary-surface-context-mobile: rgb(11 18 29 / 0.890196);
  --ds-widget-primary-surface-mobilebar: rgb(12 22 35 / 0.941176);
  --ds-widget-primary-surface-ambient: rgb(11 19 31 / 0.85098);
  --ds-widget-primary-surface-commandbar: rgb(7 11 18 / 1);
  --ds-widget-primary-surface-recessed: rgb(6 9 14 / 1);
  --ds-widget-health-surface: rgb(12 21 33 / 1);
  --ds-widget-health-border: rgb(125 174 244 / 0.368627);
  --ds-widget-success-surface-subtle: rgb(10 21 31 / 1);
  --ds-widget-warning-overlay-soft: rgb(206 167 98 / 0.101961);
  --ds-widget-warning-surface-soft: rgb(17 33 41 / 1);
  --ds-widget-warning-surface-medium: rgb(18 37 44 / 1);
  --ds-widget-warning-surface-strong: rgb(17 33 41 / 1);
  --ds-widget-warning-border-soft: rgb(208 185 146 / 0.384314);
  --ds-widget-warning-border: rgb(210 183 133 / 0.4);
  --ds-widget-warning-border-medium: rgb(209 181 137 / 0.431373);
  --ds-widget-warning-border-strong: rgb(207 179 132 / 0.462745);
  --ds-widget-warning-border-active: rgb(210 177 119 / 0.513725);
  --ds-widget-warning-border-emphasis: rgb(210 175 114 / 0.560784);
  --ds-widget-shadow-blue-popover: -20px 0 50px -38px color-mix(in oklch, var(--color-primary-900, var(--color-primary-700)) 55%, transparent);
  --ds-widget-shadow-blue-chart: 0 10px 22px -20px color-mix(in oklch, var(--color-primary-900, var(--color-primary-700)) 42%, transparent);
  --topbar-surface-bg: #0f141b;
  --topbar-surface-border: rgb(200 208 218 / 12%);
  --topbar-surface-shadow: none;
  --topbar-item-text: var(--ds-v2-ink-160);
  --topbar-item-muted-text: var(--ds-text-muted);
  --topbar-item-hover-bg: rgb(219 226 234 / 7%);
  --topbar-item-hover-text: var(--ds-text-primary);
  --topbar-item-active-bg: var(--ds-accent-active-bg);
  --topbar-item-active-border: var(--ds-accent-indicator);
  --topbar-item-active-text: var(--ds-accent-active-text);
  --topbar-item-active-shadow: inset 0 -2px 0 var(--topbar-item-active-border);
  --topbar-home-bg: rgb(219 226 234 / 4%);
  --topbar-home-hover-bg: rgb(219 226 234 / 8%);
  --topbar-dropdown-bg: var(--ds-surface-raised);
  --topbar-dropdown-border: var(--ds-border-default);
  --topbar-dropdown-text: var(--ds-text-secondary);
  --topbar-dropdown-hover-bg: var(--ds-surface-hover);
  --topbar-dropdown-hover-text: var(--ds-text-primary);
  --topbar-badge-bg: var(--ds-panel-raised-bg);
  --topbar-badge-text: var(--ds-text-primary);
  --topbar-badge-border: color-mix(in srgb, var(--ds-border-strong) 94%, var(--ds-accent-indicator) 6%);
  --topbar-badge-rail: var(--ds-accent-muted-indicator);
  --topbar-admin-type-bg: var(--ds-panel-raised-bg);
  --topbar-admin-type-text: var(--ds-text-primary);
  --topbar-admin-type-border: color-mix(in srgb, var(--ds-border-strong) 92%, var(--data-negative) 8%);
  --topbar-admin-type-rail: var(--data-negative-indicator);
  --topbar-scrollbar-thumb-bg: rgb(219 226 234 / 36%);
  --ds-header-source-topbar-right-fade-shadow: -10px 0 18px color-mix(in oklch, var(--color-primary-900) 34%, transparent);
  /* H 해제 등가 보정: 이관 전 실효값(alias 경유 navy color-mix)과 동일해야 함 — rgb 리터럴은 비위젯 다크에서 색 변경이었음 */
  --topbar-right-fade-shadow: var(--ds-header-source-topbar-right-fade-shadow);
  --subnav-surface-bg: #11161d;
  --subnav-surface-border: var(--ds-border-default);
  --subnav-item-text: var(--ds-text-secondary);
  --subnav-item-hover-bg: var(--ds-surface-hover);
  --subnav-item-hover-text: var(--ds-text-primary);
  --subnav-item-active-bg: var(--ds-accent-active-bg);
  --subnav-item-active-border: var(--ds-accent-indicator);
  --subnav-item-active-text: var(--ds-accent-active-text);
  --subnav-item-placeholder-text: var(--ds-text-muted);
  --page-header-bg: var(--ds-bg-app);
  --page-header-border: var(--ds-border-default);
  --page-title-text: var(--ds-text-primary);
  --page-title-icon-text: var(--ds-brand-soft-text);
  --breadcrumb-text: var(--ds-text-muted);
  --breadcrumb-hover-bg: var(--ds-brand-soft-bg);
  --breadcrumb-hover-text: var(--ds-brand-soft-text);
  --breadcrumb-active-text: var(--ds-text-secondary);
  --section-heading-text: var(--ds-text-primary);
  --section-heading-muted-text: var(--ds-text-muted);
  --section-heading-accent: var(--ds-brand);
  --filter-control-panel-bg: var(--ds-surface-1);
  --filter-control-panel-border: var(--ds-border-default);
  --filter-control-panel-shadow: 0 12px 32px rgb(0 0 0 / 22%);
  --filter-control-panel-inner-bg: var(--ds-surface-2);
  --filter-control-label-bg: var(--filter-control-panel-bg);
  --filter-control-label-text: var(--ds-text-secondary);
  --filter-control-field-bg: var(--ds-gray-950);
  --filter-control-field-hover-bg: var(--ds-gray-900);
  --filter-control-field-disabled-bg: var(--ds-gray-875);
  --filter-control-field-border: var(--ds-border-default);
  --filter-control-field-hover-border: var(--ds-border-strong);
  --filter-control-field-focus-border: var(--ds-brand);
  --filter-control-field-focus-ring: 0 0 0 3px color-mix(in oklch, var(--blue-400) 40%, transparent);
  --filter-control-field-text: var(--ds-text-primary);
  --filter-control-field-placeholder: var(--ds-text-muted);
  --filter-control-toggle-bg: var(--filter-control-panel-inner-bg);
  --filter-control-toggle-border: var(--filter-control-panel-border);
  --filter-control-toggle-text: var(--ds-text-secondary);
  --filter-control-toggle-hover-bg: color-mix(in srgb, var(--filter-control-panel-inner-bg) 93%, var(--ds-accent) 7%);
  --filter-control-toggle-hover-border: var(--ds-brand-soft-border);
  --filter-control-toggle-hover-text: var(--ds-brand-soft-text);
  --filter-control-date-bg: var(--ds-surface-2);
  --filter-control-date-hover-bg: var(--ds-surface-hover);
  --filter-control-date-active-bg: var(--ds-action-fill-bg);
  --filter-control-date-text: var(--ds-text-secondary);
  --filter-control-date-hover-text: var(--ds-text-primary);
  --filter-control-date-active-text: var(--ds-on-action);
  --filter-control-date-border: var(--ds-border-default);
  --filter-control-date-hover-border: var(--ds-border-strong);
  --filter-control-date-active-border: var(--ds-action-fill-border);
  --filter-control-calendar-bg: var(--ds-surface-raised);
  --filter-control-calendar-panel-bg: var(--ds-surface-1);
  --filter-control-calendar-border: var(--ds-border-default);
  --filter-control-calendar-text: var(--ds-text-primary);
  --filter-control-calendar-muted-text: var(--ds-text-muted);
  --filter-control-calendar-hover-bg: var(--ds-surface-hover);
  --filter-control-calendar-range-bg: color-mix(in srgb, var(--ds-surface-2) 96%, var(--ds-accent) 4%);
  --filter-control-check-accent: var(--ds-brand);
  --data-table-surface-bg: var(--ds-surface-1);
  --data-table-header-bg: oklch(26% 0.014 257deg);
  --data-table-header-text: var(--ds-v2-ink-160);
  --data-table-header-border: var(--ds-border-strong);
  --data-table-row-bg: var(--data-table-surface-bg);
  --data-table-row-alt-bg: color-mix(in srgb, var(--ds-surface-3) 98%, var(--ds-v2-ink-460) 2%);
  --data-table-zone-subtle-bg: color-mix(in srgb, var(--data-table-row-bg) 94%, var(--data-table-row-alt-bg) 6%);
  --data-table-zone-muted-bg: color-mix(in srgb, var(--data-table-row-bg) 90%, var(--data-table-row-alt-bg) 10%);
  --data-table-zone-strong-bg: color-mix(in srgb, var(--data-table-row-bg) 86%, var(--data-table-row-alt-bg) 14%);
  --data-table-zone-hover-bg: var(--data-table-row-hover-bg);
  --data-table-row-hover-bg: color-mix(in srgb, var(--ds-surface-hover) 92%, var(--ds-info) 8%);
  --data-table-row-selected-bg: var(--ds-selection-bg);
  --data-table-row-checked-bg: var(--ds-selection-strong-bg);
  --data-table-row-focus-bg: var(--ds-selection-hover-bg);
  --data-table-row-focus-ring: inset 3px 0 0 var(--ds-selection-border);
  --data-table-row-hover-text: var(--ds-text-primary);
  --data-table-row-hover-link: var(--ds-info-soft-text);
  --data-table-row-hover-border: var(--ds-selection-border);
  --data-table-cell-border: var(--ds-border-default);
  --data-table-cell-border-subtle: color-mix(in srgb, var(--ds-border-muted) 86%, transparent);
  --data-table-cell-text: var(--ds-text-secondary);
  --data-table-muted-text: var(--ds-text-muted);
  --data-table-action-hover-bg: var(--ds-selection-hover-bg);
  --data-table-action-hover-text: var(--data-table-row-hover-link);
  --data-table-empty-text: var(--data-table-muted-text);
  --data-table-sticky-shadow: -4px 0 8px -4px rgb(0 0 0 / 42%);
  --data-table-scroll-fade-bg: var(--data-table-surface-bg);
  --topbar-bg: var(--topbar-surface-bg);
  --topbar-border: var(--topbar-surface-border);
  --topbar-text: var(--topbar-item-text);
  --topbar-active-bg: var(--topbar-item-active-bg);
  --sidebar-bg: #0f141b;
  --sidebar-border: rgb(200 208 218 / 12%);
  --sidebar-text: var(--ds-v2-ink-160);
  --sidebar-active-bg: var(--ds-panel-raised-bg);
  --sidebar-accent-text: var(--ds-text-primary);
  --sidebar-accent-border: color-mix(in srgb, var(--ds-border-strong) 94%, var(--ds-accent-muted-indicator) 6%);
  --sidebar-focus-ring-color: var(--ds-accent-muted-indicator);
  --sidebar-summary-item-bg: var(--ds-panel-raised-bg);
  --sidebar-summary-item-hover-bg: var(--ds-panel-hover-bg);
  --sidebar-summary-item-border: var(--ds-panel-border-muted);
  --sidebar-summary-item-text: var(--ds-text-primary);
  --sidebar-summary-item-muted-text: var(--ds-text-secondary);
  --sidebar-summary-info-rail: var(--data-info-indicator);
  --sidebar-summary-danger-rail: var(--data-negative-indicator);
  --sidebar-status-danger-bg: var(--ds-panel-raised-bg);
  --sidebar-status-danger-border: color-mix(in srgb, var(--ds-border-default) 90%, var(--data-negative) 10%);
  --sidebar-status-danger-text: color-mix(in srgb, var(--ds-text-primary) 82%, var(--data-negative) 18%);
  --sidebar-status-warning-bg: var(--ds-panel-raised-bg);
  --sidebar-status-warning-border: color-mix(in srgb, var(--ds-border-default) 92%, var(--data-caution) 8%);
  --sidebar-status-warning-text: color-mix(in srgb, var(--ds-text-primary) 84%, var(--data-caution) 16%);
  --sidebar-status-info-bg: var(--ds-panel-raised-bg);
  --sidebar-status-info-border: color-mix(in srgb, var(--ds-border-default) 92%, var(--data-info) 8%);
  --sidebar-status-info-text: color-mix(in srgb, var(--ds-text-primary) 84%, var(--data-info) 16%);
  --sidebar-status-soft-bg: var(--ds-panel-bg);
  --sidebar-status-soft-border: color-mix(in srgb, var(--ds-border-default) 92%, var(--data-negative) 8%);
  --sidebar-status-soft-text: color-mix(in srgb, var(--ds-text-primary) 86%, var(--data-negative) 14%);
  --table-bg: var(--data-table-surface-bg);
  --table-header-bg: var(--data-table-header-bg);
  --table-header-text: var(--data-table-header-text);
  --table-row-bg: var(--data-table-row-bg);
  --table-row-alt-bg: var(--data-table-row-alt-bg);
  --table-row-hover-bg: var(--data-table-row-hover-bg);
  --table-row-selected-bg: var(--data-table-row-selected-bg);
  --table-row-active-bg: var(--data-table-row-checked-bg);
  --table-row-focus-bg: var(--data-table-row-focus-bg);
  --table-row-hover-text: var(--data-table-row-hover-text);
  --table-row-hover-link: var(--data-table-row-hover-link);
  --table-border: var(--data-table-cell-border);
  --table-text: var(--data-table-cell-text);

  /* Overlay system: Bootstrap modal, SweetAlert, legacy popup, dropdown, editor */
  --overlay-surface-bg: var(--ds-surface-1);
  --overlay-raised-bg: var(--ds-surface-raised);
  --overlay-header-bg: var(--ds-surface-2);
  --overlay-body-bg: var(--ds-surface-raised);
  --overlay-footer-bg: var(--ds-surface-3);
  --overlay-border: var(--ds-border-default);
  --overlay-border-muted: var(--ds-border-muted);
  --overlay-title-text: var(--ds-text-primary);
  --overlay-body-text: var(--ds-text-primary);
  --overlay-muted-text: var(--ds-text-muted);
  --overlay-scrim-bg: rgb(3 6 10 / 72%);
  --overlay-scrim-soft-bg: rgb(3 6 10 / 52%);
  --overlay-shadow: 0 24px 64px rgb(var(--shadow-color-black-rgb), 0.56);
  --overlay-focus-ring: var(--filter-control-field-focus-ring);
  --overlay-control-bg: var(--filter-control-field-bg);
  --overlay-control-hover-bg: var(--filter-control-field-hover-bg);
  --overlay-control-border: var(--filter-control-field-border);
  --overlay-control-text: var(--filter-control-field-text);
  --overlay-control-placeholder: var(--filter-control-field-placeholder);
  --overlay-control-focus-border: var(--filter-control-field-focus-border);
  --overlay-action-hover-bg: color-mix(in srgb, var(--overlay-header-bg) 91%, var(--ds-accent) 9%);
  --overlay-action-hover-text: var(--ds-brand-soft-text);
  --editor-surface-bg: var(--overlay-surface-bg);
  --editor-toolbar-bg: var(--overlay-header-bg);
  --editor-body-bg: var(--overlay-body-bg);
  --editor-footer-bg: var(--overlay-footer-bg);
  --editor-border: var(--overlay-border);
  --editor-text: var(--overlay-body-text);
  --editor-muted-text: var(--overlay-muted-text);
  --editor-popup-bg: var(--overlay-raised-bg);
  --editor-popup-hover-bg: var(--ds-surface-hover);
  --editor-popup-border: var(--overlay-border);
  --editor-popup-shadow: var(--overlay-shadow);
  --editor-icon-hover-bg: var(--editor-popup-hover-bg);
  --modal-bg: var(--overlay-surface-bg);
  --modal-header-bg: var(--overlay-header-bg);
  --modal-border: var(--overlay-border);
  --modal-body-bg: var(--overlay-body-bg);
  --modal-footer-bg: var(--overlay-footer-bg);
  --modal-backdrop: var(--overlay-scrim-bg);
  --modal-shadow: var(--overlay-shadow);
  --popup-bg: var(--overlay-surface-bg);
  --popup-header-bg: var(--overlay-header-bg);
  --popup-body-bg: var(--overlay-body-bg);
  --popup-footer-bg: var(--overlay-footer-bg);
  --popup-border: var(--overlay-border);
  --popup-text: var(--overlay-body-text);
  --popup-text-muted: var(--overlay-muted-text);
  --popup-shadow: var(--overlay-shadow);
  --dropdown-bg: var(--editor-popup-bg);
  --dropdown-item-hover-bg: var(--editor-popup-hover-bg);
  --select2-bg: var(--input-bg);
  --select2-border: var(--input-border-color);
  --select2-text: var(--input-text);
  --select2-placeholder-text: var(--input-placeholder);
  --select2-dropdown-bg: var(--dropdown-bg);
  --select2-dropdown-border: var(--editor-popup-border);
  --select2-option-bg: transparent;
  --select2-option-text: var(--ds-text-secondary);
  --select2-option-hover-bg: var(--dropdown-item-hover-bg);
  --select2-option-hover-text: var(--ds-text-primary);
  --select2-option-selected-bg: var(--ds-panel-raised-bg);
  --select2-option-selected-text: var(--ds-text-primary);
  --select2-option-selected-rail: var(--badge-primary-rail);
  --select2-choice-bg: var(--ds-panel-raised-bg);
  --select2-choice-text: var(--ds-text-primary);
  --select2-choice-border: var(--badge-primary-border);
  --select2-choice-rail: var(--badge-primary-rail);
  --select2-choice-remove-text: var(--ds-text-muted);
  --select2-disabled-bg: var(--input-bg-disabled);
  --select2-disabled-text: var(--ds-text-disabled);
  --utility-selected-bg: var(--ds-panel-raised-bg);
  --utility-selected-text: var(--ds-text-primary);
  --utility-selected-border: var(--badge-primary-border);
  --utility-selected-rail: var(--badge-primary-rail);
  --utility-danger-hover-bg: var(--ds-panel-raised-bg);
  --utility-danger-hover-text: var(--badge-danger-text);
  --editable-text-bg: var(--ds-panel-raised-bg);
  --editable-text-border: var(--ds-border-default);
  --editable-text-text: var(--ds-text-secondary);
  --editable-text-hover-bg: var(--ds-panel-hover-bg);
  --editable-text-hover-border: var(--ds-brand-soft-border);
  --editable-text-hover-text: var(--ds-text-primary);
  --editable-text-empty-bg: var(--ds-panel-bg);
  --editable-text-empty-text: var(--ds-text-muted);
  --config-chip-bg: var(--utility-selected-bg);
  --config-chip-text: var(--utility-selected-text);
  --config-chip-border: var(--utility-selected-border);
  --config-chip-rail: var(--utility-selected-rail);
  --drag-drop-bg: var(--ds-panel-raised-bg);
  --drag-drop-border: var(--ds-border-default);
  --drag-drop-hover-bg: var(--ds-panel-hover-bg);
  --drag-drop-hover-border: var(--ds-brand-soft-border);
  --drag-drop-active-bg: var(--ds-panel-raised-bg);
  --drag-drop-active-border: var(--badge-primary-border);
  --drag-drop-active-rail: var(--badge-primary-rail);
  --drag-drop-icon: var(--ds-text-muted);
  --drag-drop-active-icon: var(--ds-brand-soft-text);
  --identity-level-bg: var(--badge-info-bg);
  --identity-level-border: var(--badge-info-border);
  --identity-level-text: var(--badge-info-text);
  --identity-level-rail: var(--badge-info-rail);
  --identity-partner-bg: var(--badge-primary-bg);
  --identity-partner-border: var(--badge-primary-border);
  --identity-partner-text: var(--badge-primary-text);
  --identity-partner-rail: var(--badge-primary-rail);
  --identity-grade-bg: var(--badge-info-bg);
  --identity-grade-border: var(--badge-info-border);
  --identity-grade-text: var(--badge-info-text);
  --identity-grade-rail: var(--badge-info-rail);
  --tooltip-bg: var(--editor-popup-bg);
  --tooltip-text: var(--editor-text);
  --scrollbar-track-bg: rgb(219 226 234 / 7%);
  --scrollbar-thumb-bg: rgb(219 226 234 / 36%);
  --scrollbar-thumb-hover-bg: rgb(219 226 234 / 52%);
  --scrollbar-thumb-border: transparent;

  /* Compatibility: legacy color aliases */
  --color-bg-primary: var(--shade-50);
  --color-bg-secondary: var(--shade-100);
  --color-bg-tertiary: var(--shade-200);
  --color-bg-elevated: var(--shade-400);
  --color-bg-hover: var(--shade-300);
  --color-border-primary: var(--ds-border-default);
  --color-border-secondary: var(--ds-border-muted);
  --color-text-primary: var(--ds-text-primary);
  --color-text-secondary: var(--ds-text-secondary);
  --color-text-tertiary: var(--ds-text-muted);
  --color-text-quaternary: var(--ds-text-faint);
  --color-text-muted: var(--ds-text-muted);
  --color-text-disabled: var(--ds-text-disabled);
  --utility-text-primary-dark: var(--ds-point-primary-text);
  --utility-text-success-dark: var(--ds-point-success-text);
  --utility-text-danger-dark: var(--ds-point-danger-text);
  --utility-text-warning-dark: var(--ds-point-warning-text);
  --utility-text-info-dark: var(--ds-point-info-text);

  --color-primary-50: var(--blue-900);
  --color-primary-100: var(--blue-850);
  --color-primary-200: var(--blue-900);
  --color-primary-300: var(--blue-300);
  --color-primary-400: var(--blue-400);
  --color-primary-500: var(--ds-brand);
  --color-primary-600: var(--ds-brand-hover);
  --color-primary-700: var(--blue-700);
  --color-primary-800: var(--blue-800);
  --color-primary-900: var(--blue-900);
  --color-primary: var(--ds-brand);
  /* RESOLVED-TOKEN CONTRACT (JS/canvas consumers) — blue-400 brand indicator. */
  --color-primary-500-rgb: 67, 148, 255;
  --color-success-500-rgb: 69, 186, 91;
  --color-warning-500-rgb: 253, 153, 21;

  --color-success-50: #101d18;
  --color-success-100: #162820;
  --color-success-200: #213c30;
  --color-success-300: var(--data-positive-soft-text);
  --color-success-400: #82ad91;
  --color-success-500: var(--ds-v2-green-500);
  --color-success-600: var(--ds-v2-green-600);
  --color-success-700: var(--ds-v2-green-700);
  --color-success-900: var(--ds-v2-green-300);
  --color-danger-50: #2a1417;
  --color-danger-100: #37191d;
  --color-danger-200: #552529;
  --color-danger-300: var(--data-negative-soft-text);
  --color-danger-400: #dc787a;
  --color-danger-500: var(--ds-v2-red-500);
  --color-danger-600: var(--ds-v2-red-600);
  --color-danger-700: var(--ds-v2-red-700);
  --color-warning-50: #1b1710;
  --color-warning-100: #241e13;
  --color-warning-200: #332819;
  --color-warning-300: var(--data-caution-soft-text);
  --color-warning-400: var(--chart-color-margin);
  --color-warning-500: var(--ds-v2-amber-500);
  --color-warning-600: var(--ds-v2-amber-600);
  --color-warning-700: var(--ds-v2-amber-700);
  --color-warning-900: var(--ds-v2-amber-300);
  --color-info-50: #101f2a;
  --color-info-100: #132b3b;
  --color-info-200: #1d4159;
  --color-info-300: var(--data-info-soft-text);
  --color-info-400: #7fb0d1;
  --color-info-500: var(--ds-v2-blue-500);
  --color-info-600: var(--ds-v2-blue-600);
  --color-info-700: var(--ds-v2-blue-700);

  /* Component compatibility */
  --button-primary-bg: var(--ds-point-primary-bg);
  --button-primary-bg-hover: color-mix(in srgb, var(--button-primary-bg) 84%, var(--ds-point-primary-tone) 16%);
  --button-primary-text: var(--ds-point-primary-text);
  --button-primary-border: var(--ds-point-primary-border);
  --button-primary-rail: var(--ds-point-primary-tone);
  --button-primary-surface-bg: var(--button-primary-bg);
  --button-primary-surface-bg-hover: var(--button-primary-bg-hover);
  --button-primary-surface-text: var(--button-primary-text);
  --button-primary-surface-border: var(--button-primary-border);
  --button-primary-surface-rail: var(--button-primary-rail);
  --button-save-bg: var(--ds-action-save-bg);
  --button-save-bg-hover: var(--ds-action-save-bg-hover);
  --button-save-text: var(--ds-action-save-text);
  --button-save-border: var(--ds-action-save-border);
  --button-search-bg: var(--ds-action-search-bg);
  --button-search-bg-hover: var(--ds-action-search-bg-hover);
  --button-search-text: var(--ds-action-search-text);
  --button-search-border: var(--ds-action-search-border);
  --button-search-rail: var(--ds-action-search-rail);
  --button-filter-toggle-bg: var(--ds-action-filter-toggle-bg);
  --button-filter-toggle-bg-hover: var(--ds-action-filter-toggle-bg-hover);
  --button-filter-toggle-text: var(--ds-action-filter-toggle-text);
  --button-filter-toggle-text-hover: var(--ds-action-filter-toggle-text-hover);
  --button-filter-toggle-border: var(--ds-action-filter-toggle-border);
  --button-filter-toggle-border-hover: var(--ds-action-filter-toggle-border-hover);
  --button-filter-toggle-rail: var(--ds-action-filter-toggle-rail);
  --button-secondary-bg: var(--ds-action-utility-bg);
  --button-secondary-bg-hover: var(--ds-action-utility-bg-hover);
  --button-secondary-text: var(--ds-action-utility-text);
  --button-secondary-border: var(--ds-action-utility-border);
  --button-neutral-bg: var(--ds-action-utility-bg);
  --button-neutral-bg-hover: var(--ds-action-utility-bg-hover);
  --button-neutral-text: var(--ds-action-utility-text);
  --button-neutral-border: var(--ds-action-utility-border);
  --button-info-bg: var(--ds-action-info-bg);
  --button-info-bg-hover: var(--ds-action-info-bg-hover);
  --button-info-text: var(--ds-action-info-text);
  --button-info-border: var(--ds-action-info-border);
  --button-info-rail: var(--ds-point-info-tone);
  --button-create-bg: var(--ds-action-create-bg);
  --button-create-bg-hover: var(--ds-action-create-bg-hover);
  --button-create-text: var(--ds-action-create-text);
  --button-create-border: var(--ds-action-create-border);
  --button-create-soft-bg: var(--ds-action-create-soft-bg);
  --button-create-soft-text: var(--ds-action-create-soft-text);
  --button-create-soft-border: var(--ds-action-create-soft-border);
  --button-success-bg: var(--ds-action-create-bg);
  --button-success-bg-hover: var(--ds-action-create-bg-hover);
  --button-success-text: var(--ds-action-create-text);
  --button-success-border: var(--ds-action-create-border);
  --button-success-rail: var(--ds-point-success-tone);
  --button-edit-bg: var(--ds-action-edit-bg);
  --button-edit-bg-hover: var(--ds-action-edit-bg-hover);
  --button-edit-text: var(--ds-action-edit-text);
  --button-edit-border: var(--ds-action-edit-border);
  --button-edit-soft-bg: var(--ds-action-edit-soft-bg);
  --button-edit-soft-text: var(--ds-action-edit-soft-text);
  --button-edit-soft-border: var(--ds-action-edit-soft-border);
  --button-danger-bg: var(--ds-action-danger-bg);
  --button-danger-bg-hover: var(--ds-action-danger-bg-hover);
  --button-danger-text: var(--ds-action-danger-text);
  --button-danger-border: var(--ds-action-danger-border);
  --button-danger-soft-bg: var(--ds-action-danger-soft-bg);
  --button-danger-soft-bg-hover: var(--ds-action-danger-soft-bg-hover);
  --button-danger-soft-text: var(--ds-action-danger-soft-text);
  --button-danger-soft-border: var(--ds-action-danger-soft-border);
  --button-danger-rail: var(--ds-point-danger-tone);
  --button-excel-bg: var(--ds-action-export-bg);
  --button-excel-bg-hover: var(--ds-action-export-bg-hover);
  --button-excel-text: var(--ds-action-export-text);
  --button-excel-border: var(--ds-action-export-border);
  --button-excel-rail: var(--button-success-rail);
  --button-export-bg: var(--ds-action-export-bg);
  --button-export-bg-hover: var(--ds-action-export-bg-hover);
  --button-export-text: var(--ds-action-export-text);
  --button-export-border: var(--ds-action-export-border);
  --button-result-bg: var(--ds-action-result-bg);
  --button-result-bg-hover: var(--ds-action-result-bg-hover);
  --button-result-text: var(--ds-action-result-text);
  --button-result-border: var(--ds-action-result-border);
  --button-utility-bg: var(--ds-action-utility-bg);
  --button-utility-bg-hover: var(--ds-action-utility-bg-hover);
  --button-utility-text: var(--ds-action-utility-text);
  --button-utility-border: var(--ds-action-utility-border);
  --button-warning-bg: var(--ds-point-warning-bg);
  --button-warning-bg-hover: color-mix(in srgb, var(--button-warning-bg) 84%, var(--ds-point-warning-tone) 16%);
  --button-warning-text: var(--ds-point-warning-text);
  --button-warning-border: var(--ds-point-warning-border);
  --button-warning-rail: var(--ds-point-warning-tone);
  --badge-neutral-bg: var(--ds-badge-neutral-bg);
  --badge-neutral-text: var(--ds-badge-neutral-text);
  --badge-neutral-border: var(--ds-badge-neutral-border);
  --badge-default-bg: var(--badge-neutral-bg);
  --badge-default-border: var(--badge-neutral-border);
  --badge-primary-bg: var(--ds-badge-primary-bg);
  --badge-primary-text: var(--ds-badge-primary-text);
  --badge-primary-border: var(--ds-badge-primary-border);
  --badge-primary-rail: var(--ds-point-primary-tone);
  --badge-success-bg: var(--ds-badge-success-bg);
  --badge-success-text: var(--ds-badge-success-text);
  --badge-success-border: var(--ds-badge-success-border);
  --badge-success-rail: var(--ds-point-success-tone);
  --badge-danger-bg: var(--ds-badge-danger-bg);
  --badge-danger-text: var(--ds-badge-danger-text);
  --badge-danger-border: var(--ds-badge-danger-border);
  --badge-danger-rail: var(--ds-point-danger-tone);
  --badge-warning-bg: var(--ds-badge-warning-bg);
  --badge-warning-text: var(--ds-badge-warning-text);
  --badge-warning-border: var(--ds-badge-warning-border);
  --badge-warning-rail: var(--ds-point-warning-tone);
  --badge-info-bg: var(--ds-badge-info-bg);
  --badge-info-text: var(--ds-badge-info-text);
  --badge-info-border: var(--ds-badge-info-border);
  --badge-info-rail: var(--ds-point-info-tone);

  /* Alert compatibility: graphite panels with low-chroma status rails. */
  --alert-bg: var(--ds-panel-raised-bg);
  --alert-border: var(--ds-border-default);
  --alert-text: var(--ds-text-primary);
  --alert-shadow: none;
  --alert-primary-bg: var(--alert-bg);
  --alert-primary-border: var(--badge-primary-border);
  --alert-primary-text: var(--alert-text);
  --alert-primary-rail: var(--badge-primary-rail);
  --alert-success-bg: var(--alert-bg);
  --alert-success-border: var(--badge-success-border);
  --alert-success-text: var(--alert-text);
  --alert-success-rail: var(--badge-success-rail);
  --alert-danger-bg: var(--alert-bg);
  --alert-danger-border: var(--badge-danger-border);
  --alert-danger-text: var(--alert-text);
  --alert-danger-rail: var(--badge-danger-rail);
  --alert-warning-bg: var(--alert-bg);
  --alert-warning-border: var(--badge-warning-border);
  --alert-warning-text: var(--alert-text);
  --alert-warning-rail: var(--badge-warning-rail);
  --alert-info-bg: var(--alert-bg);
  --alert-info-border: var(--badge-info-border);
  --alert-info-text: var(--alert-text);
  --alert-info-rail: var(--badge-info-rail);

  /* Common feedback surfaces: keep status color as a rail, not a full-page tint. */
  --form-validation-success-bg: var(--filter-control-field-bg);
  --form-validation-success-border: var(--badge-success-border);
  --form-validation-success-rail: var(--badge-success-rail);
  --form-validation-success-shadow: inset 2px 0 0 var(--form-validation-success-rail), 0 0 0 1px var(--form-validation-success-border);
  --form-validation-success-focus-shadow: inset 2px 0 0 var(--form-validation-success-rail), 0 0 0 3px color-mix(in srgb, var(--form-validation-success-rail) 30%, transparent);
  --form-validation-danger-bg: var(--filter-control-field-bg);
  --form-validation-danger-border: var(--badge-danger-border);
  --form-validation-danger-rail: var(--badge-danger-rail);
  --form-validation-danger-shadow: inset 2px 0 0 var(--form-validation-danger-rail), 0 0 0 1px var(--form-validation-danger-border);
  --form-validation-danger-focus-shadow: inset 2px 0 0 var(--form-validation-danger-rail), 0 0 0 3px color-mix(in srgb, var(--form-validation-danger-rail) 32%, transparent);

  --filter-active-tag-bg: var(--ds-panel-raised-bg);
  --filter-active-tag-hover-bg: var(--ds-panel-hover-bg);
  --filter-active-tag-text: var(--ds-text-primary);
  --filter-active-tag-label-text: var(--ds-text-muted);
  --filter-active-tag-border: var(--badge-primary-border);
  --filter-active-tag-rail: var(--badge-primary-rail);
  --filter-active-tag-shadow: inset 2px 0 0 var(--filter-active-tag-rail);

  --empty-state-feedback-bg: var(--ds-panel-raised-bg);
  --empty-state-feedback-text: var(--ds-text-secondary);
  --empty-state-feedback-heading: var(--ds-text-primary);
  --empty-state-error-border: var(--badge-danger-border);
  --empty-state-error-rail: var(--badge-danger-rail);
  --empty-state-error-icon: var(--badge-danger-text);
  --empty-state-search-border: var(--badge-info-border);
  --empty-state-search-rail: var(--badge-info-rail);
  --empty-state-search-icon: var(--badge-info-text);
  --empty-state-forbidden-border: var(--badge-warning-border);
  --empty-state-forbidden-rail: var(--badge-warning-rail);
  --empty-state-forbidden-icon: var(--badge-warning-text);

  --rate-limit-banner-bg: var(--alert-warning-bg);
  --rate-limit-banner-border: var(--alert-warning-border);
  --rate-limit-banner-rail: var(--alert-warning-rail);
  --rate-limit-banner-text: var(--alert-warning-text);

  /* Bootstrap and SweetAlert compatibility */
  --bs-body-bg: var(--ds-bg-app);
  --bs-body-color: var(--ds-text-secondary);
  --bs-emphasis-color: var(--ds-text-primary);
  --bs-secondary-color: var(--ds-text-muted);
  --bs-tertiary-color: var(--ds-text-faint);
  --bs-border-color: var(--ds-border-default);
  --bs-border-color-translucent: var(--ds-border-subtle);
  --bs-primary: var(--ds-brand);
  /* RESOLVED-TOKEN CONTRACT (JS/canvas consumers) — blue-400 brand indicator. */
  --bs-primary-rgb: 67, 148, 255;
  --bs-success: var(--ds-success);
  --bs-success-rgb: 69, 186, 91;
  --bs-danger: var(--ds-danger);
  --bs-danger-rgb: 239, 101, 105;
  --bs-warning: var(--ds-warning);
  --bs-warning-rgb: 253, 153, 21;
  --bs-info: var(--ds-info);
  --bs-info-rgb: 75, 181, 201;
  --tblr-body-bg: var(--ds-surface-page);
  --tblr-body-color: var(--ds-text-base);
  --tblr-heading-color: var(--ds-text-strong);
  --tblr-border-color: var(--ds-border-default);
  --tblr-primary: var(--ds-brand);
  --tblr-success: var(--ds-success);
  --tblr-danger: var(--ds-danger);
  --tblr-warning: var(--ds-warning);
  --tblr-info: var(--ds-info);
  --swal2-background: var(--modal-bg);
  --swal2-color: var(--ds-text-primary);
  --swal2-border: var(--modal-border);
  --swal2-confirm-button-background: var(--button-primary-bg);
  --swal2-confirm-button-color: var(--button-primary-text);
  --swal2-cancel-button-background: var(--button-secondary-bg);
  --swal2-cancel-button-color: var(--button-secondary-text);

  /* Existing KPI icon aliases */
  /* @deprecated (DARK-RELIGHT 2026-07-08): gold-named, 값은 blue 재배선 */
  --kpi-icon-gold-bg: var(--ds-brand-soft-bg);
  --kpi-icon-gold-color: var(--ds-brand-soft-text);
  --kpi-icon-blue-bg: var(--ds-info-soft-bg);
  --kpi-icon-blue-color: var(--ds-info-soft-text);
  --kpi-icon-green-bg: var(--ds-success-soft-bg);
  --kpi-icon-green-color: var(--ds-success-soft-text);
  --kpi-icon-red-bg: var(--ds-danger-soft-bg);
  --kpi-icon-red-color: var(--ds-danger-soft-text);
  --kpi-icon-amber-bg: var(--ds-warning-soft-bg);
  --kpi-icon-amber-color: var(--ds-warning-soft-text);
  --kpi-icon-data-bet-bg: var(--ds-panel-bg);
  --kpi-icon-data-bet-color: var(--data-info-indicator);
  --kpi-icon-data-win-bg: var(--ds-panel-bg);
  --kpi-icon-data-win-color: var(--data-caution-indicator);
  --kpi-icon-data-profit-bg: var(--ds-panel-bg);
  --kpi-icon-data-profit-color: var(--data-positive-indicator);
  --kpi-icon-data-loss-bg: var(--ds-panel-bg);
  --kpi-icon-data-loss-color: var(--data-negative-indicator);

  --shadow-card: var(--card-shadow);
  --shadow-elevated: 0 22px 54px rgb(0 0 0 / 34%);
  --shadow-side-panel: -22px 0 54px rgb(var(--shadow-color-black-rgb), 0.34);
  --shadow-focus: 0 0 0 3px color-mix(in oklch, var(--blue-400) 40%, transparent);
  --shadow-inset-hairline: inset 0 1px 0 rgb(255 255 255 / 4%);
  --shadow-overlay-scrim: rgb(0 0 0 / 58%);
  --focus-outline-color: color-mix(in oklch, var(--blue-400) 72%, transparent);
  --surface-glass-bg: rgb(9 14 20 / 88%);
  --surface-icon-subtle-bg: rgb(255 255 255 / 4%);
  --surface-icon-subtle-border: rgb(255 255 255 / 7%);
  --surface-stripe-muted: rgb(219 226 234 / 10%);
  --widget-spark-empty-bg: repeating-linear-gradient(
    90deg,
    var(--surface-stripe-muted) 0 4px,
    transparent 4px 9px
  );

  /* T950 다크 Phase 1 (2026-06-11) — 레벨 배지 white 텍스트 WCAG AA 미달 보정
     LV2 white 3.36:1 / LV3 3.49:1 / LV6 4.14:1 → -700 단계로 강화 (7.88 / 8.00 / 9.04) */
  --level-color-2: var(--color-info-700);
  --level-color-3: var(--color-success-700);
  --level-color-6: var(--color-danger-700);


  /* === T957: dark-semantic-tokens.css 통합 (v1-only 399) === */

    /* Primitives: graphite */
    --ds-gray-950: #0e1116;
    --ds-gray-900: #151b24;
    --ds-gray-875: #171e27;
    --ds-gray-850: #1a212b;
    --ds-gray-750: #263141;
    --ds-gray-650: #374457;
    --ds-gray-600: #465366;
    --ds-gray-500: #667386;
    --ds-gray-400: #8f9bad;
    --ds-gray-300: #c2cbd6;
    --ds-gray-200: #dbe3ec;
    --ds-gray-100: #f2f5f8;

    /* @deprecated (DARK-RELIGHT 2026-07-08): gold-named, 값은 blue 재배선 */
    --ds-gold-600: var(--blue-550);

    /* Primitives: status, separated from brand/chart */
    --ds-green-850: #101d18;
    --ds-green-800: #162820;
    --ds-green-700: #347d59;
    --ds-green-600: #58c889;
    --ds-green-400: #9af0c2;
    --ds-green-300: #c8f5df;

    --ds-red-900: #1f0b0e;
    --ds-red-800: #3b171d;
    --ds-red-700: #b84858;
    --ds-red-600: #d95d6d;
    --ds-red-500: #ee6f7f;
    --ds-red-300: #ffd1d7;

    --ds-amber-900: #1b1710;
    --ds-amber-850: #241e13;
    --ds-amber-800: #332819;
    --ds-amber-700: #9c6720;
    --ds-amber-600: #c9862f;
    --ds-amber-500: #d69b3e;
    --ds-amber-400: #eac16f;
    --ds-amber-300: #ffe0a0;

    --ds-cyan-850: #0b2330;
    --ds-cyan-700: #337da8;
    --ds-cyan-600: #4f93d7;
    --ds-cyan-400: #8cc8f8;
    --ds-cyan-300: #cfe6ff;

    --ds-purple-700: #5f4a99;
    --ds-purple-500: #b59cff;
    --ds-purple-300: #e4dcff;

    --ds-white: #ffffff;
    --ds-black: #000000;

    /* Semantic surfaces */


    --ds-text-tertiary: var(--ds-gray-400);


    --ds-on-success: #07130d;

    --ds-on-danger: #1a0708;

    --ds-on-warning: #14161d;

    --ds-on-info: #07131b;

    /* Chart/data colors: intentionally not status colors */
    --chart-palette-7: #a8baaf;
    --chart-stake-color: var(--chart-color-stake);
    --chart-stake-fill: rgba(var(--chart-color-stake-rgb), 0.12);
    --chart-payout-color: var(--chart-color-payout);
    --chart-payout-fill: rgba(var(--chart-color-payout-rgb), 0.12);
    --chart-margin-color: var(--chart-color-margin);
    --chart-margin-fill: rgba(var(--chart-color-margin-rgb), 0.14);
    --chart-legend-color: var(--ds-text-secondary);
    --chart-tick-color: var(--ds-text-tertiary);

    /* Component tokens */
    --topbar-badge-bg: var(--ds-panel-raised-bg);
    --topbar-badge-text: var(--ds-text-primary);
    --topbar-badge-border: var(--badge-primary-border);
    --topbar-badge-rail: var(--badge-primary-rail);
    --topbar-admin-type-bg: var(--ds-panel-raised-bg);
    --topbar-admin-type-text: var(--ds-text-primary);
    --topbar-admin-type-border: var(--badge-danger-border);
    --topbar-admin-type-rail: var(--badge-danger-rail);

    --sidebar-section-bg: var(--ds-surface-1);
    --sidebar-text-muted: var(--ds-text-muted);
    --sidebar-text-active: var(--ds-text-primary);
    --sidebar-hover-bg: var(--ds-surface-hover);
    --sidebar-active-bg: var(--ds-panel-raised-bg);
    --sidebar-accent-text: var(--ds-text-primary);
    --sidebar-accent-border: var(--badge-primary-border);
    --sidebar-focus-ring-color: var(--badge-primary-rail);
    --sidebar-summary-item-bg: var(--ds-panel-raised-bg);
    --sidebar-summary-item-hover-bg: var(--ds-panel-hover-bg);
    --sidebar-summary-item-border: var(--ds-panel-border-muted);
    --sidebar-summary-item-text: var(--ds-text-primary);
    --sidebar-summary-item-muted-text: var(--ds-text-secondary);
    --sidebar-summary-info-rail: var(--badge-info-rail);
    --sidebar-summary-danger-rail: var(--badge-danger-rail);
    --sidebar-status-danger-bg: var(--ds-panel-raised-bg);
    --sidebar-status-danger-border: var(--badge-danger-border);
    --sidebar-status-danger-text: var(--badge-danger-text);
    --sidebar-status-warning-bg: var(--ds-panel-raised-bg);
    --sidebar-status-warning-border: var(--badge-warning-border);
    --sidebar-status-warning-text: var(--badge-warning-text);
    --sidebar-status-info-bg: var(--ds-panel-raised-bg);
    --sidebar-status-info-border: var(--badge-info-border);
    --sidebar-status-info-text: var(--badge-info-text);
    --sidebar-status-soft-bg: var(--ds-panel-bg);
    --sidebar-status-soft-border: var(--badge-danger-border);
    --sidebar-status-soft-text: var(--badge-danger-text);

    --card-text: var(--ds-text-primary);
    --card-text-muted: var(--ds-text-tertiary);

    --table-border-color: var(--table-border);
    --table-border-strong: var(--data-table-header-border);
    --table-text-muted: var(--data-table-muted-text);
    --table-row-active-bg: var(--data-table-row-checked-bg);
    --table-row-focus-bg: var(--data-table-row-focus-bg);
    --table-row-hover-text: var(--data-table-row-hover-text);
    --table-row-hover-link: var(--data-table-row-hover-link);
    --table-row-focus-ring: var(--data-table-row-focus-ring);
    --table-sticky-shadow: var(--data-table-sticky-shadow);

    --input-bg: var(--filter-control-field-bg);
    --input-bg-hover: var(--filter-control-field-hover-bg);
    --input-bg-disabled: var(--filter-control-field-disabled-bg);
    --input-border-color: var(--filter-control-field-border);
    --input-border-hover: var(--filter-control-field-hover-border);
    --input-focus-border-color: var(--filter-control-field-focus-border);
    --input-focus-ring: var(--filter-control-field-focus-ring);
    --input-text: var(--filter-control-field-text);
    --input-placeholder: var(--filter-control-field-placeholder);

    --state-primary-fill-bg: var(--ds-action-fill-bg);
    --state-primary-fill-bg-hover: var(--ds-action-fill-bg-hover);
    --state-primary-fill-text: var(--ds-on-action);
    --state-primary-fill-border: var(--ds-action-fill-border);
    --state-success-fill-bg: var(--ds-success);
    --state-success-fill-bg-hover: var(--ds-success-hover);
    --state-success-fill-text: var(--ds-on-success);
    --state-success-fill-border: var(--ds-success);
    --state-danger-fill-bg: var(--ds-danger);
    --state-danger-fill-bg-hover: var(--ds-danger-hover);
    --state-danger-fill-text: var(--ds-on-danger);
    --state-danger-fill-border: var(--ds-danger);
    --state-warning-fill-bg: var(--ds-warning);
    --state-warning-fill-bg-hover: var(--ds-warning-hover);
    --state-warning-fill-text: var(--ds-on-warning);
    --state-warning-fill-border: var(--ds-warning);
    --state-info-fill-bg: var(--ds-info);
    --state-info-fill-bg-hover: var(--ds-info-hover);
    --state-info-fill-text: var(--ds-on-info);
    --state-info-fill-border: var(--ds-info);
    --state-primary-soft-bg: var(--ds-brand-soft-bg);
    --state-primary-soft-text: var(--ds-brand-soft-text);
    --state-primary-soft-border: var(--ds-brand-soft-border);
    --state-success-soft-bg: var(--ds-success-soft-bg);
    --state-success-soft-text: var(--ds-success-soft-text);
    --state-success-soft-border: var(--ds-success-soft-border);
    --state-danger-soft-bg: var(--ds-danger-soft-bg);
    --state-danger-soft-text: var(--ds-danger-soft-text);
    --state-danger-soft-border: var(--ds-danger-soft-border);
    --state-warning-soft-bg: var(--ds-warning-soft-bg);
    --state-warning-soft-text: var(--ds-warning-soft-text);
    --state-warning-soft-border: var(--ds-warning-soft-border);
    --state-info-soft-bg: var(--ds-info-soft-bg);
    --state-info-soft-text: var(--ds-info-soft-text);
    --state-info-soft-border: var(--ds-info-soft-border);
    --state-neutral-soft-bg: var(--badge-neutral-bg);
    --state-neutral-soft-text: var(--badge-neutral-text);
    --state-neutral-soft-border: var(--badge-neutral-border);

    --button-primary-bg: var(--ds-point-primary-bg);
    --button-primary-bg-hover: color-mix(in srgb, var(--button-primary-bg) 84%, var(--ds-point-primary-tone) 16%);
    --button-primary-text: var(--ds-point-primary-text);
    --button-primary-border: var(--ds-point-primary-border);
    --button-primary-rail: var(--ds-point-primary-tone);
    --button-primary-surface-bg: var(--button-primary-bg);
    --button-primary-surface-bg-hover: var(--button-primary-bg-hover);
    --button-primary-surface-text: var(--button-primary-text);
    --button-primary-surface-border: var(--button-primary-border);
    --button-primary-surface-rail: var(--button-primary-rail);
    --button-success-bg: var(--ds-point-success-bg);
    --button-success-bg-hover: color-mix(in srgb, var(--button-success-bg) 84%, var(--ds-point-success-tone) 16%);
    --button-success-text: var(--ds-point-success-text);
    --button-success-border: var(--ds-point-success-border);
    --button-success-rail: var(--ds-point-success-tone);
    --button-danger-bg: var(--ds-point-danger-bg);
    --button-danger-bg-hover: color-mix(in srgb, var(--button-danger-bg) 84%, var(--ds-point-danger-tone) 16%);
    --button-danger-text: var(--ds-point-danger-text);
    --button-danger-border: var(--ds-point-danger-border);
    --button-danger-rail: var(--ds-point-danger-tone);
    --button-excel-bg: var(--button-success-bg);
    --button-excel-bg-hover: var(--button-success-bg-hover);
    --button-excel-text: var(--button-success-text);
    --button-excel-border: var(--button-success-border);
    --button-excel-rail: var(--button-success-rail);
    --button-warning-bg: var(--ds-point-warning-bg);
    --button-warning-bg-hover: color-mix(in srgb, var(--button-warning-bg) 84%, var(--ds-point-warning-tone) 16%);
    --button-warning-text: var(--ds-point-warning-text);
    --button-warning-border: var(--ds-point-warning-border);
    --button-warning-rail: var(--ds-point-warning-tone);
    --button-info-bg: var(--ds-point-info-bg);
    --button-info-bg-hover: color-mix(in srgb, var(--button-info-bg) 84%, var(--ds-point-info-tone) 16%);
    --button-info-text: var(--ds-point-info-text);
    --button-info-border: var(--ds-point-info-border);
    --button-info-rail: var(--ds-point-info-tone);
    --button-search-bg: var(--ds-action-search-bg);
    --button-search-bg-hover: var(--ds-action-search-bg-hover);
    --button-search-text: var(--ds-action-search-text);
    --button-search-border: var(--ds-action-search-border);
    --button-search-rail: var(--ds-action-search-rail);
    --button-filter-toggle-bg: var(--ds-action-filter-toggle-bg);
    --button-filter-toggle-bg-hover: var(--ds-action-filter-toggle-bg-hover);
    --button-filter-toggle-text: var(--ds-action-filter-toggle-text);
    --button-filter-toggle-text-hover: var(--ds-action-filter-toggle-text-hover);
    --button-filter-toggle-border: var(--ds-action-filter-toggle-border);
    --button-filter-toggle-border-hover: var(--ds-action-filter-toggle-border-hover);
    --button-filter-toggle-rail: var(--ds-action-filter-toggle-rail);
    --button-focus-ring: 0 0 0 3px color-mix(in oklch, var(--blue-400) 40%, transparent);

    --badge-neutral-bg: var(--ds-surface-raised);
    --badge-neutral-text: var(--ds-text-secondary);
    --badge-neutral-border: var(--ds-border-default);
    --badge-primary-bg: var(--ds-point-primary-bg);
    --badge-primary-text: var(--ds-point-primary-text);
    --badge-primary-border: var(--ds-point-primary-border);
    --badge-primary-rail: var(--ds-point-primary-tone);
    --badge-success-bg: var(--ds-point-success-bg);
    --badge-success-text: var(--ds-point-success-text);
    --badge-success-border: var(--ds-point-success-border);
    --badge-success-rail: var(--ds-point-success-tone);
    --badge-danger-bg: var(--ds-point-danger-bg);
    --badge-danger-text: var(--ds-point-danger-text);
    --badge-danger-border: var(--ds-point-danger-border);
    --badge-danger-rail: var(--ds-point-danger-tone);
    --badge-warning-bg: var(--ds-point-warning-bg);
    --badge-warning-text: var(--ds-point-warning-text);
    --badge-warning-border: var(--ds-point-warning-border);
    --badge-warning-rail: var(--ds-point-warning-tone);
    --badge-info-bg: var(--ds-point-info-bg);
    --badge-info-text: var(--ds-point-info-text);
    --badge-info-border: var(--ds-point-info-border);
    --badge-info-rail: var(--ds-point-info-tone);

    --partner-status-row-bg: rgb(16 24 32);
    --partner-status-row-alt-bg: rgb(17 28 37);
    --partner-status-row-hover-bg: rgb(22 38 54);
    --partner-status-row-danger-bg: rgb(18 26 35);
    --partner-status-stack-bg: rgb(12 23 33);

    --modal-bg: var(--overlay-surface-bg);
    --modal-header-bg: var(--overlay-header-bg);
    --modal-border: var(--overlay-border);
    --modal-body-bg: var(--overlay-body-bg);
    --modal-footer-bg: var(--overlay-footer-bg);
    --modal-backdrop: var(--overlay-scrim-bg);
    --modal-shadow: var(--overlay-shadow);
    --overlay-scrim-soft-bg: rgb(3 6 10 / 52%);
    --popup-bg: var(--overlay-surface-bg);
    --popup-header-bg: var(--overlay-header-bg);
    --popup-body-bg: var(--overlay-body-bg);
    --popup-footer-bg: var(--overlay-footer-bg);
    --popup-border: var(--overlay-border);
    --popup-text: var(--overlay-body-text);
    --popup-text-muted: var(--overlay-muted-text);
    --popup-shadow: var(--overlay-shadow);
    --dropdown-bg: var(--editor-popup-bg);
    --dropdown-item-hover-bg: var(--editor-popup-hover-bg);
    --select2-bg: var(--input-bg);
    --select2-border: var(--input-border-color);
    --select2-text: var(--input-text);
    --select2-placeholder-text: var(--input-placeholder);
    --select2-dropdown-bg: var(--dropdown-bg);
    --select2-dropdown-border: var(--editor-popup-border);
    --select2-option-bg: transparent;
    --select2-option-text: var(--ds-text-secondary);
    --select2-option-hover-bg: var(--dropdown-item-hover-bg);
    --select2-option-hover-text: var(--ds-text-primary);
    --select2-option-selected-bg: var(--ds-panel-raised-bg);
    --select2-option-selected-text: var(--ds-text-primary);
    --select2-option-selected-rail: var(--badge-primary-rail);
    --select2-choice-bg: var(--ds-panel-raised-bg);
    --select2-choice-text: var(--ds-text-primary);
    --select2-choice-border: var(--badge-primary-border);
    --select2-choice-rail: var(--badge-primary-rail);
    --select2-choice-remove-text: var(--ds-text-muted);
    --select2-disabled-bg: var(--input-bg-disabled);
    --select2-disabled-text: var(--ds-text-disabled);
    --utility-selected-bg: var(--ds-panel-raised-bg);
    --utility-selected-text: var(--ds-text-primary);
    --utility-selected-border: var(--badge-primary-border);
    --utility-selected-rail: var(--badge-primary-rail);
    --utility-danger-hover-bg: var(--ds-panel-raised-bg);
    --utility-danger-hover-text: var(--badge-danger-text);
    --editable-text-bg: var(--ds-panel-raised-bg);
    --editable-text-border: var(--ds-border-default);
    --editable-text-text: var(--ds-text-secondary);
    --editable-text-hover-bg: var(--ds-panel-hover-bg);
    --editable-text-hover-border: var(--ds-brand-soft-border);
    --editable-text-hover-text: var(--ds-text-primary);
    --editable-text-empty-bg: var(--ds-panel-bg);
    --editable-text-empty-text: var(--ds-text-muted);
    --config-chip-bg: var(--utility-selected-bg);
    --config-chip-text: var(--utility-selected-text);
    --config-chip-border: var(--utility-selected-border);
    --config-chip-rail: var(--utility-selected-rail);
    --drag-drop-bg: var(--ds-panel-raised-bg);
    --drag-drop-border: var(--ds-border-default);
    --drag-drop-hover-bg: var(--ds-panel-hover-bg);
    --drag-drop-hover-border: var(--ds-brand-soft-border);
    --drag-drop-active-bg: var(--ds-panel-raised-bg);
    --drag-drop-active-border: var(--badge-primary-border);
    --drag-drop-active-rail: var(--badge-primary-rail);
    --drag-drop-icon: var(--ds-text-muted);
    --drag-drop-active-icon: var(--ds-brand-soft-text);
    --identity-level-bg: var(--badge-info-bg);
    --identity-level-border: var(--badge-info-border);
    --identity-level-text: var(--badge-info-text);
    --identity-level-rail: var(--badge-info-rail);
    --identity-partner-bg: var(--badge-primary-bg);
    --identity-partner-border: var(--badge-primary-border);
    --identity-partner-text: var(--badge-primary-text);
    --identity-partner-rail: var(--badge-primary-rail);
    --identity-grade-bg: var(--badge-info-bg);
    --identity-grade-border: var(--badge-info-border);
    --identity-grade-text: var(--badge-info-text);
    --identity-grade-rail: var(--badge-info-rail);
    --tooltip-bg: var(--editor-popup-bg);
    --tooltip-text: var(--editor-text);

    --filter-bg: var(--filter-control-panel-bg);
    --filter-inner-bg: var(--filter-control-panel-inner-bg);
    --filter-border: var(--filter-control-panel-border);

    --focus-visible-outline: 2px solid var(--ds-brand);
    --shadow-focus-primary: var(--button-focus-ring);
    --shadow-modal: var(--modal-shadow);
    --shadow-dropdown: 0 12px 32px rgb(0 0 0 / 42%);
    --shadow-color-black-rgb: 0, 0, 0;

    /* Legacy custom compatibility */
    --color-background: var(--shade-50);
    --color-surface: var(--shade-200);
    --color-surface-variant: var(--shade-300);
    --color-surface-elevated: var(--shade-400);
    --color-surface-hover: var(--shade-300);
    --surface-0: var(--shade-50);
    --surface-1: var(--shade-100);
    --surface-2: var(--shade-200);
    --surface-3: var(--shade-300);
    --surface-4: var(--shade-400);
    --surface-5: var(--shade-500);
    --surface-6: var(--shade-600);
    --surface-7: var(--shade-700);

    --admin-surface: var(--ds-surface-1);
    --admin-surface-subtle: var(--ds-surface-2);
    --admin-text-strong: var(--ds-text-primary);
    --admin-text-muted: var(--ds-text-tertiary);
    --admin-bg-hover: var(--ds-surface-hover);
    --admin-border: var(--ds-border-default);

    --color-gray-50: var(--ds-gray-950);
    --color-gray-100: var(--ds-gray-900);
    --color-gray-200: var(--ds-gray-850);
    --color-gray-300: var(--ds-gray-750);
    --color-gray-400: var(--ds-gray-600);
    --color-gray-500: var(--ds-gray-500);
    --color-gray-600: var(--ds-gray-400);
    --color-gray-700: var(--ds-gray-300);
    --color-gray-800: var(--ds-gray-200);
    --color-gray-900: var(--ds-gray-100);
    --color-white: var(--ds-white);
    --color-black: var(--ds-black);
    --color-black-rgb: 0, 0, 0;

    --color-text-heading: var(--ds-text-primary);
    --color-text-link: var(--blue-300);
    --color-text-link-hover: var(--blue-250);
    --color-text-on-primary: var(--ds-on-brand);

    --color-border-strong: var(--ds-border-strong);

    /* RESOLVED-TOKEN CONTRACT (JS/canvas consumers) — blue-300 brand hover. */
    --color-primary-600-rgb: 114, 175, 255;

    --color-success: var(--ds-success);
    --color-success-800: var(--ds-green-800);
    --color-success-rgb: 69, 186, 91;
    --color-success-text: var(--ds-success-soft-text);
    --color-success-bg: var(--ds-success-soft-bg);

    --color-danger: var(--ds-danger);
    --color-danger-800: var(--ds-red-800);
    --color-danger-500-rgb: 239, 101, 105;
    --color-danger-text: var(--ds-danger-soft-text);

    --color-warning: var(--ds-warning);
    --color-warning-600-rgb: 253, 153, 21;
    --color-warning-text: var(--ds-warning-soft-text);
    --color-warning-dark: var(--ds-amber-700);

    --color-info: var(--ds-info);
    --color-info-500-rgb: 75, 181, 201;

    --color-blue-100: var(--ds-cyan-850);
    --color-blue-400: var(--ds-cyan-400);
    --color-blue-500: var(--chart-palette-1);
    --color-blue-700: var(--ds-cyan-300);
    --color-green-100: var(--ds-green-850);
    --color-green-500: var(--ds-green-600);
    --color-green-700: var(--ds-green-300);
    --color-blue-500-rgb: 67, 148, 255;
    --color-blue-400-rgb: 67, 148, 255;
    --color-green-500-rgb: 69, 186, 91;
    --color-red-500-rgb: 239, 101, 105;
    --color-amber-400-rgb: 254, 200, 75;
    --color-violet-500-rgb: 105, 127, 233;
    --color-cyan-500-rgb: 75, 181, 201;

    --color-purple-300: var(--ds-purple-300);
    --color-purple-400: var(--ds-purple-300);
    --color-purple-500: var(--ds-purple-500);
    --color-purple-600: var(--ds-purple-700);
    --color-purple-700: var(--ds-purple-700);
    --color-purple-500-rgb: 105, 127, 233;

    --color-pink-50: var(--ds-red-900);
    --color-pink-400: var(--ds-red-300);
    --color-pink-500: var(--chart-palette-5);
    --color-orange-500: var(--ds-amber-500);
    --color-orange-600: var(--ds-amber-600);
    --color-orange-800: var(--ds-amber-800);
    --color-orange-900: var(--ds-amber-900);
    --color-orange-100: var(--ds-amber-850);
    --color-emoney: var(--ds-amber-300);
    --color-info-cyan-soft-bg: var(--ds-info-soft-bg);
    --color-info-cyan-soft-border: var(--ds-info-soft-border);

    --color-badge-pink: var(--template-chip-10-bg, var(--badge-danger-bg));
    --color-badge-red: var(--template-chip-02-bg, var(--badge-danger-bg));
    --color-badge-orange: var(--template-chip-12-bg, var(--badge-warning-bg));
    --color-badge-green: var(--template-chip-03-bg, var(--badge-success-bg));
    --color-badge-skyblue: var(--template-chip-09-bg, var(--badge-info-bg));
    --color-badge-purple: var(--template-chip-11-bg, var(--badge-primary-bg));
    --color-badge-gray: var(--badge-neutral-bg);
    --color-badge-lightgreen: var(--template-chip-15-bg, var(--badge-success-bg));
    --color-badge-yellow: var(--template-chip-04-bg, var(--badge-warning-bg));
    --color-badge-darkblue: var(--template-chip-14-bg, var(--badge-info-bg));
    --color-badge-brown: var(--template-chip-12-bg, var(--badge-warning-bg));

    --color-game-handicap: color-mix(in oklch, var(--ds-red-500) 11%, var(--ds-surface-1));
    --color-game-underover: color-mix(in oklch, var(--ds-purple-500) 12%, var(--ds-surface-1));
    --color-game-waiting: color-mix(in oklch, var(--ds-warning) 12%, var(--ds-surface-1));
    --color-game-finished: var(--ds-surface-2);
    --color-game-bet-closed: color-mix(in oklch, var(--ds-danger) 10%, var(--ds-surface-1));

    --member-marker-black: #98a3ae;
    --member-marker-pink: #db8abb;
    --member-marker-red: #ee6f7f;
    --member-marker-orange: #e7a35a;
    --member-marker-green: #62c98d;
    --member-marker-white: #dbe2e8;
    --member-marker-blue: #72c6ea;
    --member-marker-purple: #b59cff;
    --member-marker-peach: #d8b85f;
    --member-marker-gray: #b0b8c1;
    --member-marker-lightgreen: #a8cf70;
    --member-marker-yellow: #e4c56e;
    --member-marker-darkblue: #8fb3ff;
    --member-marker-brown: #bd8b5e;
    --member-color-cell-rail-strength: 42%;
    --member-color-cell-surface-strength: 12%;
    --member-color-cell-state-strength: 14%;
    --member-color-control-surface-strength: 10%;
    --member-color-option-surface-strength: 18%;
    --member-color-option-active-strength: 28%;
    --ds-member-identity-level-bg: var(--identity-level-bg);
    --ds-member-identity-level-border: var(--identity-level-border);
    --ds-member-identity-level-text: var(--identity-level-text);
    --ds-member-identity-level-highlight: var(--identity-level-rail);
    --ds-member-identity-memo-bg: var(--badge-warning-bg, var(--ds-panel-raised-bg));
    --ds-member-identity-memo-border: var(--badge-warning-border, var(--state-warning-soft-border));
    --ds-member-identity-memo-text: var(--badge-warning-text, var(--color-text-primary));
    --ds-member-identity-memo-rail: var(--badge-warning-rail, var(--state-warning-soft-border));
    --ds-member-identity-memo-icon-bg: var(--admin-data-chip-bg, var(--ds-panel-raised-bg));
    --ds-member-identity-memo-icon-text: var(--badge-warning-text, var(--color-text-primary));
    --ds-member-identity-personal-bg: var(--badge-success-bg, var(--state-success-soft-bg));
    --ds-member-identity-personal-border: var(--badge-success-border, var(--state-success-soft-border));
    --ds-member-identity-personal-text: var(--badge-success-text, var(--color-text-primary));
    --ds-member-identity-personal-rail: var(--badge-success-rail, var(--state-success-soft-border));
    --ds-member-identity-partner-border: var(--identity-partner-border);
    --ds-member-identity-partner-bg: var(--identity-partner-bg);
    --ds-member-identity-partner-text: var(--identity-partner-text);
    --ds-member-identity-grade-border: var(--identity-grade-border);
    --ds-member-identity-grade-bg: var(--identity-grade-bg);
    --ds-member-identity-grade-text: var(--identity-grade-text);
    --ds-member-identity-partner-memo-border: var(--identity-partner-border);
    --ds-member-identity-partner-memo-bg: var(--identity-partner-bg);
    --ds-member-identity-partner-memo-text: var(--identity-partner-text);
    --ds-member-info-color-pink-bg: var(--template-chip-10-bg, var(--badge-danger-bg));
    --ds-member-info-color-orange-bg: var(--template-chip-12-bg, var(--badge-warning-bg));
    --ds-member-info-color-blue-bg: var(--template-chip-09-bg, var(--badge-info-bg));
    --ds-member-info-color-purple-bg: var(--template-chip-11-bg, var(--badge-primary-bg));
    --ds-member-info-color-peach-bg: var(--template-chip-08-bg, var(--badge-warning-bg));
    --ds-member-info-color-lightgreen-bg: var(--template-chip-15-bg, var(--badge-success-bg));
    --ds-member-info-color-yellow-bg: var(--template-chip-04-bg, var(--badge-warning-bg));
    --ds-member-info-color-darkblue-bg: var(--template-chip-14-bg, var(--badge-info-bg));
    --ds-member-info-color-brown-bg: var(--template-chip-12-bg, var(--badge-warning-bg));
    --ds-member-info-swatch-black-bg: var(--ds-surface-3);
    --ds-member-info-swatch-black-fg: var(--ds-text-primary);
    --ds-member-info-swatch-pink-bg: var(--template-chip-10-bg, var(--badge-danger-bg));
    --ds-member-info-swatch-pink-fg: var(--template-chip-10-text, var(--badge-danger-text));
    --ds-member-info-swatch-red-bg: var(--template-chip-02-bg, var(--badge-danger-bg));
    --ds-member-info-swatch-red-fg: var(--template-chip-02-text, var(--badge-danger-text));
    --ds-member-info-swatch-orange-bg: var(--template-chip-12-bg, var(--badge-warning-bg));
    --ds-member-info-swatch-orange-fg: var(--template-chip-12-text, var(--badge-warning-text));
    --ds-member-info-swatch-green-bg: var(--template-chip-03-bg, var(--badge-success-bg));
    --ds-member-info-swatch-green-fg: var(--template-chip-03-text, var(--badge-success-text));
    --ds-member-info-swatch-white-bg: var(--ds-panel-raised-bg);
    --ds-member-info-swatch-white-fg: var(--ds-text-primary);
    --ds-member-info-swatch-blue-bg: var(--template-chip-09-bg, var(--badge-info-bg));
    --ds-member-info-swatch-blue-fg: var(--template-chip-09-text, var(--badge-info-text));
    --ds-member-info-swatch-purple-bg: var(--template-chip-11-bg, var(--ds-point-purple-bg));
    --ds-member-info-swatch-purple-fg: var(--template-chip-11-text, var(--ds-point-purple-text));
    --ds-member-info-swatch-peach-bg: var(--template-chip-08-bg, var(--badge-warning-bg));
    --ds-member-info-swatch-peach-fg: var(--template-chip-08-text, var(--badge-warning-text));
    --ds-member-info-swatch-gray-bg: var(--badge-neutral-bg);
    --ds-member-info-swatch-gray-fg: var(--badge-neutral-text);
    --ds-member-info-swatch-lightgreen-bg: var(--template-chip-15-bg, var(--badge-success-bg));
    --ds-member-info-swatch-lightgreen-fg: var(--template-chip-15-text, var(--badge-success-text));
    --ds-member-info-swatch-yellow-bg: var(--template-chip-04-bg, var(--badge-warning-bg));
    --ds-member-info-swatch-yellow-fg: var(--template-chip-04-text, var(--badge-warning-text));
    --ds-member-info-swatch-darkblue-bg: var(--template-chip-14-bg, var(--badge-primary-bg));
    --ds-member-info-swatch-darkblue-fg: var(--template-chip-14-text, var(--badge-primary-text));
    --ds-member-info-swatch-brown-bg: var(--template-chip-12-bg, var(--badge-warning-bg));
    --ds-member-info-swatch-brown-fg: var(--template-chip-12-text, var(--badge-warning-text));
    --ds-member-detail-section-header-bg: var(--ds-panel-header-bg);
    --ds-member-detail-field-focus-ring: var(--filter-control-field-focus-ring);
    --ds-member-detail-state-caution-bg: var(--ds-panel-raised-bg);
    --ds-member-detail-state-caution-border: var(--ds-panel-border);
    --ds-member-detail-state-caution-text: var(--ds-text-primary);
    --ds-member-detail-state-caution-rail: color-mix(
        in srgb,
        var(--ds-text-muted) 94%,
        var(--data-caution) 6%
    );
    --ds-member-detail-state-danger-bg: var(--ds-panel-raised-bg);
    --ds-member-detail-state-danger-border: var(--ds-panel-border);
    --ds-member-detail-state-danger-text: var(--ds-text-primary);
    --ds-member-detail-state-danger-rail: color-mix(
        in srgb,
        var(--ds-text-muted) 92%,
        var(--data-negative) 8%
    );
    --ds-member-detail-state-purple-bg: var(--template-chip-11-bg, var(--ds-point-purple-bg));
    --ds-member-detail-state-purple-border: var(--template-chip-11-border, var(--ds-point-purple-border));
    --ds-member-detail-state-purple-text: var(--template-chip-11-text, var(--ds-point-purple-text));
    --ds-member-detail-state-purple-rail: var(--template-chip-11-tone, var(--ds-point-purple-tone));
    --ds-member-detail-selection-border: rgb(161 201 214 / 0.392157);
    --ds-member-detail-soft-panel-bg: var(--ds-panel-bg);
    --ds-member-detail-soft-panel-border: var(--ds-panel-border);
    --ds-member-detail-faint-panel-bg: var(--ds-panel-raised-bg);
    --ds-member-detail-muted-panel-bg: var(--ds-panel-header-bg);
    --ds-member-detail-neutral-border: var(--ds-panel-border);
    --ds-member-detail-header-border: var(--ds-panel-border);
    --ds-member-detail-divider-border: var(--ds-member-detail-selection-border);
    --ds-member-detail-section-border: var(--ds-member-detail-selection-border);
    --ds-member-detail-section-border-bottom: var(--ds-member-detail-selection-border);
    --ds-member-detail-section-bg: var(--ds-panel-header-bg);
    --ds-member-detail-section-icon-bg: var(--ds-neutral-soft-bg);
    --ds-member-detail-control-border: var(--ds-panel-border);
    --ds-member-detail-control-selected-border: var(--ds-member-detail-selection-border);
    --ds-member-detail-control-selected-bg: var(--ds-panel-hover-bg);
    --ds-member-personal-option-muted-accent: rgb(138 148 158 / 1);
    --ds-member-personal-option-info-rail: rgb(102 190 206 / 1);
    --ds-member-personal-option-caution-rail: var(--data-caution-indicator, color-mix(in srgb, var(--ds-text-muted, var(--color-text-secondary)) 94%, var(--data-caution, var(--color-warning-400)) 6%));
    --ds-member-personal-option-active-border: rgb(174 204 217 / 0.235294);
    --ds-member-personal-tab-hover-bg: var(--ds-panel-hover-bg);
    --ds-member-personal-source-personal-bg: var(--ds-neutral-soft-bg);
    --ds-member-personal-source-boundary-border: rgb(176 184 193 / 0.5);
    --ds-member-personal-source-personal-border: var(--ds-member-personal-source-boundary-border);
    --ds-member-personal-source-group-bg: var(--ds-neutral-soft-bg);
    --ds-member-personal-source-group-border: var(--ds-member-personal-source-boundary-border);
    --ds-member-personal-source-system-bg: var(--ds-neutral-soft-bg);
    --ds-member-personal-source-system-border: var(--ds-member-personal-source-boundary-border);
    --ds-member-personal-source-personal-hover-bg: var(--ds-panel-hover-bg);
    --ds-member-personal-source-personal-hover-border: var(--ds-accent-active-border);
    --ds-member-personal-source-personal-hover-ring: var(--filter-control-field-focus-ring);
    --ds-member-personal-source-legend-bg: var(--ds-panel-raised-bg);
    --ds-member-personal-source-legend-border: var(--ds-panel-border);
    --ds-member-personal-boundary-border: rgb(200 208 218 / 0.46);
    --ds-member-personal-separator-border: var(--ds-panel-border);
    --ds-member-personal-active-border: rgb(102 190 206 / 0.62);
    --ds-member-personal-icon-boundary-border: rgb(176 184 193 / 0.5);
    --ds-member-personal-option-border: var(--ds-member-personal-boundary-border);
    --ds-member-personal-option-shell-bg: var(--surface-1);
    --ds-member-personal-option-hero-icon-border: var(--ds-member-personal-icon-boundary-border);
    --ds-member-personal-option-legend-item-bg: var(--ds-panel-raised-bg);
    --ds-member-personal-option-subtab-group-border: var(--ds-member-personal-boundary-border);
    --ds-member-personal-option-subtab-group-bg: var(--ds-panel-bg);
    --ds-member-personal-option-subtab-label-bg: var(--ds-neutral-soft-bg);
    --ds-member-personal-option-subtab-border: var(--ds-member-personal-boundary-border);
    --ds-member-personal-option-subtab-active-bg: var(--ds-panel-hover-bg);
    --ds-member-personal-option-subtab-active-border: var(--ds-member-personal-active-border);
    --ds-member-personal-option-subtab-active-text: var(--ds-text-primary);
    --ds-member-personal-control-border: var(--ds-member-personal-boundary-border);
    --ds-member-personal-control-radio-hover-border: var(--ds-member-personal-active-border);
    --ds-member-personal-control-radio-hover-bg: var(--ds-panel-hover-bg);
    --ds-member-personal-control-radio-checked-border: var(--ds-member-personal-active-border);
    --ds-member-personal-control-radio-checked-text: var(--ds-text-primary);
    --ds-member-personal-control-radio-checked-ring: inset 2px 0 0 var(--ds-member-personal-option-info-rail);
    --ds-member-personal-control-switch-border: var(--ds-member-personal-boundary-border);
    --ds-member-personal-control-switch-checked-border: var(--ds-member-personal-active-border);
    --ds-member-personal-control-switch-checked-ring: inset 0 0 0 1px var(--ds-member-personal-active-border);
    --ds-member-personal-control-focus-ring: var(--filter-control-field-focus-ring);
    --ds-member-personal-interaction-border-subtle: var(--ds-accent-active-border);
    --ds-member-personal-interaction-border-soft: var(--ds-accent-active-border);
    --ds-member-personal-interaction-border-medium: var(--ds-accent-active-border);
    --ds-member-personal-interaction-border-chip: var(--ds-accent-active-border);
    --ds-member-personal-interaction-border-strong: var(--ds-accent-active-border);
    --ds-member-personal-interaction-border-focus: var(--ds-accent-active-border);
    --ds-member-personal-interaction-border-focus-strong: var(--ds-accent-active-border);
    --ds-member-personal-interaction-surface-faint: var(--ds-panel-hover-bg);
    --ds-member-personal-interaction-surface-soft: var(--ds-panel-hover-bg);
    --ds-member-personal-interaction-surface-medium: var(--ds-panel-hover-bg);
    --ds-member-personal-interaction-ring-compact: inset 2px 0 0 var(--ds-member-personal-option-info-rail);
    --ds-member-personal-interaction-ring-faint: inset 2px 0 0 var(--ds-member-personal-option-info-rail);
    --ds-member-personal-interaction-ring-faint-strong: var(--filter-control-field-focus-ring);
    --ds-member-personal-interaction-ring-subtle: var(--filter-control-field-focus-ring);
    --ds-member-personal-interaction-ring-focus: var(--filter-control-field-focus-ring);
    --ds-member-personal-interaction-ring-strong: var(--filter-control-field-focus-ring);
    --ds-member-personal-interaction-inset-faint: inset 2px 0 0 var(--ds-member-personal-option-info-rail);
    --ds-member-personal-interaction-inset-soft: inset 2px 0 0 var(--ds-member-personal-option-info-rail);
    --ds-member-personal-interaction-inset-subtle: inset 2px 0 0 var(--ds-member-personal-option-info-rail);
    --ds-member-personal-interaction-inset-focus: inset 2px 0 0 var(--ds-member-personal-option-info-rail);
    --ds-member-personal-interaction-switch-focus-ring: var(--filter-control-field-focus-ring);
    --ds-member-personal-interaction-order-focus-ring: var(--filter-control-field-focus-ring);
    --ds-member-popup-boundary-border: rgb(200 208 218 / 0.46);
    --ds-member-popup-separator-border: var(--ds-panel-border, var(--color-border-secondary));
    --ds-member-popup-active-border: rgb(102 190 206 / 0.62);
    --ds-member-popup-icon-boundary-border: rgb(176 184 193 / 0.5);
    --ds-member-popup-border: var(--ds-member-popup-boundary-border);
    --ds-member-popup-header-bg: var(--ds-panel-raised-bg, var(--surface-2));
    --ds-member-popup-icon-border: var(--ds-member-popup-icon-boundary-border);
    --ds-member-popup-meta-strong-text: var(--ds-brand-soft-text, var(--color-primary-300));
    --ds-member-popup-body-bg: var(--ds-panel-bg, var(--surface-1));
    --ds-member-popup-primary-border: var(--ds-member-popup-active-border);
    --ds-member-popup-primary-hover-border: var(--ds-member-popup-active-border);
    --ds-member-popup-primary-hover-bg: var(--ds-panel-hover-bg, var(--surface-3));
    --ds-member-popup-card-state-border: var(--ds-member-popup-active-border);
    --ds-member-popup-card-state-bg: var(--ds-panel-hover-bg, var(--surface-3));
    --ds-member-popup-card-state-ring: inset 3px 0 0 var(--ds-brand-soft-text, var(--color-primary-300)), 0 0 0 1px var(--ds-member-popup-focus-ring);
    --ds-member-popup-card-selected-title: var(--ds-brand-soft-text, var(--color-primary-300));
    --ds-member-popup-info-border: var(--ds-member-popup-separator-border);
    --ds-member-popup-info-bg: var(--color-surface);
    --ds-member-popup-source-link-border: var(--ds-member-popup-active-border);
    --ds-member-popup-source-link-bg: var(--ds-neutral-soft-bg, var(--surface-3));
    --ds-member-popup-source-link-text: var(--ds-brand-soft-text, var(--color-primary-300));
    --ds-member-popup-actions-bg: var(--ds-panel-raised-bg, var(--surface-2));
    --ds-member-popup-focus-ring: rgb(65 147 255 / 0.243137);
    --ds-member-order-surface: var(--ds-panel-bg, var(--surface-1));
    --ds-member-order-header-bg: var(--ds-panel-raised-bg, var(--surface-2));
    --ds-member-order-boundary-border: rgb(200 208 218 / 0.46);
    --ds-member-order-separator-border: var(--ds-panel-border, var(--color-border-secondary));
    --ds-member-order-active-border: rgb(102 190 206 / 0.62);
    --ds-member-order-icon-border: var(--ds-member-order-boundary-border);
    --ds-member-order-item-shadow: none;
    --ds-member-order-item-state-border: var(--ds-member-order-active-border);
    --ds-member-order-item-state-bg: var(--ds-panel-hover-bg, var(--surface-3));
    --ds-member-order-item-state-ring: inset 3px 0 0 var(--ds-member-order-accent-rail);
    --ds-member-order-label-text: var(--ds-text-secondary, var(--color-text-secondary));
    --ds-member-order-badge-border: var(--color-border-primary);
    --ds-member-order-badge-text: var(--ds-text-primary, var(--color-text-primary));
    --ds-member-order-control-state-border: var(--ds-member-order-active-border);
    --ds-member-order-control-state-text: var(--ds-text-primary, var(--color-text-primary));
    --ds-member-order-control-state-ring: none;
    --ds-member-order-control-danger-bg: var(--ds-panel-hover-bg, var(--surface-3));
    --ds-member-order-disabled-bg: var(--color-surface);
    --ds-member-order-empty-border: var(--ds-member-order-boundary-border);
    --ds-member-order-empty-bg: var(--ds-panel-raised-bg, var(--surface-2));
    --ds-member-order-empty-icon-text: var(--ds-member-order-accent-rail);
    --ds-member-order-info-rail: var(--ds-member-order-accent-rail);
    --ds-member-order-info-bg: var(--ds-panel-raised-bg, var(--surface-2));
    --ds-member-order-input-border: var(--ds-member-order-boundary-border);
    --ds-member-order-input-focus-border: var(--ds-member-order-active-border);
    --ds-member-order-input-focus-ring: var(--filter-control-field-focus-ring);
    --ds-member-order-thumb-shadow: none;
    --ds-member-order-thumb-img-border: var(--ds-member-order-boundary-border);
    --ds-member-order-primary-border: var(--ds-member-order-active-border);
    --ds-member-order-primary-hover-border: var(--ds-member-order-active-border);
    --ds-member-order-primary-hover-bg: var(--ds-panel-hover-bg, var(--surface-3));
    --ds-member-order-primary-hover-ring: inset 3px 0 0 var(--ds-member-order-accent-rail);
    --ds-member-order-cancel-hover-border: var(--ds-member-order-active-border);
    --ds-member-order-cancel-hover-text: var(--ds-text-primary, var(--color-text-primary));
    --ds-member-order-accent-rail: rgb(138 148 158 / 1);
    --ds-member-order-danger-indicator: rgb(239 101 105 / 1);
    --ds-member-recommend-card-bg: var(--ds-panel-bg);
    --ds-member-recommend-focus-ring: var(--filter-control-field-focus-ring);
    --ds-member-status-neutral-accent: var(--badge-neutral-border);
    --ds-member-status-neutral-bg: var(--badge-neutral-bg);
    --ds-member-status-neutral-border: var(--badge-neutral-border);
    --ds-member-status-neutral-text: var(--badge-neutral-text);
    --ds-member-status-success-accent: var(--badge-success-rail);
    --ds-member-status-success-bg: var(--badge-success-bg);
    --ds-member-status-success-border: var(--badge-success-border);
    --ds-member-status-success-text: var(--badge-success-text);
    --ds-member-status-warning-accent: var(--badge-warning-rail);
    --ds-member-status-warning-bg: var(--badge-warning-bg);
    --ds-member-status-warning-border: var(--badge-warning-border);
    --ds-member-status-warning-text: var(--badge-warning-text);
    --ds-member-status-danger-accent: var(--badge-danger-rail);
    --ds-member-status-danger-bg: var(--badge-danger-bg);
    --ds-member-status-danger-border: var(--badge-danger-border);
    --ds-member-status-danger-text: var(--badge-danger-text);
    --ds-member-feedback-info-accent: var(--data-info-indicator);
    --ds-member-feedback-info-bg: var(--ds-panel-raised-bg);
    --ds-member-feedback-info-border: var(--data-info-soft-border);
    --ds-member-feedback-info-text: var(--data-info-soft-text);
    --ds-member-feedback-success-accent: var(--data-positive-indicator);
    --ds-member-feedback-success-bg: var(--ds-panel-raised-bg);
    --ds-member-feedback-success-border: var(--data-positive-soft-border);
    --ds-member-feedback-success-text: var(--data-positive-soft-text);
    --ds-member-feedback-danger-accent: var(--ds-member-detail-state-danger-rail);
    --ds-member-feedback-danger-bg: var(--ds-member-detail-state-danger-bg);
    --ds-member-feedback-danger-border: var(--ds-member-detail-state-danger-border);
    --ds-member-feedback-danger-text: var(--ds-member-detail-state-danger-text);
    --ds-member-action-secondary-bg: var(--ds-panel-raised-bg);
    --ds-member-action-secondary-border: var(--ds-panel-border);
    --ds-member-action-secondary-text: var(--ds-text-primary);
    --ds-member-action-danger-bg: var(--ds-member-detail-state-danger-bg);
    --ds-member-action-danger-border: var(--ds-member-detail-state-danger-border);
    --ds-member-action-danger-text: var(--ds-member-detail-state-danger-text);
    --ds-member-funds-summary-bg: var(--ds-panel-hover-bg);
    --ds-member-funds-summary-border: var(--ds-member-detail-selection-border);
    --ds-member-funds-chip-hover-bg: var(--ds-panel-hover-bg);
    --ds-member-funds-chip-hover-border: var(--ds-member-detail-selection-border);
    --ds-member-funds-chip-active-bg: var(--ds-panel-hover-bg);
    --ds-member-funds-chip-focus-bg: var(--ds-panel-hover-bg);
    --ds-member-funds-chip-focus-border: var(--ds-member-detail-selection-border);
    --ds-member-funds-chip-focus-ring: var(--filter-control-field-focus-ring);
    --ds-member-account-history-bg: var(--ds-panel-bg);
    --ds-member-account-count-bg: var(--ds-neutral-soft-bg);
    --ds-member-account-count-border: var(--ds-member-detail-selection-border);
    --ds-member-account-current-border: var(--ds-panel-border-muted);
    --ds-member-account-item-border: var(--ds-panel-border-muted);
    --ds-member-account-item-bg: var(--ds-bg-app);
    --ds-member-account-value-old-bg: var(--ds-panel-raised-bg);
    --ds-member-account-value-new-bg: var(--ds-panel-hover-bg);
    --ds-member-detail-money-quiet-label: color-mix(in srgb, var(--ds-text-secondary) 70%, var(--ds-member-detail-money-quiet-rail) 30%);
    --ds-member-detail-money-link-bg: var(--ds-panel-hover-bg);
    --ds-member-tab-focus-ring: var(--filter-control-field-focus-ring);
    --ds-member-detail-table-clip-bg: var(--ds-panel-hover-bg);
    --ds-member-detail-scrollbar-thumb: var(--ds-member-detail-selection-border);
    --ds-member-detail-scroll-shadow-top: color-mix(in srgb, var(--ds-text-primary) 18%, transparent);
    --ds-member-detail-scroll-shadow-bottom: color-mix(in srgb, var(--ds-text-primary) 14%, transparent);
    --ds-member-tab-active-glow: var(--filter-control-field-focus-ring);
    --ds-member-tab-hover-bg: var(--ds-panel-hover-bg);
    --ds-member-tab-active-bg: var(--ds-panel-hover-bg);
    --ds-member-memo-value-text: var(--ds-text-primary);
    --ds-member-color-option-surface: var(--ds-panel-raised-bg);
    --ds-member-color-option-row-bg: rgb(22 27 33 / 0.854902);
    --ds-member-color-option-row-active-bg: rgb(27 32 39 / 0.772549);
    --ds-member-color-option-row-bg-black: rgb(39 45 53 / 1);
    --ds-member-color-option-row-active-bg-black: rgb(53 59 67 / 1);
    --ds-member-color-option-row-bg-pink: rgb(51 40 55 / 1);
    --ds-member-color-option-row-active-bg-pink: rgb(72 52 71 / 1);
    --ds-member-color-option-row-bg-red: rgb(54 36 44 / 1);
    --ds-member-color-option-row-active-bg-red: rgb(77 45 54 / 1);
    --ds-member-color-option-row-bg-orange: rgb(53 45 37 / 1);
    --ds-member-color-option-row-active-bg-orange: rgb(75 59 44 / 1);
    --ds-member-color-option-row-bg-green: rgb(29 52 47 / 1);
    --ds-member-color-option-row-active-bg-green: rgb(38 70 58 / 1);
    --ds-member-color-option-row-bg-white: rgb(51 56 63 / 1);
    --ds-member-color-option-row-active-bg-white: rgb(72 77 84 / 1);
    --ds-member-color-option-row-bg-blue: rgb(32 51 63 / 1);
    --ds-member-color-option-row-active-bg-blue: rgb(42 69 84 / 1);
    --ds-member-color-option-row-bg-purple: rgb(44 44 67 / 1);
    --ds-member-color-option-row-active-bg-purple: rgb(61 57 90 / 1);
    --ds-member-color-option-row-bg-peach: rgb(50 49 38 / 1);
    --ds-member-color-option-row-active-bg-peach: rgb(71 65 45 / 1);
    --ds-member-color-option-row-bg-gray: rgb(43 49 56 / 1);
    --ds-member-color-option-row-active-bg-gray: rgb(59 65 73 / 1);
    --ds-member-color-option-row-bg-lightgreen: rgb(42 53 41 / 1);
    --ds-member-color-option-row-active-bg-lightgreen: rgb(57 72 50 / 1);
    --ds-member-color-option-row-bg-yellow: rgb(53 51 41 / 1);
    --ds-member-color-option-row-active-bg-yellow: rgb(74 69 49 / 1);
    --ds-member-color-option-row-bg-darkblue: rgb(37 48 67 / 1);
    --ds-member-color-option-row-active-bg-darkblue: rgb(50 64 90 / 1);
    --ds-member-color-option-row-bg-brown: rgb(46 41 38 / 1);
    --ds-member-color-option-row-active-bg-brown: rgb(63 53 45 / 1);
    --ds-member-detail-money-quiet-rail: color-mix(in srgb, var(--ds-text-muted) 76%, var(--ds-panel-border) 24%);
    --ds-member-detail-color-label-default: var(--ds-text-primary);
    --ds-member-detail-color-label-pink: var(--template-chip-10-text, var(--member-marker-pink));
    --ds-member-detail-color-label-red: var(--template-chip-02-text, var(--member-marker-red));
    --ds-member-detail-color-label-orange: var(--template-chip-12-text, var(--member-marker-orange));
    --ds-member-detail-color-label-green: var(--template-chip-03-text, var(--member-marker-green));
    --ds-member-detail-color-label-blue: var(--template-chip-09-text, var(--member-marker-blue));
    --ds-member-detail-color-label-purple: var(--template-chip-11-text, var(--member-marker-purple));
    --ds-member-detail-color-label-peach: var(--template-chip-08-text, var(--member-marker-peach));
    --ds-member-detail-color-label-gray: var(--badge-neutral-text);
    --ds-member-detail-color-label-lightgreen: var(--template-chip-15-text, var(--member-marker-lightgreen));
    --ds-member-detail-color-label-yellow: var(--template-chip-04-text, var(--member-marker-yellow));
    --ds-member-detail-color-label-darkblue: var(--template-chip-14-text, var(--member-marker-darkblue));
    --ds-member-detail-color-label-brown: var(--template-chip-12-text, var(--member-marker-brown));

    --color-status-primary-soft-bg: var(--state-primary-soft-bg);
    --color-status-primary-soft-text: var(--state-primary-soft-text);
    --color-status-primary-soft-border: var(--state-primary-soft-border);
    --color-status-info-soft-bg: var(--state-info-soft-bg);
    --color-status-info-soft-text: var(--state-info-soft-text);
    --color-status-info-soft-border: var(--state-info-soft-border);
    --color-status-success-soft-bg: var(--state-success-soft-bg);
    --color-status-success-soft-text: var(--state-success-soft-text);
    --color-status-success-soft-border: var(--state-success-soft-border);
    --color-status-danger-soft-bg: var(--state-danger-soft-bg);
    --color-status-danger-soft-text: var(--state-danger-soft-text);
    --color-status-danger-soft-border: var(--state-danger-soft-border);
    --color-status-warning-soft-bg: var(--state-warning-soft-bg);
    --color-status-warning-soft-text: var(--state-warning-soft-text);
    --color-status-warning-soft-border: var(--state-warning-soft-border);
    --color-status-neutral-soft-bg: var(--state-neutral-soft-bg);

    --color-search-shell-inner-bg: var(--filter-inner-bg);
    --color-search-input-bg: var(--input-bg);
    --color-search-input-border: var(--input-border-color);
    --color-search-shell-muted: var(--ds-text-tertiary);
    --color-analytics-shell-bg: var(--filter-bg);
    --color-analytics-shell-inner-bg: var(--filter-inner-bg);
    --color-analytics-shell-border: var(--filter-border);

    --color-overlay-light: rgb(0 0 0 / 58%);
    --color-backdrop: var(--modal-backdrop);
    --color-overlay-loader: rgb(3 6 10 / 86%);
    --color-white-alpha-05: rgb(255 255 255 / 5%);
    --color-white-alpha-06: rgb(255 255 255 / 6%);
    --color-white-alpha-08: rgb(255 255 255 / 8%);
    --color-white-alpha-10: rgb(255 255 255 / 10%);
    --color-white-alpha-12: rgb(255 255 255 / 12%);
    --color-white-alpha-15: rgb(255 255 255 / 15%);
    --color-white-alpha-20: rgb(255 255 255 / 20%);
    --color-white-alpha-25: rgb(255 255 255 / 25%);
    --color-white-alpha-30: rgb(255 255 255 / 30%);
    --color-white-alpha-80: rgb(255 255 255 / 80%);
    --color-black-alpha-05: rgb(0 0 0 / 5%);
    --color-black-alpha-10: rgb(0 0 0 / 10%);
    --color-black-alpha-15: rgb(0 0 0 / 15%);
    --color-black-alpha-20: rgb(0 0 0 / 20%);
    --color-black-alpha-25: rgb(0 0 0 / 25%);
    --color-black-alpha-30: rgb(0 0 0 / 30%);
    --color-black-alpha-35: rgb(0 0 0 / 35%);
    --color-black-alpha-60: rgb(0 0 0 / 60%);
    --color-black-alpha-88: rgb(0 0 0 / 88%);

    --btn-color-add: var(--button-primary-bg);
    --btn-color-modify: var(--button-success-bg);
    --btn-color-delete: var(--button-danger-bg);
    --btn-color-cancel: var(--button-secondary-bg);
    --btn-color-text: var(--button-primary-text);
    /* RESOLVED-TOKEN CONTRACT (JS/canvas consumers) — blue-550 action fill. */
    --btn-color-add-rgb: 22, 101, 200;
    --btn-color-modify-rgb: 69, 186, 91;
    --btn-color-delete-rgb: 239, 101, 105;

    --level-color-0: var(--ds-danger);
    --level-color-0-text: var(--ds-on-danger);
    --level-color-1: var(--ds-action-fill-bg);
    --level-color-1-text: var(--ds-on-action);
    --level-color-2-text: var(--ds-on-info);
    --level-color-3-text: var(--ds-on-success);
    --level-color-4: var(--ds-warning);
    --level-color-4-text: var(--ds-on-warning);
    --level-color-5: var(--ds-amber-700);
    --level-color-5-text: var(--ds-white);
    --level-color-6-text: var(--ds-on-danger);
    --level-color-7: var(--chart-palette-5);
    --level-color-7-text: var(--ds-gray-950);
    --level-color-8: var(--ds-gray-600);
    --level-color-8-text: var(--ds-white);
    --level-color-9: var(--ds-gray-500);
    --level-color-9-text: var(--ds-gray-950);
    --level-color-10: var(--ds-red-700);
    --level-color-10-text: var(--ds-white);
    --level-color-11: var(--ds-amber-700);
    --level-color-11-text: var(--ds-white);
    --level-color-12: var(--ds-amber-500);
    --level-color-12-text: var(--ds-gray-950);
    --level-color-13: var(--ds-green-700);
    --level-color-13-text: var(--ds-white);
    --level-color-14: var(--ds-cyan-700);
    --level-color-14-text: var(--ds-white);
    /* @deprecated (DARK-RELIGHT 2026-07-08): gold-named, 값은 blue 재배선 */
    --level-color-15: var(--blue-550);
    --level-color-15-text: var(--ds-on-action);
    --level-color-16: var(--ds-purple-700);
    --level-color-16-text: var(--ds-white);
    --level-color-17: var(--ds-red-500);
    --level-color-17-text: var(--ds-white);
    --level-color-18: var(--ds-gray-650);
    --level-color-18-text: var(--ds-white);
    --level-color-19: var(--ds-gray-750);
    --level-color-19-text: var(--ds-white);

    --member-list-sort-icon-inactive: var(--ds-text-muted);
    --member-list-sort-icon-active: var(--ds-brand);

    --color-disabled-text: var(--ds-text-disabled);
    --color-disabled-bg: var(--input-bg-disabled);
    --color-disabled-border: var(--ds-border-subtle);

    --kpi-icon-red-soft-bg: color-mix(in oklch, var(--ds-red-500) 10%, var(--ds-surface-raised));
    --kpi-icon-neutral-bg: var(--badge-neutral-bg);
    --kpi-icon-neutral-color: var(--ds-text-secondary);

    /* Bootstrap compatibility */
    --bs-heading-color: var(--ds-text-primary);
    --bs-secondary-bg: var(--ds-surface-2);
    --bs-tertiary-bg: var(--ds-surface-3);
    --bs-link-color: var(--ds-text-link);
    --bs-link-hover-color: var(--ds-text-link-hover);
    --bs-card-bg: var(--card-bg);
    --bs-card-border-color: var(--card-border);
    --bs-modal-bg: var(--modal-bg);
    --bs-modal-color: var(--ds-text-primary);
    --bs-modal-border-color: var(--modal-border);
    --bs-table-bg: var(--table-bg);
    --bs-table-color: var(--table-text);
    --bs-table-border-color: var(--table-border);
    --bs-light-rgb: 32, 41, 56;
    --bs-dark-rgb: 14, 17, 22;

    /* SweetAlert2 compatibility */
    --swal2-deny-button-background: var(--button-danger-bg);
    --swal2-deny-button-color: var(--button-danger-text);
}
