/* themes.css — Hell/Dunkel-Theme via CSS Custom Properties */

:root,
[data-theme="dark"] {
  /* Hintergründe */
  --bg-0: #0f172a;          /* Tiefstes Dunkel */
  --bg-1: #1e293b;          /* Karten-Hintergrund */
  --bg-2: #334155;          /* Elevated (Modals, Dropdowns) */
  --bg-3: #475569;          /* Hover-States */

  /* Borders */
  --border-0: #1e293b;
  --border-1: #334155;
  --border-2: #475569;

  /* Text */
  --text-0: #f1f5f9;        /* Primär */
  --text-1: #94a3b8;        /* Sekundär */
  --text-2: #64748b;        /* Deaktiviert / Placeholder */

  /* Farben */
  --blue: #3b82f6;
  --blue-dark: #1d4ed8;
  --blue-light: #60a5fa;
  --green: #22c55e;
  --green-dark: #15803d;
  --green-light: #4ade80;
  --red: #ef4444;
  --red-dark: #b91c1c;
  --red-light: #f87171;
  --orange: #f97316;
  --orange-dark: #c2410c;
  --orange-light: #fb923c;
  --yellow: #eab308;
  --yellow-dark: #a16207;
  --purple: #a855f7;

  /* Semantisch */
  --color-primary: var(--blue);
  --color-primary-dark: var(--blue-dark);
  --color-success: var(--green);
  --color-warning: var(--orange);
  --color-danger: var(--red);
  --color-info: var(--blue-light);

  /* Timeline-Farben */
  --timeline-free: var(--green);
  --timeline-blocked: var(--red);
  --timeline-partial: var(--yellow);
  --timeline-vacation: var(--blue);

  /* Schatten */
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.4), 0 2px 4px -2px rgba(0,0,0,0.4);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.5), 0 4px 6px -4px rgba(0,0,0,0.5);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.6), 0 8px 10px -6px rgba(0,0,0,0.6);

  /* Radii */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;

  /* Typography */
  --font-sans: system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;
  --text-xs: 11px;
  --text-sm: 13px;
  --text-base: 15px;
  --text-lg: 17px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 30px;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  /* Z-Index */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-modal-backdrop: 300;
  --z-modal: 400;
  --z-toast: 500;

  /* Transitions */
  --transition-fast: 120ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;

  /* Layout */
  --header-height: 56px;
  --sidebar-width: 260px;
}

[data-theme="light"] {
  --bg-0: #f8fafc;
  --bg-1: #ffffff;
  --bg-2: #f1f5f9;
  --bg-3: #e2e8f0;

  --border-0: #e2e8f0;
  --border-1: #cbd5e1;
  --border-2: #94a3b8;

  --text-0: #0f172a;
  --text-1: #475569;
  --text-2: #94a3b8;

  --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.08), 0 2px 4px -2px rgba(0,0,0,0.05);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.10), 0 4px 6px -4px rgba(0,0,0,0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.12), 0 8px 10px -6px rgba(0,0,0,0.05);
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --bg-0: #f8fafc;
    --bg-1: #ffffff;
    --bg-2: #f1f5f9;
    --bg-3: #e2e8f0;
    --border-0: #e2e8f0;
    --border-1: #cbd5e1;
    --border-2: #94a3b8;
    --text-0: #0f172a;
    --text-1: #475569;
    --text-2: #94a3b8;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.08), 0 2px 4px -2px rgba(0,0,0,0.05);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.10), 0 4px 6px -4px rgba(0,0,0,0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.12), 0 8px 10px -6px rgba(0,0,0,0.05);
  }
}
