/* =========================================================
   Stadtwerke Kamernstedt – gemeinsames Hell-/Dunkel-Design
   Diese Datei wird von allen sichtbaren Seiten verwendet.
   ========================================================= */
:root,
:root[data-theme="light"]{
  color-scheme:light;
  --accent:#f45112;
  --accent2:#ff7a1a;
  --text:#171717;
  --text-muted:#70747a;
  --page-bg:#f5f6f7;
  --panel-bg:#ffffff;
  --line:#e2e4e7;
  --soft-bg:#fafafa;
  --input-bg:#ffffff;
  --input-text:#202124;
  --input-border:#d9dce0;
  --label-text:#55595f;
  --placeholder:#8a8f96;
  --nav-text:#64686d;
  --button-bg:transparent;
  --button-text:#64686d;
  --button-hover-bg:#fff1e9;
  --button-hover-text:#f45112;
  --button-border:#e2e4e7;
  --badge-bg:#fff1e9;
  --badge-text:#f45112;
  --meta-bg:#f4f5f6;
  --meta-text:#64686d;
  --danger-bg:#fff1f1;
  --danger-text:#c83b3b;
  --required:#c83b3b;
  --hero-start:#ffffff;
  --hero-middle:#fff7f2;
  --hero-end:#ffe8dc;
  --hero-border:#ffd0b9;
  --hero-logo-border:#ffd3bf;
  --warning-text:#8a5a00;
  --warning-bg:#fff8e6;
  --warning-border:#f0d48a;
  --toast-bg:#222222;
  --toast-text:#ffffff;
  --upload-border:#cfd3d7;
  --modal-shadow:rgba(0,0,0,.24);
  --backdrop:rgba(0,0,0,.45);
  --green:#2d9964;
  --red:#c83b3b;
  --shadow:0 14px 34px rgba(15,20,25,.08);
  --card-shadow:0 8px 22px rgba(10,20,30,.04);

  /* Aliase für die öffentliche Seite / Login-Seiten */
  --ink:var(--text);
  --muted:var(--text-muted);
  --bg:#ffffff;
  --panel:var(--panel-bg);
  --soft:#f6f7f8;
  --dark:#222629;
  --public-header:rgba(255,255,255,.96);
  --public-card:#ffffff;
  --public-hero-1:#ffffff;
  --public-hero-2:#fff8f4;
  --public-hero-3:#ffe9de;
  --success-bg:#eaf8f0;
  --success-text:#1e8a57;
  --error-bg:#fff0f0;
  --error-text:#a82424;
  --error-border:#f0bcbc;
}

:root[data-theme="dark"]{
  color-scheme:dark;
  --accent:#ff7a3d;
  --accent2:#ff9a63;
  --text:#f1f3f5;
  --text-muted:#a7adb5;
  --page-bg:#111315;
  --panel-bg:#1a1d20;
  --line:#32363b;
  --soft-bg:#151719;
  --input-bg:#14171a;
  --input-text:#f1f3f5;
  --input-border:#3a3f45;
  --label-text:#c0c5cb;
  --placeholder:#737a83;
  --nav-text:#aeb3ba;
  --button-bg:transparent;
  --button-text:#aeb3ba;
  --button-hover-bg:#322118;
  --button-hover-text:#ff7a3d;
  --button-border:#32363b;
  --badge-bg:#382219;
  --badge-text:#ff8b54;
  --meta-bg:#25292d;
  --meta-text:#b9bec5;
  --danger-bg:#352020;
  --danger-text:#ff8b8b;
  --required:#ff8585;
  --hero-start:#1a1d20;
  --hero-middle:#211b18;
  --hero-end:#2b1b14;
  --hero-border:#57301e;
  --hero-logo-border:#57301e;
  --warning-text:#ffd98a;
  --warning-bg:#2b2415;
  --warning-border:#66542c;
  --toast-bg:#050607;
  --toast-text:#ffffff;
  --upload-border:#454b52;
  --modal-shadow:rgba(0,0,0,.45);
  --backdrop:rgba(0,0,0,.68);
  --green:#52b788;
  --red:#ff7070;
  --shadow:0 14px 34px rgba(0,0,0,.32);
  --card-shadow:0 8px 22px rgba(0,0,0,.18);

  --ink:var(--text);
  --muted:var(--text-muted);
  --bg:#111315;
  --panel:var(--panel-bg);
  --soft:#151719;
  --dark:#f1f3f5;
  --public-header:rgba(17,19,21,.96);
  --public-card:#1a1d20;
  --public-hero-1:#1a1d20;
  --public-hero-2:#211b18;
  --public-hero-3:#2b1b14;
  --success-bg:#173326;
  --success-text:#70d8a5;
  --error-bg:#351d1d;
  --error-text:#ff9a9a;
  --error-border:#643535;
}

html,body{background-color:var(--page-bg);color:var(--text)}
input,select,textarea{background:var(--input-bg);color:var(--input-text);border-color:var(--input-border)}

