:root {
  --font-sans: "Bosch Sans", "Helvetica Neue", Arial, ui-sans-serif, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
}

@layer base {
  :root {
    --bg: oklch(1 0 0);
    --fg: oklch(0.2 0.005 250);
    --card: oklch(1 0 0);
    --card-fg: oklch(0.2 0.005 250);
    --popover: oklch(1 0 0);
    --popover-fg: oklch(0.2 0.005 250);
    --primary: oklch(0.55 0.13 243);
    --primary-fg: oklch(1 0 0);
    --secondary: oklch(0.955 0.003 230);
    --secondary-fg: oklch(0.2 0.005 250);
    --muted: oklch(0.955 0.003 230);
    --muted-fg: oklch(0.53 0.008 250);
    --accent: oklch(0.93 0.004 230);
    --accent-fg: oklch(0.2 0.005 250);
    --destructive: oklch(0.58 0.23 27);
    --destructive-fg: oklch(0.985 0 0);
    --border-color: oklch(0.9 0.004 250);
    --input: oklch(0.72 0.006 250);
    --ring: oklch(0.55 0.13 243);
    --chart-1: oklch(0.55 0.13 243);
    --chart-2: oklch(0.6 0.13 155);
    --chart-3: oklch(0.7 0.14 85);
    --chart-4: oklch(0.56 0.2 25);
    --chart-5: oklch(0.5 0.012 60);
    --usage-1: #2a78d6;
    --usage-2: #eb6834;
    --usage-3: #1baf7a;
    --usage-other: #a3a29c;
    --sidebar: oklch(0.955 0.003 230);
    --sidebar-fg: oklch(0.21 0.012 60);
    --sidebar-primary: oklch(0.55 0.13 243);
    --sidebar-primary-fg: oklch(0.99 0.005 85);
    --sidebar-accent: oklch(0.93 0.004 230);
    --sidebar-accent-fg: oklch(0.21 0.012 60);
    --sidebar-border: oklch(0.9 0.004 250);
    --sidebar-ring: oklch(0.55 0.13 243);
    --ink: oklch(0.2 0.005 250);
    /* Checks tab trend lines: categorical slots 1-2, validated against the card surface. */
    --viz-series-1: #2a78d6;
    --viz-series-2: #eb6834;
  }

  .dark {
    --bg: oklch(0.18 0.004 250);
    --fg: oklch(0.96 0.002 250);
    --card: oklch(0.21 0.005 250);
    --card-fg: oklch(0.96 0.002 250);
    --popover: oklch(0.23 0.005 250);
    --popover-fg: oklch(0.96 0.002 250);
    --primary: oklch(0.68 0.13 238);
    --primary-fg: oklch(0.15 0.01 250);
    --secondary: oklch(0.25 0.005 250);
    --secondary-fg: oklch(0.96 0.002 250);
    --muted: oklch(0.24 0.005 250);
    --muted-fg: oklch(0.7 0.006 250);
    --accent: oklch(0.27 0.006 250);
    --accent-fg: oklch(0.96 0.002 250);
    --destructive: oklch(0.64 0.22 27);
    --destructive-fg: oklch(0.985 0 0);
    --border-color: oklch(0.32 0.006 250);
    --input: oklch(0.45 0.006 250);
    --ring: oklch(0.68 0.13 238);
    --chart-1: oklch(0.68 0.13 238);
    --chart-2: oklch(0.72 0.13 155);
    --chart-3: oklch(0.8 0.13 85);
    --chart-4: oklch(0.64 0.2 25);
    --chart-5: oklch(0.62 0.01 70);
    --usage-1: #3987e5;
    --usage-2: #d95926;
    --usage-3: #199e70;
    --usage-other: #6b6a64;
    --sidebar: oklch(0.2 0.004 250);
    --sidebar-fg: oklch(0.94 0.006 85);
    --sidebar-primary: oklch(0.68 0.13 238);
    --sidebar-primary-fg: oklch(0.18 0.01 60);
    --sidebar-accent: oklch(0.27 0.006 250);
    --sidebar-accent-fg: oklch(0.94 0.006 85);
    --sidebar-border: oklch(0.32 0.006 250);
    --sidebar-ring: oklch(0.68 0.13 238);
    --ink: oklch(0.96 0.002 250);
    --viz-series-1: #3987e5;
    --viz-series-2: #d95926;
  }
}
