/* ─────────────────────────────────────────────────────────────────────────────
   DARK THEME
   ───────────────────────────────────────────────────────────────────────────── */

[data-theme='dark'] {
  /* Primary - Violet/Purple with higher lightness for dark backgrounds */
  --color-primary-50: oklch(0.20 0.08 264);
  --color-primary-100: oklch(0.27 0.11 264);
  --color-primary-200: oklch(0.33 0.15 264);
  --color-primary-300: oklch(0.40 0.19 264);
  --color-primary-400: oklch(0.55 0.24 264);
  --color-primary-500: oklch(0.65 0.22 264);
  --color-primary-600: oklch(0.72 0.18 264);
  --color-primary-700: oklch(0.80 0.14 264);
  --color-primary-800: oklch(0.88 0.08 264);
  --color-primary-900: oklch(0.94 0.04 264);
  --color-primary-950: oklch(0.97 0.014 264);

  /* Accent - Magenta adjusted for dark mode */
  --color-accent-50: oklch(0.22 0.08 333);
  --color-accent-100: oklch(0.30 0.12 333);
  --color-accent-200: oklch(0.37 0.16 333);
  --color-accent-300: oklch(0.45 0.20 333);
  --color-accent-400: oklch(0.55 0.24 333);
  --color-accent-500: oklch(0.65 0.25 333);
  --color-accent-600: oklch(0.72 0.20 333);
  --color-accent-700: oklch(0.80 0.14 333);
  --color-accent-800: oklch(0.88 0.08 333);
  --color-accent-900: oklch(0.94 0.04 333);
  --color-accent-950: oklch(0.97 0.014 333);

  /* Warn - Orange adjusted for dark mode */
  --color-warn-50: oklch(0.21 0.06 25);
  --color-warn-100: oklch(0.28 0.09 25);
  --color-warn-200: oklch(0.35 0.13 25);
  --color-warn-300: oklch(0.45 0.17 25);
  --color-warn-400: oklch(0.55 0.21 25);
  --color-warn-500: oklch(0.65 0.22 25);
  --color-warn-600: oklch(0.72 0.18 25);
  --color-warn-700: oklch(0.80 0.12 25);
  --color-warn-800: oklch(0.88 0.06 25);
  --color-warn-900: oklch(0.94 0.03 25);
  --color-warn-950: oklch(0.97 0.014 25);

  /* Surface - Inverted grayscale for dark mode */
  --color-surface-50: oklch(0.14 0.006 280);
  --color-surface-100: oklch(0.18 0.008 280);
  --color-surface-200: oklch(0.22 0.010 280);
  --color-surface-300: oklch(0.28 0.012 280);
  --color-surface-400: oklch(0.40 0.012 280);
  --color-surface-500: oklch(0.50 0.012 280);
  --color-surface-600: oklch(0.62 0.010 280);
  --color-surface-700: oklch(0.75 0.008 280);
  --color-surface-800: oklch(0.88 0.006 280);
  --color-surface-900: oklch(0.94 0.004 280);
  --color-surface-950: oklch(0.98 0.002 280);

  /* Shadows adjusted for dark mode */
  --shadow-xs: 0 1px 2px oklch(0 0 0 / 0.3);
  --shadow-sm: 0 1px 3px oklch(0 0 0 / 0.4), 0 1px 2px oklch(0 0 0 / 0.3);
  --shadow-md: 0 4px 6px oklch(0 0 0 / 0.4), 0 2px 4px oklch(0 0 0 / 0.3);
  --shadow-lg: 0 10px 15px oklch(0 0 0 / 0.4), 0 4px 6px oklch(0 0 0 / 0.3);
  --shadow-xl: 0 20px 25px oklch(0 0 0 / 0.4), 0 8px 10px oklch(0 0 0 / 0.3);

  /* ═══ Semantic overrides ═══ */
  --color-background: var(--color-surface-50);
  --color-foreground: var(--color-surface-900);

  --color-primary: var(--color-primary-500);
  --color-primary-foreground: var(--color-primary-50);
  --color-primary-hover: var(--color-primary-400);
  --color-primary-subtle: var(--color-primary-100);
  --color-primary-subtle-foreground: var(--color-primary-900);

  --color-accent: var(--color-accent-500);
  --color-accent-foreground: oklch(1 0 0);
  --color-accent-hover: var(--color-accent-400);
  --color-accent-subtle: var(--color-accent-100);
  --color-accent-subtle-foreground: var(--color-accent-800);

  --color-warn: var(--color-warn-500);
  --color-warn-foreground: oklch(1 0 0);
  --color-warn-hover: var(--color-warn-400);
  --color-warn-subtle: var(--color-warn-100);
  --color-warn-subtle-foreground: var(--color-warn-800);

  --color-success: var(--color-success-500);
  --color-success-foreground: oklch(1 0 0);
  --color-success-hover: var(--color-success-600);
  --color-success-subtle: oklch(0.22 0.06 145);
  --color-success-subtle-foreground: oklch(0.85 0.10 145);

  --color-muted: var(--color-surface-200);
  --color-muted-foreground: var(--color-surface-700);
  --color-muted-hover: var(--color-surface-300);

  --color-border: var(--color-surface-300);
  --color-border-subtle: var(--color-surface-200);
  --color-ring: var(--color-primary-500);

  --color-backdrop: oklch(0 0 0 / 0.85);
  --color-popover: var(--color-surface-100);
  --color-popover-foreground: var(--color-surface-900);

  --color-card: var(--color-surface-100);
  --color-card-foreground: var(--color-surface-900);

  --color-tooltip: var(--color-surface-900);
  --color-tooltip-foreground: var(--color-surface-50);

  --color-input-border: var(--color-surface-300);
  --color-input-background: var(--color-surface-100);
  --color-input-foreground: var(--color-surface-900);
  --color-input-placeholder: var(--color-surface-500);
  --color-input-disabled: var(--color-surface-200);

  --color-placeholder: var(--color-surface-500);
  --color-disabled: var(--color-surface-300);
  --color-disabled-foreground: var(--color-surface-500);

  /* ─── Colored Border Subtle ─── */
  --color-primary-border-subtle: var(--color-primary-300);
  --color-success-border-subtle: oklch(0.35 0.10 145);
  --color-warn-border-subtle: var(--color-warn-300);

  /* ─── Subtle Surface Hover ─── */
  --color-primary-subtle-hover: var(--color-primary-200);
  --color-success-subtle-hover: oklch(0.28 0.08 145);
  --color-warn-subtle-hover: var(--color-warn-200);

  /* ─── Muted Foreground in Colored Contexts ─── */
  --color-primary-subtle-foreground-muted: var(--color-primary-700);
  --color-success-subtle-foreground-muted: oklch(0.72 0.14 145);
  --color-warn-subtle-foreground-muted: var(--color-warn-700);
  --color-warn-foreground-muted: oklch(1 0 0 / 0.65);
  --color-success-foreground-muted: oklch(1 0 0 / 0.65);

  /* ─── Foreground Wash ─── */
  --color-warn-foreground-wash: oklch(1 0 0 / 0.10);

  /* ─── Progress Track ─── */
  --color-success-foreground-track: oklch(1 0 0 / 0.30);
  --color-warn-subtle-foreground-track: var(--color-warn-500);
  --color-warn-foreground-track: oklch(1 0 0 / 0.30);
  --color-primary-subtle-foreground-track: var(--color-primary-500);

  /* ─── Table ─── */
  --color-muted-stripe: var(--color-surface-100);
  --color-overlay: oklch(0.14 0.006 280 / 0.60);
}

/* Dark-specific text color overrides */
[data-theme='dark'] .text-success {
  color: var(--color-success-400);
}

[data-theme='dark'] .text-warn {
  color: var(--color-warn-400);
}