/* Einheitlicher Theme-Schalter auf allen Seiten */
.global-theme-toggle,
[data-theme-toggle]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:38px;
  border:1px solid var(--button-border);
  border-radius:999px;
  background:var(--panel-bg);
  color:var(--button-text);
  padding:8px 12px;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
  transition:background .18s,color .18s,border-color .18s,transform .18s;
}
.global-theme-toggle:hover,
[data-theme-toggle]:hover{
  background:var(--button-hover-bg);
  color:var(--button-hover-text);
  border-color:var(--accent);
  transform:translateY(-1px);
}
.global-theme-toggle.floating{
  position:fixed;
  right:18px;
  top:18px;
  z-index:120;
  box-shadow:var(--card-shadow);
}

/* Hilfsklassen für eigenständige Verwaltungs-/Loginseiten */
.theme-page{background:var(--page-bg)!important;color:var(--text)!important}
.theme-panel{background:var(--panel-bg)!important;border-color:var(--line)!important;color:var(--text)!important}
.theme-muted{color:var(--text-muted)!important}

@media(max-width:560px){
  .global-theme-toggle.floating{right:10px;top:10px;padding:8px 10px}
  .global-theme-toggle .theme-label{display:none}
}

/* Öffentliche Startseite */
.public-page{background:var(--bg)!important;color:var(--ink)!important}
.public-page .header{background:var(--public-header)!important;border-color:var(--line)!important}
.public-page nav a,.public-page .login{color:var(--nav-text)!important}
.public-page nav a:hover,.public-page .login:hover{background:var(--button-hover-bg)!important;color:var(--button-hover-text)!important}
.public-page .login,.public-page .menu,.public-page .btn,.public-page .direct a,.public-page .card,.public-page .department,.public-page details.training,.public-page .application,.public-page .contact-card,.public-page .status-box,.public-page .hero-logo{background:var(--public-card)!important;border-color:var(--line)!important;color:var(--text)!important}
.public-page .hero{background:linear-gradient(135deg,var(--public-hero-1) 0,var(--public-hero-2) 55%,var(--public-hero-3) 100%)!important;border-color:var(--hero-border)!important}
.public-page .gray{background:var(--soft)!important;border-color:var(--line)!important}
.public-page .department ul{color:var(--text)!important}
.public-page .quote,.public-page .career-note{background:var(--hero-middle)!important;border-color:var(--hero-border)!important}
.public-page .application iframe{background:var(--panel-bg)!important}
.public-page .status-icon,.public-page .status-pill{background:var(--success-bg)!important;color:var(--success-text)!important}
.public-page .dep-icon,.public-page .emergency{background:var(--badge-bg)!important;color:var(--badge-text)!important;border-color:var(--hero-border)!important}
.public-page .rp{background:#222629!important;color:#d8dadd!important}
:root[data-theme="dark"] .public-page footer{background:#090a0b!important;color:#aeb2b6!important}
:root[data-theme="dark"] .public-page nav{background:var(--panel-bg)!important;border-color:var(--line)!important}

/* Login / Setup */
.auth-page{background:linear-gradient(135deg,var(--page-bg),var(--hero-middle))!important;color:var(--text)!important}
.auth-page .card{background:var(--panel-bg)!important;border-color:var(--line)!important;color:var(--text)!important}
.auth-page input,.auth-page select{background:var(--input-bg)!important;color:var(--input-text)!important;border-color:var(--input-border)!important}
.auth-page .back{background:var(--panel-bg)!important;color:var(--button-text)!important;border-color:var(--line)!important}
.auth-page .error,.auth-page .msg:not(.ok){background:var(--error-bg)!important;color:var(--error-text)!important;border-color:var(--error-border)!important}
.auth-page .ok{background:var(--success-bg)!important;color:var(--success-text)!important}

/* Mitarbeiterverwaltung */
.admin-page{background:var(--page-bg)!important;color:var(--text)!important}
.admin-page header,.admin-page .card{background:var(--panel-bg)!important;border-color:var(--line)!important;color:var(--text)!important}
.admin-page a,.admin-page .btn,.admin-page button{background:var(--panel-bg)!important;color:var(--button-text)!important;border-color:var(--line)!important}
.admin-page a:hover,.admin-page .btn:hover,.admin-page button:hover{background:var(--button-hover-bg)!important;color:var(--button-hover-text)!important}
.admin-page input,.admin-page select{background:var(--input-bg)!important;color:var(--input-text)!important;border-color:var(--input-border)!important}
.admin-page label,.admin-page th{color:var(--text-muted)!important}
.admin-page th,.admin-page td{border-color:var(--line)!important}

/* Diagnose */
.diagnose-page{background:var(--page-bg)!important;color:var(--text)!important}
.diagnose-page .card{background:var(--panel-bg)!important;border-color:var(--line)!important}
.diagnose-page th,.diagnose-page td{border-color:var(--line)!important}
.diagnose-page .code{background:var(--soft-bg)!important;color:var(--text)!important}
