/*
 * Theme-Variablen 1:1 zur Referenz (adepto-app-reference/globals.css).
 * Exakte oklch-Werte fuer Hell/Dunkel, aktiviert ueber data-theme="orange" am <html>.
 * Laedt nach Lumeos _orange.css -> ueberschreibt dessen HSL-Palette (gleiche Selektor-Spezifitaet, spaeter im Cascade).
 */

[data-theme="orange"] {
    --radius: 0.5rem;

    --color-background: oklch(100% 0.000 90);
    --color-foreground: oklch(22% 0.004 165);

    --color-card: oklch(96.7% 0.000 90);
    --color-card-foreground: oklch(22% 0.004 165);

    --color-popover: oklch(100% 0.000 90);
    --color-popover-foreground: oklch(22% 0.004 165);

    --color-primary: oklch(52% 0.18 38);
    --color-primary-foreground: oklch(99% 0 0);

    --color-secondary: oklch(93.7% 0.000 90);
    --color-secondary-foreground: oklch(22% 0.004 165);

    --color-muted: oklch(96.7% 0.000 90);
    --color-muted-foreground: oklch(47.7% 0.005 90);

    --color-accent: oklch(95% 0.008 50);
    --color-accent-foreground: oklch(20% 0.005 50);

    --color-destructive: oklch(53% 0.19 25);
    --color-destructive-foreground: oklch(99% 0 0);

    --color-success: oklch(55% 0.13 155);
    --color-success-foreground: oklch(99% 0 0);

    --color-warning: oklch(78% 0.16 75);
    --color-warning-foreground: oklch(15% 0.01 75);

    --color-info: oklch(55% 0.13 240);
    --color-info-foreground: oklch(99% 0 0);

    --color-border: oklch(84.5% 0.000 90);
    --color-input: oklch(84.5% 0.000 90);
    --color-ring: oklch(52% 0.18 38);

    --color-sidebar: oklch(96.7% 0.000 90);
    --color-sidebar-foreground: oklch(22% 0.004 165);
    --color-sidebar-primary: oklch(52% 0.18 38);
    --color-sidebar-primary-foreground: oklch(99% 0 0);
    --color-sidebar-accent: oklch(95% 0.008 50);
    --color-sidebar-accent-foreground: oklch(22% 0.004 165);
    --color-sidebar-border: oklch(84.5% 0.000 90);
    --color-sidebar-ring: oklch(52% 0.18 38);
}

[data-theme="orange"].dark,
[data-theme="orange"] .dark {
    --color-background: oklch(22% 0.000 90);
    --color-foreground: oklch(95% 0.000 90);

    --color-card: oklch(26% 0.000 90);
    --color-card-foreground: oklch(95% 0.000 90);

    --color-popover: oklch(28% 0.000 90);
    --color-popover-foreground: oklch(95% 0.000 90);

    --color-primary: oklch(65% 0.16 38);
    --color-primary-foreground: oklch(22% 0.000 90);

    --color-secondary: oklch(30% 0.000 90);
    --color-secondary-foreground: oklch(95% 0.000 90);

    --color-muted: oklch(30% 0.000 90);
    --color-muted-foreground: oklch(65% 0.000 90);

    --color-accent: oklch(32% 0.02 50);
    --color-accent-foreground: oklch(95% 0.000 90);

    --color-destructive: oklch(55% 0.17 25);
    --color-destructive-foreground: oklch(95% 0 0);

    --color-success: oklch(62% 0.13 155);
    --color-success-foreground: oklch(22% 0.01 155);

    --color-warning: oklch(78% 0.14 75);
    --color-warning-foreground: oklch(22% 0.01 75);

    --color-info: oklch(62% 0.13 240);
    --color-info-foreground: oklch(22% 0.01 240);

    --color-border: oklch(36% 0.000 90);
    --color-input: oklch(34% 0.000 90);
    --color-ring: oklch(65% 0.16 38);

    --color-sidebar: oklch(20% 0.000 90);
    --color-sidebar-foreground: oklch(92% 0.000 90);
    --color-sidebar-primary: oklch(65% 0.16 38);
    --color-sidebar-primary-foreground: oklch(99% 0 0);
    --color-sidebar-accent: oklch(32% 0.02 50);
    --color-sidebar-accent-foreground: oklch(92% 0.000 90);
    --color-sidebar-border: oklch(32% 0.000 90);
    --color-sidebar-ring: oklch(65% 0.16 38);
}

