/* Taskmaster — Gestaltung. Farben als Tokens, Dunkelmodus ueber data-theme (Schalter in der Seitenleiste, hell ist Standard).
   Farbschema (Entscheidung PP, 24.09.2026): Faelligkeit faerbt die Zeile links —
   ueberfaellig rot, heute amber; Prioritaet steht als Marke mit Text, nie nur als Punkt. */
:root{
  --teal:#296365; --teal-600:#1f4d4f; --teal-050:#e7f0f0; --teal-100:#cfe1e1;
  --navy:#16262b; --ink:#1a2b32; --muted:#5f7478; --line:#e3eaea; --bg:#f5f8f8;
  --card:#ffffff; --white:#fff; --feld:#fff;
  --p-dringend:#d33a3f; --p-hoch:#e0620a; --p-mittel:#b8860b; --p-niedrig:#6f8487;
  --s-arbeit:#296365; --s-wartet:#a16b00; --s-blockiert:#d33a3f; --s-offen:#6f8487;
  --heute:#b8860b; --heute-bg:#fff7e0; --over:#d33a3f; --over-bg:#fdecec;
  --gast:#e8823d; --warn-bg:#fdecec; --warn-line:#f5c2c2; --ok-bg:#e7f0f0; --ok-line:#cfe1e1;
  --side-text:#cfdcdc; --side-muted:#93b0b2; --side-hover:#1e3237; --side-chip:#0f1c20;
  --shadow:0 1px 2px rgba(22,38,43,.06),0 4px 16px rgba(22,38,43,.06);
  --radius:12px;
  --font:'Segoe UI',-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
}
/* Dunkel: bewusst weich — kein Schwarz, Karten heben sich vom Grund ab, Text hell
   aber nicht grell. Umschalten ueber data-theme am <html>, Wahl liegt im Browser. */
