/* SEGELKEN JARVIS HUD — Command-Center-Optik (Referenz: GF-Vorlage 01.08.2026)
   Dunkel, glühender Akzent, Radialanzeigen, dichte Zahlenraster, Ticker. */

:root{
  --bg:#05070a; --bg2:#080c11;
  --glas:rgba(20,26,34,.72); --glas2:rgba(14,19,26,.6);
  --linie:rgba(255,255,255,.07); --linie2:rgba(255,255,255,.14);
  --ink:#eef3f8; --ink2:#8c9aa8; --ink3:#5a6673;
  --akz:#ff8a2b; --akz-tief:#e8721a; --akz-glow:rgba(255,138,43,.55);
  --neben:#9AA3AD; --gut:#3fbf33; --warn:#e8a33a; --rot:#ff5252;
  --mono:ui-monospace,"Cascadia Mono","SF Mono",Consolas,monospace;
  --r:14px;
}
body[data-accent="gruen"]{--akz:#4ade4a;--akz-tief:#34A22B;--akz-glow:rgba(74,222,74,.45)}

*{box-sizing:border-box;margin:0;padding:0}
/* hidden-Attribut gewinnt IMMER — display:flex/grid an Klassen (.board, #drawer, .mini …)
   würde es sonst übersteuern; genau das ließ Board und Drawer dauerhaft offen stehen. */
[hidden]{display:none!important}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font:14.5px/1.55 var(--mono);overflow-x:hidden;
  -webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(120% 80% at 50% -10%,rgba(255,138,43,.10),transparent 60%),
             repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px)}
#bgnetz{position:fixed;inset:0;z-index:0;opacity:.5}
main,#login{position:relative;z-index:2}
button,input,select{font:inherit;color:inherit}
::-webkit-scrollbar{width:7px;height:7px}
::-webkit-scrollbar-thumb{background:var(--linie2);border-radius:4px}

/* ---------- Login ---------- */
#login{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);z-index:20}
#login form{position:relative;width:min(94vw,380px);padding:38px 32px;border:1px solid var(--linie2);
  border-radius:20px;background:var(--glas);backdrop-filter:blur(18px);text-align:center;
  animation:auf .7s cubic-bezier(.2,.8,.2,1)}
#login .ring{position:absolute;inset:-1px;border-radius:20px;pointer-events:none;
  background:conic-gradient(from 0deg,transparent 55%,var(--akz-glow),transparent 75%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;padding:1px;animation:dreh 5s linear infinite}
#login h1{font-size:19px;letter-spacing:5px;font-weight:800}
#login h1 b{color:var(--akz);text-shadow:0 0 22px var(--akz-glow)}
#login h1 span{display:block;font-size:10px;letter-spacing:9px;color:var(--ink3);margin-top:5px}
#login p{color:var(--ink3);margin:14px 0 18px}
#login input{width:100%;margin:7px 0;padding:14px 16px;border:1px solid var(--linie2);border-radius:10px;
  background:rgba(0,0,0,.35);transition:.2s}
#login input:focus{outline:0;border-color:var(--akz);box-shadow:0 0 0 3px rgba(255,138,43,.12)}
#login button{width:100%;margin-top:16px;padding:13px;border:0;border-radius:10px;cursor:pointer;
  background:linear-gradient(135deg,var(--akz),var(--akz-tief));color:#140800;font-weight:800;letter-spacing:3px;
  box-shadow:0 8px 28px -8px var(--akz-glow);transition:.2s}
#login button:hover{transform:translateY(-1px);box-shadow:0 12px 34px -8px var(--akz-glow)}
#lfehler{color:var(--rot);font-size:12px;min-height:17px;margin-top:8px}

/* ---------- Kopf ---------- */
.kopf{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding:14px 20px;border-bottom:1px solid var(--linie);background:linear-gradient(180deg,rgba(8,12,17,.9),transparent)}
.marke{display:flex;align-items:center;gap:12px}
.puls{width:9px;height:9px;border-radius:50%;background:var(--akz);box-shadow:0 0 0 0 var(--akz-glow);
  animation:puls 2.4s infinite}
.marke h1{font-size:16.5px;letter-spacing:3.5px;font-weight:800}
.marke h1 b{color:var(--akz)}
.marke p{font-size:10.5px;letter-spacing:2px;color:var(--ink3);margin-top:3px}
.tabs{display:flex;gap:4px;background:rgba(0,0,0,.3);padding:4px;border-radius:12px;border:1px solid var(--linie)}
.tabs button{background:none;border:0;border-radius:8px;padding:9px 21px;cursor:pointer;color:var(--ink2);
  font-size:12.5px;letter-spacing:2.5px;font-weight:700;transition:.22s}
.tabs button:hover{color:var(--ink)}
.tabs button.aktiv{background:linear-gradient(135deg,rgba(255,138,43,.22),rgba(255,138,43,.08));
  color:var(--akz);box-shadow:inset 0 0 0 1px rgba(255,138,43,.35)}
.zeit{text-align:right}
#uhr{font-size:30px;font-weight:800;letter-spacing:2px;font-variant-numeric:tabular-nums;
  text-shadow:0 0 26px var(--akz-glow)}