/*
 * Spezial-Themes ("Crazy Themes"): komplette eigene OKLCH-Token-Sets, die die GANZE Oberflaeche
 * umfaerben (nicht nur den Akzent). Aktiviert wie die Klassiker ueber data-theme="<name>" -
 * Lumeos themeManager.setScheme akzeptiert beliebige Namen. Jedes Theme definiert Hell UND Dunkel.
 */

/* --- Synthwave: Violett-Schwarz, Neon-Pink, Cyan-Akzente --- */
[data-theme="synthwave"] {
    --radius: 0.5rem;
    --color-background: oklch(97% 0.015 310);
    --color-foreground: oklch(25% 0.08 310);
    --color-card: oklch(94.5% 0.02 310);
    --color-card-foreground: oklch(25% 0.08 310);
    --color-popover: oklch(97% 0.015 310);
    --color-popover-foreground: oklch(25% 0.08 310);
    --color-primary: oklch(58% 0.24 350);
    --color-primary-foreground: oklch(99% 0 0);
    --color-secondary: oklch(92% 0.025 310);
    --color-secondary-foreground: oklch(25% 0.08 310);
    --color-muted: oklch(94.5% 0.02 310);
    --color-muted-foreground: oklch(48% 0.05 310);
    --color-accent: oklch(92% 0.035 330);
    --color-accent-foreground: oklch(25% 0.08 310);
    --color-destructive: oklch(53% 0.19 25);
    --color-destructive-foreground: oklch(99% 0 0);
    --color-success: oklch(55% 0.13 155);
    --color-success-foreground: oklch(99% 0 0);
    --color-warning: oklch(78% 0.16 75);
    --color-warning-foreground: oklch(15% 0.01 75);
    --color-info: oklch(55% 0.12 200);
    --color-info-foreground: oklch(99% 0 0);
    --color-border: oklch(84% 0.03 310);
    --color-input: oklch(84% 0.03 310);
    --color-ring: oklch(58% 0.24 350);
    --color-sidebar: oklch(94.5% 0.02 310);
    --color-sidebar-foreground: oklch(25% 0.08 310);
    --color-sidebar-primary: oklch(58% 0.24 350);
    --color-sidebar-primary-foreground: oklch(99% 0 0);
    --color-sidebar-accent: oklch(91% 0.04 330);
    --color-sidebar-accent-foreground: oklch(25% 0.08 310);
    --color-sidebar-border: oklch(84% 0.03 310);
    --color-sidebar-ring: oklch(58% 0.24 350);
}

[data-theme="synthwave"].dark,
[data-theme="synthwave"] .dark {
    --color-background: oklch(17% 0.045 310);
    --color-foreground: oklch(93% 0.02 310);
    --color-card: oklch(21% 0.05 310);
    --color-card-foreground: oklch(93% 0.02 310);
    --color-popover: oklch(23% 0.055 310);
    --color-popover-foreground: oklch(93% 0.02 310);
    --color-primary: oklch(67% 0.25 350);
    --color-primary-foreground: oklch(16% 0.05 350);
    --color-secondary: oklch(25% 0.055 310);
    --color-secondary-foreground: oklch(93% 0.02 310);
    --color-muted: oklch(25% 0.055 310);
    --color-muted-foreground: oklch(68% 0.04 310);
    --color-accent: oklch(29% 0.07 330);
    --color-accent-foreground: oklch(93% 0.02 310);
    --color-destructive: oklch(55% 0.17 25);
    --color-destructive-foreground: oklch(95% 0 0);
    --color-success: oklch(62% 0.13 155);
    --color-success-foreground: oklch(22% 0.01 155);
    --color-warning: oklch(78% 0.14 75);
    --color-warning-foreground: oklch(22% 0.01 75);
    --color-info: oklch(75% 0.13 200);
    --color-info-foreground: oklch(20% 0.04 200);
    --color-border: oklch(32% 0.06 310);
    --color-input: oklch(30% 0.055 310);
    --color-ring: oklch(67% 0.25 350);
    --color-sidebar: oklch(14.5% 0.045 310);
    --color-sidebar-foreground: oklch(91% 0.02 310);
    --color-sidebar-primary: oklch(67% 0.25 350);
    --color-sidebar-primary-foreground: oklch(99% 0 0);
    --color-sidebar-accent: oklch(27% 0.07 330);
    --color-sidebar-accent-foreground: oklch(91% 0.02 310);
    --color-sidebar-border: oklch(27% 0.05 310);
    --color-sidebar-ring: oklch(67% 0.25 350);
}

