/* Laibung/Rahmen: einfache gestrichelte Linien zum Anwählen/Ziehen – ohne Hover-Effekte */
.rev-hit,.frame-hit{cursor:default}
.pm-btn{opacity:.5}
.opening-g .rev-hatch,.sec-g .rev-hatch{opacity:0}                 /* Laibungs-Schraffur standardmäßig aus … */
.opening-g:hover .rev-hatch,.sec-g:hover .rev-hatch{opacity:1}     /* … nur beim Drüberfahren (Öffnung bzw. Schnitt) sichtbar */
/* Linke Planungs-Tool-Spalte (zusätzlich zum Reiter „Planung") */
.plan-rail{position:fixed;left:0;top:calc(var(--bar) + var(--tools));bottom:var(--quickh);z-index:41;width:var(--planrailw);display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;font-family:var(--font)}
body.has-tabs .plan-rail{top:calc(var(--bar) + var(--tools) + var(--tabs))}
body.has-planbar .plan-rail{top:calc(var(--bar) + var(--tools) + var(--planh))}
body.has-planbar.has-tabs .plan-rail{top:calc(var(--bar) + var(--tools) + var(--tabs) + var(--planh))}
body:not(.has-doc) .plan-rail{display:none}
body.planrail-collapsed .plan-rail{display:none}
body.has-doc:not(.planrail-collapsed) .work{left:var(--planrailw);transition:left .15s}
.plan-rail-toggle{position:fixed;left:0;top:calc(var(--bar) + var(--tools) + 4px);z-index:42;width:18px;height:30px;border:1px solid var(--line);border-left:none;background:var(--surface);color:var(--ink-soft);cursor:pointer;font-size:12px;border-radius:0 6px 6px 0}
body.has-tabs .plan-rail-toggle{top:calc(var(--bar) + var(--tools) + var(--tabs) + 4px)}   /* unter die Tab-Leiste, nicht darüber */
body.has-planbar .plan-rail-toggle{top:calc(var(--bar) + var(--tools) + var(--planh) + 4px)}
body.has-planbar.has-tabs .plan-rail-toggle{top:calc(var(--bar) + var(--tools) + var(--tabs) + var(--planh) + 4px)}
body:not(.planrail-collapsed) .plan-rail-toggle{left:var(--planrailw)}
body:not(.planrail-collapsed) .plan-rail-toggle{transform:scaleX(-1)}
body:not(.has-doc) .plan-rail-toggle{display:none}
/* Immer sichtbare rechte Leiste (Knöpfe zum Ausfahren: Listen/Inspector, Kommentare) – Stil wie Kommentar-Panel */
.side-rail{position:fixed;top:calc(var(--bar) + var(--tools));right:0;bottom:var(--quickh);z-index:63;display:flex;flex-direction:column;gap:2px;padding:6px 4px;background:var(--surface);border-left:1px solid var(--line);font-family:var(--font)}
.sr-btn{display:flex;flex-direction:column;align-items:center;gap:2px;width:44px;padding:7px 2px;border:none;background:none;cursor:pointer;font-size:9px;color:var(--ink-soft);line-height:1}
.sr-btn b{font-size:16px;font-weight:400}
.sr-btn:hover{background:var(--surface-2)}
.sr-btn.on{background:var(--accent-soft);color:var(--accent-3)}
/* Inspector-/Listen-Panel – sauberer Stil wie das Kommentar-Panel (Theme-Farben, eckig, ruhig) */
.list-panel{position:fixed;top:calc(var(--bar) + var(--tools));right:var(--railw);bottom:var(--quickh);width:min(var(--listw),86vw);z-index:40;background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;font-family:var(--font)}
body.has-tabs .list-panel,body.has-tabs .side-rail{top:calc(var(--bar) + var(--tools) + var(--tabs))}
body.has-planbar .list-panel,body.has-planbar .side-rail{top:calc(var(--bar) + var(--tools) + var(--planh))}
body.has-planbar.has-tabs .list-panel,body.has-planbar.has-tabs .side-rail{top:calc(var(--bar) + var(--tools) + var(--tabs) + var(--planh))}
.lp2-head{display:flex;align-items:center;gap:6px;padding:10px 12px 8px;border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap}
.lp2-tabs{display:flex;gap:4px;flex-wrap:wrap}
.lp2-tab{border:1px solid var(--line);background:var(--surface-2);padding:4px 9px;font-size:12px;cursor:pointer;color:var(--ink-soft)}
.lp2-tab:hover{border-color:var(--accent)}
.lp2-tab.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.lp2-body{flex:1;overflow:auto;padding:10px 12px}
.lp2-empty{padding:8px 2px;color:var(--ink-soft);font-size:13px;line-height:1.5}
.lp2-body h4{margin:16px 0 7px;padding-left:8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:700;border-left:3px solid var(--accent)}
.lp2-body h4:first-child{margin-top:2px}
/* Inspector-Felder */
.lp2-body .insp-row{display:flex;align-items:center;gap:6px;margin:6px 0}
.lp2-body .insp-lbl{flex:1;color:var(--ink-soft);font-size:12px}
.insp-num{width:64px;padding:4px 6px;border:1px solid var(--line);font-size:12px;background:var(--surface);color:var(--ink)}
.insp-sel{padding:4px 6px;border:1px solid var(--line);font-size:12px;background:var(--surface);color:var(--ink)}
.insp-rst{border:none;background:none;cursor:pointer;color:var(--ink-faint);font-size:14px;padding:0 2px}
.insp-btn{width:100%;margin-top:10px;padding:7px;cursor:pointer;border:1px solid var(--line);background:var(--surface-2);font-size:12px;color:var(--ink)}
.insp-btn:hover{border-color:var(--accent)}
.insp-note{margin-top:6px;color:var(--ink-soft);font-size:11px}
.insp-hint{margin-top:10px;color:var(--ink-faint);font-size:11px;line-height:1.45}
.insp-kv{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid var(--line-soft);font-size:12px}
.insp-kv span{color:var(--ink-soft)}
.lp2-body .bu-thumb{display:block;margin:2px 0 8px}
/* Listen-Politur (nur im Panel) – ruhig, tabellarische Zahlen, klare Trennung */
.lp2-body .qty-tab{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.lp2-body .qty-tab th{position:sticky;top:0;background:var(--surface);text-align:left;padding:6px;border-bottom:2px solid var(--line);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-faint);z-index:1;white-space:nowrap}
.lp2-body .qty-tab td{padding:6px;border-bottom:1px solid var(--line-soft);vertical-align:middle;color:var(--ink)}
.lp2-body .qty-tab td:first-child,.lp2-body .qty-tab th:first-child{padding-left:2px}
.lp2-body .qty-tab td:last-child,.lp2-body .qty-tab th:last-child{padding-right:2px}
.lp2-body .qty-tab tbody tr:nth-child(even){background:var(--surface-2)}
.lp2-body .qty-tab tbody tr:hover{background:var(--accent-soft)}
.lp2-body .qty-tab tfoot th{position:static;background:var(--accent-soft);border-top:2px solid var(--line);border-bottom:none;color:var(--ink);font-size:12px;text-transform:none}
.lp2-body .bu-u{width:100%;max-width:120px;padding:4px 6px;border:1px solid var(--line);font-size:12px;background:var(--surface)}
.lp2-body .bu-u:focus{outline:none;border-color:var(--accent)}
.lp2-body .qty-tab svg{display:block}
.lp2-body .qty-tab .num{font-weight:600;color:var(--ink)}
.lp2-body .qty-tab .unit{color:var(--ink-faint)}
.mat-sw{display:inline-block;width:11px;height:11px;border:1px solid #9a9a9a;border-radius:3px;margin-right:6px;vertical-align:-1px}
.bu-u.uval-good{color:#2e7d32;font-weight:600}
.bu-u.uval-mid{color:#9a7a16;font-weight:600}
.bu-u.uval-poor{color:#b4502f;font-weight:600}
/* Wandaufbau-Karten */
.wb-card{border:1px solid var(--line);background:var(--surface-2);border-radius:7px;padding:9px 10px;margin:0 0 9px}
.wb-top{display:flex;align-items:center;gap:8px;font-size:12px}
.wb-top b{font-size:13px;color:var(--accent-3)}
.wb-dim{color:var(--ink-soft);font-variant-numeric:tabular-nums}
.wb-cnt{color:var(--ink-faint);font-size:11px}
.wb-thumb{margin:7px 0 6px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#fff}
.wb-thumb svg{width:100%;height:auto;display:block}
.wb-desc{font-size:11px;color:var(--ink-soft);line-height:1.45;margin-bottom:8px}
.wb-u{display:flex;align-items:center;gap:6px;font-size:12px}
.wb-u>span:first-child{color:var(--ink-soft)}
.wb-uu{color:var(--ink-faint);font-size:11px}
.wb-edit{color:var(--accent)}
.wb-card .bu-u{width:74px}
/* Fenster-/Tür-Karten */
.ws-card{display:flex;gap:10px;border:1px solid var(--line);background:var(--surface-2);border-radius:7px;padding:8px 10px;margin:0 0 8px}
.ws-thumb{flex:0 0 58px;width:58px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:4px;padding:3px}
.ws-thumb svg{width:100%;height:auto;display:block;max-height:72px}
.ws-info{flex:1;min-width:0}
.ws-top{display:flex;align-items:center;gap:7px;font-size:12px}
.ws-top b{font-size:13px;color:var(--accent-3)}
.ws-type{color:var(--ink-soft)}
.ws-cnt{color:var(--ink-faint);font-size:11px}
.ws-badges{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 4px}
.ws-badge{display:inline-flex;align-items:baseline;gap:3px;background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:2px 6px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink)}
.ws-badge i{font-style:normal;color:var(--ink-faint);font-size:9.5px;text-transform:uppercase;letter-spacing:.02em}
.ws-mat{font-size:11px;color:var(--ink-soft)}
:root{
  /* Palette + Schrift → ../ui/tokens.css (gemeinsames Design-System) */
  /* Bis zum 14.08.2026 warmes Beige aus der alten Palette — der Akzent war
     violett, der Untergrund nicht. Jetzt derselbe Grundton wie SubmitOne
     und Submit Paper. */
  --bg:var(--grund);   /* App-Hintergrund um den Plan herum */
  --bar:74px; --tools:94px; --tabs:36px; --planh:46px;
  --railw:54px; --listw:340px; --quickh:38px; --planrailw:50px;
}
*{box-sizing:border-box}
[hidden]{display:none !important}   /* Attribut sticht Klassen-display aus (Mail-Dialog etc.) */

/* Animierter Startbildschirm */
.splash{position:fixed;inset:0;z-index:200;background:#eef0e8 url('bg.jpg') center/cover no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:opacity .55s ease}
.splash.hide{opacity:0;pointer-events:none}
.splash-mark{width:158px;height:188px}
.splash-mark .s-draw{stroke-dasharray:760;stroke-dashoffset:760;animation:lgDraw 1s ease .15s forwards}
.splash-mark .a-draw{stroke-dasharray:150;stroke-dashoffset:150;animation:lgDraw .55s ease 1s forwards}
.splash-mark .a-draw2{stroke-dasharray:90;stroke-dashoffset:90;animation:lgDraw .4s ease 1.3s forwards}
.splash-mark .leaf{opacity:0;transform-box:fill-box;transform-origin:60% 70%;animation:lgPop .55s cubic-bezier(.2,1.4,.4,1) 1.15s forwards}
@keyframes lgDraw{to{stroke-dashoffset:0}}
@keyframes lgPop{from{opacity:0;transform:scale(.4) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.splash-word{display:flex;align-items:center;font-weight:300;font-size:30px;letter-spacing:7px}
.splash-word .sl{display:inline-block;opacity:0;transform:translateY(12px);animation:lgRise .42s ease forwards}
.splash-word .sl.d{color:#3a3f3a} .splash-word .sl.g{color:#a7a89b}
@keyframes lgRise{to{opacity:1;transform:translateY(0)}}
html,body{margin:0;height:100%}
body{font-family:var(--font);background:var(--bg);color:var(--ink);overflow:hidden}
svg.i{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn .i{width:24px;height:24px;stroke-width:1.7}
.topbar .icon-btn{width:38px;height:38px}
.topbar .icon-btn .i{width:28px;height:28px;stroke-width:1.85}
.ui-zoom{display:flex;align-items:center;gap:1px;margin-right:6px;border:1px solid var(--line);border-radius:8px;padding:1px;background:var(--surface-2)}
.ui-zoom .icon-btn{width:30px;height:30px;font-size:20px;font-weight:600}
.ui-zoom-lbl{min-width:50px;height:30px;border:none;background:none;font:inherit;font-size:13px;font-weight:700;color:var(--accent-3);cursor:pointer;border-radius:6px}
.ui-zoom-lbl:hover{background:var(--accent-soft)}

/* Topbar */
.topbar{height:var(--bar);display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--surface);border-bottom:1px solid var(--line);position:relative;z-index:6}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;margin-right:6px;font-weight:500;font-size:16px;letter-spacing:2.5px}
.brand .logomark{height:52px;width:52px;flex:none;object-fit:contain}
.drop-logo{width:min(300px,66vw);display:block;margin:0 auto 8px}
.splash-logo{width:min(360px,72vw);opacity:0;animation:lgReveal 1.15s cubic-bezier(.2,.7,.3,1) .15s forwards}
/* Edge „Visuelle Suche"-Leiste (oben rechts auf Bildern) auf unseren Logos unterdrücken */
.splash-logo,.brand .logomark,.brand .brand-word,.splash-mark{pointer-events:none;-webkit-user-select:none;user-select:none}
/* Header-Menüs „Listen" / „Submit" */
.hdr-btn{height:30px;padding:0 11px;border:1px solid #d8dcd2;background:#fff;border-radius:8px;font:inherit;font-size:13px;color:#2a2f2a;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.hdr-btn:hover{background:#eef1ec;border-color:#c2c8ba}
.hdr-pop{position:fixed;top:0;left:0;background:#fff;border:1px solid #d8dcd2;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:6px;z-index:300;display:flex;flex-direction:column;min-width:236px}
.hdr-pop button{display:block;width:100%;text-align:left;padding:9px 12px;border:0;background:none;border-radius:7px;font:inherit;font-size:13px;color:#2a2f2a;cursor:pointer;white-space:nowrap}
.hdr-pop button:hover{background:#eef1ec}
/* Aktions-Buttons in den Ribbon-Reitern „Listen" / „Submit" */
.rib-act{height:38px;padding:0 16px;border:1px solid var(--line);background:#fff;border-radius:8px;font:inherit;font-size:15px;color:var(--ink-soft);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.rib-act:hover{background:#eef1ec;color:var(--ink);border-color:#c2c8ba}
.rib-act.on{background:var(--accent-soft);color:var(--accent-3);border-color:#9bbf86;font-weight:700}
/* Projekt-Chip neben dem Dokumentnamen */
.doc-project{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:24px;padding:0 10px;border:1px solid #cdd6c4;background:#eef3e8;color:#3c5a2f;border-radius:12px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.doc-project:hover{background:#e3ebda;border-color:#b6c3a8}
/* Projekt-Ordner im Datei-Browser hervorheben */
.fp-row.fp-proj .fp-nm{font-weight:700;color:#3c5a2f}
@keyframes lgReveal{from{opacity:0;transform:scale(.93) translateY(10px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:scale(1) translateY(0);clip-path:inset(0 0 0 0)}}
.brand .bw-a{color:#1c242c} .brand .bw-b{color:#7132e3;margin-left:5px}
.brand .brand-word{height:25px;width:auto;display:block;object-fit:contain}
.btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:0;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:.12s;white-space:nowrap;flex:none}
.topbar{flex-wrap:nowrap}
.hdr-sep{width:1px;height:22px;background:var(--line);margin:0 3px;flex:none}
/* Ohne offenes Dokument: oben rechts NUR der Download-Button (alles andere raus) */
body:not(.has-doc) #btnUndo,body:not(.has-doc) #btnRedo,body:not(.has-doc) .pageind,body:not(.has-doc) #btnOutline,body:not(.has-doc) .scaleind,body:not(.has-doc) .hdr-sep,body:not(.has-doc) #btnSave,body:not(.has-doc) #btnSend,body:not(.has-doc) #btnPrint,body:not(.has-doc) #btnComments,body:not(.has-doc) #btnSplit,body:not(.has-doc) #btnNew,body:not(.has-doc) #btnFolder,body:not(.has-doc) #btnInstall,body:not(.has-doc) .doc-name,body:not(.has-doc) .suite-link{display:none !important}
/* Download-Button (Desktop-App / Tauri) – hell, offen, premium; nur im Leerzustand */
.dl-btn{display:none;align-items:center;gap:10px;height:42px;padding:0 20px;border:1.5px solid var(--accent);border-radius:10px;background:linear-gradient(180deg,#fff 0%,#f3f8ef 100%);color:var(--accent-3);font:inherit;font-size:13.5px;font-weight:600;letter-spacing:.2px;cursor:pointer;white-space:nowrap;flex:none;box-shadow:0 4px 14px -6px rgba(60,95,40,.35);transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}
.dl-btn:hover{transform:translateY(-1px);background:linear-gradient(180deg,#f3f8ef 0%,#e7f1df 100%);border-color:var(--accent-3);box-shadow:0 8px 20px -8px rgba(60,95,40,.45)}
.dl-btn:active{transform:translateY(0)}
.dl-btn .dl-arrow{width:17px;height:17px;fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
body:not(.has-doc) #btnDownload{display:inline-flex}
@media (max-width:560px){.dl-btn span{display:none}.dl-btn{padding:0 12px;gap:0}}
.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.btn:disabled{opacity:.45;cursor:default}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover:not(:disabled){filter:brightness(1.05);color:#fff}
.icon-btn{width:40px;height:40px;border:none;background:none;color:var(--ink-soft);border-radius:0;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}
.icon-btn:disabled{opacity:.4;cursor:default}
.icon-btn.on{background:var(--accent-soft);color:var(--accent)}
.doc-name{font-size:13px;color:var(--ink-soft);font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grow{flex:1}
.zoombox{display:flex;align-items:center;gap:0;background:var(--surface-2);border:1px solid var(--line);border-radius:0;padding:1px}
.zoombox .icon-btn{width:28px;height:28px;font-size:17px}
.zoom-val{min-width:62px;text-align:center;background:none;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);color:var(--ink-soft);font:inherit;font-size:12.5px;font-weight:700;padding:6px 4px;border-radius:0;cursor:pointer;font-variant-numeric:tabular-nums}
.zoom-val:hover{color:var(--ink)}
.zoom-val.on{color:var(--accent)}
.pageind{font-size:12.5px;color:var(--ink-soft);font-weight:600;min-width:60px;text-align:center;font-variant-numeric:tabular-nums}
/* Suche im Dokument */
.findbar{position:fixed;top:calc(var(--bar) + var(--tools) + 8px);right:18px;z-index:70;display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 28px rgba(20,24,40,.22);padding:6px 8px}
body.has-tabs .findbar{top:calc(var(--bar) + var(--tools) + var(--tabs) + 8px)}
.findbar .find-ic{width:16px;height:16px;fill:none;stroke:var(--ink-faint);stroke-width:2;flex:none}
.findbar input{border:none;background:none;font:inherit;font-size:14px;color:var(--ink);width:190px;outline:none}
.find-count{font-size:12px;color:var(--ink-faint);font-variant-numeric:tabular-nums;min-width:48px;text-align:right;white-space:nowrap}
.find-btn{width:26px;height:26px;border:1px solid transparent;background:none;cursor:pointer;color:var(--ink-soft);font-size:12px;display:flex;align-items:center;justify-content:center}
.find-btn:hover{background:var(--surface-2);border-color:var(--line)}
.find-hl{position:fixed;z-index:65;background:rgba(245,166,35,.35);border:1.5px solid #f5a623;pointer-events:none}
.scaleind{font-size:12.5px;color:var(--accent);font-weight:700;white-space:nowrap}
.sig-canvas{width:100%;height:200px;border:1.5px solid var(--line);background:#fcfcfa;touch-action:none;cursor:crosshair;display:block}
.sig-saved{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13px;color:var(--ink-soft)}
.sig-saved img{height:42px;border:1px solid var(--line);background:#fff;padding:2px}
.sig-block{display:flex;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}
.sig-block #sigName{flex:1;min-width:160px;border:1px solid var(--line);background:var(--surface-2);padding:8px 11px;font:inherit;font-size:14px;color:var(--ink)}
.sig-block #sigName:focus{outline:none;border-color:var(--accent)}
.sig-chk{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-soft);white-space:nowrap;cursor:pointer}
.freerot{position:fixed;left:158px;bottom:44px;z-index:30;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);padding:8px 12px;box-shadow:0 8px 24px rgba(20,24,40,.16)}
.freerot .fr-cap{font-size:12px;font-weight:600;color:var(--ink-soft)}
.freerot input[type=range]{width:160px;accent-color:var(--accent)}
.freerot .fr-val{font-size:12.5px;font-weight:700;color:var(--accent);min-width:42px;text-align:center;font-variant-numeric:tabular-nums}
.suite-link{font-size:12.5px;color:var(--ink-faint);text-decoration:none;font-weight:600}
.suite-link:hover{color:var(--accent)}

/* Werkzeugleiste */
.toolbar{min-height:44px;display:flex;flex-direction:column;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--line);position:relative;z-index:6}
.rib-tabs{height:36px;flex:none;display:flex;align-items:center;gap:2px;padding:0 10px;border-bottom:1px solid var(--line-soft)}
.rib-tab{height:36px;border:none;background:none;font:inherit;font-size:15px;font-weight:600;letter-spacing:.2px;color:var(--ink-soft);padding:0 16px;cursor:pointer;border-bottom:2px solid transparent;border-radius:0}
.rib-tab:hover{color:var(--ink)}
.rib-tab.on{color:var(--accent-3);border-bottom-color:var(--accent)}
.rib-collapse{margin-left:auto;width:30px;height:24px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:0;flex:none}
.rib-collapse:hover{border-color:var(--accent);color:var(--accent-3)}
.rib-collapse svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
body.rib-collapsed .rib-collapse svg{transform:rotate(180deg)}
.rib-tabs{display:none}   /* keine Reiter mehr – alle Werkzeuge sind sichtbar (in 2 Reihen) */
.rib-row{flex:1;display:flex;align-items:center;gap:6px 10px;padding:5px 12px;overflow:visible;flex-wrap:wrap;align-content:center}
.rib-tools{display:flex;align-items:center;gap:3px 6px;flex-wrap:wrap}
.rib-tools:not([hidden]){display:contents}   /* Werkzeuggruppe in den gemeinsamen Umbruch-Fluss der Reihe auflösen → Werkzeuge UND Stil-Leiste brechen zusammen um */
.toolbar .grow{display:none}   /* kein Rechts-Schub: Farbe/Breite/Grösse/Löschen fliessen direkt hinter den Werkzeugen mit → alles in 2 Reihen, kein Umbruch in eine 3. Reihe */
body.rib-collapsed{--tools:36px}
body.rib-collapsed .rib-row{display:none}
.tgrp{display:flex;align-items:center;gap:3px;padding-right:8px;margin-right:2px;border-right:1px solid var(--line-soft);flex:none}
.tgrp:last-child{border-right:none}
.tool{width:42px;height:42px;border:1px solid transparent;background:none;color:var(--ink-soft);border-radius:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.tool:hover{background:var(--surface-2);color:var(--accent-2)}
.tool.on{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
.tool.danger{color:var(--danger)}
.tool.danger:hover{background:#f4e6df;color:var(--danger)}
.swatch-wrap{position:relative}
.swatch{position:relative;width:42px;height:42px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.swatch span{width:20px;height:20px;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);background:#b4502f}
.palette{position:absolute;top:calc(100% + 6px);left:0;z-index:60;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(20,24,40,.2);padding:10px;display:flex;flex-direction:column;gap:8px}
.pal-row{display:flex;align-items:center;gap:5px}
.pal-lbl{width:48px;font-size:11px;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.5px}
.pal-row button{width:26px;height:26px;border:1px solid rgba(0,0,0,.15);cursor:pointer;padding:0}
.pal-row button:hover{outline:2px solid var(--accent);outline-offset:1px}
.pal-custom{margin-top:2px;border:1px solid var(--line);background:var(--surface-2);font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-soft);padding:7px;cursor:pointer}
.pal-custom:hover{border-color:var(--accent);color:var(--accent)}
.stamp-wrap{position:relative}
.stamp-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:60;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(20,24,40,.2);padding:8px;display:flex;flex-direction:column;gap:6px;min-width:160px}
.stamp-grid{display:flex;gap:6px}
.stamp-grid .st-sym{width:42px;height:42px;border:1px solid var(--line);background:var(--surface-2);font-size:21px;font-weight:700;cursor:pointer;line-height:1}
.stamp-grid .st-sym:hover{border-color:var(--accent)}
.st-lbl{border:1px solid var(--line);background:var(--surface-2);font:inherit;font-size:12.5px;font-weight:700;padding:8px;cursor:pointer;letter-spacing:.5px;text-align:left}
.st-lbl:hover{border-color:var(--accent);color:var(--accent-3)}
.sel{height:32px;border:1px solid var(--line);background:var(--surface);border-radius:0;font:inherit;font-size:12.5px;color:var(--ink);padding:0 6px;cursor:pointer}

/* Tab-Leiste (mehrere Dokumente) */
.tabbar{position:absolute;top:calc(var(--bar) + var(--tools));left:0;right:0;height:var(--tabs);display:none;align-items:flex-end;gap:4px;background:var(--surface-2);border-bottom:1px solid var(--line);padding:0 10px;overflow-x:auto;overflow-y:hidden;z-index:6;scrollbar-width:thin}
body.has-tabs .tabbar{display:flex}
.tab{display:flex;align-items:center;gap:8px;max-width:230px;padding:8px 12px 9px;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:10px 10px 0 0;cursor:pointer;font-size:13.5px;color:var(--ink-soft);white-space:nowrap;flex:none;position:relative;top:1px;transition:background .12s,color .12s}
.tab:hover{background:var(--accent-soft);color:var(--accent-3)}
.tab.active{background:var(--surface);border-color:var(--line);color:var(--ink);font-weight:600}
.tab.active::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--accent);border-radius:10px 10px 0 0}
.tab-nm{overflow:hidden;text-overflow:ellipsis;max-width:180px}
.tab-x{border:none;background:none;cursor:pointer;color:var(--ink-faint);font-size:13px;line-height:1;padding:0;width:19px;height:19px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex:none;transition:background .12s,color .12s}
.tab-x:hover{color:var(--danger);background:var(--line-soft)}
.tab-add{flex:none;align-self:center;margin-left:6px;margin-bottom:2px;width:29px;height:29px;border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink-soft);font-size:18px;line-height:1;border-radius:9px;display:flex;align-items:center;justify-content:center;transition:border-color .12s,color .12s,background .12s}
.tab-add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}

/* Zwei Dokumente nebeneinander */
.split-view{position:fixed;inset:0;z-index:300;background:var(--bg);display:flex;flex-direction:column}
.split-bar{height:42px;flex:none;display:flex;align-items:center;gap:10px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--surface);font-size:14px}
.split-bar .logomark{height:24px;width:24px}
.split-body{flex:1;display:flex;min-height:0}
.split-pane{flex:1 1 0;min-width:0;position:relative;background:var(--bg)}
.split-pane iframe{width:100%;height:100%;border:none;display:block}
.split-divider{width:6px;flex:none;background:var(--line);cursor:col-resize;touch-action:none}
.split-divider:hover{background:var(--accent)}
body.embed .suite-link,body.embed #btnSplit,body.embed #btnInstall{display:none !important}

/* Work */
.work{position:absolute;top:calc(var(--bar) + var(--tools));left:0;right:var(--railw);bottom:0;display:grid;grid-template-columns:148px 1fr 0;transition:grid-template-columns .15s, right .15s}
body.list-open .work{right:calc(var(--railw) + var(--listw))}   /* Listen/Inspector schiebt die Vorschau zur Seite (wie das Kommentar-Panel), statt zu überlagern */
body.has-tabs .work{top:calc(var(--bar) + var(--tools) + var(--tabs))}
body.has-tabs .files-panel,body.has-tabs .comments{top:calc(var(--bar) + var(--tools) + var(--tabs))}
.work.comm-open{grid-template-columns:148px 1fr 280px}
.work.files-open{grid-template-columns:240px 148px 1fr 0}
.work.files-open.comm-open{grid-template-columns:240px 148px 1fr 280px}
.files-panel{display:none;flex-direction:column;background:var(--surface-2);border-right:1px solid var(--line);min-width:0}
.work.files-open .files-panel{display:flex}
.fp-head{display:flex;align-items:center;gap:4px;padding:8px 10px;border-bottom:1px solid var(--line)}
.fp-name{flex:1;font-weight:600;font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.fp-name:hover{color:var(--accent-3);text-decoration:underline}
.btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-3)}
.fp-x{width:24px;height:24px;border:1px solid transparent;background:none;cursor:pointer;color:var(--ink-faint);border-radius:0;font-size:13px}
.fp-x:hover{background:var(--surface);border-color:var(--line);color:var(--ink)}
.fp-search{padding:7px 8px;border-bottom:1px solid var(--line)}
.fp-search input{width:100%;border:1px solid var(--line);background:var(--surface-2);padding:6px 9px;font:inherit;font-size:12.5px;color:var(--ink)}
.fp-search input:focus{outline:none;border-color:var(--accent)}
.fp-tree{flex:1;overflow:auto;padding:4px 0;font-size:13px}
.fp-row.result{flex-wrap:wrap;padding-top:5px;padding-bottom:5px}
.fp-path{flex-basis:100%;font-size:10.5px;color:var(--ink-faint);padding-left:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fp-hint{padding:14px;color:var(--ink-faint);font-size:12px;line-height:1.5}
.fp-empty{padding:12px}
.fp-act{display:flex;align-items:center;gap:9px;width:100%;border:1px solid var(--line);background:var(--surface);padding:11px 12px;margin-bottom:8px;font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}
.fp-act .i{width:18px;height:18px;flex:none;stroke-width:1.7}
.fp-act:hover{border-color:var(--accent);color:var(--accent-3);background:var(--accent-soft)}
.fp-empty .fp-hint{padding:6px 2px 0}
.fp-tease{margin-top:10px;padding:9px 11px;background:var(--accent-soft);border-left:3px solid var(--accent);font-size:11.5px;line-height:1.4;color:var(--ink-soft)}
.fp-row{display:flex;align-items:center;gap:6px;padding:4px 10px;cursor:pointer;white-space:nowrap;overflow:hidden;color:var(--ink-soft)}
.fp-row:hover{background:var(--surface)}
.fp-row .fp-ic{flex:none;width:15px;text-align:center}
.fp-row.dir{font-weight:600;color:var(--ink)}
.fp-row.active{background:var(--accent-soft);color:var(--accent-3);font-weight:600}
.fp-sub{padding-left:13px}
.thumbs{background:var(--surface-2);border-right:1px solid var(--line);overflow-y:auto;padding:12px 0}
/* Leerzustand: Vorschau-Spalte links bleibt sichtbar, Drop-Karte daneben */
body:not(.has-doc) .work{top:var(--bar)}
body:not(.has-doc) #drop{left:148px}
.thumb-new{display:flex;flex-direction:column;align-items:center;gap:6px;width:104px;margin:4px auto;padding:20px 6px;border:2px dashed var(--accent);background:var(--accent-soft);color:var(--accent-3);font:700 11px/1.3 var(--font);cursor:pointer;text-align:center;border-radius:0}
.thumb-new .tn-plus{font-size:24px;line-height:1}
.thumb-new:hover{background:var(--accent);color:#fff}
.thumb-new.tn-open{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft)}
.thumb-new.tn-open:hover{border-color:var(--accent);color:var(--accent-3);background:var(--surface-2)}
.thumb-new .tn-ic{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.thumb{width:104px;margin:0 auto 22px;cursor:pointer;border-radius:0;border:2px solid transparent;position:relative;display:block;background:none;padding:0}
.thumb canvas{display:block;width:100%;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:0 1px 4px rgba(20,24,40,.08)}
.thumb.loading canvas{aspect-ratio:1/1.414;height:auto}
.thumb.active{border-color:var(--accent)}
.thumb{cursor:grab}
.thumb.dragging{opacity:.4;cursor:grabbing}
.thumb.drop-before::before{content:"";position:absolute;left:-3px;right:-3px;top:-9px;height:3px;background:var(--accent);box-shadow:0 0 0 1px rgba(255,255,255,.6)}
.thumb.drop-after::after{content:"";position:absolute;left:-3px;right:-3px;bottom:-9px;height:3px;background:var(--accent);box-shadow:0 0 0 1px rgba(255,255,255,.6)}
.thumb .tn{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);font-size:11px;color:var(--ink-faint);font-weight:600}
.thumb-ctrl{position:absolute;top:3px;right:3px;display:none;gap:2px;background:rgba(255,255,255,.92);padding:2px;box-shadow:0 1px 4px rgba(20,24,40,.2)}
.thumb:hover .thumb-ctrl{display:flex}
.thumb-ctrl button{width:18px;height:18px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:10px;line-height:1;padding:0;color:var(--ink-soft)}
.thumb-ctrl button:hover{border-color:var(--accent);color:var(--accent)}
.thumb-ctrl button.del:hover{border-color:var(--danger);color:var(--danger)}
.thumb-add{display:block;width:104px;margin:6px auto 14px;padding:8px 6px;font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft);border:1px dashed var(--accent);cursor:pointer;border-radius:0}
.thumb-filter{display:block;width:124px;margin:2px auto 10px;padding:6px 4px;font:inherit;font-size:11px;font-weight:600;color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line);cursor:pointer;border-radius:0}
.thumb-filter.on{color:var(--accent-3);background:var(--accent-soft);border-color:var(--accent)}
.thumb-ins{height:12px;margin:1px 8px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}
.thumb-ins::before{content:"";position:absolute;left:4px;right:4px;height:2px;background:transparent}
.thumb-ins:hover::before{background:var(--accent)}
.thumb-ins .ins-plus{width:18px;height:18px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s;z-index:1}
.thumb-ins:hover .ins-plus{opacity:1}
.ins-menu{position:fixed;z-index:70;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(20,24,40,.22);padding:5px;display:flex;flex-direction:column;gap:3px}
.ins-menu button{border:0;background:transparent;font:inherit;font-size:13px;font-weight:600;text-align:left;padding:7px 12px;cursor:pointer;color:var(--ink);white-space:nowrap;border-radius:0}
.ins-menu button:hover{background:var(--accent-soft);color:var(--accent-3)}
.thumb-add:hover{background:#fff}

.pages{overflow:auto;scrollbar-gutter:stable;padding:18px 22px 44px;display:flex;flex-direction:column;align-items:safe center;gap:22px;background-color:#dcd8cd;background-image:radial-gradient(120% 90% at 50% 0%, rgba(255,255,255,.35), rgba(255,255,255,0) 55%),url('bg-left.png'),url('bg-right.png');background-position:center top,left center,right center;background-size:100% 60%,auto 100%,auto 100%;background-repeat:no-repeat;background-attachment:fixed}
.pagewrap{position:relative;flex:none;background:#fff;box-shadow:0 0 0 1px rgba(20,24,40,.055),0 2px 5px rgba(20,24,40,.09),0 16px 40px -6px rgba(20,24,40,.22);border-radius:0}
.pageinner{position:absolute;left:50%;top:50%}
.pagewrap canvas{display:block;border-radius:0}
.pagewrap .pagecanvas{position:absolute;left:0;top:0}
.pagewrap .pagetile{position:absolute}
.pagewrap.loading{background:#fff}
.pagewrap.loading::before{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border:2px solid var(--line-soft);border-top-color:var(--accent);animation:spin .7s linear infinite;z-index:1;pointer-events:none}
.pagewrap.render-fail{background:#fbf5f2}
.pagewrap.render-fail::before{content:"⚠ Seite konnte nicht geladen werden";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;color:var(--danger);font-size:13px;font-weight:600;z-index:1;pointer-events:none}
@keyframes spin{to{transform:rotate(360deg)}}
/* PDF-Formularfelder (HTML-Overlay, in % → skaliert mit dem Zoom) */
.form-layer{position:absolute;inset:0;z-index:4;pointer-events:none}
.form-layer .ff{position:absolute;box-sizing:border-box;margin:0;padding:0 2px;border:1px solid transparent;background:transparent;font-family:var(--font);color:#0b2540;line-height:1.05;border-radius:0;resize:none;overflow:hidden}
.form-layer input.ff-checkbox,.form-layer input.ff-radio{padding:0;accent-color:var(--accent);cursor:pointer}
.form-layer textarea.ff{white-space:pre-wrap}
.form-layer select.ff{appearance:none;-webkit-appearance:none;cursor:pointer}
body.form-fill .form-layer .ff{pointer-events:auto;background:rgba(46,116,224,.10);border-color:rgba(46,116,224,.5)}
body.form-fill .form-layer .ff:focus{outline:2px solid var(--accent);background:rgba(46,116,224,.16)}
#btnForm.on{background:var(--accent);color:#fff;border-color:var(--accent)}
/* Schnell-Werkzeuge fürs Handy (unten rechts) */
.fab{display:none;position:fixed;right:12px;bottom:14px;z-index:45;flex-direction:column;gap:10px}
.fab-b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:62px;height:62px;border:1.5px solid var(--accent);background:var(--surface);color:var(--accent-3);box-shadow:0 4px 14px rgba(20,24,40,.28);cursor:pointer;font:700 10px/1 var(--font)}
.fab-b .i{width:24px;height:24px}
.fab-b.on{background:var(--accent);color:#fff;border-color:var(--accent)}
@media (max-width:820px){body.has-doc .fab{display:flex}}
/* Lesezeichen / Inhalt */
.outline-pop{position:fixed;top:54px;right:12px;z-index:60;width:290px;max-width:84vw;max-height:62vh;overflow:auto;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(20,24,40,.2);padding:6px}
.ol-row{display:block;width:100%;text-align:left;border:0;background:transparent;font:inherit;font-size:13px;padding:7px 10px;cursor:pointer;color:var(--ink);border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ol-row:hover{background:var(--accent-soft);color:var(--accent-3)}
#btnOutline.on{color:var(--accent)}
.pageind{cursor:pointer}
body.pan #pages,body.pan .pagewrap,body.pan .anno{cursor:grab !important}
body.panning #pages,body.panning .pagewrap,body.panning .anno{cursor:grabbing !important}
.snap-guide{stroke:#b4502f;stroke-width:1;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;pointer-events:none}
.anno .pnode{fill:#fff;stroke:var(--accent);stroke-width:1.4;vector-effect:non-scaling-stroke;cursor:move}
.anno .phandle{fill:var(--accent);stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;cursor:move}
.anno .phl{stroke:var(--accent);stroke-opacity:.5;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.anno .snap-anchor{fill:none;stroke:#d6336c;stroke-width:1.6;vector-effect:non-scaling-stroke;pointer-events:none}
.anno .snap-label{fill:#d6336c;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none;dominant-baseline:auto}
.anno .marquee{fill:rgba(79,122,60,.08);stroke:var(--accent);stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}
.anno .group-box{fill:transparent;stroke:var(--accent);stroke-width:1.3;stroke-dasharray:5 3;vector-effect:non-scaling-stroke;cursor:move}
.anno .group-item{fill:none;stroke:var(--accent);stroke-opacity:.4;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
/* Lineal (oben & rechts) */
.ruler{position:fixed;z-index:8;pointer-events:none}
.ruler-h{border-bottom:1px solid var(--line)}
.ruler-v{border-left:1px solid var(--line)}
.ruler-corner{position:fixed;z-index:9;background:var(--surface-2);border-left:1px solid var(--line);border-bottom:1px solid var(--line);font:700 9px/20px var(--font);text-align:center;color:var(--ink-faint);pointer-events:none}
#btnRuler.on{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
/* cm-Raster */
.grid-ov{position:fixed;z-index:7}
.grid-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:56;display:flex;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(20,24,40,.25);padding:7px 12px;font-size:13px}
.grid-bar .gb-t{font-weight:700;color:var(--ink)}
.grid-bar button{height:30px;padding:0 12px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font:inherit;font-weight:600;border-radius:0}
.grid-bar button:hover{border-color:var(--accent)}
.grid-bar #gridMoveBtn.on{background:var(--accent);color:#fff;border-color:var(--accent)}
#btnGrid.on{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
/* Ausrichten-Leiste */
.plan-bar{position:fixed;top:calc(var(--bar) + var(--tools));left:0;right:0;z-index:56;height:var(--planh);display:flex;align-items:center;gap:8px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(20,24,40,.06);padding:0 14px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
body.has-tabs .plan-bar{top:calc(var(--bar) + var(--tools) + var(--tabs))}
body.has-planbar .work{top:calc(var(--bar) + var(--tools) + var(--planh))}
body.has-planbar.has-tabs .work{top:calc(var(--bar) + var(--tools) + var(--tabs) + var(--planh))}
.plan-bar .pb-wall,.plan-bar .pb-open,.plan-bar .pb-dimset,.plan-bar .pb-slab,.plan-bar .pb-stairs,.plan-bar .pb-roof{display:flex;align-items:center;gap:8px}
.plan-bar .pb-roof button.on{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
.plan-bar .pb-lbl{font-size:12px;font-weight:700;color:var(--accent-3);letter-spacing:.3px}
.plan-bar .pb-num{font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:5px;white-space:nowrap}
.plan-bar .pb-num input{width:56px;height:28px;border:1px solid var(--line);background:var(--surface-2);font:inherit;font-size:13px;text-align:center;color:var(--ink)}
.plan-bar .pb-tg{height:28px;padding:0 11px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font:inherit;font-size:12px;font-weight:600;color:var(--ink-soft)}
.plan-bar .pb-tg:hover{border-color:var(--accent);color:var(--accent-3)}
.plan-bar .pb-tg.on{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
.plan-bar .pb-sep{width:1px;height:18px;background:var(--line)}
.plan-bar .pb-mini{font-size:11px;color:var(--ink-faint);font-weight:600}
.plan-bar .pb-sel{height:28px;border:1px solid var(--line);background:var(--surface-2);font:inherit;font-size:12px;color:var(--ink);padding:0 4px}
.foot-3d{color:var(--accent-3);font-weight:800}
.layer-panel{position:fixed;top:calc(var(--bar) + 6px);right:14px;z-index:62;width:260px;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 30px rgba(20,24,40,.22)}
.lp-head{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);font-size:14px}
.lp-add{border:1px solid var(--line);background:var(--surface-2);font:inherit;font-size:12px;font-weight:600;padding:4px 9px;cursor:pointer;color:var(--accent-3)}
.lp-add:hover{border-color:var(--accent)}
.lp-list{max-height:50vh;overflow:auto;padding:4px}
.lp-row{display:flex;align-items:center;gap:7px;padding:6px 8px;cursor:pointer;border:1px solid transparent}
.lp-row:hover{background:var(--surface-2)}
.lp-row.active{background:var(--accent-soft);border-color:var(--accent)}
.lp-eye{width:24px;height:24px;flex:none;border:none;background:none;cursor:pointer;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;font-size:15px}
.lp-row.hidden-layer .lp-name{color:var(--ink-faint);text-decoration:line-through}
.lp-name{flex:1;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-row.active .lp-name{color:var(--accent-3)}
.lp-ele{width:48px;flex:none;height:24px;border:1px solid var(--line);background:var(--surface-2);font:inherit;font-size:12px;text-align:center;color:var(--ink-soft)}
.lp-del{width:22px;height:22px;flex:none;border:none;background:none;cursor:pointer;color:var(--ink-faint);font-size:13px}
.lp-del:hover{color:var(--danger)}
.lp-foot{padding:8px 12px;border-top:1px solid var(--line-soft);font-size:11px;color:var(--ink-faint);line-height:1.4}
.d3-overlay{position:fixed;inset:0;z-index:300;background:#eef1ec;display:flex;flex-direction:column}
.d3-bar{height:48px;flex:none;display:flex;align-items:center;gap:14px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--line)}
.d3-views{display:flex;gap:4px}
.d3-views button{padding:4px 9px;font-size:12px}
.d3-bar b{font-size:15px;letter-spacing:.3px}
.d3-bar .d3-h{font-size:13px;color:var(--ink-soft);display:flex;align-items:center;gap:6px}
.d3-bar .d3-h input{width:60px;height:28px;border:1px solid var(--line);background:var(--surface-2);text-align:center;font:inherit;font-size:13px}
.d3-bar .d3-hint{font-size:12px;color:var(--ink-faint)}
.d3-canvas{flex:1;position:relative;overflow:hidden}
.d3-canvas canvas{display:block}
.plan-bar .pb-j{width:26px;padding:0;font-weight:700}
.plan-bar .pb-color{position:relative;width:28px;height:28px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}
.plan-bar #pbWallDot{width:16px;height:16px;border:1px solid var(--line);background:#b4502f}
.plan-bar .pb-color input{position:absolute;inset:0;opacity:0;cursor:pointer}
.align-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:56;display:flex;gap:4px;align-items:center;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(20,24,40,.25);padding:6px 10px}
.align-bar .ab-t{font-size:12px;font-weight:700;color:var(--ink);margin-right:4px}
.align-bar button{width:30px;height:30px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:13px;border-radius:0;color:var(--ink-soft)}
.align-bar button:hover{border-color:var(--accent);color:var(--accent-3)}
.align-bar .ab-sep{width:1px;height:18px;background:var(--line);margin:0 3px}
.align-bar .ab-color{position:relative;width:30px;height:30px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;background:var(--surface)}
.align-bar #abColorDot{width:18px;height:18px;border:1px solid var(--line);background:#b4502f}
.align-bar .ab-color input{position:absolute;inset:0;opacity:0;cursor:pointer}
/* Zuschneiden-Leiste */
.crop-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:55;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(20,24,40,.28);padding:8px 12px}
.crop-bar .crop-lbl{font-size:13px;font-weight:600;color:var(--ink);margin-right:2px}
.crop-bar .btn{height:32px}
.btn.ghost{background:transparent;border-color:var(--line-soft);color:var(--ink-soft)}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}
.pagewrap .anno{position:absolute;inset:0;overflow:visible;touch-action:pan-x pan-y;z-index:3}
.pagewrap.tool-draw .anno,.pagewrap.tool-text .anno{touch-action:none}   /* beim Zeichnen/Text Finger fangen, sonst scrollen */
@media (pointer:coarse){
  .anno .hit{stroke-width:22}
  .selbar button,.selbar .sb-color{width:38px;height:38px}
  .selbar #sbColorDot{width:22px;height:22px}
  .tool{width:40px;height:40px}
}
.textLayer{position:absolute;left:0;top:0;text-align:initial;overflow:clip;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;pointer-events:none;opacity:1}
.textLayer span,.textLayer br{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0}
.textLayer ::selection{background:rgba(79,122,60,.35)}
#pages.mode-text .textLayer{pointer-events:auto}
#pages.mode-text .anno{pointer-events:none}
#pages.mode-text .pagewrap{cursor:text}
.pagewrap.tool-draw .anno{cursor:crosshair}
.pagewrap.tool-text .anno{cursor:text}

/* Annotationen (SVG) */
.anno .sel-out{fill:none;stroke:var(--accent);stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}
.anno .sel-line{fill:none;stroke:var(--accent);stroke-width:3;opacity:.45;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linecap:round}
.anno .handle{fill:#fff;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:grab}
.anno .hit{stroke:transparent;fill:transparent;stroke-width:11;vector-effect:non-scaling-stroke;cursor:move}
.anno .hover-line{fill:none;stroke:var(--accent);stroke-width:2.5;opacity:.35;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linecap:round}
.anno .hover-dot{fill:#fff;stroke:var(--accent);stroke-width:1.4;vector-effect:non-scaling-stroke;pointer-events:none}
.anno .corner-dot{fill:var(--accent);stroke:#fff;stroke-width:1.6;vector-effect:non-scaling-stroke;pointer-events:none}
.anno .hover-box{fill:none;stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3;opacity:.5;vector-effect:non-scaling-stroke;pointer-events:none}
.anno .sel-shape{fill:var(--accent);fill-opacity:.05;stroke:var(--accent);stroke-width:1;stroke-dasharray:5 3;opacity:.85;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linejoin:round}
.anno .hover-shape{fill:var(--accent);fill-opacity:.035;stroke:var(--accent);stroke-width:1;stroke-dasharray:4 3;opacity:.55;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linejoin:round}
.anno text{font-family:var(--font);dominant-baseline:hanging;white-space:pre}
.note-pin{cursor:pointer}

/* Text-Eingabe-Overlay */
.textedit{position:absolute;z-index:20;background:transparent;border:none;outline:1px dashed rgba(120,132,150,.55);outline-offset:1px;border-radius:2px;padding:0 1px;margin:0;font-family:var(--font);resize:none;overflow:hidden;box-shadow:none;box-sizing:content-box;caret-color:var(--accent)}
.textedit:focus{outline-color:rgba(80,120,90,.7)}
.tb-edit{box-shadow:none;white-space:pre-wrap;box-sizing:border-box}
.draw-hud{position:fixed;z-index:80;pointer-events:none;background:var(--ink);color:#fff;font:600 12px/1 var(--font);padding:5px 9px;border-radius:4px;white-space:nowrap;box-shadow:0 3px 10px rgba(20,24,40,.3);font-variant-numeric:tabular-nums}
.len-input{position:absolute;z-index:35;transform:translate(-50%,-50%);width:90px;text-align:center;background:#fff;border:1.5px solid var(--accent);border-radius:4px;padding:3px 4px;font:600 13px var(--font);color:var(--ink);outline:none;box-shadow:0 3px 12px rgba(20,24,40,.22)}
.textbar{position:absolute;z-index:30;display:flex;gap:6px;align-items:center;background:var(--surface);border:1px solid var(--line);box-shadow:0 5px 18px rgba(20,24,40,.25);padding:4px 6px}
.textbar .tb-g{display:flex;gap:2px;align-items:center;padding-right:6px;border-right:1px solid var(--line-soft)}
.textbar .tb-g:last-child{border-right:none;padding-right:0}
.textbar button{min-width:26px;height:26px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 13px/1 var(--font);cursor:pointer;padding:0 5px;border-radius:0}
.textbar button:hover{border-color:var(--accent)}
.textbar button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.textbar .tb-lbl{font-size:11px;color:var(--ink-faint);font-weight:600;padding:0 1px}
.textbar .tb-sw{position:relative;width:26px;height:26px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:repeating-conic-gradient(#d8d8d8 0% 25%,#fff 0% 50%) 50%/8px 8px}
.textbar .tb-dot{width:16px;height:16px;border:1px solid rgba(0,0,0,.25)}
.textbar .tb-sw input[type=color]{position:absolute;inset:0;opacity:0;cursor:pointer;padding:0;border:0}
@media (max-width:820px){.textbar{flex-wrap:wrap;max-width:88vw}}

/* Kommentare */
.comments{background:var(--surface);border-left:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column}
.comm-head{font-weight:700;font-size:14px;padding:14px 16px 8px}
.comm-list{padding:0 12px 16px;display:flex;flex-direction:column;gap:8px}
.comm-item{border:1px solid var(--line);border-radius:0;padding:9px 11px;cursor:pointer;background:var(--surface-2)}
.comm-item:hover{border-color:var(--accent)}
.comm-item .ci-pg{font-size:11px;color:var(--ink-faint);font-weight:600;margin-bottom:3px}
.comm-item .ci-tx{font-size:13px;color:var(--ink);white-space:pre-wrap;word-break:break-word}
.comm-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:34px 18px 20px;color:var(--ink-faint)}
.comm-empty .es-ico{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.5;margin-bottom:3px}
.comm-empty .es-t{font-size:13.5px;font-weight:600;color:var(--ink-soft)}
.comm-empty .es-s{font-size:12px;line-height:1.45;max-width:210px}

/* Drop / Status / Toast */
.drop{position:absolute;inset:var(--bar) 0 0 0;display:flex;align-items:center;justify-content:center;background-color:#f6f3f0;background-image:url('bg-left.png'),url('bg-right.png');background-position:left center,right center;background-size:auto 100%,auto 100%;background-repeat:no-repeat;z-index:5}
.drop.hide{display:none}
.welcome{position:absolute;top:14px;right:16px;display:flex;justify-content:flex-end;pointer-events:none;z-index:2;max-width:min(420px,calc(100vw - 32px))}
.wc-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 22px -6px rgba(20,24,40,.22);padding:13px 16px}
.wc-hi{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:6px;letter-spacing:.2px}
.wc-sub{font-size:12px;line-height:1.55;color:var(--ink-soft)}
.wc-sub b{color:var(--ink);font-weight:600}
@media (max-width:820px){.welcome{display:none}}
.drop.over .drop-card{border-color:var(--accent);background:var(--accent-soft)}
.drop-card{border:2.5px dashed var(--accent);border-radius:0;padding:48px 60px;text-align:center;background:rgba(255,255,255,.72);backdrop-filter:blur(3px);transition:.15s;max-width:520px}
.drop-ico svg{width:54px;height:54px;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.leitsatz{margin:0 0 22px}
.ls-q{margin:0;font-size:16px;font-style:italic;color:var(--accent-3);letter-spacing:.3px}
.ls-by{margin:4px 0 0;font-size:12.5px;color:var(--accent-2);letter-spacing:1px;text-transform:uppercase}
.drop-card h1{margin:14px 0 6px;font-size:24px;letter-spacing:-.5px}
.drop-card p{margin:4px 0;color:var(--ink-soft);font-size:14px}
.drop-card .priv{margin-top:16px;font-size:12.5px;color:var(--ink-faint)}
.link{background:none;border:none;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}
.status{position:absolute;top:calc(var(--bar) + var(--tools) + 14px);left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:8px 16px;border-radius:0;font-size:13px;z-index:30;box-shadow:0 6px 20px rgba(0,0,0,.2)}
/* Schnellzugriff unten links */
.quickbar{position:fixed;left:148px;right:0;bottom:0;z-index:24;display:flex;align-items:center;gap:4px;background:var(--surface);border-top:1px solid var(--line);border-radius:0;padding:0 10px;height:38px;box-shadow:0 -2px 10px rgba(20,24,40,.05)}
.qbtn{width:34px;height:30px;border:none;background:none;color:var(--ink-soft);border-radius:0;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}
.quickbar .zoom-val{height:30px}
.foot-grp{display:flex;align-items:center;gap:5px;margin-left:8px}
.foot-lbl{font-size:11px;color:var(--ink-faint);font-weight:600}
.foot-info{height:26px;padding:0 11px;border:1px solid var(--line);background:var(--surface-2);font:inherit;font-size:12.5px;font-weight:700;color:var(--accent-3);cursor:pointer;border-radius:0;white-space:nowrap}
.foot-info:hover{border-color:var(--accent)}
.fmt-pop{position:fixed;right:12px;bottom:44px;z-index:60;background:var(--surface);border:1px solid var(--line);box-shadow:0 -6px 24px rgba(20,24,40,.22);padding:5px;display:flex;flex-direction:column;gap:2px;min-width:140px}
.fmt-pop button{border:0;background:transparent;font:inherit;font-size:13px;font-weight:600;text-align:left;padding:7px 12px;cursor:pointer;color:var(--ink);white-space:nowrap}
.fmt-pop button:hover{background:var(--accent-soft);color:var(--accent-3)}
.fmt-sep{margin-top:6px;padding:6px 12px 2px;border-top:1px solid var(--line);font-size:11px;font-weight:700;color:var(--muted,#8a93a6);white-space:normal;line-height:1.25}
.fmt-grid9{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:2px 8px 6px}
.fmt-grid9 button{text-align:center !important;padding:8px 0 !important;border:1px solid var(--line) !important;border-radius:7px;font-size:15px !important}
.fmt-grid9 button:hover{background:var(--accent-soft);border-color:var(--accent-3) !important}
.toast-act{margin-left:8px;border:0;background:#2e7d46;color:#fff;font:inherit;font-weight:700;font-size:12px;padding:4px 10px;border-radius:6px;cursor:pointer}
.qbtn:hover{background:var(--surface-2);color:var(--accent)}
.qsep{width:1px;height:22px;background:var(--line)}
.quickbar .zoombox{background:none;border:none;padding:0;gap:0}
.quickbar .zoombox .zb-btn{width:28px;height:36px;font-size:19px}
.quickbar .zoom-val{height:36px;padding:0 8px;min-width:58px}

/* Rechtsklick-Menü */
.ctxmenu{position:fixed;z-index:60;min-width:210px;background:var(--surface);border:1px solid var(--line);border-radius:0;box-shadow:0 12px 34px rgba(20,24,40,.22);padding:6px;font-size:13.5px}
.ctxmenu button{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;color:var(--ink);font:inherit;text-align:left;padding:8px 10px;border-radius:0;cursor:pointer}
.ctxmenu button:hover{background:var(--accent-soft);color:var(--accent)}
.ctxmenu button .mi{width:18px;text-align:center;opacity:.85}
.ctxmenu button.danger:hover{background:#fdecea;color:var(--danger)}
.ctxmenu .sep{height:1px;background:var(--line-soft);margin:5px 4px}
.ctxmenu .grp{display:flex;gap:2px;padding:2px 4px 4px}
.ctxmenu .grp button{width:34px;height:34px;justify-content:center;padding:0}

/* Mail-Dialog */
.modal{position:fixed;inset:0;z-index:70;background:rgba(20,24,40,.4);display:flex;align-items:center;justify-content:center}
.modal-card{background:var(--surface);border-radius:0;padding:22px 24px;width:440px;max-width:92vw;max-height:90vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal-head{font-size:18px;font-weight:700;margin-bottom:14px}
.modal-card label{display:block;font-size:12px;color:var(--ink-soft);font-weight:600;margin-bottom:10px}
.modal-card input,.modal-card textarea{display:block;width:100%;margin-top:4px;border:1px solid var(--line);border-radius:0;padding:9px 11px;font:inherit;font-size:14px;color:var(--ink);background:var(--surface-2);resize:vertical}
.modal-card input:focus,.modal-card textarea:focus{outline:none;border-color:var(--accent)}
.modal-hint{font-size:12px;color:var(--ink-faint);margin:6px 0 16px;line-height:1.45}
.modal-act{display:flex;justify-content:flex-end;gap:8px}
.sd-preview{display:flex;align-items:center;justify-content:center;height:120px;background:var(--surface-2);border:1px solid var(--line);margin-bottom:16px}
.pv-page{position:relative;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.18)}
.pv-b{position:absolute;background:var(--line)}
.pv-b.pv-strong{background:var(--accent)}
.pv-b.pv-box{background:transparent;border:1.5px solid var(--line)}
.ia-row{display:flex !important;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;color:var(--ink)}
.ia-row input[type=range]{flex:1;accent-color:var(--accent)}
.sd-sec{margin-bottom:16px}
.sd-lbl{display:block;font-size:12px;color:var(--ink-soft);font-weight:700;margin-bottom:8px}
.sd-chips{display:flex;flex-wrap:wrap;gap:6px}
.sd-chips button{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:inherit;font-size:13px;font-weight:600;padding:8px 12px;cursor:pointer;border-radius:0}
.sd-chips button:hover{border-color:var(--accent)}
.sd-chips button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.sc-grid{display:grid;grid-template-columns:1fr auto;gap:7px 18px;align-items:center;margin:2px 0 8px}
.sc-grid .sc-h{grid-column:1/-1;font-weight:700;color:var(--accent);font-size:11px;margin-top:9px;text-transform:uppercase;letter-spacing:.5px}
.sc-grid span{font-size:13px;color:var(--ink-soft)}
.sc-grid kbd{justify-self:end;font:600 12px/1 var(--font);background:var(--surface-2);border:1px solid var(--line);padding:4px 7px;color:var(--ink);white-space:nowrap}

/* Schwebende Auswahl-Leiste */
.selbar{position:fixed;z-index:60;display:flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--line);padding:4px;box-shadow:0 6px 22px rgba(20,24,40,.22)}
.selbar button,.selbar .sb-color{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid transparent;background:none;cursor:pointer;border-radius:0;padding:0;position:relative;color:var(--ink-soft)}
.selbar button:hover,.selbar .sb-color:hover{background:var(--surface-2);border-color:var(--line)}
.selbar .sb-color{overflow:hidden}
.selbar #sbColorDot{width:18px;height:18px;border:1px solid var(--line);background:#b4502f}
.selbar #sbFillDot{width:18px;height:18px;border:1px solid var(--line);background:transparent}
.selbar .sb-fill{background:repeating-conic-gradient(#dcdcdc 0 25%,#fff 0 50%) 50%/8px 8px}
.selbar .sb-nofill{font-size:13px;font-weight:700}
.selbar .sb-hatch-wrap{position:relative;display:flex;width:30px;height:30px}
.selbar .sb-hatch.on{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
.handle.dim-handle{fill:var(--accent);stroke:#fff;stroke-width:1.5px;cursor:ns-resize}
.foot-plan{font-weight:700;color:var(--accent-3)}
.foot-info.on{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
body.bw .pages{filter:grayscale(1)}
.phase-pop{position:fixed;bottom:46px;right:14px;z-index:64;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 30px rgba(20,24,40,.24);padding:10px;width:250px}
.phase-pop .pp-title{font-size:12px;font-weight:700;color:var(--ink);margin:2px 0 6px}
.ph-set,.ph-view{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}
.ph-set button,.ph-view button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface-2);font:inherit;font-size:12px;font-weight:600;text-align:left;padding:6px 9px;cursor:pointer;color:var(--ink-soft)}
.ph-set button.on,.ph-view button.on{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
.ph-sw{width:14px;height:14px;flex:none;border:1px solid rgba(0,0,0,.25)}
.build-pop{position:fixed;top:calc(var(--bar) + var(--tools) + var(--planh) + 6px);left:50%;transform:translateX(-50%);z-index:64;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 32px rgba(20,24,40,.26);padding:12px;width:340px;max-height:72vh;overflow-y:auto}
body.has-tabs .build-pop{top:calc(var(--bar) + var(--tools) + var(--tabs) + var(--planh) + 6px)}
.bp-presets{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}
.bp-preset{border:1px solid var(--line);background:var(--surface-2);font:inherit;font-size:12px;font-weight:600;text-align:left;padding:7px 9px;cursor:pointer;color:var(--ink-soft)}
.bp-preset:hover{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
.bp-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.bp-row{display:flex;align-items:center;gap:6px}
.bp-row .bp-t{width:54px;font:inherit;font-size:12px;padding:4px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.bp-row>span{font-size:11px;color:var(--ink-faint)}
.bp-row .bp-m{flex:1.3;font:inherit;font-size:12px;padding:4px;border:1px solid var(--line);background:var(--surface);color:var(--ink);min-width:0}
.bp-row .bp-s{flex:1;font:inherit;font-size:11px;padding:4px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);min-width:0}
.bp-spacing{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;font-size:12px;color:var(--ink-soft)}
.bp-spacing input{width:52px;font:inherit;font-size:12px;padding:3px 4px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.bp-hint{font-size:10.5px;color:var(--ink-faint)}
.bp-row .bp-del{width:24px;border:none;background:none;cursor:pointer;color:var(--ink-faint);font-size:13px}
.bp-row .bp-del:hover{color:var(--danger)}
.bp-foot{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.bp-add{border:1px dashed var(--accent);background:var(--accent-soft);color:var(--accent-3);font:inherit;font-size:12px;font-weight:600;padding:5px 10px;cursor:pointer}
.bp-total{font-size:12px;font-weight:700;color:var(--ink)}
.bp-actions{display:flex;gap:6px;justify-content:flex-end}
.bp-single{border:1px solid var(--line);background:var(--surface);font:inherit;font-size:12px;padding:6px 12px;cursor:pointer;color:var(--ink-soft)}
.bp-apply{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-3);font:inherit;font-size:13px;font-weight:700;padding:6px 16px;cursor:pointer}
.bp-apply:hover{background:var(--accent);color:#fff}
.wp-grid{display:flex;flex-direction:column;gap:5px}
.wp-grid label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink-soft)}
.wp-grid input{width:64px;font:inherit;font-size:12px;padding:4px 6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:right}
.lab-overlay{position:fixed;inset:0;z-index:1000;background:rgba(20,26,32,.55);display:flex;align-items:center;justify-content:center}
.lab-wrap{width:97vw;height:95vh;background:var(--surface);border-radius:12px;box-shadow:0 18px 60px rgba(0,0,0,.4);display:flex;flex-direction:column;overflow:hidden}
.lab-view{position:relative;min-width:0;min-height:0;background:repeating-conic-gradient(#f0efea 0% 25%,#f7f6f2 0% 50%) 50%/22px 22px;border:1px solid #cfd4c8;border-radius:4px;overflow:hidden}
.lab-view .lab-svg{width:100%;height:100%;display:block}
.lab-vlbl{position:absolute;left:8px;top:6px;font-size:11px;font-weight:700;letter-spacing:.5px;color:#5c6753;background:rgba(255,255,255,.78);padding:2px 7px;border-radius:4px;z-index:1;pointer-events:none}
.lab-head{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}
.lab-head .grow{flex:1}
.lab-hint{font-size:12px;color:var(--ink-soft)}
.lab-body{flex:1;display:flex;min-height:0}
.lab-stage{flex:1;display:grid;grid-template-columns:1fr 8px 1fr;grid-template-rows:1fr 8px 1fr;align-items:stretch;justify-items:stretch;background:#d6dacc;padding:5px;overflow:hidden;position:relative}
.lab-svg{width:100%;height:100%}
.lab-split{background:#c2c8b6;z-index:4;transition:background .12s}
.lab-split:hover{background:#7ea861}
.lab-split-v{grid-column:2;grid-row:1 / 4;cursor:col-resize}
.lab-split-h{grid-row:2;grid-column:1 / 4;cursor:row-resize}
.lab-dh{fill:#2563c9;stroke:#fff;stroke-width:1.6;cursor:move;opacity:.9;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
.lab-dh:hover{fill:#3b82f6}
.lab-h circle{fill:#1f7a4d;stroke:#fff;stroke-width:2;cursor:grab;opacity:.95;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.lab-h:hover circle{fill:#2aa869;stroke-width:2.5}
.lab-h:active circle{cursor:grabbing}
.lab-zoom{position:absolute;right:8px;top:6px;z-index:2;display:flex;gap:3px}
.lab-zoom button{width:26px;height:26px;border:1px solid #cfd6c8;background:rgba(255,255,255,.92);color:#3c5a2f;border-radius:6px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.lab-zoom button:hover{background:#eef3e8;border-color:#9bbf86}
.lab-side{width:340px;border-left:1px solid var(--line);padding:12px 14px;overflow:auto;display:flex;flex-direction:column;gap:6px;background:#fafbf8}
.lab-grp{font-weight:700;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#3c5a2f;margin:13px 0 5px;padding:5px 10px;background:#eef3e8;border-left:3px solid var(--accent);border-radius:5px}
.lab-grp:first-child{margin-top:0}
.lab-row{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-soft)}
.lab-row span{font-weight:600;color:#46503f}
.lab-line{display:flex;align-items:center;gap:7px}
.lab-row select{width:100%;border:1px solid var(--line);border-radius:6px;padding:5px 7px;background:#fff;font:inherit;font-size:12.5px}
.lab-row input[type=number]{border:1px solid var(--line);border-radius:6px;padding:4px 6px;font:inherit;font-size:12.5px;background:#fff}
.lab-row input[type=range]{accent-color:var(--accent);height:18px}
.lab-row b{color:var(--accent-3);font-size:12px}
.lab-row span{font-weight:600}
.lab-row b{color:var(--accent);font-size:12px}
.lab-row input[type=range]{width:100%}
.lab-row select{font:inherit;font-size:12px;padding:4px 6px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.qty-body{flex:1;overflow:auto;padding:14px 18px}
.qty-body h4{margin:14px 0 6px;font-size:13px;color:var(--ink)}
.qty-body h4:first-child{margin-top:0}
.qty-tab{width:100%;border-collapse:collapse;font-size:12px}
.qty-tab th{text-align:left;border-bottom:1.5px solid var(--line);padding:5px 8px;color:var(--ink-soft);font-weight:600}
.qty-tab td{border-bottom:1px solid var(--line);padding:5px 8px;color:var(--ink)}
.ws-tab td{vertical-align:middle}
.ws-thumb{display:block;background:#fff;border:1px solid var(--line)}
.bu-thumb{display:block;border:1px solid var(--line)}
.bu-u{width:70px;font:inherit;font-size:12px;padding:3px 5px;border:1px solid var(--line);background:var(--surface);color:var(--accent);text-align:right}
.plan-pop{position:fixed;bottom:46px;left:50%;transform:translateX(-50%);z-index:64;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 30px rgba(20,24,40,.24);padding:12px;width:300px}
.pp-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:8px}
.pp-kind{display:flex;gap:4px;margin-bottom:10px}
.pp-kind button{flex:1;border:1px solid var(--line);background:var(--surface-2);font:inherit;font-size:12px;font-weight:600;padding:6px 4px;cursor:pointer;color:var(--ink-soft)}
.pp-kind button.on{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
.pp-lbl{font-size:11px;color:var(--ink-faint);margin:2px 0 4px}
.pp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:120px;margin-bottom:8px}
.pp-grid button{height:30px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;position:relative}
.pp-grid button::after{content:"";position:absolute;width:13px;height:9px;border:1.5px solid var(--ink-faint);left:50%;top:50%;transform:translate(-50%,-50%)}
.pp-grid button.on{border-color:var(--accent);background:var(--accent-soft)}
.pp-grid button.on::after{border-color:var(--accent-3)}
.pp-mid{display:flex;align-items:center;justify-content:center;color:var(--ink-faint);font-size:11px}
.pp-chk{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-soft);margin-bottom:6px}
.pp-fields{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.pp-fields input{font:inherit;font-size:12px;padding:5px 6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);min-width:0}
.pp-fields input:focus{border-color:var(--accent);outline:none}
.pp-sec{margin-bottom:8px}
.pp-sec select{font:inherit;font-size:12px;padding:4px;border:1px solid var(--line);background:var(--surface)}
.pp-row{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-soft);margin-top:8px}
.pp-row input[type=number]{width:50px;font:inherit;font-size:12px;padding:4px;border:1px solid var(--line);background:var(--surface)}
.pp-row input[type=color]{width:32px;height:26px;border:1px solid var(--line);background:none;cursor:pointer;padding:0}
.pp-gap{flex:1}
.pp-go{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-3);font:inherit;font-size:13px;font-weight:700;padding:7px 16px;cursor:pointer}
.pp-go:hover{background:var(--accent);color:#fff}
.block-pop{position:fixed;z-index:80;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(20,24,40,.22);padding:6px;display:grid;grid-template-columns:1fr 1fr;gap:3px;width:200px}
.sm-menu{position:fixed;z-index:80;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 28px rgba(20,24,40,.22);padding:8px;border-radius:8px}
.sm-grid{display:flex;flex-direction:column;gap:4px;align-items:stretch;min-width:210px}
.sm-grid .rib-act{justify-content:flex-start;width:100%;border-radius:6px}
.block-pop button{border:1px solid var(--line);background:var(--surface);font:inherit;font-size:12px;font-weight:600;text-align:left;padding:7px 9px;cursor:pointer;color:var(--ink);white-space:nowrap}
.block-pop button:hover{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
.hatch-pop{position:absolute;bottom:calc(100% + 6px);left:0;z-index:62;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(20,24,40,.22);padding:5px;display:flex;flex-direction:column;gap:3px;min-width:200px;max-height:60vh;overflow-y:auto}
.hatch-pop button{display:flex;align-items:center;gap:8px;border:0;background:transparent;font:inherit;font-size:13px;font-weight:600;text-align:left;padding:7px 12px;cursor:pointer;color:var(--ink);white-space:nowrap;border-radius:0}
.hatch-pop .hp-sw{width:14px;height:14px;flex:none;border:1px solid rgba(0,0,0,.25)}
.hatch-pop button:hover{background:var(--accent-soft);color:var(--accent-3)}
.hatch-pop .hp-none{border-top:1px solid var(--line-soft);color:var(--ink-faint)}
.hatch-pop .hp-scale{display:flex;align-items:center;gap:6px;padding:6px 10px;border-top:1px solid var(--line-soft);font-size:12px;color:var(--ink-soft);font-weight:600}
.hatch-pop .hp-scale span:first-child{flex:1}
.hatch-pop .hp-scale button{flex:none;width:26px;height:26px;text-align:center;padding:0;border:1px solid var(--line);background:var(--surface-2);justify-content:center}
.hatch-pop .hp-scale #hpScaleVal{min-width:20px;text-align:center;color:var(--ink)}
.selbar .sb-nofill:hover{color:var(--danger)}
.selbar .sb-color input{position:absolute;inset:0;opacity:0;cursor:pointer}
.selbar .sb-widths{display:flex;gap:2px}
.selbar .sb-widths button{width:26px}
.selbar .sb-widths .wl{display:block;width:16px;background:var(--ink);border-radius:2px}
.selbar .sb-widths button.on{background:var(--accent-soft);border-color:var(--accent)}
.selbar .sb-size{height:30px;border:1px solid var(--line);background:var(--surface-2);font:inherit;font-size:13px;color:var(--ink);padding:0 4px}
.selbar .sb-line{display:flex;gap:2px}
.selbar .sb-line button{width:26px;font-size:13px}
.selbar .sb-sep{width:1px;height:20px;background:var(--line);margin:0 2px}
.selbar .sb-tfmt{display:flex;align-items:center;gap:3px}
.selbar .sb-tfmt button.on{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
.selbar .sb-walldim{font:600 11px var(--font)}
.selbar .sb-walldim.on{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
.selbar .sb-open{display:flex;align-items:center;gap:3px}
.selbar .sb-open button{width:auto;min-width:26px;padding:0 8px;font-size:12px;font-weight:600}
.selbar .sb-open button[data-ow]{padding:0;width:26px}
.selbar .sb-open button.on{background:var(--accent-soft);color:var(--accent-3);border-color:var(--accent)}
.selbar .sb-open #sbOpenW{min-width:30px;text-align:center;font-size:12px;font-weight:600;color:var(--ink)}
.selbar .sb-sep2{width:1px;height:18px;background:var(--line);margin:0 1px}
.selbar #sbTbgDot{width:15px;height:15px;border:1px solid var(--line);display:block}
.selbar .sb-tedit{width:auto!important;padding:0 8px!important;font-size:12px;font-weight:600;gap:3px}
.selbar .sb-del:hover{color:var(--danger);border-color:var(--danger)}
.selbar[hidden]{display:none !important}
.install-btn{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600;animation:instPulse 2.4s ease-in-out infinite}
.install-btn:hover{background:var(--accent-3);border-color:var(--accent-3)}
@keyframes instPulse{0%,100%{box-shadow:0 0 0 0 rgba(79,122,60,.0)}50%{box-shadow:0 0 0 4px rgba(79,122,60,.18)}}

#toast-root{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;gap:8px;align-items:center}
.toast{background:var(--ink);color:#fff;padding:9px 16px;border-radius:0;font-size:13px;box-shadow:0 6px 20px rgba(0,0,0,.22);animation:tIn .2s}
@keyframes tIn{from{opacity:0;transform:translateY(8px)}}

/* Mittlere Breite (halber Bildschirm): Knöpfe nur als Symbol, damit oben nichts abschneidet */
@media (max-width:1024px){
  .btn span{display:none}
  .btn{padding:0 11px;gap:0}
  .doc-name,.suite-link{display:none}
  .topbar{gap:7px}
}

/* ===== Responsiv: Tablet / Handy ===== */
@media (max-width:820px){
  .work{grid-template-columns:1fr}
  .work.comm-open{grid-template-columns:1fr}
  .work.files-open,.work.files-open.comm-open{grid-template-columns:1fr}
  .work.files-open .files-panel{position:fixed;left:0;top:calc(var(--bar) + var(--tools));bottom:0;width:min(260px,82vw);z-index:40;box-shadow:6px 0 24px rgba(20,24,40,.16)}
  .thumbs{display:none}
  body:not(.has-doc) #drop{left:0}
  .comments{position:fixed;top:calc(var(--bar) + var(--tools));right:0;bottom:0;width:min(320px,86vw);z-index:40;box-shadow:-8px 0 24px rgba(20,24,40,.16)}
  body.list-open .work{right:var(--railw)}   /* schmaler Schirm: Listen-Panel überlagert (schiebt nicht) */
  .list-panel{box-shadow:-8px 0 24px rgba(20,24,40,.16)}
  body.has-doc:not(.planrail-collapsed) .work{left:0}   /* schmaler Schirm: Planungs-Rail überlagert (schiebt nicht) */
  .plan-rail{box-shadow:6px 0 24px rgba(20,24,40,.16)}
  .doc-name,.suite-link{display:none}
  .btn span{display:none}
  .btn{padding:0 11px;gap:0}
  .topbar{gap:6px;padding:0 10px}
  .rib-row{-webkit-overflow-scrolling:touch;gap:4px;padding:0 8px}
  .rib-row::-webkit-scrollbar{display:none}
  .toolbar .grow{display:none}
  .tgrp{padding-right:6px}
  .pageind{display:none}
  #btnSplit{display:none}            /* zwei nebeneinander – am Handy nicht sinnvoll */
  .pages{padding:6px}
  .quickbar{left:0;right:0;bottom:0;padding:0 6px;gap:2px;overflow-x:auto}
  .quickbar .qbtn{width:30px;height:30px;font-size:15px}
  .quickbar .foot-lbl{display:none}
  .freerot{left:8px}
}
@media (max-width:520px){
  :root{--bar:48px;--tools:76px;--tabs:28px}
  .brand{font-size:14px;letter-spacing:1.5px;margin-right:2px}
  .brand .logomark{height:38px;width:38px}
  .brand .brand-word{display:none}        /* Schriftzug am Handy weg – nur Symbol, spart Platz */
  .scaleind{display:none}
  .topbar{gap:3px;padding:0 7px}
  .pages{padding:4px}
  #qFree{display:none}                     /* freies Drehen am Handy ausblenden – Leiste schlanker */
  .tool{width:38px;height:38px}            /* touch-freundlicher */
  .swatch,.icon-btn{width:38px;height:38px}
  .sel{height:36px;font-size:12px}
  .zoom-val{min-width:46px}
  .drop-card{padding:30px 22px;max-width:90vw}
  .drop-card h1{font-size:20px}
  .splash-mark{width:128px;height:152px}
  .splash-word{font-size:24px;letter-spacing:5px}
  .modal-card{padding:18px}
}

/* ================= Design-Politur (v584): einheitliche Rundungen · Zustände · Schatten · Übergänge ================= */
:root{ --pop-shadow:0 2px 8px rgba(20,24,40,.10), 0 18px 44px -10px rgba(20,24,40,.26); --r-btn:8px; --r-pop:12px; }
/* Werkzeuge & Knöpfe: rund + weiche Übergänge + deutlicheres aktives Werkzeug */
.tool{border-radius:var(--r-btn);transition:background .13s ease,color .13s ease,border-color .13s ease,box-shadow .13s ease}
.tool.on{box-shadow:inset 0 0 0 1px var(--accent)}
.btn{transition:background .13s ease,color .13s ease,border-color .13s ease,box-shadow .13s ease,transform .1s ease}
.btn:active:not(:disabled){transform:translateY(1px)}
.swatch span{border-radius:5px}
.stamp-grid .st-sym,.pal-row button{border-radius:6px}
/* Tastatur-Fokus: klarer Akzent-Ring (nur bei Tab-Navigation, nicht bei Maus) */
.tool:focus-visible,.btn:focus-visible,.qbtn:focus-visible,.rib-act:focus-visible,.foot-info:focus-visible,.fab-b:focus-visible,.rib-tab:focus-visible,.tab:focus-visible,.tab-add:focus-visible,.icon-btn:focus-visible,.sr-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-btn)}
.modal-card input:focus-visible,.modal-card select:focus-visible,.modal-card textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
/* Popups & Leisten: gemeinsame Rundung + edler, mehrschichtiger Schatten */
.palette,.stamp-pop,.fmt-pop,.ins-menu,.outline-pop,.grid-bar,.align-bar,.crop-bar,.selbar,.textbar,.layer-panel,.ctxmenu,.freerot,.findbar,.hdr-pop,.phasePop,.phase-pop{border-radius:var(--r-pop);box-shadow:var(--pop-shadow)}
.modal-card{border-radius:16px;box-shadow:0 24px 70px -12px rgba(20,24,40,.42)}
/* Sanftes Handling: Panels/Rails gleiten, Klick-Feedback */
.list-panel,.side-rail,.comments,.plan-rail{transition:transform .18s cubic-bezier(.4,0,.2,1),opacity .18s ease}
.fab-b,.qbtn{transition:background .13s ease,color .13s ease,border-color .13s ease,transform .1s ease}
.fab-b:active,.qbtn:active{transform:scale(.93)}
/* Tastbares Klick-Feedback auch auf der Haupt-Toolbar (wie Submit Paper) */
.tool,.rib-act,.icon-btn,.sr-btn{transition:background .13s ease,color .13s ease,border-color .13s ease,box-shadow .13s ease,transform .1s ease}
.tool:active,.rib-act:active,.icon-btn:active,.sr-btn:active{transform:scale(.92)}
.btn:active{transform:translateY(1px)}
@media (prefers-reduced-motion: reduce){ *{transition:none !important} }

/* ===== Ansehen-Modus (S2.1): nur betrachten, keine Änderungen. Standard AUS. ===== */
body.view-only .toolbar .tool, body.view-only .fab-b, body.view-only #delSel,
body.view-only #qRotL, body.view-only #qRotR, body.view-only #qCrop, body.view-only #qSnip,
body.view-only #footPlan, body.view-only #footPhase{opacity:.32;pointer-events:none}
body.view-only .tool[data-tool="select"], body.view-only .tool[data-tool="textsel"],
body.view-only #btnView, body.view-only #btnFileMenu, body.view-only #btnToPaper{opacity:1;pointer-events:auto}
body.view-only #btnView{background:var(--accent);border-color:var(--accent)}
body.view-only #btnView .i{stroke:#fff}
/* dezenter Hinweisstreifen oben rechts */
body.view-only .toolbar::after{content:"👁 Ansehen – keine Änderungen";position:absolute;right:12px;top:6px;background:var(--accent);color:#fff;font:600 11px/1 var(--font);padding:5px 10px;border-radius:8px;pointer-events:none;z-index:5}

/* ===== Feel-Konsistenz mit Submit Paper: dezente, themenkonforme Scrollbalken ===== */
/* (rib-row versteckt seinen Scrollbalken weiterhin – spezifischere Regel oben gewinnt) */
html{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink) 22%,transparent) transparent}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 20%,transparent);border-radius:99px;border:3px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--ink) 34%,transparent);background-clip:padding-box}
::-webkit-scrollbar-corner{background:transparent}

/* ===== Handling-Konsistenz mit Submit Paper: Dropdown-/Kontext-Popups blenden sanft ein ===== */
/* Neutrale scale+opacity-Einblendung (passt für nach oben UND unten öffnende Popups) */
@keyframes pdfPopIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.palette:not([hidden]),.stamp-pop:not([hidden]),.fmt-pop:not([hidden]),.ins-menu:not([hidden]),.outline-pop:not([hidden]),.ctxmenu:not([hidden]),.hdr-pop:not([hidden]){animation:pdfPopIn .13s cubic-bezier(.4,0,.2,1)}
@media (prefers-reduced-motion:reduce){.palette,.stamp-pop,.fmt-pop,.ins-menu,.outline-pop,.ctxmenu,.hdr-pop{animation:none !important}}

/* 3D: Einstell-Panel beim Anklicken einer Wand/Fläche */
.d3-sel{position:absolute;top:64px;right:14px;z-index:8;width:206px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--pop-shadow);padding:10px 12px;font-family:var(--font);font-size:13px}
.d3-sel[hidden]{display:none}
.d3-sel-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.d3-sel-h b{font-size:14px}
.d3-sel-h button{border:none;background:none;font-size:15px;cursor:pointer;color:var(--ink-soft);line-height:1}
.d3-sr{display:flex;align-items:center;gap:6px;margin:5px 0}
.d3-sr>span{flex:1;color:var(--ink-soft)}
.d3-sr input{width:64px;border:1px solid var(--line);border-radius:6px;padding:4px 6px;font:inherit;color:var(--ink)}
.d3-sr em{font-style:normal;color:var(--ink-faint);width:24px}

/* Kleine Auswahl-Knöpfe im Inspector (z. B. Plattenspiegel-Startecke) */
.insp-mini{width:26px;height:24px;border:1px solid var(--line);background:var(--surface-2);border-radius:6px;cursor:pointer;font-size:13px;color:var(--ink-soft);line-height:1;padding:0}
.insp-mini:hover{border-color:var(--accent);color:var(--accent)}
.insp-mini.on{background:var(--accent);border-color:var(--accent);color:#fff}

/* ===== Schöne Hover-Tooltips (wie Submit Paper) statt der trägen Browser-title-Tooltips ===== */
.tip{position:fixed;z-index:600;background:var(--ink);color:#fff;font-size:12px;font-family:var(--font);padding:6px 10px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.28);pointer-events:none;max-width:280px;line-height:1.35;animation:tipIn .12s ease}
@keyframes tipIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