[data-theme="dark"]{
  --ink:#e8f0f1; --muted:#a7bcc0; --line:#34454c; --bg:#1b262b; --card:#243239; --white:#243239;
  --feld:#1e2b31; --teal-050:#263d43; --teal-100:#365a60; --navy:#e8f0f1; --teal:#4a9a9d; --teal-600:#6fbdbf;
  --heute-bg:#3a3118; --over-bg:#432427; --warn-bg:#432427; --warn-line:#6e3237; --ok-bg:#263d43; --ok-line:#365a60;
  --p-dringend:#ef6b6f; --p-hoch:#f08a3e; --p-mittel:#d9a92e; --heute:#d9a92e; --over:#ef6b6f;
  --shadow:0 1px 2px rgba(0,0,0,.25),0 4px 14px rgba(0,0,0,.22);
}
[data-theme="dark"] .sidebar,[data-theme="dark"] .side-foot{background:#1e2c32}
[data-theme="dark"] .login{background:#1e2c32}
*{box-sizing:border-box;margin:0;padding:0}
/* v0.15.0: Groesse und Polster gelten ueberall, auch gegen Inline-Breiten und Feld-Stile
   aus Filterleiste oder Karten — sonst schrumpft die Box auf 4 px oder wird hoch und flach. */
input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px!important;height:18px!important;min-width:18px;min-height:0!important;margin:0;border:2px solid #c3d0d1;border-radius:5px;background:var(--card);display:inline-grid;place-items:center;cursor:pointer;flex:none!important;vertical-align:middle;transition:.12s;padding:0!important;box-sizing:border-box}
input[type=checkbox]:hover{border-color:var(--teal)}
input[type=checkbox]:checked{background:var(--teal);border-color:var(--teal)}
input[type=checkbox]:checked::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
input[type=checkbox]:disabled{opacity:.45;cursor:default}
input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--teal-100)}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%237fa3a5' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-color:var(--card);padding-right:30px !important;color:var(--ink);cursor:pointer;font-family:inherit}
select:disabled{cursor:default;opacity:.6}
html,body{height:100%}
body{font-family:var(--font);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
button:disabled{cursor:default}
input,select,textarea{font-family:inherit;color:var(--ink);background:var(--feld)}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.app{display:grid;grid-template-columns:274px 1fr;height:100dvh;overflow:hidden}
.versteckt{display:none !important}

/* ---------- Seitenleiste ---------- */
.sidebar{background:#16262b;color:var(--side-text);display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:0}
.side-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 12px 10px;display:flex;flex-direction:column}
.nav-unten{margin-top:10px}
.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px}
.brand .logo{width:30px;height:30px;border-radius:8px;display:block;flex:none}
.brand h1{font-size:16px;color:#fff;letter-spacing:.3px}
.brand small{display:block;color:var(--side-muted);font-size:10.5px;font-weight:500;letter-spacing:.4px;text-transform:uppercase}
.nav-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--side-muted);padding:12px 10px 6px;font-weight:700}
.tenant{display:flex;gap:4px;background:var(--side-chip);border-radius:10px;padding:4px;margin:2px 4px 4px}
.tenant button{flex:1;padding:6px 4px;border-radius:7px;font-size:12px;font-weight:600;color:var(--side-muted)}
.tenant button.on{background:var(--teal);color:#fff}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--side-text);font-weight:500;width:100%;text-align:left;font-size:13.5px;min-height:40px}
.nav-item:hover{background:var(--side-hover)}
.nav-item.on{background:var(--teal);color:#fff}
.nav-item.dis{opacity:.45;cursor:default}
.nav-item .ic{width:16px;text-align:center;opacity:.9}
.nav-item .count{margin-left:auto;font-size:11px;background:#20363b;color:#b7d0d2;border-radius:20px;padding:1px 7px}
.nav-item .soon{margin-left:auto;font-size:9.5px;background:#20363b;color:var(--side-muted);border-radius:20px;padding:1px 7px;text-transform:uppercase;letter-spacing:.4px}
.venture{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;color:#c4d6d7;font-size:13px;width:100%;text-align:left;min-height:38px;cursor:pointer}
.venture:hover{background:var(--side-hover)}
.venture.on{background:var(--teal);color:#fff}
.venture .symbol{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:13px;flex:none;background:var(--f,#296365);color:#fff;line-height:1}
.farbe-teal{--f:#296365} .farbe-blau{--f:#2d6cdf} .farbe-lila{--f:#7c4dbd} .farbe-pink{--f:#d6409f} .farbe-rot{--f:#d33a3f}
.farbe-orange{--f:#e0620a} .farbe-gelb{--f:#c0891a} .farbe-gruen{--f:#2f8f4e} .farbe-grau{--f:#6f8487} .farbe-schiefer{--f:#3b5563}
.venture.ziel-oben{box-shadow:0 -2px 0 #3d8a8d}
.venture .stern{font-size:12px;color:#e6b800;margin-left:2px}
.venture .count{margin-left:auto;font-size:11px;color:var(--side-muted)}
.venture.zieht{opacity:.4}
.venture .archiv{font-size:10px;color:var(--side-muted);margin-left:4px}
.schublade .kopf{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--side-muted);padding:12px 10px 6px;font-weight:700;display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none;width:100%;text-align:left}
.schublade .kopf:hover{color:#fff}
.schublade .kopf .pfeil{font-size:9px;margin-right:6px;transition:transform .15s;display:inline-block}
.schublade.zu .kopf .pfeil{transform:rotate(-90deg)}
.schublade.zu .fach,.schublade.zu .leer{display:none}
.schublade .kopf .n{font-weight:600}
.schublade .fach{min-height:10px;border-radius:9px;padding:1px 0;transition:.12s}
.schublade.ziel .fach{background:#1b2d32;outline:1px dashed #3d8a8d}
.schublade .leer{font-size:11.5px;color:var(--side-muted);padding:5px 12px 7px;font-style:italic}
.schublade .neu-projekt{font-size:12px;color:var(--side-muted);padding:6px 10px;width:100%;text-align:left;border-radius:8px}
.schublade .neu-projekt:hover{color:#fff;background:var(--side-hover)}
.side-foot{flex:none;padding:10px 12px 12px;border-top:1px solid #20363b;background:#16262b}
.theme-schalter{display:flex;align-items:center;gap:8px;padding:7px 11px;margin:0 4px 8px;border-radius:8px;background:var(--side-chip);color:var(--side-muted);font-size:11.5px;width:calc(100% - 8px);text-align:left;min-height:34px}
.theme-schalter:hover{color:#fff}
.theme-schalter .sw{width:30px;height:17px;border-radius:20px;background:#33474c;position:relative;flex:none;transition:.15s}
.theme-schalter .sw::after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#8fb0b2;transition:.15s}
[data-theme="dark"] .theme-schalter .sw{background:var(--teal)}
[data-theme="dark"] .theme-schalter .sw::after{left:15px;background:#fff}
.emojis{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}
.emojis button{width:36px;height:36px;font-size:19px;border-radius:8px;border:1px solid var(--line);background:var(--feld);line-height:1}
.emojis button:hover{border-color:var(--teal)}
.emojis button.on{outline:2px solid var(--teal);outline-offset:1px}
.farben{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.farben button{width:28px;height:28px;border-radius:50%;background:var(--f);border:2px solid transparent}
.farben button.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--card)}
.vorschau-projekt{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:#16262b;color:#fff;font-size:13px;margin-bottom:8px}
.userchip{display:flex;align-items:center;gap:10px;background:var(--side-chip);border-radius:10px;padding:9px 11px;margin:0 4px 8px}
.userchip .av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700;flex:none;overflow:hidden}
.userchip b{font-size:12.5px;color:#e6eeee;font-weight:600;line-height:1.2;display:block}
.userchip small{display:block;font-size:11px;color:var(--side-muted);line-height:1.3}
.userchip button{color:var(--side-muted);font-size:15px;padding:4px;border-radius:6px;min-width:28px;min-height:28px}
.userchip button:hover{color:#fff;background:var(--side-hover)}
.userchip button.on{color:#fff;background:var(--teal)}
.av img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}

/* ---------- Hauptbereich ---------- */
.main{display:flex;flex-direction:column;overflow:hidden;min-width:0}
.topbar{display:flex;align-items:center;gap:12px;padding:12px 22px;background:var(--card);border-bottom:1px solid var(--line)}
.views{display:flex;gap:2px;background:var(--teal-050);border-radius:9px;padding:3px}
.views button{padding:7px 14px;border-radius:6px;font-size:13px;font-weight:600;color:var(--teal-600)}
.views button.on{background:var(--card);color:var(--teal);box-shadow:var(--shadow)}
.views button.bald{opacity:.5;cursor:default}
.views .soon{font-size:9px;background:var(--teal-100);color:var(--teal-600);border-radius:20px;padding:1px 6px;text-transform:uppercase;letter-spacing:.4px;margin-left:4px}
.suche{flex:1;max-width:460px;display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:0 12px}
.suche .lupe{color:var(--muted);font-size:16px}
.suche input{flex:1;border:none;background:transparent;padding:9px 0;font-size:13.5px;outline:none}
.btn-new{background:var(--teal);color:#fff;padding:9px 16px;border-radius:9px;font-weight:600;font-size:13px;box-shadow:var(--shadow);min-height:36px}
.btn-new:hover{background:var(--teal-600)}
.btn-flach{background:var(--teal-050);color:var(--ink);padding:9px 14px;border-radius:9px;font-weight:600;font-size:13px;min-height:36px}
.btn-flach:hover{background:var(--teal-100)}
.btn-flach.gefahr{color:var(--over)} .btn-flach.gefahr:hover{background:#fde8e8}
[data-theme="dark"] .btn-flach.gefahr:hover{background:#4a2020}
.btn-gefahr{background:var(--over-bg);color:var(--over)}
.btn-klein{padding:5px 10px;font-size:12px;min-height:30px;border-radius:7px}
.content{flex:1;overflow-y:auto;padding:22px 26px;outline:none}
.view-head{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.view-head h2{font-size:20px;color:var(--navy)}
.view-head .sub{color:var(--muted);font-size:13px}
.view-head .rechts{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.projektkopf{gap:10px}
.projektkopf h2{margin-right:2px}
.projektkopf .symbol.kopf{width:30px;height:30px;font-size:16px;border-radius:8px}
.stern-knopf{font-size:20px;color:var(--muted);padding:2px 6px;border-radius:8px;line-height:1;min-height:32px}
.stern-knopf:hover{background:var(--teal-050)}
.stern-knopf.an{color:#e6b800}
.leute{display:inline-flex;align-items:center;padding:3px 8px 3px 3px;border-radius:20px;background:var(--teal-050);min-height:34px;gap:0}
.leute .av{margin-left:-8px;border:2px solid var(--card) !important}
.leute .av:first-child{margin-left:0}
.leute .mehr-leute{font-size:11.5px;color:var(--muted);margin-left:8px;font-weight:600}
.leute:hover{background:var(--teal-100)}
.dialog.teilen{width:min(560px,94vw)}
.dialog-inhalt{padding:20px 22px}
.dialog-inhalt .kopfzeile{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.dialog-inhalt .kopfzeile h3{display:flex;align-items:center;gap:8px;flex:1}
.dialog-inhalt .close{font-size:20px;color:var(--muted);padding:2px 8px}
.mitgliederliste{margin:10px 0 14px;max-height:40vh;overflow-y:auto}
.mitglied{display:flex;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid var(--line)}
.mitglied small{display:block;color:var(--muted);font-size:11.5px}
.mitglied.offen{opacity:.75}
.einladen{display:flex;gap:8px;flex-wrap:wrap}
.einladen input{flex:1;min-width:180px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:13.5px}
.einladen select{padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:13.5px}
.card .chip{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.card .cf.chips{min-width:0}
.card .ct .titel{overflow-wrap:anywhere;word-break:break-word}
/* v0.15.0: Postfach rot, Ohne Zuweisung gelb, sobald etwas da ist. */
.nav-item .count.rot{background:var(--p-dringend);color:#fff;font-weight:700}
.nav-item .count.gelb{background:var(--p-mittel);color:#fff;font-weight:700}
.hilfe-knopf{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;background:var(--teal);color:#fff;font-size:20px;font-weight:700;box-shadow:0 6px 20px rgba(22,38,43,.28);z-index:40;display:grid;place-items:center}
.hilfe-knopf:hover{background:var(--teal-600)}
.dialog.hilfe{width:min(600px,94vw)}
.hilfe-tabs{display:inline-flex;gap:2px;background:var(--teal-050);border-radius:10px;padding:3px;margin:4px 0 14px}
.hilfe-tabs button{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;color:var(--teal-600);transition:.12s}
.hilfe-tabs button:hover{color:var(--teal)}
.hilfe-tabs button.on{background:var(--card);color:var(--teal);box-shadow:var(--shadow)}
.hilfe-tab{max-height:55vh;overflow-y:auto}
.hilfe-tab details{border-bottom:1px solid var(--line);padding:9px 2px}
.hilfe-tab summary{cursor:pointer;font-weight:600;font-size:13.5px;list-style:none;display:flex;gap:8px}
.hilfe-tab summary::before{content:"›";color:var(--teal);transition:.12s;display:inline-block}
.hilfe-tab details[open] summary::before{transform:rotate(90deg)}
.hilfe-tab details p{font-size:13px;color:var(--muted);margin:8px 0 2px 16px;line-height:1.5}
.hilfe-tab textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:13.5px;font-family:inherit;resize:vertical;margin:8px 0}
.hilfe-tab select{padding:9px 36px 9px 12px;border:1px solid var(--line);border-radius:9px;font-size:13.5px;min-height:38px}
.hilfe-tab select:focus-visible{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-100)}
.hilfe-tab textarea:focus-visible{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-100)}
.sub.klein{font-size:11px;margin:10px 0 0;text-align:right}
@media (max-width:760px){.tab .zt .griff{display:none}.tab th.th-titel{min-width:200px}}
@media (max-width:760px){.hilfe-knopf{right:calc(24px + env(safe-area-inset-right));bottom:calc(60px + env(safe-area-inset-bottom));width:42px;height:42px}}
.chip.gast{background:#fff3d6;color:#9a6a00;border-color:#f3dfa8}
[data-theme="dark"] .chip.gast{background:#3a2f12;color:#f0c66a;border-color:#5a4a1e}
label.haken{display:flex;align-items:center;gap:8px;font-size:13px;margin:8px 0 2px;color:var(--ink)}
.kanalblock{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:10px 0}
.kanalblock.bald{opacity:.75}
.kanalkopf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.kanalkopf b{font-size:13.5px}
.kanalkopf .sub{margin:0;flex-basis:100%;font-size:12.5px}
.chip.bald{background:#fff3d6;color:#9a6a00;border-color:#f3dfa8;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.4px}
.arten{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}
.arten.aus{opacity:.45}
label.haken.klein{font-size:12.5px;margin:0;gap:6px}
label.haken.klein input:not([type=checkbox]){width:auto;min-height:0}
.geraete{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.p-zwei{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:760px){.p-zwei{grid-template-columns:1fr}}
.abh{display:flex;flex-direction:column;gap:4px}
.abh-zeile{display:flex;align-items:center;gap:8px;font-size:13px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 8px}
.abh-zeile.fertig{opacity:.6}
.abh-ikon{width:20px;text-align:center;flex:none}
.abh-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.abh-txt a{color:var(--teal);font-weight:600;text-decoration:none} .abh-txt a:hover{text-decoration:underline}
.abh-weg{color:var(--muted);font-size:16px;padding:0 6px;border-radius:5px} .abh-weg:hover{background:var(--teal-100);color:var(--ink)}
.abh-suche{position:relative}
.abh-suche input{width:100%;padding:8px 10px;border:1px dashed var(--line);border-radius:8px;font-size:13px}
.abh-suche input:focus{border-style:solid;border-color:var(--teal);outline:none}
.abh-treffer{position:absolute;left:0;right:0;top:100%;z-index:5;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(22,38,43,.18);margin-top:4px;overflow:hidden}
.abh-treffer button{display:block;width:100%;text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);font-size:13px}
.abh-treffer button:last-child{border-bottom:none} .abh-treffer button:hover{background:var(--teal-050)}
.abh-treffer small{display:block;color:var(--muted);font-size:11.5px}
.abh-treffer .leer{padding:8px 10px;font-size:12.5px;color:var(--muted)}
.schloss{font-size:12px}
.card.blockiert .titel,.tab tr.row .schloss{opacity:.9}
/* Zeitleiste */
.zl-leiste{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.zl-leiste .views button{padding:5px 11px;font-size:12.5px}
.zl{display:flex;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;max-height:calc(100vh - 260px)}
.zl-links{flex:0 0 260px;border-right:1px solid var(--line);overflow:hidden;background:var(--card)}
.zl-links-kopf{height:var(--kopf);display:flex;align-items:flex-end;padding:0 12px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;border-bottom:1px solid var(--line);background:var(--bg)}
.zl-gruppe{height:36px;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:12.5px;font-weight:700;color:var(--ink);background:var(--bg);border-bottom:1px solid var(--line)}
.zl-gruppe .n{font-weight:500;color:var(--muted)}
.zl-name{height:36px;display:flex;align-items:center;padding:0 12px 0 20px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid var(--line);cursor:pointer}
.zl-name:hover{background:var(--teal-050)} .zl-name.erledigt{text-decoration:line-through;color:var(--muted)}
.zl-rechts{flex:1;overflow:auto;position:relative}
.zl-flaeche{position:relative}
.zl-kopf{position:sticky;top:0;z-index:3;background:var(--bg);border-bottom:1px solid var(--line)}
.zl-monat{position:absolute;top:4px;height:20px;font-size:12px;font-weight:700;color:var(--ink);padding-left:8px;border-left:1px solid var(--line);white-space:nowrap;overflow:hidden}
.zl-ticks{position:absolute;top:24px;left:0;right:0;height:28px}
.zl-tag{position:absolute;top:0;height:28px;font-size:10.5px;color:var(--muted);text-align:center;line-height:1.2;border-left:1px solid var(--line);white-space:nowrap;overflow:hidden}
.zl-tag.we{color:#b48a3c}
.zl-koerper{position:absolute;left:0}
.zl-we{position:absolute;top:0;bottom:0;background:rgba(127,163,165,.07)}
.zl-zeile{position:absolute;left:0;right:0;height:36px;border-bottom:1px solid var(--line)}
.zl-zeile.gruppe{background:var(--bg)}
.zl-heute{position:absolute;top:0;bottom:0;width:2px;background:var(--over);z-index:1;opacity:.7}
.zl-heute span{position:absolute;top:2px;left:4px;font-size:10px;color:var(--over);font-weight:700}
.zl-balken{position:absolute;height:24px;border-radius:7px;background:var(--teal);color:#fff;font-size:12px;display:flex;align-items:center;cursor:grab;z-index:2;box-shadow:0 2px 6px rgba(22,38,43,.18);user-select:none;touch-action:none}
.zl-balken.zieht{cursor:grabbing;opacity:.85;z-index:4}
.zl-balken .zl-text{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 4px;display:flex;align-items:center;gap:6px;pointer-events:none}
.zl-balken .prio{font-size:9.5px;padding:0 4px;background:rgba(255,255,255,.28)}
.zl-balken .griff-l,.zl-balken .griff-r{width:10px;height:100%;flex:none;cursor:ew-resize;border-radius:7px 0 0 7px;opacity:0}
.zl-balken .griff-r{border-radius:0 7px 7px 0}
.zl-balken:hover .griff-l,.zl-balken:hover .griff-r{opacity:1;background:rgba(255,255,255,.28)}
.zl-balken.punkt{background:var(--teal-600)}
.zl-balken.schmal .griff-l{display:none}
.zl-balken.schmal .griff-r{width:6px}
.zl-balken.over{background:var(--over)} .zl-balken.today{background:var(--heute)}
.zl-balken.erledigt{background:var(--muted);opacity:.6}
.zl-balken.blockiert{background:repeating-linear-gradient(135deg,var(--teal) 0 8px,rgba(255,255,255,.18) 8px 16px)}
.zl-leer{position:absolute;top:8px;font-size:11.5px;color:var(--teal-600);cursor:pointer;border:1px dashed var(--teal-100);border-radius:6px;padding:2px 8px;background:var(--card)}
.zl-leer:hover{background:var(--teal-050)}
.zl-pfeile{position:absolute;left:0;top:0;pointer-events:none;z-index:1}
.zl-pfeile path{fill:none;stroke:var(--navy);stroke-width:1.6;marker-end:url(#pf);opacity:.7}
.zl-pfeile path.fertig{stroke:var(--muted);stroke-dasharray:4 3}
.zl-pfeile marker path{fill:var(--navy);stroke:none}
[data-theme="dark"] .zl-pfeile path{stroke:#a9c0f0} [data-theme="dark"] .zl-pfeile marker path{fill:#a9c0f0}
@media (max-width:760px){.zl-links{flex-basis:150px}.zl{max-height:none}}
.anleitung{margin:8px 0 14px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--bg)}
.anleitung summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--teal-600)}
.anleitung ol{margin:10px 0 10px 18px;font-size:13px;line-height:1.5}
.anleitung li{margin-bottom:4px}
.anleitung .prompt{white-space:pre-wrap;font-size:12px;line-height:1.5;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:0 0 8px;user-select:all;font-family:ui-monospace,Menlo,monospace}
.zahnrad{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--teal-600);background:var(--teal-050);border:1px solid var(--teal-100);padding:7px 12px;border-radius:9px;min-height:36px}
.zahnrad span{font-size:16px}
.zahnrad:hover{background:var(--teal-100);color:var(--ink)}
.view-head .sub .symbol.kopf{display:inline-grid;width:22px;height:22px;border-radius:6px;place-items:center;font-size:12px;vertical-align:middle;background:var(--f,#296365);color:#fff}
.banner{background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--teal-600);border-radius:10px;padding:10px 14px;font-size:12.5px;margin-bottom:14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.banner.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--over)}
[data-theme="dark"] .banner{color:#b7d0d2}

/* ---------- Filterleiste ---------- */
.filterleiste{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.filterleiste select,.filterleiste input{padding:6px 9px;border:1px solid var(--line);border-radius:8px;font-size:12.5px;background:var(--card);min-height:32px}
.filterleiste label{font-size:11.5px;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:5px}
.filterleiste .aktiv{background:var(--teal-050);border-color:var(--teal-100)}
.filterleiste .reset{font-size:12px;color:var(--muted);text-decoration:underline;min-height:32px}

/* ---------- Zeilen ---------- */
.gruppentitel{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700;margin:18px 0 7px;display:flex;gap:8px;align-items:center}
.gruppentitel .n{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:0 7px;font-size:10.5px;font-weight:600}
div.row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-left:3px solid transparent;border-radius:10px;padding:10px 14px;margin-bottom:7px;box-shadow:var(--shadow);cursor:pointer;transition:.12s;position:relative}
div.row:hover{border-color:var(--teal-100);border-left-color:inherit}
div.row.over{border-left-color:var(--over)}
div.row.today{border-left-color:var(--heute)}
div.row.erledigt{opacity:.6}
div.row.erledigt .r-title{text-decoration:line-through}
div.row.pausiert{background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(127,163,165,.06) 10px 20px),var(--card)}
.check{width:22px;height:22px;border:2px solid #c3d0d1;border-radius:7px;flex:none;transition:.12s;display:grid;place-items:center;color:#fff;font-size:13px}
div.row:hover .check,.check:hover{border-color:var(--teal)}
.check.an{background:var(--teal);border-color:var(--teal)}
.r-title{font-weight:600;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.r-title .rec{color:var(--teal);font-size:12px}
.r-title .unter{font-weight:500;color:var(--muted);font-size:12px;margin-left:6px}
.chips{display:flex;gap:6px;align-items:center;margin-left:6px;flex-wrap:wrap}
.chip{font-size:11px;padding:2px 9px;border-radius:20px;background:var(--bg);color:var(--muted);border:1px solid var(--line);white-space:nowrap}
.chip.proj{background:var(--teal-050);color:var(--teal-600);border-color:var(--teal-100)}
.chip.feld{background:#eef3ff;color:#2c4c8f;border-color:#d6e0f7}
[data-theme="dark"] .chip.feld{background:#1c2a44;color:#a9c0f0;border-color:#2e4470}
.pill{font-size:11px;padding:2px 9px;border-radius:20px;font-weight:600;color:#fff}
.prio{font-size:10.5px;font-weight:800;padding:1px 6px;border-radius:5px;color:#fff;letter-spacing:.3px;flex:none}
.prio.p1{background:var(--p-dringend)} .prio.p2{background:var(--p-hoch)} .prio.p3{background:var(--p-mittel)} .prio.p4{background:var(--p-niedrig)}
.r-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}
.due{font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap}
.due.over{color:var(--over);font-weight:700}
.due.today{color:var(--heute);font-weight:700}
.mehr{font-size:16px;color:var(--muted);padding:2px 8px;border-radius:6px;line-height:1;min-width:32px;min-height:30px}
.mehr:hover{background:var(--teal-050);color:var(--ink)}
.griff{cursor:grab;opacity:0;transition:.12s;flex:none;letter-spacing:-2px;font-size:13px;line-height:1;padding:2px 3px;border-radius:4px;user-select:none;color:var(--muted)}
.griff:active{cursor:grabbing}
div.row:hover .griff,.card:hover .griff,.venture:hover .griff{opacity:.5}
.griff:hover{opacity:1 !important;background:rgba(127,163,165,.18)}
.venture .griff{color:var(--side-muted)}
div.row.zieht,.card.zieht{opacity:.4}
div.row.ziel-oben{box-shadow:0 -3px 0 var(--teal)}
.card.ziel-oben{box-shadow:0 -3px 0 var(--teal)}

/* Schnellanlage */
.schnell{display:flex;align-items:center;gap:8px;padding:6px 10px;margin:4px 0 10px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:13px}
.schnell input{flex:1;border:none;background:transparent;padding:6px 4px;font-size:13px;outline:none;min-width:0}
.schnell:focus-within{border-color:var(--teal);background:var(--card)}

/* ---------- Register in der Liste ---------- */
.registerblock{margin-bottom:18px}
.registerblock > .kopfzeile{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.5px;padding:8px 2px 8px 10px;border-left:3px solid var(--teal-100);margin-bottom:6px;border-radius:0 8px 8px 0;transition:.12s}
.registerblock > .kopfzeile .n{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:0 7px;font-size:10.5px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--muted)}
.registerblock > .kopfzeile .mehr{margin-left:auto}
.registerblock.ziel > .kopfzeile{background:var(--teal-050);border-left-color:var(--teal)}
.registerblock.ziel .ablage{background:var(--teal-050);outline:1px dashed var(--teal);border-radius:10px}
.ablage{min-height:8px;border-radius:10px;transition:.12s}
.leerfach{font-size:12px;color:var(--muted);font-style:italic;padding:7px 12px}

/* ---------- Board ---------- */
.board{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x proximity}
.col{background:var(--teal-050);border-radius:12px;padding:10px;min-width:280px;width:280px;flex:none;scroll-snap-align:start}
[data-theme="dark"] .col{background:#1e2c32}
.col h3{font-size:13.5px;font-weight:700;color:var(--navy);padding:6px 6px 12px;display:flex;align-items:center;gap:8px}
.col h3 .n{color:var(--muted);font-weight:600}
.col h3 .mehr{margin-left:auto}
.col.ziel{outline:2px dashed var(--teal);outline-offset:-3px}
.col .platzhalter{font-size:12px;color:var(--muted);font-style:italic;padding:10px 8px;text-align:center}
.col.neu{background:transparent;border:1px dashed var(--line);cursor:pointer;display:grid;place-items:center;min-width:150px;width:150px}
.col.neu:hover{border-color:var(--teal);background:var(--teal-050)}
.col.neu .platzhalter{color:var(--teal-600);font-style:normal;font-weight:600}
.card{background:var(--card);border:1px solid var(--line);border-left:3px solid transparent;border-radius:10px;padding:12px 12px 12px 12px;margin-bottom:10px;box-shadow:var(--shadow);cursor:pointer;transition:.12s;position:relative;user-select:none}
.card.zieht{cursor:grabbing}
.check{cursor:pointer}
.card:hover{border-color:var(--teal-100);box-shadow:0 3px 10px rgba(22,38,43,.08)}
.card.over{border-left-color:var(--over)} .card.today{border-left-color:var(--heute)}
.card.erledigt{opacity:.6} .card.erledigt .titel{text-decoration:line-through}
.card.pausiert{background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(127,163,165,.06) 10px 20px),var(--card)}
.card .ct{font-weight:600;font-size:13.5px;line-height:1.35;margin-bottom:10px;color:var(--ink);display:flex;gap:9px;align-items:flex-start;overflow-wrap:anywhere}
.card .ct .titel{flex:1;min-width:0;padding-top:1px}
.card .ct .rec{color:var(--teal);font-size:12px}
.card .ct .mehr{margin-left:auto;opacity:0;margin-top:-4px;margin-right:-4px}
.card:hover .ct .mehr,.card:focus-within .ct .mehr{opacity:1}
.card .check.rund{border-radius:50%;width:20px;height:20px;margin-top:1px;font-size:11px}
.card .cf .due{font-weight:600}
.card .cf .due:empty{display:none}
.card .cf-rechts{margin-left:auto;display:flex;gap:6px;align-items:center}
.card .cf.chips{margin:8px 0 0;gap:5px}
.card .cf{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* ---------- Tabelle (ohne Projekt) ---------- */
.tab-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.tab{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;min-width:640px}
.tab th{position:sticky;top:0;z-index:2;background:var(--bg);font-size:12.5px;color:var(--muted);padding:11px 12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;user-select:none;font-weight:500}
.tab th:last-child{border-right:none}
.tab th.sortierbar{cursor:pointer} .tab th.sortierbar:hover{color:var(--ink)} .tab th.on{color:var(--teal)}
.tab th .pfeil{font-size:9px;margin-left:4px}
.tab th[data-spalte]{cursor:grab}
.tab th.th-titel,.tab td.z-titel{width:100%;max-width:0;min-width:240px}
.tab th[data-spalte],.tab td:not(.z-titel){white-space:nowrap}
.tab th.th-plus{width:44px;text-align:center;padding:6px}
.tab th.ziel-links{box-shadow:inset 3px 0 0 var(--teal)}
.tab .plus{font-size:16px;color:var(--muted);width:28px;height:28px;border-radius:6px;line-height:1} .tab .plus:hover{background:var(--teal-050);color:var(--teal)}
.tab td{padding:8px 12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:13px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .12s;max-width:260px}
.tab td:last-child,.tab tr.gruppe td,.tab tr.schnell-zeile td,.tab tr.leerzeile td{border-right:none}
.tab tr.row{cursor:pointer}
.tab tr.row:hover td{background:var(--teal-050)}
.tab tr.row td:first-child{border-left:3px solid transparent}
.tab tr.row.over td:first-child{border-left-color:var(--over)} .tab tr.row.today td:first-child{border-left-color:var(--heute)}
.tab tr.row.erledigt td{opacity:.6} .tab tr.row.erledigt .titel{text-decoration:line-through}
.tab tr.row.pausiert td{background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(127,163,165,.06) 10px 20px)}
.tab .zt{display:flex;align-items:center;gap:8px;min-width:0}
.tab .zt .titel{font-weight:500;font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.tab .zt .rec{color:var(--teal);font-size:12px}
.komm-blase{flex:none;border:0;background:none;color:var(--muted);font:inherit;font-size:12px;padding:0 4px;cursor:pointer;border-radius:6px;white-space:nowrap}
.komm-blase:hover{color:var(--text);background:var(--bg)}
.tab .zt .unter{font-size:11px;color:var(--muted);flex:none;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:0 6px}
.tab .zt .chip.proj{flex:0 1 auto;min-width:0;max-width:40%}
.tab .zt .stift{opacity:0;font-size:13px;color:var(--muted);padding:2px 6px;border-radius:5px;flex:none;line-height:1}
.tab tr.row:hover .stift{opacity:.6} .tab tr.row:hover .check{border-color:var(--teal)} .tab .stift:hover{opacity:1 !important;background:var(--teal-100)}
.tab .zt .griff{margin-left:-6px;opacity:0}
.tab tr.row:hover .zt .griff{opacity:.5}
.tab .zt .check{width:20px;height:20px;border-radius:50%;font-size:11px}
.tab tr.gruppe td{padding:22px 8px 6px;background:var(--card);border-bottom:none}
.tab tbody:first-of-type tr.gruppe td{padding-top:10px}
.tab .gz{display:flex;align-items:center;gap:6px}
.tab .gz .auf{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--ink);padding:4px 8px;border-radius:6px;letter-spacing:0}
.tab .gz .auf:hover{background:var(--teal-050)}
.tab .gz .pfeil{display:inline-block;transition:.12s;color:var(--muted);font-size:13px;width:14px;text-align:center}
.tab .gz .auf:hover .pfeil{color:var(--ink)}
.tab tbody.zu .gz .pfeil{transform:rotate(-90deg)}
.tab tbody.zu tr:not(.gruppe){display:none}
.tab .gz .n{font-size:13px;font-weight:500;color:var(--muted)}
.tab .gz .mehr{margin-left:auto}
.tab tr.schnell-zeile td{padding:0;border-bottom:1px solid var(--line)}
.tab tr.schnell-zeile .schnell{margin:0;border:none;border-radius:0;padding:8px 12px 8px 46px;font-size:13.5px;background:transparent;color:var(--muted);gap:10px;min-height:40px}
.tab tr.schnell-zeile .schnell:hover,.tab tr.schnell-zeile .schnell:focus-within{background:var(--teal-050)}
.tab tr.schnell-zeile .schnell > span{color:var(--muted);font-size:15px;line-height:1}
.tab tr.schnell-zeile .schnell input{font-size:13.5px;padding:4px 0} .tab tr.schnell-zeile .schnell input::placeholder{color:var(--muted);opacity:.9}
.tab tr.leerzeile td{font-size:12px;color:var(--muted);font-style:italic;padding:8px 16px}
.tab .zelle{cursor:pointer} .tab .zelle:hover{box-shadow:inset 0 0 0 1px var(--teal-100)}
.tab .leerwert{color:var(--muted)}
.tab .zelle-datum{padding:3px 6px;border:1px solid var(--teal);border-radius:6px;font-size:12.5px;max-width:100%}
.tab .zelle-titel{flex:1;min-width:0;padding:3px 6px;border:1px solid var(--teal);border-radius:6px;font-size:13px;font-weight:600}
.tab td .chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:middle}
.tab td .av{display:inline-grid;vertical-align:middle;margin-right:-6px;border:2px solid var(--card) !important}
.tab tbody.ziel tr.gruppe td{background:var(--teal-050)}
.tab tr.row.ziel-oben td{box-shadow:inset 0 3px 0 var(--teal)}
.tab tr.zieht td{opacity:.4}
[data-theme="dark"] .tab th{background:var(--bg)}
tbody tr:hover td{background:var(--bg);cursor:pointer}

/* ---------- Detailfenster ---------- */
.scrim{position:fixed;inset:0;background:rgba(22,38,43,.35);opacity:0;pointer-events:none;transition:.2s;z-index:20}
.scrim.on{opacity:1;pointer-events:auto}
.panel{position:fixed;top:0;right:0;height:100dvh;width:480px;max-width:94vw;background:var(--card);box-shadow:-8px 0 40px rgba(22,38,43,.18);transform:translateX(100%);transition:.25s cubic-bezier(.4,0,.2,1);z-index:21;overflow-y:auto}
.panel.on{transform:translateX(0)}
.p-head{padding:18px 22px 12px;border-bottom:1px solid var(--line);display:flex;gap:8px;align-items:flex-start}
.p-head .close{margin-left:auto;font-size:20px;color:var(--muted);line-height:1;padding:2px 6px;min-width:32px}
.p-title{font-size:17px;color:var(--navy);font-weight:600;line-height:1.35;flex:1;padding:4px 6px;border-radius:8px;cursor:text;overflow-wrap:anywhere}
.p-title:hover{background:var(--bg)}
.p-title-edit{font-size:17px;font-weight:600;width:100%;padding:4px 6px;border:1px solid var(--teal);border-radius:8px;line-height:1.35}
.p-body{padding:16px 22px 28px}
.p-field{margin-top:14px}
.p-field label,.p-field .lbl{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;margin-bottom:6px}
.p-field small{display:block;margin-top:5px;font-size:11.5px;color:var(--muted);line-height:1.4}
.p-field select,.p-field input,.p-field textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:13.5px}
.p-field textarea{resize:vertical;min-height:70px}
.p-zwei{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.p-desc{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:13px;color:var(--ink);cursor:text;min-height:44px}
.p-desc:hover{border-color:var(--teal-100)}
.p-desc p{margin:0 0 8px} .p-desc p:last-child{margin:0}
.p-desc ul{margin:0 0 8px 18px} .p-desc a{color:var(--teal);text-decoration:underline}
.p-desc .leer{color:var(--muted);font-style:italic}
.schnellwahl{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.schnellwahl button{font-size:11.5px;padding:4px 9px;border-radius:7px;background:var(--bg);border:1px solid var(--line);color:var(--ink);min-height:28px}
.schnellwahl button:hover{border-color:var(--teal)}
.pers,.mehrprojekt{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.pers .p,.mehrprojekt .p{display:flex;align-items:center;gap:6px;background:var(--teal-050);color:var(--teal-600);border:1px solid var(--teal-100);border-radius:20px;padding:3px 6px 3px 9px;font-size:12px;font-weight:600}
.pers .p button,.mehrprojekt .p button{font-size:14px;line-height:1;color:inherit;opacity:.6;padding:0 4px;min-width:22px}
.pers .p button:hover,.mehrprojekt .p button:hover{opacity:1}
.mehrprojekt .haupt{background:var(--teal);color:#fff;border-color:var(--teal)}
.pers .leer{color:var(--muted);font-size:12.5px}
.unter{margin-top:6px}
.unter .u{display:flex;align-items:center;gap:9px;padding:6px 4px;border-bottom:1px solid var(--line);font-size:13px}
.unter .u .check{width:18px;height:18px;border-radius:5px;font-size:11px}
.unter .u .t{flex:1;cursor:pointer;overflow-wrap:anywhere}
.unter .u.erledigt .t{text-decoration:line-through;color:var(--muted)}
.komm{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}
.komm h4{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:10px}
.komm-eintrag{border-left:2px solid var(--teal-100);padding:2px 0 2px 10px;margin-bottom:12px;position:relative}
.komm-eintrag .wer{font-size:12px;font-weight:700}
.komm-eintrag .wann{font-size:11px;color:var(--muted);font-weight:400;margin-left:6px}
.komm-eintrag .txt{font-size:13px;white-space:pre-wrap;margin-top:3px;word-break:break-word}
.komm-eintrag .mention{background:var(--teal-050);color:var(--teal-600);border-radius:4px;padding:0 3px;font-weight:600}
.komm-eintrag .komm-aktionen{position:absolute;right:0;top:0;display:flex;gap:2px}
.komm-eintrag .weg{font-size:12px;color:var(--muted);opacity:0;padding:2px 6px}
.komm-eintrag .bearbeitet{font-size:11px;color:var(--muted);margin-left:6px;font-style:italic}
.komm-edit{margin-top:4px}
.komm-edit textarea{width:100%;font:inherit;font-size:13px;min-height:60px}
.komm-edit-k{display:flex;align-items:center;gap:8px;margin-top:6px}
.komm-edit-k small{color:var(--muted);margin-right:auto}
.komm-eintrag:hover .weg{opacity:1}
.komm-neu textarea{width:100%;min-height:64px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:13px;resize:vertical}
.komm-neu .hilfe{font-size:11.5px;color:var(--muted);margin:5px 0 8px}
.p-aktionen{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}

/* ---------- Dialog, Menue, Meldungen ---------- */
.dialog{margin:auto;border:none;border-radius:16px;padding:0;overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,.3);width:min(440px,92vw);background:var(--card);color:var(--ink)}
.dialog::backdrop{background:rgba(22,38,43,.45)}
.dialog form{padding:20px 22px}
.dialog h3{font-size:16px;margin-bottom:6px}
.dialog .sub{color:var(--muted);font-size:13px;margin-bottom:12px;white-space:pre-wrap}
.dialog input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:14px;margin-bottom:14px}
.dialog input.versteckt{display:none}
/* Haken und Einladen-Zeile nicht von der Vollbreite oben mitreissen lassen. */
.dialog input[type=checkbox]{width:18px;height:18px;padding:0;margin:0;border-width:2px;border-radius:5px;flex:none}
.dialog .einladen{align-items:stretch;padding:0;margin-top:6px}
.dialog .einladen input{margin:0;width:auto}
.dialog-knoepfe{display:flex;gap:8px;justify-content:flex-end}
.menue{position:fixed;z-index:60;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.2);padding:6px;min-width:200px;max-height:70vh;overflow-y:auto}
.menue button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:7px;font-size:13px;min-height:36px}
.menue button:hover{background:var(--teal-050)}
.menue button.gefahr{color:var(--over)}
.menue .trenner{border-top:1px solid var(--line);margin:4px 0}
.menue .kopf{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:6px 12px 2px;font-weight:700}
#meldungen{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom));z-index:99;display:flex;flex-direction:column;gap:8px;width:min(520px,calc(100vw - 32px))}
.meldung{padding:12px 14px 12px 12px;border-radius:12px;font-size:13.5px;box-shadow:0 10px 30px rgba(22,38,43,.22);line-height:1.45;background:var(--card);border:1px solid var(--line);color:var(--ink);display:flex;gap:12px;align-items:center;animation:meldung-auf .18s ease-out}
@keyframes meldung-auf{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.meldung .sym{width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800;flex:none}
.meldung.warn .sym{background:var(--over)}
.meldung .txt{flex:1;min-width:0}
.meldung .undo{background:var(--teal-050);color:var(--teal);border:1px solid var(--teal-100);border-radius:8px;padding:7px 12px;font-weight:700;font-size:12.5px;white-space:nowrap;min-height:34px}
.meldung .undo:hover{background:var(--teal-100)}
.meldung .zu{color:var(--muted);font-size:18px;line-height:1;padding:2px 6px;border-radius:6px} .meldung .zu:hover{background:var(--bg)}
@media (max-width:760px){#meldungen{bottom:calc(76px + env(safe-area-inset-bottom))}}

/* ---------- Anmeldung ---------- */
.login{position:fixed;inset:0;background:#16262b;display:none;place-items:center;z-index:200;padding:20px}
.login.on{display:grid}
.login-box{background:var(--card);border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.35);padding:28px 26px;width:100%;max-width:360px}
.login-box .brand{padding:0 0 18px;gap:12px}
.login-box .brand h1{color:var(--ink)} .login-box .brand small{color:var(--muted)}
.login-box h2{font-size:17px;margin-bottom:4px}
.login-box p.sub{color:var(--muted);font-size:12.5px;margin-bottom:18px}
.login-box label{display:block;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin:0 0 5px}
.login-box input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;margin-bottom:14px}
.login-box button{width:100%;padding:11px;border-radius:9px;background:var(--teal);color:#fff;font-weight:700;font-size:14px}
.login-box button:disabled{opacity:.6}
.login-fehler{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:9px;padding:9px 11px;font-size:12.5px;margin-bottom:14px;display:none}
.login-fehler.on{display:block}

/* ---------- Postfach, Einstellungen, Verwaltung ---------- */
.reiter{display:inline-flex;gap:2px;background:var(--teal-050);border-radius:10px;padding:3px;margin:0 0 14px}
.reiter button{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;color:var(--teal-600);display:inline-flex;align-items:center;gap:7px}
.reiter button.on{background:var(--card);color:var(--teal);box-shadow:var(--shadow)}
.reiter .n{font-size:10.5px;background:var(--p-mittel);color:#fff;border-radius:20px;padding:0 6px;font-weight:700}
.post-tag{font-size:12px;font-weight:700;color:var(--muted);margin:18px 0 8px 4px;text-transform:uppercase;letter-spacing:.5px}
.post-tag:first-of-type{margin-top:4px}
.post{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px 14px;margin-bottom:10px;box-shadow:var(--shadow);position:relative;transition:.12s}
.post:hover{border-color:var(--teal-100)}
.post:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.post .kopf{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink);margin-bottom:8px;min-height:30px}
.post .kopf .ikon{width:26px;height:26px;border-radius:8px;background:var(--teal-050);color:var(--teal-600);display:grid;place-items:center;font-size:13px;flex:none}
.post.art-digest .kopf .ikon{background:#fff3d6;color:#9a6a00}
.post.art-erwaehnt .kopf .ikon,.post.art-kommentar .kopf .ikon{background:#eef3ff;color:#2c4c8f}
.post .kopf .zeit{font-size:11.5px;color:var(--muted)}
.post .kopf .rechts{margin-left:auto;display:flex;gap:4px;align-items:center;opacity:.35;transition:.12s}
.post:hover .kopf .rechts,.post:focus-within .kopf .rechts{opacity:1}
.post .ikon-knopf{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font-size:14px;color:var(--muted)}
.post .ikon-knopf:hover{background:var(--teal-050);color:var(--ink)}
.post .txt{font-size:13.5px;white-space:pre-wrap;line-height:1.5;color:var(--ink)}
.post .txt a{color:var(--teal-600);text-decoration:underline;overflow-wrap:anywhere}
.dg-abschnitt{margin-top:10px}
.dg-abschnitt h4{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px 2px;display:flex;align-items:center;gap:8px}
.dg-abschnitt h4 .n{font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}
.dg-zeile{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line);border-bottom:none;background:var(--bg)}
.dg-zeile:first-of-type{border-radius:8px 8px 0 0}
.dg-zeile:last-of-type{border-bottom:1px solid var(--line);border-radius:0 0 8px 8px}
.dg-zeile:first-of-type:last-of-type{border-radius:8px}
.dg-zeile:hover{background:var(--teal-050)}
.dg-zeile .check{width:20px;height:20px;border-radius:50%;font-size:11px;flex:none}
.dg-zeile .dg-titel{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:13.5px;cursor:pointer}
.dg-zeile .dg-titel:hover{text-decoration:underline}
.dg-zeile.weg .dg-titel{text-decoration:line-through;color:var(--muted)}
.dg-zeile .chip{max-width:180px;overflow:hidden;text-overflow:ellipsis}
.dg-zeile .due{flex:none}
.dg-mehr{font-size:12.5px;color:var(--teal-600);font-weight:600;padding:6px 10px;margin-top:2px;border-radius:6px}
.dg-mehr:hover{background:var(--teal-050)}
[data-theme="dark"] .post.art-digest .kopf .ikon{background:#3a2f12;color:#f0c66a}
[data-theme="dark"] .post.art-erwaehnt .kopf .ikon,[data-theme="dark"] .post.art-kommentar .kopf .ikon{background:#1c2a44;color:#a9c0f0}
@media (max-width:760px){.dg-zeile .chip{display:none}}
.karte{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:12px;box-shadow:var(--shadow);max-width:640px}
.karte.breit{max-width:none}
.karte h3{font-size:14px;margin-bottom:4px}
.karte p.sub{color:var(--muted);font-size:12.5px;margin-bottom:12px}
.karte .reihe{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.karte .reihe > div{display:flex;flex-direction:column;gap:4px;flex:0 1 280px;min-width:0}
.karte .reihe > div > input,.karte .reihe > div > select{width:100%}
.karte .reihe label.klein{font-size:11.5px;color:var(--muted)}
.karte .reihe > button,.karte .reihe > .btn-new,.karte .reihe > .btn-flach{flex:none;min-width:112px}
.karte .reihe > label{display:flex;align-items:center;gap:7px;font-size:12.5px;min-height:38px;padding:0 4px}
.karte input:not([type=checkbox]):not([type=file]),.karte select{padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:13.5px;min-height:38px;background:var(--card);color:var(--ink)}
.karte input:not([type=checkbox]):focus-visible,.karte select:focus-visible,.karte textarea:focus-visible{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-100)}
.karte table{box-shadow:none;border:1px solid var(--line)}
.karte td{padding:8px 10px}
.bildfeld{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.bildfeld .vorschau{width:64px;height:64px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:700;font-size:20px;overflow:hidden;flex:none}
.bildfeld .vorschau img{width:100%;height:100%;object-fit:cover}
.sortleiste{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.sortleiste label{font-size:11.5px;color:var(--muted);font-weight:600}
.sortleiste select{padding:6px 9px;border:1px solid var(--line);border-radius:8px;font-size:12.5px;background:var(--card);min-height:32px}
.korb-eintrag{display:flex;gap:10px;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:6px;background:var(--card);font-size:13px}
.korb-eintrag .wann{color:var(--muted);font-size:11.5px;margin-left:auto;white-space:nowrap}

/* ---------- Mobil ---------- */
.burger{display:none;font-size:20px;padding:4px 10px;border-radius:8px;line-height:1;min-height:36px}
.burger:hover{background:var(--teal-050)}
.seiten-schatten{position:fixed;inset:0;background:rgba(13,26,31,.5);z-index:110;opacity:0;pointer-events:none;transition:opacity .18s ease}
@media (max-width: 860px){
  .app{grid-template-columns:1fr}
  .sidebar{position:fixed;inset:0 auto 0 0;width:274px;z-index:120;transform:translateX(-100%);transition:transform .18s ease;box-shadow:0 0 40px rgba(0,0,0,.4)}
  .sidebar.auf{transform:translateX(0)}
  .seiten-schatten.auf{opacity:1;pointer-events:auto}
  .burger{display:block}
  .topbar{gap:8px;flex-wrap:wrap;padding:10px 12px}
  /* iPhone mit Notch (viewport-fit=cover): nichts unter die Statusleiste schieben (Feedback 488). */
  .topbar{padding-top:calc(10px + env(safe-area-inset-top));padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}
  .side-scroll{padding-top:calc(16px + env(safe-area-inset-top))}
  .side-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .panel .p-top{padding-top:calc(10px + env(safe-area-inset-top))}
  .suche{order:5;flex:1 1 100%;max-width:none}
  .content{padding:12px}
  .panel{width:100%;max-width:none}
  .p-zwei{grid-template-columns:1fr}
  .row{flex-wrap:wrap;row-gap:8px;padding:12px 12px}
  .r-title{flex:1 1 60%;order:2;min-width:0}
  .check,.prio{order:1}
  .chips{order:3;margin-left:0;flex:1 1 auto}
  .r-right{order:4;margin-left:auto;gap:8px;flex-wrap:wrap;justify-content:flex-end}
  .content table{display:block;overflow-x:auto}
  html,body{overflow-x:hidden}
  .views button{padding:9px 12px}
  /* Ziehen gibt es im Browser nur mit Maus. Am Handy: das ⋯-Menue "Verschieben nach…". */
  .griff{display:none}
  .card .ct .mehr,.col h3 .mehr,.registerblock > .kopfzeile .mehr{opacity:1}
  .komm-eintrag .weg{opacity:1}
  .board{scroll-snap-type:x mandatory;gap:10px}
  .col{min-width:85vw;width:85vw}
  /* iOS zoomt bei Feldern unter 16px hinein. */
  .p-field input,.p-field select,.p-field textarea,.komm-neu textarea,.karte input,.karte select,
  .login-box input,.suche input,.schnell input,.dialog input,.filterleiste select{font-size:16px}
}
@media print{ .sidebar,.topbar,#meldungen{display:none} .app{grid-template-columns:1fr} }

/* ---------------------------------------------- Detailfenster (Asana-nah) */
.panel{display:flex;flex-direction:column}
.p-top{position:sticky;top:0;z-index:3;background:var(--card);display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line)}
.p-erl{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font-size:13px;font-weight:600;min-height:36px}
.p-erl:hover{border-color:var(--teal);color:var(--teal)}
.p-erl.ist{background:var(--teal-050);border-color:var(--teal-100);color:var(--teal-600)}
.p-top-r{margin-left:auto;display:flex;align-items:center;gap:2px}
.p-leute{display:flex;gap:-4px;margin-right:6px}
.p-leute .av{margin-left:-6px;border:2px solid var(--card) !important}
.p-leute > span:first-child .av{margin-left:0}
.p-ikon{width:34px;height:34px;border-radius:8px;color:var(--muted);font-size:16px;display:grid;place-items:center;line-height:1}
.p-ikon:hover{background:var(--bg);color:var(--ink)}
.p-privat{display:flex;gap:8px;align-items:center;padding:9px 16px;background:var(--bg);border-bottom:1px solid var(--line);font-size:13px;color:var(--ink)}
.panel .p-body{flex:1;padding:18px 22px 24px}
.panel .p-body > .p-title{font-size:23px;line-height:1.3;padding:4px 6px;margin:0 -6px 14px;display:block}
.p-felder{display:flex;flex-direction:column}
.p-zeile{display:grid;grid-template-columns:128px 1fr;gap:10px;align-items:start;padding:7px 0}
.p-zeile .lbl{font-size:13px;color:var(--ink);padding-top:8px;line-height:1.3}
.p-zeile .wert{min-width:0}
.p-zeile .wert select,.p-zeile .wert input:not([type=checkbox]){width:100%;max-width:300px;padding:7px 10px;border:1px solid transparent;border-radius:8px;font-size:13.5px;background:transparent}
.p-zeile .wert select:hover,.p-zeile .wert input:not([type=checkbox]):hover{border-color:var(--line)}
.p-zeile .wert select:focus,.p-zeile .wert input:focus{border-color:var(--teal);background:var(--card)}
.p-zeile .wert input.rot{color:#d64545;font-weight:600}
.p-zeile .wert small{display:block;margin-top:4px;font-size:11.5px;color:var(--muted)}
.mit-weg{display:flex;align-items:center;gap:4px}
.p-x{width:28px;height:28px;border-radius:50%;color:var(--muted);font-size:13px;display:grid;place-items:center}
.p-x:hover{background:var(--bg);color:var(--ink)}
.p-wdh{padding:7px 10px;border:1px solid transparent;border-radius:8px;font-size:13.5px;color:var(--muted);text-align:left}
.p-wdh:hover{border-color:var(--line);color:var(--ink)}
.p-zeile .abh .abh-suche input{max-width:300px}
.p-abschnitt{margin-top:22px;border-top:1px solid var(--line);padding-top:14px;margin-bottom:8px}
.p-abschnitt h4{font-size:15px;font-weight:700;color:var(--navy);margin:0;display:flex;align-items:center;gap:8px}
.p-abschnitt .zahl{font-size:12px;font-weight:600;color:var(--muted)}
.p-schmal{max-width:300px;width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px}
.p-herkunft{margin-top:20px;font-size:11.5px;color:var(--muted)}
.panel .komm{margin-top:0}
.p-foot{position:sticky;bottom:0;z-index:3;background:var(--card);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;gap:8px;align-items:flex-end}
.p-foot textarea{flex:1;min-height:44px;max-height:160px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;font-size:13.5px;resize:vertical;background:var(--feld,var(--card));color:var(--ink)}
.p-foot textarea:focus{border-color:var(--teal);outline:none}
.p-foot .btn-new{width:40px;height:40px;border-radius:10px;padding:0;font-size:18px;display:grid;place-items:center;flex:none}
.reakt{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.rk{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;min-height:26px;border-radius:14px;border:1px solid var(--line);background:var(--card);font-size:12.5px;color:var(--ink)}
.rk:hover{border-color:var(--teal)}
.rk.ich{background:var(--teal-050);border-color:var(--teal-100);color:var(--teal-600);font-weight:600}
.rk.plus{color:var(--muted);opacity:0;transition:opacity .12s}
.komm-eintrag:hover .rk.plus,.rk.plus:focus-visible{opacity:1}
@media (hover:none){.rk.plus{opacity:1}}
.dialog .wdh label.klein{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px}
.dialog .wdh select{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:14px;background:var(--card);color:var(--ink)}
.wdh-zeile{display:flex;align-items:center;gap:8px;margin-top:10px}
.dialog .wdh-zeile input{width:76px;margin:0}
.wdh-tage{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.wdh-tage button{width:40px;height:36px;border-radius:9px;border:1px solid var(--line);background:var(--card);font-size:13px;font-weight:600;color:var(--ink)}
.wdh-tage button.on{background:var(--teal);border-color:var(--teal);color:#fff}
.wdh-tage button:disabled{opacity:.4}
.dialog .wdh label.haken{margin-top:10px}
.wdh-vorschau{margin:14px 0 4px}
@media (max-width:760px){
  .p-zeile{grid-template-columns:1fr;gap:0;padding:6px 0}
  .p-zeile .lbl{padding-top:0;font-size:12px;color:var(--muted)}
  .p-zeile .wert select,.p-zeile .wert input:not([type=checkbox]){max-width:none;border-color:var(--line)}
  .panel .p-body{padding:14px 16px 20px}
}
/* Das Eingabefeld unten im Detailfenster hat Vorrang vor dem Hilfe-Knopf. */
.panel.on ~ .hilfe-knopf{display:none}
/* Lange Woerter und Links (z. B. Asana-URLs) sprengen keine Box mehr:
   Fliesstext in Beschreibung, Kommentaren, Postfach, Dialogen und Karten bricht um. */
.p-desc,.p-desc *,.komm-eintrag .txt,.komm-eintrag .txt *,.post,.post .txt,.post .txt *,
.dialog-inhalt,.karte,.nav-item,.p-body,.unter .u .t{overflow-wrap:anywhere;word-break:break-word;min-width:0}
.p-desc a,.komm-eintrag .txt a,.post .txt a{word-break:break-all}
.panel{overflow-x:hidden}
.p-body,.p-desc,.komm-eintrag{max-width:100%}

/* ---------------------------------------------------- Kennungen (v0.9.0) */
.kennung{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted)}
.p-kennung{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:3px 7px;background:var(--card)}
.p-kennung:hover{color:var(--text);border-color:var(--teal)}

/* ---------------------------------------------------- Belohnungen (v0.8.0) */
.check.haken-jetzt,.p-erl.haken-jetzt{animation:tm-puls .32s ease-out}
.check.haken-jetzt{background:var(--teal);border-color:var(--teal)}
.check.haken-jetzt::after{content:"✓";color:#fff;font-size:12px}
.p-erl.haken-jetzt{background:var(--teal);border-color:var(--teal);color:#fff}
@keyframes tm-puls{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.tm-konfetti{position:fixed;inset:0;width:100vw;height:100dvh;pointer-events:none;z-index:301}
.tm-buehne{position:fixed;inset:0;pointer-events:none;z-index:300;overflow:hidden}
.ton-knopf{position:fixed;top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));z-index:302;
  background:#192b2f;color:#fff;border-radius:20px;padding:8px 14px;font-size:13px;font-weight:600;box-shadow:0 4px 14px rgba(0,0,0,.25);
  opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .25s,transform .25s}
.ton-knopf.zeigen{opacity:1;transform:none;pointer-events:auto}
[data-theme="dark"] .ton-knopf{background:#e7f0f0;color:#192b2f}
.tm-figur{position:absolute;bottom:calc(40px + env(safe-area-inset-bottom));left:50%;width:180px;height:180px;margin-left:-90px}
.tm-figur svg{width:100%;height:100%;overflow:visible}
[data-theme="dark"] .tm-figur svg{filter:drop-shadow(0 0 3px rgba(231,240,240,.55))}
.tm-figur.auftritt{animation:tm-rein .35s cubic-bezier(.2,1.4,.4,1) both}
.tm-figur.abgang{animation:tm-raus .3s ease-in both}
@keyframes tm-rein{from{transform:translateY(240px)}to{transform:none}}
@keyframes tm-raus{to{transform:translateY(260px);opacity:0}}
.tm-figur .tick-koerper{animation:tm-hops .5s ease-in-out infinite;transform-origin:50% 100%}
@keyframes tm-hops{0%,100%{transform:translateY(0) scale(1.05,.95)}50%{transform:translateY(-34px) scale(.96,1.04)}}
.tm-figur .tick-arm-l{animation:tm-arm-l .5s ease-in-out infinite;transform-origin:42px 96px}
.tm-figur .tick-arm-r{animation:tm-arm-r .5s ease-in-out infinite;transform-origin:138px 96px}
@keyframes tm-arm-l{0%,100%{transform:rotate(20deg)}50%{transform:rotate(-50deg)}}
@keyframes tm-arm-r{0%,100%{transform:rotate(-20deg)}50%{transform:rotate(50deg)}}
.tm-figur .klammer{animation:tm-boing .55s cubic-bezier(.3,0,.3,1) infinite;transform-origin:50% 100%}
@keyframes tm-boing{0%,100%{transform:translateY(0) scale(1.15,.85)}35%{transform:translateY(-50px) scale(.9,1.1) rotate(-6deg)}65%{transform:translateY(-50px) scale(.9,1.1) rotate(6deg)}}
.tm-figur .bot{animation:tm-wackel .3s ease-in-out infinite;transform-origin:50% 100%}
@keyframes tm-wackel{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
.tm-figur .bot-licht{animation:tm-blink .18s steps(2) infinite}
@keyframes tm-blink{50%{fill:#ffd166}}
.tm-figur .bot-auge{animation:tm-schau 1s ease-in-out infinite}
@keyframes tm-schau{0%,100%{transform:translateX(-6px)}50%{transform:translateX(6px)}}
.tm-figur .taenzer{animation:tm-gleit 2.2s ease-in-out both;transform-origin:90px 170px}
@keyframes tm-gleit{0%{transform:translateX(90px)}45%{transform:translateX(-70px)}60%{transform:translateX(-70px) scaleX(-1)}70%{transform:translateX(-70px) scaleX(1)}80%{transform:translateX(-70px) scaleX(-1)}90%,100%{transform:translateX(-70px) scaleX(1) translateY(-10px)}}
.tm-figur .taenzer-bein{animation:tm-schritt .25s steps(2) infinite}
@keyframes tm-schritt{50%{transform:translateX(4px)}}
.mot-figuren{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px}
.mot-figur{display:inline-flex;align-items:center;gap:8px}
@media (prefers-reduced-motion:reduce){.check.haken-jetzt,.p-erl.haken-jetzt{animation:none}.tm-figur *{animation:none!important}}

/* v0.10.0 — Projekt im Kopf umbenennen (Feedback 657) */
.projektkopf h2.umbenennbar{cursor:text;border-radius:6px;padding:1px 4px;margin-left:-4px;display:inline-flex;align-items:center;gap:6px}
.projektkopf h2.umbenennbar:hover{background:var(--teal-050)}
.projektkopf h2.umbenennbar:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.projektkopf .stift-kopf{font-size:13px;color:var(--muted);opacity:0;transition:.12s;font-weight:400}
.projektkopf h2.umbenennbar:hover .stift-kopf,.projektkopf h2.umbenennbar:focus-visible .stift-kopf{opacity:.8}
@media (hover:none){.projektkopf .stift-kopf{opacity:.5}}

/* v0.10.0 — Mehrfachauswahl und Sammelleiste (Feedback 661) */
.waehl{flex:none;width:16px;height:16px;border:1.5px solid var(--line);border-radius:4px;background:var(--card);cursor:pointer;opacity:0;transition:.12s;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;color:#fff}
.tab .zt .waehl{margin-left:-4px}
.tab tr.row:hover .waehl,.card:hover .waehl,body.mit-auswahl .waehl{opacity:1}
.waehl:hover{border-color:var(--teal)}
.waehl[aria-checked="true"]{background:var(--teal);border-color:var(--teal);opacity:1}
.waehl[aria-checked="true"]::after{content:"✓"}
.card .waehl{position:absolute;top:-6px;left:-6px;box-shadow:var(--shadow)}
.tab tr.row.gewaehlt td{background:var(--teal-050)}
.card.gewaehlt{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-100)}
#auswahlLeiste{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;gap:2px;flex-wrap:nowrap;justify-content:center;
  background:var(--navy,#16262b);color:#fff;border-radius:12px;padding:6px 8px;box-shadow:0 12px 40px rgba(0,0,0,.25);max-width:calc(100vw - 32px)}
[data-theme="dark"] #auswahlLeiste{background:#0f1a1e;border:1px solid var(--line)}
#auswahlLeiste .anzahl{padding:0 10px 0 6px;font-size:13px;white-space:nowrap}
#auswahlLeiste button{color:#fff;font-size:13px;font-weight:600;padding:8px 9px;border-radius:8px;min-height:36px;white-space:nowrap}
#auswahlLeiste button:hover,#auswahlLeiste button:focus-visible{background:rgba(255,255,255,.12)}
#auswahlLeiste button.gefahr:hover{background:rgba(220,70,70,.35)}
#auswahlLeiste button.zu{font-size:18px;padding:6px 10px}
body.mit-auswahl #meldungen{bottom:calc(84px + env(safe-area-inset-bottom))}
body.mit-auswahl #content{padding-bottom:120px}
.datum-schwebend{position:fixed;z-index:80;width:170px}
@media (max-width:760px){
  #auswahlLeiste{bottom:calc(76px + env(safe-area-inset-bottom));gap:2px;flex-wrap:wrap;left:12px;right:12px;transform:none;max-width:none}
  #auswahlLeiste button{padding:8px 7px}
  body.mit-auswahl #content{padding-bottom:220px}
  #auswahlLeiste .anzahl{width:100%;text-align:center;padding:2px 0 4px}
  body.mit-auswahl #meldungen{bottom:calc(170px + env(safe-area-inset-bottom))}
  .tab .zt .waehl{opacity:1}
}

/* v0.11.0 — Verwaltung: Projektliste ohne Inhalte und Sicherheitsprotokoll (Paket A1/A5) */
.karte table.verwaltung-projekte,.karte table.protokoll{width:100%;border-collapse:collapse;font-size:13px}
.karte table.verwaltung-projekte th{text-align:left;font-size:11.5px;color:var(--muted);font-weight:600;padding:4px 6px;border-bottom:1px solid var(--line)}
.karte table.verwaltung-projekte td,.karte table.protokoll td{padding:6px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:break-word}
@media (max-width:640px){.karte table.protokoll td:nth-child(5),.karte table.verwaltung-projekte th:nth-child(2),.karte table.verwaltung-projekte td:nth-child(2){display:none}}
.karte table.verwaltung-projekte .sub.klein,.karte table.protokoll .sub.klein{margin:2px 0 0;text-align:left;color:var(--muted)}
.karte table.protokoll td:nth-child(-n+3){white-space:nowrap}

/* ---------------------------------------------------------- v0.13.0 */
/* Projekte im Detailfenster anklickbar (803), Hauptprojekt mit × (834) */
.mehrprojekt .p button.p-link{font-size:12px;font-weight:600;opacity:1;padding:0;min-width:0;color:inherit;text-decoration:none;cursor:pointer}
.mehrprojekt .p button.p-link:hover{text-decoration:underline}
.mehrprojekt .haupt button:not(.p-link){color:#fff}
/* Unteraufgaben: Person und Ziehgriff (798) */
.unter .u-griff{cursor:grab;color:var(--muted);opacity:.35;font-size:12px;letter-spacing:-3px;padding:0 2px;user-select:none;-webkit-user-select:none}
.unter .u:hover .u-griff{opacity:.9}
.unter .u-leute{display:flex;gap:2px;flex:none}
.unter .u-leute:empty{display:none}
.unter .u.zieht{opacity:.45}
.unter .u.ziel-oben{box-shadow:inset 0 2px 0 var(--teal)}
.unter .u.ziel-unten{box-shadow:inset 0 -2px 0 var(--teal)}
@media (hover:none){.unter .u-griff{display:none}}
/* Bilder an Kommentaren (680) */
.p-foot{flex-wrap:wrap}
.komm-anhang{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:8px}
.komm-anhang:empty{display:none}
.komm-anhang .anhang{position:relative;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--bg)}
.komm-anhang .anhang img{width:100%;height:100%;object-fit:cover;display:block}
.komm-anhang .anhang button{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:rgba(22,38,43,.75);color:#fff;font-size:13px;line-height:1;display:grid;place-items:center;padding:0}
.p-foot .komm-bild-knopf{width:40px;height:40px;flex:none;font-size:18px;border-radius:10px}
#panel.datei-drueber .p-foot{outline:2px dashed var(--teal);outline-offset:-4px;background:var(--teal-050)}
.komm-bilder{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.komm-bild{padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg);cursor:zoom-in;max-width:100%}
.komm-bild img{display:block;max-width:100%;max-height:180px;width:auto;height:auto;object-fit:contain}
.bild-gross{position:fixed;inset:0;z-index:400;background:rgba(10,18,21,.86);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));cursor:zoom-out;outline:none}
.bild-gross img{max-width:100%;max-height:calc(100% - 48px);object-fit:contain;border-radius:6px;background:#fff}
.bild-gross-leiste{display:flex;gap:16px;align-items:center;margin-top:12px}
.bild-gross-leiste a{color:#fff;font-size:13px}
.bild-gross-leiste .zu{color:#fff;font-size:24px;line-height:1;padding:4px 10px}
/* @Personen und #Aufgaben (768) */
#vorschlag{position:fixed;z-index:350;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(22,38,43,.18);overflow:hidden;max-height:320px;overflow-y:auto}
#vorschlag button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink);min-width:0}
#vorschlag button:last-child{border-bottom:none}
#vorschlag button.an,#vorschlag button:hover{background:var(--teal-050)}
#vorschlag button span:last-child{min-width:0;overflow:hidden}
#vorschlag b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#vorschlag small{display:block;color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#vorschlag .vk{flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;font-weight:700;color:var(--teal-600);background:var(--teal-050);border-radius:5px;padding:2px 5px}
.komm-eintrag .kennung-link{color:var(--teal-600);font-weight:600;text-decoration:none;border-bottom:1px dotted currentColor}
.komm-eintrag .kennung-link:hover{border-bottom-style:solid}

/* Kalender (v0.14.0): Monat, Woche, Tag. Volle Tage orange bzw. rot nach der Schwelle je Person. */
:root{--voll-orange:#e0620a; --voll-orange-bg:#fdf0e6}
[data-theme="dark"]{--voll-orange:#f08a3e; --voll-orange-bg:#40301f}
.kal-leiste{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.kal-leiste .views button{padding:5px 11px;font-size:12.5px}
.kal-nav{display:flex;gap:4px}
.kal-nav button{min-width:32px}
.kal-titel{font-size:15px;font-weight:700;margin:0 4px;text-transform:capitalize}
.kal-legende{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kal-link{color:var(--teal);font-size:12px;text-decoration:underline;text-underline-offset:2px}
.kal-punkt{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:baseline}
.kal-punkt.orange{background:var(--voll-orange)}
.kal-punkt.rot{background:var(--over)}
.kal{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}
.kal-wochentage{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--bg)}
.kal-wochentage div{padding:6px 8px;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.kal-raster{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.kal-tag{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 5px 6px;min-width:0;display:flex;flex-direction:column;gap:3px;transition:background .12s,box-shadow .12s}
.kal-raster .kal-tag:nth-child(7n){border-right:none}
.kal-m-monat .kal-tag{min-height:112px}
.kal-m-woche .kal-tag{min-height:calc(100vh - 330px)}
.kal-tag.we{background:color-mix(in srgb,var(--bg) 70%,var(--card))}
.kal-tag.aussen .kal-nr{color:var(--muted);opacity:.6}
.kal-tag.aussen .kal-liste{opacity:.75}
.kal-tag.orange{background:var(--voll-orange-bg)}
.kal-tag.rot{background:var(--over-bg)}
.kal-tag.ziel{box-shadow:inset 0 0 0 2px var(--teal);background:var(--teal-050)}
.kal-kopf{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:24px}
.kal-nr{font-size:12.5px;font-weight:600;color:var(--ink);padding:2px 6px;border-radius:12px;line-height:1.3}
.kal-nr:hover{background:var(--teal-050)}
.kal-wt{text-transform:capitalize}
.kal-tag.heute .kal-nr{background:var(--teal);color:#fff}
.kal-n{font-size:11px;font-weight:700;min-width:20px;text-align:center;padding:1px 6px;border-radius:20px;background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.kal-n.orange{background:var(--voll-orange);border-color:var(--voll-orange);color:#fff}
.kal-n.rot{background:var(--over);border-color:var(--over);color:#fff}
.kal-liste{display:flex;flex-direction:column;gap:3px;min-width:0}
.kal-e{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--teal-100);border-radius:6px;padding:3px 6px;font-size:12px;cursor:pointer;user-select:none;min-width:0}
.kal-e:hover{border-color:var(--teal-100);box-shadow:var(--shadow)}
.kal-e.over{border-left-color:var(--over)}
.kal-e.today{border-left-color:var(--heute)}
.kal-e.erledigt .kal-e-titel{text-decoration:line-through;color:var(--muted)}
.kal-e.pausiert{opacity:.6}
.kal-e.gewaehlt{outline:2px solid var(--teal);outline-offset:-1px}
.kal-e.zieht{opacity:.4}
.kal-e-kopf{display:flex;align-items:center;gap:5px;min-width:0}
.kal-e .check.rund{width:14px;height:14px;font-size:9px;margin:0;flex:none;order:0}
.kal-e-titel{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
.kal-e-fuss{display:flex;align-items:center;gap:4px;margin-top:4px;min-width:0}
.kal-e-fuss .chip{max-width:60%;overflow:hidden;text-overflow:ellipsis;font-size:10.5px;padding:1px 7px}
.kal-e-fuss .cf-rechts{margin-left:auto}
.kal-m-woche .kal-e-titel{white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.kal-mehr{font-size:11.5px;color:var(--teal);font-weight:600;text-align:left;padding:1px 4px}
.kal-tag .platzhalter{font-size:12.5px}
.kal-m-tag .kal-raster{display:block}
.kal-m-tag .kal-tag{border-right:none;min-height:240px;padding:10px 12px}
.kal-m-tag .kal-nr{font-size:14px}
.kal-m-tag .kal-liste{gap:0;max-width:720px}
.kal-ohne{border-top:1px solid var(--line);padding:8px 12px;transition:background .12s,box-shadow .12s}
.kal-ohne.ziel{box-shadow:inset 0 0 0 2px var(--teal);background:var(--teal-050)}
.kal-ohne summary{cursor:pointer;font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kal-ohne summary .n{font-size:11px;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:0 7px;color:var(--muted)}
.kal-ohne summary .sub{font-weight:400}
.kal-ohne-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px;margin-top:8px}
@media (max-width:760px){
  .kal-legende{margin-left:0}
  .kal-m-monat .kal-tag{min-height:58px;padding:3px 2px}
  .kal-m-monat .kal-liste{display:none}
  .kal-m-monat .kal-kopf{flex-direction:column;align-items:center;gap:2px}
  .kal-m-monat .kal-n{min-width:0;padding:0 5px}
  .kal-wochentage div{padding:5px 2px;text-align:center}
  .kal-m-woche .kal-raster{grid-template-columns:1fr}
  .kal-m-woche .kal-tag{min-height:0;border-right:none}
  .kal-m-woche .kal-tag:not(:has(.kal-e)) .kal-liste{display:none}
}

/* ---------------------------------------------------------- v0.15.0 */
/* Anhaenge: Chips fuer Dokumente, Vorschau fuer Bilder (Kommentar, Entwurf, Beschreibung) */
.anhang-liste{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.anhang-liste:empty{display:none;margin:0}
.anhang-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:12.5px;min-height:32px;padding:0 4px 0 9px}
.anhang-chip a{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--ink);text-decoration:none;padding:5px 0}
.anhang-chip a:hover .n{text-decoration:underline}
.anhang-chip .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.anhang-chip small{color:var(--muted);white-space:nowrap}
.anhang-chip.laedt{opacity:.65;padding-right:9px}
.anhang-chip.bild{position:relative;padding:0;overflow:hidden;min-height:0}
.anhang-chip.bild .anhang-bild{padding:0;display:block;cursor:zoom-in}
.anhang-chip.bild img{display:block;height:64px;width:auto;max-width:160px;object-fit:cover}
.anhang-chip .anhang-weg{width:22px;height:22px;border-radius:50%;color:var(--muted);font-size:14px;line-height:1;display:grid;place-items:center;padding:0;flex:none}
.anhang-chip .anhang-weg:hover{background:var(--warn-bg);color:var(--over)}
.anhang-chip.bild .anhang-weg{position:absolute;top:3px;right:3px;background:rgba(22,38,43,.75);color:#fff}
.komm-anhang .anhang-chip.bild img{height:56px}
.p-abschnitt-knopf{display:flex;align-items:center;justify-content:space-between;gap:8px}
.p-abschnitt-knopf .p-ikon{width:30px;height:30px;font-size:15px}
.p-desc .beschr-bild{display:block;padding:0;margin:6px 0;border:1px solid var(--line);border-radius:8px;overflow:hidden;max-width:100%;cursor:zoom-in;background:var(--bg)}
.p-desc .beschr-bild img{display:block;max-width:100%;max-height:360px;height:auto}
/* Workspaces in der Verwaltung */
.ws-liste{display:flex;flex-direction:column;gap:6px}
.ws-zeile{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ws-zeile input{flex:1 1 200px;max-width:320px}
.ws-zeile .sub{min-width:80px}

/* ---------------------------------------------------------- v0.16.0 */
/* Teams in der Verwaltung */
.team-block{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:var(--bg)}
.team-kopf{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.team-kopf input:not([type=checkbox]){flex:1 1 220px;max-width:340px;font-weight:600}
.team-kopf label.haken{margin:0}
.team-spalten{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:760px){.team-spalten{grid-template-columns:1fr}}
.team-spalten h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px}
.team-zeile{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--line);font-size:13px}
.team-zeile .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-zeile select{padding:4px 8px;min-height:30px;font-size:12.5px}
.team-weg{width:24px;height:24px;border-radius:50%;color:var(--muted);font-size:15px;line-height:1;padding:0;flex:none}
.team-weg:hover{background:var(--warn-bg);color:var(--over)}
.team-dazu{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.team-dazu select{flex:1 1 160px;min-width:0}
.dialog select.np-team{width:100%;margin-bottom:12px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:14px;background:var(--card);color:var(--ink)}
.dialog .np-hinweis{margin-bottom:14px;font-size:12.5px}

/* v0.16.1: sofort sichtbare Tooltips an den Knoepfen im Fuss (statt title, das erst
   nach einer Sekunde und nicht ueberall erscheint). Der letzte richtet sich rechts aus,
   sonst schneidet die Seitenleiste ihn ab. */
.userchip button[data-tip]{position:relative}
.userchip button[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
  background:#0b1518;color:#fff;font-size:11.5px;font-weight:500;line-height:1.2;padding:5px 8px;border-radius:6px;white-space:nowrap;
  pointer-events:none;opacity:0;transition:opacity .12s ease .1s;box-shadow:0 4px 14px rgba(0,0,0,.35);z-index:5}
.userchip button[data-tip]:last-child::after{left:auto;right:0;transform:none}
.userchip button[data-tip]:hover::after,.userchip button[data-tip]:focus-visible::after{opacity:1}
/* "+ Projekt anlegen" und "+ Workspace anlegen" stehen ausserhalb der Schubladen:
   eigener Stil, untereinander, wie Eintraege der Seitenleiste. */
#schubladen > .neu-projekt{display:block;font-size:12px;color:var(--side-muted);padding:6px 10px;width:100%;text-align:left;border-radius:8px}
#schubladen > .neu-projekt:hover{color:#fff;background:var(--side-hover)}

/* v0.16.2: Workspaces in der Seitenleiste ziehen (Verwalter) */
/* Griff im linken Rand des Kopfs: feste Trefferflaeche, die Ueberschrift verschiebt sich nicht. */
.schublade .kopf{position:relative}
.schublade .ws-griff{position:absolute;left:-6px;top:50%;transform:translateY(-35%);width:14px;height:20px;display:grid;place-items:center;
  cursor:grab;opacity:0;font-size:11px;letter-spacing:-3px;color:var(--side-muted);user-select:none;-webkit-user-select:none;transition:opacity .12s}
.schublade .kopf:hover .ws-griff{opacity:.9}
.schublade.zieht{opacity:.45}
.schublade.ws-ziel-oben{box-shadow:inset 0 2px 0 #3d8a8d}
.schublade.ws-ziel-unten{box-shadow:inset 0 -2px 0 #3d8a8d}
@media (hover:none){.schublade .ws-griff{display:none}}

/* v0.17.0: Zuweisung von ausserhalb (TF-27) und Rueckkanal (TF-25). */
:root{--aussen:#e0620a}
[data-theme="dark"]{--aussen:#f08a3e}
.av-aussen{display:inline-flex;vertical-align:middle}
/* Ring am Avatar selbst, nicht an der Huelle: Tabellen und Stapel ziehen Avatare mit
   negativem Rand zusammen, ein Ring an der Huelle sass dann versetzt und halb verdeckt. */
.av-aussen > .av{outline:2px solid var(--aussen);outline-offset:1px;position:relative;z-index:1}
.pers .p.aussen{position:relative;box-shadow:inset 0 0 0 2px var(--aussen);cursor:default}
.pers .p.aussen::before{content:"";width:8px;height:8px;border-radius:50%;border:2px solid var(--aussen);flex:none}
.p-tipp{display:none;position:absolute;right:0;left:auto;top:calc(100% + 6px);z-index:30;width:250px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-left:3px solid var(--aussen);border-radius:8px;box-shadow:var(--shadow);padding:9px 11px;font-size:12.5px;font-weight:500;line-height:1.4;white-space:normal}
.p-tipp .btn-klein{display:block;margin-top:7px;opacity:1!important;font-size:12.5px!important;color:var(--teal-600)!important;padding:4px 8px!important;border:1px solid var(--teal-100)!important;border-radius:6px}
.pers .p.aussen:hover .p-tipp,.pers .p.aussen:focus-within .p-tipp{display:block}
.p-aussen{display:flex;gap:8px;align-items:center;padding:9px 16px;background:var(--voll-orange-bg);border-bottom:1px solid var(--line);font-size:13px;color:var(--ink)}
#panel.nur-kommentar .p-felder{opacity:.85}
#dialogText{white-space:pre-line;word-break:break-word}
.dg-zeile.verschoben .dg-titel{color:var(--muted)}
.dg-zeile .dg-vorher{font-size:11.5px;color:var(--muted);text-decoration:line-through;white-space:nowrap}
.rm-liste{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.rm-zeile{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);cursor:pointer;font-size:13px;text-align:left;width:100%}
.rm-zeile:hover{background:var(--teal-050)}
.rm-zeile .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rm-zeile .st{font-size:11.5px;color:var(--muted);white-space:nowrap}
.rm-zeile .st.fertig{color:var(--teal-600);font-weight:600}
#panel.nur-kommentar .schnellwahl,#panel.nur-kommentar .p-x{display:none}

/* v0.18.0: eigener Workspace im Kopf der Schublade */
.schublade .kopf .ws-eigen{margin-left:6px;font-weight:500;text-transform:none;letter-spacing:0;opacity:.7}