/* --- Matrix: Fast-Schwarz, Phosphor-Gruen --- */
[data-theme="matrix"] {
    --radius: 0.5rem;
    --color-background: oklch(97.5% 0.008 150);
    --color-foreground: oklch(24% 0.05 150);
    --color-card: oklch(95% 0.012 150);
    --color-card-foreground: oklch(24% 0.05 150);
    --color-popover: oklch(97.5% 0.008 150);
    --color-popover-foreground: oklch(24% 0.05 150);
    --color-primary: oklch(52% 0.16 150);
    --color-primary-foreground: oklch(99% 0 0);
    --color-secondary: oklch(93% 0.015 150);
    --color-secondary-foreground: oklch(24% 0.05 150);
    --color-muted: oklch(95% 0.012 150);
    --color-muted-foreground: oklch(47% 0.04 150);
    --color-accent: oklch(92.5% 0.025 150);
    --color-accent-foreground: oklch(24% 0.05 150);
    --color-destructive: oklch(53% 0.19 25);
    --color-destructive-foreground: oklch(99% 0 0);
    --color-success: oklch(52% 0.16 150);
    --color-success-foreground: oklch(99% 0 0);
    --color-warning: oklch(78% 0.16 75);
    --color-warning-foreground: oklch(15% 0.01 75);
    --color-info: oklch(55% 0.13 240);
    --color-info-foreground: oklch(99% 0 0);
    --color-border: oklch(85% 0.02 150);
    --color-input: oklch(85% 0.02 150);
    --color-ring: oklch(52% 0.16 150);
    --color-sidebar: oklch(95% 0.012 150);
    --color-sidebar-foreground: oklch(24% 0.05 150);
    --color-sidebar-primary: oklch(52% 0.16 150);
    --color-sidebar-primary-foreground: oklch(99% 0 0);
    --color-sidebar-accent: oklch(91.5% 0.03 150);
    --color-sidebar-accent-foreground: oklch(24% 0.05 150);
    --color-sidebar-border: oklch(85% 0.02 150);
    --color-sidebar-ring: oklch(52% 0.16 150);
}

[data-theme="matrix"].dark,
[data-theme="matrix"] .dark {
    --color-background: oklch(14% 0.015 150);
    --color-foreground: oklch(92% 0.05 150);
    --color-card: oklch(18% 0.02 150);
    --color-card-foreground: oklch(92% 0.05 150);
    --color-popover: oklch(20% 0.022 150);
    --color-popover-foreground: oklch(92% 0.05 150);
    --color-primary: oklch(76% 0.21 150);
    --color-primary-foreground: oklch(15% 0.04 150);
    --color-secondary: oklch(22% 0.025 150);
    --color-secondary-foreground: oklch(92% 0.05 150);
    --color-muted: oklch(22% 0.025 150);
    --color-muted-foreground: oklch(66% 0.07 150);
    --color-accent: oklch(26% 0.04 150);
    --color-accent-foreground: oklch(92% 0.05 150);
    --color-destructive: oklch(55% 0.17 25);
    --color-destructive-foreground: oklch(95% 0 0);
    --color-success: oklch(76% 0.21 150);
    --color-success-foreground: oklch(15% 0.04 150);
    --color-warning: oklch(78% 0.14 75);
    --color-warning-foreground: oklch(22% 0.01 75);
    --color-info: oklch(62% 0.13 240);
    --color-info-foreground: oklch(22% 0.01 240);
    --color-border: oklch(29% 0.04 150);
    --color-input: oklch(27% 0.035 150);
    --color-ring: oklch(76% 0.21 150);
    --color-sidebar: oklch(12% 0.014 150);
    --color-sidebar-foreground: oklch(90% 0.05 150);
    --color-sidebar-primary: oklch(76% 0.21 150);
    --color-sidebar-primary-foreground: oklch(12% 0.03 150);
    --color-sidebar-accent: oklch(24% 0.04 150);
    --color-sidebar-accent-foreground: oklch(90% 0.05 150);
    --color-sidebar-border: oklch(24% 0.03 150);
    --color-sidebar-ring: oklch(76% 0.21 150);
}

