/* ===========================================================================
   Assurgio Admin — Design-Tokens für Blazor Blueprint (shadcn/ui-Look).
   Basis ist Blueprints neutrale Zinc-Palette; angepasst wird NUR im Block
   „Anpassbar“ (Marke, Primärfarbe, Radius, Schrift). Wird VOR
   blazorblueprint.css geladen. Dark mode = Klasse `dark` auf <html>
   (gesetzt von js/admin.js). Keine Hex-Farben im Markup — Tokens lesen.
   ========================================================================= */

/* ------------------------------ Anpassbar ----------------------------- */
:root {
  /* Marke: Verlauf des Logo-Zeichens (Sidebar, Login). */
  --brand-from: #005bfe;
  --brand-to: #00081a;

  /* Primärfarbe (Buttons, Fokus, aktive Zustände). */
  --primary: var(--brand-from);
  --primary-foreground: #ffffff;
  --ring: var(--brand-from);

  /* Eckenradius (shadcn-Default .625rem). */
  --radius: .625rem;

  /* Schrift. Für die Schrift der Flutter-App die Inter-Zeile auskommentieren
     und die IBM-Plex-Zeile aktivieren (beide werden in App.razor geladen). */
  --font-sans: 'Inter', ui-sans-serif, system-ui, sans-serif;
  /* --font-sans: 'IBM Plex Sans', ui-sans-serif, system-ui, sans-serif; */
  --font-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
}
.dark {
  --primary: #3d7bff;
  --ring: #3d7bff;
}

/* --------------------- Basis: Blueprint/shadcn Zinc --------------------- */
:root {
  --background: oklch(1 0 0);
  --foreground: oklch(0.141 0.005 285.823);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.141 0.005 285.823);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.141 0.005 285.823);
  --secondary: oklch(0.967 0.001 286.375);
  --secondary-foreground: oklch(0.21 0.006 285.885);
  --muted: oklch(0.967 0.001 286.375);
  --muted-foreground: oklch(0.552 0.016 285.938);
  --accent: oklch(0.967 0.001 286.375);
  --accent-foreground: oklch(0.21 0.006 285.885);
  --destructive: oklch(0.577 0.245 27.325);
  --destructive-foreground: oklch(1 0 0);
  --border: oklch(0.92 0.004 286.32);
  --input: oklch(0.92 0.004 286.32);

  --chart-1: var(--primary);
  --chart-2: oklch(0.6 0.118 184.714);
  --chart-3: oklch(0.398 0.07 227.392);
  --chart-4: oklch(0.828 0.189 84.429);
  --chart-5: oklch(0.769 0.188 70.08);

  --sidebar: oklch(0.985 0 0);
  --sidebar-foreground: oklch(0.141 0.005 285.823);
  --sidebar-primary: var(--primary);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.967 0.001 286.375);
  --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
  --sidebar-border: oklch(0.92 0.004 286.32);
  --sidebar-ring: var(--ring);
}
.dark {
  --background: oklch(0.141 0.005 285.823);
  --foreground: oklch(0.985 0 0);
  --card: oklch(0.21 0.006 285.885);
  --card-foreground: oklch(0.985 0 0);
  --popover: oklch(0.21 0.006 285.885);
  --popover-foreground: oklch(0.985 0 0);
  --secondary: oklch(0.274 0.006 286.033);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.274 0.006 286.033);
  --muted-foreground: oklch(0.705 0.015 286.067);
  --accent: oklch(0.274 0.006 286.033);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.704 0.191 22.216);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 15%);

  --chart-2: #00a383;
  --chart-3: oklch(0.769 0.188 70.08);
  --chart-4: oklch(0.627 0.265 303.9);
  --chart-5: oklch(0.645 0.246 16.439);

  --sidebar: oklch(0.21 0.006 285.885);
  --sidebar-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.274 0.006 286.033);
  --sidebar-accent-foreground: oklch(0.985 0 0);
  --sidebar-border: oklch(1 0 0 / 10%);
}

/* ------------------- Assurgio-Extras (Status, Rollen) ------------------- */
:root {
  --primary-soft: color-mix(in oklch, var(--primary) 10%, transparent);
  --success: oklch(0.6 0.13 155);
  --success-soft: color-mix(in oklch, var(--success) 12%, transparent);
  --warn: oklch(0.68 0.15 70);
  --warn-soft: color-mix(in oklch, var(--warn) 14%, transparent);
  /* Kräftiges Orange für Text/Kanten auf warn-getönten Flächen (Kontrast ≥ 4.5:1). */
  --warn-strong: oklch(0.52 0.14 55);
  --danger: var(--destructive);
  --danger-soft: color-mix(in oklch, var(--destructive) 10%, transparent);
  --purple: oklch(0.55 0.2 290);
  --purple-soft: color-mix(in oklch, var(--purple) 12%, transparent);
  --navy-soft: var(--secondary);
  --navy-text: var(--secondary-foreground);
  --border-soft: var(--border);
}

.dark {
  --warn-strong: oklch(0.8 0.14 70);
}

/* ----- Legacy-Aliase für noch nicht umgebaute Seiten (entfallen, GOP-59) ---- */
:root {
  --acc: var(--primary);
  --accSoft: var(--primary-soft);
  --accGlow: transparent;
  --bg: var(--background);
  --surface: var(--card);
  --surface2: var(--secondary);
  --text: var(--foreground);
  --successSoft: var(--success-soft);
  --warnSoft: var(--warn-soft);
  --purpleSoft: var(--purple-soft);
  --sbBg: var(--brand-to);
  --sbText: var(--sidebar-foreground);
  --sbMuted: var(--muted-foreground);
  --sbBorder: var(--sidebar-border);
  --sbPill: var(--sidebar-accent);
  --switchOff: var(--input);
  --dashed: var(--border);
  --mono: var(--font-mono);
}
