: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;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}.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}}.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}
