:root{--flaeche: #f6f3ec;--panel: #fffdf9;--rahmen: #e3ded3;--rahmen-stark: #d2cbbe;--gruen: #3d6b4f;--gruen-tief: #24402f;--kopf: #1e2a2d;--tinte: #1e2a2d;--gedaempft: #6b645a;--danger: #9b3b35;--zeile-hover: #efebe2;--flaeche-neutral: #e8eef1;--tinte-neutral: #3e5a6b;--flaeche-warnung: #f6ecda;--tinte-warnung: #7a5a1e;--rahmen-warnung: #d8b878;--warnung: #7a5a1e;--flaeche-erledigt: #dde8df;--flaeche-negativ: #f3e1de;--rahmen-negativ: #e2bdb8;--ton: #a9653f;--ton-text: #8a4e2c;--ton-hell: #f3e6dc;--waldboden: #3a3027;--morgenlicht: #f4e8d8;--farn: #7fa06a;--vielfalt-moos: #3d6b4f;--vielfalt-fjord: #4f6f82;--vielfalt-harz: #c49a4a;--vielfalt-beere: #7d4e5e;--vielfalt-heide: #8c7ba0;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--tinte);font-size:15px;line-height:1.45}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--flaeche)}.akzent-serif{font-family:Fraunces,Georgia,serif}.topbar{height:52px;background:var(--kopf);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0}.topbar-marke{font-size:18px;font-weight:600}.topbar-betrieb{font-size:13px;opacity:.85;margin-left:14px;font-weight:400;font-family:Inter,sans-serif}.topbar-rechts{display:flex;align-items:center;gap:14px;font-size:13px}.topbar-abmelden{background:#ffffff1f;border:none;color:#fff;padding:6px 14px;border-radius:7px;font-size:13px;cursor:pointer}.topbar-abmelden:hover{background:#fff3}.rahmen{display:flex;flex-direction:column;height:100vh}.koerper{display:flex;flex:1;min-height:0}.sidebar{width:208px;background:var(--panel);border-right:1px solid var(--rahmen);padding:12px 0;flex-shrink:0;overflow-y:auto}.nav-abschnitt-titel{padding:16px 20px 6px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--gedaempft)}.nav-abschnitt-titel:first-child{padding-top:4px}.nav-eintrag{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 20px;background:none;border:none;border-left:3px solid transparent;font-size:14.5px;color:var(--tinte);cursor:pointer}.nav-eintrag svg{flex-shrink:0;opacity:.75}.nav-eintrag:hover{background:var(--zeile-hover)}.nav-eintrag.aktiv{border-left-color:var(--gruen);color:var(--gruen-tief);font-weight:600;background:var(--zeile-hover)}.nav-eintrag.aktiv svg{opacity:1}.arbeitsflaeche{flex:1;padding:22px 28px;overflow-y:auto;scrollbar-gutter:stable;min-width:0}.bereich-kopf{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.bereich-titel{font-size:20px;font-weight:600;color:var(--gruen-tief)}.primaer-btn{background:var(--gruen);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer}.primaer-btn:hover{background:var(--gruen-tief)}.primaer-btn:disabled{background:var(--rahmen-stark);color:var(--gedaempft);cursor:default}.sekundaer-btn{background:var(--panel);color:var(--gruen-tief);border:1px solid var(--rahmen-stark);border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer}.sekundaer-btn:hover{background:var(--zeile-hover)}.suche{width:100%;max-width:340px;height:38px;padding:0 12px;border:1px solid var(--rahmen-stark);border-radius:8px;font-size:14px;background:var(--panel);color:var(--tinte);margin-bottom:14px}.tabelle{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--rahmen);border-radius:10px;overflow:hidden}.tabelle th{text-align:left;padding:10px 16px;font-size:12.5px;font-weight:600;color:var(--gedaempft);background:var(--flaeche);border-bottom:1px solid var(--rahmen)}.tabelle td{padding:11px 16px;border-bottom:1px solid var(--rahmen);font-size:14.5px}.tabelle tr:last-child td{border-bottom:none}.tabelle tbody tr{cursor:pointer}.tabelle tbody tr:hover td{background:var(--zeile-hover)}.tabelle tbody tr.tabelle-gruppenzeile{cursor:default}.tabelle tbody tr.tabelle-gruppenzeile td,.tabelle tbody tr.tabelle-gruppenzeile:hover td{background:var(--flaeche-neutral);font-weight:600;font-size:13px;padding-top:7px;padding-bottom:7px}.tabelle-gruppenzahl{margin-left:8px;font-weight:400;color:var(--gedaempft)}.td-rechts{text-align:right;color:var(--gedaempft)}.th-rechts,.tabelle th.th-rechts{text-align:right}.td-gedaempft{color:var(--gedaempft)}.typ-badge{font-size:12px;padding:2px 9px;border-radius:6px;background:var(--flaeche-erledigt);color:var(--gruen-tief)}.badge{display:inline-block;padding:2px 9px;border-radius:6px;font-size:12.5px;font-weight:500}.badge.aktiv{background:var(--flaeche-erledigt);color:var(--gruen-tief)}.badge.inaktiv{background:var(--flaeche-negativ);color:var(--danger)}.widerruf-btn{background:none;border:1px solid var(--danger);color:var(--danger);padding:5px 11px;border-radius:7px;font-size:12.5px;cursor:pointer;white-space:nowrap}.dialog-hintergrund{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e2a2d61;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;overflow-y:auto;z-index:100}.dialog{background:var(--panel);border:1px solid var(--rahmen);border-radius:12px;padding:24px 26px;width:100%;max-width:480px;box-shadow:0 8px 28px #1e2a2d1f}.dialog h2{font-size:18px;color:var(--gruen-tief);margin-bottom:16px}.feld{margin-bottom:13px}.feld label{display:block;margin-bottom:4px;font-size:13px;color:var(--gedaempft)}.feld input,.feld textarea,.feld select{width:100%;height:40px;padding:0 11px;font-size:14.5px;border:1px solid var(--rahmen-stark);border-radius:8px;background:var(--panel);color:var(--tinte);font-family:inherit}.feld textarea{height:auto;min-height:64px;padding:9px 11px;resize:vertical}.feld-paar{display:flex;gap:12px}.feld-paar .feld{flex:1}.dialog-knoepfe{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.editor-fuss{position:sticky;bottom:-24px;margin:18px -26px -24px;padding:12px 26px 16px;background:var(--panel);border-top:1px solid var(--rahmen);border-radius:0 0 12px 12px;z-index:5}.editor-titel{font-weight:700;font-size:14.5px;color:var(--gruen-tief);margin:18px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--rahmen)}.editor-titel-zusatz{font-weight:400;font-size:12.5px;color:var(--gedaempft)}.editor-titel-ohne{color:var(--danger)}.editor-untertitel{font-weight:600;font-size:13.5px;margin:10px 0 6px 12px}.editor-plus{padding:3px 10px!important;font-size:12px!important;margin:0 0 6px}.duplikat-warnung{background:var(--flaeche-warnung);border:1px solid var(--rahmen-warnung);border-radius:9px;padding:13px 15px;margin-bottom:16px;font-size:13.5px}.hinweis{padding:14px 16px;background:var(--panel);border:1px solid var(--rahmen);border-radius:10px;color:var(--gedaempft)}.fehler{color:var(--danger);border-color:var(--rahmen-negativ);background:var(--flaeche-negativ)}.lade{color:var(--gedaempft);padding:28px 0}.zentriert{max-width:400px;margin:8vh auto 0;padding:0 20px}.zentriert h1{font-size:22px;color:var(--gruen-tief);margin-bottom:8px}.zentriert .unterzeile{color:var(--gedaempft);margin-bottom:22px;font-size:14px}.badge.entwurf,.badge.geplant{background:var(--flaeche-neutral);color:var(--tinte-neutral)}.badge.versendet,.badge.in_arbeit,.badge.freigegeben{background:var(--flaeche-warnung);color:var(--tinte-warnung)}.badge.angenommen,.badge.abgeschlossen,.badge.bezahlt{background:var(--flaeche-erledigt);color:var(--gruen-tief)}.badge.abgelehnt,.badge.storniert{background:var(--flaeche-negativ);color:var(--danger)}.positions-karte{background:var(--panel);border:1px solid var(--rahmen);border-radius:10px;padding:14px 16px;margin-bottom:12px}.positions-kopf{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.zeilen-tabelle{width:100%;font-size:13.5px}.zeilen-tabelle td{padding:5px 4px}.zeile-entfernen{background:none;border:none;color:var(--danger);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}.mini-select,.mini-input{height:32px;padding:0 8px;font-size:13.5px;border:1px solid var(--rahmen-stark);border-radius:6px;background:var(--panel);color:var(--tinte)}.kennzahlen-reihe{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}.kennzahl-karte{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:16px 18px;background:var(--panel);border:1px solid var(--rahmen);border-radius:10px;cursor:pointer;flex:1 1 200px;min-width:180px}.kennzahl-karte:hover{border-color:var(--rahmen-stark);background:var(--zeile-hover)}.kennzahl-wert{font-size:26px;font-weight:700;color:var(--gruen-tief);line-height:1.1}.kennzahl-label{font-size:13px;color:var(--gedaempft)}.kennzahl-neben{font-size:12.5px;color:var(--tinte);margin-top:2px}.kennzahl-karte.kennzahl-warnung .kennzahl-wert{color:var(--danger)}.dashboard-spalten{display:flex;flex-wrap:wrap;gap:28px}.dashboard-spalten>div{flex:1 1 0;min-width:320px}.segment-control{display:inline-flex;border:1px solid var(--rahmen-stark);border-radius:8px;overflow:hidden}.segment-btn{background:var(--panel);border:none;border-right:1px solid var(--rahmen-stark);padding:7px 14px;font-size:13px;color:var(--gedaempft);cursor:pointer;white-space:nowrap}.segment-btn:last-child{border-right:none}.segment-btn:hover{background:var(--zeile-hover)}.segment-btn.segment-aktiv{background:var(--gruen);color:#fff;font-weight:600}.th-sortierbar{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sortierbar:hover{color:var(--gruen-tief)}.monats-trenner{display:flex;justify-content:space-between;align-items:baseline;padding:8px 2px 6px;font-size:13px;font-weight:600;color:var(--gruen-tief);border-bottom:1px solid var(--rahmen);margin-bottom:0}.monats-summe{font-weight:400;font-size:12.5px;color:var(--gedaempft)}.kpi-karte{background:var(--panel);border:1px solid var(--rahmen);border-radius:8px;padding:14px 20px;min-width:120px}.kpi-karte.kpi-warnung{border-color:var(--danger);background:var(--flaeche-warnung)}.kpi-wert{font-size:28px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.kpi-warnung .kpi-wert{color:var(--danger)}.kpi-label{font-size:12.5px;color:var(--gedaempft);margin-top:2px}.katalog-gruppenkopf{display:flex;justify-content:space-between;align-items:center;padding:10px 8px;cursor:pointer;border-bottom:1px solid var(--rahmen);-webkit-user-select:none;user-select:none}.katalog-gruppenkopf:hover{background:var(--zeile-hover)}.bo-formular{display:flex;gap:10px;align-items:center}.bo-formular input{flex:1;min-width:0;height:40px;padding:0 12px;font-size:14px;border:1px solid var(--rahmen-stark);border-radius:8px;background:var(--panel);color:var(--tinte)}.td-ueberfaellig{color:var(--danger)}.rechnung-meta{display:flex;flex-wrap:wrap;gap:6px 24px;margin:0 0 16px;font-size:13.5px}.rechnung-meta dt{font-size:12px;color:var(--gedaempft)}.rechnung-meta dd{margin:0}.rechnung-link{color:var(--gruen-tief)}.pruefhinweise{margin:6px 0 0 18px;padding:0}.pruefhinweise li{margin-bottom:3px}.rechnung-zeilen{width:100%;border-collapse:collapse;font-size:13.5px}.rechnung-zeilen th{text-align:left;font-weight:500;font-size:12px;color:var(--gedaempft);padding:4px 4px 6px;border-bottom:1px solid var(--rahmen-stark)}.rechnung-zeilen td{padding:4px;vertical-align:top}.rechnung-zeilen .rz-zahl{text-align:right;white-space:nowrap}.rechnung-zeilen .rz-gedaempft{color:var(--gedaempft)}.rechnung-zeilen .rz-kopf td{padding-top:10px;font-weight:600;color:var(--gruen-tief);border-bottom:1px solid var(--rahmen)}.rechnung-zeilen .rz-bezeichnung{padding-left:14px}.rechnung-zeilen .rz-intern{color:var(--gedaempft);font-size:12px}.rechnung-summen{margin:12px 0 0 auto;max-width:320px;font-size:14px;border-top:1px solid var(--rahmen-stark);padding-top:8px}.rechnung-summen>div{display:flex;justify-content:space-between;padding:2px 0}.rechnung-summen .rs-gedaempft{color:var(--gedaempft)}.rechnung-summen .rs-brutto{font-weight:600;font-size:16px;color:var(--gruen-tief);border-top:1px solid var(--rahmen);margin-top:4px;padding-top:6px}.badge.beleg{background:var(--flaeche-neutral);color:var(--tinte-neutral)}.link-btn{background:none;border:none;padding:0;color:var(--gedaempft);text-decoration:underline;cursor:pointer;font-size:12.5px}.link-btn:disabled{opacity:.5;cursor:default}@keyframes bly-drehen{to{transform:rotate(360deg)}}@keyframes bly-streifen{0%{left:-35%}to{left:100%}}.dreh-symbol{display:inline-block;width:16px;height:16px;flex-shrink:0;border:2px solid var(--rahmen-stark);border-top-color:var(--gruen);border-radius:50%;animation:bly-drehen .8s linear infinite}.dreh-symbol.klein{width:12px;height:12px}.fortschritt{height:8px;background:var(--rahmen);border-radius:4px;overflow:hidden;position:relative}.fortschritt-wert{height:100%;background:var(--gruen);transition:width .5s}.fortschritt-unbestimmt{position:absolute;top:0;height:100%;width:35%;background:var(--gruen);border-radius:4px;animation:bly-streifen 1.3s ease-in-out infinite}.badge.warnung{background:var(--flaeche-warnung);color:var(--tinte-warnung)}.badge.neutral{background:var(--flaeche-neutral);color:var(--tinte-neutral)}.datei-wahl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.datei-name{font-size:13.5px;color:var(--tinte);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datei-name.leer{color:var(--gedaempft)}.pflanzen-zeile{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:6px}.pflanzen-zeile:hover{background:var(--zeile-hover)}.art-kopf{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;padding:10px 8px 3px;border-top:1px solid var(--rahmen);margin-top:4px}.kat-kopf{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--gruen-tief);background:var(--flaeche-erledigt);border-bottom:1px solid var(--rahmen-stark);padding:8px 10px;margin:10px -6px 2px}.kat-kopf:first-child{margin-top:0}.kat-kopf .kat-anzahl{font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--gedaempft)}.foto-galerie{margin-top:18px}.foto-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.foto-titel{font-weight:600;color:var(--gruen-tief);margin-right:auto}.foto-kopf select{padding:6px 8px;border:1px solid var(--rahmen-stark);border-radius:6px;background:var(--panel);color:var(--tinte);font:inherit;font-size:13px}.foto-upload{display:flex;gap:8px;align-items:center}.foto-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.foto-kachel{display:flex;flex-direction:column;padding:0;border:1px solid var(--rahmen);border-radius:8px;background:var(--panel);overflow:hidden;cursor:pointer;text-align:left;font:inherit;color:inherit}.foto-kachel:hover{border-color:var(--rahmen-stark);background:var(--zeile-hover)}.foto-kachel:focus-visible{outline:2px solid var(--gruen);outline-offset:2px}.foto-kachel img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;background:var(--flaeche)}.foto-unterschrift{display:flex;flex-direction:column;gap:2px;padding:6px 8px 7px;font-size:12px;color:var(--gedaempft)}.foto-unterschrift strong{font-weight:600;color:var(--tinte);font-size:12.5px}.dialog.foto-dialog{max-width:820px}.foto-gross{background:var(--flaeche);border:1px solid var(--rahmen);border-radius:8px;display:flex;justify-content:center;margin-bottom:10px}.foto-gross img{max-width:100%;max-height:62vh;object-fit:contain;display:block}.foto-meta{font-size:12.5px;color:var(--gedaempft);margin-bottom:12px}.foto-meta a{color:var(--gruen-tief)}.foto-felder{display:grid;grid-template-columns:220px 1fr;gap:12px}.akte-kopf{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:4px}.akte-zurueck{background:none;border:none;padding:0;color:var(--gruen-tief);cursor:pointer;font:inherit;font-size:13px;margin-bottom:8px}.akte-zurueck:hover{text-decoration:underline}.akte-daten{font-size:13px;color:var(--gedaempft);margin-bottom:16px}
