:root{--gruen:#2f5d50;--gruen-dunkel:#234a3f;--gruen-hell:#e8f0ec;--gold:#b07d1f;--rot:#b3392b;--text:#1d1d1b;--leise:#5f5b52;--linie:#e2ded3;--hinter:#f7f5f0;--karte:#fff}*,:before,:after{box-sizing:border-box}body{background:var(--hinter);color:var(--text);margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{letter-spacing:-.01em;line-height:1.2}a{color:var(--gruen)}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--text);color:#fff;z-index:99;padding:8px 12px;top:8px;left:8px}.wrap{max-width:1040px;margin:0 auto;padding:0 16px}.kopf{background:var(--karte);border-bottom:1px solid var(--linie)}.kopf-innen{justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.logo{color:var(--text);font-size:19px;font-weight:700;text-decoration:none}.logo span{background:var(--gruen);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;margin-right:6px;font-size:15px;display:inline-grid}.kopf nav{align-items:center;gap:18px;display:flex}.kopf nav a:not(.knopf){color:var(--text);font-size:15px;text-decoration:none}@media (width<=640px){.kopf nav a:not(.knopf){display:none}}button,.knopf{font:inherit;background:var(--gruen);color:#fff;border:2px solid var(--gruen);cursor:pointer;border-radius:10px;padding:11px 18px;font-weight:600;text-decoration:none;display:inline-block}button:hover,.knopf:hover{background:var(--gruen-dunkel)}button.zweit,.knopf.zweit{color:var(--gruen);background:0 0}button.leise,label.leise{color:var(--leise);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-weight:500;text-decoration:underline}.knopf.klein{white-space:nowrap;padding:7px 14px;font-size:15px}@media (width<=400px){.logo{font-size:17px}.knopf.klein{padding:6px 10px;font-size:14px}}.fuss{border-top:1px solid var(--linie);color:var(--leise);margin-top:64px;padding:24px 0;font-size:14px}.fuss-innen{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.fuss nav{gap:16px;display:flex}.app{max-width:1040px;margin:24px auto;padding:0 16px}.schritte{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;display:grid}.schritte button{background:var(--karte);color:var(--text);border:1px solid var(--linie);padding:10px 8px;font-weight:500}.schritte button b{background:var(--gruen-hell);width:24px;height:24px;color:var(--gruen);border-radius:50%;place-items:center;margin-right:4px;font-size:13px;display:inline-grid}.schritte button.aktiv{border-color:var(--gruen);box-shadow:inset 0 -3px 0 var(--gruen)}@media (width<=520px){.schritte button{padding:8px 4px;font-size:13px}.schritte button b{margin:0 auto 2px;display:block}}.karte{background:var(--karte);border:1px solid var(--linie);border-radius:16px;padding:24px}.karte h2{margin:0 0 12px}.hinweis{color:var(--leise);margin:0 0 16px}.raster{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 18px;display:grid}.feld{flex-direction:column;gap:4px;font-size:14px;display:flex}.feld>span:first-child{font-weight:600}.feld small{color:var(--leise)}.feld input,.feld select{font:inherit;background:#fffdf6;border:1px solid #cfcabd;border-radius:8px;width:100%;padding:9px 10px;font-size:16px}.feld input[aria-invalid=true]{border-color:var(--rot);box-shadow:0 0 0 1px var(--rot)}.feld small.feld-fehler{color:var(--rot);font-weight:600}.mit-einheit{align-items:center;gap:6px;display:flex}.mit-einheit em{color:var(--leise);min-width:2.2em;font-style:normal}.mieter{border:1px solid var(--linie);border-radius:12px;margin:0 0 14px;padding:16px}.mieter legend{align-items:center;gap:12px;padding:0 6px;font-weight:700;display:flex}.loeschen{color:var(--rot);background:0 0;border:none;padding:2px 4px;font-size:13px;text-decoration:underline}.loeschen:hover{background:0 0}.kosten-liste{gap:4px;display:grid}.kosten-zeile{border-bottom:1px solid var(--linie);grid-template-columns:1.6fr 1fr 1fr;align-items:end;gap:14px;padding:12px 0;display:grid}.kosten-zeile small{color:var(--leise);font-size:13px;display:block}@media (width<=640px){.kosten-zeile{grid-template-columns:1fr 1fr}.kosten-zeile>div:first-child{grid-column:1/-1}}.weiter{text-align:right;margin-top:20px}.warnung{color:var(--rot);background:#fdecea;border-radius:8px;padding:10px 14px}.tabelle-scroll{position:relative;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:right;border-bottom:1px solid var(--linie);font-variant-numeric:tabular-nums;padding:9px 10px}th:first-child,td:first-child{text-align:left}th{background:var(--gruen);color:#fff;font-size:14px}.uebersicht td small{color:var(--leise);display:block}.uebersicht button{padding:6px 12px;font-size:14px}.nach{color:var(--rot);font-weight:700}.gut{color:#2e7d4f;font-weight:700}.summen{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:20px 0 0;display:grid}.summen div{background:var(--gruen-hell);border-radius:10px;padding:12px 14px}.summen dt{font-size:14px}.summen dd{margin:0;font-size:22px;font-weight:700}.aktionen-fuss{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:16px;display:flex}.aktionen-fuss p{color:var(--leise);flex-basis:100%;margin:4px 8px;font-size:14px}.datei input{opacity:0;width:1px;height:1px;position:absolute}.datei:focus-within{outline:3px solid var(--gold);outline-offset:2px}h2[tabindex="-1"]:focus{outline:none}.brief-ansicht{max-width:820px;margin:24px auto;padding:0 16px}.werkzeug{justify-content:space-between;margin-bottom:16px;display:flex}.brief{border:1px solid var(--linie);background:#fff;padding:48px 56px;font-size:14px}.brief .absender{color:var(--leise);font-size:11px;text-decoration:underline}.brief-kopf{justify-content:space-between;margin-bottom:28px;display:flex}.brief .rechts{text-align:right}.brief h2{font-size:18px}.brief table{margin:16px 0;font-size:13px}.brief th{color:var(--text);border-bottom:2px solid var(--text);background:0 0}.brief tfoot td{font-weight:700}.brief tr.ergebnis td{border-bottom:3px double var(--text);font-size:16px}.brief .gruss{margin-top:28px}@media (width<=640px){.brief{padding:20px}.brief table{font-size:11px}}.freischalten{background:var(--gruen-hell);border-radius:14px;margin-bottom:16px;padding:20px}.freischalten h2{margin:0 0 8px;font-size:20px}.freischalten form{gap:10px;max-width:420px;display:grid}.vorschau-vermerk{position:relative}.vermerk{text-align:center;color:#b3392b38;pointer-events:none;margin:0;font-size:44px;font-weight:800;position:absolute;inset:40% 0 auto;transform:rotate(-18deg)}@media print{@page{margin:18mm}body{background:#fff}.nicht-drucken{display:none!important}.brief-ansicht{max-width:none;margin:0;padding:0}.brief{border:none;padding:0}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.feld input.kostenart{background:0 0;border-color:#0000;padding-left:0;font-weight:600}.feld input.kostenart:hover,.feld input.kostenart:focus{background:#fffdf6;border-color:#cfcabd;padding-left:10px}.knoepfe{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.brief+.brief{margin-top:24px}@media print{.brief{break-after:page}.brief:last-child{break-after:auto}.brief+.brief{margin-top:0}.brief{font-size:10pt;line-height:1.4}.brief p{margin:0 0 .6em}.brief .absender{font-size:8pt}.brief-kopf{margin:.8em 0 1.2em}.brief h2{margin:0 0 .6em;font-size:13pt}.brief table{margin:.6em 0 1em;font-size:9pt}.brief th,.brief td{padding:3px 6px}.brief td+td,.brief th+th{white-space:nowrap}.brief tr{break-inside:avoid}.brief tr.ergebnis td{font-size:11pt}.brief .gruss{margin-top:1.2em}}@media screen and (width<=640px){.brief{overflow-x:auto}}.haeuser{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;display:flex}.haeuser .feld{flex:240px}.willkommen{background:var(--gruen-hell);border-radius:16px;margin-bottom:14px;padding:20px 24px}.willkommen h2{margin:0 0 6px}.willkommen-knoepfe{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.protokoll input,.protokoll select,.protokoll textarea{font:inherit;background:#fffdf6;border:1px solid #cfcabd;border-radius:6px;width:100%;padding:6px 8px;font-size:15px}.protokoll h3{margin:22px 0 6px}.protokoll td,.protokoll th{text-align:left}.unterschriften{grid-template-columns:1fr 1fr;gap:40px;margin-top:48px;display:grid}.unterschriften span{border-top:1px solid var(--text);margin-bottom:4px;display:block}@media print{.protokoll input,.protokoll select,.protokoll textarea{appearance:none;background:0 0;border:none;border-bottom:1px dotted #999;border-radius:0;padding:2px 0}}.modus-wahl{border:none;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:0 0 18px;padding:0;display:grid}.modus-wahl legend{margin-bottom:6px;padding:0;font-size:14px;font-weight:600}.modus-wahl label{border:1px solid var(--linie);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.modus-wahl label.aktiv{border-color:var(--gruen);background:var(--gruen-hell)}.modus-wahl input{accent-color:var(--gruen);margin-top:4px}.modus-wahl small{color:var(--leise);font-size:13px;display:block}.kosten-zeile.eigentum-zeile{grid-template-columns:1.4fr 1fr 1fr 1fr}.eigentum-optionen{justify-content:space-between;align-items:center;gap:8px;min-height:42px;display:flex}.haken{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.haken input{width:20px;height:20px;accent-color:var(--gruen)}@media (width<=640px){.kosten-zeile.eigentum-zeile{grid-template-columns:1fr;gap:8px}}
