/* Team-App (A-2026-146, Neugestaltung A-2026-168/169/170, 17.10.2026). Handy zuerst, ab 1024 px Seitenleiste + breite Flächen,
   Tippziele >= 44 px, keine Inline-Styles (CSP style-src 'self'). Optik wie Eventportal/Social Studio: dunkel, Karminrot, weiche Karten. */
:root{--bg:#0B0B0C;--bg2:#101012;--tile:#151517;--tile2:#1B1B1F;--line:#27272B;--line2:#3A3A40;--red:#C0272D;--red2:#E0383F;--text:#F5F5F4;--sub:#A1A1AA;--dim:#A1A1AA;
  --green:#34D399;--yellow:#FBBF24;--r:16px;--r2:12px;--sh:0 10px 24px -10px rgba(0,0,0,.65);--t:160ms cubic-bezier(.4,0,.2,1);--side:248px}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{background:var(--bg);background-image:radial-gradient(900px 420px at 8% -8%,rgba(192,39,45,.10),transparent 70%);background-repeat:no-repeat;color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",sans-serif;-webkit-text-size-adjust:100%;overflow:hidden;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
button,input,textarea,select{font-family:inherit;color:inherit}
button{min-height:44px;border-radius:var(--r2);border:0;background:var(--red);color:#fff;font-weight:700;font-size:15px;padding:0 16px;cursor:pointer;transition:background var(--t),transform var(--t),border-color var(--t)}
button:hover{background:var(--red2)} button:active{transform:scale(.98)}
button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--red2);outline-offset:2px}
button:disabled{opacity:.5;cursor:default}
button.klein{min-height:44px;background:transparent;border:1px solid var(--line);color:var(--sub);font-size:12.5px;font-weight:500;margin-left:auto}
button.klein:hover{background:var(--tile2);color:var(--text)}
button.gross{width:100%;max-width:340px;min-height:52px;font-size:16px}
h1{font-size:26px;font-weight:800;letter-spacing:-.01em}
h2{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--red2);margin:22px 0 10px;font-weight:700}
.sub{color:var(--sub);font-size:13.5px;margin:6px 0 14px;line-height:1.45} .fehler{color:#F4A3A3;font-size:13px;min-height:0}
.leer{color:var(--sub);font-size:14px;text-align:center;margin-top:30px}
#login{display:none;height:100%;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 16px;gap:10px}
#login.an{display:flex}
#login .logo{border-radius:22px;box-shadow:var(--sh)}
#login.weg #login-text{font-size:16px;color:var(--text)} #login-hinweis{font-size:14px;color:var(--sub);margin:0;line-height:1.45}   /* A-2026-270 (Dana) */
#einrichten{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%;max-width:340px}
#einrichten label{font-size:12.5px;color:var(--sub)}
input[type=text],input[type=date],textarea{width:100%;min-height:44px;border-radius:var(--r2);border:1px solid var(--line);background:var(--tile);color:var(--text);padding:11px 13px;font-size:16px;line-height:1.35;transition:border-color var(--t)}
input[type=text]:focus,input[type=date]:focus,textarea:focus{border-color:var(--line2)}

/* Rahmen: Handy = Kopf, Inhalt, Leiste unten · ab 1024 px = Seitenleiste links */
#app{position:fixed;left:0;right:0;top:var(--vvtop,0px);height:100%;height:var(--vvh,100dvh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}
.kopf{display:flex;align-items:center;gap:12px;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));border-bottom:1px solid var(--line);background:rgba(11,11,12,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.kopf img{width:40px;height:40px;border-radius:50%;flex:none;box-shadow:0 0 0 2px var(--line)} .kopf .n{font-weight:750;font-size:17px;letter-spacing:-.01em} .kopf .s{font-size:12px;color:var(--sub)}
.tab{display:none;min-height:0;flex-direction:column;grid-row:2;grid-column:1} .tab.an{display:flex}
.scroll{flex:1;overflow-y:auto;padding:14px 16px 20px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.nav{display:flex;grid-row:3;grid-column:1;border-top:1px solid var(--line);background:rgba(11,11,12,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding-bottom:env(safe-area-inset-bottom)}
.nav .marke{display:none}
.nav button{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:0;background:transparent;color:var(--sub);font-size:12px;font-weight:600;padding:6px 2px}
.nav button:hover{background:transparent;color:var(--text)}
.nav button.an{color:var(--text);box-shadow:inset 0 2px 0 var(--red)}
.ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.badge{position:absolute;top:3px;left:calc(50% + 6px);min-width:18px;height:18px;border-radius:9px;background:var(--red);color:#fff;font-size:12px;line-height:18px;padding:0 5px;font-weight:700;text-align:center}

/* Chat */
#liste{flex:1;overflow-y:auto;padding:14px 16px 8px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
/* A-2026-529 (Design-Check Dana 21.10.): Kopfzeile über vollbreiter Blase, 17 px (ab 1280 px 18), echte Listen, Befehlsblock mit
   „Kopieren“, Status-Chips, Hinweis- und Entscheidungskarten; Florians Zeit unter der Blase. Schriftgröße = --cfs (CHAT_STIL in app.js). */
#liste{--cfs:17px;--fs:var(--cfs);--fs-klein:14.5px;--fs-zeit:13.5px;--redtxt:#FF8A8F;--codebg:#0F0F11}
@media (min-width:1280px){#liste{--fs:calc(var(--cfs) + 1px);--fs-klein:15px}}
.tagtrenner{display:flex;align-items:center;gap:12px;margin:22px 0 16px;color:var(--sub);font-size:var(--fs-zeit);font-weight:600;letter-spacing:.02em}
.tagtrenner::before,.tagtrenner::after{content:"";flex:1;height:1px;background:var(--line)} .tagtrenner:first-child{margin-top:4px}
.msg{display:block;margin:0 0 22px;min-width:0}
.mk{display:flex;align-items:center;gap:10px;margin:0 0 7px;min-height:40px;min-width:0}
.mk .ava{width:40px;height:40px;border-radius:50%;flex:none;object-fit:cover;box-shadow:0 0 0 2px var(--line)}
.mk .mkn{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}
.mk .name{font-size:16px;font-weight:700;color:var(--text)} .mk .rolle{font-size:var(--fs-zeit);color:var(--sub)}
.mk .zeit{margin:0 0 0 auto;font-size:var(--fs-zeit);color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap}
.blase{background:#17171A;border:1px solid var(--line);border-radius:16px;padding:14px 16px 15px;font-size:var(--fs);line-height:1.55;overflow-wrap:anywhere;
  box-shadow:0 10px 24px -14px rgba(0,0,0,.7);display:flex;flex-direction:column;gap:12px;color:var(--text);min-width:0}
.blase p{margin:0} .blase strong{font-weight:700} .blase p.listenkopf{font-weight:700;margin-bottom:-4px}
#liste[data-kopf=daneben] .msg:not(.ich){position:relative;padding-left:50px}
#liste[data-kopf=daneben] .msg:not(.ich) .mk .ava{position:absolute;left:0;top:0}
.msg.fehler .blase{border-color:#7A1217}
.blase ul,.blase ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.blase ul>li{position:relative;padding-left:22px}
.blase ul>li::before{content:"";position:absolute;left:5px;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--red2)}
.blase ol{counter-reset:s var(--start,0)}
.blase ol>li{position:relative;padding-left:40px;counter-increment:s;min-height:28px}
.blase ol>li::before{content:counter(s);position:absolute;left:0;top:1px;width:28px;height:28px;border-radius:50%;background:rgba(192,39,45,.20);
  border:1px solid rgba(255,138,143,.45);color:var(--redtxt);font-size:14.5px;font-weight:700;line-height:26px;text-align:center;font-variant-numeric:tabular-nums}
.blase li>p+p,.blase li>.code,.blase li>p+.code{margin-top:8px}
code.ic{font:600 .88em/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--codebg);border:1px solid var(--line2);border-radius:6px;padding:2px 6px;color:#E8E8EA;overflow-wrap:anywhere}
a.lnk{color:#93C5FD;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
a.lnk:focus-visible,.idchip:focus-visible,.kopf-knopf:focus-visible,.wb:focus-visible,.code pre:focus-visible,.cs-knopf:focus-visible{outline:2px solid var(--text);outline-offset:2px}
/* Status-Chips: Zustand = Form + Farbe + Text im aria-label, nie nur Farbe; Trefferfläche ≥ 44 px über ::after */
.idchip{position:relative;display:inline-flex;align-items:center;gap:6px;padding:1px 10px 1px 8px;margin:0 1px;border-radius:999px;background:#26262B;border:1px solid var(--line2);
  color:#E4E4E7;font:600 14.5px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap;cursor:pointer;vertical-align:baseline;min-height:28px}
.idchip::after{content:"";position:absolute;inset:-9px -4px}
.idchip[aria-expanded=true]{background:#2E2E34;border-color:var(--sub)}
.idchip .pkt{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;background:var(--sub)}
.idchip.st-laeuft{border-color:rgba(52,211,153,.55)} .idchip.st-laeuft .pkt{background:var(--green);animation:cpuls 1.6s ease-in-out infinite}
.idchip.st-wartet{border-color:rgba(251,191,36,.6)} .idchip.st-wartet .pkt{background:conic-gradient(var(--yellow) 0 50%,transparent 0);border:2px solid var(--yellow)}
.idchip.st-fertig .pkt{background:transparent;border:0;width:12px;height:12px;position:relative}
.idchip.st-fertig .pkt::after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid var(--green);border-width:0 2px 2px 0;transform:rotate(45deg)}
.idchip.st-offen .pkt{background:transparent;border:2px solid var(--sub)}
@keyframes cpuls{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.idchip.st-laeuft .pkt{animation:none}}
.chipstand{border:1px solid var(--line);border-radius:12px;background:var(--tile);padding:10px 12px;font-size:var(--fs-klein);line-height:1.45}
.chipstand .astand{margin-top:0;padding-top:0;border-top:0} .chipstand .atext{margin-top:4px}
.cs-knopf{margin-top:8px;min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line2);background:var(--tile2);color:var(--text);font-weight:600;font-size:15px;cursor:pointer}
/* Befehlsblock: Kopieren legt nur in die Zwischenablage */
.code{border:1px solid var(--line2);border-radius:12px;background:var(--codebg);overflow:hidden;min-width:0}
.code .ck{display:flex;align-items:center;gap:8px;padding:2px 4px 2px 12px;border-bottom:1px solid var(--line);min-height:48px}
.code .kl{font-size:var(--fs-zeit);color:var(--sub);font-weight:600;min-width:0}
.code.gefahr{border-color:rgba(251,191,36,.6)} .code.gefahr .kl{color:var(--yellow)}
.kopf-knopf{margin-left:auto;flex:none;min-width:96px;min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line2);background:var(--tile2);color:var(--text);font-weight:600;font-size:16px;line-height:1;cursor:pointer}
.kopf-knopf:hover{background:#26262B} .kopf-knopf.ok{background:#0E3B2C;border-color:rgba(52,211,153,.6);color:#B8E8CB}
.code pre{margin:0;padding:12px 14px 14px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font:500 15.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#E8E8EA}
.code pre code{font:inherit}
/* Rollenstimme („IT-Ingo: …“), früher .zitat */
.stimme{display:grid;grid-template-columns:34px 1fr;gap:2px 11px;background:#1F1F24;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.stimme .sav{grid-row:1/span 2;width:34px;height:34px;border-radius:50%;object-fit:cover;margin-top:1px}
.stimme .sb{grid-column:2;display:flex;flex-direction:column;gap:8px;min-width:0} .stimme .sn{display:block;font-size:15px;font-weight:700;margin-bottom:-2px}
.stimme:not(:has(.sav)){grid-template-columns:1fr} .stimme:not(:has(.sav)) .sb{grid-column:1}
/* „Für dich“ – der nächste Schritt */
.fuerdich{border-left:4px solid var(--red2);background:rgba(192,39,45,.12);border-radius:0 12px 12px 0;padding:10px 14px 11px;display:flex;flex-direction:column;gap:8px}
.fuerdich .fl{font-size:var(--fs-zeit);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--redtxt);margin-bottom:-6px}
.fuerdich p{font-weight:600}
/* Aktionszeilen unter der Antwort (Häkchen als SVG, kein Emoji) */
.akt{display:flex;gap:9px;align-items:flex-start;padding-top:11px;border-top:1px solid var(--line);font-size:var(--fs-klein);line-height:1.45;color:#B8E8CB}
.akt::before{content:"";flex:none;width:18px;height:18px;margin-top:1px;border-radius:50%;background:rgba(52,211,153,.18) no-repeat center/11px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.4l2.6 2.6L10 3.4' fill='none' stroke='%2334D399' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.akt+.akt{border-top:0;padding-top:0}
.akt.nein{color:#F4A3A3} .akt.nein::before{background-color:rgba(255,138,143,.2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 3l6 6M9 3l-6 6' fill='none' stroke='%23FF8A8F' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.blase .astand{margin-top:0}
/* Entscheidungskarte (nur aus dem Feld wahl des Dienstes) */
.wahl{margin-top:2px;background:#1E1B12;border:1px solid #5A4A12;border-left:5px solid var(--yellow);border-radius:14px;padding:14px 14px 14px 15px}
.wahl .wk{font-size:var(--fs-zeit);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--yellow)}
.wahl .wf{margin:6px 0 0;font-size:calc(var(--fs) + 1px);line-height:1.4;font-weight:700}
.wahl .wc,.wahl .wh{margin:6px 0 0;font-size:var(--fs-klein);color:var(--sub);line-height:1.45} .wahl .wh{margin-top:10px}
.wopt{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.wb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:10px 16px;border-radius:12px;font-weight:600;font-size:var(--fs);line-height:1.25;cursor:pointer;text-align:center;border:1px solid transparent}
.wb small{font-size:13.5px;font-weight:500;opacity:.92}
.wb.prim{background:var(--red);color:#fff} .wb.prim:hover{background:#A82127}
.wb.zweit{background:#26262B;border-color:var(--line2);color:var(--text)} .wb.zweit:hover{background:#2E2E34}
.wb.dritt{background:transparent;border-color:var(--line2);color:var(--sub)} .wb.dritt:hover{color:var(--text)}
.wb .sl{display:inline-block;width:10px;height:12px;border:2px solid currentColor;border-radius:3px;margin-right:8px;position:relative;top:1px}
.wb:disabled{opacity:.5;cursor:default}
.wahl.erledigt{border-left-color:var(--green);border-color:var(--line);background:var(--tile)} .wahl.erledigt .wk{color:var(--green)} .wahl.erledigt .wf{font-weight:600;color:var(--sub)}
.wahl .we{margin:8px 0 0;font-weight:600;font-size:var(--fs-klein);color:#B8E8CB}
/* Florians Nachricht: rote Blase rechts, Zeit darunter (7,7:1 statt 3,7:1 auf Rot) */
.msg.ich{display:flex;flex-direction:column;align-items:flex-end}
.msg.ich .blase{display:block;background:#B3242A;border-color:#CF2D34;color:#fff;border-radius:16px 16px 4px 16px;max-width:min(68ch,88%);padding:11px 15px 12px;box-shadow:none;white-space:pre-wrap}
.msg.ich>.zeit{margin-top:5px;font-size:var(--fs-zeit);color:var(--sub);font-variant-numeric:tabular-nums}
.msg.stats .blase,.msg.nachgel .blase{gap:8px}
.nachtrag{font-size:var(--fs-zeit);color:var(--yellow);font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:-4px} .nachtrag.nichts{color:var(--sub)}
@media (min-width:1100px){#liste>.msg,#liste>.tagtrenner{max-width:700px;margin-left:auto;margin-right:auto}}
/* kleinste Schrift im Verlauf ≥ 13,5 px (Design-Check 7.1): Stufenleiste, Läufe, Platzhalter-Avatar */
#liste .mk .av{font-size:15px} #liste .astand{font-size:14px} #liste .astand .akopf{font-size:14.5px} #liste .astand .akopf small{font-size:13.5px}
#liste .stufen li{font-size:13.5px} #liste .tdet>summary{font-size:14px}
#liste .lsub,#liste .ltitel,#liste .ticket,#liste .ticket small,#liste .ticket time,#liste .luhr,#liste .lauf small,#liste .lauf time,#liste .tauf,#liste .av{font-size:13.5px}
.zitat{display:flex;gap:7px;align-items:flex-start;margin:6px 0} .zitat img{width:22px;height:22px;border-radius:50%;flex:none;margin-top:2px}
.zeit{font-size:13.5px;color:var(--sub);margin-top:5px}
/* Arbeitsanzeige (A-2026-178): laufende Läufe unten im Verlauf, abgeschlossene als kurze Zeile */
.laeufe{display:flex;flex-direction:column;gap:10px;margin:0 0 12px}
.lauf{display:flex;gap:9px;align-items:flex-start;min-width:0} .lauf .ava{width:34px;height:34px;border-radius:50%;flex:none;margin-top:2px;box-shadow:0 0 0 2px var(--line);object-fit:cover}
.lblase{min-width:0;max-width:min(68ch,calc(100% - 46px));background:var(--tile);border:1px dashed var(--line2);border-radius:6px 16px 16px 16px;padding:9px 13px;overflow-wrap:anywhere}
.lauf.arbeitet .lblase{border-style:solid;border-color:#2f6b3f} .lauf.arbeitet .ava{box-shadow:0 0 0 2px var(--green)}
.lauf.haengt .lblase{border-color:#7a6320} .lauf.haengt .ava{box-shadow:0 0 0 2px var(--yellow)} .lauf.fehler .lblase{border-color:#7A1217}
.lkopf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14.5px;line-height:1.4} .lkopf b{font-weight:650}
.lsub{display:block;color:var(--sub);font-size:12.5px;margin-top:2px} .ltitel{color:#D4D4D8;font-size:13px;margin-top:4px}
.tipp{display:inline-flex;gap:4px;align-items:center;height:14px} .tipp i{width:6px;height:6px;border-radius:50%;background:var(--green);animation:tipp 1.2s infinite ease-in-out}
.tipp i:nth-child(2){animation-delay:.15s} .tipp i:nth-child(3){animation-delay:.3s}
@keyframes tipp{0%,80%,100%{transform:translateY(0);opacity:.35}40%{transform:translateY(-4px);opacity:1}}
.lauf.still{margin:0 0 12px;padding-left:12px;align-items:center} .lauf.still .ava{width:24px;height:24px;margin-top:0;box-shadow:none}
.lauf.still .lblase{background:transparent;border:0;padding:0} .lauf.still .lkopf{font-size:13px;color:var(--sub)} .lauf.still .lsub{font-size:12px}
.haken{color:var(--green);font-weight:700} .lauf.abgebrochen .lkopf{color:#F4A3A3}
#warte{display:none;padding:0 16px 8px;font-size:13px;color:var(--sub);gap:8px;align-items:center} #warte.an{display:flex} #warte img{border-radius:50%}
#hinweis{padding:0 16px 6px}
#f{display:flex;flex-direction:column;gap:8px;padding:10px 16px calc(10px + 0px);border-top:1px solid var(--line);background:var(--bg2)}
#f textarea{max-height:140px;resize:none;font-size:17px;line-height:1.4}   /* A-2026-529: Eingabe 17 px (≥ 16, kein iOS-Zoom) */
.werkzeuge{display:flex;gap:8px;align-items:center} .werkzeuge #b{margin-left:auto;min-width:96px}
#f label.icon,#f button.icon{display:flex;align-items:center;justify-content:center;min-width:44px;width:44px;min-height:44px;padding:0;background:var(--tile);border:1px solid var(--line);border-radius:var(--r2);font-size:20px;cursor:pointer;flex:none}
#f label.icon:hover,#f button.icon:hover{background:var(--tile2);border-color:var(--line2)}
#f button.icon.an{background:var(--red);border-color:var(--red);color:#fff}
button.schalter{flex:none;background:var(--tile);border:1px solid var(--line);color:var(--sub);font-size:13px;font-weight:650;min-width:44px;padding:0 12px}
button.schalter[aria-pressed=true]{background:rgba(192,39,45,.18);border-color:var(--red);color:#fff}
.dl{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:6px;padding:0 10px;border:1px solid rgba(255,255,255,.25);border-radius:10px;color:inherit;text-decoration:none;font-size:13px;overflow-wrap:anywhere}
.vlink{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:8px;padding:0 16px;border-radius:var(--r2);background:var(--red);color:#fff;font-weight:700;font-size:15px;text-decoration:none} .vlink:hover{background:var(--red2)}   /* A-2026-221 Knopf „Video öffnen“ */
.dl small{color:inherit;opacity:.75;margin-left:auto;flex:none}
a.bildlink{display:block;margin-top:6px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.2);line-height:0;min-height:44px}
a.bildlink img{display:block;width:100%;max-width:320px;max-height:260px;object-fit:cover;background:var(--tile2)}
.bilder{display:flex;flex-wrap:wrap;gap:6px} .bilder a.bildlink{flex:1 1 140px;max-width:320px}
#anhang{display:flex;flex-direction:column;gap:8px;padding:8px 16px 0;border-top:1px solid var(--line)} #anhang[hidden]{display:none}
.linkzeile{display:flex;gap:8px} .linkzeile input{flex:1;min-width:0} .linkzeile button{min-width:72px}
.ahleiste{display:flex;gap:8px;overflow-x:auto;padding:8px 16px 4px;border-top:1px solid var(--line);-webkit-overflow-scrolling:touch}
.ahwerk{display:flex;align-items:center;gap:10px;padding:4px 16px 8px} .ahwerk small{color:var(--sub);font-size:12.5px;line-height:1.35;min-width:0}
.chatseite{display:none}
.ahchip{display:flex;align-items:center;gap:8px;flex:none;width:210px;min-height:56px;border:1px solid var(--line);border-radius:var(--r2);background:var(--tile);padding:4px 0 4px 4px}
.ahchip.bad{border-color:#7A1217}
.ahth{width:48px;height:48px;border-radius:8px;object-fit:cover;flex:none;background:var(--tile2)}
.ahsym{display:flex;align-items:center;justify-content:center;font-size:22px}
.ahname{flex:1;min-width:0;display:flex;flex-direction:column} .ahname b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .ahname small{font-size:12px;color:var(--sub)}
button.ahx{flex:none;width:44px;min-width:44px;min-height:44px;padding:0;background:transparent;color:var(--sub);font-size:24px;font-weight:400;border-radius:var(--r2)}
.freigaben{padding:8px 16px 0;max-height:34vh;overflow-y:auto}
.fg{background:var(--tile);border:1px solid #7A1217;border-radius:var(--r2);padding:10px 12px;margin:0 0 8px;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.fg b{display:block;font-size:12px;color:var(--sub);font-weight:600;margin-bottom:2px}
.fg .hinweis{font-size:12px;color:var(--sub);margin-top:4px}
.fg .knoepfe{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.fg button{min-height:44px;flex:1 1 90px;background:var(--tile2);border:1px solid var(--line);color:var(--text);font-size:14px}
.fg button.ja{background:var(--red);border-color:var(--red);color:#fff}

/* Karten, Chips, Reiter */
.karte{background:linear-gradient(180deg,#18181B,#141416);border:1px solid var(--line);border-radius:var(--r);padding:13px 14px;margin:0 0 10px;font-size:14px;line-height:1.4;overflow-wrap:anywhere;box-shadow:var(--sh)}
.karte b{font-weight:700} .karte small{display:block;color:var(--sub);font-size:12px;margin-top:3px}
.zahlen{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.chip{border:1px solid var(--line);background:var(--tile);border-radius:999px;min-height:36px;padding:0 13px;font-size:13px;display:inline-flex;align-items:center;gap:6px}
.punkt{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--dim);flex:none} .punkt.g{background:var(--green)} .punkt.y{background:var(--yellow)} .punkt.r{background:var(--red2)}
.zeile{display:flex;gap:11px;align-items:flex-start} .zeile img{width:44px;height:44px;border-radius:50%;flex:none}
.balken{height:10px;border-radius:5px;background:var(--line);margin:8px 0 3px;overflow:hidden} .balken i{display:block;height:100%;background:var(--green)} .balken i.y{background:var(--yellow)} .balken i.r{background:var(--red2)}
.w10{width:10%}.w20{width:20%}.w30{width:30%}.w40{width:40%}.w50{width:50%}.w60{width:60%}.w70{width:70%}.w80{width:80%}.w90{width:90%}.w100{width:100%}.w0{width:2%}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12.5px;line-height:1.45;color:#CFCFD3;font-family:ui-monospace,Menlo,monospace}
.bildknopf{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:var(--r2);background:var(--tile);font-size:14px;color:var(--sub)}
details.karte summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer} details.karte[open] summary{margin-bottom:8px}
.seg,.seg2{display:flex;gap:6px;margin:0 0 12px;padding:4px;background:var(--tile);border:1px solid var(--line);border-radius:14px} .seg2{background:transparent;border:0;padding:0}
.seg button,.seg2 button{flex:1;min-width:0;background:transparent;border:1px solid transparent;color:var(--sub);font-size:13.5px;font-weight:650;padding:0 8px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:6px}
.seg2 button{background:var(--tile);border-color:var(--line)}
.seg button:hover,.seg2 button:hover{background:var(--tile2);color:var(--text)}
.seg button.an,.seg2 button.an{background:var(--red);border-color:var(--red);color:#fff}
.zk{min-width:20px;height:20px;border-radius:10px;background:rgba(255,255,255,.14);font-size:12px;line-height:20px;padding:0 6px;font-weight:700} .zk:empty{display:none}
select{width:100%;min-height:44px;border-radius:var(--r2);border:1px solid var(--line);background:var(--tile2);color:var(--text);padding:0 10px;font-size:16px;margin:6px 0 0}
select.voll{margin-bottom:8px}
button.breit{width:100%;margin-top:8px} .karte input[type=text]{margin-top:8px}
.ok{color:#B8E8CB;font-size:13px;margin:4px 0} .du{color:#F5CE9A}
.fuell{flex:1;min-width:0} .zeile .klein{margin-left:8px;flex:none}
small.zl{display:block;color:var(--sub);font-size:12px;margin-top:4px}
.karte.tippbar{cursor:pointer;min-height:44px} .karte.tippbar:focus-visible{outline:2px solid var(--red2)}

/* Kritisch: Karten (Titel, Rolle, Status) */
.kgitter{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}
.kk{position:relative;display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,#19191C,#141416);border:1px solid var(--line);border-radius:var(--r);padding:14px 14px 12px 18px;box-shadow:var(--sh);overflow:hidden;transition:border-color var(--t),transform var(--t)}
.kk::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--dim)} .kk.rot::before{background:var(--red2)} .kk.gelb::before{background:var(--yellow)} .kk.gruen::before{background:var(--green)}
.kk:hover{border-color:var(--line2);transform:translateY(-1px)}
.kk .kt{font-weight:700;font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.kk .kd{font-size:12.5px;color:var(--sub);line-height:1.4;overflow-wrap:anywhere}
.kk .kfuss{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}
.rolle-chip{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 11px 0 4px;border:1px solid var(--line);border-radius:999px;background:var(--tile);font-size:12.5px;font-weight:600}
.rolle-chip .av,.rolle-chip img{width:24px;height:24px;border-radius:50%;flex:none}
.pille{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:750;letter-spacing:.03em;text-transform:uppercase;background:rgba(255,255,255,.08);color:var(--sub)}
.pille.rot{background:rgba(224,56,63,.18);color:#FF9DA1} .pille.gelb{background:rgba(251,191,36,.16);color:#FBD36E} .pille.gruen{background:rgba(52,211,153,.16);color:#7BE8BD}
.kid{font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums}
.mehr{display:flex;justify-content:center;margin:14px 0 0} .mehr button{min-width:220px}
.av{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#2B2B31,#1C1C20);color:var(--sub);font-weight:750;font-size:13px;flex:none;object-fit:cover}

/* Aufgaben, Live-Liste */
.fristzeile{display:flex;gap:8px;margin-bottom:8px} .fristzeile input{flex:1;min-width:0} .fristzeile button{flex:none}
.kblock{margin-top:10px;border-top:1px solid var(--line);padding-top:8px} .kom{background:var(--tile2);border-radius:10px;padding:8px 10px;margin:6px 0;font-size:13.5px;overflow-wrap:anywhere}
.kblock textarea{margin-top:6px}
details.auf summary.aufsum{display:flex;gap:10px;align-items:center;min-height:56px;cursor:pointer;list-style:none} details.auf summary::-webkit-details-marker{display:none}
details.auf.aktiv{border-color:#2f6b3f} .frist{color:#F5CE9A} .frist.ueber{color:#FF9DA1;font-weight:700}
details.rolle{background:linear-gradient(180deg,#18181B,#141416);border:1px solid var(--line);border-radius:var(--r);margin:0 0 10px;overflow:hidden}
details.rolle summary{display:flex;align-items:center;gap:10px;min-height:76px;padding:10px 12px;cursor:pointer;list-style:none}
details.rolle summary::-webkit-details-marker{display:none}
details.rolle summary>img,details.rolle summary>.av{width:44px;height:44px;border-radius:50%;flex:none}
details.rolle .fuell b{display:block;font-size:15px} details.rolle .fuell small{display:block;color:var(--sub);font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zst{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--sub);margin-top:2px}
.rinh{padding:0 12px 12px;border-top:1px solid var(--line)} .rinh p{font-size:13px;margin:10px 0 2px;overflow-wrap:anywhere} .rinh small.zl{white-space:normal;overflow-wrap:anywhere}
.ring{width:56px;height:56px;flex:none} .ring .rb{fill:none;stroke:var(--line);stroke-width:5} .ring .rv{fill:none;stroke:var(--red2);stroke-width:5;stroke-linecap:round}
.ring .rt{fill:var(--text);font-size:13px;font-weight:700}
.ring.klein{width:40px;height:40px;flex:none} .ring .rd{fill:none;stroke:var(--green);stroke-width:5;stroke-linecap:round;transform-origin:28px 28px;animation:dreh 1.4s linear infinite}
@keyframes dreh{to{transform:rotate(360deg)}}
details.rolle.wartet .ring .rv{stroke:var(--yellow)} details.rolle.arbeitet .ring .rv{stroke:var(--green)}
.striche{display:inline-flex;align-items:flex-end;gap:3px;height:14px;width:26px;flex:none}
.striche i{display:block;width:4px;height:100%;border-radius:2px;background:var(--line2);transform-origin:bottom;transform:scaleY(.25)}
.striche.arbeitet i{background:var(--green);animation:strich 1s ease-in-out infinite}
.striche.arbeitet i:nth-child(2){animation-delay:.15s}.striche.arbeitet i:nth-child(3){animation-delay:.3s}.striche.arbeitet i:nth-child(4){animation-delay:.45s}
.striche.wartet i{background:var(--yellow);transform:scaleY(.6)} .striche.bereit i{background:var(--dim);transform:scaleY(.4)}
@keyframes strich{0%,100%{transform:scaleY(.2)}50%{transform:scaleY(1)}}
.punkt.last{width:12px;height:12px;margin-left:auto;flex:none;border:1px solid var(--line)}
.bericht .bin{border-top:1px solid var(--line);margin-top:8px;padding-top:6px}
.bh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;min-height:28px} .bh b{font-size:13px}
.chip.klein{min-height:24px;padding:0 8px;font-size:12px} small.bz{white-space:normal;overflow-wrap:anywhere}
.bl{font-size:12.5px;color:var(--sub);display:flex;gap:6px;align-items:flex-start;overflow-wrap:anywhere}
.vorschl .vs{border-top:1px solid var(--line);padding:8px 0} .vorschl .vs b{display:block;font-size:14px}
.suche .suchzeile{display:flex;gap:8px} .suche .suchzeile select{flex:1;min-width:0}
.treffer .ausz{font-size:14px;overflow-wrap:anywhere} .treffer .fund{overflow-wrap:anywhere}

/* Team-Diagramm: Avatare im Raster, Linien (SVG) vom Chef zu jeder Rolle; nutzt die ganze Breite */
.gwrap{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.graph{position:relative;padding:4px 0 8px;isolation:isolate}
.glinien{position:absolute;left:0;top:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
.gl{fill:none;stroke:var(--line2);stroke-width:1.6;stroke-linecap:round}
.gl.laeuft{stroke:var(--green);stroke-dasharray:6 8;animation:flussg .9s linear infinite}
.gl.fach{stroke:var(--dim);stroke-dasharray:2 6;opacity:.45} .gl.fach.sel{opacity:1;stroke:var(--yellow)}
.gl.sel{stroke:var(--red2);stroke-width:2.2}
@keyframes flussg{to{stroke-dashoffset:-14}}
.gwurzel{position:relative;z-index:1;display:flex;justify-content:center;margin-bottom:34px}
.graster{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px}
.gnode{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-height:132px;padding:14px 8px 12px;background:linear-gradient(180deg,#19191C,#141416);border:1px solid var(--line);border-radius:18px;color:var(--text);font-weight:400;box-shadow:var(--sh);transition:border-color var(--t),transform var(--t),box-shadow var(--t)}
.gnode:hover{background:linear-gradient(180deg,#1C1C20,#17171A);border-color:var(--line2);transform:translateY(-2px)}
.gnode.arbeitet{border-color:#2f6b3f;box-shadow:0 0 0 1px rgba(52,211,153,.18),var(--sh)} .gnode.wartet{border-color:#7a6320}
.gnode.sel{border-color:var(--red2);box-shadow:0 0 0 2px rgba(224,56,63,.28),var(--sh)}
.gnode .gav{position:relative;width:64px;height:64px;border-radius:50%;flex:none}
.gnode .gav img,.gnode .gav .av{width:64px;height:64px;border-radius:50%;box-shadow:0 0 0 2px var(--line);font-size:20px}
.gnode.arbeitet .gav img,.gnode.arbeitet .gav .av{box-shadow:0 0 0 2px var(--green)} .gnode.wartet .gav img,.gnode.wartet .gav .av{box-shadow:0 0 0 2px var(--yellow)}
.gnode .gn{font-size:14px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.gnode .gz{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--sub)}
.gnode .gzahl{position:absolute;top:6px;right:6px;min-width:24px;height:24px;border-radius:12px;background:var(--tile2);border:1px solid var(--line);font-size:12px;line-height:22px;font-weight:700;color:var(--text)}
.gnode.wurzel{min-height:0;width:min(100%,280px);flex-direction:row;text-align:left;padding:12px 16px;gap:12px}
.gnode.wurzel .gav,.gnode.wurzel .gav img,.gnode.wurzel .gav .av{width:56px;height:56px}
.gdetail{background:linear-gradient(180deg,#18181B,#141416);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--sh);min-width:0}
.gdetail h3{font-size:18px;letter-spacing:-.01em;margin:0 0 2px}
.gdkopf{display:flex;gap:12px;align-items:center;margin-bottom:10px} .gdkopf img,.gdkopf .av{width:56px;height:56px;border-radius:50%;flex:none}
.gdetail .orow{display:flex;gap:10px;align-items:center;padding:8px 0;min-height:48px} .gdetail .orow+.orow{border-top:1px dashed var(--line)}
.gdetail .otitel{display:block;font-size:13.5px;font-weight:650;overflow-wrap:anywhere} .gdetail .orow small{display:flex;align-items:center;gap:8px;color:var(--sub);font-size:12px}
.gdetail .orow.aktiv .otitel{color:#B8E8CB}
.gleer{color:var(--sub);font-size:14px;text-align:center;padding:24px 8px}
.weitergabe{display:flex;align-items:center;gap:6px;padding:8px 10px} .wv{display:flex;flex-direction:column;align-items:center;gap:2px;width:84px;flex:none;text-align:center} .wv img,.wv .av{border-radius:50%}
.wv small{font-size:12px;margin:0;overflow-wrap:anywhere}
.wm{flex:1;min-width:0;display:flex;align-items:center;gap:4px;flex-direction:column}
.fluss{display:block;background:var(--line2)} .fluss.h{height:3px;width:100%;min-width:40px;border-radius:2px}
.fluss.laeuft{background-color:transparent;background-image:repeating-linear-gradient(90deg,var(--green) 0 6px,transparent 6px 12px);background-size:12px 3px;animation:flussh .9s linear infinite}
@keyframes flussh{to{background-position:12px 0}}

/* Design-Auflage 3: Handy 3 Spalten, kompakte Knoten (112 px, Avatar 52 px); Namen nie abgeschnitten (Silbentrennung, notfalls Umbruch) */
@media(max-width:599px){
  .graster{gap:16px 8px}
  .gnode{min-height:112px;padding:10px 4px 10px;gap:5px;border-radius:16px}
  .gnode .gav,.gnode .gav img,.gnode .gav .av{width:52px;height:52px;font-size:17px}
  .gnode .gn{font-size:12px;line-height:1.25;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere;max-width:100%}
  .gnode .gz{font-size:12px;gap:4px}
  .gnode .gzahl{top:4px;right:4px;min-width:22px;height:22px;line-height:20px;font-size:12px}
}
@media(min-width:600px){
  .scroll{padding:18px clamp(16px,2vw,40px) 28px}
  .graster{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:1024px){
  #app{grid-template-columns:var(--side) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .kopf{grid-column:2;grid-row:1;padding:14px 28px;padding-top:14px} .kopf .n{font-size:20px}
  .tab{grid-column:2;grid-row:2}
  .nav{grid-column:1;grid-row:1/-1;flex-direction:column;align-items:stretch;gap:4px;padding:20px 14px;border-top:0;border-right:1px solid var(--line);background:linear-gradient(180deg,#0F0F11,#0B0B0C)}
  .nav .marke{display:flex;align-items:center;gap:12px;padding:4px 8px 22px} .nav .marke img{border-radius:12px} .nav .marke b{display:block;font-size:16px;letter-spacing:-.01em} .nav .marke small{color:var(--sub);font-size:12px}
  .nav button{flex:none;flex-direction:row;justify-content:flex-start;gap:12px;min-height:48px;padding:0 14px;font-size:14.5px;border-radius:12px;box-shadow:none}
  .nav button:hover{background:var(--tile)} .nav button.an{background:rgba(192,39,45,.16);color:#fff;box-shadow:inset 3px 0 0 var(--red2)}
  .badge{position:static;margin-left:auto;top:auto;left:auto}
  #liste{padding:20px 28px 10px} #f{padding:12px 28px 18px;border-top:0;background:transparent}
  #f textarea{min-height:56px}
  .graster{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(min-width:1280px){
  .gwrap{grid-template-columns:minmax(0,1fr) 400px;align-items:start} .gdetail{position:sticky;top:0}
  .graster{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 16px}
  .zurueck{display:none}
}
@media(min-width:1500px){.graster{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:1800px){.graster{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.tipp i{animation:none;opacity:.8}.striche.arbeitet i{animation:none;transform:scaleY(.7)}.ring .rd{animation:none}.fluss.laeuft{animation:none}.gl.laeuft{animation:none}.kk,.gnode,button{transition:none}}
/* Stats-Kontrollkarte (A-2026-187): Feld · erkannt · Vorwert · Abweichung; Warnzeilen gelb, Knöpfe volle Breite ≥ 44 px */
.msg.stats .blase.skarte{width:100%;max-width:100%}
@media (min-width:700px){.msg.stats .blase.skarte{max-width:560px}}
.skopf{display:block;font-size:15.5px;font-weight:650;line-height:1.35} .ssub{display:block;color:var(--sub);font-size:12.5px;margin:2px 0 8px}
.svor{font-size:13px;color:#D4D4D8;margin-bottom:4px}
.stabhuelle{overflow-x:auto;margin:0 -4px 6px;-webkit-overflow-scrolling:touch}
.stab{width:100%;border-collapse:collapse;font-size:14px} .stab th{text-align:left;font-size:12px;color:var(--sub);font-weight:600;padding:4px;border-bottom:1px solid var(--line)}
.stab td{padding:6px 4px;border-bottom:1px solid var(--line);vertical-align:top} .stab td.zahl,.stab th:not(:first-child){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.stab tr.warn td{background:rgba(251,191,36,.12);color:#FDE68A}
.swarn{font-size:13px;color:#FDE68A;margin-top:5px} .ssperre{font-size:13px;color:#F4A3A3;margin-top:5px;font-weight:600}
.sign{font-size:12px;color:var(--sub);margin-top:6px}
.sknoepfe{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.sknoepfe button.sk{width:100%;min-height:46px;font-size:15px}
.sknoepfe button.gruen{background:#15803D} .sknoepfe button.gruen:hover{background:#16A34A}
.sknoepfe button.grau{background:var(--tile2);border:1px solid var(--line2);color:var(--text)} .sknoepfe button.grau:hover{background:#26262B}
.sknoepfe button.wahl{background:var(--tile);border:1px solid #2f6b3f;color:var(--text);font-weight:600;text-align:left;justify-content:flex-start}
.shinweis{font-size:12.5px;color:var(--sub);margin-top:6px;min-height:1em}
.skarte.alt{opacity:.55} .sueberholt{font-size:12px;color:var(--sub);margin-top:6px;font-style:italic}
/* ───────── A-2026-202/203/204: Leiste „Gerade in Arbeit“, Auftragsstand, Meine Aufgaben, KI-Hilfe ───────── */
.inarbeit{flex:none;display:flex;flex-direction:column;gap:6px;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--bg2);max-height:34vh;overflow-y:auto}
.ikopf{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sub)}
.izeile{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 10px;background:var(--tile);border:1px solid #2f6b3f;border-radius:12px;color:var(--text);font-size:13.5px;font-weight:400;text-align:left}
.izeile.haengt{border-color:#7a6320} .izeile.offen{border-color:var(--line2)} .izeile .ava{width:22px;height:22px;border-radius:50%;flex:none}
.izeile .itext{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25} .izeile .ititel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .izeile .iid{font-size:12px;color:var(--sub);overflow-wrap:anywhere}
.izeile .luhr{flex:none;max-width:42%;text-align:right;white-space:normal}
.imehr{min-height:44px;background:transparent;border:1px dashed var(--line2);border-radius:10px;color:var(--sub);font-size:13px;font-weight:650}
.luhr{font-size:12px;color:var(--sub);font-variant-numeric:tabular-nums} .luhr.lang{color:var(--yellow)}
.iwarn{border-radius:12px;padding:9px 12px;font-size:13.5px;font-weight:650;line-height:1.35} .iwarn.rot{background:#3a1114;border:1px solid #7A1217;color:#FBD5D5} .iwarn.warn{background:#2e2610;border:1px solid #7a6320;color:#FDE7B0}
.lauf.blink .lblase{outline:2px solid var(--green);outline-offset:2px}
.astand{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:12.5px}
.astand .akopf{font-size:13px;color:var(--text);margin-bottom:6px;overflow-wrap:anywhere} .astand .akopf small{font-size:12px;color:var(--sub)}
.stufen{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;counter-reset:st}
.stufen li{position:relative;padding-top:14px;font-size:12px;line-height:1.25;color:var(--sub);text-align:center;overflow-wrap:anywhere}
.stufen li::before{content:"";position:absolute;top:2px;left:0;right:0;height:4px;border-radius:2px;background:var(--line2)}
.stufen li.erledigt::before{background:var(--green)} .stufen li.erledigt{color:var(--text)}
.stufen li.jetzt::before{background:var(--green);animation:puls 1.6s ease-in-out infinite} .stufen li.jetzt{color:var(--text);font-weight:700}
.astand.fertig .stufen li.jetzt::before{animation:none} .astand.wartet .stufen li.jetzt::before{background:var(--yellow);animation:none} .astand.wartet .stufen li.jetzt{color:var(--yellow)}
.astand.warn .stufen li.jetzt::before{background:var(--yellow)}
.atext{margin-top:7px;color:var(--text)} .arolle{display:flex;align-items:center;gap:6px;margin-top:5px;flex-wrap:wrap} .arolle .ava{width:20px;height:20px;border-radius:50%}
.awarn{margin-top:7px;padding:7px 9px;border-radius:9px;background:#2e2610;border:1px solid #7a6320;color:#FDE7B0;font-weight:650}
@keyframes puls{0%,100%{opacity:1}50%{opacity:.35}}
.kknoepfe{display:flex;flex-direction:column;gap:0} button.zweit{background:transparent;border:1px solid var(--line2);color:var(--text)}
.kom.ich{background:#1f1416;border:1px solid #3a1d20} .kom.ki{background:#122019;border:1px solid #1f4630} .kom.fehler{background:#2a1214;border:1px solid #7A1217}
.kom .zl{display:flex;align-items:center;gap:5px;flex-wrap:wrap} .kom .zl .ava{width:20px;height:20px;border-radius:50%} .kom .ktext{white-space:pre-wrap;margin-top:3px}
.kom.denkt{opacity:.9}
.karte.mein summary .ava{width:30px;height:30px;border-radius:50%;flex:none} .karte.mein.ueber{border-color:#7A1217}
.meininnen{margin-top:10px} .befehl{display:flex;flex-direction:column;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:6px}
.befehl code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap;color:var(--text)} .befehl button{align-self:flex-start;min-height:44px}
@media(prefers-reduced-motion:reduce){.stufen li.jetzt::before{animation:none}}
@media(max-width:430px){#t-aufgaben .seg button{font-size:12px;padding:0 3px;gap:3px;white-space:normal;line-height:1.15;text-align:center;overflow-wrap:normal;word-break:normal;hyphens:manual}#t-aufgaben .seg .zk{font-size:12px;white-space:nowrap;flex:none}}

/* A-2026-205 KI-Modelle */
.kizeile{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:7px 0;border-top:1px solid var(--line);min-height:20px}
.kizeile .kiwert{color:var(--sub);text-align:right;overflow-wrap:anywhere} .kizeile.kineu .kiwert{color:var(--text);font-weight:600}
details.karte summary .chip.kiup{margin-left:auto} .karte .sub.ok{color:#9BD5A8}
.karte a.kilink{display:inline-flex;align-items:center;min-height:44px;color:var(--text);font-size:13px;text-decoration:underline}
/* A-2026-211/215: Reiter Verlauf/Abgeschlossen, je Auftrag eine Zeile, Ticket-Ansicht */
.chatseg{flex:none;margin:8px 16px 0;padding:3px} .chatseg button{min-height:44px}
#abgeschlossen{flex:1;overflow-y:auto;padding:12px 16px 8px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain} #abgeschlossen[hidden],#liste[hidden]{display:none}
.lauf.auf details.lblase{padding:0} .lauf.auf details.lblase>summary{list-style:none;cursor:pointer;padding:9px 13px;min-height:44px;border-radius:inherit;position:relative;padding-right:74px}
.lauf.auf details.lblase>summary::-webkit-details-marker{display:none}
.lauf.auf.still details.lblase>summary{padding:4px 74px 4px 0;display:flex;flex-direction:column;justify-content:center}
.lauf.auf.still details.lblase .ltitel{font-size:12px;color:var(--sub);margin-top:1px}
.tauf{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--sub);border:1px solid var(--line2);border-radius:999px;padding:3px 9px}
.lauf.auf details[open]>summary .tauf{color:var(--text);border-color:var(--text)}
.lauf.auf.still details[open].lblase{background:var(--tile);border:1px solid var(--line);padding:0 10px 10px}
.lauf.auf.still details[open].lblase>summary{padding-left:0}
.ticket{border-top:1px solid var(--line);margin:0 13px 10px;padding-top:8px;font-size:13px} .lauf.auf.still .ticket{margin:0}
.tkopf{display:flex;flex-direction:column;gap:5px;margin-bottom:8px} .tw{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--text)} .tw.an{color:#B8E8CB}
.tw .ava,.tt .ava{width:22px;height:22px;border-radius:50%;flex:none;margin:0;box-shadow:none} .tt .ava{width:18px;height:18px;vertical-align:-4px;margin-right:5px;display:inline-block}
.tliste{list-style:none;margin:0;padding:0 0 0 2px;display:flex;flex-direction:column}
.tliste .ts{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;position:relative;padding:4px 0 4px 14px;line-height:1.35;overflow-wrap:anywhere}
.tliste .ts::before{content:"";position:absolute;left:3px;top:10px;width:7px;height:7px;border-radius:50%;background:var(--line2)}
.tliste .ts::after{content:"";position:absolute;left:6px;top:19px;bottom:-6px;width:1px;background:var(--line)} .tliste .ts:last-child::after{display:none}
.tliste time{color:var(--sub);font-size:12px;font-variant-numeric:tabular-nums}
.tliste .ts.start::before,.tliste .ts.ende::before,.tliste .ts.fertig::before{background:var(--green)} .tliste .ts.wartet::before,.tliste .ts.rueckfrage::before{background:var(--yellow)}
.tliste .ts.abbruch::before{background:#E5484D} .tliste .ts.reviewer::before{background:#7DB7FF}
.tdet{margin-top:8px} .tdet>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--sub);font-size:12.5px;text-decoration:underline} .tdet .ticket{margin:0;border-top:0;padding-top:0}
.tkarte{background:var(--tile);border:1px solid var(--line);border-radius:14px;margin:0 0 10px} .tkarte>summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:center;min-height:52px;padding:8px 12px}
.tkarte>summary::-webkit-details-marker{display:none} .tkarte>summary .ava{width:30px;height:30px;border-radius:50%;flex:none}
.tktext{display:flex;flex-direction:column;min-width:0;line-height:1.3} .tktext b{font-weight:650;font-size:14px;overflow-wrap:anywhere} .tktext small{color:var(--sub);font-size:12px}
.tkarte .ticket{margin:0 12px 12px}
@media(min-width:1024px){#abgeschlossen{padding:16px 28px 10px}}
@media(max-width:430px){.tliste .ts{grid-template-columns:52px minmax(0,1fr);gap:6px}}
/* A-2026-214: deutlich sichtbar, solange das Mikrofon zuhört */
#f button#mikro.an{animation:hoert 1.4s ease-in-out infinite;box-shadow:0 0 0 0 rgba(229,72,77,.6)}
@keyframes hoert{0%{box-shadow:0 0 0 0 rgba(229,72,77,.55)}70%{box-shadow:0 0 0 10px rgba(229,72,77,0)}100%{box-shadow:0 0 0 0 rgba(229,72,77,0)}}
@media(prefers-reduced-motion:reduce){#f button#mikro.an{animation:none;box-shadow:0 0 0 3px rgba(229,72,77,.55)}}
.hoert{display:flex;align-items:center;gap:8px;padding:0 16px 6px;font-size:13px;color:var(--sub)} .hoert[hidden]{display:none}
.hoert i{width:8px;height:8px;border-radius:50%;background:#E5484D;flex:none;animation:puls 1.6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.hoert i{animation:none}}
/* A-2026-216: Karte „Updates“ (Reiter Kritisch, Segment Updates) */
@media(max-width:430px){#t-kritisch .seg button{flex:1 1 auto;font-size:12px;padding:0 3px;gap:3px;white-space:normal;line-height:1.15;text-align:center;overflow-wrap:normal;word-break:normal;hyphens:manual}#t-kritisch .seg .zk{font-size:12px;min-width:16px;padding:0 3px;white-space:nowrap;flex:none}}
.ukarte-kopf{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 8px} .ukarte-kopf h2{margin:0}
.uzahlen .chip{min-height:44px;color:var(--text);cursor:pointer} .uzahlen .chip.rot{background:rgba(224,56,63,.18);border-color:var(--red2);color:#FFB3B6;font-weight:700}
.udringend{border-color:#7A1217} .udringend b{display:block;margin-bottom:4px}
button.udz{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;text-align:left;background:transparent;border:0;border-top:1px solid var(--line);color:var(--text);font-size:14px;padding:6px 0;overflow-wrap:anywhere}
details.updgr.rot{border-color:#7A1217} details.updgr summary .uanz{margin-left:auto}
.uwf{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px;margin:0 0 10px}
.upunkt{border-top:1px solid var(--line);padding:12px 0 6px;scroll-margin-top:12px} .upunkt.blink{background:rgba(251,191,36,.08);border-radius:10px}
.ukopf{display:flex;align-items:flex-start;gap:9px} .ukopf .punkt{margin-top:5px} .ukopf b{font-size:14.5px;line-height:1.35;overflow-wrap:anywhere}
.ubadges{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 6px 19px}
.uzeile{display:grid;grid-template-columns:52px 1fr;gap:8px;font-size:13px;line-height:1.4;margin:3px 0 3px 19px;color:#D4D4D8;overflow-wrap:anywhere} .uzeile .ul{color:var(--sub);font-weight:650}
details.umehr{margin:4px 0 0 19px} details.umehr summary{min-height:44px;display:flex;align-items:center;color:var(--sub);font-size:13px;font-weight:650;cursor:pointer}
.upunkt small.zl{margin-left:19px} .utun{margin-left:19px} .utun .sub{margin-top:6px}
.uquellen{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 16px} .uquellen b{width:100%;font-size:13px;color:var(--sub)}
.chip.gelb{border-color:var(--yellow);color:#FBD36E}
.utech{margin:6px 0 4px;padding:8px 10px;border-left:2px solid var(--line2)} .utech b{font-size:12px;color:var(--sub)} .utech small{display:block;color:var(--sub);font-size:12px;margin-top:3px;overflow-wrap:anywhere}
/* A-2026-218: Team-Termine + Spontanes Teammeeting */
.meetform{display:flex;flex-direction:column;gap:6px}
.meetform label,.ternew label{font-size:13px;color:var(--sub);margin-top:6px}
.meetform textarea,.meetform input[type=text],.meetform input[type=datetime-local],.ternew input{width:100%;min-height:44px;border-radius:var(--r2);border:1px solid var(--line);background:var(--tile2);color:var(--text);padding:10px;font-size:16px;resize:vertical}
.meetdatei{display:flex;flex-direction:column;gap:6px;border:1px dashed var(--line2);border-radius:var(--r2);padding:10px}
.meetdatei input{font-size:14px;color:var(--sub);max-width:100%}
.meetwann{margin:8px 0 0} .meetwann button{min-height:44px}
.meetschaetz{border:1px solid var(--line2);border-radius:var(--r2);padding:12px;background:var(--tile);display:flex;flex-direction:column;gap:8px;margin-top:6px}
.meetzahlen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mz{background:var(--tile2);border-radius:10px;padding:8px;display:flex;flex-direction:column;min-width:0}
.mz strong{font-size:20px;font-weight:800;line-height:1.1} .mz span{font-size:12.5px;color:var(--text)} .mz small{font-size:12px;color:var(--sub);overflow-wrap:anywhere}
.meetgrund summary{min-height:44px;display:flex;align-items:center;color:var(--sub);font-size:13px;cursor:pointer}
.meethinweis{color:#F5CE9A;font-size:13px;line-height:1.4}
.meetknoepfe{display:flex;gap:8px;flex-wrap:wrap} .meetknoepfe button:first-child{flex:1 1 200px}
.ternav{display:flex;align-items:center;gap:8px;margin:0 0 10px} .ternav button.klein{margin-left:0;min-width:44px;font-size:16px} .ternav .terwoche{flex:1;text-align:center;font-size:14px}
.teransicht{margin-top:14px}
.terliste{display:flex;flex-direction:column;gap:10px}
.tertag{background:var(--tile);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;min-width:0}
.tertag.heute{border-color:var(--red)}
.tertag h3{font-size:13px;font-weight:700;color:var(--sub);margin:0 0 6px;text-transform:none;letter-spacing:0}
.tertag.heute h3{color:#FF5A60}   /* Danas Design-Check 4.7: >= 4,5:1 auf --tile */
.teritem{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)} .tertag h3+.teritem{border-top:0}
.terzeit{flex:none;width:62px;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;padding-top:1px}
.terkopf{display:flex;gap:8px;align-items:baseline} .terkopf .punkt{position:relative;top:1px} .terkopf b{font-size:14px;font-weight:650;overflow-wrap:anywhere}
.teritem button.klein{margin:6px 6px 0 0}
.teritem.z-entfaellt b,.teritem.z-abgesagt b,.teritem.z-verfallen b{text-decoration:line-through;color:var(--sub)}
.teritem.z-ueberfaellig .terzeit{color:#F4A3A3} .teritem.z-laeuft .terzeit{color:var(--yellow)}
.ternew{margin-top:14px} .ternew input{margin-top:4px}
@media(min-width:1280px){.terliste.wochengitter{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:start}
  .wochengitter .teritem{flex-direction:column;gap:2px} .wochengitter .terzeit{width:auto}}
.meeterg .meetthema{font-weight:700;font-size:15px;margin:2px 0 8px}
.meetempf{margin:0 0 6px} .meetbadge{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;font-weight:800;font-size:14px}
.meetempf.ja .meetbadge{background:#123524;color:#B8E8CB;border:1px solid #1f6b45} .meetempf.nein .meetbadge{background:#2a1214;color:#F4A3A3;border:1px solid #7A1217}
.meetempf.bedingt .meetbadge{background:#2e2610;color:#F5CE9A;border:1px solid #7a6320}
.meetwarum{line-height:1.45;margin-bottom:6px}
.meetlt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sub);margin:8px 0 2px;font-weight:700}
.meeterg ul{padding-left:18px;line-height:1.45}
.meetstimmen summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer}
.meetstimme{display:flex;gap:9px;padding:8px 0;border-top:1px solid var(--line)} .meetstimme .ava{width:28px;height:28px;border-radius:50%;flex:none}
.meetsk{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.chip.e-ja{border-color:#1f6b45;color:#B8E8CB} .chip.e-nein{border-color:#7A1217;color:#F4A3A3} .chip.e-bedingt{border-color:#7a6320;color:#F5CE9A}
@media (min-width:700px){.msg.stats .blase.meeterg{max-width:600px}}
/* ───────── A-2026-220 (Danas Bauvorgabe): volle Breite, Breakpoints 600/1024/1280/1680, Pillen, Blatt, Kompaktmodus ───────── */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Kopf: Meeting-Knopf rechts (Handy 44×44 Symbol, ab 600 mit Text) */
.meetknopf{margin-left:auto;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 10px;background:transparent;border:1px solid var(--red);color:#fff;font-size:14px;font-weight:700}
.meetknopf:hover{background:rgba(192,39,45,.16)} .meetknopf .mtext{display:none}
.meetknopf .mpunkt{display:none;width:9px;height:9px;border-radius:50%;background:var(--green);flex:none}
.meetknopf.laeuft{border-color:#2f6b3f} .meetknopf.laeuft .mpunkt{display:block;animation:puls 1.6s ease-in-out infinite}
.meetknopf.gesperrt{border-color:var(--line2);color:var(--sub)}
@media(max-width:599px){.meetknopf.laeuft .mpunkt{position:absolute;top:6px;right:6px}}
@media(min-width:600px){.meetknopf .mtext{display:inline}}
.navab{display:none} .abmelden2{margin-top:16px}
/* Chat: Spalte + rechte Seite (Handy/Tablet: Blatt, ab 1280: Spalte, ab 1680: zwei Spalten) */
#t-chat{position:relative}
.chatspalte{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}
.chatzeile{display:flex;flex-direction:column;flex:none}
.chatzeile .chatseg{margin:8px 16px 0}
.pillen{display:flex;gap:8px;padding:8px 16px 0;flex-wrap:wrap} .pillen[hidden]{display:none}
.pillknopf{min-height:44px;flex:1 1 auto;border-radius:999px;background:var(--tile);border:1px solid #2f6b3f;color:var(--text);font-size:14px;font-weight:650;padding:0 14px}
.pillknopf.rot{border-color:var(--red2);background:rgba(224,56,63,.12)} .pillknopf:hover{background:var(--tile2)}
.schleier{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:40}
.chatrechts{position:fixed;left:0;right:0;bottom:0;max-height:82dvh;z-index:41;background:var(--bg2);border-top:1px solid var(--line2);border-radius:18px 18px 0 0;
  padding:12px 16px calc(16px + env(safe-area-inset-bottom));overflow-y:auto;transform:translateY(105%);visibility:hidden;transition:transform var(--t),visibility 0s linear 160ms;box-shadow:0 -16px 40px rgba(0,0,0,.6)}
.chatrechts.offen{transform:none;visibility:visible;transition:transform var(--t)}
@media(max-width:1279px){.chatrechts:not(.offen){display:none}}
.crzu{display:flex;align-items:center;gap:10px;margin:0 0 8px} .crzu b{font-size:16px}
.chatrechts .freigaben{padding:0;max-height:none;overflow:visible}
.chatrechts .inarbeit{max-height:none;overflow:visible;padding:0 0 8px;background:transparent;border:0}
.chatrechts h2{margin:14px 0 8px;color:#FF5A60}
.chatseite{display:block} .chatseite h2{color:#FF5A60}
.chatseite .kk{margin:0 0 10px;padding:12px 12px 10px 16px;gap:6px} .chatseite .kk .kt{font-size:14px} .chatseite .kk .kd{display:none}
.chatseite .gleer,.chatnext .gleer{padding:12px 4px;text-align:left}
.chatnext .teritem{padding:8px 0} .chatnext .terzeit{display:flex;flex-direction:column;width:78px;font-size:12px}
@media(min-width:600px) and (max-width:1279px){.chatrechts{left:auto;top:0;width:min(420px,92vw);max-height:none;border-radius:18px 0 0 18px;border-top:0;border-left:1px solid var(--line2);transform:translateX(105%)}}
/* Tablet quer / kleiner Laptop: Icon-Leiste 72 px */
@media(min-width:1024px) and (max-width:1279px){
  :root{--side:72px}
  .nav{padding:16px 10px} .nav .marke{justify-content:center;padding:4px 0 18px} .nav .marke div{display:none}
  .nav button{justify-content:center;padding:0;gap:0} .nav button>span:not(.badge){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .nav .badge{position:absolute;top:4px;right:6px;margin:0}
}
@media(min-width:1024px){.navab{display:flex;margin-top:auto} .abmelden2{display:none}}
@media(min-width:1280px){
  :root{--side:232px}
  #t-chat.an{display:grid;grid-template-columns:minmax(560px,1fr) 360px;grid-template-rows:minmax(0,1fr)}
  .chatspalte{grid-column:1;grid-row:1}
  .chatrechts{position:static;grid-column:2;grid-row:1;transform:none;visibility:visible;max-height:none;border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:none;background:rgba(16,16,18,.55);padding:16px 18px 24px;z-index:auto;transition:none}
  .crzu,.pillen,.schleier{display:none!important}
  .chatzeile .chatseg{margin:12px 28px 0}
}
@media(min-width:1680px){
  #t-chat.an{grid-template-columns:minmax(560px,1fr) calc(2 * clamp(360px,22vw,480px))}
  .chatrechts{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}
  .crspalte{padding:16px 18px 24px;overflow-y:auto;min-height:0} #cr2{border-left:1px solid var(--line)}
}
/* übrige Reiter: Raster über die volle Breite */
@media(min-width:600px){
  #team-inhalt{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:0 12px;align-items:start}
  #team-inhalt>:not(details.rolle):not(.karte.zeile){grid-column:1/-1}
  .kgitter{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
}
@media(min-width:1024px){
  #aufgaben-inhalt{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:0 12px;align-items:start}
  #aufgaben-inhalt>:not(details):not(.karte){grid-column:1/-1}
  #aufgaben-inhalt>details.ternew,#aufgaben-inhalt>.tergeruest{grid-column:1/-1}
  #verbrauch-inhalt{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:0 12px;align-content:start;align-items:start}
  #verbrauch-inhalt>:not(.karte){grid-column:1/-1}
}
@media(min-width:1280px){.kgitter{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}
.kspalten{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.kspalte{min-width:0} .kspalte h2 .zk{color:#fff;background:#3A3A40} .kspalte h2{display:flex;align-items:center;gap:8px;margin-top:4px} .kspalte .kk{margin-bottom:10px}
@media(min-width:1680px){.kspalte.an h2{color:#fff}}
@media(min-width:2560px){#app{max-width:2400px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}}
/* Termine (A-2026-218, Danas 4.5): Handy Agenda mit Wochenleiste, Desktop Wochenraster */
.terkopfzeile{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px} .terkopfzeile .teransicht{flex:1 1 220px;margin:0} .terplus{flex:1 1 140px}
.tagleiste{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 0 10px}
.tagknopf{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:52px;padding:4px 0;background:var(--tile);border:1px solid var(--line);color:var(--text);font-weight:600;font-size:12px}
.tagknopf b{font-size:15px} .tagknopf i{width:6px;height:6px;border-radius:50%;background:transparent} .tagknopf i.hat{background:var(--red2)} .tagknopf.heute{border-color:var(--red)}
.terinfo{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:3px} .terinfo small{color:var(--sub);font-size:12px}
.artpille{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid var(--line2);color:var(--sub)}
.artpille.meeting,.artpille.spontan{border-color:#C0272D;color:#FF9DA1} .artpille.frist{border-color:#7a6320;color:#FBD36E} .artpille.cron{border-color:#2f6b3f;color:#9BD5A8}
.teritem{min-height:56px}
@media(min-width:1280px){.tagleiste{display:none}}
/* Dialog Meeting/Termin: Handy Blatt von unten, ab 600 mittig */
.meetdialog{border:1px solid var(--line2);background:var(--bg2);color:var(--text);padding:0;width:100%;max-width:100%;margin:auto 0 0;max-height:92dvh;border-radius:18px 18px 0 0;overflow:hidden}
.meetdialog[open]{display:flex;flex-direction:column}
.meetdialog::backdrop{background:rgba(0,0,0,.6)}
.mdkopf{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)} .mdkopf b{font-size:17px}
#meetdialog-inhalt{overflow-y:auto;padding:12px 16px calc(18px + env(safe-area-inset-bottom))}
#meetdialog-inhalt .sub{margin:0 0 6px}
.meetart{margin:0 0 6px}
.meetchips{display:flex;flex-wrap:wrap;gap:6px}
.mchip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px 0 6px;border-radius:999px;background:var(--tile);border:1px solid var(--line);color:var(--sub);font-size:13px;font-weight:600}
.mchip.an{border-color:var(--red);color:var(--text);background:rgba(192,39,45,.14)} .mchip .ava{width:22px;height:22px;border-radius:50%}
.mchip:not(.an) .ava{filter:grayscale(1);opacity:.6}
@media(min-width:600px){.meetdialog{width:min(680px,92vw);margin:auto;border-radius:18px;max-height:88dvh}}
/* Kompaktmodus Handy quer (Höhe < 500): Ziel Verlauf ≥ 150 px */
@media(max-height:500px) and (max-width:1023px){
  .kopf{padding:4px 16px;padding-top:max(4px,env(safe-area-inset-top));gap:8px} .kopf img{width:32px;height:32px} .kopf .s{display:none} .kopf .n{font-size:15px}
  .chatzeile{flex-direction:row;align-items:center;gap:8px;padding:4px 16px 0} .chatzeile .chatseg{margin:0;flex:1 1 auto} .pillen{padding:0;flex-wrap:nowrap} .pillknopf{white-space:nowrap}
  #liste{padding-top:8px}
  #f{flex-direction:row;align-items:flex-end;padding:6px 16px} #f textarea{flex:1;min-height:44px;max-height:72px} .werkzeuge{flex:none} .werkzeuge #b{min-width:72px}
  .nav button{min-height:44px;padding:0} .nav button>span:not(.badge){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
body.tastatur .nav{display:none}
/* A-2026-218/220: Aufgaben mit fünf Segmenten — am Handy zwei Zeilen (2 + 3), jeder Knopf einzeilig ≥ 44 px */
@media(max-width:599px){#t-aufgaben .seg{flex-wrap:wrap} #t-aufgaben .seg button{flex:1 1 28%;white-space:nowrap;font-size:13px;padding:0 6px;min-height:44px;line-height:1.15}
  #t-aufgaben .seg button:nth-child(-n+2){flex-basis:45%}}
/* A-2026-222: Mitteilungen (Web-Push) — Glocke im Kopf, Dialog mit Schaltern je Art; Sprungziel aus einer Mitteilung kurz hervorgehoben */
.pushknopf{margin-left:auto;position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 10px;background:transparent;border:1px solid var(--line2);color:var(--sub);flex:none}
.pushknopf:hover{background:var(--tile2);color:var(--text)} .pushknopf.an{color:var(--text)} .pushknopf + .meetknopf{margin-left:0}
.pushknopf .ppunkt{display:none;position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--green)} .pushknopf.an .ppunkt{display:block}
#pushdialog-inhalt{overflow-y:auto;padding:12px 16px calc(18px + env(safe-area-inset-bottom))}
#pushdialog-inhalt .sub{margin:0 0 12px} #pushdialog-inhalt button.gross{max-width:none}
.pzeilen{display:flex;flex-direction:column;gap:8px;margin:4px 0 14px}
.pzeile{display:flex;align-items:center;gap:12px;background:var(--tile);border:1px solid var(--line);border-radius:var(--r2);padding:10px 12px}
.pzeile .pt{flex:1 1 auto;min-width:0} .pzeile .pt b{display:block;font-size:15px} .pzeile .pt small{display:block;color:var(--sub);font-size:12.5px;line-height:1.35;margin-top:2px}
button.schalter[role=switch]{min-width:64px} button.schalter[aria-checked=true]{background:rgba(192,39,45,.18);border-color:var(--red);color:#fff}
.pknoepfe{display:flex;flex-wrap:wrap;gap:8px} .pknoepfe button.klein{margin-left:0}
#push-meldung{margin:10px 0 0}
.kk.blink,.tkarte.blink,.fg.blink{outline:2px solid var(--green);outline-offset:2px;border-radius:var(--r2)}
@media(prefers-reduced-motion:reduce){.pushknopf{transition:none}}
.pushknopf{gap:8px;font-size:14px;font-weight:700} .pushknopf .ptext{display:none} @media(min-width:600px){.pushknopf .ptext{display:inline}}
.pruhe{flex-wrap:wrap} .pruhe .pzeiten{display:flex;align-items:center;gap:8px;width:100%;margin-top:4px}
.pruhe input[type=time]{min-height:44px;border-radius:var(--r2);border:1px solid var(--line);background:var(--bg2);color:var(--text);padding:8px 10px;font-size:16px;flex:1 1 0;min-width:0}
.pfrage{background:var(--tile);border:1px solid var(--line);border-radius:var(--r2);padding:12px;margin:0 0 10px} .pfrage b{display:block;font-size:15px}
.pfrage .ptx{color:var(--sub);font-size:13.5px;line-height:1.45;margin:4px 0 10px;white-space:pre-wrap} .pfrage .pknoepfe button{min-height:44px}
.pfrage.blink{outline:2px solid var(--green);outline-offset:2px}
/* A-2026-283: „Was ich gesagt habe“ — iPhone zuerst: Häkchen 44 px, Zitat gekürzt aufklappbar, Knöpfe ≥ 44 px, Fokus sichtbar */
.gesagt{padding:12px 12px 10px}
.gesagt .gkopf{display:flex;gap:12px;align-items:flex-start}
.gesagt .gkopf .fuell{flex:1;min-width:0}
.gesagt .gkopf b{display:block;font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.ghaken{flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;border:2px solid #8A8A93;background:var(--bg);color:#0B0B0C;font-size:22px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center}
.ghaken:hover{border-color:var(--green)}
.ghaken.an{background:var(--green);border-color:var(--green)}
.ghaken:focus-visible,.gesagt .klein:focus-visible,.textknopf:focus-visible,.gfalt summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.gesagt .zitat{margin:10px 0 0;padding:8px 10px;border-left:3px solid var(--line2);background:var(--bg2);border-radius:0 8px 8px 0;color:var(--text);font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.gesagt .zitat.zu{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.textknopf{min-height:44px;background:transparent;border:0;color:var(--dim);font-size:13px;font-weight:600;padding:0 2px;text-decoration:underline;text-underline-offset:3px}
.gesagt .gstand{margin-top:8px;font-size:13.5px;color:var(--sub);line-height:1.4;overflow-wrap:anywhere}
.gesagt .gstand.du{color:var(--text);background:#2a2410;border:1px solid #5c4a12;border-radius:8px;padding:8px 10px;font-size:14px;font-weight:600}
.gesagt .gknoepfe{display:flex;gap:8px;margin-top:8px}
.gesagt .gknoepfe .klein{margin-left:0;min-height:44px;padding:0 14px}
.gesagt.g-erledigt b{color:var(--sub);text-decoration:line-through;text-decoration-color:var(--line2)}
.gesagt.g-nicht{border-color:#7A1217;background:#1d0e10}
.gesagt.g-nicht b{color:#F4A3A3}
.rotchip{border-color:#7A1217;background:#2a1214;color:#F4A3A3;font-weight:700}
.gfalt summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:650}
.gfalt .gesagt{margin:10px 0 0}
.ghinweis{margin:16px 0 8px}
.gdetails{margin-top:6px}
.gdetails summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--dim);font-size:13px;font-weight:600;width:max-content}
.gdetails summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.gdetails .gdtext{font-size:12.5px;line-height:1.45;color:var(--sub);overflow-wrap:anywhere;white-space:pre-wrap;padding:2px 0 6px}
.goffen .gfilter{width:100%;min-height:44px;margin:10px 0 4px;border-radius:var(--r2);border:1px solid var(--line);background:var(--bg2);color:var(--text);padding:8px 12px;font-size:16px;box-sizing:border-box}
.goffen .gfilter:focus-visible{outline:2px solid var(--green);outline-offset:1px}

/* ───────── Meetingsaal (A-2026-294, Vorgabe Design-Dana). Tokens aus :root, alle Klassen sa-*, keine Inline-Styles (CSP). ───────── */
body.sa-offen{overflow:hidden}
.sa{position:fixed;left:0;right:0;top:var(--vvtop,0px);height:100%;height:var(--vvh,100dvh);z-index:60;background:var(--bg);background-image:radial-gradient(900px 420px at 8% -8%,rgba(192,39,45,.10),transparent 70%);background-repeat:no-repeat;--du:#FBBF24;--av:56px;--tail:50%;color:var(--text)}
.sa-rahmen{position:absolute;inset:0;display:grid;grid-template-rows:auto auto minmax(150px,36dvh) minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);max-width:1240px;margin:0 auto}
.sa button{min-width:44px}
.sa-kopf{grid-row:1;grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px 4px;padding-top:max(8px,env(safe-area-inset-top));background:rgba(11,11,12,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.sa-titelbox{flex:1;min-width:0}
.sa-titelbox .n{font-weight:750;font-size:16px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sa-kopf button{background:transparent;border:1px solid var(--line);color:var(--text);padding:0 10px;font-size:13px;font-weight:600}
.sa-kopf button:hover{background:var(--tile2)}
.sa-kopf .sa-ik{font-size:20px;padding:0}
.sa-kb{min-width:44px}
.sa-bi{display:inline}.sa-bt{display:none}
@media(min-width:420px){.sa-bi{display:none}.sa-bt{display:inline}}
.sa-agenda{flex:1 0 100%;display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;min-height:44px}
.sa-agenda #sa-agtxt{font-size:13px;color:var(--text);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sa-rest{font-size:12px;color:var(--sub);white-space:nowrap;font-weight:500}
.sa-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text)}
.sa-live i{width:8px;height:8px;border-radius:50%;background:var(--red2);display:block;animation:saatem 1.4s ease-in-out infinite}
.sa-live.pause i{animation:none;background:var(--sub)}
.sa-fort{grid-row:2;display:flex;gap:4px;padding:6px 16px 0}
.sa-fort i{flex:1;height:4px;border-radius:2px;background:var(--line2);position:relative;overflow:hidden}
.sa-fort i.fertig{background:var(--green)} .sa-fort i.jetzt{background:var(--text)}
.sa-fort i.jetzt::after{content:"";position:absolute;inset:0;background:var(--red2);transform-origin:left;transform:scaleX(var(--p,0));transition:transform .4s}

.sa-raum{grid-row:3;position:relative;margin:6px 10px 0;min-height:0;container-type:size;--av:clamp(36px,min(16cqh,13cqw),84px)}
.sa-tisch{position:absolute;left:19%;right:19%;top:30%;bottom:30%;border-radius:50%;background:radial-gradient(ellipse at 50% 30%,#2a2a30 0%,#1b1b1f 58%,#141416 100%);border:1px solid var(--line2);box-shadow:0 18px 40px -14px rgba(0,0,0,.9),inset 0 2px 0 rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;text-align:center;padding:0 12%}
.sa-mitte{font-size:12px;line-height:1.35;color:var(--sub)} .sa-mitte b{display:block;color:var(--text);font-size:13px;font-weight:700;margin-bottom:2px}
.sa-platz{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;width:calc(var(--av) + 26px)}
.sa-stuhl{position:absolute;top:30%;width:calc(var(--av) + 4px);height:calc(var(--av) * .55);border-radius:14px 14px 18px 18px;background:#0e0e10;border:1px solid var(--line);transition:transform .35s}
.sa-figur{position:relative;width:var(--av);height:var(--av);border-radius:50%;transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,filter .3s;filter:saturate(.7) brightness(.8)}
.sa-figur .av,.sa-figur img{width:100%!important;height:100%!important;border-radius:50%;object-fit:cover;display:flex;box-shadow:0 0 0 2px var(--line2)}
.sa-du{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:#2a2417;color:var(--du);font-weight:800;font-size:17px;box-shadow:0 0 0 2px #6b5a22}
.sa-name{position:relative;font-size:12px;font-weight:600;color:var(--sub);white-space:nowrap;transition:color .3s}
.sa-platz.spricht{z-index:5}
.sa-platz.spricht .sa-figur{transform:translateY(calc(var(--av) * -.2)) scale(1.22);filter:none;box-shadow:0 0 0 3px var(--red2),0 0 0 8px rgba(224,56,63,.22),0 12px 20px -6px rgba(0,0,0,.8);animation:sasprechen 1.1s ease-in-out infinite}
.sa-platz.spricht .sa-figur .av,.sa-platz.spricht .sa-figur img{box-shadow:none}
.sa-platz.spricht .sa-stuhl{transform:rotate(-7deg) translateX(-4px)}
.sa-platz.spricht .sa-name{color:var(--text);font-weight:800}
.sa-platz.du.spricht .sa-figur{box-shadow:0 0 0 3px var(--du),0 0 0 8px rgba(251,191,36,.2),0 12px 20px -6px rgba(0,0,0,.8)}
.sa-platz.hoert .sa-figur{filter:saturate(.9) brightness(.95)}
.sa-platz.nickt .sa-figur{animation:sanicken .5s ease-in-out 2}
.sa-tipp{position:absolute;top:-6px;right:-4px;min-width:26px;height:26px;border-radius:99px;background:var(--tile2);border:1px solid var(--line2);display:none;align-items:center;justify-content:center;gap:2px;padding:0 5px}
.sa-platz.tippt .sa-tipp{display:flex}
.sa-tipp b{width:4px;height:4px;border-radius:50%;background:var(--text);animation:sapunkt 1s infinite} .sa-tipp b:nth-child(2){animation-delay:.15s} .sa-tipp b:nth-child(3){animation-delay:.3s}
.sa-haken{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;background:var(--green);color:#052e1f;font-weight:900;font-size:15px;display:none;align-items:center;justify-content:center;animation:sapop .5s}
.sa-haken.nein{background:var(--red);color:#fff} .sa-haken.spaeter{background:var(--yellow);color:#3a2a00}
.sa-platz.reakt .sa-haken{display:flex}
@keyframes sasprechen{0%,100%{box-shadow:0 0 0 3px var(--red2),0 0 0 8px rgba(224,56,63,.22),0 12px 20px -6px rgba(0,0,0,.8)}50%{box-shadow:0 0 0 3px var(--red2),0 0 0 13px rgba(224,56,63,.08),0 12px 20px -6px rgba(0,0,0,.8)}}
@keyframes sanicken{50%{transform:translateY(4px)}}
@keyframes sapunkt{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes sapop{0%{transform:scale(0)}70%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes saatem{50%{opacity:.35}}
@keyframes sarein{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}

.sa-buehne{grid-row:4;position:relative;min-height:0;overflow-y:auto;padding:12px 14px 8px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;overscroll-behavior:contain}
.sa-blase{position:relative;background:var(--tile2);border:1px solid var(--line2);border-radius:var(--r);padding:11px 14px 12px;box-shadow:var(--sh);animation:sarein .35s both;max-width:100%}
.sa-kopfz{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:12px;color:var(--sub)}
.sa-kopfz .av,.sa-kopfz img{width:24px!important;height:24px!important;border-radius:50%;flex:none}
.sa-kopfz b{color:var(--text);font-size:13px;font-weight:750}
.sa-tag{margin-left:auto;border:1px solid var(--line2);border-radius:99px;padding:1px 8px;font-size:12px;white-space:nowrap}
.sa-text{font-size:16px;line-height:1.45;overflow-wrap:anywhere}
.sa-kursor{display:inline-block;width:2px;height:1.05em;background:var(--red2);vertical-align:-2px;margin-left:1px;animation:saatem .8s steps(2) infinite}
.sa-blase.aktuell::before{content:"";position:absolute;top:-9px;left:var(--tail);width:16px;height:16px;background:var(--tile2);border-left:1px solid var(--line2);border-top:1px solid var(--line2);transform:translateX(-50%) rotate(45deg);border-radius:3px 0 0 0;transition:left .4s}
.sa-blase.alt{opacity:.82;animation:none;box-shadow:none;padding:8px 12px}
.sa-blase.alt .sa-text{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sa-blase.alt .sa-kopfz{margin-bottom:2px}
.sa-blase.antwort{margin-left:22px;background:#201a1b;border-color:#4a2a2c}
.sa-blase.antwort::before{background:#201a1b;border-color:#4a2a2c}
.sa-blase.du{background:#2a2417;border-color:#6b5a22;margin-left:22px}
.sa-blase.du::before{background:#2a2417;border-color:#6b5a22}
.sa-dm{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#2a2417;color:var(--du);font-weight:800;font-size:12px;flex:none}
.sa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sa-toast{position:absolute;left:12px;right:12px;bottom:calc(110px + env(safe-area-inset-bottom));z-index:20;background:var(--tile2);border:1px solid var(--line2);border-radius:var(--r2);padding:10px 14px;font-size:14px;box-shadow:var(--sh)}
.sa-toast.fehler{color:#F4A3A3}

.sa-aktion{grid-row:5;overflow-y:auto;border-top:1px solid var(--line);background:rgba(16,16,18,.94);padding:10px 14px;padding-bottom:max(10px,env(safe-area-inset-bottom));max-height:56dvh}
.sa-steuer{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sa-hinweis{flex:1 1 140px;font-size:12.5px;color:var(--sub);line-height:1.35}
.sa-leise{background:transparent;border:1px solid var(--line2);color:var(--text);font-weight:600}
.sa-leise:hover{background:var(--tile2)}
.sa-gross{min-height:52px;font-size:16px}
.sa-wieder{display:flex;flex-direction:column;gap:8px}
.sa-wt{font-size:16px;font-weight:700}
.sa-frage{animation:sarein .35s both}
.sa-fq{font-size:12px;color:var(--sub);margin-bottom:2px}
.sa-ft{font-size:16px;font-weight:700;line-height:1.35;margin-bottom:10px}
.sa-optionen{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sa-optionen button{min-height:52px;display:flex;flex-direction:column;gap:0;align-items:center;justify-content:center;font-size:15px;border:1.5px solid var(--line2);background:var(--tile2);color:var(--text);line-height:1.15}
.sa-zeichen{font-size:17px;font-weight:900}
.sa-optionen .ja{border-color:#2e9e78;background:#0f2a21} .sa-optionen .ja .sa-zeichen{color:var(--green)}
.sa-optionen .nein{border-color:#b04a50;background:#2a1214} .sa-optionen .nein .sa-zeichen{color:#F4A3A3}
.sa-optionen .spaeter{border-color:#a8841f;background:#2a2210} .sa-optionen .spaeter .sa-zeichen{color:var(--yellow)}
.sa-optionen button:hover{filter:brightness(1.25)}
.sa-schnellzeile{display:flex;gap:6px;align-items:center;margin-top:9px;min-width:0}
.sa-plus,.sa-stift{flex:none;width:44px;height:44px;padding:0;font-size:20px;background:var(--tile2);border:1px solid var(--line2);color:var(--text)}
.sa-chips{flex:1;min-width:0;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 14px 2px 2px;-webkit-overflow-scrolling:touch;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent)}
.sa-chip{flex:none;scroll-snap-align:start;min-height:44px;padding:0 14px;font-size:14px;font-weight:600;background:var(--tile2);border:1px solid var(--line2);color:var(--text);border-radius:99px;max-width:80vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sa-chip:hover{background:#26262b} .sa-chip:focus-visible,.sa .sa-plus:focus-visible,.sa .sa-stift:focus-visible{outline:2px solid #fff;outline-offset:2px}
.sa button:focus-visible,.sa input:focus-visible,.sa summary:focus-visible{outline:2px solid #fff;outline-offset:2px}
.sa-neuchip,.sa-eigen,.sa-wort,.sa-seform{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap;align-items:center}
.sa-neuchip label,.sa-eigen label,.sa-wort label,.sa-seform input{flex:1 1 140px;min-width:0}
.sa-neuchip input,.sa-eigen input,.sa-wort input,.sa-seform input,.sa-senewform input{width:100%;min-height:48px;border-radius:var(--r2);border:1px solid var(--line2);background:var(--tile);color:var(--text);padding:10px 13px;font-size:16px}
.sa-neuchip button,.sa-eigen button,.sa-wort button{min-height:48px}
.sa-zaehler{font-size:12px;color:var(--sub);flex:none}
.sa-antwortchip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--sub);margin-bottom:6px}
.sa-antwortchip b{color:var(--text)}

.sa-ergebnis{animation:sarein .4s both}
.sa-ergebnis h2{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub);margin:14px 0 8px;font-weight:700}
.sa-ergebnis h3{font-size:19px;font-weight:800;letter-spacing:-.01em}
.sa-ergebnis ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.sa-ergebnis li{display:flex;gap:10px;background:var(--tile);border:1px solid var(--line);border-radius:var(--r2);padding:10px 12px;font-size:15px;line-height:1.4;overflow-wrap:anywhere;min-width:0}
.sa-sym{flex:none;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px}
.sa-sym.ja{background:var(--green);color:#052e1f} .sa-sym.nein{background:var(--red);color:#fff} .sa-sym.spaeter{background:var(--yellow);color:#3a2a00} .sa-sym.text{background:var(--du);color:#3a2a00}
.sa-ergebnis li small{display:block;color:var(--sub);font-size:12.5px;margin-top:2px}
.sa-tasten{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.sa-tasten .voll{grid-column:1/-1;min-height:48px}
.sa-uebmeld{font-size:12.5px;color:var(--text);margin-top:6px;min-height:0}
.sa-gesperrt{font-size:12.5px;color:var(--sub);margin-top:6px;line-height:1.4}
.sa-dabei{display:flex;margin:8px 0 2px;align-items:center;flex-wrap:wrap}
.sa-dabei .av,.sa-dabei img{width:32px!important;height:32px!important;border-radius:50%;margin-right:-8px;box-shadow:0 0 0 2px var(--bg2)}
.sa-dabei .sa-dm{width:32px;height:32px;box-shadow:0 0 0 2px var(--bg2)}
.sa-dt{margin-left:16px;font-size:12.5px;color:var(--sub)}
.sa.ende .sa-rahmen{grid-template-rows:auto auto 0 0 minmax(0,1fr)} .sa.ende .sa-raum,.sa.ende .sa-buehne{display:none} .sa.ende .sa-aktion{max-height:none;overflow-y:auto}

/* Blätter (Protokoll, Tagesordnung, Einstellungen, Schnellantworten) */
.sa-bl{position:fixed;left:0;right:0;top:var(--vvtop,0px);height:100%;height:var(--vvh,100dvh);z-index:30;background:rgba(0,0,0,.6);display:none}
.sa-bl.auf{display:block}
.sa-blatt{position:absolute;left:0;right:0;bottom:0;max-height:78dvh;background:var(--bg2);border-top:1px solid var(--line2);border-radius:var(--r) var(--r) 0 0;display:flex;flex-direction:column;animation:sarein .3s both;overflow-y:auto;padding-bottom:max(12px,env(safe-area-inset-bottom))}
.sa-blatt>header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}
.sa-blatt h2{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub);font-weight:700;margin:0}
.sa-blatt>.sa-hinweis{padding:10px 16px 0;flex:none}
.sa-pfilter{display:flex;gap:8px;overflow-x:auto;padding:10px 16px 2px;flex:none}
.sa-fchip{flex:none;min-height:44px;font-size:12px;padding:0 14px;background:var(--tile2);border:1px solid var(--line2);color:var(--text);border-radius:99px}
.sa-fchip.an{border-color:#fff}
.sa-protliste{list-style:none;padding:12px 16px 20px;display:flex;flex-direction:column;gap:12px}
.sa-protliste li{display:flex;gap:10px;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.sa-protliste li .av,.sa-protliste li img,.sa-protliste li .sa-dm{width:28px!important;height:28px!important;border-radius:50%;flex:none}
.sa-protliste b{font-size:13px} .sa-protliste small{color:var(--sub);font-size:12px;margin-left:6px}
.sa-leer{color:var(--sub);font-size:14px}
.sa-agliste,.sa-seliste{list-style:none;padding:10px 16px;display:flex;flex-direction:column;gap:8px}
.sa-agliste li{display:flex;gap:8px;align-items:stretch}
.sa-agzeile{flex:1;min-width:0;min-height:48px;display:flex;align-items:center;gap:12px;text-align:left;background:var(--tile);border:1px solid var(--line);color:var(--text);font-weight:500}
.sa-agsym{font-size:18px;width:24px;text-align:center;flex:none}
.sa-agt{min-width:0;display:flex;flex-direction:column} .sa-agt b{font-size:15px;overflow:hidden;text-overflow:ellipsis} .sa-agt small{font-size:12px;color:var(--sub)}
.sa-agskip{flex:none;font-size:13px}
.sa-einliste{padding:10px 16px;display:flex;flex-direction:column;gap:8px}
.sa-schalter{display:flex;justify-content:space-between;align-items:center;min-height:52px;background:var(--tile);border:1px solid var(--line);color:var(--text);font-weight:600}
.sa-schalter[aria-pressed=true]{border-color:var(--green)} .sa-schalter b{color:var(--sub);font-size:14px}
.sa-serow{display:flex;gap:8px;align-items:center;min-height:56px;background:var(--tile);border:1px solid var(--line);border-radius:var(--r2);padding:6px 8px;flex-wrap:wrap}
.sa-setxt{flex:1 1 140px;min-width:0;display:flex;flex-direction:column;overflow-wrap:anywhere}
.sa-setxt small{font-size:12px;color:var(--sub)} .sa-segrund{font-size:15px;font-weight:600}
.sa-sename{background:transparent;color:var(--text);text-align:left;font-size:15px;font-weight:600;padding:0 4px;min-height:44px;border:0}
.sa-sepfeil{padding:0;width:44px}
.sa-seweg{flex:none;font-size:13px}
.sa-seform{margin:0}
.sa-sefuss{display:flex;flex-direction:column;gap:8px;padding:6px 16px 12px}
.sa-sefuss .voll{min-height:48px}
.sa-senewform{display:flex;gap:8px;padding:0 16px;flex-wrap:wrap} .sa-senewform[hidden]{display:none}
.sa-senewform label{flex:1 1 160px}
.sa-sntoast{position:sticky;bottom:0;margin:8px 16px;background:var(--tile2);border:1px solid var(--line2);border-radius:var(--r2);padding:8px 12px;font-size:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#sa-sefehler{padding:0 16px;min-height:0}
.meetknopf.saaloffen .mpunkt{display:block;background:var(--yellow)}
@media(max-width:599px){.meetknopf.saaloffen .mpunkt{position:absolute;top:6px;right:6px}}
.saalliste{margin:0 0 12px;border:1px solid var(--line);border-radius:var(--r2);background:var(--tile)}
.saalliste summary{min-height:44px;display:flex;align-items:center;padding:0 12px;font-weight:700;font-size:14px;cursor:pointer}
.saallistebox{padding:0 10px 10px;display:flex;flex-direction:column;gap:8px}
.saalzeile{display:flex;align-items:center;gap:10px;text-align:left;background:var(--tile2);border:1px solid var(--line2);color:var(--text);font-weight:500;min-height:52px}
.saalzeile .fuell{flex:1;min-width:0;display:flex;flex-direction:column} .saalzeile small{color:var(--sub);font-size:12px}
.saalgo{font-size:12px;color:var(--sub);flex:none}
.saalknopf{margin-top:8px;min-height:44px;background:transparent;border:1px solid var(--red);color:var(--text);font-size:14px;font-weight:700}

@media(orientation:landscape) and (max-height:520px) and (max-width:959px){
  .sa-rahmen{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto}
  .sa-kopf,.sa-fort{grid-column:1/-1}
  .sa-raum{grid-column:1;grid-row:3/5;margin:4px 8px 0}
  .sa-buehne{grid-column:2;grid-row:3;padding:8px 12px 4px}
  .sa-aktion{grid-column:2;grid-row:4;max-height:50dvh}
  .sa.ende .sa-rahmen{grid-template-rows:auto auto 0 minmax(0,1fr)} .sa.ende .sa-aktion{grid-column:1/-1;grid-row:4}
  .sa-agenda{flex:1 0 100%}
}
@media(min-width:600px){.sa-raum{margin:10px 24px 0}.sa-buehne{padding:12px 24px 8px}.sa-blatt{left:50%;right:auto;width:min(560px,100%);transform:translateX(-50%);border-radius:var(--r);bottom:5dvh}}
@media(min-width:960px){
  .sa-rahmen{grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:auto auto minmax(250px,46dvh) minmax(0,1fr) auto}
  .sa-raum{grid-column:1;margin:6px 40px 0}.sa-buehne{grid-column:1;padding:12px 40px 8px}.sa-aktion{grid-column:1;padding:12px 40px;max-height:50dvh}
  .sa.ende .sa-rahmen{grid-template-rows:auto auto minmax(190px,32dvh) 0 minmax(0,1fr)} .sa.ende .sa-raum{display:block}
  .sa-name{font-size:13px} .sa-dabei{display:none}
  .sa-protblatt{display:block;position:static;grid-column:2;grid-row:3/6;background:var(--bg2);border-left:1px solid var(--line);z-index:1;min-height:0}
  .sa-protblatt .sa-blatt{position:static;max-height:none;height:100%;border:0;border-radius:0;animation:none;background:transparent;transform:none;width:auto}
  .sa-protblatt .sa-zu,.sa-kb#sa-prot{display:none}
}
@media(prefers-reduced-motion:reduce){.sa *,.sa *::before,.sa *::after{animation:none!important;transition:none!important}.sa-chips{scroll-behavior:auto}}
.sa.ruhig *,.sa.ruhig *::before,.sa.ruhig *::after{animation:none!important;transition:none!important}
.sa.ruhig .sa-platz.spricht .sa-figur{transform:scale(1.12)} .sa.ruhig .sa-platz.spricht .sa-stuhl{transform:none}
@media(prefers-reduced-motion:reduce){.sa .sa-platz.spricht .sa-figur{transform:scale(1.12)} .sa .sa-platz.spricht .sa-stuhl{transform:none}}
.sa.nur-editor .sa-rahmen>:not(#sa-seblatt){display:none}
.saalsn{display:flex;align-items:center;width:100%;margin:0 0 12px;min-height:44px;background:transparent;border:1px solid var(--line2);color:var(--text);font-size:14px;font-weight:600;justify-content:flex-start}
/* Hover: Weiß auf --red2 hat nur 4,0:1 (Dana A-2026-324) — Umrandete bleiben dunkel; nur mit Maus (hover:hover), am iPhone klebt nichts */
.sa .sa-sename:hover,.sa .sa-agzeile:hover,.sa .sa-fchip:hover,.sa .sa-schalter:hover,.sa .sa-plus:hover,.sa .sa-stift:hover,.saalsn:hover{background:var(--tile)}
.sa .sa-sename:hover,.saalsn:hover{background:transparent}
.sa .sa-fchip:hover,.sa .sa-plus:hover,.sa .sa-stift:hover{background:var(--tile2)}
.sa button:hover{background:var(--red)}
.sa .sa-leise:hover,.sa .sa-kopf button:hover{background:transparent}
@media(hover:hover){.sa .sa-sename:hover,.saalsn:hover,.sa .sa-leise:hover,.sa .sa-kopf button:hover{background:var(--tile2)}.sa .sa-agzeile:hover,.sa .sa-schalter:hover{background:var(--tile2)}.sa .sa-fchip:hover,.sa .sa-plus:hover,.sa .sa-stift:hover{background:#26262b}}

/* A-2026-235: Zuständigkeiten im Reiter Team (Vorgabe Design-Dana): Zeile „kurz“, Chip „Neu“, Detail-Kästen */
.gnode .gk{font-size:12px;line-height:1.3;color:#C9C9CF;max-width:100%;overflow-wrap:anywhere;hyphens:auto;-webkit-hyphens:auto;padding:0 2px;display:block}
.gnode .gtext{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}
.gnode.wurzel .gtext{align-items:flex-start}
.neuchip{position:absolute;top:4px;left:4px;background:var(--red);color:#fff;border-radius:11px;height:22px;padding:0 7px;font-size:12px;line-height:22px;font-weight:700}
.gnode.wurzel .neuchip{top:6px;left:auto;right:8px}
@media(min-width:1024px){.gnode .gk{font-size:12.5px}}
.gdetail{scroll-margin-top:70px}
.gdetail h3:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:4px}
.gdetail .zurueck{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line2);color:var(--text);font-weight:600;font-size:14px;margin-bottom:10px}
.gdetail .zurueck:hover{background:var(--tile2)}
.zliste{list-style:none;display:flex;flex-direction:column;gap:12px;padding:0}
.zliste li{position:relative;padding-left:16px;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.zliste li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--line2)}
.zliste .meta{display:block;font-size:12px;color:var(--sub);margin-top:2px;line-height:1.35}
.neubox{margin-top:18px;border:1px solid var(--red2);background:rgba(192,39,45,.12);border-radius:var(--r2);padding:12px 12px 14px}
.neubox h2{margin:0 0 10px;color:#fff;display:flex;align-items:center;gap:8px;letter-spacing:.1em}
.neubox h2 .neuchip{position:static}
.neubox .zliste li::before{background:var(--red2)}
.keinneu{margin-top:18px;border:1px dashed var(--line2);border-radius:var(--r2);padding:12px;font-size:13.5px;color:var(--sub);line-height:1.45}
.quellen{margin-top:16px;padding-top:12px;border-top:1px dashed var(--line);font-size:12px;color:var(--sub);line-height:1.5}
.luecke{margin-top:10px;border:1px solid #7a6320;background:rgba(251,191,36,.08);border-radius:var(--r2);padding:10px 12px;font-size:13px;line-height:1.45;color:#F5E3B0}
.luecke b{color:var(--yellow)}
@media(min-width:1280px){.gdetail .zurueck{display:none}}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* A-2026-322 Phase 1: Stapel „Offene Aufgaben“ (Vorgabe Design-Dana aufgaben-kaestchen-vorgabe.md) */
.grechts{display:flex;flex-direction:column;gap:16px;min-width:0}
.stapel{background:linear-gradient(180deg,#18181B,#141416);border:1px solid var(--line);border-radius:16px;padding:14px 14px 12px;box-shadow:var(--sh);min-width:0;overflow-x:clip}
.st-kopf{display:flex;align-items:center;gap:10px;margin-bottom:10px} .st-kopf h2{margin:0;flex:1}
.st-zahl{min-width:26px;height:26px;border-radius:13px;background:var(--red);color:#fff;font-size:13px;font-weight:700;line-height:26px;text-align:center;padding:0 7px}
.st-plus{font-size:12px;font-weight:700;border:1px solid var(--line2);border-radius:99px;padding:2px 8px;color:var(--text)}
.st-filter{width:100%;margin:0 0 10px;min-height:44px;background:transparent;border:1px solid var(--line2);color:var(--text);font-size:13px;font-weight:600}
.st-schiene{list-style:none;position:relative;margin:0;padding:0 0 0 16px;display:flex;flex-direction:column;gap:10px}
.st-schiene::before{content:"";position:absolute;left:3px;top:6px;bottom:6px;width:2px;background:var(--line2);border-radius:1px}
.st-karte{position:relative;min-height:66px;border-radius:14px;touch-action:pan-y;overflow:visible}
.st-karte::before{content:"";position:absolute;left:-16px;top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:var(--sub)}
.st-karte::after{content:"";position:absolute;left:-9px;top:50%;width:7px;height:2px;background:var(--line2)}
.st-karte.wartet::before{background:var(--yellow)} .st-karte.arbeit::before{background:var(--green)}
.st-hinten{position:absolute;inset:0;border-radius:14px;background:#0f3b2a;color:#7CF0BE;font-weight:700;font-size:14px;display:flex;align-items:center;padding-left:18px;opacity:0}
.st-innen{position:relative;display:flex;align-items:center;gap:10px;min-height:66px;padding:8px 8px 8px 10px;background:var(--tile);border:1px solid var(--line);border-radius:14px;min-width:0;touch-action:pan-y}
.st-karte.neu .st-innen{border-color:var(--red2)}
.st-innen.zieht{cursor:grabbing;user-select:none}
.st-innen .ava,.st-innen img,.st-innen .av{width:36px;height:36px;border-radius:50%;flex:none}
.st-todo{width:36px;height:36px;border-radius:50%;background:var(--tile2);display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}
.st-text{flex:1;min-width:0}
.st-titel{font-size:14px;font-weight:650;line-height:1.3;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.st-meta{font-size:12px;color:var(--sub);margin-top:2px;line-height:1.35;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.st-neuchip{position:static;height:18px;line-height:18px;border-radius:9px;padding:0 6px}
.st-haken{flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;border:2px solid #8A8A93;background:var(--bg);color:#7CF0BE;font-size:20px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center}
.st-haken:hover{background:#0f3b2a;border-color:#2e9e78}
.st-haken.schloss{color:var(--yellow);border-color:#7a6320;font-size:18px} .st-haken.schloss:hover{background:var(--bg)}
.st-leer{flex:none;width:44px}
.st-alles{color:#7CF0BE;font-size:14px;padding:14px 0;text-align:center;list-style:none}
.st-mehr{width:100%;margin-top:10px;min-height:44px;background:transparent;border:1px solid var(--line2);color:var(--text);font-size:13px;font-weight:600}
.st-rueck{margin-top:10px;font-size:13px;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px}
.st-undo{min-height:44px;background:transparent;border:1px solid var(--line2);color:var(--text);font-size:13px;font-weight:600}
.st-undo:hover,.st-mehr:hover,.st-filter:hover{background:var(--tile2)}
@media(min-width:1024px){.st-titel{font-size:14.5px}}
@media(prefers-reduced-motion:reduce){.st-karte,.st-innen,.st-hinten{transition:none!important;animation:none!important}}

/* A-2026-322 Phase 2: Übergabe-Ebene, Pille, Flug-Kästchen, Andocken */
.graph{position:relative}
.gueber{position:absolute;left:0;top:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
/* Dana-Auflage 19.10.: Übergabe-Ebene UNTER den Knoten — Linie, Saum und Punkt verschwinden hinter den Knotenrechtecken, kein Rollenname verdeckt */
.graph .gnode{z-index:1}
.graster,.graph .graster{row-gap:30px} .graph{padding-bottom:30px}   /* Zeilenlücke 30 px für die Pille, auch unter der letzten Zeile */
.gu-saum{fill:none;stroke:#0B0B0C;stroke-width:7;stroke-linecap:round;opacity:.85}
.gu-lin{fill:none;stroke:var(--green);stroke-width:2.4;stroke-linecap:round}
.gu-pfeil{fill:var(--green)}
.gu-punkt.rot{fill:var(--red2)} .gu-punkt.gruen{fill:var(--green)}
.gu-punkt{transform-box:fill-box;opacity:0}
.g-pille{position:absolute;z-index:3;transform:translate(-50%,-50%);height:24px;line-height:20px;padding:0 9px;border:2px solid #2e9e78;border-radius:12px;background:#0f2a21;color:#C8F5DF;font-size:12px;font-weight:700;pointer-events:none;white-space:nowrap}
.g-flug{position:absolute;left:0;top:0;z-index:4;width:140px;min-height:44px;display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--tile2);border:1px solid var(--red2);border-radius:12px;box-shadow:var(--sh);pointer-events:none;will-change:transform,opacity}
.g-flug .ava,.g-flug img,.g-flug .av{width:28px;height:28px;border-radius:50%;flex:none}
.g-flugtext{min-width:0;display:flex;flex-direction:column;font-size:12px;line-height:1.2} .g-flugtext b{font-weight:700} .g-flugtext span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sub)}
.gnode.angedockt{border-color:var(--red2);box-shadow:0 0 0 2px rgba(224,56,63,.28),var(--sh)}
.gl.laeuft[data-r]{stroke:var(--red2)}
@media(prefers-reduced-motion:reduce){.g-flug{display:none}}

/* Ruhig auch per App-Schalter (bewegung-ruhig / saal-ruhig): html.ruhig stoppt alle CSS-Animationen (Vorgabe 7) */
html.ruhig *,html.ruhig *::before,html.ruhig *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* ───────── A-2026-238 (Danas 4.2/4.5, Folge zu 218/220): Aufgaben Liste + Detail, Kalender mit Tagesspalte, Kritisch ab 1680 ohne Segmentleiste ───────── */
/* Liste + Detail: entsteht nur ab 1280 px (app.js ldMachen); darunter bleibt das Aufklappen in der Liste */
.ldwrap{display:grid;grid-template-columns:420px minmax(0,1fr);gap:20px;align-items:start}
.ldliste{min-width:0}
.ldliste details.auf>:not(summary){display:none!important}   /* offene Karten zeigen links nur ihre Zeile */
.ldliste details.auf>summary::after{content:'›';margin-left:auto;padding-left:8px;color:var(--sub);font-size:20px;line-height:1}
.ldliste details.auf.gewaehlt{border-color:var(--red);background:linear-gradient(180deg,#221315,#17141a)}
.ldliste details.auf.gewaehlt>summary::after{color:#fff}
.lddetail{position:sticky;top:0;min-width:0;max-height:calc(var(--vvh,100dvh) - 150px);overflow-y:auto;background:linear-gradient(180deg,#18181B,#141416);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px 18px;box-shadow:var(--sh)}
.lddetail:focus{outline:none} .lddetail:focus-visible{outline:2px solid var(--red2);outline-offset:2px}
.lddetail>*{max-width:880px}
.ldkopf{display:flex;gap:12px;align-items:flex-start;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.ldkopf>.av,.ldkopf>img,.ldkopf>svg{flex:none}
.ldkopf .fuell{min-width:0;flex:1}
.ldtitel{font-size:18px;font-weight:750;letter-spacing:-.01em;line-height:1.3;overflow-wrap:anywhere;margin:0 0 4px}
.ldkopf small{display:block;color:var(--sub);font-size:13px;margin-top:2px;white-space:normal}
.lddetail select.voll{margin:0 0 10px}
.lddetail .meininnen{padding:0}
@media(min-width:1680px){.ldwrap{grid-template-columns:clamp(420px,24vw,520px) minmax(0,1fr)}}
/* Kalender: ab 1280 Wochenraster links, rechts 360 px Tagesspalte */
.tertagdetail{display:none}
@media(min-width:1280px){
  .terwrap.mitdetail{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
  .terwrap.mitdetail .tertagdetail{display:block;position:sticky;top:0;max-height:calc(var(--vvh,100dvh) - 150px);overflow-y:auto;background:linear-gradient(180deg,#18181B,#141416);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px 16px;min-width:0}
  .terwrap.mitdetail .tertagdetail[hidden]{display:none}
  .terwrap.mitdetail .tertag{cursor:pointer;transition:border-color var(--t)}
  .terwrap.mitdetail .tertag:hover{border-color:var(--line2)}
  .terwrap.mitdetail .tertag.wahl{border-color:#fff;box-shadow:0 0 0 1px #fff inset}
  .terwrap.mitdetail .tertag.heute.wahl{border-color:#fff}
  .terwrap.mitdetail .wochengitter .teritem button,.terwrap.mitdetail .wochengitter .terinfo small{display:none}   /* Aktionen und Details stehen in der Tagesspalte */
  .terwrap.mitdetail .wochengitter .teritem{min-height:0}
}
button.tagwahl{min-height:44px;width:100%;justify-content:flex-start;text-align:left;background:transparent;border:0;padding:0;color:inherit;font:inherit;font-size:13px;font-weight:700;border-radius:8px}
button.tagwahl:hover{background:transparent;color:var(--text)}
.tertag h3:has(button.tagwahl){margin:0 0 2px}
.tertagdetail h2{font-size:17px;letter-spacing:-.01em;text-transform:none;color:var(--text);margin:2px 0 2px;font-weight:750}
.tertagdetail h2.heute{color:#FF5A60}
.tertagdetail .teritem{border-top:1px solid var(--line)}
.tertagdetail .terplus2{margin-top:14px;width:100%}
/* Kritisch: ab 1680 stehen alle vier Spalten nebeneinander — Segmentleiste entfällt (Spaltenköpfe tragen die Zähler) */
@media(min-width:1680px){#t-kritisch .seg{display:none}}
/* A-2026-385: Auftrag bearbeiten (Stift in Kästchen-Karte und Detailansicht, Dialog wie Meeting: Handy Blatt von unten, ab 600 mittig) */
.st-bearb{flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;border:1px solid var(--line2);background:var(--bg);color:var(--text);font-size:19px;line-height:1;display:flex;align-items:center;justify-content:center}
.st-bearb:hover{background:var(--tile2)}
.bearbzeile{display:flex;flex-direction:column;gap:4px;margin:8px 0 4px}
.bearbzeile button.bearb{margin-left:0;align-self:flex-start;min-width:44px;padding:0 14px;color:var(--text);border-color:var(--line2);font-size:14px;font-weight:600}
.aufergaenzt{display:flex;flex-direction:column;gap:2px;border-left:3px solid var(--line2);padding-left:8px}
.bearbinhalt{overflow-y:auto;padding:12px 16px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px}
.bearbinhalt .sub{margin:0 0 4px}
.bearblabel{font-size:14px;font-weight:600;margin-top:6px}
.bearbinhalt textarea{resize:vertical;min-height:56px}
.bearblaeuft{margin:0;padding:8px 10px;border-radius:var(--r2);border:1px solid #7a6320;color:var(--yellow);font-size:14px}
.bearbbisher{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.bearbknoepfe{display:flex;gap:10px;align-items:center;margin-top:6px}
.bearbknoepfe button.breit{flex:1;margin-top:0;min-height:48px;font-size:16px;font-weight:700}
.bearbknoepfe button.klein{margin-left:0;min-width:96px;font-size:14px}
#bearb-meld:not(:empty){font-size:14px;padding:4px 0}
/* A-2026-400: Kommentar zu „Wartet auf dich“ (Knopf in der Karte, Dialog wie Bearbeiten, Schnellwahl als Kacheln, ≥ 44 px) */
.kk .kfrei{font-size:13px;font-weight:600;color:var(--yellow);border:1px solid #7a6320;border-radius:var(--r2);padding:6px 10px;align-self:flex-start}
.kk button.kkomm{align-self:stretch;min-height:44px;background:var(--tile2);border:1px solid var(--line2);color:var(--text);font-size:15px;font-weight:650}
.kk button.kkomm:hover{background:#26262B}
.kommauf{margin:0;font-weight:700;font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.kommfrei{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:var(--r2);border:1px solid #7a6320;color:var(--yellow);font-size:14px;margin-top:4px}
.kommfrei span{color:var(--text);font-size:13.5px} .kommfrei button.klein{margin-left:0;align-self:flex-start;color:var(--text);border-color:var(--line2)}
.kommwahl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.kommwahl button.kwahl{min-height:48px;background:var(--tile);border:1px solid var(--line2);color:var(--text);font-size:15px;font-weight:650;padding:0 10px}
.kommwahl button.kwahl.an{background:var(--red);border-color:var(--red2);color:#fff}
.kommtage{grid-template-columns:repeat(3,1fr)} .kommtage button.kwahl{font-size:14px;min-height:44px}
.kommbis{display:flex;flex-direction:column;gap:6px} .kommbis[hidden]{display:none} .kommbis input{min-height:44px;font-size:16px}
.kommdialog textarea{font-size:16px}
#komm-meld:not(:empty){font-size:14px;padding:4px 0}
.kdanke{margin:4px 0 10px;padding:10px 12px;border-radius:var(--r2);border:1px solid #1f6b52;color:#7BE8BD;font-size:14px;font-weight:600}
.kpruef{margin:12px 0 4px;border:1px solid var(--line);border-radius:var(--r2);padding:0 12px}
.kpruef summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--sub);font-size:14px}
.kprow{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line)} .kprow .kpt{flex:1 1 60%;min-width:0;overflow-wrap:anywhere;font-size:14px}
@media(min-width:600px){.kommwahl{grid-template-columns:repeat(4,1fr)} .kommtage{grid-template-columns:repeat(3,1fr)}}
/* A-2026-408: Privat-Modus (Schloss im Chat-Formular, Hinweis, Antwortkasten — nie im Verlauf) */
#f [hidden]{display:none!important}
#f.privat textarea{border-color:#5B4BB0;background:#16131f}
#f button#privatknopf.an{background:#5B4BB0;border-color:#5B4BB0;color:#fff}
.privatinfo{margin:0 16px 8px;padding:9px 12px;border:1px solid #3d3470;border-radius:var(--r2);background:#16131f;color:var(--text);font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.privatinfo small{display:block;color:var(--sub);font-size:12.5px;margin-top:4px}
.privatkasten{display:flex;flex-direction:column;gap:8px;margin:0 16px 8px;max-height:45vh;overflow-y:auto}
.privatantwort{border:1px dashed #5B4BB0;border-radius:6px 16px 16px 16px;background:#16131f;padding:10px 13px;overflow-wrap:anywhere}
.privatantwort.bad{border-color:#7A1217;background:#2a1214}
.privatantwort .pakopf{display:flex;align-items:center;gap:8px;font-size:13px;color:#C9C1F2;margin-bottom:6px} .privatantwort .pakopf img{border-radius:50%}
.privatantwort .patext{white-space:pre-wrap;font-size:15px;line-height:1.45}
.privatantwort button.klein{margin-top:8px}
@media(min-width:900px){.privatinfo,.privatkasten{margin-left:28px;margin-right:28px}}
.privatmehr summary{min-height:44px;min-width:44px;padding-right:8px;display:flex;align-items:center;cursor:pointer;color:#C9C1F2;font-size:13px;width:max-content}
.privatmehr p{margin:0 0 4px;color:var(--sub);font-size:12.5px}
.privatantwort .paklein{display:block;color:var(--sub);font-size:12px;margin-top:6px}
#f.privat #b{background:#5B4BB0} #f.privat #b:hover{background:#6B5BC4}
#f.privat textarea:focus,#f.privat textarea:focus-visible{border-color:#5B4BB0;outline-color:#5B4BB0}

/* ───────── A-2026-434 Übersicht (Entwurf Design-Dana 20.10., Tokens wie oben; Klassen mit ue- wegen .karte/.leer im Rest der App) ───────── */
.ue{--faint:#8A8A93;--redtxt:#FF8A8F}
.ue .scroll{padding-top:0}
.ue button:focus-visible,.ue select:focus-visible,.ue textarea:focus-visible,.ue summary:focus-visible,.ue-sheet button:focus-visible,.ue-sheet textarea:focus-visible,.ue-sheet input:focus-visible,.ue-toast button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ue-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ue-kopf{position:sticky;top:0;z-index:5;background:linear-gradient(var(--bg) 84%,transparent);padding:12px 0 8px;min-width:0}
.ue-ziel{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;font-size:14px;color:var(--sub);min-width:0}   /* wrap: ab 320 px rutscht „Noch n · Reihenfolge“ in die zweite Zeile statt quer zu scrollen (A-2026-547 Nacharbeit) */
.ue-ziel b{color:var(--text);font-size:28px;line-height:1;font-weight:800}
.ue-balken{flex:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden;max-width:260px;min-width:40px}
.ue-balken i{display:block;height:100%;width:100%;background:var(--red);transform-origin:left;transform:scaleX(0);transition:transform 400ms cubic-bezier(.4,0,.2,1)}
.ue-balken i.voll{background:var(--green)}
.ue-filter{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;min-width:0}
.ue-filter::-webkit-scrollbar{display:none}
.ue-chip,.ue-wahl{flex:none;min-height:44px;border-radius:22px;border:1px solid var(--line2);background:var(--tile);color:var(--text);font-size:14px;font-weight:600;padding:0 16px}
.ue-chip:hover{background:var(--tile2)}
.ue-wahl{appearance:none;-webkit-appearance:none;padding-right:34px;max-width:220px;background-image:linear-gradient(45deg,transparent 50%,var(--sub) 50%),linear-gradient(135deg,var(--sub) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px;background-repeat:no-repeat}
.ue-chip[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}
.ue-gruppe{margin-top:20px;min-width:0}
.ue-gruppe>h2{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--redtxt);font-weight:700;margin:0 0 10px}
.ue-gruppe.g-arbeit>h2,.ue-gruppe.g-geplant>h2,.ue-gruppe.g-fertig>h2{color:var(--sub)}
.ue-gruppe>h2 .n{min-width:24px;height:24px;border-radius:12px;background:var(--tile2);color:var(--text);display:inline-grid;place-items:center;font-size:12px;letter-spacing:0;padding:0 7px}
.ue-gruppe.g-wartet>h2 .n{background:var(--red);color:#fff}
.ue-liste{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.ue-liste>*{min-width:0}
@media(min-width:760px){.ue-liste{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}
.ue-leer{border:1px dashed var(--line2);border-radius:var(--r);padding:14px 16px;text-align:center;color:var(--sub);font-size:15px}
.ue-leer.gut{padding:22px 16px}
.ue-leer.gut b{display:block;color:var(--green);font-size:17px;margin-bottom:4px}
.ue-wrap{position:relative;display:grid;grid-template-rows:1fr;transition:grid-template-rows 260ms cubic-bezier(.4,0,.2,1),opacity 200ms}
.ue-wrap>.ue-in{min-height:0;overflow:hidden;border-radius:var(--r);position:relative}
.ue-wrap.zu{grid-template-rows:0fr;opacity:0}
.ue-hinten{position:absolute;inset:0;background:#0E3B2C;color:var(--green);display:flex;align-items:center;padding-left:20px;font-weight:700;font-size:15px;border-radius:var(--r)}
.ue-karte{position:relative;background:var(--tile);border:1px solid var(--line);border-radius:var(--r);padding:14px 14px 16px;box-shadow:var(--sh);touch-action:pan-y;transition:transform 220ms cubic-bezier(.4,0,.2,1),opacity 220ms;overflow:hidden}
.ue-karte.zieht{transition:none}
.ue-karte.fliegt{transform:translateX(120%) rotate(7deg);opacity:0;transition:transform 340ms cubic-bezier(.5,0,.9,.4),opacity 340ms}
.g-wartet .ue-karte{border-color:#5A1F23;background:linear-gradient(180deg,#1B1315,var(--tile) 60%)}
.ue-z1{display:flex;gap:10px;align-items:flex-start}
.ue-ampel{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;border-radius:12px;padding:3px 9px 3px 7px;margin-top:1px;background:var(--tile2)}
.ue-ampel::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.a-gruen{color:var(--green)}.a-gelb{color:var(--yellow)}.a-rot{color:#FF6B72}
.ue-karte h3{font-size:17px;line-height:1.3;font-weight:700;flex:1;min-width:0;overflow-wrap:anywhere;margin:0}
.ue-kopfknopf{all:unset;flex:1;min-width:0;cursor:pointer;border-radius:8px}
.ue-kopfknopf:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ue-stand{margin-top:8px;font-size:15px;line-height:1.45;color:var(--text);overflow-wrap:anywhere}
.ue-voll{margin-top:8px;font-size:14px;line-height:1.45;color:var(--sub);overflow-wrap:anywhere}
.ue-fakten{margin:10px 0 0;display:grid;gap:6px;font-size:14px;color:var(--sub)}
.ue-fakten div{display:flex;gap:8px;line-height:1.35;min-width:0}
.ue-fakten dt{flex:none;width:76px;color:var(--faint)}
.ue-fakten dd{min-width:0;color:var(--text);margin:0;overflow-wrap:anywhere}
.ue-wer{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}
.ue-wer .av,.ue-wer img{width:22px;height:22px;border-radius:50%;flex:none;font-size:11px}
.ue-frist{font-weight:700}.ue-frist.rot{color:#FF6B72}.ue-frist.gelb{color:var(--yellow)}
.ue-knoepfe{margin-top:14px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px}
.ue-knoepfe.eins{grid-template-columns:1fr}
.ue-passt{background:var(--red);color:#fff;font-size:14px;padding:0 10px}
.ue-passt:hover{background:var(--red2)}
.ue-zweit{background:var(--tile2);border:1px solid var(--line2);color:var(--text);font-size:14px;padding:0 10px}
.ue-zweit:hover{border-color:#6a6a72;background:var(--tile2)}
.ue-fertig{margin-top:12px;background:transparent;border:1px solid var(--line2);color:var(--sub);width:100%;font-size:14px}
.ue-fertig:hover{background:var(--tile2);color:var(--text)}
.ue-sperre{margin-top:12px;font-size:13.5px;color:var(--sub);line-height:1.45}
.ue-fuss1{margin-top:12px;display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--faint);min-width:0}
.ue-quelle{border:1px solid var(--line2);border-radius:8px;padding:0 6px;color:var(--sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ue-pruef{margin-top:10px;font-size:13px;color:var(--sub);border-left:3px solid var(--line2);padding-left:10px;overflow-wrap:anywhere}
.ue-lauf{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--line);overflow:hidden}
.ue-lauf::after{content:"";position:absolute;top:0;left:0;height:100%;width:34%;background:linear-gradient(90deg,transparent,var(--red2),var(--redtxt));border-radius:2px;animation:ue-lauf 1.7s cubic-bezier(.4,0,.2,1) infinite}
@keyframes ue-lauf{from{transform:translateX(-100%)}to{transform:translateX(300%)}}
.ue-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--redtxt)}
.ue-live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red2);animation:ue-puls 1.4s ease-in-out infinite}
@keyframes ue-puls{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.ue-lauf::after{animation:none;width:100%;opacity:.6}.ue-live::before{animation:none}.ue-karte.fliegt{transform:none}.ue-wrap{transition:opacity 150ms}}
.ue-mehr{width:100%;margin-top:4px;background:var(--tile);border:1px solid var(--line2);color:var(--sub);font-size:14px}
.ue-mehr:hover{background:var(--tile2);color:var(--text)}
.ue-nachweis{margin-top:22px;border:1px solid var(--line);border-radius:var(--r2);background:var(--tile);font-size:14px;color:var(--sub)}
.ue-nachweis summary{min-height:44px;display:flex;align-items:center;gap:8px;padding:0 14px;cursor:pointer;list-style:none}
.ue-nachweis summary::-webkit-details-marker{display:none}
.ue-nachweis summary::after{content:"▾";margin-left:auto;color:var(--faint)}
.ue-nachweis[open] summary::after{content:"▴"}
.ue-nachweis ul{list-style:none;margin:0;padding:0 14px 12px;display:grid;gap:8px}
.ue-nachweis li{line-height:1.4;overflow-wrap:anywhere}
.ue-nachweis li small{display:block;color:var(--faint);font-size:12.5px}
.ue-nachweis .alt{color:var(--yellow)}
.ue-listen{display:block;width:100%;margin:18px 0 8px;background:transparent;border:1px solid var(--line);color:var(--sub);font-size:14px;font-weight:600}
.ue-listen:hover{background:var(--tile2);color:var(--text)}
.ue-dunkel{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:60;opacity:0;transition:opacity 200ms}
.ue-dunkel.auf{opacity:1}
.ue-sheet{position:fixed;left:0;right:0;bottom:0;z-index:61;background:var(--tile);border-top:1px solid var(--line2);border-radius:20px 20px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform 260ms cubic-bezier(.2,.8,.2,1);max-width:560px;margin:0 auto;max-height:92vh;overflow-y:auto}
.ue-sheet.auf{transform:none}
.ue-sheet h4{font-size:17px;margin:0 0 4px}.ue-sheet p{font-size:14px;color:var(--sub);margin:0 0 12px;line-height:1.45}
.ue-wahlfeld{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ue-wahlfeld button{background:var(--tile2);border:1px solid var(--line2);color:var(--text);text-align:left;padding:0 12px;font-size:14px}
.ue-wahlfeld button[aria-pressed=true]{border-color:var(--red);background:#2A1517}
.ue-biszeile{margin-top:10px;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--sub)}
.ue-biszeile input{flex:1;min-width:0}
.ue-sheet textarea{width:100%;min-height:84px;margin-top:10px;background:var(--bg);border:1px solid var(--line2);border-radius:var(--r2);padding:12px;font-size:16px;resize:vertical}
.ue-row{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:12px}
.ue-toast{position:fixed;left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:62;max-width:420px;margin:0 auto;background:var(--tile2);border:1px solid var(--line2);border-radius:var(--r2);padding:6px 6px 6px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;box-shadow:var(--sh)}
.ue-toast.schlecht{border-color:#5A1F23;color:#F4A3A3}
.ue-toast button{background:transparent;color:var(--redtxt);min-height:44px;font-size:14px;flex:none}
.ue-toast button:hover{background:transparent;text-decoration:underline}
@media(min-width:1024px){.ue-toast{bottom:calc(20px + env(safe-area-inset-bottom))}}
/* ───────── A-2026-547: „Wartet auf dich“ als Kartenstapel (Design-Check Dana 21.10., Vorgabe ~/team/out/design/A-2026-547-design-check.md) ───────── */
.ue-noch{margin-left:auto;flex:none;min-height:44px;border-radius:22px;background:var(--tile2);border:1px solid var(--line2);color:var(--text);font-size:14px;font-weight:700;padding:0 14px}
.ue-noch:hover{background:var(--tile2);border-color:#6a6a72}
.ue-stapel{position:relative;max-width:560px;padding-bottom:calc(var(--sch,0)*10px + 6px);touch-action:pan-y}
.ue-schicht{position:absolute;left:0;right:0;top:0;bottom:calc(var(--sch,0)*10px + 6px);border-radius:var(--r);background:#181719;border:1px solid #3a2326;transform-origin:50% 100%;pointer-events:none}
.ue-schicht.s1{transform:translate3d(0,10px,0) scale(.955);opacity:.9}
.ue-schicht.s2{transform:translate3d(0,20px,0) scale(.91);opacity:.7}
.ue-schicht.s3{transform:translate3d(0,30px,0) scale(.865);opacity:.5}
.ue-shint{position:absolute;left:0;right:0;top:0;bottom:calc(var(--sch,0)*10px + 6px);border-radius:var(--r);display:flex;align-items:center;font-weight:700;font-size:15px;opacity:0;pointer-events:none;z-index:1}
.ue-shint.r{background:#0E3B2C;color:var(--green);padding-left:20px}
.ue-shint.l{background:#3B2E0E;color:var(--yellow);justify-content:flex-end;padding-right:20px}
.ue-shint.nein{background:#3B1215;color:#FF8A8F;padding-left:20px}
.ue-platz{position:relative;z-index:2}
.ue-stapel .ue-wrap>.ue-in{overflow:visible}
.ue-stapel .ue-karte{box-shadow:0 8px 24px rgba(0,0,0,.45);user-select:none;-webkit-user-select:none;transition:none}
.ue-stapel .ue-karte.zieht{will-change:transform}
.ue-schloss{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--yellow);border:1px solid #6b5a1c;border-radius:12px;padding:3px 9px;margin-top:10px}
.ue-k1{margin-top:14px;display:grid;grid-template-columns:2fr 1fr;gap:8px}
.ue-k2{margin-top:8px;display:grid;grid-template-columns:1fr 1fr 56px;gap:8px}
.ue-k2.nurmehr{grid-template-columns:1fr 56px}
.ue-k1 .ue-fertig{margin-top:0;background:var(--red);border:0;color:#fff;font-weight:700}
.ue-mehrk{font-size:18px;letter-spacing:.05em;padding:0}
.ue-menue{position:absolute;right:10px;bottom:62px;z-index:6;background:var(--tile2);border:1px solid var(--line2);border-radius:14px;padding:6px;min-width:210px;box-shadow:0 12px 30px rgba(0,0,0,.6)}
.ue-menue button{display:block;width:100%;text-align:left;background:transparent;color:var(--text);font-weight:600;font-size:15px;min-height:44px;padding:0 12px}
.ue-menue button:hover{background:var(--tile)}
.ue-menue button.warn{color:#FF8A8F}
.ue-frage{margin-top:12px;border:1px solid #6b2a2e;border-radius:12px;padding:12px;background:#240F11;font-size:14px;line-height:1.45}
.ue-frage b{display:block;margin-bottom:4px}
.ue-frage .zeile{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.ue-danach{max-width:560px;margin:14px 0 0;font-size:13.5px;color:var(--sub);padding-left:2px;overflow-wrap:anywhere}
.ue-danach b{color:var(--text);font-weight:600}
.ue-ablage{margin-top:14px;display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--sub)}
.ue-ablage .st{display:inline-flex;position:relative;width:34px;height:24px;flex:none}
.ue-ablage .st i{position:absolute;left:0;top:0;width:28px;height:20px;border-radius:5px;background:#0E3B2C;border:1px solid #1d6b4d}
.ue-ablage .st i:nth-child(2){left:3px;top:2px;background:#124a38}
.ue-ablage .st i:nth-child(3){left:6px;top:4px;background:#17604a}
.ue-ablage .st[data-n="0"] i{opacity:.25}
.ue-rf{z-index:63}
.ue-rfl{list-style:none;margin:0;padding:0}
.ue-rfl li{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:6px;align-items:center;padding:6px 0;border-top:1px solid var(--line);background:var(--tile)}
.ue-rfl li.zieht{position:relative;z-index:2;box-shadow:0 8px 20px rgba(0,0,0,.55);border-radius:10px}
.ue-rfl .gr{min-height:44px;display:grid;place-items:center;color:var(--sub);font-size:20px;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.ue-rfl .t{min-width:0;font-size:14.5px;overflow-wrap:anywhere}
.ue-rfl button{min-width:44px;min-height:44px;padding:0;background:var(--tile2);border:1px solid var(--line2);color:var(--text);font-size:16px;border-radius:12px}
.ue-rfl button:disabled{opacity:.35}
.ue-griffstrich{width:44px;height:5px;border-radius:3px;background:var(--line2);margin:0 auto 10px}
.ue-rfhin{margin-top:10px!important;font-size:13px!important}
.ue-rfzu{width:100%;margin-top:6px;min-height:44px}
@media(prefers-reduced-motion:reduce){.ue-balken i{transition:none}}
/* ───────── A-2026-547 Schritt 3: Zeitleiste „Was du gesagt hast“ im Rückblick (Vorgabe Dana Abschnitt 5; ein Bauteil, später auch Meetingsaal) ───────── */
.zl{margin:4px 0 18px;min-width:0}
.zl[hidden]{display:none}
.zl-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}
.zl-titel{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--redtxt);font-weight:700;margin:0}
.zl-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;min-width:0}
.zl-chips::-webkit-scrollbar{display:none}
.zl-summe{font-size:14px;color:var(--sub);margin:8px 0 2px}
.zl-summe b{color:var(--text)}
.zl-s.fertig{color:var(--green)} .zl-s.arbeit{color:var(--yellow)} .zl-s.fehlt{color:#FF8A8F}
.zl-scroll{position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:0 0 8px;scrollbar-width:thin;container-type:inline-size;border-radius:var(--r2)}
.zl-scroll:focus-visible{outline:2px solid #fff;outline-offset:2px}
.zl-spur{position:relative;display:flex;min-width:100%;width:max-content;height:384px;padding:0 4px}
.zl-linie{position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:var(--line2);border-radius:2px}
.zl-fort{position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:var(--green);border-radius:2px;transform-origin:left;opacity:.55}
.zl-spalte{position:relative;flex:1 0 auto;width:max(163px,min(200px,50cqw));scroll-snap-align:end}
@media(min-width:760px){.zl-spalte{width:max(163px,calc(100cqw / 6))}}
.zl-punkt{position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:var(--bg);border:3px solid var(--line2);z-index:2}
.zl-punkt.fertig{background:var(--green);border-color:var(--green)} .zl-punkt.arbeit{border-color:var(--yellow)} .zl-punkt.fehlt{border-color:var(--red2);background:var(--red2)}
.zl-stiel{position:absolute;left:50%;width:2px;margin-left:-1px;background:var(--line2);height:24px}
.zl-oben .zl-stiel{bottom:50%} .zl-unten .zl-stiel{top:50%}
.zl-box{position:absolute;left:6px;right:6px;display:flex;flex-direction:column;align-items:stretch;text-align:left;height:152px;min-height:44px;padding:10px 12px;border-radius:14px;border:2px solid #2e8a58;background:#132219;color:var(--text);font-weight:400;font-size:14px;overflow:hidden;cursor:pointer}
.zl-box.arbeit{border-color:#a8861f;background:#241f10} .zl-box.fehlt{border-color:var(--red2);background:#2a1214}
.zl-oben .zl-box{bottom:calc(50% + 24px)} .zl-unten .zl-box{top:calc(50% + 24px)}
.zl-box:focus-visible{outline:2px solid #fff;outline-offset:2px}
.zl-box .z{font-size:12px;color:#C4C4CC;font-weight:600}
.zl-box .q{font-size:14.5px;line-height:1.35;font-weight:600;margin:3px 0 6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.zl-box .s{margin-top:auto;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zl-box .s.fertig{color:var(--green)} .zl-box .s.arbeit{color:var(--yellow)} .zl-box .s.fehlt{color:#FF8A8F}
.zl-zitat{margin:10px 0;padding:10px 12px;border-left:3px solid var(--line2);background:var(--bg);border-radius:8px;font-size:15px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.zl-wtext{font-size:14px;color:var(--sub);margin:0 0 8px}
@media(prefers-reduced-motion:reduce){.zl-scroll{scroll-behavior:auto}}
.st-zuue{min-height:44px;border-radius:22px;background:var(--tile2);border:1px solid var(--line2);color:var(--text);font-size:14px;font-weight:700;padding:0 14px;margin:0 0 10px}
@media(max-width:1023px){.nav button.navab{display:none}}   /* A-2026-434: .nav button (display:flex) überstimmte .navab — Abmelden steht mobil im Verbrauch-Reiter (A-2026-220) */
/* A-2026-434 Design-Check (Dana 20.10.): Handy-Leiste mit fünf Reitern (… · Mehr), Schrift 12 px, 56 px hoch; Desktop/Tablet ab 1024 px unverändert alle Einträge */
.nav button.nav-mehr{display:none}
@media(max-width:1023px){
  .nav button.navmehr{display:none}
  .nav button.nav-mehr{display:flex}
  .nav button{min-height:56px;font-size:12px;font-weight:500;letter-spacing:0;padding:6px 0}   /* 500 statt 600: „Übersicht“ hat so ab 360 px je 4 px Luft (bei 600 nur 3) */
  .nav .ico{width:24px;height:24px}
}
.mehr-dunkel{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:60;opacity:0;transition:opacity 200ms}
.mehr-dunkel.auf{opacity:1}
.mehr-sheet{position:fixed;left:0;right:0;bottom:0;z-index:61;background:var(--tile);border:1px solid var(--line2);border-bottom:0;border-radius:20px 20px 0 0;padding:8px 16px calc(20px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform 260ms cubic-bezier(.4,0,.2,1);max-width:560px;margin:0 auto}
.mehr-sheet.auf{transform:none}
.mehr-sheet:focus{outline:none}
.mehr-griff{width:40px;height:5px;border-radius:3px;background:var(--line2);margin:4px auto 10px}
button.mehr-zu{float:right;background:var(--tile2);border:1px solid var(--line2);color:var(--text);font-size:14px}
.mehr-sheet h4{font-size:17px;margin:10px 0 12px}
button.mehr-zeile{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;background:transparent;color:var(--text);text-align:left;padding:6px 8px;border-radius:var(--r2);font-weight:600}
button.mehr-zeile:hover{background:var(--tile2)}
button.mehr-zeile .ico{width:24px;height:24px;flex:none}
.mehr-zeile span{display:flex;flex-direction:column;min-width:0}
.mehr-zeile b{font-size:16px}.mehr-zeile small{font-size:14px;color:var(--sub);font-weight:400}
button.mehr-ab{width:100%;margin-top:16px;background:var(--tile2);border:1px solid var(--line2);color:var(--text)}
.mehr-sheet button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.mehr-sheet,.mehr-dunkel{transition:none}}
/* A-2026-434 Design-Check 1: die „✓ Erledigt“-Fläche nur beim Wischen; Karten im Raster nicht auf Zeilenhöhe strecken (sonst grüner Streifen unter kürzeren Karten) */
.ue-liste>.ue-wrap{align-self:start}
.ue-hinten{opacity:0;transition:opacity 120ms}
.ue-in:has(.ue-karte.zieht) .ue-hinten,.ue-in:has(.ue-karte.fliegt) .ue-hinten{opacity:1}
/* A-2026-434 Design-Check 4: wischbare Chip-Reihe zeigt rechts einen Ausblend-Verlauf (24 px) als Hinweis */
@media(max-width:1023px){.ue-filter{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);padding-right:24px}}
/* ───────── A-2026-453 Bautagebuch „Gebaut“ (Entwurf Design-Dana, ~/team/out/design/bautagebuch/). Dunkel zuerst; Hell wäre nur ein
   zweiter Variablensatz auf .bt/.bt-sheet. Bewegung nur transform/opacity, Tippziele ≥ 44 px, min-width:0 in Grid-Kindern. */
.bt,.bt-sheet,.bt-dunkel{--redtxt:#FF8A8F;--greenbg:#0E3B2C;--yellowbg:#3A2E0B;--redbg:#3A1417;--grau:#A1A1AA;--graubg:#232327;--blau:#93C5FD;--blaubg:#13243A;--faint:#8A8A93}
.bt .scroll{padding-top:0}
.bt-kopf{position:sticky;top:0;z-index:5;background:linear-gradient(var(--bg) 86%,transparent);padding:10px 0 8px;margin:0 -2px}
.bt-kopfzeile{display:flex;align-items:flex-start;gap:10px}
.bt-summe{flex:1;min-width:0;font-size:15px;color:var(--sub);line-height:1.5;margin:0;padding-top:10px}
.bt-summe b{color:var(--text)}
.bt-s-live{color:var(--green)}.bt-s-du{color:var(--redtxt)}.bt-s-pr{color:var(--yellow)}.bt-s-be{color:var(--blau)}.bt-s-erl{color:var(--faint)}
.bt-s-live b,.bt-s-du b,.bt-s-pr b,.bt-s-be b{color:inherit}
button.bt-stand{flex:none;background:transparent;border:1px solid var(--line2);color:var(--sub);font-size:13px;font-weight:600;border-radius:22px;padding:0 12px}
button.bt-stand:hover{background:var(--tile2);color:var(--text)}
.bt-filter{display:flex;gap:8px;margin-top:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.bt-filter::-webkit-scrollbar{display:none}
@media(max-width:1099px){.bt-filter{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);padding-right:24px}}   /* Design-Check: Wisch-Hinweis */
button.bt-chip{flex:none;min-height:44px;border-radius:22px;border:1px solid var(--line2);background:var(--tile);color:var(--text);font-size:14px;font-weight:600;padding:0 14px;display:inline-flex;align-items:center;gap:7px}
button.bt-chip:hover{background:var(--tile2)}
.bt-z{font-size:12px;color:var(--sub);font-weight:700}
button.bt-chip[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}
button.bt-chip[aria-pressed=true] .bt-z{color:#fff}
button.bt-sw{border-style:dashed}
button.bt-sw[aria-pressed=true]{background:var(--greenbg);border-color:var(--green);color:var(--green);border-style:solid}
button.bt-sw[aria-pressed=true] .bt-z{color:var(--green)}
.bt-arbeit{display:block}
.bt-seite{display:none}
#bt-liste{min-width:0}
.bt-tag{margin-top:18px}
button.bt-kopf-tag{display:flex;width:100%;align-items:center;gap:10px;text-align:left;padding:0;min-height:44px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub);font-weight:700;border-radius:0;background:transparent}
button.bt-kopf-tag:hover{background:transparent;color:var(--text)}
.bt-tag.heute>button.bt-kopf-tag{color:var(--redtxt)}
.bt-wann{letter-spacing:0;text-transform:none;font-size:13px;color:var(--faint);font-weight:500}
.bt-n{min-width:24px;height:24px;border-radius:12px;background:var(--tile2);color:var(--text);display:inline-grid;place-items:center;font-size:12px;letter-spacing:0;padding:0 7px}
.bt-pf{margin-left:auto;width:10px;height:10px;border-right:2px solid var(--sub);border-bottom:2px solid var(--sub);transform:rotate(45deg);transition:transform var(--t);margin-right:6px}
.bt-tag.zu>button>.bt-pf{transform:rotate(-45deg)}
.bt-tag.zu>.bt-eintraege,.bt-tag.zu>.bt-tagessumme,.bt-tag.zu>.bt-erl,.bt-tag.zu>.bt-aelter{display:none}
.bt-tagessumme{font-size:14px;color:var(--sub);margin:2px 0 10px}
.bt-aelter{display:grid;gap:4px}
.bt-aelter .bt-tag{margin-top:4px;border:1px solid var(--line);border-radius:var(--r2);padding:0 12px 8px;background:var(--tile)}
.bt-aelter button.bt-kopf-tag{letter-spacing:0;text-transform:none;font-size:15px;color:var(--text)}
.bt-eintraege{list-style:none;position:relative;display:grid;gap:10px;margin:0;padding:0}
.bt-eintraege::before{content:"";position:absolute;left:62px;top:8px;bottom:8px;width:2px;background:var(--line)}
.bt-e{display:grid;grid-template-columns:44px 36px minmax(0,1fr);align-items:start}
.bt-uhr{font-size:13px;font-weight:700;color:var(--sub);padding-top:15px;font-variant-numeric:tabular-nums}
.bt-punkt{position:relative;z-index:1;display:flex;justify-content:center;padding-top:19px}
.bt-punkt i{width:12px;height:12px;border-radius:50%;background:var(--grau);box-shadow:0 0 0 4px var(--bg)}
.st-live .bt-punkt i{background:var(--green)}.st-du .bt-punkt i{background:var(--red2)}.st-pruef .bt-punkt i,.st-liegt .bt-punkt i{background:var(--yellow)}
.st-bericht .bt-punkt i{background:var(--blau)}.st-zurueck .bt-punkt i{background:transparent;border:2px solid var(--grau)}
.erledigt .bt-punkt i{background:var(--grau)}
button.bt-karte{display:block;width:100%;min-width:0;text-align:left;font-weight:400;font-size:16px;color:var(--text);background:var(--tile);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px 13px;box-shadow:0 8px 20px -12px rgba(0,0,0,.65);min-height:44px}
button.bt-karte:hover{background:var(--tile);border-color:var(--line2)}
button.bt-karte[aria-current=true]{border-color:var(--red)}
.st-du button.bt-karte{border-color:#5A1F23;background:linear-gradient(180deg,var(--redbg),var(--tile) 70%)}
.st-liegt button.bt-karte{border-color:var(--yellow)}
.st-zurueck button.bt-karte{opacity:.82;border-style:dashed}
.erledigt button.bt-karte{opacity:.78}
.bt-k1{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:flex-start;justify-content:space-between}
.bt-titel{flex:1 1 180px;font-size:16px;font-weight:700;line-height:1.3;min-width:0;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}   /* Design-Check: Titel nicht mitten im Wort brechen; Chip rutscht bei Platzmangel darunter */
.bt-nr{display:inline-block;font-size:12px;font-weight:700;color:var(--faint);border:1px solid var(--line2);border-radius:8px;padding:0 6px;margin-right:6px;vertical-align:1px;font-variant-numeric:tabular-nums}
.bt-c{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;border-radius:12px;padding:3px 9px 3px 7px;white-space:nowrap}
.bt-c::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.c-live{color:var(--green);background:var(--greenbg)}.c-du{color:var(--redtxt);background:var(--redbg)}.c-pruef{color:var(--yellow);background:var(--yellowbg)}
.c-bericht{color:var(--blau);background:var(--blaubg)}.c-liegt{color:var(--yellow);background:transparent;box-shadow:inset 0 0 0 1px var(--yellow)}
.c-zurueck,.c-erl{color:var(--grau);background:var(--graubg)}
.c-zurueck::before{background:transparent;border:2px solid currentColor;width:9px;height:9px}
.bt-merk{margin:6px 0 0;font-size:15px;line-height:1.45;color:var(--text)}
.bt-merk b{color:var(--sub);font-weight:600}
.bt-k3{margin-top:8px;display:flex;gap:10px;align-items:center;font-size:12px;color:var(--faint);flex-wrap:wrap}
.bt-rolle{display:inline-flex;align-items:center;gap:6px}
.bt-av{width:20px;height:20px;border-radius:50%;background:var(--line2);color:var(--text);display:inline-grid;place-items:center;font-size:10px;font-weight:800}
.bt-mehr{margin-left:auto;color:var(--sub);font-weight:700}
button.bt-erl{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:8px;border:1px dashed var(--line2);border-radius:var(--r2);background:transparent;color:var(--sub);font-size:14px;font-weight:600}
button.bt-erl:hover{background:var(--tile2)}
.bt-leer{border:1px dashed var(--line2);border-radius:var(--r);padding:22px 16px;text-align:center;color:var(--sub);font-size:15px;margin-top:14px;line-height:1.45}
.bt-leer b{display:block;color:var(--text);font-size:17px;margin-bottom:4px}
.bt-skel{height:84px;border-radius:var(--r);background:var(--tile);border:1px solid var(--line);position:relative;overflow:hidden;margin-top:12px}
.bt-skel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--tile2),transparent);transform:translateX(-100%);animation:btskel 1.4s infinite}
@keyframes btskel{to{transform:translateX(100%)}}
.bt-fehler{border:1px solid #5A1F23;background:var(--redbg);border-radius:var(--r);padding:14px;margin-top:14px;font-size:15px;line-height:1.45}
.bt-fehler b{display:block;margin-bottom:4px}
.bt-dunkel{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:60;opacity:0;transition:opacity 200ms}
.bt-dunkel.auf{opacity:1}
.bt-sheet{position:fixed;left:0;right:0;bottom:0;z-index:61;max-height:88vh;overflow:auto;background:var(--tile);border:1px solid var(--line2);border-bottom:0;border-radius:20px 20px 0 0;padding:8px 16px calc(40px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform 280ms cubic-bezier(.4,0,.2,1);overscroll-behavior:contain;max-width:640px;margin:0 auto}
.bt-sheet.auf{transform:none}
.bt-sheet:focus{outline:none}
.bt-griff{width:40px;height:5px;border-radius:3px;background:var(--line2);margin:4px auto 10px}
button.bt-zu{float:right;background:var(--tile2);border:1px solid var(--line2);color:var(--text);font-size:14px}
.bt-dtitel{font-size:19px;line-height:1.3;margin:8px 0 0;overflow-wrap:anywhere;letter-spacing:0;text-transform:none;color:var(--text)}
.bt-meta{margin-top:6px;font-size:13px;color:var(--sub)}
.bt-ab{margin-top:18px}
.bt-ab h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 8px}
.bt-ab p{font-size:15px;line-height:1.5;margin:0}
.bt-stufen{list-style:none;display:grid;gap:0;margin:0;padding:0}
.bt-stufen li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;font-size:14px;padding-bottom:12px;position:relative}
.bt-stufen li::before{content:"";position:absolute;left:10px;top:20px;bottom:0;width:2px;background:var(--line)}
.bt-stufen li:last-child::before{display:none}
.bt-d{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:var(--tile2);border:2px solid var(--line2);color:var(--faint)}
.bt-stufen .ok .bt-d{background:var(--green);border-color:var(--green);color:#04281c}
.bt-stufen .jetzt .bt-d{border-color:var(--red2);color:var(--redtxt)}
.bt-stufen .ent .bt-d{border-style:dashed}
.bt-stufen b{display:block;font-weight:700}.bt-v{color:var(--sub);display:block}
.bt-shots{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
button.bt-shot{flex:none;width:96px;height:140px;border-radius:10px;border:1px solid var(--line2);background:var(--tile2);color:var(--sub);font-size:12px;font-weight:600;padding:4px}
.bt-shots img{flex:none;width:auto;max-width:100%;height:auto;max-height:60vh;border-radius:10px;border:1px solid var(--line2);background:var(--tile2)}
.bt-shots{align-items:flex-start}
.bt-aktion{margin-top:18px;display:grid;gap:8px}
button.bt-haupt{width:100%}
button.bt-zweit{width:100%;background:var(--tile2);border:1px solid var(--line2);color:var(--text)}
button.bt-zweit:hover{background:var(--line)}
.bt-fehler button.bt-zweit{margin-top:10px;width:auto}
.bt-hinweis{font-size:13px;color:var(--sub);margin-top:8px}
.bt button:focus-visible,.bt-sheet button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(min-width:1100px){
  .bt-arbeit{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:32px;align-items:start}
  .bt-seite{display:block;position:sticky;top:120px;max-height:calc(100vh - 160px);overflow:auto;background:var(--tile);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px 20px;margin-top:18px}
}
/* A-2026-524 (Vorgabe Dana ~/team/out/design/A-2026-524-design-check.md): Umschalter Rückblick · Morgen · Berichte, Wochenstreifen,
   Tagesblöcke (Summenzeile auch zugeklappt), Sammelzeile Abnahmen, Morgen-Karten, Bericht wie Push + Mail. Tippziele ≥ 44 px, nur transform/opacity. */
.bt-umschalter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:var(--tile);border:1px solid var(--line);border-radius:14px;padding:4px;margin-top:8px}
.bt-umschalter button{min-height:44px;border-radius:10px;background:transparent;color:var(--sub);font-size:14px;padding:0 6px;min-width:0}
.bt-umschalter button:hover{background:var(--tile2);color:var(--text)}
.bt-umschalter button[aria-pressed=true]{background:var(--red);color:#fff}
.bt-ansicht{max-width:760px}
.bt-streifen{display:flex;gap:8px;overflow-x:auto;padding:12px 0 6px;scrollbar-width:none;scroll-snap-type:x proximity}
.bt-streifen::-webkit-scrollbar{display:none}
button.bt-sd{flex:none;scroll-snap-align:start;width:64px;min-height:64px;border-radius:14px;border:1px solid var(--line2);background:var(--tile);color:var(--sub);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 0;font-size:12px;font-weight:600}
button.bt-sd:hover{background:var(--tile2)}
button.bt-sd b{font-size:18px;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.2}
button.bt-sd[aria-current=true]{background:var(--red);border-color:var(--red);color:#fff}
button.bt-sd[aria-current=true] b{color:#fff}
button.bt-sd.leer b{color:var(--faint)}
.bt-unvoll{margin:6px 0;padding:10px 12px;border-radius:var(--r2);background:var(--yellowbg);color:var(--yellow);font-size:14px;font-weight:600}
button.bt-kopf-tag .bt-dat{font-size:17px;letter-spacing:0;text-transform:none;color:var(--text);font-weight:700}
.bt-tag.heute>button.bt-kopf-tag .bt-dat{color:var(--text)}
.bt-tag.zu>.bt-tagessumme{display:block}
.bt-tag.zu>.bt-nachtsumme,.bt-tag.zu>.bt-hinweis{display:none}
.bt-tagessumme{margin:-2px 0 8px}
.bt-s-geb b{color:var(--text)}
.bt-nachtsumme{font-size:13px;color:var(--sub);margin:-4px 0 10px}
.bt-nachtsumme b{color:var(--sub);font-weight:600}
.bt-nachtsumme .bt-s-live,.bt-nachtsumme .bt-s-live b{color:var(--green)}
.bt-trenner{list-style:none;margin:4px 0 0 80px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:700}
.st-erl .bt-punkt i{background:var(--grau)}
.bt-karte.bt-sammel{display:block;width:100%;min-width:0;background:var(--tile);border:1px dashed var(--line2);border-radius:var(--r);padding:12px 14px 10px}
button.bt-zeigen{margin-top:6px;min-height:44px;background:transparent;border:1px solid var(--line2);color:var(--text);font-size:14px;padding:0 12px}
button.bt-zeigen:hover{background:var(--tile2)}
.bt-sammelliste{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
button.bt-sl{display:flex;align-items:center;gap:4px;width:100%;min-height:44px;text-align:left;background:var(--tile2);border:1px solid var(--line);color:var(--text);font-size:14px;font-weight:600;padding:6px 10px;border-radius:10px}
button.bt-sl:hover{background:var(--line)}
button.bt-karte:disabled{cursor:default;opacity:1}
button.bt-mehrtage{display:flex;width:100%;margin-top:18px;min-height:48px;border:1px solid var(--line2);border-radius:var(--r2);background:var(--tile);color:var(--text);font-size:15px;padding:8px 14px;line-height:1.3}
button.bt-mehrtage:hover{background:var(--tile2)}
.bt-ende{margin:18px 0 8px;text-align:center}
.bt-mtag{margin-top:18px}
.bt-mkopf{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:17px;margin:0 0 8px;letter-spacing:0;text-transform:none;color:var(--text)}
.bt-mkopf small{font-size:13px;color:var(--sub);font-weight:500;flex:none}
.bt-m{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;margin-bottom:8px;align-items:start}
.bt-m .bt-uhr{padding-top:13px;overflow-wrap:anywhere;-webkit-hyphens:manual;hyphens:manual}
.bt-mk{min-width:0;background:var(--tile);border:1px solid var(--line);border-radius:var(--r);padding:11px 14px 12px;margin-bottom:8px}
.bt-mk.rot{border-color:var(--red)}
.bt-gruppe{margin-top:22px}
.bt-gkopf{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub);margin:0 0 6px}
.bt-gkopf.du{color:var(--redtxt)}
button.bt-kopieren{width:100%;margin-top:10px}
.bt-weg{position:fixed;left:-9999px;top:0;opacity:0}
.bt-weitere{margin:4px 0 0;padding:12px;border:1px dashed var(--line2);border-radius:var(--r2);text-align:center;color:var(--sub);font-size:14px}
.bt-nicht{margin-top:22px;border:1px dashed var(--line2);border-radius:var(--r);padding:12px 14px;font-size:14px;line-height:1.45;color:var(--sub)}
.bt-nicht b{color:var(--text)}
.bt-bw{display:flex;gap:8px;margin:12px 0 4px;flex-wrap:wrap}
.bt-pl{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:16px 0 6px;font-weight:700;line-height:1.5}
.bt-push{background:var(--tile2);border:1px solid var(--line2);border-radius:18px;padding:12px 14px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.bt-pk{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--sub);margin-bottom:4px}
.bt-pk i{width:18px;height:18px;border-radius:5px;background:var(--red);display:inline-block}
.bt-push b{display:block;font-size:15px}
.bt-push p{font-size:14px;margin:2px 0 0;white-space:pre-line;line-height:1.45;overflow-wrap:anywhere}
.bt-mail{background:var(--tile);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.bt-mk2{padding:14px 14px 10px;border-bottom:1px solid var(--line)}
.bt-mk2 small{color:var(--sub);font-size:13px}
.bt-mk2 h3{font-size:18px;line-height:1.3;margin:2px 0 0;letter-spacing:0;text-transform:none;color:var(--text)}
.bt-fuer{background:var(--redbg);border-left:4px solid var(--red);padding:10px 14px}
.bt-fuer h4,.bt-abs h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 6px}
.bt-fuer h4{color:var(--redtxt)}.bt-abs h4{color:var(--sub)}
.bt-fuer ul{margin:0;padding-left:18px}.bt-fuer li{font-size:14px;margin-bottom:4px;line-height:1.45;overflow-wrap:anywhere}
.bt-band{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}
.bt-band div{background:var(--tile);padding:10px 14px}
.bt-band b{display:block;font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}
.bt-band span{font-size:13px;color:var(--sub)}
.bt-band .f-g b{color:var(--green)}.bt-band .f-y b{color:var(--yellow)}.bt-band .f-r b{color:var(--redtxt)}
.bt-abs{padding:12px 14px;border-top:1px solid var(--line)}
.bt-abs p{font-size:14px;color:var(--sub);margin:0 0 6px;line-height:1.45;overflow-wrap:anywhere}
.bt-abs ul{list-style:none;margin:0;padding:0}
.bt-abs li{font-size:14px;margin-bottom:6px;display:flex;gap:8px;align-items:baseline;line-height:1.4}
.bt-abs li>span:last-child{min-width:0;overflow-wrap:anywhere}
.bt-uh{flex:none;width:42px;font-weight:700;font-size:13px;color:var(--sub);font-variant-numeric:tabular-nums}
.bt-tab{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:6px;table-layout:fixed}
.bt-tab th,.bt-tab td{padding:8px 4px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.bt-tab th{font-size:12px;color:var(--faint);font-weight:600}
.bt-tab td.z2{font-variant-numeric:tabular-nums}
details.bt-betrieb{border-top:1px solid var(--line);padding:0 14px}
details.bt-betrieb summary{min-height:44px;display:flex;align-items:center;font-weight:700;font-size:14px;cursor:pointer;color:var(--sub)}
details.bt-betrieb p{font-size:14px;color:var(--sub);margin:0 0 12px}
.bt-fuss{font-size:13px;color:var(--faint);padding:10px 14px;border-top:1px solid var(--line);margin:0}
@media(min-width:700px){.bt-band{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.bt *,.bt-sheet,.bt-dunkel{transition:none!important;animation:none!important}}
