.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-1:#1a1a19;--surface-2:#222221;--plane:#0d0d0d;--text-primary:#fff;--text-secondary:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--border-stark:#ffffff38;--netz:#3987e5;--pv:#d95926;--speicher:#199e70;--waerme:#b5539c;--mobil:#7a6ae0;--nt-flaeche:#199e701a;--ht-flaeche:#d03b3b1a;--gut:#0ca30c;--warnung:#fab219;--kritisch:#d03b3b;--radius:10px;--radius-klein:7px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-1:#fcfcfb;--surface-2:#f2f1ee;--plane:#f9f9f7;--text-primary:#0b0b0b;--text-secondary:#52514e;--muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--border-stark:#0b0b0b3d;--netz:#2a78d6;--pv:#eb6834;--speicher:#1baf7a;--waerme:#a03d88;--mobil:#6455cc;--nt-flaeche:#1baf7a1f;--ht-flaeche:#d03b3b1a;--gut:#006300;--warnung:#fab219;--kritisch:#d03b3b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--plane);color:var(--text-primary);-webkit-font-smoothing:antialiased;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.app{grid-template-rows:auto 1fr;height:100%;display:grid}.kopf{border-bottom:1px solid var(--border);background:var(--surface-1);justify-content:space-between;align-items:center;gap:20px;padding:11px 18px;display:flex}.kopf h1{letter-spacing:-.01em;margin:0;font-size:14.5px;font-weight:600}.kopf .pfad{color:var(--muted);font-size:12.5px}.kopf-rechts{align-items:center;gap:8px;display:flex}.knopf{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-klein);color:var(--text-secondary);padding:6px 12px;font-size:12.5px;transition:border-color .15s,color .15s}.knopf.betont{border-color:var(--netz);color:var(--text-primary);background:color-mix(in srgb, var(--netz) 18%, transparent)}.knopf.betont:hover:not(:disabled){background:color-mix(in srgb, var(--netz) 28%, transparent)}.knopf.gefahr{border-color:var(--kritisch);color:var(--text-primary);background:color-mix(in srgb, var(--kritisch) 20%, transparent)}.knopf.gefahr:hover:not(:disabled){background:color-mix(in srgb, var(--kritisch) 34%, transparent)}.knopf:hover{border-color:var(--border-stark);color:var(--text-primary)}.knopf[aria-pressed=true]{border-color:var(--text-primary);color:var(--text-primary)}.inhalt{grid-template-columns:64px 1fr;min-height:0;display:grid;overflow:hidden}.palette{border-right:1px solid var(--border);background:var(--surface-1);padding:14px 12px 24px;overflow-y:auto}.palette h2,.seitenleiste h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:16px 0 8px;font-size:10.5px;font-weight:600}.palette h2:first-child{margin-top:0}.palette-eintrag{border-radius:var(--radius-klein);width:100%;color:var(--text-secondary);text-align:left;cursor:grab;background:0 0;border:1px solid #0000;align-items:center;gap:9px;margin-bottom:3px;padding:7px 9px;font-size:12.5px;transition:background .12s,border-color .12s,color .12s;display:flex}.palette-eintrag:hover{background:var(--surface-2);border-color:var(--border);color:var(--text-primary)}.palette-eintrag:active{cursor:grabbing}.palette-hinweis{color:var(--muted);margin:18px 2px 0;font-size:11.5px;line-height:1.5}.leinwand{background:var(--plane);min-width:0;position:relative}.react-flow__attribution{display:none}.react-flow__handle{background:var(--surface-1);border:1.5px solid var(--muted);width:9px;height:9px}.react-flow__handle:hover{border-color:var(--netz)}.react-flow__edge-path{stroke:var(--axis);stroke-width:2px}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--netz);stroke-width:2.5px}.react-flow__edge.fehler .react-flow__edge-path{stroke:var(--kritisch)}.react-flow__controls-button{background:var(--surface-1);border-bottom:1px solid var(--border);fill:var(--text-secondary)}.react-flow__controls-button:hover{background:var(--surface-2)}.react-flow__minimap{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-klein)}.baustein{background:var(--surface-1);border:1px solid var(--border-stark);border-radius:var(--radius);align-items:center;gap:10px;min-width:172px;padding:9px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.baustein.ausgewaehlt{border-color:var(--text-primary);box-shadow:0 0 0 1px var(--text-primary)}.baustein.status-fehler{border-color:var(--kritisch)}.baustein.status-warnung{border-color:var(--warnung)}.baustein-symbol{width:26px;height:26px;color:var(--text-secondary);flex:none}.baustein-text{min-width:0}.baustein-titel{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;overflow:hidden}.baustein-sub{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.baustein-marke{border-radius:5px;flex:none;margin-left:auto;padding:1px 6px;font-size:11px;font-weight:600}.marke-fehler{color:var(--kritisch);background:color-mix(in srgb, var(--kritisch) 16%, transparent)}.marke-warnung{color:var(--warnung);background:color-mix(in srgb, var(--warnung) 18%, transparent)}.kanten-label{background:var(--surface-1);border:1px solid var(--border);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:all;cursor:pointer;border-radius:5px;padding:2px 6px;font-size:10.5px}.kanten-label:hover{border-color:var(--border-stark);color:var(--text-primary)}.seitenleiste{border-left:1px solid var(--border);background:var(--surface-1);padding:14px 14px 32px;overflow-y:auto}.feld{margin-bottom:11px}.feld label{color:var(--muted);margin-bottom:4px;font-size:11.5px;display:block}.kopf-schalter{color:var(--muted);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.kopf-schalter input{accent-color:var(--akzent,currentColor);cursor:pointer}.feld-hinweis{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.45}.feld input,.feld select{background:var(--surface-2);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:6px;width:100%;padding:6px 8px;font-size:12.5px}.feld input:focus,.feld select:focus{border-color:var(--netz);outline:none}.feld-reihe{grid-template-columns:1fr 1fr;gap:9px;display:grid}.nachweis{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-2);margin-bottom:7px;padding:9px 11px}.nachweis-kopf{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.nachweis-name{font-size:12px;font-weight:500}.nachweis-wert{font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap;font-size:12px}.nachweis-norm{color:var(--muted);margin-top:3px;font-size:10.5px}.nachweis-weg{color:var(--muted);word-break:break-word;margin-top:6px;font-size:10.5px;line-height:1.45}.nachweis.fehlgeschlagen{border-color:color-mix(in srgb, var(--kritisch) 55%, transparent)}.nachweis.gewarnt{border-color:color-mix(in srgb, var(--warnung) 55%, transparent)}.status-punkt{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.punkt-ok{background:var(--gut)}.punkt-warnung{background:var(--warnung)}.punkt-fehler{background:var(--kritisch)}.kennzahlen{background:var(--border);border:1px solid var(--border);border-radius:var(--radius-klein);grid-template-columns:1fr 1fr;gap:1px;margin-bottom:14px;display:grid;overflow:hidden}.kennzahl{background:var(--surface-2);padding:9px 11px}.kennzahl .k-label{color:var(--muted);font-size:10.5px}.kennzahl .k-wert{font-variant-numeric:tabular-nums;margin-top:2px;font-size:16px;font-weight:600}.leer{color:var(--muted);padding:8px 2px;font-size:12.5px;line-height:1.6}.warnbanner{border:1px solid color-mix(in srgb, var(--warnung) 45%, transparent);background:color-mix(in srgb, var(--warnung) 10%, transparent);border-radius:var(--radius-klein);color:var(--text-secondary);margin-bottom:14px;padding:9px 11px;font-size:11.5px;line-height:1.5}.konto-kopf{border-right:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:9px;margin-right:2px;padding-right:10px;font-size:12.5px;display:flex}.konto-offline{color:var(--warnung);background:color-mix(in srgb, var(--warnung) 14%, transparent);white-space:nowrap;cursor:help;border-radius:5px;padding:2px 7px;font-size:11px}.konto-betrieb{color:var(--text-primary);white-space:nowrap;font-weight:500}.konto-rollen{color:var(--muted);font-weight:400}.konto-nutzer{color:var(--muted);white-space:nowrap}.anmelde-buehne{background:var(--plane);justify-content:center;align-items:center;height:100%;display:flex}.anmelde-karte{text-align:center;width:100%;max-width:340px;padding:34px 30px}.anmelde-marke{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:14px;font-size:26px;font-weight:600}.anmelde-satz{color:var(--text-secondary);margin:0 0 12px;font-size:13px;line-height:1.6}.anmelde-vorbehalt{color:var(--text-tertiary,var(--text-secondary));opacity:.72;margin:0 0 22px;font-size:11px;line-height:1.5}.anmelde-knopf{width:100%;padding:9px 14px;font-size:13px}.anmelde-knopf-leise{width:100%;color:var(--text-secondary);background:0 0;margin-top:7px;padding:8px 14px;font-size:12.5px}.anmelde-knopf-leise:hover{color:var(--text-primary)}.anmelde-fussnote{color:var(--muted);text-align:center;margin:8px 0 0;font-size:11px;line-height:1.4}.betrieb-liste{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.betrieb-eintrag{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-klein);width:100%;color:var(--text-primary);text-align:left;padding:10px 14px;font-size:13px;transition:border-color .15s}.betrieb-eintrag:hover{border-color:var(--border-stark)}.schnellmeldung{background:var(--surface-1);border:1px solid var(--border-stark);color:var(--text-secondary);z-index:20;border-radius:8px;padding:9px 15px;font-size:12.5px;position:absolute;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 26px #00000059}.bereichsleiste{border-right:1px solid var(--border);background:var(--surface-1);flex-direction:column;gap:4px;padding:8px 6px;display:flex}.bereich-knopf{border-radius:var(--radius-klein);width:100%;color:var(--muted);letter-spacing:.01em;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:9px 1px 7px;font-size:10.5px;transition:background .12s,color .12s;display:flex}.bereich-knopf:hover{background:var(--surface-2);color:var(--text-secondary)}.bereich-knopf[aria-current=page]{background:var(--surface-2);color:var(--text-primary);box-shadow:inset 2px 0 0 var(--netz)}.bereich-knopf:focus-visible{outline:2px solid var(--netz);outline-offset:-2px}.kopf-titel{align-items:baseline;gap:10px;min-width:0;display:flex}.kopf-titel .pfad{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bereich-halter{min-width:0;min-height:0;display:grid;overflow:hidden}.bereich-halter[hidden]{display:none}.bereich-inhalt{grid-template-columns:208px 1fr 322px;min-height:0;display:grid;overflow:hidden}.bereich-inhalt.haus{grid-template-columns:268px 1fr}.bereich-inhalt.messen{grid-template-columns:216px 1fr 340px}.bereich-inhalt.messen.start{grid-template-columns:1fr;overflow-y:auto}.bereich-inhalt.raum{grid-template-columns:190px 1fr 300px}.raum-raeume{border-right:1px solid var(--border);background:var(--surface-1);flex-direction:column;gap:4px;padding:14px 12px;display:flex;overflow-y:auto}.raum-raeume h3{color:var(--text-secondary);margin:0 0 8px;font-size:12px}.raum-raum{align-items:stretch;gap:2px;display:flex}.raum-raum>button:first-child{border:1px solid var(--border);border-radius:var(--radius-klein);color:var(--text-secondary);text-align:left;background:0 0;flex:1;justify-content:space-between;align-items:baseline;padding:6px 10px;font-size:12.5px;display:flex}.raum-raum>button:first-child:hover{background:var(--surface-2);color:var(--text-primary)}.raum-raum>button:first-child[aria-pressed=true]{background:var(--surface-2);color:var(--text-primary);box-shadow:inset 2px 0 0 var(--netz)}.raum-raum .entfernen{color:var(--muted);background:0 0;border:0;padding:0 6px;font-size:13px}.raum-raum .entfernen:hover{color:var(--kritisch)}.raum-neu{border:1px dashed var(--border-stark);border-radius:var(--radius-klein);color:var(--text-secondary);background:0 0;margin-top:6px;padding:6px 10px;font-size:12.5px}.raum-raeume h3:not(:first-child){margin-top:14px}.raum-feld{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.raum-feld input,.raum-feld select{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-2);width:80px;color:var(--text-primary);padding:4px 6px;font-size:12px}.raum-neu:hover{background:var(--surface-2);color:var(--text-primary)}.schrank-schleier{z-index:1000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.schrank-assistent{border:1px solid var(--border-stark);border-radius:var(--radius);background:var(--surface-1);width:min(560px,100vw - 48px);max-height:calc(100vh - 96px);padding:20px 22px;overflow-y:auto;box-shadow:0 18px 48px #00000073}.schrank-kopf{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.schrank-kopf h2{margin:0;font-size:16px}.schrank-kopf button{color:var(--muted);background:0 0;border:0;font-size:16px;line-height:1}.schrank-kopf button:hover{color:var(--text-primary)}.schrank-schritt{margin:14px 0}.schrank-schritt h3{margin:0 0 6px;font-size:13.5px}.schrank-erklaerung{color:var(--muted);margin:0 0 12px;font-size:12.5px;line-height:1.55}.schrank-zusammenfassung{border:1px solid var(--border);border-radius:var(--radius-klein);color:var(--text-secondary);margin:12px 0 0;padding:10px 12px;font-size:12px}.schrank-zusammenfassung ul{margin:6px 0 0;padding-left:18px}.schrank-fuss{justify-content:space-between;gap:8px;margin-top:16px;display:flex}.schrank-fuss>div{gap:8px;display:flex}.schrank-fuss button{border:1px solid var(--border-stark);border-radius:var(--radius-klein);background:var(--surface-2);color:var(--text-primary);padding:7px 14px;font-size:12.5px}.schrank-fuss button:hover{background:var(--plane)}.schrank-fuss .weiter{border-color:var(--netz);box-shadow:inset 0 0 0 1px var(--netz)}.raum-buehne{min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.raum-overlay{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);pointer-events:none;max-width:270px;padding:12px 14px;position:absolute;top:14px;left:14px}.raum-overlay h2{margin:0 0 4px;font-size:13px}.raum-overlay p{color:var(--muted);margin:0;font-size:11.5px}.raum-overlay button{pointer-events:auto;border:1px solid var(--border-stark);border-radius:var(--radius-klein);background:var(--surface-2);color:var(--text-primary);margin-top:10px;padding:5px 10px;font-size:12px}.raum-overlay button:hover{background:var(--plane)}.raum-leiste{border-left:1px solid var(--border);background:var(--surface-1);flex-direction:column;gap:16px;padding:14px 14px 22px;display:flex;overflow-y:auto}.raum-leiste h3{color:var(--text-secondary);margin:0 0 8px;font-size:12px}.raum-wahl{flex-direction:column;gap:4px;display:flex}.raum-wahl button{border:1px solid var(--border);border-radius:var(--radius-klein);color:var(--text-secondary);text-align:left;background:0 0;justify-content:space-between;align-items:baseline;padding:6px 10px;font-size:12.5px;transition:background .12s,color .12s;display:flex}.raum-wahl button:hover{background:var(--surface-2);color:var(--text-primary)}.raum-wahl button[aria-pressed=true]{background:var(--surface-2);color:var(--text-primary);box-shadow:inset 2px 0 0 var(--netz)}.raum-hinweis{color:var(--muted);font-size:10.5px}.raum-leer{color:var(--muted);margin:8px 0 0;font-size:11.5px}.raum-liste{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.raum-liste li{border:1px solid var(--border);border-radius:var(--radius-klein);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;font-size:11.5px;display:flex}.raum-liste button{color:var(--muted);background:0 0;border:0;padding:0 6px;font-size:14px;line-height:1}.raum-liste button:hover{color:var(--kritisch)}.raum-nachweis{border:1px solid var(--border);border-left:3px solid var(--gut);border-radius:var(--radius-klein);color:var(--text-secondary);margin:8px 0 0;padding:7px 9px;font-size:11.5px}.raum-nachweis.kritisch{border-left-color:var(--kritisch)}.raum-nachweis .wert{color:var(--text-primary);font-weight:600}.raum-nachweis.kritisch .wert{color:var(--kritisch)}.raum-nachweis details{margin-top:4px}.raum-nachweis summary{cursor:pointer;color:var(--muted);font-size:10.5px}.raum-nachweis pre{white-space:pre-wrap;color:var(--muted);margin:4px 0 0;font-size:10px}.raum-popup{border:1px solid var(--border-stark);border-radius:var(--radius);background:var(--surface-1);min-width:200px;max-width:250px;color:var(--text-secondary);padding:10px 12px;font-size:11.5px;box-shadow:0 10px 28px #00000059}.raum-popup header{color:var(--text-primary);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.raum-popup header button{color:var(--muted);background:0 0;border:0;padding:0 2px;font-size:14px;line-height:1}.raum-popup header button:hover{color:var(--text-primary)}.raum-popup p{margin:0 0 4px}.raum-popup .hinweis{color:var(--muted);font-size:10.5px}.raum-popup .loeschen{border:1px solid var(--kritisch);border-radius:var(--radius-klein);width:100%;color:var(--kritisch);background:0 0;margin-top:8px;padding:5px 8px;font-size:12px}.raum-popup .loeschen:hover{background:var(--kritisch);color:#fff}.raum-etikett{border:1px solid var(--border-stark);background:var(--surface-1);color:var(--text-secondary);white-space:nowrap;pointer-events:none;border-radius:999px;padding:2px 8px;font-size:11px}.raum-etikett.gut{border-color:var(--gut);color:var(--gut)}.raum-etikett.warnung{border-color:var(--warnung);color:var(--warnung)}.szenarienleiste{border-right:1px solid var(--border);background:var(--surface-1);padding:14px 14px 22px;overflow-y:auto}.wahl{margin-bottom:20px}.wahl h3{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 3px;font-size:11px;font-weight:600}.wahl-hinweis{color:var(--text-secondary);margin:0 0 8px;font-size:11.5px;line-height:1.45}.wahl-knoepfe{flex-direction:column;gap:3px;display:flex}.wahl-knopf{border-radius:var(--radius-klein);background:var(--surface-2);color:var(--text-secondary);text-align:left;border:1px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:12.5px;transition:background .11s,color .11s,border-color .11s;display:flex}.wahl-knopf:hover{border-color:var(--border-stark);color:var(--text-primary)}.wahl-knopf[aria-checked=true]{border-color:var(--netz);background:color-mix(in srgb, var(--netz) 14%, var(--surface-2));color:var(--text-primary);font-weight:500}.wahl-knopf em{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex:none;font-size:9.5px;font-style:normal}.wahl-auswahl{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-2);width:100%;padding:6px 8px;font-size:12.5px}.anlagenwert{border-bottom:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;align-items:baseline;gap:10px;padding:4px 0;font-size:12px;display:flex}.anlagenwert b{color:var(--text-primary);text-align:right;font-weight:500}.leiste-fuss{border-top:1px solid var(--border);color:var(--muted);margin:22px 0 0;padding-top:12px;font-size:11px;line-height:1.5}.leiste-fuss code,.haus-fuss code{color:var(--text-secondary);font-size:10.5px}.haus-buehne{padding:16px 20px 40px;overflow-y:auto}.karte{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);margin-bottom:16px;padding:15px 17px 17px}.karte h2{letter-spacing:-.005em;margin:0 0 12px;font-size:13px;font-weight:600}.karte-satz{max-width:78ch;color:var(--text-secondary);margin:12px 0 0;font-size:12.5px;line-height:1.6}.vorbehalt{border:1px solid var(--warnung);border-radius:var(--radius-klein);background:color-mix(in srgb, var(--warnung) 9%, var(--surface-1));color:var(--text-secondary);border-left-width:3px;margin-bottom:16px;padding:11px 14px;font-size:12.5px;line-height:1.55}.vorbehalt strong{color:var(--text-primary)}.kennzahl-gitter{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:8px;display:grid}.kennzahl-kachel{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-2);text-align:left;flex-direction:column;gap:3px;padding:10px 12px 11px;transition:border-color .11s;display:flex;position:relative}.kennzahl-kachel:hover{border-color:var(--border-stark)}.kennzahl-kachel.offen{border-color:var(--netz)}.k-name{color:var(--muted);font-size:11px;line-height:1.35}.k-wert{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text-primary);font-size:19px;font-weight:600}.k-wert em{color:var(--muted);margin-left:4px;font-size:11.5px;font-style:normal;font-weight:400}.k-diff{font-variant-numeric:tabular-nums;color:var(--muted);font-size:11px}.k-diff small{color:var(--muted);font-size:10px}.k-vorbehalt{background:var(--warnung);color:#1a1a19;text-align:center;border-radius:50%;width:14px;height:14px;font-size:10px;font-weight:700;line-height:14px;position:absolute;top:7px;right:9px}.diagramm.klein{margin-top:8px}.diagramm figcaption{color:var(--text-secondary);align-items:baseline;gap:8px;margin-bottom:6px;font-size:11.5px;font-weight:500;display:flex}.diagramm-datum{color:var(--muted);font-size:10.5px;font-weight:400}.achse{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:9.5px}.achse-titel{fill:var(--muted);letter-spacing:.04em;font-size:9px}.balken-name{fill:var(--text-secondary);font-size:10.5px}.balken-wert{fill:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:10.5px}.balken-wert.best{fill:var(--text-primary);font-weight:600}.legende span{align-items:center;gap:5px;display:inline-flex}.tupfer{border-radius:2px;width:10px;height:10px;display:inline-block}.tupfer.strich{border-top:2px solid;border-radius:0;height:0}.tage{grid-template-columns:repeat(auto-fit,minmax(390px,1fr));gap:18px 24px;display:grid}.rechenweg-kopf{justify-content:space-between;align-items:center;gap:12px;display:flex}.rechenweg-kopf h2{margin:0}.rechenweg h3{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px;font-size:11px;font-weight:600}.rechenweg-wert{font-variant-numeric:tabular-nums;margin:10px 0 4px;font-size:22px;font-weight:600}.rechenweg-wert em{color:var(--muted);font-size:13px;font-style:normal;font-weight:400}.rechenweg-wert small{color:var(--muted);margin-left:10px;font-size:12px;font-weight:400}.rechenweg-formel{color:var(--text-secondary);margin:0 0 8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.rechenweg-text{max-width:82ch;color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.6}.rechenweg-tabelle{border-collapse:collapse;width:100%;margin-top:10px;font-size:11.5px}.rechenweg-tabelle th{border-bottom:1px solid var(--border);color:var(--muted);text-align:left;padding:5px 8px 5px 0;font-weight:500}.rechenweg-tabelle td{border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:top;padding:6px 8px 6px 0}.rechenweg-tabelle code{color:var(--text-primary);font-size:11px}.quellenliste{color:var(--text-secondary);margin:0;padding-left:18px;font-size:11.5px;line-height:1.7}.rechenweg-vorbehalt{color:var(--warnung);margin:12px 0 0;font-size:11.5px;line-height:1.55}.haus-fuss{color:var(--muted);margin-top:20px;font-size:11px;line-height:1.6}@media (width<=980px){.bereich-inhalt.haus{grid-template-rows:auto 1fr;grid-template-columns:1fr}.szenarienleiste{border-right:0;border-bottom:1px solid var(--border);max-height:46vh}}.kopf{flex-wrap:wrap}.kopf-rechts{flex-wrap:wrap;justify-content:flex-end;min-width:0}@media (width<=1180px){.konto-nutzer{display:none}}@media (width<=920px){.konto-betrieb,.konto-rollen{display:none}}.modultabelle{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12.5px}.modultabelle th{border-bottom:1px solid var(--border);color:var(--muted);text-align:left;padding:6px 12px 6px 0;font-weight:500}.modultabelle th:not(:first-child),.modultabelle td:not(:first-child){text-align:right}.modultabelle td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:7px 12px 7px 0}.modultabelle tr.best td{color:var(--text-primary);font-weight:500}.modultabelle tr.best td:first-child:before{content:"▸ ";color:var(--gut)}.fluss-strich{animation:1.1s linear infinite fliessen}@keyframes fliessen{to{stroke-dashoffset:-22px}}@media (prefers-reduced-motion:reduce){.fluss-strich{animation:none}}.fluss-titel{fill:var(--text-primary);font-size:11px;font-weight:500}.fluss-wert{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px}.fluss-grenze{fill:var(--kritisch);font-size:10.5px;font-weight:500}.zeitzeile{align-items:center;gap:12px;margin-top:6px;display:flex}.zeitzeile input[type=range]{accent-color:var(--netz);flex:1}.uhrzeit{font-variant-numeric:tabular-nums;min-width:46px;color:var(--text-secondary);font-size:12px}.fluss-wahl{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.fluss-wahl .wahl-knopf{width:auto;padding:5px 11px;font-size:12px}.balken-differenz{fill:var(--gut);font-size:9.5px}.karte-satz.einschraenkung{border-left:2px solid var(--warnung);color:var(--muted);margin-top:10px;padding-left:11px}.karte-satz.einschraenkung strong{color:var(--text-secondary)}.p-gruppe{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-2);margin-bottom:6px}.p-gruppe.offen{border-color:var(--border-stark)}.p-gruppe-kopf{width:100%;color:var(--text-primary);letter-spacing:.01em;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.p-pfeil{color:var(--muted);font-size:10px}.p-gruppe-inhalt{padding:2px 10px 12px}.p-feld{margin-bottom:11px}.p-kopf{color:var(--text-secondary);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;font-size:11.5px;display:flex}.p-kopf b{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.p-kopf em{color:var(--muted);font-size:10px;font-style:normal}.p-hinweis{color:var(--muted);margin:5px 0 0;font-size:10.5px;line-height:1.5}.p-hinweis.warnend{color:var(--warnung)}.p-eingabe{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-1);width:100%;color:var(--text-primary);font-variant-numeric:tabular-nums;padding:5px 8px;font-size:12.5px}.p-schalter{color:var(--text-secondary);align-items:center;gap:7px;font-size:12px;display:flex}.p-schalter input{accent-color:var(--netz)}.p-feld input[type=range]{width:100%;accent-color:var(--netz)}.standort-knoepfe{flex-direction:column;gap:3px;margin:8px 0 10px;display:flex}.tagesprofil{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-1);cursor:crosshair;touch-action:none;width:100%;height:auto;display:block}.profil-achse{color:var(--muted);justify-content:space-between;margin:2px 0 7px;font-size:9.5px;display:flex}.diagramm{margin:0 0 4px}.diagramm figcaption{color:var(--text-secondary);margin-bottom:6px;font-size:11.5px;font-weight:500}.diagramm figcaption em{color:var(--muted);margin-left:6px;font-style:normal}.diagramm svg{width:100%;height:auto;display:block}.diagramm text.achse{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:9.5px}.legende{color:var(--text-secondary);flex-wrap:wrap;gap:4px 14px;margin-top:7px;font-size:10.5px;display:flex}.legende i{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.nebeneinander{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-top:14px;display:grid}.hinweiskasten{border:1px dashed var(--border-stark);border-radius:var(--radius-klein);align-self:center;margin-top:0;padding:12px 14px}.haus-buehne.rechnet{opacity:.82;transition:opacity 90ms}.namensnennung{color:var(--muted);margin:8px 0 0;padding-left:16px;font-size:10.5px;line-height:1.6}.k-diff.gut{color:var(--gut)}.k-diff.schlecht{color:var(--kritisch)}.tagwahl{flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:12px;display:flex}.tagwahl .fluss-wahl{flex-wrap:wrap}.tagregler{color:var(--text-secondary);flex:220px;align-items:center;gap:10px;font-size:11.5px;display:flex}.tagregler span{font-variant-numeric:tabular-nums;flex:none;min-width:76px}.tagregler input{accent-color:var(--pv);flex:1}.tagbilanz{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:11.5px}.ablage-stand{min-width:0;color:var(--text-secondary);align-items:baseline;gap:6px;font-size:12.5px;display:flex}.ablage-name{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.ablage-offen{color:var(--warnung);white-space:nowrap}.ablage-meldung{text-overflow:ellipsis;white-space:nowrap;max-width:34ch;color:var(--text-secondary);border-bottom:1px dotted var(--border-stark);cursor:pointer;font-size:12.5px;overflow:hidden}.ablage-meldung.fehler{color:var(--kritisch);border-bottom-color:var(--kritisch)}.dialog-schleier{z-index:40;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface-1);border:1px solid var(--border-stark);border-radius:var(--radius);flex-direction:column;gap:14px;width:min(620px,100%);max-height:min(72vh,640px);padding:18px 20px 20px;display:flex;box-shadow:0 18px 48px #00000073}.dialog-kopf{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog-kopf h2{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.dialog-speicherzeile{align-items:center;gap:10px;display:flex}.dialog-speicherzeile label{color:var(--text-secondary);font-size:12.5px}.dialog-speicherzeile input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-klein);flex:1;min-width:0;padding:7px 10px}.dialog-speicherzeile input:focus{border-color:var(--border-stark);outline:none}.dialog-reiter{gap:8px;display:flex}.dialog-liste{flex-direction:column;gap:6px;min-height:120px;display:flex;overflow-y:auto}.dialog-leer{color:var(--muted);text-align:center;margin:0;padding:24px 4px;font-size:13px}.dialog-zeile{align-items:center;gap:8px;display:flex}.dialog-zeile-haupt{text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-klein);flex-direction:column;flex:1;gap:2px;min-width:0;padding:8px 10px;transition:border-color .15s;display:flex}.dialog-zeile-haupt:hover:not(:disabled){border-color:var(--border-stark)}.dialog-zeile-haupt:disabled{cursor:default;opacity:.6}.dialog-zeile-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.dialog-zeile-rand{color:var(--muted);font-size:11.5px}.knopf:disabled{cursor:default;opacity:.45}.ablage{align-items:center;gap:8px;display:flex;position:relative}.knopf-symbol{justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.knopf-symbol[aria-expanded=true]{border-color:var(--text-primary);color:var(--text-primary)}.menue{z-index:30;background:var(--surface-1);border:1px solid var(--border-stark);border-radius:var(--radius);flex-direction:column;min-width:236px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #0000006b}.menue-kopf{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:6px 9px 8px;font-size:12px;overflow:hidden}.menue-eintrag{text-align:left;color:var(--text-secondary);border-radius:var(--radius-klein);background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:14px;padding:7px 9px;font-size:13px;display:flex}.menue-eintrag:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary)}.menue-eintrag:focus-visible{outline:1px solid var(--text-primary);outline-offset:-1px}.menue-eintrag:disabled{cursor:default;opacity:.4}.menue-eintrag.abgesetzt{border-top:1px solid var(--border);border-radius:0 0 var(--radius-klein) var(--radius-klein);margin-top:5px;padding-top:10px}.menue-hinweis{color:var(--muted);white-space:nowrap;font-size:11px}.bereichsleiste-luecke{flex:1;min-height:12px}.konto-hinweis{align-items:center;gap:8px;display:flex}.konto-warnung{color:var(--kritisch);border:1px solid var(--kritisch);white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:11px}.update-hinweis{color:var(--netz);border:1px solid var(--netz);background:color-mix(in srgb, var(--netz) 10%, transparent);white-space:nowrap;cursor:pointer;font-size:11px;font:inherit;border-radius:999px;padding:2px 9px;font-size:11px}.update-hinweis:hover{background:color-mix(in srgb, var(--netz) 20%, transparent)}.bereich-inhalt.einstellungen{grid-template-columns:1fr;overflow-y:auto}.einst-spalte{flex-direction:column;gap:16px;width:min(560px,100%);margin:0 auto;padding:26px 20px 40px;display:flex}.einst-karte{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:12px;padding:18px 20px 20px;display:flex}.einst-karte h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px;font-weight:600}.einst-satz{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.55}.einst-warnung{color:var(--text-primary);background:var(--ht-flaeche);border:1px solid var(--warnung);border-radius:var(--radius-klein);margin:0;padding:10px 12px;font-size:13px;line-height:1.55}.einst-wahl{gap:8px;display:flex}.einst-liste{grid-template-columns:100px 1fr;gap:7px 16px;width:100%;margin:0;font-size:13px;display:grid}.einst-liste dt{color:var(--muted)}.einst-liste dd{color:var(--text-primary);overflow-wrap:anywhere;margin:0}.messen-hinweis{color:var(--muted);margin:0;font-size:11.5px;line-height:1.5}.messen-objektmaske{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);flex-direction:column;gap:14px;width:min(520px,100%);margin:48px auto;padding:24px;display:flex}.messen-objektmaske h2{margin:0;font-size:16px;font-weight:600}.messen-objektmaske textarea{border:1px solid var(--border-stark);border-radius:var(--radius-klein);background:var(--surface-2);color:var(--text-primary);font:inherit;resize:vertical;padding:7px 9px;font-size:12.5px}.messen-objektmaske textarea:focus{outline:2px solid var(--netz);outline-offset:-2px}.messen-maskenknoepfe{gap:8px;margin-top:4px;display:flex}.messen-spalte{border-right:1px solid var(--border);background:var(--surface-1);flex-direction:column;gap:8px;min-height:0;padding:10px;display:flex}.messen-spalte-liste{flex-direction:column;gap:3px;min-height:0;display:flex;overflow-y:auto}.messen-spalte-zeile{grid-template-columns:1fr auto;align-items:center;gap:2px;display:grid}.messen-spalte-alle,.messen-spalte-eintrag{border-radius:var(--radius-klein);width:100%;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;gap:2px;padding:7px 9px;font-size:12.5px;display:flex}.messen-spalte-alle{border-color:var(--border);font-size:12px}.messen-spalte-alle:hover,.messen-spalte-eintrag:hover{background:var(--surface-2)}.messen-spalte-alle.aktiv,.messen-spalte-eintrag.aktiv{background:var(--surface-2);color:var(--text-primary);box-shadow:inset 2px 0 0 var(--netz)}.messen-spalte-zurueck{color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:5px 4px;font-size:11.5px;display:flex}.messen-spalte-zurueck:hover{color:var(--text-primary)}.messen-spalte-alle,.messen-spalte-name{font-weight:500}.messen-spalte-rand{color:var(--muted);font-size:10.5px}.messen-spalte-weg{padding:2px 7px;font-size:13px;line-height:1}.messen-spalte-fuss{border-top:1px solid var(--border);margin-top:auto;padding-top:8px}.messen-spalte-gruppe{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 2px;padding:0 4px;font-size:10px;font-weight:600}.messen-spalte-gruppe:first-child{margin-top:2px}.messen-spalte-plus .messen-kachel-plus{gap:2px;min-height:0;padding:7px;font-size:11px}.messen-spalte-plus .messen-kachel-plus svg{width:16px;height:16px}.messen-buehne{background:var(--plane);flex-direction:column;min-height:0;display:flex;overflow:auto}.messen-uebersicht{flex-direction:column;gap:12px;padding:24px;display:flex}.messen-uebersicht h2{margin:0;font-size:15px;font-weight:600}.messen-uebersicht h3{letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);margin:12px 0 0;font-size:12px;font-weight:600}.messen-kachelraster{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:12px;margin-top:4px;display:grid}.messen-kachel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);min-height:148px;color:var(--text-secondary);font:inherit;text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:12px;display:flex}.messen-kachel:hover,.messen-kachel.aktiv{border-color:var(--border-stark);background:var(--surface-2)}.messen-kachel-plus{color:var(--muted);border-style:dashed}.messen-kachel-plus:hover{border-color:var(--netz);color:var(--text-primary)}.messen-kachel-plus.tippt{border-style:solid;border-color:var(--netz);cursor:default}.messen-kachelhalter{display:grid;position:relative}.messen-kachel-zuweisen{width:28px;height:28px;color:var(--warnung);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}.messen-kachel-zuweisen:hover{background:color-mix(in srgb, var(--warnung) 18%, transparent)}.messen-fristenhalter{padding:0 24px 24px}.messen-fristen{max-width:720px}.messen-fristliste{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.messen-frist{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-1);width:100%;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:2px;padding:7px 9px;font-size:12px;display:flex}.messen-frist:hover{border-color:var(--border-stark);background:var(--surface-2)}.messen-frist-termin{color:var(--text-primary);font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;font-weight:600;display:flex}.messen-frist[data-ueberfaellig=ja] .messen-frist-termin{color:var(--kritisch)}.messen-frist-marke{background:color-mix(in srgb, var(--kritisch) 16%, transparent);color:var(--kritisch);border-radius:999px;padding:1px 6px;font-size:10.5px;font-weight:600}.messen-frist-objekt{color:var(--text-primary);font-size:12.5px}.messen-frist-neben{color:var(--muted);font-size:11px}.dialog-warnung{color:var(--kritisch);font-weight:500}.messen-fristvorschlag{align-items:center;gap:8px;margin-top:6px;display:flex}.messen-fristvorschlag .knopf{padding:3px 9px;font-size:11.5px}.druckansicht{z-index:90;background:#141414d1;padding:56px 16px 32px;position:fixed;inset:0;overflow:auto}.druck-leiste{z-index:91;background:var(--surface-1);border-bottom:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;font-size:12px;display:flex;position:fixed;top:0;left:0;right:0}.druck-knoepfe{flex:none;gap:8px;display:flex}.druck-blatt{color:#111;background:#fff;width:min(210mm,100%);min-height:297mm;margin:0 auto;padding:14mm 16mm;font-size:12px;line-height:1.45;box-shadow:0 4px 24px #0006}.druck-kopf{border-bottom:2px solid #111;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:8px;display:flex}.druck-kopf h1{margin:0;font-size:20px}.druck-untertitel{color:#444;margin:2px 0 0}.druck-kopf-rechts{text-align:right;font-size:11.5px}.druck-kopf-rechts p{margin:0 0 2px}.druck-abschnitt{break-inside:avoid;margin-top:12px}.druck-abschnitt h3{text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #999;margin:0 0 4px;padding-bottom:2px;font-size:12.5px}.druck-angaben,.druck-befunde,.druck-messwerte{border-collapse:collapse;width:100%;font-size:11.5px}.druck-angaben th{text-align:left;white-space:nowrap;vertical-align:top;color:#444;padding:2px 8px 2px 0;font-weight:600}.druck-angaben td{vertical-align:top;padding:2px 14px 2px 0}.druck-mehrzeilig{white-space:pre-line}.druck-befunde td{border-bottom:1px solid #e2e2e2;padding:1.5px 8px 1.5px 0}.druck-befunde td:last-child{text-align:right;white-space:nowrap}.druck-messwerte th,.druck-messwerte td{text-align:left;border:1px solid #ccc;padding:2.5px 5px}.druck-messwerte th{background:#f0f0ee;font-weight:600}.druck-messwerte td.zahl{text-align:right;font-variant-numeric:tabular-nums}.druck-niO{font-weight:700}.druck-hinweis{color:#444;margin:4px 0 0;font-size:11px}.druck-kleingedruckt{color:#444;margin:6px 0 0;font-size:9.5px}.druck-vorbehalt{color:#111;font-weight:600}.druck-maengel{margin:4px 0 0;padding-left:18px}.druck-maengel li{margin-bottom:3px}.druck-unterschrift{gap:40px;margin-top:36px;display:flex}.druck-unterschrift>div{flex:1}.druck-linie{border-bottom:1px solid #111;height:24px}.druck-unterschrift p{color:#444;margin:3px 0 0;font-size:11px}.druck-fuss{color:#666;border-top:1px solid #999;margin-top:16px;padding-top:6px;font-size:9px}@media print{#root{display:none}html,body{background:#fff;height:auto;overflow:visible}.druckansicht{background:0 0;padding:0;position:static;overflow:visible}.druck-leiste{display:none}.druck-blatt{width:auto;min-height:0;box-shadow:none;margin:0;padding:0}.druck-abschnitt{page-break-inside:avoid}.druck-messwerte{page-break-inside:auto}.druck-messwerte tr{page-break-inside:avoid}}@page{margin:14mm}.messen-verlauf-liste{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.messen-verlauf-liste li{color:var(--text-secondary);align-items:baseline;gap:8px;font-size:11.5px;display:flex}.messen-verlauf-datum{min-width:72px;color:var(--text-primary);font-variant-numeric:tabular-nums;flex:none}.messen-verlauf-werte{font-variant-numeric:tabular-nums}.messen-neuname{border:1px solid var(--border-stark);border-radius:var(--radius-klein);background:var(--surface-2);width:100%;color:var(--text-primary);font:inherit;text-align:center;padding:7px 9px;font-size:12.5px}.messen-neuname:focus{outline:2px solid var(--netz);outline-offset:-2px}.messen-kachel-name{color:var(--text-primary);font-size:13px;font-weight:500}.messen-kachel-fuss{color:var(--muted);font-size:10.5px}.messen-kachel-objekt svg{color:var(--text-secondary)}.messen-kachel-objekt:hover svg{color:var(--netz)}.messen-kachel-offen{border:1px dashed var(--axis);border-radius:var(--radius-klein);width:110px;height:62px;color:var(--muted);justify-content:center;align-items:center;font-size:10.5px;display:flex}.messen-vorschau-svg{width:110px;height:62px}.messen-vorschau-svg rect{fill:none;stroke:var(--text-secondary);stroke-width:1.4px}.messen-vorschau-svg circle{fill:var(--netz)}.messen-vorschau-svg line.schiene{stroke:var(--axis);stroke-width:1.2px}.messen-vorschau-svg rect.modul{fill:color-mix(in srgb, var(--netz) 45%, transparent);stroke:var(--netz);stroke-width:1px}.messen-flaeche{flex-direction:column;flex:1;min-height:0;display:flex}.messen-flaeche-kopf{border-bottom:1px solid var(--border);background:var(--surface-1);align-items:center;gap:12px;padding:8px 16px;display:flex}.messen-ansichtswerkzeuge{align-items:center;gap:6px;margin-left:auto;display:flex}.messen-ansichtswerkzeuge .knopf-symbol[aria-pressed=true]{border-color:var(--netz);color:var(--text-primary);background:color-mix(in srgb, var(--netz) 18%, transparent)}.messen-mass{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.messen-leinwand{flex:1;min-height:0;padding:16px;overflow:hidden}.messen-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.messen-svg.werkzeug-grundriss{cursor:crosshair}.messen-svg.werkzeug-steckdose{cursor:copy}.messen-svg.werkzeug-navigieren{cursor:grab}.messen-svg.werkzeug-info{cursor:help}.messen-svg.schwenkt{cursor:grabbing}.messen-raster line,.messen-wand,.messen-masskette line,.messen-vorschau rect{vector-effect:non-scaling-stroke}.messen-raster line{stroke:var(--grid)}.messen-wand{fill:color-mix(in srgb, var(--surface-2) 60%, transparent);stroke:var(--text-secondary);stroke-width:3px}.messen-masskette line{stroke:var(--axis);stroke-width:1px}.messen-masskette text{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.messen-vorschau rect{fill:color-mix(in srgb, var(--netz) 14%, transparent);stroke:var(--netz);stroke-width:2px;stroke-dasharray:5 4}.messen-vorschau text{fill:var(--text-primary);font-variant-numeric:tabular-nums;font-size:12px}.messen-vorschau[data-zweck=mangel] rect{fill:color-mix(in srgb, var(--kritisch) 14%, transparent);stroke:var(--kritisch)}.messen-mangelflaeche{cursor:move}.messen-mangelrahmen{fill:url(#mangelschraffur);stroke:var(--kritisch);stroke-width:2px;vector-effect:non-scaling-stroke}.messen-mangelgrund{fill:color-mix(in srgb, var(--kritisch) 9%, transparent)}.messen-mangelstrich{stroke:color-mix(in srgb, var(--kritisch) 50%, transparent);stroke-width:2px}.messen-mangelflaeche.ausgewaehlt .messen-mangelrahmen{stroke-width:3.5px}.messen-mangelgriff{fill:var(--surface-1);stroke:var(--kritisch);stroke-width:1.6px;vector-effect:non-scaling-stroke}.messen-raumgriff-fang{fill:#0000}.messen-raumgriff-feld{fill:var(--surface-1);stroke:var(--netz);stroke-width:1.6px;vector-effect:non-scaling-stroke}.messen-raumgriff[data-ecke=lo],.messen-raumgriff[data-ecke=ru]{cursor:nwse-resize}.messen-raumgriff[data-ecke=ro],.messen-raumgriff[data-ecke=lu]{cursor:nesw-resize}.messen-mangelgriff[data-ecke=lo],.messen-mangelgriff[data-ecke=ru]{cursor:nwse-resize}.messen-mangelgriff[data-ecke=ro],.messen-mangelgriff[data-ecke=lu]{cursor:nesw-resize}.messen-mangelzeichen{fill:color-mix(in srgb, var(--kritisch) 22%, var(--surface-1));stroke:var(--kritisch);stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.messen-bm .messen-bm-mangel circle{fill:var(--kritisch);stroke:var(--surface-1);stroke-width:1.2px}.messen-bm .messen-bm-mangel line{stroke:var(--surface-1);stroke-width:1.7px}.messen-mangelvorlagen{flex-direction:column;gap:1px;display:flex}.messen-werkzeuge-gruppe{margin-top:14px!important}.messen-werte[data-art=mangel] .messen-werte-kopf h3{margin:0;font-size:12.5px;font-weight:600}.messen-bm{cursor:grab}.messen-bm-griff{fill:#0000}.messen-bm path,.messen-bm line{stroke:var(--text-primary);stroke-width:1.8px;stroke-linecap:round;fill:none}.messen-bm.offen path:first-of-type{fill:var(--plane)}.messen-bm.gemessen path:first-of-type{fill:color-mix(in srgb, var(--gut) 34%, var(--plane))}.messen-bm-haken{stroke:var(--gut);stroke-width:2px}.messen-bm.ausgewaehlt .messen-bm-griff{fill:color-mix(in srgb, var(--netz) 22%, transparent);stroke:var(--netz);stroke-width:1.5px}.messen-seite{border-left:1px solid var(--border);background:var(--surface-1);flex-direction:column;gap:14px;min-height:0;padding:12px;display:flex;overflow-y:auto}.messen-objektkarte{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-2);flex-direction:column;gap:4px;padding:11px 12px;display:flex}.messen-objektkarte h3{margin:0;font-size:13px;font-weight:600}.messen-objektkarte p{color:var(--text-secondary);margin:0;font-size:11.5px}.messen-anschrift{white-space:pre-line}.messen-pruefstand{margin-top:4px!important;font-size:11px!important}.messen-pruefstand[data-geprueft=ja]{color:var(--gut)!important}.messen-pruefstand[data-geprueft=nein]{color:var(--muted)!important}.messen-objektkarte .knopf{align-self:flex-start;margin-top:6px}.messen-werkzeuge h3,.messen-werte h3{margin:0 0 8px;font-size:12.5px;font-weight:600}.messen-werkzeugliste{flex-direction:column;gap:6px;margin:8px 0;display:flex}.messen-werkzeug{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-2);color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:1px 10px;padding:9px 11px;display:grid}.messen-werkzeug svg{grid-row:span 2;align-self:center}.messen-werkzeug:hover:not(:disabled){border-color:var(--border-stark)}.messen-werkzeug[aria-pressed=true]{border-color:var(--netz);color:var(--text-primary);background:color-mix(in srgb, var(--netz) 15%, var(--surface-2))}.messen-werkzeug:disabled{opacity:.45;cursor:default}.messen-werkzeug-name{font-size:12.5px;font-weight:500}.messen-werkzeug-hinweis{color:var(--muted);font-size:10.5px}.messen-werte{flex-direction:column;gap:12px;display:flex}.messen-werte-kopf{flex-direction:column;gap:8px;display:flex}.messen-block{border:1px solid var(--border);border-radius:var(--radius-klein);flex-direction:column;gap:8px;margin:0;padding:10px 12px 12px;display:flex}.messen-block legend{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:0 5px;font-size:11px;font-weight:600}.messen-block input[type=date],.messen-block textarea{border:1px solid var(--border-stark);border-radius:var(--radius-klein);background:var(--surface-2);color:var(--text-primary);font:inherit;padding:7px 9px;font-size:12.5px}.messen-block textarea{resize:vertical}.messen-block input:focus,.messen-block textarea:focus{outline:2px solid var(--netz);outline-offset:-2px}.messen-block input::placeholder{color:var(--muted);font-style:italic}.messen-bogen{border-top:1px solid var(--border);margin-top:26px;padding-top:20px}.messen-bogen h3{margin:0 0 4px}.messen-bogen-felder{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 16px;max-width:720px;margin-top:12px;display:grid}.messen-bogen-felder input[type=date],.messen-bogen-felder input[type=datetime-local]{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text-primary);font:inherit;border-radius:6px;padding:6px 8px;font-size:12.5px}.messen-bogen-felder input:focus,.messen-bogen-felder select:focus{border-color:var(--netz);outline:none}.messen-bogen .feld-hinweis{max-width:720px;margin-top:8px}.messen-unterschrift{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-2);max-width:720px;margin-top:16px;padding:11px 13px}.messen-unterschrift .messen-haken{color:var(--text-primary);font-size:13px}.messen-unterschrift .feld-hinweis{margin-top:5px}.messen-unterschrift[data-unterschrieben=ja]{border-color:var(--gut);background:color-mix(in srgb, var(--gut) 10%, var(--surface-2))}.messen-toleranz{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.messen-toleranz .feld{margin-bottom:0}.messen-toleranz .feld-hinweis{margin-top:5px}.schnelleingabe{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-1);flex-direction:column;gap:10px;width:min(92vw,380px);max-height:min(76vh,560px);padding:14px;display:flex}.schnelleingabe-kopf{align-items:baseline;gap:8px;display:flex}.schnelleingabe-kopf strong{font-size:14px}.schnelleingabe-art{color:var(--text-secondary);font-size:11.5px}.schnelleingabe-felder{flex-direction:column;gap:6px;min-height:0;display:flex;overflow-y:auto}.schnelleingabe-feld{grid-template-columns:52px 1fr 34px;align-items:center;gap:8px;display:grid}.schnelleingabe-zeichen{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:13px}.schnelleingabe-einheit{color:var(--muted);font-size:12px}.schnelleingabe-feld input{border:1px solid var(--border-stark);border-radius:var(--radius-klein);background:var(--surface-2);min-width:0;color:var(--text-primary);font:inherit;font-variant-numeric:tabular-nums;padding:10px;font-size:16px}.schnelleingabe-feld input:focus{outline:2px solid var(--netz);outline-offset:-2px}.schnelleingabe-fuss{flex:none;align-items:center;gap:10px;display:flex}.schnelleingabe-fuss .messen-hinweis{flex:1;margin:0}.messen-fotos{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:12px;display:flex}.messen-fotos h3{margin:0;font-size:12.5px;font-weight:600}.messen-fotoknoepfe{flex-wrap:wrap;gap:6px;display:flex}.messen-fotoknoepfe .knopf{align-items:center;gap:6px;display:inline-flex}.messen-fotoraster{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;display:grid}.messen-fotokachel{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-2);cursor:pointer;padding:0;overflow:hidden}.messen-fotokachel img{object-fit:cover;width:100%;height:100%;display:block}.messen-fotokachel:focus-visible{outline:2px solid var(--netz);outline-offset:-2px}.foto-ansicht{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-1);flex-direction:column;gap:10px;max-width:min(92vw,1100px);max-height:90vh;padding:12px;display:flex}.foto-ansicht img{object-fit:contain;border-radius:var(--radius-klein);max-width:100%;min-height:0}.foto-ansicht-fuss{flex:none;align-items:center;gap:8px;display:flex}.foto-ansicht-zeit{color:var(--text-secondary);margin-right:auto;font-size:11.5px}.messen-tabellenrahmen{border:1px solid var(--border);border-radius:var(--radius-klein);margin-top:12px;overflow-x:auto}.messen-tabelle table{border-collapse:collapse;width:100%;font-size:12px}.messen-tabelle th,.messen-tabelle td{text-align:left;white-space:nowrap;border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);padding:7px 10px}.messen-tabelle thead th{background:var(--surface-2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:600;position:sticky;top:0}.messen-tabelle tbody tr:last-child th,.messen-tabelle tbody tr:last-child td{border-bottom:none}.messen-tabelle tbody th{color:var(--text-primary);font-weight:500}.messen-tabelle-art{color:var(--muted);font-size:10px;font-weight:400;display:block}.messen-tabelle td.zahl{font-variant-numeric:tabular-nums;text-align:right;color:var(--text-secondary)}.messen-urteil{font-weight:600}.messen-urteil[data-urteil=erfuellt]{color:var(--gut)}.messen-urteil[data-urteil=nicht_erfuellt]{color:var(--kritisch)}.messen-urteil[data-urteil=offen]{color:var(--muted);font-weight:400}.messen-tabelle-stand{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:11.5px}.dialog-frage{gap:10px;width:min(440px,100%)}.dialog-fragetext{color:var(--text-secondary);font-size:12.5px;line-height:1.5}.dialog-fragetext p{margin:0 0 8px}.dialog-fragetext p:last-child{margin-bottom:0}.dialog-fragetext strong{color:var(--text-primary)}.dialog-fragetext [data-warnung]{color:var(--warnung)}.dialog-frageknoepfe{justify-content:flex-end;gap:8px;display:flex}.messen-protokoll .messen-klappliste{flex-direction:column;gap:6px;max-width:720px;margin-top:12px;display:flex}.messen-klappblock{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-2)}.messen-klappblock>summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 10px;font-size:12px;list-style:none;display:flex}.messen-klappblock>summary::-webkit-details-marker{display:none}.messen-klapptitel:before{content:"›";width:12px;color:var(--muted);transition:transform .12s;display:inline-block}.messen-klappblock[open]>summary .messen-klapptitel:before{transform:rotate(90deg)}.messen-klappblock>summary:hover{color:var(--text-primary)}.messen-klappstand{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:10.5px}.messen-klappinhalt{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:2px 10px 10px;display:flex}.messen-klappinhalt .feld{margin-top:8px;margin-bottom:0}.messen-befund{border-bottom:1px solid color-mix(in srgb, var(--border) 45%, transparent);justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.messen-befund:last-of-type{border-bottom:none}.messen-befund-text{color:var(--text-secondary);font-size:11.5px;line-height:1.35}.messen-befund-knoepfe{flex:none;gap:2px;display:flex}.messen-befund-knoepfe button{border:1px solid var(--border);background:var(--surface-1);min-width:30px;color:var(--muted);font:inherit;cursor:pointer;border-radius:5px;padding:3px 5px;font-size:10px}.messen-befund-knoepfe button:hover{border-color:var(--border-stark)}.messen-befund-knoepfe button[aria-pressed=true]{color:var(--text-primary);border-color:var(--border-stark);background:var(--surface-1);font-weight:600}.messen-befund-knoepfe button[data-stufe=io][aria-pressed=true]{color:var(--gut);border-color:var(--gut);background:color-mix(in srgb, var(--gut) 14%, transparent)}.messen-befund-knoepfe button[data-stufe=nio][aria-pressed=true]{color:var(--kritisch);border-color:var(--kritisch);background:color-mix(in srgb, var(--kritisch) 14%, transparent)}.messen-haken{color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:7px;padding:3px 0;font-size:11.5px;line-height:1.35;display:flex}.messen-haken input{accent-color:var(--netz);cursor:pointer;margin:1px 0 0}.messen-hakengruppe{margin-top:6px}.messen-hakengruppe:first-child{margin-top:2px}.messen-hakengruppe-name{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 2px;font-size:10.5px;font-weight:600}.messen-geraet{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-1);margin-top:8px;padding:8px 9px}.messen-geraet .feld:first-child{margin-top:0}.messen-geraet input[type=date]{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text-primary);font:inherit;border-radius:6px;padding:6px 8px;font-size:12.5px}.kunden-halter{flex-direction:column;gap:16px;width:min(880px,100%);margin:0 auto;padding:24px 24px 48px;display:flex}.messen-reiter{gap:6px;display:flex}.messen-reiterhalter{padding:16px 24px 0}.messen-reiterknopf{border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:999px;padding:6px 14px;font-size:12.5px}.messen-reiterknopf:hover{border-color:var(--border-stark);color:var(--text-primary)}.messen-reiterknopf[aria-pressed=true]{border-color:var(--netz);background:color-mix(in srgb, var(--netz) 16%, transparent);color:var(--text-primary)}.kunden-stamm{flex-direction:column;gap:12px;display:flex}.kunden-stamm h2{margin:0;font-size:16px;font-weight:600}.kunden-stamm h3{letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);margin:12px 0 0;font-size:12px;font-weight:600}.kunden-suchzeile{align-items:center;gap:8px;display:flex}.kunden-suchfeld{flex:1;position:relative}.kunden-suchfeld input{border:1px solid var(--border-stark);border-radius:var(--radius-klein);background:var(--surface-2);width:100%;color:var(--text-primary);font:inherit;padding:8px 12px;font-size:13px}.kunden-suchfeld input:focus{outline:2px solid var(--netz);outline-offset:-2px}.kunden-vorschlaege{z-index:30;border:1px solid var(--border-stark);border-radius:var(--radius-klein);background:var(--surface-1);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 10px 28px #00000059}.kunden-vorschlag{border-radius:var(--radius-klein);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 9px;display:flex}.kunden-vorschlag:hover{background:var(--surface-2)}.kunden-vorschlag-name{font-size:13px}.kunden-vorschlag-rand{color:var(--muted);font-size:11.5px}.kunden-filter{gap:4px;display:flex}.kunden-raster{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.kunden-karte{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);min-height:92px;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.kunden-karte:hover{border-color:var(--border-stark);background:var(--surface-2)}.kunden-karte-name{color:var(--text-primary);font-size:13.5px;font-weight:600}.kunden-karte-rand{font-size:12px}.kunden-karte-fuss{color:var(--muted);margin-top:auto;font-size:11.5px}.kunden-detail{grid-template-columns:minmax(260px,320px) 1fr;align-items:start;gap:20px;display:grid}.kunden-detail-karte{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);flex-direction:column;gap:8px;padding:16px;display:flex}.kunden-detail-karte h2{margin:0}.kunden-anschrift{white-space:pre-line;color:var(--text-secondary);margin:0;font-size:12.5px}.kunden-kontakt,.kunden-notiz{color:var(--text-secondary);margin:0;font-size:12.5px}.kunden-rand{color:var(--muted);margin:0;font-size:11.5px}.kunden-detail-knoepfe{flex-direction:column;gap:6px;margin-top:6px;display:flex}.kunden-detail-listen{min-width:0}.kunden-trefferliste{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.kunden-treffer{border:1px solid var(--border);border-radius:var(--radius-klein);background:var(--surface-1);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 11px;display:flex}.kunden-treffer:hover:not(:disabled){border-color:var(--border-stark);background:var(--surface-2)}.kunden-treffer:disabled{opacity:.55;cursor:default}.kunden-treffer-name{align-items:center;gap:8px;font-size:13px;display:flex}.kunden-treffer-rand{color:var(--muted);font-size:11.5px}.kunden-marke{border:1px solid var(--netz);color:var(--text-primary);background:color-mix(in srgb, var(--netz) 16%, transparent);border-radius:999px;padding:1px 7px;font-size:10.5px}.kunden-maske{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);flex-direction:column;gap:2px;width:min(520px,100%);padding:18px;display:flex}.kunden-maske h3{text-transform:none;letter-spacing:0;color:var(--text-primary);margin:0 0 10px;font-size:14px;font-weight:600}.kunden-maske textarea{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text-primary);font:inherit;resize:vertical;border-radius:6px;padding:7px 9px;font-size:12.5px}.kunden-maske textarea:focus{border-color:var(--netz);outline:none}.kunden-maske-reihe{grid-template-columns:1fr 1fr;gap:9px;display:grid}.kunden-maske-knoepfe{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.kunden-kopfzeile{align-items:center;gap:8px;display:flex}.kunden-fehler{border:1px solid var(--kritisch);border-radius:var(--radius-klein);background:color-mix(in srgb, var(--kritisch) 12%, transparent);margin:0;padding:8px 11px;font-size:12.5px}.kunden-objekt-neu{align-self:flex-start;margin-top:10px}.kunden-objektform{gap:8px;margin-top:10px;display:flex}.kunden-objektform input{border:1px solid var(--border-stark);border-radius:var(--radius-klein);background:var(--surface-2);color:var(--text-primary);font:inherit;flex:1;padding:7px 10px;font-size:12.5px}.kunden-objektform input:focus{outline:2px solid var(--netz);outline-offset:-2px}.messen-zuweisung{width:min(460px,100vw - 48px)}.messen-zuweisung .messen-hinweis{margin:10px 14px 14px}.messen-zuweisung-liste{flex-direction:column;gap:2px;max-height:320px;padding:6px;display:flex;overflow-y:auto}@media (width<=1180px){.bereich-inhalt.messen{grid-template-columns:180px 1fr 300px}.kunden-detail{grid-template-columns:1fr}}@media (width<=720px){.inhalt{grid-template-rows:1fr auto;grid-template-columns:1fr}.bereich-halter{grid-area:1/1}.bereichsleiste{padding:3px 4px calc(3px + env(safe-area-inset-bottom,0px));border-right:0;border-top:1px solid var(--border);flex-direction:row;grid-row:2;gap:0}.bereichsleiste-luecke{display:none}.bereich-knopf{flex:1 1 0;width:auto;padding:6px 2px 5px}.bereich-knopf[aria-current=page]{box-shadow:inset 0 2px 0 var(--netz)}.kopf{gap:8px;padding:7px 12px}.kopf-titel .pfad{max-width:55vw}.bereich-inhalt{grid-template-columns:1fr}.palette,.seitenleiste{display:none}.bereich-inhalt.raum{grid-template-columns:1fr;overflow-y:auto}.messen-reiterhalter{padding:12px 14px 0}.kunden-halter{padding:14px 14px 36px}.kunden-suchzeile{flex-wrap:wrap}.kunden-suchfeld{flex:100%}.bereich-inhalt.messen:not(.start){flex-direction:column;display:flex;overflow-y:auto}.messen-spalte{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;flex:none;align-items:center;gap:6px;padding:8px 10px;overflow-x:auto}.messen-spalte-liste{flex-direction:row;align-items:center;overflow:visible}.messen-spalte-zeile,.messen-spalte-alle,.messen-spalte-eintrag,.messen-spalte-zurueck{white-space:nowrap;flex:none}.messen-spalte-gruppe,.messen-spalte-fuss,.messen-spalte .messen-spalte-rand{display:none}.messen-buehne{flex:none}.messen-buehne:has(.messen-flaeche){height:46vh}.messen-seite{border-left:0;border-top:1px solid var(--border);flex:none;overflow:visible}.tage,.nebeneinander{grid-template-columns:1fr}}