/* --- Nordlicht: Polarnacht-Blau, Aurora-Tuerkis --- */
[data-theme="nordlicht"] {
    --radius: 0.5rem;
    --color-background: oklch(97.5% 0.008 230);
    --color-foreground: oklch(26% 0.045 250);
    --color-card: oklch(95% 0.012 230);
    --color-card-foreground: oklch(26% 0.045 250);
    --color-popover: oklch(97.5% 0.008 230);
    --color-popover-foreground: oklch(26% 0.045 250);
    --color-primary: oklch(55% 0.11 185);
    --color-primary-foreground: oklch(99% 0 0);
    --color-secondary: oklch(93% 0.015 230);
    --color-secondary-foreground: oklch(26% 0.045 250);
    --color-muted: oklch(95% 0.012 230);
    --color-muted-foreground: oklch(48% 0.035 245);
    --color-accent: oklch(92.5% 0.025 200);
    --color-accent-foreground: oklch(26% 0.045 250);
    --color-destructive: oklch(53% 0.19 25);
    --color-destructive-foreground: oklch(99% 0 0);
    --color-success: oklch(55% 0.13 155);
    --color-success-foreground: oklch(99% 0 0);
    --color-warning: oklch(78% 0.16 75);
    --color-warning-foreground: oklch(15% 0.01 75);
    --color-info: oklch(58% 0.1 230);
    --color-info-foreground: oklch(99% 0 0);
    --color-border: oklch(85% 0.018 230);
    --color-input: oklch(85% 0.018 230);
    --color-ring: oklch(55% 0.11 185);
    --color-sidebar: oklch(95% 0.012 230);
    --color-sidebar-foreground: oklch(26% 0.045 250);
    --color-sidebar-primary: oklch(55% 0.11 185);
    --color-sidebar-primary-foreground: oklch(99% 0 0);
    --color-sidebar-accent: oklch(91.5% 0.03 200);
    --color-sidebar-accent-foreground: oklch(26% 0.045 250);
    --color-sidebar-border: oklch(85% 0.018 230);
    --color-sidebar-ring: oklch(55% 0.11 185);
}

[data-theme="nordlicht"].dark,
[data-theme="nordlicht"] .dark {
    --color-background: oklch(18% 0.035 250);
    --color-foreground: oklch(93% 0.015 230);
    --color-card: oklch(22% 0.04 250);
    --color-card-foreground: oklch(93% 0.015 230);
    --color-popover: oklch(24% 0.042 250);
    --color-popover-foreground: oklch(93% 0.015 230);
    --color-primary: oklch(76% 0.12 185);
    --color-primary-foreground: oklch(18% 0.05 190);
    --color-secondary: oklch(26% 0.045 250);
    --color-secondary-foreground: oklch(93% 0.015 230);
    --color-muted: oklch(26% 0.045 250);
    --color-muted-foreground: oklch(68% 0.03 240);
    --color-accent: oklch(30% 0.055 220);
    --color-accent-foreground: oklch(93% 0.015 230);
    --color-destructive: oklch(55% 0.17 25);
    --color-destructive-foreground: oklch(95% 0 0);
    --color-success: oklch(70% 0.13 160);
    --color-success-foreground: oklch(20% 0.03 160);
    --color-warning: oklch(78% 0.14 75);
    --color-warning-foreground: oklch(22% 0.01 75);
    --color-info: oklch(76% 0.09 230);
    --color-info-foreground: oklch(20% 0.04 230);
    --color-border: oklch(33% 0.05 250);
    --color-input: oklch(31% 0.045 250);
    --color-ring: oklch(76% 0.12 185);
    --color-sidebar: oklch(15% 0.035 253);
    --color-sidebar-foreground: oklch(91% 0.015 230);
    --color-sidebar-primary: oklch(76% 0.12 185);
    --color-sidebar-primary-foreground: oklch(16% 0.05 190);
    --color-sidebar-accent: oklch(28% 0.055 220);
    --color-sidebar-accent-foreground: oklch(91% 0.015 230);
    --color-sidebar-border: oklch(28% 0.04 250);
    --color-sidebar-ring: oklch(76% 0.12 185);
}

