:root{--navy:#1b3a5c;--navy-hover:#274d73;--accent:#4a7bb5;--accent-light:#eaf1f9;--text:#2a2f3a;--text-muted:#6b7280;--bg:#f4f4f7;--card-bg:#fff;--border:#e7e7ee;--error:#dc2626;--error-bg:#dc26261f;--warning:#d97706;--warning-bg:#d977061f;--success:#16a34a;--success-bg:#16a34a1f;--radius:16px;--font-heading:"DM Serif Display", Georgia, serif;--font-body:"DM Sans", system-ui, "Segoe UI", Roboto, sans-serif;font:16px/1.5 var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1,h2,h3{font-family:var(--font-heading);color:var(--navy);margin:0;font-weight:400}button{font-family:var(--font-body)}.btn{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:.4rem;padding:.65rem 1.1rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover:not(:disabled){background:var(--navy-hover)}.btn-secondary{background:var(--bg);color:var(--navy)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-danger{color:var(--error);border-color:var(--error-bg);background:#fff}.btn-danger:hover:not(:disabled){background:var(--error-bg)}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:0 10px 30px #1b3a5c0f}.form-error{color:var(--error);margin:6px 0 1.1rem;font-size:13px}.form-success{color:var(--success);margin:6px 0 1.1rem;font-size:13px}.form-field{flex-direction:column;gap:.35rem;margin-bottom:1.1rem;display:flex}.form-field label{color:var(--text);font-size:13px;font-weight:500}.form-field input,.form-field textarea,.form-field select{font-family:var(--font-body);border:1.5px solid var(--border);border-radius:10px;outline:none;padding:12px 14px;font-size:14px;transition:border-color .15s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--navy)}.form-field textarea{resize:vertical;min-height:80px}.form-field select{color:var(--text);background:#fff}.form-field select:disabled{opacity:.6}.form-hint{color:var(--text-muted);margin:.4rem 0 0;font-size:.85rem}.btn-small{padding:.35rem .7rem;font-size:.85rem}.icon-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--navy);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:inline-flex}.icon-btn:hover{background:var(--bg)}.icon-btn.danger{color:var(--error);border-color:var(--error-bg)}.icon-btn.danger:hover{background:var(--error-bg)}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.modal-backdrop{z-index:50;background:#14142880;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{border-radius:20px;width:100%;max-width:480px;max-height:90vh;padding:30px;overflow-y:auto;box-shadow:0 30px 80px #0000004d}.modal h2{letter-spacing:-.4px;margin-bottom:6px;font-size:21px}.modal-breit{max-width:720px}.csv-import-tabelle{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.9rem}.csv-import-tabelle th,.csv-import-tabelle td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.5rem .6rem}.csv-import-hinweis{color:var(--text-muted);margin-top:.2rem;font-size:.8rem;display:block}.csv-import-zusammenfassung{color:var(--text-muted);margin:.5rem 0 0;font-size:.9rem}.csv-import-scroll{max-height:50vh;overflow-y:auto}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.benutzer-header-aktionen{gap:.75rem;display:flex}.back-link{color:var(--accent);margin-bottom:1.5rem;font-size:.9rem;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.zugangsdaten-hinweis{color:var(--text-muted);margin:-.75rem 0 1.25rem;font-size:.9rem}.zugangsdaten-zeile{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.5rem 0;display:flex}.zugangsdaten-zeile:last-of-type{border-bottom:none}.zugangsdaten-label{width:110px;color:var(--navy);flex-shrink:0;font-size:.85rem;font-weight:500}.zugangsdaten-zeile code{overflow-wrap:break-word;flex:1;min-width:0}.status-badge{white-space:nowrap;border-radius:999px;padding:.25rem .65rem;font-size:.8rem;font-weight:500;display:inline-block}.status-badge.aktiv{color:var(--navy);background:#4a7bb526}.status-badge.inaktiv,.status-badge.rot{background:var(--error-bg);color:var(--error)}.status-badge.gelb{background:var(--warning-bg);color:var(--warning)}.status-badge.grau{background:var(--bg);color:var(--text-muted)}.status-badge.gruen{background:var(--success-bg);color:var(--success)}.sidebar-badge{background:var(--error);color:#fff;border-radius:20px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.page-head{margin-bottom:26px}.page-head h1{letter-spacing:-.6px;margin-bottom:4px;font-size:30px}.page-head p{color:var(--text-muted);font-size:14.5px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}.stat-icon{border-radius:11px;place-items:center;width:40px;height:40px;margin-bottom:14px;font-size:19px;display:grid}.stat-value{letter-spacing:-1px;color:var(--text);font-size:30px;font-weight:700}.stat-label{color:var(--text-muted);margin-top:2px;font-size:13px}.grid-2{grid-template-columns:1.4fr 1fr;gap:20px;display:grid}.card-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.card-head h2{font-size:17px;font-weight:600}.list-plain{margin:0;padding:0;list-style:none}.list-plain li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:13px 0;font-size:14px;display:flex}.list-plain li:first-child{border-top:none}.empty{text-align:center;color:var(--text-muted);padding:50px 20px}.empty-sm{padding:24px}.empty .emoji{margin-bottom:12px;font-size:40px}@media (width<=860px){.stat-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}.checkbox-zeile{cursor:pointer;align-items:flex-start;gap:.5rem;margin:.25rem 0 1rem;font-size:.9rem;display:flex}.checkbox-zeile input{margin-top:.2rem}.login-page{background:linear-gradient(#1b3a5cd1,#1b3a5ceb),url(https://images.unsplash.com/photo-1560518883-ce09059eeffa?w=1600&q=80) 50%/cover;justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.login-card{background:#fff;border-radius:24px;width:100%;max-width:420px;padding:48px 44px;box-shadow:0 30px 80px #0000004d}.login-logo{margin-bottom:32px}.login-title{letter-spacing:-.5px;margin-bottom:6px;font-size:26px}.login-subtitle{color:var(--text-muted);margin-bottom:28px;font-size:14px}.login-submit{justify-content:center;width:100%;margin-top:8px}.impressum-seite{background:var(--bg);justify-content:center;min-height:100svh;padding:40px 16px;display:flex}.impressum-karte{background:#fff;border-radius:20px;align-self:flex-start;width:100%;max-width:720px;padding:40px 44px;box-shadow:0 10px 30px #1b3a5c0f}.impressum-kopf{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:32px;display:flex}.impressum-karte h1{margin:0 0 24px;font-size:28px}.impressum-karte section+section{margin-top:22px}.impressum-karte h2{color:var(--navy);margin:0 0 6px;font-size:15px;font-weight:600}.impressum-karte p{margin:0 0 8px;font-size:14.5px;line-height:1.6}.impressum-karte a{color:var(--navy)}@media (width<=600px){.impressum-karte{padding:28px 20px}}.impressum-link-login{text-align:center;color:var(--text-muted);margin-top:20px;font-size:13px;display:block}.impressum-link-sidebar{text-align:center;color:#fff9;margin-top:10px;font-size:12px;text-decoration:none;display:block}.impressum-link-sidebar:hover{color:#fff}.portal-layout{min-height:100svh;display:flex}.sidebar{background:var(--navy);color:#fff;flex-direction:column;flex-shrink:0;width:250px;padding:24px 16px;display:flex}.sidebar-logo-row{justify-content:space-between;align-items:center;margin-bottom:30px;padding:0 8px;display:flex}.sidebar-close-button{color:#fffc;cursor:pointer;background:0 0;border:none;padding:4px;display:none}.mobile-topbar{display:none}.sidebar-nav{flex-direction:column;flex:1;gap:3px;display:flex}.sidebar-nav a{color:#ffffffb8;border-radius:10px;align-items:center;gap:12px;padding:11px 14px;font-size:14.5px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-icon{flex-shrink:0}.sidebar-nav a:hover{color:#fff;background:#ffffff14}.sidebar-nav a.active{color:var(--navy);background:#fff;font-weight:600}.sidebar-footer{margin-top:auto;padding-top:20px}.user-chip{background:#ffffff14;border-radius:12px;align-items:center;gap:10px;padding:12px 10px;display:flex}.avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:13px;font-weight:600;display:grid}.user-chip .info{overflow:hidden}.user-chip .info .name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.user-chip .info .role{color:#fff9;font-size:11.5px}.logout-btn{color:#fffc;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:9px;width:100%;margin-top:8px;padding:9px;font-size:13px;transition:all .15s}.logout-btn:hover{color:#fff;background:#ffffff1a}.portal-content{flex:1;min-width:0;max-width:1200px;padding:32px}@media (width<=860px){.portal-layout{flex-direction:column}.mobile-topbar{background:var(--navy);z-index:30;align-items:center;gap:14px;padding:14px 16px;display:flex;position:sticky;top:0}.mobile-menu-button{color:#fff;cursor:pointer;background:0 0;border:none;padding:2px;display:flex}.sidebar-backdrop{z-index:55;background:#0006;position:fixed;inset:0}.sidebar{z-index:60;width:280px;max-width:85vw;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.sidebar-offen{transform:translate(0)}.sidebar-close-button{display:flex}.portal-content{max-width:100%;padding:20px}}.objekt-bild{background:var(--accent-light);width:100%;height:120px;overflow:hidden}.objekt-bild img{object-fit:cover;width:100%;height:100%;display:block}.objekt-bild-platzhalter{width:100%;height:100%;color:var(--accent);place-items:center;display:grid}.mein-objekt-karte{flex-direction:column;padding:0;display:flex;overflow:hidden}.mein-objekt-karte-body{flex-direction:column;gap:3px;padding:18px 20px 20px;display:flex}.mein-objekt-karte-body h3{font-size:1.1rem}.mein-objekt-adresse{color:var(--text-muted);margin:0 0 12px;font-size:.85rem}.mein-objekt-info{border-top:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:baseline;gap:.75rem;padding-top:12px;font-size:.85rem;display:flex}.mein-objekt-info-dokumente{color:var(--accent);white-space:nowrap;flex-shrink:0;font-weight:600}.admin-start{flex-direction:column;gap:22px;display:flex}.admin-start-kopf{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.admin-start-datum{color:var(--text-muted);margin:0 0 4px;font-size:13px;font-weight:500}.admin-start-kopf h1{letter-spacing:-.6px;margin:0 0 6px;font-size:30px}.admin-start-zusammenfassung{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:0 .3rem;margin:0;font-size:14.5px;display:flex}.admin-start-zusammenfassung strong{color:var(--text);font-weight:600}.admin-start-zusammenfassung strong.text-dringend{color:var(--error)}.admin-start-zusammenfassung svg{color:var(--success)}.admin-schnellaktionen{flex-wrap:wrap;gap:8px;display:flex}.admin-schnellaktion{background:var(--card-bg);border:1px solid var(--border);width:84px;height:70px;color:var(--navy);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.admin-schnellaktion svg{color:var(--accent)}.admin-schnellaktion:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 8px 20px #1b3a5c14}.admin-kennzahlen{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.admin-kennzahl{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex-direction:column;gap:8px;padding:18px 20px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.admin-kennzahl:hover{border-color:var(--accent);box-shadow:0 10px 26px #1b3a5c14}.admin-kennzahl-kopf{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.admin-kennzahl-icon{background:var(--accent-light);width:30px;height:30px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.admin-kennzahl-wert{letter-spacing:-.8px;color:var(--navy);font-variant-numeric:tabular-nums;align-items:center;min-height:36px;font-size:26px;font-weight:700;display:flex}.admin-kennzahl-unterzeile{color:var(--text-muted);align-items:center;gap:5px;font-size:12.5px;display:flex}.admin-kennzahl.warnung .admin-kennzahl-unterzeile{color:var(--warning);font-weight:500}.admin-kennzahl.gut .admin-kennzahl-unterzeile{color:var(--success)}.admin-platzhalter{background:linear-gradient(90deg, var(--bg) 0%, var(--border) 50%, var(--bg) 100%);background-size:200% 100%;border-radius:6px;width:110px;height:22px;animation:1.2s ease-in-out infinite admin-schimmer;display:inline-block}@keyframes admin-schimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.admin-start-raster{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.admin-start-seitenspalte{flex-direction:column;gap:20px;min-width:0;display:flex}.admin-laedt{color:var(--text-muted);font-size:12.5px}.admin-kopf-icon{color:var(--text-muted)}.admin-filter{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.admin-filter-chip{border:1px solid var(--border);background:var(--card-bg);font-family:var(--font-body);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.admin-filter-chip:hover{border-color:var(--accent)}.admin-filter-chip.aktiv{background:var(--navy);border-color:var(--navy);color:#fff}.admin-filter-anzahl{background:var(--bg);min-width:18px;color:var(--text-muted);text-align:center;border-radius:999px;padding:0 5px;font-size:11px;font-weight:600}.admin-filter-chip.aktiv .admin-filter-anzahl{color:#fff;background:#fff3}.admin-filter-chip.dringend:not(.aktiv) .admin-filter-anzahl{background:var(--error-bg);color:var(--error)}.admin-aufgaben-liste{margin:0;padding:0;list-style:none}.admin-aufgabe{border-top:1px solid var(--border);border-left:3px solid #0000;align-items:center;gap:12px;padding:12px 0 12px 12px;display:flex}.admin-aufgabe:first-child{border-top:none}.admin-aufgabe.dringend{border-left-color:var(--error)}.admin-aufgabe.bald{border-left-color:var(--warning)}.admin-aufgabe.info{border-left-color:var(--border)}.admin-aufgabe-icon{background:var(--accent-light);width:34px;height:34px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.admin-aufgabe-text{flex:1;min-width:0}.admin-aufgabe-titel{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:14px;font-weight:600;display:flex}.admin-aufgabe-detail{color:var(--text-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:12.5px;display:-webkit-box;overflow:hidden}.admin-prio{border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.admin-prio.dringend{background:var(--error-bg);color:var(--error)}.admin-prio.bald{background:var(--warning-bg);color:var(--warning)}.admin-aufgabe-aktion{white-space:nowrap;flex-shrink:0}.admin-mehr{background:var(--bg);width:100%;font-family:var(--font-body);color:var(--navy);cursor:pointer;border:none;border-radius:10px;margin-top:8px;padding:8px;font-size:13px;font-weight:600;display:block}.admin-mehr:hover{background:var(--border)}.admin-leer{color:var(--text-muted);align-items:center;gap:14px;padding:18px 4px;font-size:14px;display:flex}.admin-leer svg{color:var(--success);flex-shrink:0}.admin-leer p{margin:0}.admin-leer strong{color:var(--text)}.admin-leer-klein{color:var(--text-muted);margin:0;font-size:13.5px}.admin-termine,.admin-nachrichten{margin:0;padding:0;list-style:none}.admin-termine li+li,.admin-nachrichten li+li{border-top:1px solid var(--border)}.admin-termin,.admin-nachricht{color:inherit;border-radius:10px;align-items:center;gap:12px;margin:0 -6px;padding:10px 6px;text-decoration:none;display:flex}.admin-termin:hover,.admin-nachricht:hover{background:var(--bg)}.admin-termin-datum{background:var(--accent-light);width:44px;height:46px;color:var(--navy);border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;line-height:1.1;display:flex}.admin-termin-datum .tag{font-size:17px;font-weight:700}.admin-termin-datum .monat{text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.admin-termin-text,.admin-nachricht-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.admin-termin-titel{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:13.5px;font-weight:600;display:flex;overflow:hidden}.admin-termin-titel svg{color:var(--accent);flex-shrink:0}.admin-termin-detail{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-avatar{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:12.5px;font-weight:600;display:grid}.admin-nachricht-kopf{justify-content:space-between;gap:8px;display:flex}.admin-nachricht-name{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.admin-nachricht.ungelesen .admin-nachricht-name{font-weight:700}.admin-nachricht-zeit{color:var(--text-muted);flex-shrink:0;font-size:11.5px}.admin-nachricht-vorschau{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.admin-nachricht.ungelesen .admin-nachricht-vorschau{color:var(--text)}.admin-nachricht .sidebar-badge{flex-shrink:0;margin-left:0}.admin-tabelle-wrapper{margin:0 -24px;padding:0 24px;overflow-x:auto}.admin-tabelle{border-collapse:collapse;width:100%;font-size:13.5px}.admin-tabelle th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:0 12px 10px;font-size:12px;font-weight:600}.admin-tabelle td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 12px}.admin-tabelle tbody tr:last-child td{border-bottom:none}.admin-tabelle th:first-child,.admin-tabelle td:first-child{padding-left:0}.admin-tabelle .zahl{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.admin-objekt-link{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.admin-objekt-link svg{color:var(--accent);flex-shrink:0}.admin-objekt-link>span{flex-direction:column;display:flex}.admin-objekt-name{color:var(--navy);font-weight:600}.admin-objekt-link:hover .admin-objekt-name{text-decoration:underline}.admin-objekt-ort{color:var(--text-muted);font-size:12px}.admin-gedimmt{color:var(--text-muted)}.admin-rueckstand{color:var(--warning);font-weight:600;text-decoration:none}.admin-rueckstand:hover{text-decoration:underline}.admin-chips{flex-wrap:wrap;gap:5px;display:flex}.admin-chips .status-badge{align-items:center;gap:4px;font-size:12px;text-decoration:none;display:inline-flex}.admin-chips a.status-badge:hover{filter:brightness(.95);text-decoration:underline}.admin-tabelle-fuss{color:var(--text-muted);align-items:center;gap:6px;margin:12px 0 0;font-size:12px;display:flex}.admin-start-hinweis{color:var(--text-muted);margin:0;font-size:12.5px}@media (width<=1100px){.admin-kennzahlen{grid-template-columns:repeat(2,1fr)}.admin-start-raster{grid-template-columns:1fr}}@media (width<=600px){.admin-start-kopf h1{font-size:25px}.admin-kennzahlen{gap:10px}.admin-kennzahl{gap:6px;padding:14px}.admin-kennzahl-kopf{font-size:12px}.admin-kennzahl-icon{display:none}.admin-kennzahl-wert{min-height:28px;font-size:20px}.admin-kennzahl-unterzeile{align-items:flex-start;font-size:11.5px}.admin-tabelle{min-width:680px}.admin-schnellaktion{width:calc(33.3333% - 5.33333px)}.admin-schnellaktionen{width:100%}.admin-aufgabe{flex-wrap:wrap;align-items:flex-start;row-gap:8px}.admin-aufgabe-text{flex:calc(100% - 46px)}.admin-aufgabe-aktion{margin-left:46px}}.mini-item-titel{font-size:14px;font-weight:600}.mini-item-meta{color:var(--text-muted);margin-top:2px;font-size:12.5px}.neueste-mitteilungen{margin-top:2rem}.neueste-mitteilung-link{width:100%;min-width:0;color:inherit;text-decoration:none;display:block}.neueste-mitteilung-link:hover .neueste-mitteilung-text{color:var(--navy)}.neueste-mitteilung-text{-webkit-line-clamp:2;white-space:pre-wrap;-webkit-box-orient:vertical;margin-top:4px;display:-webkit-box;overflow:hidden}.dashboard-aktion{margin-top:1.5rem}.meine-objekte-bereich{margin-top:2rem}.meine-objekte-bereich h2{margin:0 0 1rem;font-size:1.3rem}.meine-objekte-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}@media (width<=860px){.meine-objekte-grid{grid-template-columns:1fr}}.objekt-form-bild-vorschau{border-radius:10px;width:100%;height:100px;margin-bottom:8px}.objekt-form-bild-vorschau+.btn{margin-bottom:10px}.objekte-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;display:grid}.objekt-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.objekt-card-link{color:inherit;flex-direction:column;text-decoration:none;display:flex}.objekt-card-body{flex-direction:column;gap:.25rem;padding:16px 18px 4px;display:flex}.objekt-card-body h2{font-size:1.15rem}.objekt-card-body p{color:var(--text-muted);margin:0;font-size:.9rem}.objekt-card-count{font-weight:500;color:var(--accent)!important}.objekt-card-actions{gap:.5rem;padding:12px 18px 18px;display:flex}.flaeche-eingabe{gap:.5rem;display:flex}.flaeche-eingabe input{flex:1;min-width:0}.flaeche-eingabe select{flex:none;width:auto}.objekt-detail-bild{border-radius:var(--radius);height:220px;margin-bottom:1.5rem}.objekt-detail-adresse{color:var(--text-muted);margin:.25rem 0 0}.objekt-detail-aktionen{flex-shrink:0;gap:.75rem;display:flex}.einheiten-liste{flex-direction:column;gap:.75rem;display:flex}.einheit-card{justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.5rem;display:flex}.einheit-card h3{margin:0 0 .2rem;font-size:1rem}.einheit-namen{color:var(--text-muted);font-weight:500}.einheit-card p{color:var(--text-muted);margin:0;font-size:.9rem}.einheit-bewohner{color:var(--text-muted);flex-direction:column;gap:.15rem;margin-top:.35rem;font-size:.82rem;display:flex}.einheit-card-actions{flex-shrink:0;gap:.5rem;display:flex}.eigentum-auswahl{margin-bottom:1.1rem}.eigentum-liste{flex-direction:column;gap:.4rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.eigentum-liste li{background:var(--bg);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.9rem;display:flex}.eigentum-entfernen{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.1rem;line-height:1}.eigentum-entfernen:hover{color:var(--error)}.eigentum-hinzufuegen{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.eigentum-hinzufuegen select{min-width:140px;font-family:var(--font-body);border:1.5px solid var(--border);color:var(--text);background:#fff;border-radius:8px;flex:1;padding:.5rem .6rem;font-size:.9rem}.aktionen-menu{display:inline-flex;position:relative}.aktionen-menu-dropdown{z-index:20;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:1px;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 14px 34px #1b3a5c24}.aktionen-menu-eintrag{text-align:left;width:100%;font-family:var(--font-body);color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:13.5px;display:block}.aktionen-menu-eintrag:hover:not(:disabled){background:var(--bg)}.aktionen-menu-eintrag.danger{color:var(--error)}.aktionen-menu-eintrag.danger:hover:not(:disabled){background:var(--error-bg)}.aktionen-menu-eintrag:disabled{opacity:.5;cursor:not-allowed}.benutzer-filter{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.benutzer-filter .form-field{min-width:160px;margin-bottom:0}.benutzer-suche{flex:1;min-width:220px}.benutzer-tabelle-wrapper{padding:0;overflow-x:auto}.benutzer-tabelle{border-collapse:collapse;width:100%;font-size:.9rem}.benutzer-tabelle th,.benutzer-tabelle td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;padding:.75rem 1.25rem}.benutzer-tabelle thead th{color:var(--navy);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500}.benutzer-tabelle tbody tr:last-child td{border-bottom:none}.zugangsdaten-kompakt{flex-direction:column;gap:.3rem;display:flex}.zugangsdaten-zeile{align-items:center;gap:.35rem;display:flex}.zugangsdaten-zeile code{min-width:8ch}.benutzer-aktionen{align-items:center;gap:.4rem;display:flex}.login-status-zelle{align-items:center;gap:.5rem;display:flex}.login-ampel{border-radius:50%;flex-shrink:0;width:10px;height:10px}.login-ampel.gruen{background:var(--success);box-shadow:0 0 0 3px var(--success-bg)}.login-ampel.rot{background:var(--error);box-shadow:0 0 0 3px var(--error-bg)}.login-status-text{color:var(--text-muted);font-size:.85rem}.text-muted{color:var(--text-muted)}@media (width<=860px){.benutzer-tabelle-wrapper{box-shadow:none;background:0 0;border:none;padding:0;overflow-x:visible}.benutzer-tabelle thead{display:none}.benutzer-tabelle,.benutzer-tabelle tbody,.benutzer-tabelle tr,.benutzer-tabelle td{width:100%;display:block}.benutzer-tabelle tr{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;overflow:hidden;box-shadow:0 10px 30px #1b3a5c0f}.benutzer-tabelle tr:last-child{margin-bottom:0}.benutzer-tabelle td{white-space:normal;padding:10px 16px}.benutzer-tabelle td:last-child{border-bottom:none}.benutzer-tabelle td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600;display:block}}.benutzer-name-link{color:var(--navy);font-weight:600;text-decoration:none}.benutzer-name-link:hover{text-decoration:underline}.objekt-auswahl-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;display:grid}.objekt-auswahl-karte{text-align:left;font-family:var(--font-body);cursor:pointer;flex-direction:column;padding:0;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.objekt-auswahl-karte:hover{transform:translateY(-2px);box-shadow:0 14px 34px #1b3a5c1f}.objekt-auswahl-karte-body{flex-direction:column;gap:.25rem;padding:16px 18px 18px;display:flex}.objekt-auswahl-karte-body h3{font-size:1.1rem}.objekt-auswahl-karte-body p{color:var(--text-muted);margin:0;font-size:.88rem}.wohneinheit-auswahl-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.wohneinheit-auswahl-karte{text-align:left;font-family:var(--font-body);cursor:pointer;align-items:center;gap:.85rem;padding:18px 20px;transition:transform .15s,box-shadow .15s;display:flex}.wohneinheit-auswahl-karte:hover{transform:translateY(-2px);box-shadow:0 14px 34px #1b3a5c1f}.wohneinheit-auswahl-icon{background:var(--accent-light);width:40px;height:40px;color:var(--accent);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.wohneinheit-auswahl-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.wohneinheit-auswahl-bezeichnung{color:var(--text);font-weight:600}.wohneinheit-auswahl-namen{color:var(--text-muted);font-weight:500}.wohneinheit-auswahl-flaeche{color:var(--text-muted);font-size:.85rem}.sammel-upload-modal{max-width:1100px}.sammel-upload-dropzone{border:2px dashed var(--border);background:var(--bg);min-height:140px;color:var(--navy);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;margin:1rem 0;font-weight:600;display:flex}.sammel-upload-dropzone:hover{border-color:var(--navy)}.sammel-upload-dropzone input{display:none}.sammel-upload-tabelle-wrapper{border:1px solid var(--border);border-radius:12px;max-height:55vh;margin:1rem 0;overflow:auto}.sammel-upload-tabelle{border-collapse:collapse;width:100%;font-size:13.5px}.sammel-upload-tabelle th{background:var(--bg);text-align:left;border-bottom:1px solid var(--border);z-index:1;padding:10px 12px;font-weight:600;position:sticky;top:0}.sammel-upload-tabelle td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}.sammel-upload-tabelle tr:last-child td{border-bottom:none}.sammel-upload-tabelle input,.sammel-upload-tabelle select{width:100%;min-width:200px;font-size:13px}.sammel-dateiname{color:var(--text-muted);word-break:break-all;margin-bottom:4px;font-size:12px}.sammel-treffer{color:var(--text-muted);min-width:160px;font-size:12.5px}.sammel-upload-optionen{flex-wrap:wrap;align-items:flex-end;gap:.5rem 1.5rem;display:flex}.sammel-upload-optionen .form-field{min-width:240px;margin:0}.dokument-vorschau{flex-direction:column;width:100%;max-width:min(90vw,820px);max-height:90vh;display:flex}.dokument-vorschau-kopf{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.dokument-vorschau-kopf h2{word-break:break-word;font-size:1.25rem}.dokument-vorschau-inhalt{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:200px;display:flex;overflow:auto}.dokument-vorschau-frame{border:none;width:100%;height:65vh}.dokument-vorschau-bild{object-fit:contain;max-width:100%;max-height:65vh}.dokument-vorschau-hinweis{color:var(--text-muted);text-align:center;padding:2rem}.dokumente-back{font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:0}.dokumente-meta{color:var(--text-muted);margin-top:2px;font-size:14.5px}.dokumente-upload-kontext{color:var(--accent);margin:-.3rem 0 1.1rem;font-size:.9rem;font-weight:600}.dokumente-filter{flex-wrap:wrap;gap:1rem;margin-bottom:2rem;display:flex}.dokumente-filter .form-field{min-width:180px;margin-bottom:0}.dokumente-tabelle-wrapper{padding:0;overflow-x:auto}.dokumente-tabelle{border-collapse:collapse;width:100%;font-size:.9rem}.dokumente-tabelle th,.dokumente-tabelle td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.9rem 1.25rem}.dokumente-tabelle thead th{color:var(--navy);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.8rem;font-weight:500}.dokumente-tabelle tbody tr:last-child td{border-bottom:none}.dokumente-aktionen{white-space:nowrap;gap:.4rem;display:flex}.chat-kontakt-liste{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 10px 30px #1b3a5c0f}.chat-kontakt-zeile{border:none;border-bottom:1px solid var(--border);text-align:left;font-family:var(--font-body);cursor:pointer;background:0 0;align-items:center;gap:14px;padding:16px 20px;transition:background .15s;display:flex}.chat-kontakt-zeile:last-child{border-bottom:none}.chat-kontakt-zeile:hover{background:var(--bg)}.chat-kontakt-avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:17px;font-weight:600;display:grid}.chat-kontakt-mitte{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.chat-kontakt-kopf{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.chat-kontakt-name{color:var(--text);font-weight:600}.chat-kontakt-zeit{color:var(--text-muted);flex-shrink:0;font-size:12px}.chat-kontakt-fuss{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.chat-kontakt-vorschau{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.chat-kontakt-badge{background:var(--navy);color:#fff;border-radius:999px;flex-shrink:0;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11.5px;font-weight:600;display:grid}.chat-anhang-bild{cursor:pointer;background:#ffffff26;border:none;border-radius:12px;width:200px;max-width:100%;height:150px;padding:0;display:block;overflow:hidden}.chat-anhang-bild img{object-fit:cover;width:100%;height:100%;display:block}.chat-anhang-bild-platzhalter{width:100%;height:100%}.chat-anhang-datei{color:inherit;cursor:pointer;font-family:var(--font-body);background:#ffffff1a;border:1px solid #ffffff59;border-radius:10px;align-items:center;gap:8px;max-width:100%;padding:10px 12px;display:flex}.chat-blase.fremd .chat-anhang-datei{border-color:var(--border);background:#fff}.chat-anhang-datei-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.chat-fenster{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;height:calc(100svh - 64px);display:flex;overflow:hidden;box-shadow:0 10px 30px #1b3a5c0f}@media (width<=860px){.chat-fenster{border-left:none;border-right:none;border-radius:0;height:calc(100svh - 96px)}}.chat-fenster-kopf{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:16px 20px;display:flex}.chat-zurueck{color:var(--navy);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;padding:4px;display:grid}.chat-zurueck:hover{background:var(--bg)}.chat-fenster-name{font-family:var(--font-heading);color:var(--navy);font-size:1.15rem}.chat-verlauf{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex;overflow-y:auto}.chat-hinweis{text-align:center;color:var(--text-muted);margin-top:2rem}.chat-blase-zeile{justify-content:flex-start;display:flex}.chat-blase-zeile.eigen{justify-content:flex-end}.chat-blase{border-radius:16px;flex-direction:column;gap:6px;max-width:min(72%,480px);padding:10px 14px;display:flex}.chat-blase.fremd{background:var(--bg);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-blase.eigen{background:var(--navy);color:#fff;border-bottom-right-radius:4px}.chat-blase-absender{opacity:.75;font-size:11.5px;font-weight:600}.chat-blase-text{white-space:pre-wrap;word-break:break-word;margin:0;font-size:14.5px}.chat-blase-zeit{opacity:.65;text-align:right;font-size:11px}.chat-datei-input-versteckt{display:none}.chat-anhang-button{color:var(--navy);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;place-items:center;padding:8px;display:grid}.chat-anhang-button:hover{background:var(--bg)}.chat-anhang-chip{background:var(--accent-light);color:var(--navy);border-radius:10px;align-items:center;gap:8px;margin:0 16px;padding:8px 12px;font-size:13px;display:flex}.chat-anhang-chip-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.chat-anhang-chip-hinweis{color:var(--text-muted);flex-shrink:0;font-size:11.5px}.chat-anhang-chip-entfernen{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;padding:2px;display:grid}.chat-anhang-chip-entfernen:hover{color:var(--error)}.chat-ablage-warnung{background:var(--warning-bg);color:var(--warning);border-radius:10px;margin:0 16px 10px;padding:8px 12px;font-size:13px}.chat-eingabe{border-top:1px solid var(--border);flex-shrink:0;gap:10px;padding:14px 16px;display:flex}.chat-eingabe input{font-family:var(--font-body);border:1.5px solid var(--border);border-radius:999px;outline:none;flex:1;padding:12px 14px;font-size:14px}.chat-eingabe input:focus{border-color:var(--navy)}.chat-senden{border-radius:999px;flex-shrink:0;place-items:center;width:44px;height:44px;padding:0;display:grid}.chat-sende-fehler{margin:0;padding:0 16px 12px}.chat-ziel-hinweis{margin:0 0 1.1rem}.objekt-chat-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:4px;padding:8px 16px 0;display:flex}.objekt-chat-tab{font-family:var(--font-body);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;align-items:center;gap:6px;padding:10px 14px;font-size:14px;font-weight:500;display:flex}.objekt-chat-tab:hover{color:var(--navy)}.objekt-chat-tab.aktiv{color:var(--navy);border-bottom-color:var(--navy);font-weight:600}.objekt-chat-hinweis{color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;margin:0;padding:10px 20px;font-size:12.5px}.chat-blase.fremd.mitteilung{background:var(--accent-light);border-color:var(--accent);border-left-width:4px;max-width:min(85%,560px)}.objekt-chat-absender{align-items:center;gap:4px;display:flex}.objekt-chat-loeschen{color:inherit;opacity:.8;cursor:pointer;vertical-align:middle;background:0 0;border:none;padding:0 6px 0 0}.objekt-chat-loeschen:hover{opacity:1}.objekt-chat-textfeld{font-family:var(--font-body);border:1.5px solid var(--border);resize:none;border-radius:22px;outline:none;flex:1;padding:12px 14px;font-size:14px;line-height:1.4}.objekt-chat-textfeld.mehrzeilig{resize:vertical;border-radius:14px}.objekt-chat-textfeld:focus{border-color:var(--navy)}.objekt-chat-eingabe{align-items:flex-end}.schaden-bilder-leiste{flex-wrap:wrap;gap:.4rem;margin:.4rem 0;display:flex}.schaden-bild-thumbnail{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;flex-shrink:0;width:56px;height:56px;padding:0;overflow:hidden}.schaden-bild-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.schaden-bild-thumbnail:disabled{cursor:default;opacity:.6}.schaden-bild-modal{flex-direction:column;width:100%;max-width:min(90vw,700px);max-height:90vh;display:flex}.schaden-bild-kopf{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.schaden-bild-kopf h2{font-size:1.25rem}.schaden-bild-inhalt{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:200px;display:flex;overflow:auto}.schaden-bild-gross{object-fit:contain;max-width:100%;max-height:60vh}.schaeden-untertitel{color:var(--text-muted);margin-top:4px;font-size:14.5px}.schaeden-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.schaden-karte{flex-direction:column;gap:.4rem;padding:1.5rem;display:flex}.schaden-kopf{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.schaden-kopf h3{margin:0;font-size:1.05rem}.schaden-kategorie{color:var(--accent);margin:0;font-size:.85rem;font-weight:500}.schaden-ort{color:var(--text-muted);margin:0;font-size:.9rem}.schaden-beschreibung{white-space:pre-wrap;margin:.4rem 0}.schaden-meta{color:var(--text-muted);margin:0 0 .5rem;font-size:.8rem}.schaden-status-auswahl{align-self:flex-start}.schaden-admin-aktionen{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto;display:flex}.schaeden-ansicht-umschalter{gap:.5rem;margin-bottom:1.25rem;display:flex}.mieterwechsel-modal{max-width:640px}.mieterwechsel-modal-wohneinheit{color:var(--accent);margin:-.3rem 0 1.1rem;font-size:.9rem;font-weight:600}.zaehler-liste{flex-direction:column;gap:.6rem;margin-bottom:.75rem;display:flex}.zaehler-zeile{background:var(--bg);border:1px solid var(--border);border-radius:10px;grid-template-columns:1fr 1fr 1fr 1fr auto;align-items:center;gap:.5rem;padding:.5rem;display:grid}.zaehler-zeile select,.zaehler-zeile input{font-family:var(--font-body);border:1.5px solid var(--border);background:#fff;border-radius:8px;outline:none;min-width:0;padding:8px 10px;font-size:13px}.zaehler-entfernen{color:var(--error);flex-shrink:0}.zaehler-hinzufuegen{align-items:center;gap:.35rem;display:inline-flex}.protokoll-vorhanden{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:10px 14px;font-size:13.5px;display:flex}@media (width<=700px){.zaehler-zeile{grid-template-columns:1fr 1fr}}.mieterwechsel-back{font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:0}.mieterwechsel-meta{color:var(--text-muted);margin-top:2px;font-size:14.5px}.mieterwechsel-tabelle-wrapper{padding:0;overflow-x:auto}.mieterwechsel-tabelle{border-collapse:collapse;width:100%;font-size:.9rem}.mieterwechsel-tabelle th,.mieterwechsel-tabelle td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.9rem 1.25rem}.mieterwechsel-tabelle thead th{color:var(--navy);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.8rem;font-weight:500}.mieterwechsel-tabelle tbody tr:last-child td{border-bottom:none}.mieterwechsel-detail-meta{color:var(--text-muted);margin-top:2px;font-size:14.5px}.mieterwechsel-detail-aktionen{gap:.75rem;display:flex}.mieterwechsel-detail-karte{flex-direction:column;gap:.9rem;margin-bottom:1.5rem;display:flex}.mieterwechsel-detail-zeile{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.9rem;display:flex}.mieterwechsel-detail-zeile:last-child{border-bottom:none;padding-bottom:0}.mieterwechsel-detail-label{color:var(--text-muted);flex-shrink:0;font-size:13px;font-weight:500}.mieterwechsel-detail-notiz{text-align:right;white-space:pre-wrap}.mieterwechsel-detail-kein-protokoll{color:var(--text-muted);font-size:.9rem}.mieterwechsel-zaehler-tabelle-wrapper{overflow-x:auto}.mieterwechsel-zaehler-tabelle{border-collapse:collapse;width:100%;font-size:.9rem}.mieterwechsel-zaehler-tabelle th,.mieterwechsel-zaehler-tabelle td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1rem}.mieterwechsel-zaehler-tabelle thead th{color:var(--navy);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.8rem;font-weight:500}.mieterwechsel-zaehler-tabelle tbody tr:last-child td{border-bottom:none}.verwaltung-module{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.verwaltung-modul{color:inherit;gap:.9rem;padding:20px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}a.verwaltung-modul:hover{transform:translateY(-2px);box-shadow:0 14px 34px #1b3a5c1f}.verwaltung-modul.gesperrt{opacity:.6}.verwaltung-modul-icon{background:var(--accent-light);width:42px;height:42px;color:var(--accent);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.verwaltung-modul-text{flex-direction:column;gap:4px;min-width:0;display:flex}.verwaltung-modul-titel{color:var(--navy);font-weight:600}.verwaltung-modul-beschreibung{color:var(--text-muted);font-size:13.5px;line-height:1.45}.verwaltung-modul-status{color:var(--text-muted);margin-top:4px;font-size:12px;font-weight:600}.verwaltung-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:1.25rem;display:flex}.verwaltung-tab{font-family:var(--font-body);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;padding:10px 14px;font-size:14px;font-weight:500}.verwaltung-tab:hover{color:var(--navy)}.verwaltung-tab.aktiv{color:var(--navy);border-bottom-color:var(--navy);font-weight:600}.verwaltung-abschnitt+.verwaltung-abschnitt{margin-top:1.5rem}.verwaltung-abschnitt-kopf{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.verwaltung-abschnitt-kopf h2{margin:0;font-size:17px;font-weight:600}.verwaltung-aktionen{flex-wrap:wrap;gap:.5rem;display:flex}.verwaltung-formular-raster{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 1rem;display:grid}.verwaltung-tabelle-wrapper{border:1px solid var(--border);background:var(--card-bg);border-radius:12px;overflow-x:auto}.verwaltung-tabelle{border-collapse:collapse;width:100%;font-size:13.5px}.verwaltung-tabelle th{text-align:left;background:var(--bg);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-weight:600}.verwaltung-tabelle td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 12px}.verwaltung-tabelle tbody tr:last-child td{border-bottom:none}.verwaltung-tabelle tfoot td{background:var(--bg);border-top:1px solid var(--border);border-bottom:none;font-weight:600}.verwaltung-tabelle .zahl{text-align:right;white-space:nowrap}.verwaltung-tabelle input,.verwaltung-tabelle select{width:100%;min-width:90px;font-family:var(--font-body);border:1.5px solid var(--border);background:#fff;border-radius:8px;outline:none;padding:6px 8px;font-size:13.5px}.verwaltung-tabelle input:focus,.verwaltung-tabelle select:focus{border-color:var(--navy)}.verwaltung-tabelle input.zahl-eingabe{text-align:right;min-width:80px;max-width:120px}.verwaltung-tabelle input.ungueltig{border-color:var(--error)}.verwaltung-tabelle tr.geaendert td{background:var(--accent-light)}.verwaltung-tabelle input[type=checkbox]{width:auto;min-width:0}.verwaltung-hinweis{color:var(--text-muted);margin:0 0 .9rem;font-size:13px}.verwaltung-warnung{background:var(--warning-bg);color:var(--warning);border-radius:10px;margin:0 0 1rem;padding:10px 14px;font-size:13.5px}.verwaltung-leer{text-align:center;color:var(--text-muted);padding:24px}.verwaltung-eigentuemer{flex-wrap:wrap;align-items:center;gap:4px;min-width:190px;display:flex}.verwaltung-eigentuemer-chip{background:var(--accent-light);color:var(--navy);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 6px 3px 10px;font-size:12.5px;display:inline-flex}.verwaltung-eigentuemer-chip button{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;padding:2px;display:grid}.verwaltung-eigentuemer-chip button:hover{background:#00000014}.verwaltung-tabelle .verwaltung-eigentuemer select{width:auto;min-width:0;color:var(--text-muted);padding:3px 6px;font-size:12.5px}.verwaltung-mieter{white-space:nowrap;color:var(--text-muted)}.verwaltung-filterzeile{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.verwaltung-suche{min-width:220px;font-family:var(--font-body);border:1.5px solid var(--border);border-radius:999px;outline:none;padding:8px 12px;font-size:13.5px}.verwaltung-suche:focus{border-color:var(--navy)}.verwaltung-tabelle tr.verwaltung-klickbar{cursor:pointer}.verwaltung-tabelle tr.verwaltung-klickbar:hover td{background:var(--accent-light)}.verwaltung-modal-breit{max-width:760px}.verwaltung-fieldset{border:1px solid var(--border);border-radius:12px;margin:0 0 1rem;padding:12px 16px 4px}.verwaltung-fieldset legend{color:var(--navy);padding:0 6px;font-size:13.5px;font-weight:600}.verwaltung-unterueberschrift{margin:1.25rem 0 .4rem;font-size:15px;font-weight:600}.verwaltung-schluessel-liste{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.verwaltung-chip{border:1.5px solid var(--border);background:var(--card-bg);font-family:var(--font-body);cursor:pointer;border-radius:999px;padding:8px 12px;font-size:13.5px}.verwaltung-chip.aktiv{border-color:var(--navy);background:var(--navy);color:#fff}.verwaltung-tabelle tr.buchung-storniert td{color:var(--text-muted)}.buchung-quelle{color:var(--text-muted);margin-left:6px;font-size:11.5px}.verwaltung-tabelle td.buchung-gruppe{background:var(--bg);color:var(--navy);font-weight:600}.verwaltung-tabelle tr.buchung-summe td{border-bottom:2px solid var(--border);font-weight:600}.buchung-fehlerliste{color:var(--error);max-height:240px;margin:.5rem 0 0;padding-left:1.2rem;font-size:13px;overflow-y:auto}.link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.verwaltung-seitenkopf{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.verwaltung-seitenkopf .btn{align-items:center;gap:6px;display:inline-flex}.op-kachel{flex-direction:column;gap:2px;margin-bottom:1rem;padding:14px 20px;display:inline-flex}.op-kachel-wert{color:var(--navy);font-size:22px;font-weight:700}.op-kachel-text{color:var(--text-muted);font-size:13px}.icon-btn.op-bezahlen{color:var(--success)}.mahn-karenz{width:56px;font:inherit;text-align:center;border:1.5px solid var(--border);border-radius:6px;padding:2px 6px}.auszug-zweck{color:var(--text-muted);max-width:420px;font-size:12.5px}.verwaltung-tabelle td.auszug-eingang{color:var(--success);font-weight:600}.verwaltung-tabelle td.auszug-ausgang{color:var(--error)}.beleg-treffer{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:6px 0;font-size:13.5px;display:flex}.beleg-treffer:last-child{border-bottom:none}.wp-summen{flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;display:flex}.wp-neue-position{flex-wrap:wrap;align-items:center;gap:.5rem;max-width:560px;display:flex}.wp-mehr{color:var(--error)}.wp-weniger{color:var(--success)}.verwaltung-tabelle.wp-detail{background:var(--bg);border-radius:8px;font-size:12.5px}.versammlung-top{margin-bottom:1rem;padding:16px 20px}.versammlung-top-kopf{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.versammlung-top-titel{min-width:200px;font:inherit;border:1.5px solid var(--border);border-radius:8px;flex:1;padding:6px 10px;font-weight:600}.versammlung-antrag{border-left:3px solid var(--accent);background:var(--accent-light);white-space:pre-wrap;border-radius:6px;padding:8px 12px}.verwaltung-chip.stimme-ja.aktiv{background:var(--success);border-color:var(--success)}.verwaltung-chip.stimme-nein.aktiv{background:var(--error);border-color:var(--error)}.verwaltung-chip.stimme-enthaltung.aktiv{background:var(--text-muted);border-color:var(--text-muted)}.konto-auswahl{width:100%;position:relative}.konto-auswahl-eingabe{text-overflow:ellipsis;width:100%;padding-right:32px!important}.konto-auswahl-pfeil{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.konto-auswahl-liste{z-index:1000;background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:10px;max-height:280px;margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 12px 30px #1b3a5c24}.konto-auswahl-liste li{cursor:pointer;border-radius:7px;padding:7px 10px;font-size:13.5px}.konto-auswahl-liste li.aktiv{background:var(--accent-light)}.konto-auswahl-liste li.gewaehlt{color:var(--navy);font-weight:600}.konto-auswahl-nummer{font-variant-numeric:tabular-nums;color:var(--text-muted)}.konto-auswahl-liste li.konto-auswahl-leer{color:var(--text-muted);cursor:default}.konto-auswahl.verwaltung-suche{border:none;width:auto;min-width:260px;padding:0}.konto-auswahl.verwaltung-suche .konto-auswahl-eingabe{font-family:var(--font-body);border:1.5px solid var(--border);border-radius:999px;outline:none;padding:8px 12px;font-size:13.5px}.konto-auswahl.verwaltung-suche .konto-auswahl-eingabe:focus{border-color:var(--navy)}.mahn-druck{background:var(--bg);min-height:100vh;padding:0 16px 40px}.mahn-druck-status{text-align:center;padding:40px}.mahn-druck-leiste{top:env(safe-area-inset-top,0px);z-index:10;background:var(--card-bg,#fff);border:1px solid var(--border);max-width:210mm;color:var(--navy);border-radius:0 0 12px 12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 auto 20px;padding:12px 16px;font-weight:600;display:flex;position:sticky}.mahn-druck-leiste .btn{align-items:center;gap:6px;display:inline-flex}.mahn-brief{box-sizing:border-box;color:#1a1a1a;background:#fff;width:100%;max-width:210mm;min-height:297mm;margin:0 auto 20px;padding:18mm 20mm 20mm 25mm;font-family:Arial,Helvetica,sans-serif;font-size:10.5pt;line-height:1.5;box-shadow:0 6px 24px #1b3a5c1a}.mahn-brief-kopf{justify-content:flex-end;margin-bottom:14mm;display:flex}.mahn-brief-logo{width:auto;height:16mm}.mahn-brief-adresse{min-height:35mm}.mahn-brief-absender{color:#666;margin-bottom:3mm;font-size:7.5pt;text-decoration:underline}.mahn-brief-datum{text-align:right;margin-bottom:8mm}.mahn-brief-betreff{color:#1b3a5c;margin:0 0 2mm;font-size:12pt;font-weight:700}.mahn-brief p{margin:0 0 4mm}.mahn-brief-tabelle{border-collapse:collapse;width:100%;margin:2mm 0 6mm}.mahn-brief-tabelle th,.mahn-brief-tabelle td{text-align:left;border-bottom:.3mm solid #d6dde6;padding:1.6mm 2mm}.mahn-brief-tabelle th{color:#1b3a5c;font-weight:700}.mahn-brief-tabelle tfoot td{border-top:.5mm solid #1b3a5c;border-bottom:none;font-weight:700}.mahn-brief-tabelle .zahl{text-align:right;white-space:nowrap}.mahn-brief-gruss{margin-top:10mm!important}@media print{@page{size:A4;margin:0}.mahn-druck{background:#fff;padding:0}.mahn-druck-leiste{display:none}.mahn-brief{box-shadow:none;break-after:page;margin:0}.mahn-brief:last-child{break-after:auto}}.mahn-brief-zwischen{color:#1b3a5c;margin:6mm 0 1mm;font-size:11pt;font-weight:700}.mahn-brief-parteien th{vertical-align:top;width:32mm}.versammlung-druck-to li{margin-bottom:3mm}.versammlung-druck-top{break-inside:avoid;margin-bottom:5mm}.versammlung-linie{color:#555;border-top:.3mm solid #1a1a1a;max-width:110mm;padding-top:1mm;font-size:8.5pt;margin-top:14mm!important}.versammlung-unterschriften{break-inside:avoid;margin-top:10mm}.kontakt-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:2rem;display:grid}@media (width<=900px){.kontakt-layout{grid-template-columns:1fr}}.kontakt-seite{position:sticky;top:24px}.kontakt-avatar{aspect-ratio:4/3;background:var(--accent-light);width:100%;color:var(--accent);letter-spacing:2px;border-radius:18px;place-items:center;font-size:56px;font-weight:600;display:grid}.kontakt-name{margin:1rem 0 .15rem;font-size:1.4rem}.kontakt-rolle{color:var(--text-muted);margin:0 0 1.2rem}.kontakt-fakten{margin:0 0 1.25rem}.kontakt-fakten dt{color:var(--text-muted);margin-top:.9rem;font-size:13px;font-weight:600}.kontakt-fakten dd{margin:2px 0 0;font-size:15px}.kontakt-fakten a{color:var(--navy);word-break:break-all;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.kontakt-fakten a:hover{text-decoration:underline}.kontakt-zeile{display:block}.kontakt-karte{padding:24px 28px}.kontakt-karte+.kontakt-karte,.kontakt-karte+form,form .kontakt-karte+.kontakt-karte{margin-top:1.25rem}.kontakt-karte h2{border-bottom:1px solid var(--border);margin:0 0 1rem;padding-bottom:.75rem;font-size:1.15rem}.kontakt-raster{grid-template-columns:170px minmax(0,1fr);align-items:center;gap:10px 18px;display:grid}@media (width<=600px){.kontakt-raster{grid-template-columns:1fr;gap:4px}}.kontakt-raster>label{color:var(--text-muted);font-size:14px}.kontakt-raster input,.kontakt-raster select,.kontakt-notiz{width:100%;font-family:var(--font-body);border:1.5px solid var(--border);background:#fff;border-radius:10px;outline:none;padding:9px 12px;font-size:14.5px}.kontakt-raster input:focus,.kontakt-raster select:focus,.kontakt-notiz:focus{border-color:var(--navy)}.kontakt-raster input:disabled{background:var(--bg);color:var(--text-muted)}.kontakt-feldpaar{align-items:center;gap:10px;display:flex}.kontakt-feldpaar>*{flex:1;min-width:0}.kontakt-feldpaar>select:first-child{flex:0 0 150px}.kontakt-plz-ort>input:first-child{flex:0 0 110px}.kontakt-nebenlabel{color:var(--text-muted);white-space:nowrap;font-size:13.5px;flex:none!important}.kontakt-telefone{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.kontakt-telefone .kontakt-feldpaar{width:100%}.kontakt-icon-knopf{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;padding:6px;display:grid;flex:none!important}.kontakt-icon-knopf:hover{background:var(--bg);color:var(--error)}.kontakt-speichern{justify-content:flex-end;margin-top:1.25rem;display:flex}.kontakt-zeitleiste{margin:0;padding:0;list-style:none}.kontakt-eintrag{border-top:1px solid var(--border);gap:14px;padding:14px 0;display:flex}.kontakt-eintrag:first-child{border-top:none}.kontakt-eintrag-icon{background:var(--bg);width:34px;height:34px;color:var(--navy);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.art-telefonat .kontakt-eintrag-icon{color:#15803d;background:#16a34a1f}.art-email .kontakt-eintrag-icon{background:var(--accent-light);color:var(--accent)}.art-schaden .kontakt-eintrag-icon{background:var(--warning-bg);color:var(--warning)}.kontakt-eintrag-inhalt{flex:1;min-width:0}.kontakt-eintrag-kopf{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.kontakt-eintrag-zeit{color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.kontakt-eintrag-text{white-space:pre-wrap;color:var(--text);margin:6px 0 0;font-size:14px}.kontakt-eintrag-text.gekuerzt{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kontakt-eintrag-fuss{align-items:center;gap:10px;margin-top:6px;display:flex}.kontakt-link-knopf{color:var(--navy);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px}.kontakt-link-knopf:hover{text-decoration:underline}.kontakt-notiz{resize:vertical}
