/* Monitor-Ansichten Leitstelle · Linienplan · Bildfahrplan (08.10.2026). Dunkler Leitstand: Grundbild ruhig,
 * Farbe NUR bei Problemen (ISA-101). Feste Farben, keine Transparenz unter Text (ClearType, siehe plantafel.css). */
:root{--a-bg:#0b1220;--a-fl:#111a2c;--a-fl2:#16213a;--a-rand:#24314d;--a-tx:#e6ebf5;--a-tx2:#8f9bb3;--a-tx3:#5d6a85;
  --a-rot:#ef4444;--a-rotbg:#3b1219;--a-gelb:#f59e0b;--a-gelbbg:#3a2a0b;--a-blau:#3b82f6;--a-blaubg:#132447;
  --a-ok:#22c55e;--a-s1:#64748b;--a-s2:#94a3b8;--a-s3:#60a5fa;--a-s4:#c084fc;--a-s5:#2dd4bf}
main:has(.ans){max-width:none!important;margin-right:16px}
/* 20.10.: mit offener Karte rückt der Monitor links daneben (Breite der Karte --karte-b, unten bei „ganze Breite“) */
body:has(#seite.auf) main:has(.ans){max-width:none!important;margin-right:calc(var(--karte-b) + 32px)}
.ans{background:var(--a-bg);color:var(--a-tx);border-radius:16px;padding:14px 16px 10px;font-family:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif}
.ans .kn{background:var(--a-fl2);color:var(--a-tx);border-color:var(--a-rand)}
.aleiste{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.atag{min-width:160px;text-align:center;font-size:1.1rem}
.asts,.awahl{display:inline-flex;border:1px solid var(--a-rand);border-radius:10px;overflow:hidden}
.asts{margin-left:10px}
.asts button,.awahl button{border:0;background:var(--a-fl);color:var(--a-tx2);font:inherit;font-weight:600;padding:7px 13px;cursor:pointer}
.asts button+button,.awahl button+button{border-left:1px solid var(--a-rand)}
.asts button.an,.awahl button.an{background:#e6ebf5;color:#0b1220}
.arechts{margin-left:auto}
/* im klassischen Monitor (hell) sitzt der Umschalter in der Leiste */
.leiste .awahl{border-color:var(--rand)}.leiste .awahl button{background:var(--surface);color:var(--ink-2)}
.leiste .awahl button.an{background:var(--ink);color:var(--surface)}.leiste .awahl button+button{border-left-color:var(--rand)}
/* Zähler */
.azahl{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.az{display:inline-flex;align-items:center;gap:8px;background:var(--a-fl);border:1px solid var(--a-rand);border-radius:12px;padding:7px 14px;color:var(--a-tx2);font-weight:600;font-size:.85rem;font:inherit}
.az b{font-size:1.45rem;color:var(--a-tx);font-variant-numeric:tabular-nums}
.az.rot{border-color:var(--a-rot);background:var(--a-rotbg)}.az.rot b{color:#fca5a5}
.az.gelb{border-color:var(--a-gelb);background:var(--a-gelbbg)}.az.gelb b{color:#fcd34d}
.az.blau{border-color:var(--a-blau);background:var(--a-blaubg);cursor:pointer}.az.blau b{color:#93c5fd}
.az.null{opacity:.4}
.az .zif{width:22px;height:22px;font-size:.8rem}
/* Statusziffer wie FMS */
.zif{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:50%;font-weight:800;font-size:1.45rem;
  font-style:normal;color:#0b1220;background:var(--a-s1)}
.zif.z1{background:var(--a-s1);color:#e2e8f0}.zif.z2{background:var(--a-s2)}.zif.z3{background:var(--a-s3)}.zif.z4{background:var(--a-s4)}.zif.z5{background:var(--a-s5)}
.kz{font-size:1.5rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.kz small{display:block;font-size:.62rem;color:var(--a-tx3);font-weight:700;letter-spacing:.08em}
.kz em{display:block;font-style:normal;font-size:.72rem;color:var(--a-tx2);font-weight:500;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Problem-Schilder + Knöpfe */
.pchip{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;border-radius:7px;padding:3px 4px 3px 8px;margin:2px 4px 2px 0;white-space:nowrap}
.pchip:not(:has(button)){padding-right:8px}
.pchip.rot{background:var(--a-rot);color:#fff}.pchip.gelb{background:var(--a-gelb);color:#1c1300}.pchip.blau{background:var(--a-blau);color:#fff}
.aknopf{border:0;background:#fff;color:#0b1220;font:inherit;font-size:.74rem;font-weight:800;border-radius:5px;padding:2px 7px;cursor:pointer}
.pmehr{font-size:.75rem;color:var(--a-tx2);font-weight:700}
.fbs{border:1.5px solid var(--a-tx3);background:transparent;color:var(--a-tx2);font:inherit;font-size:.68rem;font-weight:800;border-radius:5px;padding:1px 5px;cursor:pointer}
.fbs.blau{border-color:var(--a-blau);color:#93c5fd}.fbs.rot{border-color:var(--a-rot);color:#fca5a5}.fbs.ok{border-color:#2f6b45;color:#86efac}
[data-akarte]{cursor:pointer}
/* Linie Terminal ● Kunde ● Terminal */
.lin{position:relative;padding-top:4px}
.lspur{position:relative;height:22px;margin:0 9px}
.lspur:before{content:"";position:absolute;left:0;right:0;top:10px;height:3px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--a-tx3) 0 6px,transparent 6px 11px)}
.lgef{position:absolute;left:0;top:9px;height:5px;border-radius:3px;background:var(--a-tx2)}
.ph-unterwegs .lgef,.ph-rueck .lgef{background:#cbd5e1}
.lwarn{position:absolute;top:9px;height:5px;background:var(--a-rot);border-radius:3px}
.hst{position:absolute;top:4px;width:15px;height:15px;margin-left:-7.5px;border-radius:50%;background:var(--a-bg);border:3px solid var(--a-tx3)}
.hst.a{left:0}.hst.k{left:50%;width:19px;height:19px;margin-left:-9.5px;top:2px}.hst.e{left:100%}
.hst.ok{border-color:var(--a-tx2);background:var(--a-tx2)}
.hst.k.uz{border-color:var(--a-rot);background:var(--a-rot)}
.lkwp{position:absolute;top:-4px;width:30px;margin-left:-15px;color:#fff;filter:drop-shadow(0 1px 2px #000);transition:left 1.5s}
.lkwp svg{width:30px;height:16px;display:block}
.lkwp.steht{color:#cbd5e1}
/* Sanduhr beim Kunden: Ring füllt sich in 2 Std. */
.uhr{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;
  background:conic-gradient(var(--a-s4) calc(var(--p)*1%),#2a3550 0);-webkit-mask:radial-gradient(circle,transparent 10px,#000 11px);mask:radial-gradient(circle,transparent 10px,#000 11px)}
.uhr.gelb{background:conic-gradient(var(--a-gelb) calc(var(--p)*1%),#2a3550 0)}
.uhr.rot{background:var(--a-rot);animation:apuls 1.6s ease-in-out infinite}
@keyframes apuls{50%{opacity:.45}}
.lnamen{display:flex;justify-content:space-between;gap:8px;font-size:.74rem;color:var(--a-tx2);margin-top:2px;white-space:nowrap}
.lnamen span{overflow:hidden;text-overflow:ellipsis}
.lnamen .lk{text-align:center;color:var(--a-tx);flex:1 1 auto;min-width:0}
.lnamen .lk em{font-style:normal;color:var(--a-tx3)}
.lnamen b.rot{color:#fca5a5}.lnamen b.gelb{color:#fcd34d}
/* ===== Leitstelle ===== */
.agruppe h3{margin:4px 2px 8px;font-size:.85rem;color:var(--a-tx2);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.agruppe h3 em{font-style:normal;color:var(--a-tx3);margin-left:6px}
.wand{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;margin-bottom:16px}
.kachel{background:var(--a-fl);border:1px solid var(--a-rand);border-left:5px solid var(--a-s1);border-radius:12px;padding:10px 12px 9px;display:flex;flex-direction:column;gap:7px;min-height:182px}
.kachel.st2{border-left-color:var(--a-s2)}.kachel.st3{border-left-color:var(--a-s3)}.kachel.st4{border-left-color:var(--a-s4)}.kachel.st5{border-left-color:var(--a-s5)}
.kachel.st1{opacity:.62}
.kachel.p-rot{background:var(--a-rotbg);border-color:var(--a-rot);border-left-color:var(--a-rot);opacity:1;box-shadow:0 0 0 1px var(--a-rot)}
.kachel.p-gelb{background:var(--a-gelbbg);border-color:var(--a-gelb);border-left-color:var(--a-gelb);opacity:1}
.kachel.p-blau{border-color:var(--a-blau);opacity:1}
.kkopf{display:flex;align-items:center;gap:10px}
.kkopf .kz{font-size:1.9rem}
.kfa{flex:1;min-width:0;font-size:.82rem;color:var(--a-tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kfa small{display:block;color:var(--a-tx3);font-size:.72rem}
.kkunde b{display:block;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kkunde span{font-size:.78rem;color:var(--a-tx2)}
.kzeit{display:flex;align-items:baseline;gap:8px}
.kzeit b{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}
.kzeit b.rot{color:#fca5a5}.kzeit b.gelb{color:#fcd34d}
.kzeit span{font-size:.78rem;color:var(--a-tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kzeit .kfb{margin-left:auto}
.kzeit em.rot{font-style:normal;color:#fca5a5;font-weight:700}
.kprob{margin-top:auto}
.kachel .lnamen .lk{display:none}
/* ===== Linienplan ===== */
.lplan{display:flex;flex-direction:column;gap:4px}
.lzeile,.fzeile{display:grid;grid-template-columns:150px 1fr 300px;align-items:center;gap:14px;background:var(--a-fl);border:1px solid var(--a-rand);border-radius:10px;padding:6px 12px;min-height:58px}
.lzeile.p-rot,.fzeile.p-rot{background:var(--a-rotbg);border-color:var(--a-rot)}
.lzeile.p-gelb,.fzeile.p-gelb{background:var(--a-gelbbg);border-color:var(--a-gelb)}
.lzeile.p-blau,.fzeile.p-blau{border-color:var(--a-blau)}
.lkopf{display:flex;align-items:center;gap:10px;min-width:0}
.lkopf .zif{width:36px;height:36px;font-size:1.2rem}
.lkopf .kz{font-size:1.35rem;min-width:0}
.ljobs{display:grid;gap:22px;min-width:0}
.ljob{position:relative;min-width:0}
.lfb{position:absolute;right:-4px;top:-4px}
.lprob{text-align:right;min-width:0;overflow:hidden}
/* ===== Bildfahrplan ===== */
.fplan{display:flex;flex-direction:column;gap:4px}
.fzeile{grid-template-columns:150px 1fr}
.fachse{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:0 13px;position:sticky;top:0;z-index:2;background:var(--a-bg)}
.fachse div{position:relative;height:22px;border-bottom:1px solid var(--a-rand)}
.fachse i{position:absolute;bottom:3px;transform:translateX(-50%);font-style:normal;font-size:.75rem;color:var(--a-tx2);font-variant-numeric:tabular-nums}
.fspur{position:relative;height:40px;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/15 - 1px),#1c2740 calc(100%/15 - 1px) calc(100%/15))}
.fspur b{position:absolute;top:7px;height:26px;border-radius:6px;font-size:.74rem;font-weight:700;line-height:26px;padding:0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:4px;box-sizing:border-box}
.fb-kd{background:#5b4a8a;color:#f3e8ff}
.fb-kd.laeuft{background:var(--a-s4);color:#1e0b33}
.fb-uz{background:var(--a-rot);color:#fff}
.fb-uz.laeuft{animation:apuls 1.6s ease-in-out infinite}
.fb-rueck{background:#115e59;color:#ccfbf1}
.fb-fahrt{background:#1d4ed8;color:#fff;background-image:repeating-linear-gradient(135deg,transparent 0 8px,rgba(255,255,255,.12) 8px 14px)}
.fb-fahrt.gelb{background-color:#b45309}.fb-fahrt.rot{background-color:#b91c1c}
.fb-plan{background:transparent;border:1.5px dashed var(--a-tx3);color:var(--a-tx2);line-height:23px}
.fb-los{background:transparent;top:19px!important;height:2px!important;border-radius:0;background:var(--a-tx3);padding:0!important}
.fb-termin{position:absolute;top:2px;bottom:2px;width:2px;margin-left:-1px;background:#e2e8f0;opacity:.75}
.fb-termin.rot{background:var(--a-rot);opacity:1}
.fjetzt{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:#f43f5e;z-index:1;box-shadow:0 0 6px #f43f5e}
.afuss{color:var(--a-tx3);font-size:.75rem;margin:12px 2px 2px}
.ans .leer{color:var(--a-tx2)}

/* ===== Leitstelle HELL + EINFARBIG (Chef 08.10.: „zu viel Farben — Hintergrund dunkelweiß, alle in einer Farbe,
   Warnfarben und Schrift nur wie unten links“). Farbe gibt es nur noch in den Warn-Schildern (.pchip) und der Überzeit auf der Linie. ===== */
.ans.ans-hell{--a-bg:#e9e7e2;--a-fl:#ffffff;--a-fl2:#ffffff;--a-rand:#d6d3cc;--a-tx:#1c1c1a;--a-tx2:#5f5d57;--a-tx3:#9a978f;
  --a-s1:#3f3e3a;--a-s2:#3f3e3a;--a-s3:#3f3e3a;--a-s4:#3f3e3a;--a-s5:#3f3e3a;background:var(--a-bg);color:var(--a-tx)}
.ans-hell .asts button.an,.ans-hell .awahl button.an{background:#1c1c1a;color:#fff}
.ans-hell .az,.ans-hell .az.rot,.ans-hell .az.gelb,.ans-hell .az.blau{background:#fff;border-color:var(--a-rand);color:var(--a-tx2)}
.ans-hell .az b,.ans-hell .az.blau b{color:var(--a-tx)}
.ans-hell .az.rot b{color:#dc2626}.ans-hell .az.gelb b{color:#d97706}
.ans-hell .az.null{opacity:.55}
.ans-hell .zif,.ans-hell .zif.z1{background:#3f3e3a;color:#fff}
.ans-hell .kachel,.ans-hell .kachel.st1,.ans-hell .kachel.p-rot,.ans-hell .kachel.p-gelb,.ans-hell .kachel.p-blau{
  background:#fff;border:1px solid var(--a-rand);border-left:1px solid var(--a-rand);box-shadow:0 1px 2px rgba(0,0,0,.06);opacity:1}
.ans-hell .kachel.st1 .kkunde,.ans-hell .kachel.st1 .lin,.ans-hell .kachel.st1 .kzeit{opacity:.55}
.ans-hell .kzeit b.rot{color:#dc2626}.ans-hell .kzeit b.gelb{color:#d97706}.ans-hell .kzeit em.rot{color:#dc2626}
.ans-hell .lgef,.ans-hell .ph-unterwegs .lgef,.ans-hell .ph-rueck .lgef{background:#3f3e3a}
.ans-hell .hst{background:#fff;border-color:#b9b6ae}.ans-hell .hst.ok{background:#3f3e3a;border-color:#3f3e3a}
.ans-hell .hst.k.uz{background:#dc2626;border-color:#dc2626}
.ans-hell .lkwp,.ans-hell .lkwp.steht{color:#1c1c1a;filter:none}
.ans-hell .lkwp svg circle{fill:#fff}
.ans-hell .uhr{background:conic-gradient(#3f3e3a calc(var(--p)*1%),#e2dfd8 0)}
.ans-hell .uhr.gelb{background:conic-gradient(#d97706 calc(var(--p)*1%),#e2dfd8 0)}
.ans-hell .uhr.rot{background:#dc2626}
.ans-hell .lnamen b.rot{color:#dc2626}.ans-hell .lnamen b.gelb{color:#d97706}
.ans-hell .fbs,.ans-hell .fbs.ok,.ans-hell .fbs.blau,.ans-hell .fbs.rot{border-color:#b9b6ae;color:#5f5d57}
.ans-hell .pchip.blau{background:#2563eb}
.ans-hell .aknopf{border:1px solid rgba(0,0,0,.15)}
.ans-hell .kn{background:#fff;color:#1c1c1a;border-color:var(--a-rand)}
.kzeit b{white-space:nowrap}.kzeit span{min-width:0}
.az.schalter{cursor:pointer}.az.schalter.an{outline:2px solid currentColor}

/* ===== Linienplan + Bildfahrplan ebenfalls hell (Chef 08.10.) — gleiche Regel: Zeilen weiß, Farbe nur in Warnschildern/Überzeit ===== */
.ans-hell .lzeile,.ans-hell .fzeile,.ans-hell .lzeile.p-rot,.ans-hell .fzeile.p-rot,.ans-hell .lzeile.p-gelb,.ans-hell .fzeile.p-gelb,
.ans-hell .lzeile.p-blau,.ans-hell .fzeile.p-blau{background:#fff;border:1px solid var(--a-rand);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.ans-hell .fachse{background:var(--a-bg)}
.ans-hell .fachse div{border-bottom-color:#cfccc4}
.ans-hell .fspur{background:repeating-linear-gradient(90deg,transparent 0 calc(100%/15 - 1px),#ebe9e4 calc(100%/15 - 1px) calc(100%/15))}
.ans-hell .fb-kd{background:#5f5d57;color:#fff}
.ans-hell .fb-kd.laeuft{background:#1c1c1a;color:#fff}
.ans-hell .fb-uz{background:#dc2626;color:#fff}
.ans-hell .fb-rueck{background:#d6d3cc;color:#3f3e3a}
.ans-hell .fb-fahrt{background-color:#8a877f;color:#fff}
.ans-hell .fb-fahrt.gelb{background-color:#d97706}.ans-hell .fb-fahrt.rot{background-color:#dc2626}
.ans-hell .fb-plan{border-color:#b9b6ae;color:#5f5d57}
.ans-hell .fb-los{background:#b9b6ae}
.ans-hell .fb-termin{background:#1c1c1a;opacity:.55}.ans-hell .fb-termin.rot{background:#dc2626;opacity:1}
.ans-hell .fjetzt{background:#dc2626;box-shadow:none}
.ans-hell .lspur:before{background:repeating-linear-gradient(90deg,#b9b6ae 0 6px,transparent 6px 11px)}
/* Chef 11.10.: Zollamt als Zwischenstation bei ¼ der Linie (Raute statt Kreis, Name darüber) */
.lin.mitzoll{padding-top:15px}
.lin .lzoll{position:absolute;top:0;transform:translateX(-50%);font-size:.66rem;font-weight:600;white-space:nowrap;color:#5856d6}
.lin .lzoll em{font-style:normal;font-weight:400;color:var(--a-tx3)}
.hst.z{left:25%;width:13px;height:13px;margin-left:-6.5px;top:5px;border-radius:3px;transform:rotate(45deg);border-color:#5856d6}
.hst.z.ok{background:#5856d6;border-color:#5856d6}
.ans-hell .hst.z{border-color:#5856d6}.ans-hell .hst.z.ok{background:#5856d6;border-color:#5856d6}
/* Waage indigo, weiterer Kunde gelb (Zoll bleibt lila) */
.lin .lzoll.waage{color:#3d3bb0}.lin .lzoll.kunde{color:#a07a00}
.hst.z.waage{border-color:#3d3bb0}.hst.z.waage.ok{background:#3d3bb0}.hst.z.kunde{border-color:#d4a017;border-radius:50%;transform:none}.hst.z.kunde.ok{background:#d4a017}
.ans-hell .hst.z.waage{border-color:#3d3bb0}.ans-hell .hst.z.kunde{border-color:#d4a017}
.ans-hell .hst.z.waage.ok{background:#3d3bb0;border-color:#3d3bb0}.ans-hell .hst.z.kunde.ok{background:#d4a017;border-color:#d4a017}

/* Lupe: schnell zum Auftrag / Kennzeichen (Chef 20.10.) — Fenster liegt über allem, außerhalb von main (kein Zoom aus klassisch.css) */
.lupe-knopf{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.lupe-knopf svg{width:17px;height:17px}
#lupe{display:none;position:fixed;inset:0;z-index:9000;background:rgba(15,23,42,.38);align-items:flex-start;justify-content:center;padding-top:9vh}
#lupe.auf{display:flex}
#lupe .lkasten{width:min(1180px,96vw);max-height:78vh;display:flex;flex-direction:column;background:#fff;color:#111827;border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden;font-family:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif}
#lupe .lfeld{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #e5e7eb}
#lupe .lfeld>svg{width:26px;height:26px;color:#6b7280;flex:none}
#lupe .lfeld input{flex:1;border:0;outline:0;font:inherit;font-size:1.45rem;color:#111827;background:transparent;min-width:0}
#lupe #lupe_tr{overflow:auto;padding:6px 8px}
#lupe .lkopf2{font-size:.8rem;color:#6b7280;font-weight:600;padding:6px 10px 4px}
#lupe .lleer{padding:22px 12px;color:#4b5563;font-size:1rem}
#lupe .ltr{display:grid;grid-template-columns:70px 170px minmax(0,1.4fr) minmax(0,1fr) 130px auto;gap:12px;align-items:center;
  padding:9px 10px;border-radius:10px;cursor:pointer}
#lupe .ltr:hover{background:#f3f4f6}
#lupe .ltr.sel{background:#e8f0fe;box-shadow:inset 3px 0 0 #2563eb}
#lupe .ltr>span{min-width:0}
#lupe .ltr b,#lupe .ltr small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#lupe .ltr small{color:#6b7280;font-size:.8rem;margin-top:2px}
#lupe .l-t{font-weight:700;font-variant-numeric:tabular-nums;font-size:1.05rem}
#lupe .l-kz b{font-size:1.1rem;letter-spacing:.02em}
#lupe .l-ph{font-size:.8rem;font-weight:700;border-radius:999px;padding:4px 10px;text-align:center;background:#f3f4f6;color:#374151}
#lupe .l-ph.ph-kunde{background:#f3e8ff;color:#7e22ce}#lupe .l-ph.ph-unterwegs{background:#dbeafe;color:#1d4ed8}
#lupe .l-ph.ph-rueck{background:#ccfbf1;color:#0f766e}#lupe .l-ph.ph-erledigt{background:#dcfce7;color:#15803d}
#lupe .l-ph.ph-ohne{background:#ffedd5;color:#c2410c}
#lupe .l-kn{display:flex;gap:6px;justify-content:flex-end}
#lupe .lhilfe{border-top:1px solid #e5e7eb;padding:8px 16px;font-size:.78rem;color:#6b7280}
@keyframes lupeblink{0%,100%{box-shadow:0 0 0 3px #f97316,0 0 0 9px rgba(249,115,22,.25)}50%{box-shadow:0 0 0 3px #f97316,0 0 0 16px rgba(249,115,22,0)}}
.lupe-treffer{animation:lupeblink 1.1s ease-in-out 6;outline:3px solid #f97316;outline-offset:2px;border-radius:12px;position:relative;z-index:2}
tr.lupe-treffer>td{background:#fff3e0 !important}
#lupe_hinweis{display:none;position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:9001;background:#111827;color:#fff;
  padding:12px 18px;border-radius:12px;font-size:.95rem;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:90vw}
#lupe_hinweis.auf{display:block}

/* Chef 20.10.: Monitor über die ganze Breite; Karte rechts DANEBEN (verdeckt nichts mehr), Breite --karte-b; oder eigenes Fenster (2. Bildschirm) */
:root{--karte-b:max(560px,38vw)}
@media (max-width:1100px){:root{--karte-b:100vw}}
#seite{width:var(--karte-b);min-width:0}
#s_zweit{white-space:nowrap}
/* Fenster „nur Karte“ (/admin#nurkarte) */
body.nurkarte .kopf,body.nurkarte #reiter_oben,body.nurkarte #plantafel,body.nurkarte main,body.nurkarte #s_zweit{display:none !important}
body.nurkarte #seite{top:0;left:0;width:100vw;box-shadow:none;border:0}
#nurkarte_leer{display:none}
body.nurkarte #nurkarte_leer{display:flex;position:fixed;inset:0;align-items:center;justify-content:center;text-align:center;padding:40px;
  font:500 1.3rem system-ui;color:#6b7280;background:#f5f5f3}
body.nurkarte:has(#seite.auf) #nurkarte_leer{display:none}

/* Rechtsklick auf die Kamera: „Bild einfügen“ (Chef 20.10.: Bild aus WhatsApp nur kopieren/einfügen) */
#einf_menue{position:fixed;z-index:9100;background:#fff;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.28);padding:5px;min-width:250px;
  font-family:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif}
#einf_menue button{display:block;width:100%;text-align:left;border:0;background:none;color:#111827;font:600 .95rem inherit;font-family:inherit;padding:9px 12px;border-radius:7px;cursor:pointer}
#einf_menue button:hover{background:#e8f0fe}
#einf_menue small{font-weight:400;color:#6b7280}
#einf_vorschau{position:fixed;inset:0;z-index:9100;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center}
#einf_vorschau .ev-kasten{background:#fff;color:#111827;border-radius:16px;padding:16px;max-width:min(900px,94vw);max-height:92vh;display:flex;flex-direction:column;gap:10px;
  box-shadow:0 24px 70px rgba(0,0,0,.35);font-family:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif}
#einf_vorschau .ev-kopf{font-size:1rem}
#einf_vorschau .ev-warn{background:#fff7ed;color:#9a3412;border-radius:8px;padding:7px 10px;font-size:.88rem}
#einf_vorschau img{max-width:100%;max-height:68vh;object-fit:contain;border-radius:8px;background:#f3f4f6}
#einf_vorschau .ev-kn{display:flex;gap:10px;justify-content:flex-end}

/* Containernummer in Leitstelle/Linienplan (Chef 20.10.) — Anzeige oder Knopf „✎ Nr.“ links neben dem FB-Symbol */
.kfb,.lfb{display:inline-flex;align-items:center;gap:6px}
.acnr{font:600 .74rem ui-monospace,"Cascadia Mono",Menlo,monospace;letter-spacing:.02em;color:var(--a-tx2);white-space:nowrap}
.ans-hell .acnr{color:#4b5563}
.acnr.ok{color:#15803d}
.ans .kn.cnr{font:600 .72rem system-ui,sans-serif;padding:2px 8px;margin:0;border:0;border-radius:999px;background:#ffedd5;color:#c2410c;cursor:pointer;white-space:nowrap}
.ans .kn.cnr:hover{background:#fed7aa}
.ans .cnr-ok{font-size:.74rem;margin:0}
.kzeit .kfb{flex:none}.kzeit .kfb .acnr{overflow:visible;text-overflow:clip;flex:none;max-width:none;font-size:.72rem}

/* Auftragsnummer kopieren (Chef 21.10.) — Knopf nur beim Darüberfahren, nach dem Klick kurz grün mit Haken */
.refk,.mon td.k .refk,body.klassisch .mon td.k .refk{display:inline;position:relative;white-space:nowrap}
.refkopie{visibility:hidden;position:absolute;left:100%;top:50%;transform:translate(4px,-50%);z-index:3;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;margin:0;
  border:0;border-radius:6px;background:#e8f0fe;color:#1d4ed8;cursor:pointer;vertical-align:middle}
/* 21.10. „zeigt sich, aber man kann nicht drauf“: in der 4-px-Lücke zwischen Nummer und Knopf ging das Hover verloren → Knopf sichtbar,
   solange die Maus in der ganzen Auftrags-Zelle ist; unsichtbare Brücke zur Nummer */
.refk:hover .refkopie,.mon td.k:hover .refkopie,.refkopie:focus-visible{visibility:visible}
.refkopie::before{content:"";position:absolute;left:-8px;top:-4px;bottom:-4px;width:8px}
.refkopie:hover{background:#c7dbfd}
.refkopie.kopiert{visibility:visible;background:#16a34a;color:#fff}
.refkopie.kopiert svg{display:none}
.refkopie.kopiert::after{content:"✓";font:700 13px system-ui,sans-serif}
/* 21.10. „Symbol weiß, kaum zu erkennen“: body.klassisch main button{color:var(--k-tx)} färbte das Symbol im dunklen Modus weiß →
   feste Farben mit Vorrang: dunkelblaues Symbol auf hellblau mit blauem Rand, in hell und dunkel gleich */
html body main button.refkopie{width:24px;height:24px;background:#dbeafe!important;color:#1e3a8a!important;border:1.5px solid #2563eb!important;border-radius:6px}
html body main button.refkopie:hover{background:#2563eb!important;color:#fff!important}
html body main button.refkopie svg{width:15px;height:15px;stroke-width:2.4}
html body main button.refkopie.kopiert{background:#16a34a!important;border-color:#15803d!important;color:#fff!important}
/* Abgabe Terminal/Depot im FB-Fenster (Chef 21.10.): mit freigeben bzw. später „Abgabe eintragen & beenden“ */
.pk .abhand{margin:8px 0;padding:8px 10px;background:#fff7ed;border:1px solid #fdba74;border-radius:8px;color:#7c2d12;font-size:.9rem;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pk .abhand input{font:inherit;padding:3px 6px;border:1px solid #fb923c;border-radius:6px;background:#fff;color:#111}
.pk .abhand .klein2{color:#9a3412}

/* „Falsches FB ersetzen“ im FB-Fenster (Chef 21.10.) */
.pk .kn.fbersetzen{background:#fff7ed;color:#9a3412;border:1px solid #fdba74}
.pk .kn.fbersetzen:hover{background:#ffedd5}

/* --- Zuweisen am Kennzeichen (Chef 25.10.) ---------------------------------------------------------------------------- */
.zuwk{flex:none;display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:3px 8px;border:1px solid #f59e0b;border-radius:999px;
 background:#fff7ed;color:#c2410c;font:700 .9rem system-ui,sans-serif;cursor:pointer;line-height:1.1}
.zuwk b{font-size:.75rem;background:#f97316;color:#fff;border-radius:999px;padding:1px 6px}
.zuwk:hover{background:#ffedd5}
.zuwk.null{border-color:#e5e7eb;background:#f9fafb;color:#9ca3af}
.kkopf .zuwk{margin-left:auto;margin-right:6px}
#zuwpop{position:fixed;z-index:60;display:flex;flex-direction:column;background:#fff;color:#111827;border-radius:12px;
 box-shadow:0 12px 40px rgba(0,0,0,.28);border:1px solid #e5e7eb;font:14px system-ui,-apple-system,"Segoe UI",sans-serif;overflow:hidden}
.zpkopf{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #e5e7eb;background:#fff7ed;flex-wrap:wrap}
.zpkopf b{font-size:15px}.zpkopf span{color:#6b7280;font-size:12px;flex:1}
.zpzu{border:0;background:none;font-size:18px;cursor:pointer;color:#6b7280;padding:0 4px}
.zpliste{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.zpein{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #f1f5f9;background:#fff;padding:8px 12px;cursor:pointer;font:inherit;color:inherit}
.zpein:hover{background:#eff6ff}
.zpz{display:flex;align-items:center;gap:10px;min-width:0}
.zpt{font-size:17px;font-variant-numeric:tabular-nums;min-width:52px}
.zpk{display:flex;flex-direction:column;min-width:0;flex:1}.zpk b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zpk em{font-style:normal;color:#6b7280;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zpm{font-style:normal;font-size:11px;font-weight:700;background:#d96d06;color:#fff;border-radius:999px;padding:1px 7px}
.zpz.unbest .zpt{color:#d96d06}
.zpleer{padding:16px 12px;color:#6b7280}.zpleer.rot{color:#b91c1c}.zpleer.gut{color:#15803d;font-weight:600}
.zpfrage{padding:12px}.zpq{font-weight:700;margin-bottom:8px}.zpq2{margin:8px 0;font-size:16px}
.zpwarn{background:#fff7ed;color:#9a3412;border-radius:8px;padding:6px 8px;font-size:13px;margin-bottom:8px}
.zpknoepfe{display:flex;gap:8px;padding:0 12px 12px}.zpfrage .zpknoepfe{padding:4px 0 0}
.zpja{flex:1;border:0;border-radius:10px;background:#f97316;color:#fff;font:700 15px system-ui,sans-serif;padding:11px;cursor:pointer}
.zpja:disabled{opacity:.6}
.zpnein{border:1px solid #d1d5db;border-radius:10px;background:#fff;font:600 15px system-ui,sans-serif;padding:11px 14px;cursor:pointer}

/* --- Handy-Ansicht der Dispo (Chef 25.10.) -------------------------------------------------------------------------------- */
body.handy #reiter_oben,body.handy #plantafel{display:none!important}
body.handy main#inhalt{max-width:none;margin:0;padding:0}
body.handy .kopf{padding:6px 10px;gap:8px}
body.handy .kopf .klein2{display:none}
.hy{--hy-bg:#f2f2f7;--hy-k:#fff;--hy-tx:#111827;--hy-tx2:#6b7280;--hy-rand:#e5e7eb;
 --f-unbest:#d96d06;--f-geaendert:#c81e1e;--f-best:#135cc9;--f-fahrer:#2329b8;--f-fertig:#1caa24;--f-storno:#9ca3af;--f-x:#cbd5e1;
 background:var(--hy-bg);color:var(--hy-tx);min-height:100vh;font:15px -apple-system,system-ui,"Segoe UI",sans-serif;padding-bottom:40px}
.hyoben{position:sticky;top:0;z-index:5;background:rgba(242,242,247,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
 padding:8px 10px 6px;border-bottom:1px solid var(--hy-rand);display:flex;flex-direction:column;gap:6px}
.hyseg{display:flex;background:#e4e4ea;border-radius:10px;padding:2px}
.hyseg button{flex:1;border:0;background:none;padding:8px 4px;border-radius:8px;font:600 15px inherit;font-family:inherit;color:var(--hy-tx);cursor:pointer}
.hyseg button.an{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.hyreiter button.an{background:#0a84ff;color:#fff}
.hytag{display:flex;align-items:center;gap:6px}
.hytag b{flex:1;text-align:center;font-size:15px}
.hytag .kn{padding:7px 11px;margin:0}
.hytag .lupe-knopf{padding:7px 9px;font-size:0}.hytag .lupe-knopf svg{width:18px;height:18px}
.hychips{display:flex;gap:6px;overflow-x:auto;padding:8px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.hychip{flex:none;display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:var(--hy-k);border:1px solid var(--hy-rand);
 color:var(--hy-tx);text-decoration:none;font-size:13px;white-space:nowrap}
.hychip b{font-size:15px}.hychip.null{opacity:.45}
.hychip.c-kuemmern:not(.null){background:#fee2e2;border-color:#fca5a5;color:#991b1b}
.hychip.c-ohne:not(.null){background:#fff7ed;border-color:#fdba74;color:#9a3412}
.hychip .zif{width:20px;height:20px;font-size:.75rem}
.hyab{margin:4px 0 10px;scroll-margin-top:140px}
.hyab h3{margin:0;padding:8px 14px 6px;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--hy-tx2);display:flex;align-items:center;gap:6px}
.hyab h3 em{font-style:normal;background:#e4e4ea;border-radius:999px;padding:0 7px;color:var(--hy-tx)}
.hyab.a-kuemmern h3{color:#b91c1c}.hyab.a-ohne h3{color:#c2410c}
.hyklapp{margin-left:auto;border:0;background:none;color:#0a84ff;font:600 13px inherit;font-family:inherit;cursor:pointer}
.hyk{display:flex;gap:10px;width:calc(100% - 20px);margin:0 10px 6px;text-align:left;background:var(--hy-k);border:0;border-radius:12px;
 padding:10px 12px 10px 10px;font:inherit;color:inherit;cursor:pointer;border-left:6px solid var(--f-x);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.hyk:active{background:#f3f4f6}
.f-unbest{border-left-color:var(--f-unbest)!important}.f-geaendert{border-left-color:var(--f-geaendert)!important}.f-best{border-left-color:var(--f-best)!important}
.f-fahrer{border-left-color:var(--f-fahrer)!important}.f-fertig{border-left-color:var(--f-fertig)!important}.f-storno{border-left-color:var(--f-storno)!important;opacity:.6}
.hyt{flex:none;min-width:54px;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;display:flex;flex-direction:column}
.hyt small{font-size:11px;font-weight:600;color:#b45309}
.hym{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.hy1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hy1 b{font-weight:600}.hy1 em{font-style:normal;color:var(--hy-tx2)}
.hy2{font-size:13px;color:var(--hy-tx2)}
.hykz{font-style:normal;font-weight:700;color:var(--hy-tx);background:#e4e4ea;border-radius:5px;padding:0 5px}
.hykz.ohne{background:#ffedd5;color:#c2410c}
.hy3{font-size:13px}.hy3 b.rot{color:#b91c1c}.hy3 b.gelb{color:#b45309}
.hy4{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.hy4 .pchip{font-style:normal;font-size:11px}
.hyl{background:var(--hy-k);margin:0 10px 8px;border-radius:12px;padding:10px 12px;box-shadow:0 1px 2px rgba(0,0,0,.05);border-left:6px solid transparent}
.hyl.p-rot{border-left-color:#dc2626}.hyl.p-gelb{border-left-color:#f59e0b}
.hylkopf{display:flex;align-items:center;gap:10px}
.hylkopf .zif{width:32px;height:32px;font-size:1.05rem;flex:none}
.hylkz{font-size:22px;font-weight:700;line-height:1;display:flex;flex-direction:column}.hylkz small{font-size:10px;color:var(--hy-tx2);font-weight:600}
.hylfa{flex:1;min-width:0;display:flex;flex-direction:column;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.hylfa small{font-weight:400;font-size:12px;color:var(--hy-tx2)}
.hylive{border:0;border-radius:999px;background:#0a84ff;color:#fff;font:600 13px inherit;font-family:inherit;padding:6px 12px;cursor:pointer}
.hyljobs{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.hylj{display:flex;align-items:center;gap:8px;text-align:left;border:0;border-left:4px solid var(--f-x);background:#f8fafc;border-radius:8px;padding:6px 8px;font:inherit;font-size:14px;color:inherit;cursor:pointer}
.hylj b{font-variant-numeric:tabular-nums;min-width:44px}.hylj span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.hylj em{font-style:normal;font-size:12px;color:var(--hy-tx2)}
.hylj.akt{background:#eff6ff;font-weight:600}.hylj.ph-erledigt{opacity:.6}
.hylz{font-size:13px;margin-top:6px}.hylz b.rot{color:#b91c1c}.hylz b.gelb{color:#b45309}
.hylp{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.hyleer{padding:40px 16px;text-align:center;color:var(--hy-tx2)}
.hyfuss{text-align:center;font-size:12px;color:var(--hy-tx2);padding:14px}.hyfuss a{color:#0a84ff}
#hyblatt{position:fixed;inset:0;z-index:45;display:flex;flex-direction:column;justify-content:flex-end}
.hybhg{position:absolute;inset:0;background:rgba(0,0,0,.35)}
.hyb{position:relative;background:#fff;border-radius:16px 16px 0 0;padding:6px 16px calc(16px + env(safe-area-inset-bottom));max-height:85vh;overflow-y:auto;
 font:15px -apple-system,system-ui,"Segoe UI",sans-serif;color:#111827;border-top:6px solid var(--f-x)}
.hyb.f-unbest{border-top-color:#d96d06}.hyb.f-geaendert{border-top-color:#c81e1e}.hyb.f-best{border-top-color:#135cc9}.hyb.f-fahrer{border-top-color:#2329b8}.hyb.f-fertig{border-top-color:#1caa24}
.hyb[class*=f-]{border-left:0!important;opacity:1}
.hybgriff{width:40px;height:5px;border-radius:3px;background:#d1d5db;margin:4px auto 10px}
.hybkopf{display:flex;gap:12px;align-items:flex-start;margin-bottom:8px}
.hybkopf span:nth-child(2){flex:1;display:flex;flex-direction:column}.hybkopf em{font-style:normal;color:#6b7280}
.hybx{border:0;background:#f3f4f6;border-radius:999px;width:32px;height:32px;font-size:16px;cursor:pointer}
.hybstatus{display:inline-block;color:#fff;font-size:13px;font-weight:600;border-radius:999px;padding:3px 10px;margin-bottom:8px;background:#94a3b8}
.hybstatus.f-unbest{background:#d96d06}.hybstatus.f-geaendert{background:#c81e1e}.hybstatus.f-best{background:#135cc9}.hybstatus.f-fahrer{background:#2329b8}.hybstatus.f-fertig{background:#1caa24}
.hybz{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid #f1f5f9}.hybz span{min-width:92px;color:#6b7280}.hybz b{font-weight:500;flex:1}
.hybz b b.gelb{color:#b45309;font-weight:700}
.hybkn{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.hybkn button,.hybkn a{flex:1 1 40%;text-align:center;border:0;border-radius:12px;background:#0a84ff;color:#fff;font:600 15px inherit;font-family:inherit;padding:13px 8px;text-decoration:none;cursor:pointer}
.hybkn a{background:#e5e7eb;color:#111827}
/* Platz für den Zuweisen-Knopf neben dem Kennzeichen (Spalte 150 → 196 px) */
.lzeile{grid-template-columns:196px 1fr 300px}
.fzeile,.fachse{grid-template-columns:196px 1fr}
.lkopf .kz{flex:none}
.lkopf .kz em{display:block;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lkopf .zuwk{padding:2px 6px;font-size:.8rem}
.zpz.zpgross{background:#f8fafc;border-radius:10px;padding:8px 10px}