/* --- Espresso: Kaffee-/Sepiatoene, Karamell --- */
[data-theme="espresso"] {
    --radius: 0.5rem;
    --color-background: oklch(97% 0.015 85);
    --color-foreground: oklch(27% 0.04 60);
    --color-card: oklch(94.5% 0.02 85);
    --color-card-foreground: oklch(27% 0.04 60);
    --color-popover: oklch(97% 0.015 85);
    --color-popover-foreground: oklch(27% 0.04 60);
    --color-primary: oklch(55% 0.11 65);
    --color-primary-foreground: oklch(99% 0 0);
    --color-secondary: oklch(92% 0.025 85);
    --color-secondary-foreground: oklch(27% 0.04 60);
    --color-muted: oklch(94.5% 0.02 85);
    --color-muted-foreground: oklch(49% 0.04 65);
    --color-accent: oklch(91.5% 0.035 75);
    --color-accent-foreground: oklch(27% 0.04 60);
    --color-destructive: oklch(53% 0.19 25);
    --color-destructive-foreground: oklch(99% 0 0);
    --color-success: oklch(55% 0.13 155);
    --color-success-foreground: oklch(99% 0 0);
    --color-warning: oklch(72% 0.15 75);
    --color-warning-foreground: oklch(15% 0.01 75);
    --color-info: oklch(55% 0.13 240);
    --color-info-foreground: oklch(99% 0 0);
    --color-border: oklch(84% 0.03 85);
    --color-input: oklch(84% 0.03 85);
    --color-ring: oklch(55% 0.11 65);
    --color-sidebar: oklch(94.5% 0.02 85);
    --color-sidebar-foreground: oklch(27% 0.04 60);
    --color-sidebar-primary: oklch(55% 0.11 65);
    --color-sidebar-primary-foreground: oklch(99% 0 0);
    --color-sidebar-accent: oklch(90.5% 0.04 75);
    --color-sidebar-accent-foreground: oklch(27% 0.04 60);
    --color-sidebar-border: oklch(84% 0.03 85);
    --color-sidebar-ring: oklch(55% 0.11 65);
}

[data-theme="espresso"].dark,
[data-theme="espresso"] .dark {
    --color-background: oklch(20% 0.02 60);
    --color-foreground: oklch(93% 0.02 80);
    --color-card: oklch(24% 0.025 60);
    --color-card-foreground: oklch(93% 0.02 80);
    --color-popover: oklch(26% 0.027 60);
    --color-popover-foreground: oklch(93% 0.02 80);
    --color-primary: oklch(70% 0.11 70);
    --color-primary-foreground: oklch(20% 0.04 65);
    --color-secondary: oklch(28% 0.03 60);
    --color-secondary-foreground: oklch(93% 0.02 80);
    --color-muted: oklch(28% 0.03 60);
    --color-muted-foreground: oklch(67% 0.04 70);
    --color-accent: oklch(32% 0.04 65);
    --color-accent-foreground: oklch(93% 0.02 80);
    --color-destructive: oklch(55% 0.17 25);
    --color-destructive-foreground: oklch(95% 0 0);
    --color-success: oklch(62% 0.13 155);
    --color-success-foreground: oklch(22% 0.01 155);
    --color-warning: oklch(78% 0.14 75);
    --color-warning-foreground: oklch(22% 0.01 75);
    --color-info: oklch(62% 0.13 240);
    --color-info-foreground: oklch(22% 0.01 240);
    --color-border: oklch(34% 0.035 60);
    --color-input: oklch(32% 0.032 60);
    --color-ring: oklch(70% 0.11 70);
    --color-sidebar: oklch(17% 0.018 60);
    --color-sidebar-foreground: oklch(91% 0.02 80);
    --color-sidebar-primary: oklch(70% 0.11 70);
    --color-sidebar-primary-foreground: oklch(18% 0.04 65);
    --color-sidebar-accent: oklch(30% 0.04 65);
    --color-sidebar-accent-foreground: oklch(91% 0.02 80);
    --color-sidebar-border: oklch(29% 0.03 60);
    --color-sidebar-ring: oklch(70% 0.11 70);
}

