:root{--bg: #151517;--panel: rgba(28, 28, 30, .72);--panel-solid: #1f1f22;--panel-border: rgba(255, 255, 255, .1);--line: rgba(255, 255, 255, .08);--fill: rgba(255, 255, 255, .065);--fill-hover: rgba(255, 255, 255, .12);--ink: #f2f1ee;--dim: rgba(235, 235, 245, .58);--accent: #e4572e;--accent-soft: rgba(228, 87, 46, .16);--ok: #4caf7d;--warn: #e0a83c;--err: #e05c4c;--shadow: 0 10px 34px rgba(0, 0, 0, .42), 0 1px 3px rgba(0, 0, 0, .3);--radius: 14px;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Inter", "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:13px;overflow:hidden;-webkit-font-smoothing:antialiased;letter-spacing:.01em}.mono{font-family:var(--mono)}.dim{color:var(--dim)}.small{font-size:11px}.r{text-align:right}b{font-weight:600}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#8c8c9166;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8c8c91a6}::-webkit-scrollbar-track{background:transparent}.app{height:100%;display:flex;flex-direction:column;position:relative}.app.light{--bg: #edecea;--panel: rgba(248, 248, 246, .72);--panel-solid: #f6f5f3;--panel-border: rgba(0, 0, 0, .1);--line: rgba(0, 0, 0, .08);--fill: rgba(0, 0, 0, .05);--fill-hover: rgba(0, 0, 0, .09);--ink: #1c1c1e;--dim: rgba(60, 60, 67, .62);--shadow: 0 10px 34px rgba(0, 0, 0, .14), 0 1px 3px rgba(0, 0, 0, .08)}.topbar{height:50px;display:flex;align-items:center;gap:14px;padding:0 16px;border-bottom:1px solid var(--panel-border);background:var(--panel);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);z-index:20}.brand{font-weight:700;letter-spacing:.12em;font-size:12px}.logo{color:var(--accent);letter-spacing:-.2em;margin-right:6px}.proj{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.views{margin-left:auto}.actions{display:flex;gap:8px;align-items:center}button{font:inherit;font-weight:500;color:var(--ink);background:var(--fill);border:1px solid transparent;border-radius:9px;padding:6px 12px;cursor:pointer;transition:background .15s ease,color .15s ease,transform .06s ease}button:hover{background:var(--fill-hover)}button:active{transform:scale(.97)}button.on,button.primary{background:var(--accent);color:#fff}button.danger{background:transparent;border-color:var(--err);color:var(--err);margin-top:8px}button.x{background:transparent;margin-left:auto}.seg{display:flex;gap:2px;background:var(--fill);border-radius:10px;padding:2px}.seg button{background:transparent;border-radius:8px;padding:4px 14px;color:var(--dim)}.seg button:hover{color:var(--ink);background:transparent}.seg button.on{background:var(--panel-solid);color:var(--ink);box-shadow:0 1px 4px #00000059}.app.light .seg button.on{background:#fff}.menu-wrap{position:relative}.chev{opacity:.6;font-size:11px;margin-left:2px}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39}.menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;min-width:230px;display:flex;flex-direction:column;gap:1px;padding:5px}.menu button{background:transparent;text-align:left;border-radius:7px;padding:7px 11px;font-weight:400;white-space:nowrap}.menu button:hover{background:var(--accent);color:#fff}.menu-sep{height:1px;background:var(--line);margin:4px 8px}.viewport{flex:1;display:flex;min-height:0}.viewport .pane{flex:1;min-width:0;position:relative}.viewport.split .pane:first-child{border-right:1px solid var(--panel-border)}.plan2d{width:100%;height:100%;background:var(--bg);display:block}.plan2d .plot{fill:none;stroke:var(--accent);stroke-width:.08;stroke-dasharray:.5 .3}.plan2d .grid{stroke:#303338;stroke-width:.02}.app.light .plan2d .grid{stroke:#d8d5cd}.plan2d .grid.half{stroke-dasharray:.12 .12;opacity:.55}.plan2d .footprint{fill:#82858a14;stroke:#5a5d62;stroke-width:.03}.plan2d .wall20{fill:#b9bbbd;stroke:#333;stroke-width:.02}.plan2d .wall10{fill:#7e8085;stroke:#333;stroke-width:.02}.plan2d .module{fill:#8f929440;stroke:#8f9294;stroke-width:.05}.plan2d .opencut{fill:var(--bg)}.plan2d .win{stroke:#9cc7d8;stroke-width:.09}.plan2d .door{stroke:#b08d5f;stroke-width:.09}.plan2d .ghost-ok{fill:#4caf7d80;stroke:var(--ok);stroke-width:.05}.plan2d .ghost-bad{fill:#e05c4c80;stroke:var(--err);stroke-width:.05}.plan2d .park{fill:none;stroke:#5a5d62;stroke-width:.04}.plan2d .park.bf{stroke:#4a7fb5;stroke-width:.08}.plan2d .parknr{font-size:.8px;fill:var(--dim);font-family:var(--mono);text-anchor:middle}.plan2d .rampe{fill:#787a7e33;stroke:#5a5d62;stroke-width:.05;stroke-dasharray:.4 .2}.plan2d .zuweg{fill:#b4b0a52e;stroke:none}.plan2d .shaft{fill:#6e7d8640;stroke:#6f7d86;stroke-width:.05}.plan2d .shaftx{stroke:#6f7d86;stroke-width:.03}.plan2d .azcell{fill:#6e7d860f;stroke:#6f7d86;stroke-width:.03;stroke-dasharray:.25 .15}.plan2d .azlicht{fill:none;stroke:#9aa7ae;stroke-width:.02}.plan2d .azcab{fill:#e4572e1f;stroke:var(--accent);stroke-width:.03}.plan2d .azdrive{fill:#6e7d8659;stroke:#6f7d86;stroke-width:.02}.plan2d .azdoor{fill:var(--accent);opacity:.8}.plan2d .azis{fill:#9a8f782e;stroke:#9a8f78;stroke-width:.03}.plan2d .azlbl{font-size:.3px;fill:#8b949c;font-family:var(--sans);text-anchor:middle}.plan2d .saeule{fill:#565b60;stroke:#8a8f93;stroke-width:.03}.plan2d .fitline,.lib-svg .fitline{fill:none;stroke:#9fb7bd;stroke-width:.035}.plan2d .fitline.thin,.lib-svg .fitline.thin{stroke-width:.02;opacity:.8}.plan2d .fitfill,.lib-svg .fitfill{fill:#9fb7bd59;stroke:#9fb7bd;stroke-width:.02}.app.light .plan2d .fitline,.app.light .plan2d .fitfill{stroke:#5c7d85}.plan2d .mline{stroke:var(--accent);stroke-width:.05}.plan2d .mdot{fill:var(--accent)}.plan2d .mtxt{font-size:.6px;fill:var(--accent);font-family:var(--sans);font-weight:600;text-anchor:middle;paint-order:stroke;stroke:var(--bg);stroke-width:.12}.plan2d .mtxt.small2{font-size:.42px;font-weight:400}.plan2d .zwel{fill:#d8b56a;stroke:#333;stroke-width:.02}.cfg-wrap{display:flex;gap:14px;align-items:flex-start}.cfg-list{width:200px;flex:none;display:flex;flex-direction:column;gap:3px}.cfg-item{text-align:left;font:inherit;font-size:12px;padding:5px 8px;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.cfg-item.on{border-color:var(--accent);background:#e4572e14}.cfg-detail{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.cfg-svg{width:100%;max-width:420px;background:#ffffff08;border:1px solid var(--line);border-radius:6px}.cfg-svg text{font-family:var(--sans)}.cfg-wall{fill:#4a4e53;stroke:#9aa0a6;stroke-width:.02}.cfg-glass{fill:#9cc7d880;stroke:#9cc7d8;stroke-width:.02}.cfg-door{fill:#7d6a54;stroke:#5e5040;stroke-width:.02}.cfg-elek{fill:#e4572e33;stroke:var(--accent);stroke-width:.02}.cfg-dot{fill:#e9e2d4}.cfg-kanal{stroke:#e4a72e;stroke-width:.035;stroke-dasharray:.12 .08}.cfg-dim{font-size:.16px;fill:#9aa0a6;text-anchor:middle}.bw-matte{stroke:#6f8fae;stroke-width:.008;opacity:.7}.bw-buegel{fill:none;stroke:#c9a15e;stroke-width:.018}.bw-sturz{stroke:var(--err);stroke-width:.035}.bw-sturzbuegel{stroke:#c9a15e;stroke-width:.014}.bw-lbl{fill:var(--err)}.cfg-section{max-width:420px}.cfg-mm{font-size:11px;fill:#9aa0a6;text-anchor:middle}.cfg-bka{fill:none;stroke:#4c8ffb;stroke-width:2}.cfg-kanalq{fill:none;stroke:#e4a72e;stroke-width:2}.cfg-row{font-size:12.5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.plan2d .step{stroke:#8a7f6a;stroke-width:.035}.plan2d .module.kern{fill:#7c80844d}.plan2d .dormer{fill:#b8a98840;stroke:#b8a988;stroke-width:.05;stroke-dasharray:.3 .15}.plan2d .dormerneg{fill:#7f988433;stroke:#7f9884;stroke-width:.05;stroke-dasharray:.3 .15}.plan2d .deckplate{stroke-width:.035}.plan2d .dp-DE2{fill:#7890a829;stroke:#7890a8}.plan2d .dp-DE1{fill:#7890a842;stroke:#7890a8}.plan2d .dp-P{fill:#c4a86440;stroke:#c4a864}.plan2d .dp-W{fill:#e4572e2e;stroke:#e4572e}.plan2d .dp-A{fill:#7f98844d;stroke:#7f9884}.plan2d .dp-S{fill:#e4a72e38;stroke:#e4a72e}.plan2d .dplbl{font-size:.42px;fill:#9fb4c8;font-family:var(--sans);text-anchor:middle}.plan2d .dplbl.dim2{font-size:.32px;fill:#7d8896}.plan2d .stack-above{fill:none;stroke:#4a7fb5;stroke-width:.05;stroke-dasharray:.28 .16;opacity:.85}.plan2d .stack-below{fill:none;stroke:#8a8d90;stroke-width:.05;stroke-dasharray:.14 .14;opacity:.7}.plan2d .stairdir{stroke:var(--ink);stroke-width:.05;opacity:.7}.plan2d .roomlbl{font-size:.65px;fill:var(--ink);font-family:var(--sans);text-anchor:middle;opacity:.85}.plan2d .roomlbl:hover{opacity:1;text-decoration:underline}.plan2d .roomlbl-unit{font-weight:700}.unit-chip{font:inherit;font-size:11px;padding:1px 8px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.unit-chip:hover{border-color:var(--accent)}.unit-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:baseline}.plan2d .dimlbl{font-size:.8px;fill:var(--accent);font-family:var(--mono);text-anchor:middle}.plan2d .dimline{stroke:var(--ink);stroke-width:.03;opacity:.8}.plan2d .dimhelp{stroke:var(--ink);stroke-width:.018;opacity:.35}.plan2d .dimtick{stroke:var(--ink);stroke-width:.05;opacity:.9}.plan2d .dimtxt{font-size:.52px;fill:var(--ink);font-family:var(--mono);text-anchor:middle}.plan2d .dim.bold .dimtxt{font-size:.62px;font-weight:700}.plan2d .dim.bold .dimline{stroke-width:.045}.plan2d .baugrenze{fill:none;stroke:#4a7fb5;stroke-width:.09;stroke-dasharray:1 .35 .12 .35}.plan2d .bglbl{font-size:.6px;fill:#4a7fb5;font-family:var(--sans)}.plan2d .bglbl.grenz{fill:var(--accent)}.plan2d .af{fill:#e4572e12;stroke:var(--accent);stroke-width:.03;stroke-dasharray:.25 .18}.plan2d .afline{stroke:var(--accent);stroke-width:.09;stroke-dasharray:.7 .3;fill:none;opacity:.85}.plan2d .baulinie{stroke:#4a7fb5;stroke-width:.14;fill:none}.plan2d .daemmline{fill:none;stroke:#6fae8f;stroke-width:.05;stroke-dasharray:.18 .12}.plan2d .linedraft{stroke:var(--accent);stroke-width:.12;stroke-dasharray:.4 .22;fill:none}.plan2d .linedraft.done{stroke-dasharray:none}.plan2d .linedot{fill:var(--accent)}.plan2d .linelbl{fill:var(--accent);font-family:var(--mono);text-anchor:middle;font-weight:600;paint-order:stroke;stroke:var(--bg);stroke-width:.1}.plan2d .linechip{fill:var(--panel-solid);stroke:var(--accent);stroke-width:.04}.plan2d .linechip.x{stroke:var(--dim)}.plan2d .linechip:hover{fill:var(--accent)}.plan2d .linechiplbl{fill:var(--ink);font-family:var(--sans);text-anchor:middle;pointer-events:none}.plan2d .daemmlbl{font-size:.42px;fill:#6fae8f;font-family:var(--mono)}.plan2d .shline{stroke:#c9a15e;stroke-width:.045;stroke-dasharray:.35 .2;fill:none}.plan2d .shline.h2{stroke:#7fae6b;stroke-dasharray:.55 .22}.plan2d .shlbl{font-size:.42px;fill:#b0955c;font-family:var(--mono);text-anchor:middle}.plan2d .shline.h2+.shlbl,.plan2d g:has(.shline.h2) .shlbl{fill:#7fae6b}.plan2d .aflbl{font-size:.5px;fill:var(--accent);font-family:var(--mono);text-anchor:middle;opacity:.9}.plan2d .lbl{font-size:.6px;fill:var(--dim);font-family:var(--mono)}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);box-shadow:var(--shadow)}.navigator{position:absolute;left:12px;bottom:84px;padding:8px;z-index:10;width:172px}.nav-row{display:flex;align-items:center;gap:4px;padding:1px 0}.nav-row .name{flex:1;text-align:left;background:transparent;padding:5px 10px;border-radius:7px}.nav-row.active .name{background:var(--accent);color:#fff;font-weight:600}.nav-row .ico{background:transparent;padding:2px 5px;color:var(--dim);opacity:.55}.nav-row .ico.on{color:var(--ink);opacity:1}.nav-foot{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;border-top:1px solid var(--line);padding-top:8px}.nav-foot button{font-size:11px;padding:3px 8px}.ground-slider{display:flex;align-items:center;gap:6px;margin-top:8px;border-top:1px solid var(--line);padding-top:8px}.ground-slider input[type=range]{flex:1;accent-color:var(--accent);height:3px}.ground-slider .mono{min-width:30px;text-align:right}.hotbar{position:absolute;left:50%;transform:translate(-50%);bottom:38px;display:flex;gap:4px;padding:8px 10px;z-index:10;align-items:stretch;max-width:92vw;border-radius:18px}.hotbar button{min-width:58px;white-space:nowrap;font-size:12.5px;font-weight:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:6px 9px;background:transparent;border-radius:10px}.hotbar button:hover{background:var(--fill-hover)}.hotbar button.on{background:var(--accent)}.hotbar .key{font-family:var(--mono);font-size:9.5px;color:var(--dim)}.hotbar button.on .key{color:#fffc}.hotbar .hint{color:var(--dim);font-size:11px;margin-left:8px;max-width:260px;white-space:normal;align-self:center}.library{position:absolute;left:12px;top:56px;bottom:76px;width:760px;max-width:calc(100vw - 24px);z-index:16;display:flex;flex-direction:column;overflow:hidden}.lib-cols{flex:1;display:flex;min-height:0}.lib-cols .lib-body{width:330px;flex:none;border-right:1px solid var(--line)}.lib-detail{flex:1;min-width:0;overflow-y:auto;padding:10px 14px}.lib-detail .cfg-detail{display:flex;flex-direction:column;gap:8px}.floating{touch-action:none}.grip{height:16px;flex:none;display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--dim);border-bottom:1px solid var(--line);background:#ffffff05;-webkit-user-select:none;user-select:none}.grip:active{cursor:grabbing}.grip-dots{transform:rotate(90deg);letter-spacing:2px;font-size:10px;line-height:1}.navigator .grip,.context .grip,.drawer .grip{border-radius:var(--radius) var(--radius) 0 0}.lib-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.lib-head .small{flex:1}.lib-body{overflow-y:auto;padding:10px 12px 16px}.lib-group{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:12px 0 6px}.lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.lib-card{display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:6px;border-radius:10px;text-align:center;background:transparent}.lib-card:hover{background:var(--fill)}.lib-card.on{background:var(--accent);border-color:var(--accent)}.lib-card.on .lib-name,.lib-card.on .lib-code,.lib-card.on .pv-dim{color:#fff;fill:#fff}.lib-preview{background:#7878801a;border-radius:6px;padding:4px;height:74px;display:flex;align-items:center;justify-content:center}.lib-svg{max-width:100%;max-height:100%}.lib-code{font-size:10.5px}.lib-name{font-size:10px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-wall20{fill:#b9bbbd;stroke:#55585c;stroke-width:.04}.pv-wall10{fill:#e8e6e1;stroke:#8a8d90;stroke-width:.04}.pv-glass{fill:#9cc7d8b3;stroke:#6f95a6;stroke-width:.03}.pv-door{fill:#7d6a54}.pv-mod{fill:#8f929440;stroke:#8f9294;stroke-width:.06}.pv-shaft{fill:#6e7d8659;stroke:#6f7d86;stroke-width:.04}.pv-azcab{fill:#e4572e33;stroke:var(--accent);stroke-width:.03}.pv-azis{fill:#9a8f7840;stroke:#9a8f78;stroke-width:.03}.pv-line{stroke:#6f7d86;stroke-width:.05}.pv-arrow{stroke:var(--ink);stroke-width:.06}.pv-dim{font-size:.22px;fill:var(--dim);font-family:var(--mono);text-anchor:middle}.lib-svg .step{stroke:#8a7f6a;stroke-width:.05}.lib-svg .stairdir{stroke:var(--ink);stroke-width:.07;opacity:.75}.lib-svg .shaftx{stroke:#6f7d86;stroke-width:.05}.lib-svg .zuweg{fill:#b4b0a540}.context{position:absolute;right:12px;top:56px;width:260px;z-index:10}.ctx-head{display:flex;gap:6px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.ctx-body{padding:10px 12px;display:flex;flex-direction:column;gap:7px}.variants{display:flex;flex-wrap:wrap;gap:4px}.variants button{font-family:var(--mono);font-size:11px;padding:3px 6px}.ampel{position:absolute;right:12px;bottom:84px;z-index:10;padding:9px 14px;font-weight:600;border-radius:12px}.ampel.ok{color:var(--ok)}.ampel.warn{color:var(--warn)}.ampel.err{color:var(--err)}.status{height:28px;display:flex;align-items:center;gap:18px;padding:0 16px;border-top:1px solid var(--panel-border);background:var(--panel);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);font-size:11px;color:var(--dim);z-index:20}.drawer{position:absolute;right:12px;top:62px;bottom:84px;width:520px;z-index:15;display:flex;flex-direction:column;overflow:hidden}.tabs{display:flex;gap:2px;padding:8px 10px;border-bottom:1px solid var(--line)}.tabs button{background:transparent;color:var(--dim);padding:5px 12px;border-radius:8px}.tabs button:hover{color:var(--ink);background:var(--fill)}.tabs button.on{background:var(--accent);color:#fff}.tab-body{padding:12px 14px;overflow:auto;display:flex;flex-direction:column;gap:11px}table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}th{text-align:left;color:var(--dim);font-weight:600;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--panel-border);padding:4px}th.r{text-align:right}td{padding:3.5px 4px;border-bottom:1px solid var(--line)}tbody tr:hover td{background:#ffffff06}.app.light tbody tr:hover td{background:#00000005}.finding{padding:6px 10px;border-radius:9px;font-size:12px}.finding.fehler{background:#e05c4c24;color:var(--err)}.finding.warnung{background:#e0a83c21;color:var(--warn)}.finding.info{background:#4caf7d1a;color:var(--ok)}table.bom{font-size:11px}table.bom td,table.bom th{padding:2px 3px}.bom-in{width:52px;font:inherit;font-size:11px;background:var(--fill);color:var(--ink);border:1px solid transparent;border-radius:6px;padding:2px 4px;text-align:right}.bom-in:focus{outline:none;border-color:var(--accent)}.cat-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:1px solid var(--line);padding:7px 0}.cat-fields{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.numfield{display:flex;flex-direction:column;gap:3px;width:64px}.numfield input,.numfield select,select{font:inherit;font-size:12px;background:var(--fill);color:var(--ink);border:1px solid transparent;border-radius:7px;padding:4px 6px;width:100%}.numfield input:focus,.numfield select:focus{outline:none;border-color:var(--accent)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:50}.modal{width:480px;padding:22px;display:flex;flex-direction:column;gap:13px}.modal h2{font-size:17px;font-weight:700;letter-spacing:-.01em}.modal label{display:flex;flex-direction:column;gap:4px;flex:1;font-size:12px;color:var(--dim)}.modal input,.modal select{font:inherit;background:var(--fill);color:var(--ink);border:1px solid transparent;border-radius:8px;padding:7px 9px}.modal input:focus,.modal select:focus{outline:none;border-color:var(--accent)}.modal .row{display:flex;gap:10px}.gantt-body{gap:8px}.gantt-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.gantt-head .spacer{flex:1}.gantt-head label{display:flex;align-items:center;gap:6px;color:var(--dim)}.gantt-head input[type=date]{font:inherit;font-size:12px;background:var(--fill);color:var(--ink);border:1px solid transparent;border-radius:7px;padding:3px 6px}.gantt-head button{font:inherit;font-size:12px;background:var(--fill);color:var(--ink);border:none;border-radius:7px;padding:4px 9px;cursor:pointer}.gantt-head button.on{background:var(--accent);color:#fff}.gantt-legende{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;align-items:center}.gantt-legende i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.gantt-scroll{overflow:auto;border-radius:10px;background:var(--fill);flex:1;min-height:200px}.gantt-grp{font-size:12px;font-weight:700;fill:var(--ink)}.gantt-lbl{font-size:10.5px;fill:var(--dim)}.gantt-row{cursor:pointer}.gantt-row:hover .gantt-lbl{fill:var(--ink)}.gantt-woche{stroke:color-mix(in srgb,var(--dim) 12%,transparent)}.gantt-monat{stroke:color-mix(in srgb,var(--dim) 30%,transparent)}.gantt-mlabel{font-size:10px;fill:var(--dim);font-family:var(--mono, ui-monospace)}.gantt-ms{fill:var(--ink)}.gantt-ms.krit{fill:var(--bad, #c0392b)}.gantt-sim{stroke:var(--accent);stroke-width:2}.simchip{position:absolute;left:50%;transform:translate(-50%);bottom:96px;z-index:14;display:flex;gap:10px;align-items:center;padding:8px 14px;font-size:12px}.simchip input[type=range]{width:260px}.simchip button{font:inherit;background:var(--fill);color:var(--ink);border:none;border-radius:7px;padding:4px 10px;cursor:pointer}.gantt-bb{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:5 3}.bestell{display:flex;flex-direction:column;gap:8px}.btable{width:100%;border-collapse:collapse;font-size:11.5px}.btable th{text-align:left;color:var(--dim);font-weight:600;padding:4px 8px;border-bottom:1px solid var(--line, rgba(128,128,128,.25))}.btable td{padding:3px 8px;border-bottom:1px solid color-mix(in srgb,var(--dim) 10%,transparent)}.btable .r{text-align:right}.btable tr.konflikt td{color:var(--bad, #c0392b)}button.mini{font:inherit;font-size:11px;background:var(--fill);color:var(--ink);border:none;border-radius:6px;padding:2px 8px;cursor:pointer}button.mini:hover{background:var(--accent);color:#fff}.netzline{fill:none;stroke-width:.06;stroke-linejoin:round;opacity:.85;stroke-dasharray:.25 .12}.ekpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ekpi{background:var(--fill);border-radius:10px;padding:8px 10px;font-size:12px}.ekpi b{font-size:17px;letter-spacing:-.01em}.ekpi small{display:block;color:var(--dim);font-size:10.5px;margin-top:2px}.cfchart{background:var(--fill);border-radius:10px}.ekarte{background:var(--fill);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;font-size:12.5px}
