/**
 * Neo24 Design System — CSS Custom Properties
 * Reverse-Engineered from Neo24.Net
 * Supports Light & Dark (Default) Themes
 */

:root {
  /* Primitive Brand Green Scale */
  --neo-color-primary-50: #ecfdf5;
  --neo-color-primary-100: #d1fae5;
  --neo-color-primary-200: #a7f3d0;
  --neo-color-primary-300: #6ee7b7;
  --neo-color-primary-400: #49c799;
  --neo-color-primary-500: #34b77f;
  --neo-color-primary-600: #279a69;
  --neo-color-primary-700: #1f7d54;
  --neo-color-primary-800: #1a6344;
  --neo-color-primary-900: #134e35;
  --neo-color-primary-950: #082f1f;

  /* State Tokens */
  --neo-color-success: #10b981;
  --neo-color-warning: #f59e0b;
  --neo-color-destructive: #ef4444;
  --neo-color-info: #3b82f6;

  /* Typography Scale */
  /* Prefer local /fonts/site stacks (Sora + IBM Plex Mono), then redesign fallbacks */
  --neo-font-sans: 'Sora', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --neo-font-mono: 'IBM Plex Mono', 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  /* Spacing Scale */
  --neo-space-0_5: 0.125rem; /* 2px */
  --neo-space-1: 0.25rem;    /* 4px */
  --neo-space-1_5: 0.375rem; /* 6px */
  --neo-space-2: 0.5rem;     /* 8px */
  --neo-space-3: 0.75rem;    /* 12px */
  --neo-space-4: 1rem;       /* 16px */
  --neo-space-6: 1.5rem;     /* 24px */
  --neo-space-8: 2rem;       /* 32px */
  --neo-space-10: 2.5rem;    /* 40px */
  --neo-space-12: 3rem;      /* 48px */
  --neo-space-16: 4rem;      /* 64px */
  --neo-space-20: 5rem;      /* 80px */
  --neo-space-28: 7rem;      /* 112px */

  /* Border Radius */
  --neo-radius-sm: 0.25rem;  /* 4px */
  --neo-radius-md: 0.375rem; /* 6px */
  --neo-radius-lg: 0.5rem;   /* 8px */
  --neo-radius-xl: 0.75rem;  /* 12px */
  --neo-radius-2xl: 1rem;    /* 16px */
  --neo-radius-full: 9999px;

  /* Elevation Shadows */
  --neo-shadow-elevation-0: none;
  --neo-shadow-elevation-1: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --neo-shadow-elevation-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --neo-shadow-elevation-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --neo-shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);

  /* Light Theme Semantic Tokens */
  --background: hsl(0 0% 100%);
  --foreground: hsl(222 47% 11%);
  --card: hsl(0 0% 100%);
  --card-foreground: hsl(222 47% 11%);
  --popover: hsl(0 0% 100%);
  --popover-foreground: hsl(222 47% 11%);
  --primary: hsl(152 56% 40%);
  --primary-foreground: hsl(0 0% 100%);
  --secondary: hsl(210 40% 96%);
  --secondary-foreground: hsl(222 47% 11%);
  --muted: hsl(210 40% 96%);
  --muted-foreground: hsl(215 16% 47%);
  --accent: hsl(210 40% 96%);
  --accent-foreground: hsl(222 47% 11%);
  --destructive: hsl(0 84% 60%);
  --destructive-foreground: hsl(0 0% 100%);
  --border: hsl(214 32% 91%);
  --input: hsl(214 32% 91%);
  --ring: hsl(152 56% 40%);
}

/* Dark Theme (Default Production Mode) */
.dark, :root[data-theme="dark"] {
  --background: hsl(222 47% 6%);
  --foreground: hsl(210 40% 98%);
  --card: hsl(222 47% 8%);
  --card-foreground: hsl(210 40% 98%);
  --popover: hsl(222 47% 8%);
  --popover-foreground: hsl(210 40% 98%);
  --primary: hsl(152 56% 46%);
  --primary-foreground: hsl(222 47% 6%);
  --secondary: hsl(217 19% 14%);
  --secondary-foreground: hsl(210 40% 98%);
  --muted: hsl(217 19% 14%);
  --muted-foreground: hsl(215 20% 65%);
  --accent: hsl(217 19% 14%);
  --accent-foreground: hsl(210 40% 98%);
  --destructive: hsl(0 62% 30%);
  --destructive-foreground: hsl(210 40% 98%);
  --border: hsl(217 19% 20%);
  --input: hsl(217 19% 20%);
  --ring: hsl(152 56% 46%);

  /* Dark Elevation Shadows */
  --neo-shadow-elevation-1: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
  --neo-shadow-elevation-2: 0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -2px rgba(0, 0, 0, 0.5);
  --neo-shadow-elevation-3: 0 10px 15px -3px rgba(0, 0, 0, 0.6), 0 4px 6px -4px rgba(0, 0, 0, 0.6);
  --neo-shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.7);
  --neo-shadow-glow: 0 0 24px -4px rgba(52, 183, 127, 0.25);
}