/* --- Cyberpunk: hartes Schwarz, elektrisches Gelb --- */
[data-theme="cyberpunk"] {
    --radius: 0.5rem;
    --color-background: oklch(97.5% 0.01 100);
    --color-foreground: oklch(24% 0.03 100);
    --color-card: oklch(95% 0.015 100);
    --color-card-foreground: oklch(24% 0.03 100);
    --color-popover: oklch(97.5% 0.01 100);
    --color-popover-foreground: oklch(24% 0.03 100);
    --color-primary: oklch(70% 0.14 100);
    --color-primary-foreground: oklch(20% 0.04 100);
    --color-secondary: oklch(93% 0.02 100);
    --color-secondary-foreground: oklch(24% 0.03 100);
    --color-muted: oklch(95% 0.015 100);
    --color-muted-foreground: oklch(47% 0.03 100);
    --color-accent: oklch(92% 0.04 105);
    --color-accent-foreground: oklch(24% 0.03 100);
    --color-destructive: oklch(53% 0.19 25);
    --color-destructive-foreground: oklch(99% 0 0);
    --color-success: oklch(55% 0.13 155);
    --color-success-foreground: oklch(99% 0 0);
    --color-warning: oklch(72% 0.15 75);
    --color-warning-foreground: oklch(15% 0.01 75);
    --color-info: oklch(58% 0.11 195);
    --color-info-foreground: oklch(99% 0 0);
    --color-border: oklch(85% 0.02 100);
    --color-input: oklch(85% 0.02 100);
    --color-ring: oklch(70% 0.14 100);
    --color-sidebar: oklch(95% 0.015 100);
    --color-sidebar-foreground: oklch(24% 0.03 100);
    --color-sidebar-primary: oklch(70% 0.14 100);
    --color-sidebar-primary-foreground: oklch(20% 0.04 100);
    --color-sidebar-accent: oklch(91% 0.045 105);
    --color-sidebar-accent-foreground: oklch(24% 0.03 100);
    --color-sidebar-border: oklch(85% 0.02 100);
    --color-sidebar-ring: oklch(70% 0.14 100);
}

[data-theme="cyberpunk"].dark,
[data-theme="cyberpunk"] .dark {
    --color-background: oklch(15% 0.012 100);
    --color-foreground: oklch(94% 0.03 100);
    --color-card: oklch(19% 0.016 100);
    --color-card-foreground: oklch(94% 0.03 100);
    --color-popover: oklch(21% 0.018 100);
    --color-popover-foreground: oklch(94% 0.03 100);
    --color-primary: oklch(90% 0.19 105);
    --color-primary-foreground: oklch(20% 0.05 105);
    --color-secondary: oklch(23% 0.02 100);
    --color-secondary-foreground: oklch(94% 0.03 100);
    --color-muted: oklch(23% 0.02 100);
    --color-muted-foreground: oklch(66% 0.04 100);
    --color-accent: oklch(27% 0.035 105);
    --color-accent-foreground: oklch(94% 0.03 100);
    --color-destructive: oklch(55% 0.17 25);
    --color-destructive-foreground: oklch(95% 0 0);
    --color-success: oklch(62% 0.13 155);
    --color-success-foreground: oklch(22% 0.01 155);
    --color-warning: oklch(78% 0.14 75);
    --color-warning-foreground: oklch(22% 0.01 75);
    --color-info: oklch(80% 0.12 195);
    --color-info-foreground: oklch(20% 0.04 195);
    --color-border: oklch(30% 0.025 100);
    --color-input: oklch(28% 0.022 100);
    --color-ring: oklch(90% 0.19 105);
    --color-sidebar: oklch(12.5% 0.01 100);
    --color-sidebar-foreground: oklch(92% 0.03 100);
    --color-sidebar-primary: oklch(90% 0.19 105);
    --color-sidebar-primary-foreground: oklch(16% 0.04 105);
    --color-sidebar-accent: oklch(25% 0.035 105);
    --color-sidebar-accent-foreground: oklch(92% 0.03 100);
    --color-sidebar-border: oklch(25% 0.02 100);
    --color-sidebar-ring: oklch(90% 0.19 105);
}

