:root {
  /* Semantic theme surfaces. These are the main user-theme contract. */
  --vk-surface-side-panel: var(--vk-paper-depth-base-bg);
  --vk-surface-aux-panel: var(--vk-paper-depth-base-bg);
  --vk-surface-toggle-active: var(--vk-palette-ink-700);
  --vk-accent-brand: var(--vk-text-primary);

  /* Panel and button color contract. Keep admin theme controls aimed here. */
  --vk-paper-depth-raised-max-bg: var(--vk-palette-paper-50);
  --vk-paper-depth-raised-mid-bg: var(--vk-palette-paper-80);
  --vk-paper-depth-level-bg: var(--vk-palette-paper-200);
  --vk-paper-depth-base-bg: var(--vk-palette-paper-300);
  --vk-paper-depth-inset-bg: var(--vk-palette-paper-500);
  --vk-panel-paper-bg: var(--analysis-side-canvas-bg, var(--vk-paper-depth-base-bg));
  --vk-panel-paper-text: var(--vk-text-primary);
  --vk-panel-paper-text-muted: var(--vk-text-secondary);
  --vk-panel-paper-accent-bg: var(--vk-app-accent-main);
  --vk-panel-paper-accent-text: var(--vk-app-accent-main-text);
  --vk-paper-inset-bg: var(--vk-paper-depth-inset-bg);

  --vk-text-primary: var(--vk-palette-ink-800);
  --vk-text-secondary: var(--vk-palette-ink-600);
  --vk-text-muted: var(--vk-palette-ink-500);
  --vk-text-brand: var(--vk-accent-brand);
  --vk-text-on-accent: var(--vk-palette-white);
  --vk-border-panel: var(--vk-paper-depth-inset-bg);
  --vk-border-default: var(--vk-palette-border-350);

  --vk-state-success-bg: var(--vk-palette-green-100);
  --vk-state-success-bg-hover: var(--vk-palette-green-150);
  --vk-state-success-border: var(--vk-palette-green-300);
  --vk-state-success-text: var(--vk-palette-green-700);
  --vk-state-success-text-strong: #14532d;
  --vk-state-danger-border-hover: var(--vk-palette-red-500);
  --vk-state-danger-text: var(--vk-palette-red-800);

  --vk-progress-track-bg: rgba(154, 146, 136, 0.16);
  --vk-progress-success-bg: var(--vk-palette-green-600);
  --vk-progress-draft-bg: var(--vk-palette-red-700);

  --vk-branch-main-bg: #EF9032;
  --vk-branch-main-text: var(--vk-text-on-accent);
  --vk-branch-variation-bg: #15803d;
  --vk-zone-color-1: #374151ff;
  --vk-zone-color-2: #0b1220ff;
  --vk-zone-color-3: #d8e0eaff;
  --vk-zone-color-4: #2f7d4eff;

  --vk-hold-danger-fill: var(--vk-palette-red-600);
  --vk-form-delete-hold-fill: #dc2626;
  --vk-hold-success-fill: var(--vk-palette-green-600);
  --vk-hold-text: var(--vk-palette-white);
  --vk-variation-private-tab-bg: var(--vk-text-secondary);

  --vk-shadow-loader: rgba(0, 0, 0, 0.08);
  --vk-highlight-inset: rgba(255, 255, 255, 0.45);
  --vk-overlay-soft-muted: rgba(255, 255, 255, 0.35);
  --vk-overlay-muted: rgba(17, 24, 39, 0.08);
  --vk-overlay-card-muted: rgba(244, 239, 232, 0.7);

  --vk-tool-card-text: var(--vk-text-primary);
  --vk-tool-card-text-hover: var(--vk-stone-black-bg);
  --vk-tool-card-text-muted: var(--vk-text-secondary);
}
