:root {
  /* Named Colors */
  --color-bg-default: var(--palette-white);
  --color-base-plane: #f6f7f9;
  --color-block-background: var(--palette-white);
  --color-block-background-translucent: rgb(255 255 255 / 30%);
  --color-block-border: var(--palette-white);
  --color-surface-background: var(--palette-indigo-grey-10);
  --color-surface-hover: color-mix(
    in srgb,
    var(--color-surface-background) 95%,
    var(--palette-black) 5%
  );
  --color-surface-text: var(--palette-indigo-grey-100);
  --color-muted-text: var(--palette-indigo-grey-60);
  --color-borders-default: var(--palette-indigo-grey-18);
  --color-label: var(--palette-indigo-grey-100);
  --color-gradient01: var(--palette-grey-10);
  --color-gradient02: var(--palette-indigo-grey-15);
  --color-gradient03: var(--palette-grey-20);
  --color-table-head: var(--palette-indigo-grey-20);
  --color-text-header: var(--palette-indigo-grey-100);
  --color-table-border: var(--palette-grey-20);
  --color-slider-track: var(--palette-indigo-grey-30);
  --color-slider-pin: var(--palette-indigo-grey-100);
  --color-button-border: var(--palette-indigo-grey-50);
  --color-accent: var(--palette-blue-50);
  --color-icon-active: var(--palette-blue-50);
  --color-primary-hover: var(--palette-blue-55);
  --color-icon-default: var(--palette-indigo-grey-70);
  --color-error: var(--palette-red-60);
  --color-neutral-600: #c3c8d1;
  --color-text-brand: var(--palette-blue-50);
  --color-text-heading: var(--palette-indigo-grey-100);
  --color-text-subheading: var(--palette-indigo-grey-70);
  --color-text-body: #111827;
  --color-text-placeholder: #a9acb1;
  --color-bg-default-gray: var(--palette-grey-10);
  --color-hover-default: rgb(0 0 0 / 5%);
  --color-select-separator: var(--palette-indigo-grey-40);

  /* Icons */
  --color-icon: var(--palette-indigo-grey-70);

  /* Forms */
  --color-checkbox-outline: var(--palette-indigo-grey-30);
  --color-input-background: var(--palette-white);
  --color-input-border: var(--palette-indigo-grey-40);
  --color-input-border-hover: var(--palette-indigo-grey-50);
  --color-input-focus-ring: var(--palette-indigo-grey-100);

  /* Buttons */
  --color-button-ghost-hover: color-mix(
    in srgb,
    var(--palette-indigo-grey-100) 10%,
    transparent
  );
  --color-button-ghost-icon-active: var(--palette-blue-50);
  --color-button-icon: var(--palette-indigo-grey-100);
  --color-button-default-background: var(--palette-white);
  --color-button-default-background-hover:
    linear-gradient(
      to bottom,
      var(--color-hover-default) 0%,
      var(--color-hover-default) 100%
    ),
    var(--palette-white);
  --color-button-default-border: var(--palette-indigo-grey-50);
  --color-button-default-foreground: var(--palette-black);
  --color-button-default-background-active:
    linear-gradient(to bottom, rgb(0 0 0 / 10%) 0%, rgb(0 0 0 / 10%) 100%),
    var(--palette-white);
  --color-button-primary-background: var(--palette-blue-50);
  --color-button-primary-background-hover:
    linear-gradient(to bottom, rgb(0 0 0 / 20%) 0%, rgb(0 0 0 / 20%) 100%),
    var(--palette-blue-50);
  --color-button-primary-border-hover: rgb(0 0 0 / 20%);
  --color-button-primary-border-focused: var(--palette-black);
  --color-button-primary-text: var(--palette-white);
  --color-button-primary-background-active:
    linear-gradient(to bottom, rgb(0 0 0 / 40%) 0%, rgb(0 0 0 / 40%) 100%),
    var(--palette-blue-50);
  --color-button-active-shadow: 0 0 0.25rem 0 var(--palette-grey-100);
  --color-button-highlighted-active-shadow: 0 0 0.1875rem 0
    var(--palette-grey-50);
  --color-button-navigation-background-selected: var(--palette-blue-10);
  --color-button-outline-border: var(--palette-indigo-grey-18);
  --color-disabled-bg: var(--palette-grey-35);

  /* Named Gradients */
  --gradient-magic: linear-gradient(
    to right,
    #60d4da 2.07%,
    var(--palette-blue-50) 38.01%,
    #a368f7 82.94%,
    #ff7156 100%
  );
  --gradient-magic-active:
    linear-gradient(to bottom, rgb(0 0 0 / 10%) 0%, rgb(0 0 0 / 10%) 100%),
    var(--gradient-magic);

  /* Menu (dark sidebar) */
  --color-menu-avatar-bg: var(--palette-white);
  --color-menu-avatar-initials: var(--palette-indigo-grey-100);
  --color-menu-hr: var(--palette-grey-100);
  --color-menu-item-active-border: transparent;
  --color-menu-item-group: var(--palette-grey-35);
  --color-menu-item-selected-bg: rgb(255 255 255 / 20%);
  --color-menu-item-text: var(--palette-white);
  --color-menu-sidebar-bg: var(--palette-grey-120);
  --color-menu-sidebar-border: var(--palette-grey-130);
  --menu-item-active-border-gradient-end: transparent;
  --menu-item-active-collapsed-shadow: none;
  --menu-item-active-shadow: none;

  /* Navigation */
  --color-navigation-progress-bar: var(--palette-red-20);
  --color-navigation-item-active: var(--palette-blue-40);
  --color-navigation-item-active-text: var(--palette-white);
  --color-navigation-item-arrow: #1f1f1f;

  /* Tabs */
  --shadow-tab-group:
    -1px 0 1px 0 var(--palette-white) inset,
    1px 1px 1px 0 var(--palette-indigo-grey-40) inset;
  --shadow-tab-active: 0 2px 2px 0 rgb(0 0 0 / 10%);
  --color-tab-active-background: var(--palette-white);
  --color-tab-active-text: var(--palette-indigo-grey-100);

  /* Tables */
  --color-shadow-menu: rgb(0 0 0 / 12%);
  --color-future-separator: var(--palette-indigo-grey-70);
  --color-inherited-badge-background: var(--palette-blue-5);
  --color-inherited-badge-border: var(--palette-blue-50);
  --color-inherited-header-icon: var(--palette-blue-50);
  --color-inherited-badge-text: var(--palette-blue-50);
  --color-table-column-border: var(--palette-indigo-grey-15);
  --color-table-header-only-row-cell: var(--palette-indigo-grey-10);
  --color-table-text: var(--palette-black);
  --color-table-text-subordinate: var(--palette-grey-110);
  --table-shadow: 0 0.25rem 0.25rem 0 var(--palette-indigo-grey-30);
  --table-header-shadow: 0 0 0.25rem 0 var(--palette-indigo-grey-30);
  --table-group-shadow: 0 3px 6px 0 var(--palette-indigo-grey-30);
  --table-cell-shadow: 2px 3px 4px 0 var(--palette-indigo-grey-30);
  --table-column-clicked-background: rgb(96 212 218 / 6%);
  --table-column-clicked-border: #60d4da;
  --table-header-current: var(--palette-indigo-grey-70);
  --table-header-current-future: var(--palette-purple-60);

  /* Forecast Inclusion / Exclusion */
  --color-forecast-inclusion-included: var(--palette-green-60);

  /* Demand Chart */
  --color-demand-actuals: var(--palette-purple-70);
  --color-demand-adjustments: var(--palette-green-65);
  --color-demand-forecast: var(--palette-blue-60);
  --color-demand-intelligence: var(--palette-yellow-50);

  /* Chart structural elements (mark lines, boundary labels) */
  --color-chart-forecast-divider: rgba(0, 0, 0, 0.25);
  --color-chart-year-boundary-label: rgba(0, 0, 0, 0.4);
  --color-chart-year-boundary-line: rgba(0, 0, 0, 0.15);

  /* Validation Table */
  --color-validation-cell-border: var(--palette-indigo-grey-20);
  --color-validation-exception-text: var(--palette-indigo-grey-100);
  --color-validation-header-border: var(--palette-indigo-grey-40);
  --color-validation-header-month: var(--palette-purple-40);
  --color-validation-header-quarter: var(--palette-indigo-purple-50);
  --color-validation-header-text: var(--palette-white);
  --color-validation-header-year: var(--palette-indigo-blue-50);
  --color-validation-negative: var(--palette-red-60);
  --color-validation-positive: var(--palette-green-60);
  --color-validation-year-row: var(--palette-indigo-grey-20);
  --color-validation-year-row-current: var(--palette-blue-20);
  --color-validation-year-row-month-overlay-actuals: color-mix(
    in srgb,
    var(--palette-indigo-grey-15) 28%,
    transparent
  );
  --color-validation-year-row-month-overlay-forecast: color-mix(
    in srgb,
    var(--palette-purple-40) 28%,
    transparent
  );

  /* Buckets Header */
  --color-buckets-header-text: var(--palette-white);
  --color-buckets-header-background: var(--palette-indigo-grey-60);
  --color-buckets-header-past-background: var(--palette-indigo-grey-60);
  --color-buckets-header-future-background: var(--palette-purple-50);

  /* Cells */
  --cell-static-hover-background: var(--palette-grey-10);
  --cell-progress-bar-background: var(--palette-grey-10);
  --cell-editable-text: var(--palette-blue-50);
  --cell-editable-background: var(--palette-blue-10);
  --cell-warning-background: var(--palette-red-20);
  --cell-editable-background-hover: color-mix(
    in srgb,
    var(--palette-blue-10) 95%,
    black 5%
  );
  --cell-editable-background-focus: var(--palette-white);
  --cell-editable-focus-border: var(--palette-blue-50);
  --cell-editable-selection: var(--palette-blue-10);
  --color-message-error-bg: var(--palette-red-10);
  --color-message-error-border: var(--palette-red-60);
  --color-message-info-bg: var(--palette-blue-10);
  --color-message-info-border: var(--palette-blue-50);
  --color-message-success-bg: var(--palette-green-10);
  --color-message-success-border: var(--palette-green-50);

  /* Badge */
  --color-badge-text: var(--palette-white);
  --color-badge-ghost: var(--palette-grey-40);
  --color-badge-success: var(--palette-green-60);
  --color-badge-warning: var(--palette-orange-50);
  --color-badge-danger: var(--palette-red-50);

  /* Data Management */
  --color-last-updated-icon: var(--palette-indigo-grey-75);
  --color-last-updated-label: var(--palette-indigo-grey-80);

  /* Status Badge (legacy — used by StatusBadge.module.css) */
  --color-status-badge-text: var(--color-badge-text);
  --color-status-badge-confirmed: var(--color-badge-success);
  --color-status-badge-draft: var(--color-badge-ghost);
  --color-status-badge-planned: var(--palette-blue-40);
  --color-status-badge-open: var(--palette-blue-40);

  /* Tooltips */
  --color-shadow-tooltip: rgb(48 52 67 / 20%);
  --color-tooltip-border: var(--palette-indigo-grey-20);
  --color-tooltip-text: var(--palette-indigo-grey-90);
  --color-tooltip-subtitle: var(--palette-indigo-grey-100);

  /* Toast Notifications */
  --color-toast-info-bg: var(--palette-indigo-grey-10);
  --color-toast-info-border: var(--palette-indigo-grey-30);
  --color-toast-success-bg: var(--palette-green-10);
  --color-toast-success-border: #93cd86;
  --color-toast-warning-bg: #fffae5;
  --color-toast-warning-border: #ffe889;
  --color-toast-error-bg: var(--palette-red-10);
  --color-toast-error-border: #ffb1a2;
  --color-toast-icon-info: var(--palette-blue-40);
  --color-toast-icon-info-bg: #505ff11a;
  --color-toast-icon-success: var(--palette-green-60);
  --color-toast-icon-success-bg: #75c1631a;
  --color-toast-icon-warning: #ffae62;
  --color-toast-icon-warning-bg: #ffae621a;
  --color-toast-icon-error: var(--palette-red-60);
  --color-toast-icon-error-bg: #e15a411a;
  --color-toast-text: var(--palette-indigo-grey-100);

  /* Global Status Indicator */
  --color-global-indicator-background: var(--palette-white);
  --color-global-indicator-button-border: var(--palette-indigo-grey-40);
  --color-global-indicator-text: var(--palette-indigo-grey-100);
  --color-global-indicator-shimmer-overlay: rgb(255 255 255 / 40%);
  --color-global-indicator-error: var(--palette-red-50);
  --color-global-indicator-completed: var(--palette-green-60);
  --color-global-indicator-processing: var(--palette-indigo-grey-70);
  --color-global-indicator-queued: var(--palette-indigo-grey-70);
}
