:root{
  --side:#5b8fc7; --side-dark:#0d3b6e; --side-hover:#4a7db5; --bg:#eef0f2; --card:#fff; --text:#333;
  --muted:#777; --line:#e3e6ea; --head:#e9ecef; --blau:#2f6db5; --orange:#e8870e; --gruen:#1e9e6e;
  --rot:#d23b2b; --grau:#c8c8c8; --dunkel:#555;
}
*{box-sizing:border-box}
body{margin:0;font:14px/1.45 "Open Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);display:flex;min-height:100vh}
a{color:var(--blau);text-decoration:none}
a:hover{text-decoration:underline}

/* Sidebar */
.sidebar{width:230px;flex:none;background:var(--side);color:#fff;position:sticky;top:0;height:100vh}
.logo{display:flex;align-items:flex-end;gap:10px;background:#fff;height:58px;padding:8px 14px;color:var(--side-dark)}
.logo:hover{text-decoration:none}
.logo small{margin-left:auto;color:#999;font-size:16px;letter-spacing:1px}
.logo-mark{background:var(--side);color:#fff;font-weight:800;padding:4px 8px;font-size:20px}
.logo-mark.big{font-size:32px;display:inline-block;margin-bottom:8px}
.sidebar nav a{display:block;color:#fff;padding:11px 18px;border-bottom:1px solid rgba(255,255,255,.15)}
.sidebar nav a:hover{background:var(--side-hover);text-decoration:none}
.sidebar nav a.active{background:var(--side-dark)}
.sidebar nav a.sub{padding-left:34px;font-size:13px;opacity:.9}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{height:58px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 16px}
.burger{display:none;border:0;background:none;font-size:22px;cursor:pointer}
.suche input{width:280px;max-width:50vw;padding:8px 10px;border:1px solid var(--line);background:#f4f5f6;border-radius:3px}
.user{margin-left:auto;color:var(--muted);font-size:13px;white-space:nowrap}
.content{padding:16px}
.page-title{color:#5b8fc7;font-size:24px;font-weight:600;text-transform:uppercase;margin:4px 0 14px}
.crumb{background:#fff;padding:8px 14px;margin-bottom:12px;color:var(--muted)}

/* Flash */
.flash{padding:9px 12px;margin-bottom:12px;border-radius:3px;background:#e6f4ee;border-left:4px solid var(--gruen)}
.flash.fehler{background:#fdecea;border-color:var(--rot)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:3px;padding:7px 13px;font:inherit;cursor:pointer;background:#e4e4e4;color:#333;white-space:nowrap;list-style:none}
.btn:hover{filter:brightness(.95);text-decoration:none}
.btn.klein{padding:4px 9px;font-size:12.5px}
.btn.grau{background:var(--grau)}.btn.orange{background:var(--orange);color:#fff}
.btn.gruen{background:var(--gruen);color:#fff;font-weight:700}.btn.rot{background:var(--rot);color:#fff}
.btn.dunkel{background:#bbb;color:#222}.btn.primary{background:var(--blau);color:#fff;width:100%;justify-content:center;padding:10px}
summary.btn::-webkit-details-marker{display:none}
.ico{display:inline-grid;place-items:center;width:26px;height:22px;border:1px solid #ccc;border-radius:3px;background:#eee;color:#333;font-size:12px;cursor:pointer;padding:0}
.ico.orange{background:var(--orange);border-color:var(--orange);color:#fff}
.ico.rot{background:var(--rot);border-color:var(--rot);color:#fff}
.ico:hover{text-decoration:none;filter:brightness(.92)}
form.inline{display:inline}

/* Toolbar + Dropdowns */
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}
.count{font-weight:600}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
details.dd{position:relative}
.dd .menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:220px;background:#fff;border:1px solid #ddd;box-shadow:0 6px 18px rgba(0,0,0,.15);border-radius:3px;padding:4px 0}
.dd.rechts .menu{left:auto;right:0}
.dd .menu a{display:block;padding:6px 14px;color:#333}
.dd .menu a:hover{background:#f0f2f4;text-decoration:none}
.dd .menu a.sel{background:#bbb;color:#fff}
.dd .menu-h{font-weight:700;padding:6px 14px;border-bottom:1px solid var(--line);margin-bottom:4px}
.dd .menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}

/* Karten + Tabellen */
.card{background:var(--card);padding:14px;margin-bottom:14px;border:0}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.card h2{font-size:20px;font-weight:500;margin:0}
.card h3{font-size:16px;margin:18px 0 4px}
.table-wrap{overflow-x:auto}
table.grid{width:100%;border-collapse:collapse}
.grid th{background:var(--head);text-align:left;font-weight:600;padding:8px 7px;white-space:nowrap}
.grid th a{color:#333}
.grid td{padding:8px 7px;border-top:1px solid var(--line);vertical-align:top}
.grid tbody tr{cursor:pointer}
.grid tbody tr:hover{background:#f7f9fb}
.grid tfoot th{border-top:2px solid #ccc}
.grid .r{text-align:right}
td.akt{white-space:nowrap}
td.akt a{font-weight:700;color:#333}
td.akt.warn a,td.akt.warn{color:var(--rot)}
td.tb{white-space:nowrap}
.nowrap{white-space:nowrap}
.leer{color:var(--muted);padding:10px 7px}
table.kv{width:100%;border-collapse:collapse}
.kv th{width:40%;text-align:left;font-weight:400;padding:8px 6px;border-top:1px solid var(--line);vertical-align:top}
.kv td{padding:8px 6px;border-top:1px solid var(--line)}
.kv small{color:var(--muted)}
.nachricht{white-space:pre-wrap;background:#f7f7f7;padding:8px;margin-top:6px}

/* Statuspillen */
.pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;white-space:nowrap;background:#ddd}
.pill.orange{background:#fde3c2;color:#8a4b00}.pill.gelb{background:#fff3c4;color:#6b5600}
.pill.rot{background:#f8d3cf;color:#8b1e12}.pill.lila{background:#e7dcf6;color:#4d2f7a}
.pill.blau{background:#d6e6f8;color:#164a85}.pill.gruen{background:#d2efe2;color:#0f5b3d}
.pill.tuerkis{background:#cdeef0;color:#0d5a60}.pill.dunkel{background:#555;color:#fff}.pill.grau{background:#e4e4e4}

/* Akt-Kopf */
.akt-kopf{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.status-form{display:flex;gap:6px;align-items:center}
.status-form select{padding:5px}
.tabs{display:flex;flex-wrap:wrap;gap:5px}
.tabs a{background:#e2e2e2;color:#333;padding:6px 11px;border-radius:3px}
.tabs a.on{background:#bdbdbd;font-weight:600}
.tabs a:hover{text-decoration:none;filter:brightness(.95)}
.spalten{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.rechts-unten{text-align:right}

/* Formulare */
fieldset.card{border:0}
legend{font-size:18px;font-weight:500;padding:0;float:left;width:100%;margin-bottom:10px}
label{display:flex;flex-direction:column;gap:3px;font-size:12.5px;font-weight:600;color:#444}
label.check{flex-direction:row;align-items:center;gap:8px;margin-bottom:10px}
input,select,textarea{font:inherit;font-weight:400;padding:7px 8px;border:1px solid #ccc;border-radius:3px;background:#fff;width:100%}
input[type=checkbox]{width:auto}
textarea{resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;clear:both;margin-bottom:10px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}
.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:10px}
.span2{grid-column:span 2}
.aktionen{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:12px}
.aktionen small{margin-right:auto;color:var(--muted)}

dialog{border:0;border-radius:4px;padding:0;width:min(760px,94vw);box-shadow:0 10px 40px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(0,0,0,.45)}
dialog form{padding:0 18px 16px}
dialog h3{margin:0 -18px 14px;padding:14px 18px;background:#e9e9e9;font-weight:500}
dialog label{margin-bottom:8px}

/* Login */
.login-body{display:grid;place-items:center;background:var(--side)}
.login-box{background:#fff;padding:28px;width:min(340px,92vw);display:flex;flex-direction:column;gap:12px;border-radius:4px;text-align:center}
.login-box h1{margin:0 0 6px;font-weight:500;color:var(--side-dark)}
.login-box label{text-align:left}

/* Mobil */
@media (max-width:900px){
  .sidebar{position:fixed;left:-240px;z-index:50;transition:left .2s}
  body.nav-open .sidebar{left:0}
  .burger{display:block}
  .spalten,.grid2{grid-template-columns:1fr}
  .grid4,.grid5{grid-template-columns:1fr 1fr}
  .suche input{width:100%}
  .user{display:none}
}
@media print{
  .sidebar,.topbar,.tabs,.status-form select,.btn,.ico,.rechts-unten{display:none!important}
  body{background:#fff}
}

/* E-Mail */
.mailform{display:flex;flex-direction:column;gap:10px}
.inline-label{flex-direction:row;align-items:center;gap:8px}
.inline-label select{width:auto}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip{border:1px solid #c9d6e6;background:#eef4fb;color:#1f4f87;border-radius:12px;padding:3px 10px;font:inherit;font-size:12.5px;cursor:pointer}
.chip:hover{background:#dde9f7}
.hint{color:#777;font-size:12.5px}
code{background:#f1f1f1;padding:1px 4px;border-radius:3px;font-size:12px}

/* Etappe 2 */
.crumb-info{float:right;color:#888;font-size:12.5px}
.textblock{margin-bottom:4px}
.textblock details>summary{list-style:none;cursor:pointer}
.textblock details>summary::-webkit-details-marker{display:none}
.textblock details[open]>summary .ico{background:#999;border-color:#999}
.textblock .txt{white-space:pre-wrap;max-width:85ch}
.leer-text{color:#999;font-style:italic}
.tb-meta{font-size:11.5px;color:#888;margin:0 0 14px 2px;min-height:1em}
.tb-form{display:flex;flex-direction:column;gap:8px;margin:6px 0 12px}
.tb-form select{width:auto;max-width:60%}
.aktionen.links{justify-content:flex-start;margin:0 0 10px}
.neu-folge{margin:0 0 14px}
.neu-folge>summary{list-style:none;display:inline-flex;margin-bottom:8px}
.neu-folge>summary::-webkit-details-marker{display:none}
.spalten3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}
.spalten3 h2,.card>h2{font-size:17px;margin:0 0 8px;font-weight:600}
.opt{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400;color:#333;font-size:14px;padding:3px 0}
.opt input{width:auto;margin-top:3px}
.drop{border:2px dashed #ccd;border-radius:4px;padding:16px;text-align:center;color:#777;margin-bottom:10px}
.drop.over{border-color:var(--blau);color:var(--blau)}
.drop input[type=file]{display:none}
.drop label{display:inline;font-size:14px;font-weight:400;cursor:pointer}
.fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.foto{border:1px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:6px}
.foto img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eee;display:block}
.foto form{display:flex;flex-direction:column;gap:4px}
.foto .opt{font-size:12.5px;padding:0}
.foto-knoepfe,.file-knoepfe{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:4px}
.files{display:flex;flex-direction:column;gap:10px}
.file{display:flex;gap:12px;border:1px solid var(--line);padding:10px}
.file .thumb{width:64px;height:84px;flex:none;border:1px solid var(--line);display:grid;place-items:center;background:#f3f4f6;color:#777;font:600 12px monospace;overflow:hidden}
.file .thumb img{width:100%;height:100%;object-fit:cover}
.file .meta{font-size:12.5px;color:#777;flex:1;min-width:0}
.file .meta b{color:#333;font-size:14px;word-break:break-all}
.btn.sel{background:#bbb}
.subtabs{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;margin-bottom:8px}
.subtabs a{background:#e2e2e2;color:#333;padding:4px 9px;border-radius:3px;font-size:12.5px}
.subtabs a.on{background:#bdbdbd;font-weight:600}
.kalk input{width:90px;text-align:right;padding:4px 6px}
.kalk .textrow td{color:#666}
.bem summary{font-size:12px;color:#888;cursor:pointer}
.bem{font-size:12.5px;color:#666}
.summe-card{max-width:720px;margin-left:auto}
.kv td.r{text-align:right}
dialog .dlg-form{padding:0 18px 14px;display:flex;flex-direction:column;gap:10px}
dialog .dlg-form h3{margin:0 -18px 4px;padding:14px 18px;background:#e9e9e9;font-weight:500}
.dlg-liste{max-height:55vh;overflow:auto}
.dlg-liste tbody tr{cursor:pointer}
#dlg-suche{width:min(1100px,96vw)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.grid3 .span-all{grid-column:1/-1}
.dash{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.matrix td,.matrix th{text-align:center}
.matrix tbody th{text-align:left;background:none}
.linkliste{margin:0;padding-left:18px;line-height:2}
.klein-input{width:140px}
.chip-x{border:0;background:none;color:#a33;cursor:pointer;padding:0 0 0 4px}
.filters select,.filters input{width:auto}
@media (max-width:900px){.spalten3,.dash,.grid3{grid-template-columns:1fr}}
.dash{grid-template-columns:repeat(auto-fit,minmax(min(100%,620px),1fr))}
.dash>.card,.spalten>*{min-width:0}
.textblock details[open]~.txt,.textblock details[open]~.leer-text{display:none}
.kalk input.zw{width:56px}
.kalk .abschnittrow td{background:#f1f4f8;border-top:2px solid #cfd8e3}
.file-zeile{padding:6px 0;border-top:1px solid var(--line)}
.el-toggle{flex-direction:row;align-items:center;gap:4px;font-weight:400;font-size:12.5px;color:#555;white-space:nowrap;cursor:pointer;border:1px solid #ccc;border-radius:3px;padding:2px 6px;background:#fff}
.el-toggle input{width:auto}
.el-toggle.an{background:#fff3c4;border-color:#e0c76a;color:#6b5600;font-weight:600}
.kalk tr.el-zeile td{background:#fffbea}
.pruef-link{font-size:12px}
.kalk tr.pruefrow>td{background:#f7f9fc;border-top:0}
.prueftab table{width:100%;border-collapse:collapse;font-size:12.5px;background:#fff}
.prueftab th{background:#e9edf2;padding:5px;text-align:left;font-weight:600;white-space:nowrap}
.prueftab td{padding:3px;border-top:1px solid #e6e9ee;vertical-align:top}
.prueftab input,.prueftab textarea{padding:3px 5px;font-size:12.5px}
.prueftab .pp-nr{width:46px}.prueftab .pp-z{width:84px;text-align:right}.prueftab .pp-eh{width:56px}.prueftab .pp-bem{min-width:170px}
.prueftab textarea{min-width:220px}
.prueftab .diff{color:#b3261e;font-weight:600}
.prueftab tfoot td{border-top:2px solid #ccc;padding:5px}
.prueftab .aktionen{margin-top:8px}
/* ---- Rechnungen ---- */
.re-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.re-titel{font-size:17px;font-weight:600}
.re-aktionen{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.re-aktionen form{margin:0}
.linkbtn{background:none;border:0;padding:8px 14px;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}
.linkbtn:hover{background:#f2f2f2}
fieldset.plain{border:0;padding:0;margin:0;min-width:0}
fieldset.plain[disabled] input,fieldset.plain[disabled] select,fieldset.plain[disabled] textarea{background:#f6f6f6;color:#333}
.repos input,.repos textarea{width:100%;box-sizing:border-box;padding:4px 6px;border:1px solid #ccc;border-radius:3px;font:inherit}
.repos textarea{margin-top:4px;font-size:12px;resize:vertical}
.repos input.w-xs{width:58px}.repos input.w-s{width:86px}.repos input.r{text-align:right}
.repos td{vertical-align:top}
table.summen td{padding:5px 8px}table.summen tr.gesamt td{border-top:2px solid #333;font-size:15px}
.pre{white-space:pre-wrap}
details.protokoll{margin-top:12px}details.protokoll summary{cursor:pointer;color:#666}
td.warn,.warn{color:#c0392b;font-weight:600}
p.gross{font-size:16px;margin:4px 0}
.akt-anhaenge{margin:4px 0 10px}.akt-anhaenge summary{cursor:pointer;font-weight:500}
/* ---- Rechte ---- */
.grid.rechte td.c,.grid.rechte th.c{text-align:center}
.grid.rechte tr.modul th{text-align:left;background:#f4f4f4}
.grid.rechte .opt{display:block;margin:3px 0}
/* ---- KI-Diktat ---- */
.ki-box{border:1px dashed #9bb7d8;background:#f5f9fe;border-radius:4px;padding:12px;margin-bottom:14px}
.ki-box h3{margin:0 0 8px}
.ki-zeile{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ki-rec{background:#c0392b;color:#fff}.ki-rec.laeuft{animation:blink 1s infinite}
@keyframes blink{50%{opacity:.55}}
.ki-vorschlag{border:1px solid #ddd;border-radius:4px;padding:10px;margin:8px 0;background:#fff}
.ki-vorschlag h4{margin:0 0 6px;display:flex;justify-content:space-between;align-items:center}
.ki-vorschlag textarea{width:100%;box-sizing:border-box;font:inherit}
.ki-transkript{white-space:pre-wrap;background:#fafafa;border:1px solid #eee;padding:8px;max-height:220px;overflow:auto;font-size:13px}
@media print{.sidebar,.topbar,.filters,.subtabs,.btn{display:none!important}.main{margin:0!important}}
.tab-form{display:inline;margin:0}
.tab-icon{border:0;background:#d2efe2;color:#0f5b3d;padding:6px 11px;border-radius:3px;cursor:pointer;font:inherit}
.tab-icon:hover{background:#b9e4d0}.tab-icon sup{font-size:10px;color:#555;margin-left:1px}
/* ---- Dashboard wie im alten ERP ---- */
.dgrid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;align-items:start}
.dlinks,.drechts{display:flex;flex-direction:column;gap:14px;min-width:0}
.dpanel{background:#fff;border:1px solid #e3e3e3}
.dpanel>header{display:flex;justify-content:space-between;align-items:center;padding:11px 15px;background:#f7f7f7;border-bottom:1px solid #e6e6e6;cursor:default}
.dpanel>header[onclick]{cursor:pointer}
.dpanel h2{margin:0;font-size:17px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.1px}
.dpanel h2 small{font-size:11px;text-transform:none;font-weight:400}
.dpanel .chev{color:#777;font-size:11px;transition:transform .15s}
.dpanel.zu .chev{transform:rotate(180deg)}.dpanel.zu .dbody{display:none}
.dpanel .plus{background:#27a283;color:#fff;border-radius:3px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;text-decoration:none}
.dbody{padding:6px 15px 12px}
.dtab{width:100%;border-collapse:collapse;font-size:13.5px;color:#555}
.dtab th{font-weight:600;text-align:left;padding:8px 6px;color:#666;white-space:nowrap}
.dtab td{padding:7px 6px;border-top:1px solid #eee;white-space:nowrap}
.dtab tbody tr[onclick]{cursor:pointer}.dtab tbody tr[onclick]:hover td{background:#f8fbff}
.dtab td.kurz{max-width:190px;overflow:hidden;text-overflow:ellipsis}
.dtab .aktnr{color:#333;font-weight:600;text-decoration:none}
.dtab td.r,.dtab th.r{text-align:right}
.dleer{color:#666}
.tb-ico{display:inline-flex;width:20px;height:20px;border-radius:3px;align-items:center;justify-content:center;color:#fff}
.tb-ico.ga{background:#cd4128}.tb-ico.pr{background:#5b8fc7}
.matrix2 th,.matrix2 td{text-align:center;padding:5px 4px}
.matrix2 tbody th{text-align:left;font-weight:600;color:#555;padding-left:6px}
.mb{display:inline-block;width:50px;box-sizing:border-box;border:1px solid transparent;border-radius:4px;font-size:11px;font-weight:600;line-height:18px;text-decoration:none}
.mb.null{background:#f2f2f2;color:#a4a4a4;border-color:#e6e6e6;font-weight:400}
.mb.ueber{border:2px solid #f00;line-height:16px}
.gen{display:flex;flex-direction:column;gap:6px;padding-top:12px}
.gen-nr{color:#c0392b;background:#fdecef;padding:1px 5px;border-radius:3px}
.kopier{border:0;background:none;cursor:pointer;color:#777}
.gen .klein,.drechts .klein{font-size:12px;color:#777}
.btn-gen{background:#27a283;color:#fff;border:0;border-radius:3px;padding:7px 12px;cursor:pointer;font:inherit;font-size:13px}
.speicher{display:flex;align-items:center;gap:14px;padding-top:14px}
.torte{width:90px;height:90px;border-radius:50%;flex:none}
.speicher ul{list-style:none;margin:0;padding:0;font-size:12px}.speicher li{margin:3px 0}
.speicher i{display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:-1px}
@media (max-width:1000px){.dgrid{grid-template-columns:1fr}}
/* ---- KI-Dialog wie im alten ERP ---- */
.ki-leiste{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:-4px 0 10px}
.btn-ki{background:#5b8fc7;color:#fff;border:0;border-radius:3px;padding:7px 13px;cursor:pointer;font:inherit}
.btn-ki:hover{background:#4a7db5}
.btn-orange{background:#dca129;color:#fff;border:0;border-radius:3px;padding:7px 14px;cursor:pointer;font:inherit;display:inline-block}
.btn-gruen{background:#52ac9a;color:#fff;border:0;border-radius:3px;padding:7px 14px;cursor:pointer;font:inherit}
.btn-gruen:hover{background:#43998a}
dialog.ki-dlg{width:min(980px,96vw);padding:0;border:0;border-radius:3px}
.ki-kopf{background:#6b9bd1;color:#fff;font-size:18px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}
.ki-x{background:none;border:0;color:#fff;font-size:22px;cursor:pointer;opacity:.8}
.ki-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px;max-height:70vh;overflow:auto}
.ki-body label{font-weight:600;font-size:13px;display:flex;flex-direction:column;gap:5px}
.ki-body textarea{width:100%;box-sizing:border-box;font:inherit;font-weight:400;padding:7px;border:1px solid #ccc;border-radius:2px;resize:vertical;min-height:52px}
.ki-body select{font:inherit;font-weight:400;padding:6px}
.ki-zwei{display:grid;grid-template-columns:1fr 230px;gap:16px}
.ki-drop{border:2px dashed #ccc;background:#f2f2f2;padding:28px 16px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;font-weight:400!important}
.ki-drop.over{border-color:#5b8fc7;background:#eaf2fb}.ki-drop.aus{opacity:.5;pointer-events:none}
.ki-rec-zeile{font-size:13px}
.linkknopf{background:none;border:0;color:#3a6ea5;cursor:pointer;font:inherit;padding:0}
.ki-lade{color:#666}
.ki-fehler{background:#fbe3e0;color:#8b1e12;padding:8px 10px;border-radius:3px;font-size:13px}
.ki-fuss{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid #e5e5e5}
.ki-token{margin-right:auto;color:#777}
.ki-antwort{border:1px solid #d9e6f2;background:#f7fbff;border-radius:3px;padding:10px 12px}
.ki-antwort-kopf{color:#555;margin-bottom:8px}
.ki-abschnitt{margin:8px 0 12px}
.ki-abschnitt-kopf{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px}
.ki-abschnitt-kopf select{font-size:12px}
textarea.pflicht{border-color:#e74c3c!important}
@media (max-width:700px){.ki-zwei{grid-template-columns:1fr}}
.ki-dlg [hidden]{display:none!important}
.ki-abschnitt-kopf select{max-width:320px;flex:none}
.tab-dd{display:inline-block}
.tab-dd>summary{list-style:none}.tab-dd>summary::-webkit-details-marker{display:none}
.tab-icon.blau{background:#d6e6f8;color:#164a85}.tab-icon.blau:hover{background:#c2d9f3}
.dd .menu .menu-hint{display:block;padding:6px 14px;color:#999;font-size:12px}
.dd .menu small{color:#888}
.tabs .tab-dd .menu{min-width:300px}
.tabs .tab-dd .menu a{background:#fff;border-radius:0;padding:7px 14px;display:block;white-space:nowrap}
.tabs .tab-dd .menu a:hover{background:#f0f2f4}
.st-ico{display:inline-flex;width:22px;height:22px;border-radius:3px;align-items:center;justify-content:center;vertical-align:middle;text-decoration:none}
.st-ico:hover{filter:brightness(.92)}

/* Status-Farben wie im alten ERP */
.pill.st1{background:#b9b9b9;color:#000}.pill.st11{background:#ed8a0e;color:#fff}.pill.st2{background:#cd4128;color:#fff}.pill.st3{background:#cd4128;color:#fff}.pill.st4{background:#d17123;color:#fff}.pill.st5{background:#dca129;color:#fff}.pill.st6{background:#dca129;color:#fff}.pill.st7{background:#669acc;color:#fff}.pill.st8{background:#669acc;color:#fff}.pill.st9{background:#d861bd;color:#fff}.pill.st10{background:#52ac9a;color:#fff}.pill.st99{background:#8cc153;color:#fff}
/* ---- Telefonbuch, Aufgaben, Kommunikation ---- */
.kzeile{display:flex;gap:8px;margin-bottom:6px;align-items:center}.kzeile select{width:130px}.kzeile input{flex:1}
.haken{width:24px;height:24px;border:1.5px solid #bbb;border-radius:4px;background:#fff;color:transparent;cursor:pointer;font-weight:700;line-height:1}
.haken:hover{border-color:#52ac9a;color:#52ac9a}.haken.an{background:#52ac9a;border-color:#52ac9a;color:#fff}
.durch{text-decoration:line-through;color:#888}
.nachricht-text{margin-top:14px;padding:14px;background:#fafafa;border:1px solid #eee;border-radius:3px}
.seiten{display:flex;gap:4px;flex-wrap:wrap;margin:10px 0}
.nav-zahl{background:#e74c3c;color:#fff;border-radius:9px;padding:0 6px;font-size:11px;margin-left:6px}
.dauf li{margin:5px 0;list-style:none}.dauf{padding:0;margin:0}
td.kurz{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Zeiterfassung */
.monatnav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.monatnav b{min-width:120px;text-align:center}
.zeit-kpi{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.zeit-kpi>div,.zeit-kpi>form{background:#fff;border:1px solid #e3e6ea;border-radius:8px;padding:8px 14px;display:flex;flex-direction:column;justify-content:center;min-width:110px}
.zeit-kpi small{color:#777;font-size:11px}.zeit-kpi b{font-size:18px}
.minus{color:#c0392b}.plus{color:#1d7a55}
.zeitform{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.zeitform label{flex:0 1 150px}.zeitform label.breit{flex:1 1 220px}
.zeitform .hint{flex-basis:100%;margin:0}
.zeittab tr.we td{background:#f6f6f6}.zeittab tr.ft td{background:#fdf1e3}.zeittab tr.heute td{box-shadow:inset 0 0 0 9999px rgba(102,154,204,.08);font-weight:600}
.zchip{display:inline-flex;align-items:center;gap:4px;border-left:4px solid var(--f);background:#f3f5f7;border-radius:4px;padding:1px 6px;margin:1px 4px 1px 0;font-size:12.5px}
.zchip form{display:inline}.zchip button{border:0;background:none;color:#a33;cursor:pointer;font-size:14px;padding:0 2px}
.ukal{border-collapse:collapse;font-size:11px}.ukal th,.ukal td{border:1px solid #e3e6ea;padding:2px;text-align:center;min-width:22px}
.ukal tbody th{text-align:left;white-space:nowrap;padding:3px 8px}.ukal td{height:22px}.ukal .we{background:#eee}
.legende{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px}.legende i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:4px;vertical-align:-2px}.legende i.we{background:#eee;border:1px solid #ccc}
.dgrid2{display:grid;grid-template-columns:2fr 1fr;gap:12px}@media(max-width:900px){.dgrid2{grid-template-columns:1fr}}
.ohne{margin:0;padding-left:18px;columns:2}
.grid7{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:10px}@media(max-width:700px){.grid7{grid-template-columns:repeat(4,1fr)}}
tr.klick{cursor:pointer}form.inline{display:inline-flex;gap:6px}
.zeitw .uhr{font-size:15px;font-weight:600;margin-bottom:6px}.zeitw form{margin:6px 0}
.mailform fieldset{border:0;padding:0;margin:0;min-width:0}
/* Arbeitszeit-Monatsblatt (Excel-Modell) */
.az{border-collapse:collapse;width:100%;font-size:13px}
.az th{background:#e4e7eb;font-size:12px;padding:5px 4px;border:1px solid #d0d4d9;text-align:center;line-height:1.15}
.az td{border:1px solid #e1e4e8;padding:1px 3px;height:27px;white-space:nowrap}
.az td.wt{width:30px;color:#555}.az td.tg{width:24px;text-align:center;font-weight:600}.az td.ftn{font-size:11.5px;color:#8a4b00;max-width:120px;overflow:hidden;text-overflow:ellipsis}
.az td.c{text-align:center}.az td.warn-c{color:#c0392b;font-weight:700;text-align:center;width:12px}
.az input.zt{width:58px;padding:3px 4px;text-align:center;border:1px solid #d6dade;border-radius:3px;font:inherit;background:#fff}
.az select.zc{width:58px;padding:2px;font:inherit}
.az input.zb{width:100%;min-width:160px;padding:3px 5px;border:1px solid #d6dade;border-radius:3px;font:inherit}
.az tr.we td{background:#fff6d8}.az tr.ft td{background:#fde3bd}
.az tr.code td{background:color-mix(in srgb,var(--cf) 28%,white)}
.az tr.heute td{box-shadow:inset 0 2px 0 #669acc,inset 0 -2px 0 #669acc}
.az td.akt{font-weight:600;color:#1d6fb8}.az td.akt.minus{color:#c0392b}
.az-fuss{display:flex;flex-wrap:wrap;gap:24px;margin:14px 0 4px}
.az-sum{border-collapse:collapse;background:#f3f4f6;border:1px solid #d6dade}.az-sum td{padding:4px 10px}
.az-sum tr.sum td{font-weight:700;border-top:1px solid #bbb}.az-sum.zaehl td:first-child{width:34px;font-weight:600}
.az-sum input.zt{width:64px;text-align:right}
.codes{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.jahr{border-collapse:collapse;font-size:11.5px;width:100%}
.jahr th,.jahr td{border:1px solid #e1e4e8;padding:1px 3px;white-space:nowrap}
.jahr thead th{background:#e4e7eb;padding:4px}.jahr tbody th,.jahr tfoot th{background:#f3f4f6;text-align:left}
.jahr td.we{background:#fff6d8}.jahr td.ft{background:#fde3bd}.jahr td.jc{text-align:center;font-weight:600;width:22px}
.jahr .jwt{color:#999;font-size:10px}.jahr td.leerz{background:#f5f5f5}.jahr tfoot td{background:#fafafa}
.kosten{margin-top:16px;max-width:680px;margin-left:auto}.kosten h3{font-size:15px;margin:0 0 6px}
.kosten-tab tfoot td{background:#f3f4f6}.kosten-tab tr.sum td{border-top:2px solid #999}
/* Textblöcke mit Fotos */
.textblock .txt.txt-html{white-space:normal}.txt-html p{margin:0 0 .7em}
.txt-html figure.textbild{margin:.6em 0 1em;display:inline-block}.txt-html figure.textbild img{max-width:100%;max-height:420px;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.txt-html figcaption{font-size:12.5px;color:#555;margin-top:3px}
.tb-leiste{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.tb-editor{min-height:200px;max-height:70vh;overflow:auto;border:1px solid #ccd2d8;border-radius:6px;padding:10px 12px;background:#fff;line-height:1.5;font:inherit;outline:none;white-space:normal}
.tb-editor:focus{border-color:#669acc;box-shadow:0 0 0 3px rgba(102,154,204,.2)}
.tb-editor.drop{border:2px dashed #669acc;background:#f3f8fd}.tb-editor.laedt{opacity:.6;cursor:progress}
.tb-fig{position:relative;display:block;margin:8px 0;max-width:100%;user-select:none}
.tb-fig img{width:100%;display:block;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.tb-cap{font-size:12.5px;color:#555;margin-top:3px;min-height:4px}
.tb-figbar{position:absolute;top:6px;left:6px;display:none;gap:4px;flex-wrap:wrap}
.tb-fig:hover .tb-figbar,.tb-fig:focus-within .tb-figbar{display:flex}
.tb-figbar button{border:0;border-radius:4px;background:rgba(20,30,40,.82);color:#fff;font-size:12.5px;padding:4px 8px;cursor:pointer}
.tb-figbar button:hover{background:#2a5d8f}
.tb-dlg{border:0;border-radius:10px;padding:16px;width:min(980px,96vw);max-height:92vh;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.tb-dlg::backdrop{background:rgba(0,0,0,.45)}
.tb-dlg-kopf{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.tb-dlg-kopf h3{margin:0}
.tb-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:65vh;overflow:auto}
.tb-kachel{border:1px solid #dde1e5;border-radius:6px;background:#fff;padding:4px;cursor:pointer;text-align:left;font-size:12px}
.tb-kachel:hover{border-color:#669acc;box-shadow:0 0 0 2px rgba(102,154,204,.35)}
.tb-kachel img{width:100%;height:110px;object-fit:cover;border-radius:4px;display:block}.tb-kachel span{display:block;margin-top:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.tb-mark{width:min(1300px,98vw)}
.tb-werkzeuge{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.tb-werkzeuge button{border:1px solid #ccd2d8;background:#f6f7f8;border-radius:5px;padding:5px 9px;cursor:pointer;font-size:13px}
.tb-werkzeuge button.an{background:#2a5d8f;color:#fff;border-color:#2a5d8f}
.tb-werkzeuge .tb-farbe{width:24px;height:24px;padding:0;border-radius:50%;border:2px solid #ccc}.tb-werkzeuge .tb-farbe.an{outline:3px solid #2a5d8f;outline-offset:1px;background-clip:padding-box}
.tb-sep{width:10px}
.tb-leinwand{overflow:auto;max-height:76vh;text-align:center;background:#333;border-radius:6px;padding:8px}
.tb-leinwand canvas{max-width:100%;max-height:72vh;cursor:crosshair;touch-action:none;background:#fff}
.tb-werkzeuge select{width:auto;padding:4px 6px}
/* Unterlagen-Editor (PDF) */
.pe{--zoom:1}
.pe-leiste{position:sticky;top:0;z-index:20;padding:10px 12px;margin-bottom:12px}
.pe-zeile{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pe-zeile+.pe-zeile{margin-top:8px}
.pe-name{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pe-werkzeuge button{border:1px solid #ccd2d8;background:#f6f7f8;border-radius:5px;padding:5px 9px;cursor:pointer;font-size:13px}
.pe-werkzeuge button.an{background:#2a5d8f;color:#fff;border-color:#2a5d8f}
.pe-werkzeuge .pe-farbe{width:24px;height:24px;padding:0;border-radius:50%;border:2px solid #ccc}.pe-werkzeuge .pe-farbe.an{outline:3px solid #2a5d8f;outline-offset:1px}
.pe-werkzeuge select{width:auto;padding:4px 6px}.pe-sep{width:8px}
.pe-stempel input{width:auto;padding:4px 8px}
.pe-seiten{display:flex;flex-direction:column;align-items:center;gap:18px;background:#5b6168;padding:18px;border-radius:8px}
.pe-seite{position:relative;width:calc(860px * var(--zoom));max-width:calc(100% * var(--zoom))}
.pe-seite canvas{width:100%;display:block;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.4);touch-action:none;cursor:crosshair}
.pe[data-werkzeug=waehlen] canvas{cursor:move}.pe[data-werkzeug=text] canvas{cursor:text}
.pe-nr{position:absolute;top:-16px;right:0;color:#e5e7ea;font-size:11.5px}
.pe-texteingabe{position:absolute;min-width:180px;min-height:2.6em;background:rgba(255,255,255,.92);border:1px dashed #2a5d8f;padding:2px 4px;font-family:Helvetica,Arial,sans-serif;line-height:1.25;resize:both;z-index:5}
/* Formatierungsleiste Textblöcke */
.tb-format{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:5px;margin-bottom:6px;background:#f3f5f7;border:1px solid #dde1e5;border-radius:6px}
.tb-format button{min-width:30px;height:30px;border:1px solid #ccd2d8;background:#fff;border-radius:5px;cursor:pointer;font-size:14px;padding:0 7px}
.tb-format button:hover{background:#e8eef5;border-color:#669acc}
.tb-format .tb-fb{color:var(--c);font-weight:700;border-bottom:4px solid var(--c)}
.tb-format .tb-trenn{width:1px;height:22px;background:#ccd2d8;margin:0 4px}
.tb-format label{display:flex;align-items:center;gap:4px;margin-left:6px;font-size:12.5px}
.tb-editor mark,.txt-html mark{background:#fff3a0;padding:0 1px}
.tb-format label{display:inline-flex!important;flex-direction:row;font-weight:normal;margin:0 0 0 6px;white-space:nowrap}.tb-format label input{width:auto;margin:0}
/* Textblock: Doppelklick öffnet; während der Bearbeitung die Leseansicht ausblenden */
.card.textblock{cursor:text}.card.textblock summary{cursor:pointer}
.card.textblock details[open] ~ .txt,.card.textblock details[open] ~ .leer-text{display:none}
/* Blocksatz als Standard in Editor und Leseansicht */
.tb-editor,.txt-html p{text-align:justify;hyphens:auto}
.txt-html p.ausr{margin:0}
.tb-format svg{display:block}
/* KI-Korrektur */
.tb-format .tb-ki{background:linear-gradient(135deg,#f3eaff,#e6f0ff);border-color:#b9a4e6;color:#4b2a8a;font-weight:600}
.ki-korr{border:1px solid #b9a4e6;border-radius:6px;background:#fbf9ff;padding:10px 12px;margin-top:8px}
.ki-korr-kopf{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.ki-korr-text{line-height:1.7;text-align:justify;background:#fff;border:1px solid #e3ddf2;border-radius:4px;padding:8px 10px;max-height:50vh;overflow:auto}
.ki-aend{cursor:pointer;border-radius:3px;padding:0 1px}.ki-aend:hover{outline:1px dashed #8a6bd1}
.ki-aend del{color:#b03020;background:#fde4e0;text-decoration:line-through}.ki-aend ins{color:#106b35;background:#d9f5e3;text-decoration:none}
.ki-aend.aus ins{display:none}.ki-aend.aus del{color:inherit;background:none;text-decoration:none}
.ki-bild{display:inline-block;background:#eef;padding:0 6px;border-radius:3px;font-size:12px;margin:2px 0}
/* Firmenlogo */
.logo-bild{height:42px;width:auto;display:block}
.login-logo{display:block;width:190px;max-width:70%;margin:0 auto 10px}
/* einklappbare Menügruppen */
.nav-kopf{display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.15)}
.nav-kopf a{flex:1;border-bottom:0!important}
.nav-klapp{background:none;border:0;border-left:1px solid rgba(255,255,255,.15);color:#fff;width:40px;cursor:pointer;font-size:14px;transition:transform .15s}
.nav-klapp:hover{background:var(--side-hover)}
.nav-gruppe.zu .nav-klapp{transform:rotate(-90deg);border-left-color:transparent}
.nav-gruppe.zu .nav-unter{display:none}
/* moderne Linien-Symbole */
.ic{flex:none;vertical-align:-3px}
.sidebar nav a{display:flex;align-items:center;gap:10px}
.sidebar nav a .ic{opacity:.92}
.sidebar nav a.sub .ic{width:15px;height:15px}
.nav-klapp{display:flex;align-items:center;justify-content:center}
.nav-gruppe.zu .nav-klapp{transform:none}.nav-gruppe.zu .nav-klapp .ic{transform:rotate(-90deg)}
.nav-klapp .ic{transition:transform .15s}
.tabs .ic,.tab-icon .ic,.menu .ic{width:16px;height:16px;vertical-align:-3px}
.menu a{display:flex;align-items:center;gap:6px}
.nav-zahl{margin-left:auto}
.ki-frage{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ki-frage .ki-anw{flex:1;min-width:260px}
.ki-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.ki-chip{border:1px solid #cdbff0;background:#fff;color:#4b2a8a;border-radius:14px;padding:3px 10px;font-size:12.5px;cursor:pointer}
.ki-chip:hover{background:#f1ebff}
.re-speichert{position:fixed;right:18px;bottom:18px;background:#2a5d8f;color:#fff;padding:8px 14px;border-radius:6px;box-shadow:0 3px 12px rgba(0,0,0,.25);z-index:99}
/* Dienstleistungs-Auswahl */
.dl-dlg{border:0;border-radius:10px;padding:0;width:min(860px,96vw);max-height:90vh;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.dl-dlg::backdrop{background:rgba(0,0,0,.45)}
.dl-dlg form{display:flex;flex-direction:column;max-height:90vh}
.dl-kopf{padding:14px 16px 10px;border-bottom:1px solid #e3e6ea;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dl-kopf h3{margin:0;flex-basis:100%}
.dl-kopf input[type=search]{flex:1;min-width:240px;font-size:15px;padding:8px 12px}
.dl-sort{display:flex;gap:2px;background:#eef0f3;border-radius:6px;padding:2px}
.dl-sort button{border:0;background:none;padding:5px 9px;border-radius:5px;cursor:pointer;font-size:12.5px}.dl-sort button.on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.15);font-weight:600}
.dl-liste{overflow:auto;padding:6px 10px;flex:1}
.dl-zeile{display:flex!important;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;cursor:pointer;border:1px solid transparent;margin:2px 0;font-weight:normal}
.dl-zeile:hover{background:#f4f7fb}.dl-zeile.an{background:#eaf2fb;border-color:#9fc0e6}
.dl-zeile input[type=checkbox]{width:18px;height:18px;flex:none;margin:0}
.dl-nr{flex:none;width:52px;color:#777;font-size:12.5px;font-variant-numeric:tabular-nums}
.dl-bez{flex:1;min-width:0}.dl-bez small{display:block;color:#777;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl-hf{flex:none;font-size:11.5px;color:#b8860b;background:#fff7dc;border-radius:10px;padding:1px 7px}
.dl-preis{flex:none;text-align:right;font-weight:600;min-width:90px;font-variant-numeric:tabular-nums}.dl-preis small{display:block;font-weight:normal;color:#777;font-size:11.5px}
.dl-menge{flex:none;display:flex;align-items:center;gap:4px}.dl-menge input{width:58px!important;text-align:right;padding:4px 6px}.dl-menge small{color:#777;width:28px}
.dl-fuss{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid #e3e6ea;background:#fafbfc;border-radius:0 0 10px 10px}
dialog.dl-dlg form{padding:0}
dialog.dl-dlg h3{margin:0;padding:0;background:none;font-weight:600;font-size:17px}
dialog.dl-dlg .dl-zeile{flex-direction:row!important;margin:2px 0!important;font-size:14px;color:#222;text-align:left}
dialog.dl-dlg .dl-zeile b{font-weight:600}
dialog.dl-dlg .dl-zeile[hidden]{display:none!important}
.zn-titel{margin-top:8px;padding-top:8px;border-top:1px solid #e3e6ea}
.grid td.cb,.grid th.cb{width:28px;text-align:center}.grid td.cb input,.grid th.cb input{width:16px;height:16px;margin:0}
.mahn-box{margin-top:14px;padding-top:10px;border-top:1px solid #e3e6ea}.mahn-box h3{margin:0;font-size:15px}.mahn-box form.inline{display:inline-flex;gap:4px;align-items:center}.mahn-box select{width:auto}
/* Kalkulation – direkt bearbeiten */
.kalk input.k-pos-nr{width:78px;text-align:left}.kalk input.k-eh{width:52px;text-align:left}.kalk input.k-menge{width:70px}
.kalk input.k-ep,.kalk input.k-abzug{width:86px}
.kalk td.k-bez{min-width:260px}.kalk textarea.k-auto{width:100%;resize:none;overflow:hidden;min-height:30px;padding:5px 7px;font:inherit;line-height:1.35;border:1px solid transparent;background:transparent;border-radius:4px}
.kalk textarea.k-auto:hover,.kalk input:hover{border-color:#d6dade}.kalk textarea.k-auto:focus{border-color:#669acc;background:#fff;outline:none;box-shadow:0 0 0 3px rgba(102,154,204,.18)}
.kalk tr.k-pos input:not([type=checkbox]){border:1px solid #e3e6ea;border-radius:4px;background:#fff}
.kalk input.berechnet{background:#eef6ee!important;color:#1d6b35;font-style:italic}
.kalk input.k-text{width:100%;border:1px solid transparent;background:transparent;text-align:left;font:inherit}.kalk input.k-abschnitt{font-weight:600;width:calc(100% - 80px)}
.kalk input.k-text:hover,.kalk input.k-text:focus{border-color:#d6dade;background:#fff}
.kalk td.k-neu,.kalk td.k-zeit{font-variant-numeric:tabular-nums}.kalk td.k-zeit{color:#1d6b35}
.kalk td.c{text-align:center}.kalk td.c input{width:18px;height:18px}
.kalk tbody.k-schnell tr td{background:#f6f9fc;border-top:2px dashed #c9d6e4}
.kalk tbody.k-schnell textarea.k-auto{border-color:#d6dade;background:#fff}
.kalk .pruef-link{font-size:12px}

/* ---------- Moderner E-Mail-Editor ---------- */
.cmp{max-width:980px;padding:0;border-radius:10px;box-shadow:0 2px 14px rgba(20,40,70,.08);overflow:visible}
.cmp-kopf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line);background:linear-gradient(#fafbfc,#f3f5f8);border-radius:10px 10px 0 0}
.cmp-kopf h2{margin:0;font-size:17px}
.cmp-vorlage{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.cmp-vorlage select{padding:5px 8px;border-radius:6px}
.cmp-zeile{display:flex;align-items:center;gap:10px;padding:6px 18px;border-bottom:1px solid var(--line);min-height:44px}
.cmp-zeile[hidden]{display:none!important}
.cmp-l{width:62px;flex:none;color:var(--muted);font-size:13px}
.cmp-von{flex:1;border:0;background:transparent;font:inherit;font-weight:600;padding:6px 0;max-width:520px}
.cmp-von:focus{outline:none}
.cmp-opt{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-left:auto;white-space:nowrap}
.cmp-chips{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;cursor:text;padding:4px 0}
.cmp-chip{display:inline-flex;align-items:center;gap:4px;background:#e8f0fb;color:#1f4f8a;border-radius:16px;padding:3px 4px 3px 11px;font-size:13px;line-height:1.3}
.cmp-chip button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:15px;line-height:1;width:20px;height:20px;border-radius:50%;padding:0}
.cmp-chip button:hover{background:rgba(0,0,0,.08)}
.cmp-chip.falsch{background:#fdecea;color:var(--rot);outline:1px dashed var(--rot)}
.cmp-chip.datei{padding:3px 11px;background:#f1f3f5;color:var(--text)}
.cmp-chip.datei small{color:var(--muted)}
.cmp-eingabe{flex:1;min-width:200px;border:0!important;outline:none;padding:5px 2px!important;font:inherit;background:transparent}
.cmp-link{border:0;background:transparent;color:var(--blau);cursor:pointer;font-weight:600;padding:4px 8px;border-radius:6px}
.cmp-link:hover{background:#eef3fa}
.cmp-vorschlaege{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 18px 8px 90px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.cmp-vorschlag{border:1px solid #cdd9e8;background:#fff;color:#1f4f8a;border-radius:16px;padding:3px 10px;cursor:pointer;font-size:12.5px}
.cmp-vorschlag:hover{background:#eef3fa}
.cmp-vorschlag.gewaehlt{background:#e6f4ee;border-color:#9fd4bd;color:#17734f}
.cmp-betreff{flex:1;border:0!important;outline:none;font:inherit;font-size:15px;font-weight:600;padding:8px 0!important;background:transparent}
.cmp-text{display:block;width:100%;box-sizing:border-box;border:0!important;outline:none;resize:vertical;min-height:260px;padding:16px 18px!important;font:14px/1.6 inherit;font-family:inherit;background:#fff}
.cmp-sig{padding:0 18px 10px;margin:0}
.cmp-warn{margin:8px 18px;padding:8px 12px;border-radius:6px;background:#fff6e5;border-left:4px solid var(--orange);font-size:13px}
.cmp-abschnitt{padding:12px 18px 6px;border-top:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cmp > .hint{padding:0 18px;margin:4px 0 0}
.cmp-atts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;padding:4px 18px}
.cmp-att{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;position:relative;min-width:0;margin:0}
.cmp-att.fest{background:#f6f9fd;border-color:#cdd9e8}
.cmp-att.wahl{cursor:pointer;transition:border-color .15s,background .15s}
.cmp-att.wahl:hover{border-color:#9db8da}
.cmp-att.wahl input{position:absolute;opacity:0;pointer-events:none}
.cmp-att.wahl:has(input:checked){border-color:var(--blau);background:#eef4fc;box-shadow:0 0 0 1px var(--blau) inset}
.cmp-att-ico{flex:none;width:38px;height:44px;border-radius:5px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px;box-sizing:border-box;font-size:10px;font-weight:800;color:#fff;background:#8a96a3}
.cmp-att-ico.pdf{background:#d9473a}.cmp-att-ico.bild{background:#2e9b74}.cmp-att-ico.datei{background:#6b7c93}
.cmp-att-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.cmp-att-txt b{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-att-txt small{color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-att-tag{font-size:11px;color:#1f4f8a;background:#e1ebf7;border-radius:10px;padding:2px 8px;white-space:nowrap}
.cmp-att-check{width:22px;height:22px;border-radius:50%;border:2px solid #c5ced8;display:flex;align-items:center;justify-content:center;color:transparent;font-size:13px;flex:none}
.cmp-att.wahl:has(input:checked) .cmp-att-check{background:var(--blau);border-color:var(--blau);color:#fff}
.cmp-drop{display:flex!important;flex-direction:column!important;gap:6px;align-items:center;margin:10px 18px 4px;padding:14px;border:2px dashed #c5ced8;border-radius:8px;color:var(--muted);cursor:pointer;text-align:center;transition:background .15s,border-color .15s}
.cmp-drop:hover,.cmp-drop.ueber{border-color:var(--blau);background:#f2f7fd;color:var(--blau)}
.cmp-dateien{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.cmp-fuss{position:sticky;bottom:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 18px;margin-top:12px;border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(4px);border-radius:0 0 10px 10px;z-index:5}
.cmp-fuss .hint{margin:0}
.cmp-status{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.cmp-status select{padding:5px 8px;border-radius:6px}
.cmp-senden{padding:9px 22px;border-radius:20px;font-weight:700}
@media (max-width:700px){.cmp-vorschlaege{padding-left:18px}.cmp-l{width:48px}.cmp-opt{margin-left:0}}
.cmp-eingabe::-webkit-calendar-picker-indicator{display:none!important;opacity:0}

/* ---------- Zahlungsverkehr: Kommunikationsübersicht ---------- */
.zk-kacheln{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.zk-kachel{display:flex;flex-direction:column;min-width:130px;padding:10px 14px;background:#fff;border-radius:8px;border:1px solid var(--line);color:var(--text);box-shadow:0 1px 4px rgba(20,40,70,.05)}
.zk-kachel b{font-size:22px;line-height:1.1;color:var(--blau)}.zk-kachel.rot b{color:var(--rot)}
.zk-kachel span{font-size:12.5px;color:var(--muted)}
.zk-kachel:hover{border-color:#9db8da;text-decoration:none}
.zk-kachel.on{border-color:var(--blau);box-shadow:0 0 0 1px var(--blau) inset;background:#f2f7fd}
.grid.zk tr.zk-tag td{background:#f3f5f8;font-weight:700;font-size:12.5px;color:var(--dunkel);padding:6px 7px}
.grid.zk tr.zk-zeile{cursor:pointer}
.grid.zk tr.zk-zeile.offen td{background:#f7faff}
.zk-weg{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px}
.zk-weg.mail{background:#e8f0fb;color:#1f4f8a}.zk-weg.pdf{background:#eee;color:#444}
.zk-anh{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}
.zk-anh span{font-size:11.5px;background:#f1f3f5;border-radius:10px;padding:1px 8px;color:var(--dunkel)}
.zk-box{background:#f7faff;border-left:3px solid var(--blau);padding:8px 12px;border-radius:4px;display:flex;flex-direction:column;gap:4px}
.zk-text{white-space:pre-wrap;margin-top:4px;font-size:13px;max-height:320px;overflow:auto}
@media print{.zk-kacheln,.zk-auf{display:none}.zk-details[hidden]{display:none}}

/* Nur-Ansicht (z. B. Buchhaltung im Akt) */
.nurlesen-band{background:#eef4fc;border-left:4px solid var(--blau);padding:8px 12px;margin-bottom:12px;border-radius:3px;font-size:13.5px}
body.nurlesen .tb-werkzeug,body.nurlesen .tb-bearbeiten,body.nurlesen .nav-unter a[href*="neu"]{display:none!important}
body.nurlesen main button:disabled,body.nurlesen main input:disabled,body.nurlesen main select:disabled,body.nurlesen main textarea:disabled{opacity:.6;cursor:not-allowed}
body.nurlesen .card.textblock details > :not(summary){display:none!important}
body.nurlesen .card.textblock summary{cursor:default}
body.nurlesen .card.textblock summary .ico{display:none!important}
.tb-editor .tb-platz{min-height:1.5em;border-radius:3px}
.tb-editor .tb-platz.leer{position:relative;background:repeating-linear-gradient(90deg,#dfe6ee 0 6px,transparent 6px 12px) bottom/100% 1px no-repeat}
.tb-editor .tb-platz.leer::after{content:"Text hier schreiben …";position:absolute;left:2px;top:0;color:#a7b2bf;font-style:italic;pointer-events:none}
.pe-feld{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:5px;font-size:13px;color:var(--muted);margin:0}
.pe-feld input,.pe-feld select{padding:4px 8px;width:auto}
.pe-zeile[hidden]{display:none!important}
.pe-werkzeuge .pe-pruef{background:#fff4e5;border-color:#f0c48a}
.pe-werkzeuge .pe-pruef.an{background:var(--orange);color:#fff;border-color:var(--orange)}
.pe-pruefzeile{background:#fff8ee;border-radius:6px;padding:6px 8px}
.pe-pruefinfo{font-weight:600}
.pe-pruefinfo .neg{color:#b3261e}
.pe-dlg{border:0;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.25);padding:18px 20px;min-width:380px}
.pe-dlg form{display:flex;flex-direction:column;gap:10px}
.pe-dlg h3{margin:0 0 4px}
.pe-dlg .aktionen{display:flex;gap:8px;align-items:center;margin-top:6px}
.pe-lesehinweis{margin:0;padding:6px 10px;border-radius:6px;background:#eef4fc;font-size:12.5px;color:#1f4f8a}
.pe-diff{margin:0;font-size:13px;color:#333;min-height:1.2em}.pe-diff .neg{color:#b3261e}

/* ---------- Kalender (Outlook-Ansicht) ---------- */
.kal{display:grid;grid-template-columns:250px 1fr;gap:14px;align-items:start}
.kal-seite{display:flex;flex-direction:column;gap:12px;position:sticky;top:10px}
.kal-neu{width:100%;justify-content:center;padding:10px;border-radius:8px;font-weight:700}
.kal-mini{background:#fff;border-radius:8px;padding:10px;box-shadow:0 1px 4px rgba(20,40,70,.06)}
.kal-mini-kopf{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:13px}
.kal-mini-kopf button{border:0;background:transparent;cursor:pointer;font-size:16px;padding:2px 8px;border-radius:4px}
.kal-mini-kopf button:hover{background:#eef3fa}
.kal-mini table{width:100%;border-collapse:collapse;font-size:12px;text-align:center}
.kal-mini th{color:var(--muted);font-weight:600;padding:2px 0}
.kal-mini td{padding:4px 0;cursor:pointer;border-radius:4px}
.kal-mini td:hover{background:#eef3fa}
.kal-mini td.fremd{color:#b5bcc5}
.kal-mini td.sicht{background:#e6eefa}
.kal-mini td.heute{background:var(--blau);color:#fff;font-weight:700}
.kal-leute{background:#fff;border-radius:8px;padding:10px;box-shadow:0 1px 4px rgba(20,40,70,.06)}
.kal-leute-kopf{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:6px}
.kal-leute-kopf a{font-size:12px}
.kal-person{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:4px 2px;font-size:13px;cursor:pointer;margin:0}
.kal-person input{position:absolute;opacity:0;pointer-events:none}
.kal-punkt{width:14px;height:14px;border-radius:4px;border:2px solid var(--f);flex:none}
.kal-person input:checked + .kal-punkt{background:var(--f)}
.kal-pname{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kal-sync{font-size:12px;color:var(--gruen)}.kal-sync.fehler{color:var(--rot)}
.kal-status{display:flex;flex-direction:column;gap:6px;font-size:12.5px}
.kal-status .fehler{color:var(--rot)}
[data-sync].dreht{opacity:.6;pointer-events:none}
.kal-haupt{padding:12px 14px;border-radius:10px;min-width:0}
.kal-leiste{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.kal-pfeil{font-size:18px;padding:4px 12px}
.kal-titel{margin:0 0 0 6px;font-size:18px;font-weight:600}
.kal-ansicht{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.kal-ansicht button{border:0;background:#fff;padding:6px 12px;cursor:pointer;font:inherit;font-size:13px;border-right:1px solid var(--line)}
.kal-ansicht button:last-child{border-right:0}
.kal-ansicht button.an{background:var(--blau);color:#fff}
.kal.laedt #kalender-fc{opacity:.7}
#kalender-fc{--fc-border-color:#e3e6ea;--fc-today-bg-color:#f3f8ff;--fc-now-indicator-color:#d23b2b;--fc-page-bg-color:#fff;font-size:13px}
#kalender-fc .fc-timegrid-slot{height:2.1em}
#kalender-fc .fc-col-header-cell-cushion{font-weight:600;padding:6px 4px;color:var(--text)}
#kalender-fc .fc-daygrid-day-number{color:var(--text)}
#kalender-fc .fc-non-business{background:#fafbfc}
#kalender-fc .fc-event{border-radius:5px;box-shadow:0 1px 2px rgba(0,0,0,.12);cursor:pointer}
#kalender-fc .fc-event.kal-fremd{opacity:.92}
#kalender-fc .fc-event.kal-offen{outline:2px dashed rgba(255,255,255,.8);outline-offset:-3px}
#kalender-fc .fc-event.kal-privat{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.18) 0 6px,transparent 6px 12px)}
.kal-ev{padding:1px 3px;line-height:1.3;overflow:hidden;font-size:12px}
.kal-ev b{font-weight:600}
.kal-ev-zeit{opacity:.9;font-size:11px}
.kal-ev-k{display:inline-block;background:rgba(255,255,255,.25);border-radius:3px;padding:0 3px;margin-right:3px;font-size:10.5px;font-weight:700}
.kal-ev-akt,.kal-ev-ort{display:block;font-size:11px;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-daygrid-event .kal-ev-akt,.fc-daygrid-event .kal-ev-ort{display:none}
.fc-daygrid-dot-event .kal-ev{color:var(--text)}
.kal-dlg{border:0;border-radius:12px;padding:0;width:min(620px,94vw);box-shadow:0 18px 50px rgba(0,0,0,.28)}
.kal-dlg::backdrop{background:rgba(20,30,45,.35)}
.kal-dlg form{display:flex;flex-direction:column}
.kal-dlg-kopf{padding:16px 18px 6px}
.kal-dlg-titel{width:100%;box-sizing:border-box;border:0!important;border-bottom:2px solid var(--blau)!important;font-size:19px;font-weight:600;padding:6px 2px!important;outline:none;border-radius:0}
.kal-dlg-inhalt{padding:8px 18px;display:flex;flex-direction:column;gap:8px}
.kal-z{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kal-z-oben{align-items:flex-start}
.kal-z-ico{width:24px;text-align:center;flex:none}
.kal-z input:not([type=checkbox]),.kal-z select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font:inherit}
.kal-z input[name=ort],.kal-z input[name=akt]{flex:1;min-width:200px}
.kal-z textarea{flex:1;padding:8px;border:1px solid var(--line);border-radius:6px;font:inherit;resize:vertical}
.kal-z [hidden]{display:none!important}
.kal-opt{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:5px;font-size:13px;color:var(--muted);margin:0}
.kal-hinweis{margin:0;background:#fff6e5;border-radius:6px;padding:6px 10px}
.kal-dlg-fuss{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--line);background:#fafbfc}
@media (max-width:900px){.kal{grid-template-columns:1fr}.kal-seite{position:static}}
.kal-z{flex-wrap:nowrap}
.kal-z > input,.kal-z > select,.kal-z > label > input:not([type=checkbox]){width:auto!important;max-width:none;margin:0}
.kal-z > input[type=date]{width:150px!important}.kal-z > input[type=time]{width:118px!important}
.kal-z > input[name=ort],.kal-z > input[name=akt]{flex:1;width:auto!important}
.kal-z > select{min-width:180px}
.kal-z > textarea{width:auto!important;margin:0}
.kal-z:has(input[type=date]){flex-wrap:wrap}

/* ---------- Gleichzeitiges Arbeiten / Entwürfe ---------- */
.anw-band{background:#fff8e1;border-left:4px solid var(--orange);padding:8px 12px;margin:0 0 12px;border-radius:3px;font-size:13.5px}
.anw-person{display:inline-block;background:var(--orange);color:#fff;font-weight:700;border-radius:10px;padding:1px 8px;font-size:12px}
.tb-anw{margin-left:auto;margin-right:10px;background:#fff3c4;color:#6b5600;border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600;white-space:nowrap}
.textblock.anw-belegt{box-shadow:inset 4px 0 0 var(--orange)}
.tb-entwurf,.tb-neuer-stand{background:#eef4fc;border-left:4px solid var(--blau);padding:8px 12px;margin:-14px -14px 10px;font-size:13px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tb-entwurf .warn{color:var(--rot);font-weight:600}
.tb-neuer-stand{background:#fff8e1;border-color:var(--orange)}
.tb-konflikt{background:#fdecea;border-left:4px solid var(--rot);padding:10px 12px;margin:6px 0 10px;border-radius:4px;font-size:13px}
.tb-konflikt-knoepfe{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.tb-konflikt-andere{margin-top:10px;background:#fff;border:1px solid #f3c0ba;border-radius:4px;padding:10px;max-height:320px;overflow:auto}
.tb-hinweis.warn{color:var(--rot);font-weight:600}

/* ---------- Kalkulation: aufgeräumt, Einheiten, Räume ---------- */
.k-einheiten{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 0 4px;border-bottom:1px solid var(--line);margin-bottom:8px}
.k-einheit{display:inline-flex;flex-direction:column;align-items:flex-start;padding:5px 12px;border-radius:8px 8px 0 0;background:#f1f4f8;color:var(--text);border:1px solid var(--line);border-bottom:0;line-height:1.2}
.k-einheit small{font-size:11px;color:var(--muted)}
.k-einheit.on{background:#fff;border-color:var(--blau);box-shadow:inset 0 3px 0 var(--blau);font-weight:600}
.k-einheit:hover{text-decoration:none;background:#e8eef6}
.k-einheit-neu{border:1px dashed #9db8da;background:#fff;color:var(--blau);border-radius:8px;padding:7px 12px;cursor:pointer;font:inherit;font-size:13px}
.k-einheit-neu:hover{background:#eef3fa}
.k-einheit-menu summary{list-style:none;cursor:pointer;padding:6px 10px;border-radius:6px;font-weight:700;color:var(--muted)}
.k-einheit-menu summary::-webkit-details-marker{display:none}
.k-einheit-menu .menu{padding:10px;display:flex;flex-direction:column;gap:8px;min-width:280px}
.k-einheit-menu .menu form{display:flex;gap:6px;align-items:center}
.k-einheit-menu .menu input{padding:5px 8px}
.k-leiste{display:flex;align-items:center;gap:8px;margin:6px 0 10px}
.k-leiste h2{margin:0;font-size:18px}.k-leiste-e{color:var(--blau)}
.k-plus summary,.k-spalten-menu summary{list-style:none}
.k-plus summary::-webkit-details-marker,.k-spalten-menu summary::-webkit-details-marker{display:none}
.k-plus .menu a{display:block;padding:8px 14px;color:var(--text);white-space:nowrap}
.k-plus .menu a:hover{background:#eef3fa;text-decoration:none}
.k-spalten-menu .menu{padding:8px 12px;display:flex;flex-direction:column;gap:6px;right:0;left:auto}
.kalk:not(.zeige-pos) .c-pos,.kalk:not(.zeige-zw) .c-zw,.kalk:not(.zeige-abl) .c-abl,.kalk:not(.zeige-el) .c-el{display:none}
.kalk .k-aktion{opacity:.35;transition:opacity .15s}
.kalk tr:hover .k-aktion,.kalk tr:focus-within .k-aktion{opacity:1}
.kalk .pruef-link:not(.hat){opacity:0}
.kalk tr:hover .pruef-link,.kalk tr:focus-within .pruef-link{opacity:1}
.kalk .abschnittrow td{background:#eef3f9;border-top:2px solid #c7d4e4}
.k-raum{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.k-raum .k-abschnitt{width:auto!important;min-width:180px;flex:0 1 260px;font-weight:700;font-size:14px}
.k-raum-ico{font-size:15px}
.k-aufmass summary{cursor:pointer;font-size:12.5px;color:var(--muted);list-style:none;padding:3px 8px;border-radius:12px;background:#fff;border:1px solid #d6dfea}
.k-aufmass summary::-webkit-details-marker{display:none}
.k-aufmass[open] summary{border-color:var(--blau);color:var(--blau)}
.k-aufmass-felder{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;color:var(--muted)}
.k-aufmass-felder input{width:62px!important;text-align:right;padding:3px 6px!important;border:1px solid #d6dfea!important;border-radius:4px;background:#fff!important}
.k-flaechen{color:#1d6b35}
.k-raumsumme{font-variant-numeric:tabular-nums;color:var(--dunkel)}
.kalk select.k-mq{display:block;margin-top:3px;width:100%;font-size:11px;padding:1px 2px;color:var(--muted);border:1px solid #e3e6ea;border-radius:4px;background:#fafbfc}
.kalk tfoot tr.k-gesamt th{background:#f1f4f8;font-weight:600;color:var(--muted)}
.k-summenleiste{position:sticky;bottom:0;z-index:4;background:rgba(255,255,255,.97);backdrop-filter:blur(4px);border-top:2px solid var(--blau);box-shadow:0 -4px 14px rgba(20,40,70,.08);padding:10px 16px;margin:0 -16px;border-radius:8px 8px 0 0}
.k-summen-zahlen{display:flex;flex-wrap:wrap;gap:26px;align-items:flex-end}
.k-summen-zahlen span{display:flex;flex-direction:column}
.k-summen-zahlen small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.k-summen-zahlen b{font-size:17px;font-variant-numeric:tabular-nums}
.k-summen-zahlen .k-brutto b{color:var(--blau)}
.k-summen-details summary{cursor:pointer;font-size:12.5px;color:var(--blau);margin-top:6px}
.k-summen-details .kv{max-width:720px;margin-top:8px}
.k-sum-einheit th{padding-left:22px!important;color:var(--muted);font-size:12.5px}
.k-sum-einheit td{color:var(--muted);font-size:12.5px}

/* Kalkulation: Preisliste, Vorschläge, Staffeln, Allgemeinkosten */
.k-pl{display:flex;align-items:center;gap:8px;margin-left:12px;flex-wrap:wrap}
.k-pl-feld{display:flex;flex-direction:column;gap:1px}.k-pl-feld small{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.k-pl select{max-width:240px;padding:5px 6px;border:1px solid var(--line);border-radius:4px;background:#fff;font:inherit;font-size:13px}
.k-pl .opt{font-size:13px;color:var(--dunkel);white-space:nowrap}
.k-staffel{font-size:11.5px;color:#0f5b3d;margin-top:2px;white-space:nowrap}
.k-link-zeile{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.k-link{font-size:11.5px;background:#d6e6f8;color:#164a85;border-radius:10px;padding:1px 8px;margin-top:3px}
.k-link a{color:#164a85;margin-left:4px;font-weight:700}
.k-vorschlag{position:fixed;z-index:200;width:min(760px,80vw);max-height:420px;overflow:auto;background:#fff;border:1px solid #c9d3de;border-radius:6px;box-shadow:0 10px 30px rgba(20,40,70,.18);font-size:13px}
.k-vorschlag .kv-kopf{position:sticky;top:0;background:#f3f6f9;padding:5px 10px;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-bottom:1px solid var(--line)}
.k-vorschlag .kv-kopf b{text-transform:none;letter-spacing:0;color:var(--text);font-size:13px}
.k-vorschlag .kv-item{display:flex;gap:10px;align-items:flex-start;padding:7px 10px;border-bottom:1px solid #f0f2f4;cursor:pointer}
.k-vorschlag .kv-item.on{background:#eaf2fb}
.k-vorschlag .kv-g small{color:var(--blau);margin-left:auto}
.k-vorschlag .kv-pos{flex:none;width:70px;color:var(--muted);font-variant-numeric:tabular-nums}
.k-vorschlag .kv-bez{flex:1;min-width:0}
.k-vorschlag .kv-bez small{display:block;color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-vorschlag .kv-rechts{flex:none;text-align:right;display:flex;flex-direction:column;align-items:flex-end}
.k-vorschlag .kv-rechts small{color:var(--muted);font-size:11px}
.k-vorschlag .kv-rechts b{font-weight:600;white-space:nowrap}
.k-vorschlag .kv-fuss{padding:6px 10px;font-size:11.5px;color:var(--muted);background:#fafbfc}
.kalk tbody.k-ak td{background:#f4f8fd;border-top:1px solid #d6e6f8;color:#2b3f55}
.kalk tbody.k-ak .pill{font-size:11px;margin-right:4px}

/* Geprüften Beleg in die Kalkulation übernehmen */
.kb-kopf{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.kb-kopf h2{margin:0;font-size:18px;flex:1}
.kb-hinweis{background:#fff3c4;color:#6b5600;padding:8px 12px;border-radius:6px}
.kb-spalten{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:22px;align-items:start}
@media (max-width:1000px){.kb-spalten{grid-template-columns:1fr}}
.kb-felder label{display:flex;flex-direction:column;gap:3px;margin-bottom:10px;font-size:13px;color:var(--dunkel)}
.kb-felder input,.kb-felder select,.kb-felder textarea{padding:7px 8px;border:1px solid var(--line);border-radius:4px;font:inherit}
.kb-felder .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kb-felder .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.kb-felder .span2{grid-column:span 2}
.kb-vorschau h3{margin:0 0 6px;font-size:15px}.kb-tab td.diff{color:var(--rot);font-weight:600}.kb-tab tr.kb-warn td{background:#fdecea}
.k-beleg{display:inline-flex;gap:8px;align-items:center;font-size:12px;margin-left:8px}
.k-beleg .warn{background:#fff3c4;color:#6b5600;border-radius:10px;padding:1px 8px;font-weight:600}
.k-raum .k-abschnitt.lang{flex:1 1 520px}

/* Folgeschäden: Auswahl der Wohnung aus der Kalkulation, KI im Dialog */
.fs-kopf{display:flex;align-items:center;gap:12px;margin:18px 0 8px}
.fs-titel{margin:0;font-size:16px;color:var(--side-dark);text-transform:uppercase;letter-spacing:.4px;flex:1}
.fs-pill{font-size:11px;vertical-align:middle;margin-left:6px;font-weight:500}
.fs-knoepfe{display:flex;gap:8px;align-items:center}
.fs-zeile{display:grid;grid-template-columns:1fr 260px;gap:12px;margin-bottom:8px}
.fs-zeile label{display:flex;flex-direction:column;gap:3px;font-size:13px}
.fs-dlg{border:0;border-radius:10px;padding:0;width:min(640px,94vw);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.fs-dlg::backdrop{background:rgba(20,30,45,.45)}
.fs-dlg-kopf{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);font-size:16px}
.fs-dlg-inhalt{padding:16px 18px;display:flex;flex-direction:column;gap:14px}
.fs-frage{margin:0;font-weight:600}
.fs-kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.fs-kachel{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:14px;border:2px solid #d6e2ef;border-radius:8px;background:#f7fafd;cursor:pointer;font:inherit}
.fs-kachel:hover{border-color:var(--blau);background:#eef5fc}
.fs-kachel b{font-size:15px;color:var(--side-dark)}
.fs-kachel small{color:var(--muted)}
.fs-kachel.schon{opacity:.75}.fs-kachel .fs-schon{color:var(--gruen)}
.fs-ki-an{display:flex;gap:8px;align-items:center;font-weight:600;color:#164a85}
.fs-einst>summary{cursor:pointer;color:var(--muted);font-size:13px}
.fs-einst-felder{display:grid;grid-template-columns:1fr 200px;gap:10px;margin-top:8px}
.fs-einst-felder label{display:flex;flex-direction:column;gap:3px;font-size:13px}
.fs-einst-felder .fs-breit{grid-column:1/-1}
.fs-einst-felder select,.fs-einst-felder input{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:4px}
.fs-dlg-fuss{display:flex;justify-content:flex-end;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:12px}
.fs-laeuft{align-items:center;text-align:center;padding:40px 18px}
.fs-laeuft p{margin:0}
.fs-spinner{width:38px;height:38px;border:4px solid #d6e2ef;border-top-color:var(--blau);border-radius:50%;animation:fsdreh 1s linear infinite}
@keyframes fsdreh{to{transform:rotate(360deg)}}
.fs-dlg-inhalt[hidden],.fs-dlg-fuss[hidden],.fs-kachel[hidden]{display:none!important}
.fs-dlg label.fs-ki-an{display:flex!important;flex-direction:row;justify-content:flex-start;text-align:left}
.fs-dlg label.fs-ki-an input{width:auto;margin:0}
.fs-dlg [data-nur-neu][hidden]{display:none!important}.fs-dlg label.fs-ki-an.hint{font-weight:400;color:var(--muted)}

/* Umsatz & Budget */
.um-leiste{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.um-jahr{display:flex;align-items:center;gap:8px}.um-jahr b{font-size:18px;min-width:52px;text-align:center}
.um-sv{font-weight:600}
.um-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:14px}
.um-k{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:2px}
.um-k small{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.3px}
.um-k b{font-size:22px;font-variant-numeric:tabular-nums;color:var(--text)}
.um-k span{font-size:12.5px;color:var(--muted)}
.um-k.haupt b{font-size:26px;color:var(--side-dark)}
.um-quote{font-weight:600}.um-quote.gut{color:#1e7a4f}.um-quote.mittel{color:#9a6a00}.um-quote.schlecht{color:#b3261e}
.um-legende{display:flex;gap:16px;font-size:12.5px;color:var(--muted)}
.um-legende i{display:inline-block;width:14px;height:10px;margin-right:6px;vertical-align:middle;border-radius:2px}
.um-l-u{background:#2f6db5}.um-l-b{background:none;border-top:2px solid #1f2933;height:0!important;width:16px!important}
.um-l-v{background:none;border-top:2px dashed #8a96a3;height:0!important;width:16px!important}
.um-chart{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;height:260px;padding:8px 4px 0;border-bottom:1px solid var(--line);
  background:repeating-linear-gradient(to top,transparent 0,transparent 25%,#eef0f2 25%,#eef0f2 calc(25% + 1px));background-size:100% calc(100% - 22px);background-repeat:no-repeat}
.um-spalte{position:relative;display:flex;flex-direction:column;outline:none}
.um-flaeche{position:relative;flex:1}
.um-bar{position:absolute;bottom:0;left:22%;right:22%;background:#2f6db5;border-radius:4px 4px 0 0;min-height:1px}
.um-spalte.zukunft .um-bar{opacity:.35}
.um-budget{position:absolute;left:10%;right:10%;border-top:2px solid #1f2933}
.um-vj{position:absolute;left:14%;right:14%;border-top:2px dashed #8a96a3}
.um-monat{height:22px;line-height:22px;text-align:center;font-size:12px;color:var(--muted)}
.um-tip{display:none;position:absolute;bottom:calc(100% - 30px);left:50%;transform:translateX(-50%);z-index:5;background:#fff;border:1px solid var(--line);
  border-radius:8px;box-shadow:0 8px 24px rgba(20,40,70,.15);padding:8px 10px;font-size:12.5px;white-space:nowrap;flex-direction:column;gap:2px;pointer-events:none}
.um-spalte:hover .um-tip,.um-spalte:focus .um-tip{display:flex}
.um-spalte:hover .um-bar{background:#24578f}
.um-tabelle{margin-top:10px}.um-tabelle summary{cursor:pointer;color:var(--blau);font-size:13px}
.um-balken{position:relative;height:18px;background:#eef0f2;border-radius:9px;overflow:hidden}
.um-balken i{position:absolute;left:0;top:0;bottom:0;border-radius:9px}
.um-balken i.gut{background:#7cc4a0}.um-balken i.mittel{background:#f0c96b}.um-balken i.schlecht{background:#ee9b92}
.um-balken span{position:relative;font-size:12px;padding-left:8px;line-height:18px;font-weight:600}
tr.aktiv td{background:#eef5fc}
.um-btab input{width:86px;text-align:right;padding:4px 6px;border:1px solid var(--line);border-radius:4px;font:inherit}
.um-btab input.um-jb{width:110px}
.um-leiste select{width:auto;min-width:220px;max-width:320px}
.um-kpi{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.um-k b{font-size:20px}.um-k.haupt b{font-size:24px}
.um-seite td.r,.um-seite th.r{white-space:nowrap}
.um-btab input{width:76px}.um-btab input.um-jb{width:100px}
.um-skala{font-size:11.5px;text-align:right;margin:-4px 0 2px}
.um-mz{vertical-align:top}.um-mz b{display:block;font-variant-numeric:tabular-nums}.um-mz small{display:block;color:var(--muted);font-size:11px;white-space:nowrap}
.um-u{color:#2f6db5;font-weight:600}
.um-btab input.um-jb{width:120px}
.pp-wahl{display:flex;flex-direction:column;gap:8px}
.pp-opt{display:grid!important;grid-template-columns:auto 70px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:2px solid #d6e2ef;border-radius:8px;cursor:pointer;background:#f7fafd}
.pp-opt:has(input:checked){border-color:var(--blau);background:#eef5fc}
.pp-opt b{color:var(--side-dark)}.pp-opt em{font-style:normal;font-weight:600}
.fs-dlg .fs-feld{display:flex;flex-direction:column;gap:3px;font-size:13px}
.fs-dlg .fs-feld input,.fs-dlg .fs-feld select{font:inherit;padding:7px 8px;border:1px solid var(--line);border-radius:4px}
.um-plot{display:grid;grid-template-columns:auto 1fr;gap:8px}
.um-achse{position:relative;margin:8px 0 22px;min-width:78px}
.um-achse span{position:absolute;right:0;transform:translateY(50%);font-size:11.5px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.um-chart{position:relative;background:none!important}
.um-gitter{position:absolute;left:0;right:0;top:8px;bottom:22px;pointer-events:none}
.um-gitter i{position:absolute;left:0;right:0;border-top:1px solid #eef0f2}
.um-spalte{z-index:1}
.um-prod{border-top:1px solid var(--line)}.um-prod:first-of-type{border-top:0}
.um-prod>summary{cursor:pointer;display:flex;gap:12px;align-items:center;padding:10px 4px}
.um-prod>summary b{color:var(--side-dark);min-width:60px}.um-prod-z{margin-left:auto;font-weight:600}

/* Dispo-Plantafel */
.dp{display:grid;grid-template-columns:300px 1fr;gap:14px;align-items:start}
.dp-links{position:sticky;top:10px;max-height:calc(100vh - 90px);display:flex;flex-direction:column;gap:8px;padding:12px}
.dp-links-kopf{display:flex;align-items:center;gap:8px;font-size:15px}
.dp-links input[type=search],.dp-filter select{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:4px;font:inherit;font-size:13px}
.dp-filter{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dp-opt{font-size:12.5px;color:var(--muted);display:flex;gap:6px;align-items:center}
.dp-akten{overflow:auto;display:flex;flex-direction:column;gap:6px;padding-right:2px;flex:1}
.dp-akt{border:1px solid var(--line);border-left:5px solid var(--rf);border-radius:6px;padding:7px 9px;background:#fff;font-size:12.5px;cursor:grab;display:flex;flex-direction:column;gap:2px}
.dp-akt:hover{box-shadow:0 3px 10px rgba(20,40,70,.12)}
.dp-akt-kopf{display:flex;justify-content:space-between;align-items:center}
.dp-alter{font-size:11px;padding:0 6px;border-radius:8px;background:#e9edf1}.dp-alter.gelb{background:#fff3c4;color:#6b5600}.dp-alter.rot{background:#f8d3cf;color:#8b1e12}
.dp-akt-fuss{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:11px;color:var(--muted)}
.dp-akt-fuss .dp-reg{color:#fff;background:var(--rf);border-radius:8px;padding:0 6px}
.dp-akt-fuss .dp-sv{font-weight:700;color:var(--text)}.dp-akt-fuss a{margin-left:auto}
.dp-tipp{margin:0;font-size:11.5px}
.dp-haupt{padding:12px;min-width:0}
.dp-leiste{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.dp-leiste h2{margin:0 0 0 8px;font-size:18px}
.dp-ansicht button.an{background:var(--blau);color:#fff}
.dp-legende{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:8px}
.dp-legende i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:middle}
.dp-tafel.woche{display:grid;grid-template-columns:170px repeat(var(--n),minmax(130px,1fr));border:1px solid var(--line);border-radius:6px;overflow:auto}
.dp-tafel.tag{display:grid;grid-template-columns:170px 1fr;border:1px solid var(--line);border-radius:6px;overflow:auto}
.dp-kopf{background:#f3f6f9;padding:7px 8px;font-size:12.5px;font-weight:600;border-bottom:1px solid var(--line);border-left:1px solid var(--line);position:sticky;top:0;z-index:2}
.dp-kopf small{display:block;font-weight:400;color:#b3261e}.dp-kopf.heute{background:#e3eefb}.dp-kopf a{color:var(--text)}
.dp-ecke{border-left:0}
.dp-sv-kopf{padding:8px;border-bottom:1px solid var(--line);border-left:4px solid var(--f);display:flex;flex-direction:column;gap:2px;background:#fff}
.dp-sv-kopf small{color:var(--muted)}
.dp-zelle{min-height:86px;padding:4px;border-bottom:1px solid var(--line);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:3px;background:#fff;transition:background .1s}
.dp-zelle.heute{background:#f7fbff}
.dp-zelle.abwesend,.dp-zeile.abwesend{background:repeating-linear-gradient(135deg,#f1f2f4 0 6px,#e8eaed 6px 12px)}
.dp-zelle.feiertag,.dp-zeile.feiertag{background:#fbf1f0}
.dp-zelle.nah,.dp-zeile.nah{box-shadow:inset 0 0 0 2px #1e9e6e;background:#eefaf4}
.dp-zelle.drueber,.dp-zeile.drueber{box-shadow:inset 0 0 0 2px var(--blau);background:#eaf2fb}
.dp-zelle-kopf{display:flex;align-items:center;gap:6px;min-height:16px}
.dp-ab{font-size:11px;font-weight:600;color:#6b7280;background:#fff;border-radius:8px;padding:0 6px}
.dp-ab.gross{position:absolute;left:8px;top:6px;z-index:1}
.dp-last{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}
.dp-last i{display:inline-block;height:6px;background:#2f6db5;border-radius:3px}
.dp-route{margin-left:auto;border:0;background:none;cursor:pointer;font-size:13px;padding:0 2px}
.dp-t{display:flex;flex-direction:column;border-left:4px solid var(--rf);background:#f6f8fb;border-radius:4px;padding:3px 6px;font-size:11.5px;line-height:1.25;cursor:grab;position:relative}
.dp-t.ganz{background:#eef0f3;cursor:default}
.dp-t-zeit{font-weight:700}.dp-t-titel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dp-t-reg{color:var(--muted);font-size:10.5px}.dp-t a{position:absolute;right:4px;top:2px;font-size:11px}
.dp-skala{position:relative;height:30px;padding:0}.dp-skala span{position:absolute;top:8px;font-size:11px;color:var(--muted);transform:translateX(-50%)}
.dp-zeile{position:relative;min-height:74px;border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:#fff}
.dp-std{position:absolute;top:0;bottom:0;border-left:1px dashed #edf0f3}
.dp-block-wrap{position:absolute;top:8px;bottom:8px;padding-right:2px}
.dp-block{height:100%;overflow:hidden}
.dp-ganz{position:absolute;right:6px;top:4px;font-size:11px;background:#eef0f3;border-radius:6px;padding:1px 6px}
.dp-dlg-zeile{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.dp-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1f2933;color:#fff;padding:10px 16px;border-radius:8px;z-index:300;font-size:13.5px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.dp-toast a{color:#9cc8ff;margin-left:6px}
.warn{color:#b3261e}
.dp-knopf{margin-left:8px}
@media (max-width:1100px){.dp{grid-template-columns:1fr}.dp-links{position:static;max-height:none}}
.dp-links label.dp-opt{display:flex!important;flex-direction:row;align-items:center;gap:6px}.dp-links label.dp-opt input{width:auto;margin:0}

/* Formatierbare Textfelder (richtext.js) */
.rt{display:flex;flex-direction:column;gap:0;width:100%;min-width:0}
.rt-leiste{display:flex;flex-wrap:wrap;gap:2px;align-items:center;padding:2px 3px;background:#f3f5f7;border:1px solid #ccd2d8;border-bottom:none;border-radius:6px 6px 0 0}
.rt-leiste button{min-width:24px;height:24px;border:1px solid transparent;background:none;border-radius:4px;cursor:pointer;font-size:12.5px;padding:0 5px;color:#333;line-height:1}
.rt-leiste button:hover{background:#e3eaf2;border-color:#b9c7d6}
.rt-leiste .rt-fb{color:var(--c);font-weight:700;border-bottom:3px solid var(--c);border-radius:4px 4px 0 0}
.rt-leiste .rt-trenn{width:1px;height:16px;background:#ccd2d8;margin:0 3px}
.rt-leiste .rt-ki{background:linear-gradient(135deg,#f3eaff,#e6f0ff);border-color:#d3c6f0;color:#4b2a8a;font-weight:600}
.rt-ed{border:1px solid #ccd2d8;border-radius:0 0 6px 6px;padding:6px 9px;background:#fff;line-height:1.45;outline:none;overflow:auto;max-height:60vh;white-space:normal;word-wrap:break-word;text-align:left;font-weight:normal;cursor:text;resize:vertical}
.rt-ed:focus{border-color:#669acc;box-shadow:0 0 0 3px rgba(102,154,204,.2)}
.rt-ed.rt-leer::before{content:attr(data-ph);color:#a7b2bf;pointer-events:none}
.rt-ed.rt-fehlt{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.2)}
.rt-ed mark,.fmt mark{background:#fff3a0;padding:0 1px}
.rt .ki-korr{margin-top:6px;font-weight:normal}
.rt.rt-aus .rt-leiste{display:none}.rt.rt-aus .rt-ed{background:#f5f6f8;border-radius:6px;cursor:default}
.rt:has(> textarea.cmp-text) .rt-ed{min-height:260px;border-radius:0}.rt:has(> textarea.cmp-text) .rt-leiste{border-radius:0;border-left:none;border-right:none}.rt:has(> textarea.cmp-text) .rt-ed{border-left:none;border-right:none}

/* Umsatz je Auftraggeber */
.um-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#eef4fb;border:1px solid #c9dbef;border-radius:6px;padding:8px 12px;margin-bottom:12px}
.um-agbar{position:relative;height:22px;background:#f1f3f5;border-radius:4px;overflow:hidden;min-width:140px}
.um-agbar i{position:absolute;left:0;top:0;bottom:0;background:#a9c8e8;border-radius:4px}
.um-agbar span{position:relative;padding:0 8px;line-height:22px;font-weight:600;font-size:12.5px;white-space:nowrap}
.um-ag tr.aktiv td{background:#eef4fb}.um-ag tr.aktiv .um-agbar i{background:#7fb0de}
.um-ag-sv td{background:#f8fafc;font-size:12.5px}.um-ag-sv span{display:inline-block;margin-right:16px}
.rt-leiste .rt-gr,.tb-format .tb-gr{height:24px;width:auto;min-width:0;padding:0 4px;font-size:12px;border:1px solid #ccd2d8;border-radius:4px;background:#fff;margin:0 2px;cursor:pointer}
.tb-format .tb-gr{height:30px;font-size:13px}
.dash-ind{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 14px;margin-bottom:10px}.dash-ind label{font-size:13px}
/* Kontoauszug abgleichen */
.ba-form{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.ba-form>div{flex:1;min-width:300px}.ba-form p{margin:4px 0 0}
.ba-letzte{margin:8px 0 0}
.ba-legende{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:#555;margin-bottom:8px}
.ba-a{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle;margin-right:5px}
.ba-a.gruen{background:#1e8449}.ba-a.gelb{background:#e6a817}.ba-a.rot{background:#c0392b}
table.ba td{vertical-align:top}.ba-zweck{font-size:12px;max-width:520px;word-break:break-word}
.ba-sel{max-width:330px}table.ba tr.ba-rot td{background:#fff7f6}table.ba tr.ba-gelb td{background:#fffbea}
.ba-form input[type=file]{max-width:340px}

/* Auftragsblatt einlesen */
.ab-box{border:2px dashed #b9c7d6;background:#f8fbfe}.ab-box.drop{border-color:#669acc;background:#eef5fc}
.ab-zeile{display:flex;gap:14px;align-items:center;justify-content:space-between}.ab-zeile .hint{display:block;margin-top:3px}
.ab-status{margin-top:10px;padding:8px 10px;border-radius:6px;background:#fff;border:1px solid #dde1e5}
.ab-status.ok{border-color:#9fd3b0;background:#f1fbf4}.ab-status.fehler{border-color:#e5a39b;background:#fdf2f0;color:#a0291c}
.ab-status ul{margin:6px 0 0 18px;padding:0}
.ab-gefuellt{background:#fff8d6!important;border-color:#e6c84c!important}
span.pflicht{color:#c0392b;margin-left:2px}
.bem-edit .rt{margin-top:4px}.bem-edit textarea{width:100%}.bem-edit summary{cursor:pointer}
.bem-knopf{border:none;background:none;color:#2f6eaa;cursor:pointer;font-size:12.5px;padding:2px 0;margin-right:10px}
.bem-knopf:hover{text-decoration:underline}
.bem-vorschau{font-size:12px;color:#5b6570;cursor:pointer;margin:2px 0 4px;line-height:1.35}
.bem-vorschau:hover{color:#2f6eaa}
tr.bemrow td{background:#f6f9fc;padding:8px 10px 12px}
.bem-kopf{display:flex;gap:10px;align-items:center;margin-bottom:6px}.bem-kopf .hint{flex:1}
tr.bemrow .rt-ed{min-height:9em;max-height:50vh}
/* modernes Speichern-Symbol (Umriss, nimmt die Schriftfarbe an) */
.ic-save{display:inline-block;width:1.05em;height:1.05em;margin-right:.4em;vertical-align:-.16em;background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z'/%3E%3Cpath d='M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7'/%3E%3Cpath d='M7 3v4a1 1 0 0 0 1 1h7'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z'/%3E%3Cpath d='M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7'/%3E%3Cpath d='M7 3v4a1 1 0 0 0 1 1h7'/%3E%3C/svg%3E") center/contain no-repeat}
.kalk input.k-ab{width:86px}
tr.k-aus td{color:#9aa3ad}tr.k-aus .k-aus-text{text-decoration:line-through}.pill.grau{background:#e5e8eb;color:#5b6570}
.cmp-ver{margin-right:6px;font-size:11px;vertical-align:1px}.pill.gruen{background:#d9f5e3;color:#106b35}
/* Kalkulation nach Gewerk */
.k-ansicht{margin-right:8px}.k-ansicht a{padding:5px 10px}
tr.gewerkrow td{background:#eef3f8;border-top:2px solid #c9d6e3;padding:7px 8px}
tr.gewerkrow b{font-size:14px;color:#1f3d5c}.gw-kopfsumme{float:right;font-weight:600;color:#1f3d5c}
.gw-toggle{border:none;background:none;cursor:pointer;font-size:14px;color:#2f6eaa;padding:0 4px}
tr.gewerksumme td{background:#f7f9fb;font-size:12.5px;color:#334;border-bottom:2px solid #dde5ee}
.gw-sum-titel{margin:12px 0 4px}
.k-ansicht a{border-right:1px solid var(--line);background:#fff;color:inherit;text-decoration:none;font-size:13px}.k-ansicht a:last-child{border-right:0}
.k-ansicht a.on{background:var(--blau,#2f6eaa);color:#fff}
/* Zeiterfassung: automatisch abgezogene Mittagspause */
.az input.zt.auto-p::placeholder { color: #8a94a6; font-style: italic; opacity: 1; }
.az td.auto-p { color: #8a94a6; font-style: italic; }
.card-h .knoepfe{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.dd .menu button.menu-item{display:block;width:100%;text-align:left;padding:6px 14px;color:#333;background:none;border:0;font:inherit;cursor:pointer}
.dd .menu button.menu-item:hover{background:#f0f2f4}
.card-h .knoepfe .dd{position:relative}
/* Kalkulation „wie erfasst“: kleine Gewerk-Überschrift innerhalb eines Raums */
tr.gw-sub td{padding:6px 8px 2px;border-bottom:0;background:transparent}
tr.gw-sub span{font-size:11.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#5b7088;border-bottom:1px solid #c9d6e3;padding-bottom:1px}
/* Mehrere Akten zum selben Schaden */
.verw-badge{display:inline-block;margin-left:4px;padding:0 6px;border-radius:9px;background:#e6eef7;color:#1f3d5c;font-size:11px;font-weight:600;cursor:help;white-space:nowrap}
.card.verwandt table.grid td,.card.verwandt table.grid th{padding:5px 8px}
.card.verwandt tr.selbst td{background:#f3f7fb}
.ab-status.warn{background:#fff6e0;border:1px solid #f0d58a;color:#5c4400;margin:10px 0}
tr.gw-sub .gw-knoepfe{padding-top:4px;vertical-align:bottom}
tr.gw-sub .gw-knoepfe .ico{opacity:.55}tr.gw-sub:hover .gw-knoepfe .ico{opacity:1}
.file-zeile .druck-del{float:right}
tr.umbruchrow td{padding:4px 8px}
.k-umbruch{border-top:2px dashed #b5bcc4;text-align:center;line-height:0;margin:10px 0}
.k-umbruch span{background:#fff;padding:0 10px;font-size:11.5px;color:#6b7480;position:relative;top:-1px}
.k-aktion .k-umbr{opacity:.45}.k-pos:hover .k-umbr,.textrow:hover .k-umbr{opacity:1}
.k-umbruch{border-top-color:#7d8894}.k-umbruch span{color:#3d4650;font-weight:600}
/* Aktionsknöpfe der Kalkulation kompakt (2×2), Staffeltext darf umbrechen – Tabelle passt ohne Querscrollen */
.kalk td.k-aktion{white-space:normal;width:66px;min-width:66px;padding-left:2px;padding-right:2px}
.kalk tr.gw-sub td.k-aktion{white-space:nowrap}
.kalk td.k-aktion form.inline{display:inline-block;margin:0 0 2px 0}
.kalk .k-staffel{white-space:normal;max-width:120px;line-height:1.25}
/* Akten-Wechsler „weitere Akten zu diesem Schaden“ vor dem Reiter „Akt“ */
.tab-icon.schaden{background:#fff3d6;color:#6b4a00;font-weight:600;list-style:none}
.tab-icon.schaden:hover{background:#ffe8b0}.tab-icon.schaden::-webkit-details-marker{display:none}
.schaden-wahl .menu{min-width:320px}
.schaden-wahl .menu a small{display:block;color:#777;font-weight:normal}
.schaden-wahl .menu a.sel{background:#f1f1f1;color:#333;cursor:default}
/* Neuer Akt: Anlegen als GA / Aktenprüfung */
.art-wahl{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:10px 14px}
.art-opt{display:inline-flex;gap:6px;align-items:center;padding:5px 12px;border:1px solid #d5d9de;border-radius:4px;cursor:pointer;background:#fff}
.art-opt:has(input:checked){border-color:#c0392b;background:#fdf2f0;font-weight:600}
span[data-nur-ga]:not([hidden]){display:contents}
.art-wahl .art-opt{flex-direction:row;margin:0}.art-wahl .art-opt input{margin:0;width:auto}
