/* ── PASTE-START ─────────────────────────────────────────────────────────── */
:root {
  /* Core Surface Colors */
  --background: 252 252 253; /* #FCFCFD page background */
  --background-secondary: 249 250 251; /* #F9FAFB subtle fills / hover */
  --background-tertiary: 243 244 246; /* #F3F4F6 deeper subtle fill */
  --card: 255 255 255; /* #FFFFFF cards / modal panels */
  --card-hover: 249 250 251; /* #F9FAFB card hover state */
  --card-foreground: 17 24 39; /* #111827 text on cards */
  --card-border: 229 231 235; /* #E5E7EB card edge */
  --border: 229 231 235; /* #E5E7EB default container border */
  --input: 209 213 219; /* #D1D5DB input field borders */
  --popover: 255 255 255; /* #FFFFFF popover / dropdown surface */
  --popover-foreground: 17 24 39; /* #111827 text in popovers */

  /* Primary / Accent — the brand. ONE color: every brand shade in the app
     comes from --primary. Hover/press differentiation comes from the
     .hover-elevate overlay, tints from alpha — no darker/lighter sibling. */
  --primary: 127 86 217; /* #7F56D9 */
  --primary-foreground: 255 255 255; /* label on solid primary fills */
  --secondary: 243 244 246; /* #F3F4F6 neutral control fill */
  --secondary-foreground: 55 65 81; /* #374151 text on secondary */
  --accent: 243 244 246; /* #F3F4F6 subtle highlight fill */
  --accent-foreground: 55 65 81; /* #374151 text on accent */
  --ring: 127 86 217; /* focus ring accent */

  /* Text */
  --foreground: 17 24 39; /* #111827 body / heading text */
  --muted: 243 244 246; /* #F3F4F6 muted fill */
  --muted-foreground: 107 114 128; /* #6B7280 secondary text */

  /* Status Colors — one color each, driving fills, text and icons */
  --success: 18 183 106; /* #12B76A */
  --warning: 247 144 9; /* #F79009 */
  /* Deliberately the DARKER red (#D92D20, not the brighter #F04438): this one
     color is both the solid danger-button fill and the error text/icon color,
     so it has to be able to carry a white label at 4.5:1. */
  --destructive: 217 45 32; /* #D92D20 */
  /* Labels on solid status fills. Light mode: white on all three. */
  --destructive-foreground: 255 255 255;
  --success-foreground: 255 255 255;
  --warning-foreground: 255 255 255;

  /* Sidebar */
  --sidebar: 255 255 255;
  --sidebar-foreground: 55 65 81; /* #374151 item text */
  --sidebar-border: 229 231 235;
  --sidebar-primary: 127 86 217;
  --sidebar-primary-foreground: 255 255 255;
  --sidebar-accent: 243 244 246; /* active item fill */
  --sidebar-accent-foreground: 83 56 158; /* #53389E active item text */
  --sidebar-ring: 127 86 217;

  /* Chart Colors — categorical series palette */
  --chart-1: 127 86 217; /* brand */
  --chart-2: 26 86 219; /* blue */
  --chart-3: 126 58 242; /* purple */
  --chart-4: 247 144 9; /* orange */
  --chart-5: 18 183 106; /* green */
  --chart-6: 6 182 212; /* cyan */
  --chart-7: 236 72 153; /* pink */

  /* Interaction — hover/press paint this translucent film OVER whatever is
     underneath (button, badge, row, nav item), so no darker shade is needed.
     Light theme darkens; dark theme lightens. */
  --elevate-1: rgba(0, 0, 0, 0.03); /* hover */
  --elevate-2: rgba(0, 0, 0, 0.08); /* pressed / active */
  --button-outline: rgba(0, 0, 0, 0.1);
  --badge-outline: rgba(0, 0, 0, 0.05);

  /* Typography — full font stacks. NOTE: `var(--font-inter)` is the self-hosted
     Inter loaded by next/font in layout.tsx. To use a different font, replace
     the stack AND make sure the font is actually loaded (system font, a
     <link> to Google Fonts, or a next/font import). */
  --font-sans: var(--font-inter), 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-serif: Georgia, 'Times New Roman', serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

.dark {
  /* Core Surface Colors */
  --background: 10 13 20;
  --background-secondary: 31 36 47;
  --background-tertiary: 26 29 36;
  --card: 22 27 38;
  --card-hover: 31 36 47;
  --card-foreground: 243 244 246;
  --card-border: 38 42 51;
  --border: 38 42 51;
  --input: 54 59 69;
  --popover: 22 27 38;
  --popover-foreground: 243 244 246;

  /* Primary / Accent */
  --primary: 158 119 237; /* #9E77ED */
  --primary-foreground: 255 255 255; /* white label, as before the retheme */
  --secondary: 26 29 36;
  --secondary-foreground: 199 204 213;
  --accent: 38 42 51;
  --accent-foreground: 199 204 213;
  --ring: 158 119 237;

  /* Text */
  --foreground: 243 244 246;
  --muted: 26 29 36;
  --muted-foreground: 138 146 163;

  /* Status Colors */
  --success: 50 213 131; /* #32D583 */
  --warning: 253 176 34; /* #FDB022 */
  --destructive: 249 112 102; /* #F97066 */
  /* Dark-mode status colors are LIGHT (so they read on a dark page), which
     means a white label on a solid status fill is unreadable — these flip to
     dark ink. Applied by the `.dark … .text-white` rule further down. */
  --destructive-foreground: 69 10 10; /* #450A0A */
  --success-foreground: 5 46 22; /* #052E16 */
  --warning-foreground: 67 20 7; /* #431407 */

  /* Sidebar */
  --sidebar: 22 27 38;
  --sidebar-foreground: 199 204 213;
  --sidebar-border: 38 42 51;
  --sidebar-primary: 158 119 237;
  --sidebar-primary-foreground: 255 255 255;
  --sidebar-accent: 26 29 36;
  --sidebar-accent-foreground: 182 146 246; /* #B692F6 active item text */
  --sidebar-ring: 158 119 237;

  /* Chart Colors */
  --chart-1: 158 119 237;
  --chart-2: 92 141 239;
  --chart-3: 159 122 255;
  --chart-4: 253 176 34;
  --chart-5: 50 213 131;
  --chart-6: 34 211 238;
  --chart-7: 244 114 182;

  /* Interaction — dark theme LIGHTENS on hover/press */
  --elevate-1: rgba(255, 255, 255, 0.04);
  --elevate-2: rgba(255, 255, 255, 0.09);
  --button-outline: rgba(255, 255, 255, 0.1);
  --badge-outline: rgba(255, 255, 255, 0.05);

  /* Typography — inherits :root unless a theme needs a different face */
}
/* ── PASTE-END ───────────────────────────────────────────────────────────── */
