:root{--bg: #f6f7f9;--panel: #ffffff;--text: #1d232b;--muted: #5b6572;--linie: #d9dee5;--akzent: #1f5eff;--akzent-hell: #e8eeff;--ok: #157347;--warn: #b45309;--fehler: #b42318;--fehler-hell: #fdecea;--radius: 6px;font-size:15px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}#root{min-height:100vh}.app{max-width:1180px;margin:0 auto;padding:0 20px 40px}body.editor-voll .app{max-width:none}.kopf{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;padding:14px 0;border-bottom:2px solid var(--linie);margin-bottom:20px}.kopf h1{font-size:1.1rem;margin:0}.kopf .tenant{order:0;margin-left:auto;color:var(--muted);font-size:.85rem}nav.tabs{display:flex;flex-wrap:wrap;order:1;flex:1 1 100%;min-width:0;gap:4px}nav.tabs button{border:none;background:none;padding:8px 14px;font-size:.95rem;cursor:pointer;border-radius:var(--radius);color:var(--muted)}nav.tabs button:hover{background:var(--akzent-hell);color:var(--text)}nav.tabs button.aktiv{background:var(--akzent);color:#fff}.panel{background:var(--panel);border:1px solid var(--linie);border-radius:var(--radius);padding:18px;margin-bottom:18px}h2{font-size:1rem;margin:0 0 12px}h3{font-size:.9rem;margin:16px 0 8px;color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:.92rem}th{text-align:left;color:var(--muted);font-weight:600;padding:6px 8px;border-bottom:2px solid var(--linie)}td{padding:6px 8px;border-bottom:1px solid var(--linie)}td.zahl,th.zahl{text-align:right;font-variant-numeric:tabular-nums}tr.summe td{font-weight:700;border-top:2px solid var(--text);border-bottom:none}tr.ueberfaellig td:first-child{border-left:3px solid var(--warn)}input,select,textarea{font:inherit;padding:6px 8px;border:1px solid var(--linie);border-radius:var(--radius);background:#fff;color:var(--text)}input:focus,select:focus,button:focus-visible{outline:2px solid var(--akzent);outline-offset:1px}input.zahl{text-align:right;font-variant-numeric:tabular-nums}label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:3px}.feld{margin-bottom:10px}tr.inaktiv td{opacity:.55}tr.aktiv td{background:var(--akzent-hell)}.unterpanel{border:1px solid var(--linie);border-radius:var(--radius);padding:10px 14px;margin-bottom:12px}.unterpanel h4{margin:0 0 8px;font-size:.98rem}.feld.breit{flex:1 1 100%}.feld.breit input,.feld.breit textarea{width:100%;box-sizing:border-box}.zeile{display:flex;gap:12px;align-items:end;flex-wrap:wrap}button.primaer,button.sekundaer,button.klein{font:inherit;border-radius:var(--radius);cursor:pointer;border:1px solid transparent;padding:8px 16px}button.primaer{background:var(--akzent);color:#fff}button.primaer:disabled{background:var(--muted);cursor:not-allowed}button.sekundaer{background:#fff;border-color:var(--linie);color:var(--text)}button.klein{padding:3px 9px;font-size:.83rem;background:#fff;border-color:var(--linie)}button.klein:hover,button.sekundaer:hover{border-color:var(--akzent);color:var(--akzent)}.fehlerbanner{background:var(--fehler-hell);border:1px solid var(--fehler);color:var(--fehler);padding:10px 14px;border-radius:var(--radius);margin-bottom:12px}.feldfehler{display:block;margin-top:4px;color:var(--fehler);font-size:.85rem;font-weight:600;max-width:26rem}.feldfehler:before{content:"⚠ "}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--fehler);background:var(--fehler-hell)}.okbanner{background:#e6f4ea;border:1px solid var(--ok);color:var(--ok);padding:10px 14px;border-radius:var(--radius);margin-bottom:12px}.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.78rem;background:var(--akzent-hell);color:var(--akzent)}.badge.ok{background:#e6f4ea;color:var(--ok)}.badge.warn{background:#fef3e2;color:var(--warn)}.badge.grau{background:#eef0f3;color:var(--muted)}.kennzahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.kennzahl{background:var(--panel);border:1px solid var(--linie);border-radius:var(--radius);padding:14px}.kennzahl .wert{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}.kennzahl .name{color:var(--muted);font-size:.83rem}.hinweis{color:var(--muted);font-size:.85rem}.unterliste{list-style:none;margin:4px 0 4px 16px;border-left:2px solid var(--linie);padding:0 0 0 8px}.unterliste>li{margin-bottom:4px}.zusatztext{display:flex;gap:4px;align-items:center;margin-left:12px;margin-top:2px}.suchfeld{position:relative}.vorschlaege{position:absolute;z-index:20;left:0;right:0;top:100%;margin:2px 0 0;padding:4px 0;list-style:none;max-height:260px;overflow-y:auto;background:#fff;border:1px solid var(--linie);border-radius:var(--radius);box-shadow:0 6px 18px #0000001f}.vorschlaege li{padding:5px 10px;cursor:pointer}.vorschlaege li.aktiv{background:var(--akzent-hell)}.vorschlaege li.hinweis{cursor:default;border-top:1px solid var(--linie);margin-top:4px;padding-top:6px}.vorschlaege-fuss{position:absolute;z-index:21;left:0;right:0;top:100%;margin:0;padding:4px 10px;background:#fff;border:1px solid var(--linie);border-top:none;border-radius:0 0 var(--radius) var(--radius)}tr.blass td{opacity:.55}tr.fehlerzeile td{background:var(--fehler-hell)}tr.fehlerzeile td:first-child{border-left:3px solid var(--fehler);font-weight:600}tr.eingerueckt td:first-child{padding-left:24px;border-left:3px solid var(--linie)}td.unterzeile{padding-left:24px}.abzeichen{display:inline-block;padding:1px 6px;border-radius:9px;background:var(--akzent);color:#fff;font-size:.78rem;font-weight:600}.editor-spalten{display:grid;gap:16px;align-items:start;grid-template-columns:minmax(16rem,1fr) minmax(20rem,1.6fr) minmax(18rem,1.2fr)}body.editor-voll .editor-spalten{grid-template-columns:minmax(16rem,22rem) minmax(20rem,1fr) minmax(18rem,26rem)}.editor-spalte{min-width:0}.editor-spalte fieldset{border:1px solid var(--rahmen, #d7dbe0);border-radius:4px;padding:6px 8px}.editor-spalte ul{margin:4px 0;padding-left:18px}@media (max-width: 1100px){.editor-spalten,body.editor-voll .editor-spalten{grid-template-columns:1fr}}button.klein.aktiv{background:var(--akzent);color:#fff;border-color:var(--akzent)}.designer-rahmen{overflow:auto;max-height:640px;border:1px solid var(--linie);border-radius:var(--radius);padding:4px;background:#fff}.designer-mitte{display:flex;align-items:flex-start;justify-content:safe center}.designer-lineal-oben{position:relative;height:14px;margin-left:126px}.designer-lineal-links{position:relative;width:26px;flex:0 0 26px}.designer-marke{position:absolute;font-size:8px;color:var(--muted)}.designer-lineal-oben .designer-marke{top:0;border-left:1px solid var(--linie);padding-left:1px}.designer-lineal-links .designer-marke{right:2px;border-top:1px solid var(--linie)}.designer-blatt{position:relative;background:#fff;border:1px solid var(--text);flex:0 0 auto}.designer-raster{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(var(--linie) .5px,transparent .5px);background-position:0 0}.designer-hilfslinie{position:absolute;padding:0;border:0;background:transparent;z-index:3}.designer-hilfslinie.senkrecht{top:0;width:5px;margin-left:-2px;cursor:ew-resize;border-left:1px dashed var(--akzent)}.designer-hilfslinie.waagrecht{left:0;height:5px;margin-top:-2px;cursor:ns-resize;border-top:1px dashed var(--akzent)}.designer-kaestchen.abstand{border-style:dashed;background:transparent;color:var(--muted)}.designer-kaestchen.form{color:var(--muted);background:transparent}.designer-streifen{position:absolute;left:0;right:0;border-top:1px dashed var(--akzent);background:#00000004}.designer-streifen.ausgeblendet{background:#0000000f;border-top-style:dotted}.designer-bandspalte{position:relative;width:100px;flex:0 0 100px}.designer-bandtitel{position:absolute;right:4px;margin-top:-1px;text-align:right;font-size:8px;line-height:1.2;color:var(--muted)}.designer-spalte{position:absolute;border:1px dotted var(--linie);background:#00000005}.designer-spalte-titel{position:absolute;left:1px;top:0;font-size:7px;color:var(--muted);white-space:nowrap}.designer-spalte-griff{position:absolute;right:-3px;top:0;width:6px;height:100%;padding:0;border:0;background:transparent;cursor:ew-resize}.designer-spalte-griff:hover,.designer-spalte-griff:focus{background:var(--akzent);opacity:.35}.designer-zone{position:absolute;pointer-events:none;border:1px solid var(--muted);background:repeating-linear-gradient(45deg,rgba(0,0,0,.05),rgba(0,0,0,.05) 4px,transparent 4px,transparent 8px)}.designer-zone span{position:absolute;left:4px;top:16px;font-size:9px;color:var(--muted)}.designer-kaestchen{position:absolute;overflow:hidden;text-align:left;font-size:8px;line-height:1.1;padding:0 1px;border:1px solid var(--akzent);background:#ffffffd9;color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:2px}.designer-kaestchen:hover{background:var(--akzent-hell)}.designer-kaestchen.aktiv{background:var(--akzent);color:#fff;border-width:2px;z-index:2}.designer-kaestchen.ueberlauf{border-color:var(--warn);border-style:dashed}.designer-griff{position:absolute;width:7px;height:7px;margin:-4px 0 0 -4px;padding:0;border:1px solid var(--akzent);background:#fff;border-radius:1px;z-index:3}.designer-griff.links,.designer-griff.rechts{cursor:ew-resize}.designer-griff.oben,.designer-griff.unten{cursor:ns-resize}.designer-griff.ecke{cursor:nwse-resize}.designer-hilfslinie{position:absolute;background:var(--warn);z-index:4;pointer-events:none}.designer-hilfslinie.senkrecht{top:0;bottom:0;width:1px}.designer-hilfslinie.waagrecht{left:0;right:0;height:1px}.designer-menue{position:absolute;z-index:5;display:flex;flex-direction:column;gap:2px;padding:3px;background:#fff;border:1px solid var(--linie);border-radius:var(--radius);box-shadow:0 2px 6px #0003}.designer-menue button{text-align:left}.designer-werkzeugleiste{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 6px;margin-bottom:6px;border:1px solid var(--linie);border-radius:var(--radius);background:#fafafa}.designer-werkzeugleiste .trenner{color:var(--muted)}.designer-hilfslinien-bereich{padding:4px 6px;margin-bottom:6px;border:1px solid var(--linie);border-radius:var(--radius);background:#fafafa}.designer-hilfslinien-spalte{display:inline-block;vertical-align:top;margin-right:18px}.designer-hilfslinien-zeile{margin:2px 0;font-size:12px}.designer-hilfslinien-zeile input{width:72px}.validierungsbaum{list-style:none;padding-left:0;margin:4px 0}.validierungsbaum li{margin:2px 0;font-size:12px}.validierungsbaum .stufe-fehler{color:var(--fehler)}.validierungsbaum .stufe-warnung{color:var(--warn)}.validierungsbaum .stufe-information{color:var(--muted)}