/* --- Tiefsee: Marineblau-Schwarz, biolumineszentes Cyan --- */
[data-theme="tiefsee"] {
    --radius: 0.5rem;
    --color-background: oklch(97.5% 0.012 220);
    --color-foreground: oklch(25% 0.04 240);
    --color-card: oklch(95% 0.016 220);
    --color-card-foreground: oklch(25% 0.04 240);
    --color-popover: oklch(97.5% 0.012 220);
    --color-popover-foreground: oklch(25% 0.04 240);
    --color-primary: oklch(55% 0.12 210);
    --color-primary-foreground: oklch(99% 0 0);
    --color-secondary: oklch(93% 0.02 220);
    --color-secondary-foreground: oklch(25% 0.04 240);
    --color-muted: oklch(95% 0.016 220);
    --color-muted-foreground: oklch(48% 0.035 235);
    --color-accent: oklch(92% 0.03 210);
    --color-accent-foreground: oklch(25% 0.04 240);
    --color-destructive: oklch(53% 0.19 25);
    --color-destructive-foreground: oklch(99% 0 0);
    --color-success: oklch(55% 0.13 155);
    --color-success-foreground: oklch(99% 0 0);
    --color-warning: oklch(78% 0.16 75);
    --color-warning-foreground: oklch(15% 0.01 75);
    --color-info: oklch(58% 0.1 230);
    --color-info-foreground: oklch(99% 0 0);
    --color-border: oklch(85% 0.02 220);
    --color-input: oklch(85% 0.02 220);
    --color-ring: oklch(55% 0.12 210);
    --color-sidebar: oklch(95% 0.016 220);
    --color-sidebar-foreground: oklch(25% 0.04 240);
    --color-sidebar-primary: oklch(55% 0.12 210);
    --color-sidebar-primary-foreground: oklch(99% 0 0);
    --color-sidebar-accent: oklch(91% 0.035 210);
    --color-sidebar-accent-foreground: oklch(25% 0.04 240);
    --color-sidebar-border: oklch(85% 0.02 220);
    --color-sidebar-ring: oklch(55% 0.12 210);
}

[data-theme="tiefsee"].dark,
[data-theme="tiefsee"] .dark {
    --color-background: oklch(16% 0.03 240);
    --color-foreground: oklch(94% 0.015 220);
    --color-card: oklch(20% 0.035 240);
    --color-card-foreground: oklch(94% 0.015 220);
    --color-popover: oklch(22% 0.037 240);
    --color-popover-foreground: oklch(94% 0.015 220);
    --color-primary: oklch(79% 0.13 205);
    --color-primary-foreground: oklch(19% 0.05 210);
    --color-secondary: oklch(24% 0.04 240);
    --color-secondary-foreground: oklch(94% 0.015 220);
    --color-muted: oklch(24% 0.04 240);
    --color-muted-foreground: oklch(67% 0.035 230);
    --color-accent: oklch(28% 0.05 225);
    --color-accent-foreground: oklch(94% 0.015 220);
    --color-destructive: oklch(55% 0.17 25);
    --color-destructive-foreground: oklch(95% 0 0);
    --color-success: oklch(66% 0.13 165);
    --color-success-foreground: oklch(20% 0.03 165);
    --color-warning: oklch(78% 0.14 75);
    --color-warning-foreground: oklch(22% 0.01 75);
    --color-info: oklch(74% 0.09 230);
    --color-info-foreground: oklch(20% 0.04 230);
    --color-border: oklch(31% 0.045 240);
    --color-input: oklch(29% 0.04 240);
    --color-ring: oklch(79% 0.13 205);
    --color-sidebar: oklch(13% 0.028 243);
    --color-sidebar-foreground: oklch(92% 0.015 220);
    --color-sidebar-primary: oklch(79% 0.13 205);
    --color-sidebar-primary-foreground: oklch(17% 0.05 210);
    --color-sidebar-accent: oklch(26% 0.05 225);
    --color-sidebar-accent-foreground: oklch(92% 0.015 220);
    --color-sidebar-border: oklch(26% 0.04 240);
    --color-sidebar-ring: oklch(79% 0.13 205);
}

