*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f6f8;color:#1f2937}
.topbar{background:#111827;color:#fff;padding:22px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}
.topbar h1{margin:0 0 5px;font-size:28px}.topbar p{margin:0;color:#cbd5e1}
.top-actions{display:flex;gap:8px;flex-wrap:wrap}
.container{width:min(1200px,92%);margin:24px auto}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}
.card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 3px 14px rgba(0,0,0,.06);margin-bottom:18px}
.stat span{display:block;color:#6b7280;font-size:14px;margin-bottom:8px}.stat strong{font-size:25px}
.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid .card{margin-bottom:18px}
h2{margin:0 0 16px;font-size:20px}h3{font-size:15px;margin:12px 0 2px;color:#374151}
form{display:grid;gap:10px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d1d5db;border-radius:9px;background:#fff;font:inherit;font-size:14px}
textarea{resize:vertical}
label{display:block;font-size:13px;color:#6b7280;margin-bottom:5px}
.btn{border:0;border-radius:9px;padding:11px 16px;background:#2563eb;color:#fff;font-weight:700;cursor:pointer}
.btn.secondary{background:#e5e7eb;color:#111827}.btn.danger{background:#dc2626;padding:7px 10px;font-size:12px}.btn.small{padding:7px 10px;font-size:12px}
.file-btn input{display:none}
.form-actions,.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;background:#fff;border-radius:14px;padding:10px;box-shadow:0 3px 14px rgba(0,0,0,.06)}
.tab{border:0;border-radius:9px;padding:10px 13px;background:#e5e7eb;color:#111827;font-weight:700;cursor:pointer}
.tab.active{background:#2563eb;color:#fff}
.tabpage{display:none}.tabpage.active{display:block}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}
th,td{padding:11px 10px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:14px;vertical-align:top}
th{background:#f9fafb}.num{text-align:right}.income{color:#047857;font-weight:700}.expense{color:#b91c1c;font-weight:700}
.positive{color:#047857}.negative{color:#b91c1c}
.property-card{border-bottom:1px solid #e5e7eb;padding:12px 0}.property-card:first-child{padding-top:0}.property-card:last-child{border-bottom:0}
.property-card h3{margin:0 0 7px;font-size:17px;color:#111827}.meta{font-size:13px;color:#6b7280;line-height:1.55}
.notes-preview{margin:10px 0;padding:10px;background:#f9fafb;border-radius:9px;white-space:pre-wrap;font-size:13px}
.card-actions{display:flex;gap:8px;flex-wrap:wrap}.hint{font-size:13px;color:#6b7280}.empty{text-align:center;color:#9ca3af;padding:24px}
.report-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.report-object{background:#fff;border-radius:14px;padding:18px;box-shadow:0 3px 14px rgba(0,0,0,.06);margin-bottom:18px}
.report-object h2{margin-bottom:16px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.info-box{background:#f9fafb;border-radius:9px;padding:12px}.info-box h3{margin:0 0 8px}
.info-row{display:grid;grid-template-columns:145px 1fr;gap:8px;font-size:13px;padding:4px 0}
.long-notes{white-space:pre-wrap;background:#f9fafb;padding:12px;border-radius:9px;font-size:13px}
footer{text-align:center;color:#6b7280;padding:20px}
@media(max-width:800px){
 .stats,.filters,.grid,.twocol,.report-grid{grid-template-columns:1fr}
 .topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%}.top-actions .btn{flex:1}
 .info-row{grid-template-columns:1fr}
}
@media print{
 body{background:#fff}.topbar{background:#fff;color:#000;padding:0 0 15px}
 .topbar .btn,.tabs,.filters,.no-print,footer{display:none!important}
 .container{width:100%;margin:0}.tabpage{display:none!important}#report{display:block!important}
 .card,.report-object{box-shadow:none;border:1px solid #ddd;break-inside:avoid}
 .stats{grid-template-columns:repeat(3,1fr)}.report-grid{grid-template-columns:1fr 1fr}
}


/* Mobile Optimierung */
@media(max-width: 700px){
  body{font-size:15px}
  .topbar{padding:16px 4%;gap:14px}
  .topbar h1{font-size:23px;line-height:1.2}
  .topbar p{font-size:13px;line-height:1.4}
  .top-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .top-actions .btn,.top-actions .file-btn{width:100%;text-align:center;padding:12px 10px}
  .top-actions #printBtn{grid-column:1/-1}

  .container{width:94%;margin:16px auto}
  .stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .stat{padding:14px}
  .stat span{font-size:12px}
  .stat strong{font-size:20px;word-break:break-word}

  .filters{grid-template-columns:1fr;gap:10px;padding:14px}
  .grid{grid-template-columns:1fr}
  .twocol{grid-template-columns:1fr}
  .card{padding:14px;border-radius:12px;margin-bottom:14px}
  h2{font-size:18px}
  h3{font-size:14px}

  input,select,textarea{font-size:16px;padding:13px 12px;border-radius:10px}
  .btn{min-height:44px;padding:12px 14px}
  .btn.small{min-height:38px;padding:9px 11px}
  .form-actions,.section-head{flex-direction:column;align-items:stretch}
  .form-actions .btn,.section-head .btn{width:100%}

  .tabs{
    position:sticky;top:0;z-index:10;
    display:flex;flex-wrap:nowrap;overflow-x:auto;
    gap:6px;padding:8px;margin:0 0 14px;
    border-radius:10px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none
  }
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex:0 0 auto;white-space:nowrap;padding:10px 12px;font-size:13px}

  .table-wrap{overflow-x:visible}
  table{min-width:0;width:100%}
  table thead{display:none}
  table,tbody,tr,td{display:block;width:100%}
  tr{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:10px;
    padding:10px;
    margin-bottom:10px;
  }
  td{
    display:grid;
    grid-template-columns:42% 58%;
    gap:8px;
    padding:7px 0;
    border-bottom:1px solid #f1f5f9;
    text-align:left!important;
    font-size:13px;
    word-break:break-word
  }
  td:last-child{border-bottom:0}
  td::before{
    content:attr(data-label);
    font-weight:700;
    color:#6b7280;
  }
  td .btn, td button{width:auto}
  .empty{display:block!important;text-align:center!important}

  .property-card{padding:14px 0}
  .card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .card-actions .btn{width:100%}
  .card-actions .danger{grid-column:1/-1}

  .report-head{flex-direction:column;align-items:stretch}
  .report-grid{grid-template-columns:1fr}
  .info-row{grid-template-columns:1fr;gap:2px;padding:7px 0;border-bottom:1px solid #e5e7eb}
  .info-row:last-child{border-bottom:0}
  .long-notes{font-size:14px;line-height:1.5}
}

/* sehr kleine Smartphones */
@media(max-width: 420px){
  .stats{grid-template-columns:1fr}
  .top-actions{grid-template-columns:1fr}
  .top-actions #printBtn{grid-column:auto}
  .card-actions{grid-template-columns:1fr}
  .card-actions .danger{grid-column:auto}
  td{grid-template-columns:1fr;gap:2px}
}

/* Mieteransicht – passend zum bestehenden Design */
.tenant-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.tenant-modal-backdrop{position:absolute;inset:0;background:rgba(17,24,39,.55)}
.tenant-modal-card{position:relative;z-index:1;width:min(760px,94vw);max-height:88vh;overflow:auto;background:#fff;border-radius:14px;padding:18px;box-shadow:0 14px 40px rgba(0,0,0,.22)}
.tenant-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.tenant-view-row{padding:9px 0;border-bottom:1px solid #e5e7eb}
.tenant-view-row strong{display:block;font-size:12px;color:#6b7280;margin-bottom:3px}
.tenant-view-notes{white-space:pre-wrap;line-height:1.5}
@media(max-width:700px){
  .tenant-modal{padding:10px}
  .tenant-modal-card{width:96vw;max-height:92vh;padding:14px}
  .tenant-view-grid{grid-template-columns:1fr}
}

/* Online-Version: Statusanzeige im bestehenden Design */
.online-user,.sync-status{
  display:inline-flex;align-items:center;min-height:38px;padding:0 10px;
  border-radius:9px;font-size:12px;background:rgba(255,255,255,.10);color:#fff
}
.sync-status.error{background:#7f1d1d}
.sync-status.saving{background:#78350f}
.sync-status.saved{background:#065f46}
@media(max-width:700px){
  .online-user,.sync-status{justify-content:center;width:100%;box-sizing:border-box}
}

/* Jahres-PDF-Blätter: im normalen Bildschirm unsichtbar */
.year-pdf-sheets{display:none}

@media print{
  @page{size:A4 portrait;margin:10mm}

  /* Nur Einnahmen- oder Ausgaben-Jahresblatt */
  body.print-year-income .topbar,
  body.print-year-income .container > :not(#report),
  body.print-year-income #report > :not(#yearPdfSheets),
  body.print-year-income #expenseYearSheet,
  body.print-year-expense .topbar,
  body.print-year-expense .container > :not(#report),
  body.print-year-expense #report > :not(#yearPdfSheets),
  body.print-year-expense #incomeYearSheet{display:none!important}

  body.print-year-income #report,
  body.print-year-expense #report,
  body.print-year-income #yearPdfSheets,
  body.print-year-expense #yearPdfSheets{display:block!important}

  body.print-year-income #incomeYearSheet,
  body.print-year-expense #expenseYearSheet{
    display:block!important;
    page:yearlandscape;
  }

  /* Beim Einzel-Objekt-PDF die beiden Jahresblätter anhängen */
  body.print-single-with-years #yearPdfSheets{display:block!important}
  body.print-single-with-years .year-pdf-sheet{
    display:block!important;
    page:yearlandscape;
    break-before:page;
    page-break-before:always;
  }

  @page yearlandscape{size:A4 landscape;margin:8mm}

  .year-pdf-sheet{
    background:#fff;
    color:#111827;
    width:100%;
  }
  .year-pdf-sheet h2{font-size:16px;margin:0 0 8px}
  .year-pdf-sheet .table-wrap{overflow:visible}
  .year-sheet-table{width:100%;border-collapse:collapse;font-size:8.5px}
  .year-sheet-table th,.year-sheet-table td{
    border:1px solid #d1d5db;
    padding:4px 5px;
    vertical-align:top;
  }
  .year-sheet-table th{background:#f3f4f6}
  .year-sheet-table .num{text-align:right;white-space:nowrap}
  .year-sheet-table .year-notes{min-width:38mm;white-space:normal}
  .year-sheet-table .year-total td{border-top:2px solid #111827;background:#f9fafb}
}

/* NIKIMMO Branding – bestehendes Layout bleibt unverändert */
.top-brand{display:flex;align-items:center}
.top-logo{display:block;width:230px;max-width:100%;height:auto}
@media(max-width:700px){.top-logo{width:190px}}
@media print{.top-logo{width:190px}}

/* Rendite-Rechner */
.yieldcalc-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:18px;align-items:start}
.yieldcalc-intro{margin-bottom:18px}
.yieldcalc-grid label{display:block;font-weight:700;font-size:13px;margin:13px 0 6px}
.yieldcalc-grid input,.yieldcalc-grid select{width:100%;font:inherit;font-size:15px;padding:11px 12px;border:1px solid #d1d5db;border-radius:9px;background:#fff;color:#111827}
.yieldcalc-grid input:focus,.yieldcalc-grid select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.yieldcalc-grid h3{margin:22px 0 8px;padding-top:14px;border-top:1px solid #e5e7eb}
.yc-mini-result,.yc-result-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #eef0f2}
.yc-mini-result{margin-top:6px;color:#4b5563}
.yc-mini-result strong,.yc-result-row strong{white-space:nowrap;color:#111827}
.yc-hero{margin-top:24px;padding:20px;border-radius:14px;background:#111827;color:#fff;text-align:center}
.yc-hero span{display:block;font-size:13px;color:#d1d5db;margin-bottom:6px}
.yc-hero strong{display:block;font-size:32px;line-height:1.1}
.yc-result-row.yc-highlight{margin:6px -8px;padding:12px 8px;background:#f9fafb;border-radius:9px;border-bottom:0}
.yc-result-row .positive{color:#047857}.yc-result-row .negative{color:#b91c1c}
.yc-note{margin:18px 0 0;line-height:1.5}

@media(max-width:900px){.yieldcalc-grid{grid-template-columns:1fr 1fr}.yieldcalc-results{grid-column:1/-1}}
@media(max-width:700px){
  .yieldcalc-grid{grid-template-columns:1fr;gap:14px}
  .yieldcalc-results{grid-column:auto}
  .yieldcalc-grid input,.yieldcalc-grid select{font-size:16px;padding:13px 12px}
  .yc-hero strong{font-size:28px}
  .yieldcalc-intro .section-head{align-items:stretch}
}

/* Rendite-Rechner – Bundesland Dropdown Fix */
#ycState{
  display:block;
  width:100%;
  min-height:44px;
  position:relative;
  z-index:2;
  cursor:pointer;
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-appearance:menulist;
  appearance:auto;
  background-color:#fff;
}
@media(max-width:700px){
  #ycState{
    min-height:50px;
    font-size:16px;
  }
}


/* Version 13 – Dokumentenfilter */
.doc-filter-area{margin-top:10px}
.doc-filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.35fr;gap:12px;margin:12px 0 16px}
.doc-filter-grid label{display:block;font-weight:700;font-size:12px;margin:0 0 5px}
.doc-filter-grid input,.doc-filter-grid select{width:100%;min-height:42px;font:inherit;padding:10px 11px;border:1px solid #d1d5db;border-radius:9px;background:#fff;color:#111827}
.doc-filter-grid input:focus,.doc-filter-grid select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
@media(max-width:900px){.doc-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.doc-filter-grid{grid-template-columns:1fr;gap:10px}.doc-filter-grid input,.doc-filter-grid select{font-size:16px;min-height:48px;padding:12px}}


/* Version 14 – Mobiler Dokument-Scanner */
.scan-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 2px}
.scan-btn{min-height:44px}
.scan-status{margin:0;word-break:break-word}

.scanner-modal{
  position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:16px
}
.scanner-backdrop{position:absolute;inset:0;background:rgba(17,24,39,.78)}
.scanner-card{
  position:relative;z-index:1;width:min(760px,96vw);max-height:95vh;overflow:auto;
  background:#fff;border-radius:14px;padding:16px;box-shadow:0 18px 50px rgba(0,0,0,.32)
}
.scanner-head{margin-bottom:10px}
.scanner-stage{
  position:relative;width:100%;background:#111827;border-radius:12px;overflow:hidden;
  aspect-ratio:3/4;max-height:68vh;display:flex;align-items:center;justify-content:center
}
.scanner-stage video,.scanner-stage img{
  width:100%;height:100%;object-fit:contain;background:#111827
}
.scanner-guide{
  pointer-events:none;position:absolute;inset:6%;border:2px solid rgba(255,255,255,.9);
  border-radius:8px;box-shadow:0 0 0 9999px rgba(0,0,0,.16)
}
.scanner-message{margin:10px 0}
.scanner-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.scanner-options{margin-top:12px;padding-top:10px;border-top:1px solid #e5e7eb;font-size:13px}
.scanner-options label{display:flex;align-items:flex-start;gap:8px}
.scanner-options input{width:auto;margin-top:2px}
body.scanner-open{overflow:hidden}

@media(max-width:700px){
  .scanner-modal{padding:0;align-items:stretch}
  .scanner-card{width:100vw;max-width:none;max-height:100vh;height:100vh;border-radius:0;padding:12px}
  .scanner-stage{max-height:none;flex:1;aspect-ratio:auto;height:calc(100vh - 245px)}
  .scanner-controls{grid-template-columns:1fr}
  .scanner-controls .btn{min-height:48px;font-size:16px}
  .scan-actions{display:grid;grid-template-columns:1fr}
  .scan-btn{width:100%;min-height:48px;font-size:16px}
}


/* Version 15 – Dokumente herunterladen */
.doc-download-toolbar{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin:4px 0 12px;padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px
}
.doc-select-all{display:flex;align-items:center;gap:7px;font-weight:700;font-size:13px;margin:0}
.doc-select-all input,.doc-download-check{width:18px;height:18px;accent-color:#2563eb}
.doc-check-col{width:42px;text-align:center}
.doc-action-cell{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
#docDownloadSelectedBtn:disabled{opacity:.55;cursor:not-allowed}

@media(max-width:700px){
  .doc-download-toolbar{display:grid;grid-template-columns:1fr;gap:10px}
  #docDownloadSelectedBtn{width:100%;min-height:48px;font-size:16px}
  .doc-action-cell{display:grid;grid-template-columns:1fr;gap:7px}
  .doc-action-cell .btn{width:100%;min-height:44px}
  .doc-check-col{width:auto;text-align:left}
}


/* Version 16 – Buchungsfilter & Suche */
.booking-filter-bar{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin:10px 0 14px;
}
.booking-filter-bar label{
  display:block;
  font-weight:700;
  font-size:12px;
  margin:0 0 5px;
}
.booking-filter-bar input{
  width:100%;
  min-height:42px;
  font:inherit;
  padding:10px 11px;
  border:1px solid #d1d5db;
  border-radius:9px;
  background:#fff;
  color:#111827;
}
.booking-filter-bar input:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.10);
}
@media(max-width:700px){
  .booking-filter-bar input{
    font-size:16px;
    min-height:48px;
    padding:12px;
  }
}


/* Version 17 – Erweiterte Buchungsfilter */
.booking-filter-bar{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1.3fr;
  gap:12px;
  margin:10px 0 14px;
  align-items:end;
}
.booking-filter-bar > div{min-width:0}
.booking-filter-bar label{
  display:block;
  font-weight:700;
  font-size:12px;
  margin:0 0 5px;
}
.booking-filter-bar input,
.booking-filter-bar select{
  width:100%;
  min-height:42px;
  font:inherit;
  padding:10px 11px;
  border:1px solid #d1d5db;
  border-radius:9px;
  background:#fff;
  color:#111827;
}
.booking-filter-bar input:focus,
.booking-filter-bar select:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.10);
}
.booking-search-wide{grid-column:1/4}
.booking-filter-reset-wrap{display:flex;align-items:end}
.booking-filter-reset-wrap .btn{width:100%;min-height:42px}

@media(max-width:900px){
  .booking-filter-bar{grid-template-columns:1fr 1fr}
  .booking-search-wide{grid-column:1/2}
}
@media(max-width:700px){
  .booking-filter-bar{grid-template-columns:1fr;gap:10px}
  .booking-search-wide{grid-column:auto}
  .booking-filter-bar input,
  .booking-filter-bar select{
    font-size:16px;
    min-height:48px;
    padding:12px;
  }
  .booking-filter-reset-wrap .btn{
    min-height:48px;
    font-size:16px;
  }
}


/* Version 20 – Versorger & Zähler bei Immobilien */
.utility-meter-block{
  margin:12px 0 14px;
}
.utility-meter-block h4{
  margin:0 0 7px;
  font-size:13px;
  color:#374151;
}
.utility-meter-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:10px;
}
.utility-meter-grid input{
  width:100%;
  min-width:0;
}

@media(max-width:900px){
  .utility-meter-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:700px){
  .utility-meter-grid{
    grid-template-columns:1fr;
  }
}

/* Version 21 – Kündigung & Wechsel-Erinnerung */
.utility-meter-grid{grid-template-columns:1fr 1fr 1fr 1fr 1fr}
.utility-date-labels{
  display:grid;
  grid-template-columns:3fr 1fr 1fr;
  gap:10px;
  margin-top:4px;
  color:#6b7280;
  font-size:11px;
}
.utility-date-labels span:first-child{grid-column:4}
@media(max-width:1100px){
  .utility-meter-grid{grid-template-columns:1fr 1fr}
  .utility-date-labels{display:none}
}
@media(max-width:700px){
  .utility-meter-grid{grid-template-columns:1fr}
  .utility-meter-grid input[type="date"]{min-height:48px}
  .utility-date-labels{display:none}
}

/* Version 22 – feste Feldbezeichnungen für Versorger & Zähler */
.utility-field{
  min-width:0;
}
.utility-field label{
  display:block;
  font-weight:700;
  font-size:12px;
  margin:0 0 5px;
  color:#374151;
}
.utility-field input{
  width:100%;
  min-width:0;
}
.utility-date-labels{display:none!important}
@media(max-width:700px){
  .utility-field label{
    font-size:13px;
  }
}


/* Version 23 – kompakte Versorger-Rubriken */
.utility-accordion{
  margin:10px 0;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.utility-accordion summary{
  cursor:pointer;
  list-style:none;
  padding:13px 14px;
  font-weight:700;
  font-size:14px;
  color:#111827;
  background:#f9fafb;
  user-select:none;
  position:relative;
  padding-right:42px;
}
.utility-accordion summary::-webkit-details-marker{display:none}
.utility-accordion summary::after{
  content:"＋";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  font-size:20px;
  font-weight:400;
  color:#6b7280;
}
.utility-accordion[open] summary::after{content:"−"}
.utility-accordion[open] summary{
  border-bottom:1px solid #e5e7eb;
}
.utility-accordion-content{
  display:grid;
  grid-template-columns:1fr;
  gap:11px;
  padding:14px;
}
.utility-accordion .utility-field{
  min-width:0;
}
.utility-accordion .utility-field label{
  display:block;
  font-weight:700;
  font-size:12px;
  margin:0 0 5px;
  color:#374151;
}
.utility-accordion .utility-field input{
  width:100%;
  min-width:0;
  min-height:42px;
}
@media(max-width:700px){
  .utility-accordion summary{
    padding:14px;
    padding-right:44px;
    font-size:15px;
  }
  .utility-accordion-content{
    padding:12px;
    gap:10px;
  }
  .utility-accordion .utility-field label{
    font-size:13px;
  }
  .utility-accordion .utility-field input{
    font-size:16px;
    min-height:48px;
  }
}


/* Version 25 – Immobilienansicht */
#propertyViewModal .tenant-view-row{
  overflow-wrap:anywhere;
  word-break:break-word;
}


/* Version 27 – gemeinsame Benutzer */
.invite-result{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e5e7eb;
}
.invite-result input[readonly]{background:#f9fafb}
#team h3{margin-top:24px}
#team .table-wrap{margin-top:10px}
@media(max-width:700px){
  #team .form-actions{grid-template-columns:1fr}
  #team .btn{min-height:44px}
}


/* Version 28 – DSGVO & Sicherheit */
.privacy-checks{
  display:grid;
  gap:8px;
  margin:10px 0 4px;
  font-size:13px;
  line-height:1.45;
}
#privacy h3{margin-top:24px}
#privacyUnitSelect{margin:8px 0 10px}
#auditCard td{vertical-align:top}
@media(max-width:700px){
  #privacy .btn{width:100%;min-height:44px}
  .privacy-checks{font-size:13px}
}

/* Version 29 – Admin Einstellungen */
.settings-grid{grid-template-columns:320px minmax(0,1fr);align-items:start}
.admin-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 9px;border-radius:999px;background:#111827;color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em}
.settings-menu{display:grid;gap:7px;margin-top:18px}
.settings-nav{width:100%;border:1px solid #e5e7eb;border-radius:9px;background:#fff;color:#111827;text-align:left;padding:11px 12px;font:inherit;font-weight:700;cursor:pointer}
.settings-nav:hover{background:#f9fafb}.settings-nav.active{background:#111827;color:#fff;border-color:#111827}
.settings-panel{display:none}.settings-panel.active{display:block}
.settings-placeholder{display:grid;gap:6px;margin-top:16px;padding:16px;border:1px dashed #d1d5db;border-radius:10px;background:#f9fafb}
.settings-placeholder strong{font-size:14px}.settings-placeholder span{color:#6b7280;font-size:13px;line-height:1.5}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.settings-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.settings-menu{grid-template-columns:1fr}.settings-nav{min-height:46px;font-size:15px}}

/* Version 30 – getrennte SMTP-Einstellungen */
.smtp-form{display:grid;gap:12px;margin-top:18px}
.smtp-form label{display:grid;gap:6px;font-size:13px;font-weight:700}
.smtp-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:4px}
.smtp-message{min-height:22px;margin-top:4px;font-size:13px;font-weight:700}
@media(max-width:700px){.smtp-actions{display:grid;grid-template-columns:1fr}.smtp-actions .btn{width:100%}}

/* Version 31 – Passwort vergessen / System-E-Mail-Vorlage */
.settings-subsection{margin-top:26px;padding-top:22px;border-top:1px solid #e5e7eb}
.settings-subsection h3{margin:0 0 8px}
.settings-subsection textarea{min-height:220px;resize:vertical}

/* V32 Navigation */
:root{--sidebar-w:270px;--nav-dark:#111827;--nav-gold:#caa85e}
.nav-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 20px}
.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--nav-dark);color:#fff;z-index:50;display:flex;flex-direction:column}
.sidebar-brand{height:92px;padding:20px 22px 14px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-brand img{width:190px;max-width:80%;height:auto}.sidebar-close{display:none;margin-left:auto;border:0;background:none;color:#fff;font-size:30px}
.main-nav{padding:16px 12px;overflow-y:auto;flex:1}.nav-main,.nav-group-toggle,.nav-sub .tab,.nav-disabled{width:100%;border:0;background:transparent;color:#d1d5db;display:flex;align-items:center;gap:11px;text-align:left;border-radius:10px;cursor:pointer}
.nav-main,.nav-group-toggle{min-height:46px;padding:11px 12px;font-weight:700}.nav-main:hover,.nav-group-toggle:hover,.nav-sub .tab:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-main.active,.nav-sub .tab.active{background:rgba(202,168,94,.17);color:#f3d58f}.nav-group{margin-top:5px}.nav-group-toggle .nav-icon:last-child{width:16px;margin-left:auto;transition:.2s}
.nav-group.open>.nav-group-toggle .nav-icon:last-child{transform:rotate(90deg)}.nav-sub{display:none;padding:3px 0 6px 17px}.nav-group.open>.nav-sub{display:block}
.nav-sub .tab,.nav-disabled{min-height:40px;padding:9px 10px;font-size:13px;font-weight:600}.nav-sub .tab .nav-icon,.nav-disabled .nav-icon{width:17px;flex-basis:17px}.nav-disabled{opacity:.45;cursor:default}.nav-disabled small{margin-left:auto}
.sidebar-tools{padding:14px 16px 18px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-user{display:grid;gap:3px;margin-bottom:10px}.sidebar-user span{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user small{font-size:11px;color:#9ca3af}
.sidebar-logout{width:100%;border:0;background:rgba(255,255,255,.06);color:#e5e7eb;border-radius:9px;padding:9px 11px;display:flex;align-items:center;gap:9px}
.sidebar-backdrop,.mobile-menu-btn{display:none}.topbar{margin-left:var(--sidebar-w);padding:14px 3%;min-height:72px}.top-brand{display:none}.top-actions{justify-content:flex-end;width:100%}.container{width:auto;max-width:1240px;margin:24px 3% 24px calc(var(--sidebar-w) + 3%)}.tabs{display:none!important}
.mobile-menu-btn{align-items:center;gap:8px;border:0;background:#111827;color:#fff;border-radius:9px;padding:10px 12px;font-weight:700}
@media(max-width:900px){.app-sidebar{transform:translateX(-102%);transition:.22s;width:min(300px,86vw)}body.sidebar-open .app-sidebar{transform:none}.sidebar-close{display:block}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(17,24,39,.48);z-index:45;opacity:0;pointer-events:none}body.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.topbar{margin-left:0}.mobile-menu-btn{display:flex;position:fixed;left:3%;top:12px;z-index:35}.top-actions{padding-left:92px}.container{width:94%;margin:16px auto}}
@media(max-width:700px){.topbar{display:block;padding:11px 3%}.top-actions{display:flex;justify-content:flex-end;padding-left:88px}.top-actions .top-utility,.top-actions #onlineUser,.top-actions #syncStatus{display:none}.top-actions #logoutBtn{width:auto;flex:0 0 auto}.mobile-menu-btn{top:11px}}
@media print{.app-sidebar,.sidebar-backdrop,.mobile-menu-btn{display:none!important}.topbar{margin-left:0}.container{margin:0;width:100%;max-width:none}}

/* V33 – vereinfachte Bedienung, Dashboard und finale Menü-Kategorisierung */
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:4px 0 18px}.page-heading h1{margin:2px 0 4px;font-size:26px;color:#111827}.page-heading p{margin:0;color:#6b7280}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9a7a35}
.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.quick-action{border:1px solid #e5e7eb;background:#fff;border-radius:14px;box-shadow:0 3px 14px rgba(0,0,0,.05);padding:15px 16px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;color:#111827;transition:transform .12s,box-shadow .12s,border-color .12s}.quick-action:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.08);border-color:#caa85e}.quick-action .nav-icon{width:24px;height:24px;color:#9a7a35}.quick-action span{display:grid;gap:2px}.quick-action strong{font-size:14px}.quick-action small{font-size:11px;color:#6b7280}
.dashboard-filter-card{padding:14px 18px}.dashboard-filter-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.dashboard-filter-row label{display:block;margin-bottom:6px;font-size:11px;font-weight:700;color:#6b7280}.dashboard-stats{grid-template-columns:repeat(4,1fr);margin:16px 0}.dashboard-stats .stat-secondary{display:none}.stat-main small{font-size:10px;color:#9ca3af;font-weight:400;margin-top:4px}.dashboard-task-card{margin-bottom:16px}.task-list{display:grid;gap:8px}.task-item{width:100%;border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:11px 12px;display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;text-align:left;cursor:pointer}.task-item:hover{background:#f9fafb}.task-dot{width:9px;height:9px;border-radius:50%;background:#3b82f6}.task-item.soon .task-dot{background:#d97706}.task-item.urgent .task-dot{background:#dc2626}.task-copy{display:grid;gap:2px}.task-copy strong{font-size:13px}.task-copy small{color:#6b7280;font-size:11px}.task-when{font-size:11px;font-weight:700;color:#6b7280}.task-item.urgent .task-when{color:#b91c1c}.task-empty{display:flex;align-items:center;gap:12px;padding:16px;border:1px dashed #d1d5db;border-radius:10px;background:#f9fafb}.task-empty div{display:grid;gap:3px}.task-empty small{color:#6b7280}.task-check{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ecfdf5;color:#047857;font-weight:800}
.dashboard-property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dashboard-property-card{border:1px solid #e5e7eb;border-radius:12px;padding:15px;background:#fff;display:grid;gap:13px}.dashboard-property-card h3{margin:0;font-size:15px}.dashboard-property-card p{margin:4px 0 0;color:#6b7280;font-size:12px}.property-icon{float:left;margin-right:8px;color:#9a7a35;font-size:18px}.property-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.property-mini-stats span{display:grid;gap:2px;padding:8px;background:#f9fafb;border-radius:8px}.property-mini-stats small{font-size:9px;text-transform:uppercase;color:#9ca3af}.property-mini-stats strong{font-size:12px}.dashboard-empty{grid-column:1/-1}.dashboard-compact-table{margin-top:16px}
.finance-report-controls{grid-template-columns:180px minmax(220px,1fr) auto}.report-actions{display:flex;gap:8px;justify-content:flex-end}.help-card p{margin-bottom:0;color:#6b7280}
.empty-state-card{text-align:center;padding:44px 24px}.empty-state-card>.nav-icon{width:44px;height:44px;color:#caa85e;margin-bottom:10px}.empty-state-card p{max-width:680px;margin:8px auto 0;color:#6b7280}.info-tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.info-tile h3{margin-top:0}.info-tile p{margin-bottom:0;color:#6b7280}.faq-list details{border-bottom:1px solid #e5e7eb;padding:12px 0}.faq-list details:last-child{border-bottom:0}.faq-list summary{font-weight:700;cursor:pointer}.faq-list p{color:#6b7280}.tip-list>div{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid #e5e7eb}.tip-list>div:last-child{border-bottom:0}.tip-list span{color:#6b7280}
.property-form-wrap{display:none;margin-top:14px}.property-form-wrap.open{display:block}.property-form-wrap>h3{font-size:14px;margin:8px 0 12px;color:#374151}.property-quick-nav{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px}.property-quick-nav button{border:1px solid #d1d5db;background:#fff;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700;cursor:pointer}.property-quick-nav button:hover{border-color:#caa85e;background:#fffbeb}
@media(max-width:1050px){.quick-actions,.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-property-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.page-heading h1{font-size:23px}.quick-actions{grid-template-columns:repeat(2,1fr)}.quick-action{padding:13px 12px}.dashboard-filter-row,.finance-report-controls{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-property-grid,.info-tile-grid{grid-template-columns:1fr}.task-item{grid-template-columns:10px 1fr}.task-when{grid-column:2;margin-top:2px}.report-actions{justify-content:stretch}.report-actions .btn{flex:1}.dashboard-compact-table{display:none}}
@media(max-width:420px){.quick-actions,.dashboard-stats{grid-template-columns:1fr}.property-mini-stats{grid-template-columns:1fr 1fr}.property-mini-stats span:last-child{grid-column:1/-1}}

/* V35 Wissen & Tools Verwaltung */
.knowledge-publish-box{padding:15px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;margin:14px 0 20px}
.toggle-row{display:flex;align-items:flex-start;gap:10px}.toggle-row input{width:auto;margin-top:3px}.toggle-row span{display:grid;gap:3px}.toggle-row small{color:#6b7280;font-weight:400}
.knowledge-visibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;margin-top:14px;padding-top:12px;border-top:1px solid #e5e7eb}
.knowledge-visibility-grid label{display:flex;align-items:center;gap:8px;font-weight:600}.knowledge-visibility-grid input{width:auto;margin:0}
.knowledge-editor-block{border-top:1px solid #e5e7eb;padding-top:18px;margin-top:18px}.knowledge-editor-list{display:grid;gap:12px}
.knowledge-editor-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;padding:13px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.knowledge-editor-fields{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(260px,1.5fr);gap:12px}.knowledge-editor-fields textarea{min-height:82px;resize:vertical}
.knowledge-remove{align-self:end}.knowledge-save-bar{position:sticky;bottom:0;background:rgba(255,255,255,.96);border-top:1px solid #e5e7eb;margin:22px -18px -18px;padding:14px 18px;display:flex;align-items:center;gap:12px;z-index:2}
.empty-inline{padding:18px;color:#6b7280}.faq-list details+details{border-top:1px solid #e5e7eb}
@media(max-width:700px){.knowledge-visibility-grid,.knowledge-editor-fields{grid-template-columns:1fr}.knowledge-editor-row{grid-template-columns:1fr}.knowledge-remove{width:100%}.knowledge-save-bar{position:static;margin:18px 0 0;padding:14px 0 0;flex-direction:column;align-items:stretch}}
