/* Dunkles Erscheinungsbild (Backend und Kundenportal). Umschalten: Symbol unten im Menü bzw. oben im Kundenportal.
   data-theme auf <html>: light | dark (System-Einstellung wird beim Laden in light/dark übersetzt). */
html[data-theme=dark]{color-scheme:dark;
  --bg:#0f1520;--card:#161e2b;--text:#e2e6ea;--muted:#a0a9b3;--muted2:#7d8792;--line:#2f353c;--line2:#3c434b;--soft:#23282e;--soft2:#20252a;
  --brand:#4d7cf0;--brand-d:#b5c9fb;--brand-l:#17243f;--brand-m:#2c4373;
  --ink:#0f1215;--ink2:#2a3037;--ink3:#bcc4cc;
  --side:#181b20;--side-t:#cfd5db;
  --green:#7cc68c;--green-l:#18291c;--green-m:#2d5235;--red:#f0908a;--red-l:#351c1b;--red-m:#64322f;--amber:#e8b660;--amber-s:#d99d3a;--amber-l:#302612;--amber-m:#5f4a20}
html[data-theme=dark] body{background:var(--bg);color:var(--text)}
html[data-theme=dark] a{color:#8bb6e0}
html[data-theme=dark] .btn{color:#fff}
html[data-theme=dark] .btn.ghost,html[data-theme=dark] .pt-btn-ghost{color:var(--text);border-color:var(--line2)}
html[data-theme=dark] .btn.ghost:hover{background:var(--soft)}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:var(--soft2);color:var(--text);border-color:var(--line2)}
html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:var(--muted2)}
html[data-theme=dark] input[readonly],html[data-theme=dark] input:disabled,html[data-theme=dark] select:disabled{background:var(--soft);color:var(--muted)}
html[data-theme=dark] .badge{background:var(--soft);color:var(--ink3)}
html[data-theme=dark] .badge.grey{background:var(--soft);color:var(--muted)}
html[data-theme=dark] code{background:var(--soft);color:var(--text)}
html[data-theme=dark] .tbl th{color:var(--muted)}
html[data-theme=dark] .tbl tr:hover td{background:rgba(255,255,255,.02)}
html[data-theme=dark] .flash.ok{background:var(--green-l);color:var(--green)}
html[data-theme=dark] .flash.err{background:var(--red-l);color:var(--red)}
html[data-theme=dark] .flash.warn{background:var(--amber-l);color:var(--amber)}
html[data-theme=dark] .banner{background:var(--brand-l);color:var(--brand-d)}
html[data-theme=dark] img:not([src$=".svg"]){filter:none}
/* Belege, QR-Codes und Unterschriften bleiben wie auf Papier: hell */
html[data-theme=dark] .paper,html[data-theme=dark] .pt-paper,html[data-theme=dark] .dv-body iframe,html[data-theme=dark] .ids-qr-code,html[data-theme=dark] .tc-qr,html[data-theme=dark] canvas{color-scheme:light}
html[data-theme=dark] .paper,html[data-theme=dark] .pt-paper{--text:#1d2329;--muted:#5c6570;--line:#dddad2;--card:#fff;--soft:#efede8;--soft2:#f9f8f5;--ink:#1d2329;--ink3:#45505b;--brand:#1f4b73;--brand-d:#163a5a;--brand-l:#e9eff5;background:#fff;color:#1d2329}
html[data-theme=dark] .paper a,html[data-theme=dark] .pt-paper a{color:#1f4b73}
html[data-theme=dark] .ids-qr-code,html[data-theme=dark] .tc-qr{background:#fff;padding:8px;border-radius:4px}
/* Umschalter */
.theme-tg{background:none;border:0;padding:0;cursor:pointer;color:inherit;display:inline-grid;place-items:center}
.theme-tg svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pt-theme{margin-left:10px;width:34px;height:34px;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted)}
html[data-theme=dark] .top{background:rgba(20,23,27,.92)}
.foot-links .theme-tg{color:var(--muted2);padding:6px;border-radius:var(--r-sm)}.foot-links .theme-tg:hover{color:#fff;background:rgba(255,255,255,.08)}
/* ---- automatisch abgeleitet: fest codierte helle Farben aus style.css ---- */
html[data-theme=dark] .btn.ghost{background:var(--card)}
html[data-theme=dark] .badge{background:var(--soft)}
html[data-theme=dark] .flash.ok{color:var(--text)}
html[data-theme=dark] .flash.err{color:var(--text)}
html[data-theme=dark] .kpi{background:var(--card)}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{border:1px solid var(--line);background:var(--card)}
html[data-theme=dark] .restore-box{background:var(--card);border:1px solid var(--line)}
html[data-theme=dark] .bill-res.ok{background:var(--card)}
html[data-theme=dark] label.switch .sw::after{background:var(--card)}
html[data-theme=dark] .chip{background:var(--card)}
html[data-theme=dark] .docitem{background:var(--card)}
html[data-theme=dark] .dmenu[open] .dedit{background:var(--card)}
html[data-theme=dark] .dv-bar{background:var(--card)}
html[data-theme=dark] .set-nav a.on .set-ic{color:var(--text)}
html[data-theme=dark] .set-head-actions .btn{background:var(--card);color:var(--text);border-color:var(--line)}
html[data-theme=dark] .set-sub{color:var(--text)}
html[data-theme=dark] .pt-top{background:var(--card)}
html[data-theme=dark] .pt-btn-ghost{background:var(--card);border-color:var(--line)}
html[data-theme=dark] .pt-btn-ghost:hover{border-color:var(--line)}
html[data-theme=dark] .pt-card{background:var(--card)}
html[data-theme=dark] .pt-kpi{background:var(--card)}
html[data-theme=dark] .pt-auth{background:var(--card)}
html[data-theme=dark] .card-chip{background:var(--card)}
html[data-theme=dark] .lib-card{background:var(--card)}
html[data-theme=dark] .pt-order[open]{background:var(--card)}
html[data-theme=dark] .gsearch{background:var(--card)}
@media (max-width:800px){html[data-theme=dark] .gsearch.open{background:var(--card)}}
html[data-theme=dark] .id-step{background:var(--card)}
html[data-theme=dark] .id-shot:hover{background:var(--soft)}
html[data-theme=dark] .id-shot.done{border-color:var(--line)}
html[data-theme=dark] .id-auto{background:var(--card);border-color:var(--line)!important}
html[data-theme=dark] .nb.warn{color:var(--text)}
@media (max-width:800px){html[data-theme=dark] .tabbar{background:var(--card)}}
@media (max-width:800px){html[data-theme=dark] .sheet{background:var(--card)}}
html[data-theme=dark] .hdr-menu{background:var(--card)}
html[data-theme=dark] .hkm-f{background:var(--card)}
html[data-theme=dark] .pt-pick-row{background:var(--card)}
html[data-theme=dark] .stabs a{background:var(--card)}
html[data-theme=dark] .cd-prog{background:var(--soft)}
html[data-theme=dark] .cv-menu{background:var(--card)}
html[data-theme=dark] .cv-kpi{background:var(--card)}
html[data-theme=dark] .tabs .nb.warn{color:var(--text)}
html[data-theme=dark] .tc-item{background:var(--card)}
html[data-theme=dark] .tc-popbox{background:var(--card)}
html[data-theme=dark] .todo-list a{background:var(--card)}
html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3{color:var(--text)}
html[data-theme=dark] .side .brand{color:var(--text)}
html[data-theme=dark] .tenant-card{background:var(--card)}
html[data-theme=dark] .tenant-card b{color:var(--text)}
html[data-theme=dark] .tc-mono{color:var(--text)}
html[data-theme=dark] .quick-menu{background:var(--card)}
html[data-theme=dark] .side nav a:hover{color:var(--text)}
html[data-theme=dark] .who b{color:var(--text)}
html[data-theme=dark] .foot-links a:hover{color:var(--text)}
html[data-theme=dark] .kpi{background:var(--card)}
html[data-theme=dark] .kpi b{color:var(--text)}
html[data-theme=dark] .btn.ghost{background:var(--card);color:var(--text)}
html[data-theme=dark] .tabs a:hover{color:var(--text)}
html[data-theme=dark] .tabs a.on{color:var(--text)}
html[data-theme=dark] .stabs a{background:var(--card)}
html[data-theme=dark] .flash{background:var(--card)}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:var(--card)}
html[data-theme=dark] .todo-list a b{color:var(--text)}
html[data-theme=dark] .set-head{background:var(--card)}
html[data-theme=dark] .set-head h2{color:var(--text)}
html[data-theme=dark] .pm-ico{background:var(--card)}
html[data-theme=dark] .pt-btn-ghost{background:var(--card);color:var(--text)}
html[data-theme=dark] .pt-btn-ghost:hover{color:var(--text)}
html[data-theme=dark] .tc-col{background:var(--card)}
html[data-theme=dark] .req-msg{background:var(--card)}
html[data-theme=dark] .req-meta b{color:var(--text)}
html[data-theme=dark] .backup-codes{background:var(--card)}
@media (max-width:760px){html[data-theme=dark] .pt-tabbar{background:var(--card)}}
@media (max-width:760px){html[data-theme=dark] .pt-more-menu{background:var(--card)}}
@media (max-width:760px){html[data-theme=dark] .pt-more-menu a{color:var(--text)}}
html[data-theme=dark] .ptr{background:var(--card)}
html[data-theme=dark] .qs-public{background:var(--card)}
html[data-theme=dark] .ids-prog li.cur{color:var(--text)}
html[data-theme=dark] .ids-type{background:var(--card)}
