:root{--bg:#f6f3ec;--panel:#fffdf8;--ink:#1d2a2e;--muted:#5d6b6f;--line:#e2dccf;--accent:#1F4D3A;--accent-ink:#fff;--accent-soft:#e1ede5;--link:#1F4D3A;--coral:#d4694a;--danger:#b3261e;--radius:10px;--side:280px;--top:56px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12181a;--panel:#1a2225;--ink:#e6ecec;--muted:#9aa8ab;--line:#2c373a;--accent:#8FC79A;--accent-ink:#0f2a1f;--accent-soft:#213a2e;--link:#a6d6b0;--coral:#e98a6c;--danger:#f2837a;color-scheme:dark}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font-size:16px;line-height:1.55}a{color:var(--link)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.topbar{position:sticky;top:0;z-index:30;height:var(--top);display:flex;align-items:center;gap:10px;padding:0 16px;padding-top:env(safe-area-inset-top);background:var(--accent);color:var(--accent-ink)}.brand{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-weight:700;font-size:1.1rem}.brand img{width:30px;height:30px;background:#fff;border-radius:8px;padding:2px}.spacer{flex:1}.icon-btn{background:none;border:0;padding:6px;border-radius:8px;display:inline-flex;color:inherit}.icon-btn:hover{background:#ffffff26}#userBox{display:flex;align-items:center;gap:8px;font-size:.9rem}#userBox .who{opacity:.9;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .btn{background:#ffffff2e;color:inherit;border:0}.topbar .btn:hover{background:#ffffff47}.layout{display:flex;min-height:calc(100vh - var(--top))}.sidebar{width:var(--side);flex:0 0 var(--side);background:var(--panel);border-right:1px solid var(--line);position:sticky;top:var(--top);height:calc(100vh - var(--top));overflow:auto;display:flex;flex-direction:column}.side-head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.tree-tools{display:flex;gap:4px}.tree{padding:4px 8px 16px;flex:1}.tree ul{list-style:none;margin:0;padding:0}.tree ul ul{padding-left:14px;border-left:1px dashed var(--line);margin-left:11px}.tree .node{display:flex;align-items:center;gap:4px;border-radius:8px;padding:0 4px 0 0}.tree .node:hover{background:var(--accent-soft)}.tree .node.active{background:var(--accent);color:var(--accent-ink)}.tree .node.active a{color:inherit}.tree .tog{width:22px;height:22px;border:0;background:none;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex:0 0 22px}.tree .node.active .tog{color:inherit}.tree .tog svg{width:14px;height:14px;transition:transform .15s}.tree li.open>.node .tog svg{transform:rotate(90deg)}.tree li:not(.open)>ul{display:none}.tree a{flex:1;display:flex;align-items:center;gap:6px;padding:6px 2px;color:var(--ink);text-decoration:none;min-width:0}.tree a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree a svg{width:16px;height:16px;flex:0 0 16px;opacity:.75}.side-foot{border-top:1px solid var(--line);padding:10px 14px}.side-link{text-decoration:none;font-size:.95rem;display:block;padding:3px 0}.scrim{position:fixed;inset:var(--top) 0 0 0;background:#00000059;z-index:19}.main{flex:1;min-width:0;padding:28px clamp(16px,4vw,48px) 60px}.loading{color:var(--muted);padding:40px 0}.page-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:6px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{text-decoration:underline}.page-head h1{margin:0;flex:1;font-size:1.8rem;line-height:1.2;min-width:200px}.actions{display:flex;gap:6px;flex-wrap:wrap}.content{max-width:820px}.content img{max-width:100%;height:auto;border-radius:8px}.content h1{font-size:1.8rem;line-height:1.2}.content blockquote{border-left:4px solid var(--coral);margin:1em 0;padding:.2em 1em;color:var(--muted)}.badge{display:inline-block;font-size:.72rem;padding:2px 8px;border-radius:99px;background:var(--accent-soft);color:var(--link);font-weight:600;vertical-align:middle}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel);padding:7px 14px;border-radius:8px;font-size:.92rem;text-decoration:none;color:var(--ink);white-space:nowrap}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent-text);color:var(--accent-ink)}.btn.danger{color:var(--danger)}.btn.danger:hover{border-color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.btn svg{width:17px;height:17px}button.small{font-size:.75rem;padding:3px 7px;border-radius:6px;border:1px solid var(--line);background:var(--panel);text-transform:none;letter-spacing:0}button.small:hover{border-color:var(--accent)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;max-width:420px;margin:40px auto}.card h2{margin-top:0}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.field label{font-size:.85rem;color:var(--muted);font-weight:600}.field input,.field select,.field textarea{padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.field input:focus,.field select:focus{outline:2px solid var(--accent-text);outline-offset:-1px}.check{display:flex;gap:8px;align-items:center;margin-bottom:14px}.err{color:var(--danger);font-size:.9rem;min-height:1.2em}.hint{color:var(--muted);font-size:.88rem}.linkbtn{background:none;border:0;padding:0;color:var(--link);text-decoration:underline;font-size:.9rem}.editor-wrap{max-width:900px}.toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:6px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:var(--panel);position:sticky;top:var(--top);z-index:5}.toolbar button{border:1px solid transparent;background:none;padding:4px 9px;border-radius:6px;min-width:34px;font-size:.9rem}.toolbar button:hover{border-color:var(--line);background:var(--bg)}.toolbar .sep{width:1px;background:var(--line);margin:2px 4px}.editable{min-height:340px;border:1px solid var(--line);border-radius:0 0 8px 8px;padding:16px 20px;background:var(--panel);outline:none}.editable:focus{border-color:var(--accent)}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 16px;max-width:900px}.upload-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0}.progress{flex:1;min-width:180px;height:8px;background:var(--line);border-radius:99px;overflow:hidden}.progress>div{height:100%;width:0;background:var(--accent);transition:width .2s}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.tile{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--line);border:0;padding:0}.tile img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .25s}.tile img.ok{opacity:1}.empty{color:var(--muted);padding:30px 0;grid-column:1/-1}.dropzone.drag{outline:3px dashed var(--accent);outline-offset:6px;border-radius:8px}.lightbox{position:fixed;inset:0;background:#050a0cf0;z-index:50;display:flex;align-items:center;justify-content:center;color:#fff}.lb-img{max-width:calc(100vw - 24px);max-height:calc(100vh - 110px);object-fit:contain;user-select:none}.lb-close{position:absolute;top:calc(10px + env(safe-area-inset-top));right:10px}.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%)}.lb-prev{left:6px}.lb-next{right:6px}.lightbox .icon-btn svg{width:30px;height:30px}.lb-bar{position:absolute;left:0;right:0;bottom:0;padding:10px 16px calc(12px + env(safe-area-inset-bottom));display:flex;gap:12px;align-items:center;justify-content:space-between;background:linear-gradient(transparent,#0009);flex-wrap:wrap}.lb-info{font-size:.9rem;opacity:.9}.lb-actions{display:flex;gap:6px}.lb-actions .btn{background:#ffffff1f;border-color:transparent;color:#fff}.lb-video{max-width:calc(100vw - 24px);max-height:calc(100vh - 110px);background:#000}.lb-load{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0009;padding:8px 16px;border-radius:99px;font-size:.9rem}.tile .play{position:absolute;right:6px;bottom:6px;width:30px;height:30px;border-radius:50%;background:#0000008c;color:#fff;display:flex;align-items:center;justify-content:center}.tile .play svg{width:16px;height:16px}.wa-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:0 0 20px}.wa-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.wa-head h3{margin:0;font-size:1.1rem}.wa-steps{margin:8px 0 14px;padding-left:20px}.wa-filter{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:flex-end;margin-top:16px}.wa-filter .field{margin-bottom:8px;min-width:150px}.wa-filter .check{margin-bottom:14px}.wa-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 12px}.wa-bar .hint{flex:1;min-width:200px}.wa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;max-height:60vh;overflow:auto;padding:2px}.wa-tile{position:relative;aspect-ratio:1;border:2px solid transparent;border-radius:8px;overflow:hidden;background:var(--line);padding:0;color:#fff}.wa-tile.sel{border-color:var(--accent)}.wa-tile.dim{opacity:.45}.wa-tile img{width:100%;height:100%;object-fit:cover;display:block}.wa-vid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#1d2a2e}.wa-check{position:absolute;top:5px;right:5px;width:22px;height:22px;border-radius:50%;background:#00000073;border:2px solid #fff;font-size:13px;line-height:18px;text-align:center}.wa-tile.sel .wa-check{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.wa-cap{position:absolute;left:0;right:0;bottom:0;padding:14px 5px 4px;font-size:.68rem;text-align:left;background:linear-gradient(transparent,#000000b3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pending-note{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);padding:10px 14px;margin:0 0 16px}.pending-note span{flex:1;min-width:220px}.tenant-sel{background:#ffffff2e;color:inherit;border:0;border-radius:8px;padding:6px 8px;max-width:38vw}.tenant-sel option{color:#000}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:8px 0 18px;overflow-x:auto}.tabs a{padding:8px 14px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}.tabs a.on{color:var(--ink);border-color:var(--accent-text);font-weight:600}.card-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin:0 0 14px}.chips{display:flex;flex-wrap:wrap;gap:4px 16px}.chips .check{margin:0}.list{display:flex;flex-direction:column;gap:6px}.list-row{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.list-row .grow{flex:1;min-width:0}.list-row svg{flex:0 0 22px;color:var(--muted)}.badge.st-ok{background:#d9f2e3;color:#1c6b3a}.badge.st-error{background:#fbe0dd;color:var(--danger)}input.cell{border:1px solid var(--line);border-radius:6px;padding:5px 8px;background:var(--bg);width:100%;min-width:140px}input[type=color]{width:38px;height:30px;padding:0;border:1px solid var(--line);border-radius:6px;background:none}.dlg-wrap{position:fixed;inset:0;background:#00000073;z-index:55;display:flex;align-items:flex-start;justify-content:center;padding:0 12px;overflow:auto}.dlg{background:var(--panel);color:var(--ink);border-radius:14px;padding:20px 22px;width:100%;max-width:460px;box-shadow:0 20px 60px #0000004d;margin:6vh 0}.dlg.wide{max-width:640px}.dlg h2{margin-top:0;font-size:1.25rem}.picker{border:1px solid var(--line);border-radius:8px;max-height:280px;overflow:auto;padding:4px;background:var(--bg)}.pick{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;text-decoration:none;color:var(--ink)}.pick:hover{background:var(--accent-soft)}.pick svg,.dms-name svg{width:18px;height:18px;flex:0 0 18px;color:var(--muted)}.dms-sec{margin:26px 0;max-width:980px}.dms-sec h3{display:flex;align-items:center;gap:8px;margin:0 0 10px}.dms-sec h3 svg{color:var(--link)}.dms-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}.dms-crumbs{margin:0}.dms-name a{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);word-break:break-word}.dms-table td{padding:8px 10px}.table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);font-size:.92rem;vertical-align:middle}.table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.table tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin:16px 0 24px}.inline-form .field{margin:0;flex:1;min-width:180px}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:99px;z-index:60;font-size:.92rem;max-width:90vw;box-shadow:0 6px 20px #00000040}.toast.bad{background:var(--danger);color:#fff}@media (max-width:860px){.sidebar{position:fixed;left:0;top:var(--top);z-index:20;transform:translate(-100%);transition:transform .2s;box-shadow:4px 0 20px #00000026}body.menu-open .sidebar{transform:none}.main{padding-top:20px}.page-head h1{font-size:1.5rem}.grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:4px}.hide-sm{display:none}}@media (min-width:861px){#btnMenu,.scrim{display:none!important}}

#dmsFiles.drop{outline:3px dashed var(--accent);outline-offset:6px;border-radius:8px}.vbadge{font:600 11px/1 system-ui;padding:3px 6px;margin-left:6px;border-radius:10px;border:1px solid var(--link);color:var(--link);background:transparent;cursor:pointer;vertical-align:middle}#dmsProg{margin:4px 0 8px}
:root[data-theme=dark]{--bg:#12181a;--panel:#1a2225;--ink:#e6ecec;--muted:#9aa8ab;--line:#2c373a;--accent:#8FC79A;--accent-ink:#0f2a1f;--accent-soft:#213a2e;--link:#a6d6b0;--coral:#e98a6c;--danger:#f2837a;color-scheme:dark}.theme-pick{display:flex;gap:8px;flex-wrap:wrap}.theme-pick .btn.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.brand{min-width:0;flex:0 1 auto}.brand img{flex:0 0 auto}#brandName{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.15;overflow-wrap:anywhere}#userBox{flex:0 0 auto}@media (max-width:600px){.topbar{gap:8px;padding-left:12px;padding-right:12px}.brand{font-size:.88rem;gap:6px}.brand img{width:26px;height:26px}#userBox{gap:5px}#userBox .who{display:none}#userBox .btn{padding:5px 8px;font-size:.8rem}#tenantSel{max-width:28vw}}
.logo-box{display:flex;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin:0 0 18px;max-width:760px}.logo-box img{width:72px;height:72px;border-radius:14px;background:#fff;object-fit:contain;flex:0 0 auto;border:1px solid var(--line)}
/* Dunkler Modus (24.10.2026): --accent-text = die Akzentfarbe, lesbar als Text/Linie auf Hintergrund, Fläche und Hover (≥ 4,5:1); ohne Mandantenfarbe gleich --accent. Der Kern (applyColor) setzt sie bei Mandantenfarbe. */
:root{--accent-text:var(--accent)}
.ve-wrap{max-width:1100px;margin-top:14px}
.ve-wrap .table td.num,.ve-wrap .table th.num,.ve-sheet td.num,.ve-sheet th.num{text-align:right;white-space:nowrap}
.ve-wrap .table tfoot td{font-weight:700;border-top:2px solid var(--line)}
.ve-wrap .table tr.grp td{background:var(--accent-soft);font-weight:600}
.ve-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.ve-tools .grow{flex:1;min-width:180px}
.ve-tools input[type=search]{width:100%;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.ve-kpi{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.ve-kpi div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-width:130px}
.ve-kpi b{display:block;font-size:1.25rem}
.ve-kpi span{font-size:.8rem;color:var(--muted)}
.ve-pricegrid input{width:120px;text-align:right}
.ve-pick{max-height:46vh;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:4px}
.ve-pick label{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:6px;margin:0}
.ve-pick label:hover{background:var(--accent-soft)}
.ve-row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 12px}
.ve-dead{color:var(--muted)}
.ve-preview{background:#fff;color:#111;border:1px solid var(--line);border-radius:8px;padding:8px;max-height:60vh;overflow:auto}
.ve-sheet{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#111;background:#fff;font-size:12.5px;line-height:1.45;padding:18px 22px}
.ve-sheet .hd{display:flex;align-items:center;gap:12px;border-bottom:2px solid #222;padding-bottom:8px;margin-bottom:14px}
.ve-sheet .hd img{width:46px;height:46px;object-fit:contain}
.ve-sheet .hd .org{font-weight:700;font-size:15px;flex:1}
.ve-sheet h2{font-size:19px;margin:0 0 2px}
.ve-sheet .sub{color:#555;margin-bottom:14px}
.ve-sheet .addr{margin:0 0 14px}
.ve-sheet table{width:100%;border-collapse:collapse;margin:8px 0}
.ve-sheet th,.ve-sheet td{border-bottom:1px solid #ccc;padding:5px 6px;text-align:left;vertical-align:top}
.ve-sheet th{font-size:11px;text-transform:uppercase;color:#444;border-bottom:1.5px solid #222}
.ve-sheet tfoot td{font-weight:700;border-top:1.5px solid #222;border-bottom:0}
.ve-sheet .note{color:#555;font-size:11.5px}
.ve-sheet h3{font-size:14px;margin:18px 0 4px}
.ve-sheet + .ve-sheet{break-before:page;page-break-before:always}
#vePrint{display:none}
@media print{
  body.ve-printing>*:not(#vePrint){display:none!important}
  body.ve-printing #vePrint{display:block}
  body.ve-printing{background:#fff}
  .ve-sheet{padding:0}
  @page{size:A4;margin:16mm 14mm}
}
@media (max-width:600px){.ve-wrap .table th,.ve-wrap .table td{padding:8px 6px;font-size:.85rem}.ve-hide-sm{display:none}}
/* Tabellen-Standard (Harald 17.10.2026): Inhalte ohne Tabelle (Stände-Karten, Leer-Hinweis) im Tabellen-Rahmen bekommen die Seitenlinien des Rahmens */
.tab-rahmen>.kal-gitter{margin:0;border-radius:0}.tab-kopf .kal-zeit{font-weight:600}
.tab-rahmen>.st-liste,.tab-rahmen>p.empty,.tab-rahmen>#kaL:not([class]){margin:0;border:1px solid var(--line);border-top:0;border-bottom:0;background:var(--panel);padding:10px 12px}.tab-rahmen>.st-liste>.st-card:last-of-type{margin-bottom:0}
/* Maske „Veranstaltung“, Status und Archiv (Harald 17.10.2026) */
.ve-status{margin-top:4px}.badge.ve-st-zu{background:var(--muted);color:var(--panel)}
.ve-arch,.ve-arch a{color:var(--muted)}.ve-arch{opacity:.75}.ve-st-b{font-weight:400}
.ve-maske .ve-menue{margin:12px 0;border:1px solid var(--line);border-radius:8px;padding:8px 12px}.ve-maske .ve-menue>summary{cursor:pointer}
.ve-maske #veEd{min-height:140px}
.ve-leer{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 12px}.ve-leer p{margin:0}
/* Personen je Leistung (18.10.2026): Zeilen „Person + Notiz“ im Leistungs-Fenster, Einstellung an der Kostenart, Zusammenfassung in der Tabelle */
.ve-pers,.ve-pers-einst{margin:10px 0;border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-width:0}
.ve-pers legend,.ve-pers-einst legend{font-weight:600;padding:0 4px}
.ve-pers-zeile{display:grid;grid-template-columns:1.6em minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px;margin:6px 0}
.ve-pers-zeile>select,.ve-pers-zeile>input{width:100%;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.ve-pers-nr{color:var(--muted);text-align:right}
@media (max-width:560px){.ve-pers-zeile{grid-template-columns:1.6em minmax(0,1fr)}.ve-pers-zeile>input[name=pn]{grid-column:2}}
.ve-warn{color:var(--coral);margin:2px 0}
.ve-pers-sum{white-space:nowrap}.ve-pers-fehlt{color:var(--danger);font-weight:600}
.ve-mitgebucht{margin:8px 0}
/* Adressen hinzufügen (31.10.2026): je Zeile Haken · Name · Anzahl · Info; am Handy rutschen die Felder unter den Namen */
.ve-pick-p{max-height:56vh}
.ve-prow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:6px 10px;align-items:start;padding:6px 8px;border-radius:6px;border-bottom:1px solid var(--line)}
.ve-prow:hover{background:var(--accent-soft)}.ve-prow.an{background:var(--accent-soft)}
.ve-prow .ve-prow-n{display:flex;gap:8px;align-items:center;padding:6px 0;margin:0;min-width:0;overflow-wrap:anywhere}.ve-prow .ve-prow-n:hover{background:none}
.ve-prow-f{display:grid;grid-template-columns:84px minmax(0,1fr);gap:8px;align-items:start;min-width:0}
.ve-prow-f input,.ve-prow-f textarea{width:100%;box-sizing:border-box;min-width:0;margin:0}
.ve-prow-f textarea{resize:none;min-height:36px}
.ve-prow-bad .ve-prow-a{border-color:var(--danger);outline:1px solid var(--danger)}
.ve-prow-e{grid-column:1/-1;font-size:.85em;margin:0}
@media (max-width:640px){.ve-prow{grid-template-columns:minmax(0,1fr)}.ve-prow-f{grid-template-columns:76px minmax(0,1fr)}}
/* 2.90.0: Knopfleiste oben (Standard seit 13.10.2026) – auch in einzeiligen Erfassungsleisten steht der Knopf zuerst, in den Anmelde-Karten über den Feldern.
   Nur die Reihenfolge der Anzeige ändert sich; mit der Tabulatortaste geht es weiter erst durch die Felder, dann zum Knopf. */
.inline-form>button.btn.primary{order:-1}
form.card{display:flex;flex-direction:column}form.card>h2{order:-3}form.card>.actions,form.card>button.btn.primary{order:-2;margin-bottom:12px}form.card>button.btn.primary{align-self:flex-start}form.card>.err{order:-1}form.card>.err:empty{display:none}
/* 2.87.0: Listen und Berichte – die Überschriftenzeile bleibt oben stehen, die erste Spalte links. Dafür rollt eine lange oder breite Tabelle in ihrem Rahmen (.table-wrap).
   Geringe Spezifität (:where), damit farbige Zeilen (Gruppen, Summen) ihre Farbe auch in der ersten Zelle behalten. */
#main .table-wrap,#ovBody .table-wrap{max-height:calc(100vh - 140px);overflow:auto}
.table-wrap>.table{border-collapse:separate;border-spacing:0;overflow:visible}
:where(.table-wrap>.table)>tbody>tr{background:var(--panel)}
:where(.table-wrap>.table>thead) th{position:sticky;top:0;z-index:3;background:var(--panel);box-shadow:0 1px 0 var(--line)}
:where(.table-wrap>.table>tbody) td:first-child,:where(.table-wrap>.table>tbody) th:first-child{position:sticky;left:0;z-index:2;background:inherit;box-shadow:1px 0 0 var(--line)}
:where(.table-wrap>.table>thead) th:first-child{left:0;z-index:4}
.table-wrap>.table.xt-mx td,.table-wrap>.table.xt-mx th{border-width:0 1px 1px 0}
@media print{.table-wrap{max-height:none!important;overflow:visible!important}.table-wrap>.table th,.table-wrap>.table td{position:static!important}}
/* 2.5: Stammdaten-Menü, Tool-Auswahl, Mandantenliste */
.side-views{padding:2px 8px 10px;display:flex;flex-direction:column}
.side-views a{display:flex;align-items:center;gap:6px;padding:6px 6px;border-radius:8px;color:var(--ink);text-decoration:none}
.side-views a:hover{background:var(--accent-soft)}
.side-views a.on{background:var(--accent);color:var(--accent-ink)}
.side-views a svg{width:16px;height:16px;flex:0 0 16px;opacity:.75}
.tool-list{display:flex;flex-direction:column;gap:6px}
.tool-list .tool{display:flex;gap:10px;align-items:flex-start;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-weight:400;color:var(--ink);font-size:.92rem}
.tool-list .tool.on{border-color:var(--accent);background:var(--accent-soft)}
.tool-list .tool input{margin-top:3px}
.swatch{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;border:1px solid var(--line)}
.ve-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:0 0 12px}
.ve-head .grow{flex:1;min-width:200px}
.ve-head-todo{border-color:var(--accent);background:var(--accent-soft)}
.ve-erf td,.ve-erf th{padding:6px 8px}.ve-erf input.cell{min-width:0}

.ve-erf input[name=anz],.ve-erf input[name=rab]{width:70px}.ve-erf input[name=preis]{width:90px}.ve-erf-rab{display:inline-flex;gap:4px}.ve-erf-rab select{width:56px}
.ve-erf-box{max-height:34vh;overflow:auto}.ve-erg{margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--accent-soft)}.ve-erg ul{margin:6px 0 0;padding-left:18px}.ve-erg li{margin:2px 0}.ve-erg .btn{padding:2px 8px}
.ve-etools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.ve-etools .grow{flex:1 1 180px;min-width:0}.ve-etools input[type=search]{width:100%}
.ve-etn{max-height:44vh;padding:0}.ve-etn table{width:100%;table-layout:fixed;margin:0}.ve-etn th{position:sticky;top:0;z-index:1;background:var(--bg)}.ve-etn th:first-child{width:38px}.ve-etn th:nth-child(3){width:104px}.ve-etn th:nth-child(4){width:42%}.ve-etn td,.ve-etn th{padding:6px 8px;overflow-wrap:anywhere}.ve-etn tr[data-adr]{cursor:pointer}.ve-etn tr.ve-gewaehlt td{background:var(--accent-soft)}
@media(max-width:600px){.ve-erf,.ve-erf tbody{display:block}.ve-erf thead{display:none}.ve-erf tr{display:grid;grid-template-columns:26px repeat(3,minmax(0,1fr));gap:4px 6px;padding:6px 0;border-bottom:1px solid var(--line)}.ve-erf td{padding:0;border:0;text-align:left;min-width:0}.ve-erf td:nth-child(2){grid-column:2/-1}.ve-erf td:nth-child(3){grid-column:2}.ve-erf td[data-l]::before{content:attr(data-l);display:block;font-size:.75em;color:var(--muted,#888)}.ve-erf input.cell,.ve-erf input[name=anz],.ve-erf input[name=preis],.ve-erf input[name=rab]{width:100%}.ve-erf-rab{display:flex}.ve-erf-rab select{width:48px;flex:none}.ve-etn th:nth-child(3){width:74px}.ve-etn th:nth-child(4){width:38%}.ve-etn td,.ve-etn th{padding:6px 4px}.ve-etn th{font-size:.7em}}
.ve-st{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.82em;font-weight:600}
.ve-st-ok{background:#dcfce7;color:#166534}.ve-st-part{background:#fef3c7;color:#92400e}.ve-st-open{background:#fee2e2;color:#991b1b}
.ve-click{cursor:pointer}.ve-click:hover td{background:var(--accent-soft)}
.ve-sec{font-size:1rem;margin:16px 0 6px}
.ve-st-over{background:#ffedd5;color:#9a3412}
.ve-warn{color:#b45309;font-weight:600;margin:6px 0}.ve-warn:empty{display:none}

/* 2.5.9: Handy – Seitenleiste scrollbar, Verwaltungs-Links immer erreichbar */
@media (max-width:860px){
  .sidebar{bottom:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .side-foot{position:sticky!important;bottom:0;z-index:2;background:var(--panel);border-top:1px solid var(--line);padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}
}
.profile-links{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}

/* 2.6.0: Adressen + QR in der Mandantenverwaltung */
td.urls{font-size:.88rem;min-width:180px}
.url-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:2px 0}
.url-line a{word-break:break-all}
.qr-btn{padding:1px 7px!important;font-size:.75rem!important}
.qr-big{background:#fff;padding:8px;border-radius:10px;max-width:300px;margin:8px auto}
.qr-big svg{display:block;width:100%;height:auto}
.qr-url{text-align:center;word-break:break-all}
.url-box{flex-wrap:wrap}

/* 2.7.0: Hilfe */
.help-btn{min-width:36px;font-weight:700;padding-left:10px!important;padding-right:10px!important}
.help h3{margin:18px 0 6px;font-size:1.02rem}
.help-sec{padding:2px 0 6px;border-bottom:1px solid var(--line)}
.help-sec:last-of-type{border-bottom:0}
.help-sec.on{background:var(--accent-soft);border-radius:8px;padding:2px 10px 8px}
.help-sec ul,.help-sec ol{padding-left:20px;margin:6px 0}
.help-sec li{margin:3px 0}
.help-adm{margin-top:6px;padding:6px 10px;border-left:3px solid var(--accent);background:var(--bg);border-radius:6px}
.help-adm .badge{margin-right:6px}
.help-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}#hl{display:flex;flex-direction:column;gap:2px}.help-nav a{display:block}.help-nav a.on{font-weight:600}
.mk-termin{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;padding:2px 5px;margin-top:2px;font:inherit;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--accent-soft);border-radius:0 6px 6px 0}.mk-termin.mk-lang{white-space:normal}.mk-termin:focus-visible{outline:2px solid var(--accent-text)}.mk-warn{all:unset;cursor:pointer;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:.8rem;font-weight:700;line-height:1.5}.mk-ml th{width:1%;white-space:nowrap;text-align:left;font-weight:600;vertical-align:top}.mk-ml td{height:auto}.mk-ml tr.mk-leer th{font-weight:400;color:var(--muted)}.mk-ml tr.mk-leer td{padding-top:2px;padding-bottom:2px}.mk-ml tr.mk-we th{color:var(--muted)}.mk-ml tr.mk-heute-z th{color:var(--accent-text)}.ma-b{all:unset;cursor:pointer;font:inherit;color:inherit}.ma-b:hover b{text-decoration:underline}.ma-b:focus-visible{outline:2px solid var(--accent-text);border-radius:4px}
.mk-kal{min-width:0;max-width:100%}@media (max-width:760px){.mk-wo:not(.mk-tg) th,.mk-wo:not(.mk-tg) td{min-width:132px}.mk-kal{-webkit-overflow-scrolling:touch}}
.help-nav{display:flex;flex-direction:column;gap:6px;position:sticky;top:calc(var(--top) + 10px)}
.help-nav input{width:100%}
.help-nav a{padding:6px 8px;border-radius:8px;color:var(--ink);text-decoration:none}
.help-nav a.on,.help-nav a:hover{background:var(--accent-soft)}
.help-zur{display:none}
@media (max-width:860px){.help-layout{grid-template-columns:1fr}.help-nav{position:static}
  /* Smartphone (2.114.0): ist ein Thema gewählt, steht nur das Thema da – „‹ Alle Themen“ führt zur Liste zurück */
  .help-mit-thema .help-nav #hl,.help-mit-thema .help-nav #hq{display:none}.help-mit-thema .help-zur{display:inline-flex;align-self:flex-start}}

/* 2.7.1: Adressen-Import */
.imp-rest{margin:0 0 10px;padding:8px 12px;border:1px solid var(--coral,#d4694a);border-radius:8px;background:rgba(212,105,74,.08)}.imp-rest.ok{border-color:var(--line);background:transparent;color:var(--muted)}
.imp-chip{display:inline-flex;align-items:center;gap:6px;margin:3px 6px 3px 0;padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel)}
.dlg-kopf{position:sticky;top:0;z-index:6;background:var(--panel,#fff);padding:10px 0;margin-bottom:12px;border-bottom:1px solid var(--line,#ddd)}.dlg-kopf.dlg-kopf-rand{margin:-20px -22px 14px;padding:14px 22px 10px;border-radius:14px 14px 0 0}
.dlg-kopf h2{margin:0 0 8px}.dlg-kopf .actions{margin:0;flex-wrap:wrap;overflow:visible;padding-bottom:4px}.dlg-kopf .actions>*{flex:0 0 auto;white-space:nowrap}.dlg-kopf .actions>.dlg-im-menue{display:none!important}.dlg-kopf .actions>.dlg-menue{margin-left:auto;font-size:1.05rem;line-height:1;padding-left:11px;padding-right:11px}.dlg-kopf-pop .mi-b{padding:9px 12px}
.sm-ed table[data-ohne] td,.sm-ed table[data-ohne] th,.sm-ed td[style*="border: none"],.sm-ed td[style*="border:none"]{outline:1px dashed #b5b5b5;outline-offset:-1px}.dlg-kopf .err{margin:8px 0 0}.dlg-kopf .err:empty{display:none}
.ag-det>td{background:var(--bg,#f6f3ec);padding:6px 10px 10px 22px}.ag-adr{margin:0}.ag-auf{min-width:3.2em}
.sm-drop{outline:2px dashed var(--accent);outline-offset:2px;background:var(--accent-soft)}tr.sm-zieh{opacity:.5}.sm-ber tr[draggable]{cursor:grab}
.sm-ber-z{font-size:.9rem;font-weight:400}.sm-ber-z .ve-st{margin-left:4px}.ad-off{font-size:.85rem;color:var(--muted)}
.ad-konr{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 6px}.ad-konn{flex:1 1 180px}.ad-konr input{flex:1 1 160px}
.btn.ungespeichert,.btn.primary.ungespeichert{background:var(--coral,#d4694a);border-color:var(--coral,#d4694a);color:#fff;box-shadow:0 0 0 2px rgba(212,105,74,.25)}
.dok-box{margin-top:22px}
.act-more{display:none}.act-pop{position:fixed;z-index:5000;min-width:190px;max-width:86vw;background:var(--panel,#fff);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.2);padding:6px;display:flex;flex-direction:column;gap:2px}
.act-pop button{border:0;background:none;text-align:left;padding:11px 12px;border-radius:6px;font:inherit;color:var(--ink,#222);cursor:pointer}.act-pop button:hover,.act-pop button:focus{background:var(--accent-soft,#eee)}.act-pop button:disabled{opacity:.45}
html:not(.pf-alle-knoepfe) td .actions[data-mehr="an"]>*:not(.act-keep):not(.act-more){display:none!important}html:not(.pf-alle-knoepfe) td .actions[data-mehr="an"]>.act-more{display:inline-flex}
.sm-zh input{min-width:90px}.sm-zhk{display:flex;gap:4px;align-items:center}
.imp-sync{margin:10px 0;padding:8px 12px;border:1px solid var(--line);border-radius:8px}
.imp-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 12px}
.imp-map .field{margin:0;display:flex;flex-direction:column;gap:2px}
.imp-map .field span{font-size:.85rem;color:var(--muted,#666)}
tr.imp-off td{opacity:.55}

/* 2.8.0: Kontakte-/WhatsApp-Import, verknüpfte Adressen */
.adr-link{white-space:nowrap;margin-left:6px}
.imp-prev input.cell{min-width:90px;width:100%}
.imp-prev [data-on]{margin-left:4px}

/* 2.11.0: PIN-Zugänge und Rollen */
.rollen-list{display:flex;flex-wrap:wrap;gap:6px 18px;margin:4px 0}
.rollen-list .check{margin:0}
.rl-gruppe th{text-align:left;font-weight:600;padding-top:10px}
.rl-kopf{background:none;border:0;padding:0;font:inherit;font-weight:inherit;color:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px;text-align:left}
.rl-name{color:var(--link)}
#meineRollen .mr-rolle .grp-in{padding:6px 12px 8px;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px}#meineRollen .mr-n{font-weight:400;color:var(--muted)}#meineRollen .mr-anw{font-weight:400;white-space:nowrap;padding:4px 6px;min-height:32px}
#meineRollen .mr-module{list-style:none;padding-left:0;margin:4px 0}#meineRollen .mr-mz{display:flex;align-items:center;gap:8px;min-height:32px;border-bottom:1px solid var(--line)}#meineRollen .mr-mz:last-child{border-bottom:0}#meineRollen .mr-modul{flex:1;min-width:0;overflow-wrap:anywhere;padding:4px 0}#meineRollen .mr-zu{color:var(--muted);cursor:help}#meineRollen .mr-hilfe{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;text-decoration:none;font-weight:700;flex:none}
@media (max-width:700px){#meineRollen .mr-mz{min-height:44px}#meineRollen .mr-modul{padding:10px 0}#meineRollen .mr-hilfe{width:40px;height:40px}#meineRollen .mr-anw{min-height:40px}#meineRollen .mr-rolle>.grp-kopf{min-height:44px;flex-wrap:wrap}}.rl-zeig{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.rl-zeig[hidden],#rlT input[hidden]{display:none}.rl-umben{padding:0 6px}
/* Anwenderverwaltung (03.11.2026): eine Zeile je Anwender – Rollen als gekürzter Text, Rechte als Symbole; Rollen und Rechte bearbeitet das Fenster des Anwenders (Klick auf den Namen) */
.ut-tab td{vertical-align:middle}
.ut-kurz{display:block;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ut-syms{display:inline-flex;gap:5px;flex-wrap:nowrap;white-space:nowrap}.ut-sym{cursor:help}
.ut-name{color:var(--link);cursor:pointer}.ut-name:hover{text-decoration:underline}
#utF .ut-rechte,#utF .ut-felder{display:grid;gap:6px;max-width:560px;margin:6px 0 10px}
#utF .ut-r{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:8px;line-height:1.3;min-height:28px}
#utF .ut-rt{color:var(--muted)}
#utF .ut-rv{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0;overflow-wrap:anywhere}
#utF .ut-r .check{margin:0;white-space:nowrap}
#utF .ut-r select.cell{width:100%;max-width:320px;min-width:0}
#utF .ut-einl{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:560px){#utF .ut-r{grid-template-columns:1fr;gap:2px}}

/* 2.13.0: Einkaufs- und Aufgabenlisten */
.li-wrap{max-width:none;margin-top:14px}
.li-list{list-style:none;margin:0 0 8px;padding:0}
.li-item{display:flex;align-items:flex-start;gap:10px;padding:6px 4px;border-bottom:1px solid var(--line)}
.li-chk{width:24px;height:24px;flex:0 0 24px;margin-top:3px;accent-color:var(--accent)}
.li-body{flex:1;min-width:0;text-align:left;background:none;border:0;padding:2px 0;display:flex;flex-direction:column;gap:1px;color:inherit}
.li-body:disabled{cursor:default}
.li-text{font-size:1.05rem}
.li-meta{font-size:.85rem;color:var(--muted)}
.li-item.done .li-text{text-decoration:line-through;color:var(--muted)}
.li-item.late .li-text{color:var(--danger)}.li-late{color:var(--danger);font-weight:600}.li-hinw{color:#a8650a}:root[data-theme=dark] .li-hinw{color:#e0a94f}.li-druck ul{list-style:none;padding:0}.li-druck li{margin:6px 0}.li-druck .li-meta{display:block;font-size:12px;color:#555}.li-druck .li-sub{margin-left:22px}
.li-group{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 2px}
.li-done{margin-top:14px}.li-done summary{cursor:pointer;color:var(--muted);padding:6px 0}
.li-sum{text-align:right;margin:10px 4px}
.li-note{font-style:italic;white-space:pre-wrap}
.li-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.li-row3 .field{min-width:0}.li-row3 input{width:100%;min-width:0}

/* Seitenleiste: „Neu anlegen“ als Aufklappmenü */
.side-head{position:relative}.lade-hinweis{max-width:520px;margin:16px auto;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--panel);text-align:center}.lade-hinweis p{margin:4px 0}.lade-hinweis .btn{margin-top:8px}.sv-alle{all:unset;cursor:pointer;font:inherit;color:inherit;text-decoration:underline dotted;text-underline-offset:3px}.sv-alle:hover{color:var(--link)}.sv-alle:focus-visible,.pv-z:focus-visible,.pv-wahl:focus-visible{outline:2px solid var(--accent-text);border-radius:4px}.pv-z{all:unset;cursor:pointer;display:inline-block;min-width:28px;height:26px;line-height:26px;text-align:center;border-radius:6px;color:var(--muted)}.pv-z.an{color:inherit;font-weight:700}.pv-z:hover{background:var(--accent-soft)}.pv-wahl{all:unset;cursor:pointer;display:block;width:100%;min-height:24px;border-radius:6px;padding:2px 4px;margin:-2px -4px}.pv-wahl:hover{background:var(--accent-soft)}.zeile-aktiv,tr.zeile-aktiv>td,tr.zeile-aktiv>th{background:var(--accent-soft)!important}li.li-item.zeile-aktiv,.list-row.zeile-aktiv{box-shadow:inset 3px 0 0 var(--accent)}tr.zeile-aktiv>td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.side-kl{cursor:pointer;user-select:none}.side-kl:hover span{color:var(--ink)}.side-pf{display:inline-block;width:1.1em;font-style:normal}.side-kl .side-pf::before{content:"▸";display:inline-block;transition:transform .15s}.side-kl[aria-expanded=true] .side-pf::before{transform:rotate(90deg)}.ver.cur h3{color:inherit}.pw-wrap{position:relative;display:block}.pw-wrap input{padding-right:42px}.pw-auge{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:34px;height:30px;padding:0;border:0;background:none;cursor:pointer;font-size:1rem;line-height:1;opacity:.55;border-radius:6px}.pw-auge:hover,.pw-auge.an{opacity:1}
.tree-menu-btn{background:none;border:1px solid transparent;border-radius:8px;padding:5px;display:inline-flex;color:var(--ink);cursor:pointer}
.tree-menu-btn:hover,.tree-menu-btn[aria-expanded=true]{border-color:var(--line);background:var(--bg)}
.tree-menu-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.tree-tools{position:absolute;right:10px;top:calc(100% - 2px);z-index:30;flex-direction:column;gap:0;min-width:200px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #00000026}
.tree-tools button.small{font-size:.95rem;padding:9px 12px;border:0;background:none;text-align:left;border-radius:6px;color:var(--ink);white-space:nowrap;cursor:pointer}
.tree-tools button.small:hover,.tree-tools button.small:focus-visible{background:var(--accent-soft)}
/* Knopf- und Werkzeugleisten im Inhalt brechen nicht um – bei wenig Platz seitlich wischen */
.main .actions,.main .ve-tools,.main .toolbar,.main .wa-bar,.main .sel-bar,.main .sec-tools{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.main .actions>*,.main .ve-tools>*,.main .toolbar>*,.main .wa-bar>*,.main .sel-bar>*,.main .sec-tools>*{flex-shrink:0;white-space:nowrap}
.main .ve-tools>.grow,.main .wa-bar>.hint{flex:1 0 160px;min-width:160px;white-space:normal}
.main .page-head>.actions{min-width:0}
/* Einkaufsliste als Tabelle je Gruppe */
.li-tab th.num,.li-tab td.num{text-align:right;white-space:nowrap}
.li-tab{table-layout:fixed;border-collapse:collapse;width:100%;min-width:900px}
.li-tab th,.li-tab td{padding-left:8px;padding-right:8px;box-sizing:border-box}
.li-tab th:nth-child(2){width:auto}
.li-tab tr.li-item{display:table-row;padding:0;border:0}
.li-tab th:nth-child(3),.li-tab th:nth-child(4){width:74px}.li-tab th:nth-child(5){width:94px}
.li-tab th:nth-child(6){width:80px}.li-tab th:nth-child(7),.li-tab th:nth-child(8){width:96px}.li-tab th:nth-child(9){width:122px}.li-tab th{white-space:nowrap}
.li-tab td{vertical-align:top;overflow-wrap:anywhere}
.li-tab .li-c{width:42px;padding-right:0}
.li-tab .li-chk{margin-top:0}
.li-tab .li-body{width:100%;cursor:pointer}
.li-tab .li-text{font-size:1rem}
.li-tab tr.done td{color:var(--muted)}
.li-tab tfoot td{font-weight:600;border-top:2px solid var(--line);border-bottom:0}
/* Testansicht (Rollen testen) */
.pv-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;padding:8px 14px calc(8px + env(safe-area-inset-bottom));background:var(--coral);color:#fff;font-size:.92rem;box-shadow:0 -2px 12px #00000033}
.pv-bar .btn{border-color:transparent}
body.pv-on{padding-bottom:var(--pvh,64px)}body.pv-on .sidebar{height:calc(100vh - var(--top) - var(--pvh,64px));padding-bottom:0}
/* Balken unten verdeckt nichts (28.10.2026): Stammdaten-Fenster und am Handy die Menü-Schublade enden über dem Balken; am Handy eine Zeile */
.pv-bar .pv-kurz{display:none}
body.pv-on .ov{bottom:var(--pvh,64px)}
body.pv-on .tb-aw-unten{bottom:var(--pvh,64px);padding-bottom:10px}body.pv-on .tb-aw-blatt{bottom:calc(64px + var(--pvh,64px))}
@media (max-width:860px){body.pv-on .sidebar{bottom:var(--pvh,64px)!important}body.pv-on .side-foot{padding-bottom:8px!important}}
@media (max-width:600px){.pv-bar{flex-wrap:nowrap;gap:8px;padding:5px 10px calc(5px + env(safe-area-inset-bottom));font-size:.85rem;justify-content:space-between}.pv-bar .pv-lang{display:none}.pv-bar .pv-kurz{display:inline}.pv-bar>.pv-kurz{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-bar .btn{padding:4px 10px;min-height:0;flex:0 0 auto}}
.pv-warn{color:var(--danger)}
.pv-tab td,.pv-tab th{white-space:nowrap}.pv-tab td:last-child{white-space:normal}
/* Stammdaten-Fenster über der geöffneten Seite */
.ov{position:fixed;top:var(--top,56px);left:var(--side,280px);right:0;bottom:0;z-index:15;background:var(--bg);overflow:auto;overscroll-behavior:contain;box-shadow:-6px 0 24px #00000026}
.ov-head{position:sticky;top:0;z-index:11;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px clamp(16px,4vw,48px);background:var(--panel);border-bottom:1px solid var(--line)}
.ov-body{display:block;padding-bottom:90px}
body.ov-on{overflow:hidden}
@media (max-width:860px){.ov{left:0}}
@media (max-width:600px){#btnBack{padding:6px 0;margin:0 -6px}}
/* Unteraufgaben */
.li-item.li-sub{margin-left:34px;padding-top:4px;padding-bottom:4px}
.li-item.li-sub .li-text{font-size:.98rem}
.li-addsub{align-self:center;white-space:nowrap}
.li-chk:disabled{opacity:.45}
/* Belege */
/* Lauf-Anzeige beim Erkennen (Harald 05.11.2026): Hinweis mit Dreh-Symbol, bricht lange Dateinamen am iPhone um */
.bi-lauf{display:flex;align-items:center;gap:10px;margin:8px 0;padding:8px 12px;border:1px solid var(--accent);border-radius:8px;background:var(--accent-soft);color:var(--ink);font-size:.92rem;line-height:1.35}
/* Belegart im Kopf des Belegfensters (05.11.2026): Auswahl, daneben der abweichende Vorschlag der KI */
.be-kopfart{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:4px 0 2px;font-size:.92rem}.be-kopfart select{max-width:100%;min-width:0;padding:4px 8px}
.be-kivor{display:inline-block;padding:1px 8px;border-radius:99px;border:1px solid currentColor;color:var(--danger);font-size:.82rem;white-space:normal}
/* Belegbild vergrößern (05.11.2026): Knopf an der Ansicht, Klickfläche über dem PDF, bildschirmfüllende Ansicht mit Zoom */
.be-orig-zoom{position:relative}.be-gross{position:absolute;top:6px;right:6px;z-index:2;box-shadow:0 1px 4px #0003}.be-klickflaeche{position:absolute;inset:0;z-index:1;cursor:zoom-in}.be-orig-zoom .be-bild{cursor:zoom-in}
.bz-wrap{position:fixed;inset:0;z-index:9000;display:flex;flex-direction:column;background:#141414f2;color:#fff;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.bz-leiste{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 12px;background:#000a}.bz-titel{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.bz-k{display:flex;align-items:center;gap:6px;margin-left:auto}.bz-k .btn{min-width:40px;min-height:40px}.bz-proz{min-width:52px;text-align:center;font-variant-numeric:tabular-nums}
.bz-flaeche{position:relative;flex:1 1 auto;overflow:hidden;touch-action:none;cursor:grab;outline:0}.bz-flaeche.bz-zieht{cursor:grabbing}
.bz-inhalt{position:absolute;left:0;top:0;transform-origin:0 0;display:flex;flex-direction:column;align-items:flex-start;gap:12px;will-change:transform}
.bz-seite{display:block;background:#fff;box-shadow:0 2px 12px #0008;user-select:none;-webkit-user-drag:none;max-width:none}.bz-lade{display:flex;align-items:center;gap:8px;margin:24px;color:#fff}
/* Vorgang im Belegfenster (05.11.2026): Schrittleiste ① … ④, aktueller Schritt hervorgehoben, erledigte mit ✓; darunter, was zu tun ist */
.be-vorgang{margin:2px 0 4px}.be-schritte{display:flex;flex-wrap:wrap;gap:4px 6px;list-style:none;margin:0;padding:0;font-size:.85rem}
.be-schritte li{display:inline-flex;align-items:center;gap:5px;padding:2px 10px 2px 3px;border:1px solid var(--line);border-radius:99px;color:var(--muted);background:var(--panel)}
.be-schritte .be-sn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--line);color:var(--ink);font-size:.78rem;font-weight:700}
.be-schritte li.akt{border-color:var(--accent);color:var(--ink);font-weight:600;background:var(--accent-soft)}.be-schritte li.akt .be-sn{background:var(--accent);color:var(--accent-ink)}
.be-schritte li.fertig .be-sn{background:var(--accent-soft);color:var(--link)}
.be-todo{margin:4px 0 0;font-size:.9rem;overflow-wrap:anywhere}.be-todo .small{margin-left:4px}
@media (max-width:600px){.be-schritte{font-size:.78rem}.be-schritte li{padding-right:7px}}
.bi-lauf>.ar-dreh{flex:0 0 auto;width:18px;height:18px}.bi-lauf-t{min-width:0;overflow-wrap:anywhere}.bi-laeuft,.bi-laeuft:disabled{cursor:progress}
.be-art{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--bg)}
/* Versionsanzeige */
.side-ver{padding:8px 14px 12px}
.ver-btn{background:none;border:0;padding:2px 0;font-size:.8rem;color:var(--muted);cursor:pointer;text-align:left}
.ver-btn:hover{color:var(--link);text-decoration:underline}
#verList{max-height:62vh;overflow:auto;margin:6px 0 14px}
.ver{padding:8px 0;border-bottom:1px solid var(--line)}.ver:last-child{border-bottom:0}
.ver h3{margin:0 0 4px;font-size:1rem}.ver ul{margin:0;padding-left:20px}.ver li{margin:2px 0}
.ver.cur h3{color:var(--accent-text)}
.be-zrow{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:8px;margin-bottom:6px}
.be-zrow select,.be-zrow input{width:100%;min-width:0}
.ve-sammel td{background:var(--accent-soft)}
/* Mandantenwahl an der Stelle des Namens in der Kopfzeile */
.brand-sel{background:transparent;color:inherit;border:0;border-radius:8px;padding:4px 2px;margin-left:-4px;font:inherit;font-weight:700;font-size:1.1rem;max-width:min(52vw,460px);text-overflow:ellipsis;cursor:pointer}
.brand-sel:hover,.brand-sel:focus{background:#ffffff26}.brand-neu{border:0;background:none;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:2px;border-radius:8px;color:inherit;opacity:.8;vertical-align:middle}.brand-neu:hover,.brand-neu:focus-visible{background:#ffffff26;opacity:1}
.brand-sel option{color:#000;font-weight:400}
#brandSel:empty{display:none}
@media (max-width:600px){.brand-sel{font-size:.9rem;max-width:40vw}}
.be-arow{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px;margin-bottom:6px}
.be-arow input{width:100%;min-width:0}
/* Stände, Schichten, Helfer */
.st-badge{font-size:.78rem;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}
.st-rot{background:#b3261e1f;color:var(--danger)}.st-gruen{background:var(--accent-soft);color:var(--accent-text)}
.st-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0;padding:2px 14px 8px}
.st-chip{display:inline-flex;align-items:center;gap:4px;margin:2px 6px 2px 0;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--bg);font-size:.9rem;white-space:nowrap}
.st-chip.st-bad{border-color:var(--danger);color:var(--danger)}
.st-x{border:0;background:none;color:inherit;cursor:pointer;padding:0 0 0 2px;font-size:.8rem}
.st-fehlt,.st-bad-t{color:var(--danger)}
/* Stände als Baum im Tabellen-Baustein (24.10.2026): Stand › Schicht › Helfer – Name bzw. Tag anklicken öffnet das Fenster (Klick in die erste Spalte) */
.st-name{font-weight:700;font-size:1.02rem;cursor:pointer}.st-name:hover,.st-tag:hover{text-decoration:underline}
.st-tag{cursor:pointer;color:var(--accent-text);font-weight:600}
.st-chips{display:flex;flex-wrap:wrap}
.pin-val{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.04em}
/* Serienmail: Editor */
.sm-tb{position:static;border-radius:8px 8px 0 0}
.sm-tb select{border:1px solid var(--line);border-radius:6px;background:var(--bg);padding:3px 6px;font-size:.88rem}
.sm-ed{min-height:170px;max-height:38vh;overflow:auto;border:1px solid var(--line);border-radius:0 0 8px 8px;background:var(--bg);padding:10px 12px;outline:none}
.sm-ed:focus{border-color:var(--accent)}
.sm-ed:empty::before{content:attr(data-ph);color:var(--muted)}
.ad-zus{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 14px}
.ad-calc{background:transparent;color:var(--muted)}.ad-calc.ad-calc-err{color:var(--danger)}
.sm-mf{margin:0 0 12px;border:1px solid var(--line);border-radius:8px;padding:8px 12px}.sm-mf summary{cursor:pointer;font-weight:600}
.sm-mfr{display:grid;grid-template-columns:minmax(110px,1fr) 2fr auto;gap:8px;margin-bottom:6px;align-items:center}
.sm-ber .grp-info{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.sm-ber .grp-r{display:inline-flex;gap:4px;font-weight:400}.sm-ber-b{padding:4px 0 6px}
.sm-grp .table{margin-top:4px}
.sm-ed img{max-width:100%;height:auto}.sm-ed img.ed-sel{outline:2px solid var(--accent);outline-offset:2px}.sm-ed table{margin:.4em 0}.ed-ctx{display:inline-flex;gap:4px;align-items:center}.ed-ctx[hidden]{display:none}
.sm-vkopf{border:1px solid var(--line);border-radius:8px 8px 0 0;border-bottom:0;padding:8px 12px;background:var(--panel)}.sm-vrahmen{width:100%;height:46vh;border:1px solid var(--line);border-radius:0 0 8px 8px;background:#fff}.sm-sigv img{max-width:160px;height:auto}.sm-sigv table{font-size:.9em}
.sm-ed p{margin:0 0 .6em}
.sm-ed h1{font-size:1.5em;margin:.2em 0 .4em}.sm-ed h2{font-size:1.3em;margin:.2em 0 .4em}.sm-ed h3{font-size:1.15em;margin:.2em 0 .4em}.sm-ed h4{font-size:1em;margin:.2em 0 .4em}
.sm-name{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--link);cursor:pointer;text-align:left}.sm-name:hover{text-decoration:underline}
.sm-ed.sm-zu{background:transparent;color:var(--muted)}
.sm-vs{white-space:nowrap}
.sm-sp{margin:6px 0 8px}.sm-sp summary{cursor:pointer;font-weight:600}.sm-sp .be-art{margin:6px 0 2px}
/* Dunkle Ansicht: der Editor bleibt „weißes Papier“ wie Mail und Brief beim Empfänger – sonst ist eingefügter Text mit eigener dunkler Schriftfarbe unsichtbar */
:root[data-theme=dark] .sm-ed{background:#fff;color:#1d2a2e;color-scheme:light;--ink:#1d2a2e;--muted:#5d6b6f;--line:#cfc9bb;--link:#0e5a6b;--accent-soft:#dcecef}:root[data-theme=dark] .sm-ed a{color:#0e5a6b}:root[data-theme=dark] .sm-ed.sm-zu{background:#f3f1ea;color:#1d2a2e}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sm-ed{background:#fff;color:#1d2a2e;color-scheme:light;--ink:#1d2a2e;--muted:#5d6b6f;--line:#cfc9bb;--link:#0e5a6b;--accent-soft:#dcecef}:root:not([data-theme=light]) .sm-ed a{color:#0e5a6b}:root:not([data-theme=light]) .sm-ed.sm-zu{background:#f3f1ea;color:#1d2a2e}}
.xt-mx td,.xt-mx th{vertical-align:top;border:1px solid var(--line)}.xt-mx tbody th{text-align:left;white-space:nowrap}.xt-me{padding:2px 0}.xt-me+.xt-me{border-top:1px dashed var(--line);margin-top:4px;padding-top:4px}.xt-me[data-ed]{cursor:pointer}.xt-me[data-ed]:hover{background:var(--accent-soft)}
.um-fr{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0}.um-bar{display:grid;grid-template-columns:minmax(90px,1fr) 2fr auto;gap:8px;align-items:center;margin:3px 0}.um-b{background:var(--accent-soft);border-radius:4px;height:14px;overflow:hidden}.um-b i{display:block;height:100%;background:var(--accent)}.um-txt{max-height:24vh;overflow:auto;margin:4px 0;padding-left:20px}.um-pub .um-q{margin:18px 0}.um-pub .um-q>label{font-weight:600;font-size:1rem}.um-unter{flex-direction:column;align-items:flex-start}.um-ein{margin:8px 0 16px}
tr.pg-aus{display:none}.pg{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 14px}.pg .grow{flex:1}.pg select{width:auto;display:inline-block;padding:4px 8px}@media print{.pg{display:none}tr.pg-aus{display:table-row}}
.pv-bar.ver-neu{background:var(--accent);color:var(--accent-ink);z-index:61}.ver-neu .btn{background:var(--panel);color:var(--ink)}
/* Leiste „Neue Version“ (28.10.2026): steht über der Testansicht-Leiste, hält unten Platz frei und bricht am Handy um (Text oben volle Breite, Knöpfe darunter) */
.ver-neu .btn.primary{background:var(--accent-ink);color:var(--accent);font-weight:700;border-color:transparent}
.ver-neu .ver-menue{display:inline-flex}
body.pv-on .pv-bar.ver-neu{bottom:var(--pvh,64px)}
body.ver-on:not(.pv-on){padding-bottom:var(--verh,0px)}body.ver-on.pv-on{padding-bottom:calc(var(--pvh,64px) + var(--verh,0px))}
body.ver-on:not(.pv-on) .ov{bottom:var(--verh,0px)}body.ver-on.pv-on .ov{bottom:calc(var(--pvh,64px) + var(--verh,0px))}
body.ver-on:not(.pv-on) .dlg-wrap.dlg-zu{bottom:calc(var(--verh,0px) + 8px)}body.ver-on.pv-on .dlg-wrap.dlg-zu{bottom:calc(var(--pvh,64px) + var(--verh,0px) + 8px)}
@media (max-width:860px){body.ver-on:not(.pv-on) .sidebar{bottom:var(--verh,0px)!important}body.ver-on.pv-on .sidebar{bottom:calc(var(--pvh,64px) + var(--verh,0px))!important}}
@media (max-width:767px){body.ver-on:not(.pv-on) .dlg-wrap.dlg-zu{bottom:var(--verh,0px)}body.ver-on.pv-on .dlg-wrap.dlg-zu{bottom:calc(var(--pvh,64px) + var(--verh,0px))}}
@media (max-width:600px){.pv-bar.ver-neu{flex-wrap:wrap;justify-content:flex-start;gap:6px 8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
  .pv-bar.ver-neu>span:first-child{flex:1 1 100%;min-width:0;white-space:normal;overflow:visible;line-height:1.3}
  .pv-bar.ver-neu .btn{flex:0 1 auto;min-width:0;padding:6px 12px}.pv-bar.ver-neu .btn.primary{order:-1}
  .pv-bar.ver-neu>span:first-child{order:-2}.ver-neu .ver-menue{margin-left:auto}}
a.ver-btn{display:block;text-decoration:none}a.ver-btn:hover{text-decoration:underline}
.ef-kopf{position:sticky;top:var(--top);z-index:6;background:var(--bg);padding:10px 0 8px;margin-bottom:12px;border-bottom:1px solid var(--line);align-items:center}.ef-kopf h1{margin:0;flex:1 1 auto}.ef-kopf .err{flex:1 1 100%;margin:0}.ef-kopf .err:empty{display:none}
.kal-leiste{align-items:center}.kal-leiste select{width:auto}#kaMonat{min-width:9.5em;text-align:center}.kal-punkt{display:inline-block;width:.75em;height:.75em;border-radius:50%;margin-right:6px;vertical-align:baseline}
.kal-gitter{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--line);gap:1px;margin-top:10px}
.kal-wt{background:var(--panel);padding:6px 8px;font-size:.78rem;font-weight:700;text-transform:uppercase;color:var(--muted)}.kal-tag{background:var(--panel);min-height:96px;padding:4px;display:flex;flex-direction:column;gap:2px;cursor:pointer}
.kal-tag.kal-aus{background:var(--bg)}.kal-tag.kal-aus .kal-nr{color:var(--muted)}.kal-nr{font-size:.85rem;font-weight:600;padding:0 3px}.kal-heute .kal-nr{background:var(--accent);color:var(--accent-ink);border-radius:999px;align-self:flex-start;padding:0 7px}
.kal-t{all:unset;box-sizing:border-box;display:block;width:100%;font-size:.8rem;line-height:1.25;padding:2px 5px;border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:4px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kal-t span{color:var(--muted)}.kal-t:hover{filter:brightness(.95)}
.kal-mehr{padding:0 4px;font-size:.75rem}.kal-z{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:5px 0;border-bottom:1px solid var(--line)}.kal-z .kal-t{width:auto;max-width:100%;font-size:.95rem}.kal-abo{margin:10px 0 16px}
@media (max-width:700px){.kal-tag{min-height:64px}.kal-t{font-size:.68rem;padding:1px 3px;border-left-width:3px}.kal-wt{padding:4px;font-size:.7rem}}
.xb-sp{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:4px 14px}.xb-spz{display:flex;gap:6px;align-items:center}.xb-spz .check{flex:1 1 auto;margin:0;min-width:0}.xb-spz select{width:auto;max-width:150px;padding:3px 6px;font-size:.85rem}
.xb-ge{align-items:flex-end}.xb-ge .field{margin-bottom:4px}tr.xb-gr td{background:var(--accent-soft);cursor:pointer}tr.xb-gr.xb-e1 td{background:color-mix(in srgb,var(--accent-soft) 60%,var(--panel))}tr.xb-gr.xb-e2 td{background:color-mix(in srgb,var(--accent-soft) 30%,var(--panel))}
.xb-kl{all:unset;cursor:pointer;display:inline-block;width:1.4em;text-align:center;font-size:1rem}tr.xb-sum td,tr.xb-ges td{border-top:2px solid var(--line)}tr.xb-ges td{background:var(--accent-soft)}

/* 2.94.0: Mein Kalender (Aufgaben und erfasste Zeiten als Monat), Verschieben in der Aufgabenliste */
.mk-wrap{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}.mk-kal{flex:3 1 560px}.mk-ohne{flex:1 1 240px;min-width:220px}
.mk-tab{table-layout:fixed}.mk-tab td{vertical-align:top;height:92px;padding:4px 6px;border:1px solid var(--line)}.mk-tab th{text-align:center}.mk-t{font-size:.8rem;color:var(--muted);text-align:right}
.mk-aus{opacity:.45}.mk-heute .mk-t{color:var(--accent-text);font-weight:700}.mk-e{display:block;font-size:.8rem;line-height:1.25;margin:2px 0;padding:2px 5px;border-radius:5px;background:var(--accent-soft);color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-e.mk-zu{text-decoration:line-through;opacity:.6}.mk-e.mk-ue{background:color-mix(in srgb,var(--danger) 16%,var(--panel));color:var(--danger)}.mk-sum{font-size:.8rem;text-align:right}
.li-mv{display:inline-flex;gap:2px;margin-right:4px}

/* 2.96.0: Erfassen im Fenster – das Formular steht versteckt auf der Seite und wandert beim Öffnen ins Fenster */
form[data-erf][hidden]{display:none!important}.erf-platz{margin:10px 0 14px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.erf-box>form.inline-form{margin:0;border:0;padding:0;background:none}

/* 2.98.0: Unteraufgaben ein- und ausklappen */
.li-subkl{flex:0 0 22px;width:22px;height:24px;margin:3px -4px 0 0;padding:0;border:0;background:none;color:var(--muted);font-size:1rem;line-height:24px;text-align:center;cursor:pointer;border-radius:6px}button.li-subkl:hover{background:var(--line);color:inherit}.li-subkl-leer{cursor:default}.li-item.li-sub{margin-left:56px}.zl-a[hidden]{display:none!important}

/* 2.99.0: Mein Kalender – Wochen- und Tagesansicht, Bearbeiten per Klick, Ziehen auf einen anderen Tag */
.mk-e{display:flex;align-items:flex-start;gap:2px;padding:0}.mk-e .mk-b{all:unset;cursor:pointer;flex:1 1 auto;min-width:0;padding:2px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit;color:inherit}.mk-e .mk-b:focus-visible{outline:2px solid var(--accent-text)}
.mk-li{flex:0 0 auto;padding:2px 5px;text-decoration:none;color:inherit;opacity:.65}.mk-li:hover{opacity:1}.mk-e[draggable]{cursor:grab}a.mk-e{display:block;padding:2px 5px}
.mk-lang .mk-b,a.mk-lang{white-space:normal}.mk-wo td{height:340px}.mk-tg td{height:auto;min-height:200px}.mk-wo th.mk-heute-k{color:var(--accent-text)}.mk-ziel{outline:2px dashed var(--accent);outline-offset:-3px}
.mk-ohne .mk-e{margin:4px 0}
/* 2.113.0 – Smartphone (Harald 14.10.2026): Kopfzeile ohne Umbruch, keine fixierte erste Spalte, feste Spaltenbreite in der Woche, Monat als Liste gestapelt */
#brandSel{display:inline-flex;align-items:center;flex:0 1 auto;min-width:0;white-space:nowrap}#brandSel .brand-sel{min-width:0;flex:0 1 auto}#brandSel .brand-neu{flex:0 0 auto}
@media (max-width:760px){
  .brand-sel{max-width:34vw}
  :where(.table-wrap>.table>tbody) td:first-child,:where(.table-wrap>.table>tbody) th:first-child,:where(.table-wrap>.table>thead) th:first-child{position:static;box-shadow:none}
  .mk-wo:not(.mk-tg){table-layout:fixed;width:max-content;min-width:100%}.mk-wo:not(.mk-tg) th,.mk-wo:not(.mk-tg) td{width:132px;min-width:132px;max-width:132px}
  .mk-ml,.mk-ml tbody{display:block;width:100%}.mk-ml tr{display:block;border-bottom:1px solid var(--line)}.mk-ml th,.mk-ml td{display:block;width:auto;max-width:none;border:0;height:auto;padding:4px 6px}
  .mk-ml th{padding-top:8px}.mk-ml tr.mk-leer td:empty{display:none}.mk-ml tr.mk-leer th{padding:4px 6px}
}
.mk-ml td{height:auto}.mk-ml th{position:static!important;box-shadow:none!important}

/* 2.116.0 – Bedienung mit dem Finger: ☰ entfällt in Kalender und Meine Aufgaben, Antippen öffnet ein Menü (Bearbeiten · Aufgabenliste öffnen) */
@media (hover:none) and (pointer:coarse){.mk-e .mk-li,#maL .mk-li{display:none}}
.kal-t.kal-lang{white-space:normal;font-size:.85rem;margin-top:2px}.mk-tab .kal-t{margin-top:2px}.kal-t[draggable]{cursor:grab}
.kal-t[draggable]{-webkit-user-drag:element;user-select:none}

/* Auswahl „Zuständig“ kompakt (2.131.0): Kärtchen der Gewählten, aufklappbare Liste mit Suche */
.zu-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:2px 0}
.zu-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card,#fff);font-size:.92em}
.zu-chip button{all:unset;cursor:pointer;padding:0 6px;color:var(--muted,#777)}
.zu-chip button:hover{color:var(--danger,#b00)}
.zu-panel{margin-top:6px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;max-height:240px;overflow:auto}
.zu-panel .rollen-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:2px 14px}
.zu-such{width:100%;margin:0 0 6px}

/* Großes Fenster (2.138.1): fast der ganze Bildschirm, der Bereich .dlg-voll (z. B. Editor) füllt die Höhe; am Smartphone randlos */
.dlg-wrap-gross{padding:0 12px;align-items:center}.dlg.gross{max-width:none;width:100%;height:calc(100dvh - 24px - var(--unten-belegt,0px));margin:12px 0;display:flex;flex-direction:column;overflow:auto}
.dlg.gross>form,.dlg.gross>div:not(.dlg-kopf){display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
/* Tabellen im großen Fenster nie zusammendrücken: mit overflow schrumpft die Hülle sonst auf 0 px und die Zeilen sind unsichtbar (Harald 31.10.2026, Rechnung: „+ Position“). Das Fenster selbst scrollt. */
.dlg.gross>form>.table-wrap,.dlg.gross>div:not(.dlg-kopf)>.table-wrap{flex-shrink:0}
.dlg.gross .dlg-voll{flex:1 1 auto;display:flex;flex-direction:column;min-height:260px;margin-bottom:8px}.dlg.gross .dlg-voll .sm-ed{flex:1 1 auto;max-height:none;max-width:none;min-height:200px;overflow:auto}
@media (max-width:700px){.dlg-wrap-gross{padding:0}.dlg.gross{height:calc(100dvh - var(--unten-belegt,0px));margin:0;border-radius:0;padding:14px 14px calc(14px + env(safe-area-inset-bottom))}.dlg.gross .dlg-kopf.dlg-kopf-rand{margin:-14px -14px 12px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;border-radius:0}}

/* Gemeinsame DMS-Liste (2.139.0): Symbol mit Anzahl vor dem Namen (Versionen bzw. PDF-Ausgaben), aufgeklappte Einträge eingerückt */
.dms-table .dms-name{min-width:200px}.dms-nz{display:flex;align-items:center;gap:6px}.dms-nz>a{display:inline-flex;align-items:center;gap:8px;min-width:0;word-break:normal;overflow-wrap:anywhere}.dms-notiz{margin-left:26px}.dms-nz .dms-pdfz{display:inline-flex}
.dms-zahl{font-size:.72rem;font-weight:600;padding:1px 7px;margin-right:2px;border-radius:99px;border:1px solid var(--line);background:var(--accent-soft);color:var(--link);vertical-align:middle;white-space:nowrap}.dms-zahl:hover{border-color:var(--accent)}.dms-zahl[aria-expanded=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.dms-pdfz:empty{display:none}.dms-table tr.dms-unter td{padding:4px 10px 4px 44px;font-size:.88rem;background:var(--bg)}.dms-table tr.dms-unter a{text-decoration:none}
.dms-table th{white-space:nowrap}

/* DMS-Liste kompakt (2.143.0, Harald 15.10.2026): Name und Status je in einer Zeile (zu lange Namen enden mit …, ganz zu sehen beim Darüberfahren), keine Zeile höher als zwei Textzeilen */
.dms-table .dms-name{max-width:min(460px,60vw)}.dms-nz{min-width:0}.dms-nz>a{min-width:0;overflow:hidden}.dms-nz>a>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.dms-table td.dms-st{white-space:nowrap}.dms-2z{min-width:170px;max-width:260px}.dms-2z,.dms-notiz{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dms-table td .actions{flex-wrap:nowrap}
/* Spaltenbreite in eigenen HTML-Tabellen (spBreite, 06.11.2026): Griff am rechten Rand der Überschrift, nur mit Maus ab 861 px */
.spb-griff{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;z-index:4;touch-action:none;user-select:none}
.spb-griff::after{content:"";position:absolute;top:22%;bottom:22%;right:3px;width:2px;border-radius:1px;background:transparent}
th:hover>.spb-griff::after,.spb-zieht .spb-griff::after{background:var(--line)}.spb-griff:hover::after{background:var(--accent)}
.spb-zieht,.spb-zieht *{user-select:none;cursor:col-resize!important}
table.spb-fest>thead>tr>th,table.spb-fest>tbody>tr>td{overflow:hidden;text-overflow:ellipsis}
table.spb-fest .dms-name{min-width:0;max-width:none}table.spb-fest .dms-2z{min-width:0;max-width:none}
/* Spaltenbreite mit dem Finger (Harald 11.11.2026): am Touch-Gerät breiterer Griff mit sichtbarer Linie – eigene HTML-Tabellen (spBreite) und Tabulator (Kopfzeile) */
@media (pointer:coarse){.spb-griff{width:18px}.spb-griff::after{background:var(--line)}.tabulator .tabulator-header .tabulator-col-resize-handle{width:22px;margin-left:-11px;margin-right:-11px;touch-action:none}}
/* Dateiname mit Endung (Baustein dateiName): gekürzt wird vor der Endung; Dateityp-Symbol mit Kürzel (dateiSymbol), farbig je Art (11.11.2026) */
.dn{display:inline-flex;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;vertical-align:bottom}.dn-s{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dn-e{flex:none;white-space:nowrap}.dms-titel-w>.dn{display:flex}
.dt-sym,.dms-nz>a>.dt-sym{position:relative;display:inline-flex;flex:none;overflow:visible;line-height:1}.dt-sym svg{width:18px;height:18px}
.dt-sym[data-ext]::after{content:attr(data-ext);position:absolute;left:50%;bottom:-3px;transform:translateX(-50%);font:700 7.5px/1 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;padding:1px 2px;border-radius:3px;background:#5d6b6f;color:#fff;white-space:nowrap;pointer-events:none}
.dt-video::after{background:#7c3aed}.dt-bild::after{background:#15803d}.dt-pdf::after{background:#b3261e}.dt-text::after{background:#1d5fa8}.dt-tabelle::after{background:#1c6b3a}.dt-praes::after{background:#c2410c}.dt-audio::after{background:#0e7490}.dt-archiv::after{background:#6b7280}
/* iPhone (≤ 700 px): „⋯“ statt „⋯ Mehr“, Status nur als Symbol, der Name nimmt den Rest der Breite – keine waagerechte Überbreite (11.11.2026) */
@media (max-width:700px){.act-more-t{display:none}.dms-kzt{display:none}.dms-table td{padding:6px}.dms-table .dms-name{min-width:0;max-width:0;width:100%}.dms-table td.dms-st{width:1%}.dms-table .dms-st .hint{display:none}}

/* DMS (2.145.0): volle Breite; Versionen-Knöpfe rechts in der aufgeklappten Zeile */
.dms-sec{max-width:none}.dms-table tr.dms-unter td{white-space:nowrap}.dms-vakt{float:right;display:inline-flex;gap:6px;margin-left:12px}

/* Ablage an der Aufgabenliste (2.146.0) */
.li-ablage{margin:22px 0 8px;border-top:1px solid var(--line);padding-top:12px}.li-ablage>summary{cursor:pointer;padding:6px 0}.li-ablage .dms-sec{margin:10px 0}
.ablage-box .dms-sec{margin:10px 0}.dlg .li-ablage{margin-top:16px}

/* DMS-Volltextsuche (2.150.0) */
.dms-suche{margin:0 0 10px;gap:8px}.dms-table tr.dms-treffer td{background:color-mix(in srgb,var(--accent,#2b6cb0) 12%,transparent)}.dms-such mark{background:#fde68a;color:inherit;padding:0 1px;border-radius:2px}.dms-auszug{display:block;white-space:normal;margin-top:2px}
.tool.tool-aus{opacity:.5}

/* DMS-Suche (2.152.0): Rückweg zu den Treffern, schon geöffnete Treffer */
.dms-zurueck{margin:6px 0 10px;padding:8px 12px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;background:var(--panel)}.dms-zurueck a{font-weight:600}.dms-zurueck a.hint{font-weight:400}
.dms-such tr.dms-besucht td{opacity:.7}.dms-such tr.dms-besucht .dms-nz a::after{content:" ✓";color:var(--muted);font-weight:400}
.zu-liste{margin:6px 0 4px;padding-left:18px}.zu-liste li{margin:2px 0}.zu-box .actions{margin:4px 0}

/* Glocke in der Kopfzeile (2.157.0): roter Punkt mit Zahl, Popup mit Sprung zur Stelle */
.glocke-btn{position:relative;padding:6px 10px}.glocke-btn svg{display:block}.glocke-zahl{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d92d20;color:#fff;font-size:.7rem;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--panel)}
.glocke-pop{min-width:260px;max-width:min(360px,92vw);max-height:70vh;overflow:auto}.glocke-pop button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left}.glocke-kopf{padding:8px 12px 2px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.glocke-pop .glocke-alle{border-top:1px solid var(--line);font-weight:600}

/* Kopfzeile am Smartphone (2.159.0): nur ☰, Mandant, Glocke und „⋯“ – Hilfe, Mandanten-Menü, Profil, Abmelden stehen im Menü „⋯“ */
.kopf-mehr{display:none;font-size:1.2rem;line-height:1;padding:6px 12px}.kopf-pop{min-width:240px;max-height:80vh;overflow:auto}
@media (max-width:700px){#userBox #btnHelp,#userBox a[href="#/profil"],#userBox #btnLogout,#tenantNeu{display:none!important}#userBox .kopf-mehr{display:inline-flex;align-items:center}}

/* Mehrfach-Auswahl (2.160.0) */
.sammel-bar{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin:0 0 6px;flex-wrap:wrap}.sammel-zelle{width:34px;text-align:center}.sammel-zelle input{margin:0}

/* Einfache Webseite (2.169.0): Navigation für Besucher oben, Fuß mit Impressum/Datenschutz */
.web-nav{background:var(--panel,#fff);border-bottom:1px solid var(--line,#ddd);padding:0 16px;position:relative;z-index:5}
.web-nav>ul{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;gap:2px;max-width:1100px}
.web-nav li{position:relative;list-style:none}
.web-nav a{display:block;padding:10px 12px;color:inherit;text-decoration:none;border-radius:8px;white-space:nowrap}
.web-nav a:hover,.web-nav a.on{color:var(--link);background:var(--accent-soft)}
.web-nav a.on{font-weight:600}
.web-nav li ul{display:none;position:absolute;left:0;top:100%;min-width:200px;margin:0;padding:6px;background:var(--panel,#fff);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.web-nav li.hat-unter:hover>ul,.web-nav li.hat-unter:focus-within>ul{display:block}
.web-nav-btn{display:none;margin:8px 0;background:none;border:1px solid var(--line);border-radius:8px;padding:6px 12px;color:inherit;font:inherit;cursor:pointer}
@media (max-width:760px){
  .web-nav-btn{display:inline-block}
  .web-nav>ul{display:none;flex-direction:column;padding-bottom:8px}
  .web-nav.offen>ul{display:flex}
  .web-nav li ul{display:block;position:static;border:0;box-shadow:none;padding:0 0 0 14px;min-width:0;background:none}
}
.web-fuss{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;padding:18px 16px 28px;border-top:1px solid var(--line,#ddd);font-size:.9em;color:var(--muted,#666)}
.web-fuss a{color:inherit}

/* Webseiten-Editor (2.171.0): links Struktur, rechts Seite, Fuß mit Verantwortung des Mandanten */
.ws-wrap{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:16px;align-items:start}
.ws-baum{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;position:sticky;top:calc(var(--top) + 8px)}
.ws-tools{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.ws-liste{list-style:none;margin:0;padding:0}
.ws-knoten{display:flex;gap:6px;align-items:center;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:6px 8px;color:var(--ink);font:inherit}
.ws-knoten:hover{background:var(--accent-soft)}.ws-knoten.on{background:var(--accent);color:var(--accent-ink)}.ws-knoten.on .hint{color:inherit}
.ws-pub{font-size:.85em}
.ws-edit .editable{min-height:420px}
.ws-fuss{margin-top:18px;padding:12px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:.9em;text-align:center}
@media (max-width:760px){.ws-wrap{grid-template-columns:1fr}.ws-baum{position:static}}
/* Webseiten-Editor (28.10.2026): Seitenbaum ein-/ausblenden, oben „Seite: …“; Reiter „Seite“/„Bilder“; Bilder-Tabelle mit Vorschau und Fenster „Bild ersetzen“ */
.ws-wrap.baum-zu{grid-template-columns:minmax(0,1fr)}
.ws-baum-zu{margin-right:2px}
.ws-seitwahl{display:flex;align-items:center;gap:8px;margin:0 0 10px;flex-wrap:wrap}.ws-seitwahl label{font-weight:600}.ws-seitwahl select{flex:1 1 220px;min-width:0;max-width:480px}
.ws-rt-kopf{margin:0 0 12px;border-bottom:1px solid var(--line)}.ws-rt-kopf .reiter-leiste{margin:0}
.wbi-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:8px 0 10px}.wbi-umfang{display:flex;flex-wrap:wrap;gap:4px 14px}
.wbi-vor{display:inline-flex;align-items:center;justify-content:center;width:88px;height:60px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--panel);overflow:hidden;cursor:zoom-in}
.wbi-vor img{width:100%;height:100%;object-fit:cover;display:block}
.wbi-ph{font-size:.78rem;color:var(--muted);padding:4px;text-align:center}
.wbi-alt{display:flex;align-items:center;gap:4px;width:100%}.wbi-alt input{flex:1;min-width:0}
.wbi-warn{background:none;border:0;padding:0 2px;cursor:help;color:var(--danger);font-size:1rem;line-height:1}
.wbi-vn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}.wbi-vn figure{margin:0}.wbi-vn figcaption{font-weight:600;margin-bottom:4px}
.wbi-gross{display:flex;align-items:center;justify-content:center;min-height:120px;max-height:220px;border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden}
.wbi-gross img{max-width:100%;max-height:218px;object-fit:contain;display:block}
.wbi-quellen{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.wbi-alb{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;margin-top:8px}
.wbi-alb-f{padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;aspect-ratio:1;background:var(--panel);cursor:pointer}.wbi-alb-f img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:560px){.wbi-vn{grid-template-columns:1fr}}
/* Startseite ersetzen (28.10.2026): Vorschau vorher/nachher, „Wohin?“ beim Erstellen mit KI */
.ws-st-vn iframe{width:100%;height:260px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.kw-ziel{border:1px solid var(--line);border-radius:8px;padding:6px 10px 8px;margin:8px 0;min-width:0}.kw-ziel legend{font-weight:600;padding:0 4px}.kw-ziel .check{display:block;margin:3px 0}
/* DMS verschieben (2.179.0): Ziel beim Ziehen, Ordnerbaum im Fenster */
#dmsList tr.dms-ziel td,.dms-crumbs a.dms-ziel{background:color-mix(in srgb,var(--accent) 18%,transparent);outline:2px dashed var(--accent);outline-offset:-2px}
.dms-baum{list-style:none;margin:6px 0;padding:0;max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:8px}.dms-baum li{padding:6px 10px;border-bottom:1px solid var(--line)}.dms-baum li:last-child{border-bottom:0}.dms-baum a{display:flex;gap:6px;align-items:center}.dms-baum svg{width:16px;height:16px}
.dms-wahl{margin-right:6px}

/* Stammdaten eines Moduls auf seiner Seite (2.185.0) */
.mod-stamm{position:relative;display:inline-block}.mod-stamm>summary{list-style:none;cursor:pointer}.mod-stamm>summary::-webkit-details-marker{display:none}
.mod-stamm-pop{position:fixed;z-index:6000;min-width:220px;display:flex;flex-direction:column}.mod-stamm:not([open]) .mod-stamm-pop{display:none}.mod-stamm-z{display:flex;align-items:center;justify-content:space-between;gap:10px}.mod-stamm-z .check{margin:0;font-size:.82rem;color:var(--muted);white-space:nowrap;padding-right:8px}
.mod-stamm-pop a{display:flex;gap:8px;align-items:center;padding:8px 12px;color:var(--ink);text-decoration:none;border-radius:6px}.mod-stamm-pop a:hover{background:var(--accent-soft)}.mod-stamm-pop svg{width:16px;height:16px;opacity:.75}

/* Blättern im Bearbeiten-Fenster (2.188.0) */
.dlg-blaettern{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
/* × zum Leeren (2.189.0) */
.x-feld{position:relative;display:block;width:100%}.x-feld>input,.x-feld>select{width:100%;padding-right:52px}
.x-weg{position:absolute;right:28px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);font-size:1.15rem;line-height:1;padding:2px 6px;border-radius:50%;cursor:pointer}
.x-weg:hover{background:var(--accent-soft);color:var(--ink)}.x-feld>input[list]+.x-weg{right:6px}
.inline-form .x-feld,.cell .x-feld{width:auto}

/* Ort im Fensterkopf (2.193.0) */
.dlg-ort{font-size:.8rem;color:var(--muted);margin:0 0 2px;letter-spacing:.02em}

/* Knopf ⚙ im Fensterkopf (2.194.0) */
.dlg-kopf{position:sticky}.dlg-mehr{position:absolute;top:10px;right:10px;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:4px 9px;font-size:1rem;color:var(--muted);cursor:pointer}.dlg-mehr:hover{border-color:var(--accent);color:var(--ink)}.dlg-kopf h2{padding-right:46px}
.li-mg{width:72px;text-align:right;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);font:inherit}
.li-tab{min-width:960px}.li-tab th:last-child{width:46px}.li-tab .li-mg{width:100%;max-width:80px}
/* Begründung beim Zurücksetzen: frühere Begründungen zum Antippen */
.bg-alt{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.bg-alt .chip{border:1px solid var(--line,#ccd);background:var(--panel);color:inherit;border-radius:14px;padding:4px 10px;font:inherit;font-size:.9em;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bg-alt .chip:hover{border-color:var(--accent,#36c)}
/* ⋮-Menü für Knopfleisten am Smartphone */
.pm-btn{display:none}
.pm-bar .pm-btn{display:inline-flex;font-size:1.2em;padding-inline:12px;margin-left:auto}.pm-bar .pm-btn[hidden],.pm-bar>.pm-weg{display:none!important}
.pm-pop{position:fixed;z-index:6000;background:var(--panel,#fff);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:4px;display:flex;flex-direction:column;min-width:200px;max-height:70vh;overflow:auto}
.pm-pop button{background:none;border:0;text-align:left;padding:10px 12px;font:inherit;color:inherit;border-radius:6px;cursor:pointer}.pm-pop button:hover{background:var(--accent-soft,#eef)}.pm-pop button:disabled{opacity:.5}
/* ⋮-Leiste am Smartphone: umbrechen statt seitlich hinausschieben, ⋮ immer sichtbar (Harald 16.10.2026) */
.main .pm-bar{flex-wrap:nowrap;overflow:hidden}.main .pm-bar>.grow{min-width:0;overflow:hidden;text-overflow:ellipsis}
/* Webseiten-Editor am Smartphone (Harald 16.10.2026): nichts breiter als der Bildschirm, Editor-Leisten umbrechen */
.ws-wrap>*{min-width:0}.sm-tb{flex-wrap:wrap;white-space:normal;overflow:visible}
@media (max-width:760px){.ws-edit .meta-grid,.ef-fenster .meta-grid{grid-template-columns:1fr}.ws-edit .actions{flex-wrap:wrap}.ws-edit .editable{min-height:260px}}
.ef-fenster .ef-kopf{position:static}
/* Versionsübersicht als eigene Seite (eigenes Fenster): ganze Höhe statt Kasten */
#main #verList{max-height:none;overflow:visible}
.fenster-zu{position:fixed;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:5000;padding:10px 14px;border-radius:22px;border:1px solid var(--line);background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:600;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.sm-tb select.ed-abs{width:auto;min-width:3.6em;max-width:5em;flex:0 0 auto;font-weight:700}
/* Auf- und zuklappbare Gruppen (Standard für alle Gruppierungen) */
.grp{margin:10px 0 0}.grp-kopf{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--accent-soft,#e1ede5);font-weight:700;color:var(--ink)}
.grp-kopf::-webkit-details-marker{display:none}.grp-kopf::before{content:"▸";width:1em;color:var(--accent-text)}.grp[open]>.grp-kopf::before{content:"▾"}.grp[open]>.grp-kopf{border-radius:8px 8px 0 0}
.grp-info{font-weight:400;color:var(--muted);font-size:.9em}.grp-r{font-weight:600;white-space:nowrap}.grp-in{padding:4px 0 0}.grp-in>.table-wrap{margin-top:0}
.grp-e2{margin:6px 0 0 14px}.grp-e2>.grp-kopf{background:var(--panel,#fff);font-weight:600;padding:6px 10px}
.grp-alle{display:flex;gap:6px;justify-content:flex-end;margin:6px 0 0}
.li-inaktiv{opacity:.55}.li-inaktiv .li-text{font-style:italic}.li-ina{color:var(--coral)}
.li-sammel{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 10px;margin:6px 0;border:1px solid var(--accent);border-radius:8px;background:var(--accent-soft)}.li-sel{margin-right:6px}
.crumb-art{font-weight:600;color:var(--accent-text)}
.btn.gesperrt{opacity:.45;cursor:not-allowed}
/* 2.208.0 (Harald 16.10.2026, global): Fensterkopf bleibt beim Scrollen stehen – auch wenn unter dem Formular weitere Abschnitte folgen (Zuordnungen, Ablage …): das Formular gibt dann seinen Rahmen ab, der Kopf hält sich am ganzen Fenster. Knöpfe im Kopf schmaler, am Touch-Gerät mindestens 36 px hoch. */
.dlg:not(.gross)>form:has(>.dlg-kopf):not(:last-child){display:contents}
.dlg-kopf{padding:8px 0}.dlg-kopf.dlg-kopf-rand{padding:12px 22px 8px}.dlg-kopf h2{margin:0 0 6px}.dlg-kopf .actions{gap:6px;padding-bottom:2px}
.dlg-kopf .actions>.btn{padding:4px 12px;min-height:32px}.dlg-mehr{top:8px;padding:2px 8px}
@media (pointer:coarse){.dlg-kopf .actions>.btn{min-height:36px}}
/* Laden einer neuen Version: Fenster mit den Schritten */
.neu-lade{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;background:rgba(20,30,28,.55);padding:16px}.neu-lade-in{background:var(--panel);border-radius:14px;padding:22px 24px;max-width:380px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.neu-lade-in h2{margin:10px 0 6px;font-size:1.15rem}.neu-lade-dreh{width:34px;height:34px;margin:0 auto;border:4px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;animation:neuDreh 1s linear infinite}@keyframes neuDreh{to{transform:rotate(360deg)}}
/* Kopf nach Standard (zuerst Ordner): feststehend, Überschrift mit Anzahl, Hauptmenü rechts, darunter rechtsbündig das Untermenü */
.kopf-fest{position:sticky;top:var(--top);z-index:10;background:var(--bg);margin:-4px 0 8px;padding:4px 0 0;border-bottom:1px solid var(--line)}.kopf-fest .page-head{margin-bottom:2px}.kopf-fest h1{margin:0}
.kopf-zahl{font-size:.8rem;font-weight:500;color:var(--muted);margin-left:10px;white-space:nowrap}.kopf-zahl-fuss{display:none}
@media (max-width:700px){.kopf-fest h1 .kopf-zahl{display:none}.kopf-zahl-fuss{display:table-footer-group}}
.kopf-menue{display:flex;justify-content:flex-end;align-items:center;gap:2px;flex-wrap:wrap;padding:2px 0 4px}
.km-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:0;border-radius:6px;padding:6px 10px;font:inherit;color:var(--ink);cursor:pointer}.km-btn:hover{background:var(--accent-soft)}
.km-btn svg{width:18px;height:18px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.km-neu svg{stroke:#2e7d32}
.km-gruppe{position:relative}.km-pop{position:absolute;top:100%;right:0;z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.16);padding:4px;min-width:200px;display:flex;flex-direction:column}.km-pop[hidden]{display:none}
.km-pop a,.km-pop button{display:block;text-align:left;padding:9px 12px;border-radius:6px;color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}.km-pop a:hover,.km-pop button:hover{background:var(--accent-soft)}
.km-such{width:min(220px,50vw);padding:5px 8px}
/* Platz unten für Meldungen (Harald 16.10.2026, global): steht unten eine Meldung oder Leiste, endet der Fensterbereich darüber –
   der untere Rand (--unten-belegt, gemessen im Kern) liegt außerhalb des Scrollbereichs, der Abdunkel-Hintergrund bleibt. Ohne Meldung 0. */
.dlg-wrap{border-bottom:var(--unten-belegt,0px) solid transparent}
/* Favoriten (Harald 16.10.2026): Stern vor der Überschrift, Menügruppe links oben */
.fav-stern{background:none;border:0;padding:0 2px;margin:2px -6px 0 0;font-size:1.6rem;line-height:1.2;color:var(--muted);cursor:pointer;flex:0 0 auto;border-radius:6px}.fav-stern:hover{color:var(--coral)}.fav-stern.an{color:#d9a400}.fav-stern:focus-visible{outline:2px solid var(--accent-text)}.fav-stern:disabled{opacity:.5}
#sideFav{border-bottom:1px solid var(--line)}
/* Favoriten (27.10.2026): Trennlinie zwischen den ☆-Favoriten und den festen Favoriten (Dashboard, Mein Kalender, Meine Aufgabenlisten); fester Stern ★ im Seitenkopf nicht klickbar */
#sideFav .fav-trenner{height:0;border-top:1px solid var(--line);margin:4px 6px}
.fav-stern.fest.an{color:#d9a400}.fav-fest-z{gap:8px;cursor:pointer}.fav-fest-z>svg{width:16px;height:16px;flex:none}.fav-fest-z input{margin:0}.fav-ordnen{font-size:.95rem;line-height:1;padding:3px 7px;text-transform:none}
.ve-tools .x-feld,.kopf-menue .x-feld,.actions .x-feld{display:inline-block;width:auto}.ve-tools .x-feld>select{width:auto}
.kopf-zahl-unten{display:none}@media (max-width:700px){.kopf-zahl-unten{display:block}}.kopf-menue select{width:auto;max-width:min(240px,45vw)}
.page-head .actions .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.vw-z{display:flex;padding:6px 12px;margin:0}.vw-z:hover{background:var(--accent-soft)}
/* Hinzufügen-Listen mit Mehrfachauswahl (Harald 28.10.2026): Nummer in der Reihenfolge des Anklickens, Vorhandenes ausgegraut */
.vw-z{align-items:center;gap:6px;flex-wrap:wrap}.vw-nr{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;height:1.6em;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.8rem;font-weight:700;margin-left:auto}
.vw-z.vw-da{opacity:.55;cursor:default}.vw-z.vw-da:hover{background:none}.vw-da-h{margin-left:auto;font-size:.85em}
.ws-vw-kopf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0}.ws-vw-kopf .btn.small{padding:3px 10px}
.mx-plan{width:100%;border-collapse:collapse;margin:8px 0}.mx-plan td{padding:5px 8px;border-bottom:1px solid var(--line);vertical-align:top}.mx-plan td:last-child{white-space:nowrap;text-align:right}
.mx-st{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.8rem;border:1px solid var(--line)}.mx-st.neu{background:var(--accent-soft)}.mx-st.ers{background:rgba(217,164,0,.16)}.mx-st.weg,.mx-st.ueb{background:rgba(212,105,74,.14)}
.mx-wahl{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0}@media (max-width:480px){.mx-plan td:last-child{white-space:normal}}
/* Hilfe mit Reitern */
.help-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:2px 0 6px}.help-tabs a{padding:7px 14px;border-radius:8px 8px 0 0;text-decoration:none;color:var(--ink);border-bottom:3px solid transparent;font-weight:600}.help-tabs a.on{border-bottom-color:var(--accent-text);color:var(--ink);background:var(--accent-soft)}.help-tabs a:hover{background:var(--accent-soft)}
.li-zieh{cursor:grab;touch-action:none;user-select:none;padding:0 6px 0 0;color:var(--muted);font-size:1.1em}.li-zieht{opacity:.6;outline:2px dashed var(--accent)}.li-nuraktiv{margin:0 4px;white-space:nowrap}
/* Eigene Tabellen nach dem neuen Kopf-Standard (Harald 16.10.2026): Ansicht-Auswahl im Untermenü; im Stammdaten-Fenster steht der Kopf unter dessen Leiste */
.km-ans{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted);margin-right:6px}.km-ans select{padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);max-width:200px}
.ov .kopf-fest{top:var(--ov-kopf,57px);z-index:1}
/* Der feststehende Kopf der Seite darunter darf nicht über das Stammdaten-Fenster (.ov, z-index 15) ragen (Fehler Harald 16.10.2026: Ordner-Überschrift blieb über Adressen stehen) */
/* Name in der Kopfzeile (Harald 16.10.2026): Kreis mit Initialen (später Bild) und Name als Knopf zum Profil-Fenster */
.who-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:3px 8px 3px 3px;border-radius:99px;color:inherit;min-width:0;max-width:44vw}.who-btn:hover{background:#ffffff26}.who-btn:focus-visible{outline:2px solid var(--accent-ink);outline-offset:1px}
.avatar{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--accent-ink);color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.02em;line-height:1;overflow:hidden;user-select:none}.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.dlg .avatar,.profil-kopf .avatar{background:var(--accent);color:var(--accent-ink);width:44px;height:44px;font-size:1.05rem}
.profil-kopf{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 12px}.profil-kopf>div{flex:1;min-width:160px}
@media (max-width:600px){.who-btn{padding:2px}.avatar{width:28px;height:28px;font-size:.75rem}}
.who-pfeil{font-size:.7rem;opacity:.8;margin-left:-2px}#userBox .who-btn .who{max-width:30vw}
/* Hilfe: eigenes Fenster nur mit der Hilfe; Einleitung wie die Vorstellung */
body.nur-hilfe .topbar,body.nur-hilfe #sidebar,body.nur-hilfe #scrim{display:none!important}body.nur-hilfe .kopf-fest{top:0}body.nur-hilfe .main{max-width:1100px;margin:0 auto}
.kopf-fest h1{font-size:1.5rem;line-height:1.25}
.help-held{padding:18px 0 8px}.help-held h2{font-size:1.6rem;margin:0 0 8px}.help-held p{max-width:760px}.help-wege{display:flex;gap:8px;flex-wrap:wrap}
.help-kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:12px}.help-kachel{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);text-decoration:none}.help-kachel:hover{border-color:var(--accent);background:var(--accent-soft)}.help-kachel span{color:var(--muted);font-size:.92em}
/* Zuständig-Kärtchen lesbar in hell und dunkel (Harald 16.10.2026) */
.zu-chip{background:var(--accent-soft);color:var(--ink);border-color:var(--line)}
/* Code-Blöcke im Editor und in Seiten: Tabs und Zeilen bleiben erhalten */
.editable pre,.content pre,.sm-ed pre{white-space:pre;tab-size:4;-moz-tab-size:4;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--accent-soft);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
/* Auswahlfeld als Symbol */
.km-sel{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:36px;border-radius:8px;flex:0 0 auto;cursor:pointer}.km-sel:hover{background:var(--accent-soft)}.km-sel.km-aktiv{background:var(--accent-soft)}
.km-sel svg{width:20px;height:20px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.km-sel>select{position:absolute;inset:0;width:100%!important;height:100%;opacity:0;cursor:pointer;max-width:none!important}
.kopf-menue{justify-content:flex-end}.kopf-menue>.km-zahl{margin-right:auto;white-space:nowrap}.kopf-zahl-fuss{display:none!important}
/* Popups ohne Zeilenumbruch (Harald 16.10.2026) */
.km-pop,.pm-pop,.act-pop{min-width:max-content}.km-pop a,.km-pop button,.pm-pop button,.act-pop button,.act-pop a{white-space:nowrap}
.main .pm-bar>.grow{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-bar .pm-btn{flex:0 0 auto;position:sticky;right:0;background:var(--bg)}
/* Stammdaten nach dem Tabellen-Standard: „Neu“ steht oben im Kopf – der Knopf des Erfassen-Formulars auf der Seite entfällt */
.erf-im-kopf>.erf-platz{display:none}
/* Eingebettete Listen und Dokumente (Harald 16.10.2026): im Editor ein Kästchen mit Titel, auf der Seite ein Rahmen mit Kopf – nur lesen */
.editable .pf-einbettung,.sm-ed .pf-einbettung{display:block;margin:10px 0;padding:10px 14px;border:2px dashed var(--accent);border-radius:10px;background:var(--accent-soft);color:var(--ink);cursor:pointer;user-select:none}
.editable .pf-einbettung:hover{border-style:solid}
.pf-einb{margin:14px 0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
.pf-einb-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.pf-einb .empty{padding:6px 0}.pf-einb-tab td,.pf-einb-tab th{padding:7px 10px}.pf-einb-zu td{color:var(--muted);text-decoration:line-through}
.pf-einb-dok{list-style:none;margin:0;padding:0}.pf-einb-dok li{padding:5px 0;border-bottom:1px solid var(--line)}.pf-einb-dok li:last-child{border-bottom:0}.pf-einb-dok a{text-decoration:none;word-break:break-word}
/* System-Listen nach dem Tabellen-Standard (Harald 16.10.2026): „Neu“ steht oben im Kopf, der Knopf am Erfassen-Platz entfällt; Zeitraum im Popup */
.sys-std .erf-platz>.erf-neu{display:none}.sys-std .erf-platz:not(:has(>:not(.erf-neu):not([hidden]))){display:none}
.ma-zeit{padding:8px;gap:6px}.ma-zeit label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.9rem}.ma-zeit input{width:auto}
.km-btn.km-aktiv{background:var(--accent-soft)}
/* Kalender und Mein Kalender am Smartphone: Datumsfeld im Tabellenmenü ausblenden – blättern mit ‹ › und „Heute“ (im ⋮), damit das Menü einzeilig bleibt */
@media (max-width:600px){#kaMenue #kaDatum,#mkMenue #mkDatum{display:none}}
/* Tabellen-Rahmen: Kopfzeile, Tabelle, Fußzeile (Standard 17.10.2026) */
.tab-rahmen{margin-top:8px}.tab-kopf{display:flex;align-items:center;gap:8px;padding:6px 4px 6px 12px;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:var(--panel)}.tab-titel{font-weight:700}
.tab-rahmen .table-wrap{margin:0;border-radius:0}.tab-fuss{padding:6px 12px;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;background:var(--panel)}
/* Tabellen-Standard für Einkaufs- und Aufgabenlisten (Harald 17.10.2026): Inhalt im Tabellen-Rahmen zwischen Kopf- und Fußzeile */
.tab-rahmen>.tab-inhalt{border:1px solid var(--line);border-block:0;padding:6px 8px;background:var(--panel)}.tab-rahmen>.tab-inhalt>.li-list:last-child,.tab-rahmen>.tab-inhalt>.li-sum:last-child{margin-bottom:0}
.li-wrap>.li-leiste{margin-top:6px}
@media (max-width:480px){.li-wrap>.li-leiste #liNeu>span,.li-wrap>.li-leiste #liSuchBtn>span{display:none}}
.such-w{position:relative;display:inline-flex;align-items:center}.such-w[hidden]{display:none}.such-w input{padding-right:26px}.such-x{position:absolute;right:6px;cursor:pointer;color:var(--muted);font-size:1.1em;line-height:1}.such-x[hidden]{display:none}
.km-btn.km-aktiv{background:var(--accent);color:var(--accent-ink)}.km-btn.km-aktiv svg{stroke:var(--accent-ink)}
/* Linke Leiste ausblendbar (Desktop) */
.nav-zu-btn{display:none}@media (min-width:861px){.nav-zu-btn{display:block;margin:6px 8px 0 auto;font-size:.95em;color:var(--muted)}body.nav-zu #sidebar{display:none!important}body.nav-zu #btnMenu{display:inline-flex!important}}
.pm-ueber{border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:4px;display:flex;flex-direction:column}
/* Hilfe-Fenster (Harald 17.10.2026): Reiter und Suche im Kopf, Themenliste */
.hilfe-dlg .dlg-kopf .help-tabs{padding:6px 0 4px}.hilfe-dlg-suche{width:100%;margin:2px 0 0}
.hilfe-dlg-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px}.hilfe-dlg-liste a{display:block;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none;border:1px solid var(--line)}.hilfe-dlg-liste a:hover{background:var(--accent-soft)}
.hilfe-dlg .help-tabs{flex-wrap:nowrap;overflow-x:auto}.hilfe-dlg .help-tabs a{white-space:nowrap}@media (max-width:600px){.hilfe-dlg .help-tabs a{padding:6px 9px}}
/* Editor-Werkzeuge direkt über dem Editorfeld (Harald 17.10.2026): eine Zeile ohne Umbruch, Überlauf im ⋮; klebt unter dem feststehenden Kopf; Tabelle/Bild bei Bedarf darunter */
.main .ed-kopf{display:block;position:static;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;padding:0 6px;background:var(--panel);overflow:visible;max-width:100%;min-width:0}
.main .ed-kopf.ed-klebt{position:sticky;z-index:5}
.main .ed-zeile{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow:hidden;padding:4px 0}.ed-zeile>*{flex-shrink:0;white-space:nowrap}.ed-zeile>.pm-btn{background:var(--panel);border:0}
.ed-kopf>.ed-ctx:not([hidden]){display:flex;flex-wrap:wrap;gap:4px;padding:0 0 4px}.ed-kopf>.ed-ctx>.sep{display:none}
.main .ws-kopf .page-head>.actions,.main .ef-kopf>.actions{overflow:visible}
/* Kopfzeile der App bleibt beim Scrollen stehen (vorher begrenzte html,body{height:100%} sie auf eine Bildschirmhöhe); feste Köpfe direkt darunter (Harald 17.10.2026) */
body{height:auto;min-height:100%}
.kopf-fest,.ef-kopf{top:var(--kopf-top,var(--top))}

/* Tabellen-Standard, Korrekturen nach dem Adressen-Pilot (Harald 17.10.2026): Suche schiebt nichts aus dem Bild, nur ein ×, Auswahl-Symbole mit Beschriftung, ☰ rechts, Symbole im Dunkel-Modus sichtbar */
.kopf-menue .such-w{flex:1 1 140px;min-width:90px;max-width:260px}.kopf-menue .such-w input{width:100%;min-width:0}
.such-w input::-webkit-search-cancel-button,.such-w input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
.km-sel{width:auto;min-width:38px;padding:0 8px;gap:6px}.km-sel-t{white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.km-sel.km-kurz{width:38px;padding:0}.km-sel.km-kurz .km-sel-t{display:none}
.kopf-menue{flex-wrap:nowrap}.kopf-menue>*{flex-shrink:0}.kopf-menue>.such-w{flex-shrink:1}
.kopf-fest .page-head .actions{margin-left:auto}
:root[data-theme=dark] .km-btn svg,:root[data-theme=dark] .km-sel svg{stroke:currentColor}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .km-btn svg,:root:not([data-theme=light]) .km-sel svg{stroke:currentColor}}
.act-pop hr.menu-trenn{border:0;border-top:1px solid var(--line);margin:4px 6px}
.kopf-fest .page-head .actions{overflow:visible}
/* System-Ordner im DMS (2.249.0): Schloss-Symbol im Hinweis */
.dms-sys svg,#dmsSLO > .hint svg{width:16px;height:16px;vertical-align:-3px}

/* Auswahl mit „+ neu …“ und Stift zum Pflegen (Harald 16.10.2026) */
.ap-feld{display:flex;align-items:center;gap:4px;width:100%;min-width:0}.ap-feld>select,.ap-feld>.x-feld{flex:1 1 auto;min-width:0;width:auto}
.ap-stift{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);cursor:pointer;font-size:.95rem;line-height:1}
.ap-stift:hover,.ap-stift:focus-visible{background:var(--accent-soft);color:var(--ink)}.ap-aus .ap-stift{display:none}
.ak-plus{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 2px}.ak-neu{display:inline-flex;align-items:center;min-height:30px;padding:2px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);cursor:pointer;font-size:.85rem;line-height:1.2}
.ak-neu:hover,.ak-neu:focus-visible{background:var(--accent-soft)}
.ak-hinweis{display:inline-flex;align-items:center;min-height:30px;padding:2px 4px;color:var(--muted);cursor:pointer;font-size:.85rem;line-height:1.25;text-decoration:underline dotted}.ak-hinweis:hover,.ak-hinweis:focus-visible{color:var(--ink)}
.ap-pflege .kopf-fest{position:static}.ap-pflege .kopf-fest h1{display:none}.ap-pflege .kopf-fest .page-head{justify-content:flex-end}
/* Webseiten-Menü auch angemeldet (Harald 17.10.2026): rechts außen „Bearbeiten“ */
.web-nav li.web-nav-ed{margin-left:auto}.web-nav li.web-nav-ed a{color:var(--link)}
.web-nav a.web-nav-ed-m{display:none} /* (0,1,1) – sonst setzt „.web-nav a{display:block}“ sie am Bildschirm sichtbar (Fehler 2.251.0) */
@media (max-width:760px){.web-nav li.web-nav-ed{display:none}.web-nav a.web-nav-ed-m{display:inline-block;float:right;margin:8px 0;padding:6px 10px;color:var(--link)}}
/* Seiten und Menü (Harald 16.10.2026): alle Einträge mit Symbol, Kennzeichen und Rollen; „+ Neu ▾“ klappt nach rechts auf */
.ws-knoten>svg{width:16px;height:16px;flex:0 0 16px;opacity:.75}.ws-tit{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-rol{font-size:.8em}.ws-knoten.ws-ctx{opacity:.55}
.ws-neu .km-pop{right:auto;left:0}.ws-filter{margin:0 0 6px;font-size:.9em}.ws-regel{font-size:.8em}.ws-art{display:flex;align-items:center;gap:8px;margin:4px 0 12px}.ws-art svg{width:20px;height:20px}
.tree-menu-btn{text-decoration:none}
/* Tabellen-Standard Gruppe C (Harald 17.10.2026): Bereichsköpfe der Serienmail umbrechen am Smartphone statt über den Rand zu ragen */
@media (max-width:700px){.sm-ber>.grp-kopf{flex-wrap:wrap}.sm-ber .grp-r{flex-wrap:wrap}}
.tab-titel.dms-crumbs{font-size:inherit;margin:0;color:var(--ink)}.tab-titel.dms-crumbs a{font-weight:700}
/* Sortieren nach Spalten (Standard, 17.10.2026) */
th>button.sp-sort{all:unset;cursor:pointer;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}th>button.sp-sort:hover{text-decoration:underline}th>button.sp-sort:focus-visible{outline:2px solid var(--link);outline-offset:2px}
/* Deaktivierter Mandant in der Plattform-Verwaltung (Harald 17.10.2026): einzeiliges Kennzeichen, Datum klein darunter, Zeile dezent abgeblendet */
.pv-aus{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:4px}.pv-aus .pv-aus-badge{white-space:nowrap;margin:0;background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.pv-aus-seit{font-size:.72rem;color:var(--muted);white-space:nowrap}.pv-aus-zeile>td{opacity:.62}.pv-aus-zeile>td:first-child,.pv-aus-zeile>td:last-child,.pv-aus-zeile .pv-zugang{opacity:1}
/* Tagesberichte: Beschreibung einzeilig gekürzt (Harald 17.10.2026) */
#tbL td.tb-beschr{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#tbL span.tb-beschr{display:block;max-width:44vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:700px){#tbL td.tb-beschr,#tbL span.tb-beschr{max-width:160px}}
/* ☰-Popups aus dem feststehenden Kopf liegen grundsätzlich über Tabellen und ihren feststehenden Tabellenköpfen (sticky th: z-index 3–4) – auch im Stammdaten-Fenster (Harald 17.10.2026, Eigene Tabelle „Inventar“) */
.ov .kopf-fest{z-index:5}.kopf-fest:has(.km-pop:not([hidden])){z-index:12}
/* Eigene Tabellen (Harald 17.10.2026): ein Klick in die erste Spalte öffnet den Eintrag */
td.xt-erste{cursor:pointer}td.xt-erste:hover{text-decoration:underline}.xt-me{cursor:pointer}
/* Tabellen-Kopfzeile: Überschrift links, ☰ „Eigenschaften der Tabelle“ ganz rechts – gilt überall gleich (Harald 17.10.2026) */
.tab-kopf>.grow{flex:1 1 auto;min-width:0}.tab-kopf>.tab-eig{display:none!important}.tab-kopf>.tab-menue{margin-left:auto}
/* Aktualisieren je Tabelle (Harald 19.10.2026): kleines ↻ vor dem ☰ (nur am PC), Ladeanzeige während des Neuladens */
.tab-kopf>.tab-akt{margin-left:auto}.tab-kopf>.tab-akt+.tab-menue{margin-left:0}.tab-kopf>.tab-akt>svg{transition:transform .2s}
.tab-rahmen.tab-laedt>:not(.tab-kopf){opacity:.55;transition:opacity .15s;cursor:progress}.tab-rahmen.tab-laedt>.tab-kopf>.tab-akt>svg{animation:tab-dreh .8s linear infinite}
@keyframes tab-dreh{to{transform:rotate(360deg)}}
@media (max-width:600px){.tab-kopf>.tab-akt{display:none!important}.tab-kopf>.tab-akt+.tab-menue{margin-left:auto}}
/* Menü der Tabelle (Harald 19.10.2026): genau ein ☰ rechts in der Kopfzeile – „Eigenschaften …“ ist dort der erste Eintrag, der frühere Knopf „☰ Eigenschaften“ bleibt unsichtbar */
/* Tabulator im Tabellen-Rahmen (Pilot Adressen, Harald 17.10.2026): Farben und Schrift der App über CSS-Variablen – hell, dunkel und Mandantenfarben; eigener Stapel (isolation), damit ☰-Menüs darüber liegen */
.tb-wrap{isolation:isolate;border:1px solid var(--line);border-top:0;border-bottom:0;background:var(--panel);max-width:100%}
.tb-wrap.tabulator{font-family:inherit;font-size:.92rem;color:var(--ink);background:var(--panel);border:0;border-radius:0}
.tb-wrap.tabulator .tabulator-header{background:var(--panel);color:var(--muted);border-bottom:1px solid var(--line);font-weight:600}
.tb-wrap.tabulator .tabulator-header .tabulator-col{background:var(--panel);border-right:1px solid var(--line)}
.tb-wrap.tabulator .tabulator-header .tabulator-col .tabulator-col-content{padding:8px 10px}
.tb-wrap.tabulator .tabulator-header .tabulator-col .tabulator-col-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.tb-wrap.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background:var(--accent-soft)}
.tb-wrap.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom-color:var(--line);border-top-color:var(--line)}
.tb-wrap.tabulator .tabulator-header .tabulator-col[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom-color:var(--accent)}
.tb-wrap.tabulator .tabulator-header .tabulator-col[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top-color:var(--accent)}
.tb-wrap.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input{width:100%;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:inherit;font-size:.85rem;text-transform:none}
.tb-wrap.tabulator .tabulator-tableholder{background:var(--panel)}
.tb-wrap.tabulator .tabulator-tableholder .tabulator-table{background:var(--panel);color:var(--ink)}
.tb-wrap.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{color:var(--muted);font-size:1rem;font-weight:400}
.tb-wrap .tabulator-row,.tb-wrap .tabulator-row.tabulator-row-even{background:var(--panel);border-bottom:1px solid var(--line);cursor:pointer;min-height:0}
/* Zeilen-Zustände im Tabellen-Baustein (Harald 26.10.2026, global): Maus (Hover) ≠ aktive (angeklickte) Zeile ≠ markierte (Auswahl) – Farben relativ zu Akzent/Fläche, also auch im Dunkelmodus
   Hover: dezente Tönung · Aktiv: kräftige Akzent-Tönung + linker Balken 4 px (auch ohne Hover am Handy sichtbar) · Markiert: eigene Bernstein-Tönung + Häkchen; aktiv + markiert: Akzent-Tönung, Balken, Bernstein-Linie unten */
:root{--tb-hover:color-mix(in srgb,var(--accent) 7%,var(--panel));--tb-aktiv:color-mix(in srgb,var(--accent) 24%,var(--panel));--tb-mark:color-mix(in srgb,#d9a520 24%,var(--panel));--tb-mark-linie:#b8860b}
@media (hover:hover){.tb-wrap .tabulator-row:hover,.tb-wrap .tabulator-row.tabulator-selectable:hover,[data-tt] tbody tr[data-id]:hover>td{background:var(--tb-hover)}}
.tb-wrap .tabulator-row:has([data-sammel-wahl]:checked),.tb-wrap .tabulator-row:has([data-sammel-wahl]:checked):hover{background:var(--tb-mark)}
.tb-wrap .tabulator-row.tb-aktiv,.tb-wrap .tabulator-row.tb-aktiv:hover,.tb-wrap .tabulator-row.tabulator-selectable.tb-aktiv:hover{background:var(--tb-aktiv);box-shadow:inset 4px 0 0 var(--accent)}
.tb-wrap .tabulator-row.tb-aktiv:has([data-sammel-wahl]:checked){box-shadow:inset 4px 0 0 var(--accent),inset 0 -2px 0 var(--tb-mark-linie)}
/* Drucken aus den Listen (26.10.2026): aktive Zeile auch in der einfachen Tabelle, Fokus der Tabelle (↑/↓), Hinweis „Gedruckt wird: …“ */
[data-tt] tbody tr.zeile-aktiv:not(.tb-aktiv)>td{background:transparent!important;box-shadow:none!important}[data-tt] tbody tr[data-id]:has([data-sammel-wahl]:checked)>td{background:var(--tb-mark)!important}
[data-tt] tbody tr.tb-aktiv>td,[data-tt] tbody tr.tb-aktiv:hover>td,tbody tr.tb-aktiv>td{background:var(--tb-aktiv)!important}[data-tt] tbody tr.tb-aktiv>td:first-child,tbody tr.tb-aktiv>td:first-child{box-shadow:inset 4px 0 0 var(--accent)}
[data-tt] tbody tr.tb-aktiv:has([data-sammel-wahl]:checked)>td{box-shadow:inset 0 -2px 0 var(--tb-mark-linie)}[data-tt] tbody tr.tb-aktiv:has([data-sammel-wahl]:checked)>td:first-child{box-shadow:inset 4px 0 0 var(--accent),inset 0 -2px 0 var(--tb-mark-linie)}[data-tt]:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.drk-wahl{margin:6px 0 8px;padding:8px 10px;border-radius:8px;background:var(--accent-soft)}.drk-wahl.drk-keine{background:var(--warn-soft,#fff3d6)}.drk-wahl .linkbtn{margin-left:6px}
.tb-wrap .tabulator-row.ve-dead{color:var(--muted)}
.tb-wrap .tabulator-row .tabulator-cell{padding:9px 10px;border-right:0;white-space:normal;overflow-wrap:anywhere}
/* Spalten einfrieren (27.10.2026): eingefrorene Spalten links mit deckendem Hintergrund, Trennlinie und leichtem Schatten rechts (hell/dunkel über die Variablen) */
.tb-wrap.tabulator .tabulator-header .tabulator-col.tabulator-frozen{background:var(--panel)}
.tb-wrap.tabulator .tabulator-frozen.tabulator-frozen-left,.tb-wrap .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:1px solid var(--line);box-shadow:6px 0 6px -4px rgba(0,0,0,.22)}
.tb-wrap .tabulator-row.tb-aktiv .tabulator-cell.tabulator-frozen:first-child{box-shadow:inset 4px 0 0 var(--accent)}.tb-wrap .tabulator-row.tb-aktiv .tabulator-cell.tabulator-frozen.tabulator-frozen-left:first-child{box-shadow:inset 4px 0 0 var(--accent),6px 0 6px -4px rgba(0,0,0,.22)}
.tb-wrap.tabulator .tabulator-row.tabulator-calcs .tabulator-cell.tabulator-frozen{background:var(--bg)}
.tb-wrap .tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{background:var(--accent);color:var(--accent-ink);width:20px;height:20px}
.tb-wrap .tabulator-row .tabulator-responsive-collapse{border:0;padding:0 10px 8px 44px;color:var(--ink);cursor:default}
.tb-wrap .tabulator-row .tabulator-responsive-collapse table{font-size:.85rem;width:100%}.tb-wrap .tabulator-row .tabulator-responsive-collapse table td{padding:2px 10px 2px 0;vertical-align:top;white-space:normal;overflow-wrap:anywhere}
.tb-wrap .tabulator-row .tabulator-responsive-collapse table td strong{color:var(--muted);font-weight:600;white-space:nowrap}
.tb-wrap.tabulator .tabulator-col-resize-handle:hover,.tb-wrap.tabulator .tabulator-col.tabulator-moving{background:var(--accent-soft)}
.tab-fuss.tb-fuss{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}.tb-fuss>.grow{flex:1 1 auto}
.tb-pager{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.tb-pager[hidden]{display:none}.tb-pager label{margin:0 2px 0 6px;font-size:.85rem}
.tb-pager select{width:auto;padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit;font-size:.85rem}
.tb-pager .tabulator-pages{display:inline-flex;gap:4px}
.tb-pager .tabulator-page{min-width:30px;padding:2px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit;font-size:.85rem;cursor:pointer}
.tb-pager .tabulator-page.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tb-pager .tabulator-page:disabled{opacity:.45;cursor:default}
/* Tabulator-Baustein, Erweiterungen Paket A (2.275.0): Gruppen, Summen, Unterzeilen, Bedienelemente in Zellen – hell und dunkel über die Variablen */
.tb-wrap.tabulator .tabulator-row.tabulator-group{background:var(--bg);color:var(--ink);border-top:0;border-bottom:1px solid var(--line);padding:7px 10px;font-weight:400}
@media (hover:hover){.tb-wrap.tabulator .tabulator-row.tabulator-group:hover{background:var(--accent-soft)}}
.tb-wrap.tabulator .tabulator-row.tabulator-group .tabulator-arrow{border-left-color:var(--muted)}.tb-wrap.tabulator .tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{border-left-color:transparent;border-top-color:var(--muted)}
.tb-wrap.tabulator .tabulator-row.tabulator-group span{color:inherit;margin-left:0}
.tb-wrap.tabulator .tabulator-row.tabulator-calcs,.tb-wrap.tabulator .tabulator-footer .tabulator-calcs-holder,.tb-wrap.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:var(--bg)!important;color:var(--ink);font-weight:600;cursor:default}
.tb-wrap.tabulator .tabulator-footer{background:var(--panel);color:var(--ink);border-top:1px solid var(--line)}.tb-wrap.tabulator .tabulator-footer .tabulator-calcs-holder{border:0}
.tb-wrap .tabulator-row .tb-unter{padding:2px 10px 8px 44px;cursor:default;font-size:.9rem;white-space:normal}
.tb-wrap .tabulator-row .tabulator-cell input.cell,.tb-wrap .tabulator-row .tabulator-cell select.cell{max-width:100%}
.table tr.tb-gr td{background:var(--bg);cursor:pointer}.table tr.tb-sum td{background:var(--bg);font-weight:600}.table tr.tb-unter td{padding-left:34px;font-size:.9rem}
.tb-gr-kl{border:0;background:none;color:inherit;cursor:pointer;padding:0 4px;font:inherit}
@media (max-width:600px){.tb-wrap .tabulator-row .tabulator-cell{padding:8px 6px;font-size:.88rem}.tb-wrap.tabulator .tabulator-header .tabulator-col .tabulator-col-content{padding:6px}}
@media print{.tb-wrap.tabulator .tabulator-tableholder{max-height:none!important;height:auto!important;overflow:visible!important}.tb-pager{display:none}}
/* Klick in die erste Spalte öffnet das Bearbeiten-Fenster (Harald 17.10.2026, alle Tabellen) */
.erste-klick>tbody>tr>td:first-child,.erste-klick tbody>tr>td:first-child{cursor:pointer}
/* Menü-Platzregel (Harald 17.10.2026, global): reicht der Platz nicht, zuerst nur noch Symbole, dann ⋮ mit Symbol und Text */
.pm-bar.pm-kurz>button:has(>svg)>span,.pm-bar.pm-kurz>a:has(>svg)>span,.pm-bar.pm-kurz>.km-gruppe>.km-btn:has(>svg)>span{display:none}
.pm-bar.pm-kurz>.km-sel{width:38px;padding:0}.pm-bar.pm-kurz>.km-sel .km-sel-t{display:none}
.pm-pop button{display:flex;align-items:center;gap:8px}.pm-pop button>svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Webseiten-Menü angemeldet im Inhaltsbereich (Harald 17.10.2026): über die volle Breite der Spalte rechts, linke Leiste beginnt oben */
.main>.web-nav.web-nav-drin{margin:-28px calc(-1 * clamp(16px,4vw,48px)) 20px;padding:0 clamp(16px,4vw,48px)}.main>.web-nav.web-nav-drin>ul{max-width:none;margin:0}
/* Menüleiste ein-/ausblenden über ☰ in der Kopfzeile (Harald 17.10.2026): am großen Bildschirm immer sichtbar, ⟨⟨ in der Leiste entfällt */
@media (min-width:861px){body:has(#sidebar:not([hidden])) #btnMenu,body.nav-zu #btnMenu{display:inline-flex!important}.nav-zu-btn{display:none!important}}
/* Platzregel im Seitenkopf (Paket A, 2.276.0): am schmalen Bildschirm nur das Symbol des ☰ „Menü“ */
@media (max-width:480px){.page-head .actions .km-gruppe>.km-btn[aria-label="Weitere Funktionen"]:has(>svg)>span{display:none}
  .page-head>.actions>.btn:has(>svg)>span,.page-head>.actions>.mod-stamm>summary>span,.page-head .actions #aoNeuBtn>span{display:none}.page-head>.actions{flex-wrap:wrap;justify-content:flex-end}
  .kopf-fest .page-head h1{min-width:0;flex:1 1 120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kopf-fest .page-head h1 *{white-space:nowrap}}
html:not(.pf-alle-knoepfe) .tabulator-cell .actions[data-mehr="an"]>*:not(.act-keep):not(.act-more){display:none!important}html:not(.pf-alle-knoepfe) .tabulator-cell .actions[data-mehr="an"]>.act-more{display:inline-flex}
.tb-wrap .tabulator-cell .actions{flex-wrap:wrap}
/* Tabulator-Baustein 2.277.0: Summe rechts im Gruppenkopf, Ziehgriff, Häkchen-Spalte der Auswahl */
/* Kopf – Gruppen – Untertabellen (06.11.2026): Zusammenfassung von Kopf und Gruppe, Klick öffnet den Dialog */
.kgs-kopf{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;margin:0 0 10px;cursor:pointer}.kgs-kopf:hover,.kgs-kopf:focus-visible{border-color:var(--accent);background:var(--accent-soft)}
.kgs-zeile{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.kgs-kopf .kgs-teil:first-child{font-weight:700}.kgs-stift{flex:0 0 auto;color:var(--muted)}.kgs-ueber{color:var(--danger);font-weight:600}.kgs-ok{color:var(--accent-text)}.kgs-hinweis{font-weight:400;font-size:.88em;white-space:nowrap}.kgs-teil{white-space:nowrap}
.tb-gr-link{cursor:pointer;border-radius:6px;padding:1px 4px;margin:-1px -4px}.tb-gr-link:hover,.tb-gr-link:focus-visible{background:var(--accent-soft);outline:none}.kgs-gruppe .kgs-teil:first-child{font-weight:700}
/* Gruppen-Überschrift mit Zusammenfassung: bricht um (iPhone einspaltig), bleibt in der Breite der Tabelle */
.tabulator-row.tabulator-group:has(.kgs-gruppe){white-space:normal;height:auto;min-width:0!important;max-width:100%;box-sizing:border-box;display:flex;align-items:flex-start}.tabulator-row.tabulator-group:has(.kgs-gruppe)>span:not(.tabulator-group-toggle){flex:1 1 auto;min-width:0}.kgs-gruppe{white-space:normal;overflow-wrap:anywhere}.kgs-info{margin:0 0 12px}tr.tb-gr:has(.kgs-gruppe) td{white-space:normal}
.tb-gr-sum{float:right;font-weight:600;margin-left:12px}.tb-wrap.tabulator .tabulator-row.tabulator-group .tb-gr-sum{float:right;margin-right:6px}
.tb-zieh{cursor:grab;color:var(--muted);width:24px;text-align:center;user-select:none}.tb-wrap .tabulator-row .tabulator-cell.tb-zieh .tabulator-row-handle-box{width:14px}
.tb-wrap .tabulator-row .tabulator-row-handle-bar{background:var(--muted)}.tb-sammel{margin:0 0 6px}
/* Tabulator-Baustein 2.282.0: Summenzeile hell/dunkel (aus ve.css übernommen, gilt für alle .tb-wrap), Knöpfe im aufgeklappten Bereich, leere Gruppen */
.tb-wrap.tabulator .tabulator-footer{background:var(--panel);border-top:0;color:var(--ink)}
.tb-wrap.tabulator .tabulator-footer .tabulator-calcs-holder,.tb-wrap.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs,.tb-wrap .tabulator-row.tabulator-calcs{background:var(--bg)!important;color:var(--ink);border-top:2px solid var(--line);border-bottom:0;font-weight:600;cursor:default}
.tb-wrap.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:transparent!important}
.tb-wrap .tabulator-responsive-collapse td.tb-klapp-knoepfe{padding-top:4px}.table tr.tb-gr-leer td{color:var(--muted)}
.mod-stamm>summary svg{width:17px;height:17px}
/* Einkaufsliste über den Tabellen-Baustein (2.284.0): Zeilen sind Tabellenzeilen, nicht die Listen-Zeilen der Aufgabenliste */
.li-ek tr.li-item{display:table-row;padding:0;border:0;gap:0}.li-ek .tabulator-row.li-item{display:block;padding:0;gap:0;align-items:normal}
/* 24.10.2026: Aufgabenliste im Tabellen-Baustein als Baum (Aufgabe › Arbeitsschritt) – Haken, Text und Knöpfe in der ersten Spalte */
.li-td tr.li-item{display:table-row;padding:0;border:0;gap:0}.li-td .tabulator-row.li-item{display:block;padding:0;gap:0;align-items:normal}.li-td .li-item.li-sub{margin-left:0}.li-td td{vertical-align:top}
.li-zeile{display:flex;align-items:flex-start;gap:8px;min-width:0}.li-zeile .li-chk{margin-top:0}.li-zeile .li-body{cursor:pointer;padding:0}.li-zeile .li-kst{flex:0 0 auto;max-width:46%}.li-zeile .li-mv,.li-zeile .li-addsub{flex:0 0 auto}.li-kopf .tb-baum-zahl{font-size:.8rem}
@media (max-width:700px){.li-zeile{flex-wrap:wrap}.li-zeile .li-body{flex:1 1 60%}}
.li-ek table.table{min-width:960px}.li-ek td{vertical-align:top}.li-ek .li-body{width:100%;min-width:200px;cursor:pointer}.li-ek .li-mg{width:100%;max-width:80px}
.li-ek tr.done td,.li-ek .tabulator-row.done .tabulator-cell{color:var(--muted)}.li-ek .tb-sum td{font-weight:600}
/* Tabulator-Baustein 2.288.0 (Harald 17.10.2026): Sortier-Pfeil nur in den sortierten Spalten, sonst erst beim Darüberfahren (Touch: gar nicht); bei mehreren mit Nummer */
.tb-wrap.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{visibility:hidden}
.tb-wrap.tabulator .tabulator-header .tabulator-col[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow,.tb-wrap.tabulator .tabulator-header .tabulator-col[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{visibility:visible}
@media (hover:hover){.tb-wrap.tabulator .tabulator-header .tabulator-col.tabulator-sortable:hover .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{visibility:visible;opacity:.6}}
.tb-wrap.tabulator .tabulator-col-sorter[data-nr]::after{content:attr(data-nr);font-size:.7rem;color:var(--accent-text);margin-left:2px;align-self:flex-start}
.tab-kopf .tb-aw[disabled]{opacity:.5;cursor:default}
/* Auswahl-Popup unter „☑ n ausgewählt ▾“ (Harald 17.10.2026): Symbol + Text, Nicht-Mögliches grau mit Grund, Trenner */
.tb-aw-pop button>span{display:flex;flex-direction:column}.tb-aw-pop button small{font-size:.78rem;color:var(--muted)}.tb-aw-pop button:disabled{color:var(--muted);opacity:.7;cursor:default}
.tb-aw-pop hr{border:0;border-top:1px solid var(--line);margin:4px 6px}.tb-aw-pop .tb-aw-weg:not(:disabled){color:var(--danger)}.tb-aw-pop .tb-aw-weg:not(:disabled) svg{stroke:var(--danger)}
/* „Wer darf ändern – für wen gilt es“ (Harald 17.10.2026): Hinweis unter der Überschrift jedes Eigenschaften-Fensters, Kennzeichen je Abschnitt – hell/dunkel über die Variablen */
.wer-darf{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:-4px 0 10px;padding:5px 10px;border-radius:8px;background:var(--panel);border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--accent);color:var(--ink);font-size:.85rem;line-height:1.35}
.wer-darf svg,.wd-abschnitt svg{width:15px;height:15px;flex:0 0 15px;stroke:var(--accent)}.wer-darf>span{flex:1 1 200px;min-width:0;overflow-wrap:anywhere}.wer-darf a{white-space:nowrap}
.wer-darf.wd-ich{background:var(--bg);box-shadow:none}
.wd-abschnitt{display:inline-flex;align-items:center;gap:4px;margin-left:8px;font-size:.78rem;font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0;vertical-align:middle}
/* Menükonzept (Neufassung 17.10.2026, Pilot Einkaufsliste): Leisten mit .pm-text behalten die Beschriftung – ohne Text nur .pm-ohne (Suche, Aktualisieren, Menü); ⋮ mit Überschrift und Möglichkeiten */
.pm-bar.pm-kurz-ohne>.pm-ohne>span,.pm-bar.pm-kurz-ohne>.km-gruppe.pm-ohne>.km-btn>span{display:none}
.pm-pop .pm-pop-h{display:flex;align-items:center;gap:8px;padding:8px 12px 2px;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.pm-pop .pm-pop-h svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.pm-pop .pm-pop-opt{padding-left:36px}.pm-pop .pm-pop-opt[aria-checked=true]{font-weight:700;color:var(--accent-text)}.pm-pop .pm-pop-opt[aria-checked=true]::before{content:"● "}
.ik-schild{position:fixed;z-index:200;background:var(--ink);color:var(--panel);font-size:.8rem;padding:4px 8px;border-radius:6px;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.ik-leg{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 14px}.ik-leg-z{display:flex;align-items:center;gap:10px;padding:4px 0}.ik-leg-z svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tb-aw-unten{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -2px 10px rgba(0,0,0,.12)}
.tb-aw-unten .btn svg,.tb-aw-blatt svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:600px){.tb-aw-unten{flex-wrap:wrap;gap:6px 8px;padding-left:10px;padding-right:10px}.tb-aw-unten>*{min-width:0}}
.tb-aw-blatt{position:fixed;left:8px;right:8px;bottom:calc(64px + env(safe-area-inset-bottom));z-index:61;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.25);padding:6px;display:flex;flex-direction:column}
.tb-aw-blatt button{display:flex;align-items:center;gap:12px;text-align:left;background:none;border:0;padding:10px 12px;font:inherit;color:var(--ink);border-radius:8px}.tb-aw-blatt button:disabled{color:var(--muted);opacity:.7}
.tb-aw-blatt button small{display:block;font-size:.78rem;color:var(--muted)}.tb-aw-blatt button:not(:disabled):hover{background:var(--accent-soft)}
.tb-wrap .tabulator-row .tabulator-cell.tb-det .tabulator-responsive-collapse-toggle{background:none;color:var(--muted);width:auto;height:auto;border-radius:6px;padding:2px 6px;font-size:.8rem;white-space:nowrap}
.tb-wrap .tabulator-row .tabulator-cell.tb-det .tabulator-responsive-collapse-toggle svg{display:none!important}.tb-wrap .tabulator-row .tabulator-cell.tb-det .tabulator-responsive-collapse-toggle::after{content:"Details ▸"}
.tb-wrap .tabulator-row .tabulator-cell.tb-det .tabulator-responsive-collapse-toggle.open::after{content:"Details ▾"}.tb-wrap .tabulator-row .tb-det .tabulator-responsive-collapse-toggle:hover{color:var(--accent-text)}
.li-stat-kn .km-pop button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;margin-right:8px;vertical-align:-3px}
.li-neu-kurz{display:none}@media (max-width:600px){.li-neu-lang{display:none!important}.li-neu-kurz{display:inline-flex}}
.pm-bar.pm-kurz-ohne>.tab-eig span{display:none}
@media (max-width:480px){.page-head>.actions.pm-text>.btn:has(>svg)>span,.page-head>.actions.pm-text>.mod-stamm>summary>span{display:inline}}
.pm-bar.pm-text>.km-sel .km-sel-t{max-width:220px}@media (max-width:480px){.page-head>.actions.pm-text{flex-wrap:nowrap;min-width:0}}
.pm-text .km-pop button>svg,.pm-text .km-pop a>svg,.li-stat-kn .km-pop button>svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:8px}
#liMehrPop button>svg,#liNeuKPop button>svg,#liStatPop button>svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:8px}
/* Bilder an Artikeln (Harald 17.10.2026): Vorschau im Fenster, kleines Bild in der Artikelliste und an der Position der Einkaufsliste, groß in der Lightbox */
.ar-bilder{display:flex;flex-wrap:wrap;gap:8px}.ar-bild{position:relative;width:96px;height:96px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg)}
.ar-bild.ar-haupt{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.ar-bild-zeig{all:unset;display:flex;align-items:center;justify-content:center;width:100%;height:100%;cursor:zoom-in}
.ar-bild-zeig img{width:100%;height:100%;object-fit:cover}.ar-bild .ar-stern,.ar-bild .ar-weg{position:absolute;top:4px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:15px;line-height:26px;padding:0;cursor:pointer}
.ar-bild .ar-stern{left:4px}.ar-bild .ar-weg{right:4px;font-size:12px}.ar-bild.ar-haupt .ar-stern{background:var(--accent);color:#ffd84d}
#arBilder label.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ar-mini{width:32px;height:32px;object-fit:cover;border-radius:6px;vertical-align:middle;margin-right:8px;cursor:zoom-in;border:1px solid var(--line)}
.li-ek .li-bild{float:left;width:36px;height:36px;object-fit:cover;border-radius:6px;margin:2px 8px 2px 0;cursor:zoom-in;border:1px solid var(--line)}
.bild-gross{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;padding:16px}
.bild-gross figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff}.bild-gross img{max-width:min(96vw,1600px);max-height:82vh;object-fit:contain;border-radius:6px;background:#fff}
.bild-gross figcaption{font-size:.95rem}.bild-gross .bild-zu{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:20px;cursor:pointer}
.bild-gross .loading{color:#fff}
/* Bilder an Artikeln (2.300.0): Platzhalter „Bild wird zugeordnet …“, entfernte Bilder (grau, „entfernt“, Wieder zuordnen / Endgültig löschen) */
.ar-bild.ar-lade{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:6px;text-align:center;border-style:dashed;color:var(--muted)}
.ar-lade-t{font-size:.72rem;line-height:1.2}.ar-dreh{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:ar-dreh .8s linear infinite}
@keyframes ar-dreh{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ar-dreh{animation-duration:2.5s}}
.ar-bild.ar-aus{width:132px;height:auto;display:flex;flex-direction:column;opacity:.75;border-style:dashed}.ar-bild.ar-aus .ar-bild-zeig{height:88px;filter:grayscale(1)}
.ar-aus-t{position:absolute;top:4px;left:4px;background:var(--panel);color:var(--muted);font-size:.7rem;padding:1px 6px;border-radius:8px;border:1px solid var(--line)}
.ar-aus-kn{display:flex;flex-direction:column;gap:4px;padding:6px}.ar-aus-kn .small{width:100%;font-size:.75rem;padding:4px 6px}
.ar-weg-zeig{align-self:center;height:32px}.ar-loe-bild{display:flex;justify-content:center;margin:8px 0}.ar-loe-bild img{max-width:min(100%,320px);max-height:240px;border-radius:8px;border:1px solid var(--line)}
.ar-ki-warte{display:flex;align-items:center;gap:12px;padding:16px 4px}.ar-ki-hinweis{background:var(--accent-soft);padding:8px 10px;border-radius:8px}#arKi svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;vertical-align:-3px;margin-right:8px}#arKi{display:block;padding:9px 12px;cursor:pointer;border-radius:6px}#arKi:hover{background:var(--accent-soft)}
/* Nur ein ☰ in Zeile 1 (Harald 17.10.2026): oben im ☰ der Überlauf von Zeile 1 und 2 – mit Symbol + Text, Auswahlfelder als Überschrift mit ihren Möglichkeiten */
.km-pop:has(>.pm-ueber){max-height:min(75vh,calc(100vh - 140px));overflow:auto}.km-pop .pm-ueber button{display:flex;align-items:center;gap:8px}.km-pop .pm-ueber button>svg{width:16px;height:16px;flex:0 0 16px;margin:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.km-pop .pm-ueber .pm-pop-h{display:flex;align-items:center;gap:8px;padding:8px 12px 2px;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.km-pop .pm-ueber .pm-pop-h svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.km-pop .pm-ueber .pm-pop-opt{padding-left:36px}.km-pop .pm-ueber .pm-pop-opt[aria-checked=true]{font-weight:700;color:inherit}.km-pop .pm-ueber .pm-pop-opt[aria-checked=true]::before{content:"● "}
/* Kopfzeile der Tabelle: Beschriftungen brechen nie um – passt es nicht, wandert der Knopf ins ⋮ der Kopfzeile */
.tab-kopf>button,.tab-kopf>.km-gruppe,.tab-kopf>.km-sel{flex-shrink:0;white-space:nowrap}.tab-kopf>.km-gruppe>.km-btn{white-space:nowrap}

/* Großansicht: Blättern bei mehreren Bildern (Harald 17.10.2026) */
.bild-gross .bild-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;border:0;border-radius:10px;background:rgba(255,255,255,.18);color:#fff;font-size:34px;line-height:1;cursor:pointer;z-index:1}.bild-gross .bild-vor{left:10px}.bild-gross .bild-nach{right:10px}.bild-gross .bild-nav:hover{background:rgba(255,255,255,.32)}.bild-gross .bild-pos{opacity:.8}
/* vom Admin angepasste Beschriftung (Harald 17.10.2026) */
.anp-mark::after{content:"●"}.anp-mark{display:inline-block;margin-left:5px;font-size:.55em;vertical-align:super;color:var(--coral);cursor:help;line-height:1}
/* Fenster verschieben (Harald 17.10.2026): Griff oben in der Mitte des Fensters */
.dlg{position:relative}.dlg .dlg-zieh{position:absolute;top:2px;left:50%;transform:translateX(-50%);z-index:5;border:0;background:none;color:var(--muted);font-size:18px;line-height:1;padding:4px 10px;border-radius:8px;cursor:grab;touch-action:none}.dlg .dlg-zieh:hover{background:var(--line);color:var(--ink)}.dlg.dlg-zieht{transition:none;user-select:none}.dlg.dlg-zieht .dlg-zieh{cursor:grabbing}
@media (max-width:600px){.dlg .dlg-zieh{display:none}}

/* × oben rechts in jedem Fenster (Harald 17.10.2026); ⚙ rückt daneben */
.dlg .dlg-x{position:absolute;top:8px;right:8px;z-index:7;width:34px;height:34px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;padding:0}.dlg .dlg-x:hover{background:var(--line);color:var(--ink)}.dlg:has(.dlg-x) .dlg-mehr{right:48px}.dlg-kopf:has(.dlg-x) h2,.dlg>form>h2:first-child{padding-right:84px}
/* Modul-Suche in der linken Leiste (17.10.2026) */
.side-suche{padding:6px 10px 4px}.side-suche .ms-feld{position:relative;display:flex;align-items:center}.side-suche .ms-lupe{position:absolute;left:9px;font-size:.85rem;opacity:.6;pointer-events:none}.side-suche input{width:100%;min-width:0;padding:7px 10px 7px 30px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font-size:16px}.side-suche input:focus{outline:2px solid var(--accent-text);outline-offset:-1px}.side-suche input::placeholder{color:var(--muted)}
.ms-liste{margin-top:4px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 6px 18px #0000001f;padding:4px;max-height:60vh;overflow:auto}.ms-t{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;padding:6px 8px;border-radius:6px;color:var(--ink);text-decoration:none;min-width:0}.ms-t svg{width:16px;height:16px;flex:0 0 16px;opacity:.75}.ms-t .ms-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-t .ms-o{flex:0 0 100%;padding-left:24px;font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-t:hover,.ms-t.on{background:var(--accent-soft)}.ms-leer{padding:8px;font-size:.85rem;color:var(--muted)}
/* Suche „Modul öffnen …“ mit Gruppen, Funktionen, Einstellungen und Hilfe (Harald 18.10.2026) */
.ms-g{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 8px 3px;font-size:.72rem;color:var(--muted);text-transform:none}.ms-g:not(:first-child){border-top:1px solid var(--line);margin-top:4px}.ms-g svg{width:13px;height:13px;flex:0 0 13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ms-g b{color:var(--ink);font-weight:600;font-size:.76rem}.ms-g span{opacity:.85}
.ms-z{display:flex;align-items:flex-start;gap:4px;min-width:0}.ms-z .ms-t{flex:1 1 auto}.ms-h{flex:0 0 auto;margin-top:5px;padding:1px 7px;border:1px solid var(--line);border-radius:99px;font-size:.72rem;color:var(--link);text-decoration:none;white-space:nowrap;background:var(--panel)}.ms-h:hover{border-color:var(--accent);background:var(--accent-soft)}
.ms-t.grau{color:var(--muted)}.ms-t.grau svg{opacity:.4}.ms-t.grau .ms-o{font-style:italic}
.ms-u{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;padding:3px 8px 3px 30px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:.85rem;min-width:0}.ms-u svg{width:12px;height:12px;flex:0 0 12px;opacity:.6}.ms-u .ms-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-u .ms-o{flex:0 0 100%;padding-left:18px;font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-u:hover{background:var(--accent-soft)}
.ms-alle{display:block;margin:0 0 2px 30px;padding:2px 6px;border:0;background:none;color:var(--link);font-size:.78rem;cursor:pointer;text-decoration:underline}
#msHinweis h2 svg,.ms-hdetail summary svg{width:18px;height:18px;vertical-align:-3px;margin-right:6px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ms-hdetail{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.ms-hdetail summary{cursor:pointer;font-weight:600}

/* lange Hinweise: 4 Zeilen, dann „Mehr anzeigen“ (Harald 17.10.2026, global) */
.hint.hint-kurz{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.hint-mehr{display:block;margin:-4px 0 10px;padding:2px 0;border:0;background:none;color:var(--link);font:inherit;font-size:.85rem;cursor:pointer;text-decoration:underline}
/* Fehlende Einstellung = Hinweis (17.10.2026): Hinweisbox, wenn eine nötige Einstellung fehlt */
.einst-fehlt{border-left:3px solid #b45309;background:color-mix(in srgb,#b45309 9%,transparent);padding:8px 10px;border-radius:6px;margin:8px 0;font-size:.92em}.einst-fehlt .btn{margin-left:6px}
/* Menükonzept für alle (17.10.2026): Symbole vor den Einträgen jedes ☰ – auch ohne .pm-text am Kopf */
.km-pop>button>svg,.km-pop>a>svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:8px}

/* Bereichseinstellungen auf-/zuklappbar (Harald 17.10.2026) */
.be-klapp{border-bottom:1px solid var(--line);padding:4px 0 8px}.be-klapp>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}.be-klapp>summary::-webkit-details-marker{display:none}.be-klapp>summary::before{content:"▸";color:var(--muted);font-size:.9rem}.be-klapp[open]>summary::before{content:"▾"}.be-klapp>summary h2{margin:8px 0}
/* Bereichseinstellungen nach dem Standard (17.10.2026): Symbol vor der Überschrift, Kennzeichen ● bei ungespeicherten Änderungen, nichts ragt heraus (iPhone) */
.be-seite .ve-wrap{min-width:0;overflow-wrap:anywhere}.be-seite section{min-width:0}.be-klapp>summary h2{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.be-klapp>summary h2 svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.be-titel{min-width:0;overflow-wrap:anywhere}.be-mark{flex:none;color:var(--coral,#d4694a);font-size:.85em;line-height:1}.be-mark::before{content:"●"}.be-mark[hidden]{display:none}.be-seite select,.be-seite input:not([type=checkbox]):not([type=radio]){max-width:100%}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .be-klapp>summary h2 svg{stroke:currentColor}}:root[data-theme=dark] .be-klapp>summary h2 svg{stroke:currentColor}

/* Griff ✥ rechts oben zwischen ⚙ und × (Harald 17.10.2026) */
.dlg .dlg-zieh{top:8px;left:auto;right:46px;transform:none;width:34px;height:34px;padding:0;display:flex;align-items:center;justify-content:center}
.dlg:has(.dlg-x):has(.dlg-zieh) .dlg-mehr{right:86px}.dlg-kopf:has(.dlg-zieh) h2,.dlg>form>h2:first-child{padding-right:124px}
@media (max-width:600px){.dlg:has(.dlg-x) .dlg-mehr{right:48px}.dlg-kopf:has(.dlg-x) h2{padding-right:84px}}
/* Platzhalter in Seiten und Vorlagen (Harald 17.10.2026): nur im Editor als Rahmen, auf der Seite normaler Text */
.editable .ph,.sm-ed .ph{display:inline;border:1.5px dashed var(--coral);border-radius:5px;padding:0 4px;background:color-mix(in srgb,var(--coral) 14%,transparent);color:var(--ink);cursor:pointer;user-select:none}
.editable .ph:hover{border-style:solid}
.ph-vorschau{min-height:2.4em;padding:8px 11px;border:1px dashed var(--line);border-radius:8px;background:var(--bg)}
#phF select[name=aid]{margin-top:6px}

/* am Smartphone kein Griff (Fenster füllt den Bildschirm) – nach der Positionsregel, sonst greift display:flex */
@media (max-width:600px){.dlg .dlg-zieh{display:none}.dlg:has(.dlg-x) .dlg-mehr{right:48px}}
/* Entscheidungen (17.10.2026): Leiste oben im Dokument, Kennzeichen ✔/✖/?, Dashboard-Kachel „Wartet auf deine Entscheidung“ */
.ent-box{margin:0 0 12px}.ent-leiste{border:1px solid var(--accent);background:var(--accent-soft);border-radius:10px;padding:10px 12px;margin:0 0 10px;display:flex;flex-direction:column;gap:8px;max-width:100%;overflow-wrap:anywhere}
.ent-leiste.ent-fertig{border-color:var(--line);background:var(--panel)}.ent-l-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}.ent-l-kopf svg{width:18px;height:18px;flex:0 0 18px}
.ent-punkt{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.ent-punkt .check{margin:0}.ent-punkt .ent-p-t{flex:1 1 100%}.ent-p-knopf{display:flex;align-items:baseline;gap:10px;width:100%;min-width:0;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:5px 2px;color:inherit;font:inherit;cursor:pointer}.ent-p-knopf:hover{background:var(--hover,rgba(127,127,127,.08))}.ent-p-kurz{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ent-p-stand{flex:0 0 auto;font-size:.9em;color:var(--muted)}.ent-p-stand::after{content:" ›"}.ent-p-pop .ent-punkt{margin-top:8px}.ent-punkt textarea[data-anders]{flex:1 1 100%;width:100%;min-height:3.2em;resize:vertical;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:inherit;font:inherit;line-height:1.4}.ent-punkt input[type=text]{flex:1;min-width:140px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
.ent-leiste textarea{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--bg);resize:vertical}.ent-knoepfe{display:flex;flex-wrap:wrap;gap:6px}.ent-knoepfe .btn{white-space:normal}
.ent-antw{margin:0;padding-left:1.2em}.ent-kz{display:inline-block;font-size:.78rem;font-weight:600;padding:1px 8px;border-radius:99px;white-space:nowrap;border:1px solid currentColor;cursor:default}
.ent-frei{color:#1c6b3a}.ent-nein{color:var(--danger)}.ent-rueck{color:#9a5b00}.ent-offen{color:var(--muted)}.ent-weg{color:var(--muted);opacity:.7}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ent-frei{color:#8fd6a5}:root:not([data-theme=light]) .ent-rueck{color:#f0c060}}
:root[data-theme=dark] .ent-frei{color:#8fd6a5}:root[data-theme=dark] .ent-rueck{color:#f0c060}
.ent-kachel{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:10px 14px;margin:0 0 14px}.ent-k-kopf{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ent-k-kopf b{flex:1}.ent-k-kopf svg{width:18px;height:18px}
.ent-k-z{padding:5px 0;border-top:1px solid var(--line);display:flex;flex-direction:column}.ent-k-z .ma-b{text-align:left;background:none;border:0;padding:0;color:var(--link)}.ent-k-z.ent-ue{border-left:3px solid var(--danger);padding-left:8px}.ent-k-z.ent-ue .ma-b{color:var(--danger)}
.ent-wer{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:0 0 14px}.ent-wer .chips .check{margin:2px 0}.dms-entkz .ent-kz{margin-left:2px}
/* „Was ist zu tun?“ je Anfrage und Karte am Smartphone (Harald 18.10.2026): Du bist dran hervorgehoben, Erledigt gedämpft; Umbruch nur an sinnvollen Stellen */
.ent-tun{display:inline-block;font-size:.85rem;line-height:1.3;overflow-wrap:break-word;word-break:normal}.ent-tun-mich{color:var(--accent-text);background:var(--accent-soft);font-weight:700;padding:1px 8px;border-radius:99px}
.ent-tun-rueck{color:#9a5b00;font-weight:700}.ent-tun-warte{color:var(--ink)}.ent-tun-fertig{color:var(--muted)}.ent-k-z .ent-tun{align-self:flex-start;margin:2px 0}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ent-tun-rueck{color:#f0c060}}:root[data-theme=dark] .ent-tun-rueck{color:#f0c060}
.ent-zelle,.ent-umbruch,.tb-wrap .tabulator-row .tabulator-cell .ent-zelle{overflow-wrap:break-word;word-break:normal;hyphens:manual;min-width:0}.ent-zelle .ent-fr{display:block}
.ent-karte-m,.tb-karte-m{display:none}.ent-k-punkte{margin-top:2px}.ent-k-wahl{margin:0;font-size:.85rem}
@media (max-width:700px){.ent-karte-m,.tb-karte-m{display:block;margin-top:3px}.tb-wrap .tb-nur-pc,.table .tb-nur-pc{display:none}.ent-k-stand{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.tb-karte-aus{display:none}}
/* So geht's (2.336.0): Anleitungen je Modul – Hilfe-Reiter, ☰ „So geht's …“, Link im leeren Bereich */
.sg{max-width:900px}.sg h3{margin:18px 0 8px}.sg-ed{display:flex;flex-wrap:wrap;gap:4px 18px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:.92em}.sg-adm{margin:6px 0 0;font-size:.85em;color:var(--muted)}
.sg-leiste{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.sg-leiste .btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:6px}
.sg-teil{border-top:1px solid var(--line);margin-top:14px}.sg-teil p{margin:6px 0}
.sg-check{list-style:none;padding:0;margin:0}.sg-check li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:7px 0;border-bottom:1px dashed var(--line)}.sg-st{flex:0 0 26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;background:var(--line);color:var(--muted)}
.sg-v-ja .sg-st{background:var(--accent-soft);color:var(--link)}.sg-v-nein .sg-st{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.sg-vt{flex:1 1 220px;min-width:0}.sg-frei{font-size:.78em;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:0 7px}.sg-grund{flex:1 1 100%;padding-left:36px;font-size:.85em;color:var(--muted)}.sg-tun{padding:4px 10px}
.sg-schritte{padding-left:22px}.sg-schritte>li{margin:0 0 14px}.sg-spring{white-space:nowrap;font-size:.9em}
.sg-bild{margin:8px 0 0}.sg-bild img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.08)}.sg-bild.sg-hoch img{max-width:240px}
.sg-tab-wrap{overflow-x:auto}.sg-tab{width:100%;border-collapse:collapse;font-size:.92em}.sg-tab th,.sg-tab td{text-align:left;vertical-align:top;padding:6px 8px;border-bottom:1px solid var(--line)}.sg-tab th{font-size:.8em;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.sg-tab tr.sg-grau td{color:var(--muted)}.sg-tab tr.sg-grau td b{font-weight:600}.sg-ja{color:var(--link);font-weight:600;white-space:nowrap}.sg-nein{white-space:nowrap}.sg-mwst{font-size:.8em;color:var(--muted)}
.sg-tipp{border-bottom:1px solid var(--line);padding:6px 0}.sg-tipp summary{cursor:pointer;font-weight:600}.sg-tipp div{padding:4px 0 2px 16px}
.sg-verwandt{display:flex;flex-wrap:wrap;gap:8px}.sg-verw-text{padding:6px 10px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:.92em}
.sg-karten{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.sg-karte{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);text-decoration:none}.sg-karte:hover{border-color:var(--accent);background:var(--accent-soft)}
.sg-karte>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}.sg-karte>span:last-child>span{color:var(--muted);font-size:.9em}.sg-karte.sg-grau{opacity:.72}.sg-ab{font-weight:600}.sg-ik svg{width:26px;height:26px;fill:none;stroke:var(--link);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sg-mehr{font-size:.9em;color:var(--muted);margin-top:14px}
.sg-leer{display:inline-block;margin-top:6px;font-weight:600}
@media (max-width:640px){.sg-tab thead{display:none}.sg-tab,.sg-tab tbody,.sg-tab tr,.sg-tab td{display:block;width:auto}.sg-tab tr{padding:8px 0;border-bottom:1px solid var(--line)}.sg-tab td{border:0;padding:2px 0}.sg-tab td[data-l="Edition/Add-on"],.sg-tab td.sg-bei{font-size:.88em}.sg-tab td[data-l="Edition/Add-on"]::before{content:"Edition/Add-on: ";color:var(--muted)}.sg-tab td.sg-bei::before{content:"Bei Ihnen: ";color:var(--muted)}.sg-bild.sg-hoch img{max-width:200px}}
.sg-druck{font-size:12px;color:#000}.sg-druck .sg-ed,.sg-druck .sg-adm,.sg-druck .sg-leiste{display:none}.sg-druck .sg-bild img{max-width:420px;box-shadow:none}.sg-druck .sg-bild.sg-hoch img{max-width:180px}
@media (max-width:600px){.hilfe-dlg .help-tabs{flex-wrap:wrap;overflow-x:visible}.hilfe-dlg .help-tabs a{padding:5px 8px;font-size:.93em}} /* So geht's (2.336.0): vier Reiter passen auch am iPhone */
#liStat{overflow:visible} /* 2.336.0: Status-Menü der Liste wurde von der Leiste abgeschnitten (overflow:auto) */
#liStatPop .hint{white-space:normal}
/* Mandantenangaben (System → Mandant, 17.10.2026) */
.md-angaben{margin:8px 0 20px}.md-kopf{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.md-kopf h2{margin:0;flex:1 1 auto}.md-kopf .actions{margin:0}
.md-gr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.md-gr .md-name,.md-gr .md-strasse,.md-gr .md-vertretung,.md-gr .md-verantwortlich,.md-gr .md-datenschutz,.md-gr .md-iban{grid-column:1/-1}
.md-gr .field{margin:6px 0}.md-gr input,.md-gr textarea{width:100%;box-sizing:border-box}.md-logo{max-height:48px;vertical-align:middle;margin-right:8px;border-radius:6px}
@media (max-width:560px){.md-gr{grid-template-columns:minmax(0,1fr)}}
.logo-box>div{min-width:0;flex:1 1 auto}.logo-box .actions{flex-wrap:wrap}
/* Aufruf-Info (Harald 17.10.2026, global): unter der Überschrift steht, wofür ein Fenster/eine Stammdaten-Ansicht aufgerufen wurde und was auszufüllen ist */
.aufruf-info[hidden]{display:none!important}.hint.aufruf-info{position:relative;margin:6px 0 10px;padding:8px 10px 8px 32px;border-left:3px solid var(--link,#2563eb);background:color-mix(in srgb,var(--link,#2563eb) 8%,transparent);border-radius:6px;color:var(--ink);font-size:.92em;line-height:1.4}.hint.aufruf-info::before{content:"ⓘ";position:absolute;left:10px;top:7px;color:var(--link,#2563eb);font-weight:700}
/* Info-Bereich unter der Kopfzeile der Tabelle (17.10.2026): ⓘ, Hinweisfarbe, einklappbar, Daten-Hinweise als Filterknöpfe */
.tab-info{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 8px;padding:6px 12px;border:1px solid var(--line);border-bottom:0;background:var(--accent-soft)}
.tab-info .ti-knopf{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:0;color:var(--link);font-size:.85rem;flex:0 0 auto}.tab-info .ti-knopf svg{width:18px;height:18px}
.tab-info .ti-text{flex:1 1 300px;min-width:0;margin:0}.tab-info .ti-teil:empty{display:none}.tab-info .ti-teil+.ti-teil{margin-top:4px}.tab-info .ti-aufruf{font-style:italic}
.tab-info .ti-daten{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:4px}.tab-info .ti-daten:empty{display:none}
.tab-info .ti-hinweis{border:1px solid var(--coral);background:var(--panel);color:var(--ink);border-radius:99px;padding:1px 10px;font-size:.82rem}.tab-info .ti-hinweis.on{background:var(--coral);color:#fff}
.tab-info .hint-mehr{margin:0;flex:1 1 100%}.tab-info .ti-zu-text{display:none}.tab-info.ti-zu .ti-auf-text,.tab-info.ti-zu .ti-zu-text{display:none}
.tb-fsum{margin-left:12px}
.tab-info .ti-hinweis.ti-nur{border-color:var(--line);cursor:default}
/* Entscheidungen (17.10.2026): Symbol vor dem Text in Zeilen-Knöpfen und im Pop-up „⋯ Mehr“ (z. B. Waage bei „Entscheidung anfragen …“) */
td .actions button.small>svg,.act-pop button>svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:5px}
.ent-plattform{font-size:.75em}

/* ☰ immer gefüllt (17.10.2026): Gruppen Daten · Modul · Ansicht · System mit Trennern; lange Menüs scrollen statt über den Bildschirm zu ragen */
.km-pop>hr.pm-trenn{border:0;border-top:1px solid var(--line);margin:4px 6px}
.km-pop>[data-std]>svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:8px}
/* Kunden-Erweiterungen (17.10.2026): Kennzeichen ⧉ an Menüpunkten, Tabellen und Feldern einer Erweiterung; Status-Kennzeichen in System → Erweiterungen */
.ext-marke{display:inline-block;margin-left:4px;font-size:.85em;color:var(--link);cursor:help;line-height:1;flex:0 0 auto}.tree a .ext-marke,.side-views a .ext-marke{opacity:.8}
.badge.ext-st-pruefung{background:#fff1d6;color:#7a4b00}.badge.ext-st-freigegeben,.badge.ext-st-geprueft{background:#d9f2e3;color:#1c6b3a}.badge.ext-st-zurueckgezogen{background:var(--line);color:var(--muted)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .badge.ext-st-pruefung{background:#4a3a14;color:#ffd98a}:root:not([data-theme=light]) .badge.ext-st-freigegeben,:root:not([data-theme=light]) .badge.ext-st-geprueft{background:#1f3d2b;color:#9fe0b4}}
/* Erweiterungen, Paket-Designer (Schritt 2) */
.ex-designer{margin-top:10px}.ex-art{border-top:1px solid var(--line);padding:8px 0}.ex-art-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ex-art-kn{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}.ex-liste{margin:6px 0 0;padding-left:1.1em}.ex-liste li{margin:3px 0;word-break:break-word}fieldset.ex-rg{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 12px}fieldset.ex-rg legend{font-weight:600;padding:0 4px}
/* Dokument-/Ordner-Status im DMS (Harald 17.10.2026): Kennzeichen grau ✎, blau ⟳, gelb ⏳, grün ✔, rot ✖; Storniert grau durchgestrichen, Archiviert grau 🗄 – hell/dunkel */
.dst{display:inline-flex;align-items:center;gap:3px;font-size:.78rem;font-weight:600;padding:1px 8px;border-radius:99px;white-space:nowrap;border:1px solid currentColor;line-height:1.5;cursor:default}
.dst-entwurf,.dst-storno,.dst-archiv{color:var(--muted)}.dst-bearb{color:#1d5fa8}.dst-pruef{color:#8a5a00;background:#fff4cc}.dst-frei{color:#1c6b3a}.dst-nein{color:var(--danger)}.dst-storno{text-decoration:line-through}.dst-zurueck{color:#6a4c93}.dst-ab{color:#2f6577}.dst-ohne{color:var(--muted);font-weight:400}
.dms-storno .dms-name a span,.dms-storno .dms-name a{color:var(--muted);text-decoration:line-through}.dms-zurueck .dms-name a,.dms-archiv .dms-name a{color:var(--muted)}
.dms-inh{display:block;font-size:.78rem;color:var(--muted);white-space:nowrap}@media (max-width:700px){.dms-stk{display:none}}.dms-ver{white-space:nowrap}
.dms-stk{white-space:nowrap}.dms-stk svg{width:13px;height:13px;vertical-align:-2px;margin-right:2px}
.dms-gruppe td{background:var(--accent-soft);font-weight:600;font-size:.85rem;padding:5px 10px!important}.dms-gruppe .hint{font-weight:400}
.dms-stfil{max-width:190px}.dms-ohnetreffer{opacity:.6}.dms-stchip{font-weight:600}.dms-archiv-h{margin:6px 0 0}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .dst-bearb{color:#8cbcf2}:root:not([data-theme=light]) .dst-pruef{color:#f0c060;background:#3a3010}:root:not([data-theme=light]) .dst-frei{color:#8fd6a5}:root:not([data-theme=light]) .dst-ab{color:#9fd0e0}:root:not([data-theme=light]) .dst-zurueck{color:#c4b0e8}}
:root[data-theme=dark] .dst-bearb{color:#8cbcf2}:root[data-theme=dark] .dst-pruef{color:#f0c060;background:#3a3010}:root[data-theme=dark] .dst-frei{color:#8fd6a5}:root[data-theme=dark] .dst-ab{color:#9fd0e0}:root[data-theme=dark] .dst-zurueck{color:#c4b0e8}
/* Vorfälle mit Maßnahmen, 17.10.2026: Fortschrittsbalken, Satz „was jetzt zu tun ist“, Fragen, Einstellungen */
.qs-balken{display:flex;gap:4px;list-style:none;margin:6px 0 4px;padding:0;flex-wrap:wrap}.qs-balken li{display:flex;align-items:center;gap:4px;padding:3px 8px 3px 4px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:.86em;color:var(--muted)}
.qs-balken li span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--line);color:var(--text);font-size:.8em;font-weight:600}.qs-balken li em{font-style:normal}
.qs-balken li.qs-ok span{background:var(--ok,#2e7d32);color:#fff}.qs-balken li.qs-jetzt{border-color:var(--accent);color:var(--text);font-weight:600}.qs-balken li.qs-jetzt span{background:var(--accent);color:#fff}
.qs-balken.qs-klein{gap:2px;margin:2px 0}.qs-balken.qs-klein li{padding:0;border:0;background:none}.qs-balken.qs-klein li span{width:14px;height:14px;font-size:.62em}.qs-balken.qs-ab li span{opacity:.5}
.qs-jetzt-satz{background:var(--panel);border-left:4px solid var(--accent);padding:6px 10px;border-radius:6px;margin:4px 0 10px}
.qs-frage{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:4px 0}.qs-frage [data-f="text"]{flex:1 1 220px}.qs-frage [data-f="opt"]{flex:1 1 100%}.qs-fnr{min-width:1.6em;color:var(--muted)}.qs-fk{display:inline-flex;gap:2px}
.qs-rollen{margin-top:4px}.qs-einst{margin:10px 0}.qs-einst summary{cursor:pointer;font-weight:600}.qs-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 12px}
@media (max-width:640px){.qs-balken li em{display:none}.qs-balken li.qs-jetzt em{display:inline}}
/* Systemmeldungen (18.10.2026): Kachel im Dashboard, Stufe im Protokoll, Empfänger-Liste, Sprung an die Stelle */
.sm-kachel{border-left-color:var(--danger)}.sm-kachel .ent-k-kopf .btn,.sm-k-z .sm-gesehen{padding:3px 10px;font-size:.82rem}.sm-k-oben{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sm-k-oben .ma-b{flex:1;min-width:0;overflow-wrap:anywhere}
.sm-st{display:inline-block;font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:99px;background:color-mix(in srgb,#b45309 14%,transparent);color:#a15c00}.sm-fehler .sm-st,.sm-st.sm-fehler{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}
:root[data-theme=dark] .sm-st:not(.sm-fehler){color:#f0b45a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sm-st:not(.sm-fehler){color:#f0b45a}}
.sm-empf-z{display:flex;gap:6px;align-items:center;margin:0 0 8px;flex-wrap:wrap;max-width:100%}.sm-empf-z select,.sm-empf-z input{min-width:0;max-width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}.sm-empf-z .sm-wer{flex:2 1 240px;min-width:0;display:flex;gap:6px;flex-wrap:wrap}.sm-empf-z .sm-wer>*{flex:1 1 200px;min-width:0}.sm-empf-z .sm-wer select{width:100%}.sm-empf-z select[data-smstufe]{flex:0 1 190px}.sm-empf-z select[data-smtakt]{flex:0 1 230px}.sm-empf-z input.sm-falsch{border-color:var(--danger);outline:1px solid var(--danger)}.sm-empf-intro{margin:4px 0 10px}@media (max-width:600px){.sm-empf-z{border:1px solid var(--line);border-radius:10px;padding:8px}.sm-empf-z .sm-wer,.sm-empf-z select[data-smstufe],.sm-empf-z select[data-smtakt]{flex:1 1 100%}}
.sm-ziel,.tabulator-row.sm-ziel{outline:2px solid var(--danger);outline-offset:-2px;background:color-mix(in srgb,var(--danger) 8%,transparent)!important}
/* Freigabe-Workflows (Schritt 1, 17.10.2026): Fortschrittsbalken (gemeinsamer Baustein PF.ablaufBalken, auch für den Vorfall), Status am Eintrag, Designer */
.ab-balken{list-style:none;display:flex;flex-wrap:wrap;gap:6px 0;margin:8px 0;padding:0;min-width:0;max-width:100%}.ab-balken>.ab-s{flex:0 0 auto}.ab-s{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted);min-width:0}
.ab-s:not(:last-child)::after{content:"";display:inline-block;width:18px;height:2px;background:var(--line);margin:0 6px}.ab-n{flex:0 0 24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;border:2px solid var(--line);background:var(--panel)}
.ab-t{white-space:nowrap}.ab-fertig .ab-n{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ab-fertig{color:var(--ink)}.ab-aktiv .ab-n{border-color:var(--accent);color:var(--link)}.ab-aktiv{color:var(--ink);font-weight:700}
.ab-nein .ab-n{border-color:var(--danger);color:var(--danger)}.ab-nein{color:var(--danger)}.ab-weg{opacity:.6}.ab-klein .ab-s{font-size:.78rem}.ab-klein .ab-n{flex-basis:20px;height:20px}
.wf-satz{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:0 0 12px;background:var(--panel)}.wf-zeile{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.wf-zeile>.hint{flex:1 1 auto}
.wf-jetzt{margin:4px 0;font-size:.92rem}.wf-satz[data-wfst=laeuft]{border-color:var(--accent)}.wf-satz[data-wfst=abgelehnt],.wf-satz[data-wfst=rueckfrage]{border-color:var(--danger)}
.wf-kz{display:inline-block;font-size:.78rem;font-weight:600;padding:1px 8px;border-radius:99px;border:1px solid currentColor;white-space:nowrap}.wf-frei{color:#1c6b3a}.wf-nein{color:var(--danger)}.wf-rueck{color:#9a5b00}.wf-laeuft{color:var(--link)}.wf-entwurf,.wf-weg{color:var(--muted)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .wf-frei{color:#8fd6a5}:root:not([data-theme=light]) .wf-rueck{color:#f0c060}}
:root[data-theme=dark] .wf-frei{color:#8fd6a5}:root[data-theme=dark] .wf-rueck{color:#f0c060}
.wf-stufe{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:0 0 10px}.wf-stufe legend{font-weight:700;padding:0 4px}.wf-st-kn{display:flex;gap:4px;justify-content:flex-end;margin-bottom:4px}.wf-stufe .chips .check{margin:2px 0}
.wf-runde{margin:0 0 14px}.wf-vl{margin:6px 0 0;padding-left:1.2em}.wf-vl li{margin:0 0 6px}
.who-txt{display:inline-flex;flex-direction:column;min-width:0;line-height:1.15;text-align:left}.who-txt .who{max-width:30vw}.who-ed{font-size:.68rem;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:30vw}
.pf-ed-zeile{display:flex;gap:8px;align-items:center;margin:4px 0}.pf-ed-zeile>.hint:first-child{min-width:70px}.pf-ed-liste{margin:2px 0 8px;padding-left:22px}
@media (max-width:860px){.who-txt.hide-sm{display:none}}
/* QS Stufe 2: Kacheln nebeneinander (iPhone untereinander), Antworten, Bewerten, Maßnahmen anlegen */
.qs-kacheln{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 14px}.qs-kachel .qs-balken{margin:2px 0}
.qs-teil{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:8px 0;background:var(--panel)}.qs-antw-f .chips{margin-top:2px}
.qs-bew-f{margin:8px 0}.qs-bew-f h4{margin:6px 0 4px}.qs-bew-z{display:grid;grid-template-columns:minmax(80px,140px) minmax(0,1fr) auto minmax(90px,180px);gap:4px 8px;align-items:center;padding:4px 0;border-top:1px solid var(--line)}
.qs-bew-wer{color:var(--muted);font-size:.9em}.qs-bew-w{white-space:pre-wrap;word-break:break-word}.qs-erg{margin:4px 0 8px}
@media (max-width:640px){.qs-bew-z{grid-template-columns:minmax(0,1fr) auto}.qs-bew-wer{grid-column:1/-1}.qs-bew-z [data-notiz]{grid-column:1/-1}}
.qs-mz{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0}.qs-mz [data-mf="text"]{flex:2 1 220px}.qs-mz select{flex:1 1 150px;max-width:100%}.qs-m{padding:4px 0;border-top:1px solid var(--line)}
.qs-vorb{margin:8px 0}.qs-vorb>summary{cursor:pointer;font-weight:600}
.qs-mini .ab-s:not(.ab-aktiv) .ab-t{display:none}.qs-mini .ab-balken{margin:2px 0} /* QS: Mini-Fortschritt in Liste und Kachel – nur der aktuelle Schritt mit Text */
/* Freigabe-Workflows Schritt 2 (18.10.2026): Bedingung je Stufe/Aktion, Folgeaktionen im Designer, offene Punkte am Eintrag */
.wf-bed{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}.wf-bed select,.wf-bed input{padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);min-width:0;max-width:100%}.wf-bed input{flex:1 1 90px}
.wf-akt{border:1px dashed var(--line);border-radius:8px;padding:8px 10px;margin:0 0 10px}.wf-akt legend{font-weight:700;padding:0 4px}.wf-akt .chips .check{margin:2px 0}.wf-akt .hint{margin:2px 0 6px}
.wf-offen{border:1px solid var(--coral);border-radius:8px;padding:6px 10px;margin:6px 0;background:var(--bg)}.wf-of-z{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:4px}.wf-of-z span{flex:1 1 200px;min-width:0}.wf-of-z .btn{white-space:normal}
/* Module mit Reitern (Harald 18.10.2026): Kopfzeile des Reiters (reiterKopf) und Seitenkopf immer in einer Zeile – zuerst wird der Titel gekürzt (voller Titel im Tooltip), dann wandert der Rest ins ☰ */
.kopf-fest .page-head{flex-wrap:nowrap!important;align-items:center}.kopf-fest .page-head>h1{flex:1 1 0;min-width:min(12ch,40%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kopf-fest .page-head>h1 *{white-space:nowrap}
.kopf-fest .page-head>.actions{flex:0 1 auto;min-width:0;flex-wrap:nowrap!important}
.tab-kopf.rk-kopf{flex-wrap:nowrap;min-width:0;gap:6px}.tab-kopf.rk-kopf>.tab-titel{flex:0 1 auto;min-width:min(12ch,35%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tab-kopf.rk-kopf>.rk-neu{flex-shrink:0;white-space:nowrap}.tab-kopf.rk-menue>.tab-eig{display:none!important}.tab-kopf.rk-kopf>.such-w{flex:1 1 120px;min-width:80px;max-width:240px}.tab-kopf.rk-kopf>.such-w input{width:100%;min-width:0}
.tab-kopf.rk-kopf>.rk-neu{padding:5px 12px}.rk-neu>.rk-kurz{display:none}@media (max-width:600px){.tab-kopf.rk-kopf>.rk-neu>.rk-lang{display:none}.tab-kopf.rk-kopf>.rk-neu>.rk-kurz{display:inline}}
/* Der Titel hat Vorrang (Harald 18.10.2026, global): solange der Kopf ein .pm-bar hat, behält der Titel seine Breite – zuerst verlieren die Knöpfe ihre Beschriftung, dann wandert
   der Rest ins ☰; erst danach setzt punktMenue .pm-titel-kurz und der Titel wird mit „…“ gekürzt (voller Titel im Tooltip). Der Kopf bleibt einzeilig. */
.kopf-fest .page-head:has(>.actions.pm-bar):not(.pm-titel-kurz)>h1{flex:0 0 auto;min-width:0;max-width:none}
@media (max-width:480px){.kopf-fest .page-head{gap:8px}.kopf-fest .page-head>h1{font-size:1.3rem}} /* iPhone: kleiner Titel (Modul-Kopf-Standard), damit z. B. „Meine Aufgabenlisten“ ganz bleibt */
.kopf-fest .page-head.pm-titel-kurz>h1{flex:0 1 auto;min-width:min(6ch,30%)}.kopf-fest .page-head.pm-titel-kurz>.actions{flex-shrink:0}
.page-head>.actions.pm-text.pm-kurz>.btn:has(>svg)>span,.page-head>.actions.pm-text.pm-kurz>a.btn:has(>svg)>span,.tab-kopf.rk-kopf.pm-kurz>.rk-neu:has(>svg)>span{display:none!important}
.tab-kopf.rk-kopf:not(.pm-titel-kurz)>.tab-titel{flex:0 0 auto;min-width:0}.tab-kopf.rk-kopf.pm-titel-kurz>.tab-titel{flex:0 1 auto;min-width:min(6ch,30%)}
/* Tabellenkopf am iPhone (Harald 18.10.2026, global): „☰ Eigenschaften“ bzw. „☰ Menü“ nur als ☰ */
@media (max-width:600px){.tab-kopf>.tab-eig>span,.tab-kopf>.km-gruppe.pm-ohne>.km-btn[aria-haspopup=menu]>span{display:none}}
/* Meine Aufgabenlisten am iPhone: Termin klein als zweite Zeile unter dem Namen (die Spalte Termin klappt dort ein) */
.ml-termin-sm{font-size:.82em} /* Meine Aufgabenlisten: Termin als Zeile der Karte (tb-karte-m, nur am Smartphone sichtbar) */
/* Freigabe-Workflows Schritt 4 (18.10.2026): Vorlagen-Auswahl */
.wf-vorl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;border-top:1px solid var(--line)}.wf-vorl>div{flex:1 1 260px;min-width:0}
/* KI des Mandanten, Stufe 1 (20.10.2026): Entwurf der KI im Workflow-Fenster, Ablauf in Alltagssprache, Probelauf */
.wf-ki-box{border:1px solid var(--accent);border-radius:8px;padding:8px 12px;margin:0 0 12px;background:var(--accent-soft)}.wf-ki-box ul{margin:4px 0 6px;padding-left:20px}.wf-ki-box>p{margin:4px 0}
.wf-ki-weg{color:var(--danger);margin:6px 0}.wf-ki-diff .wf-neu{color:var(--link)}.wf-ki-diff .wf-weg{color:var(--muted);text-decoration:line-through}
.wf-ablauf{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 10px}.wf-ablauf-l{margin:0 0 8px;padding-left:20px}.wf-ablauf-l li{margin:2px 0;overflow-wrap:anywhere}
.wf-probe-f{display:flex;flex-wrap:wrap;gap:0 12px}.wf-probe-f .field{flex:1 1 140px;min-width:0;margin-bottom:8px}.wf-probe-erg{margin:6px 0 0;padding-left:20px}.wf-probe-erg li{overflow-wrap:anywhere}.wf-probe-ja{font-weight:600}.wf-probe-weg{color:var(--muted)}
.wf-platz{margin:4px 0}.wf-erkl p{margin:0 0 8px}
/* QS Stufe 3: Maßnahmen mit Status, Bewertung farbig (positiv grün, teilweise gelb, negativ rot), Fertig melden, Vorfälle-Übersicht */
.qs-m-kopf{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:baseline}.qs-verl{margin-top:2px}.qs-fertig,.qs-neu,.qs-mbew,.qs-wirk{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0;padding:6px 8px;border-left:3px solid var(--accent);background:var(--bg)}
.qs-fertig textarea{flex:1 1 100%}.qs-neu input[data-nf="text"]{flex:2 1 200px}.qs-ent{margin:6px 0}
.qs-bew{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.85em;font-weight:600}.qs-pos{background:#e3f4e6;color:#1e6b2c}.qs-teil-b{background:#fdf3d6;color:#7a5a00}.qs-neg{background:#fbe1e1;color:#9b1c1c}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .qs-pos{background:#1f3d26;color:#9fe0ad}:root:not([data-theme="light"]) .qs-teil-b{background:#3d3317;color:#f1d27a}:root:not([data-theme="light"]) .qs-neg{background:#45201f;color:#f3a6a6}}
:root[data-theme="dark"] .qs-pos{background:#1f3d26;color:#9fe0ad}:root[data-theme="dark"] .qs-teil-b{background:#3d3317;color:#f1d27a}:root[data-theme="dark"] .qs-neg{background:#45201f;color:#f3a6a6}
.qs-ueb{display:flex;flex-wrap:wrap;gap:6px}.qs-ueb-z{padding:3px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--text)}

/* Symbole links in den Kopf-Menüs, Edition oben im Anwender-Menü (Harald 18.10.2026) */
button.mi-b{display:flex;align-items:center;gap:10px;width:100%;text-align:left}.mi-b .mi{display:inline-flex;width:18px;flex:0 0 18px;color:var(--muted)}.mi-b .mi svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.um-info{display:flex;flex-direction:column;gap:2px;padding:8px 12px 6px;max-width:280px}.um-info .hint{font-size:.82rem;line-height:1.35}

/* Seitenüberschrift bleibt beim Scrollen stehen, auch ohne kopf-fest (Harald 18.10.2026, global); Produkte auf der Seite Mandant */
#main>.page-head:first-child,#ovBody>.page-head:first-child{position:sticky;top:var(--top,56px);z-index:10;background:var(--bg);padding:6px 0 4px;margin-top:-6px;border-bottom:1px solid var(--line)}
#ovBody>.page-head:first-child{top:var(--ov-kopf,57px)}.ov .ef-kopf{top:var(--ov-kopf,57px)}
.md-produkte{max-width:760px;margin:12px 0 18px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.md-prod-z{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.md-prod{cursor:default}

/* ⓘ vor langen Erklärungen: auf eine Zeile einklappen (Harald 18.10.2026, global) */
.hint-i{display:inline-flex;vertical-align:-3px;margin:0 6px 0 0;padding:0;border:0;background:none;color:var(--link);cursor:pointer}.hint-i svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.hint.hint-zeile{display:block;-webkit-line-clamp:unset;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Meldung unten (toast) am Smartphone breiter: nicht mehr auf die halbe Breite begrenzt (Harald 18.10.2026) */
.toast{width:max-content;max-width:min(560px,calc(100vw - 24px));border-radius:14px;text-align:center;line-height:1.35}
/* Symbol vor dem Text, auch in der Glocke (Harald 18.10.2026) */
.glocke-pop button.mi-b{flex-direction:row;align-items:center;justify-content:flex-start;gap:10px}

/* Info mit ⓘ (auch kurze Infos wie „was jetzt zu tun ist“): eingeklappt eine Zeile (Harald 18.10.2026) */
.info-i.hint-kurz{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.info-i.hint-zeile{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Erklärtext mit Aufzählung (Harald 18.10.2026: Zeilenschaltungen für Übersicht); eingeklappt nur der Kernsatz */
.intro-liste ul{margin:6px 0 0;padding-left:1.2em}.intro-liste li{margin:3px 0}.intro-liste.hint-zeile ul{display:none}
/* Abwesenheiten (Stufe A, 2026-10-18): Hinweis „⚠ … nicht da“ an Zuständigen und Helfern, Leiste in Mein Kalender – Farben aus den Mandanten-/Themenfarben (hell und dunkel) */
.abw-hinweis{border:1px solid color-mix(in srgb,var(--coral) 55%,var(--line));border-left:4px solid var(--coral);border-radius:8px;background:color-mix(in srgb,var(--coral) 10%,var(--panel));color:var(--ink);padding:6px 10px;margin:6px 0;font-size:.9rem;overflow-wrap:anywhere}.abw-hinweis .hint{display:block;font-size:.8rem}
.badge.abw-jetzt{background:color-mix(in srgb,var(--coral) 22%,var(--panel));color:var(--ink)}.st-chip.abw-weg{border-style:dashed}.abw-t{color:var(--coral);font-weight:600}
.mk-e.mk-abw{background:color-mix(in srgb,var(--coral) 16%,var(--panel));border-left:3px solid var(--coral);color:var(--ink);padding:1px 5px;font-size:.75rem;cursor:default}
/* Favoriten in Ordnern (Harald 18.10.2026): Ordner im Menü, Fenster „Favoriten ordnen“ mit Griff ⠿ zum Ziehen, kleines Fenster „In Ordner …“ unter dem Stern */
.fav-ordner{display:flex;align-items:center;gap:6px;padding:6px 6px;border-radius:8px;color:var(--ink);cursor:pointer;user-select:none}.fav-ordner:hover{background:var(--accent-soft)}.fav-ordner:focus-visible{outline:2px solid var(--accent-text)}
.fav-ordner svg{width:16px;height:16px;flex:0 0 16px;opacity:.75}.fav-ordner .side-pf{width:.9em;color:var(--muted)}.fav-ordner span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fav-ordner-inhalt{display:flex;flex-direction:column;padding-left:18px}
.fav-liste{gap:6px}.fav-z{flex-wrap:wrap;gap:6px 8px;padding:8px 10px}.fav-z .grow{flex:1 1 140px;overflow-wrap:anywhere}.fav-z select{width:auto;max-width:180px}.fav-kind{margin-left:24px}
.fav-ord{background:var(--accent-soft)}.fav-ord-name{display:flex;align-items:center;gap:6px}.fav-ord-name svg{width:18px;height:18px;flex:0 0 18px}.fav-ord-name input{flex:1;min-width:0}
.fav-griff{cursor:grab;touch-action:none;user-select:none;color:var(--muted);font-size:1.1rem;padding:2px 4px;line-height:1}.fav-zieht{opacity:.55}.fav-zieht .fav-griff{cursor:grabbing}
.fav-ziel-vor{box-shadow:0 -3px 0 var(--accent)}.fav-ziel-nach{box-shadow:0 3px 0 var(--accent)}.fav-ziel-in{outline:2px dashed var(--accent);outline-offset:1px}
.fav-leer,.fav-oben-ziel{margin-left:24px;padding:8px 10px;border:1px dashed var(--line);border-radius:10px}.fav-oben-ziel{margin-left:0;text-align:center}
.fav-neu{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.fav-neu input{flex:1 1 180px;min-width:0}
.fav-pop{position:fixed;z-index:58;display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:calc(100vw - 16px);padding:8px 10px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.fav-pop label{display:flex;align-items:center;gap:6px;font-size:.9rem}.fav-pop select{max-width:200px}.fav-pop-neu{display:flex;gap:6px}.fav-pop-neu input{min-width:0;width:160px}
@media (max-width:600px){.fav-z .grow{flex:1 1 calc(100% - 40px)}.fav-z select{flex:1 1 120px;width:auto;max-width:none;min-width:0}.fav-kind,.fav-leer{margin-left:14px}}

/* Plattform-Verwaltung als Menügruppe (18.10.2026): Name führt zu den Mandanten, darunter die Unterpunkte; aufgeklappt klebt die Gruppe am Handy nicht mehr unten */
.side-foot.pv-grp-fuss{padding:0 0 6px}
.side-foot.pv-grp-fuss .side-views{padding-bottom:4px}
.side-kl-link{color:inherit;text-decoration:none;border-radius:6px;padding:1px 4px;margin-left:-4px}
.side-kl-link:hover{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.side-kl-link.on{background:var(--accent);color:var(--accent-ink)}
@media (max-width:860px){.side-foot.pv-grp-fuss:has(> .side-kl[aria-expanded=true]){position:static!important}}
.kopf-ort{margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-datum{color:var(--link);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
/* Vorfälle (Harald 18.10.2026): Stand „3/8 Bewerten“, Karte am iPhone; Antworten und Maßnahmen als Baum im Tabellen-Baustein (24.10.2026, .tb-baum) */
.qs-nr-z{display:flex;align-items:flex-start;gap:6px}.qs-nr{min-width:0}.qs-nr b,.qs-nr .hint>span{white-space:nowrap}
.qs-stand{display:inline-flex;align-items:baseline;gap:5px;flex-wrap:wrap;overflow-wrap:break-word}.qs-stand-ende{color:var(--muted)}
.qs-stufe{display:inline-block;padding:0 6px;border:1px solid var(--line);border-radius:99px;font-size:.78em;font-weight:700;color:var(--muted);background:var(--bg);white-space:nowrap}
.qs-erg-k{overflow-wrap:break-word}.qs-erg-b .qs-bew{margin-top:2px}
.qs-offen{color:var(--muted);font-style:italic}.qs-uz-leer{margin:2px 0;font-weight:400}.qs-kind{cursor:pointer;overflow-wrap:break-word}
.qs-mk{display:inline-block;padding:0 6px;border-radius:99px;font-size:.8em;font-weight:600;background:var(--bg);border:1px solid var(--line)}.qs-mk-wichtig{color:#9b1c1c;border-color:#e6a5a5}.qs-mk-erledigt{color:#1e6b2c;border-color:#9fd3aa}.qs-mk-unwichtig{color:var(--muted)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .qs-mk-wichtig{color:#f3a6a6}:root:not([data-theme="light"]) .qs-mk-erledigt{color:#9fe0ad}}:root[data-theme="dark"] .qs-mk-wichtig{color:#f3a6a6}:root[data-theme="dark"] .qs-mk-erledigt{color:#9fe0ad}
.qs-dran-btn.an{background:var(--accent-soft);color:var(--accent-text);font-weight:700}
.qs-dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:8px 0}.qs-dl dt{color:var(--muted)}.qs-dl dd{margin:0;overflow-wrap:break-word}.qs-verl-l{margin:4px 0;padding-left:18px}
.qs-antw-z{padding:6px 0;border-top:1px solid var(--line)}.qs-antw-q{font-weight:600}.qs-antw-w{white-space:pre-wrap;overflow-wrap:break-word}
@media (max-width:700px){.tb-wrap .tabulator-row .tb-unter{padding:2px 6px 8px 10px}.table tr.tb-unter td{padding-left:8px}.qs-k-titel{margin-top:4px}}
/* Zuständigkeiten als Baum (Harald 18.10.2026): Art als kleines Kennzeichen, ▸/▾ zum Auf-/Zuklappen, Einrückung nach Ebene; Baum-Beispiele in der Hilfe */
.zu-art{display:inline-block;font-size:.68rem;line-height:1.3;padding:1px 7px;border-radius:99px;border:1px solid var(--line);color:var(--muted);font-weight:600;vertical-align:middle;white-space:nowrap;margin-left:2px}
.zu-art-sparte{border-color:var(--accent);color:var(--link)}.zu-art-gruppe{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));color:var(--link)}.zu-art-ausschuss{border-color:color-mix(in srgb,var(--coral) 60%,var(--line));color:var(--coral)}
.zu-karte .zu-ganz{font-size:.78rem}.zu-karte{min-width:0}
.hilfe-baum{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:.85rem;line-height:1.45;overflow-x:auto;white-space:pre;color:var(--ink)}
/* Fenster mit eigenem Kopf (.page-head/.ef-kopf mit h2, z. B. „Einstellungen · Seite“) – der Kern macht ihn zum festen Fensterkopf (Harald 18.10.2026, global) */
.dlg .page-head.dlg-kopf,.dlg .ef-fenster .ef-kopf.dlg-kopf{position:sticky;top:0;z-index:6;background:var(--panel,#fff);flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0}.dlg .page-head.dlg-kopf>h2{flex:none;min-width:0}
/* QR-Code für jeden Datensatz (Konzept docs/konzept-qr-code.md, 18.10.2026) */
.qr-gross{margin:8px auto;width:100%;max-width:min(var(--qr-max,320px),100%);background:#fff;border-radius:6px}
.qr-gross svg{display:block;width:100%;height:auto}
.qr-json{white-space:pre-wrap;word-break:break-all;font:12px/1.4 ui-monospace,Menlo,monospace;background:var(--panel));padding:8px;border-radius:6px;margin:0;max-height:180px;overflow:auto}
.qr-titel{margin:4px 0}
.qr-felder{display:grid;gap:4px}
.qr-fz{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,12em) auto;gap:6px;align-items:center}
.qr-fz input[name=schl]{min-width:0}
.qr-fz-kn{display:flex;gap:2px}
.qr-priv{color:#c0392b}
.qr-fmt-wahl{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.qr-fmt-wahl select{flex:1 1 220px;min-width:0}
.qr-vor{overflow-x:auto}.qr-etk-vor{margin:4px 0 8px;min-height:40px}.qr-etk-blatt{position:relative;background:#fff;color:#000;border:1px solid #999;border-radius:3px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.18);font-family:Roboto,Helvetica,Arial,sans-serif}.qr-etk-el{position:absolute;overflow:hidden}.qr-etk-code svg{width:100%;height:100%;display:block}.qr-etk-text{display:flex;flex-direction:column;white-space:pre-wrap;word-break:break-word}.qr-etk-platz{border:1px dashed #999;font-size:9px;color:#666;display:flex;align-items:center;justify-content:center}
.qr-bogen{max-width:100%;height:auto}
.qr-bogen .qr-papier{fill:#fff;stroke:#999;stroke-width:.4}
.qr-bogen .qr-leer{fill:none;stroke:#bbb;stroke-width:.3;stroke-dasharray:1 1}
.qr-bogen .qr-voll{fill:#eef4ff;stroke:#5577aa;stroke-width:.3}
.qr-bogen .qr-code{fill:#333}
@media (max-width:600px){.qr-fz{grid-template-columns:minmax(0,1fr) auto}.qr-fz input[name=schl]{grid-column:1/-1;grid-row:2}}
/* Einzelfrage im Popup (Harald 18.10.2026): „wie anders?“ über die ganze Breite unter den beiden Optionen; Blättern ‹ › im Kopf */
.ent-p-ed:not([hidden]){display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;flex:1 1 100%;width:100%;min-width:0}.ent-p-ed textarea[data-anders]{flex:1 1 100%;width:100%;box-sizing:border-box}
.ent-p-bl{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
/* Entscheidung nur lesen (Harald 18.10.2026): Sperr-Hinweis oben, Einzelfragen mit Vorschlag und Antwort, Verlauf */
.ent-sperre{margin:6px 0;padding:6px 10px;border-radius:6px;background:var(--accent-soft,rgba(127,127,127,.12));border-left:3px solid var(--muted);overflow-wrap:anywhere}.ent-sperre-rueck{border-left-color:#d97706}
.ent-l-abschn{margin-top:8px}.ent-l-punkte,.ent-verlauf{margin:4px 0 0;padding-left:1.4em}.ent-l-punkte li,.ent-verlauf li{margin:3px 0;overflow-wrap:anywhere}.ent-l-antw{font-size:.95em}
.ent-mail{margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;overflow-wrap:anywhere}.ent-mail .ent-mail-text{white-space:pre-wrap;max-height:220px;overflow:auto;font-size:.9em;margin:6px 0 0;padding:6px;background:var(--bg);border-radius:4px}
.btn-grau,.btn[aria-disabled="true"],button[aria-disabled="true"]{opacity:.5;cursor:not-allowed}

/* Papierkorb (Schritt 1): Angaben im Fenster eines Eintrags */
.pk-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0}.pk-dl dt{color:var(--muted)}.pk-dl dd{margin:0;overflow-wrap:anywhere}
/* QR scannen (Stufe 2) */
.qr-scan-kn{flex-wrap:wrap}
.qr-video{position:relative;max-width:480px;margin:8px 0;border-radius:8px;overflow:hidden;background:#000}
.qr-video video{display:block;width:100%;height:auto}
.qr-rahmen{position:absolute;inset:18%;border:3px solid rgba(255,255,255,.85);border-radius:12px;box-shadow:0 0 0 999px rgba(0,0,0,.25)}
.qr-ein{max-width:480px;margin-top:12px}
.qr-ein-z{display:flex;gap:6px}.qr-ein-z input{flex:1;min-width:0}
.qr-fremd{margin-top:10px;max-width:480px}
/* Modul Mandant mit Reitern (Konzept docs/konzept-modul-mandant.md, freigegeben 18.10.2026): Reiterleiste unter dem Kopf, am iPhone waagerecht wischbar; zweite Leiste für Teile eines Reiters */
/* Mandant als Gruppe im Menü „System“ (Harald 18.10.2026, Muster der Plattform-Verwaltung): Kopf wie ein Menüpunkt mit ▸, Unterpunkte eingerückt */
.md-grp{display:flex;align-items:center;gap:6px;padding:6px 6px;border-radius:8px;color:var(--ink);cursor:pointer;user-select:none;min-width:0}.md-grp:hover{background:var(--accent-soft)}.md-grp:focus-visible{outline:2px solid var(--accent-text)}
.md-grp .side-pf{width:.9em;color:var(--muted)}.md-grp>svg{width:16px;height:16px;flex:0 0 16px;opacity:.75}
.side-views .md-grp a.side-kl-link{display:block;padding:1px 4px;margin-left:-4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;border-radius:6px}.side-views .md-grp a.side-kl-link:hover{background:none;text-decoration:underline;text-underline-offset:3px}
.md-grp>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-grp-inhalt{display:flex;flex-direction:column;padding-left:18px;min-width:0}.md-grp-inhalt a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.md-unter{max-width:100%;min-width:0}
.md-unter{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:0 0 4px;margin:0 0 6px}.md-unter>a,.md-unter>.md-grau{flex:0 0 auto;padding:4px 12px;border:1px solid var(--line);border-radius:99px;text-decoration:none;color:var(--ink);font-size:.9rem;white-space:nowrap;background:var(--panel)}
.md-unter>a.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.md-unter>.md-grau{color:var(--muted);border-style:dashed;background:none}.md-unter>.md-grau a{font-size:.85rem}
.md-steck{display:flex;gap:14px;align-items:flex-start;max-width:760px;margin:12px 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.md-steck-logo{width:64px;height:64px;object-fit:contain;border-radius:10px;flex:0 0 auto;background:var(--bg)}
.md-steck-t{min-width:0;flex:1}.md-steck-name{font-size:1.15rem}.md-steck .md-prod-z a{overflow-wrap:anywhere}
.md-kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;max-width:980px;margin:0 0 20px}
.md-kachel{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);text-decoration:none;color:var(--ink)}.md-kachel:hover,.md-kachel:focus-visible{border-color:var(--accent);background:var(--accent-soft)}
.md-kachel .hint{font-size:.85rem;line-height:1.35}
@media (max-width:600px){.md-steck-logo{width:48px;height:48px}.md-kacheln{grid-template-columns:1fr}}
/* Ordner überwachen und DMS-Ordner als Favorit (18.10.2026): Knöpfe in der Pfadzeile, Kachel „Geänderte Ordner“, Details */
.dms-ok{display:inline-flex;gap:6px;margin-left:10px;vertical-align:middle;flex-wrap:wrap}.dms-ok .small{font-size:.8rem;padding:2px 8px}.dms-ok .an{border-color:var(--accent);color:var(--accent-text)}
.dw-kachel{border-left-color:var(--accent)}.dw-kachel .ent-k-kopf .btn,.dw-k-z .sm-gesehen{padding:3px 10px;font-size:.82rem}.dw-k-z .ma-b{flex:1;min-width:0;overflow-wrap:anywhere}
/* Fenster „Ordner überwachen“ (Harald 19.10.2026): Stand oben, „Wer wird informiert?“ mit Empfängern */
.dw-stand{margin:6px 0 8px;padding:6px 10px;border-radius:8px;border:1px solid var(--line);color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}.dw-stand.an{border-color:var(--accent);color:var(--text,inherit);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.dw-empf .list-row{flex-wrap:wrap;align-items:center}.dw-e .grow{min-width:0;overflow-wrap:anywhere}.dw-meta{display:block;font-size:.8rem}.dw-ik{display:inline-flex;color:var(--muted)}.dw-ik svg,.dw-weg svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dw-grau{opacity:.65}.dw-grund{color:var(--warn,#b26a00)}.dw-unter{margin:0;white-space:nowrap;font-size:.85rem}.dw-weg{display:inline-flex;align-items:center;gap:4px}
.dw-neu{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:8px}.dw-neu .field{flex:1 1 220px;min-width:0;margin:0}.dw-neu select{width:100%;max-width:100%}.dw-neu .check{margin:0 0 6px}
#dmsOrdUeb svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#dmsOrdUeb.an svg{stroke:var(--accent)}
.dw-art{display:inline-block;min-width:1.2em;text-align:center}.dw-liste .list-row{gap:8px}.dw-liste .grow a{display:inline-flex;align-items:center;gap:4px}.dw-liste svg{width:16px;height:16px}

/* Aufbewahrungsfristen (Teil B): Schloss mit Datum in der DMS-Liste */
.dms-frist{margin-left:6px;font-size:.8em;color:var(--muted);white-space:nowrap}.dms-frist-ab{color:var(--warn,#b26a00)}
.ti-hinweis.ti-link{border:0;background:none;color:var(--link);text-decoration:underline;text-underline-offset:3px;padding:2px 4px;font-size:.85em} /* kleiner Link im Info-Bereich (Vorfälle: „zu den Freigaben ›“) */
/* Kennzeichen „überwacht“ am DMS-Ordner (Harald 18.10.2026): nur Ordner / mit Unterordnern */
.dms-ueb-kz{display:inline-flex;align-items:center;margin-left:6px;color:var(--link);cursor:help;vertical-align:-3px}.dms-ueb-ik{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* QR-Code: Gestaltung je Etikettenformat (Harald 18.10.2026) – Feldzeilen, Ziehen am Griff, Live-Vorschau */
.qr-fdl{display:grid;gap:4px;margin-bottom:6px}
.qr-fdz{display:grid;grid-template-columns:auto minmax(0,1.6fr) minmax(0,1fr) minmax(0,.9fr) auto auto;gap:6px;align-items:center;padding:3px 4px;border:1px solid var(--line);border-radius:6px;background:var(--bg,#fff)}
.qr-fdz select{min-width:0}.qr-fdz .check{white-space:nowrap;margin:0}
.qr-griff{cursor:grab;touch-action:none;user-select:none;padding:0 4px;color:var(--muted)}
.qr-fdz.qr-zieht{opacity:.6;outline:2px dashed var(--accent,#2b6cb0)}
.qr-fdz-kn{display:flex;gap:2px}
.qr-bsp{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.qr-bsp select{flex:1 1 160px;min-width:0}
.qr-et{max-width:100%;height:auto;display:block;margin:4px 0}
.qr-et .qr-et-papier{fill:#fff;stroke:#999;stroke-width:.3}
.qr-et .qr-et-t{fill:#000}.qr-et .qr-et-leer{fill:#999;font-style:italic}
.qr-weg{color:var(--muted);font-style:italic}
@media (max-width:600px){.qr-fdz{grid-template-columns:auto minmax(0,1fr) auto}.qr-fdz [name=fq]{grid-column:2/3}.qr-fdz [name=fpos]{grid-column:1/3;grid-row:2}.qr-fdz [name=fausr]{grid-column:3/4;grid-row:2}.qr-fdz .check{grid-column:1/3;grid-row:3}.qr-fdz-kn{grid-column:3/4;grid-row:1}}
/* Admin-Modus (Harald 18.10.2026): farbiges Band oben mit Restzeit, „Verlängern“ und „Beenden“ – bleibt auch über Fenstern sichtbar; Knöpfe mit 🔒 für Anwender */
body.am-on{--amh:36px;padding-top:var(--amh)}
.am-band{position:fixed;top:0;left:0;right:0;z-index:70;min-height:var(--amh);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap;padding:3px 10px;padding-top:max(3px,env(safe-area-inset-top));background:var(--coral,#d4694a);color:#fff;font-size:.9rem;box-shadow:0 2px 10px #00000033}
.am-band .am-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.am-band .btn{border-color:transparent;padding:3px 10px;white-space:nowrap}
body.am-on .topbar{top:var(--amh)}body.am-on .sidebar{top:calc(var(--top) + var(--amh))}body.am-on .dlg-wrap{top:var(--amh)}
@media (max-width:600px){.am-band .am-geraet{display:none}.am-band{font-size:.82rem;gap:6px}}
.am-schloss{opacity:.85}.am-schloss>span{margin-right:2px}

/* Zusammenstellungen im DMS (docs/konzept-dms-zusammenstellung.md): Kennzeichen der Positionen, ▲▼, Angaben der Position, Auswahl der Dateien */
.zs-neuer{background:var(--warn-soft,#fff3d6);color:var(--warn,#8a5a00)}.zs-fehlt{background:var(--danger-soft,#fde2e2);color:var(--danger,#b00020)}
.zs-ord{display:inline-flex;gap:4px;white-space:nowrap}.zs-ord .small{padding:2px 8px;min-width:0}
.zs-dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:8px 0}.zs-dl dt{color:var(--muted)}.zs-dl dd{margin:0;overflow-wrap:anywhere}
.zs-baum .zs-wd{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0}.zs-baum svg{width:16px;height:16px;flex:none}.zs-drin{opacity:.6}
#zsF h2 svg,#zsNF h2 svg{width:20px;height:20px;vertical-align:-3px}.zs-ort{margin:2px 0 8px}
/* Aufgaben Admin (Harald 18.10.2026): Info-Bereich ohne Erklärung – ⓘ und Hinweise in einer Zeile; Filter-Symbol in der Kopfzeile der Tabelle mit ▾; „Seit“ mit Frist darunter; Markieren-Spalte nur mit Symbol */
.tab-info.ti-ohne-text{align-items:center;flex-wrap:nowrap}.tab-info.ti-ohne-text .ti-text{display:none}.tab-info.ti-ohne-text .ti-daten{flex:1 1 auto}
.tab-kopf>.km-sel .km-sel-t::after{content:" ▾";font-size:.8em}
.aa-seit{display:flex;flex-direction:column;white-space:nowrap}.aa-seit>span+span{font-size:.85em}
.aa-wahl-kopf{display:inline-block;font-size:1.05rem;line-height:1;color:var(--muted);cursor:help}
/* QR-Code: Designer „Etikettenformat“ als großes Fenster (Harald 18.10.2026) – links Druckerformat, Mitte Vorschau + Eigenschaften, rechts Felder; am iPhone untereinander */
.qr-des-grid{display:grid;grid-template-columns:minmax(170px,190px) minmax(0,1fr) minmax(190px,215px);gap:12px;align-items:start;margin-top:6px}
.qr-des select,.qr-des input:not([type=checkbox]):not([type=radio]){width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.qr-des-teil{min-width:0}.qr-des-teil>summary{font-weight:600;cursor:pointer;margin-bottom:6px}
.qr-des-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.qr-des-2 .field{min-width:0}
.qr-des-mitte{min-width:0}
.qr-des-vorschau{background:var(--panel));padding:6px;border-radius:8px;display:flex;justify-content:center;align-items:center;min-height:140px;overflow:hidden}
.qr-des-vorschau svg{max-width:100%;height:auto}.qr-des-vorschau text{cursor:pointer}
.qr-et .qr-et-sel{fill:#1d4ed8;text-decoration:underline}
.qr-des-eig{margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.qr-des-eig-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 12px;align-items:end}
.qr-des-haken{display:flex;flex-wrap:wrap;gap:4px 14px}
.qr-des .qr-fdz{grid-template-columns:auto minmax(0,1fr) auto;cursor:default}
.qr-des .qr-fdz-sel{border-color:var(--accent,#2b6cb0);box-shadow:0 0 0 1px var(--accent,#2b6cb0) inset}
.qr-fdz-name{all:unset;cursor:pointer;min-width:0;overflow-wrap:anywhere;line-height:1.25}.qr-fdz-name small{display:block;color:var(--muted);font-size:.8em}
.qr-des-k{margin:8px 0 4px}
.qr-verf{display:flex;flex-direction:column;gap:3px}
.qr-verf-z{text-align:left;white-space:normal;overflow-wrap:anywhere;padding:5px 8px;border:1px dashed var(--line,#ccc);border-radius:6px;background:transparent;color:inherit;cursor:pointer;font:inherit}
.qr-verf-z.qr-verf-da{border-style:solid;opacity:.75}.qr-verf-z:disabled{cursor:not-allowed;opacity:.5}
@media (max-width:700px){.qr-des-grid{grid-template-columns:minmax(0,1fr)}.qr-des-mitte{order:1}.qr-des-rechts{order:2}.qr-des-links{order:3}
  .qr-des .qr-fdz{grid-template-columns:auto minmax(0,1fr) auto}.qr-des-teil{border:1px solid var(--line);border-radius:8px;padding:6px 8px}}
/* Modul Mandant, Übersicht (Schritt 3): offene Hinweise mit Knopf, letzte Änderungen; offene Anfrage bei HMC */
.md-block{max-width:760px;margin:0 0 16px}.md-hinw-l,.md-letzte-l{list-style:none;margin:0;padding:0}
.md-hinw{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 10px;margin:0 0 6px;border:1px solid var(--line);border-left:4px solid var(--coral);border-radius:8px;background:var(--panel)}
.md-hinw-t{display:flex;flex-direction:column;gap:2px;min-width:0}.md-hinw-t .hint{font-size:.85rem}.md-hinw .btn{flex:0 0 auto;white-space:nowrap}
.md-letzte-l li{padding:3px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.md-anfrage{max-width:760px;padding:8px 12px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;background:var(--panel)}
@media (max-width:600px){.md-hinw{flex-direction:column;align-items:stretch}.md-hinw .btn{align-self:flex-start}}
/* QR-Designer am iPhone (Harald 18.10.2026 „Ansicht viel zu klein“): base.css setzt jedes svg auf 22 px mit Strich – die Etiketten-Grafiken nutzen die volle Breite, ohne Strich;
   im großen Fenster (Flex-Spalte) schrumpfen die Teile nicht (sonst verschwand der Erklärtext und nur „Mehr anzeigen“ blieb stehen); nichts breiter als der Bildschirm */
.qr-des-vorschau{display:block;text-align:center}
.qr-des-vorschau svg.qr-et{width:100%;height:auto;max-width:none;display:block;margin:0 auto}
svg.qr-et,svg.qr-bogen,.qr-gross svg{stroke:none;stroke-width:0}
svg.qr-bogen{width:auto;height:auto;max-width:100%}
/* Etikettenformat (Stufe 3 der Druckberichte): nur noch das Format – Felder links, Bogen rechts; am iPhone untereinander */
.qr-fmt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start;margin-top:6px}.qr-fmt-felder,.qr-fmt-vor{min-width:0}.qr-fmt-vor{text-align:center}
@media (max-width:700px){.qr-fmt-grid{grid-template-columns:minmax(0,1fr)}}
.drb-et .qr-fmt-wahl select{min-width:0}
.qr-des>*{flex-shrink:0}
.qr-des .field,.qr-des select,.qr-des input,.qr-des textarea,.qr-des-teil,.qr-des-eig,.qr-des-mitte,.qr-des-grid{max-width:100%;min-width:0;box-sizing:border-box}
@media (max-width:700px){.dlg-wrap-gross{overflow-x:hidden}.dlg.gross{box-sizing:border-box;max-width:100vw;overflow-x:hidden}
  .qr-des-eig-g{grid-template-columns:minmax(0,1fr)}.qr-des-haken{flex-direction:column}}
/* Druckberichte mit pdfme (2.436.0): Bereiche im Fenster, Designer im großen Fenster mit Feldern links, Vorschau und PDF */
.drb-ber{border-top:1px solid var(--line);padding:6px 0}.drb-ber>summary{cursor:pointer;padding:4px 0}.drb-ber .table input:not([type=checkbox]),.drb-ber .table select{width:100%;min-width:120px}.drb-pos td:nth-child(3) select{min-width:160px}
.drb-pos-kopf{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin:4px 0 6px}.drb-pos-kn{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
#drbFwS{width:100%;margin:4px 0 8px}.drb-fw{display:grid;gap:2px;max-height:50vh;overflow:auto}.drb-fw label[hidden]{display:none}
.drb-st{display:flex;align-items:center;gap:8px;min-height:34px}.drb-aus{opacity:.55}.drb-fi{gap:6px;margin-bottom:6px}
.drb-des{display:flex;gap:10px;flex:1 1 auto;min-height:360px}.drb-felder{flex:0 0 250px;overflow:auto;display:flex;flex-direction:column;gap:4px;padding-right:4px}
.drb-fz{display:flex;gap:3px;align-items:center}.drb-fe{flex:1;text-align:left;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);cursor:grab;font:inherit}
.drb-fe:hover{border-color:var(--accent)}.drb-des-box{flex:1;min-width:0;position:relative;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.drb-vor{height:calc(100vh - 210px);min-height:380px;position:relative;border:1px solid var(--line);border-radius:6px;overflow:hidden}.drb-vn{align-self:center;white-space:nowrap}
.drb-pdf{width:100%;height:calc(100vh - 230px);min-height:380px;border:1px solid var(--line);border-radius:6px;background:#fff}
/* Drucken und PDF (2.440.0): Fenster „Drucken“ am iPhone/iPad (Vorschau) und PDF-Fenster mit „Teilen / Drucken“ */
.pf-druck-vor{flex:1 1 auto;max-height:none;min-height:260px;-webkit-overflow-scrolling:touch}.pf-druck-rahmen{flex:1 1 auto;width:100%;min-height:380px;border:1px solid var(--line);border-radius:6px;background:#fff}
.pf-pdf .pf-pdf-rahmen{flex:1 1 auto}.pf-pdf-ios{margin:4px 0 8px}
@media (max-width:700px){.drb-des{flex-direction:column;height:auto}.drb-felder{flex:none;max-height:170px}.drb-des-box{height:62vh}.drb-des-i{display:none}}
/* Druck-Designer (Harald 19.10.2026): Kopf im Dunkelmodus aus den Kern-Variablen, Infozeile mit Abstand, pdfme bleibt im Arbeitsbereich, Felder mit Symbol-Knöpfen */
.drb-des-f>.dlg-kopf{background:var(--panel,Canvas);color:var(--ink,CanvasText)}
.drb-des-f>.drb-des-i{margin:0 0 10px;flex:none}.drb-des-box{isolation:isolate;z-index:0;background:var(--bg)}
.drb-felder>*{flex:none}.drb-fz .drb-fe{min-width:0;overflow-wrap:anywhere}
.drb-ik{flex:0 0 30px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);cursor:pointer;font:inherit;font-size:.8rem}
.drb-ik:hover{border-color:var(--accent)}.drb-ik svg{width:16px;height:16px}
.drb-fkopf{display:flex;align-items:center;justify-content:space-between;gap:6px}.drb-info{flex-basis:26px;width:26px;height:26px;font-size:.95rem;color:var(--link)}
.drb-finfo{margin:2px 0 6px;font-size:.82rem}.drb-finfo code{overflow-wrap:anywhere}.drb-fgr{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:6px}
.drb-hilfe{min-width:36px;justify-content:center;font-weight:700}
.drb-des-handy{display:none}
@media (max-width:700px){.drb-des-handy{display:block;margin:0 0 8px}}
/* Fenster in voller Größe: der Kopf klebt an der Oberkante des Fensters, nicht am Innenabstand – sonst deckt er die erste Zeile darunter zu (19.10.2026) */
.dlg.gross .dlg-kopf.dlg-kopf-rand{top:-20px}
@media (max-width:700px){.dlg.gross .dlg-kopf.dlg-kopf-rand{top:-14px}}
/* Mandantenliste als Karte (Harald 18.10.2026): Farbfeld rund (nicht mit dem Markier-Kästchen zu verwechseln), Umbruch nur zwischen den Teilen, überlange Kürzel brechen im Teil */
.swatch.pv-farbe{border-radius:50%;width:14px;height:14px;cursor:help}
.badge.pv-support{display:inline-block;white-space:normal;border-radius:8px}
.pv-name{all:unset;cursor:pointer;font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;white-space:normal}.pv-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Rohdaten (18.10.2026): Feldname und Originalwert, markierbar, umbrechend, hell/dunkel, 390 px */
#rohD .roh-inhalt{user-select:text;-webkit-user-select:text}
#rohD .roh-tab-titel code{font-size:.95em;overflow-wrap:anywhere}
.roh-felder{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.88rem;margin:0 0 8px}
.roh-felder th,.roh-felder td{border-bottom:1px solid var(--line);padding:5px 6px;text-align:left;vertical-align:top;color:var(--ink)}
.roh-felder thead th{color:var(--muted);font-weight:600;font-size:.8rem}
.roh-felder tbody th{width:36%;font-weight:600}
.roh-felder code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere;word-break:break-word;background:none;color:var(--ink)}
.roh-felder .roh-typ{display:block;color:var(--muted);font-weight:400;font-size:.72rem}
.roh-felder .roh-wert{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.roh-felder .roh-leer{color:var(--muted);font-style:italic}
.roh-felder .roh-json{margin:4px 0 0;padding:6px 8px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:.8rem;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-height:320px;overflow:auto}
.roh-felder .roh-json-t{margin-top:4px;font-size:.72rem}
@media (max-width:480px){.roh-felder thead{display:none}.roh-felder tr{display:block;border-bottom:1px solid var(--line);padding:4px 0}.roh-felder tbody th,.roh-felder td{display:block;width:auto;border:0;padding:2px 4px}}
/* „Modul öffnen …“ ganz oben im linken Menü, bleibt beim Scrollen stehen; Knopf „Zuletzt aufgerufen“ mit Popup (Harald 19.10.2026, eilig) */
.side-suche{position:sticky;top:0;z-index:6;background:var(--panel);border-bottom:1px solid var(--line);padding:8px 10px 7px;flex:0 0 auto}.side-suche .ms-feld{gap:4px}.side-suche .ms-feld input{flex:1}
.ms-vl-btn{flex:0 0 36px;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--muted)}.ms-vl-btn svg{width:18px;height:18px}.ms-vl-btn:hover,.ms-vl-btn.an{border-color:var(--accent);color:var(--accent-text)}.ms-vl-btn:focus-visible{outline:2px solid var(--accent-text);outline-offset:-1px}
.vl-pop{position:absolute;left:8px;right:8px;top:calc(100% - 3px);z-index:7;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px #00000033;padding:4px}
.vl-kopf{display:flex;align-items:center;gap:6px;padding:6px 8px 4px;font-size:.8rem;color:var(--muted)}.vl-kopf svg{width:15px;height:15px;flex:0 0 15px}.vl-kopf b{flex:1;color:var(--ink);font-weight:600}
.vl-liste{max-height:min(440px,calc(100vh - var(--top) - 170px));overflow-y:auto;overscroll-behavior:contain}
.vl-z{display:flex;align-items:center;height:44px;border-radius:6px}.vl-z:hover,.vl-z:focus-within{background:var(--accent-soft)}.vl-z.akt .vl-n{font-weight:600}
.vl-t{flex:1;min-width:0;display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:8px;align-items:center;padding:3px 4px 3px 8px;color:var(--ink);text-decoration:none;line-height:1.25;border-radius:6px}.vl-t svg{width:16px;height:16px;grid-row:1/3;opacity:.75}.vl-t:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}
.vl-n,.vl-o{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vl-o{font-size:.74rem;color:var(--muted)}
.vl-x{flex:0 0 32px;height:32px;border:0;background:none;color:var(--muted);font-size:1.2rem;line-height:1;border-radius:6px;padding:0}.vl-x:hover,.vl-x:focus-visible{background:var(--bg);color:var(--danger)}
.vl-fuss{border-top:1px solid var(--line);margin-top:4px;padding:6px 8px 2px;text-align:right}.vl-leeren{border:0;background:none;color:var(--link);font-size:.85rem;padding:2px 4px;text-decoration:underline}.vl-leer{margin:4px 8px 8px;font-size:.85rem;color:var(--muted)}

/* Hilfe aus „Modul öffnen …“ (19.10.2026): am PC als Fenster rechts neben der Leiste – Trefferliste bleibt sichtbar und bedienbar; am iPhone liegt sie darüber */
@media (min-width:861px){.dlg-wrap.ms-neben{left:var(--side);background:transparent;pointer-events:none}.dlg-wrap.ms-neben .dlg{pointer-events:auto;box-shadow:0 10px 40px #0000004d,0 0 0 1px var(--line)}}

/* Papierkorb „Rückgängig“ (19.10.2026): Hinweis unten, ca. 10 s; die Meldung (toast) steht solange darüber; Platz unten über --unten-belegt (Fenster werden kleiner) */
.pk-undo{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:61;display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--bg);padding:8px 8px 8px 16px;border-radius:14px;box-shadow:0 6px 20px #00000040;font-size:.92rem;width:max-content;max-width:min(560px,calc(100vw - 24px));line-height:1.35}
.pk-undo-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
/* Sammel-Löschen (26.10.2026): Fortschritt „Lösche 400 von 409 …“, Listen im Ergebnis-Fenster und im Fenster „Einzeln wiederherstellen“ */
.sl-fort{z-index:62;padding:10px 16px}.sl-liste{max-height:40vh;overflow:auto;margin:4px 0 8px;padding-left:20px}.pk-ez{max-height:50vh;overflow:auto;display:grid;gap:2px;margin-top:6px}.pk-ez label[hidden]{display:none}
.pk-undo .pk-undo-b{background:var(--bg);color:var(--ink);border-color:transparent;font-size:.88rem;padding:5px 12px;font-weight:600;flex:0 0 auto}
.pk-undo .pk-undo-x{color:inherit;font-size:1.2rem;line-height:1;padding:4px 8px;flex:0 0 auto}
body.pk-undo-an .toast{bottom:calc(84px + env(safe-area-inset-bottom))}
/* Prüfliste (19.10.2026, docs/konzept-pruefliste.md) */
.pl-zelle { display: flex; flex-direction: column; gap: 3px; min-width: 0; overflow-wrap: anywhere; white-space: normal; }
.pl-stand { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.pl-stand .pl-st { padding: 2px 8px; }
.pl-an { white-space: nowrap; }
.pl-notiz { font-style: italic; }
.pl-ver { margin-left: 6px; padding: 2px 8px; }
.pl-pop { z-index: 1200; min-width: 240px; max-width: calc(100vw - 16px); }
.pl-pop button.on { font-weight: 600; }
.pl-pop button[disabled] { opacity: .5; cursor: not-allowed; }
.pl-wahl { display: flex; flex-direction: column; gap: 4px; border: 0; padding: 0; margin: 8px 0; }
.pl-f-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.pl-aa { margin: 6px 0; }
/* Ausgabe-Fenster (Harald 19.10.2026): Bogen zum Anklicken des Start-Etiketts, Start hervorgehoben (Papier bleibt weiß – auch dunkel) */
.aus-bogen [data-platz]{cursor:pointer;pointer-events:all}.aus-bogen .qr-leer{fill:transparent}.aus-bogen [data-platz]:hover{fill:#dfe9ff}
.aus-bogen .aus-start{stroke:#c0392b;stroke-width:1;stroke-dasharray:none}
.aus-ab-z{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.aus-bogen-w{margin-top:6px;max-width:100%;overflow:hidden}.aus-vor{min-height:40px}
/* Baustein „Bilder“ (19.10.2026): runde Anzeigebilder an Adressen, Profilbild der Anwender, Bilder in den Zuständigen-Chips */
.pf-rund{width:28px;height:28px;border-radius:50%;object-fit:cover;vertical-align:middle;border:1px solid var(--line);background:var(--bg);flex:0 0 auto}
.ad-mini{margin-right:7px;cursor:zoom-in}.ad-kopf-bild{width:34px;height:34px;margin-right:8px;vertical-align:-9px;cursor:zoom-in}
.zu-chip .zu-chip-bild{width:20px;height:20px;margin-left:-6px}
.ut-av{all:unset;cursor:pointer;display:inline-flex;vertical-align:middle;margin-right:7px;border-radius:50%}.ut-av:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.ut-av .avatar,.dlg .ut-av .avatar{width:26px;height:26px;font-size:.7rem}
.pf-bild-z{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pf-bild-z .actions{margin:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}
.pf-bild-av{all:unset;cursor:zoom-in;border-radius:50%}.pf-bild-av:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.pf-bild-av .avatar,.dlg .pf-bild-av .avatar{width:64px;height:64px;font-size:1.3rem}
.pf-bild.pf-bild-lade{opacity:.6;pointer-events:none}
.drb-fe-bild{font-weight:600}
.drb-spk{flex:0 0 auto;min-height:30px;padding:0 5px;font-size:.75rem;white-space:nowrap}.drb-spk[hidden]{display:none}
.drb-ist-sp>.drb-fe{border-color:var(--accent)}.drb-ist-sp>.drb-fe::before{content:"✓ ";color:var(--accent-text);font-weight:700}
.drb-ftab{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;padding:4px 6px;border:1px solid var(--accent);border-radius:6px;font-size:.8rem}.drb-ftab[hidden]{display:none}.drb-ftab span{min-width:0;overflow-wrap:anywhere}
.aus-pdf{width:100%;height:min(70vh,640px);border:1px solid var(--line,#ccc);border-radius:4px;background:#fff}.abl-neu{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.abl-neu input{flex:1 1 180px;min-width:0}

/* Erklärtexte und Infos immer eingeklappt (Harald 19.10.2026): Kernsatz eine Zeile, Klick klappt auf; Daten-Hinweise bleiben als Chips sichtbar */
.hint.hint-zeile{cursor:pointer}
.aufruf-info:has(>.hint-i)::before{display:none}.hint.aufruf-info:has(>.hint-i){padding-left:10px}
.tab-info.ti-zu{flex-wrap:nowrap;align-items:center}
.tab-info.ti-zu .ti-text{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.tab-info.ti-zu .ti-teil{display:inline}.tab-info.ti-zu .ti-teil+.ti-teil{margin:0 0 0 .6em}.tab-info.ti-zu .ti-teil ul,.tab-info.ti-zu .ti-teil ol{display:none}.tab-info.ti-zu .ti-teil br{display:none}
.tab-info.ti-zu .ti-daten{flex:0 1 auto;flex-wrap:wrap}
@media (max-width:700px){.tab-info.ti-zu{flex-wrap:wrap}.tab-info.ti-zu .ti-text{flex:1 1 120px}}
/* Adressen mit Rollen (19.10.2026): Bereiche „Kunde“ und „Lieferant“ im Fenster der Adresse – Felder im Raster, am iPhone untereinander, nichts ragt heraus */
.ar-felder{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 12px}.ar-felder>.field{min-width:0}.ar-felder input,.ar-felder select,.ar-felder textarea{max-width:100%;box-sizing:border-box}
.ar-h{margin:12px 0 4px;font-size:.95rem;color:var(--ink)}.ar-rolle>.ar-in{padding:4px 0 6px}.ar-unter{margin-top:10px;display:grid;gap:12px;min-width:0}.ar-unter>*{min-width:0}.ar-nr-bsp{margin:-4px 0 8px}

/* Glocke am iPhone (Harald 19.10.2026, Fehler: Popup zu groß): Blatt unter der Kopfzeile über die volle Breite (16 px Rand), Höhe bis zum unteren Rand (dvh, Safe-Area), Kopf mit Titel und × bleibt stehen, nur der Inhalt scrollt, lange Texte umbrechen. Am PC unverändert. */
/* Glocke sofort (Harald 20.10.2026): Kopf mit Titel, „Zum Dashboard“ und × bleibt immer stehen (auch am PC), darunter „Informationen werden geladen …“ mit Balken; nur der Inhalt scrollt */
.act-pop.glocke-pop{padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:70vh}
.glocke-top{display:flex;flex-direction:column;flex:none;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line);background:var(--panel,#fff);border-radius:10px 10px 0 0}
.glocke-zeile{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 12px;min-width:0}.glocke-zeile>b{flex:1 1 auto;font-size:.95rem;min-width:0}
.glocke-pop a.glocke-dash{display:inline-flex;align-items:center;gap:6px;flex:none;padding:5px 8px;border-radius:8px;color:var(--link);font-size:.85rem;font-weight:600;text-decoration:none;white-space:nowrap}.glocke-pop a.glocke-dash:hover{background:var(--accent-soft)}
.glocke-pop a.glocke-dash .mi{display:inline-flex}.glocke-pop a.glocke-dash svg{width:16px;height:16px}
.act-pop.glocke-pop .glocke-x{flex:none;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.3rem;line-height:1;border-radius:50%;border:0;background:none;color:var(--ink)}.act-pop.glocke-pop .glocke-x:hover{background:var(--accent-soft)}
.glocke-lade{padding:0 12px 8px;font-size:.78rem;color:var(--muted)}.glocke-n{font-variant-numeric:tabular-nums}
.glocke-balken{height:4px;margin-top:4px;border-radius:2px;background:var(--line);overflow:hidden}.glocke-balken i{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}
.glocke-body{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 6px}
.glocke-body>[data-gsek]:empty{display:none}.glocke-body>[data-gsek]{display:flex;flex-direction:column;gap:2px}
.glocke-skel{display:flex;flex-direction:column;gap:8px;padding:10px 8px}.glocke-skel i{display:block;height:12px;border-radius:6px;background:var(--line);animation:glSkel 1.2s ease-in-out infinite}.glocke-skel i:nth-child(2){width:80%}.glocke-skel i:nth-child(3){width:60%}
@keyframes glSkel{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.glocke-skel i{animation:none}}
.glocke-fehl{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:4px 2px;padding:6px 8px;border:1px solid var(--line);border-left:3px solid var(--danger);border-radius:8px;font-size:.8rem;color:var(--ink);overflow-wrap:anywhere}
.glocke-fehl>span{flex:1 1 160px;min-width:0}.act-pop.glocke-pop button.glocke-nochmal{flex-direction:row;align-items:center;white-space:nowrap;flex:none}
.glocke-leer{margin:8px 12px}
/* lange Texte brechen um, statt das Popup über min-width:max-content (act-pop) beliebig breit zu ziehen – auch am PC */
.act-pop.glocke-pop{min-width:260px;max-width:min(360px,92vw)}.act-pop.glocke-pop button{white-space:normal;overflow-wrap:anywhere}
@media (max-width:700px){
.act-pop.glocke-pop{left:16px;right:16px!important;width:auto;min-width:0;max-width:none;padding:0;box-sizing:border-box;border-radius:14px;overflow:hidden;max-height:calc(100vh - var(--glo-top,56px) - 8px);max-height:calc(100dvh - var(--glo-top,56px) - 8px - env(safe-area-inset-bottom,0px))}
.glocke-top{border-radius:14px 14px 0 0}.glocke-zeile{padding:4px 4px 4px 14px}
.act-pop.glocke-pop .glocke-x{flex:none;width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;border-radius:50%}
.glocke-body{padding:4px 6px calc(2px + env(safe-area-inset-bottom,0px))}
.act-pop.glocke-pop .glocke-body button{white-space:normal;overflow-wrap:anywhere;min-width:0;padding:8px 10px;width:100%}.glocke-pop .glocke-body button b{font-size:.9rem;font-weight:600}.glocke-pop .glocke-body button .hint{font-size:.75rem;overflow-wrap:anywhere}
.glocke-body .glocke-kopf{padding:8px 10px 2px}
}
/* Glocke-Kopf nach Standard Listen-Kopfzeile (Harald 07.11.2026, eilig): Titel links (nie überdeckt, nie umbrochen), Knöpfe „▶ Entscheiden“ und „Zum Dashboard“ gleich gestaltet und kompakt, × ganz rechts.
   Reicht die Breite nicht, rutschen die Knöpfe in eine zweite Zeile unter den Titel; ganz schmal heißt der Knopf nur „▶ Vorlesen“ (voller Text im Tooltip). Nie Umbruch in einem Knopf. */
.glocke-top{container-type:inline-size}
.glocke-zeile{flex-wrap:nowrap;gap:4px 6px;min-height:40px;box-sizing:border-box}
.glocke-zeile>b{order:1;flex:1 0 auto;min-width:auto;white-space:nowrap;display:flex;align-items:center;min-height:32px}
.glocke-kn{order:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;flex:0 1 auto;min-width:0;max-width:100%}
.act-pop.glocke-pop .glocke-zeile .glocke-x{order:3}
.act-pop.glocke-pop .glocke-zeile .glocke-kb{display:inline-flex;flex-direction:row;align-items:center;gap:6px;flex:none;box-sizing:border-box;min-height:32px;margin:0;padding:4px 9px;border:1px solid var(--line);border-radius:8px;background:none;color:var(--link);font:inherit;font-size:.85rem;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;overflow-wrap:normal;cursor:pointer}
.act-pop.glocke-pop .glocke-zeile .glocke-kb:hover,.act-pop.glocke-pop .glocke-zeile .glocke-kb:focus-visible{background:var(--accent-soft)}
@container (max-width:479px){.glocke-zeile{flex-wrap:wrap}.act-pop.glocke-pop .glocke-zeile .glocke-x{order:2}.glocke-kn{order:3;flex:1 1 100%;padding:0 0 4px}}
@media (max-width:700px){.glocke-zeile{min-height:48px}.glocke-zeile>b{min-height:40px}.act-pop.glocke-pop .glocke-zeile .glocke-kb{min-height:36px}}
/* „Warum sehe ich nichts?“ (Konzept KI-Hilfe 2.1, Stufe 1, 20.10.2026): Grund und Abhilfe-Knöpfe – in der leeren Liste und als Zeile über einer gefilterten Tabelle */
.tb-warum{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 8px;margin:8px 0 0;font-size:.88rem;font-weight:400;color:var(--ink);white-space:normal;text-align:left}
.tb-warum-t{color:var(--muted);min-width:0;overflow-wrap:anywhere}.tb-warum .btn.small{padding:3px 10px;font-size:.82rem}
.tb-warum-zeile{padding:5px 12px;border:1px solid var(--line);border-bottom:0;background:var(--accent-soft)}.tb-warum-zeile .tb-warum{margin:0;justify-content:flex-start}
.dms-warum{margin:0 0 6px}.dms-warum .tb-warum{justify-content:flex-start}
@media (max-width:700px){.tb-warum{justify-content:flex-start}.tb-warum-zeile{padding:5px 8px}}
/* PDF-Vorschau selbst gezeichnet (PF.pdfVorschau, pdf.js, 2.497.0): Seite auf die Breite eingepasst, weißes Papier auch im dunklen Modus, ◀ Seite x von y ▶ */
.pf-pv{width:100%;min-height:40px}.pf-pv-leiste{display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 0 6px}.pf-pv-nr{min-width:9em;text-align:center;font-variant-numeric:tabular-nums}
.pf-pv-blatt{width:100%;margin:0 auto;box-sizing:border-box}.pf-pv-bild{display:block;box-sizing:border-box;width:100%;height:auto;background:#fff;border:1px solid var(--line,#ccc);border-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.aus-pv.qr-etk-vor .pf-pv-blatt{margin:0}.pf-pdf-vor{margin-top:6px;max-width:100%;overflow:hidden}
/* Datenherkunft (Stufe 1, 20.10.2026): Abschnitt „Abfrage“ im Ausgabe-Fenster – fehlender Pflicht-Parameter rot umrandet */
.dh-abfrage { margin: .4rem 0 .6rem; }
.dh-p.dh-fehlt input, .dh-p.dh-fehlt select { border-color: var(--danger); box-shadow: 0 0 0 1px var(--danger); }
.dh-einst { margin: .6rem 0; }
/* Symbol-Info bei Klick/Tipp auf Symbole in Tabellenzellen (Harald 20.10.2026, global): kleines Fenster neben dem Symbol, hell/dunkel über die Farb-Variablen */
.sym-pop{position:fixed;z-index:10050;max-width:min(320px,calc(100vw - 16px));background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.25);padding:10px 34px 10px 12px;font-size:.9rem;line-height:1.4}
.sym-pop-t{font-weight:600;word-break:break-word}.sym-pop-b{margin-top:4px;color:var(--muted)}
.sym-pop-zu{position:absolute;top:4px;right:4px;border:0;background:none;color:var(--muted);font-size:1.2rem;line-height:1;padding:4px 8px;min-height:0;cursor:pointer}
.sym-pop-alle{margin-top:8px;border:0;background:none;color:var(--link);padding:2px 0;font-size:.88rem;cursor:pointer;min-height:0;text-align:left}
.sym-pop-leg{list-style:none;margin:6px 0 0;padding:0;max-height:50vh;overflow:auto}.sym-pop-leg[hidden]{display:none}
.sym-pop-leg li{display:flex;gap:8px;padding:4px 0;border-top:1px solid var(--line);font-size:.85rem}.sym-pop-leg li.akt{font-weight:600}.sym-pop-k{flex:0 0 1.4em;text-align:center}
.dms-vkz{cursor:help}
/* DMS: Titel groß, Dateiname klein darunter, Beschreibung einzeilig mit „…“ (04.11.2026) */
.dms-nz>a>span.dms-titel-w{display:flex;flex-direction:column;min-width:0;white-space:normal;overflow:hidden}.dms-titel-w>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dms-titel{font-weight:600}.dms-dname{font-size:.82em;line-height:1.2}
.dms-beschr{margin-left:26px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block;-webkit-line-clamp:unset}
.dms-ang-meta{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:6px 0 10px}.dms-ang-meta dt{color:var(--muted)}.dms-ang-meta dd{margin:0;overflow-wrap:anywhere}
/* Status-Kennzeichen in Tabellenzellen nur als Symbol (Harald 20.10.2026, global): Text nur in title/aria-label, Tooltip und Antippen; Farbe/Rand bleiben; Tippfläche 30 px (etwa 32 mit Zeilenabstand) */
.dst.kz{gap:0}.dst.kz .kz-t{margin-left:.3em}
:is(td,.tabulator-cell) .kz{display:inline-flex;align-items:center;justify-content:center;position:relative;min-width:30px;height:30px;padding:0 6px;border-radius:99px;font-size:.9rem;line-height:1;gap:0;vertical-align:middle;cursor:pointer;box-sizing:border-box;white-space:nowrap;text-decoration:none}
:is(td,.tabulator-cell) .kz .kz-t{display:none}
:is(td,.tabulator-cell) .kz:not([class*="dst-pruef"]):not(.ve-st):not(.badge):not(.qs-bew){background:color-mix(in srgb,currentColor 9%,transparent)}
/* KI-Hilfe (Stufe 2, 20.10.2026): Fenster „Frage an die Hilfe (KI)“, Link in der Zeile „Warum sehe ich nichts?“, Plattform → KI-Hilfe */
.tb-warum .tb-warum-ki{font-size:.82rem}.abh-ki{margin:10px 0 0}
.kh-hinweis{background:var(--accent-soft);border-radius:8px;padding:6px 10px;margin:0 0 12px;color:var(--ink)}
#khF textarea{width:100%;resize:vertical}.kh-schritte{margin:4px 0 10px;padding-left:22px}.kh-schritte li{margin:2px 0;overflow-wrap:anywhere}
.kh-aktionen{margin:6px 0 4px}.kh-aktionen .btn{white-space:normal;text-align:left}
/* KI-Hilfe aus der ganzen Hilfe (25.10.2026): Vorschläge bei leerem Feld, Quelle „Mehr dazu“, „Dorthin gehen“, nächste Themen */
.kh-vorschlaege{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0 0}.kh-vorschlaege .hint{margin:0 2px 0 0}
.kh-chip{font:inherit;font-size:.9em;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:14px;padding:4px 10px;cursor:pointer;max-width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere}
.kh-chip:hover,.kh-chip:focus-visible{border-color:var(--accent);background:var(--accent-soft)}
.kh-quelle{display:flex;flex-wrap:wrap;gap:4px 16px;margin:4px 0 8px}.kh-link{color:var(--link);font-weight:600;overflow-wrap:anywhere;max-width:100%}
.kh-naechste{margin:2px 0 8px;padding-left:20px}.kh-naechste li{margin:2px 0}.kh-unsicher .btn{white-space:normal}.kh-lokal{margin:4px 0 0}
.kh-kont{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:0 12px}
/* Datenherkunft Stufe 2 – Abfrage-Designer (abfrage.src.js) */
.dh-fbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.dh-fb{border:1px solid var(--line);border-radius:var(--radius);padding:6px 10px;margin:0;min-width:0}
.dh-join,.dh-fz,.dh-bed,.dh-gw{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0}
.dh-join .dh-jt{flex:1 1 200px;min-width:0}.dh-fz .dh-fq{flex:0 1 140px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dh-fz input,.dh-bed input,.dh-bed select,.dh-gw select,.dh-join select{flex:1 1 140px;min-width:0;max-width:100%}
.dh-ber{border-left:3px solid var(--line);padding-left:8px;margin:6px 0}
.dh-vor td.num{text-align:right;white-space:nowrap}.dh-vor th{white-space:nowrap}

#btnBack.aus{opacity:.4;cursor:default}
/* Auswahl aus vielen Einträgen (PF.auswahlFeld, auswahl.src.js, Harald 20.10.2026): Feld wie eine Combobox, Klappfenster am PC, Blatt über die ganze Höhe am Smartphone */
.aw-feld{position:relative;min-width:0;display:flex;align-items:center;gap:4px}.aw-k-w{position:relative;flex:1 1 auto;min-width:0;display:block}
/* × zum Leeren, ✎ zum Pflegen, „+ neu …“ unten im Auswahlfenster (13.11.2026, wie die Standard-Combobox; am iPhone mindestens 36 px zum Tippen) */
.aw-x{position:absolute;right:26px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;border-radius:50%;color:var(--muted);font-size:1.15rem;line-height:1;cursor:pointer}.aw-x:hover{background:var(--accent-soft);color:var(--ink)}.aw-x[hidden]{display:none}
.aw-mit-x .aw-knopf{padding-right:58px}.aw-mit-x .aw-k-pfeil{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.aw-stift[hidden]{display:none}
.aw-fuss{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding:4px}
.aw-neu,.aw-hinweis{display:block;width:100%;text-align:left;border:0;background:none;font:inherit;padding:10px 12px;min-height:44px;border-radius:8px;cursor:pointer;color:var(--accent-text);font-weight:600}.aw-hinweis{color:var(--muted);font-weight:400;font-style:italic}
.aw-neu:hover,.aw-hinweis:hover,.aw-neu:focus-visible,.aw-hinweis:focus-visible{background:var(--accent-soft)}
.aw-mehr{padding:10px 12px;text-align:center}
@media (max-width:640px){.aw-x{min-width:36px;min-height:36px}.aw-stift{width:40px;height:40px}}
.aw-knopf{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;text-align:left;padding:6px 10px 6px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.aw-knopf:hover:not(:disabled){border-color:var(--accent)}.aw-knopf:focus-visible{outline:2px solid var(--accent-text);outline-offset:-1px}.aw-knopf:disabled{opacity:.6;cursor:default}
.aw-k-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.aw-k-name,.aw-k-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-k-sub{font-size:.76rem;color:var(--muted)}.aw-k-pfeil{color:var(--muted);flex:0 0 auto}
.aw-wrap{position:fixed;inset:0;z-index:10040;pointer-events:none}
.aw-klapp .aw-pop{position:fixed;pointer-events:auto;display:flex;flex-direction:column;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.28);overflow:hidden}
.aw-klapp .aw-kopf{display:none}
.aw-blatt{pointer-events:auto;background:#00000073}
.aw-blatt .aw-pop{position:absolute;left:0;right:0;bottom:0;top:env(safe-area-inset-top);display:flex;flex-direction:column;background:var(--panel);color:var(--ink);border-radius:14px 14px 0 0;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -6px 24px rgba(0,0,0,.25)}
.aw-kopf{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px 6px}.aw-kopf b{font-size:1.05rem}
.aw-such-w{padding:8px 10px 4px}.aw-blatt .aw-such-w{padding:4px 16px 4px}
.aw-such{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font-size:16px}.aw-such:focus{outline:2px solid var(--accent-text);outline-offset:-1px}
.aw-chips{display:flex;gap:6px;padding:6px 10px 8px;overflow-x:auto;flex:0 0 auto;scrollbar-width:none}.aw-blatt .aw-chips{padding:6px 16px 8px}.aw-chips::-webkit-scrollbar{display:none}
.aw-chip{flex:0 0 auto;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:99px;padding:4px 11px;font-size:.84rem;white-space:nowrap}
.aw-chip:hover{border-color:var(--accent)}.aw-chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.aw-chip .aw-n{opacity:.75;font-size:.76rem;margin-left:2px}
.aw-liste{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--line);padding:4px}
.aw-z{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;cursor:pointer;min-height:44px}
.aw-z:hover,.aw-z.akt{background:var(--accent-soft)}.aw-z.gew .aw-z-name{font-weight:600}
.aw-z-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.aw-z-name{overflow-wrap:anywhere}.aw-z-sub{font-size:.78rem;color:var(--muted)}.aw-z-beschr{font-size:.76rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}
.aw-z-leer .aw-z-name{color:var(--muted);font-style:italic}.aw-z-ok{color:var(--accent-text);font-weight:700;flex:0 0 auto}
.aw-keine{padding:18px 12px;text-align:center;color:var(--muted)}.aw-keine p{margin:0 0 10px}
/* Testfreischaltung (20.10.2026): Leiste oben beim Mandanten (eingeklappt, ⓘ klappt auf), „⏳ Test“ im Kopf des Moduls, Status-Pillen der Liste */
.tst-leiste{border-left:3px solid #b45309;background:color-mix(in srgb,#b45309 9%,var(--panel));border-radius:8px;margin:0 0 10px;font-size:.92rem;max-width:100%}
.tst-l-kopf{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;cursor:pointer;min-width:0}
.tst-l-kopf:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px;border-radius:8px}
.tst-l-i{flex:0 0 auto;font-weight:700;color:#b45309}.tst-l-s{flex:0 0 auto}
.tst-l-t{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tst-l-e{flex:0 0 auto;color:var(--link);text-decoration:underline;font-size:.85rem}
.tst-leiste.tst-auf .tst-l-t{white-space:normal}
.tst-l-mehr{padding:0 12px 10px 28px}.tst-l-mehr ul{margin:4px 0 6px;padding-left:18px}.tst-l-test{margin:6px 0 10px}
.tst-kz-kopf{all:unset;display:inline-flex;align-items:center;gap:3px;margin-left:8px;padding:1px 8px;border-radius:99px;font-size:.72rem;font-weight:600;vertical-align:middle;cursor:pointer;background:color-mix(in srgb,#b45309 14%,var(--panel));color:#92400e;border:1px solid color-mix(in srgb,#b45309 45%,transparent)}
:root[data-theme=dark] .tst-kz-kopf{color:#fcd34d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tst-kz-kopf{color:#fcd34d}}
.tst-pop{position:fixed;z-index:58;max-width:min(340px,calc(100vw - 16px));padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0003}.tst-pop p{margin:0 0 8px}
.kz.tf-st-aktiv{border-color:#b45309}.kz.tf-st-lesen{border-color:#64748b}.kz.tf-st-gebucht{border-color:#15803d}.kz.tf-st-abgebrochen,.kz.tf-st-aus{opacity:.8}
/* Updates (20.10.2026): Kurzfassung in „Was ist neu?“, ☰ in der Leiste „Neue Version verfügbar“ */
.ver-ki{margin:8px 0 12px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius,8px);background:var(--accent-soft)}.ver-ki-punkte{margin:6px 0;padding-left:20px}.ver-ki-punkte li{margin:3px 0}
#verAkt span{overflow-wrap:anywhere}
/* Menü „Einfach“ (Konzept Menü einfach, Stufe 1, 20.10.2026): „Weitere …“ am Ende des ☰ der Tabellen, darin Rohdaten, Rechte, Protokoll, So geht's, Symbole */
.km-pop details.pm-weitere>summary{display:flex;align-items:center;padding:9px 12px;border-radius:6px;color:var(--ink);cursor:pointer;list-style:none;white-space:nowrap;user-select:none}.km-pop details.pm-weitere>summary::-webkit-details-marker{display:none}
.km-pop details.pm-weitere>summary:hover{background:var(--accent-soft)}.km-pop details.pm-weitere>summary:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}
.km-pop details.pm-weitere>summary>svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-right:8px}
.km-pop details.pm-weitere>summary::after{content:"▸";margin-left:auto;padding-left:12px;color:var(--muted)}.km-pop details.pm-weitere[open]>summary::after{content:"▾"}
.km-pop details.pm-weitere>:not(summary){display:block;width:100%;padding-left:28px}
.km-pop details.pm-weitere>button>svg,.km-pop details.pm-weitere>a>svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:8px}
/* Verwaltung im linken Menü: Untergruppen Stammdaten, Mandant, System */
.side-verw{border-top:1px solid var(--line);margin-top:4px;padding-top:2px}

/* Harald 20.10.2026 (Layout-Fehler im Workflow-Fenster): ein fieldset wächst sonst mit einzeiligen, eingeklappten Erklärtexten über das Fenster hinaus */
fieldset{min-width:0;max-width:100%;box-sizing:border-box}

/* Menü-Profile je Rolle (Bereichseinstellungen → Menü, Stufe 2, 20.10.2026): Liste mit Griff ⠿, Vorschau iPhone/PC, Rangfolge */
.mp-knoepfe{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px}.mp-knoepfe select{padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);max-width:100%}
.mp-liste{gap:4px;margin:4px 0 8px}.mp-liste .list-row{padding:4px 8px;gap:6px}.mp-liste .check{margin:0;min-width:0}.mp-liste .check span{overflow:hidden;text-overflow:ellipsis}.mp-liste .check svg{width:16px;height:16px;flex:0 0 16px}
.mp-z.mp-h{background:var(--accent-soft)}.mp-rest{margin:4px 0 12px}.mp-rest>summary{cursor:pointer;color:var(--muted);font-size:.9rem}
.mp-vorschau{margin:10px 0}.mp-v-kopf{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between;margin-bottom:6px}.mp-v-um{display:inline-flex;gap:4px}
.mp-v-geraet{border:2px solid var(--line);background:var(--bg);overflow:hidden;max-width:100%}.mp-v-iphone{width:240px;border-radius:22px;padding:8px 0 14px}.mp-v-pc{display:flex;border-radius:8px;min-height:200px;width:100%}
.mp-v-kopfz{background:var(--accent);color:var(--accent-ink);font-size:.78rem;font-weight:600;padding:6px 12px;margin:0 0 4px}.mp-v-leiste{background:var(--panel);padding:6px 8px;min-width:0}.mp-v-pc .mp-v-leiste{flex:0 0 190px;border-right:1px solid var(--line)}
.mp-v-suche{border:1px solid var(--line);border-radius:8px;padding:3px 8px;font-size:.75rem;color:var(--muted);margin-bottom:6px}.mp-v-grp{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;margin:8px 4px 2px}
.mp-v-e{display:flex;align-items:center;gap:6px;font-size:.82rem;padding:3px 4px;min-width:0}.mp-v-e span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-v-e svg{width:14px;height:14px;flex:0 0 14px;opacity:.75}
.mp-v-inhalt{flex:1;padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0}.mp-v-balken{height:10px;border-radius:5px;background:var(--line);width:70%}.mp-v-balken.kurz{width:45%}
/* Spalte „Freigabe“ in Tabellen mit Workflow (Harald 21.10.2026, global): nur das Symbol; offene Zustände (○ nicht eingereicht, ⏳ in Freigabe, ↩ Rückfrage) gelb hervorgehoben */
.wf-fs{display:inline-flex;align-items:center;gap:.3em;border:1px solid var(--line);border-radius:99px;padding:1px 7px;font-size:.85rem;white-space:nowrap;color:var(--muted)}
.wf-fs.wf-fs-offen{background:#fef3c7;border-color:#d97706;color:#92400e}.wf-fs-freigegeben{color:#1c6b3a;border-color:#86c79b}.wf-fs-abgelehnt{color:var(--danger);border-color:currentColor}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .wf-fs.wf-fs-offen{background:#4a3410;border-color:#d97706;color:#fcd34d}}
:root[data-theme="dark"] .wf-fs.wf-fs-offen{background:#4a3410;border-color:#d97706;color:#fcd34d}
.xt-wf-kz{margin-left:.4em;vertical-align:middle;font-size:.8rem;font-weight:400}.xt-wf-kz:empty{display:none}
.sym-pop-akt{display:block;margin-top:8px}
.sym-pop-nach{margin-top:6px}.sym-pop-tun{margin-top:4px;color:var(--muted)}a.sym-pop-fr{display:block;width:max-content;margin-top:8px;text-decoration:none}
/* Kopf-Symbole „?“ und „✨“ direkt links vom ☰ (Harald 21.10.2026, global): im Fenster und im Seitenkopf; wenig Platz → beide im ☰ */
.kopf-sym{font-weight:700;min-width:32px;justify-content:center;text-align:center}.page-head .kopf-sym{font-size:1rem}
.dlg-kopf .actions .kopf-sym{padding-left:10px;padding-right:10px}.dlg-kopf .actions>.ks-hilfe:not(.dlg-im-menue){margin-left:auto}.dlg-kopf .actions>.ks-hilfe:not(.dlg-im-menue)~.dlg-menue{margin-left:0}
.ks-ki-pop{min-width:230px;max-width:calc(100vw - 16px)}.ks-ki-pop>button{display:block;width:100%;text-align:left;padding:9px 12px;white-space:normal}.ks-ki-pop>button.ks-aus{opacity:.55;cursor:not-allowed}
.hd-ki{margin:4px 0 6px}
/* Workflows (21.10.2026): Filter-Chips der laufenden Workflows, Symbole Aktiv/Stand */
.wl-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}.wl-chips .chip{border:1px solid var(--line,#ccd);background:var(--panel);color:inherit;border-radius:14px;padding:4px 12px;font:inherit;font-size:.92rem;cursor:pointer}
.wl-chips .chip.on{background:var(--accent,#2a6);border-color:var(--accent,#2a6);color:#fff}.chip.chip-klein{display:inline-block;border:1px solid var(--line,#ccd);border-radius:10px;padding:0 7px;font-size:.85rem;margin:1px 0}
.wf-an{color:var(--ok,#1a7f37);font-size:1.1rem}.wf-aus{color:var(--muted,#888);font-size:1.1rem}.wl-stand{font-size:1.05rem}.wl-abgelehnt{color:var(--danger,#c33)}.wl-freigegeben{color:var(--ok,#1a7f37)}
.wl-dran{font-weight:600}.wl-s-freigegeben{color:var(--ok,#1a7f37)}.wl-s-abgelehnt{color:var(--danger,#c33)}.wl-s-offen,.wl-s-uebersprungen{color:var(--muted,#888)}
.kopf-sym>.ks-t{display:none}.kopf-sym.ks-hilfe::before{content:"?"}.kopf-sym.ks-ki::before{content:"";display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;background:var(--ki-farbe);-webkit-mask:var(--ki-maske) center/contain no-repeat;mask:var(--ki-maske) center/contain no-repeat}.kopf-sym.ks-weg{display:none!important}
.page-head .actions>.kopf-sym,.tab-kopf>.kopf-sym{border:1px solid var(--line,#ccd);background:var(--panel,#fff);color:inherit;border-radius:8px;padding:3px 9px;cursor:pointer;line-height:1.3;font:inherit;font-weight:700}
.dlg-kopf .actions>.kopf-sym-g{display:inline-flex;gap:6px;margin-left:auto}.dlg-kopf .actions>.kopf-sym-g:not(.dlg-im-menue)~.dlg-menue{margin-left:0}
.dlg-kopf .actions>.kopf-sym-g>.btn{padding:4px 10px;min-height:32px}@media (pointer:coarse){.dlg-kopf .actions>.kopf-sym-g>.btn{min-height:36px}}
/* Rechnungen: Status-Ablauf (22.10.2026) – Felder im Fieldset ohne Rahmen, fehlende Pflichtangaben markiert, „Noch offen“ bzw. „Vollständig“ */
.abr-efs{border:0;margin:0;padding:0;min-width:0}.abr-efs[disabled]{opacity:.85}
.abr-fehlt{outline:2px solid #d97706;outline-offset:1px;background:color-mix(in srgb,#d97706 8%,transparent)}
.abr-noch-offen.abr-voll{background:color-mix(in srgb,var(--accent,#2a6) 12%,transparent);border-color:var(--accent,#2a6)}
.abr-stand{margin:6px 0}.abr-offen{color:#b45309}

/* Favoriten beim Hochschieben des linken Menüs (Harald 21.10.2026): Kopfzeile schwebt unter „Modul öffnen …“, die Einträge blenden aus und behalten ihren Platz (kein Springen) */
.side-suche .fav-stick{display:flex;align-items:center;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;position:absolute;left:0;right:0;top:100%;width:100%;margin:0;padding:8px 14px 7px;border:0;border-bottom:1px solid var(--line);background:var(--panel);color:var(--muted);font-family:inherit;text-align:left;cursor:pointer;box-shadow:0 4px 10px #0000001a;opacity:0;visibility:hidden;transform:translateY(-4px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}
.side-suche .fav-stick .side-pf{color:var(--muted)}.side-suche .fav-stick:hover,.side-suche .fav-stick:focus-visible{color:var(--ink)}
.sidebar.fav-weg .side-suche .fav-stick{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .18s ease,transform .18s ease,visibility 0s}
@media (prefers-reduced-motion:reduce){.side-suche .fav-stick,.sidebar.fav-weg .side-suche .fav-stick,.side-kl .side-pf::before{transition:none}}
/* Baum im Tabellen-Baustein (Standard 21.10.2026, wie im DMS): Einrückung je Ebene, ▸/▾ in der Zeile, Symbol, Name, Anzahl grau – am Smartphone weniger Einrückung */
.tb-baum{display:flex;align-items:flex-start;gap:4px;padding-left:calc(var(--tb-tiefe,0) * 20px);min-width:0}
.tb-baum-kl{flex:0 0 22px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;padding:0;color:var(--muted);cursor:pointer;font:inherit;line-height:1;border-radius:6px}
.tb-baum-kl:hover{background:var(--accent-soft);color:var(--ink)}.tb-baum-ohne{cursor:default}.tb-baum-ohne:hover{background:none}
.tb-baum-sym{flex:0 0 18px;display:inline-flex;align-items:center;height:22px;color:var(--muted)}.tb-baum-sym svg{width:18px;height:18px}
.tb-baum-zieh{flex:0 0 14px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:grab;user-select:none}.tb-baum-zieh:hover{color:var(--ink)}
.tb-baum-ziel,.tb-baum-ziel td,.tabulator-row.tb-baum-ziel{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)!important}
.tb-baum-name{flex:1;min-width:0;overflow-wrap:anywhere}.tb-baum-zahl{color:var(--muted);font-size:.85em;font-weight:400;white-space:nowrap;margin-left:4px}
@media (max-width:700px){.tb-baum{padding-left:calc(var(--tb-tiefe,0) * 10px);gap:2px}.tb-baum-zieh{display:none}}
@media (hover:none){.tb-baum-zieh{display:none}}
/* Rechnungsadresse des Mandanten (22.10.2026): „Adresse …“ neben dem Namen, Kurzform darunter (Combobox-Standard), Spalte ✔/⚠ in der Mandantenliste */
.ma-zeile{display:flex;gap:6px;align-items:center;min-width:0}.ma-zeile>input{flex:1 1 auto;min-width:0}.ma-zeile>.ma-knopf{flex:0 0 auto;white-space:nowrap}
.ma-kurz{margin-top:4px;cursor:pointer;overflow-wrap:anywhere}.ma-kurz .kz{cursor:help}
.ma-st-voll .kz-s{color:var(--accent,#1a7f37)}.ma-st-offen .kz-s,.ma-st-fehlt .kz-s{color:#b45309}
#maSteuer.ma-privat .ma-ustId,#maSteuer.ma-privat .ma-leitwegId{opacity:.6}
/* Menügruppen mit Symbol (Harald 22.10.2026, global): jede Gruppe und Untergruppe zeigt Symbol · ▸/▾ · Name – das Aufklappsymbol steht rechts vom Bild.
   Das Symbol der Gruppe steht auf der Linie der Symbole ihrer Einträge (16 px, Strichsymbole wie im Menü). */
.side-head>span{display:inline-flex;align-items:center;min-width:0}
.side-gi{display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px;width:16px;height:16px;margin-right:6px;font-style:normal}
.side-gi svg{width:16px;height:16px;flex:0 0 16px;opacity:.8}
.side-head .side-pf{width:1em}
.side-suche .fav-stick>span{display:inline-flex;align-items:center}
.md-grp>svg+.side-pf,.fav-ordner>svg+.side-pf{margin-left:-2px}
/* Unterpunkte je Ebene eingerückt (Harald 22.10.2026, global): Einträge einer Gruppe stehen eine Stufe (16 px, am Handy 12 px) weiter rechts, Einträge einer Untergruppe noch eine.
   Untergruppen: Symbol · ▸/▾ · Name wie bei den Gruppenköpfen; das Symbol steht auf der Linie der Symbole der Einträge derselben Ebene, das ▸/▾ ist schmal (10 px). Markierung, Hover und Fokus gehen über die ganze Breite. */
.sidebar{--ein:16px}@media (max-width:600px){.sidebar{--ein:12px}}
.side-views>a,.side-views>.md-grp,.side-views>.fav-ordner{--pl:calc(6px + var(--ein))}
.side-views>.md-grp-inhalt>*,.side-views>.fav-ordner-inhalt>*{--pl:calc(6px + 2*var(--ein))}
.side-views .md-grp-inhalt .md-grp-inhalt>*{--pl:calc(6px + 3*var(--ein))}
.side-views>a,.side-views .md-grp-inhalt>a,.side-views .fav-ordner-inhalt>a,.side-views .md-grp,.side-views .fav-ordner{padding-left:var(--pl)}
.side-views .md-grp-inhalt,.side-views .fav-ordner-inhalt{padding-left:0}
.side-views .md-grp,.side-views .fav-ordner{position:relative}
.side-views .md-grp>.side-pf,.side-views .fav-ordner>.side-pf{flex:0 0 10px;width:10px;margin:0 -2px 0 -4px;text-align:center;font-size:.8em}
/* Fenster nutzen den Bildschirm (Harald 22.10.2026, global): der Inhalt scrollt im Fenster, der Fensterkopf bleibt oben stehen.
   Bearbeiten-Fenster (.dlg.wide) wachsen bis 97 % der Breite und Höhe des sichtbaren Bereichs, höchstens 1200 px breit; die Höhe richtet sich nach dem Inhalt (höchstens 97 %).
   Kleine Fenster (Rückfragen, Abhilfe, Auswahl – ohne wide) bleiben 460 px breit; sie scrollen ab 88 % der Höhe ebenfalls im Fenster. .dlg.gross (volle Größe) bleibt, wie es ist. */
.dlg:not(.gross){max-height:calc(100% - 12vh);overflow:auto;overscroll-behavior:contain}
.dlg.wide{max-width:min(1200px,97vw);margin:1.5vh 0;max-height:97%}
.dlg:not(.gross) .dlg-kopf{top:-20px}
/* ✨ Adresse erkennen (22.10.2026): Eingabe und Übersicht bisher/Vorschlag */
.aki-bild{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.aki-info summary{cursor:pointer;color:var(--muted);font-size:.88rem}.aki-info p{margin:6px 0 0}
.aku-wrap{overflow-x:auto;margin:8px 0}.aku-tab{width:100%;border-collapse:collapse;font-size:.9rem}.aku-tab th,.aku-tab td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:break-word;word-break:normal;hyphens:manual}.aku-tab th{white-space:nowrap}.aku-tab td.aku-feld{min-width:8em}.aku-tab td.aku-neu{min-width:10em}.aku-tab td.aku-bisher{min-width:7em}.aku-tab.aku-ohne-bisher th:nth-child(2),.aku-tab.aku-ohne-bisher td:nth-child(2){display:none}.aku-tab th{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.aku-tab td:last-child,.aku-tab th:last-child{text-align:center;width:1%}.aku-tab .check{margin:0;justify-content:center}
.aku-gleich td{color:var(--muted);opacity:.65}.aku-abweichend td:nth-child(3){font-weight:600}.badge.aku-abw{background:#fdebd3;color:#8a4b00}.aku-pruef,.aku-dub{background:var(--accent-soft);border-radius:8px;padding:8px 12px;margin:8px 0}.aku-pruef ul,.aku-dub ul{margin:4px 0 0;padding-left:18px}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .badge.aku-abw{background:#4a3312;color:#ffcf8a}}:root[data-theme=dark] .badge.aku-abw{background:#4a3312;color:#ffcf8a}
/* 🔎 Adresse im Internet suchen (03.11.2026): Treffer-Liste mit Quelle */
.aw-treffer{list-style:none;margin:6px 0;padding:0}.aw-t{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);padding:8px 10px;margin:0 0 8px;overflow-wrap:anywhere;font-size:.92rem}
.aw-kopf{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.aw-kopf>b{min-width:0}.aw-kopf>button{flex:0 0 auto}.aw-quelle{margin-top:4px}.aw-quelle a{word-break:break-all}
/* KI-Fenster „Mit KI ausfüllen“ (08.11.2026): Treffer im selben Fenster, Folge „1 von n“ im Fenster der neuen Adresse */
.aki-erg{margin-top:6px}.aki-erg .aw-kopf .check{min-width:0;display:flex;gap:6px;align-items:flex-start}.aki-alle{margin:4px 0 8px}#akiMehrF{margin:2px 0 8px}
.aki-folge{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:6px 0;padding:6px 10px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);color:var(--ink);font-size:.9rem}.aki-folge>span{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}
/* KI-Import (Stufe 1, 22.10.2026): Fortschritt, Filter-Chips, Gruppen-Symbole, Übersicht bisher/Vorschlag */
.ka-liste{list-style:none;margin:4px 0;padding:0}.ka-z{display:flex;gap:8px;align-items:flex-start;padding:5px 0;border-top:1px solid var(--line)}.ka-z:first-child{border-top:0}.ka-z>.check{margin:2px 0 0;flex:0 0 auto}.ka-t{min-width:0;flex:1 1 auto;overflow-wrap:anywhere}
.ka-felder{margin:2px 0 0 1.1em;padding:0}.ka-da .ka-t{opacity:.7}.ka-hinw{font-style:italic}.ka-alt{text-decoration:line-through;opacity:.7}.ka-zahl{font-weight:600}
.ka-m{display:inline-block;font-size:.75rem;line-height:1.2;padding:0 6px;border-radius:999px;border:1px solid var(--line)}.ka-m-neu{color:var(--accent-text);border-color:currentColor}.ka-m-ae{color:#b45309;border-color:currentColor}.ka-m-weg{color:#b91c1c;border-color:currentColor}
.ka-weg>b,.ka-weg{opacity:.75}.ka-vh{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.ka-vh h3{font-size:1rem;margin:10px 0 4px}
.ka-letzte{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);padding:6px 10px;margin:6px 0 10px;background:var(--panel)}
@media (max-width:600px){.ka-vh{grid-template-columns:1fr}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ka-m-ae{color:#fcd34d}:root:not([data-theme="light"]) .ka-m-weg{color:#f87171}}
:root[data-theme="dark"] .ka-m-ae{color:#fcd34d}:root[data-theme="dark"] .ka-m-weg{color:#f87171}
.ki-fort{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:6px 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.ki-fort-z{flex:1 1 200px;min-width:0}.ki-fort progress{flex:1 1 160px;max-width:100%;height:10px;accent-color:var(--accent)}
/* KI-Import Stufe 2/3 (22.10.2026): KI-Einschätzung der Dubletten, Zusatzfelder des Laufs, Dubletten-Fenster, Kamera */
.ki-urteil{margin:2px 0 4px;font-size:.92em;overflow-wrap:anywhere}.ki-u-gleich{color:var(--accent-text)}.ki-u-verschieden{color:var(--coral)}.ki-u-unklar{color:var(--muted)}
.ki-zus{margin:4px 0 8px}.ki-zus>summary{cursor:pointer;font-weight:600}.ki-dub-tab td{overflow-wrap:anywhere;vertical-align:top}.ki-dub-ok{margin:10px 0 4px}#kiImpKamera{margin-top:6px}
.ki-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.ki-chip{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:4px 10px;font:inherit;font-size:.9em;cursor:pointer}.ki-chip.aktiv{background:var(--accent);border-color:var(--accent-text);color:var(--accent-ink)}.ki-punkt{color:var(--coral)}
.ki-sammel{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 8px}
.ki-gr{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-weight:700;border:1px solid var(--line);color:var(--ink);cursor:help}.ki-gr-neu{color:var(--accent-text)}.ki-gr-fehler{color:var(--danger);border-color:var(--danger)}.ki-gr-dublette{color:var(--coral);border-color:var(--coral)}.ki-gr-erledigt{color:var(--accent-text);border-color:var(--accent)}
.ki-stufe{display:inline-block;font-size:.78em;padding:0 6px;border-radius:999px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.ki-st-sicher{color:var(--accent-text);border-color:var(--accent)}.ki-st-aehnlich{color:var(--coral);border-color:var(--coral)}
.ki-fz,.ki-feld-err{font-size:.85em;margin:2px 0 0;display:block}
.ki-felder{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 12px}.ki-kand label,.ki-ent label{display:block;margin:4px 0}
@media (max-width:600px){.ki-felder{grid-template-columns:1fr}.ki-chip{padding:3px 8px}}
/* Reiter oben im Fenster (Harald 22.10.2026, global): Leiste unter der Knopfleiste, eine Zeile – am Smartphone seitlich schieben; inaktive Bereiche nur ausgeblendet */
.reiter-leiste{display:flex;flex-wrap:nowrap;gap:2px;overflow-x:auto;overflow-y:hidden;margin:6px 0 -8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;max-width:100%}
.reiter-leiste>.reiter{flex:0 0 auto;white-space:nowrap;background:none;border:0;border-bottom:3px solid transparent;padding:7px 12px 6px;color:var(--muted);font-size:.92rem;border-radius:6px 6px 0 0;cursor:pointer}
.reiter-leiste>.reiter:hover{color:var(--ink);background:var(--accent-soft)}
.reiter-leiste>.reiter.on{color:var(--ink);border-bottom-color:var(--accent-text);font-weight:600}
.reiter-leiste>.reiter[aria-disabled]{opacity:.78;cursor:default}
.reiter-leiste>.reiter[aria-disabled]:hover{background:none;color:var(--muted)}
.reiter-leiste>.reiter:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}
.reiter-leiste .rt-zahl{font-weight:400;color:var(--muted)}
.reiter-panel.rt-aus{display:none!important}
/* Fenster mit Reitern: feste Höhe, springt beim Wechseln der Reiter nicht (Harald 22.10.2026); Inhalt scrollt im Fenster, Kopf mit Reiterleiste klebt oben */
.dlg.wide.hat-reiter{height:min(97%,820px)}
.reiter-panel>details.li-ablage,details.reiter-panel.li-ablage{margin:0;border-top:0;padding-top:0}
.reiter-panel>details>summary,details.reiter-panel>summary{display:none}
.reiter-panel>h3.ve-sec:first-child{margin-top:0}
.ut-grau{opacity:.55}
/* ✨ Seite mit KI bearbeiten (22.10.2026, seiten-ki.src.js): Wunsch, Stände, Vorschau, Änderungen */
.sk-wunsch{margin:0 0 8px}.sk-wunsch>label{display:block;font-weight:600;margin-bottom:4px}.sk-wunsch-z{display:flex;gap:8px;align-items:flex-start}.sk-wunsch-z textarea{flex:1;min-width:0;resize:vertical}
.sk-info{margin-top:6px}.sk-info .intro-liste{margin:6px 0 0}
.sk-staende{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 0;margin:6px 0 10px}.sk-nav{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sk-staende p{margin:4px 0 0}
.sk-entfernt{color:#8a4b00}.sk-links{background:var(--accent-soft);border-radius:8px;padding:8px 12px;margin:0 0 10px}.sk-links ul{margin:4px 0 0;padding-left:18px}.sk-links code{overflow-wrap:anywhere}
.sk-seite{border:1px dashed var(--line);border-radius:10px;padding:8px 14px;background:var(--bg,transparent)}.sk-seite-kopf h1{margin:6px 0}.sk-seite article.content{overflow-wrap:anywhere}.sk-seite img{max-width:100%;height:auto}
.sk-vgl{margin:0 0 8px}.sk-diff{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.92rem}.sk-diff th,.sk-diff td{vertical-align:top;padding:6px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;text-align:left}
.sk-diff td>*:first-child{margin-top:0}.sk-diff td>*:last-child{margin-bottom:0}.sk-diff img{max-width:100%;height:auto}
.sk-gleich td{color:var(--muted);opacity:.7}.sk-anders td{background:#fff6d6}.sk-neu td:nth-child(2){background:#e3f6e6}.sk-weg td:nth-child(1){background:#fde4e2;text-decoration:line-through}
.sf-liste{display:flex;flex-direction:column;gap:2px;max-height:34vh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:4px;margin:0 0 10px}
.sf-z{display:flex;gap:8px;align-items:flex-start;padding:6px 8px;border-radius:6px;cursor:pointer}.sf-z:hover{background:var(--accent-soft)}.sf-z.on{background:var(--accent-soft);outline:1px solid var(--accent,#2b6cb0)}.sf-z input{margin-top:3px;flex:none}.sf-t{min-width:0;overflow-wrap:anywhere}
.sk-verlauf{padding-left:20px}.sk-verlauf li{margin:0 0 8px}.sk-verlauf li.on{font-weight:500}.sk-verlauf p{margin:2px 0}
@media (max-width:600px){.sk-wunsch-z{flex-direction:column;align-items:stretch}.sk-diff{font-size:.84rem}}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sk-anders td{background:#3d3317}:root:not([data-theme=light]) .sk-neu td:nth-child(2){background:#1f3d26}:root:not([data-theme=light]) .sk-weg td:nth-child(1){background:#45201f}:root:not([data-theme=light]) .sk-entfernt{color:#ffcf8a}}
:root[data-theme=dark] .sk-anders td{background:#3d3317}:root[data-theme=dark] .sk-neu td:nth-child(2){background:#1f3d26}:root[data-theme=dark] .sk-weg td:nth-child(1){background:#45201f}:root[data-theme=dark] .sk-entfernt{color:#ffcf8a}
/* Erfassen in Folge (23.10.2026): Meldung „✔ Gespeichert: … – nächste … erfassen · öffnen“ im Fensterkopf */
.dlg-naechste-ok{margin:6px 0 0;padding:6px 10px;border-radius:8px;background:var(--accent-soft);color:var(--ink);font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}.dlg-naechste-ok a{color:var(--link);font-weight:600}

/* Import-Assistent (23.10.2026): Schrittleiste im Fensterkopf, Entwurf-Hinweis, Vorgaben-Tabelle, Kennzeichen „Vorgabe“ */
.ki-schritte{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;margin:8px 0 2px;font-size:.88rem;max-width:100%}
.ki-schritt{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid transparent;border-radius:999px;padding:3px 10px 3px 4px;color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap}
.ki-schritt-nr{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);font-weight:600;font-size:.82rem;background:var(--panel);color:var(--ink)}
.ki-schritt.fertig,.ki-schritt:not(.aus):not(.aktiv){color:var(--ink)}.ki-schritt.fertig .ki-schritt-nr{background:var(--accent-soft);border-color:var(--accent)}
.ki-schritt:not(.aus):not(.aktiv):hover{background:var(--accent-soft)}
.ki-schritt.aktiv{color:var(--ink);font-weight:600;border-color:var(--accent-text);cursor:default}.ki-schritt.aktiv .ki-schritt-nr{background:var(--accent);border-color:var(--accent-text);color:var(--accent-ink)}
.ki-schritt.aus{opacity:.78;cursor:default}.ki-schritt-pfeil{color:var(--muted)}
.ki-entwurf-da{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between;border:1px solid var(--accent);background:var(--accent-soft);color:var(--ink);border-radius:8px;padding:8px 10px;margin:4px 0 10px}
.ki-vg-tab{width:100%}.ki-vg-tab th,.ki-vg-tab td{vertical-align:top;text-align:left}.ki-vg-tab select,.ki-vg-tab input:not([type=checkbox]){width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.ki-vg-liste{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.ki-vg-mehr{margin:8px 0}
.ki-vg{font-style:italic}.ki-vg-b{font-style:italic;font-size:.75em}.aku-vorgabe td:nth-child(3){font-style:italic}
@media (max-width:600px){.ki-schritte{flex-wrap:nowrap;gap:2px}.ki-schritt:not(.aktiv) .ki-schritt-name{display:none}.ki-schritt:not(.aktiv){padding:2px}.ki-schritt.aktiv{padding-right:8px;min-width:0}.ki-schritt.aktiv .ki-schritt-name{overflow:hidden;text-overflow:ellipsis}
  .ki-vg-tab thead{display:none}.ki-vg-tab,.ki-vg-tab tbody{display:block}.ki-vg-tab tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 8px;padding:6px 0;border-bottom:1px solid var(--line)}.ki-vg-tab tr>th{grid-column:1/-1;border:0;padding:0}.ki-vg-tab tr>td{border:0;padding:0;min-width:0}}
.btn.ki-ungesp{background:var(--coral,#d4694a);border-color:var(--coral,#d4694a);color:#fff;box-shadow:0 0 0 2px rgba(212,105,74,.25)} /* „Als Entwurf speichern“: noch nicht gespeichert (eigene Klasse – .ungespeichert setzt der Kern beim Speichern samt Tooltip zurück) */
.ki-schritte .ki-schritt.aktiv[aria-disabled]{opacity:1;color:var(--ink);filter:none}
/* KI-Symbol (Harald 23.10.2026, global): ein Symbol, Farbe über --ki-farbe (hell tiefes Bernstein, dunkel Gelb), Kontrast mind. 4,5:1; das Emoji ✨ im Text wird von core.src.js (kiSymbole) in <span class="ki-sym"> gesetzt und hier als Maske gezeichnet */
:root{--ki-farbe:#8f4305;--ki-maske:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z'/%3E%3Cpath d='M19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8z'/%3E%3C/svg%3E")}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ki-farbe:#fcd34d}}
:root[data-theme=dark]{--ki-farbe:#fcd34d}
.btn.primary,.topbar,.tree .node.active,.side-views a.on{--ki-farbe:var(--accent-ink)}
.ki-sym,.ki-svg{color:transparent!important}.ki-sym{display:inline-block;width:1.05em;height:1.05em;vertical-align:-.17em;overflow:hidden;white-space:nowrap;line-height:1;text-shadow:none;background:var(--ki-farbe);-webkit-mask:var(--ki-maske) center/contain no-repeat;mask:var(--ki-maske) center/contain no-repeat}
.ki-svg{background:none}.ki-svg,.ki-svg *{stroke:var(--ki-farbe)!important;color:var(--ki-farbe)!important}
:disabled .ki-sym,[aria-disabled=true] .ki-sym,.ks-aus .ki-sym,.kopf-sym.ks-ki:disabled::before,.ks-aus .ki-svg{background:var(--muted,#888)}.ks-aus .ki-svg,.ks-aus .ki-svg *{stroke:var(--muted,#888)!important}
.ki-sym.ki-sym-doppelt{display:none!important}/* Eintrag mit eigenem Symbol: das ✨ im Text bleibt Text (Suche, Tooltip), wird aber nicht gezeigt – nur ein KI-Symbol je Eintrag */
/* Anwender, Rollen und Admins (23.10.2026): Zustimmungen/Anfragen über der Anwenderliste, markierte Zeile, Leiste „noch keine Berechtigungen“ */
.ut-wartet{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;margin-top:4px}.ut-wartet span{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}
.ut-markiert,.ut-markiert td{background:color-mix(in srgb,var(--accent,#1F4D3A) 12%,transparent)!important}
.ohne-rechte{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 12px}.ohne-rechte span{flex:1 1 240px}
/* Feldtyp „Dokumente“ (Harald 23.10.2026): Kacheln im Formular (Bild bzw. Format-Icon, ★ Favorit, × entfernen, Ziehen), Zelle in der Liste (Favorit + „+3“), Galerie */
.ad-zus .df-feld,.df-feld{grid-column:1/-1}.df-kacheln{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.df-kachel{position:relative;width:104px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg);display:flex;flex-direction:column}
.df-kachel.df-fav{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.df-kachel[draggable=true]{cursor:grab}.df-kachel.df-neu{border-style:dashed}
.df-zeig{all:unset;display:flex;align-items:center;justify-content:center;width:100%;height:80px;cursor:zoom-in;background:var(--panel)}.df-zeig img{width:100%;height:100%;object-fit:cover}
.df-zeig:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}
.df-name{display:block;font-size:.72rem;line-height:1.25;padding:4px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.df-kachel .df-stern,.df-kachel .df-weg{position:absolute;top:4px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:15px;line-height:26px;padding:0;cursor:pointer;text-align:center}
.df-kachel .df-stern{left:4px}.df-kachel .df-weg{right:4px;font-size:16px}.df-kachel.df-fav .df-stern{background:var(--accent);color:#ffd84d}.df-stern-fest{pointer-events:none}
.df-kachel.df-aus{opacity:.75;border-style:dashed}.df-kachel.df-aus .df-zeig{filter:grayscale(1)}.df-aus-t{position:absolute;top:4px;left:4px;background:var(--panel);color:var(--muted);font-size:.68rem;padding:1px 6px;border-radius:8px;border:1px solid var(--line)}
.df-wieder{margin:0 6px 6px;font-size:.72rem;padding:4px 6px}.df-weg-zeig{align-self:center;height:32px}
.df-kachel.df-lade{align-items:center;justify-content:center;gap:6px;padding:10px 6px;min-height:80px;border-style:dashed;color:var(--muted);text-align:center}
.df-feld.df-drueber .df-kacheln{outline:2px dashed var(--accent);outline-offset:4px;border-radius:10px}.df-kn{margin-top:6px}.df-kn label.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.df-hinweis{margin-top:4px}
.df-ico{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:30px;padding:0 6px;border-radius:6px;font:700 .8rem/1 system-ui,sans-serif;letter-spacing:.04em;color:#fff;background:#5b6472}
.df-ico-pdf{background:#b3261e}.df-ico-doc{background:#1d5fbf}.df-ico-xls{background:#16794a}.df-ico-ppt{background:#c2511a}.df-ico-bild{background:#6b4fa8}
.df-ico-klein{min-width:32px;height:22px;font-size:.66rem;padding:0 4px}
.df-zelle{all:unset;display:inline-flex;align-items:center;gap:4px;cursor:zoom-in;border-radius:6px}.df-zelle:focus-visible{outline:2px solid var(--accent-text)}
.df-mini{width:32px;height:32px;object-fit:cover;border-radius:6px;border:1px solid var(--line);vertical-align:middle}
.df-mehr{font-size:.75rem;color:var(--muted);font-weight:600}
@media (max-width:480px){.df-kachel{width:calc(50% - 4px)}.df-zeig{height:96px}}
/* ✨ Mandant mit KI einrichten (24.10.2026, mandant-ki.src.js) */
.km-ds{border:1px solid #d97706;background:color-mix(in srgb,#f59e0b 14%,var(--panel,#fff));border-radius:var(--radius);padding:8px 12px;margin:6px 0 10px}
.km-ds ul{margin:4px 0 0 1.1em;padding:0}
.km-kat{border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;margin:10px 0;min-width:0}
.km-kat legend{font-weight:600;padding:0 4px}
.km-in{min-width:0;max-width:100%}
.km-tab{border-top:1px solid var(--line);padding:8px 0}
.km-tab-kopf{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.km-tab-name{font-weight:600;flex:1 1 180px}
.km-besch{width:100%;margin:4px 0}
.km-feld{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin:3px 0 3px 18px}
.km-feld .km-in{flex:1 1 140px}.km-feld .km-opt{flex:2 1 200px}
.km-baum,.km-vbaum,.km-vliste,.km-liste{margin:4px 0 4px 1.1em;padding:0}
.km-baum ul,.km-vbaum ul,.km-vliste ul{margin:2px 0 2px 1.2em;padding:0}
.km-liste>li,.km-baum li{margin:4px 0}
.km-art{color:var(--muted);font-size:.85rem}
.km-vorschau{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 18px}
.km-vorschau h3{font-size:1rem;margin:10px 0 4px}
.km-ok{color:var(--accent-text)}.km-warn{color:#b45309}
.km-bericht tr.km-fehler td{color:#b91c1c}.km-bericht tr.km-uebersprungen td{color:var(--muted)}
.km-nav{display:flex;gap:6px;align-items:center;margin:4px 0}
@media (max-width:600px){.km-feld{margin-left:0}.km-vorschau{grid-template-columns:1fr}}
/* Zeichenzähler für lange Eingaben (24.10.2026): „1.234 / 8.000“, ab 90 % Warnfarbe, darüber deutlicher Hinweis – nie still kürzen */
.zz-zaehler{margin-top:4px;font-size:.85rem;text-align:right}.zz-zaehler.zz-warn .zz-zahl{color:var(--warn-text,#8a5a00);font-weight:600}
.zz-zaehler.zz-zu{color:var(--danger,#b00020);text-align:left}.zz-zaehler.zz-zu .zz-zahl{font-weight:700}.zz-feld-zu{border-color:var(--danger,#b00020)!important}
/* ✨ Mandant mit KI einrichten: Ziel im HTML-Editor (wächst mit dem Inhalt, höchstens 60 % der Fensterhöhe) und Fortschritt des Vorschlags */
#kmZielEd.sm-ed{min-height:12em;max-height:60vh}
#kmZielBox .sm-tb{flex-wrap:wrap;max-width:100%;overflow-x:hidden}
.km-fort{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px}.km-fort .ki-fort-z{grid-area:1/1}.km-fort .actions{grid-area:1/2;margin:0;padding:0;border:0;position:static;justify-content:flex-end;flex-wrap:wrap}.km-fort progress{grid-area:2/1/auto/-1;width:100%;min-width:0}.km-fort .km-teile{grid-area:3/1/auto/-1;margin:0;columns:3 200px;column-gap:24px}.km-fort .km-teile li{break-inside:avoid}
@media (max-width:640px){.km-fort{grid-template-columns:minmax(0,1fr)}.km-fort .actions{grid-area:4/1;justify-content:flex-start}}
.km-teile{list-style:none;padding:0;margin:8px 0}.km-teile li{padding:2px 0}.km-teile .km-t-ok{color:var(--accent-text)}.km-teile .km-t-fehl{color:var(--danger,#b00020)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .zz-zaehler.zz-warn .zz-zahl{color:#f0c060}:root:not([data-theme="light"]) .zz-zaehler.zz-zu,:root:not([data-theme="light"]) .km-teile .km-t-fehl{color:#ff8a8a}}
:root[data-theme="dark"] .zz-zaehler.zz-warn .zz-zahl{color:#f0c060}:root[data-theme="dark"] .zz-zaehler.zz-zu,:root[data-theme="dark"] .km-teile .km-t-fehl{color:#ff8a8a}
/* Skill-Dateien für die KI (24.10.2026) */
.ks-liste{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:6px}
.ks-z{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--card,transparent);min-width:0}
.ks-z.ks-aus{opacity:.65}.ks-z.ks-zieh{outline:2px dashed var(--accent,#2563eb)}
.ks-griff{cursor:grab;user-select:none;color:var(--muted,#777)}
.ks-inhalt{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}
.ks-kn{display:flex;flex-wrap:wrap;gap:4px}
.ks-warn,.ks-funde{border-left:4px solid #d97706;padding:6px 10px;margin:8px 0;background:rgba(217,119,6,.08);overflow-wrap:anywhere}
.ks-warn p,.ks-funde p{margin:2px 0}
.ks-pb{color:#b45309}.ks-w{color:#b45309}
.ks-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:40vh;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:8px;font-size:12px;margin:4px 0}
.ks-wirkt-f{border:1px solid var(--line);border-radius:6px;padding:6px 10px;margin:8px 0;display:flex;flex-wrap:wrap;gap:4px 14px;min-width:0}
.ks-kurz{margin:8px 0;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.km-skillwarn{color:#b45309}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ks-pb,:root:not([data-theme="light"]) .ks-w,:root:not([data-theme="light"]) .km-skillwarn{color:#f0c060}}
:root[data-theme="dark"] .ks-pb,:root[data-theme="dark"] .ks-w,:root[data-theme="dark"] .km-skillwarn{color:#f0c060}
.ks-intro ul{margin:4px 0;padding-left:18px}.ks-intro li{margin:2px 0}
/* Art-Symbol als eigene schmale Spalte, Gruppen-Chips immer in eigener Zeile unter dem Namen (Harald 24.10.2026, global – tabulatorTabelle o.symbolSpalte, Klasse .tb-chips) */
.tabulator .tabulator-cell.tb-sym{padding-left:4px;padding-right:2px;text-overflow:clip}.tb-sym-i{display:inline-flex;align-items:center;justify-content:center;min-height:20px;color:var(--muted)}.tb-sym-i .ad-art{margin-right:0!important}.tb-sym-i svg{width:18px;height:18px}
.tb-sym-flex{display:flex;align-items:flex-start;gap:6px}.tb-sym-flex>.tb-sym-i{flex:0 0 auto;padding-top:1px}.tb-sym-flex>div{min-width:0}
.tb-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px;white-space:normal}.tb-chips>.badge{margin:0}
.tb-sym-i .ad-mini,.tb-sym-i .ar-mini{margin-right:0}

/* Übersicht „Vorschlag prüfen“: Hinweise vollständig lesbar (höchstens 3 Zeilen, dann „mehr …“), am Handy Kartenansicht (Harald 24.10.2026) */
.aku-kurz{max-height:4.8em;overflow:hidden}.aku-kurz.aku-offen{max-height:none}.aku-kurz .aku-mehr{display:block;margin-top:2px}
@media (max-width:600px){.aku-wrap{overflow-x:visible}.aku-tab,.aku-tab tbody{display:block;width:100%}.aku-tab thead{display:none}
.aku-tab tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;padding:8px 2px;border-bottom:1px solid var(--line)}
.aku-tab td{display:block;border:0;padding:1px 0;min-width:0!important;width:auto!important;text-align:left}
.aku-tab td.aku-feld{grid-column:1;grid-row:1;font-weight:700}.aku-tab td.aku-hak{grid-column:2;grid-row:1;text-align:right}
.aku-tab td.aku-neu{grid-column:1/-1;grid-row:2}.aku-tab td.aku-neu::before{content:"Vorschlag: ";color:var(--muted);font-size:.85em}
.aku-tab td.aku-bisher{grid-column:1/-1;grid-row:3;font-size:.8rem;color:var(--muted)}.aku-tab td.aku-bisher::before{content:"bisher: "}
.aku-tab td.aku-leer{display:none}.aku-tab td:last-child{width:auto}}
/* Webseite mit Abschnitten (Block-Editor, Stufe 1 moderne Webseite, 24.10.2026) – Editor in den Farben der App, die Abschnitte selbst im Thema (.wb, web-render.js) */
.wb-artikel{max-width:none;padding:0}.wb-artikel .wb{margin:0 0 16px}
.wbe-modus{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:4px 0 10px}
.wbe-leiste{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}
.wbe-karte{border:1px solid var(--line);border-radius:var(--radius,8px);background:var(--panel);margin:0 0 4px}.wbe-karte.auf{box-shadow:0 2px 10px rgba(0,0,0,.08)}.wbe-karte.wbe-ziel{outline:2px dashed var(--accent-text)}
.wbe-kopf{display:flex;align-items:center;gap:6px;padding:6px 8px;min-width:0}.wbe-griff{cursor:grab;border:0;background:none;color:var(--muted);font-size:18px;padding:2px 4px}
.wbe-titel{flex:1;min-width:0;display:flex;gap:8px;align-items:baseline;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer;padding:4px;font:inherit}.wbe-titel b{white-space:nowrap}
.wbe-kurz{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.wbe-ico{width:1.4em;text-align:center}.wbe-k{display:flex;gap:2px;flex-wrap:wrap;justify-content:flex-end}
.wbe-inhalt{padding:4px 12px 12px;border-top:1px solid var(--line)}.wbe-opt{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 8px;font-size:.92em}.wbe-felder{display:grid;gap:4px 16px;grid-template-columns:1fr}
.wbe-html .editable{min-height:90px}.wbe-liste{margin-top:10px;display:grid;gap:8px}.wbe-eintrag{border:1px dashed var(--line);border-radius:8px;padding:6px 10px}.wbe-eintrag-k{display:flex;gap:4px;align-items:center;font-weight:600}.wbe-eintrag-k span{flex:1}
.wbe-bild{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.wbe-bild img{width:96px;height:64px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.wbe-ph{display:inline-grid;place-items:center;width:96px;height:64px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:11px;text-align:center}
.wbe-bild-k{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.wbe-zw{text-align:center;margin:-2px 0 -12px;position:relative;z-index:1}.wbe-plus{background:var(--panel);border:1px dashed var(--line);border-radius:999px;color:var(--accent-text)}
.wbe-seo{margin-top:22px;border:1px solid var(--line);border-radius:8px;padding:8px 12px}.wbe-seo summary{cursor:pointer;font-weight:600}
.wbe-arten{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.wbe-art{display:grid;gap:4px;text-align:left;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);cursor:pointer;font:inherit}.wbe-art:hover,.wbe-art:focus-visible{border-color:var(--accent-text)}
.wbe-art-bild{display:grid;place-items:center;height:54px;border-radius:8px;background:var(--accent-soft);font-size:26px}.wbe-art .hint{font-size:.85em}
.wbg-stile{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:8px 0 12px}.wbg-stil{display:grid;gap:2px;border:1px solid var(--line);border-radius:10px;padding:8px;cursor:pointer}.wbg-stil:has(input:checked){border-color:var(--accent-text);box-shadow:0 0 0 2px var(--accent-soft)}.wbg-stil input{position:absolute;opacity:0}
.wbg-muster{height:28px;border-radius:6px;background:linear-gradient(90deg,var(--accent) 0 35%,var(--accent-soft) 35%)}.wbg-muster[data-wbg=warm]{background:linear-gradient(90deg,var(--accent) 0 35%,#fffaf3 35%);border-radius:14px}.wbg-muster[data-wbg=kraeftig]{background:linear-gradient(90deg,var(--accent) 0 60%,#111 60%)}.wbg-muster[data-wbg=elegant]{background:linear-gradient(90deg,#fbfaf8 0 70%,var(--accent) 70%);border:1px solid var(--line);border-radius:2px}
.wbg-farbe{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#wbgVor{border:1px solid var(--line);border-radius:10px;overflow:hidden}#wbgVor .wb-hero{min-height:0}
.wbv-w{display:inline-flex;gap:4px;margin-left:8px}.wbv-w .on{outline:2px solid var(--accent-text)}.wbv-rahmen{overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--bg)}#wbVorFrame{display:block;height:70vh;border:0;margin:0 auto;background:#fff}
@media (min-width:760px){.wbe-felder{grid-template-columns:1fr 1fr}.wbe-felder .wbe-html,.wbe-felder .field:has(textarea){grid-column:1/-1}}
@media (max-width:600px){.wbe-kurz{display:none}.wbe-titel b{white-space:normal}}
/* „Worum es geht“ im Fenster der Entscheidung (24.10.2026): Datensatz mit den wichtigsten Feldern, Stufe, Nachricht, Verlauf – am iPhone zweispaltig, umbrechend */
.ent-worum{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:10px 12px;margin:0 0 10px;display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere;max-width:100%}
.ent-w-kopf{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}.ent-w-auf-z{margin-top:-2px}.ent-w-auf{font-weight:600}
.ent-w-felder{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 12px;margin:0}.ent-w-feld{min-width:0;border-radius:6px;padding:2px 6px}
.ent-w-feld dt{font-size:.78rem;color:var(--muted);font-weight:600}.ent-w-feld dd{margin:0;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.ent-w-hervor{background:var(--accent-soft);outline:1px solid var(--accent)}.ent-w-hervor dt{color:var(--ink)}
.ent-w-stufe,.ent-w-nachricht{border-top:1px solid var(--line);padding-top:6px}.ent-w-pruef{margin-top:3px}.ent-w-vorher{font-size:.88rem;margin-top:3px}
.ent-w-nachricht{font-size:.92rem}.ent-w-ohne{margin:0;font-weight:600}.ent-w-verlauf summary{cursor:pointer;color:var(--link);font-size:.9rem}
@media (max-width:420px){.ent-w-felder{grid-template-columns:1fr 1fr}}
.wf-nachricht{display:flex;flex-direction:column;gap:2px;padding:6px 8px;min-width:240px}.wf-nachricht textarea{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);resize:vertical}

/* Anmeldefenster (24.10.2026): Passwortfeld (mit Auge, .pw-wrap) so breit wie die anderen Felder; Links unter dem Formular, umbrechend, lesbar auch im dunklen Modus */
.pw-wrap{width:100%}.pw-wrap input{width:100%;box-sizing:border-box}.pw-auge:focus-visible{outline:2px solid var(--accent-text);outline-offset:0;opacity:1}
.anm-links{margin:16px 0 0;font-size:.92rem;line-height:1.9;overflow-wrap:anywhere}.anm-links a{color:var(--accent-text);white-space:nowrap}
.btn[aria-disabled=true]{opacity:.5;cursor:default}.btn[aria-disabled=true]:hover{border-color:var(--line)}
/* Mandant › Einstellungen › Kacheln: nicht freigeschaltete Teile grau mit 🔒 (24.10.2026), gut lesbar (≥ 3:1), nicht aufrufbar */
.md-kachel-w{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--panel);min-width:0}
.md-kachel-w:hover,.md-kachel-w:focus-within{border-color:var(--accent)}
.md-kachel-w>.md-kachel{border:0;background:none;border-radius:10px 10px 0 0}
.md-sperre{display:block;margin:0;padding:6px 12px;border:0;border-top:1px dashed var(--line);background:none;font:inherit;font-size:.85rem;line-height:1.35;text-align:left;color:var(--muted);cursor:not-allowed;border-radius:0 0 10px 10px}
.md-sperre b{font-weight:600}.md-sperre small{display:block;font-size:.8rem;color:var(--muted)}
.md-sperre:hover,.md-sperre:focus-visible{background:var(--accent-soft);color:var(--ink)}

/* Suche und Frage an die Historie (25.10.2026) */
.ver-such{margin:0 0 12px}.ver-such-zeile{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ver-such-zeile input{flex:1 1 220px;min-width:0}.ver-anz{white-space:nowrap}
.ver-frage{margin:10px 0 0}.ver-frage form{margin:8px 0 0}.ver-frage-zeile{display:flex;gap:8px;flex-wrap:wrap}.ver-frage-zeile input{flex:1 1 260px;min-width:0}
.ver-hl{background:#fde68a;color:#1a1a1a;border-radius:2px;padding:0 1px}
.ver-treffer{margin:6px 0;padding-left:22px}.ver-treffer li{margin:4px 0;overflow-wrap:anywhere}.ver-antwort p{margin:6px 0}
.ver.ver-sprung{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius,8px);scroll-margin-top:12px}
@media (max-width:600px){.ver-such-zeile,.ver-frage-zeile{flex-direction:column;align-items:stretch}.ver-such-zeile input,.ver-frage-zeile input{flex:none;width:100%;box-sizing:border-box}.ver-frage>.btn,.ver-frage-zeile .btn{width:100%}.ver-anz{white-space:normal}}
/* Helfer-Portal (Stufe 1 und 2, 25.10.2026): Portal ohne Anmeldung (#/helfer?k=…), abgesagte/bestätigte Einsätze in „Stände & Helfer“, Status der Helfer-Zugänge */
.hz-portal{max-width:760px;margin:0 auto}
.hz-portal .hz-ev{margin:14px 0;padding:14px 16px}
.hz-portal .hz-ev h2{margin:0 0 8px}
.hz-portal h3{margin:16px 0 6px;font-size:1.05rem}
.hz-portal .hz-info{white-space:normal;background:var(--accent-soft);color:var(--ink);border-radius:8px;padding:8px 12px;margin:8px 0}
.hz-meine{list-style:none;margin:0;padding:0}
.hz-meine .hz-schicht{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:6px 0;background:var(--panel)}
.hz-meine .hz-schicht > .hint{flex-basis:100%}
.hz-meine .hz-abgesagt{opacity:.75}
.hz-b-bestaetigt{background:color-mix(in srgb,var(--ok,#2e7d32) 20%,var(--panel));color:var(--ink)}
.hz-b-abgesagt{background:color-mix(in srgb,var(--danger) 18%,var(--panel));color:var(--ink)}
.hz-plan tr.hz-ich td{font-weight:600;background:var(--accent-soft)}
.hz-nachr,.hz-nl{list-style:none;margin:0;padding:0}
.hz-nachr li{border-left:3px solid var(--line);padding:6px 10px;margin:6px 0}
.hz-nachr li.hz-frage{border-left-color:var(--accent)}
.hz-nachr li.hz-antwort{border-left-color:var(--ok,#2e7d32)}
.hz-nachr .hz-text{white-space:pre-wrap}
.hz-nl li{margin:8px 0;padding:10px 12px}
.hz-nl li.hz-offen{border-left:4px solid var(--warn,#a15c00)}
.hz-nl .hz-antw{margin:6px 0 0 14px;padding-left:8px;border-left:2px solid var(--line)}
.hz-wartet{color:var(--warn,#a15c00)}
.hz-abg{color:var(--danger)}
/* Helfer-Portal Stufe 3: Meine Aufgaben, Ich bringe mit */
.hz-aufg,.hz-mb{list-style:none;margin:0;padding:0}
.hz-aufg .hz-aufgabe,.hz-mb .hz-mb-p{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:6px 0;background:var(--panel)}
.hz-aufg .hz-aufgabe{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center}
.hz-aufg .hz-a-erledigt{opacity:.85}
.hz-schritte{list-style:none;margin:4px 0 0;padding:0 0 0 6px;font-size:.92rem}
.hz-mb .hz-mein{margin-top:4px;font-weight:500}
.hz-mb-f{margin-top:6px}
.hz-mb-f input[name=menge],.hz-mb-f input[name=notiz]{min-height:40px}
.li-meta.li-mb{color:var(--accent)}
.li-mb-l{margin:4px 0;padding-left:18px}
.st-chip.st-abgesagt{text-decoration:line-through;text-decoration-color:var(--danger);opacity:.8;border-style:dashed}
.st-chip .st-abg-t{color:var(--danger);font-weight:600;text-decoration:none;display:inline-block}
.st-chip .st-best-t{color:var(--ok,#2e7d32);font-weight:700}
.hz-st-absage .kz-s,.hz-st-gesperrt .kz-s{color:var(--danger)}
.hz-st-bestaetigt .kz-s{color:var(--ok,#2e7d32)}
/* Gleichzeitiges Bearbeiten (25.10.2026): Fenster „Inzwischen geändert“ – Feld-Vergleich Ihre Eingabe / aktueller Stand */
#pfKonflikt .kf-tab td { vertical-align: top; overflow-wrap: anywhere; }
#pfKonflikt .kf-w { display: flex; gap: 6px; align-items: flex-start; cursor: pointer; }
#pfKonflikt .kf-w span { white-space: pre-wrap; }
#pfKonflikt .kf-w input:checked + span { font-weight: 600; }
/* Bezugsquellen am Artikel (25.10.2026) */
.li-ek .li-bz,.bz-link{text-decoration:none;margin-left:6px;font-size:.95em}
.bz-tab{width:100%;border-collapse:collapse}.bz-tab th,.bz-tab td{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left;font-size:.92em}.bz-tab tbody tr{cursor:pointer}
.bz-verlauf td{padding:2px 8px 2px 0;font-size:.9em}
/* Beleg einlesen – Vorschau (25.10.2026): Abweichung ab ±5 % markiert, am Telefon als Karten */
.bv-tab{width:100%;border-collapse:collapse}.bv-tab th,.bv-tab td{padding:4px 6px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.92em}.bv-tab select{max-width:220px}.bv-tab input[data-k=neuName]{margin-top:4px;max-width:220px}
.bv-abw{color:var(--danger,#b42318);font-weight:600;background:color-mix(in srgb,var(--danger,#b42318) 10%,transparent)}
@media (max-width:640px){.bv-tab thead{display:none}.bv-tab tr{display:block;border:1px solid var(--line);border-radius:8px;margin:0 0 8px;padding:6px}.bv-tab td{display:flex;justify-content:space-between;gap:8px;border:0;padding:3px 2px;text-align:left!important}.bv-tab td[data-label]::before{content:attr(data-label);color:var(--muted,#667);font-size:.85em}.bv-tab select,.bv-tab input[data-k=neuName]{max-width:60vw}}
/* Prüfregeln (25.10.2026): markierte Felder, Hinweise im Fenster, Abhilfe-Liste, Pflegefenster */
.pr-ff{outline:2px solid var(--danger)!important;outline-offset:1px}
.pr-fw{outline:2px solid #c77700!important;outline-offset:1px}
.pr-hinweis{font-size:.85rem;margin-top:2px}.pr-hinweis.pr-fehler{color:var(--danger)}.pr-hinweis.pr-warnung{color:#a35f00}
.pr-liste{padding-left:20px}.pr-liste .pr-v{margin:0 0 8px}
.pr-v.pr-fehler>button{color:var(--danger)}.pr-v.pr-warnung>button{color:#a35f00}
.pr-form .pr-zeile{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}
.pr-form .pr-zeile label{font-size:.85rem;color:var(--muted);font-weight:600}
.pr-form .pr-zeile select,.pr-form .pr-zeile input{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--bg);min-width:0;flex:1 1 140px}
.pr-checks{display:flex;flex-wrap:wrap;gap:2px 14px}.pr-checks .check{margin:0 0 6px}
.pr-radio .check{margin:0 0 6px}
.pr-ev{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 14px}.pr-ev legend{font-size:.85rem;color:var(--muted);font-weight:600}
.pr-artbox{border-left:3px solid var(--accent-soft);padding-left:10px;margin:0 0 12px}
.pr-vorschau{background:var(--accent-soft);border-radius:8px;padding:8px 12px;margin:0 0 10px;font-size:.92rem}
.pr-wenn{margin:0 0 12px}.pr-wenn summary{cursor:pointer;color:var(--link);font-size:.9rem;margin-bottom:6px}
.pr-form textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.pr-tab td,.pr-tab th{padding:6px 8px;text-align:left;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:top}
.pr-kz.pr-fehler .kz-s{color:var(--danger)}.pr-kz.pr-warnung .kz-s{color:#a35f00}.pr-kz.pr-st-aktiv .kz-s{color:var(--ok,#2e7d32)}
/* Formular mit Reitern – eigene Tabellen (26.10.2026): Liste der Untereinträge je Reiter, Summenzeile, Feld-Gruppen */
.xt-r-kopf{align-items:center;gap:6px;margin:2px 0 6px;flex-wrap:wrap}
.xt-r-tab .xt-num{text-align:right;white-space:nowrap}
.xt-r-tab .xt-r-wahl{width:34px}
.xt-r-sort{background:none;border:0;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-align:inherit}
.xt-r-sort:hover{color:var(--accent-text)}
.xt-r-summe td{border-top:2px solid var(--line)}
.xt-gruppe>.ad-zus{margin-top:2px}
/* Speicher je Mandant (26.10.2026): Balken „belegt von Grenze“ – ab 80 % gelb, ab 100 % rot */
.sp-wrap{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.sp-balken{display:inline-block;width:140px;max-width:40vw;height:8px;border-radius:99px;background:var(--line);overflow:hidden;vertical-align:middle}.sp-balken>i{display:block;height:100%;background:var(--accent-text)}.sp-warn .sp-balken>i{background:#c98a00}.sp-voll .sp-balken>i{background:var(--danger)}.sp-voll .sp-text{color:var(--danger);font-weight:600}

.xt-frei-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--coral,#d4694a);border-left-width:5px;border-radius:8px;background:color-mix(in srgb,var(--coral,#d4694a) 14%,var(--panel,#fff));color:var(--ink)}.xt-frei-bar>span{flex:1 1 220px}.xt-frei-kz{display:inline-flex;align-items:center;margin:0;padding:2px 4px;border:0;border-radius:6px;background:none;color:inherit;font:inherit;cursor:pointer}.xt-frei-kz:hover,.xt-frei-kz:focus-visible{background:var(--accent-soft)}
/* Familie heute / Heute (Familien-Konzept Stufe 4, 26.10.2026): Blöcke am Handy untereinander, am PC zwei Spalten */
.fh-kopf{margin:6px 0 12px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.fh-kopf>.fh-datum{flex:1 1 auto;min-width:0}.fh-kopf>.fh-gv{flex:none;white-space:nowrap}.fh-datum{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.fh-datum b{font-size:1.15rem}.fh-schule{color:var(--accent);font-weight:600}.fh-frei{color:#9a5b00;font-weight:600}
.fh-gitter{display:grid;grid-template-columns:1fr;gap:0 14px;align-items:start}@media(min-width:900px){.fh-gitter{grid-template-columns:1fr 1fr}}
.fh-block{margin-bottom:14px;min-width:0}.fh-block .ent-k-kopf a{white-space:nowrap}.fh-tag{margin:6px 0 2px}.fh-z{display:flex;align-items:center;gap:8px;padding:5px 0;border-top:1px solid var(--line);min-width:0}
.fh-block .empty,.fh-person .empty{padding:2px 0;margin:2px 0}
.fh-leer{padding-top:8px;padding-bottom:8px}.fh-leer .ent-k-kopf{margin:0;flex-wrap:wrap;gap:4px 10px}.fh-leertext{flex:1;min-width:0}.fh-auf input{margin:0;flex:0 0 auto}.fh-erl .fh-text{text-decoration:line-through;opacity:.6}.fh-mehr{margin:8px 0 0}
.fh-mb-liste{margin-top:8px}.fh-mb-z{display:flex;align-items:center;gap:8px;padding:4px 0;border-top:1px solid var(--line)}.fh-mb-z label{flex:1;min-width:0;margin:0}.fh-mb-k{display:flex;gap:4px;flex:0 0 auto}
.fh-zeit{flex:0 0 auto;min-width:74px;color:var(--muted);font-variant-numeric:tabular-nums}.fh-text{flex:1;min-width:0;overflow-wrap:anywhere}.fh-farbe,.fh-punkt{flex:0 0 auto;width:10px;height:10px;border-radius:50%;display:inline-block}
.fh-ue .fh-zeit,.fh-rot{color:var(--danger);font-weight:600}.fh-ok{color:var(--accent);white-space:nowrap}.fh-heute{font-weight:600}.fh-ek input{margin:0}.fh-ekneu{margin-top:8px}.fh-ekneu input{flex:1;min-width:0}.fh-person+.fh-person{margin-top:6px}

/* Mehrzeilige Textfelder und Felder, die mit dem Inhalt wachsen (26.10.2026): Höhe setzt zusatz.src.js (mind. rows, höchstens 60 % der Fensterhöhe, dann scrollen) */
textarea[data-wachsen]{box-sizing:border-box;resize:none;overflow-y:hidden;min-height:0;width:100%;max-width:100%;line-height:1.45;overflow-wrap:anywhere}
textarea[data-wachsen][data-einzeilig]{white-space:pre-wrap}
.ad-zus>.field.z-mz{grid-column:1/-1}
.z-zaehler{align-self:flex-end;font-size:.78rem}.z-zaehler.voll{color:var(--danger)}
.z-lang{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-width:32em;white-space:normal;overflow:hidden;overflow-wrap:anywhere}
/* Mehrfachauswahl-Spaltenfilter (Excel-Autofilter, 27.10.2026): Filter-Symbol im Spaltenkopf, Fenster mit Werteliste, Chips über der Tabelle, „Filter ▾“ (gespeicherte Filter) */
.tb-wf-kn{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:2px;width:18px;height:20px;padding:0;border:1px solid transparent;border-radius:4px;background:none;color:var(--muted);cursor:pointer;opacity:.7}
.tb-wf-kn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}.tb-wf-kn:hover,.tb-wf-kn:focus-visible{opacity:1;border-color:var(--line);color:var(--ink)}
.tb-wf-kn.an{opacity:1;color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.tb-wf-kn.an svg{fill:currentColor}
.tabulator .tabulator-col .tabulator-col-title:has(.tb-wf-kn){display:flex;align-items:center;gap:2px}.tabulator .tabulator-col .tabulator-col-title:has(.tb-wf-kn) .tb-wf-kn{flex:0 0 18px;margin-left:auto}.tabulator .tabulator-col .tb-wf-t{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tb-wf-pop{position:fixed;z-index:6100;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.22);padding:10px 12px;width:300px;max-width:calc(100vw - 16px);max-height:min(72vh,560px);display:flex;flex-direction:column;gap:6px}
.tb-wf-pop.tb-wf-voll{left:0!important;right:0;bottom:0;top:auto!important;width:auto;max-width:none;max-height:85vh;border-radius:14px 14px 0 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
.tb-wf-kopf b{display:flex;align-items:center;gap:6px}.tb-wf-kopf svg{width:16px;height:16px}
.tb-wf-akt{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tb-wf-such{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:100%}
.tb-wf-zeile{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.88rem}.tb-wf-zeile .check{margin:0}
.tb-wf-liste{overflow:auto;flex:1 1 auto;min-height:60px;border:1px solid var(--line);border-radius:8px;padding:4px;background:var(--bg)}
.tb-wf-w{margin:0;padding:5px 6px;border-radius:6px;gap:8px}.tb-wf-w:hover,.tb-wf-w:focus-within{background:var(--accent-soft)}
.tb-wf-wt{flex:1;min-width:0;overflow-wrap:anywhere}.tb-wf-n{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}
.tb-wf-pop .err:empty,.tb-wf-pop .hint[hidden]{display:none}.tb-wf-pop .err{min-height:0;margin:0}.tb-wf-pop .tb-wf-hint{margin:0}
.tb-wf-voll .tb-wf-w{padding:9px 6px}.tb-wf-voll .tb-wf-w input{width:20px;height:20px}
.tb-wf-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px}
.tb-wf-chip{display:inline-flex;align-items:stretch;border:1px solid var(--accent);border-radius:99px;background:var(--accent-soft);color:var(--ink);overflow:hidden;max-width:100%}
.tb-wf-chip.aus{border-style:dashed}
.tb-wf-chip button{background:none;border:0;color:inherit;font:inherit;font-size:.85rem;cursor:pointer;padding:3px 8px}
.tb-wf-chip-t{display:inline-flex;align-items:center;gap:5px;min-width:0;text-align:left}.tb-wf-chip-t span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-wf-chip-t svg{width:13px;height:13px;flex:0 0 13px}
.tb-wf-chip-x{border-left:1px solid var(--accent)!important;padding:3px 9px!important}.tb-wf-chip button:hover,.tb-wf-chip button:focus-visible{background:color-mix(in srgb,var(--accent) 18%,transparent)}
.tb-wf-arten{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 14px}.tb-wf-art{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ink);font-weight:400}.tb-wf-art span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.tb-wf-art select{padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);max-width:60%}
.tb-fm-pop small{display:block;font-size:.75rem;color:var(--muted)}.tb-fm-leer{padding:4px 12px 8px 36px}
.tb-fm-tab input[name=fn]{width:100%;min-width:120px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink)}.tb-fm-kn{white-space:nowrap}.tb-fm-kn .btn{margin:2px}
@media (max-width:600px){.tb-fm-tab td.tb-fm-kn{white-space:normal}.tb-wf-chip-t span{max-width:70vw}}

/* Menü als festes Raster (Harald 27.10.2026, global): jede Zeile = Einzug (20 px je Ebene) · Symbol-Spalte (24 px, auch leer reserviert) · Pfeil-Spalte (16 px, bei Einträgen leer reserviert) · Text.
   Alle Texte einer Ebene beginnen an derselben Stelle – Gruppe und Eintrag, Favoriten, Inhalt, Verwaltung, Plattform, Suchtreffer. Feste Zeilenhöhe, der Pfeil dreht sich (transform), Zahlen tabellarisch:
   beim Auf-/Zuklappen, Laden und Scrollen verschiebt sich nichts seitlich oder in der Höhe. */
.sidebar{--ein:20px;--z-h:36px;--sp-ico:24px;--sp-pf:16px;overflow-anchor:none;font-variant-numeric:tabular-nums}
.sidebar .side-head{min-height:40px}
.side-views>a,.md-grp-inhalt>a,.fav-ordner-inhalt>a,.side-views>.md-grp,.side-views>.fav-ordner,.md-grp-inhalt>.md-grp,.fav-ordner-inhalt>.fav-ordner{gap:0;min-height:var(--z-h);padding-top:0;padding-bottom:0}
.side-views>a>svg:first-child,.md-grp-inhalt>a>svg:first-child,.fav-ordner-inhalt>a>svg:first-child{flex:0 0 16px;margin-right:calc(var(--sp-ico) - 16px + var(--sp-pf))}
.side-views>a>span:first-child,.md-grp-inhalt>a>span:first-child,.fav-ordner-inhalt>a>span:first-child{margin-left:calc(var(--sp-ico) + var(--sp-pf))}
.side-views>a>span:not(.ext-marke),.md-grp-inhalt>a>span:not(.ext-marke),.fav-ordner-inhalt>a>span:not(.ext-marke){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-views>.md-grp>svg:first-child,.side-views>.fav-ordner>svg:first-child,.md-grp-inhalt>.md-grp>svg:first-child,.fav-ordner-inhalt>.fav-ordner>svg:first-child{flex:0 0 16px;margin-right:calc(var(--sp-ico) - 16px)}
.sidebar .md-grp>.side-pf,.sidebar .fav-ordner>.side-pf,.sidebar .side-head .side-pf,.sidebar .fav-stick .side-pf,.um-pop .side-head .side-pf{flex:0 0 var(--sp-pf);width:var(--sp-pf);margin:0;text-align:center;font-size:.8em;line-height:1}
.sidebar .side-gi,.um-pop .side-gi{flex:0 0 var(--sp-ico);width:var(--sp-ico);margin:0;justify-content:flex-start}
.sidebar .side-head>span,.sidebar .fav-stick>span,.um-pop .side-head>span{gap:0}
.sidebar .md-grp>span,.sidebar .fav-ordner>span{margin-left:0}
.sidebar .side-kl .side-pf::before{transform-origin:50% 50%}
/* Inhalt-Baum: Pfeil in der Pfeil-Spalte hinter dem Symbol, Einzug 20 px je Ebene, feste Zeilenhöhe */
.tree ul ul{padding-left:var(--ein);border-left:0;margin-left:0}
.tree .node{position:relative;gap:0;padding:0 4px 0 calc(6px + var(--ein));min-height:var(--z-h)}
.tree .node>.tog{position:absolute;left:calc(6px + var(--ein) + var(--sp-ico));top:50%;margin-top:-11px;width:var(--sp-pf);flex:0 0 var(--sp-pf);height:22px}
.tree .node>a{gap:0;padding:0 2px 0 0;min-height:var(--z-h)}
.tree .node>a>svg:first-child{margin-right:calc(var(--sp-ico) - 16px + var(--sp-pf))}
.tree .node>a>span:first-child{margin-left:calc(var(--sp-ico) + var(--sp-pf))}
.tree .tog svg{width:12px;height:12px}
/* Suchtreffer der Modul-Suche: Symbol 24 px + Pfeil-Spalte 16 px (leer), Text darunter und Ortszeile beginnen gleich */
.ms-t{gap:0}.ms-t>svg:first-child{margin-right:calc(var(--sp-ico) - 16px + var(--sp-pf))}.ms-t .ms-o{padding-left:calc(var(--sp-ico) + var(--sp-pf))}
.ms-u{gap:0;padding-left:calc(8px + var(--ein))}.ms-u>svg:first-child{margin-right:calc(var(--sp-ico) - 12px + var(--sp-pf))}.ms-u .ms-o{padding-left:calc(var(--sp-ico) + var(--sp-pf))}
/* Menü: nichts im linken Menü wächst über seinen Inhalt hinaus (Harald 27.10.2026: unter „Module“ stand bei kurzem Menü eine große Leerfläche, weil .tree{flex:1} den freien Platz der Leiste nahm) */
.sidebar .tree{flex:0 0 auto}

/* Menügruppen als Kachel-Übersicht #/g/<Gruppe> (27.10.2026): Symbol und Name, Kurzbeschreibung, Gruppen/Ordner mit 📁 „Gruppe · n Punkte“ */
.kg-kacheln{max-width:none;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.kg-kachel{min-height:64px;gap:6px}.kg-kachel .kg-k{display:flex;align-items:center;gap:8px;min-width:0}.kg-kachel .kg-k b{overflow-wrap:anywhere}
.kg-kachel .kg-ico{flex:0 0 auto;display:inline-flex;width:24px;height:24px;color:var(--accent)}.kg-kachel .kg-ico svg{width:24px;height:24px}
.kg-kachel .hint{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kg-kachel.kg-gruppe{border-left:4px solid var(--accent)}.kg-marke{align-self:flex-start;font-size:.78rem;white-space:normal}
.kg-seite .kopf-ort a{color:inherit}.kg-zahl{margin:0 0 10px}
#sidebar .side-kl[data-kg-on]>span,#sidebar .side-kl[data-kg-on]>.side-kl-link{font-weight:700;color:var(--accent)}
@media (max-width:600px){.kg-kacheln{grid-template-columns:1fr}}

/* Gruppenüberschriften im linken Menü kleben beim Scrollen unter der Suche – und unter der schwebenden Kopfzeile „Favoriten (n)“ –, damit nichts eine Überschrift verdeckt (Harald 27.10.2026: „MODULE“ lag unter „Favoriten (n)“) */
.sidebar{--fav-stick-h:32px;--su-h:52px}
.sidebar .side-head{position:sticky;top:var(--su-h);z-index:3;background:var(--panel)}
.sidebar.fav-weg .side-head{top:calc(var(--su-h) + var(--fav-stick-h))}
.sidebar.fav-weg #sideFav>.side-head{top:var(--su-h)}
.side-suche .fav-stick{height:var(--fav-stick-h);box-sizing:border-box;padding-top:0;padding-bottom:0;line-height:1.2}
/* Filter-Menü: Schalter „Spaltenfilter anzeigen“ / „Filter aktiv“, Trennlinie (in der Flex-Spalte fiel <hr> auf einen Punkt zusammen), Pause-Chip, ausgeblendete Filterzeile (Harald 27.10.2026) */
.tb-fm-pop hr{align-self:stretch;width:auto;height:0;border:0;border-top:1px solid var(--line);margin:4px 6px}
.tb-fm-pop .tb-fm-sw{display:flex;align-items:center;justify-content:space-between;gap:16px}
.tb-fm-sw-k{position:relative;flex:0 0 34px;width:34px;height:20px;border-radius:99px;border:1px solid var(--line);background:var(--bg);transition:background .15s,border-color .15s}
.tb-fm-sw-k::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}
.tb-fm-sw[aria-checked=true] .tb-fm-sw-k{background:var(--accent);border-color:var(--accent)}.tb-fm-sw[aria-checked=true] .tb-fm-sw-k::after{transform:translateX(14px);background:var(--accent-ink)}
.tb-fm-sw:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.tb-wf-pause{display:inline-flex;align-items:center;gap:6px;border:1px dashed var(--muted);border-radius:99px;background:var(--bg);color:var(--ink);font:inherit;font-size:.85rem;padding:3px 10px;cursor:pointer;max-width:100%}.tb-wf-pause:hover,.tb-wf-pause:focus-visible{border-color:var(--accent);background:var(--accent-soft)}
.tb-wf-chip.pausiert{opacity:.55;border-style:dashed}.tb-fm.tb-fm-pause{border-style:dashed}
[data-sf-aus] .tabulator-header-filter,[data-sf-aus] .tb-wf-kn{display:none!important}
@media (prefers-reduced-motion:reduce){.tb-fm-sw-k,.tb-fm-sw-k::after{transition:none}}
@media (max-width:600px){.tb-fm-pop .tb-fm-sw{padding:12px}.tb-wf-pause{white-space:normal;text-align:left}}
/* Knopf „Filter“ blendet die Filterzeile unter den Spaltenüberschriften ein/aus (wie der Excel-AutoFilter), daneben „▾“ mit gespeicherten Filtern (Harald 27.10.2026) */
.tab-kopf>.tb-fm+.tb-fm-mehr{margin-left:-6px}.tb-fm-mehr{min-width:26px;padding-left:4px;padding-right:4px;font-size:.85rem}
.tb-fm svg{fill:none;stroke:currentColor;stroke-width:2}.tb-fm.km-aktiv svg{fill:none}.tb-fm.tb-fm-gesetzt:not(.km-aktiv){box-shadow:inset 0 0 0 1px var(--accent)}.tb-fm.tb-fm-gesetzt>span{font-weight:600}
/* Werteliste in der Filterzeile: Knopf so breit wie das Eingabefeld, zeigt die Auswahl („alle“ bzw. „A, B +2“) */
.tabulator .tabulator-header-filter .tb-wf-zk{display:flex;align-items:center;gap:4px;width:100%;height:auto;min-height:26px;margin:0;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);opacity:1;font:inherit;font-size:.85rem;font-weight:400;text-transform:none;text-align:left;cursor:pointer}
.tabulator .tabulator-header-filter .tb-wf-zk>svg{flex:0 0 13px;width:13px;height:13px;color:var(--muted)}.tabulator .tabulator-header-filter .tb-wf-zk>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tabulator .tabulator-header-filter .tb-wf-zk:hover,.tabulator .tabulator-header-filter .tb-wf-zk:focus-visible{border-color:var(--accent)}
.tabulator .tabulator-header-filter .tb-wf-zk.an{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.tabulator .tabulator-header-filter .tb-wf-zk.an>svg{color:var(--accent);fill:currentColor}

/* Eigene Tabellen, Liste: „Öffnen“ in der Namenszelle nur am Handy (die Spalte „Aktionen“ ist dort eingeklappt; 27.10.2026) */
.xt-oeffnen-sm{display:none;margin-top:6px}
@media (max-width:700px){.xt-oeffnen-sm{display:block}}
/* Meine Links (27.10.2026): Kacheln der A-Links in „Heute“, Symbole (Favicon, eigenes Zeichen, Anfangsbuchstabe), Kategorie-Abzeichen */
.ml-kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:6px}
.ml-kachel{display:flex;align-items:center;gap:8px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);text-decoration:none;min-height:44px;box-sizing:border-box}
.ml-kachel:hover,.ml-kachel:focus-visible{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}
.ml-k-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.ml-k-i,.ml-i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none}
.ml-i{margin-right:6px;vertical-align:middle}
.ml-k-i svg,.ml-i svg{width:18px;height:18px}
img.ml-fav{width:16px;height:16px;object-fit:contain;border-radius:3px;flex:none}
.ml-sym{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:15px;line-height:1;flex:none}
.ml-buchst{border-radius:4px;background:var(--accent-soft);color:var(--accent-ink);font-size:11px;font-weight:700}
.ml-titel{color:var(--link);text-decoration:none}.ml-titel:hover b{text-decoration:underline}
.ml-kat{display:flex;flex-wrap:wrap;gap:6px 16px}
.badge.ml-kat-A{background:var(--accent);color:var(--accent-text)}
.ml-vorschlag{white-space:nowrap}
.md-grp-inhalt>a[data-ml]>img.ml-fav:first-child,.md-grp-inhalt>a[data-ml]>span.ml-sym:first-child{flex:0 0 16px;width:16px;height:16px;margin-left:0;margin-right:calc(var(--sp-ico) - 16px + var(--sp-pf))} /* Raster des Menüs: Favicon/Zeichen in der Symbol-Spalte */
@media (max-width:600px){.ml-kacheln{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Fenster nicht modal und einklappbar (28.10.2026, global, Standard „Hilfe- und Info-Fenster sperren die Seite nicht“): kein Abdunkeln, Seite darunter bedienbar, Fenster scrollt in sich */
.dlg-wrap.dlg-nm{background:transparent;pointer-events:none;overflow:visible}
.dlg-wrap.dlg-nm>.dlg{pointer-events:auto;max-height:calc(100dvh - 12vh - var(--unten-belegt,0px));overflow:auto;overscroll-behavior:contain;padding-bottom:calc(20px + env(safe-area-inset-bottom));box-shadow:0 20px 60px #0000004d,0 0 0 1px var(--line)}
@media (min-width:861px){.dlg-wrap.dlg-nm{justify-content:flex-end;padding-right:24px}}
.dlg .dlg-klapp{position:absolute;top:8px;right:86px;z-index:7;width:34px;height:34px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}
.dlg .dlg-klapp:hover{background:var(--line);color:var(--ink)}
.dlg:has(.dlg-klapp) .dlg-mehr{right:124px}.dlg-kopf:has(.dlg-klapp) h2{padding-right:164px}
@media (max-width:600px){.dlg .dlg-klapp{right:46px}.dlg:has(.dlg-klapp) .dlg-mehr{right:86px}.dlg-kopf:has(.dlg-klapp) h2{padding-right:124px}}
.dlg-streifen{display:none}
.dlg-wrap.dlg-zu{top:auto!important;left:auto;right:16px;bottom:16px;height:auto!important;width:min(440px,calc(100vw - 32px));padding:0;overflow:visible;background:transparent;pointer-events:none;border-bottom:0;z-index:56}
.dlg-wrap.dlg-zu>.dlg{display:none}
.dlg-wrap.dlg-zu>.dlg-streifen{display:flex;align-items:center;gap:2px;pointer-events:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px #00000040;padding:4px 6px;width:100%}
body.pv-on .dlg-wrap.dlg-zu{bottom:calc(var(--pvh,64px) + 8px)}
@media (max-width:767px){.dlg-wrap.dlg-zu{left:0;right:0;bottom:0;width:auto}.dlg-wrap.dlg-zu>.dlg-streifen{border-width:1px 0 0;border-radius:12px 12px 0 0;padding:4px 6px calc(4px + env(safe-area-inset-bottom))}
  body.pv-on .dlg-wrap.dlg-zu{bottom:var(--pvh,64px)}body.pv-on .dlg-wrap.dlg-zu>.dlg-streifen{padding-bottom:4px}}
.dlg-str-zeile{flex:1;min-width:0;text-align:left;background:none;border:0;padding:8px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-size:.88rem}
.dlg-str-ico{background:none;border:1px solid transparent;border-radius:6px;min-width:32px;height:32px;padding:0 6px;color:var(--ink);font-size:1rem;line-height:1;flex:0 0 auto}.dlg-str-ico:hover{border-color:var(--line);background:var(--bg)}
/* Angeheftete Anleitung (Hilfe anheften, 28.10.2026): ein Fenster der Plattform – PC rechts angedockt (Seite und andere Fenster rücken links daneben), Handy Streifen/halbe Höhe unten */
:root{--hpw:320px}
.dlg-wrap.dlg-anl{z-index:54}
@media (min-width:768px){.dlg-wrap.dlg-anl:not(.dlg-zu){left:auto;right:0;top:var(--top,56px);bottom:0;width:var(--hpw);padding:0;justify-content:stretch;align-items:stretch;border-bottom:0}
  body.pv-on .dlg-wrap.dlg-anl:not(.dlg-zu){bottom:var(--pvh,64px)}
  .dlg-wrap.dlg-anl:not(.dlg-zu)>.dlg{margin:0;max-width:none;width:100%;max-height:none;height:100%;border-radius:0;box-shadow:-4px 0 20px #00000026;border-left:1px solid var(--line);padding:12px 14px calc(16px + env(safe-area-inset-bottom))}
  .dlg-wrap.dlg-anl.frei:not(.dlg-zu)>.dlg{height:auto;max-height:70vh;border-radius:12px;box-shadow:0 12px 40px #0000004d}
  body.hp-rechts .layout{margin-right:var(--hpw)}body.hp-rechts .dlg-wrap:not(.dlg-anl):not(.dlg-zu),body.hp-rechts .ov{right:var(--hpw)}}
@media (max-width:767px){.dlg-wrap.dlg-anl:not(.dlg-zu){top:auto;left:0;right:0;bottom:0;height:50vh;height:50dvh;padding:0;overflow:visible;border-bottom:0;z-index:56;display:block}
  body.pv-on .dlg-wrap.dlg-anl:not(.dlg-zu){bottom:var(--pvh,64px)}
  .dlg-wrap.dlg-anl:not(.dlg-zu)>.dlg{margin:0;max-width:none;height:100%;max-height:none;border-radius:12px 12px 0 0;box-shadow:0 -4px 16px #00000033;padding:10px 14px calc(14px + env(safe-area-inset-bottom))}
  body.hp-unten .toast{bottom:calc(var(--hph,48px) + 12px)}}
body.hp-unten{padding-bottom:var(--hph,48px)}
.hp-stand{margin:0 0 4px}.hp-was{margin:0 0 6px;font-weight:600;overflow-wrap:anywhere}.hp-was .hint{font-weight:400}
.hp-schritte{list-style:none;margin:6px 0 10px;padding:0;counter-reset:hp}
.hp-schritt{display:flex;gap:8px;align-items:flex-start;padding:6px 8px;margin:2px 0;border-radius:8px;border:1px solid transparent;counter-increment:hp;cursor:pointer}
.hp-schritt .hp-text::before{content:counter(hp) ". ";font-weight:700}
.hp-schritt.akt{background:var(--accent-soft);border-color:var(--accent)}
.hp-schritt.ok .hp-text{color:var(--muted);text-decoration:line-through}
.kh-pin-hak{display:flex;padding-top:2px}.kh-pin-hak input{width:18px;height:18px;margin:0;accent-color:var(--accent)}
.hp-text{flex:1;min-width:0;overflow-wrap:anywhere}.hp-text p{margin:0}
.kh-pin-weg{font-weight:600;color:var(--link);text-decoration:underline dotted;text-underline-offset:3px}
.hp-links{display:flex;flex-direction:column;gap:4px;margin:8px 0 0}
.hp-html{font-size:.9rem;overflow-wrap:anywhere}.hp-html h4{margin:12px 0 4px}.hp-html ul,.hp-html ol{padding-left:20px}
.hs-pin{float:right;background:none;border:1px solid transparent;border-radius:6px;padding:2px 6px;font-size:.95rem;opacity:.65;color:inherit}.hs-pin:hover,.hs-pin:focus-visible{opacity:1;border-color:var(--line)}
@media print{.dlg-wrap.dlg-anl,.dlg-wrap.dlg-zu,.hs-pin{display:none!important}}
/* Baukasten am Handy (28.10.2026): Felder und Werkzeugleiste des Text-Abschnitts nicht breiter als der Bildschirm */
.wbe-felder>*,.wbe-inhalt,.wbe-karte{min-width:0}.wbe-html .sm-tb{flex-wrap:wrap;max-width:100%;overflow-x:hidden}
/* Alle Seiten veröffentlichen / zurückziehen (28.10.2026) */
.ws-alle{list-style:none;margin:6px 0;padding:0;display:grid;gap:2px}.ws-alle li{min-width:0;overflow-wrap:anywhere}.ws-alle .check{display:inline-flex;gap:6px;align-items:flex-start}.ws-alle-z{margin:6px 0}
.badge.ws-ph{background:#fff3c4;color:#6b4e00;border:1px dashed #b88a00}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .badge.ws-ph{background:#4a3a00;color:#ffe08a;border-color:#d4a800}}:root[data-theme=dark] .badge.ws-ph{background:#4a3a00;color:#ffe08a;border-color:#d4a800}
/* Vollbild (28.10.2026, global): ⛶ im Fensterkopf zwischen ▁ und ✥; ab 768 px Breite. Das Fenster füllt den Inhaltsbereich des Browsers, Kopf bleibt, Inhalt scrollt */
.dlg .dlg-voll-k{display:none}
@media (min-width:768px){
.dlg .dlg-voll-k{position:absolute;top:8px;right:86px;z-index:7;width:34px;height:34px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:17px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}
.dlg .dlg-voll-k:hover{background:var(--line);color:var(--ink)}
.dlg:has(.dlg-voll-k):has(.dlg-voll-k):has(.dlg-voll-k) .dlg-klapp{right:124px}
.dlg:has(.dlg-voll-k):has(.dlg-voll-k):has(.dlg-voll-k) .dlg-mehr{right:124px}
.dlg:has(.dlg-voll-k):has(.dlg-voll-k):has(.dlg-voll-k):has(.dlg-klapp) .dlg-mehr{right:162px}
.dlg-kopf:has(.dlg-voll-k):has(.dlg-voll-k):has(.dlg-voll-k) h2{padding-right:164px}
.dlg-kopf:has(.dlg-voll-k):has(.dlg-voll-k):has(.dlg-voll-k):has(.dlg-klapp) h2{padding-right:202px}
.dlg-wrap.dlg-voll{padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);align-items:stretch;justify-content:stretch;overflow:hidden}
.dlg-wrap.dlg-voll>.dlg{max-width:none;width:100%;height:100%;max-height:none;margin:0;border-radius:0;transform:none!important;overflow:auto;box-shadow:none}
.dlg-wrap.dlg-voll .dlg-zieh{display:none}
.dlg-wrap.dlg-voll>.dlg:has(.dlg-voll-k):has(.dlg-voll-k):has(.dlg-voll-k) .dlg-klapp{right:86px}
.dlg-wrap.dlg-voll>.dlg .dlg-voll-k{right:46px}
.dlg-wrap.dlg-voll>.dlg:has(.dlg-voll-k):has(.dlg-voll-k):has(.dlg-voll-k):has(.dlg-klapp) .dlg-mehr{right:124px}
.dlg-wrap.dlg-voll>.dlg:has(.dlg-voll-k):has(.dlg-voll-k):has(.dlg-voll-k):not(:has(.dlg-klapp)) .dlg-mehr{right:86px}
.dlg-wrap.dlg-voll.dlg-zu{padding:0;overflow:visible;align-items:flex-start;justify-content:flex-start}
.dlg-wrap.dlg-voll.dlg-zu>.dlg{display:none}
.dlg-wrap.dlg-voll .hilfe-dlg-liste{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 10px}
.dlg-wrap.dlg-voll .hilfe-dlg #hdInhalt>:not(.hilfe-dlg-liste){max-width:80ch;margin-left:auto;margin-right:auto}
}
/* Vorstellung im Fenster (28.10.2026): der Rahmen füllt die Fensterhöhe, im Vollbild den ganzen Rest */
.vs-rahmen{display:block;width:100%;height:max(360px,calc(100dvh - 210px));border:1px solid var(--line);border-radius:8px;background:#fff;margin-top:8px}
.dlg-wrap.dlg-voll .vs-rahmen{height:calc(100dvh - 130px)}
.dlg-wrap:has(.vs-rahmen)>.dlg{overflow:hidden}
/* Kassenbuch (28.10.2026): Kopfzeile mit Vortrag/Bestand, Einnahme grün, Ausgabe rot, fehlender Beleg, Wahl-Listen, Knöpfe + Einnahme / − Ausgabe am Handy */
.kb-summe{margin:4px 0 10px}.kb-kopf{display:flex;flex-wrap:wrap;gap:6px 18px;margin:4px 0 10px;font-size:.92rem}.kb-ein{color:var(--accent)}.kb-aus,.kb-fehlt{color:var(--danger)}.kb-storno{font-style:italic}
/* Kassenbuch: Bankkonto/Barkasse und Filter „Zahlweg“ (Mehrfachauswahl) – 29.10.2026 */
.kb-iban{white-space:nowrap}.kb-zw{position:relative;display:inline-block}.kb-zw>summary{cursor:pointer;list-style:none;padding:4px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}
.kb-zw>summary::-webkit-details-marker{display:none}.kb-zw-pop{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:170px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.18);display:grid;gap:4px}.kb-zw-pop label{display:flex;gap:6px;align-items:center;white-space:nowrap}
/* Kassenbuch: Zeitraum (Schnellwahl, von–bis) – 29.10.2026 */
.kb-zr{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.kb-zr-frei{display:inline-flex;gap:4px;align-items:center}.kb-zr-frei[hidden]{display:none}.kb-zr-frei input[type=date]{max-width:140px}.kb-zr-name{font-weight:600}
.kb-warte{border:1px solid var(--line);border-left:4px solid var(--coral);border-radius:8px;background:var(--panel);padding:8px 12px;margin:0 0 12px}.kb-warte>div{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.kb-abhilfe{border:1px solid var(--line);border-left:4px solid var(--coral);border-radius:8px;background:var(--panel);padding:10px 14px;margin:8px 0 12px;max-width:760px}.kb-abhilfe h2{margin:0 0 6px;font-size:1.05rem}.kb-abhilfe ol{margin:4px 0 8px;padding-left:20px}.kb-abhilfe .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.kb-wahl{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin:0 0 10px;background:var(--bg)}.kb-wahl label{display:flex;gap:8px;align-items:center}
.kb-check{display:flex;gap:8px;align-items:center;margin:0 0 12px}.kb-art{border:0;padding:0;margin:0 0 12px;display:flex;gap:16px;flex-wrap:wrap}.kb-art legend{font-size:.85rem;color:var(--muted);font-weight:600;padding:0}
.kb-beleg-knoepfe{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.kb-beleg-knoepfe .btn{cursor:pointer}.kb-mehr{margin:0 0 12px}.kb-mehr summary{cursor:pointer;margin-bottom:8px}.kb-gesperrt{border-left:3px solid var(--line);padding-left:8px}
.km-btn.kb-plus b,.km-btn.kb-minus b{font-size:1.15rem;line-height:1}.km-btn.kb-plus b{color:var(--accent)}.km-btn.kb-minus b{color:var(--danger)}
/* Bilder der Webseite im DMS und Bilder mit KI (docs/konzept-ki-bilder.md, 28.10.2026) */
.wbi-knoepfe{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.wbi-knoepfe:empty{display:none}
.wbi-dms .wbi-alb-f{position:relative;display:flex;flex-direction:column}.wbi-dms .wbi-alb-f img{flex:1;min-height:0}
.wbi-dms-n{font-size:.7rem;color:var(--muted);padding:1px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--panel)}
.wbi-kz{position:absolute;top:3px;right:3px;font-size:.8rem;background:var(--panel);border-radius:4px;padding:0 3px}
.wbi-ueb-l{display:grid;gap:6px;margin:8px 0;max-height:50vh;overflow:auto}.wbi-ueb-z{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:6px}
.wbi-ueb-z img,.wbi-ueb-z .wbi-ph{width:64px;height:48px;object-fit:cover;border-radius:4px;flex:none}.wbi-ueb-z>div{min-width:0;overflow-wrap:anywhere}
.wbe-laedt{opacity:.6;pointer-events:none}
img.wbi-fehlt{outline:2px dashed var(--line);min-width:40px;min-height:30px}
.kib-vor{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:8px 0}
.kib-v{position:relative;border:2px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);padding:0;cursor:pointer;min-height:90px;display:flex;align-items:center;justify-content:center}
.kib-v img{width:100%;display:block}.kib-v[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.kib-v .kib-n{position:absolute;top:4px;left:4px;background:var(--panel);border-radius:4px;font-size:.75rem;padding:0 5px}
.kib-zaehler{font-size:.85rem;color:var(--muted)}.kib-schutz{border-left:3px solid var(--warn,#b45309);padding-left:8px}
/* Hinweis „Gemerkter Filter aktiv: … · Aufheben ✕“ über der Tabelle (Filter beim nächsten Öffnen wiederherstellen, Harald 29.10.2026) */
.tb-merk-hinweis{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 10px;border:1px solid var(--accent);border-radius:10px;background:var(--accent-soft);color:var(--ink);font-size:.85rem;padding:3px 6px 3px 10px;max-width:100%;box-sizing:border-box}
.tb-merk-t{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}.tb-merk-t svg{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tb-merk-hinweis .tb-merk-weg{font-size:.85rem;font-weight:600}
.tb-merk-x{border:0;background:none;color:var(--muted);font:inherit;cursor:pointer;padding:2px 6px;border-radius:6px}.tb-merk-x:hover,.tb-merk-x:focus-visible{color:var(--ink);background:var(--bg)}
/* Hilfe-Umbau (29.10.2026): Suchfeld mit 🔍 und ✨ rechts im Feld, Ergebnisliste mit Hervorhebung, Antwort der KI-Hilfe im Fenster, Meine KI-Fragen, Kacheln mit Symbol und Kurzinfo */
.dlg .dlg-voll-k svg{width:17px;height:17px}
.hd-such{position:relative;margin:2px 0 0}.hd-such .hilfe-dlg-suche{width:100%;margin:0;padding-right:84px;min-height:38px}
.hd-such-k{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:flex;gap:2px}
.hd-sk{width:36px;height:32px;border:0;border-radius:7px;background:none;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.hd-sk svg{width:19px;height:19px}
.hd-sk:hover,.hd-sk:focus-visible{background:var(--accent-soft);color:var(--ink)}.hd-sk-ki{color:var(--link)}.hd-sk:disabled{opacity:.5;cursor:default}
/* ✨ läuft (04.11.2026): Knopf getönt, Symbol dreht sich; Hinweis am Feld bei leerer Frage */
.hd-sk-ki.laeuft,.hd-sk-ki.laeuft:disabled{opacity:1;background:var(--accent-soft);color:var(--link);cursor:progress}.hd-sk-ki.laeuft svg{animation:hdKiDreh 1s linear infinite}
@keyframes hdKiDreh{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.hd-sk-ki.laeuft svg{animation:hdKiPuls 1.2s ease-in-out infinite}@keyframes hdKiPuls{50%{opacity:.35}}}
.hd-such-hinweis{margin:4px 2px 0;font-size:.88rem}
.hd-anzahl{margin:4px 0 8px;color:var(--muted);font-size:.92em}.hd-anzahl b{color:var(--ink)}
.hd-treffer{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.hd-tr{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:4px 10px;align-items:start;padding:9px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;background:var(--panel)}
.hd-tr:hover,.hd-tr:focus-visible{border-color:var(--accent);background:var(--accent-soft)}
.hd-tr-sym svg,.hd-k-sym svg{width:22px;height:22px;color:var(--link)}.hd-tr-sym{padding-top:2px}
.hd-tr-text{display:flex;flex-direction:column;gap:1px;min-width:0}.hd-tr-titel{overflow-wrap:anywhere}.hd-tr-pfad{font-size:.84em;color:var(--muted);overflow-wrap:anywhere}.hd-tr-aus{font-size:.9em;color:var(--ink);opacity:.92;overflow-wrap:anywhere}
.hd-herk{font-size:.72rem;padding:2px 8px;border-radius:99px;background:var(--accent-soft);color:var(--link);font-weight:600;white-space:nowrap;align-self:start}
.hd-treffer mark,.hd-kf-f mark{background:#ffe58a;color:#1d2a2e;border-radius:3px;padding:0 1px}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hd-treffer mark,:root:not([data-theme=light]) .hd-kf-f mark{background:#7a6400;color:#fff6cc}}:root[data-theme=dark] .hd-treffer mark,:root[data-theme=dark] .hd-kf-f mark{background:#7a6400;color:#fff6cc}
@media (max-width:600px){.hd-tr{grid-template-columns:24px minmax(0,1fr)}.hd-herk{grid-column:2;justify-self:start}}
.hd-ki-box{border:1px solid var(--accent);background:var(--accent-soft);border-radius:12px;padding:10px 14px;margin:0 0 14px}.hd-ki-box .ve-sec{margin:0}
.hd-ki-kopf{display:flex;align-items:center;justify-content:space-between;gap:8px}.hd-ki-frage{margin:2px 0 6px}.hd-ki-rest{margin:6px 0 0}.hd-ki-akt{margin-top:8px}
.hd-kf-kopf{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hd-kf-kopf input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.hd-kf-liste{display:grid;gap:6px}.hd-kf-e{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:0 12px}
.hd-kf-e>summary{cursor:pointer;padding:9px 0;display:flex;flex-direction:column;gap:2px;list-style:revert}.hd-kf-f{font-weight:600;overflow-wrap:anywhere}.hd-kf-m{font-size:.84em;color:var(--muted);overflow-wrap:anywhere}
.hd-kf-e[open]{padding-bottom:10px}.hd-kf-akt{margin-top:6px}
.hilfe-dlg-liste{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.hd-kachel{display:flex!important;gap:10px;align-items:flex-start;padding:10px 12px!important;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;background:var(--panel);min-width:0}
.hd-kachel:hover{border-color:var(--accent);background:var(--accent-soft)}.hd-k-sym{flex:0 0 24px;padding-top:1px}
.hd-k-text{display:flex;flex-direction:column;gap:2px;min-width:0}.hd-k-text b{overflow-wrap:anywhere}
.hd-kachel .hd-k-kurz{color:var(--muted);font-size:.86em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.help-kachel.hd-kachel{flex-direction:row}
.dlg-wrap.dlg-voll .hilfe-dlg-liste{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
@media (max-width:600px){.hilfe-dlg-liste{grid-template-columns:minmax(0,1fr)}}
.help-kachel .hd-k-text{color:var(--ink)}
/* Ziel aus Verwaltung › Mandant › Speicher bzw. Verwaltung › Add-ons hervorheben (29.10.2026) */
.md-ziel{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
/* Suche im „+ Neu ▾“ von „Menü bearbeiten“ (29.10.2026) */
.ws-neu-such{padding:6px 8px 4px;position:sticky;top:0;background:var(--card,var(--bg))}.ws-neu-such input{width:100%;min-width:200px;box-sizing:border-box}
.ws-neu-erg{border-bottom:1px solid var(--line,#8884);margin-bottom:4px;padding-bottom:4px}.ws-neu-erg button{display:flex;align-items:center;gap:8px}.ws-neu-erg button small{margin-left:auto;padding-left:12px}.ws-neu-erg button:disabled{opacity:.55;cursor:default}.ws-neu-erg svg{width:16px;height:16px;flex:none}
#wsNeuNix{padding:6px 12px;margin:0}
/* Module & Add-ons (29.10.2026): Kacheln mit Status, Preis und Knöpfen – Tokens für hell/dunkel, ab 390 px eine Spalte */
.mo-kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin:6px 0 14px}
.mo-kachel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}
.mo-kachel[data-mo-status="eigene"],.mo-kachel[data-mo-status="enthalten"],.mo-kachel[data-mo-status="gebucht"],.mo-kachel[data-mo-status="test"]{border:2px solid var(--accent);background:var(--accent-soft)}
.mo-kachel[data-mo-status="nicht"],.mo-kachel[data-mo-status="kleiner"]{opacity:.9}
.mo-st{display:inline-block;font-size:.85rem;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);white-space:nowrap}
.mo-st-eigene,.mo-st-enthalten,.mo-st-gebucht,.mo-st-test{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}
.mo-st-buchbar,.mo-st-angebot{border-color:var(--accent);color:var(--link)}.mo-st-angefragt,.mo-st-bearbeitung{border-color:var(--coral);border-width:2px}
.mo-st-nicht,.mo-st-kleiner{color:var(--muted)}
.mo-summe{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin:8px 0;padding:8px 12px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft)}
.mo-dezent{margin-top:2px}.mo-wechsel{font:inherit;font-size:.85rem;color:var(--muted);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.mo-kachel[data-mo-status="angefragt"],.mo-kachel[data-mo-status="bearbeitung"]{border-left:4px solid var(--coral)}
.mo-kopf{display:flex;align-items:center;gap:8px}.mo-kopf h3{margin:0;font-size:1rem;flex:1 1 auto;min-width:0;overflow-wrap:break-word;word-break:normal;hyphens:manual}.mo-abz{margin:0;text-align:left}.mo-sym{font-size:1.4rem;line-height:1}
.mo-desc{margin:0;color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}.mo-zeile{margin:0;font-size:.9rem;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.mo-knoepfe{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.mo-mehr{font-size:.9rem;margin-top:auto;align-self:flex-start}.mo-nuradmin,.mo-rolle{margin:2px 0;font-size:.85rem}
.mo-filter{margin:8px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mo-zahl{margin-left:auto}
@media (max-width:480px){.mo-kacheln{grid-template-columns:1fr}}

/* Mandant im Fensterkopf (29.10.2026): nur wo das Fenster den App-Kopf verdeckt – Vollbild und Handy */
.dlg-ort{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px}.dlg-ort .dlg-ort-t:empty{display:none}
.dlg-ort .dlg-mand{display:none;align-items:center;gap:5px;max-width:100%;font-weight:700;color:var(--ink)}
.dlg-ort .dlg-mand-l{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;background:var(--mc,var(--accent));color:#fff;font-size:.62rem;font-weight:800;overflow:hidden}
.dlg-ort .dlg-mand-l img{width:100%;height:100%;object-fit:cover;background:#fff}
.dlg-ort .dlg-mand-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46vw}
.dlg-ort .dlg-mand:has(+ .dlg-ort-t:not(:empty))::after{content:"·";font-weight:400;color:var(--muted);margin-left:2px}
.dlg-wrap.dlg-voll .dlg-ort .dlg-mand{display:inline-flex}
@media (max-width:700px){.dlg-ort .dlg-mand{display:inline-flex}}
.ent-pop{position:fixed;z-index:7000;background:var(--panel,#fff);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.22);padding:8px;max-width:calc(100vw - 16px)}.ent-pop-k{display:flex;flex-direction:column;gap:6px}.ent-pop-k .btn{white-space:normal;text-align:left}
/* Modul in eigenem Fenster (Harald 29.10.2026, modulfenster.src.js): ⧉ rechts in der Titelzeile jeder Seite; schlanker Modus ?fenster=1 ohne App-Kopf und linkes Menü */
.page-head>.mf-knoepfe{display:inline-flex;align-items:center;gap:2px;margin-left:auto;flex:0 0 auto;align-self:center}.page-head>.actions~.mf-knoepfe{margin-left:0}.page-head>.actions:has(~.mf-knoepfe){margin-right:8px}
.mf-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 6px;line-height:1;background:none;border:0;border-radius:6px;font:inherit;color:var(--accent);cursor:pointer}.mf-btn:hover{background:var(--accent-soft)}.mf-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
:root[data-theme=dark] .mf-btn{color:var(--ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mf-btn{color:var(--ink)}}
.kopf-menue>.mf-knoepfe{display:inline-flex;align-items:center;margin-left:2px}
@media (max-width:767px){.mf-knoepfe .mf-fenster{display:none}}
@media print{.mf-knoepfe,.mf-kopf{display:none!important}}
html.pf-fenster{--top:40px}
html.pf-fenster .topbar,html.pf-fenster #sidebar,html.pf-fenster #scrim{display:none!important}
html.pf-fenster .main{padding-top:14px}
.mf-kopf{position:sticky;top:0;z-index:30;height:var(--top);display:flex;align-items:center;gap:8px;padding:0 10px;padding-top:env(safe-area-inset-top);background:var(--panel);color:var(--ink);border-bottom:1px solid var(--line);font-size:.88rem}
.mf-kopf .mf-ort{flex:1;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap}
.mf-kopf .mf-ort .dlg-mand{display:inline-flex}.mf-kopf .dlg-ort-t{overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.mf-kopf button{background:none;border:1px solid transparent;border-radius:6px;padding:3px 8px;color:var(--ink);font:inherit;white-space:nowrap}.mf-kopf button:hover{border-color:var(--line);background:var(--accent-soft)}
.mf-kopf .mf-zur{font-size:1.2rem;line-height:1;padding:2px 8px}
@media (max-width:600px){.mf-kopf .mf-haupt span{display:none}}
/* Menü „?“ (29.10.2026): Impressum · Datenschutz als zwei kleine Links in einer Zeile */
.act-pop .menu-klein{display:flex;align-items:center;gap:6px;padding:6px 14px 4px;font-size:.82rem;color:var(--muted)}.act-pop .menu-klein button.mi-klein{background:none;border:0;padding:2px 2px;font:inherit;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.act-pop .menu-klein button.mi-klein:hover,.act-pop .menu-klein button.mi-klein:focus-visible{color:var(--text,inherit)}

/* Ortszeile = Links (29.10.2026): unauffällig, Unterstreichung beim Überfahren, Fokus mit der Tastatur sichtbar */
a.ort-l,.dlg-ort a.dlg-mand{color:inherit;text-decoration:none;border-radius:3px}
a.ort-l:hover,.dlg-ort a.dlg-mand:hover{text-decoration:underline;text-underline-offset:2px}
a.ort-l:focus-visible,.dlg-ort a.dlg-mand:focus-visible{outline:2px solid var(--accent);outline-offset:2px;text-decoration:underline}
/* Seite ablegen (Stufe 2, 29.10.2026): Leisten unten rechts, gestapelt, immer über den anderen Leisten unten (--unten-belegt) und links neben der angehefteten Anleitung */
.mf-ablegen span{display:inline-block;font-weight:800;transform:translateY(-3px)}
.mf-ablage{position:fixed;right:16px;bottom:calc(var(--unten-belegt,0px) + 16px);z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:min(320px,calc(100vw - 32px));pointer-events:none}
.mf-leiste{pointer-events:auto;display:flex;align-items:center;max-width:100%;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;box-shadow:0 6px 20px #00000030}
.mf-l-zur{display:flex;align-items:center;gap:6px;min-width:0;background:none;border:0;padding:7px 4px 7px 10px;font:inherit;font-size:.9rem;color:inherit;cursor:pointer}
.mf-l-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.mf-l-zur:hover .mf-l-t{text-decoration:underline}
.mf-l-weg{background:none;border:0;padding:7px 10px;color:var(--muted);font:inherit;cursor:pointer}.mf-l-weg:hover{color:var(--danger)}
body.mf-abl-on .main{padding-bottom:calc(60px + var(--mfh,0px))}
@media (min-width:768px){body.hp-rechts .mf-ablage{right:calc(var(--hpw) + 16px)}}
@media (max-width:767px){.mf-ablage{right:8px;bottom:calc(var(--unten-belegt,0px) + 8px + env(safe-area-inset-bottom));max-width:calc(100vw - 16px)}}
@media print{.mf-ablage{display:none!important}}
/* Abgelegte Seiten anheften (29.10.2026): 📌 vorn, angeheftet = Nadel kräftig auf getönter Fläche, Leiste der offenen Seite hervorgehoben; am Handy eine Zeile kompakter Chips, seitlich scrollbar */
.mf-l-pin{background:none;border:0;padding:6px 2px 6px 8px;font:inherit;font-size:.85rem;line-height:1;cursor:pointer;filter:grayscale(1);opacity:.45}.mf-l-pin:hover{opacity:.9}
.mf-leiste.mf-pin .mf-l-pin{filter:none;opacity:1}.mf-leiste.mf-pin{background:var(--accent-soft)}
.mf-leiste.mf-akt{outline:2px solid var(--accent);outline-offset:-1px}.mf-leiste.mf-akt .mf-l-t{text-decoration:underline;text-underline-offset:3px}
.mf-leiste.mf-pin+.mf-leiste:not(.mf-pin){margin-top:4px}
@media (max-width:767px){.mf-ablage{flex-direction:row;align-items:center;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;pointer-events:auto;padding:2px;gap:6px;width:max-content}.mf-ablage::-webkit-scrollbar{display:none}
  .mf-leiste{flex:0 0 auto;max-width:62vw;border-left-width:3px;border-radius:99px;box-shadow:0 3px 12px #00000030}.mf-leiste.mf-pin+.mf-leiste:not(.mf-pin){margin-top:0;margin-left:4px}
  .mf-l-zur{padding:5px 2px 5px 4px;font-size:.84rem}.mf-l-weg{padding:5px 9px 5px 4px}.mf-l-pin{padding:5px 0 5px 9px}}
/* „✨ Termine aus Foto/PDF erkennen …“ (29.10.2026, site/ki-termine.src.js): Text-Feld gleichwertig, Vorschau-Tabelle mit änderbaren Feldern, am Handy als Karten */
.kt-text textarea{width:100%;min-height:9em;box-sizing:border-box}.kt-text-leiste{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.kt-tab{width:100%;border-collapse:collapse}.kt-tab th,.kt-tab td{padding:4px;vertical-align:top}.kt-tab td input:not([type=checkbox]),.kt-tab td select,.kt-tab td textarea{width:100%;min-width:0;box-sizing:border-box}
.kt-tab td.kt-titel{min-width:12em}.kt-tab td.kt-text{min-width:12em}.kt-tab td.kt-zeit{min-width:6.5em}.kt-tab td.kt-hinw{min-width:8em}.kt-tab td.kt-hinw .badge{display:inline-block;margin:0 4px 4px 0;white-space:normal}
.kt-tab input[name=wdhBis]{margin-top:4px}.kt-lab,.kt-lab2{display:none}
.kt-tab tr.kt-unsicher>td{background:var(--tb-mark)}.kt-tab tr.kt-dub>td{opacity:.8}.kt-tab tr.kt-fertig>td{opacity:.55}
.badge.kt-b-unsicher{background:#fde2a8;color:#6b4300}.badge.kt-b-mittel{background:#fdebd3;color:#8a4b00}.badge.kt-b-jahr{background:var(--accent-soft);color:var(--accent-text,inherit)}.badge.kt-b-dub{background:#f3dcdc;color:#7a1f1f}.badge.kt-b-kon{background:#e5e1f7;color:#3d2a85}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .badge.kt-b-unsicher{background:#4a3410;color:#fcd34d}:root:not([data-theme=light]) .badge.kt-b-mittel{background:#4a3312;color:#ffcf8a}:root:not([data-theme=light]) .badge.kt-b-dub{background:#45201f;color:#f3a6a6}:root:not([data-theme=light]) .badge.kt-b-kon{background:#2d2650;color:#c9bfff}}
:root[data-theme=dark] .badge.kt-b-unsicher{background:#4a3410;color:#fcd34d}:root[data-theme=dark] .badge.kt-b-mittel{background:#4a3312;color:#ffcf8a}:root[data-theme=dark] .badge.kt-b-dub{background:#45201f;color:#f3a6a6}:root[data-theme=dark] .badge.kt-b-kon{background:#2d2650;color:#c9bfff}
@media (max-width:760px){.kt-tab thead{display:none}.kt-tab,.kt-tab tbody,.kt-tab tr,.kt-tab td{display:block;width:100%;box-sizing:border-box}.kt-tab tr{border:1px solid var(--line,#ccc);border-radius:8px;margin:0 0 10px;padding:6px 8px;position:relative}
  .kt-tab td{padding:3px 0}.kt-tab td.kt-hak{position:absolute;top:6px;right:8px;width:auto;padding:0}.kt-tab td.kt-titel{padding-right:36px}.kt-lab{display:block;font-size:.8em;color:var(--muted)}.kt-lab2{display:inline}
  .kt-tab td.kt-zeit{display:inline-block;width:49%;min-width:0}.kt-tab td.kt-zeit+td.kt-zeit{margin-left:2%}.kt-tab td.kt-titel,.kt-tab td.kt-text,.kt-tab td.kt-hinw{min-width:0}.kt-wrap{overflow-x:visible}}
/* iPhone (31.10.2026): Kassenbuch-Knöpfe mit Zeichen statt SVG (⇄, ✎, ＋/−) verlieren bei Platznot (.pm-kurz) die Beschriftung – sonst wird die Seite breiter als der Bildschirm */
.pm-bar.pm-kurz>.km-btn.kb-sym>span{display:none}
/* Lager (30.10.2026): Reiter unter dem Modul-Kopf, am Handy umbrechend ohne Querscrollen; Menge in der Liste „auf die Einkaufsliste“ */
.pe-regeln{list-style:none;margin:4px 0 8px;padding:0}.pe-regeln>li{padding:3px 0;overflow-wrap:anywhere}.pe-regeln>li>ul{margin:2px 0 4px;padding-left:22px;font-weight:400}.pe-entsch{margin-top:2px}.pe-zu{opacity:.75}.pe-text{white-space:pre-wrap;overflow-wrap:anywhere}.pe-vergleich{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:640px){.pe-vergleich{grid-template-columns:1fr}}.pe-anders{background:color-mix(in srgb,var(--accent,#2563eb) 16%,transparent)}
.pe-teile{list-style:none;margin:4px 0 10px;padding:0}.pe-teile li{padding:2px 0 2px 22px;overflow-wrap:anywhere}.pe-teile li.pe-teil-kopf{padding-left:0;font-weight:600}.pe-teile label{cursor:pointer}.pe-teile input[disabled]+*{opacity:.6}.pe-ideenwahl{border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-width:0;margin:0 0 10px}.pe-ideenwahl legend{font-size:.85rem;color:var(--muted);font-weight:600;padding:0 4px}.pe-ideenwahl label{display:block;padding:2px 0;overflow-wrap:anywhere}.pe-warn li{overflow-wrap:anywhere}
.lg-reiter{display:flex;flex-wrap:wrap;gap:4px 6px;margin:2px 0 10px;border-bottom:1px solid var(--line)}.lg-reiter a{padding:6px 10px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent;font-size:.92rem}.lg-reiter a.on{color:var(--text,inherit);font-weight:600;border-bottom-color:var(--accent)}
#arLager{border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-width:0}#arLager legend{font-size:.85rem;color:var(--muted);font-weight:600;padding:0 4px}.lg-em{width:5.5em;display:inline-block}
.lg-ges{margin:6px 0 2px;font-size:.95rem;overflow-wrap:anywhere}.lg-ges-warn{color:inherit}.lg-info{margin:8px 0;min-width:0}.lg-info>div{white-space:pre-wrap;overflow-wrap:anywhere}.lg-anh-l{margin:4px 0}.lg-anh-l li,.lg-anh [data-lg-anh-l] li{overflow-wrap:anywhere}.lg-anh [data-lg-anh-l]:empty{display:none}.lg-bel{cursor:pointer}.lg-stapel-info{margin:8px 0}
.lg-scan-z{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.lg-scan-z input{flex:1 1 140px;min-width:0}
/* Anwender-Menü in Gruppen (2.745.0): Gruppen scrollen, Aktualisieren und Abmelden bleiben unten sichtbar */
.act-pop.um-pop{display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.um-pop .um-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.um-pop .um-ende,.um-pop .um-ende-b,.um-pop .um-info{flex:none}
/* Menü rechts wie die Seitenleiste (Harald 31.10.2026): Köpfe mit .side-head/.side-kl/.side-gi/.side-pf, Einträge mit denselben Maßen und derselben Markierung wie .side-views a */
.um-pop{--ein:16px;--z-h:36px;--sp-ico:24px;--sp-pf:16px;--pl:6px;font-variant-numeric:tabular-nums}.um-pop .um-gruppe{--pl:calc(6px + var(--ein))}@media (max-width:600px){.um-pop{--ein:12px}}
.act-pop button.um-gkopf{width:100%;min-height:40px;padding:14px 14px 6px;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-radius:8px;flex:none}.um-gkopf b{font-weight:inherit}.um-pop .side-gi svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.act-pop.um-pop button.mi-b{gap:0;min-height:var(--z-h);padding:0 6px 0 var(--pl);border-radius:8px;flex:none}.um-pop .mi-b .mi{flex:0 0 16px;width:16px;margin-right:calc(var(--sp-ico) - 16px + var(--sp-pf));color:inherit;opacity:.75}.um-pop .mi-b .mi svg{width:16px;height:16px}.um-pop .mi-b>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
.act-pop.um-pop button.mi-b.on{background:var(--accent);color:var(--accent-ink)}.act-pop.um-pop button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.um-gruppe[hidden]{display:none}.um-gruppe{display:flex;flex-direction:column}
/* Glocke: Herkunft je Hinweis (Harald 31.10.2026) – Abzeichen wie das Mandanten-Kennzeichen im Fensterkopf; Filter nur, wenn beide Herkünfte vorkommen */
.gl-unter{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0;max-width:100%}.gl-her{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-width:0;font-size:.72rem;font-weight:600;color:var(--ink)}
.gl-her-l{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:4px;background:var(--mc,var(--accent));color:#fff;font-size:.5rem;font-weight:800;overflow:hidden}.gl-her-l img{width:100%;height:100%;object-fit:cover;background:#fff}.gl-her-p .gl-her-l{background:#fff;border:1px solid var(--line)}
.gl-her-n{min-width:0;max-width:14em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-her-p .gl-her-n{color:var(--link)}
.glocke-wo{padding:0 12px 6px;font-size:.75rem;line-height:1.3}.glocke-filter{display:flex;flex-wrap:wrap;gap:4px;padding:0 10px 8px}.glocke-filter[hidden]{display:none}
.act-pop.glocke-pop .glocke-filter button{flex-direction:row;display:inline-flex;gap:3px;align-items:center;max-width:100%;min-width:0;padding:3px 9px;border:1px solid var(--line);border-radius:999px;font-size:.78rem;color:var(--ink);white-space:nowrap}.glocke-filter button>span{min-width:0;max-width:11em;overflow:hidden;text-overflow:ellipsis}.act-pop.glocke-pop .glocke-filter button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
@media (max-width:480px){.act-pop.um-pop{max-width:calc(100vw - 16px)}}
/* Karte (31.10.2026): Knopf neben der Anschrift, Symbol in der Tabelle */
.ad-karte-z{display:flex;align-items:flex-end;padding-bottom:12px}.karte-sym{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;color:var(--link)}.karte-sym:hover{color:var(--accent)}
#adMehrPop #adKarteM svg{flex:none;margin-right:6px;vertical-align:-4px}

/* Offene Fragen an Anwender (Mein Konto → Fragen, 31.10.2026) */
.fr-seite .kopf-fest .reiter-leiste{margin:4px 0 0}
.fr-wahl{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 8px}.fr-wahl:empty{display:none}.fr-wahl-g{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.fr-wahl button{display:inline-flex;align-items:center;gap:3px;max-width:100%;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:none;color:var(--ink);font-size:.82rem;cursor:pointer}
.fr-wahl button:hover{background:var(--accent-soft)}.fr-wahl button[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent-text);color:var(--ink);font-weight:600}
.fr-zt{display:block;white-space:normal;overflow-wrap:anywhere}.fr-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:2px;min-width:0}
.ent-p-wahl{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 100%}.ent-erl{margin:4px 0 10px}.fr-frage{margin:0 0 4px;overflow-wrap:anywhere}.fr-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.fr-antwort{margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.fr-kurz{display:block;white-space:normal;overflow-wrap:anywhere}.fr-nur-karte{display:none;margin-top:4px}@media (max-width:700px){.fr-nur-karte{display:block}}
.fr-antw{cursor:pointer}
/* Fenster „Drucken – …“ (Harald 31.10.2026): Reiter „Ausgabe wählen“ mit Kacheln und Layout-Skizzen – Farben nur über Variablen, damit hell und dunkel passen */
.dlg-kopf #drkWahlB .drk-wahl{margin:6px 0 0}
.drk-wahl.drk-keine{color:#6b4e00}.drk-wahl.drk-keine b{color:inherit}
.drk-k-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px;margin:0 0 12px}
.drk-k-gr{margin:14px 0 8px;font-size:.95rem}
.drk-kachel{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font:inherit;text-align:left}
button.drk-kachel{cursor:pointer}
button.drk-kachel:hover{border-color:var(--accent-text);background:var(--accent-soft)}
button.drk-kachel:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}
.drk-k-zul{border-color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-text)}
.drk-k-archiv .drk-k-bild,.drk-k-archiv .drk-k-name{opacity:.55}
.drk-k-bild{position:relative;display:flex;align-items:center;justify-content:center;height:128px;margin-bottom:4px;padding:6px;border-radius:6px;background:var(--bg);overflow:hidden}
.drk-k-iko{position:absolute;right:6px;bottom:6px;display:flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:50%;background:var(--panel);border:1px solid var(--line);color:var(--accent-text)}
.drk-k-iko svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.drk-k-marke{align-self:flex-start;padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:.75rem;font-weight:600}
.drk-k-name{font-weight:600;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.drk-k-name .drk-name{font-weight:inherit}
.drk-k-art{color:var(--muted);font-size:.82rem;line-height:1.25;overflow-wrap:anywhere}
.drk-k-neu{justify-content:center;gap:6px;min-height:176px;border-style:dashed;border-width:2px;background:none;text-align:center}
.drk-k-wege{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:4px}
.drk-sk{display:block;max-width:100%;max-height:100%;height:116px;width:auto;fill:none;stroke:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}
.drk-sk-papier{fill:var(--panel);stroke:var(--line);stroke-width:1}
.drk-sk-text,.drk-sk-zeile{fill:var(--muted);opacity:.42}
.drk-sk-zeile{opacity:.14}
.drk-sk-zeile2{fill:var(--panel)}
.drk-sk-titel,.drk-sk-kopf{fill:var(--accent-text)}
.drk-sk-kopf{opacity:.8}
.drk-sk-bild{fill:var(--muted);opacity:.25}
.drk-sk-linie,.drk-sk-trenn{stroke:var(--muted);stroke-width:.8;opacity:.6}
.drk-sk-trenn{opacity:.35}
.drk-sk-rahmen{fill:none;stroke:var(--muted);stroke-width:.8}
.drk-sk-etikett{fill:var(--accent-soft);stroke:var(--accent-text);stroke-width:.7}
@media(max-width:600px){.drk-k-raster{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:8px}.drk-k-bild{height:96px}.drk-sk{height:84px}.drk-k-neu{min-height:140px}}
.ki-korr{margin:4px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
/* Preisliste (Hilfe, 31.10.2026): breite Tabellen rollen im eigenen Kasten, die Seite nicht */
.pl-wrap{min-width:0}.pl-rollen{overflow-x:auto;margin:4px 0 10px}.pl-tab{width:100%}.pl-tab td.num,.pl-tab th.num{text-align:right;white-space:nowrap}
.pl-tab .pl-preis td{font-weight:600}.pl-spalten{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:4px 0 10px}
/* Preisliste (02.11.2026): Kennzeichnung „gebucht“, Name als Link zur Erklärung, oben aktueller Preis, Auswahl, Unterschied */
.pl-name{all:unset;box-sizing:border-box;cursor:pointer;color:var(--link);text-decoration:underline;text-underline-offset:2px;overflow-wrap:normal;hyphens:auto}
/* Preisliste (15.11.2026): Namensspalte nicht Buchstabe für Buchstabe umbrechen – Zeilenköpfe in normaler Schrift, Mindestbreite, Trennung nur an Silben */
.pl-tab tbody th,.pl-tab tfoot th{text-transform:none;letter-spacing:normal;font-size:.92rem;color:var(--ink);font-weight:600}.pl-tab tbody th[scope=row],.pl-tab tbody td:first-child{min-width:min(10em,48vw);overflow-wrap:normal;hyphens:auto}
.pl-name:hover{text-decoration-thickness:2px}.pl-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
.pl-geb{display:inline-block;padding:0 6px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:600;line-height:1.5;white-space:nowrap}.pl-ed-kopf .pl-geb{display:block;width:max-content;margin:2px 0 0 auto}.pl-zeile-geb>*{background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}
.pl-vergleich{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px;margin:6px 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.pl-vergleich>div{min-width:0}.pl-vergleich b{display:block;font-size:1.1rem;overflow-wrap:anywhere}.pl-v-t{display:block;font-size:.8rem;color:var(--muted)}
.pl-erkl-tab{margin:8px 0}.pl-erkl-links{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.pl-art{margin:6px 0}.pl-summe{max-width:460px;margin:8px 0}.pl-rabatt td{color:var(--accent)}.pl-hinweise{margin:6px 0;padding-left:18px}.pl-knopf{margin-top:6px}
.bl-pos{min-width:760px}.bl-pos td{vertical-align:top;padding:4px}.bl-pos input,.bl-pos select,.bl-pos textarea{width:100%;min-width:0;box-sizing:border-box}.bl-pos td.bl-txt{min-width:240px}.bl-pos td:nth-child(3),.bl-pos td:nth-child(6){width:72px}.bl-pos td:nth-child(4){width:84px}.bl-pos td:nth-child(5){width:96px}.bl-pos td:nth-child(7){width:130px}
.bl-pos td.bl-bet{text-align:right;white-space:nowrap;padding-top:10px}.bl-pos td.bl-nr{white-space:nowrap;width:44px}.bl-hoch{display:flex;gap:2px}.bl-pos td.bl-akt{white-space:nowrap}.bl-pos-kn{margin:6px 0}
.bl-summen{display:grid;justify-content:end;text-align:right;gap:2px;margin:8px 0 12px;max-width:100%}.bl-summen>div{overflow-wrap:anywhere}.bl-art-l{display:grid;gap:4px;max-height:50vh;overflow:auto}.bl-art{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:inherit;padding:8px 10px;cursor:pointer}.bl-art:hover,.bl-art:focus-visible{border-color:var(--accent)}.bl-art[hidden]{display:none}
/* Fenster „Bericht mit KI erstellen“ (01.11.2026): Skizze neben dem Vorschlag, am Handy untereinander */
.drb-ki-erg { display: grid; grid-template-columns: minmax(0, 170px) minmax(0, 1fr); gap: 14px; align-items: start; }
.drb-ki-sk svg { display: block; width: 100%; height: auto; max-height: 220px; }
.drb-ki-was { margin: 4px 0 8px; padding-left: 18px; overflow-wrap: anywhere; }
@media (max-width: 600px) { .drb-ki-erg { grid-template-columns: minmax(0, 1fr); } .drb-ki-sk { max-width: 150px; } }
/* Zeitraum-Knopf zwischen Von und Bis (Harald 31.10.2026, global, zeitraumKnopf in core.src.js) */
.zr-bis{display:flex;align-items:center;gap:4px;min-width:0;width:100%}.kb-zr .zr-bis,.ma-zeit .zr-bis,.inline-form .zr-bis{display:inline-flex;width:auto;vertical-align:middle}.zr-bis>input{flex:1 1 auto;min-width:0}
button.zr-knopf{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:32px;padding:0;margin:0;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);cursor:pointer}
button.zr-knopf svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}button.zr-knopf:hover:not(:disabled),button.zr-knopf[aria-expanded=true]{border-color:currentColor}button.zr-knopf:disabled{opacity:.45;cursor:not-allowed}
.act-pop.zr-pop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 4px;box-sizing:border-box;width:min(420px,calc(100vw - 16px));min-width:0;max-width:none;max-height:calc(100vh - 16px);overflow:auto;padding:6px}
.act-pop.zr-pop button{display:block;white-space:normal;text-align:center;padding:8px 4px;font-size:.85rem;line-height:1.2;min-width:0}.act-pop.zr-pop button:nth-child(3n+1){font-weight:600}.act-pop.zr-pop button:disabled{opacity:.45;cursor:not-allowed}
/* 3-Spalten-Raster mit Zeitraum-Knopf: Spalten brechen nach der Breite um (nicht nur nach dem Gerät), damit „Bis“ auch in schmalen PC-Fenstern nicht abgeschnitten wird (1.11.2026) */
.li-row3:has(.zr-bis){grid-template-columns:repeat(auto-fit,minmax(min(100%,196px),1fr))}.zr-bis>input[type=date]{min-width:128px}
@media (max-width:520px){.zr-bis>input{padding-left:8px;padding-right:4px}button.zr-knopf{width:28px;height:36px}}
@media print{.zr-knopf{display:none}}
/* Belege: Positions-Fenster (Stufe 1b) */
.bl-mz{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto auto;gap:8px;align-items:center;margin-bottom:6px}.bl-mz input:not([type=checkbox]){width:100%;min-width:0;box-sizing:border-box}.bl-p-betrag{padding:8px 0;font-weight:600}
@media (max-width:600px){.bl-mz{grid-template-columns:1fr auto;}.bl-mz input:not([type=checkbox]){grid-column:1/-1}}
.bl-ed:not(.bl-ed-an) .sm-tb{display:none}.bl-ed .sm-ed{min-height:64px;max-height:none;border-radius:8px}.bl-ed.bl-ed-an .sm-ed{border-radius:0 0 8px 8px}.bl-ed .sm-ed p{margin:0}
[data-bl-fenster] .field,[data-bl-pos] .field{min-width:0}[data-bl-fenster] input,[data-bl-fenster] select,[data-bl-pos] input,[data-bl-pos] select{min-width:0;max-width:100%;box-sizing:border-box}
@media (max-width:560px){[data-bl-fenster] .li-row3,[data-bl-fenster] .ve-row2,[data-bl-pos] .li-row3{display:grid;grid-template-columns:minmax(0,1fr);gap:0}[data-bl-fenster] input[type=date]{width:100%;-webkit-appearance:none;appearance:none}}
/* Anforderungen an die Plattform (01.11.2026, anforderungen.src.js): Status im Rahmen, Rückfrage und Vorschlag fallen auf; Editor gesperrt wie im DMS */
.kz.pa-st-geschickt,.kz.pa-st-pruefung{border-color:#1d4ed8}.kz.pa-st-rueckfrage,.kz.pa-st-vorschlag{border-color:#b45309}.kz.pa-st-freigegeben,.kz.pa-st-live{border-color:#15803d}.kz.pa-st-arbeit{border-color:#7c3aed}.kz.pa-st-abgelehnt,.kz.pa-st-zurueckgezogen{opacity:.8}
#paEd img{max-width:100%;height:auto}

/* Fensterkopf bleibt stehen (Harald 01.11.2026): Im großen Fenster (Belege, Rechnung …) schrumpfte das Formular auf die Fensterhöhe (min-height:0), der Inhalt ragte darüber hinaus –
   ein klebender Kopf klebt aber nur innerhalb seines Elternelements und scrollte nach einer Bildschirmhöhe weg. Ohne Vollbereich (.dlg-voll, Editor) wächst das Formular mit dem Inhalt. */
.dlg.gross>form:not(:has(.dlg-voll)):not(.drb-des-f),.dlg.gross>div:not(.dlg-kopf):not(:has(.dlg-voll)):not(.drb-des-f){flex-shrink:0}
/* Das Zahnrad ⚙ (Einstellungen/Maske anpassen/QR/Rohdaten dieses Fensters) und × liegen oben rechts: Ortszeile und Titel lassen den Platz frei und werden nicht verdeckt;
   am Smartphone (Griff ✥ ausgeblendet) rückt ⚙ direkt neben ×. */
.dlg-kopf:has(.dlg-x) .dlg-ort{padding-right:46px}.dlg-kopf:has(.dlg-zieh) .dlg-ort{padding-right:124px}.dlg-kopf:has(.dlg-klapp) .dlg-ort{padding-right:164px}.dlg-kopf:has(.dlg-voll-k) .dlg-ort{padding-right:164px}.dlg-kopf:has(.dlg-voll-k):has(.dlg-klapp) .dlg-ort{padding-right:202px}
@media (max-width:600px){
.dlg-kopf:has(.dlg-x) .dlg-ort{padding-right:84px}.dlg-kopf:has(.dlg-klapp) .dlg-ort{padding-right:124px}.dlg-kopf:has(.dlg-voll-k) .dlg-ort{padding-right:124px}
.dlg:has(.dlg-x):has(.dlg-zieh):not(:has(.dlg-klapp)):not(:has(.dlg-voll-k)) .dlg-mehr{right:48px}.dlg-kopf:has(.dlg-zieh):not(:has(.dlg-klapp)):not(:has(.dlg-voll-k)) h2,.dlg>form>h2:first-child{padding-right:84px}}

/* Textbausteine: Auswahl im Editor und Fenster „verwalten“ (1.11.2026) */
.mh-v-l .zu{opacity:.55}.mh-v-nr{display:inline-block;min-width:1.4em;font-weight:600}.mh-titel{margin-top:6px}
.tbst-l{max-height:min(52vh,420px)}.tbst-l .pick{display:block;padding:8px}.tbst-a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbst-w-fuss{margin-top:10px;display:flex;justify-content:flex-end}.tbst-v-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.tbst-v-filter input{flex:1 1 180px;width:auto}.tbst-v-filter select{flex:0 1 200px;width:auto}
/* Belege: Fenster „Ausgeben“ – Zeilen der Vorprüfung brechen um, am iPhone keine waagerechte Seite */
#blAZ{display:grid;gap:4px;margin:6px 0 10px}.bl-az{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;align-items:center;padding:6px 8px;border:1px solid var(--line);border-radius:6px;min-width:0}.bl-az>div{min-width:0;overflow-wrap:anywhere}.bl-az-nein{opacity:.75}.bl-az-rot{border-color:var(--danger);box-shadow:inset 3px 0 0 var(--danger)}.bl-az-an{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.bl-az-an input{min-width:0;width:16rem;max-width:100%}.bl-a-text{white-space:pre-wrap}#blAL progress{width:100%}
/* Mandanten-Auswahl im Kopf mit Logo (2.815.0): Knopf + eigene Liste; das <select> bleibt unsichtbar als Modell */
.tsel{display:inline-flex;align-items:center;min-width:0;position:relative}
.tsel-modell{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0;margin:0;overflow:hidden}
.tsel-btn{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:4px 6px 4px 4px;white-space:nowrap}
.tsel-btn .tsel-n{overflow:hidden;text-overflow:ellipsis;min-width:0}
.tsel-btn:focus-visible{outline:2px solid currentColor;outline-offset:2px;background:#ffffff26}
.tsel-pf{flex:0 0 auto;opacity:.8}
.tsel-av{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--tc,#1F4D3A);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:0;line-height:1;overflow:hidden;font-family:inherit}
.tsel-av img{width:100%;height:100%;object-fit:cover;background:#fff;display:block}
.tsel-liste{position:fixed;z-index:5001;box-sizing:border-box;margin:0;padding:6px;list-style:none;overflow-y:auto;overflow-x:hidden;background:var(--panel,#fff);color:var(--ink,#222);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.2);font-size:.95rem;font-weight:400}
.tsel-liste:focus{outline:none}.tsel-liste:focus-visible{outline:2px solid var(--accent,#1F4D3A);outline-offset:1px}
.tsel-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;min-height:40px}
.tsel-opt .tsel-n{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tsel-opt[aria-selected=true] .tsel-n{font-weight:700}
.tsel-opt.tsel-fok{background:var(--accent-soft,#eee)}.tsel-liste:focus-visible .tsel-fok{outline:2px solid var(--accent,#1F4D3A);outline-offset:-2px}
.tsel-haken{flex:0 0 1.2em;text-align:center;color:var(--accent-text,var(--accent))}
@media (max-width:600px){.tsel-btn{font-size:.9rem;max-width:56vw}}
/* Kennzeichen des Mandanten (02.11.2026): feste Farben, in hell, dunkel und auf der farbigen Kopfzeile lesbar; „Produktiv“ übernimmt die Schriftfarbe der Umgebung */
.mstufe{flex:0 0 auto;display:inline-block;box-sizing:border-box;padding:1px 7px;border:1px solid transparent;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.45;white-space:nowrap;vertical-align:middle}
.mstufe-entwurf{background:#f5b301;color:#2b1d00}.mstufe-test{background:#6d3fc8;color:#fff}.mstufe-leer{background:#5f6b76;color:#fff}
.mstufe-echt{background:transparent;color:inherit;font-weight:500;border-color:color-mix(in srgb,currentColor 45%,transparent)}
.tsel-btn .mstufe-entwurf,.tsel-btn .mstufe-test,.tsel-btn .mstufe-leer{border-color:#ffffffb3}
.mstufe-k{display:none}
@media (max-width:600px){.tsel-btn .mstufe{padding:0 5px;font-size:.68rem}.tsel-btn .mstufe-l{display:none}.tsel-btn .mstufe-k{display:inline}}

/* Kompakte Ankreuz-Liste (Harald 02.11.2026): niedrige Zeilen, Suche, Zähler, begrenzte Höhe mit eigenem Scrollen */
.kl-kopf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 6px}.kl-kopf .kl-such{flex:1 1 140px;min-width:0;width:auto;padding:5px 8px}.kl-kopf .kl-anz{font-size:.88rem;white-space:nowrap}.kl-kopf .btn.small{padding:3px 10px}
.kl-liste{overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:var(--bg);-webkit-overflow-scrolling:touch}
.kl-z{display:flex;align-items:center;gap:8px;margin:0;padding:5px 10px;min-height:32px;font-weight:400;color:var(--ink);font-size:.92rem;cursor:pointer;border-bottom:1px solid var(--line)}.kl-z:last-of-type{border-bottom:0}.kl-z:hover{background:var(--accent-soft)}.kl-z.on{background:var(--accent-soft)}
.kl-z input{margin:0;flex:none;width:18px;height:18px}.kl-z .kl-i{margin-left:auto;font-size:.82em;text-align:right;max-width:55%}.kl-z.kl-aus,.kl-z.tool-aus{cursor:default;opacity:.6}.kl-z.kl-aus:hover{background:transparent}.kl-nix{padding:8px 10px;margin:0}
@media (max-width:700px){.kl-z{min-height:40px}.kl-kopf .kl-such{flex-basis:100%}}

/* 02.11.2026: Kurzfassung der Hinweise, Zellen ohne Umbruch, kompakte Liste ohne fette Namen */
.ti-sum{display:inline-flex;align-items:center;gap:6px;max-width:100%;text-align:left;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:.88rem;cursor:pointer}.ti-sum:hover{background:var(--accent-soft)}
.ti-sum-liste{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;max-height:11em;overflow-y:auto;width:100%}.ti-sum-liste[hidden]{display:none}
.anl-nw{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.kl-z .kl-t{font-weight:400}.kl-z{font-weight:400}.kl-z b{font-weight:400}

/* Gesprächsprotokolle: Abschnitte (Nachtrag 03.11.2026) – Kopf mit Nummer, Überschrift, Status, ▲/▼ und ☰; gesperrte Abschnitte gedämpft */
.gp-abs{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:0 0 10px;background:var(--panel)}.gp-abs-zu{opacity:.85}.gp-abs-zu .sm-ed{background:var(--bg)}
.gp-abs-kopf{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}.gp-abs-nr{font-weight:700;min-width:1.8em}.gp-abs-ti{flex:1 1 200px;min-width:0;font-weight:600}.gp-abs-st-abgeschlossen{color:var(--accent-text,var(--accent))}.gp-abs-st-storniert{color:var(--danger);text-decoration:line-through}
.gp-abs-kopf .kp-sym{text-decoration:none}.gp-abs-kl{flex:0 0 auto;width:22px;min-height:0;padding:0;border:0;background:none;color:var(--muted);cursor:pointer;font:inherit}.gp-abs-kl::before{content:"▸";display:inline-block;transform:rotate(90deg);transition:transform .15s}.gp-abs-klein .gp-abs-kl::before{transform:none}.gp-abs-klein > :not(.gp-abs-kopf){display:none!important}.gp-abs-klein .gp-abs-kopf{margin-bottom:0}
@media (max-width:640px){.gp-abs-kopf .gp-abs-ti{flex-basis:140px}}
.gp-ab-gruppe{margin:0 0 8px}.gp-ab-gruppe h3{margin:10px 0 2px}
/* 03.11.2026: Mandant endgültig löschen (mandant-loeschen.src.js) – Vorbedingungen, Stand, Liste „Gelöschte Mandanten“ */
.ml-pruef,.ml-liste{list-style:none;padding:0;margin:4px 0 10px}.ml-pruef li,.ml-liste li{padding:3px 0;overflow-wrap:anywhere}
.ml-pruef .ml-ok>span:first-child{color:var(--accent)}.ml-pruef .ml-nein{color:var(--danger)}.ml-pruef .ml-warte>span:first-child{color:var(--coral)}
.ml-kopf{margin:6px 0 4px;overflow-wrap:anywhere}.ml-best{border-top:1px solid var(--line);margin-top:10px;padding-top:6px}.ml-stand{margin:8px 0}.ml-stand.ml-fehler{border-color:var(--danger)}
.ml-badge{margin-left:4px;white-space:normal}.ml-badge.ml-vorgemerkt,.ml-badge.ml-laeuft,.ml-badge.ml-fehler{background:var(--danger);color:#fff}.ml-badge.ml-fertig,.ml-badge.ml-entfernt{background:var(--line);color:var(--ink)}
.ml-g{margin:8px 0}.ml-g.ml-fokus{outline:2px solid var(--accent)}.ml-g p{margin:4px 0;overflow-wrap:anywhere}.ml-an .badge{margin:2px 4px 2px 0;white-space:normal;overflow-wrap:anywhere}
#mdlLos.gesperrt{opacity:.55}
/* Einstiege (Stufe 3/4, 03.11.2026): Leiste oben im Menü, Hinweis „gehört zu“, Bild und Adresse je Einstieg */
.side-einstieg{display:flex;align-items:center;gap:6px;padding:6px 10px;margin:0 0 6px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.side-einstieg select{flex:1;min-width:0}.side-einstieg .ein-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-einstieg .ein-sym{font-weight:normal}
/* Block „Arbeitsansichten“ (06.11.2026): Auswahl mit ▸/▾ zum Ein- und Ausklappen, darunter die Punkte; Trennlinie davor wie bei Verwaltung */
#sideEinstieg .ein-bearb{flex:none;margin-left:4px;padding:2px 7px;font-size:1rem;line-height:1.3;color:var(--muted)}#sideEinstieg .ein-bearb:hover{color:var(--ink)}
#sideArbeit:has(#sideEinstieg){border-top:1px solid var(--line);margin-top:4px;padding-top:6px}#sideEinstieg.side-kl{margin:0 4px 4px}#sideEinstieg .ein-klapp{flex:0 0 24px;width:24px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--muted);cursor:pointer;margin-left:-4px}#sideEinstieg .ein-klapp:hover{background:var(--accent-soft);color:var(--ink)}#sideEinstieg .ein-klapp:focus-visible{outline:2px solid var(--accent);outline-offset:1px}#sideEinstieg .ein-lab{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#sideArbeitNav .ein-leer{margin:4px 12px;font-size:.88rem}.side-sys{border-top:0;margin-top:0}
.ein-gehoert{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 12px;margin:0 0 8px;border-radius:8px;background:var(--accent-soft);color:var(--ink);font-size:.92rem}
.ein-bild{border-radius:22%;flex:none;object-fit:cover;background:var(--line)}.ein-vorschau,.ein-farbe,.ein-adr-z{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ein-adr-z input{flex:1;min-width:0}.ein-farbe input[type=color]{width:48px;height:32px;padding:0;border:1px solid var(--line);border-radius:6px;background:none}
/* Ein Symbol je Einstieg (Harald 06.11.2026 „Layout am Smartphone kaputt“): Bild | Name | Knöpfe, darunter die Adresse einzeilig gekürzt; ≤ 640 px drei Zeilen: Bild + Name, Adresse, Knöpfe */
#einSymL .ein-sym-z{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"bild name knoepfe" "bild adr knoepfe";column-gap:10px;row-gap:2px;align-items:center}
#einSymL .ein-bild{grid-area:bild}#einSymL .ein-sym-n{grid-area:name;min-width:0}#einSymL .ein-adr{grid-area:adr}#einSymL .ein-sym-k{grid-area:knoepfe;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ein-adr{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.ein-adr.ganz{white-space:normal;overflow-wrap:anywhere}
@media (max-width:640px){#einSymL .ein-sym-z{grid-template-columns:36px minmax(0,1fr);grid-template-areas:"bild name" "adr adr" "knoepfe knoepfe";row-gap:6px}#einSymL .ein-sym-k{justify-content:flex-start}#einSymL .ein-sym-k .btn{flex:1 1 auto}}
/* Verlauf an der Adresse (03.11.2026, adr-verlauf.src.js): Arten als Knöpfe an/aus, Zeitraum, Suche; am iPhone einspaltig (Karte) */
.av-arten{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.av-art{display:inline-flex;align-items:center;gap:3px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);font-size:.85rem;cursor:pointer;min-height:32px}
.av-art[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent-text);font-weight:600}.av-art[aria-pressed="false"]{opacity:.65;text-decoration:line-through}.av-n{color:var(--muted,#666);font-weight:400}
.av-leiste{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 8px}.av-zr{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.av-zr input{width:auto}.av-q{flex:1 1 180px;min-width:0}.av-ap{margin:0}.av-sym{font-size:1.1rem;line-height:1}
.av-fehler{margin:0 0 8px}
.av-mailtext{white-space:pre-wrap;word-break:break-word;border:1px solid var(--line);border-radius:6px;padding:10px;margin-top:10px;max-height:50vh;overflow:auto;background:var(--panel)}
@media (max-width:700px){.av-leiste{flex-direction:column;align-items:stretch}.av-q{flex:0 0 auto}}
/* Demo-Zugang (03.11.2026, demo.src.js): Leiste oben – immer sichtbar, nicht schließbar, eigene Farbe (Violett; Admin-Modus und Test haben andere); schmal nur „Demo ⓘ“ */
.demo-leiste{display:flex;align-items:center;position:sticky;top:0;z-index:5;border-left:4px solid #7c3aed;background:color-mix(in srgb,#7c3aed 12%,var(--panel));border-radius:8px;margin:0 0 10px;font-size:.92rem;max-width:100%}
.demo-l-kopf{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;cursor:pointer;min-width:0}.demo-l-kopf:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px;border-radius:8px}
.demo-l-i{flex:0 0 auto;font-weight:700;color:#7c3aed}.demo-l-t{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-l-e{flex:0 0 auto;color:#7c3aed}
@media (max-width:600px){.demo-l-t{display:none}}
.demo-l-m{all:unset;flex:0 0 auto;padding:6px 12px;cursor:pointer;color:#7c3aed;font-weight:700}
.demo-l-ed{all:unset;flex:0 0 auto;padding:4px 10px;margin:0 2px;cursor:pointer;color:#7c3aed;font-weight:600;white-space:nowrap;border:1px solid color-mix(in srgb,#7c3aed 45%,transparent);border-radius:99px;font-size:.85rem}.demo-l-ed:focus-visible{outline:2px solid var(--accent-text);outline-offset:1px}
@media (max-width:600px){.demo-l-edw{display:none}}.demo-l-m:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px;border-radius:8px}
.demo-post-text{white-space:pre-wrap;font:inherit;background:var(--panel);border:1px solid var(--line,#ddd);border-radius:6px;padding:8px;max-height:40vh;overflow:auto}
.demo-as{width:100%;min-height:9em;resize:vertical;font:inherit;line-height:1.4;box-sizing:border-box}.demo-code{margin:6px 0 10px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .demo-l-m{color:#c4b5fd}}:root[data-theme="dark"] .demo-l-m{color:#c4b5fd}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .demo-l-ed{color:#c4b5fd;border-color:#c4b5fd80}}:root[data-theme="dark"] .demo-l-ed{color:#c4b5fd;border-color:#c4b5fd80}
.kz.demo-st-ok{border-color:#15803d}.kz.demo-st-halb{border-color:#b45309}.demo-teile{margin:4px 0 8px;padding-left:18px}
.demo-teile .demo-teil-leer{color:#b45309}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .demo-teile .demo-teil-leer{color:#fcd34d}}:root[data-theme="dark"] .demo-teile .demo-teil-leer{color:#fcd34d}
/* Belegeingang (Beleg-Identifikation Stufe 2): Prüfansicht mit Original links, Felder mit Ampel rechts; am Telefon untereinander */
.be-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.be-orig{min-height:200px;border:1px solid var(--line);border-radius:6px;overflow:auto;max-height:70vh;background:var(--panel)}
.be-pdf{width:100%;height:68vh;border:0;display:block}.be-bild{max-width:100%;display:block}.be-xml{max-height:68vh;overflow:auto;margin:0;font-size:.8rem}.be-felder fieldset{margin:0 0 8px}.be-ft{width:100%}.be-ft td{padding:2px 4px;vertical-align:middle}.be-ft td:first-child{width:38%}.be-ft input,.be-ft select,.be-ft textarea{width:100%}
.be-ampel{font-size:1.05rem;line-height:1}.be-gruen{color:#2e8b57}.be-gelb{color:#c99400}.be-rot{color:var(--danger)}tr.be-offen td:first-child{font-weight:600}
@media (max-width:760px){.be-split{grid-template-columns:1fr}.be-pdf{height:50vh}}
/* To-do-Listen an Aufgaben und Terminen (03.11.2026): eigener Rahmen und Symbol – klar getrennt von den Unteraufgaben */
.td-box{border:1px solid var(--line);border-left:4px solid var(--accent,#2f6f4f);border-radius:8px;padding:8px 10px;background:var(--panel,#fff)}
.td-kopf{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.td-kopf label{display:flex;align-items:center;gap:6px;margin:0}
.td-ico{width:18px;height:18px;fill:none;stroke:var(--accent-text,var(--accent,#2f6f4f));stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.td-ges{font-size:.9em;color:var(--muted)}.td-zu{margin:4px 0}
.td-liste{border-top:1px solid var(--line);margin-top:8px;padding-top:6px}.td-liste.td-weg{opacity:.6}
.td-lkopf{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.td-lti{flex:1 1 180px;min-width:0;font-weight:600}.td-lsum{font-size:.9em;color:var(--muted)}
.td-zeilen{display:grid;gap:3px;margin:6px 0}
.td-z{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:4px;align-items:center;padding-left:calc(var(--td-eb,0) * 18px)}
.td-z input{min-width:0}.td-h{text-align:right}.td-sum{font-size:.85em;color:var(--muted);white-space:nowrap}.td-sum:empty,.td-meta:empty{display:none}
.td-z .td-t{border:1px solid transparent;background:transparent;padding:4px 6px;border-radius:6px;width:100%}.td-z .td-t:not(:disabled):hover{border-color:var(--line)}.td-z .td-t:focus{border-color:var(--accent);background:var(--bg);outline:none}.td-z .td-t:disabled{color:inherit;opacity:1;-webkit-text-fill-color:currentColor}
.td-meta{font-size:.8em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14em}
.td-stk{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--bg,#fff);color:var(--ink,#222);font:inherit;cursor:pointer;padding:0}
.td-st-erledigt .td-stk{background:var(--accent,#2f6f4f);color:#fff;border-color:transparent}.td-st-erledigt .td-t{text-decoration:line-through;color:var(--muted)}
.td-st-storniert .td-t,.td-st-geloescht .td-t{text-decoration:line-through;color:var(--muted)}.td-st-storniert .td-stk{color:var(--danger,#b00020)}.td-st-geloescht{opacity:.6}
.td-neu{flex-wrap:wrap;gap:4px;margin:0}.td-neu [data-tdn=text]{flex:1 1 180px;min-width:0}.td-neu [data-tdn=zust]{flex:0 1 130px;min-width:0}.td-neu [data-tdn=minuten]{flex:0 0 62px;width:62px}
.td-fuss{gap:10px;align-items:center;margin:6px 0 0;flex-wrap:wrap}
@media (max-width:640px){.td-z{padding-left:calc(var(--td-eb,0) * 10px)}.td-meta{max-width:8.5em}.td-neu [data-tdn=text]{flex:1 1 100%}.td-neu [data-tdn=zust]{flex:1 1 90px}}
/* Komplexe Fenster am iPhone (Harald 06.11.2026, global; Bausteine site/kompakt.src.js): ⓘ statt Klammer, Status-Symbol, Klapp-Abschnitt mit Zähler, Leseansicht, einspaltig ≤ 640 px */
.kp-i{display:inline-flex;vertical-align:-3px;margin:0 0 0 4px;padding:0;border:0;background:none;color:var(--link);cursor:pointer;min-height:0}.kp-i svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.kp-info-b{white-space:pre-line}
.kp-sym{flex:0 0 auto;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--bg);color:var(--ink);font:inherit;font-size:.95rem;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;min-height:0}
.kp-sym:disabled{cursor:default;opacity:.7}.kp-st-erledigt{background:var(--accent);color:var(--accent-ink);border-color:transparent}.kp-st-storniert,.kp-st-abgelehnt{color:var(--danger)}.kp-st-arbeit,.kp-st-pruefen{border-color:var(--accent);color:var(--link)}
.kp-st-pop .kp-wahl-k{margin-top:8px;font-size:.85rem;font-weight:600}.kp-wahl-l{margin-top:2px}.kp-wahl-l li{padding:0}.kp-wahl,.kp-wahl-t{display:flex;gap:8px;width:100%;border:0;background:none;padding:6px 2px;text-align:left;font:inherit;font-size:.88rem;color:var(--ink);min-height:0}.kp-wahl{cursor:pointer;border-radius:6px}.kp-wahl:hover,.kp-wahl:focus{background:var(--accent-soft)}.kp-extra{margin-top:8px}
.kp-klapp{border:1px solid var(--line);border-radius:8px;margin:0 0 12px;background:var(--panel)}.kp-klapp > summary{display:flex;align-items:center;gap:6px;padding:8px 10px;cursor:pointer;list-style:none;font-weight:600;font-size:.92rem}.kp-klapp > summary::-webkit-details-marker{display:none}
.kp-klapp > summary::before{content:"▸";color:var(--muted);width:1em;flex:0 0 1em;transition:transform .15s}.kp-klapp[open] > summary::before{transform:rotate(90deg)}.kp-k-t{display:inline-flex;align-items:center;gap:6px;min-width:0}.kp-k-z{margin-left:auto;font-weight:500;font-size:.85rem;color:var(--muted);white-space:nowrap}.kp-k-b{padding:0 10px 10px}
.td-box > .kp-klapp{border:0;margin:0;background:none}.td-box > .kp-klapp > summary{padding:2px 0}.td-box > .kp-klapp > .kp-k-b{padding:0}.td-box > .kp-klapp > summary .td-ges{font-size:.85rem}
.td-lti:disabled{border-color:transparent;background:transparent;opacity:1;color:inherit;-webkit-text-fill-color:currentColor;padding-left:2px}
.td-menu-kopf{padding:6px 12px 8px;border-bottom:1px solid var(--line);margin-bottom:2px;max-width:300px;white-space:normal}.td-menu-kopf .hint{font-size:.82rem}
.as-l{display:grid;gap:3px;margin:0 0 6px}.as-z{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px;align-items:center}
.as-z .as-t{border:1px solid transparent;background:transparent;padding:4px 6px;border-radius:6px;width:100%;min-width:0}.as-z .as-t:not(:disabled):hover{border-color:var(--line)}.as-z .as-t:focus{border-color:var(--accent);background:var(--bg);outline:none}.as-z .as-t:disabled{color:inherit;opacity:1;-webkit-text-fill-color:currentColor}
.as-z.as-zu .as-t{text-decoration:line-through;color:var(--muted);-webkit-text-fill-color:var(--muted)}.as-neu{display:flex;gap:6px;align-items:center}.as-neu input{flex:1 1 auto;min-width:0}
.rm-z{display:flex;align-items:center;gap:8px;margin:2px 0;flex-wrap:wrap}.rm-z .rm-n{flex:1 1 140px;min-width:0;overflow:hidden;text-overflow:ellipsis}.rm-z select{width:auto;max-width:100%;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.rm-l{display:grid;gap:2px}.rm-z .rm-s{font-size:.8em;color:var(--muted);white-space:nowrap}.rm-z .kp-sym:disabled{opacity:.5}
.kp-dz{flex-wrap:nowrap;gap:6px;margin:0;padding:0;border:0;background:none;align-items:center}.kp-fenster .kp-dz input[type=date],.kp-dz input[type=date]{flex:1 1 auto;width:auto;min-width:0}.kp-dz input[type=time]{flex:0 0 6.8em;width:6.8em;min-width:0}.kp-dz input[hidden]{display:none}
.kp-wert{white-space:pre-wrap;word-break:break-word;padding:2px 0}.kp-lese .err:empty,.kp-lese .zr-knopf{display:none}.kp-check-ja::before{content:"✓";color:var(--link);font-weight:700}.kp-lese .kp-lese-weg,.kp-lese .kp-leer{display:none!important}.kp-lese .kp-wert{font-size:.95rem}
#liFest.kp-fest{background:var(--accent-soft);border-radius:8px;padding:8px 10px;color:var(--ink)}
@media (max-width:640px){.kp-fenster .ve-row2,.kp-fenster .li-row3{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.kp-fenster input[type=date]{width:100%}.kp-fenster .field{margin-bottom:10px}}
/* Fortschritt „☑ erledigt/gesamt“ an Aufgaben und Terminen (04.11.2026): kleines Kennzeichen hinter dem Text, Antippen zeigt die offenen To-dos */
.td-zahl{display:inline-block;margin-left:6px;padding:0 5px;border:1px solid var(--line);border-radius:9px;font-size:.78em;line-height:1.5;font-weight:500;color:var(--muted);background:var(--panel,#fff);white-space:nowrap;cursor:pointer;vertical-align:baseline}
.td-zahl[hidden]{display:none}.td-zahl.td-zahl-fertig{color:var(--accent-text,var(--accent,#2f6f4f));border-color:currentColor}.td-zahl:focus-visible{outline:2px solid var(--accent,#2f6f4f);outline-offset:1px}
.kal-t:has(> .td-zahl:not([hidden])),.mk-termin:has(> .td-zahl:not([hidden])){display:flex;align-items:baseline;gap:4px}.kal-t:has(> .td-zahl:not([hidden])) > .kal-tt,.mk-termin:has(> .td-zahl:not([hidden])) > .kal-tt{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.kal-t > .td-zahl,.mk-e > .td-zahl{flex:none;margin-left:0}.mk-lang > .kal-tt,.kal-lang > .kal-tt{white-space:normal}.mk-e > .td-zahl{align-self:center}
.td-zahl-pop .sym-pop-t{display:flex;align-items:center;gap:6px}.td-zahl-l{margin:4px 0 0;padding-left:18px;max-height:40vh;overflow:auto}.td-zahl-l li{margin:2px 0}
/* Videos der Plattform in der Hilfe (videos.src.js) und Pflege (videos-admin.src.js), 04.11.2026 */
.vid-oben{margin:0 0 12px}.vid-box{margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);max-width:720px}
.vid-kopf{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin:0 0 8px}.vid-sym{color:var(--accent)}.vid-titel{flex:1 1 auto;min-width:0}.vid-meta{color:var(--muted);font-size:.85em}
.vid-rahmen{position:relative;width:100%;background:#000;border-radius:8px;overflow:hidden}.vid-video{display:block;width:100%;height:auto;max-height:70vh;background:#000}
.vid-hoch .vid-rahmen{max-width:360px;margin:0 auto}.vid-text{margin:8px 0 0;color:var(--ink)}
.vid-kapitel{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}.vid-kap{font-variant-numeric:tabular-nums}
.vid-leiste{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 0}.vid-leiste:empty{display:none}.vid-yt{font-size:.9em}
.va-liste{max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:6px;margin-top:6px;background:var(--panel)}.va-liste .check{display:flex;gap:6px;align-items:flex-start;margin:2px 0}.va-sub{padding-left:18px;font-size:.92em}
.va-rub{display:flex;flex-wrap:wrap;gap:4px 14px}.va-vorschau{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}.va-vid{width:100%;max-width:480px;max-height:50vh;background:#000;border-radius:8px}
.dms-vidkz .badge{white-space:nowrap}
/* Hilfe-Menü → Videos (06.11.2026): Karten mit Bild, Titel, Länge; Filter nach Rubrik; Hinweis „▶ Videos“ oben in der Hilfe; Vorschlag im Fenster „Video …“ */
.vid-hinweis{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 10px;margin:0 0 10px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;background:var(--panel)}.vid-hinweis .hint{margin:0}.vid-hinweis-alle{margin-left:auto;font-size:.9em}
.vk-leiste{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 12px}.vk-filter{display:flex;flex-wrap:wrap;gap:6px}.vk-filter:empty{display:none}.vk-zahl{margin:0 0 0 auto}.vk-chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent)}.vk-n{opacity:.75;font-variant-numeric:tabular-nums}
.vk-liste{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.vk-liste>.hint{grid-column:1/-1}
.vk-auf{display:flex;flex-direction:column;gap:6px;width:100%;height:100%;padding:0 0 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);text-align:left;cursor:pointer;overflow:hidden;font:inherit}
.vk-auf:hover,.vk-auf:focus-visible{border-color:var(--accent);box-shadow:0 2px 10px rgba(0,0,0,.12)}.vk-auf:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.vk-bild{position:relative;display:block;aspect-ratio:16/9;background:#111;overflow:hidden}.vk-bild img{display:block;width:100%;height:100%;object-fit:cover}.vk-hoch img{object-fit:contain}
.vk-ohne{display:flex;align-items:center;justify-content:center;height:100%;color:#888;font-size:2rem}
.vk-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;padding-left:3px}
.vk-dauer{position:absolute;right:6px;bottom:6px;padding:1px 6px;border-radius:4px;background:rgba(0,0,0,.7);color:#fff;font-size:.8rem;font-variant-numeric:tabular-nums}
.vk-titel{padding:0 10px;font-weight:600;line-height:1.3}.vk-meta{padding:0 10px;color:var(--muted);font-size:.85em}
@media (max-width:640px){.vk-liste{grid-template-columns:minmax(0,1fr);gap:10px}.vid-hinweis-alle{margin-left:0}}
#vkD .vid-box{margin:0}.va-vorschlag{margin:4px 0 8px}
/* Modul-Leiste oben in der Hilfe (06.11.2026): Status links, Knöpfe rechts; am iPhone einspaltig, Knöpfe brechen um */
.hml-leiste{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;padding:8px 12px;margin:0 0 12px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;background:var(--panel)}
.hml-st{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0}.hml-name{font-weight:700;overflow-wrap:anywhere}.hml-preis{font-size:.9em}
.hml-knoepfe{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.hml-knoepfe .btn{white-space:nowrap}.hml-vid[data-hml-leer]{opacity:.7}
.hml-st-gebucht,.hml-st-enthalten,.hml-st-immer{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}
@media (max-width:640px){.hml-leiste{flex-direction:column;align-items:stretch}.hml-knoepfe{margin-left:0}.hml-knoepfe .btn{flex:1 1 auto;white-space:normal}}
/* Einstiege einfach (05.11.2026): ✓/✗ je Prüfung, ✗ als Knopf zur Behebung, ⓘ für die Erklärung, Leiste oben im Fenster, Karte am iPhone */
.ein-ok{color:#1c6b3a;font-weight:700;cursor:default}.ein-x{color:var(--danger);font-weight:700;background:none;border:1px solid currentColor;border-radius:6px;padding:0 7px;line-height:1.5;font-size:.95rem}.ein-x:hover{background:#fbe0dd}
:root[data-theme=dark] .ein-ok{color:#8fd6a5}:root[data-theme=dark] .ein-x:hover{background:#3a2422}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ein-ok{color:#8fd6a5}:root:not([data-theme=light]) .ein-x:hover{background:#3a2422}}
.ein-info,.ein-mehr{background:none;border:0;color:var(--link);font-size:1.05rem;padding:0 4px;line-height:1.2}.ein-st{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.btn.ein-akt-aus{opacity:.55;cursor:help}
/* ▶ Video zur Arbeitsansicht (Katalog und Liste der Arbeitsansichten, 06.11.2026) */
.ein-vid{background:none;border:0;color:var(--link);font-size:1.05rem;padding:2px 6px;line-height:1.2;cursor:pointer;min-width:32px;min-height:28px}.ein-vid:hover,.ein-vid:focus-visible{color:var(--accent,var(--link));text-decoration:none}
#einVidD .vid-box{margin:0}
.ein-leiste{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;margin:0 0 12px}.ein-lp{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ein-karte-m{display:none}@media (max-width:700px){.tb-karte-m.ein-karte-m{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:.85rem}.ein-hk-k{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.ein-karte-m .btn.small{padding:2px 8px;font-size:.8rem}}
.ein-pr .ein-pr-h,.ein-pr .ein-pr-i{text-align:center;width:1%;white-space:nowrap}.ein-info-l{padding-left:1.2em;margin:6px 0}
.pl-markiert th,.pl-markiert td{background:#fff3cd}:root[data-theme=dark] .pl-markiert th,:root[data-theme=dark] .pl-markiert td{background:#4a3d12}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pl-markiert th,:root:not([data-theme=light]) .pl-markiert td{background:#4a3d12}}

/* Als Symbol ablegen (Harald 06.11.2026): Knöpfe je Gerät, Hinweis auf Teilen am iPhone/iPad */
.sym-tun{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.sym-tun .btn{flex:0 1 auto}@media (max-width:640px){.sym-tun .btn{flex:1 1 100%;justify-content:center;text-align:center}}
.sym-teilen{display:flex;gap:10px;align-items:center;padding:10px 12px;margin:0 0 12px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.sym-pfeil{font-size:28px;line-height:1;color:var(--accent);flex:none}
.sym-pfeil-unten{position:fixed;left:50%;bottom:calc(6px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:100000;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;border-radius:10px;background:var(--accent);color:#fff;font-weight:600;font-size:14px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.3);pointer-events:none;animation:symPfeil 1.2s ease-in-out infinite}
@keyframes symPfeil{50%{transform:translate(-50%,4px)}}@media (prefers-reduced-motion:reduce){.sym-pfeil-unten{animation:none}}
/* Pop-up offen: auslösender Knopf abgeblendet (Harald 06.11.2026, global; Kern pknLauf in core.src.js) – Auslöser blass ohne Hauptfarbe, übrige Knöpfe der Leiste zurückgenommen, Pop-up mit Rand, Schatten und leicht abgedunkelter Fläche ringsum */
:root{--pkn-ring:rgba(20,30,32,.16);--pkn-schatten:0 10px 28px rgba(0,0,0,.28);--pkn-rand:#8a9598}
:root[data-theme=dark]{--pkn-ring:rgba(0,0,0,.45);--pkn-schatten:0 10px 28px rgba(0,0,0,.6);--pkn-rand:#6c7a7e}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--pkn-ring:rgba(0,0,0,.45);--pkn-schatten:0 10px 28px rgba(0,0,0,.6);--pkn-rand:#6c7a7e}}
.pkn-ausloeser,.pkn-ausloeser.btn,.pkn-ausloeser.btn.primary,.pkn-ausloeser.km-btn,.pkn-ausloeser.btn.danger{opacity:.4!important;background:var(--panel)!important;color:var(--muted)!important;border-color:var(--line)!important;box-shadow:none!important;filter:grayscale(1);transition:opacity .12s}
.pkn-leiste :is(button,.btn,summary,[role=button]):not(.pkn-ausloeser):not(.pkn-pop *){opacity:.45;filter:grayscale(.7);transition:opacity .12s}
.pkn-pop{opacity:1!important;filter:none!important;border:1px solid var(--pkn-rand)!important;box-shadow:var(--pkn-schatten),0 0 0 100vmax var(--pkn-ring)!important}
.pkn-pop .btn.primary{box-shadow:0 0 0 3px var(--accent-soft)}
/* Einrichten-Fenster, Ankunft im Browser (06.11.2026): nur der letzte Schritt */
.sym-kurz .fenster-intro,.sym-kurz #symLogoH,.sym-kurz #symApp,.sym-kurz #symKopie,.sym-kurz #symQr,.sym-kurz #symStartF{display:none}
#symStartF{margin:0 0 10px}#symStartF select{width:100%}
/* Einträge ohne Ihre Rolle (06.11.2026): Fenster aus dem Hinweis im Ordner */
#orL .or-z{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:0 0 10px;background:var(--panel)}
#orL .or-t{display:flex;flex-wrap:wrap;align-items:center;gap:6px}#orL .or-heute{margin:4px 0 8px}#orL .or-was{margin:6px 0}#orL .field{margin:0}#orL select{width:100%;max-width:420px}
#orL .actions{flex-wrap:wrap}#orL .or-fertig{border-left:3px solid var(--ok,#15803d);padding:8px 10px}
/* Rollen & Lesezugänge (06.11.2026): Reiter oben, „Einstellungen“ als Klapp-Abschnitt, Ziel-Zeile aus ?seite= */
.rl-einst{margin:8px 0 12px}.rl-einst .kp-k-b > .ve-head:first-child{margin-top:0}
#pvPages tr.pv-ziel > td{background:var(--tb-aktiv,var(--accent-soft))}#pvPages tr.pv-ziel > td:first-child{box-shadow:inset 4px 0 0 var(--accent)}
@media (max-width:600px){
  .rl-einst > summary{flex-wrap:wrap;row-gap:2px}.rl-einst .kp-k-z{flex:1 1 100%;margin-left:calc(1em + 6px);white-space:normal;text-align:left}
  #rlTabs{flex-wrap:wrap;overflow:visible;row-gap:2px}
  /* „Welche Rolle sieht was?“ als Liste je Seite mit Rollen-Schaltern statt breiter Tabelle */
  #pvPages,#pvPages tbody{display:block;width:100%}#pvPages thead{display:none}
  #pvPages tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px 10px calc(10px + var(--pv-tiefe,0) * 12px);border-bottom:1px solid var(--line)}
  #pvPages td{display:block;border:0;padding:0;white-space:normal}
  #pvPages td.pv-inhalt{flex:1 1 100%;padding-left:0!important;font-weight:600}
  #pvPages td.pv-oeff{display:none}#pvPages td.pv-oeff[data-oeff="1"]{display:block;flex:1 1 100%;font-size:.82rem;color:var(--muted)}#pvPages td.pv-oeff[data-oeff="1"]::before{content:"Öffentlich "}
  #pvPages td.pv-wer{flex:1 1 100%;font-size:.82rem;color:var(--muted)}#pvPages td.pv-wer:not(:empty)::before{content:"Sichtbar für: "}
  #pvPages .pv-z{display:inline-flex;align-items:center;gap:4px;height:auto;min-height:32px;line-height:1.2;padding:4px 10px;border:1px solid var(--line);border-radius:999px;font-size:.85rem;box-sizing:border-box}
  #pvPages .pv-z::after{content:attr(data-rn)}
  #pvPages .pv-z.an{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text,inherit)}
  #pvPages tr.pv-ziel{background:var(--tb-aktiv,var(--accent-soft));box-shadow:inset 4px 0 0 var(--accent)}#pvPages tr.pv-ziel > td{background:none}#pvPages tr.pv-ziel > td:first-child{box-shadow:none}
}
/* Kampagnen (Add-on, 06.11.2026): Maßnahmen/Rückläufer als Zeilen, Auswertung als Kacheln, Landeseite */
.kmp-mz{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.kmp-mz:last-child{border-bottom:0}.kmp-mz-t{flex:1;min-width:0}.kmp-mz-t .hint{overflow-wrap:anywhere}.kmp-mz-k{display:flex;gap:6px;flex:0 0 auto}
.kmp-kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.kmp-kachel{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--bg)}.kmp-kachel b{display:block;font-size:1.15rem;margin:2px 0}
.kmp-gruppen{display:flex;flex-wrap:wrap;gap:4px 14px}.kmp-lese th{color:var(--muted);font-weight:500;vertical-align:top}
.kmp-land{max-width:720px;margin:0 auto}.kmp-land-text{margin:8px 0 12px;line-height:1.5}.kmp-code{font-size:1.05rem}
/* Geschenkelisten (06.11.2026): Empfänger als Karte – Status, Name/Geschenk, Preis und 🕘; am iPhone umbrechend */
/* Erinnerungen verschieben (PF.erv, 06.11.2026): Zähler ↻ n (ab 3 orange), Knopf ⏰, Fenster und Verlauf; in der Glocke neben der Zeile */
.erv{display:inline-flex;align-items:center;gap:4px;margin-left:6px;vertical-align:middle;white-space:nowrap}.erv button{font:inherit;cursor:pointer}.erv .erv-n{border:1px solid var(--line,#ccc);background:transparent;border-radius:999px;padding:0 6px;font-size:.8rem;color:var(--muted);line-height:1.5}.erv .erv-n.erv-oft{border-color:#e07a00;background:#fff1e0;color:#9a4a00;font-weight:600}.erv .erv-b:not(.btn){border:0;background:transparent;padding:0 2px;font-size:.95rem;line-height:1}.erv .erv-b:not(.btn):hover{filter:brightness(.8)}
.glocke-pop .gl-zw{display:flex;align-items:center;gap:2px}.glocke-pop .gl-zw>button[role=menuitem]{flex:1 1 auto;min-width:0}.glocke-pop .gl-zw .erv{flex:none;margin:0 8px 0 0}.glocke-pop .gl-zw .erv button{display:inline-flex;flex-direction:row;padding:2px 4px}
.erv-wahl{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.erv-wahl .btn[disabled]{opacity:.45;cursor:not-allowed}.erv-dat-z{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.erv-hist-l{margin:8px 0 0 18px;padding:0}.erv-hist-l li{margin:4px 0}.erv-oft-hinweis{color:#9a4a00;background:#fff1e0;border-radius:6px;padding:6px 10px}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .erv .erv-n.erv-oft,:root:not([data-theme=light]) .erv-oft-hinweis{background:#4a2a00;color:#ffc27a;border-color:#c06a00}}:root[data-theme=dark] .erv .erv-n.erv-oft,:root[data-theme=dark] .erv-oft-hinweis{background:#4a2a00;color:#ffc27a;border-color:#c06a00}
@media (max-width:560px){.erv-wahl .btn{flex:1 1 100%}.erv-dat-z>*{flex:1 1 100%}}
/* Zahlungs-QR (06.11.2026): Fenster „Bezahlen“ – großer Code, Umschalter GiroCode / PayPal, Angaben zum Abschreiben */
.zq-wahl{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.zq-wahl .btn{min-height:44px;flex:1 1 120px}.zq-betrag{font-size:1.25rem;margin:6px 0;text-align:center}
.zq-code{padding:8px}.zq-dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:8px 0}.zq-dl dt{color:var(--muted)}.zq-dl dd{margin:0;overflow-wrap:anywhere;font-weight:500}
/* Kassieren in der Veranstaltung (06.11.2026, site/ve-kassieren.src.js): einspaltig, große Knöpfe für die Bedienung mit einer Hand am Smartphone (Präfix kas-, vk- gehört dem Videokatalog) */
.kas-zk{display:inline-flex;flex-wrap:wrap;gap:6px}.kas-k{min-height:34px;min-width:64px}.kas-sum{font-variant-numeric:tabular-nums}
.kas-karte{margin-top:6px}.kas-karte .kas-offen{display:block;margin:0 0 6px;font-size:1rem}
@media (max-width:700px){.kas-karte .kas-zk{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.kas-karte .kas-k{min-height:48px;font-size:1rem;width:100%}}
.kas-fenster{max-width:640px}.kas-fenster h3{margin:16px 0 6px;font-size:1rem}
.kas-betrag{font-size:1.6rem;font-variant-numeric:tabular-nums;text-align:right;max-width:12em}
.kas-wege{display:flex;flex-wrap:wrap;gap:6px 18px}.kas-wege .check{min-height:40px;display:inline-flex;align-items:center}
.kas-gross{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}.kas-gross .btn{min-height:52px;font-size:1.05rem}
.kas-kopf{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 4px}.kas-kopf>div{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--panel)}.kas-kopf span{display:block;font-size:.8rem;opacity:.75}.kas-kopf b{font-size:1.2rem;font-variant-numeric:tabular-nums}
.kas-liste{list-style:none;margin:0;padding:0}.kas-liste>li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 0;border-bottom:1px solid var(--line)}.kas-liste .btn{min-height:40px}
.kas-storno{opacity:.6}.kas-storno b{text-decoration:line-through}
.kas-fertig{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--accent)}.kas-ok{color:var(--ok,#1a7f37);font-weight:600}
.kas-abr td,.kas-abr th{font-variant-numeric:tabular-nums}.kas-r{text-align:right}
@media (max-width:700px){.kas-fenster{max-width:none}.kas-gross{grid-template-columns:1fr}.kas-betrag{max-width:none;width:100%}}
/* Fenster einer Arbeitsansicht: Gründe fehlender Einträge, „Kommt automatisch dazu“ (grau, nicht sortierbar), iPhone einspaltig (06.11.2026) */
.ein-fehlt .mp-e>span:not(.hint){color:var(--muted)}.ein-weg .mp-e>span:not(.hint){text-decoration:line-through}.ein-grund{white-space:normal}.ein-auto{margin-top:10px}.ein-auto-z{opacity:.7;background:var(--bg-soft,transparent)}.ein-auto-z .mp-e{color:var(--muted)}.ein-auto-z .btn{opacity:1}@media (max-width:560px){#einF .ve-row2{grid-template-columns:minmax(0,1fr)}#einF .mp-knoepfe{display:flex;flex-direction:column;align-items:stretch;gap:6px}#einF .mp-knoepfe>*{width:100%;max-width:none}#einF .mp-e{flex-wrap:wrap;min-width:0}#einF .mp-e .hint{flex-basis:100%}#einF .ein-leiste{flex-wrap:wrap}#einF .ein-auto-z{flex-wrap:wrap}#einF .ein-auto-z .btn{width:100%}}
/* Komplexe Fenster am iPhone, Paket D: Statuszeilen (Verleih-Vorgang, Paket, Idee …) (PC: eine Zeile mit „·“, iPhone: untereinander), feste Positionen als Lesezeile */
.kp-stand>div{display:inline}.kp-stand>div+div::before{content:" · "}.vl-pos-lese{padding:4px 0 6px;border-bottom:1px solid var(--line)}.vl-pos-lese .kp-wert{font-weight:600}
@media (max-width:640px){.kp-stand>div{display:block;padding:1px 0}.kp-stand>div+div::before{content:none}.kp-fenster .qr-ein-z{flex-wrap:wrap}}

/* „HMC per Claude“ S2 (06.11.2026): Vorschläge von Claude – Vorschau im Fenster, Not-Aus, ältere als 3 Tage rot (site/ki-vorschlag.src.js) */
.kv-titel{margin:0 0 4px}.kv-ki{cursor:help}
.kv-begr{margin:8px 0;padding:8px 10px;background:var(--soft,#eef4f5);border-radius:8px;white-space:pre-wrap}
.kv-zeile{display:flex;gap:10px;margin:3px 0}.kv-lab{min-width:90px;color:var(--muted)}.kv-wert{flex:1;min-width:0;overflow-wrap:anywhere}
.kv-text{white-space:pre-wrap;font:inherit;background:var(--panel,#fff);border:1px solid var(--line,#ddd);border-radius:8px;padding:10px 12px;margin:6px 0;max-height:50vh;overflow:auto}
.kv-mail{width:100%;height:55vh;border:1px solid var(--line,#ccc);border-radius:8px;background:#fff}
.kv-bild{display:block;max-width:100%;max-height:50vh;border-radius:8px;margin:8px 0}
.kv-bezug{margin:8px 0}.kv-bezug summary{cursor:pointer;font-weight:600}
.kv-stand{padding:8px 10px;border-radius:8px;background:var(--soft,#eef4f5)}.kv-abgelehnt{color:var(--danger)}
.kv-pause{padding:8px 12px;border:1px solid var(--danger);border-radius:8px;color:var(--danger)}.kv-rot{color:var(--danger);font-weight:600}
.kv-not .btn,.kv-pause .btn{margin-left:8px}
@media (max-width:640px){.kv-zeile{flex-direction:column;gap:0}.kv-mail{height:50vh}}
/* Komplexe Fenster am iPhone, Paket E2: Vorlage für Aufgaben, Umfrage, Fristen-Vorlagen */
.um-klapp{border:1px solid var(--line);border-radius:8px;padding:4px 10px;margin:0 0 8px}.um-klapp>summary{cursor:pointer;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;padding:4px 0;font-weight:600}.um-klapp .um-k-z{font-weight:400}.um-klapp[open]>summary{margin-bottom:6px}
.fr-vz{flex-wrap:nowrap}.kp-lese .zl-a button[disabled]{display:none}
@media (max-width:640px){.kp-fenster .fr-vz{flex-wrap:wrap}.kp-fenster .fr-vz [data-vn]{flex:1 1 100%!important}.kp-fenster .zl-a{flex-wrap:wrap}.kp-fenster .zl-a>.field{flex:1 1 100%!important;max-width:none!important}.kp-fenster .zl-u{margin-left:12px!important}}
.kgs-klapp{margin:0 0 10px}.kgs-klapp>.kgs-kopf{margin:0}.kgs-klapp>.kgs-kopf.kgs-offen{border-bottom-left-radius:0;border-bottom-right-radius:0}.kgs-klapp-inhalt{border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius);padding:10px 12px 2px;background:var(--bg)}
/* Seiten am iPhone, Paket F1: passt der Titel nicht neben die Knöpfe, steht er in einer eigenen Zeile (statt „…“), die Knöpfe rechts darunter */
@media (max-width:640px){.page-head.pm-titel-zeile,.kopf-fest .page-head.pm-titel-zeile{flex-wrap:wrap!important;row-gap:4px}.page-head.pm-titel-zeile>h1,.kopf-fest .page-head.pm-titel-zeile>h1{flex:1 1 100%!important;max-width:none!important;min-width:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.page-head.pm-titel-zeile>h1 *{white-space:normal!important}.page-head.pm-titel-zeile>.actions{flex:1 1 100%!important;justify-content:flex-end;margin-left:0}}
@media (max-width:640px){.main .ws-kopf .page-head{flex-wrap:wrap!important;row-gap:4px}.main .ws-kopf .page-head>h1{flex:1 1 100%!important;max-width:none!important;white-space:normal!important;overflow:visible!important}.main .ws-kopf .page-head>.actions{flex:1 1 100%!important;flex-wrap:wrap!important;justify-content:flex-start;gap:6px}
  nav.tabs{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}nav.tabs::-webkit-scrollbar{display:none}nav.tabs>a{flex:0 0 auto}}
@media (max-width:640px){.page-head.pm-titel-zeile>.fav-stern+h1,.kopf-fest .page-head.pm-titel-zeile>.fav-stern+h1{flex-basis:calc(100% - 44px)!important}nav.tabs{max-width:100%;contain:inline-size}}
/* Seiten am iPhone, Paket F2 (Harald 06.11.2026): Unterpunkte der Mandanten-Seiten brechen um statt rechts hinauszulaufen; Zähler der Angaben kurz */
@media (max-width:640px){.md-unter{flex-wrap:wrap;overflow-x:visible;row-gap:6px}.md-unter>.md-grau{white-space:normal}[data-mdzahl]{white-space:nowrap}}
/* Seiten am iPhone, Paket F3 (Harald 06.11.2026): Plattform → Zeilenrechte – Auswahl „Mandant“ volle Breite, Knöpfe und Sicherung geordnet untereinander */
@media (max-width:640px){.zr label:has(>#zrMandant){display:flex;flex-direction:column;gap:4px}#zrMandant{max-width:100%;width:100%;min-width:0}.zr .btn-row:has(>#zrProbe){display:flex;flex-wrap:wrap;gap:6px}#zrFid{flex:1 1 100%;min-width:0;width:100%}}
/* Rollengruppen, ausgeblendete Rollen, Kontext-Filter (Rollen & Lesezugänge, 06.11.2026) */
.ro-gkopf th{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.ro-gk{background:none;border:0;padding:2px 4px;font:inherit;font-weight:600;color:inherit;cursor:pointer}
.ro-gk:hover,.ro-gk:focus-visible{color:var(--link)}
.ro-platz{width:10px;min-width:10px;padding:0!important;background:var(--accent-soft)}
tr.ro-aus td{opacity:.7}
.ro-aus-badge{font-weight:400;margin-left:4px}
.rl-aus-hinweis .btn{margin-left:4px}
.rl-kx{margin:6px 0 8px}
.help-rl{margin:0 0 10px;justify-content:flex-start}
/* Fensterkopf am iPhone (Harald 07.11.2026, global für alle Fenster): fest bleiben nur eine Zeile Überschrift (ganz im Tooltip, Tipp zeigt sie ganz) und die Knopfleiste;
   „Ändern: …“ einzeilig mit ⓘ unter dem Kopf; bei offener Tastatur nur die Knopfleiste; ein Feld mit Fokus rutscht nie unter den Kopf (scroll-margin, --dlg-kopf-h aus core.src.js) */
.wer-darf .wd-i{display:none}
.dlg :is(input,textarea,select,[contenteditable=true]){scroll-margin-top:calc(var(--dlg-kopf-h,0px) + 30px);scroll-margin-bottom:12px}
@media (max-width:639.98px){
  .dlg-kopf h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;min-width:0;max-width:100%;box-sizing:border-box}.dlg-kopf{align-self:stretch}.dlg-kopf h2.dlg-h2-voll{white-space:normal;overflow:visible}
  .dlg-ort{flex-wrap:nowrap;white-space:nowrap;overflow:hidden;min-width:0}.dlg-ort .dlg-ort-t{min-width:0;overflow:hidden;text-overflow:ellipsis}.dlg-ort .dlg-mand{flex:0 1 auto;min-width:0}.dlg-ort .dlg-mand-n{max-width:36vw}
  .wer-darf{flex-wrap:nowrap;cursor:pointer}.wer-darf>span{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wer-darf>.wer-darf-link{display:none}
  .wer-darf .wd-i{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:28px;min-height:28px;margin:-4px -6px -4px 0;padding:0;border:0;background:none;color:var(--link);line-height:1;cursor:pointer}
  .wer-darf .wd-i svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .wer-darf.wd-auf{flex-wrap:wrap}.wer-darf.wd-auf>span{white-space:normal;overflow:visible;flex-basis:calc(100% - 60px)}.wer-darf.wd-auf>.wer-darf-link{display:inline}
  .dlg-kopf+.wer-darf{margin:0 0 10px}
  .dlg-wrap.dlg-tastatur .dlg-kopf>:is(.dlg-ort,h2,.wer-darf,.dlg-mehr,.dlg-x,.dlg-zieh,.dlg-klapp,.dlg-voll-k){display:none!important}
  .dlg-wrap.dlg-tastatur .dlg-kopf{padding-top:6px;padding-bottom:6px}
}
.gs-jahr{max-width:200px}
/* „Entscheiden“ (früher „Vorlesen & entscheiden“, Glocke durchgehen, 07.11.2026): Steuerleiste, Antwort-Knöpfe oben, Karte, Vorschlag der KI, Rückfrage mit abgeblendeter Knopfleiste; iPhone einspaltig */
.gv-fenster{min-width:0}.gv-steuer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 10px}.gv-pos{font-size:1.05rem;margin-right:auto}.gv-steuer-kn{display:flex;flex-wrap:wrap;gap:6px}.gv-auto{font-size:.9rem}
.gv-kn{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;transition:opacity .15s}.gv-kn.gv-ab{opacity:.4;pointer-events:none}.gv-versch{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.gv-datum{display:inline-flex;align-items:center;gap:4px;font-size:.9rem}.gv-datum input{max-width:150px}
.gv-frage{border:2px solid var(--accent,#2f6f4f);border-radius:10px;padding:10px 12px;margin:0 0 10px;background:var(--card,#fff);box-shadow:0 4px 18px rgba(0,0,0,.12)}.gv-frage textarea{width:100%;box-sizing:border-box;margin-top:4px}.gv-grund-l{display:block;margin-top:6px}.gv-frage-kn{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.gv-karte{border:1px solid var(--line,#ddd);border-radius:10px;padding:10px 12px;margin:0 0 10px;overflow-wrap:anywhere}.gv-art{font-size:.85rem;color:var(--muted,#666)}.gv-titel{margin:2px 0 6px;font-size:1.15rem}.gv-info{margin:0 0 6px}.gv-punkte{margin:6px 0;padding-left:1.4em}
.gv-ki{margin-top:10px;padding:8px 10px;border-radius:8px;background:rgba(124,92,255,.08);border-left:3px solid #7c5cff}.gv-ki-kopf{display:inline-block;margin-right:6px}.gv-ki p{margin:4px 0}
.gv-sprache{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.gv-bef{flex:1 1 200px;min-width:0}.gv-hoer{flex:1 1 100%;margin:2px 0 0}.gv-mic-an{background:#c0392b!important;color:#fff!important;border-color:#c0392b!important}
.ent-l-kopf .ent-vor{margin-left:auto}.gv-block{margin-top:8px}.fv-stand{font-weight:600;margin:0 0 6px}.fv-karte{background:var(--panel,transparent)}.fv-f{margin:0 0 4px}.fv-ist{margin:4px 0 0}.fv-anders-l{display:block;margin-top:6px}.fv-anders-l textarea{width:100%;box-sizing:border-box;margin-top:4px}
@media (max-width:600px){.fv-kn>.btn{flex:1 1 calc(50% - 6px);min-height:44px}.ent-l-kopf .ent-vor{margin-left:0;flex:1 1 100%;min-height:40px}}
/* „Entscheiden“ (Harald 07.11.2026): Knopf „🔊 Vorlesen“ / „🔇 Stopp“ neben Schließen (ohne Auswahlmaske); Selbst lesen ohne 🎤-Zeile und „🔊 Nochmal“;
   Hinweis einzeilig mit ⓘ; der Knopf des Vorschlags im Stil „primary“ mit Ring (hell und dunkel über --accent) */
.gv-ton[aria-pressed=true],.ent-p-ton[aria-pressed=true],.ent-ton[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}
.btn.gv-vorschlag{font-weight:700;box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--accent)}
.gv-manuell .fv-nochmal,.gv-manuell #gvPause{display:none!important}
.gv-hoer{display:flex;align-items:flex-start;gap:4px}.gv-hoer>#gvHoer{flex:1;min-width:0}.gv-i{border:0;background:none;color:var(--link);font-size:1.05rem;line-height:1.2;padding:0 4px;cursor:pointer;flex:none}.gv-hoer-mehr{flex:1 1 100%;margin:2px 0 0}
@media (max-width:600px){.gv-steuer{gap:6px}.gv-pos{flex:1 1 100%}.gv-kn>.btn,.gv-versch>.btn,.gv-frage-kn>.btn{flex:1 1 calc(50% - 6px);min-height:44px}.gv-versch{display:flex;flex:1 1 100%}.gv-datum{flex:1 1 100%}.gv-datum input{flex:1;max-width:none}}
/* Abhilfe mit Prüfliste und Selbstzuweisung (07.11.2026): was fehlt ✗, was vorhanden ist ✓, wartende Anfrage •; ⏳ am Häkchen; hervorgehobenes Recht im Fenster des Anwenders */
.abh-pruef{list-style:none;margin:6px 0 8px;padding:0}.abh-pruef li{display:flex;gap:6px;align-items:baseline;padding:2px 0;overflow-wrap:anywhere}.abh-pruef .abh-ja>span{color:#1e7e34}.abh-pruef .abh-nein>span{color:#c0392b;font-weight:700}.abh-pruef .abh-info>span{color:var(--muted,#777)}
.ut-hervor{outline:2px solid #e6a100;outline-offset:2px;border-radius:4px;background:rgba(230,161,0,.12)}
/* Reiter „Rechte“ (07.11.2026): Abschnitte Adressen · Allgemein · Weitere; wartende Selbstzuweisung = Haken blau, ausgegraut und gestrichelt, daneben „⏳ wartet auf Zustimmung von …“ */
#utF .ut-rabschnitt{margin:6px 0}#utF .ut-rabschnitt .ut-rechte{margin:4px 0 6px}
#utF .ut-wartend input[type=checkbox]{accent-color:#2f6fdb;opacity:.5;outline:2px dashed #2f6fdb;outline-offset:2px;border-radius:3px}
#utF .ut-wartet-zu{display:inline-block;margin-left:8px;font-size:.85rem;color:#2f6fdb;cursor:help;overflow-wrap:anywhere;white-space:normal}
@media (max-width:560px){#utF .ut-wartet-zu{display:block;margin:2px 0 0}}
/* „Später“ mit Datum (07.11.2026, global): kleines Pop-up am Knopf – Auswahl 2×2, darunter Datum und „Übernehmen“; am iPhone einspaltig */
.sp-wahl{position:fixed;z-index:7000;background:var(--panel,#fff);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.22);padding:10px;width:300px;max-width:calc(100vw - 16px);box-sizing:border-box;display:flex;flex-direction:column;gap:8px}
.sp-wahl-k{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sp-wahl-k .btn{white-space:normal}.sp-wahl-k .btn[aria-pressed=true]{outline:2px solid var(--accent,#2f6fdb);outline-offset:1px}
.sp-wahl-d{display:flex;flex-direction:column;gap:3px;font-size:.9rem}.sp-wahl-d input{width:100%;box-sizing:border-box}.sp-wahl-f:empty{display:none}.sp-wahl-f{margin:0}
.sp-wahl-a{display:flex;gap:6px;flex-wrap:wrap}
@media (max-width:600px){.sp-wahl-k{grid-template-columns:1fr}.sp-wahl-a{flex-direction:column}.sp-wahl-a .btn{width:100%}}
/* Abgrenzung im Fenster und zum Hintergrund (Harald 07.11.2026, zuerst Geschenkelisten; seit 08.11.2026 Standard für alle Fenster – DLG_ABGRENZUNG_ALLE in core.src.js, einzeln aus: dialog → abgrenzung:false).
   Hintergrund rund 58 % abgedunkelt (sonst 45 %) – gestapelt zählt nur das oberste Fenster; Bereiche (Tabellen im Fenster, .dlg-bereich) mit Linie, Abstand und kleiner Überschrift. */
.dlg-wrap.dlg-abgr:not(.dlg-nm):not(.dlg-zu):not(.ms-neben):not(.dlg-anl){background:rgba(0,0,0,.58)}
.dlg-bereich-titel{display:none}
.dlg-abgr .dlg-bereich-titel{display:block;margin:0 0 6px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.dlg-abgr .dlg form .tab-rahmen:not(.tab-rahmen .tab-rahmen):not(.km-pop .tab-rahmen),.dlg-abgr .dlg .dlg-bereich{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}
.dlg-abgr .dlg .dlg-kopf+.dlg-bereich,.dlg-abgr .dlg form .dlg-kopf+.tab-rahmen,.dlg-abgr .dlg form>.tab-rahmen:first-child{border-top:0;margin-top:0;padding-top:0} /* direkt unter dem Kopf keine Linie (Fenster ohne weitere Bereiche) */
.dlg-abgr .dlg .kgs-klapp{margin-bottom:4px}
/* Deckungsgleiche Folgefenster (seit 08.11.2026 Standard, dialog → deckungsgleich): Breite/Höhe des Fensters darunter gelten auch über die Standard-Höchstbreite hinaus */
.dlg.dlg-deckend{max-width:calc(100vw - 24px);max-height:calc(100dvh - 4px);margin:0;box-sizing:border-box} /* Lage setzt der Baustein (Ausrichten auf das Fenster darunter) */
/* Knopf „🔊 Vorlesen“ in jedem Fenster mit Fragen (08.11.2026): am iPhone nur das Symbol, Text im Tooltip */
.ent-l-kopf .ent-ton{margin-left:6px}@media (max-width:600px){.ent-ton .ent-ton-t{display:none}.ent-ton{min-width:44px}.ent-l-kopf .ent-ton{margin-left:0}}
/* Ideenlisten Stufe 1 (08.11.2026): Schlagwörter (Feld, Abzeichen, Auswahl) und Untertabellen unter dem Kopf als Zusammenfassung */
.sw-feld{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:34px}.sw-abz{display:flex;flex-wrap:wrap;gap:4px}
.sw-tag{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:.85em;white-space:nowrap;margin:1px 2px 1px 0}
.sw-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px 12px;max-height:50vh;overflow:auto;margin:4px 0 10px}.sw-neu{margin-top:6px}
.xt-unter{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.xt-unter-titel{margin:0 0 6px;font-size:.95rem}
@media (max-width:600px){.sw-liste{grid-template-columns:1fr}}
/* Pop-up-Menüs immer ganz im Bild (08.11.2026, global): min-width:max-content schlug max-width – lange Einträge („Nach dem Speichern nächsten Datensatz öffnen: aus“, Messenger)
   zogen das ☰ breiter als den Bildschirm. Jetzt: so breit wie der Inhalt, höchstens Bildschirm − 16 px, Text bricht nur dann um (.pop-umbruch, setzt popImBild, wenn das Menü die volle Breite erreicht); Lage korrigiert popImBild (core). */
.km-pop,.pm-pop,.act-pop{min-width:min(190px,calc(100vw - 16px));width:max-content;max-width:calc(100vw - 16px);box-sizing:border-box}
.pop-umbruch a,.pop-umbruch button{white-space:normal!important;overflow-wrap:anywhere}
/* Fenster der Einzelfrage (Harald 08.11.2026, iPhone): „‹ vorige“, Zähler, „nächste ›“ in einer Zeile; „Freigegeben“ hervorgehoben, wenn alle Einzelfragen beantwortet sind */
.ent-p-bl{flex:1 1 100%}
@media (max-width:600px){.ent-p-bl{flex-wrap:nowrap;gap:6px;width:100%}.ent-p-bl [data-ppos]{flex:1 1 auto;min-width:0;text-align:center;font-size:.82em;line-height:1.25}.ent-p-bl button{flex:0 0 auto;white-space:nowrap}}
.ent-knoepfe .ent-frei-dran{box-shadow:0 0 0 3px var(--accent-soft),0 0 0 5px var(--accent);animation:ent-frei-puls 1.2s ease-in-out 2}
@keyframes ent-frei-puls{50%{box-shadow:0 0 0 6px var(--accent-soft),0 0 0 8px var(--accent)}}
/* Schild „Beta“ (Harald 08.11.2026): klein, hinter dem Namen im Menü, Modul-Kopf, Katalog, Preisliste und Hilfe-Leiste; Antippen zeigt die Erklärung (Symbol-Info) */
.beta-schild{display:inline-block;margin-left:6px;padding:0 5px;border-radius:4px;border:1px solid #b45309;color:#b45309;background:#fff7ed;font-size:.68rem;font-weight:700;line-height:1.45;letter-spacing:.02em;vertical-align:middle;white-space:nowrap;cursor:help;flex:none}
h1 .beta-schild,h3 .beta-schild{font-size:.62em;vertical-align:.25em}
#sidebar a .beta-schild{margin-left:auto;margin-right:2px}
.beta-schild::before{content:"Beta"}
.beta-schild:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
:root[data-theme="dark"] .beta-schild{background:#3d2a12;color:#f5c27a;border-color:#f5c27a}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .beta-schild{background:#3d2a12;color:#f5c27a;border-color:#f5c27a}}
/* Preisliste nach Paketen (15.11.2026): kurze Blöcke mit zwei Spalten (Name, Preis), passen aufs iPhone; enthaltene Leistungen eingerückt; Preisstand unter der Überschrift */
.pl-zwei{max-width:620px;table-layout:fixed}.pl-zwei td.num,.pl-zwei th.num{width:8.5em;white-space:normal;overflow-wrap:normal;hyphens:auto}.pl-zwei tbody th[scope=row],.pl-zwei tbody td:first-child{min-width:0}.pl-einzel td:first-child{padding-left:1.6em;font-size:.9rem}.pl-einzel td{color:var(--muted)}.pl-einzel .pl-name{color:var(--link)}
.pl-unter{margin:2px 0 12px;max-width:620px}.pl-preisstand{margin:0 0 8px;font-size:.88rem;color:var(--muted)}.pl-abgelaufen{color:var(--danger,#b42318)}.pl-pruefen{color:var(--warn,#9a6700)}.pl-lp-inhalt{margin:4px 0 8px;padding-left:18px}