/* Sidebar-Nav exakt wie die shadcn-Referenz: kompakte Items (h-8 / px-2 / gap-2 / rounded-md),
   Icons 16px (size-4). Viele Kleinigkeiten, die zusammen die Sidebar an die Referenz angleichen. */
[data-sidebar-menu-button] {
    height: 2rem;            /* h-8 = 32px (war ~37px) */
    padding-left: 0.5rem;    /* px-2 */
    padding-right: 0.5rem;
    gap: 0.5rem;             /* gap-2 (war 12px) */
    border-radius: var(--radius-md);
    font-size: 0.875rem;     /* text-sm */
}

[data-sidebar-menu-button] svg {
    width: 1rem;             /* size-4 = 16px */
    height: 1rem;
}

[data-sidebar-menu-button][aria-current="page"],
[data-sidebar-menu-button].active {
    background: var(--color-sidebar-accent);
    color: var(--color-sidebar-accent-foreground);
    font-weight: 500;
    border-radius: var(--radius-md); /* dezenter als der frühere 10px-Radius */
}

html, body, [data-theme] {
    transition-property: background-color, border-color, color;
    transition-duration: 150ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---------------------------------------------------------------------------
   Kompakte Kennzahl-Kacheln (Mike 26.08.2026: "viele solche Kacheln sind viel
   zu gross" - 150px hohe Kachel fuer EINE Zahl).

   Warum hier und nicht am Bauteil: Lumeos SparkCard und Statistic haben einen
   Size-Parameter, KpiCard NICHT - dessen Polsterung (p-5) und Wertgroesse
   (text-3xl) sind fest. Eine Gegenklasse ueber Class waere ein Gleichstand
   gleicher Spezifitaet, und den entscheidet die alphabetische Reihenfolge im
   erzeugten Tailwind-Stylesheet, nicht die Absicht (siehe Heading-Befund,
   main 2c1ba519: p-4 verliert gegen p-5, weil "4" vor "5" steht).

   Diese Datei wird NACH tailwind.css eingebunden, und der Wert-Selektor hat
   mit zwei Klassen die hoehere Spezifitaet - beides gewinnt also verlaesslich,
   ohne !important. Faellt weg, sobald KpiCard einen Size-Parameter bekommt
   (gemeldet in docs/lumeo-feedback.md).
   --------------------------------------------------------------------------- */
.kachel-kompakt {
    padding: 0.875rem;
    /* Kacheln in einem Link-Rahmen (<a> um die Kachel, fuer Klickbarkeit + Hover) erben dessen
       Streckung im Raster NICHT von allein - ohne das steht genau die eine Kachel kuerzer als ihre
       Nachbarn und die Reihe franst unten aus. */
    height: 100%;
}

/* Wert der Kachel auf dieselbe Groesse wie bei SparkCard (24px) - damit
   nebeneinanderstehende Kacheln beider Bauteile dieselbe Schrift tragen. */
.kachel-kompakt .text-3xl {
    font-size: var(--text-2xl);
    line-height: var(--text-2xl--line-height);
}

/* ---------------------------------------------------------------------------
   Lade-Skelette neutral statt markenfarben.

   Lumeos Skeleton faerbt seine Balken mit bg-primary/10. Im Orange-Design ergibt
   das ein blasses Rosa, das wie eine Warnung aussieht statt wie "hier kommt
   gleich Inhalt". Ein Skelett soll nichts bedeuten - es soll die FORM zeigen.

   Zwei Klassen im Selektor (0,2,0) schlagen die einzelne Utility-Klasse, und die
   Datei wird ohnehin nach tailwind.css geladen.
   --------------------------------------------------------------------------- */
.animate-pulse.bg-primary\/10 {
    background-color: var(--color-muted);
}
