/* ==========================================================================
   Dunkles Design (Einstellung je Arbeitsplatz, umschaltbar im Menü)
   Nur am Bildschirm – gedruckt und als PDF bleibt alles hell. Druckblätter (Rechnung, Angebot, CMR,
   Lieferschein, Ladeplan) bleiben auch am Bildschirm weißes Papier.
   ========================================================================== */
@media screen {
html[data-thema="dunkel"] {
  color-scheme: dark;
  --navy: #e4e8f1; --text: #dfe4ee; --text-2: #c2c9d8; --muted: #8f99ad; --grau-logo: #9aa3b2;
  --bg: #0f1420; --panel: #171e2c; --flaeche: #1d2535; --flaeche-2: #232c3e; --line: #29324a; --line-stark: #39445c;
  --accent-dunkel: #a9b9f0;
  --rot: #f0626a; --rot-soft: #3a1d24; --gelb: #f0b44a; --gelb-soft: #36290f; --gruen: #4cc28d; --gruen-soft: #13332a;
  --s-offen: #8f99ad; --s-storniert: #5d667a;
  --schatten: 0 1px 2px rgba(0, 0, 0, .35); --schatten-hoch: 0 14px 36px rgba(0, 0, 0, .55);
}
html[data-thema="dunkel"] body { background: var(--bg); color: var(--text); }
html[data-thema="dunkel"] .btn.primaer, html[data-thema="dunkel"] .nav a.aktiv, html[data-thema="dunkel"] .einst-nav a.aktiv { color: #fff; }

/* Menü */
html[data-thema="dunkel"] .nav { background: var(--panel); border-color: var(--line); }
html[data-thema="dunkel"] .nav a { color: var(--text-2); }
html[data-thema="dunkel"] .nav a:hover, html[data-thema="dunkel"] aside.nav.oben .mo-knopf:hover, html[data-thema="dunkel"] aside.nav.oben .mo-gruppe.offen > .mo-knopf { background: var(--flaeche); color: var(--navy); }
html[data-thema="dunkel"] .nav a.aktiv { background: var(--accent-hell); color: #c9d4ff; }
html[data-thema="dunkel"] .nav .gruppe, html[data-thema="dunkel"] .nav-fuss, html[data-thema="dunkel"] .nav .ml-kopf, html[data-thema="dunkel"] .nav .ml-unten button { color: var(--muted); }
html[data-thema="dunkel"] aside.nav.oben .mo-knopf { color: var(--text-2); }
html[data-thema="dunkel"] aside.nav.oben .mo-gruppe.aktiv > .mo-knopf { color: #c9d4ff; background: var(--accent-hell); }
html[data-thema="dunkel"] .mo-liste { background: var(--panel); border-color: var(--line-stark); }
html[data-thema="dunkel"] .mo-ich .menue-umschalten, html[data-thema="dunkel"] .thema-knopf { color: var(--text-2); }
html[data-thema="dunkel"] .mo-ich .menue-umschalten:hover, html[data-thema="dunkel"] .nav .ml-unten button:hover { background: var(--flaeche); }
html[data-thema="dunkel"] .nav .logo img, html[data-thema="dunkel"] .anmelde-karte img { filter: brightness(1.6) saturate(.9); }

/* Grundelemente */
html[data-thema="dunkel"] button, html[data-thema="dunkel"] .btn { background: var(--flaeche); color: var(--navy); border-color: var(--line-stark); }
html[data-thema="dunkel"] button:hover, html[data-thema="dunkel"] .btn:hover { background: var(--flaeche-2); border-color: #4a5672; }
html[data-thema="dunkel"] button.primaer, html[data-thema="dunkel"] .btn.primaer { background: var(--accent); border-color: var(--accent); color: #fff; }
html[data-thema="dunkel"] button.gefahr { color: var(--rot); }
html[data-thema="dunkel"] input, html[data-thema="dunkel"] select, html[data-thema="dunkel"] textarea { background: #121826; color: var(--text); border-color: var(--line-stark); }
html[data-thema="dunkel"] input:disabled, html[data-thema="dunkel"] select:disabled, html[data-thema="dunkel"] textarea:disabled, html[data-thema="dunkel"] input.ro { background: var(--flaeche); color: var(--muted); }
html[data-thema="dunkel"] input::placeholder, html[data-thema="dunkel"] textarea::placeholder { color: #6c768a; }
html[data-thema="dunkel"] .felder label, html[data-thema="dunkel"] .anmelde-karte label, html[data-thema="dunkel"] .as-label { color: var(--text-2); }
html[data-thema="dunkel"] dialog { background: var(--panel); color: var(--text); }
html[data-thema="dunkel"] dialog::backdrop { background: rgba(0, 0, 0, .6); }
html[data-thema="dunkel"] .dlg-fuss, html[data-thema="dunkel"] .as-schritte, html[data-thema="dunkel"] .chat-verlauf { background: #141a27; }
html[data-thema="dunkel"] #toast div, html[data-thema="dunkel"] .zp-zeit { background: #2c3650; color: #fff; }
html[data-thema="dunkel"] #anmelde-maske, html[data-thema="dunkel"] #zfa-maske { background: linear-gradient(135deg, #141b2d, #0f1420 60%); }
html[data-thema="dunkel"] .anmelde-karte { background: var(--panel); }

/* Tabellen, Listen, Kästen */
html[data-thema="dunkel"] .tab th, html[data-thema="dunkel"] .tab tfoot td, html[data-thema="dunkel"] .tafel th, html[data-thema="dunkel"] .urlaub-raster th { background: #1a2131; color: var(--muted); }
html[data-thema="dunkel"] .tab tr.klick:hover td, html[data-thema="dunkel"] .kl-auftrag:hover, html[data-thema="dunkel"] .kontakt-liste a:hover, html[data-thema="dunkel"] .kl-verkehr li:hover { background: var(--flaeche); }
html[data-thema="dunkel"] tr.auswahl > td { background: var(--accent-hell) !important; }
html[data-thema="dunkel"] .warnbox { border-color: #6a2b33; }
html[data-thema="dunkel"] .okbox { border-color: #1f5a43; }
html[data-thema="dunkel"] .infobox { border-color: #34457a; color: #c9d4ff; }
html[data-thema="dunkel"] .pdf-hinweis { border-color: #5c4718; }
html[data-thema="dunkel"] .link-zeile code, html[data-thema="dunkel"] .cmr-sig-status, html[data-thema="dunkel"] .ereignis-zeile { background: var(--flaeche); }
html[data-thema="dunkel"] .umschalter, html[data-thema="dunkel"] .ls-kopf { background: var(--flaeche); }
html[data-thema="dunkel"] .ls-kopf button { color: var(--text-2); background: none; border: 0; }
html[data-thema="dunkel"] .ls-kopf button:hover { background: var(--flaeche-2); }
html[data-thema="dunkel"] .ls-kopf button.aktiv, html[data-thema="dunkel"] .segment button.aktiv { background: var(--accent-hell); color: #c9d4ff; }
html[data-thema="dunkel"] .blase { background: var(--flaeche); border-color: var(--line); }
html[data-thema="dunkel"] .blase.buero { background: var(--accent); color: #fff; }
html[data-thema="dunkel"] .meldung-karte.problem.offen { background: #2a1a20; }
html[data-thema="dunkel"] .adr-vorschlaege { background: var(--panel); }
html[data-thema="dunkel"] .adr-v:hover, html[data-thema="dunkel"] .adr-v.aktiv, html[data-thema="dunkel"] .land-kz { background: var(--accent-hell); color: #c9d4ff; }
html[data-thema="dunkel"] .as-text, html[data-thema="dunkel"] .as-summe th, html[data-thema="dunkel"] .as-schritte li { color: var(--muted); }
html[data-thema="dunkel"] .as-schritte li span { background: var(--flaeche-2); color: var(--text-2); }
html[data-thema="dunkel"] .preis-vorschlag { background: var(--accent-hell); }

/* Status-Abzeichen und farbige Kennzeichnungen: dunkle Grundfarbe, helle Schrift */
html[data-thema="dunkel"] .st-offen, html[data-thema="dunkel"] .badge.grau, html[data-thema="dunkel"] .badge:not(.gruen):not(.rot):not(.gelb):not(.blau):not(.grau), html[data-thema="dunkel"] .vk-b.grau { background: #262f42; color: #c2c9d8; }
html[data-thema="dunkel"] .st-disponiert { background: #23305a; color: #b8c6ff; }
html[data-thema="dunkel"] .st-unterwegs, html[data-thema="dunkel"] .vk-b.gelb, html[data-thema="dunkel"] .pt-abw.beantragt { background: #3d2c0c; color: #f5c46a; }
html[data-thema="dunkel"] .st-geliefert, html[data-thema="dunkel"] .st-bezahlt, html[data-thema="dunkel"] .vk-b.ok, html[data-thema="dunkel"] .badge.sev-ok, html[data-thema="dunkel"] .pt-abw { background: #133528; color: #74d6a6; }
html[data-thema="dunkel"] .st-abgerechnet { background: #2e2350; color: #c8b5f5; }
html[data-thema="dunkel"] .st-storniert { background: #22293a; color: #7d879b; }
html[data-thema="dunkel"] .vk-b.rot, html[data-thema="dunkel"] .badge.sev-fehler, html[data-thema="dunkel"] .pt-abw.krank { background: #3e1c23; color: #ff9aa1; }
html[data-thema="dunkel"] input.pdf-erkannt, html[data-thema="dunkel"] select.pdf-erkannt, html[data-thema="dunkel"] textarea.pdf-erkannt { background: #34300f; border-color: #8a7420; }
html[data-thema="dunkel"] input.pdf-unsicher, html[data-thema="dunkel"] select.pdf-unsicher { background: #3a2a10; border-color: #a07018; }
html[data-thema="dunkel"] input.adr-neu { background: #163a2c !important; }
html[data-thema="dunkel"] .lp-chip.voll { background: #33290f; border-color: #6b5420; } html[data-thema="dunkel"] .lp-chip.teil { background: #12302a; border-color: #23604a; } html[data-thema="dunkel"] .lp-chip.rot { background: #351a20; border-color: #6a2b33; }

/* Plantafel */
html[data-thema="dunkel"] .tafel td.heute { background: #18213a; }
html[data-thema="dunkel"] .tafel td.we, html[data-thema="dunkel"] .tafel th.we, html[data-thema="dunkel"] .urlaub-raster .we { background: #131927; }
html[data-thema="dunkel"] .tafel .fz, html[data-thema="dunkel"] .urlaub-raster th.name, html[data-thema="dunkel"] .urlaub-raster td.name { background: #161d2b; }
html[data-thema="dunkel"] .tafel td.ziel, html[data-thema="dunkel"] .pool.ziel, html[data-thema="dunkel"] .zp-spur.ziel { background: #1f2c55 !important; }
html[data-thema="dunkel"] .auftrag-karte { background: #1e2637; color: var(--text); box-shadow: none; }
html[data-thema="dunkel"] .auftrag-karte .k { color: var(--muted); }
html[data-thema="dunkel"] .ak-disponiert { background: #1d2a4d; }
html[data-thema="dunkel"] .ak-unterwegs { background: #33280f; }
html[data-thema="dunkel"] .ak-geliefert { background: #142f25; }
html[data-thema="dunkel"] .ak-abgerechnet { background: #29213f; }
html[data-thema="dunkel"] .ak-offen { background: var(--flaeche); }
html[data-thema="dunkel"] .u-urlaub { background: #1c4733 !important; } html[data-thema="dunkel"] .u-krank { background: #4a2128 !important; }
html[data-thema="dunkel"] .u-sonstig { background: #26315a !important; } html[data-thema="dunkel"] .u-beantragt { background: repeating-linear-gradient(135deg, #4a3810 0 4px, #3a2c0c 4px 8px) !important; }

/* Zeitplan */
html[data-thema="dunkel"] .zp-name, html[data-thema="dunkel"] .zp-kopf .zp-name, html[data-thema="dunkel"] .zp-spur-kopf, html[data-thema="dunkel"] .zp-abschnitt .zp-name, html[data-thema="dunkel"] .zp-abschnitt-spur { background: #161d2b; }
html[data-thema="dunkel"] .zp-tag { color: var(--text-2); }
html[data-thema="dunkel"] .zp-tag.we, html[data-thema="dunkel"] .zp-bg.we { background: #131927; }
html[data-thema="dunkel"] .zp-bg.heute { background: #17203a; }
html[data-thema="dunkel"] .zp-linie { border-left-color: #1f2738; }
html[data-thema="dunkel"] .zp-linie.tag { border-left-color: #343e55; }
html[data-thema="dunkel"] .zp-std { color: var(--muted); }
html[data-thema="dunkel"] .zp-balken { background: #1e2637; }
html[data-thema="dunkel"] .zp-kz { background: #1e2637; border-color: #3a4560; color: var(--text); }
html[data-thema="dunkel"] .zs-warten, html[data-thema="dunkel"] .lg-warten { background: #8a7a45; }
html[data-thema="dunkel"] .zp-abw { color: #74d6a6; background: repeating-linear-gradient(135deg, #17392b 0 7px, #133024 7px 14px); border-color: #23604a; }
html[data-thema="dunkel"] .zp-abw.beantragt { color: #f5c46a; background: repeating-linear-gradient(135deg, #3d2e0e 0 7px, #33270c 7px 14px); border-color: #6b5420; }
html[data-thema="dunkel"] .zp-abw.krank { color: #ff9aa1; background: repeating-linear-gradient(135deg, #43202a 0 7px, #381b23 7px 14px); border-color: #6a2b33; }

/* Karte: Kartenbild abdunkeln (Linien und Markierungen bleiben farbig) */
html[data-thema="dunkel"] #karte, html[data-thema="dunkel"] .leaflet-container { background: #1b2230; }
html[data-thema="dunkel"] .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(.85) contrast(.9) saturate(.5); }
html[data-thema="dunkel"] .leaflet-popup-content-wrapper, html[data-thema="dunkel"] .leaflet-popup-tip { background: var(--panel); color: var(--text); }
html[data-thema="dunkel"] .leaflet-control-attribution { background: rgba(23, 30, 44, .8) !important; color: var(--muted); }
html[data-thema="dunkel"] .leaflet-bar a { background: var(--panel); color: var(--text); border-color: var(--line); }


/* Schrift in Hausfarbe: im Dunkeln die hellere Abstufung (--accent-text), sonst zu wenig Kontrast */
html[data-thema="dunkel"] #pdf-ablage div,
html[data-thema="dunkel"] .as-kachel.aktiv,
html[data-thema="dunkel"] .as-schritte li.aktiv,
html[data-thema="dunkel"] .avatar,
html[data-thema="dunkel"] .badge.blau,
html[data-thema="dunkel"] .chip,
html[data-thema="dunkel"] .infobox,
html[data-thema="dunkel"] .kalk-pos tr.maut td,
html[data-thema="dunkel"] .kl-verkehr summary,
html[data-thema="dunkel"] .land-kz,
html[data-thema="dunkel"] .ls-kopf button.aktiv,
html[data-thema="dunkel"] .nav .logo .logo-firma,
html[data-thema="dunkel"] .nav .ml-gruppe.aktiv > .ml-kopf,
html[data-thema="dunkel"] .nav .ml-unten button:hover,
html[data-thema="dunkel"] .nav a.aktiv,
html[data-thema="dunkel"] .pdf-hinweis summary,
html[data-thema="dunkel"] .reiter a.aktiv,
html[data-thema="dunkel"] .segment button.aktiv,
html[data-thema="dunkel"] .tafel th.heute,
html[data-thema="dunkel"] .tm-zeile,
html[data-thema="dunkel"] .vl-wdh,
html[data-thema="dunkel"] .zp-tag.heute,
html[data-thema="dunkel"] a,
html[data-thema="dunkel"] aside.nav.oben .mo-gruppe.aktiv > .mo-knopf,
html[data-thema="dunkel"] aside.nav.oben .mo-schnell .btn.aktiv,
html[data-thema="dunkel"] th.sort-ab::after,
html[data-thema="dunkel"] th.sort-auf::after,
html[data-thema="dunkel"] th.sortierbar:hover,
html[data-thema="dunkel"] a,
html[data-thema="dunkel"] .chip,
html[data-thema="dunkel"] .infobox { color: var(--accent-text); }
html[data-thema="dunkel"] .knopf-an { color: var(--accent-text) !important; }
html[data-thema="dunkel"] .lp-warn { color: var(--rot); }
html[data-thema="dunkel"] .lp-hinweis-text { color: var(--muted); }

/* Druckblätter bleiben weißes Papier mit dunkler Schrift */
html[data-thema="dunkel"] .rechnung-blatt, html[data-thema="dunkel"] .cmr-vorschau, html[data-thema="dunkel"] .bp-vorschau { color: #1c2541; color-scheme: light; }
html[data-thema="dunkel"] .rechnung-blatt :is(button, input, select, textarea) { color-scheme: light; }
}