.klein{font-size:11.5px;letter-spacing:1.3px;color:var(--ink2)}
.dim{color:var(--ink3)}
.mini{background:rgba(255,255,255,.04);border:1px solid var(--linie2);border-radius:7px;padding:6px 12px;
  cursor:pointer;font-size:11px;letter-spacing:1.6px;color:var(--ink2);transition:.2s;margin-top:6px}
.mini:hover{border-color:var(--akz);color:var(--akz)}
.mini.an{border-color:var(--warn);color:var(--warn);background:rgba(232,163,58,.10)}
/* HEUTE: Termine beider Kalender, Quelle farbig markiert */
#heutekarte{margin-bottom:14px}
.heuteliste{display:flex;flex-direction:column;gap:7px;max-height:34vh;overflow-y:auto}
.heute{display:flex;align-items:flex-start;gap:10px;background:var(--glas2);border:1px solid var(--linie);
  border-radius:10px;padding:8px 11px}
.heute .uhr{font-variant-numeric:tabular-nums;font-weight:700;font-size:12.5px;flex:none;min-width:96px}
.heute .qq{font-size:9.5px;letter-spacing:1.2px;border:1px solid var(--linie2);border-radius:20px;
  padding:1px 8px;flex:none;margin-top:2px}
.heute .qq.hero{border-color:rgba(255,138,43,.4);color:var(--akz)}
.heute .qq.teams{border-color:rgba(122,150,255,.45);color:#8fa6ff}
.heute .titel{font-size:13px;font-weight:700}

/* MEINE ARBEIT: drei Spalten, darunter Aufgabenzeilen mit Häkchen */
.arbeitraster{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;align-items:start}
.raster-gf{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media(max-width:900px){.raster-gf{grid-template-columns:1fr}}
.aufgabenliste{display:flex;flex-direction:column;gap:7px;max-height:62vh;overflow-y:auto}
.aufg{display:flex;align-items:flex-start;gap:9px;background:var(--glas2);border:1px solid var(--linie);
  border-radius:10px;padding:9px 11px;cursor:pointer;transition:.18s}
.aufg:hover{border-color:var(--akz)}
.aufg.faellig{border-color:rgba(255,82,82,.45);background:rgba(255,82,82,.06)}
.aufg .atext{flex:1;min-width:0}
.aufg .titel{font-size:13px;font-weight:700;line-height:1.35}
.hakerl{background:none;border:1px solid var(--linie2);border-radius:50%;width:20px;height:20px;flex:none;
  cursor:pointer;color:var(--ink3);font-size:11px;line-height:1;padding:0;margin-top:1px}
.hakerl:hover{border-color:var(--gut);color:var(--gut)}
.prio{font-size:9.5px;letter-spacing:1.4px;color:var(--ink3);flex:none;margin-top:2px}
.prio.hoch{color:var(--rot)}.prio.mittel{color:var(--warn)}
.gfwaechter .gfp{display:flex;gap:9px;padding:6px 0;border-bottom:1px solid var(--linie);font-size:12px}
.gfwaechter .gfp b{color:var(--akz);flex:none;letter-spacing:1px;font-size:10.5px;padding-top:2px}
.veraltet{color:var(--warn);font-size:11.5px;border:1px solid rgba(232,163,58,.3);border-radius:9px;
  padding:7px 10px;margin-bottom:9px;background:rgba(232,163,58,.07)}

/* Verlauf aufräumen: Kopfzeile mit Archiv-Umschalter, archivierte Einträge gedämpft */
.verlaufkopf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-2px 0 10px}
.akt.archiviert{opacity:.55;border-style:dashed}

/* ---------- Layout ---------- */
.view{padding:16px 20px 130px}
.raster-haupt{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(340px,1.35fr) minmax(250px,1fr);gap:14px}
.spalte{display:flex;flex-direction:column;gap:14px;min-width:0}
@media(max-width:1150px){.raster-haupt{grid-template-columns:1fr 1fr}.spalte.mitte{grid-column:1/-1;order:-1}}
@media(max-width:720px){.raster-haupt{grid-template-columns:1fr}.kopf{gap:10px}#uhr{font-size:20px}}

.karte{position:relative;background:var(--glas);border:1px solid var(--linie);border-radius:var(--r);
  padding:15px 17px;backdrop-filter:blur(14px);animation:auf .5s backwards;overflow:hidden}
.karte::before{content:"";position:absolute;top:0;left:14px;right:14px;height:1px;
  background:linear-gradient(90deg,transparent,var(--akz-glow),transparent);opacity:.7}
.karte.flex{flex:1;display:flex;flex-direction:column;min-height:0}
.karte h2{font-size:11px;letter-spacing:2.2px;color:var(--ink3);text-transform:uppercase;font-weight:700;
  margin-bottom:10px}
.karte h2 em{color:var(--ink2);font-style:normal}

/* KPI */
.kpi .wert{font-size:38px;font-weight:800;letter-spacing:.5px;font-variant-numeric:tabular-nums;line-height:1.05}
.kpi.gross .wert{font-size:50px;color:var(--akz);text-shadow:0 0 34px var(--akz-glow)}
.kpi .klein-wert{font-size:32px}
.kpi .unter{color:var(--ink2);font-size:12.5px;margin-top:7px}
.kpi .unter b{color:var(--ink)}
.trend{margin-top:9px;height:4px;border-radius:3px;background:rgba(255,255,255,.06);overflow:hidden}
.trend i{display:block;height:100%;background:linear-gradient(90deg,var(--akz-tief),var(--akz));
  box-shadow:0 0 12px var(--akz-glow);width:0;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}

/* Orb + Gauges */
.orb-karte{text-align:center}
.orbwrap{position:relative;display:grid;place-items:center;margin:2px 0 6px}
#orb{max-width:100%;height:auto}
.orbtext{position:absolute;display:grid;place-items:center}
.orbtext .quote{font-size:44px;font-weight:800;color:var(--akz);text-shadow:0 0 30px var(--akz-glow);
  font-variant-numeric:tabular-nums}
.orbtext span{font-size:10px;letter-spacing:3px;color:var(--ink3)}
.gauges{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.gauge{text-align:center}
.gauge span{display:block;font-size:10px;letter-spacing:2px;color:var(--ink3);margin-top:2px}

#chart{width:100%;display:block}
.legende{display:flex;gap:16px;font-size:11px;letter-spacing:1.6px;color:var(--ink3);margin-top:8px}
.legende i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.legende i.a{background:var(--akz)}.legende i.b{background:var(--neben)}

/* Trichter */
.trichter .zeile{margin:9px 0}   /* nur die Zeile, sonst schiebt der Abstand den Balken aus der Spur */
.trichter .lab{display:flex;justify-content:space-between;font-size:12px;color:var(--ink2);margin-bottom:4px}
.trichter .lab b{color:var(--ink)}
.trichter .spur{height:7px;border-radius:4px;background:rgba(255,255,255,.05);overflow:hidden}
.trichter .fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--akz-tief),var(--akz));
  box-shadow:0 0 14px var(--akz-glow);width:0;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.trichter .zeile.dim .fill{background:linear-gradient(90deg,#5a6673,var(--neben));box-shadow:none}

/* Listen */
.liste{overflow-y:auto;font-size:13.5px}
.liste .zeile{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--linie)}
.liste .zeile:hover{background:rgba(255,255,255,.03)}
.liste .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.liste .wert{color:var(--akz);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.kanaele div{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12.5px;color:var(--ink2)}
.pkt{width:8px;height:8px;border-radius:50%;flex:none}
.pkt.on{background:var(--gut);box-shadow:0 0 10px rgba(63,191,51,.7)}
.pkt.off{background:var(--warn);box-shadow:0 0 10px rgba(232,163,58,.5)}
.modelle .z{margin:9px 0}
.modelle label{display:block;font-size:10.5px;letter-spacing:1.6px;color:var(--ink3);margin-bottom:3px}
.modelle label b{color:var(--ink2);font-weight:600}
.modelle select{width:100%;background:rgba(0,0,0,.35);border:1px solid var(--linie2);border-radius:8px;
  padding:8px 10px;font-size:12.5px;color:var(--ink)}
.modelle select:focus{outline:0;border-color:var(--akz)}
.modelle .hinw{font-size:11px;color:var(--ink3);margin-top:3px}

/* Ticker */
.ticker{position:fixed;left:0;right:0;bottom:72px;z-index:3;height:30px;overflow:hidden;
  border-top:1px solid var(--linie);border-bottom:1px solid var(--linie);
  background:linear-gradient(90deg,rgba(255,138,43,.10),rgba(0,0,0,.5))}
.tickinhalt{display:flex;gap:44px;white-space:nowrap;padding:7px 0;animation:lauf 70s linear infinite;
  font-size:12.5px;letter-spacing:.6px;color:var(--ink2)}
.tickinhalt b{color:var(--akz)}
.tickinhalt .rot{color:var(--rot)}

/* Konsole */
#konsole{position:fixed;left:0;right:0;bottom:0;z-index:9}
.kleiste{display:flex;gap:9px;align-items:center;padding:13px 20px;
  background:linear-gradient(180deg,rgba(5,7,10,.6),rgba(5,7,10,.97));border-top:1px solid var(--linie2);
  backdrop-filter:blur(16px)}
.kleiste button{width:42px;height:42px;border-radius:11px;border:1px solid var(--linie2);cursor:pointer;
  background:rgba(255,255,255,.04);color:var(--ink2);font-size:15px;transition:.2s;flex:none}
.kleiste button:hover{border-color:var(--akz);color:var(--akz)}
#mic.an{background:var(--rot);border-color:var(--rot);color:#fff;animation:puls 1.3s infinite}
#spk.an{background:linear-gradient(135deg,var(--akz),var(--akz-tief));border-color:var(--akz);color:#140800}
.kleiste input{flex:1;padding:12px 16px;border-radius:11px;border:1px solid var(--linie2);
  background:rgba(0,0,0,.4);letter-spacing:.4px;transition:.2s;min-width:0}
.kleiste input:focus{outline:0;border-color:var(--akz);box-shadow:0 0 0 3px rgba(255,138,43,.1)}
.kleiste .senden{background:linear-gradient(135deg,var(--akz),var(--akz-tief));border-color:var(--akz);color:#140800}
#kpanel{display:none;flex-direction:column;max-height:min(64vh,620px);margin:0 20px;border:1px solid var(--linie2);
  border-bottom:0;border-radius:16px 16px 0 0;background:var(--glas);backdrop-filter:blur(20px);overflow:hidden}
#kpanel.an{display:flex;animation:hoch .3s cubic-bezier(.2,.8,.2,1)}
.kkopf{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;
  border-bottom:1px solid var(--linie);font-size:11px;letter-spacing:2px;color:var(--ink3)}
.kkopf b{color:var(--akz)}
#schnell{display:flex;gap:6px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--linie)}
#schnell button{background:rgba(255,255,255,.04);border:1px solid var(--linie2);border-radius:20px;
  padding:6px 14px;cursor:pointer;font-size:12px;color:var(--ink2);transition:.2s}
#schnell button:hover{border-color:var(--akz);color:var(--akz);transform:translateY(-1px)}
#log{overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:11px}
.msg{max-width:84%;padding:12px 15px;font-size:14.5px;line-height:1.55;white-space:pre-wrap;
  animation:auf .35s;border-radius:14px}
.msg.ich{align-self:flex-end;background:linear-gradient(135deg,var(--akz),var(--akz-tief));color:#140800;
  border-bottom-right-radius:4px;font-weight:500}
.msg.agent{align-self:flex-start;background:rgba(255,255,255,.045);border:1px solid var(--linie);
  border-bottom-left-radius:4px}
.msg .wer{display:block;font-size:10.5px;letter-spacing:2.2px;font-weight:800;margin-bottom:5px}
.wer.otto{color:var(--akz)}.wer.franz{color:var(--neben)}.wer.vera{color:var(--warn)}
.wer.mia{color:#c792ea}.wer.paul{color:#7fb3d5}.wer.zentrale{color:var(--ink2)}
.wer.klara{color:#6fd6b8}
.msg .hoer{background:none;border:0;color:var(--ink3);cursor:pointer;font-size:11px;margin-left:8px}
.tippt{align-self:flex-start;display:flex;gap:5px;padding:12px 15px}
.tippt i{width:7px;height:7px;border-radius:50%;background:var(--akz);animation:wippe 1.3s infinite}
.tippt i:nth-child(2){animation-delay:.18s}.tippt i:nth-child(3){animation-delay:.36s}

/* Werkzeugleiste / Board / Akten */
.werkzeug{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.werkzeug input,.werkzeug select{background:var(--glas);border:1px solid var(--linie2);border-radius:10px;
  padding:11px 15px;min-width:230px}
.werkzeug input:focus,.werkzeug select:focus{outline:0;border-color:var(--akz)}
.board{display:flex;gap:12px;overflow-x:auto;align-items:flex-start;padding-bottom:12px}
.spalte-b{min-width:250px;flex:0 0 250px;background:var(--glas2);border:1px solid var(--linie);border-radius:var(--r)}
.spalte-b .kopfb{padding:12px 13px;border-bottom:1px solid var(--linie);font-size:11px;letter-spacing:2px;
  color:var(--ink3);display:flex;justify-content:space-between}
.spalte-b .kopfb b{color:var(--ink)}
.karten{padding:10px;display:flex;flex-direction:column;gap:9px;max-height:60vh;overflow-y:auto}
.lead{background:var(--glas);border:1px solid var(--linie);border-radius:11px;padding:11px 12px;cursor:pointer;
  position:relative;transition:.2s}
.lead:hover{border-color:var(--akz);transform:translateY(-2px);box-shadow:0 10px 26px -14px var(--akz-glow)}
.lead .score{position:absolute;top:9px;right:11px;font-size:11.5px;font-weight:800}
.lead .nm{font-size:13.5px;font-weight:700;padding-right:26px}
.lead .meta{font-size:11.5px;color:var(--ink3);margin-top:3px}
.lead .wrt{color:var(--akz);font-weight:700;margin-top:5px;font-size:13.5px}
.lead .wv{font-size:11px;color:var(--ink3);margin-top:4px}
.lead .wv.faellig{color:var(--rot);font-weight:700}
/* Übergabe-Spalte am Board-Ende: ab dem Angebot läuft die Akte in der Angebotsliste */
.spalte-b.uebergabe{border-style:dashed;border-color:rgba(255,138,43,.35);background:rgba(255,138,43,.04);
  cursor:pointer;transition:.2s}
.spalte-b.uebergabe:hover{border-color:var(--akz);box-shadow:0 10px 26px -16px var(--akz-glow)}
.spalte-b.uebergabe .kopfb{color:var(--akz)}
.uebertext{font-size:11.5px;line-height:1.55;color:var(--ink3)}
.uebertext b{color:var(--ink2);letter-spacing:1px}

/* Vertrieb: Untertabs */
.subtabs{display:flex;gap:4px;background:rgba(0,0,0,.3);padding:4px;border-radius:10px;border:1px solid var(--linie)}
.subtabs button{background:none;border:0;border-radius:7px;padding:8px 16px;cursor:pointer;color:var(--ink2);
  font-size:11.5px;letter-spacing:2px;font-weight:700;transition:.2s}
.subtabs button.aktiv{background:linear-gradient(135deg,rgba(255,138,43,.22),rgba(255,138,43,.08));
  color:var(--akz);box-shadow:inset 0 0 0 1px rgba(255,138,43,.35)}
#verafragen{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
#verafragen button{background:rgba(232,163,58,.08);border:1px solid rgba(232,163,58,.3);border-radius:20px;
  padding:6px 14px;cursor:pointer;font-size:11.5px;color:var(--warn);transition:.2s}
#verafragen button:hover{border-color:var(--warn);transform:translateY(-1px)}
#verafragen .vlabel{font-size:10.5px;letter-spacing:2px;color:var(--ink3);align-self:center;margin-right:4px}

/* Vertrieb: Angebote & Aufträge */
.astreifen{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}
.akpi{background:var(--glas);border:1px solid var(--linie);border-radius:var(--r);padding:13px 16px}
.akpi span{display:block;font-size:10px;letter-spacing:2px;color:var(--ink3);font-weight:700}
.akpi b{display:block;font-size:26px;font-weight:800;margin-top:4px;font-variant-numeric:tabular-nums}
.akpi:first-child b{color:var(--akz);text-shadow:0 0 22px var(--akz-glow)}
.akpi i{display:block;font-style:normal;font-size:11px;color:var(--ink2);margin-top:2px}
.atabelle{width:100%;border-collapse:collapse;font-size:12.5px;min-width:900px}
.atabelle th{position:sticky;top:0;background:var(--bg2);text-align:left;font-size:10px;letter-spacing:1.8px;
  color:var(--ink3);padding:11px 13px;border-bottom:1px solid var(--linie2);white-space:nowrap}
.atabelle td{padding:10px 13px;border-bottom:1px solid var(--linie);vertical-align:top}
.atabelle tbody tr{cursor:pointer;transition:.15s}
.atabelle tbody tr:hover{background:rgba(255,138,43,.05)}
.atabelle .re,.atabelle td.re{text-align:right;font-variant-numeric:tabular-nums}
.atabelle .wert{color:var(--akz);font-weight:700;white-space:nowrap}
.atabelle .nm{font-weight:700;color:var(--ink)}
.atabelle .pid{color:var(--akz);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.atabelle .sub{font-size:11px;color:var(--ink3)}
/* Spaltenfilter-Zeile über der Angebotsliste (je Spalte alle vorkommenden Werte) */
.atabelle tr.fzeile th{top:35px;padding:6px 8px 10px;letter-spacing:0}
.atabelle tr.fzeile select{width:100%;min-width:74px;max-width:190px;background:var(--glas);
  border:1px solid var(--linie2);border-radius:7px;color:var(--ink2);font-size:10.5px;padding:5px 4px;cursor:pointer}
.atabelle tr.fzeile select:focus{outline:0;border-color:var(--akz)}
.atabelle tr.fzeile select.aktivf{border-color:var(--akz);color:var(--akz)}
.atabelle tr.fzeile select option{background:var(--bg2);color:var(--ink2)}
.pille{display:inline-block;padding:2px 10px;border-radius:20px;font-size:10.5px;letter-spacing:1px;
  font-weight:700;border:1px solid var(--linie2);color:var(--ink2);white-space:nowrap}
.pille.angebot{border-color:rgba(255,138,43,.4);color:var(--akz)}
.pille.verhandlung{border-color:rgba(232,163,58,.5);color:var(--warn)}
.pille.gewonnen{border-color:rgba(63,191,51,.5);color:var(--gut)}
.pille.verloren{border-color:rgba(255,82,82,.4);color:var(--rot)}
.pille.art{background:rgba(255,255,255,.03)}
.pille.klaer{border-color:rgba(232,163,58,.55);color:var(--warn);letter-spacing:.5px}
.faellig-rot{color:var(--rot);font-weight:700}
.atabelle td.offen-pl{color:var(--warn)}
/* Klärfälle: ohne Angebotswert/Projekt-ID — sichtbar, aber außerhalb der Kennzahlen */
.klaerbanner{background:rgba(232,163,58,.08);border:1px solid rgba(232,163,58,.32);border-radius:var(--r);
  padding:10px 14px;margin-bottom:12px;font-size:12px;color:var(--warn)}
.atabelle tbody tr.klaerzeile{background:rgba(232,163,58,.05)}
.atabelle tbody tr.klaerzeile:hover{background:rgba(232,163,58,.09)}

/* Lead-Detail-Drawer.
   WICHTIG: display:flex am #drawer schlägt das hidden-Attribut (UA-Regel display:none) —
   ohne die [hidden]-Regeln bleibt der Drawer dauerhaft offen und blockiert alle Seiten. */
#drawer[hidden],#drawerdunkel[hidden],#adrawer[hidden],#adrawerdunkel[hidden]{display:none!important}
#drawerdunkel,#adrawerdunkel{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:14;backdrop-filter:blur(2px)}
#drawer,#adrawer{position:fixed;top:0;right:0;bottom:0;width:min(96vw,860px);z-index:15;display:flex;flex-direction:column;
  background:var(--bg2);border-left:1px solid var(--linie2);box-shadow:-30px 0 80px rgba(0,0,0,.6);
  animation:vonrechts .28s cubic-bezier(.2,.8,.2,1)}
/* Aufträge-Tab: kompakte Akten-Zeilen in Phasen-Gruppen (GF 03.08.) */
.agruppe{margin-bottom:14px;padding:12px 14px}
.agruppe h2{margin-bottom:8px}
.agruppe.brennt{border-color:var(--rot);box-shadow:0 0 24px -14px rgba(255,82,82,.8)}
.azeile{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:9px;cursor:pointer;
  border:1px solid transparent;transition:.15s;min-width:0;flex-wrap:wrap}
.azeile:hover{background:rgba(255,255,255,.04);border-color:var(--linie2)}
.azeile.fertig{opacity:.6}
.azeile strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:34%}
.azeile .pid{font-family:inherit;font-weight:800;color:var(--akz);letter-spacing:.5px;flex:none;min-width:52px}
.abadge{flex:none;padding:0 8px;border-radius:9px;font-size:10.5px;font-weight:800;border:1px solid}
.abadge.rot{border-color:var(--rot);color:var(--rot)}
.abadge.gelb{border-color:var(--warn);color:var(--warn)}
/* Klärfall-Postkorb: Post-Paul fragt zurück */
.agruppe.klaer{border-color:var(--warn);box-shadow:0 0 26px -16px rgba(232,163,58,.8)}
.klaerfall{border-top:1px solid var(--linie);padding:10px 2px}
.klaerfall:first-of-type{border-top:0}
/* Arbeitsansicht je Phasen-Reiter: ein Block pro Gewerk */
.posblock{border:1px solid var(--linie);border-radius:10px;padding:11px 13px;margin-bottom:10px;
  background:rgba(255,255,255,.02)}
.posblock.dran{border-color:var(--akz);box-shadow:0 0 22px -16px var(--akz-glow)}
.posblock:not(.dran){opacity:.72}
.poskopf{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:8px}
.posmini{display:flex;align-items:center;gap:9px;padding:5px 4px;font-size:12px;color:var(--ink2)}
.dstufen button{white-space:nowrap}
/* Gewerk-Phasen-Chips (Stückliste im Drawer) */
.pchip{display:inline-block;padding:0 8px;border-radius:9px;font-size:10px;font-weight:800;letter-spacing:.8px;
  border:1px solid var(--linie2);color:var(--ink3)}
.pchip.bestellung{border-color:var(--rot);color:var(--rot)}
.pchip.lieferung{border-color:var(--warn);color:var(--warn)}
.pchip.montage,.pchip.abnahme{border-color:var(--akz);color:var(--akz)}
.pchip.fertig{border-color:var(--gut);color:var(--gut)}
/* HERO-Termine im Akten-Drawer */
.hterm{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;padding:6px 10px;
  margin-bottom:5px;border-left:3px solid var(--akz-tief);background:rgba(255,255,255,.03)}
.hterm .tt{font-weight:700}
/* Auftragswahrscheinlichkeit: Prozent-Badge an Karte und Tabelle */
.wkt{display:inline-block;padding:0 7px;border-radius:9px;font-size:10.5px;font-weight:800;letter-spacing:.5px;
  border:1px solid var(--ink3);color:var(--ink3)}
.wkt.hoch{border-color:var(--gut);color:var(--gut)}
.wkt.mittel{border-color:var(--warn);color:var(--warn)}
.wkt.niedrig{border-color:var(--ink3);color:var(--ink3)}
/* Lösch-Button: unmissverständlich rot beschriftet (GF 03.08.) */
.mini.loeschen{border-color:var(--rot);color:var(--rot)}
.mini.loeschen:hover{background:var(--rot);color:#fff}
#a_verlauf{flex:1;overflow-y:auto}
.akt.post::before{border-color:var(--gut);background:rgba(60,200,120,.35)}
.akt.akte::before{border-color:var(--ink3)}
@keyframes vonrechts{from{transform:translateX(60px);opacity:0}to{transform:none;opacity:1}}
.dkopf{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--linie)}
.dkopf>div:first-child{flex:1;min-width:0}
.dname{font-size:17px;font-weight:800;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dscore{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:15px;
  border:2px solid var(--akz);color:var(--akz);box-shadow:0 0 18px var(--akz-glow);flex:none}
.dscore.mittel{border-color:var(--warn);color:var(--warn);box-shadow:0 0 14px rgba(232,163,58,.4)}
.dscore.niedrig{border-color:var(--ink3);color:var(--ink3);box-shadow:none}
.dstufen{display:flex;gap:3px;padding:12px 20px;border-bottom:1px solid var(--linie);overflow-x:auto}
.dstufen button{flex:1;min-width:82px;position:relative;background:rgba(255,255,255,.03);border:1px solid var(--linie);
  padding:8px 6px 7px;cursor:pointer;font-size:10px;letter-spacing:1px;font-weight:700;color:var(--ink3);
  clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%,9px 50%);transition:.2s}
.dstufen button:first-child{clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%)}
.dstufen button:hover{color:var(--ink)}
.dstufen button.erledigt{background:rgba(255,138,43,.10);color:var(--akz-tief);border-color:transparent}
.dstufen button.aktiv{background:linear-gradient(135deg,var(--akz),var(--akz-tief));color:#140800;border-color:transparent}
.dstufen button.aktiv.verloren-st{background:linear-gradient(135deg,var(--rot),#c23);color:#fff}
/* Schnittkante vor 'Angebot': hier endet das Lead-Board, ab hier zählt die Angebotsliste */
.dstufen button.schnitt{margin-left:12px;box-shadow:-7px 0 0 -5px var(--akz)}
.dsicht{padding:9px 20px;border-bottom:1px solid var(--linie);font-size:11.5px;color:var(--ink3);
  display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.02)}
.dsicht b{color:var(--akz);letter-spacing:1px}
.dkoerper{flex:1;display:grid;grid-template-columns:minmax(250px,.9fr) 1.4fr;gap:0;min-height:0}
@media(max-width:760px){.dkoerper{grid-template-columns:1fr;overflow-y:auto}}
.dfelder{padding:16px 20px;border-right:1px solid var(--linie);overflow-y:auto}
.dfelder h3,.dtimeline h3{font-size:10px;letter-spacing:2.2px;color:var(--ink3);font-weight:700;margin-bottom:10px}
.dfelder label{display:block;font-size:10.5px;letter-spacing:1.4px;color:var(--ink3);margin-bottom:9px}
.dfelder input,.dfelder select,.dfelder textarea{display:block;width:100%;margin-top:3px;padding:8px 11px;
  border:1px solid var(--linie2);border-radius:8px;background:rgba(0,0,0,.35);font-size:13px;resize:vertical}
.dfelder input:focus,.dfelder select:focus,.dfelder textarea:focus{outline:0;border-color:var(--akz)}
.dspeichern{width:100%;margin-top:4px;padding:11px;border:0;border-radius:9px;cursor:pointer;
  background:linear-gradient(135deg,var(--akz),var(--akz-tief));color:#140800;font-weight:800;letter-spacing:2px;
  box-shadow:0 6px 20px -8px var(--akz-glow);transition:.2s}
.dspeichern:hover{transform:translateY(-1px)}
.daktionen{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.daktionen .mini{text-decoration:none;display:inline-block;margin-top:0}
.dtimeline{display:flex;flex-direction:column;padding:16px 20px;min-height:0}
.dnotiz{display:flex;gap:6px;margin-bottom:12px}
.dnotiz select{background:rgba(0,0,0,.35);border:1px solid var(--linie2);border-radius:8px;padding:0 8px;font-size:12px}
.dnotiz input{flex:1;padding:10px 13px;border:1px solid var(--linie2);border-radius:9px;background:rgba(0,0,0,.35);min-width:0}
.dnotiz input:focus{outline:0;border-color:var(--akz)}
.dnotiz button{width:38px;height:38px;border-radius:9px;border:1px solid var(--linie2);cursor:pointer;
  background:rgba(255,255,255,.04);color:var(--ink2);flex:none;transition:.2s}
.dnotiz button:hover{border-color:var(--akz);color:var(--akz)}
.dnotiz button.an{background:var(--rot);border-color:var(--rot);color:#fff;animation:puls 1.3s infinite}
.dnotiz .senden{background:linear-gradient(135deg,var(--akz),var(--akz-tief));border-color:var(--akz);color:#140800}
#d_verlauf{flex:1;overflow-y:auto}
.akt{position:relative;padding:0 0 14px 22px;border-left:1px solid var(--linie);margin-left:6px}
.akt::before{content:"";position:absolute;left:-5px;top:3px;width:9px;height:9px;border-radius:50%;
  background:var(--bg2);border:2px solid var(--ink3)}
.akt.notiz::before,.akt.sprachnotiz::before{border-color:var(--akz)}
.akt.anruf::before{border-color:var(--gut)}
.akt.stufenwechsel::before{border-color:var(--warn)}
.akt.auftragseingang::before{border-color:var(--gut);background:var(--gut)}
.akt .kopfz{font-size:10.5px;letter-spacing:1.5px;color:var(--ink3);font-weight:700}
.notizx{margin-left:8px;border:0;background:none;color:var(--ink3);cursor:pointer;font-size:11px;padding:0 3px}
.notizx:hover{color:var(--rot)}
.akt .kopfz b{color:var(--ink2)}
.akt .txt{font-size:12.5px;color:var(--ink2);margin-top:3px;line-height:1.5;white-space:pre-wrap;word-break:break-word}

/* Zentrale-Seite */
.zraster{display:grid;grid-template-columns:minmax(230px,.6fr) 2fr;gap:14px;height:calc(100vh - 240px);min-height:460px}
@media(max-width:900px){.zraster{grid-template-columns:1fr;height:auto}.mannschaft{order:2}}
.mannschaft{overflow-y:auto}
.mitglied{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--linie)}
.mitglied .av{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:none;
  font-weight:800;font-size:13px;background:rgba(255,138,43,.14);color:var(--akz);
  border:1px solid rgba(255,138,43,.3)}
.mitglied.mk .av{background:rgba(199,146,234,.14);color:#c792ea;border-color:rgba(199,146,234,.3)}
.mitglied .nm{font-size:13.5px;font-weight:700}
.mitglied .ro{font-size:11.5px;color:var(--ink3);margin-top:1px;line-height:1.35}
.gespraech{display:flex;flex-direction:column;min-height:0}
#glog{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:6px 2px 12px}
/* Buchhaltung (CFO-Sicht): links die aktive Unterkategorie, rechts Klara */
#v-buchhaltung .zraster{grid-template-columns:1.5fr minmax(320px,1fr)}
#v-buchhaltung .spalte{overflow-y:auto;padding-right:2px}
#v-buchhaltung .astreifen{margin-bottom:12px}
#v-buchhaltung .akpi b{font-variant-numeric:tabular-nums}
/* Buchhaltung: Klara-Chat nutzt dieselbe Gesprächs-Optik */
#bhlog{flex:1;min-height:220px;max-height:44vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:6px 2px 12px}
#bhschnell{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
#bhschnell button{font-size:10.5px;letter-spacing:.5px;padding:4px 10px;border:1px solid var(--rand);border-radius:14px;background:rgba(255,255,255,.03);color:var(--ink2);cursor:pointer}
#bhschnell button:hover{color:var(--akz);border-color:var(--akz)}
#v-buchhaltung .zeile .wert .mini{margin-left:8px}
#bh_csv{color:var(--ink3);font-size:11px}
/* Bankfeste Wochen-/Jahrestabelle (kategorisiert) — GF 03.08.: "was die Bank sehen will" */
.bhtabelle{border-collapse:collapse;font-size:10.5px;min-width:100%;white-space:nowrap}
.bhtabelle th,.bhtabelle td{padding:5px 9px;border-bottom:1px solid var(--linie);text-align:right;
  font-variant-numeric:tabular-nums}
.bhtabelle th:first-child,.bhtabelle td:first-child{text-align:left;color:var(--ink2);white-space:normal;
  min-width:180px;font-variant-numeric:normal}
.bhtabelle th{color:var(--ink3);font-weight:700;letter-spacing:.5px;font-size:9.5px;text-transform:uppercase;
  border-bottom:1px solid var(--linie2)}
.bhtabelle tr.bhz-sum td{font-weight:700;background:rgba(255,255,255,.02)}
.bhtabelle tr.bhz-ampel td{font-weight:800}
/* Aufklappbare Unterkonten (GF 05.08.): Kategorie anklicken → Einzelpositionen */
.bhtabelle tr.bhz-kat{cursor:pointer}
.bhtabelle tr.bhz-kat:hover td{background:rgba(255,138,43,.05)}
.bhtabelle tr.bhz-kat .bhpf{display:inline-block;width:14px;color:var(--akz)}
.bhtabelle tr.bhz-kat .bhdn{font-style:normal;font-size:9px;color:var(--ink3);
  border:1px solid var(--linie2);border-radius:9px;padding:0 6px;margin-left:6px}
.bhtabelle tr.bh-det td{font-size:9.5px;color:var(--ink3);border-bottom:1px dashed var(--linie)}
.bhtabelle tr.bh-det td:first-child{padding-left:24px;max-width:340px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.geingabe{display:flex;gap:8px;align-items:center;padding-top:10px;border-top:1px solid var(--linie)}
.geingabe input{flex:1;padding:12px 15px;border-radius:11px;border:1px solid var(--linie2);
  background:rgba(0,0,0,.4);min-width:0}
.geingabe input:focus{outline:0;border-color:var(--akz)}
.geingabe button{width:42px;height:42px;border-radius:11px;border:1px solid var(--linie2);cursor:pointer;
  background:rgba(255,255,255,.04);color:var(--ink2);font-size:15px;flex:none;transition:.2s}
.geingabe button:hover{border-color:var(--akz);color:var(--akz)}
.geingabe .senden{background:linear-gradient(135deg,var(--akz),var(--akz-tief));border-color:var(--akz);color:#140800}
#gmic.an{background:var(--rot);border-color:var(--rot);color:#fff;animation:puls 1.3s infinite}
#gspk.an{background:linear-gradient(135deg,var(--akz),var(--akz-tief));border-color:var(--akz);color:#140800}
#gschnell{display:flex;gap:6px;flex-wrap:wrap;padding-top:10px}
#gschnell button{background:rgba(255,255,255,.04);border:1px solid var(--linie2);border-radius:20px;
  padding:7px 15px;cursor:pointer;font-size:12px;color:var(--ink2);transition:.2s}
#gschnell button:hover{border-color:var(--akz);color:var(--akz);transform:translateY(-1px)}

@keyframes auf{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes hoch{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes puls{0%{box-shadow:0 0 0 0 var(--akz-glow)}70%{box-shadow:0 0 0 11px transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes dreh{to{transform:rotate(1turn)}}
@keyframes lauf{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes wippe{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Vorschau-Kennzeichnung */
#vorschaubanner{position:fixed;top:0;left:0;right:0;z-index:30;text-align:center;
  background:linear-gradient(90deg,var(--warn),#c07b1e);color:#1a1200;font-size:11px;
  letter-spacing:2px;font-weight:800;padding:5px}
body{padding-top:24px}
.kopf{margin-top:2px}

/* Darstellungsgröße: passt sich an breite Bildschirme an, per Knopf übersteuerbar.
   Feste Pixelgrößen wirken auf 27"+ sonst winzig. */
body{zoom:var(--skala,1)}
@media(min-width:1900px){body{--skala:1.15}}
@media(min-width:2400px){body{--skala:1.3}}
@media(min-width:3200px){body{--skala:1.5}}

/* Wissens-Eingang */
.wissen .n{border-bottom:1px solid var(--linie);padding:8px 0}
.wissen .t{font-size:12px;font-weight:700;color:var(--ink)}
.wissen .q{font-size:10px;color:var(--ink3);margin-top:2px}
.wissen .x{font-size:11px;color:var(--ink2);margin-top:4px;line-height:1.45}
.wissen .btn{display:flex;gap:5px;margin-top:6px}
.wissen .btn button{background:rgba(255,255,255,.04);border:1px solid var(--linie2);border-radius:6px;
  padding:3px 9px;font-size:10px;color:var(--ink2);cursor:pointer}
.wissen .btn button:hover{border-color:var(--akz);color:var(--akz)}
.wissen .leer{font-size:11px;color:var(--ink3)}
