/* ============================================================
   Supplied — Color tokens
   Base scales are brand-neutral OKLCH ramps built from the two
   colors in the Supplied mark: deep teal-green and warm gold,
   plus a true-black/white neutral pair used in the wordmark.
   Semantic aliases below map these to shadcn/ui's variable
   convention (--background, --primary, --border, --ring, …) so
   components drop straight into the shadcn theming contract.
   ============================================================ */

:root {
  /* ---- Primary: Supplied teal-green (from logo swirl, #00795E) ---- */
  --teal-50:  oklch(0.97 0.02 165);
  --teal-100: oklch(0.93 0.05 165);
  --teal-200: oklch(0.86 0.08 165);
  --teal-300: oklch(0.76 0.10 165);
  --teal-400: oklch(0.64 0.11 165);
  --teal-500: oklch(0.52 0.11 165);   /* ≈ #00795E brand teal */
  --teal-600: oklch(0.45 0.10 165);
  --teal-700: oklch(0.38 0.09 165);
  --teal-800: oklch(0.30 0.07 165);
  --teal-900: oklch(0.23 0.05 165);
  --teal-950: oklch(0.16 0.035 165);

  /* ---- Accent: Supplied gold (logo dot, #D6A700) — sparing use ---- */
  --gold-50:  oklch(0.97 0.03 90);
  --gold-100: oklch(0.93 0.06 90);
  --gold-200: oklch(0.87 0.10 90);
  --gold-300: oklch(0.80 0.13 90);
  --gold-400: oklch(0.74 0.14 88);
  --gold-500: oklch(0.68 0.14 86);   /* ≈ #D6A700 brand gold */
  --gold-600: oklch(0.58 0.13 84);
  --gold-700: oklch(0.47 0.11 82);
  --gold-800: oklch(0.38 0.09 80);
  --gold-900: oklch(0.30 0.07 78);

  /* ---- Neutral: near-black / gray ramp (wordmark is true black) ---- */
  --gray-0:   oklch(1 0 0);
  --gray-50:  oklch(0.985 0.002 247);
  --gray-100: oklch(0.967 0.003 247);
  --gray-200: oklch(0.925 0.004 247);
  --gray-300: oklch(0.86 0.005 247);
  --gray-400: oklch(0.705 0.006 247);
  --gray-500: oklch(0.552 0.006 247);
  --gray-600: oklch(0.44 0.006 247);
  --gray-700: oklch(0.33 0.005 247);
  --gray-800: oklch(0.22 0.004 247);
  --gray-900: oklch(0.14 0.003 247);
  --gray-950: oklch(0.09 0.002 247);
  --gray-1000: oklch(0.06 0 0);       /* wordmark black */

  /* ---- Semantic status colors ---- */
  --red-50:   oklch(0.97 0.02 25);
  --red-500:  oklch(0.58 0.19 25);
  --red-600:  oklch(0.50 0.19 25);
  --red-700:  oklch(0.42 0.18 25);

  /* ---- Blue: observed in the live product for links + info CTAs
     (e.g. "View Usage", company website links) — not derived from the
     logo, flagged here as an additional functional color. ---- */
  --blue-50:  oklch(0.96 0.02 255);
  --blue-100: oklch(0.92 0.04 255);
  --blue-500: oklch(0.55 0.19 260);
  --blue-600: oklch(0.48 0.19 260);
  --blue-700: oklch(0.40 0.18 260);

  /* ---- Report-kind tags: pale category bands on library cards ---- */
  --kind-comparison-bg: oklch(0.93 0.03 290);
  --kind-comparison-fg: oklch(0.34 0.08 290);
  --kind-category-bg: oklch(0.95 0.03 155);
  --kind-category-fg: oklch(0.32 0.07 155);
  --kind-supplier-bg: oklch(0.95 0.04 70);
  --kind-supplier-fg: oklch(0.38 0.08 60);

  /* =========================================================
     Semantic aliases — shadcn/ui theming contract (light mode)
     ========================================================= */
  --background: var(--gray-0);
  --foreground: var(--gray-1000);

  --card: var(--gray-0);
  --card-foreground: var(--gray-1000);

  --popover: var(--gray-0);
  --popover-foreground: var(--gray-1000);

  /* Primary action color in the live product is near-black, not brand
     teal — teal is reserved for the logo mark and progress/success
     indicators. Confirmed against product screenshots (New Task,
     active tab pill, Refine, Create Project are all black). */
  --primary: var(--gray-1000);
  --primary-foreground: var(--gray-0);

  --secondary: var(--gray-100);
  --secondary-foreground: var(--gray-900);

  --muted: var(--gray-100);
  --muted-foreground: var(--gray-500);

  --accent: var(--gold-500);
  --accent-foreground: var(--gray-1000);

  --destructive: var(--red-600);
  --destructive-foreground: var(--gray-0);

  --success: var(--teal-600);
  --success-foreground: var(--gray-0);
  --warning: var(--gold-600);
  --warning-foreground: var(--gray-1000);

  --info: var(--blue-600);
  --info-foreground: var(--gray-0);

  --border: var(--gray-200);
  --input: var(--gray-200);
  --ring: var(--gray-700);

  /* Sidebar / app-shell surface (report app uses a slightly tinted panel) */
  --sidebar: var(--gray-50);
  --sidebar-foreground: var(--gray-800);
  --sidebar-border: var(--gray-200);

  /* Category-risk chart colors (Kraljic matrix / strategic signal dots) */
  --chart-low: var(--teal-500);
  --chart-moderate: var(--gold-500);
  --chart-high: var(--red-500);
}

/* Dark mode — Supplied's report app is light-first; dark provided for
   consuming apps that need it, kept in the same hue family. */
.dark {
  --background: var(--gray-950);
  --foreground: var(--gray-50);
  --card: var(--gray-900);
  --card-foreground: var(--gray-50);
  --popover: var(--gray-900);
  --popover-foreground: var(--gray-50);
  --primary: var(--teal-400);
  --primary-foreground: var(--gray-1000);
  --secondary: var(--gray-800);
  --secondary-foreground: var(--gray-50);
  --muted: var(--gray-800);
  --muted-foreground: var(--gray-400);
  --accent: var(--gold-400);
  --accent-foreground: var(--gray-1000);
  --destructive: var(--red-500);
  --destructive-foreground: var(--gray-50);
  --border: var(--gray-800);
  --input: var(--gray-800);
  --ring: var(--teal-400);
  --sidebar: var(--gray-900);
  --sidebar-foreground: var(--gray-200);
  --sidebar-border: var(--gray-800);
}
