/* Ace Backoffice – Design-Tokens als CSS-Variablen.
   Einbinden in dashboard.html, admin_tenants.html, login.html, login_2fa.html, account.html
   und (ohne Tailwind) trainer_rueckmeldung.html.
   Modus: data-theme="hell|dunkel" am <html>. Mandanten-Akzent: --ace-accent-* serverseitig
   überschreiben (siehe accent.py). */
:root,[data-theme="hell"]{
  --ace-bg:#f7f6f3; --ace-surface:#ffffff; --ace-raised:#fbfaf8; --ace-sunken:#f0eee9;
  --ace-line:#e4e1da; --ace-line-strong:#cfcac0;
  --ace-text:#1e1d1a; --ace-text-muted:#5f5b53; --ace-text-subtle:#7a756c;
  --ace-ok:#2f8a4c;   --ace-ok-soft:#e4f2e8;   --ace-ok-text:#1d6435;
  --ace-warn:#c98a12; --ace-warn-soft:#fbf0d4; --ace-warn-text:#7d5200;
  --ace-err:#c8382b;  --ace-err-soft:#fbe4e1;  --ace-err-text:#9e2318;
  --ace-unk:#8a867e;  --ace-unk-soft:#eceae6;  --ace-unk-text:#4c4842;  /* „unbekannt“: immer gestrichelter Rand + Fragezeichen */
  --ace-msg-customer:#f0eee9; --ace-msg-human:#ffffff;                 /* Ace-Nachrichten: --ace-accent-soft */
  --ace-shadow-md:0 4px 16px rgba(30,29,26,.10);
  --ace-shadow-lg:0 16px 48px rgba(30,29,26,.18);
  --ace-scrim:rgba(30,29,26,.45);
  /* Standard-Akzent (Blau) */
  --ace-accent:#2c5ccf; --ace-accent-ink:#ffffff; --ace-accent-text:#2552c0;
  --ace-accent-soft:#e9eefb; --ace-accent-line:#c3d1f3; --ace-focus:#2552c0;
}
[data-theme="dunkel"]{
  --ace-bg:#141311; --ace-surface:#1d1c19; --ace-raised:#24221f; --ace-sunken:#191816;
  --ace-line:#33312c; --ace-line-strong:#48453f;
  --ace-text:#eceae5; --ace-text-muted:#b2ada3; --ace-text-subtle:#959086;
  --ace-ok:#4cae6c;   --ace-ok-soft:#17291d;   --ace-ok-text:#8fd6a5;
  --ace-warn:#e0a33a; --ace-warn-soft:#2d2411; --ace-warn-text:#f0c46d;
  --ace-err:#e5584b;  --ace-err-soft:#341b18;  --ace-err-text:#f5a097;
  --ace-unk:#8f8a81;  --ace-unk-soft:#2a2925;  --ace-unk-text:#c4bfb6;
  --ace-msg-customer:#24221f; --ace-msg-human:#1d1c19;
  --ace-shadow-md:0 4px 16px rgba(0,0,0,.5);
  --ace-shadow-lg:0 16px 48px rgba(0,0,0,.6);
  --ace-scrim:rgba(0,0,0,.6);
  --ace-accent:#5b86ea; --ace-accent-ink:#0e1320; --ace-accent-text:#93b2f5;
  --ace-accent-soft:#1c2540; --ace-accent-line:#30406b; --ace-focus:#93b2f5;
}
/* Geprüfte Beispiel-Akzente (Kontrast AA in hell und dunkel) */
[data-accent="gelb"]{--ace-accent:#f2c230;--ace-accent-ink:#1e1d1a;--ace-accent-text:#7f6000;--ace-accent-soft:#fdf5d8;--ace-accent-line:#efd98a;--ace-focus:#7f6000}
[data-accent="gruen"]{--ace-accent:#17784d;--ace-accent-ink:#ffffff;--ace-accent-text:#146b44;--ace-accent-soft:#e2f2ea;--ace-accent-line:#b2d9c4;--ace-focus:#146b44}
[data-theme="dunkel"][data-accent="gelb"]{--ace-accent:#f2c230;--ace-accent-ink:#1e1d1a;--ace-accent-text:#f2c84a;--ace-accent-soft:#2c2510;--ace-accent-line:#5a4a17;--ace-focus:#f2c84a}
[data-theme="dunkel"][data-accent="gruen"]{--ace-accent:#3aa673;--ace-accent-ink:#0b1a12;--ace-accent-text:#72cc9e;--ace-accent-soft:#13281d;--ace-accent-line:#24513a;--ace-focus:#72cc9e}

/* Nicht mit Tailwind-Utilities abbildbar: */
:focus-visible{outline:2px solid var(--ace-focus);outline-offset:2px}
.ace-unk-ring{border:1.5px dashed var(--ace-unk)}
.ace-safe-bottom{padding-bottom:max(12px,env(safe-area-inset-bottom))}
@media (prefers-reduced-motion:reduce){.fa-spin{animation:none}}
