/* Encipher design tokens.
 *
 * Copied verbatim from petrolink-admin-dashboard/src/styles.css (:root and
 * .dark). This repo has no build step and is not getting one, so the copy is
 * manual and the two files drift unless someone re-copies. DesignTokenTests
 * asserts the token names so drift fails a test rather than silently
 * rendering an unstyled control.
 *
 * Declarations only -- no selectors. Rules live in encipher-theme.css.
 */

:root {
  --radius: 0.625rem;
  --background: oklch(0.977 0.005 180);
  --foreground: oklch(0.21 0.02 220);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.21 0.02 220);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.21 0.02 220);
  --primary: oklch(0.58 0.113 176);
  --primary-foreground: oklch(0.99 0.01 180);
  --secondary: oklch(0.955 0.012 190);
  --secondary-foreground: oklch(0.3 0.03 200);
  --muted: oklch(0.958 0.008 200);
  --muted-foreground: oklch(0.53 0.024 220);
  --accent: oklch(0.94 0.035 178);
  --accent-foreground: oklch(0.34 0.06 178);
  --destructive: oklch(0.577 0.22 27.325);
  --destructive-foreground: oklch(0.984 0.003 247.858);
  --destructive-subtle: oklch(0.955 0.03 25);
  --border: oklch(0.916 0.008 210);
  --input: oklch(0.916 0.008 210);
  --ring: oklch(0.58 0.113 176);
  --success: oklch(0.55 0.13 155);
  --success-foreground: oklch(0.99 0.01 155);
  --success-subtle: oklch(0.955 0.03 155);
  --warning: oklch(0.6 0.13 70);
  --warning-foreground: oklch(0.99 0.01 70);
  --warning-subtle: oklch(0.96 0.045 80);
  --info: oklch(0.55 0.16 255);
  --info-foreground: oklch(0.99 0.005 255);
  --info-subtle: oklch(0.955 0.025 255);

  /* Categorical chart slots, assigned in this fixed order and never cycled.
     Validated for the white chart surface: every slot sits inside the
     L 0.43-0.77 band, clears the 0.10 chroma floor, keeps adjacent-pair
     protan/deutan separation above 8 dE and contrast above 3:1. */
  --chart-1: oklch(0.58 0.113 176); /* teal   -- brand, the default single hue */
  --chart-2: oklch(0.66 0.15 70); /* amber  */
  --chart-3: oklch(0.55 0.16 255); /* blue   */
  --chart-4: oklch(0.6 0.2 350); /* magenta */
  --chart-5: oklch(0.5 0.18 300); /* violet */
  --chart-track: oklch(0.93 0.02 180); /* lighter step of slot 1's ramp */
  --chart-grid: oklch(0.925 0.006 210);
  --chart-surface: oklch(1 0 0);

  --sidebar: oklch(0.24 0.028 220);
  --sidebar-foreground: oklch(0.85 0.015 200);
  --sidebar-primary: oklch(0.66 0.13 176);
  --sidebar-primary-foreground: oklch(0.16 0.02 220);
  --sidebar-accent: oklch(0.3 0.032 215);
  --sidebar-accent-foreground: oklch(0.97 0.01 180);
  --sidebar-border: oklch(0.32 0.03 215);
  --sidebar-ring: oklch(0.66 0.13 176);
  --gradient-brand: linear-gradient(135deg, oklch(0.58 0.113 176), oklch(0.66 0.13 160));
  --shadow-card: 0 1px 2px oklch(0.21 0.02 220 / 0.06), 0 8px 24px -12px oklch(0.21 0.02 220 / 0.14);
  --shadow-raised: 0 1px 2px oklch(0.21 0.02 220 / 0.08), 0 12px 32px -14px oklch(0.21 0.02 220 / 0.22);
  --shadow-overlay: 0 24px 60px -20px oklch(0.21 0.02 220 / 0.35);
}

.dark {
  --background: oklch(0.19 0.022 220);
  --foreground: oklch(0.95 0.008 200);
  --card: oklch(0.235 0.024 220);
  --card-foreground: oklch(0.95 0.008 200);
  --popover: oklch(0.255 0.024 220);
  --popover-foreground: oklch(0.95 0.008 200);
  --primary: oklch(0.68 0.12 176);
  --primary-foreground: oklch(0.17 0.02 220);
  --secondary: oklch(0.3 0.026 218);
  --secondary-foreground: oklch(0.93 0.01 195);
  --muted: oklch(0.29 0.022 218);
  --muted-foreground: oklch(0.72 0.02 210);
  --accent: oklch(0.32 0.04 180);
  --accent-foreground: oklch(0.94 0.02 180);
  --destructive: oklch(0.64 0.19 25);
  --destructive-foreground: oklch(0.16 0.02 25);
  --destructive-subtle: oklch(0.31 0.055 25);
  --border: oklch(0.32 0.026 216);
  --input: oklch(0.34 0.026 216);
  --ring: oklch(0.68 0.12 176);
  --success: oklch(0.68 0.13 155);
  --success-foreground: oklch(0.17 0.02 155);
  --success-subtle: oklch(0.3 0.05 155);
  --warning: oklch(0.72 0.13 75);
  --warning-foreground: oklch(0.18 0.02 75);
  --warning-subtle: oklch(0.31 0.05 75);
  --info: oklch(0.66 0.13 255);
  --info-foreground: oklch(0.16 0.02 255);
  --info-subtle: oklch(0.31 0.05 255);

  /* Not an automatic flip: the same five hues re-stepped for the dark chart
     surface and re-validated inside the dark L 0.48-0.67 band. */
  --chart-1: oklch(0.66 0.115 176);
  --chart-2: oklch(0.665 0.14 70);
  --chart-3: oklch(0.62 0.15 255);
  --chart-4: oklch(0.65 0.19 350);
  --chart-5: oklch(0.6 0.17 300);
  --chart-track: oklch(0.32 0.03 180);
  --chart-grid: oklch(0.31 0.022 216);
  --chart-surface: oklch(0.235 0.024 220);

  --sidebar: oklch(0.165 0.022 222);
  --sidebar-foreground: oklch(0.82 0.015 200);
  --sidebar-primary: oklch(0.7 0.13 176);
  --sidebar-primary-foreground: oklch(0.15 0.02 220);
  --sidebar-accent: oklch(0.26 0.028 216);
  --sidebar-accent-foreground: oklch(0.96 0.01 180);
  --sidebar-border: oklch(0.27 0.026 216);
  --sidebar-ring: oklch(0.7 0.13 176);
  --shadow-card: 0 1px 2px oklch(0 0 0 / 0.4), 0 8px 24px -12px oklch(0 0 0 / 0.6);
  --shadow-raised: 0 1px 2px oklch(0 0 0 / 0.45), 0 12px 32px -14px oklch(0 0 0 / 0.7);
  --shadow-overlay: 0 24px 60px -20px oklch(0 0 0 / 0.8);
}
