/* Ackoff color tokens — values from the Ackoff Brand System Package (boards 03 + 05). */
:root {
  /* Primary palette */
  --obsidian: #0B0F14;
  --deep-teal: #0E6F66;
  --stone: #D7DBD6;
  --warm-white: #F8F7F4;

  /* Support palette */
  --teal-light: #2FB7A7;
  --blue-mist: #8ED3E0;
  --sand: #EDE9E3;
  --slate: #6B7280;

  /* Semantic palette */
  --success: #22C55E;
  --warning: #F59E0B;
  --error: #EF4444;

  /* Teal ramp (derived around Deep Teal / Teal Light) */
  --teal-50: #EAF5F3;
  --teal-100: #D2EBE7;
  --teal-200: #A6D8D0;
  --teal-500: #2FB7A7;
  --teal-700: #0E6F66;
  --teal-800: #0B5A53;
  --teal-900: #084741;
  --teal-glow: #5FE3D0;

  /* Neutral ramp (warm, derived from Obsidian → Warm White) */
  --neutral-0: #FFFFFF;
  --neutral-25: #FBFAF8;
  --neutral-50: #F8F7F4;
  --neutral-100: #F1F0EC;
  --neutral-150: #EAEBE7;
  --neutral-200: #E2E4E0;
  --neutral-300: #D7DBD6;
  --neutral-400: #B4B9B5;
  --neutral-500: #8A9099;
  --neutral-600: #6B7280;
  --neutral-700: #4A515B;
  --neutral-800: #262C34;
  --neutral-900: #131820;
  --neutral-950: #0B0F14;

  /* Status tints (badges, status pills) */
  --success-ink: #15803D;
  --success-wash: #E4F6EA;
  --warning-ink: #B45309;
  --warning-wash: #FDF1DC;
  --error-ink: #DC2626;
  --error-wash: #FDE9E9;
  --error-strong: #B91C1C;
  --info: #3B82F6;
  --info-ink: #1E6F86;
  --info-wash: #E3F3F7;
  --beta: #7C5CE0;
  --beta-ink: #6247C9;
  --beta-wash: #EEEAFB;

  /* Gradients */
  --gradient-flow-primary: linear-gradient(120deg, #0E6F66 0%, #2FB7A7 45%, #E8F9F6 100%); /* @kind color */
  --gradient-flow-dark: linear-gradient(120deg, #0B0F14 0%, #0E6F66 70%, #2FB7A7 100%); /* @kind color */
  --gradient-flow-wash: linear-gradient(180deg, rgba(47,183,167,0.16) 0%, rgba(47,183,167,0) 100%); /* @kind color */
  --gradient-protect-dark: linear-gradient(90deg, rgba(11,15,20,0.92) 0%, rgba(11,15,20,0.55) 45%, rgba(11,15,20,0) 75%); /* @kind color */

  /* Semantic aliases — light (default) */
  --surface-page: var(--warm-white);
  --surface-card: var(--neutral-0);
  --surface-subtle: var(--neutral-100);
  --surface-sunken: var(--sand);
  --surface-inverse: var(--obsidian);
  --surface-brand: var(--deep-teal);
  --surface-brand-wash: var(--teal-50);
  --surface-overlay: rgba(11, 15, 20, 0.42);

  --text-strong: var(--obsidian);
  --text-body: var(--neutral-800);
  --text-muted: var(--slate);
  --text-subtle: var(--neutral-500);
  --text-inverse: var(--warm-white);
  --text-brand: var(--deep-teal);
  --text-on-brand: #FFFFFF;
  --text-link: var(--deep-teal);
  --text-link-hover: var(--teal-900);

  --border-subtle: var(--neutral-150);
  --border-default: var(--neutral-200);
  --border-strong: var(--stone);
  --border-input: var(--neutral-300);
  --border-focus: var(--deep-teal);
  --border-brand: var(--deep-teal);

  --action-primary: var(--deep-teal);
  --action-primary-hover: var(--teal-800);
  --action-primary-pressed: var(--teal-900);
  --action-secondary-hover: var(--teal-50);
  --action-destructive: var(--error);
  --action-destructive-pressed: var(--error-strong);

  --focus-ring: 0 0 0 3px rgba(14, 111, 102, 0.22);
  --focus-ring-error: 0 0 0 3px rgba(239, 68, 68, 0.18);
}

[data-theme="dark"] {
  --surface-page: var(--obsidian);
  --surface-card: #121820;
  --surface-subtle: #18202A;
  --surface-sunken: #0E131A;
  --surface-inverse: var(--warm-white);
  --surface-brand: var(--teal-500);
  --surface-brand-wash: rgba(47, 183, 167, 0.12);
  --surface-overlay: rgba(4, 6, 9, 0.64);

  --text-strong: #F4F3EF;
  --text-body: #D9DCD8;
  --text-muted: #9AA1AB;
  --text-subtle: #737A85;
  --text-inverse: var(--obsidian);
  --text-brand: var(--teal-500);
  --text-on-brand: var(--obsidian);
  --text-link: var(--teal-500);
  --text-link-hover: var(--teal-glow);

  --border-subtle: #1C242E;
  --border-default: #242D38;
  --border-strong: #34404D;
  --border-input: #34404D;
  --border-focus: var(--teal-500);
  --border-brand: var(--teal-500);

  --action-primary: var(--teal-500);
  --action-primary-hover: #45C7B8;
  --action-primary-pressed: #26998B;
  --action-secondary-hover: rgba(47, 183, 167, 0.12);
}
