:root{--green:#1f6f43;--green2:#2f8f58;--bg:#f3f7f1;--card:#fff;--text:#17231b;--muted:#65746b;--line:#dfe8df;--warn:#b56a00;--danger:#b33a3a;--soft:#eef7ee}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:280px;background:linear-gradient(180deg,var(--green),#15502f);color:white;padding:22px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand img{width:58px;height:58px;object-fit:contain;background:white;border-radius:14px;padding:6px}.brand span{display:block;font-size:13px;opacity:.82}.sidebar nav{display:grid;gap:8px}.sidebar nav a{text-decoration:none;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.08)}.sidebar nav a:hover{background:rgba(255,255,255,.18)}.sidebar-version{margin-top:18px;font-size:12px;opacity:.78;padding:10px 4px}.content{flex:1;padding:28px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.topbar h1{margin:0;font-size:30px}.topbar p{margin:5px 0 0;color:var(--muted)}.userbox{background:white;border:1px solid var(--line);border-radius:16px;padding:12px 16px;display:flex;gap:12px;align-items:center}.grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 10px 30px rgba(31,111,67,.07);margin-bottom:18px}.card h3{margin:0 0 8px}.metric{font-size:34px;font-weight:700;color:var(--green)}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px}.button,.btn-small{display:inline-block;background:var(--green);color:white;text-decoration:none;border-radius:12px;padding:11px 14px;border:0;font-weight:700;cursor:pointer}.button.secondary,.btn-small.secondary{background:#e7f3ea;color:var(--green)}.button.danger,.btn-small.danger{background:var(--danger);color:white}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.table{width:100%;border-collapse:collapse;background:white;border-radius:16px;overflow:hidden}.table th,.table td{padding:13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:#f8fbf7;color:#34503c;font-size:13px}.badge{padding:5px 9px;border-radius:99px;background:#e7f3ea;color:var(--green);font-weight:700;font-size:12px}.badge.warn{background:#fff4df;color:var(--warn)}.badge.muted{background:#eef0ef;color:#536057}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.field.full{grid-column:1/-1}.check{display:flex;gap:10px;align-items:center;margin:10px 0;font-weight:700}.field{display:grid;gap:6px;margin:10px 0}.field input,.field select,.field textarea{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}.field textarea{min-height:92px}.form-actions{display:flex;gap:10px;align-items:center;margin-top:12px}.flash{padding:12px 14px;border-radius:14px;margin-bottom:18px;border:1px solid var(--line);background:#fff}.flash-success{background:#eaf7ed;border-color:#cce8d2;color:#135c31}.flash-error{background:#fff0f0;border-color:#f1cccc;color:#8c2626}.empty{padding:28px;border:1px dashed var(--line);border-radius:16px;background:#fbfdfb;color:var(--muted)}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef7ee,#dcebdd)}.login-card{width:min(430px,92vw);background:white;border-radius:24px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.12)}.login-card img{width:90px;display:block;margin:auto auto 14px}.login-card .field input{padding:13px;border:1px solid var(--line);border-radius:12px}.btn{width:100%;border:0;background:var(--green);color:white;padding:14px;border-radius:12px;font-weight:700;cursor:pointer}.hint{color:var(--muted);font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:1000px){.sidebar{position:relative;width:100%;height:auto}.app-shell{display:block}.grid,.module-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.grid,.module-grid,.form-grid{grid-template-columns:1fr}.topbar{display:block}.content{padding:18px}.table{font-size:14px}.actions{display:grid}}
.grid-five{grid-template-columns:repeat(5,minmax(160px,1fr))}
.grid-six{grid-template-columns:repeat(6,minmax(145px,1fr))}
@media(max-width:1320px){.grid-six{grid-template-columns:repeat(3,minmax(180px,1fr))}}
@media(max-width:1200px){.grid-five{grid-template-columns:repeat(3,minmax(180px,1fr))}}
.progress{height:10px;background:#edf3ee;border-radius:99px;overflow:hidden;min-width:130px}.progress span{display:block;height:100%;background:var(--green);border-radius:99px}.steps{display:flex;gap:10px;flex-wrap:wrap}.steps span{background:#eef7ee;border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-weight:700;color:var(--green)}
.alert-box{border-radius:14px;padding:13px 14px;margin:14px 0;border:1px solid var(--line)}
.danger-soft{background:#fff0f0;border-color:#f1cccc;color:#8c2626}
.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin:14px 0}.stat{background:#f8fbf7;border:1px solid var(--line);border-radius:16px;padding:14px}.stat span{display:block;font-size:26px;font-weight:800;color:var(--green)}.stat small{color:var(--muted);font-weight:700}.badge.warning{background:#fff4df;color:var(--warn)}
@media(max-width:900px){.stat-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}
.grid-six{grid-template-columns:repeat(6,minmax(150px,1fr))}
@media(max-width:1400px){.grid-six{grid-template-columns:repeat(3,minmax(180px,1fr))}}
@media(max-width:700px){.grid-six{grid-template-columns:1fr}}

.workflow-bar{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;align-items:stretch}.workflow-step{border:1px solid var(--line);border-radius:16px;padding:13px;background:#fbfdfb;display:grid;gap:4px}.workflow-step strong{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:#e7f3ea;color:var(--green)}.workflow-step span{font-weight:800}.workflow-step small{color:var(--muted)}.workflow-step.done{background:#eaf7ed;border-color:#cce8d2}.workflow-step.active{box-shadow:0 0 0 3px rgba(31,111,67,.12);border-color:#b9dfc3}.workflow-step.muted{opacity:.72}.success-hero{display:flex;gap:16px;align-items:flex-start;background:linear-gradient(135deg,#eaf7ed,#ffffff);border-color:#cce8d2}.success-hero h3{margin-top:0;color:var(--green)}.success-icon{width:46px;height:46px;border-radius:999px;background:var(--green);color:white;display:grid;place-items:center;font-size:28px;font-weight:900;flex:0 0 46px}.focus-card{border-color:#cce8d2;box-shadow:0 12px 34px rgba(31,111,67,.12)}.collapsible-card summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;list-style:none}.collapsible-card summary::-webkit-details-marker{display:none}.collapsible-card summary span:first-child{display:grid;gap:4px}.collapsible-card summary small{font-weight:400;color:var(--muted)}.summary-action{color:var(--green);font-weight:800;font-size:13px}.collapsible-card[open]{background:#fff}.collapsible-card:not([open]){background:#fbfdfb}
@media(max-width:1100px){.workflow-bar{grid-template-columns:repeat(2,minmax(150px,1fr))}.success-hero{display:block}.success-icon{margin-bottom:12px}}

/* v0.8.3 Briefkopf und Rechnungsvorschau */
.letterhead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:2px solid #e2eadf;padding-bottom:18px;margin-bottom:26px}
.letterhead-logo img{max-width:420px;width:100%;height:auto;display:block}
.letterhead-meta{min-width:220px;text-align:right;font-size:13px;color:#31533a;line-height:1.45}
.letterhead-meta strong{display:block;font-size:16px;color:#073f25;margin-bottom:4px}
.letterhead-meta span{display:block}
.invoice-paper{background:#fff;max-width:850px;margin:0 auto 40px;padding:42px 48px;border-radius:18px;box-shadow:0 18px 50px rgba(21,73,45,.12);color:#17251d}
.invoice-top{display:flex;justify-content:space-between;gap:36px;margin:28px 0 34px}
.recipient{display:flex;flex-direction:column;gap:3px;min-width:260px}
.recipient .smallline{font-size:10px;color:#6a7b70;text-decoration:underline;margin-bottom:14px}
.recipient strong{font-size:15px;color:#111}
.invoice-box{min-width:270px;background:#f6faf4;border:1px solid #dfeadd;border-radius:14px;padding:16px}
.invoice-box h2{margin:0 0 10px;color:#0e5a32}
.invoice-box table{width:100%;border-collapse:collapse;font-size:13px}
.invoice-box td{padding:4px 0;border:0}.invoice-box td:last-child{text-align:right;font-weight:700}
.invoice-paper h1{font-size:23px;margin:0 0 16px;color:#0d4228}.invoice-paper p{line-height:1.55}
.invoice-items-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}
.invoice-items-table th{background:#0f5b34;color:#fff;text-align:left;padding:10px;border:1px solid #0f5b34}
.invoice-items-table td{padding:10px;border-bottom:1px solid #e3ece4}
.invoice-items-table tfoot td{border-top:2px solid #0f5b34;border-bottom:0;font-size:15px;background:#f6faf4}
.right{text-align:right}.payment-box{background:#f6faf4;border:1px solid #dfeadd;border-radius:14px;padding:16px;margin:26px 0}.payment-box p{margin:8px 0 0}.invoice-footer{border-top:1px solid #dfeadd;margin-top:42px;padding-top:12px;color:#6a7b70;font-size:11px;display:flex;flex-wrap:wrap;gap:10px 18px}.print-preview-card .letterhead{margin-top:18px}.no-print{margin-bottom:16px}
@media print{body{background:#fff}.sidebar,.topbar,.flash,.no-print,.content>footer{display:none!important}.app-shell{display:block}.content{padding:0;margin:0}.invoice-paper{box-shadow:none;border-radius:0;max-width:none;margin:0;padding:0}.letterhead-logo img{max-width:360px}.invoice-footer{position:fixed;bottom:0;left:0;right:0}.invoice-items-table th{background:#eee!important;color:#111!important;border-color:#ccc}.payment-box,.invoice-box{background:#fff!important}a[href]:after{content:""}}

/* v0.8.3.2 SEPA-QR-Code fuer Rechnungen */
.payment-content{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}
.sepa-qr-box{width:158px;min-width:158px;text-align:center;background:#fff;border:1px solid #dfeadd;border-radius:14px;padding:10px;color:#17251d}
.sepa-qr{width:132px;height:132px;margin:0 auto 8px;display:grid;place-items:center;background:#fff}
.sepa-qr svg{width:132px;height:132px;display:block}
.sepa-qr-box strong{display:block;font-size:12px;color:#0d4228}.sepa-qr-box span{display:block;font-size:10px;color:#65746b;margin-top:3px}
@media(max-width:760px){.payment-content{display:block}.sepa-qr-box{margin-top:14px}}
@media print{.payment-content{display:flex!important}.sepa-qr-box{break-inside:avoid;page-break-inside:avoid}.sepa-qr svg{width:125px;height:125px}}

/* v0.8.3.3 - optimierter Briefkopf und Rechnungslayout */
.letterhead{display:block;text-align:center;border-bottom:1px solid #dfeadd;padding-bottom:14px;margin-bottom:24px}
.letterhead-logo.centered img,.letterhead-logo img{max-width:300px;width:55%;height:auto;margin:0 auto;display:block}
.letterhead-addressline{margin-top:8px;font-size:11px;color:#5c7464;border-top:1px solid #eef4ec;padding-top:7px}
.form-section-title{grid-column:1/-1;margin:12px 0 0;color:#0e5a32;border-bottom:1px solid #dfeadd;padding-bottom:6px}
.professional-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:start}
.professional-footer div{display:flex;flex-direction:column;gap:3px}
.professional-footer strong{color:#30543a;font-size:11px}
@media print{.letterhead-logo.centered img,.letterhead-logo img{max-width:240px;width:45%}.professional-footer{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1fr}}

/* v0.8.3.4 - Modernes Vereinsprofil und Briefkopf-Designer */
.admin-profile-shell{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.profile-main{display:grid;gap:18px}.profile-side{display:grid;gap:18px;position:sticky;top:24px}.profile-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#fff,#eef8ef)}.profile-hero h3{font-size:28px;margin:4px 0 8px;color:#073f25}.profile-hero p{max-width:820px;color:#55705e;line-height:1.55;margin:0}.eyebrow{display:inline-flex;align-items:center;width:max-content;background:#e7f3ea;color:#0e5a32;border:1px solid #cce8d2;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.quality-widget{min-width:190px;background:#fff;border:1px solid #dfeadd;border-radius:18px;padding:16px;text-align:center;box-shadow:0 10px 26px rgba(31,111,67,.08)}.quality-widget strong{display:block;font-size:34px;color:#0e5a32;line-height:1}.quality-widget span{display:block;color:#55705e;font-weight:800;margin:4px 0 10px}.modern-form{display:grid;gap:18px}.settings-card{background:#fff;border:1px solid #dfeadd;border-radius:22px;padding:20px;box-shadow:0 14px 34px rgba(21,73,45,.08)}.settings-card-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e6efe5}.settings-card-head h3{margin:0;color:#073f25;font-size:19px}.settings-card-head p{margin:3px 0 0;color:#607568;font-size:13px}.icon-badge{width:46px;height:46px;border-radius:16px;background:#eaf7ed;border:1px solid #cce8d2;display:grid;place-items:center;font-size:22px;flex:0 0 46px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px 16px}.settings-grid .field{margin:0}.settings-grid .field input{width:100%;box-sizing:border-box;background:#fbfdfb;border:1px solid #d7e7d8;border-radius:14px;padding:13px 14px;transition:.15s border,.15s box-shadow}.settings-grid .field input:focus{outline:0;border-color:#78b487;box-shadow:0 0 0 4px rgba(31,111,67,.12);background:#fff}.settings-grid .field.full{grid-column:1/-1}.sticky-actions{position:sticky;bottom:18px;display:flex;gap:10px;justify-content:flex-end;background:rgba(244,250,244,.84);backdrop-filter:blur(8px);border:1px solid #dfeadd;border-radius:20px;padding:12px;box-shadow:0 12px 34px rgba(21,73,45,.12)}.profile-summary-card h3{font-size:22px;margin:10px 0 2px;color:#073f25}.summary-subtitle{margin:0 0 14px;color:#55705e;font-weight:700}.summary-list{display:grid;gap:12px;margin-top:14px}.summary-list div{padding:12px;border:1px solid #e1ece1;border-radius:14px;background:#fbfdfb}.summary-list strong{display:block;color:#31533a;font-size:12px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.summary-list span{color:#182a1f;line-height:1.35}.missing-box{margin-top:14px;background:#fff7e8;border:1px solid #f1d9ad;color:#6a4309;border-radius:16px;padding:13px}.missing-box strong{display:block;margin-bottom:6px}.missing-box ul{margin:0;padding-left:18px}.complete-box{margin-top:14px;background:#eaf7ed;border:1px solid #cce8d2;color:#0e5a32;border-radius:16px;padding:13px;font-weight:800}.letter-preview-modern{overflow:hidden}.preview-label{font-weight:900;color:#073f25;margin-bottom:12px}.mini-paper{background:#fff;border:1px solid #e1ece1;border-radius:18px;padding:24px 24px 34px;box-shadow:inset 0 0 0 1px #f7faf7}.mini-paper .letterhead{margin-bottom:18px}.mini-letter-lines{display:grid;gap:8px;margin-top:18px}.mini-letter-lines span{height:8px;background:#eef4ec;border-radius:999px}.mini-letter-lines span:nth-child(1){width:80%}.mini-letter-lines span:nth-child(2){width:62%}.mini-letter-lines span:nth-child(3){width:72%}.letterhead-modern{text-align:center;border-bottom:1px solid #dfeadd;padding-bottom:14px;margin-bottom:26px}.letterhead-modern .letterhead-logo img{max-width:230px;width:42%;height:auto;margin:0 auto 8px;display:block}.letterhead-title strong{display:block;color:#073f25;font-size:16px;letter-spacing:.02em}.letterhead-title span{display:block;color:#55705e;font-size:12px;margin-top:2px}.letterhead-modern .letterhead-addressline{display:grid;gap:2px;margin-top:10px;padding-top:8px;border-top:1px solid #eef4ec;color:#597163;font-size:10.5px;line-height:1.35}.invoice-paper .letterhead-modern .letterhead-logo img{max-width:245px;width:40%}.invoice-paper .letterhead-title strong{font-size:15px}.invoice-paper .letterhead-title span{font-size:11px}
@media(max-width:1180px){.admin-profile-shell{grid-template-columns:1fr}.profile-side{position:relative;top:auto;grid-template-columns:1fr 1fr}.profile-hero{display:block}.quality-widget{margin-top:14px}.settings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.profile-side,.settings-grid{grid-template-columns:1fr}.sticky-actions{position:relative;bottom:auto;justify-content:stretch;flex-direction:column}.sticky-actions .button{text-align:center}.letterhead-modern .letterhead-logo img,.invoice-paper .letterhead-modern .letterhead-logo img{width:68%;max-width:230px}}
@media print{.letterhead-modern .letterhead-logo img,.invoice-paper .letterhead-modern .letterhead-logo img{max-width:210px;width:36%}.letterhead-title strong{font-size:13px}.letterhead-modern .letterhead-addressline{font-size:9px}}
.warning-card{border-left:5px solid #d99000;background:#fffaf0}.warning-card h3{margin-top:0;color:#8a5a00}.hint-list{margin:12px 0 18px 20px;color:#52636a}.hint-list li{margin:6px 0}
/* v0.8.4.3 PDF-Sicherheit */
.badge.success{background:#eaf7ed;color:#0e5a32}
.pdf-safety-note{border-left:5px solid #1f6f43;background:#f4fbf5}

.inline-form{display:inline-flex;align-items:center;margin:0}

/* v0.9.0.1 Zahlungen UI & Suche */
.payment-filter-card h3,.payment-entry-card h3{margin-bottom:4px}.payment-filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(160px,1fr)) auto;gap:12px;align-items:end}.payment-filter-grid .field{margin:0}.payment-filter-grid .form-actions{margin:0}.payment-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.payment-tabs a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 13px;color:#24452d;font-weight:800;box-shadow:0 8px 22px rgba(31,111,67,.06)}.payment-tabs a.active{background:var(--green);color:#fff;border-color:var(--green)}.payment-tabs a strong{background:rgba(31,111,67,.1);border-radius:999px;padding:2px 7px}.payment-tabs a.active strong{background:rgba(255,255,255,.2)}.payment-table td:last-child{white-space:nowrap}.badge.danger-badge{background:#fff0f0;color:#9d2626}.payment-kpis .card{min-height:120px}.quick-fill{white-space:nowrap}@media(max-width:1180px){.payment-filter-grid{grid-template-columns:1fr 1fr}.payment-filter-grid .form-actions{grid-column:1/-1}}@media(max-width:700px){.payment-filter-grid{grid-template-columns:1fr}.payment-tabs{display:grid}.payment-tabs a{justify-content:space-between}.payment-kpis{grid-template-columns:1fr!important}}


/* v0.9.0.2 Zahlungspruefung & Storno */
.payment-review-card {
  border: 1px solid rgba(197, 137, 0, .25);
  background: linear-gradient(180deg, #fffdf4, #ffffff);
}
.payment-review-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0 18px;
}
.payment-review-grid > div {
  border: 1px solid #e1eadf;
  border-radius: 14px;
  padding: 12px;
  background: #fff;
}
.payment-review-grid span {
  display: block;
  font-size: 12px;
  color: #5f7668;
  margin-bottom: 5px;
}
.payment-review-grid strong {
  color: #073f23;
}
.payment-confirm-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.payment-cancel-form {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}
.payment-cancel-form input {
  min-width: 170px;
  max-width: 220px;
  padding: 7px 9px;
  border-radius: 10px;
  border: 1px solid #d9e5dc;
}
.btn-small.danger, .button.danger {
  background: #9b1c1c;
  color: #fff;
  border-color: #9b1c1c;
}
.btn-small.danger:hover, .button.danger:hover {
  background: #7f1717;
}
@media (max-width: 900px) {
  .payment-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .payment-review-grid { grid-template-columns: 1fr; }
}

/* v0.9.0.3 Paechterakte Finanzen */
.tenant-profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(280px, .8fr);
  gap: 18px;
  align-items: start;
}
.tenant-profile-main h3,
.tenant-finance-summary h3 {
  margin-top: 0;
}
.finance-summary-list {
  display: grid;
  gap: 10px;
}
.finance-summary-list div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 12px;
  border: 1px solid #e1ebe5;
  background: #f7fbf8;
  border-radius: 14px;
}
.finance-summary-list span {
  color: #5f7668;
}
.finance-summary-list strong {
  color: #073f23;
}
.tenant-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 18px 0;
  padding: 8px;
  background: #eef7f1;
  border: 1px solid #dcebe1;
  border-radius: 18px;
}
.tenant-tabs a {
  display: inline-flex;
  align-items: center;
  padding: 9px 14px;
  border-radius: 999px;
  background: #fff;
  color: #0c4829;
  text-decoration: none;
  font-weight: 700;
  border: 1px solid #dcebe1;
}
.tenant-tabs a:hover {
  background: #0c4829;
  color: #fff;
}
.tenant-finance-table td,
.tenant-finance-table th,
.compact-table td,
.compact-table th {
  vertical-align: top;
}
.table-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
@media (max-width: 980px) {
  .tenant-profile-hero { grid-template-columns: 1fr; }
}

/* v0.9.0.3.2 Paechterakte Tabs-UI */
.tenant-tabs-modern a.active {
  background: #0c4829;
  color: #fff;
  border-color: #0c4829;
  box-shadow: 0 8px 18px rgba(12,72,41,.18);
}
.tenant-tabs-modern a em {
  display: inline-flex;
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #e8f3eb;
  color: #0c4829;
  font-style: normal;
  font-size: 11px;
  font-weight: 800;
}
.tenant-tabs-modern a.active em {
  background: rgba(255,255,255,.2);
  color: #fff;
}
.tenant-tab-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
  gap: 18px;
}
.tenant-overview-card h3,
.tenant-placeholder-card h3 {
  margin-top: 0;
}
.tenant-overview-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.tenant-overview-metrics div {
  padding: 14px;
  border: 1px solid #e1ebe5;
  border-radius: 16px;
  background: #f7fbf8;
}
.tenant-overview-metrics span,
.tenant-overview-metrics small {
  display: block;
  color: #607568;
}
.tenant-overview-metrics strong {
  display: block;
  margin: 6px 0 2px;
  color: #073f23;
  font-size: 20px;
}
.quick-action-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
@media (max-width: 980px) {
  .tenant-tab-grid { grid-template-columns: 1fr; }
  .tenant-overview-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .tenant-tabs-modern { gap: 6px; padding: 6px; }
  .tenant-tabs-modern a { flex: 1 1 calc(50% - 6px); justify-content: center; padding: 9px 10px; }
  .tenant-overview-metrics { grid-template-columns: 1fr; }
}

/* v0.9.0.4 Zahlungsmodul Feinschliff */
.payment-workflow-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}
.payment-workflow-strip .step {
  background: #fff;
  border: 1px solid rgba(18, 86, 61, .12);
  border-radius: 18px;
  padding: 14px 16px;
  display: flex;
  gap: 10px;
  align-items: center;
  box-shadow: 0 10px 30px rgba(15, 54, 40, .06);
  color: #65756f;
}
.payment-workflow-strip .step strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #edf7f1;
  color: #1f7a4d;
}
.payment-workflow-strip .step.done strong,
.payment-workflow-strip .step.active strong {
  background: #1f7a4d;
  color: #fff;
}
.payment-workflow-strip .step.active {
  border-color: rgba(31, 122, 77, .35);
  color: #12382a;
}
.payment-prefill-card {
  border-left: 6px solid #1f7a4d;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .9fr);
  gap: 18px;
  align-items: center;
}
.payment-prefill-summary {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  background: #f1f8f4;
}
.payment-cancel-form input {
  min-width: 180px;
}
@media (max-width: 900px) {
  .payment-workflow-strip,
  .payment-prefill-card {
    grid-template-columns: 1fr;
  }
}

/* v0.9.1 Mahnwesen */
.inline-reminder-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-reminder-form select,.inline-reminder-form input{border:1px solid #d7e7d8;border-radius:10px;padding:8px 9px;background:#fff}.reminder-paper{max-width:860px;margin:24px auto;background:#fff}.print-body{background:#f3f8f2}.print-actions{max-width:860px;margin:0 auto 24px;text-align:right}.sender-line{font-size:10px;color:#66796b;border-bottom:1px solid #e6efe5;margin-bottom:14px;padding-bottom:4px}.reminder-paper h1{font-size:20px;color:#073f25;margin:24px 0 12px}.reminder-paper p{line-height:1.45}.danger-badge{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}.badge.warn{background:#fff7e8;color:#7a4a00;border-color:#f1d9ad}
@media print{.print-body{background:#fff}.print-actions{display:none}.reminder-paper{max-width:none;margin:0;padding:0;box-shadow:none;border-radius:0}.reminder-paper h1{font-size:18px}.reminder-paper .payment-box{margin:18px 0}.reminder-paper .professional-footer{position:fixed;bottom:0;left:0;right:0}}


/* v0.9.1.1 Dashboard-UI Modernisierung */
.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:20px;padding:26px;border-radius:28px;background:linear-gradient(135deg,#0c4829,#2b8b56);color:#fff;box-shadow:0 18px 42px rgba(12,72,41,.18)}
.dashboard-hero h2{font-size:38px;line-height:1.05;margin:4px 0}.dashboard-hero p{margin:0;color:rgba(255,255,255,.82);font-weight:700}.dashboard-hero .eyebrow{color:rgba(255,255,255,.78)}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.hero-actions .button{background:#fff;color:#0c4829}.hero-actions .button.secondary{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.35)}
.eyebrow{display:block;color:#5d7968;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;margin-bottom:4px}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:14px;margin-bottom:18px}.kpi-card{position:relative;display:grid;gap:5px;min-height:150px;text-decoration:none;background:#fff;border:1px solid #dfe8df;border-radius:24px;padding:18px;box-shadow:0 12px 32px rgba(31,111,67,.07);overflow:hidden}.kpi-card:before{content:"";position:absolute;inset:auto -20px -32px auto;width:90px;height:90px;border-radius:999px;background:#eef7ee}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(31,111,67,.13)}.kpi-icon{position:relative;width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#eef7ee;font-size:21px}.kpi-card small{position:relative;color:#5c7164;font-weight:900}.kpi-card strong{position:relative;color:#073f25;font-size:26px;line-height:1.05}.kpi-card em{position:relative;color:#6c7d72;font-style:normal;font-size:13px;font-weight:700}.kpi-card.attention{border-color:#f0d6a5;background:linear-gradient(180deg,#fffaf0,#fff)}.kpi-card.danger{border-color:#efc8c8;background:linear-gradient(180deg,#fff4f4,#fff)}.kpi-card.danger .kpi-icon{background:#fff0f0}.kpi-card.attention .kpi-icon{background:#fff4df}
.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.dashboard-maincol,.dashboard-sidecol{display:grid;gap:18px;align-content:start}.dashboard-section-card{margin-bottom:0}.section-title-row{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.section-title-row h3{margin:0;font-size:22px}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-grid a{display:grid;gap:6px;text-decoration:none;border:1px solid #e0ebe2;border-radius:18px;background:#fbfdfb;padding:15px}.quick-grid a:hover{border-color:#b8d5c0;background:#f3faf4}.quick-grid strong{color:#073f25}.quick-grid span{color:#5c7164;font-size:13px;line-height:1.35}.finance-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.finance-strip div{padding:15px;border-radius:18px;background:#f7fbf8;border:1px solid #e0ebe2}.finance-strip span{display:block;color:#5c7164;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.finance-strip strong{display:block;margin-top:6px;color:#073f25;font-size:22px}.todo-card h3,.role-card h3{margin-top:0}.todo-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}.todo-list li{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;border:1px solid #e0ebe2;background:#f8fbf7}.todo-list li strong{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#e7f3ea;color:#0c4829}.todo-list li.is-open{background:#fffaf0;border-color:#f0d6a5}.todo-list li.is-open strong{background:#fff4df;color:#8a5a00}.todo-list li.is-ok strong{background:#eaf7ed;color:#0e5a32}.todo-list span{font-weight:800;color:#34503c}.role-card{display:grid;gap:10px}.role-card .eyebrow,.role-card h3{margin-bottom:0}.role-card a{display:flex;align-items:center;justify-content:space-between;text-decoration:none;padding:12px 13px;border-radius:16px;background:#f8fbf7;border:1px solid #e0ebe2;color:#073f25;font-weight:900}.role-card a:hover{background:#0c4829;color:#fff;border-color:#0c4829}
@media(max-width:1350px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}.dashboard-layout{grid-template-columns:1fr}.dashboard-sidecol{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-hero{display:block}.dashboard-hero h2{font-size:30px}.hero-actions{justify-content:flex-start;margin-top:16px}.dashboard-kpi-grid,.quick-grid,.finance-strip,.dashboard-sidecol{grid-template-columns:1fr}.section-title-row{display:block}.section-title-row .btn-small{margin-top:10px}.kpi-card{min-height:auto}.dashboard-hero .button{width:100%;text-align:center;margin-bottom:8px}}


/* v0.9.1.2 Sidebar-Navigation */
.app-shell-sidebar-v2 {
  background: #f3f7f1;
}
.sidebar-v2 {
  width: 292px;
  padding: 20px 16px;
  background: linear-gradient(180deg, #0f4a2d 0%, #155c37 54%, #0c3b24 100%);
  box-shadow: 12px 0 30px rgba(12, 72, 41, .14);
  overflow-y: auto;
}
.brand-v2 {
  margin: 0 4px 22px;
  padding: 10px 8px 18px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.brand-v2 img {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  padding: 5px;
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
}
.brand-v2 strong {
  display: block;
  font-size: 16px;
  line-height: 1.15;
}
.brand-v2 span {
  font-size: 12px;
  opacity: .78;
}
.nav-groups {
  display: grid;
  gap: 15px;
}
.nav-group {
  display: grid;
  gap: 6px;
}
.nav-group-title {
  color: rgba(255,255,255,.58);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 0 12px 2px;
}
.sidebar-v2 nav a.nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 14px;
  color: rgba(255,255,255,.91);
  background: transparent;
  border: 1px solid transparent;
  font-weight: 800;
  transition: .15s background, .15s border, .15s transform;
}
.sidebar-v2 nav a.nav-link span {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 9px;
  background: rgba(255,255,255,.1);
  font-size: 14px;
}
.sidebar-v2 nav a.nav-link:hover {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.16);
  transform: translateX(2px);
}
.sidebar-v2 nav a.nav-link.active {
  background: #ffffff;
  color: #0c4829;
  border-color: rgba(255,255,255,.88);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.sidebar-v2 nav a.nav-link.active span {
  background: #e8f3eb;
}
.nav-group-admin {
  margin-top: 2px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.13);
}
.sidebar-version-v2 {
  margin: 22px 6px 0;
  padding: 12px 13px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 16px;
  opacity: 1;
}
.sidebar-version-v2 span {
  color: rgba(255,255,255,.7);
  font-size: 12px;
  font-weight: 800;
}
.sidebar-version-v2 strong {
  color: #fff;
  font-size: 12px;
}
.content-v2 {
  padding: 28px 32px;
}
.topbar-v2 {
  background: rgba(255,255,255,.72);
  border: 1px solid #dfe8df;
  border-radius: 24px;
  padding: 18px 20px;
  box-shadow: 0 10px 26px rgba(31,111,67,.06);
}
.userbox-v2 {
  box-shadow: none;
  border-radius: 999px;
}
.userbox-v2 span {
  font-weight: 800;
  color: #17351f;
}
@media (max-width: 1000px) {
  .sidebar-v2 {
    width: 100%;
    height: auto;
    position: relative;
    padding: 16px;
  }
  .brand-v2 {
    margin-bottom: 14px;
  }
  .nav-groups {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 12px;
  }
  .sidebar-version-v2 {
    max-width: 260px;
  }
  .content-v2 {
    padding: 20px;
  }
}
@media (max-width: 640px) {
  .nav-groups {
    grid-template-columns: 1fr;
  }
  .sidebar-v2 nav a.nav-link {
    padding: 11px 12px;
  }
  .topbar-v2 {
    padding: 16px;
  }
  .userbox-v2 {
    margin-top: 12px;
    justify-content: space-between;
  }
}


/* v0.9.1.3 Listen- und Tabellen-UI */
.list-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: 20px;
  border: 1px solid #dfeadd;
  border-radius: 24px;
  background: linear-gradient(135deg,#ffffff,#eef8ef);
  box-shadow: 0 12px 34px rgba(31,111,67,.08);
  margin-bottom: 18px;
}
.list-hero h3 { margin: 0 0 6px; font-size: 24px; color: #073f25; }
.list-hero p { margin: 0; color: #607568; line-height: 1.45; }
.list-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.list-filter-card {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  background: #fff;
  border: 1px solid #dfeadd;
  border-radius: 20px;
  padding: 14px;
}
.list-filter-card form { display:flex; gap:10px; flex-wrap:wrap; align-items:end; flex:1; }
.list-filter-card input,
.list-filter-card select {
  border:1px solid #d7e7d8;
  background:#fbfdfb;
  border-radius:14px;
  padding:12px 13px;
  min-width:240px;
  font:inherit;
}
.list-filter-card input:focus,
.list-filter-card select:focus { outline:0; border-color:#78b487; box-shadow:0 0 0 4px rgba(31,111,67,.12); background:#fff; }
.list-summary-row { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:12px; margin-bottom:16px; }
.list-summary-card { background:#fff; border:1px solid #dfeadd; border-radius:18px; padding:14px; box-shadow:0 8px 22px rgba(31,111,67,.06); }
.list-summary-card span { display:block; color:#607568; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.list-summary-card strong { display:block; margin-top:5px; color:#073f25; font-size:24px; }
.data-table-card { padding:0; overflow:hidden; }
.data-table-head { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:16px 18px; border-bottom:1px solid #e5eee5; background:#fbfdfb; }
.data-table-head h3 { margin:0; color:#073f25; }
.data-table-head .hint { font-weight:700; }
.data-table-wrap { width:100%; overflow-x:auto; }
.table.modern-table { border-radius:0; }
.table.modern-table th { background:#f2f8f3; color:#31533a; font-size:12px; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.table.modern-table td { padding:14px 13px; }
.table.modern-table tr:hover td { background:#fbfdfb; }
.table.modern-table td:first-child,
.table.modern-table th:first-child { padding-left:18px; }
.table.modern-table td:last-child,
.table.modern-table th:last-child { padding-right:18px; }
.table-title { display:grid; gap:2px; }
.table-title strong { color:#073f25; }
.table-title small { color:#607568; font-size:12px; }
.status-pill { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:6px 10px; font-size:12px; font-weight:900; background:#e7f3ea; color:#0e5a32; }
.status-pill.is-muted { background:#eef0ef; color:#536057; }
.status-pill.is-warning { background:#fff4df; color:#8a5a00; }
.status-pill.is-danger { background:#fff0f0; color:#9d2626; }
.row-actions { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.row-actions .btn-small { padding:8px 10px; border-radius:10px; }
@media(max-width:900px){
  .list-hero{display:block}.list-hero-actions{justify-content:flex-start;margin-top:14px}.list-summary-row{grid-template-columns:1fr 1fr}.list-filter-card form{display:grid;grid-template-columns:1fr;width:100%}.list-filter-card input,.list-filter-card select{min-width:0;width:100%}
}
@media(max-width:560px){.list-summary-row{grid-template-columns:1fr}.data-table-head{display:block}.row-actions{justify-content:flex-start}}

/* v0.9.1.4 Tenant file Premium UI */
.tenant-premium-hero {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: center;
  padding: 24px;
  border: 1px solid rgba(31,111,67,.16);
  background:
    radial-gradient(circle at top left, rgba(31,111,67,.16), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #f4fbf5 100%);
}
.tenant-hero-content {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}
.tenant-avatar {
  width: 78px;
  height: 78px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #1f6f43, #2f8f58);
  color: #fff;
  font-size: 28px;
  font-weight: 900;
  box-shadow: 0 14px 32px rgba(31,111,67,.24);
  flex: 0 0 78px;
}
.tenant-eyebrow {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #e7f3ea;
  color: #1f6f43;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 8px;
  letter-spacing: .02em;
}
.tenant-hero-copy h2 {
  margin: 0 0 6px;
  font-size: 30px;
  line-height: 1.12;
  color: #102a1a;
}
.tenant-hero-copy p {
  margin: 0;
  color: #52675a;
  max-width: 760px;
  line-height: 1.5;
}
.tenant-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 13px;
}
.tenant-chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #dcebe1;
  color: #184c2f;
  font-size: 12px;
  font-weight: 800;
}
.tenant-chip.status-chip {
  background: #1f6f43;
  color: #fff;
  border-color: #1f6f43;
}
.tenant-hero-actions,
.tenant-action-buttons {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.tenant-identity-grid,
.tenant-finance-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.tenant-info-card,
.tenant-finance-card {
  background: #fff;
  border: 1px solid #dfe8df;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 10px 30px rgba(31,111,67,.06);
  min-height: 112px;
}
.tenant-info-card span,
.tenant-finance-card span {
  display: block;
  color: #5f7668;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.tenant-info-card strong,
.tenant-finance-card strong {
  display: block;
  margin: 8px 0 4px;
  color: #0c3722;
  font-size: 20px;
  line-height: 1.25;
}
.tenant-info-card small,
.tenant-finance-card small {
  display: block;
  color: #617467;
  line-height: 1.4;
}
.tenant-finance-card {
  border-top: 5px solid #dcebe1;
}
.tenant-finance-card.attention {
  border-top-color: #d99000;
  background: linear-gradient(180deg, #fffaf0, #fff);
}
.tenant-finance-card.positive {
  border-top-color: #1f6f43;
  background: linear-gradient(180deg, #f0faf3, #fff);
}
.tenant-finance-card.danger {
  border-top-color: #9b1c1c;
  background: linear-gradient(180deg, #fff4f4, #fff);
}
.tenant-action-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 0;
}
.tenant-action-strip strong,
.tenant-action-strip span {
  display: block;
}
.tenant-action-strip span {
  color: #617467;
  margin-top: 3px;
}
.tenant-tabs-premium {
  background: #fff;
  border-color: #dfe8df;
  box-shadow: 0 8px 24px rgba(31,111,67,.06);
}
.tenant-tabs-premium a {
  padding: 11px 16px;
}
.tenant-tabs-premium a.active {
  background: #1f6f43;
  color: #fff;
  border-color: #1f6f43;
  box-shadow: 0 10px 22px rgba(31,111,67,.18);
}
.tenant-tabs-premium a em {
  display: inline-flex;
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #e8f3eb;
  color: #0c4829;
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}
.tenant-tabs-premium a.active em {
  background: rgba(255,255,255,.22);
  color: #fff;
}
.tenant-premium-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr);
  gap: 18px;
  align-items: start;
}
.premium-panel {
  border-color: rgba(31,111,67,.14);
}
.section-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.section-heading h3 {
  margin: 0 0 4px;
}
.tenant-detail-list {
  display: grid;
  gap: 10px;
}
.tenant-detail-list div,
.tenant-mini-ledger div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid #e1ebe5;
  background: #f8fbf7;
}
.tenant-detail-list span,
.tenant-mini-ledger span {
  color: #5f7668;
  font-weight: 800;
}
.tenant-detail-list strong,
.tenant-mini-ledger strong {
  color: #0d3723;
  text-align: right;
}
.tenant-mini-ledger {
  display: grid;
  gap: 10px;
}
.next-step-box,
.note-preview-box {
  margin-top: 14px;
  border: 1px solid #cce8d2;
  border-radius: 16px;
  padding: 14px;
  background: #f3fbf5;
}
.next-step-box strong,
.next-step-box span,
.note-preview-box strong,
.note-preview-box span {
  display: block;
}
.next-step-box span,
.note-preview-box span {
  color: #52675a;
  margin: 5px 0 12px;
}
.finance-section-stack {
  display: grid;
  gap: 18px;
}
.responsive-table-wrap {
  width: 100%;
  overflow-x: auto;
}
.premium-table th {
  background: #f2f8f4;
  color: #173c26;
}
.premium-table td {
  background: #fff;
}
.tenant-placeholder-premium {
  text-align: center;
  padding: 38px 24px;
}
.placeholder-icon {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  margin: 0 auto 14px;
  background: #e7f3ea;
  color: #1f6f43;
  font-size: 22px;
  font-weight: 900;
}
.tenant-placeholder-premium p {
  max-width: 720px;
  margin: 0 auto 16px;
  color: #52675a;
  line-height: 1.55;
}
.prepared-list {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}
.prepared-list span {
  padding: 8px 11px;
  border-radius: 999px;
  background: #f3f8f4;
  border: 1px solid #dfe8df;
  color: #1f5032;
  font-weight: 800;
  font-size: 12px;
}
button[disabled].button,
button[disabled].btn-small {
  cursor: not-allowed;
  opacity: .62;
}
@media (max-width: 1240px) {
  .tenant-premium-hero { align-items: flex-start; flex-direction: column; }
  .tenant-hero-actions { justify-content: flex-start; }
  .tenant-identity-grid,
  .tenant-finance-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tenant-premium-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .tenant-hero-content { align-items: flex-start; flex-direction: column; }
  .tenant-hero-copy h2 { font-size: 24px; }
  .tenant-identity-grid,
  .tenant-finance-cards { grid-template-columns: 1fr; }
  .tenant-action-strip { align-items: flex-start; flex-direction: column; }
  .tenant-action-buttons { justify-content: flex-start; }
  .tenant-tabs-premium a { flex: 1 1 calc(50% - 8px); justify-content: center; }
  .tenant-detail-list div,
  .tenant-mini-ledger div { display: grid; gap: 5px; }
  .tenant-detail-list strong,
  .tenant-mini-ledger strong { text-align: left; }
}

/* v0.9.1.4.1 Parzellenverwaltung kompakt */
.plot-hero {
  background:
    radial-gradient(circle at top left, rgba(31,111,67,.14), transparent 34%),
    linear-gradient(135deg, #ffffff, #f3fbf4);
}
.plot-summary-row {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
}
.plot-filter-card form {
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) minmax(190px, .8fr) minmax(180px, .75fr) auto;
  align-items: end;
  gap: 12px;
  width: 100%;
}
.plot-filter-field {
  display: grid;
  gap: 6px;
}
.plot-filter-field label {
  color: #31533a;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.plot-filter-card input,
.plot-filter-card select {
  width: 100%;
  min-width: 0;
}
.plot-filter-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.plot-status-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 16px;
}
.plot-status-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  background: #fff;
  border: 1px solid #dfeadd;
  border-radius: 999px;
  padding: 10px 13px;
  color: #24452d;
  font-weight: 900;
  box-shadow: 0 8px 22px rgba(31,111,67,.06);
}
.plot-status-tabs a.active {
  background: #1f6f43;
  color: #fff;
  border-color: #1f6f43;
}
.plot-status-tabs a strong {
  border-radius: 999px;
  padding: 2px 7px;
  background: rgba(31,111,67,.1);
}
.plot-status-tabs a.active strong {
  background: rgba(255,255,255,.22);
}
.plot-path-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.plot-path-card {
  display: grid;
  gap: 4px;
  text-decoration: none;
  background: #fff;
  border: 1px solid #dfeadd;
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 10px 26px rgba(31,111,67,.06);
  transition: .15s transform, .15s box-shadow, .15s border;
}
.plot-path-card:hover {
  transform: translateY(-1px);
  border-color: #b9d7bf;
  box-shadow: 0 14px 34px rgba(31,111,67,.1);
}
.plot-path-card span {
  color: #607568;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.plot-path-card strong {
  color: #073f25;
  font-size: 20px;
}
.plot-path-card small {
  color: #53685b;
  font-weight: 700;
}
.plot-path-card i {
  display: block;
  height: 8px;
  margin-top: 7px;
  background: #eef4ec;
  border-radius: 999px;
  overflow: hidden;
}
.plot-path-card i b {
  display: block;
  height: 100%;
  background: #1f6f43;
  border-radius: 999px;
}
.plot-group-stack {
  display: grid;
  gap: 12px;
}
.plot-group {
  background: #fff;
  border: 1px solid #dfeadd;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(31,111,67,.06);
  overflow: hidden;
  scroll-margin-top: 18px;
}
.plot-group summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 16px 18px;
  cursor: pointer;
  background: #fbfdfb;
}
.plot-group summary::-webkit-details-marker {
  display: none;
}
.plot-group summary::after {
  content: '+';
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 12px;
  background: #e7f3ea;
  color: #1f6f43;
  font-size: 22px;
  font-weight: 900;
  flex: 0 0 32px;
}
.plot-group[open] summary::after {
  content: '–';
}
.plot-group-title {
  color: #073f25;
  font-size: 20px;
  font-weight: 900;
}
.plot-group-stats {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  color: #607568;
  margin-left: auto;
}
.plot-group-stats strong {
  color: #073f25;
  font-size: 22px;
}
.plot-group-stats em {
  font-style: normal;
  background: #eef7ee;
  border: 1px solid #dcebdd;
  color: #31533a;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 12px;
  font-weight: 900;
}
.plot-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(230px, 1fr));
  gap: 12px;
  padding: 14px;
  background: #f8fbf7;
  border-top: 1px solid #e5eee5;
}
.plot-tile {
  display: grid;
  gap: 13px;
  background: #fff;
  border: 1px solid #dfeadd;
  border-radius: 18px;
  padding: 14px;
  min-height: 176px;
}
.plot-tile.is-free {
  border-color: #f1d9ad;
  background: linear-gradient(180deg, #fffdf6, #ffffff);
}
.plot-tile-top {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
.plot-tile-top span:first-child {
  display: block;
  color: #607568;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.plot-tile-top strong {
  display: block;
  margin-top: 2px;
  color: #073f25;
  font-size: 25px;
  line-height: 1;
}
.plot-tile-body {
  display: grid;
  gap: 10px;
}
.plot-tenant-link {
  color: #073f25;
  font-size: 16px;
  font-weight: 900;
  text-decoration: none;
}
.plot-tenant-link:hover {
  text-decoration: underline;
}
.plot-tenant-empty {
  color: #8a5a00;
  font-weight: 900;
}
.plot-mini-meta {
  display: grid;
  gap: 6px;
}
.plot-mini-meta span {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  background: #f2f8f3;
  border: 1px solid #e1ece1;
  border-radius: 999px;
  padding: 5px 8px;
  color: #53685b;
  font-size: 12px;
  font-weight: 800;
}
.plot-tile-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: end;
  margin-top: auto;
}
.plot-tile-actions .btn-small {
  padding: 8px 10px;
}
@media(max-width:1180px){
  .plot-filter-card form{grid-template-columns:1fr 1fr}.plot-filter-actions{grid-column:1/-1}.plot-path-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.plot-card-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}
}
@media(max-width:760px){
  .plot-summary-row{grid-template-columns:1fr 1fr}.plot-filter-card form{grid-template-columns:1fr}.plot-path-grid{grid-template-columns:1fr 1fr}.plot-card-grid{grid-template-columns:1fr}.plot-group summary{align-items:flex-start}.plot-group-stats{margin-left:0}.plot-status-tabs{display:grid}.plot-status-tabs a{justify-content:space-between}
}
@media(max-width:540px){
  .plot-summary-row,.plot-path-grid{grid-template-columns:1fr}.plot-group summary{display:grid}.plot-group summary::after{position:absolute;right:16px}.plot-group{position:relative}.plot-tile-actions{display:grid}.plot-tile-actions .btn-small{text-align:center}
}

.tenant-list-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 18px;
  padding: 24px;
  border-radius: 28px;
  background: linear-gradient(135deg, #0a472b, #1f7a45);
  color: #fff;
  box-shadow: 0 20px 50px rgba(7, 63, 37, .18);
}
.tenant-list-hero .eyebrow,
.tenant-list-hero p {
  color: rgba(255,255,255,.82);
}
.tenant-list-hero h3 {
  margin: 5px 0 6px;
  font-size: 30px;
  color: #fff;
}
.tenant-summary-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.tenant-summary-card {
  background: #fff;
  border: 1px solid #e0eadf;
  border-radius: 20px;
  padding: 15px;
  box-shadow: 0 12px 28px rgba(7, 63, 37, .06);
}
.tenant-summary-card span {
  display: block;
  color: #607568;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.tenant-summary-card strong {
  display: block;
  margin-top: 5px;
  color: #073f25;
  font-size: 28px;
  line-height: 1;
}
.tenant-filter-card {
  margin-bottom: 14px;
  background: #fff;
  border: 1px solid #dfeadd;
  border-radius: 22px;
  padding: 14px;
  box-shadow: 0 12px 30px rgba(7, 63, 37, .06);
}
.tenant-filter-card form {
  display: grid;
  grid-template-columns: minmax(240px, 1.6fr) repeat(4, minmax(150px, 1fr)) auto;
  gap: 10px;
  align-items: end;
}
.tenant-filter-card input,
.tenant-filter-card select {
  min-height: 42px;
}
.tenant-filter-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.tenant-status-tabs {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin: 4px 0 16px;
}
.tenant-status-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid #dbe8db;
  border-radius: 999px;
  background: #fff;
  color: #31533a;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
}
.tenant-status-tabs a.active {
  background: #0a472b;
  border-color: #0a472b;
  color: #fff;
}
.tenant-status-tabs a.active.warn { background: #8a5a00; border-color: #8a5a00; }
.tenant-status-tabs a.active.success { background: #237344; border-color: #237344; }
.tenant-status-tabs a.active.danger { background: #9a3412; border-color: #9a3412; }
.tenant-status-tabs a.active.muted { background: #53685b; border-color: #53685b; }
.tenant-groups {
  display: grid;
  gap: 14px;
}
.tenant-group {
  background: #fff;
  border: 1px solid #dfeadd;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 38px rgba(7, 63, 37, .07);
}
.tenant-group summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  padding: 17px 19px;
  list-style: none;
}
.tenant-group summary::-webkit-details-marker {
  display: none;
}
.tenant-group summary::after {
  content: '+';
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eef7ee;
  color: #073f25;
  font-size: 20px;
  font-weight: 900;
}
.tenant-group[open] summary::after {
  content: '-';
}
.tenant-group summary span:first-child {
  display: block;
  color: #607568;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.tenant-group summary strong {
  display: block;
  margin-top: 2px;
  color: #073f25;
  font-size: 20px;
  font-weight: 900;
}
.tenant-group-stats {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  margin-left: auto;
  color: #607568;
}
.tenant-group-stats strong {
  color: #073f25;
  font-size: 22px;
}
.tenant-group-stats em {
  font-style: normal;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 12px;
  font-weight: 900;
}
.tenant-group-stats em.warn { background: #fff6df; border: 1px solid #f2ddb2; color: #8a5a00; }
.tenant-group-stats em.success { background: #eef9f0; border: 1px solid #d8ecd8; color: #237344; }
.tenant-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 12px;
  padding: 14px;
  background: #f8fbf7;
  border-top: 1px solid #e5eee5;
}
.tenant-tile {
  display: grid;
  gap: 13px;
  background: #fff;
  border: 1px solid #dfeadd;
  border-radius: 18px;
  padding: 14px;
  min-height: 224px;
}
.tenant-tile.has-open {
  border-color: #f0d69e;
  background: linear-gradient(180deg, #fffaf0, #ffffff);
}
.tenant-tile.has-credit {
  border-color: #cfe8d3;
}
.tenant-tile-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}
.tenant-tile-top span:first-child {
  display: block;
  color: #607568;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.tenant-tile-top strong {
  display: block;
  margin-top: 2px;
  color: #073f25;
  font-size: 18px;
  line-height: 1.2;
}
.tenant-mini-meta {
  display: grid;
  gap: 7px;
}
.tenant-mini-meta span {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  background: #f2f8f3;
  border: 1px solid #e1ece1;
  border-radius: 999px;
  padding: 5px 8px;
  color: #53685b;
  font-size: 12px;
  font-weight: 800;
}
.tenant-finance-line {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  padding: 10px;
  border-radius: 14px;
  background: #f7faf7;
  border: 1px solid #e3ece2;
  color: #53685b;
  font-size: 13px;
  font-weight: 800;
}
.tenant-finance-line span {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.tenant-finance-line strong {
  color: #073f25;
}
.tenant-finance-line .warn,
.tenant-finance-line .warn strong { color: #8a5a00; }
.tenant-finance-line .success,
.tenant-finance-line .success strong { color: #237344; }
.tenant-finance-line .danger,
.tenant-finance-line .danger strong { color: #9a3412; }
.tenant-tile-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: end;
  margin-top: auto;
}
.tenant-tile-actions .btn-small {
  padding: 8px 10px;
}
@media(max-width:1280px){
  .tenant-filter-card form{grid-template-columns:1fr 1fr 1fr}.tenant-filter-actions{grid-column:1/-1}.tenant-summary-row{grid-template-columns:repeat(3,1fr)}.tenant-card-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}
}
@media(max-width:760px){
  .tenant-list-hero{display:grid}.tenant-filter-card form{grid-template-columns:1fr}.tenant-summary-row{grid-template-columns:1fr 1fr}.tenant-card-grid{grid-template-columns:1fr}.tenant-group summary{align-items:flex-start}.tenant-group-stats{margin-left:0}.tenant-status-tabs{display:grid}.tenant-status-tabs a{justify-content:space-between}
}
@media(max-width:540px){
  .tenant-summary-row{grid-template-columns:1fr}.tenant-group summary{display:grid}.tenant-group summary::after{position:absolute;right:16px}.tenant-group{position:relative}.tenant-tile-actions{display:grid}.tenant-tile-actions .btn-small{text-align:center}
}

/* v0.9.1.4.3 UI-Feinschliff Desktop */
@media (min-width: 1024px) {
  .content {
    max-width: 1600px;
    width: 100%;
    padding: 30px 34px 38px;
  }

  .topbar {
    background: #ffffff;
    border: 1px solid #dfeadd;
    border-radius: 24px;
    padding: 18px 20px;
    box-shadow: 0 12px 34px rgba(31,111,67,.07);
  }

  .topbar h1 {
    font-size: 28px;
    letter-spacing: -.02em;
    color: #073f25;
  }

  .topbar p {
    color: #55705e;
    font-weight: 700;
  }

  .card,
  .dashboard-section-card,
  .tenant-group,
  .plot-group,
  .tenant-filter-card,
  .list-filter-card,
  .data-table-card {
    box-shadow: 0 14px 36px rgba(31,111,67,.07);
  }

  .button,
  .btn-small {
    box-shadow: 0 8px 18px rgba(31,111,67,.12);
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
  }

  .button:hover,
  .btn-small:hover,
  .tenant-status-tabs a:hover,
  .plot-status-tabs a:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(31,111,67,.15);
  }

  .button.secondary,
  .btn-small.secondary {
    border: 1px solid #cfe3d2;
    box-shadow: none;
  }

  .dashboard-hero,
  .list-hero,
  .tenant-list-hero,
  .tenant-premium-hero {
    border-radius: 26px;
  }

  .dashboard-kpi-grid {
    grid-template-columns: repeat(6, minmax(150px, 1fr));
  }

  .kpi-card {
    min-height: 152px;
    border-radius: 22px;
  }

  .quick-grid a,
  .role-card a {
    border-radius: 18px;
  }

  .finance-strip {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
  }

  .tenant-summary-row {
    grid-template-columns: repeat(6, minmax(145px, 1fr));
  }

  .tenant-summary-card,
  .list-summary-card {
    min-height: 88px;
    border-radius: 20px;
  }

  .tenant-filter-card form {
    grid-template-columns: minmax(300px, 1.7fr) repeat(4, minmax(165px, 1fr)) auto;
    gap: 12px;
  }

  .tenant-filter-card input,
  .tenant-filter-card select,
  .list-filter-card input,
  .list-filter-card select,
  .field input,
  .field select,
  .field textarea {
    border-color: #d6e5d8;
    background: #fbfdfb;
  }

  .tenant-filter-card input:focus,
  .tenant-filter-card select:focus,
  .list-filter-card input:focus,
  .list-filter-card select:focus,
  .field input:focus,
  .field select:focus,
  .field textarea:focus {
    outline: none;
    border-color: #78b487;
    box-shadow: 0 0 0 4px rgba(31,111,67,.12);
    background: #fff;
  }

  .tenant-status-tabs,
  .plot-status-tabs {
    padding: 8px;
    background: #eef7f1;
    border: 1px solid #dcebe1;
    border-radius: 20px;
  }

  .tenant-status-tabs a,
  .plot-status-tabs a {
    box-shadow: none;
  }

  .tenant-card-grid {
    grid-template-columns: repeat(3, minmax(280px, 1fr));
    gap: 14px;
    padding: 16px;
  }

  .tenant-tile,
  .plot-tile {
    border-radius: 20px;
    padding: 16px;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  }

  .tenant-tile:hover,
  .plot-tile:hover {
    transform: translateY(-1px);
    border-color: #b9d7bf;
    box-shadow: 0 14px 30px rgba(31,111,67,.09);
  }

  .tenant-tile-top strong {
    font-size: 19px;
  }

  .tenant-mini-meta,
  .plot-mini-meta {
    align-content: start;
  }

  .tenant-mini-meta span,
  .plot-mini-meta span {
    border-radius: 12px;
  }

  .tenant-tile-actions,
  .plot-tile-actions,
  .row-actions,
  .table-actions {
    gap: 7px;
  }

  .plot-path-grid {
    grid-template-columns: repeat(5, minmax(170px, 1fr));
  }

  .plot-card-grid {
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 14px;
    padding: 16px;
  }

  .plot-tile {
    min-height: 188px;
  }

  .table,
  .premium-table,
  .compact-table {
    border: 1px solid #dfeadd;
    border-radius: 18px;
    overflow: hidden;
  }

  .table th,
  .premium-table th,
  .compact-table th {
    background: #f2f8f3;
    color: #31533a;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .table td,
  .premium-table td,
  .compact-table td {
    color: #203328;
  }

  .table tr:hover td,
  .premium-table tr:hover td,
  .compact-table tr:hover td {
    background: #fbfdfb;
  }

  .status-pill,
  .badge {
    border: 1px solid rgba(31,111,67,.1);
  }
}

/* v0.9.1.5 Benutzer, Rollen & Rechte */
.page-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-bottom: 18px;
}
.compact-stats {
  margin-bottom: 18px;
}
.card-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 16px;
}
.card-title-row h3 {
  margin: 0 0 4px;
}
.inline-form select,
.field select {
  min-height: 42px;
  border: 1px solid var(--border, #d7dce3);
  border-radius: 12px;
  padding: 8px 12px;
  background: #fff;
}
.permission-editor {
  display: grid;
  gap: 18px;
}
.permission-group {
  border-top: 1px solid var(--border, #e5e7eb);
  padding-top: 16px;
}
.permission-group h4 {
  margin: 0 0 12px;
}
.permission-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
}
.check-card {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 14px;
  padding: 11px 12px;
  background: #fff;
  font-weight: 650;
}
.check-card input {
  width: 18px;
  height: 18px;
}
.wide-check {
  align-self: end;
  min-height: 42px;
}
.badge-muted {
  background: #eef1f5;
  color: #56616f;
}
.badge-success {
  background: #dff7e7;
  color: #126b35;
}
.userbox-v2 small {
  display: block;
  color: #667085;
  font-size: 12px;
  line-height: 1.2;
}

/* v0.9.1.6 Dokumentkategorien */
.small-text{font-size:.88rem;margin-top:4px;line-height:1.35}
.table-card .actions form.inline-form{margin-left:6px}

/* v0.9.1.7 Pächterdokumente */
.document-workspace {
  display: grid;
  gap: 18px;
}

.document-upload-grid {
  align-items: start;
}

.document-card-list {
  display: grid;
  gap: 12px;
}

.document-card {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  background: #fff;
}

.document-icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(37, 99, 235, 0.10);
  color: #1d4ed8;
  font-weight: 800;
}

.document-main strong {
  display: block;
  font-size: 15px;
  color: #111827;
  overflow-wrap: anywhere;
}

.document-main p {
  margin: 6px 0 0;
  color: #475569;
}

.document-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.document-meta span {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 700;
}

.document-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.document-actions form {
  margin: 0;
}

/* v0.9.1.8 Dokumentenübersicht */
.document-overview-hero {
  margin-bottom: 18px;
}

.document-summary-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.document-filter-card {
  margin-bottom: 18px;
}

.document-filter-card form {
  display: grid;
  grid-template-columns: minmax(300px, 2fr) minmax(180px, 1fr) minmax(180px, 1fr) minmax(170px, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.document-filter-card .field {
  margin: 0;
}

.document-filter-card input,
.document-filter-card select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #d7e7d8;
  border-radius: 14px;
  padding: 10px 12px;
  background: #fbfdfb;
}

.document-filter-card input:focus,
.document-filter-card select:focus {
  outline: 0;
  border-color: #78b487;
  box-shadow: 0 0 0 4px rgba(31,111,67,.12);
  background: #fff;
}

.document-filter-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  white-space: nowrap;
}

.document-overview-card .section-title-row p {
  margin: 4px 0 0;
  color: #667085;
  font-weight: 700;
}

.document-table-wrap {
  overflow-x: auto;
}

.document-table th,
.document-table td {
  vertical-align: middle;
}

.document-title-cell strong {
  display: block;
  color: #111827;
  overflow-wrap: anywhere;
}

.document-title-cell span {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.35;
  max-width: 520px;
}

.document-table td small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.document-table td.actions {
  white-space: nowrap;
}

@media(max-width: 1280px) {
  .document-filter-card form {
    grid-template-columns: 1fr 1fr;
  }
  .document-search-field,
  .document-filter-actions {
    grid-column: 1 / -1;
  }
  .document-filter-actions {
    justify-content: flex-start;
  }
}

/* v0.9.1.9 Pächterwechsel */
.tenant-change-layout {
  display: grid;
  gap: 18px;
}

.tenant-change-summary,
.tenant-change-form {
  overflow: hidden;
}

.compact-grid {
  margin-top: 14px;
}

.tenant-change-feature-box {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #d7e7d8;
  border-radius: 18px;
  background: #fbfdfb;
}

.tenant-change-feature-box strong,
.tenant-change-confirm strong {
  display: block;
  margin-bottom: 10px;
  color: #123d26;
}

.tenant-change-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.tenant-change-checks .check {
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #d7e7d8;
  border-radius: 14px;
  background: #fff;
  font-weight: 800;
}

.tenant-change-confirm {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 18px;
  background: #eef8ef;
  color: #123d26;
}

.tenant-change-confirm span {
  display: block;
  color: #355548;
  font-weight: 700;
}

/* v0.9.2.2 Rechnungsübersicht */
.invoice-status-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.invoice-status-tabs a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 13px;color:#24452d;font-weight:900;box-shadow:0 8px 22px rgba(31,111,67,.06)}.invoice-status-tabs a.active{background:var(--green);color:#fff;border-color:var(--green)}.invoice-status-tabs a strong{background:rgba(31,111,67,.1);border-radius:999px;padding:2px 7px}.invoice-status-tabs a.active strong{background:rgba(255,255,255,.22)}.invoice-filter-card form{display:grid;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(150px,1fr)) auto;gap:12px;align-items:end}.invoice-filter-card .field{margin:0}.invoice-filter-card .form-actions{margin:0;display:flex;gap:8px;flex-wrap:wrap}.invoice-result-row{grid-template-columns:repeat(3,minmax(180px,1fr))}.invoice-table td{vertical-align:middle}.invoice-table .status-pill{margin-top:4px}.invoice-actions{white-space:nowrap}.invoice-actions .btn-small{margin:2px}.btn-small.secondary{background:#eef4ec;color:#24452d}.invoice-steps{grid-template-columns:repeat(5,minmax(120px,1fr))}@media(max-width:1180px){.invoice-filter-card form{grid-template-columns:1fr 1fr 1fr}.invoice-filter-card .form-actions{grid-column:1/-1}.invoice-steps{grid-template-columns:repeat(3,minmax(120px,1fr))}}
.sf-page {
  display: grid;
  gap: 18px;
}
.sf-dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 22px;
  align-items: stretch;
  margin-bottom: 0;
  padding: 26px;
  background: linear-gradient(135deg, #ffffff 0%, #f2faf3 100%);
  border: 1px solid #dfeadd;
  border-radius: 26px;
}
.sf-hero-copy h2 {
  margin: 10px 0 8px;
  font-size: 30px;
  line-height: 1.1;
  color: #073f25;
  letter-spacing: -0.03em;
}
.sf-hero-copy p {
  margin: 0;
  max-width: 760px;
  color: #55705e;
  font-weight: 700;
  line-height: 1.55;
}
.sf-hero-panel {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 18px;
  border: 1px solid #d7e7d8;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(31,111,67,.07);
}
.sf-hero-panel strong {
  color: #073f25;
  font-size: 17px;
}
.sf-hero-panel span {
  color: #55705e;
  line-height: 1.4;
}
.sf-hero-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.sf-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.sf-stat-card {
  min-height: 118px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  column-gap: 12px;
  row-gap: 2px;
  align-items: center;
  padding: 17px;
  background: #fff;
  border: 1px solid #dfeadd;
  border-radius: 22px;
  text-decoration: none;
  color: #17231b;
  box-shadow: 0 10px 26px rgba(31,111,67,.06);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.sf-stat-card:hover {
  transform: translateY(-1px);
  border-color: #c2ddc7;
  box-shadow: 0 14px 32px rgba(31,111,67,.10);
}
.sf-stat-icon {
  grid-row: 1 / 4;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #eef7ee;
  font-size: 22px;
}
.sf-stat-label {
  color: #5d7968;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.sf-stat-card strong {
  color: #073f25;
  font-size: 28px;
  line-height: 1;
}
.sf-stat-card small {
  color: #607568;
  font-weight: 700;
}
.sf-desktop-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  align-items: start;
}
.sf-left,
.sf-right {
  display: grid;
  gap: 18px;
}
.sf-card-clean {
  margin-bottom: 0;
  border-radius: 24px;
}
.sf-card-clean h3 {
  margin: 0 0 14px;
  color: #073f25;
}
.sf-module-grid-v2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.sf-module-tile {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid #dfeadd;
  border-radius: 20px;
  background: #fbfdfb;
}
.sf-module-tile.active {
  background: linear-gradient(135deg, #eaf7ed, #ffffff);
  border-color: #bfe0c6;
}
.sf-module-top {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sf-module-top span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #dfeadd;
}
.sf-module-top strong {
  color: #073f25;
  font-size: 17px;
}
.sf-module-tile p {
  margin: 0;
  color: #55705e;
  line-height: 1.45;
}
.sf-module-tile em {
  width: max-content;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef0ef;
  color: #536057;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}
.sf-module-tile.active em {
  background: #1f6f43;
  color: #fff;
}
.sf-process-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.sf-process-row div {
  min-height: 96px;
  padding: 14px;
  border-radius: 18px;
  background: #fbfdfb;
  border: 1px solid #dfeadd;
}
.sf-process-row strong {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  margin-bottom: 10px;
  border-radius: 999px;
  background: #1f6f43;
  color: #fff;
}
.sf-process-row span {
  display: block;
  color: #31533a;
  font-weight: 800;
  line-height: 1.3;
}
.sf-quick-list,
.sf-recent-docs {
  display: grid;
  gap: 10px;
}
.sf-quick-list a,
.sf-recent-docs a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  column-gap: 10px;
  row-gap: 2px;
  padding: 12px;
  border: 1px solid #dfeadd;
  border-radius: 16px;
  background: #fbfdfb;
  color: #17231b;
  text-decoration: none;
}
.sf-quick-list a:hover,
.sf-recent-docs a:hover {
  border-color: #bfe0c6;
  background: #fff;
}
.sf-quick-list a > span {
  grid-row: 1 / 3;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #eef7ee;
}
.sf-quick-list strong,
.sf-recent-docs strong {
  color: #073f25;
}
.sf-quick-list small,
.sf-recent-docs span,
.sf-recent-docs small {
  color: #607568;
  font-weight: 700;
  line-height: 1.35;
}
.sf-recent-docs a {
  display: block;
}
.sf-recent-docs strong,
.sf-recent-docs span,
.sf-recent-docs small {
  display: block;
}
.sf-empty-box {
  padding: 16px;
  border: 1px dashed #d8e5d8;
  border-radius: 16px;
  background: #fbfdfb;
  color: #607568;
  font-weight: 700;
}
@media(max-width: 1180px) {
  .sf-dashboard-hero,
  .sf-desktop-grid {
    grid-template-columns: 1fr;
  }
  .sf-stats-grid,
  .sf-module-grid-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sf-process-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media(max-width: 760px) {
  .sf-stats-grid,
  .sf-module-grid-v2,
  .sf-process-row {
    grid-template-columns: 1fr;
  }
}

/* v0.9.2.4 - Schriftführer Versammlungen */
.sf-meeting-hero{margin-bottom:18px}.sf-meeting-list{display:grid;gap:14px}.sf-meeting-card{background:#fff;border:1px solid rgba(16,80,45,.12);border-radius:22px;padding:18px 20px;display:grid;grid-template-columns:1.4fr 1.4fr auto;gap:18px;align-items:center;box-shadow:0 14px 34px rgba(13,74,42,.06)}.sf-meeting-main h3{margin:7px 0 4px;color:#0a4d2d}.sf-meeting-main p{margin:0;color:#456456}.sf-attendance-mini{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:8px}.sf-attendance-mini span{background:#f4faf6;border:1px solid #dceee2;border-radius:14px;padding:9px 11px;color:#456456}.sf-attendance-mini strong{color:#0a4d2d;margin-right:5px}.sf-meeting-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.sf-meeting-detail-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;background:linear-gradient(135deg,#fff,#f4fbf6)}.sf-meeting-detail-hero h2{margin:6px 0;color:#0a4d2d}.sf-meeting-detail-hero p{margin:0;color:#456456}.sf-meeting-layout{align-items:start}.sf-attendance-table-wrap{overflow:auto;border:1px solid #dceee2;border-radius:18px}.sf-attendance-table{margin:0}.sf-attendance-table th{position:sticky;top:0;background:#f4faf6;z-index:1}.sf-attendance-table select,.sf-attendance-table input{width:100%;min-width:140px;border:1px solid #cfe5d5;border-radius:10px;padding:8px 10px;background:#fff}.sf-detail-list{display:grid;gap:10px;margin-top:12px}.sf-detail-list div{background:#f4faf6;border:1px solid #dceee2;border-radius:14px;padding:11px 12px}.sf-detail-list span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#6d8d78;font-weight:800}.sf-detail-list strong{color:#0a4d2d}.sf-module-grid-v2 a.sf-module-tile{text-decoration:none;color:inherit}.sf-process-row a{text-decoration:none;color:inherit}.sf-process-row a:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(13,74,42,.08)}

/* v0.9.2.5.1 - Schriftführer Kassenprüfung */
.sf-cash-check-card {
  border-left: 5px solid #cbd5e1;
}
.sf-cash-check-card.is-open {
  border-left-color: #d97706;
  background: linear-gradient(135deg, #fff7ed 0%, #ffffff 44%);
}
.sf-cash-check-card.is-done {
  border-left-color: #15803d;
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 44%);
}
.sf-cash-check-card.is-neutral {
  border-left-color: #64748b;
}
.sf-cash-check-form textarea {
  min-height: 88px;
}
.status-badge.status-warning {
  background: #fff7ed;
  color: #9a3412;
  border-color: #fed7aa;
}
.status-badge.status-ok {
  background: #f0fdf4;
  color: #166534;
  border-color: #bbf7d0;
}
.status-badge.status-muted {
  background: #f8fafc;
  color: #475569;
  border-color: #e2e8f0;
}
.inline-form {
  margin-top: 12px;
}

/* v0.9.2.6 - Schriftführer Protokolle und Beschlüsse */
.sf-protocol-list,
.sf-resolution-mini-list,
.sf-resolution-list {
  display: grid;
  gap: 12px;
}
.sf-protocol-item {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: 14px;
  border: 1px solid #dceee2;
  border-radius: 18px;
  background: #fbfdfb;
}
.sf-protocol-order {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #1f6f43;
  color: #fff;
  font-weight: 900;
}
.sf-protocol-item h4 {
  margin: 6px 0 6px;
  color: #073f25;
}
.sf-protocol-item p,
.sf-protocol-item small {
  margin: 0;
  color: #55705e;
  line-height: 1.45;
  font-weight: 700;
}
.sf-protocol-form {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #dceee2;
}
.sf-resolution-mini-list a {
  display: block;
  padding: 12px;
  border: 1px solid #dceee2;
  border-radius: 16px;
  background: #fbfdfb;
  text-decoration: none;
}
.sf-resolution-mini-list strong,
.sf-resolution-mini-list span,
.sf-resolution-mini-list small {
  display: block;
}
.sf-resolution-mini-list strong {
  color: #073f25;
}
.sf-resolution-mini-list span,
.sf-resolution-mini-list small {
  color: #607568;
  font-weight: 700;
  line-height: 1.35;
}
.sf-resolution-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr) auto;
  gap: 18px;
  align-items: start;
  padding: 18px 20px;
  border: 1px solid rgba(16,80,45,.12);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(13,74,42,.06);
}
.sf-resolution-card h3 {
  margin: 8px 0 5px;
  color: #0a4d2d;
}
.sf-resolution-card p {
  margin: 0 0 7px;
  color: #456456;
}
.sf-detail-list.compact {
  margin-top: 0;
}
.sf-detail-list.compact div {
  padding: 9px 10px;
}
@media(max-width: 1180px) {
  .sf-resolution-card {
    grid-template-columns: 1fr;
  }
}

.sf-template-list,.sf-letter-list{display:grid;gap:14px}.sf-template-card,.sf-letter-card{background:#fff;border:1px solid rgba(16,80,45,.12);border-radius:22px;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;box-shadow:0 14px 34px rgba(13,74,42,.06)}.sf-template-card h3,.sf-letter-card h3{margin:8px 0 4px;color:#0a4d2d}.sf-template-card p,.sf-letter-card p{margin:0 0 6px;color:#456456}.sf-template-card small,.sf-letter-card small{color:#6d8d78}.sf-template-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.sf-placeholder-box{margin:16px 0 0;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sf-placeholder-box strong{color:#0a4d2d;margin-right:4px}.sf-placeholder-box span{background:#f4faf6;border:1px solid #dceee2;border-radius:999px;padding:7px 10px;color:#456456;font-weight:700;font-size:12px}.sf-letter-paper{background:#fff;border:1px solid #dceee2;border-radius:18px;padding:28px;min-height:480px;color:#1f3328;line-height:1.65;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.sf-letter-paper h3{margin-top:0;color:#0a4d2d}.sf-status-form{margin-top:18px;display:grid;gap:12px}.check-card{display:flex;align-items:center;gap:10px;background:#f4faf6;border:1px solid #dceee2;border-radius:14px;padding:12px 14px;font-weight:800;color:#0a4d2d}.check-card input{width:auto}.status-badge.status-warning{background:#fff7e6;color:#8a5a00;border-color:#f2d49a}.status-badge.status-ok{background:#eaf8ef;color:#0a6b3b;border-color:#bfe8cc}.status-badge.status-muted{background:#eef3f0;color:#567061;border-color:#d7e2dc}

/* v0.9.2.7.3 Formularvorlagen A4-Editor */
.form-builder-hero {
  background: linear-gradient(135deg, #073f25 0%, #1f6f43 55%, #d7b46a 100%);
}
.form-builder-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.form-builder-tools {
  position: sticky;
  top: 18px;
  padding: 18px;
}
.form-builder-tools h3,
.form-builder-properties h3 {
  margin-top: 0;
  color: #073f25;
}
.tool-add-form {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.sf-placeholder-box.compact {
  display: grid;
  gap: 6px;
  margin-top: 16px;
}
.sf-placeholder-box.compact span {
  width: fit-content;
}
.form-builder-main {
  display: grid;
  grid-template-columns: minmax(640px, 1fr) 380px;
  gap: 18px;
  align-items: start;
}
.a4-editor-wrap {
  overflow: auto;
  padding: 24px;
  border-radius: 24px;
  background: #e8efe9;
  box-shadow: inset 0 0 0 1px rgba(16,80,45,.08);
}
.a4-page {
  position: relative;
  width: 210mm;
  height: 297mm;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #d7e2dc;
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
  overflow: hidden;
}
.a4-margin {
  position: absolute;
  border: 1px dashed rgba(31,111,67,.35);
  pointer-events: none;
  z-index: 1;
}
.a4-page:before {
  content: 'A4';
  position: absolute;
  right: 10px;
  top: 8px;
  font-size: 11px;
  font-weight: 900;
  color: #9ab0a1;
}
.a4-element {
  position: absolute;
  z-index: 3;
  padding: 4px 6px;
  border: 1px solid rgba(31,111,67,.28);
  border-radius: 6px;
  background: rgba(244,250,246,.84);
  color: #183c29;
  line-height: 1.25;
  overflow: hidden;
  cursor: move;
  user-select: none;
}
.a4-element.is-active {
  border-color: #d7a43b;
  box-shadow: 0 0 0 3px rgba(215,164,59,.18);
  background: rgba(255,250,235,.94);
}
.a4-element-label {
  position: absolute;
  right: 3px;
  top: 2px;
  font-size: 8px;
  color: #6d8d78;
  background: rgba(255,255,255,.8);
  border-radius: 99px;
  padding: 1px 4px;
}
.a4-preview-line,
.a4-preview-underline {
  display: block;
  border-bottom: 1px solid #183c29;
  min-height: 12px;
  margin-top: 8px;
}
.a4-type-signature small {
  display: block;
  margin-top: 4px;
  font-size: 10px;
}
.form-builder-properties {
  position: sticky;
  top: 18px;
  max-height: calc(100vh - 36px);
  overflow: auto;
  padding: 18px;
}
.element-props {
  border: 1px solid #dceee2;
  border-radius: 16px;
  margin-bottom: 10px;
  background: #fbfdfb;
}
.element-props summary {
  padding: 12px 14px;
  cursor: pointer;
  color: #073f25;
  font-weight: 900;
}
.element-props[open] summary {
  border-bottom: 1px solid #dceee2;
}
.mini-grid {
  padding: 12px;
  gap: 10px;
}
.mini-grid .field input,
.mini-grid .field select,
.mini-grid .field textarea {
  min-height: 38px;
}
.sticky-actions {
  position: sticky;
  bottom: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.72), #fff 35%);
  padding-top: 12px;
}
@media(max-width: 1280px) {
  .form-builder-layout,
  .form-builder-main {
    grid-template-columns: 1fr;
  }
  .form-builder-tools,
  .form-builder-properties {
    position: static;
    max-height: none;
  }
}

/* v0.9.2.7.4 Formular-Designer Drag-and-drop */
.form-designer-toolbar {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  background: #fff;
  border: 1px solid #dceee2;
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 12px 28px rgba(13,74,42,.05);
}
.form-designer-toolbar .is-active {
  background: #073f25;
  color: #fff;
  border-color: #073f25;
}
.designer-status {
  margin-left: auto;
  color: #456456;
  font-size: 13px;
  font-weight: 800;
}
.form-designer-help {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding: 12px;
  border: 1px solid #dceee2;
  border-radius: 16px;
  background: #f8fcf9;
  color: #456456;
  font-size: 13px;
}
.form-designer-help strong {
  color: #073f25;
}
.a4-page.show-guides {
  background-color: #fff;
  background-image:
    linear-gradient(rgba(31,111,67,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31,111,67,.055) 1px, transparent 1px),
    linear-gradient(rgba(215,164,59,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(215,164,59,.10) 1px, transparent 1px);
  background-size: 5mm 5mm, 5mm 5mm, 10mm 10mm, 10mm 10mm;
}
.a4-element {
  outline: none;
  transition: border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.a4-element:hover {
  border-color: rgba(215,164,59,.72);
}
.a4-element.is-dragging,
.a4-element.is-resizing {
  opacity: .92;
  box-shadow: 0 10px 30px rgba(0,0,0,.18), 0 0 0 3px rgba(215,164,59,.24);
}
.a4-resize-handle {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 13px;
  height: 13px;
  border-top: 2px solid rgba(7,63,37,.55);
  border-left: 2px solid rgba(7,63,37,.55);
  background: rgba(255,255,255,.9);
  cursor: nwse-resize;
  border-radius: 5px 0 5px 0;
}
.element-action-row {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 0 12px 12px;
}
.btn-small.danger {
  border-color: #e4b4b4;
  background: #fff5f5;
  color: #8a2424;
}
.btn-small.danger:hover {
  background: #ffe6e6;
}


/* v0.9.2.7.5 Formularerzeugung */
.placeholder-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.placeholder-preview-grid>div{border:1px solid rgba(15,23,42,.10);border-radius:14px;background:#fff;padding:12px;min-height:74px}.placeholder-preview-grid strong{display:block;font-size:12px;color:#64748b;margin-bottom:6px}.placeholder-preview-grid span{display:block;color:#0f172a;font-weight:650;line-height:1.35;white-space:normal}.form-builder-hero .list-hero-actions{align-items:flex-start}

/* v0.9.2.7.7 Formularuebersicht */
.form-workflow-stats {
    margin: 18px 0 16px;
}
.form-workflow-panel {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 18px;
}
.form-workflow-step {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid rgba(39, 84, 67, .16);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(245,248,244,.92));
    box-shadow: 0 12px 28px rgba(25, 48, 38, .07);
    color: #244235;
    font-weight: 700;
}
.form-workflow-step strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: #274f3e;
    color: #fff;
    flex: 0 0 30px;
}
.form-section-title {
    margin: 20px 0 12px;
}
.form-template-grid {
    align-items: stretch;
}
.form-template-card-enhanced {
    min-height: 188px;
    border: 1px solid rgba(39, 84, 67, .14);
    background: #fff;
}
.form-template-card-enhanced h3 {
    margin-top: 10px;
}
.form-recent-card {
    margin-top: 22px;
}
.form-recent-table small {
    color: #66786d;
    font-weight: 600;
}
.form-recent-table td:first-child strong {
    color: #213b30;
}
@media (max-width: 1100px) {
    .form-workflow-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* v0.9.2.7.9 - Zwei-Faktor-Authentifizierung */
.security-card {
    max-width: 520px;
}
.security-box {
    text-align: left;
    background: rgba(34, 197, 94, .08);
    border: 1px solid rgba(34, 197, 94, .22);
    border-radius: 14px;
    padding: 14px 16px;
    margin: 14px 0;
}
.security-box ol {
    margin: 8px 0 0 18px;
    padding: 0;
}
.security-details {
    text-align: left;
    margin: 10px 0 16px;
}
.security-details textarea {
    width: 100%;
    min-height: 82px;
    margin-top: 8px;
    border-radius: 12px;
    border: 1px solid var(--border-color, #d7dee8);
    padding: 10px;
    font-size: 12px;
}
.badge-warning {
    background: #fff7ed;
    color: #9a3412;
    border-color: #fed7aa;
}
.form-note {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px 16px;
}

.recovery-code-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.recovery-code-grid code {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #dbe3ea;
  font-size: 1rem;
  letter-spacing: .06em;
  text-align: center;
}

/* v0.9.2.8.3 Backup-Code-Hinweis */
.warning-soft{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.warning-soft strong{color:#7c2d12}


/* v0.9.2.8.5.1 Sitzungs-Countdown */
.session-countdown-wrap strong {
  color: #17351f;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
}
.session-countdown-wrap strong.is-warning {
  color: #b7791f;
}
.session-countdown-wrap strong.is-expired {
  color: #b42318;
}

/* v0.9.2.8.6 Mein Konto */
.account-layout {
  display: grid;
  gap: 18px;
}
.account-hero {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  background: linear-gradient(135deg, rgba(27, 67, 50, .08), rgba(64, 145, 108, .08));
}
.account-hero h2 {
  margin: 4px 0 3px;
  color: #17351f;
}
.account-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 10px;
  min-width: 430px;
}
.account-status-grid div {
  padding: 12px 14px;
  border: 1px solid #dbe7df;
  border-radius: 14px;
  background: rgba(255,255,255,.76);
}
.account-status-grid span,
.account-detail-grid span {
  display: block;
  color: #64748b;
  font-size: .82rem;
  margin-bottom: 4px;
}
.account-status-grid strong,
.account-detail-grid strong {
  color: #17351f;
}
.account-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px;
}
.account-tabs a {
  text-decoration: none;
  color: #17351f;
  border: 1px solid #dbe7df;
  border-radius: 999px;
  padding: 9px 14px;
  background: #fff;
  font-weight: 700;
}
.account-tabs a.active,
.account-tabs a:hover {
  background: #17351f;
  color: #fff;
  border-color: #17351f;
}
.account-card-narrow {
  max-width: 780px;
}
.account-detail-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.account-inline-cancel {
  margin-top: -8px;
}
@media (max-width: 1100px) {
  .account-hero { align-items: stretch; flex-direction: column; }
  .account-status-grid { min-width: 0; }
  .account-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v0.9.2.8.7 Unterseiten UI-Polish */
:root{
  --portal-green:#0b5b35;
  --portal-green-dark:#073f25;
  --portal-green-soft:#edf7ef;
  --portal-surface:#ffffff;
  --portal-surface-soft:#f8fbf7;
  --portal-border:#dbe8dd;
  --portal-shadow:0 16px 42px rgba(7,63,37,.075);
  --portal-shadow-soft:0 10px 26px rgba(7,63,37,.055);
  --portal-radius:24px;
}

@media (min-width: 1024px){
  .content{max-width:1680px;padding:32px 38px 44px;}
}

.topbar{
  border-radius:26px;
  border-color:var(--portal-border);
  box-shadow:0 10px 28px rgba(7,63,37,.055);
}
.topbar h1{font-size:30px;line-height:1.05;letter-spacing:-.025em;color:var(--portal-green-dark)}
.topbar p{font-size:15px;color:#3f684d;font-weight:700;line-height:1.35}
.userbox{border-radius:999px;padding:11px 16px;box-shadow:0 8px 22px rgba(7,63,37,.045)}
.userbox a{font-weight:800;text-underline-offset:3px}.userbox .hint{font-size:12px}

/* einheitlicher Modul-Header */
.toolbar,
.list-hero,
.tenant-list-hero,
.plot-hero,
.invoice-hero,
.account-hero,
.tenant-premium-hero{
  position:relative;
  overflow:hidden;
  border:1px solid var(--portal-border)!important;
  border-radius:28px!important;
  padding:24px 26px!important;
  margin-bottom:20px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f4fbf5 100%)!important;
  color:#113b23!important;
  box-shadow:var(--portal-shadow)!important;
}
.toolbar:before,
.list-hero:before,
.tenant-list-hero:before,
.plot-hero:before,
.invoice-hero:before,
.account-hero:before,
.tenant-premium-hero:before{
  content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(31,111,67,.10),rgba(31,111,67,0) 70%);pointer-events:none;
}
.toolbar h2,.toolbar h3,
.list-hero h3,.tenant-list-hero h3,.plot-hero h3,.invoice-hero h3,
.account-hero h2,.tenant-premium-hero h2{color:var(--portal-green-dark)!important;margin:5px 0 6px!important;font-size:28px!important;line-height:1.1!important;letter-spacing:-.02em!important}
.toolbar p,.toolbar .hint,
.list-hero p,.tenant-list-hero p,.plot-hero p,.invoice-hero p,
.account-hero p,.tenant-premium-hero p{color:#4d6b58!important;font-weight:600!important;line-height:1.45!important}
.toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.toolbar .actions,.toolbar .list-hero-actions{position:relative;z-index:1}
.eyebrow{display:inline-flex!important;align-items:center;width:max-content;border:1px solid #cfe5d4;background:#eaf7ed;color:#0d5b34!important;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px}

/* Kennzahlenkarten */
.grid,.tenant-summary-row,.plot-summary-row,.list-summary-row{gap:14px!important;margin-bottom:18px!important}
.card,.kpi-card,.tenant-summary-card,.list-summary-card,.tenant-info-card,.tenant-finance-card,
.dashboard-section-card,.settings-card,.quality-widget{
  border:1px solid var(--portal-border)!important;
  border-radius:22px!important;
  background:var(--portal-surface)!important;
  box-shadow:var(--portal-shadow-soft)!important;
}
.grid>.card{min-height:128px;padding:20px!important;display:flex;flex-direction:column;justify-content:center;gap:7px}
.grid>.card strong,.tenant-summary-card span,.list-summary-card span{font-size:12px!important;letter-spacing:.07em;text-transform:uppercase;color:#42624b!important;font-weight:900!important}
.grid>.card p,.tenant-summary-card strong,.list-summary-card strong{margin:0!important;color:var(--portal-green-dark)!important;font-size:28px!important;font-weight:900!important;line-height:1.05!important;font-variant-numeric:tabular-nums}
.grid>.card .hint{font-weight:600;color:#6b7f70!important}

/* Filter und Tabs */
.list-filter-card,.tenant-filter-card,.plot-filter-card,.card:has(.filter-form){
  border-radius:22px!important;border:1px solid var(--portal-border)!important;background:rgba(255,255,255,.86)!important;box-shadow:0 10px 28px rgba(7,63,37,.05)!important;padding:16px!important
}
.filter-form{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.filter-form label{display:grid;gap:6px;font-weight:800;color:#2f5138}.filter-form input,.filter-form select{min-height:44px;border:1px solid #d6e4d8;border-radius:14px;background:#fbfdfb;padding:10px 12px;font:inherit}
.tenant-filter-card input,.tenant-filter-card select,.plot-filter-card input,.plot-filter-card select,.list-filter-card input,.list-filter-card select,.field input,.field select,.field textarea{border-radius:14px!important;min-height:44px;border-color:#d6e4d8!important;background:#fbfdfb!important}
.tenant-status-tabs,.plot-status-tabs,.account-tabs{border:1px solid var(--portal-border)!important;background:#edf7ef!important;border-radius:22px!important;padding:8px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.tenant-status-tabs a,.plot-status-tabs a,.account-tabs a{border:0!important;background:#fff!important;border-radius:999px!important;box-shadow:0 5px 14px rgba(7,63,37,.045);font-size:13px!important;color:#244d31!important;min-height:36px}
.tenant-status-tabs a.active,.plot-status-tabs a.active,.account-tabs a.active{background:var(--portal-green)!important;color:#fff!important;box-shadow:0 8px 18px rgba(7,63,37,.18)}

/* Button-Hierarchie */
.button,.btn-small,.btn{border-radius:13px!important;font-weight:900!important;border:1px solid transparent!important;box-shadow:0 8px 18px rgba(7,63,37,.12);transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease!important}
.button:hover,.btn-small:hover,.btn:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(7,63,37,.17)}
.button.secondary,.btn-small.secondary{background:#eaf7ed!important;color:var(--portal-green-dark)!important;border-color:#cfe5d4!important;box-shadow:none!important}
.actions .btn-small:not(:first-child),.tenant-tile-actions .btn-small:not(:first-child),.plot-tile-actions .btn-small:not(:last-child){font-size:12px!important;padding:7px 10px!important;background:#eef7ef!important;color:#174c2d!important;border-color:#d9eadc!important;box-shadow:none!important}

/* Pächter: Akkordeons und Karten */
.tenant-group{border-radius:24px!important;box-shadow:var(--portal-shadow)!important;background:#fff!important}
.tenant-group summary{padding:19px 22px!important;background:linear-gradient(135deg,#fff,#f8fcf8);border-bottom:1px solid transparent}
.tenant-group[open] summary{border-bottom-color:#e2eee4}
.tenant-group summary strong{font-size:23px!important;letter-spacing:-.01em}.tenant-group summary span:first-child{color:#5a7763!important}
.tenant-group-stats{gap:8px!important}.tenant-group-stats em{background:#eef7ef;border:1px solid #d9eadc;color:#31533a}.tenant-group-stats strong{font-size:24px!important}
.tenant-card-grid{padding:18px!important;gap:16px!important;background:#f6faf6!important}
.tenant-tile{min-height:218px;border-radius:20px!important;border-color:#dfeadd!important;box-shadow:0 8px 20px rgba(7,63,37,.045);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.tenant-tile:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(7,63,37,.09);border-color:#bddcc4!important}.tenant-tile-top strong{font-size:19px!important}
.tenant-finance-line{background:#f6faf7!important;border-color:#e2ece3!important;border-radius:15px!important}

/* Parzellen */
.plot-path-grid{gap:14px!important}.plot-path-card{border-radius:20px!important;border:1px solid #dfeadd!important;box-shadow:0 9px 22px rgba(7,63,37,.055)!important;background:#fff!important;padding:16px!important}.plot-path-card:hover{border-color:#bddcc4!important;background:#fbfdfb!important}
.plot-group{border-radius:24px!important;box-shadow:var(--portal-shadow)!important}.plot-group summary{padding:19px 22px!important;background:linear-gradient(135deg,#fff,#f8fcf8)}.plot-group summary strong{font-size:23px!important;color:var(--portal-green-dark)!important}.plot-group-stats em{background:#eef7ef;border:1px solid #d9eadc;color:#31533a}
.plot-card-grid{padding:18px!important;gap:16px!important;background:#f6faf6!important}.plot-tile{border-radius:20px!important;box-shadow:0 8px 20px rgba(7,63,37,.045);transition:.12s ease}.plot-tile:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(7,63,37,.09)}.plot-tile-actions{gap:7px!important}.plot-status{font-weight:900!important;border-radius:999px!important}

/* Tabellen und Listen */
.table{border:1px solid var(--portal-border);border-radius:18px;overflow:hidden;box-shadow:0 9px 22px rgba(7,63,37,.045)}.table th{background:#f0f7f1!important;color:#31533a!important;text-transform:uppercase;letter-spacing:.05em;font-size:12px!important}.table td{border-color:#e5eee6!important}.data-table-card{border-radius:22px!important}
.empty{background:#fbfdfb!important;border-color:#dfeadd!important;border-radius:18px!important;color:#6b7f70!important}

/* Dashboard und Admin-Karten */
.module-grid{gap:18px!important}.module-grid .card,.admin-grid .card{min-height:170px}.module-grid .card h3,.admin-grid .card h3{color:var(--portal-green-dark);font-size:21px}.module-grid .card p,.admin-grid .card p{color:#4f6758;line-height:1.45}.quick-grid a,.role-card a{border-radius:18px!important;box-shadow:0 7px 16px rgba(7,63,37,.045)}

@media(max-width:1200px){.tenant-card-grid,.plot-card-grid{grid-template-columns:repeat(2,minmax(240px,1fr))!important}.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.toolbar,.list-hero,.tenant-list-hero,.plot-hero,.invoice-hero,.account-hero,.tenant-premium-hero{display:block!important}.tenant-card-grid,.plot-card-grid{grid-template-columns:1fr!important}.grid{grid-template-columns:1fr!important}}

/* v0.9.2.8.8 UI-Polish Module – Feinschliff nach Unterseiten-Sichtung */
:root{
  --portal-radius-lg:22px;
  --portal-radius-md:16px;
  --portal-space-1:6px;
  --portal-space-2:10px;
  --portal-space-3:14px;
  --portal-space-4:18px;
  --portal-space-5:24px;
  --portal-muted:#52685b;
}

.content{background:transparent;}
.topbar{min-height:76px;margin-bottom:24px;padding:18px 24px!important;background:#fff!important;border:1px solid var(--portal-border)!important;}
.topbar h1{font-size:28px!important;}
.topbar p{font-size:14px!important;font-weight:700!important;margin-top:4px!important;}
.userbox{min-height:48px;gap:10px;white-space:nowrap;}

/* kompaktere, einheitlichere Modul-Einstiege */
.toolbar,
.list-hero,
.tenant-list-hero,
.plot-hero,
.invoice-hero,
.account-hero,
.tenant-premium-hero{
  min-height:126px!important;
  padding:22px 24px!important;
  align-items:center!important;
  border-radius:26px!important;
  box-shadow:0 12px 30px rgba(7,63,37,.055)!important;
}
.toolbar h2,.toolbar h3,
.list-hero h3,.tenant-list-hero h3,.plot-hero h3,.invoice-hero h3,
.account-hero h2,.tenant-premium-hero h2{
  font-size:26px!important;
  margin-top:3px!important;
}
.toolbar p,.toolbar .hint,
.list-hero p,.tenant-list-hero p,.plot-hero p,.invoice-hero p,
.account-hero p,.tenant-premium-hero p{
  max-width:760px;
  font-size:14px!important;
}
.toolbar .actions,
.list-hero-actions,
.tenant-list-hero .actions,
.plot-hero .actions,
.invoice-hero .actions{
  align-self:flex-start;
  padding-top:2px;
}

/* ruhigere Karten und klare Zahlenhierarchie */
.card,.kpi-card,.tenant-summary-card,.list-summary-card,.tenant-info-card,.tenant-finance-card,
.dashboard-section-card,.settings-card,.quality-widget,.sf-stat-card,.sf-module-tile{
  box-shadow:0 8px 22px rgba(7,63,37,.045)!important;
  border-color:#dfeadd!important;
}
.grid{gap:14px!important;}
.grid>.card{
  min-height:104px!important;
  padding:17px 18px!important;
  justify-content:flex-start!important;
}
.grid>.card strong:first-child,
.grid>.card > strong:first-child{
  display:block;
  margin-bottom:4px;
}
.grid>.card p{
  margin:0!important;
}
.grid>.card p:not(.metric){
  font-size:26px!important;
  line-height:1.08!important;
  font-weight:900!important;
  color:var(--portal-green-dark)!important;
}
.grid>.card p + .hint,
.grid>.card .hint,
.grid>.card span.hint{
  margin-top:2px!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:600!important;
  color:#607568!important;
}
/* Beschreibungstexte in Zahlungskarten nicht als riesige KPI anzeigen */
.payment-kpis .card p,
.modules\/zahlungen .grid>.card p,
body .grid>.card p.hint{
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:600!important;
  color:#607568!important;
}
.payment-kpis .card .metric,
.payment-kpis .card > div,
.payment-kpis .card > span:not(.hint){
  font-size:26px!important;
  font-weight:900!important;
  color:var(--portal-green-dark)!important;
}

/* Filter wirken weniger formularlastig */
.list-filter-card,.tenant-filter-card,.plot-filter-card,.payment-filter-card,.card:has(.filter-form){
  padding:14px 16px!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 8px 18px rgba(7,63,37,.035)!important;
}
.filter-form{gap:10px!important;align-items:end!important;}
.filter-form label{font-size:13px;letter-spacing:0;color:#2f5138;}
.filter-form input,.filter-form select,
.tenant-filter-card input,.tenant-filter-card select,
.plot-filter-card input,.plot-filter-card select,
.list-filter-card input,.list-filter-card select,
.field input,.field select,.field textarea{
  min-height:42px!important;
  border-radius:12px!important;
  background:#fff!important;
}
.payment-filter-grid{gap:10px!important;}
.payment-filter-card h3,.payment-entry-card h3{font-size:22px!important;color:var(--portal-green-dark)!important;}

/* Button-Hierarchie: Hauptaktion klar, Nebenaktionen ruhiger */
.button,.btn-small,.btn{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.button{padding:10px 15px!important;}
.btn-small{padding:7px 11px!important;font-size:13px!important;}
.button.secondary,.btn-small.secondary{
  background:#eff8f1!important;
  color:#124d2f!important;
  border-color:#d8eadb!important;
  box-shadow:none!important;
}
.button.secondary:hover,.btn-small.secondary:hover{background:#e4f2e8!important;}
.actions .btn-small:first-child,
.tenant-tile-actions .btn-small:first-child,
.plot-tile-actions .btn-small:last-child{
  background:var(--portal-green)!important;
  color:#fff!important;
  border-color:var(--portal-green)!important;
  box-shadow:0 6px 14px rgba(7,63,37,.14)!important;
}
.actions .btn-small:not(:first-child),
.tenant-tile-actions .btn-small:not(:first-child),
.plot-tile-actions .btn-small:not(:last-child){
  min-height:32px!important;
  font-size:12px!important;
  padding:6px 9px!important;
}

/* Tabs und Chips vereinheitlichen */
.tenant-status-tabs,.plot-status-tabs,.payment-tabs,.account-tabs{
  gap:8px!important;
  padding:7px!important;
  border-radius:20px!important;
}
.tenant-status-tabs a,.plot-status-tabs a,.payment-tabs a,.account-tabs a{
  min-height:34px!important;
  padding:8px 12px!important;
  font-size:13px!important;
}
.badge,.plot-status,.tenant-status-tabs a em,.plot-status-tabs a em,.payment-tabs a strong{
  border-radius:999px!important;
  border:1px solid #d9eadc;
}

/* Pächter-Seite: ruhigere Karten, klarere Gruppen */
.tenant-group,.plot-group{margin-bottom:14px!important;border:1px solid #dfeadd!important;}
.tenant-group summary,.plot-group summary{
  min-height:72px;
  padding:17px 20px!important;
}
.tenant-group summary strong,.plot-group summary strong{font-size:21px!important;}
.tenant-group summary small,.plot-group summary small{color:#5d7264!important;font-weight:700!important;}
.tenant-card-grid,.plot-card-grid{
  padding:16px!important;
  gap:14px!important;
}
.tenant-tile,.plot-tile{
  border-radius:18px!important;
  padding:17px!important;
  min-height:0!important;
}
.tenant-tile-top strong{font-size:18px!important;}
.tenant-tile-meta,.plot-tile-meta{gap:6px!important;}
.tenant-tile-meta span,.plot-tile-meta span,.plot-feature-pill{
  background:#f2f8f3!important;
  border:1px solid #e1eee3!important;
  color:#3e5f48!important;
  border-radius:999px!important;
  padding:4px 8px!important;
  font-size:12px!important;
}
.tenant-finance-line{
  margin-top:12px!important;
  padding:10px 11px!important;
}
.tenant-tile-actions,.plot-tile-actions{margin-top:12px!important;}

/* Parzellen: weniger Buttonlastigkeit und klarer Status */
.plot-path-grid{margin-bottom:16px!important;}
.plot-path-card{min-height:94px!important;}
.plot-path-card strong{font-size:18px!important;color:var(--portal-green-dark)!important;}
.plot-status{font-size:12px!important;padding:5px 9px!important;}
.plot-status.free{background:#fff7e8!important;color:#8a5a00!important;border-color:#f1d9ad!important;}
.plot-tile .btn-small.secondary{background:transparent!important;border-color:transparent!important;text-decoration:underline;text-underline-offset:3px;box-shadow:none!important;}

/* Rechnungen, Zahlungen, Mahnwesen: Finanzseiten kompakter */
.invoice-hero .actions,.toolbar .actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.modules-rechnungen .grid>.card,.payment-kpis .card{min-height:100px!important;}
.payment-entry-card{padding:18px!important;}
.payment-entry-card .field{margin:8px 0!important;}
.payment-tabs{margin:16px 0!important;background:#edf7ef;border:1px solid #dfeadd;border-radius:20px;padding:7px;}

/* Schriftführer und Administration: Karten weniger schwer, CTA einheitlich */
.sf-module-grid-v2{gap:14px!important;}
.sf-module-tile{border-radius:18px!important;padding:17px!important;background:#fbfdfb!important;}
.sf-module-tile:hover{background:#fff!important;transform:translateY(-1px);}
.sf-module-top strong{font-size:17px!important;color:var(--portal-green-dark)!important;}
.sf-side-card,.sf-main-panel{border-radius:22px!important;box-shadow:0 8px 22px rgba(7,63,37,.045)!important;}
.module-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:16px!important;}
.module-grid .card{min-height:150px!important;padding:20px!important;display:flex;flex-direction:column;align-items:flex-start;}
.module-grid .card h3{font-size:20px!important;margin-bottom:8px!important;}
.module-grid .card p{font-size:15px!important;line-height:1.45!important;color:#4f6758!important;flex:1;}
.module-grid .card .button{margin-top:12px;}

/* Berichte/Wasser/Leerseiten erhalten trotzdem fertige Optik */
.table + .empty,.card .empty{margin-top:10px;}
.card > h3:first-child{color:var(--portal-green-dark);}

@media(max-width:1200px){
  .module-grid{grid-template-columns:repeat(2,minmax(260px,1fr));}
}
@media(max-width:760px){
  .module-grid{grid-template-columns:1fr;}
  .toolbar .actions,.invoice-hero .actions{justify-content:flex-start;margin-top:14px;}
}

/* v0.9.2.8.9 Jahresabrechnung Vorbereitung */
.yearly-workflow .workflow-step.active {
  box-shadow: inset 0 0 0 2px rgba(21, 128, 61, .18), 0 12px 26px rgba(21, 128, 61, .08);
}
.yearly-next-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-left: 6px solid var(--green, #137a43);
}
.yearly-next-card.attention {
  border-left-color: #d97706;
  background: linear-gradient(135deg, rgba(255, 251, 235, .92), rgba(255,255,255,.96));
}
.yearly-next-card.ready {
  background: linear-gradient(135deg, rgba(236, 253, 245, .95), rgba(255,255,255,.96));
}
.yearly-next-card h3 {
  margin: 8px 0 6px;
  font-size: 1.35rem;
}
.yearly-next-card p {
  margin: 0;
  max-width: 720px;
  color: var(--muted, #476353);
  font-weight: 650;
}
.yearly-next-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}
.button.disabled,
.button.disabled:hover {
  opacity: .56;
  cursor: not-allowed;
  background: #eef5ef;
  color: #4d6a59;
  border: 1px solid var(--line, #d9e8dd);
  box-shadow: none;
}
.yearly-checklist-card .toolbar {
  align-items: flex-start;
}
.yearly-prep-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}
.prep-item {
  border: 1px solid var(--line, #d9e8dd);
  border-radius: 18px;
  background: #fff;
  padding: 16px;
  min-height: 118px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  box-shadow: 0 8px 20px rgba(14, 64, 38, .045);
}
.prep-item strong {
  color: var(--green-dark, #064e2f);
  font-size: .98rem;
}
.prep-item span {
  color: #254534;
  font-weight: 800;
}
.prep-item small {
  color: var(--muted, #57705f);
  font-weight: 700;
}
.prep-item.ok {
  border-color: rgba(21, 128, 61, .22);
  background: linear-gradient(180deg, rgba(240,253,244,.85), #fff);
}
.prep-item.ok::before {
  content: '✓';
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(21, 128, 61, .12);
  color: #137a43;
  font-weight: 900;
}
.prep-item.warn {
  border-color: rgba(217, 119, 6, .28);
  background: linear-gradient(180deg, rgba(255,251,235,.9), #fff);
}
.prep-item.warn::before {
  content: '!';
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(217, 119, 6, .12);
  color: #b45309;
  font-weight: 900;
}
@media (max-width: 1200px) {
  .yearly-prep-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yearly-next-card { align-items: flex-start; flex-direction: column; }
}

/* v0.9.4.2 Vorgangsübersicht UI & Bedienlogik */
.case-actions-top {
  margin-bottom: 16px;
  gap: 10px;
}
.case-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 14px;
  margin: 16px 0;
}
.case-stat-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--line, #d9e8dd);
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbf8 100%);
  color: var(--text, #0f2b1e);
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(14,64,38,.055);
  min-height: 92px;
}
.case-stat-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(14,64,38,.08);
}
.case-stat-card.warning {
  background: linear-gradient(135deg, #fff 0%, #fffbeb 100%);
  border-color: rgba(217,119,6,.24);
}
.case-stat-card.danger {
  background: linear-gradient(135deg, #fff 0%, #fef2f2 100%);
  border-color: rgba(185,28,28,.22);
}
.case-stat-icon {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(19,122,67,.09);
  font-size: 1.1rem;
  flex: 0 0 auto;
}
.case-stat-body {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.case-stat-body span {
  color: #274a37;
  font-weight: 850;
  font-size: .92rem;
}
.case-stat-body strong {
  color: var(--green-dark, #064e2f);
  font-size: 2rem;
  letter-spacing: -.04em;
}
.case-stat-body small {
  color: var(--muted, #607568);
  font-weight: 750;
}
.case-filter-card {
  padding: 18px;
  margin-top: 16px;
}
.case-quickfilters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}
.case-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line, #d9e8dd);
  border-radius: 999px;
  padding: 9px 14px;
  background: #fff;
  color: #0f3d27;
  text-decoration: none;
  font-weight: 850;
}
.case-filter-chip span {
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  background: #eef7f0;
  color: #0a5a35;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .82rem;
}
.case-filter-chip.active {
  background: var(--green, #137a43);
  border-color: var(--green, #137a43);
  color: #fff;
  box-shadow: 0 10px 24px rgba(19,122,67,.18);
}
.case-filter-chip.active span {
  background: rgba(255,255,255,.18);
  color: #fff;
}
.case-filter-row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(220px, 320px) auto;
  gap: 14px;
  align-items: end;
}
.case-filter-actions .button {
  min-width: 150px;
}
.case-list-card {
  margin-top: 18px;
}
.case-card-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}
.case-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: stretch;
  border: 1px solid var(--line, #d9e8dd);
  border-radius: 22px;
  padding: 18px;
  background: linear-gradient(135deg, #fff 0%, #f8fbf9 100%);
  box-shadow: 0 10px 26px rgba(14,64,38,.045);
  border-left: 6px solid rgba(19,122,67,.28);
}
.case-item.is-overdue {
  border-left-color: #b91c1c;
  background: linear-gradient(135deg, #fff 0%, #fef2f2 100%);
}
.case-item.is-soon {
  border-left-color: #d97706;
  background: linear-gradient(135deg, #fff 0%, #fffbeb 100%);
}
.case-item.is-closed {
  border-left-color: rgba(21,128,61,.45);
  background: linear-gradient(135deg, #fff 0%, #f0fdf4 100%);
}
.case-item-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.case-no-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #1f4b34;
  font-size: .9rem;
  font-weight: 850;
}
.case-no-line span {
  color: var(--muted, #607568);
  font-weight: 800;
}
.case-item h3 {
  margin: 4px 0 0;
  color: var(--green-dark, #064e2f);
  font-size: 1.25rem;
  letter-spacing: -.02em;
}
.case-meta-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 10px;
}
.case-meta-grid > div {
  border: 1px solid rgba(217,232,221,.86);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  padding: 10px 12px;
  min-height: 62px;
}
.case-meta-grid span {
  display: block;
  color: var(--muted, #607568);
  font-size: .78rem;
  font-weight: 850;
  margin-bottom: 4px;
}
.case-meta-grid strong {
  color: #0f2b1e;
  font-size: .94rem;
}
.case-meta-grid small.badge {
  margin-top: 6px;
  display: inline-flex;
}
.case-mini-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.case-mini-badges span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(217,232,221,.9);
  background: rgba(255,255,255,.8);
  color: #244331;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: .84rem;
  font-weight: 850;
}
.case-mini-badges span.attention {
  border-color: rgba(185,28,28,.22);
  color: #991b1b;
  background: #fef2f2;
}
.case-item-action {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 115px;
}
.case-item-action .button {
  white-space: nowrap;
}
@media (max-width: 1180px) {
  .case-stats-grid { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
  .case-meta-grid { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
}
@media (max-width: 760px) {
  .case-stats-grid { grid-template-columns: 1fr; }
  .case-filter-row { grid-template-columns: 1fr; }
  .case-filter-actions .button { width: 100%; }
  .case-item { grid-template-columns: 1fr; }
  .case-item-action { justify-content: flex-start; }
  .case-meta-grid { grid-template-columns: 1fr; }
  .case-item-head { flex-direction: column; align-items: flex-start; }
}

/* v0.9.4.2.1 - Vorstand UI-Hotfix */
.board-actions-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding: 20px;
  border: 1px solid var(--portal-border, #dfeadd);
  border-radius: 24px;
  background: linear-gradient(135deg, #ffffff, #f4fbf6);
  box-shadow: 0 14px 34px rgba(21, 73, 45, .07);
}
.board-actions-top h2 {
  margin: 4px 0 4px;
  color: #073f25;
  font-size: 26px;
}
.board-actions-top p {
  margin: 0;
  color: #55705e;
  font-weight: 700;
}
.board-action-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.board-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.board-kpi-card {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  padding: 17px 18px;
  border-radius: 22px;
  border: 1px solid #dfeadd;
  background: #fff;
  box-shadow: 0 10px 26px rgba(31, 111, 67, .055);
}
.board-kpi-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #eef7ee;
  font-size: 20px;
}
.board-kpi-card small {
  display: block;
  color: #5d7968;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.board-kpi-card strong {
  display: block;
  margin-top: 4px;
  color: #073f25;
  font-size: 28px;
  line-height: 1;
}
.board-section-card {
  margin-bottom: 18px;
  padding: 20px;
  border: 1px solid #dfeadd;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(21, 73, 45, .07);
}
.board-section-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 16px;
}
.board-section-head h3 {
  margin: 0 0 4px;
  color: #073f25;
  font-size: 20px;
}
.board-section-head p {
  margin: 0;
  color: #55705e;
}
.board-count-pill {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  border: 1px solid #cfe5d4;
  background: #eaf7ed;
  color: #0d5b34;
  border-radius: 999px;
  padding: 7px 12px;
  font-weight: 900;
}
.board-count-pill.muted-pill {
  background: #f7faf7;
  color: #55705e;
}
.board-member-list {
  display: grid;
  gap: 12px;
}
.board-member-card {
  display: grid;
  grid-template-columns: minmax(220px, 1.05fr) minmax(340px, 1.35fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px;
  border: 1px solid #dfeadd;
  border-radius: 20px;
  background: #fbfdfb;
}
.board-member-card.is-history {
  background: #fff;
}
.board-position-line {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}
.board-position-title {
  color: #073f25;
  font-size: 17px;
  font-weight: 900;
}
.board-type-label {
  margin-top: 3px;
  color: #607568;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.board-member-name {
  margin-top: 8px;
  font-weight: 900;
}
.board-member-name a {
  color: #0d5b34;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.board-member-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(95px, 1fr));
  gap: 9px;
}
.board-member-meta div {
  min-height: 58px;
  padding: 10px 11px;
  border: 1px solid #e2eee3;
  border-radius: 15px;
  background: #fff;
}
.board-member-meta span {
  display: block;
  color: #607568;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.board-member-meta strong {
  display: block;
  margin-top: 3px;
  color: #073f25;
  font-size: 14px;
}
.board-member-meta small {
  display: block;
  margin-top: 2px;
  color: #607568;
}
.board-member-actions {
  display: grid;
  justify-items: end;
  gap: 9px;
  min-width: 230px;
}
.board-close-form {
  display: flex;
  align-items: end;
  gap: 8px;
  margin: 0;
  padding: 9px;
  border: 1px solid #dfeadd;
  border-radius: 16px;
  background: #fff;
}
.board-close-form label {
  display: grid;
  gap: 4px;
  margin: 0;
}
.board-close-form label span {
  color: #607568;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.board-close-form input[type="date"] {
  min-width: 140px;
  padding: 9px 10px;
  border: 1px solid #cfe5d4;
  border-radius: 11px;
  background: #fff;
}
.compact-actions {
  min-width: 0;
}
@media (max-width: 1100px) {
  .board-actions-top { align-items: flex-start; flex-direction: column; }
  .board-action-buttons { justify-content: flex-start; }
  .board-member-card { grid-template-columns: 1fr; align-items: stretch; }
  .board-member-actions { justify-items: start; min-width: 0; }
}
@media (max-width: 760px) {
  .board-kpi-grid { grid-template-columns: 1fr; }
  .board-section-head { flex-direction: column; }
  .board-member-meta { grid-template-columns: 1fr; }
  .board-close-form { flex-direction: column; align-items: stretch; }
  .board-close-form input[type="date"] { width: 100%; box-sizing: border-box; }
}

/* v0.9.4.3 - Vorgangsstatus und Workflow-Logik */
.case-workflow-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .9fr);
  gap: 18px;
  margin: 18px 0;
}
.case-workflow-card {
  padding: 20px;
  border-radius: 24px;
}
.case-next-step {
  display: grid;
  gap: 5px;
  border: 1px solid rgba(19,122,67,.12);
  background: linear-gradient(135deg, #f6fbf7, #fff);
  border-radius: 18px;
  padding: 14px 16px;
  margin: 12px 0 16px;
}
.case-next-step span {
  color: #55705e;
  font-size: .82rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.case-next-step strong {
  color: #073f25;
  font-size: 1rem;
}
.case-status-action-form {
  display: grid;
  gap: 12px;
}
.case-status-action-form .field {
  margin: 0;
}
.case-status-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.case-status-actions .button {
  min-height: 42px;
}
.case-history-list {
  display: grid;
  gap: 10px;
}
.case-history-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: flex-start;
  border: 1px solid rgba(217,232,221,.86);
  border-radius: 18px;
  background: rgba(255,255,255,.74);
  padding: 12px 14px;
}
.case-history-item strong {
  color: #073f25;
  display: block;
  margin-bottom: 3px;
}
.case-history-item small {
  color: #55705e;
  font-weight: 700;
  line-height: 1.35;
}
.case-history-item span {
  text-align: right;
  color: #607568;
  font-weight: 800;
  font-size: .82rem;
  line-height: 1.35;
  white-space: nowrap;
}
@media (max-width: 1050px) {
  .case-workflow-grid { grid-template-columns: 1fr; }
  .case-history-item { grid-template-columns: 1fr; }
  .case-history-item span { text-align: left; white-space: normal; }
}

/* v0.9.4.7 Jahresabrechnung Assistent */
.yearly-assistant-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) 280px;
    gap:22px;
    align-items:center;
    border:1px solid rgba(7,96,49,.12);
    background:linear-gradient(135deg,#ffffff 0%,#f4fbf6 100%);
}
.assistant-main h2{margin:8px 0 8px;font-size:28px;line-height:1.1;color:#06351f}
.assistant-main p{max-width:760px;margin:0 0 16px;color:#355a48;font-weight:600}
.assistant-side{padding:18px;border-radius:22px;background:#fff;border:1px solid rgba(7,96,49,.10);box-shadow:0 14px 32px rgba(2,65,32,.05)}
.assistant-side strong{display:block;margin-bottom:10px;color:#06351f}
.assistant-side small{display:block;margin-top:8px;color:#5c7568;font-weight:700}
.yearly-workflow-compact{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding:12px}
.yearly-workflow-compact .workflow-step{min-height:78px;padding:12px;border-radius:18px}
.yearly-workflow-compact .workflow-step.locked{opacity:.55;background:#f5f8f6}
.yearly-workflow-compact .workflow-step.warn{border-color:#f0d18b;background:#fffaf0}
.yearly-workflow-compact .workflow-step.active{box-shadow:0 0 0 2px rgba(7,96,49,.12) inset}
.yearly-mini-metrics .card{padding:18px 20px}
.yearly-mini-metrics .metric{font-size:28px}
.yearly-prep-grid-large{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.prep-item.locked{background:#f7f9f8;border-color:#dbe8df;opacity:.75}
.inline-alert{margin:14px 0 0;padding:14px 16px;border-radius:16px;font-weight:650;border:1px solid rgba(7,96,49,.12)}
.inline-alert.error{background:#fff3f0;border-color:#f3b7a4;color:#7f2515}
.inline-alert.warning{background:#fffaf0;border-color:#f0d18b;color:#6d4a00}
.cost-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.cost-group-box{border:1px solid rgba(7,96,49,.12);border-radius:20px;background:#fff;padding:16px}
.cost-group-box h4{margin:0 0 12px;color:#06351f;font-size:17px}
.cost-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #edf3ef}
.cost-row:first-of-type{border-top:0}
.cost-row strong{display:block;color:#0b3322}
.cost-row small{display:block;color:#668075;margin-top:2px;font-weight:650}
.muted-panel{opacity:.92;background:linear-gradient(135deg,#ffffff 0%,#f8fbf9 100%)}
.button.disabled, .button.disabled:hover{opacity:.55;cursor:not-allowed;background:#e9f1ec;color:#6b8174;box-shadow:none}
@media (max-width:1100px){
    .yearly-assistant-card{grid-template-columns:1fr}
    .yearly-workflow-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
    .yearly-prep-grid-large,.cost-group-grid{grid-template-columns:1fr}
}
@media (max-width:700px){
    .yearly-workflow-compact{grid-template-columns:1fr}
    .cost-row{grid-template-columns:1fr}
}

/* v0.9.4.7.1 Jahresabrechnung Assistent UI-Hotfix */
.yearly-assistant-card {
  margin-bottom: 18px;
}
.yearly-workflow-compact {
  margin-top: 0;
}
.yearly-mini-metrics {
  margin-top: 18px;
}
.cost-group-grid {
  grid-template-columns: 1fr;
  gap: 16px;
}
.cost-group-box {
  padding: 18px;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbf8 100%);
  box-shadow: 0 10px 26px rgba(14,64,38,.045);
}
.cost-group-box h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e3eee6;
}
.cost-row {
  grid-template-columns: minmax(240px, 1.2fr) minmax(120px, auto) auto;
  gap: 14px;
  padding: 13px 14px;
  margin-top: 10px;
  border: 1px solid #e2eee5;
  border-radius: 16px;
  background: rgba(255,255,255,.86);
}
.cost-row:first-of-type {
  border-top: 1px solid #e2eee5;
}
.cost-row > span:first-child {
  min-width: 0;
}
.cost-row > span:nth-child(2) {
  justify-self: end;
  font-weight: 900;
  color: #073f25;
  white-space: nowrap;
}
.cost-row .btn-small,
.cost-row .button,
.cost-row a {
  justify-self: end;
  white-space: nowrap;
}
.collapsible-card > summary {
  cursor: pointer;
}
.collapsible-card > summary small {
  margin-top: 3px;
}
@media (max-width: 800px) {
  .cost-row {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .cost-row > span:nth-child(2),
  .cost-row .btn-small,
  .cost-row .button,
  .cost-row a {
    justify-self: start;
  }
}

/* v0.9.4.7.4 Jahrespacht Suche und Filter */
.lease-filter-panel {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid #dfeee3;
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff 0%, #f3faf5 100%);
}
.lease-filter-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.metric-card.compact {
  padding: 14px 16px;
  min-height: auto;
}
.metric-card.compact span {
  font-size: 28px;
  line-height: 1;
}
.metric-card.warn-soft {
  background: linear-gradient(135deg, #fffdf5 0%, #fff8df 100%);
  border-color: #f2d889;
}
.lease-filter-controls {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto;
  gap: 14px;
  align-items: end;
}
.field-inline {
  display: grid;
  gap: 6px;
  font-weight: 800;
  color: #0d3c25;
}
.field-inline input[type="search"] {
  width: 100%;
  padding: 13px 15px;
  border: 1px solid #d8e9dd;
  border-radius: 16px;
  background: #fff;
  font-size: 15px;
}
.chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.chip {
  border: 1px solid #d7eadc;
  border-radius: 999px;
  padding: 11px 14px;
  background: #f4faf6;
  color: #0b4c2d;
  font-weight: 900;
  cursor: pointer;
}
.chip.active {
  background: #0f7040;
  color: #fff;
  border-color: #0f7040;
  box-shadow: 0 8px 20px rgba(15,112,64,.16);
}
.lease-filter-result {
  padding: 11px 14px;
  border: 1px solid #dfeee3;
  border-radius: 999px;
  background: #fff;
  white-space: nowrap;
  color: #557161;
}
.lease-table-wrap {
  overflow-x: auto;
}
.lease-amount-input {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.lease-amount-input input {
  width: 130px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  text-align: right;
  font-weight: 800;
}
.sticky-actions {
  position: sticky;
  bottom: 12px;
  z-index: 4;
  padding: 12px;
  margin-top: 14px;
  border: 1px solid #dfeee3;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
}
@media (max-width: 980px) {
  .lease-filter-summary,
  .lease-filter-controls {
    grid-template-columns: 1fr;
  }
  .lease-filter-result {
    width: fit-content;
  }
}


/* v0.9.4.7.5 Rechnungen Startseite UI-Hotfix */
.page-heading-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.page-heading-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;position:relative;z-index:1}
.page-heading-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end;max-width:760px}
.page-heading-actions .button{min-height:38px;padding:9px 13px;box-shadow:0 8px 18px rgba(7,63,37,.10)}
.page-heading-actions .button.primary{background:var(--portal-green,#0b5b35);color:#fff;border-color:var(--portal-green,#0b5b35)!important}
.invoice-summary-row{grid-template-columns:repeat(5,minmax(150px,1fr))}
.invoice-current-card{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:18px;padding:22px!important;margin-bottom:18px;background:linear-gradient(135deg,#fff,#f3fbf4)!important;position:relative;overflow:hidden}
.invoice-current-card:before{content:"";position:absolute;right:-70px;top:-70px;width:200px;height:200px;border-radius:999px;background:radial-gradient(circle,rgba(31,111,67,.11),rgba(31,111,67,0) 70%);pointer-events:none}
.invoice-current-main,.invoice-current-actions,.invoice-current-stats{position:relative;z-index:1}.invoice-current-main h3{margin:4px 0 5px;color:var(--portal-green-dark,#073f25);font-size:26px;letter-spacing:-.02em}.invoice-current-main p{margin:0 0 12px;color:#55705e;font-weight:700}.invoice-current-meta{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.invoice-current-meta span:not(.status-pill){display:inline-flex;align-items:center;border:1px solid #dcebdd;border-radius:999px;background:#fff;padding:6px 10px;color:#31533a;font-weight:900;font-size:12px}.invoice-current-actions{display:flex;align-content:flex-start;align-items:flex-start;justify-content:flex-end;gap:9px;flex-wrap:wrap;min-width:280px}.invoice-current-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.invoice-current-stats div{background:#fff;border:1px solid #dfeadd;border-radius:16px;padding:12px 14px;box-shadow:0 8px 18px rgba(7,63,37,.045)}.invoice-current-stats strong{display:block;font-size:25px;line-height:1;color:var(--portal-green-dark,#073f25)}.invoice-current-stats span{display:block;margin-top:5px;color:#52685b;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:11px}.invoice-year-list-card{margin-bottom:18px;padding:18px!important}.invoice-year-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.invoice-year-tile{border:1px solid #dfeadd;border-radius:18px;background:#fbfdfb;padding:14px;box-shadow:0 7px 16px rgba(7,63,37,.04)}.invoice-year-tile>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.invoice-year-tile>div:first-child strong{font-size:22px;color:var(--portal-green-dark,#073f25)}.invoice-year-tile p{margin:5px 0;color:#31533a;font-weight:800}.invoice-year-tile .invoice-actions{margin-top:11px}.billing-year-overview-card{display:none!important}
@media(max-width:1180px){.page-heading-card,.invoice-current-card{grid-template-columns:1fr}.page-heading-side{align-items:flex-start}.page-heading-actions{justify-content:flex-start}.invoice-current-actions{justify-content:flex-start;min-width:0}.invoice-summary-row{grid-template-columns:repeat(2,minmax(150px,1fr))}.invoice-current-stats{grid-template-columns:repeat(2,minmax(130px,1fr))}}
@media(max-width:760px){.invoice-current-stats,.invoice-summary-row{grid-template-columns:1fr}.page-heading-actions .button,.invoice-current-actions .button{width:100%;justify-content:center;text-align:center}}

/* v0.9.4.7.6 Rechnungsliste Suche Filter Sortierung */
.invoice-list-head{align-items:flex-start;gap:14px}
.invoice-filter-card form{align-items:end}
.invoice-filter-card input[type="search"],
.invoice-filter-card select{min-height:42px}
#invoiceVisibleCount{white-space:nowrap;margin-top:2px}
.invoice-list-row[hidden]{display:none!important}
.invoice-table th{white-space:nowrap}
@media(max-width:980px){
  .invoice-list-head{display:block}
  #invoiceVisibleCount{display:inline-flex;margin-top:10px}
}

/* v0.9.4.7.7 Rechnungsliste integrierte Filterleiste */
.invoice-list-filterbar{
  display:grid;
  grid-template-columns:minmax(280px,2fr) minmax(170px,1fr) minmax(230px,1.2fr) auto;
  gap:12px;
  align-items:end;
  margin:14px 0 16px;
  padding:14px;
  border:1px solid #dfeadd;
  border-radius:20px;
  background:linear-gradient(135deg,#f8fcf8,#ffffff);
}
.invoice-list-filterbar .field{margin:0}
.invoice-list-filterbar input[type="search"],
.invoice-list-filterbar select{min-height:44px}
.invoice-list-search-field{min-width:260px}
.invoice-list-filter-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:1180px){
  .invoice-list-filterbar{grid-template-columns:1fr 1fr}
  .invoice-list-search-field{grid-column:1/-1;min-width:0}
  .invoice-list-filter-actions{grid-column:1/-1}
}
@media(max-width:720px){
  .invoice-list-filterbar{grid-template-columns:1fr}
  .invoice-list-filter-actions .button{width:100%;justify-content:center;text-align:center}
}

/* v0.9.4.7.8 Zahlung: integrierte Rechnungssuche */
.payment-invoice-finder{
  background:linear-gradient(135deg,#f7fcf8,#eef8f0);
  border:1px solid #dcefe2;
  border-radius:20px;
  padding:16px;
}
.payment-finder-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.payment-finder-head label{display:block;font-weight:900;color:var(--portal-green-dark);font-size:18px;margin-bottom:4px}
.payment-invoice-tools{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,260px);gap:10px;margin-bottom:12px}
.payment-invoice-tools input,.payment-invoice-tools select{margin:0!important}
.payment-selected-invoice{background:#fff;border:1px solid #d9eadc;border-radius:16px;padding:10px 12px;margin:0 0 12px;color:#143b24}
.payment-invoice-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;max-height:360px;overflow:auto;padding:2px}
.payment-invoice-card{border:1px solid #dcefe2;background:#fff;border-radius:16px;padding:12px;text-align:left;cursor:pointer;display:grid;gap:5px;box-shadow:0 6px 18px rgba(31,111,67,.05);color:#143b24;font:inherit}
.payment-invoice-card[hidden]{display:none!important}
.payment-invoice-empty{grid-column:1/-1;padding:18px;border:1px dashed #dcefe2;border-radius:16px;background:#fff;color:#60786a;font-weight:800}

.payment-invoice-card:hover{border-color:#11804b;box-shadow:0 10px 24px rgba(31,111,67,.12);transform:translateY(-1px)}
.payment-invoice-card.selected{border-color:#0f7a43;background:#eefaf1;box-shadow:0 0 0 2px rgba(15,122,67,.12)}
.payment-invoice-card .invoice-no{font-weight:900;color:#0a5d34}
.payment-invoice-card .invoice-person{font-weight:800;color:#173b27}
.payment-invoice-card .invoice-meta{font-size:13px;color:#60786a}
.payment-invoice-card .invoice-amount{font-weight:900;color:#0b5630}
.payment-invoice-card .badge{justify-self:start;margin-top:2px}
.payment-select-fallback{margin-top:12px;background:#fff;border:1px solid #e3efe5;border-radius:14px;padding:8px 10px}
.payment-select-fallback summary{cursor:pointer;font-weight:800;color:#285d38}
.payment-select-fallback select{margin-top:8px!important}
@media(max-width:760px){.payment-finder-head{display:block}.payment-invoice-tools{grid-template-columns:1fr}.payment-invoice-results{max-height:420px}}


/* v0.9.4.8.1 Pächterakte UI-Modernisierung */
.tenant-tabs-premium{
  position: sticky;
  top: 12px;
  z-index: 12;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 10px;
  margin: 18px 0;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  scrollbar-width: thin;
}
.tenant-tabs-premium a{
  flex: 0 0 auto;
  min-width: 150px;
  min-height: 62px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #dfeadd;
  border-radius: 18px;
  background: #f8fcf9;
  color: #163c26;
  text-decoration: none;
}
.tenant-tabs-premium a:hover{border-color:#b8dbc3;background:#f2faf4;transform:translateY(-1px)}
.tenant-tab-icon{
  width: 34px;
  height: 34px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: #e8f4ec;
  color: #0f6a3a;
  font-weight: 900;
  flex: 0 0 34px;
}
.tenant-tab-copy{display:grid;gap:1px;min-width:0}.tenant-tab-copy strong{font-size:14px;line-height:1.1}.tenant-tab-copy small{font-size:11px;color:#6b7c70;font-weight:800;white-space:nowrap}.tenant-tabs-premium a.active .tenant-tab-icon{background:rgba(255,255,255,.22);color:#fff}.tenant-tabs-premium a.active .tenant-tab-copy small{color:rgba(255,255,255,.82)}
.tenant-tab-context-card{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 18px!important;
  margin: -2px 0 18px;
  border: 1px solid #dfeadd;
  background: linear-gradient(135deg,#fff,#f4fbf5);
}
.tenant-tab-context-main{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:16px;align-items:center}.tenant-context-eyebrow{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e8f4ec;color:#0f6a3a;font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.tenant-tab-context-main h3{margin:7px 0 4px;font-size:23px;color:#0d3723}.tenant-tab-context-main p{margin:0;color:#617467;font-weight:800}.tenant-context-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.tenant-context-stats div{border:1px solid #dfeadd;border-radius:15px;background:#fff;padding:11px 12px}.tenant-context-stats span{display:block;color:#6b7c70;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.tenant-context-stats strong{display:block;margin-top:4px;color:#0d3723;font-size:16px;line-height:1.15;word-break:break-word}.tenant-context-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:420px}
.tenant-tab-section{animation:tenantTabIn .18s ease-out}.tenant-tab-section .premium-panel,.finance-section-stack>.premium-panel,.document-workspace>.premium-panel{border-radius:24px;box-shadow:0 14px 38px rgba(31,111,67,.07)}
@keyframes tenantTabIn{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:none}}
.section-heading{padding:4px 0}.section-heading h3{font-size:20px;color:#0d3723}.section-heading .hint,.hint{line-height:1.45}.premium-table{border-collapse:separate;border-spacing:0}.premium-table th{padding:14px 16px;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.premium-table td{padding:14px 16px;border-top:1px solid #edf3ef;vertical-align:top}.premium-table tr:hover td{background:#fbfdfb}.table-actions{display:flex;gap:7px;flex-wrap:wrap}.document-upload-card{background:linear-gradient(135deg,#fff,#f5fbf6)}.tenant-upload-zone{border-style:dashed!important;border-width:2px!important}.document-upload-grid{align-items:end}.document-card-list{display:grid;gap:12px}.document-card{border-radius:18px;padding:14px 16px;border:1px solid #dfeadd;background:#fff;box-shadow:0 8px 22px rgba(31,111,67,.045)}.document-icon{border-radius:14px}.document-meta{gap:8px;flex-wrap:wrap}.document-meta span{border:1px solid #e0ece3;background:#f8fcf9;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;color:#526a5b}.tenant-placeholder-premium{background:linear-gradient(135deg,#fff,#f7fcf8)}.tenant-action-strip{border-radius:22px}.tenant-info-card,.tenant-finance-card{border-radius:20px}.tenant-premium-grid>.premium-panel{min-height:100%}.tenant-mini-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-mini-ledger div{align-items:center}.tenant-detail-list div{align-items:center}.complete-box,.empty{border-radius:16px}
@media(max-width:1180px){.tenant-tab-context-card{grid-template-columns:1fr}.tenant-context-actions{justify-content:flex-start;max-width:none}.tenant-tab-context-main{grid-template-columns:1fr}.tenant-context-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.tenant-tabs-premium{top:8px;gap:8px;padding:8px;margin:14px -4px 16px;border-radius:18px}.tenant-tabs-premium a{min-width:136px;min-height:58px;padding:10px}.tenant-tab-copy small{display:none}.tenant-context-stats{grid-template-columns:1fr}.tenant-context-actions .btn-small{width:100%;justify-content:center;text-align:center}.tenant-mini-ledger{grid-template-columns:1fr}.premium-table th,.premium-table td{padding:12px 10px}.tenant-tab-context-main h3{font-size:20px}}

/* v0.9.4.9.0 Tickets Grundmodul */
.ticket-actions-top { margin-bottom: 1rem; }
.ticket-stats-grid .case-stat-card { text-decoration: none; }
.ticket-snippet { margin: .75rem 0 0; line-height: 1.5; }
.ticket-detail-hero { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.ticket-detail-hero h2 { margin: .35rem 0 .25rem; }
.ticket-detail-badges { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.ticket-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1rem; margin: 1rem 0; }
.ticket-detail-main h3, .ticket-detail-main h4 { margin-top: 0; }
.ticket-result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.ticket-side-card .compact-dl { display: grid; grid-template-columns: 120px 1fr; gap: .65rem .85rem; margin: 0 0 1rem; }
.ticket-side-card dt { color: var(--muted, #5f716b); font-weight: 700; }
.ticket-side-card dd { margin: 0; font-weight: 700; }
.stack-actions { display: flex; flex-direction: column; gap: .5rem; }
.ticket-comment-list { display: grid; gap: .75rem; margin: 1rem 0; }
.ticket-comment { border: 1px solid rgba(0,0,0,.08); border-radius: 16px; padding: .9rem 1rem; background: rgba(255,255,255,.78); }
.ticket-comment > div { display: flex; justify-content: space-between; gap: 1rem; color: var(--muted, #5f716b); font-size: .9rem; }
.ticket-comment p { margin: .5rem 0 0; line-height: 1.5; }
.ticket-comment-form { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(0,0,0,.08); }
.ticket-status-card { margin: 1rem 0; }
.ticket-form-card textarea { resize: vertical; }
@media (max-width: 900px) {
  .ticket-detail-grid { grid-template-columns: 1fr; }
  .ticket-detail-hero { flex-direction: column; }
  .ticket-detail-badges { justify-content: flex-start; }
  .ticket-result-grid { grid-template-columns: 1fr; }
}

/* v0.9.4.9.1 Ticket-Anhänge */
.ticket-attachments-card { margin: 1rem 0; }
.ticket-attachment-list { display: grid; gap: .75rem; margin: 1rem 0; }
.ticket-attachment-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .85rem;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: .85rem 1rem;
  background: rgba(255,255,255,.82);
}
.ticket-attachment-icon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 107, 64, .08);
  font-size: 1.1rem;
}
.ticket-attachment-body { display: grid; gap: .2rem; min-width: 0; }
.ticket-attachment-body strong { overflow-wrap: anywhere; }
.ticket-attachment-body span,
.ticket-attachment-body small { color: var(--muted, #5f716b); font-size: .9rem; }
.ticket-attachment-form {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(0,0,0,.08);
}
@media (max-width: 720px) {
  .ticket-attachment-item { grid-template-columns: auto minmax(0, 1fr); }
  .ticket-attachment-item .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
}

/* v0.9.4.9.2 Ticket-Anhang beim Erstellen */
.ticket-create-attachment-panel {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--border, #d8e1dc);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(33, 122, 88, .07), rgba(255,255,255,.92));
  display: grid;
  gap: .85rem;
}
.ticket-create-attachment-panel strong { display: block; font-size: 1rem; }
.ticket-create-attachment-panel p { margin: .2rem 0 0; }

/* v0.9.4.9.3 Ticket-Modulbezüge */
.ticket-related-panel {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--border, #d8e1dc);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(41, 128, 185, .07), rgba(255,255,255,.95));
  display: grid;
  gap: .85rem;
}
.ticket-related-box {
  display: flex;
  gap: .75rem;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: .85rem;
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(0,0,0,.06);
}
.ticket-related-box span,
.ticket-related-inline span {
  color: var(--muted, #60736a);
  font-size: .85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.ticket-related-box strong { flex: 1 1 260px; }
.ticket-related-inline {
  margin-top: .75rem;
  padding: .7rem .8rem;
  border-radius: 14px;
  background: rgba(33, 122, 88, .07);
  display: flex;
  gap: .65rem;
  align-items: center;
  flex-wrap: wrap;
}
.ticket-related-inline a { font-weight: 700; color: inherit; }


/* v0.9.4.9.4 Jahresabrechnung Pächterwechsel-Auswahl */
.input-small{width:100%;max-width:420px;padding:9px 10px;border:1px solid var(--border,#d7e0da);border-radius:10px;background:#fff;}
.badge.info{background:#e8f2ff;color:#1d4f91;border:1px solid #bad7ff;}
.lease-table select.input-small{font-size:.92rem;}
@media (max-width: 900px){.lease-table select.input-small{min-width:260px;}}


/* v0.9.4.9.5 Sammelfreigabe Jahresabrechnung */
.bulk-release-card {
  border: 1px solid rgba(15, 121, 73, 0.22);
  background: linear-gradient(135deg, rgba(232, 247, 238, 0.95), rgba(255, 255, 255, 0.98));
}
.bulk-release-card .toolbar {
  align-items: center;
}
.warning-text {
  color: #9a5b00;
  font-weight: 700;
}
.success-card {
  border: 1px solid rgba(15, 121, 73, 0.18);
  background: #f4fbf7;
}

/* v0.9.4.9.7 Rechnungen Sammeldruck */
.invoice-batch-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 14px;padding:14px 16px;border:1px solid #dce9df;border-radius:16px;background:#f7fbf8;box-shadow:0 8px 20px rgba(18,57,34,.05)}
.invoice-batch-toolbar strong{display:block;color:#143b26;margin-bottom:2px}.invoice-batch-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.invoice-select-col{width:44px;text-align:center}.invoice-select-col input[type="checkbox"]{width:18px;height:18px;accent-color:#0f6b3a}.invoice-batch-table tr:has(.invoice-print-checkbox:checked){background:#f0faf3}.invoice-batch-table tr[hidden]{display:none!important}@media(max-width:900px){.invoice-batch-toolbar{display:block}.invoice-batch-actions{justify-content:flex-start;margin-top:12px}.invoice-select-col{width:34px}}

/* v0.9.5.0 Serienbrief / Rundschreiben */
.serial-letter-card { margin-top: 1rem; }
.serial-options-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; margin: 1.25rem 0; }
.serial-option-box { border: 1px solid var(--border, #dcebe2); border-radius: 18px; padding: 1rem; background: linear-gradient(135deg, #ffffff 0%, #f1faf5 100%); }
.serial-option-box h3 { margin: 0 0 .75rem; color: var(--green-dark, #064d2e); }
.serial-option-box label { display: block; margin: .45rem 0; font-weight: 700; }
.serial-option-box input { margin-right: .4rem; }
.serial-recipient-panel { border: 1px solid var(--border, #dcebe2); border-radius: 20px; padding: 1rem; margin: 1rem 0; background: #fff; }
.serial-recipient-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: end; margin-bottom: 1rem; }
.serial-recipient-actions { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.serial-recipient-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .65rem; max-height: 420px; overflow: auto; padding-right: .25rem; }
.serial-recipient-item { display: flex; align-items: flex-start; gap: .65rem; padding: .75rem; border: 1px solid var(--border, #dcebe2); border-radius: 16px; background: #fafffc; cursor: pointer; }
.serial-recipient-item:hover { border-color: var(--green, #0b7a45); box-shadow: 0 8px 24px rgba(0, 80, 40, .08); }
.serial-recipient-item strong { display: block; color: var(--green-dark, #064d2e); }
.serial-recipient-item small { display: block; margin-top: .25rem; color: #60766b; }
.serial-letter-hint { border: 1px solid #dcebe2; border-radius: 16px; background: #eef8f2; padding: .85rem 1rem; margin: 1rem 0; color: #16482d; }
@media (max-width: 760px) { .serial-recipient-toolbar { grid-template-columns: 1fr; } .serial-recipient-actions { justify-content: flex-start; } }

/* v0.9.5.2 Vorstand-Zugangsanfragen */
.board-access-mini {
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid rgba(22, 101, 52, .14);
  border-radius: 14px;
  background: rgba(240, 253, 244, .55);
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.board-access-mini span { font-size: .82rem; color: #64748b; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.board-access-mini small { color: #64748b; flex-basis: 100%; }
.badge-info { background: #dbeafe; color: #1d4ed8; }
.badge-muted { background: #f1f5f9; color: #64748b; }
.inline-form select { max-width: 260px; }


/* v0.9.5.3 Jahrespacht Excel-Import */
.lease-import-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin:16px 0}.lease-import-panel .sub-card,.lease-import-preview{border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fff;padding:16px}.inline-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.inline-form input[type=file]{border:1px dashed rgba(15,23,42,.22);border-radius:12px;padding:10px;background:#f8fafc}.compact-list{margin:10px 0 0 18px;padding:0}.compact-list li{margin:4px 0}.lease-import-preview{margin:16px 0}.field-group{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0;padding:12px;border-radius:14px;background:#f8fafc}.field-group label{display:flex;gap:8px;align-items:center}.badge.danger,.badge.danger-soft{background:#fee2e2;color:#991b1b}.danger-soft{background:#fff1f2}.warn-soft{background:#fffbeb}@media(max-width:900px){.lease-import-panel{grid-template-columns:1fr}.inline-form{align-items:stretch}.inline-form input[type=file],.inline-form .button{width:100%}}

/* v0.9.5.4 Benutzer & Rechte UI-Struktur */
.admin-user-shell .subtle-card {
  padding: 10px;
}
.admin-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}
.admin-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  text-decoration: none;
  color: var(--text, #12362a);
  background: rgba(16, 94, 61, 0.08);
  border: 1px solid rgba(16, 94, 61, 0.12);
  font-weight: 700;
  line-height: 1;
}
.admin-tab span {
  display: inline-flex;
  min-width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  padding: 0 7px;
  border-radius: 999px;
  background: rgba(16, 94, 61, 0.12);
  font-size: 12px;
}
.admin-tab.active {
  background: var(--green, #0b6b3a);
  color: #fff;
  box-shadow: 0 10px 24px rgba(5, 72, 42, 0.18);
}
.admin-tab.active span {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.admin-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}
.mini-metric-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.mini-metric-list > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(16, 94, 61, 0.06);
}
.mini-metric-list span {
  color: var(--muted, #60776c);
  font-weight: 650;
}
.mini-metric-list strong {
  font-size: 1.15rem;
  color: var(--green-dark, #074b2d);
}
.admin-users-table th,
.admin-users-table td {
  vertical-align: middle;
}
.admin-actions-cell {
  min-width: 170px;
}
.action-menu {
  position: relative;
  display: inline-block;
  margin-left: 6px;
}
.action-menu summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  border-radius: 10px;
  padding: 7px 10px;
  font-weight: 700;
  color: var(--green-dark, #074b2d);
  background: rgba(16, 94, 61, 0.08);
  border: 1px solid rgba(16, 94, 61, 0.14);
  user-select: none;
}
.action-menu summary::-webkit-details-marker {
  display: none;
}
.action-menu[open] summary {
  background: rgba(16, 94, 61, 0.14);
}
.action-menu > div {
  position: absolute;
  right: 0;
  z-index: 20;
  min-width: 210px;
  margin-top: 8px;
  padding: 8px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(16, 94, 61, 0.12);
  box-shadow: 0 14px 34px rgba(4, 48, 30, 0.2);
}
.action-menu form {
  margin: 0;
}
.action-menu button {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 9px 10px;
  border-radius: 10px;
  color: var(--text, #12362a);
  font-weight: 650;
  cursor: pointer;
}
.action-menu button:hover {
  background: rgba(16, 94, 61, 0.08);
}
@media (max-width: 1100px) {
  .admin-dashboard-grid {
    grid-template-columns: 1fr;
  }
  .admin-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }
  .admin-tab {
    white-space: nowrap;
  }
}

/* v0.9.5.4.1 Benutzer & Rechte UI-Feinschliff */
.admin-user-shell .admin-tabs {
  margin-bottom: 14px;
}
.admin-user-shell .page-actions {
  margin-top: 0;
  margin-bottom: 14px;
}
.admin-user-shell .admin-tab {
  padding: 9px 13px;
  gap: 7px;
}
.admin-user-shell .admin-tab span {
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  font-size: 11px;
}
.admin-overview-stats,
.admin-compact-stat-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.admin-compact-stat-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-overview-stats .stat-card,
.admin-compact-stat-grid .stat-card {
  display: flex;
  min-height: 86px;
  flex-direction: column;
  justify-content: space-between;
  padding: 16px 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(16, 94, 61, 0.12);
  box-shadow: 0 10px 26px rgba(3, 39, 24, 0.05);
}
.admin-overview-stats .stat-card span,
.admin-compact-stat-grid .stat-card span {
  color: var(--muted, #60776c);
  font-weight: 700;
  font-size: .92rem;
}
.admin-overview-stats .stat-card strong,
.admin-compact-stat-grid .stat-card strong {
  color: var(--green-dark, #073f2a);
  font-size: 2rem;
  line-height: 1;
}
.board-access-overview-card {
  margin-top: 0;
}
.board-access-card-list {
  display: grid;
  gap: 10px;
}
.board-access-card {
  display: grid;
  grid-template-columns: minmax(190px, 1.35fr) minmax(170px, 1.1fr) minmax(200px, 1.2fr) minmax(210px, 1.15fr) auto;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(16, 94, 61, 0.10);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #fbfdfb 100%);
}
.board-access-person a,
.board-access-role strong,
.board-access-contact strong {
  display: block;
  color: var(--green-dark, #073f2a);
  font-weight: 800;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.board-access-person span,
.board-access-role span,
.board-access-status .hint,
.board-access-contact .label {
  display: block;
  margin-top: 3px;
  color: var(--muted, #60776c);
  font-size: .88rem;
  font-weight: 650;
}
.board-access-contact .label {
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .72rem;
}
.board-access-status .badge {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  text-align: center;
  white-space: normal;
}
.board-access-action {
  justify-self: end;
}
.empty-state {
  padding: 18px;
  border-radius: 16px;
  background: rgba(16, 94, 61, 0.06);
  color: var(--muted, #60776c);
  font-weight: 700;
}
@media (max-width: 1320px) {
  .admin-overview-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .board-access-card { grid-template-columns: 1fr 1fr; }
  .board-access-action { justify-self: start; }
}
@media (max-width: 760px) {
  .admin-overview-stats,
  .admin-compact-stat-grid { grid-template-columns: 1fr; }
  .board-access-card { grid-template-columns: 1fr; }
  .board-access-status .badge { min-width: 0; width: fit-content; }
}

/* v0.9.5.4.2 Vorstand-Zugaenge UI-Feinschliff */
.board-access-page .board-access-top-actions {
  margin-top: 0;
  margin-bottom: 14px;
}
.board-access-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 14px;
}
.board-access-principle {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 14px;
  padding: 13px 16px;
  border-radius: 18px;
  background: rgba(16, 94, 61, 0.07);
  border: 1px solid rgba(16, 94, 61, 0.11);
}
.board-access-principle strong {
  flex: 0 0 auto;
  color: var(--green-dark, #073f2a);
  font-size: .98rem;
}
.board-access-principle span {
  color: var(--muted, #60776c);
  font-weight: 650;
  line-height: 1.45;
}
.board-access-request-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
  border: 1px solid rgba(16, 94, 61, 0.12);
  box-shadow: 0 8px 22px rgba(3, 39, 24, 0.05);
}
.board-access-request-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(16, 94, 61, 0.08);
}
.board-access-request-head .board-access-status {
  flex: 0 0 auto;
}
.board-access-request-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr 1.2fr;
  gap: 14px;
  align-items: start;
}
.board-access-role,
.board-access-contact,
.board-access-person {
  min-width: 0;
}
.board-access-role .label,
.board-access-contact .label {
  display: block;
  margin-bottom: 5px;
  color: var(--muted, #60776c);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.board-access-request-card .board-access-person a,
.board-access-request-card .board-access-role strong,
.board-access-request-card .board-access-contact strong {
  display: block;
  color: var(--green-dark, #073f2a);
  font-weight: 850;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.board-access-request-card .board-access-person span,
.board-access-request-card .board-access-role span:not(.label),
.board-access-request-card .board-access-contact span:not(.label) {
  display: block;
  margin-top: 4px;
  color: var(--muted, #60776c);
  font-size: .88rem;
  font-weight: 650;
  line-height: 1.35;
}
.board-access-request-card .board-access-status .badge {
  min-width: 150px;
  justify-content: center;
  text-align: center;
}
.board-access-request-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding-top: 2px;
}
.board-access-link-form {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.board-access-link-form select {
  min-width: 260px;
  max-width: 360px;
}
@media (max-width: 1320px) {
  .board-access-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .board-access-request-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .board-access-request-actions {
    justify-content: flex-start;
  }
}
@media (max-width: 760px) {
  .board-access-stats,
  .board-access-request-grid {
    grid-template-columns: 1fr;
  }
  .board-access-principle,
  .board-access-request-head,
  .board-access-link-form {
    display: grid;
  }
  .board-access-request-card .board-access-status .badge {
    min-width: 0;
    width: fit-content;
  }
  .board-access-link-form select {
    min-width: 0;
    width: 100%;
  }
}

/* v0.9.5.5 Journal & Kontenbasis */
.finance-tabs{margin-bottom:1.1rem;}
.compact-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:1rem 0;}
.journal-balance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1rem;}
.journal-balance-card{background:#f8fbf9;border:1px solid rgba(0,55,35,.10);border-radius:18px;padding:1rem;box-shadow:0 8px 20px rgba(0,0,0,.04);}
.journal-balance-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;}
.journal-balance-row{display:flex;justify-content:space-between;gap:.75rem;padding:.35rem 0;border-top:1px solid rgba(0,55,35,.07);}
.journal-balance-row:first-of-type{border-top:0;}
.journal-balance-row.total{font-size:1.05rem;border-top:2px solid rgba(0,97,53,.18);margin-top:.35rem;padding-top:.7rem;}
.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem;align-items:end;margin:1rem 0;}
.filter-bar label{font-weight:700;color:#12392a;font-size:.92rem;}
.filter-bar input,.filter-bar select{width:100%;margin-top:.25rem;}
.data-table .right{text-align:right;}
.muted-small{font-size:.82rem;color:#5e756b;line-height:1.35;}
.journal-balance-edit-list,.finance-card-list{display:grid;gap:.75rem;margin-top:1rem;}
.journal-balance-edit-card,.finance-list-card{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr) minmax(200px,1fr) auto;gap:.75rem;align-items:end;background:#f8fbf9;border:1px solid rgba(0,55,35,.10);border-radius:16px;padding:.85rem;}
.finance-list-card{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;}
.journal-form .transfer-only,.journal-form .category-income,.journal-form .category-expense{transition:opacity .15s ease;}
.inline-form select{min-width:130px;}
.info-card{background:#f6fbf8;}
@media (max-width: 900px){
  .journal-balance-edit-card,.finance-list-card{grid-template-columns:1fr;align-items:stretch;}
  .data-table{min-width:900px;}
}

/* v0.9.5.6 Jahresabschluss & Auswertungen */
.report-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.report-toolbar h3 { margin-bottom: 4px; }
.report-toolbar p { margin: 0; color: var(--muted); }
.report-grid { align-items: start; }
.report-card h3 { margin-bottom: 10px; }
.report-card h4 {
  margin: 18px 0 8px;
  font-size: 1rem;
  color: var(--text);
}
.report-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 10px;
}
.report-list > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.report-list > div:last-child { border-bottom: 0; }
.report-list span { color: var(--text); }
.report-list em {
  display: block;
  color: var(--muted);
  font-style: normal;
  font-size: .82rem;
  margin-top: 2px;
}
.report-list strong { white-space: nowrap; }
.report-list .total {
  margin-top: 4px;
  padding: 11px 12px;
  border-radius: 14px;
  background: rgba(22, 101, 52, .08);
  border: 1px solid rgba(22, 101, 52, .16);
}
.report-list.large > div { padding: 12px 0; }
.report-account-card .journal-balance-row.total {
  background: rgba(22, 101, 52, .08);
  border-radius: 12px;
  padding: 9px 10px;
}
.compact-table th,
.compact-table td { padding-top: 9px; padding-bottom: 9px; }
@media (max-width: 800px) {
  .report-toolbar { flex-direction: column; align-items: stretch; }
  .report-toolbar .inline-form { justify-content: flex-start; }
  .report-list > div { flex-direction: column; gap: 4px; }
  .report-list strong { white-space: normal; }
}

/* v0.9.5.7 Journal Exporte */
.action-row.compact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 760px) {
  .action-row.compact {
    justify-content: stretch;
  }
  .action-row.compact .button {
    width: 100%;
    text-align: center;
  }
}

/* v0.9.5.8 - Kassenuebergabe Journal-Umbuchung */
.journal-transfer-card .field {
  display: block;
  margin: 0 0 10px;
}
.journal-transfer-form select,
.journal-transfer-form input[type="date"],
.journal-transfer-form input[type="number"] {
  width: 100%;
}
.journal-transfer-amount {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  margin: 10px 0;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: rgba(16, 185, 129, .08);
}
.journal-transfer-amount span,
.journal-link-summary span {
  display: block;
  font-size: .78rem;
  color: var(--muted, #64748b);
  margin-bottom: 2px;
}
.journal-transfer-amount strong {
  font-size: 1.1rem;
}
.journal-link-summary {
  display: grid;
  gap: 8px;
  margin: 12px 0 14px;
}
.journal-link-summary > div {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(15, 23, 42, .04);
}
.checkbox-line {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 10px 0 14px;
  color: var(--muted, #64748b);
}
.status-badge.is-success {
  background: rgba(16, 185, 129, .13);
  color: #047857;
}

/* v0.9.5.8.1 Journal UI-Feinschliff */
.journal-tabs{margin-bottom:14px;}
.journal-dashboard{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:14px;margin:14px 0 18px;}
.journal-kpi-card{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(0,55,35,.10);border-radius:22px;padding:18px;box-shadow:0 12px 34px rgba(0,55,35,.06);min-height:118px;display:flex;flex-direction:column;justify-content:space-between;}
.journal-kpi-card:after{content:"";position:absolute;right:-24px;bottom:-28px;width:90px;height:90px;border-radius:999px;background:#eef7ee;}
.journal-kpi-card span,.journal-kpi-card strong,.journal-kpi-card em{position:relative;z-index:1;}
.journal-kpi-card span{font-weight:900;color:#5b7465;font-size:13px;}
.journal-kpi-card strong{font-size:25px;line-height:1.1;color:#073f25;margin-top:10px;}
.journal-kpi-card em{font-style:normal;color:#6d7f73;font-weight:700;font-size:12px;margin-top:6px;}
.journal-kpi-card.is-income:after{background:#eef9f1;}
.journal-kpi-card.is-expense:after{background:#fff4e6;}
.journal-kpi-card.is-transfer:after{background:#eef4fb;}
.journal-kpi-card.is-balance:after{background:#eaf7ef;}
.journal-card{padding:20px;}
.journal-section-head{align-items:flex-start;margin-bottom:14px;}
.journal-section-head h3{margin-bottom:3px;}
.journal-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px;}
.journal-account-card{background:linear-gradient(180deg,#ffffff,#f8fbf9);border:1px solid rgba(0,55,35,.12);border-radius:22px;padding:16px;box-shadow:0 10px 26px rgba(0,55,35,.05);}
.journal-account-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(0,55,35,.08);}
.journal-account-card header strong{display:block;color:#073f25;font-size:15px;}
.journal-account-card header small{display:block;color:#6a7b70;font-weight:800;margin-top:4px;}
.journal-account-card dl{margin:12px 0 0;display:grid;gap:7px;}
.journal-account-card dl div{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.journal-account-card dt{color:#5e7468;font-weight:800;}
.journal-account-card dd{margin:0;font-weight:900;color:#0b3523;}
.journal-account-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:13px;border-top:2px solid rgba(0,97,53,.18);}
.journal-account-card footer span{font-weight:900;color:#315c44;}
.journal-account-card footer strong{font-size:18px;color:#073f25;}
.journal-list-card{margin-top:18px;}
.journal-filter-panel{display:grid;grid-template-columns:130px minmax(190px,1fr) 170px minmax(260px,1.4fr) auto;gap:12px;align-items:end;background:#f7fbf8;border:1px solid rgba(0,55,35,.10);border-radius:18px;padding:14px;margin:12px 0 16px;}
.journal-filter-panel label{display:grid;gap:5px;font-weight:900;color:#365d48;font-size:12px;}
.journal-filter-panel select,.journal-filter-panel input{width:100%;border:1px solid rgba(0,55,35,.18);border-radius:12px;padding:10px 12px;background:#fff;font:inherit;}
.journal-filter-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;}
.button.ghost{background:#f6fbf7;color:#0b5c35;border:1px solid rgba(0,97,53,.14);box-shadow:none;}
.journal-table-wrap{border-radius:20px;border:1px solid rgba(0,55,35,.10);overflow:auto;}
.journal-table{margin:0;}
.journal-table th{background:#f3faf5;color:#174f34;font-size:12px;text-transform:uppercase;letter-spacing:.02em;}
.journal-table td{padding-top:13px;padding-bottom:13px;vertical-align:middle;}
.journal-table tbody tr:hover{background:#fbfdfb;}
.journal-table .voucher-code{display:inline-block;background:#eef7ee;border-radius:10px;padding:4px 7px;color:#0a4b2d;}
.journal-table .account-name{display:block;font-weight:900;color:#173f2d;}
.journal-table td small{display:block;color:#6d7f72;font-weight:800;margin-top:2px;}
.journal-table .amount{font-size:14px;}
.journal-table .amount.positive{color:#0b6b3a;}
.journal-table .amount.negative{color:#8a4d00;}
.journal-note-card{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid rgba(0,55,35,.10);border-radius:18px;padding:14px 16px;margin-top:16px;color:#4e6658;}
.journal-note-card strong{color:#073f25;white-space:nowrap;}

.journal-entry-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start;}
.journal-entry-main{padding:20px;}
.journal-entry-form{display:grid;gap:14px;}
.journal-form-card{background:#f8fbf9;border:1px solid rgba(0,55,35,.10);border-radius:20px;padding:16px;}
.journal-form-card h4{margin:0 0 4px;color:#073f25;font-size:17px;}
.journal-form-card p{margin:0 0 12px;color:#64786c;font-weight:700;}
.journal-kind-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.journal-kind-option{cursor:pointer;display:flex;align-items:stretch;}
.journal-kind-option input{position:absolute;opacity:0;pointer-events:none;}
.journal-kind-option span{display:grid;gap:4px;width:100%;border:1px solid rgba(0,55,35,.14);border-radius:16px;background:#fff;padding:14px;box-shadow:0 8px 20px rgba(0,55,35,.04);transition:.15s ease;}
.journal-kind-option strong{color:#073f25;font-size:15px;}
.journal-kind-option small{color:#6a7c71;font-weight:800;line-height:1.35;}
.journal-kind-option input:checked + span{border-color:#0b6b3a;background:#eef8f1;box-shadow:0 12px 28px rgba(0,97,53,.12);}
.journal-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;}
.journal-field-grid label{display:grid;gap:6px;font-weight:900;color:#365d48;font-size:13px;}
.journal-field-grid label.wide{grid-column:1/-1;}
.journal-field-grid input,.journal-field-grid select,.journal-field-grid textarea{width:100%;border:1px solid rgba(0,55,35,.18);border-radius:14px;padding:11px 12px;background:#fff;font:inherit;color:#073f25;}
.journal-field-grid textarea{min-height:86px;resize:vertical;}
.journal-form-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:4px;}
.journal-preview-card{position:sticky;top:20px;background:#fff;border:1px solid rgba(0,55,35,.12);border-radius:24px;padding:18px;box-shadow:0 16px 40px rgba(0,55,35,.08);}
.journal-preview-card h3{margin:0 0 4px;color:#073f25;}
.journal-preview-card p{margin:0 0 14px;color:#63796d;font-weight:700;}
.journal-preview-list{display:grid;gap:8px;}
.journal-preview-list div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#f4faf6;border-radius:14px;padding:10px 12px;}
.journal-preview-list span{color:#5e7468;font-weight:900;}
.journal-preview-list strong{color:#073f25;text-align:right;max-width:185px;overflow-wrap:anywhere;}
.journal-preview-transfer{display:none;margin-top:14px;background:#eef6fb;border:1px solid rgba(28,92,133,.12);border-radius:16px;padding:13px;color:#315366;}
.journal-preview-transfer strong{display:block;color:#1d4c68;margin-bottom:5px;}
.journal-preview-transfer span{font-weight:700;line-height:1.45;}

@media(max-width:1400px){
  .journal-dashboard{grid-template-columns:repeat(3,minmax(160px,1fr));}
  .journal-entry-layout{grid-template-columns:1fr;}
  .journal-preview-card{position:static;}
}
@media(max-width:980px){
  .journal-filter-panel{grid-template-columns:1fr 1fr;}
  .journal-filter-actions{justify-content:flex-start;}
  .journal-kind-options{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .journal-dashboard,.journal-account-grid,.journal-field-grid,.journal-filter-panel{grid-template-columns:1fr;}
  .journal-section-head{display:block;}
  .journal-section-head .action-row,.journal-section-head .button{margin-top:10px;}
  .journal-form-actions{justify-content:stretch;flex-direction:column;align-items:stretch;}
  .journal-preview-list div{display:grid;}
  .journal-preview-list strong{text-align:left;max-width:none;}
}

/* v0.9.5.8.2 Vorstand Amtszeit Personenauswahl */
.board-form-card{padding:20px;}
.board-membership-form{display:flex;flex-direction:column;gap:18px;}
.board-form-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start;}
.board-form-section{background:#fff;border:1px solid rgba(12,86,50,.14);border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(13,53,34,.04);}
.board-form-section.is-primary{grid-row:span 2;}
.board-form-section h3{margin:0 0 6px;font-size:1.05rem;color:#073828;}
.board-form-section p{margin:0 0 14px;color:#557063;font-size:.92rem;line-height:1.45;}
.board-search-field input{font-size:1rem;padding:12px 14px;border-radius:14px;}
.board-selected-tenant{display:flex;flex-direction:column;gap:3px;margin:12px 0;padding:12px 14px;border-radius:14px;background:#eef8f2;border:1px solid rgba(12,86,50,.13);}
.board-selected-tenant strong{color:#073828;}
.board-selected-tenant span,.board-selected-tenant small{color:#557063;}
.board-tenant-results{display:grid;grid-template-columns:1fr;gap:10px;max-height:430px;overflow:auto;padding-right:4px;}
.tenant-result-card{appearance:none;text-align:left;border:1px solid rgba(12,86,50,.12);background:#fff;border-radius:16px;padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:.15s ease;}
.tenant-result-card:hover,.tenant-result-card:focus{border-color:#0b6b43;box-shadow:0 10px 24px rgba(12,86,50,.12);transform:translateY(-1px);outline:none;}
.tenant-result-card strong{color:#073828;font-size:.98rem;}
.tenant-result-card span{color:#183f30;font-size:.88rem;}
.tenant-result-card small{color:#6b8076;}
.board-person-options{display:grid;gap:10px;}
.person-choice{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;border:1px solid rgba(12,86,50,.14);background:#fff;cursor:pointer;transition:.15s ease;}
.person-choice:hover{border-color:#0b6b43;background:#f6fbf8;}
.person-choice.is-selected{border-color:#0b6b43;background:#eaf7ef;box-shadow:0 10px 22px rgba(12,86,50,.08);}
.person-choice input{width:18px;height:18px;accent-color:#0b6b43;}
.person-choice span{display:flex;flex-direction:column;gap:2px;}
.person-choice strong{color:#073828;}
.person-choice small{color:#607568;}
.compact-form-grid{grid-template-columns:1fr 1fr;gap:14px;}
.small-empty{padding:12px;border-radius:14px;font-size:.92rem;}
.sticky-actions{position:sticky;bottom:12px;background:rgba(248,252,249,.92);backdrop-filter:blur(8px);border:1px solid rgba(12,86,50,.12);border-radius:16px;padding:12px;z-index:4;}
@media (max-width: 980px){.board-form-layout{grid-template-columns:1fr}.board-form-section.is-primary{grid-row:auto}.compact-form-grid{grid-template-columns:1fr}.sticky-actions{position:static}}

/* v0.9.5.9 Journal Korrekturen und Jahressperre */
.journal-lock-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:16px 18px;border-radius:18px;border:1px solid #d9eadf;background:#f4fbf6;box-shadow:0 10px 24px rgba(15,59,38,.06)}
.journal-lock-panel.is-locked{background:#fff7ed;border-color:#fed7aa}
.journal-lock-panel strong{display:block;font-size:1.02rem;color:#18382a;margin-bottom:2px}
.journal-lock-panel span{display:block;color:#52635a;font-size:.92rem}
.journal-lock-panel small{display:block;margin-top:4px;color:#6f7c73;font-size:.82rem}
.journal-lock-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.journal-lock-form input[type="text"]{min-width:240px;border:1px solid #d5e2da;border-radius:12px;padding:10px 12px;background:#fff}
.button.small{padding:6px 10px;font-size:.82rem;border-radius:10px;min-height:auto}
.journal-history-card{margin-top:18px}
.journal-history-list{display:grid;gap:10px}
.journal-history-row{border:1px solid #e2ece6;background:#fbfdfb;border-radius:14px;padding:10px 12px;display:grid;gap:4px}
.journal-history-row strong{color:#18382a}
.journal-history-row span{font-size:.82rem;color:#6b7b70}
.journal-history-row small{font-size:.88rem;color:#435147;line-height:1.35}
@media (max-width: 760px){.journal-lock-panel{align-items:stretch;flex-direction:column}.journal-lock-form{justify-content:stretch}.journal-lock-form input[type="text"]{min-width:0;width:100%}.journal-lock-form .button{width:100%}}

/* v0.9.5.9.1 Journal Zuordnung Live-Suche */
.journal-assignment-card .journal-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;}
.journal-assignment-search{display:grid;gap:8px;}
.journal-assignment-search>label{font-weight:900;color:#365d48;font-size:13px;}
.journal-live-search-row{display:flex;gap:8px;align-items:center;}
.journal-live-search-row input[type="search"]{width:100%;border:1px solid rgba(0,55,35,.18);border-radius:14px;padding:11px 12px;background:#fff;font:inherit;color:#073f25;}
.journal-live-search-row input[type="search"]:focus{outline:none;border-color:#0b6b3a;box-shadow:0 0 0 3px rgba(11,107,58,.11);}
.journal-live-search-row .journal-clear-assignment{white-space:nowrap;padding:10px 12px;border-radius:12px;}
.journal-selected-assignment{display:grid;gap:3px;background:#eef8f1;border:1px solid rgba(11,107,58,.16);border-radius:14px;padding:11px 12px;}
.journal-selected-assignment strong{color:#073f25;}
.journal-selected-assignment span{color:#5d7468;font-weight:700;font-size:.88rem;line-height:1.35;}
.journal-live-results{display:grid;gap:8px;max-height:275px;overflow:auto;padding-right:4px;}
.journal-live-result{appearance:none;text-align:left;border:1px solid rgba(0,55,35,.12);background:#fff;border-radius:14px;padding:11px 12px;cursor:pointer;display:grid;gap:3px;transition:.15s ease;}
.journal-live-result:hover,.journal-live-result:focus{border-color:#0b6b3a;box-shadow:0 10px 22px rgba(0,55,35,.10);transform:translateY(-1px);outline:none;}
.journal-live-result strong{color:#073f25;font-size:.95rem;}
.journal-live-result span{color:#315c44;font-size:.87rem;font-weight:800;}
.journal-live-result small{color:#6b7d72;font-weight:700;line-height:1.3;}
.journal-live-empty{border:1px dashed rgba(0,55,35,.16);background:#fbfdfb;border-radius:14px;padding:11px 12px;color:#64786c;font-weight:700;font-size:.9rem;line-height:1.35;}
@media(max-width:720px){.journal-assignment-card .journal-assignment-grid{grid-template-columns:1fr}.journal-live-search-row{align-items:stretch;flex-direction:column}.journal-live-search-row .journal-clear-assignment{width:100%}}

/* v0.9.5.9.3 - Journal overview layout */
.journal-list-card{background:linear-gradient(180deg,#ffffff,#f8fbf9);border-color:rgba(0,55,35,.10);}
.journal-list-card .journal-section-head{background:#ffffff;border:1px solid rgba(0,55,35,.08);border-radius:20px;padding:14px 16px;box-shadow:0 10px 28px rgba(0,55,35,.04);}
.journal-ledger-wrap{margin-top:14px;}
.journal-ledger-head{display:grid;grid-template-columns:58px 150px minmax(320px,1.6fr) minmax(210px,.9fr) 150px 120px;gap:12px;align-items:center;background:#eaf5ed;border:1px solid rgba(0,97,53,.10);border-radius:16px;padding:10px 14px;color:#174f34;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
.journal-ledger-list{display:grid;gap:10px;margin-top:10px;}
.journal-ledger-row{position:relative;display:grid;grid-template-columns:58px 150px minmax(320px,1.6fr) minmax(210px,.9fr) 150px 120px;gap:12px;align-items:center;background:#fff;border:1px solid rgba(0,55,35,.10);border-radius:20px;padding:14px;box-shadow:0 10px 28px rgba(0,55,35,.05);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;}
.journal-ledger-row:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 8px 8px 0;background:#b8cfc1;}
.journal-ledger-row.is-income:before{background:#0b8a4a;}
.journal-ledger-row.is-expense:before{background:#b46a10;}
.journal-ledger-row.is-neutral:before{background:#4f7ca3;}
.journal-ledger-row:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(0,55,35,.09);border-color:rgba(0,97,53,.18);}
.journal-ledger-row.is-cancelled{opacity:.68;}
.journal-ledger-no span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:14px;background:#073f25;color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(0,55,35,.14);}
.journal-ledger-date{display:grid;gap:6px;align-content:center;}
.journal-ledger-date strong{color:#073f25;font-size:14px;}
.journal-ledger-date .voucher-code{display:inline-flex;width:max-content;background:#eef7ee;border:1px solid rgba(0,97,53,.08);border-radius:999px;padding:5px 9px;color:#0a4b2d;font-weight:900;font-size:12px;}
.journal-ledger-main{display:grid;gap:9px;min-width:0;}
.journal-ledger-title{display:flex;align-items:center;gap:9px;min-width:0;}
.journal-ledger-title strong{color:#062f1d;font-size:15px;line-height:1.25;overflow-wrap:anywhere;}
.journal-ledger-meta{display:flex;flex-wrap:wrap;gap:7px;}
.journal-ledger-meta span{display:inline-flex;align-items:center;gap:5px;background:#f2f8f4;border:1px solid rgba(0,55,35,.07);border-radius:999px;padding:5px 9px;color:#5c7065;font-size:12px;font-weight:800;}
.journal-ledger-meta strong{color:#174f34;}
.journal-ledger-meta em{font-style:normal;color:#6b7c70;font-weight:900;}
.journal-ledger-reference{display:grid;gap:4px;color:#445f4f;font-weight:800;line-height:1.3;min-width:0;}
.journal-ledger-reference strong{color:#073f25;overflow-wrap:anywhere;}
.journal-ledger-reference span{font-size:12px;color:#6a7d70;font-weight:800;}
.journal-ledger-amount{display:grid;gap:7px;justify-items:end;}
.journal-ledger-amount .amount{font-size:16px;white-space:nowrap;}
.journal-ledger-actions{display:flex;justify-content:flex-end;}
.journal-ledger-actions .button{white-space:nowrap;}
.journal-empty-state{background:#fff;border:1px dashed rgba(0,55,35,.18);border-radius:18px;padding:28px;text-align:center;color:#607468;font-weight:900;}

@media(max-width:1280px){
  .journal-ledger-head{display:none;}
  .journal-ledger-row{grid-template-columns:52px 145px minmax(260px,1fr) 145px;grid-template-areas:"no date main amount" "no ref ref actions";}
  .journal-ledger-no{grid-area:no;}
  .journal-ledger-date{grid-area:date;}
  .journal-ledger-main{grid-area:main;}
  .journal-ledger-reference{grid-area:ref;}
  .journal-ledger-amount{grid-area:amount;}
  .journal-ledger-actions{grid-area:actions;justify-content:flex-start;}
}
@media(max-width:760px){
  .journal-list-card .journal-section-head{display:grid;gap:12px;}
  .journal-ledger-row{grid-template-columns:46px 1fr;grid-template-areas:"no date" "main main" "ref ref" "amount actions";padding:13px;}
  .journal-ledger-title{align-items:flex-start;flex-direction:column;gap:6px;}
  .journal-ledger-amount{justify-items:start;}
  .journal-ledger-actions{justify-content:flex-end;}
}

/* v0.9.5.9.4 - Journal Monatsuebersicht */
.journal-filter-panel-modern{grid-template-columns:120px 155px minmax(190px,1.1fr) 155px 120px minmax(260px,1.2fr) auto;align-items:end;gap:12px;background:#f8fcf9;border:1px solid rgba(0,55,35,.10);border-radius:20px;padding:14px;}
.journal-filter-panel-modern label{font-weight:900;color:#174f34;font-size:12px;}
.journal-filter-panel-modern select,.journal-filter-panel-modern input[type="search"]{margin-top:6px;}
.journal-quickbar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:10px;border-radius:18px;background:#f5faf6;border:1px solid rgba(0,55,35,.08);}
.journal-quickchip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 13px;border-radius:999px;border:1px solid rgba(0,55,35,.12);background:#fff;color:#174f34;font-weight:900;text-decoration:none;box-shadow:0 6px 16px rgba(0,55,35,.04);transition:.14s ease;}
.journal-quickchip:hover{border-color:rgba(0,97,53,.26);box-shadow:0 10px 22px rgba(0,55,35,.08);transform:translateY(-1px);}
.journal-quickchip.is-active{background:#073f25;color:#fff;border-color:#073f25;box-shadow:0 10px 24px rgba(0,55,35,.16);}
.journal-list-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 2px 0;color:#5c7065;font-size:13px;font-weight:900;}
.journal-month-group{display:grid;gap:10px;}
.journal-month-group+.journal-month-group{margin-top:16px;}
.journal-month-header{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#eef8f1,#ffffff);border:1px solid rgba(0,55,35,.10);border-radius:18px;padding:12px 14px;box-shadow:0 10px 24px rgba(0,55,35,.04);}
.journal-month-header>div{display:grid;gap:2px;}
.journal-month-header strong{color:#073f25;font-size:16px;}
.journal-month-header span{color:#607568;font-size:12px;font-weight:900;}
.journal-month-header dl{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0;}
.journal-month-header dl div{display:grid;gap:2px;min-width:96px;background:#fff;border:1px solid rgba(0,55,35,.08);border-radius:14px;padding:8px 10px;text-align:right;}
.journal-month-header dt{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#6b8074;font-weight:900;}
.journal-month-header dd{margin:0;color:#073f25;font-weight:900;white-space:nowrap;}
.journal-load-more{display:flex;justify-content:center;margin-top:16px;padding-top:14px;border-top:1px solid rgba(0,55,35,.08);}
@media(max-width:1280px){.journal-filter-panel-modern{grid-template-columns:repeat(3,minmax(0,1fr));}.journal-filter-panel-modern .wide{grid-column:span 2;}}
@media(max-width:840px){.journal-filter-panel-modern{grid-template-columns:1fr;}.journal-filter-panel-modern .wide{grid-column:auto;}.journal-list-summary{align-items:flex-start;flex-direction:column;}.journal-month-header{align-items:stretch;flex-direction:column;}.journal-month-header dl{justify-content:stretch;}.journal-month-header dl div{min-width:0;flex:1 1 130px;text-align:left;}}


/* v0.9.5.9.5 - Journal Nummern und Ausgaben-Hotfix */
.journal-ledger-head{grid-template-columns:72px 150px minmax(320px,1.6fr) minmax(210px,.9fr) 150px 120px;}
.journal-ledger-row{grid-template-columns:72px 150px minmax(320px,1.6fr) minmax(210px,.9fr) 150px 120px;}
.journal-ledger-no span{min-width:54px;width:auto;height:34px;padding:0 10px;border-radius:999px;font-size:13px;letter-spacing:.01em;line-height:1;white-space:nowrap;}
.journal-ledger-title .badge{border:1px solid rgba(0,55,35,.08);}
.journal-ledger-title .badge.is-success{background:#e7f6ec;color:#086536;border-color:#c7e8d1;}
.journal-ledger-title .badge.is-warning{background:#fff2dc;color:#8a4d00;border-color:#f4d5a6;}
.journal-ledger-title .badge.is-muted{background:#eef2f0;color:#536057;border-color:#d8e1dc;}
.journal-ledger-row.is-expense{background:linear-gradient(90deg,#fff8ef 0%,#fffdf9 42%,#ffffff 100%);border-color:rgba(180,106,16,.30);box-shadow:0 12px 30px rgba(126,72,0,.08);}
.journal-ledger-row.is-expense:before{width:7px;background:#b85f00;}
.journal-ledger-row.is-expense:hover{border-color:rgba(184,95,0,.42);box-shadow:0 16px 36px rgba(126,72,0,.12);}
.journal-ledger-row.is-expense .journal-ledger-no span{background:#8a4d00;box-shadow:0 8px 18px rgba(138,77,0,.18);}
.journal-ledger-row.is-expense .journal-ledger-title .badge{background:#b85f00;color:#fff;border-color:#b85f00;}
.journal-ledger-row.is-expense .journal-ledger-date .voucher-code{background:#fff2dc;border-color:#f4d5a6;color:#7c4300;}
.journal-ledger-row.is-expense .journal-ledger-amount{background:#fff3e2;border:1px solid #f1c995;border-radius:15px;padding:8px 10px;}
.journal-ledger-row.is-expense .journal-ledger-amount .amount{color:#7c2d00;font-weight:900;}
.journal-ledger-amount .amount.positive{color:#06733c;}
.journal-ledger-amount .amount.negative{color:#7c2d00;}
@media(max-width:1280px){
  .journal-ledger-row{grid-template-columns:66px 145px minmax(260px,1fr) 145px;}
}
@media(max-width:760px){
  .journal-ledger-row{grid-template-columns:62px 1fr;}
  .journal-ledger-no span{min-width:50px;height:32px;font-size:12px;padding:0 9px;}
}

/* v0.9.5.9.9 Arbeitsstunden Jahresvorgaben */
.compact-timeline {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.compact-timeline > div {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(0, 77, 54, 0.12);
  border-radius: 16px;
  background: rgba(248, 252, 250, 0.85);
}
.compact-timeline strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #064e3b;
  color: #fff;
  font-size: 0.85rem;
  flex: 0 0 auto;
}

/* v0.9.6.0 Arbeitsstunden */
.work-hours-year-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.work-hours-year-card{border:1px solid var(--border,#d9e7df);border-radius:22px;background:#fff;padding:18px;box-shadow:0 10px 28px rgba(0,50,25,.06)}.work-hours-year-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.work-hours-year-head h3{margin:.2rem 0 0;font-size:2rem}.work-hours-year-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.work-hours-year-meta span,.work-hours-billing-metrics span{display:flex;flex-direction:column;border-radius:16px;background:#f3faf6;padding:10px 12px;border:1px solid #dbece3}.work-hours-year-meta small,.work-hours-billing-metrics small{color:#5f7469;font-weight:700}.work-hours-status-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.work-hours-status-card h3{margin:.55rem 0 .25rem}.work-hours-status-side{min-width:220px;border-radius:18px;background:#f3faf6;padding:14px;border:1px solid #dbece3;display:flex;flex-direction:column;gap:5px}.work-hours-form-card .toolbar{align-items:flex-end}.work-hours-search{max-width:360px}.work-hours-table-wrap{overflow:auto;border-radius:18px;border:1px solid #dbe7df}.work-hours-table{margin:0}.work-hours-table th{position:sticky;top:0;background:#edf7f0;z-index:1}.work-hours-table td{vertical-align:middle}.work-hours-table input{min-width:120px}.work-hours-table tr.is-exempt{background:#f1fbf4}.work-hours-table tr.has-fee{background:#fffaf1}.work-hours-table tr.has-fee td:first-child{box-shadow:inset 4px 0 0 #bc6a00}.work-hours-billing-card{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;border-left:6px solid #047857}.work-hours-billing-card.is-locked{border-left-color:#bc6a00;background:#fffaf1}.work-hours-billing-metrics{display:flex;gap:10px;flex-wrap:wrap}.compact-card{max-width:760px}@media(max-width:900px){.work-hours-status-card,.work-hours-billing-card{display:block}.work-hours-status-side,.work-hours-billing-metrics{margin-top:14px}.work-hours-year-meta{grid-template-columns:1fr}}

/* v0.9.6.1 Arbeitsstunden UI und Live-Suche */
.work-hours-kpis .stat-card.stat-warning{border-color:#f0d6a8;background:#fffaf1}.work-hours-kpis .stat-card.stat-success{border-color:#bee8cc;background:#f1fbf4}.work-hours-command{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.work-hours-command h3{margin:.2rem 0 .35rem}.work-hours-command-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.work-hours-visible-counter{display:inline-flex;align-items:center;gap:5px;border:1px solid #dbece3;border-radius:999px;background:#f4faf6;padding:8px 12px;font-weight:800;color:#0b4228}.work-hours-filter-panel{border:1px solid #dbece3;background:linear-gradient(180deg,#f6fbf8,#ffffff);border-radius:22px;padding:16px;margin-bottom:16px}.work-hours-live-search{display:block;max-width:none;margin:0 0 12px}.work-hours-live-search input{font-size:1rem;padding:13px 15px;border-radius:16px}.work-hours-chipbar{display:flex;flex-wrap:wrap;gap:9px;margin:2px 0 10px}.work-hours-chip{border:1px solid #d1e6da;background:#fff;border-radius:999px;color:#0b4228;font-weight:900;padding:9px 13px;cursor:pointer;box-shadow:0 6px 16px rgba(0,50,25,.04)}.work-hours-chip span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;margin-left:6px;padding:2px 7px;border-radius:999px;background:#ecf7f1;color:#0b4228;font-size:.85rem}.work-hours-chip:hover,.work-hours-chip.is-active{background:#0b7042;border-color:#0b7042;color:#fff}.work-hours-chip:hover span,.work-hours-chip.is-active span{background:rgba(255,255,255,.2);color:#fff}.work-hours-filter-hint{font-size:.92rem;color:#65766d;font-weight:700}.work-hours-filter-hint.is-dirty{color:#9a5a00}.work-hours-filter-hint.is-dirty:before{content:'Ungespeicherte Änderungen · ';font-weight:900}.work-hours-release-note{margin:0 0 16px}.work-hours-entry-list{display:flex;flex-direction:column;gap:12px}.work-hours-entry-card{border:1px solid #dbe7df;border-radius:20px;background:#fff;box-shadow:0 8px 26px rgba(0,50,25,.05);padding:15px;position:relative;overflow:hidden}.work-hours-entry-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:#cbded3}.work-hours-entry-card.state-open{background:#fffdf8}.work-hours-entry-card.state-open:before{background:#c77a00}.work-hours-entry-card.state-missing{background:#fff8ed;border-color:#efd7ae}.work-hours-entry-card.state-missing:before{background:#b95c00}.work-hours-entry-card.state-done{background:#fbfffc}.work-hours-entry-card.state-done:before,.work-hours-entry-card.state-exempt:before{background:#0b8f52}.work-hours-entry-card.state-exempt{background:#f1fbf4}.work-hours-entry-main{display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center}.work-hours-plot-badge{border:1px solid #d7eadd;border-radius:17px;background:#f3faf6;padding:10px 12px;min-height:64px;display:flex;flex-direction:column;justify-content:center}.work-hours-plot-badge span{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#61756b;font-weight:900}.work-hours-plot-badge strong{font-size:1.35rem;line-height:1.15;color:#003d26}.work-hours-entry-title h4{margin:0 0 6px;font-size:1.1rem;color:#003d26}.work-hours-entry-meta{display:flex;gap:8px;flex-wrap:wrap}.work-hours-entry-meta span{display:inline-flex;border:1px solid #dbece3;background:#f5fbf7;color:#5d7066;border-radius:999px;padding:4px 9px;font-weight:800;font-size:.85rem}.work-hours-entry-status{text-align:right}.work-hours-entry-values{display:grid;grid-template-columns:minmax(90px,.6fr) minmax(150px,.8fr) minmax(90px,.6fr) minmax(110px,.7fr) minmax(190px,1.4fr);gap:12px;margin-top:14px;align-items:end}.work-hours-value,.work-hours-input-field,.work-hours-note-field{display:flex;flex-direction:column;gap:6px}.work-hours-value span,.work-hours-input-field,.work-hours-note-field{font-weight:900;color:#0b4228}.work-hours-value strong{border:1px solid #dbece3;background:#f7fbf8;border-radius:14px;padding:11px 12px;min-height:43px;display:flex;align-items:center}.work-hours-value.amount strong{font-size:1.05rem}.work-hours-input-field input,.work-hours-note-field input{border-radius:14px;min-height:43px}.work-hours-entry-card.state-missing .work-hours-value.amount strong{background:#fff1dd;border-color:#e9c48e;color:#8a3f00}.work-hours-entry-card.state-done .work-hours-value.amount strong,.work-hours-entry-card.state-exempt .work-hours-value.amount strong{background:#f1fbf4}.work-hours-empty-state{border:1px dashed #cdded4;background:#f8fbf9;color:#60746a;border-radius:18px;padding:20px;text-align:center;font-weight:900}.work-hours-bottom-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);border-top:1px solid #dbe7df;margin:16px -1px -1px;padding:14px;border-radius:0 0 20px 20px;z-index:3}@media(max-width:1050px){.work-hours-entry-main{grid-template-columns:90px 1fr}.work-hours-entry-status{grid-column:1/-1;text-align:left}.work-hours-entry-values{grid-template-columns:repeat(2,minmax(0,1fr))}.work-hours-note-field{grid-column:1/-1}.work-hours-command{display:block}.work-hours-command-actions{justify-content:flex-start;margin-top:12px}}@media(max-width:640px){.work-hours-entry-main{grid-template-columns:1fr}.work-hours-plot-badge{max-width:160px}.work-hours-entry-values{grid-template-columns:1fr}.work-hours-command-actions .button{width:100%;justify-content:center}.work-hours-chip{width:100%;justify-content:space-between;display:flex}.work-hours-bottom-actions{position:static}}

/* v0.9.6.3 - Journal Buchungsmaske Schritte und Buchungsart-Farben */
.journal-step-card h4,
.journal-form-card h4 {
  display: flex;
  align-items: center;
  gap: 9px;
}
.journal-step-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  background: #073f25;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(0,55,35,.14);
  flex: 0 0 auto;
}
.journal-step-badge.is-small {
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  font-size: 11px;
  box-shadow: 0 5px 12px rgba(0,55,35,.10);
}
.journal-step-badge.is-button {
  min-width: 26px;
  height: 26px;
  padding: 0 8px;
  margin-right: 7px;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.35);
  box-shadow: none;
}
.journal-field-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  line-height: 1.2;
}
.journal-save-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.journal-kind-option span {
  position: relative;
  overflow: hidden;
}
.journal-kind-option span:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 6px;
  background: rgba(7,63,37,.16);
}
.journal-kind-option.journal-kind-income span {
  background: linear-gradient(90deg,#effaf2 0%,#ffffff 48%);
  border-color: rgba(11,107,58,.22);
}
.journal-kind-option.journal-kind-income span:before { background: #0b8a4a; }
.journal-kind-option.journal-kind-income input:checked + span {
  background: linear-gradient(90deg,#dff4e6 0%,#f8fdf9 64%);
  border-color: #0b8a4a;
  box-shadow: 0 14px 30px rgba(11,138,74,.16);
}
.journal-kind-option.journal-kind-expense span {
  background: linear-gradient(90deg,#fff6ea 0%,#ffffff 48%);
  border-color: rgba(184,95,0,.26);
}
.journal-kind-option.journal-kind-expense span:before { background: #b85f00; }
.journal-kind-option.journal-kind-expense input:checked + span {
  background: linear-gradient(90deg,#ffe9c8 0%,#fffaf3 64%);
  border-color: #b85f00;
  box-shadow: 0 14px 30px rgba(184,95,0,.16);
}
.journal-kind-option.journal-kind-expense input:checked + span strong { color: #7c2d00; }
.journal-kind-option.journal-kind-transfer span {
  background: linear-gradient(90deg,#edf6fc 0%,#ffffff 48%);
  border-color: rgba(42,104,153,.24);
}
.journal-kind-option.journal-kind-transfer span:before { background: #2a6899; }
.journal-kind-option.journal-kind-transfer input:checked + span {
  background: linear-gradient(90deg,#dceefa 0%,#f8fcff 64%);
  border-color: #2a6899;
  box-shadow: 0 14px 30px rgba(42,104,153,.15);
}
.journal-kind-option.journal-kind-transfer input:checked + span strong { color: #1d4c68; }
@media(max-width:720px){
  .journal-step-badge { min-width: 30px; height: 30px; font-size: 12px; }
  .journal-step-badge.is-small { min-width: 23px; height: 23px; font-size: 10px; }
}
.invoice-correction-card .alert{border:1px solid #f1d9ad;background:#fff8eb;border-radius:16px;padding:14px 16px;margin:14px 0;color:#5a3a00;line-height:1.45}.invoice-correction-kpis{margin:10px 0 14px}.invoice-link-card{border-left:5px solid var(--green)}

/* v0.9.6.5 Paechterformular UI */
.tenant-edit-form {
  display: grid;
  gap: 18px;
}
.tenant-form-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  background: linear-gradient(135deg, #fff, #f4fbf5);
}
.tenant-form-hero h3 {
  margin: 8px 0 4px;
  color: #073f25;
  font-size: 28px;
}
.tenant-form-hero p {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}
.tenant-form-actions-top {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.tenant-form-layout {
  display: grid;
  gap: 18px;
}
.tenant-form-section,
.tenant-save-card {
  padding: 18px;
}
.tenant-section-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 14px;
}
.tenant-section-head h3 {
  margin: 0;
  color: #073f25;
}
.tenant-section-head p {
  margin: 3px 0 0;
  color: var(--muted);
  font-weight: 700;
}
.tenant-step-badge {
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  background: #073f25;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(0,55,35,.14);
  flex: 0 0 auto;
}
.tenant-step-badge.small {
  min-width: 25px;
  height: 25px;
  padding: 0 8px;
  font-size: 12px;
  box-shadow: 0 5px 12px rgba(0,55,35,.10);
}
.tenant-field-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.tenant-form-note {
  margin-top: 12px;
  border: 1px solid #dfeadd;
  background: #f7fbf8;
  border-radius: 14px;
  padding: 12px 14px;
  color: #365b43;
}
.tenant-plot-search {
  position: relative;
  display: grid;
  gap: 10px;
}
.tenant-plot-search input[type="search"] {
  width: 100%;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  font: inherit;
}
.tenant-plot-selected {
  border: 1px solid #cce8d2;
  background: #f4fbf5;
  border-radius: 14px;
  padding: 12px 14px;
  display: grid;
  gap: 3px;
}
.tenant-plot-selected strong {
  color: #073f25;
}
.tenant-plot-selected span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}
.tenant-plot-results {
  position: absolute;
  top: 48px;
  left: 0;
  right: 0;
  z-index: 20;
  max-height: 320px;
  overflow: auto;
  border: 1px solid #cfe2d2;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(21,73,45,.16);
  padding: 8px;
}
.tenant-plot-result {
  width: 100%;
  border: 0;
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  text-align: left;
  display: grid;
  gap: 3px;
  cursor: pointer;
  color: #10291a;
}
.tenant-plot-result:hover,
.tenant-plot-result:focus {
  background: #eef7ee;
  outline: 0;
}
.tenant-plot-result strong {
  color: #073f25;
}
.tenant-plot-result span,
.tenant-plot-empty {
  color: var(--muted);
  font-size: 13px;
}
.tenant-plot-empty {
  padding: 10px 12px;
}
.tenant-plot-clear {
  justify-self: start;
}
@media(max-width:900px){
  .tenant-form-hero { display: block; }
  .tenant-form-actions-top { justify-content: flex-start; margin-top: 14px; }
}
@media(max-width:640px){
  .tenant-form-actions-top,
  .tenant-save-card .form-actions { display: grid; }
  .tenant-form-actions-top .button,
  .tenant-save-card .button { text-align: center; }
}

/* v0.9.6.6.2 Jahresabschluss Auswertungen UI */
.report-hero-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:start;background:linear-gradient(135deg,#ffffff 0%,#f5fbf7 100%);border-radius:24px;overflow:hidden;position:relative}.report-hero-card:after{content:"";position:absolute;right:-38px;bottom:-48px;width:150px;height:150px;border-radius:999px;background:rgba(22,101,52,.08)}.report-hero-main,.report-hero-tools{position:relative;z-index:1}.report-hero-main h3{font-size:1.45rem;margin:.1rem 0 .3rem;color:#073f25}.report-hero-main p{margin:0;color:#5b7166;font-weight:700;line-height:1.45}.report-hero-tools{display:grid;gap:12px;min-width:430px}.report-year-form{display:flex;justify-content:flex-end}.report-year-form label{display:grid;gap:4px;font-weight:900;color:#143c2b}.report-year-form select{min-width:150px}.report-action-groups{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}.report-action-groups>div{border:1px solid #dbe9df;background:#fff;border-radius:18px;padding:12px;display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;box-shadow:0 8px 22px rgba(0,55,35,.04)}.report-action-groups span{width:100%;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#63766c;font-weight:900;text-align:right}.report-kpi-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0}.report-kpi-card{position:relative;overflow:hidden;border:1px solid #dce8df;background:#fff;border-radius:20px;padding:16px;box-shadow:0 10px 26px rgba(0,55,35,.055);min-height:96px;display:flex;flex-direction:column;justify-content:space-between}.report-kpi-card:after{content:"";position:absolute;right:-24px;bottom:-30px;width:82px;height:82px;border-radius:999px;background:#eef7ee}.report-kpi-card span,.report-kpi-card strong{position:relative;z-index:1}.report-kpi-card span{font-size:.83rem;font-weight:900;color:#61766b}.report-kpi-card strong{font-size:1.35rem;color:#073f25;line-height:1.15}.report-kpi-card.is-income:after{background:#eaf8ef}.report-kpi-card.is-expense:after{background:#fff1df}.report-kpi-card.is-balance:after{background:#e6f5ed}.report-kpi-card.is-ok{border-color:#cfe9d7;background:#fbfffc}.report-kpi-card.is-warning{border-color:#f0d2a2;background:#fffaf1}.report-section-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);gap:16px;align-items:start}.report-panel{border-radius:24px}.report-section-head{align-items:flex-start;margin-bottom:12px}.report-section-head h3{margin:.05rem 0 .25rem}.report-section-head p{margin:0;color:#64776d;font-weight:700;line-height:1.4}.report-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.report-category-columns{margin-top:12px}.report-block{border:1px solid #e0ebe4;background:#fbfdfb;border-radius:18px;padding:14px}.report-block h4{margin:0 0 8px;color:#073f25}.compact-report-list{gap:4px;margin:0}.compact-report-list>div{padding:7px 0}.compact-report-list .total{padding:9px 10px}.report-check-panel{background:linear-gradient(180deg,#fff,#f7fbf8)}.report-check-panel h3{margin:0 0 10px}.report-check-panel h3:not(:first-of-type){margin-top:18px}.report-check-list{display:grid;gap:7px;margin-bottom:14px}.report-check-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(0,55,35,.08)}.report-check-list>div.total,.report-check-list>div.difference{border:1px solid #d7eadf;background:#f2faf5;border-radius:14px;padding:11px 12px;font-weight:900}.report-check-list>div.difference.is-warning{background:#fff8e9;border-color:#efcf98}.report-check-list>div.difference.is-ok{background:#f0fbf4;border-color:#c7e9d2}.report-account-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.report-audit-panel{background:linear-gradient(180deg,#fff,#f8fbf9)}.report-preview-details{border:1px solid #dbe9df;background:#fff;border-radius:18px;padding:0;overflow:hidden}.report-preview-details summary{cursor:pointer;padding:14px 16px;font-weight:900;color:#073f25;background:#f3faf6;list-style:none}.report-preview-details summary::-webkit-details-marker{display:none}.report-preview-details summary:before{content:"+";display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#0b7042;color:#fff;margin-right:8px}.report-preview-details[open] summary:before{content:"−"}.report-preview-table{padding:12px}.report-preview-table .data-table{margin:0}@media(max-width:1300px){.report-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.report-hero-card,.report-section-grid{grid-template-columns:1fr}.report-hero-tools{min-width:0}.report-year-form{justify-content:flex-start}.report-action-groups span{text-align:left}.report-action-groups>div{justify-content:flex-start}}@media(max-width:760px){.report-kpi-strip,.report-columns,.report-action-groups{grid-template-columns:1fr}.report-kpi-card{min-height:auto}.report-action-groups .button,.report-section-head .button{width:100%;justify-content:center}.report-section-head{display:grid;gap:10px}.report-check-list>div{display:grid;gap:4px}.report-check-list strong{white-space:normal}}

/* v0.9.6.6.3 - Administration Übersicht UI */
.admin-hub-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#fff,#eef8ef);margin-bottom:16px}.admin-hub-hero h2{font-size:32px;margin:4px 0 6px;color:#073f25}.admin-hub-hero p{margin:0;color:#55705e;line-height:1.45;max-width:860px}.admin-hub-meta{min-width:170px;background:#fff;border:1px solid #dfeadd;border-radius:18px;padding:16px;text-align:center;box-shadow:0 10px 26px rgba(31,111,67,.08)}.admin-hub-meta span{display:block;font-size:34px;font-weight:900;color:#0e5a32;line-height:1}.admin-hub-meta small{display:block;color:#55705e;font-weight:800;margin-top:4px}.admin-control-card{display:grid;grid-template-columns:minmax(260px,1fr) 2fr;gap:16px;align-items:end}.admin-search-wrap{display:grid;gap:7px}.admin-search-wrap label{font-weight:900;color:#073f25}.admin-search-wrap input{width:100%;border:1px solid #d7e7d8;border-radius:15px;padding:13px 15px;background:#fbfdfb;font:inherit}.admin-search-wrap input:focus{outline:0;border-color:#78b487;box-shadow:0 0 0 4px rgba(31,111,67,.12);background:#fff}.admin-filter-tabs{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.admin-filter-tabs button{border:1px solid #d7e7d8;background:#f8fbf7;color:#17472c;border-radius:999px;padding:10px 12px;font-weight:900;cursor:pointer}.admin-filter-tabs button.active,.admin-filter-tabs button:hover{background:#0e6b3a;color:#fff;border-color:#0e6b3a}.admin-hub{display:grid;gap:18px}.admin-section{background:#fff;border:1px solid #dfe8df;border-radius:24px;padding:18px;box-shadow:0 10px 30px rgba(31,111,67,.07)}.admin-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e6efe5}.admin-section-head h3{margin:0;color:#073f25;font-size:23px}.admin-section-head p{margin:4px 0 0;color:#607568}.admin-section-head span{white-space:nowrap;background:#e7f3ea;color:#0e5a32;border:1px solid #cce8d2;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.admin-card-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}.admin-card{display:grid;align-content:start;gap:12px;min-height:190px;border:1px solid #dfe8df;border-radius:20px;background:#fbfdfb;padding:17px;border-left:5px solid #168047}.admin-card:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(31,111,67,.12)}.admin-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.admin-card h4{font-size:18px;margin:0;color:#073f25}.admin-card p{margin:0;color:#55705e;line-height:1.4}.admin-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.admin-card-actions .button{padding:10px 12px}.admin-card-security{border-left-color:#0b5d86}.admin-card-system{border-left-color:#4a6572}.admin-card-warning{border-left-color:#b56a00;background:#fffaf0}.admin-card-danger{border-left-color:#b33a3a;background:#fff7f7}.admin-card-danger .button{background:#b33a3a}.admin-empty{margin-top:18px}.admin-card[hidden],.admin-section[hidden]{display:none!important}@media(max-width:1180px){.admin-control-card{grid-template-columns:1fr}.admin-filter-tabs{justify-content:flex-start}.admin-card-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:760px){.admin-hub-hero{display:block}.admin-hub-meta{margin-top:14px}.admin-section-head{display:block}.admin-section-head span{display:inline-block;margin-top:10px}.admin-card-grid{grid-template-columns:1fr}.admin-filter-tabs{display:grid;grid-template-columns:1fr}.admin-filter-tabs button{text-align:left}.admin-card-top{display:block}.admin-card-top .badge{display:inline-block;margin-top:8px}}

/* v0.9.6.6.5 - Paechter Kontakt-QR */
.tenant-contact-qr-panel{scroll-margin-top:90px}
.tenant-contact-qr-list{display:grid;gap:14px}
.tenant-contact-qr-card{display:grid;grid-template-columns:138px minmax(0,1fr);gap:16px;align-items:center;border:1px solid #dfece2;background:linear-gradient(135deg,#ffffff 0%,#f5fbf6 100%);border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(31,111,67,.06)}
.tenant-contact-qr-image{display:grid;place-items:center;background:#fff;border:1px solid #d7e9dc;border-radius:16px;padding:10px;box-shadow:inset 0 0 0 4px #f3faf5}
.tenant-contact-qr-image img{display:block;width:112px;height:112px;object-fit:contain}
.tenant-contact-qr-copy{display:grid;gap:5px;min-width:0}
.tenant-contact-qr-copy span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#62776b;font-weight:900}
.tenant-contact-qr-copy strong{font-size:1.08rem;color:#073f25;line-height:1.2}
.tenant-contact-qr-copy small{color:#546c60;font-weight:700;line-height:1.35;word-break:break-word}
.tenant-contact-qr-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.tenant-contact-qr-note{margin:12px 0 0}
@media(max-width:700px){.tenant-contact-qr-card{grid-template-columns:1fr}.tenant-contact-qr-image{justify-self:start}.tenant-contact-qr-actions .btn-small{width:100%;justify-content:center}}

/* v0.9.6.6.6 - Vorgangsdetail Tabs UI */
.case-actions-bar {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 14px;
}
.case-detail-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  background: linear-gradient(135deg, #ffffff 0%, #f4fbf6 100%);
  border-color: rgba(31,111,67,.14);
  margin-bottom: 16px;
}
.case-detail-hero h2 {
  margin: 5px 0 6px;
  color: #073f25;
  font-size: 1.45rem;
}
.case-detail-hero p {
  margin: 0;
  color: #55705e;
  font-weight: 750;
}
.case-hero-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.case-kpi-row {
  margin-bottom: 16px;
}
.case-tabs {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  align-items: center;
  border: 1px solid rgba(31,111,67,.12);
  background: #edf7ef;
  border-radius: 22px;
  padding: 8px;
  margin: 0 0 18px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}
.case-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #24452d;
  border: 1px solid transparent;
  background: rgba(255,255,255,.68);
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 900;
  transition: .15s ease;
}
.case-tabs a:hover {
  transform: translateY(-1px);
  border-color: rgba(31,111,67,.18);
  box-shadow: 0 8px 18px rgba(31,111,67,.08);
}
.case-tabs a.active {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
  box-shadow: 0 10px 22px rgba(31,111,67,.18);
}
.case-tabs a em {
  display: inline-flex;
  min-width: 24px;
  justify-content: center;
  padding: 2px 7px;
  border-radius: 999px;
  background: #dcefe2;
  color: #0c4829;
  font-style: normal;
  font-size: 11px;
  font-weight: 950;
}
.case-tabs a.active em {
  background: rgba(255,255,255,.22);
  color: #fff;
}
.case-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, .85fr);
  gap: 18px;
  align-items: start;
}
.case-overview-grid.bottom-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.case-overview-main,
.case-overview-side,
.case-text-panel {
  min-height: 100%;
}
.case-text-panel p {
  line-height: 1.55;
  color: #24452d;
  margin: 0;
}
.compact-detail-list {
  margin-top: 6px;
}
.case-summary-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 14px;
  margin: 0 0 18px;
}
.case-summary-tile {
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(31,111,67,.12);
  background: #fff;
  border-radius: 20px;
  padding: 16px 18px;
  box-shadow: 0 10px 28px rgba(31,111,67,.06);
  display: grid;
  gap: 4px;
}
.case-summary-tile:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(31,111,67,.09);
}
.case-summary-tile span {
  color: #55705e;
  font-weight: 850;
  font-size: .84rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.case-summary-tile strong {
  color: #073f25;
  font-size: 1.65rem;
  line-height: 1;
}
.case-summary-tile small {
  color: #607568;
  font-weight: 800;
}
.case-tab-card {
  border-color: rgba(31,111,67,.14);
}
.case-card-stack {
  display: grid;
  gap: 12px;
}
.case-subitem-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  background: linear-gradient(135deg, #ffffff 0%, #f8fcf9 100%);
  border: 1px solid rgba(31,111,67,.12);
  border-radius: 20px;
  padding: 15px 16px;
}
.case-subitem-card h4 {
  margin: 8px 0 4px;
  color: #073f25;
  font-size: 1.02rem;
}
.case-subitem-card p {
  margin: 8px 0 0;
  color: #365743;
  line-height: 1.45;
}
.case-subitem-card small {
  display: block;
  margin-top: 6px;
  color: #607568;
  font-weight: 750;
}
.case-subitem-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
.case-inline-finish {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}
.case-inline-finish input {
  min-height: 38px;
  border: 1px solid #cfe5d5;
  border-radius: 11px;
  padding: 8px 10px;
}
.case-form-details {
  margin-top: 16px;
  border: 1px solid rgba(31,111,67,.14);
  border-radius: 20px;
  background: #f8fcf9;
  overflow: hidden;
}
.case-form-details summary {
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  color: #073f25;
  font-weight: 950;
}
.case-form-details summary::-webkit-details-marker {
  display: none;
}
.case-form-details[open] summary {
  border-bottom: 1px solid rgba(31,111,67,.10);
  background: #eef8f1;
}
.case-form-details .subform-card {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
}
.case-history-full {
  margin-top: 10px;
}
@media (max-width: 1100px) {
  .case-detail-hero,
  .case-overview-grid,
  .case-overview-grid.bottom-grid {
    grid-template-columns: 1fr;
  }
  .case-detail-hero {
    display: grid;
  }
  .case-hero-badges {
    justify-content: flex-start;
  }
  .case-summary-strip {
    grid-template-columns: 1fr;
  }
  .case-subitem-card {
    grid-template-columns: 1fr;
  }
  .case-subitem-actions,
  .case-inline-finish {
    justify-content: flex-start;
  }
}
@media (max-width: 700px) {
  .case-tabs {
    display: grid;
  }
  .case-tabs a {
    justify-content: space-between;
  }
  .case-actions-bar {
    justify-content: flex-start;
  }
}

/* v0.9.6.6.7 Datenschutzfreigaben */
.tenant-privacy-panel .section-heading{align-items:flex-start;gap:1rem}
.tenant-privacy-notice{display:flex;gap:.75rem;align-items:flex-start;padding:1rem 1.1rem;border:1px solid rgba(0,92,56,.16);border-radius:16px;background:rgba(237,248,242,.9);margin:0 0 1rem;color:#214c3a}
.tenant-privacy-notice strong{color:#004b2f;white-space:nowrap}
.tenant-privacy-form{margin-top:.5rem}
.tenant-privacy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}
.tenant-privacy-card{border:1px solid rgba(0,92,56,.14);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(0,40,24,.06);padding:1rem}
.tenant-privacy-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.9rem;padding-bottom:.75rem;border-bottom:1px solid rgba(0,92,56,.1)}
.tenant-privacy-card-head span:first-child{display:block;color:#597368;font-weight:700;font-size:.82rem;margin-bottom:.15rem}
.tenant-privacy-card-head strong{display:block;color:#003b25;font-size:1.04rem}
.tenant-privacy-options{display:grid;gap:.55rem;margin-bottom:1rem}
.tenant-privacy-options label{display:flex;gap:.55rem;align-items:flex-start;padding:.55rem .65rem;border:1px solid rgba(0,92,56,.1);border-radius:12px;background:#f7fbf8;font-weight:700;color:#123d2b;line-height:1.25}
.tenant-privacy-options input[type="checkbox"]{margin-top:.1rem;accent-color:#006b42;min-width:1rem}
.tenant-privacy-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}
.tenant-privacy-meta-grid label{font-weight:700;color:#123d2b}
.tenant-privacy-meta-grid input{width:100%;margin-top:.3rem}
.tenant-privacy-actions{margin-top:1rem;justify-content:flex-start}
@media (max-width:720px){.tenant-privacy-grid{grid-template-columns:1fr}.tenant-privacy-card-head{display:block}.tenant-privacy-card-head .badge{display:inline-flex;margin-top:.5rem}}

/* v0.9.6.6.8 Vorstand Datenschutzstatus UI */
.board-kpi-grid-expanded {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.board-kpi-card.attention {
  border-color: #f0d6a5;
  background: linear-gradient(180deg, #fffaf0, #fff);
}
.board-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
  padding: 12px;
  border: 1px solid #dfeadd;
  border-radius: 18px;
  background: #fbfdfb;
}
.board-filter-bar button {
  border: 1px solid #d6e7d8;
  border-radius: 999px;
  background: #fff;
  color: #0b4c2e;
  padding: 8px 12px;
  font-weight: 900;
  cursor: pointer;
}
.board-filter-bar button.active,
.board-filter-bar button:hover {
  background: #0b6b3b;
  border-color: #0b6b3b;
  color: #fff;
}
.board-member-card {
  grid-template-columns: minmax(190px, .9fr) minmax(300px, 1fr) minmax(300px, 1fr) auto;
}
.board-member-status-stack {
  display: grid;
  gap: 9px;
  align-self: stretch;
}
.board-member-status-stack .board-access-mini {
  margin: 0;
  height: 100%;
}
.board-privacy-mini {
  align-items: flex-start;
}
.board-privacy-mini > span,
.board-privacy-mini > strong,
.board-privacy-mini > small,
.board-privacy-mini > a {
  align-self: center;
}
.board-privacy-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  flex-basis: 100%;
  margin-top: 2px;
}
.board-privacy-badges .badge {
  font-style: normal;
  font-size: 11px;
  padding: 4px 7px;
}
.board-privacy-mini .btn-small {
  margin-top: 2px;
  padding: 8px 10px;
}
@media (max-width: 1250px) {
  .board-member-card { grid-template-columns: 1fr 1fr; }
  .board-member-actions { justify-items: start; }
}
@media (max-width: 760px) {
  .board-member-card { grid-template-columns: 1fr; }
  .board-filter-bar { align-items: stretch; }
  .board-filter-bar button { flex: 1 1 100%; }
}

/* v0.9.6.6.9 Journal Stammdaten UI */
.journal-admin-hero{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;background:linear-gradient(135deg,#fff,#f4fbf6);border-radius:24px;overflow:hidden;position:relative;margin-bottom:16px}.journal-admin-hero:after{content:"";position:absolute;right:-42px;bottom:-52px;width:150px;height:150px;border-radius:999px;background:rgba(22,101,52,.08)}.journal-admin-hero>*{position:relative;z-index:1}.journal-admin-hero h3{font-size:26px;margin:8px 0 5px;color:#073f25}.journal-admin-hero p{margin:0;color:#5d7167;font-weight:700;line-height:1.45}.journal-year-selector{min-width:180px;background:#fff;border:1px solid #dfeadd;border-radius:18px;padding:12px;box-shadow:0 8px 22px rgba(0,55,35,.04)}.journal-year-selector label{display:grid;gap:6px;font-weight:900;color:#073f25}.journal-admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.journal-admin-kpis>div{background:#fff;border:1px solid #dce8df;border-radius:20px;padding:16px;box-shadow:0 10px 26px rgba(0,55,35,.055);position:relative;overflow:hidden}.journal-admin-kpis>div:after{content:"";position:absolute;right:-22px;bottom:-28px;width:80px;height:80px;border-radius:999px;background:#eef7ee}.journal-admin-kpis span,.journal-admin-kpis strong{position:relative;z-index:1}.journal-admin-kpis span{display:block;color:#61766b;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.journal-admin-kpis strong{display:block;margin-top:8px;color:#073f25;font-size:24px;line-height:1.1}.journal-admin-panel{border-radius:24px}.journal-opening-grid{display:grid;gap:12px}.journal-opening-card{border:1px solid #dfeadd;background:#fbfdfb;border-radius:20px;padding:15px;box-shadow:0 7px 18px rgba(0,55,35,.04)}.journal-opening-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.journal-opening-title strong{display:block;font-size:17px;color:#073f25}.journal-opening-title span:not(.status-pill){display:block;margin-top:3px;color:#607568;font-weight:700}.journal-opening-fields{display:grid;grid-template-columns:minmax(170px,.55fr) minmax(240px,1fr);gap:12px;align-items:end}.journal-opening-fields label,.journal-compact-form label{font-weight:900;color:#123d29}.journal-opening-fields input,.journal-compact-form input,.journal-compact-form select,.journal-compact-form textarea{width:100%;border:1px solid #d5e5d7;border-radius:14px;padding:11px 12px;background:#fff;font:inherit}.journal-opening-fields input:focus,.journal-compact-form input:focus,.journal-compact-form select:focus,.journal-compact-form textarea:focus{outline:0;border-color:#78b487;box-shadow:0 0 0 4px rgba(31,111,67,.12)}.sticky-form-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(247,251,248,.72),#fff);padding:14px 0 0;margin-top:14px}.journal-admin-layout{display:grid;grid-template-columns:minmax(360px,.75fr) minmax(420px,1.25fr);gap:16px;align-items:start}.journal-stammdaten-form{border-radius:24px}.journal-stammdaten-form summary{padding:2px 0 14px;margin-bottom:14px;border-bottom:1px solid #e3eee6}.journal-compact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.journal-compact-form .span-2{grid-column:1/-1}.journal-checkline{align-self:end;border:1px solid #dfeadd;background:#fbfdfb;border-radius:14px;padding:12px;display:flex!important;gap:10px;align-items:center}.journal-checkline input{width:auto!important}.journal-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.journal-account-card{display:grid;gap:12px;border:1px solid #dfeadd;border-radius:20px;background:#fbfdfb;padding:15px;border-left:5px solid #168047;box-shadow:0 7px 18px rgba(0,55,35,.04)}.journal-account-card.is-inactive{border-left-color:#94a39a;background:#f8faf8}.journal-account-main strong{display:block;color:#073f25;font-size:17px}.journal-account-main span{display:block;color:#607568;font-weight:800;margin-top:3px}.journal-account-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.journal-account-meta span:not(.status-pill){border:1px solid #dfeadd;border-radius:999px;background:#fff;padding:6px 9px;color:#496355;font-weight:900;font-size:12px}.journal-account-card p{margin:0;color:#5d7167;font-weight:700}.journal-category-tools{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:16px;align-items:end;margin-bottom:16px;border-radius:22px}.journal-category-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.journal-category-column{border-radius:24px}.journal-category-list{display:grid;gap:10px}.journal-category-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid #dfeadd;border-radius:18px;background:#fbfdfb;padding:13px;border-left:5px solid #168047}.journal-category-card.is-expense{border-left-color:#b56a00;background:#fffdf8}.journal-category-card strong{display:block;color:#073f25}.journal-category-card span:not(.status-pill){display:block;color:#607568;font-weight:800;margin-top:3px;font-size:12px}.journal-category-card[hidden],.journal-category-column[hidden]{display:none!important}@media(max-width:1180px){.journal-admin-layout,.journal-category-board,.journal-category-tools{grid-template-columns:1fr}.journal-admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-admin-hero{display:block}.journal-year-selector{margin-top:14px;max-width:260px}.journal-opening-fields{grid-template-columns:1fr}.journal-compact-form{grid-template-columns:1fr}.journal-compact-form .span-2{grid-column:auto}}@media(max-width:760px){.journal-admin-kpis{grid-template-columns:1fr}.journal-category-card{grid-template-columns:1fr}.journal-category-card .button{width:100%;justify-content:center}.journal-opening-title{display:grid}.sticky-form-actions .button{width:100%;justify-content:center}}

/* v0.9.6.7 Wasser Touren und Zaehlerbasis */
.water-admin-hero{display:flex;justify-content:space-between;gap:1.25rem;align-items:flex-start;margin-bottom:1rem}
.water-admin-hero h3{margin:.2rem 0 .35rem;font-size:1.35rem;color:#073f26}.water-admin-hero p{margin:0;color:#4f6a5e}.water-admin-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.admin-eyebrow{display:inline-flex;padding:.18rem .55rem;border-radius:999px;background:#e7f4ec;color:#006b3b;font-size:.78rem;font-weight:800}.water-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:0 0 1rem}.water-stat-card{background:#fff;border:1px solid #d8eadf;border-radius:18px;padding:1rem;box-shadow:0 12px 30px rgba(9,70,43,.06)}.water-stat-card span{display:block;color:#557064;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.water-stat-card strong{display:block;color:#004328;font-size:1.55rem;margin:.25rem 0}.water-stat-card small{color:#587265}.water-dashboard-grid,.water-tour-grid,.water-meter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.water-dashboard-card h3,.water-tour-card h3,.water-meter-card h3{margin:.1rem 0;color:#083d27}.water-dashboard-card p,.water-tour-card p,.water-meter-card p{color:#50695f;margin:.3rem 0 .75rem}.muted-card{background:linear-gradient(135deg,#f6fbf8,#ffffff)}.water-tour-card,.water-meter-card{border-left:4px solid #0b7a45}.water-tour-card-head,.water-meter-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.water-tour-number{display:inline-flex;border-radius:999px;background:#e6f4ec;color:#006b3b;padding:.2rem .55rem;font-size:.78rem;font-weight:900}.water-tour-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.85rem 0}.water-tour-meta div{background:#f6fbf8;border:1px solid #dcece2;border-radius:14px;padding:.7rem}.water-tour-meta span{display:block;color:#61766d;font-size:.76rem;font-weight:800;text-transform:uppercase}.water-tour-meta strong{display:block;color:#073f26;margin-top:.15rem}.compact-actions{margin-top:.7rem}.water-form-card{max-width:980px}.checkbox-line{display:flex!important;align-items:center;gap:.5rem;margin-top:1.6rem}.water-assignment-card{margin-bottom:1rem}.admin-live-search{width:100%;max-width:580px;border:1px solid #cfe1d6;border-radius:14px;padding:.85rem 1rem;margin:.4rem 0 1rem;background:#fff}.water-plot-assignment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;max-height:560px;overflow:auto;padding-right:.25rem}.water-plot-row{display:flex;align-items:center;gap:.75rem;border:1px solid #dcece2;border-radius:14px;background:#fbfdfc;padding:.7rem;cursor:pointer}.water-plot-row:hover{background:#f0f8f3}.water-plot-row span{display:flex;flex-direction:column}.water-plot-row small{color:#5e756b}.water-plot-row em{margin-left:auto;color:#9a6a00;font-style:normal;font-size:.78rem}.water-compact-table{display:flex;flex-direction:column;gap:.55rem}.water-compact-row{display:grid;grid-template-columns:1.5fr 1.2fr 1fr 1fr 1fr auto;gap:.65rem;align-items:center;border:1px solid #dcece2;border-radius:14px;padding:.75rem;background:#fbfdfc}.water-compact-row small,.water-compact-row span{display:block;color:#5f766b;font-size:.8rem}.water-meter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.water-tenant-panel{display:flex;flex-direction:column;gap:1rem}@media (max-width:1100px){.water-dashboard-grid,.water-tour-grid,.water-meter-grid{grid-template-columns:1fr 1fr}.water-plot-assignment-list{grid-template-columns:1fr}.water-compact-row{grid-template-columns:1fr 1fr}}@media (max-width:760px){.water-admin-hero{flex-direction:column}.water-stat-grid,.water-dashboard-grid,.water-tour-grid,.water-meter-grid{grid-template-columns:1fr}.water-compact-row{grid-template-columns:1fr}.water-admin-actions{justify-content:flex-start}}


/* Wasserjahr und Ablesung */
.water-year-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:18px}.water-year-card{display:flex;flex-direction:column;gap:14px}.admin-details{border:1px solid rgba(15,76,55,.12);border-radius:18px;padding:14px;background:#fff}.admin-details summary{cursor:pointer;font-weight:800;color:#0f4c37}.admin-inline-form{margin-top:14px}.water-reading-card{margin-top:18px}.water-reading-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.water-reading-row{display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(4,minmax(105px,.7fr)) minmax(145px,.9fr) minmax(130px,.8fr) minmax(180px,1fr);gap:10px;align-items:end;border:1px solid rgba(15,76,55,.10);border-radius:16px;padding:12px;background:#fff}.water-reading-row.warning{border-color:rgba(194,94,0,.35);background:#fff8ef}.water-reading-row span,.water-compact-row span{display:block;font-size:.78rem;color:#6b7280;font-weight:700}.water-reading-row small{display:block;color:#6b7280}.water-reading-row input,.water-reading-row select{width:100%;min-height:38px}.water-reading-main strong{font-size:1rem}.water-reading-note{min-width:0}@media(max-width:1100px){.water-reading-row{grid-template-columns:1fr 1fr}.water-reading-main{grid-column:1/-1}}@media(max-width:640px){.water-reading-row{grid-template-columns:1fr}.water-stat-grid{grid-template-columns:1fr}}

/* v0.9.6.9 Wasserzahlungen */
.water-reading-row .badge{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .6rem;border-radius:999px;background:#eaf6ef;color:#064428;font-weight:800;font-size:.82rem;border:1px solid #cfe7d8;}
.water-reading-row .badge.warning{background:#fff7e6;color:#704400;border-color:#f1d69a;}
.water-reading-row .badge.danger-badge{background:#fff1ee;color:#7a1f13;border-color:#f1c4ba;}
.water-reading-row .badge.success{background:#e9f8ef;color:#006b3a;border-color:#c8ead5;}
.water-reading-row .badge.muted{background:#f3f7f4;color:#557064;border-color:#dce7df;}
.water-reading-row.warning{border-left-color:#c77a00;background:linear-gradient(90deg,rgba(255,248,230,.72),#fff);}
.water-reading-list .water-reading-row label input,.water-reading-list .water-reading-row label select{width:100%;min-width:110px;}

/* v0.9.7.0 Wasser PDF-Ausgaben */
.water-pdf-actions .compact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    align-items: center;
}

/* v0.9.7.0.2 Wasser Navigation UI-Hotfix */
.subnav-pills.water-module-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    margin: 0 0 1rem;
    padding: .55rem;
    background: rgba(255,255,255,.88);
    border: 1px solid #d9eadf;
    border-radius: 20px;
    box-shadow: 0 10px 26px rgba(9,70,43,.055);
}
.subnav-pills.water-module-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: .62rem .9rem;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #0d3f2a;
    background: #f3faf6;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}
.subnav-pills.water-module-nav a:hover {
    background: #e7f4ec;
    border-color: #cfe6d6;
    color: #063d25;
    text-decoration: none;
}
.subnav-pills.water-module-nav a.active,
.subnav-pills.water-module-nav a[aria-current="page"] {
    background: #0b6b3b;
    border-color: #0b6b3b;
    color: #fff;
    box-shadow: 0 8px 18px rgba(11,107,59,.18);
}
@media (max-width: 760px) {
    .subnav-pills.water-module-nav {
        align-items: stretch;
    }
    .subnav-pills.water-module-nav a {
        flex: 1 1 calc(50% - .5rem);
    }
}
@media (max-width: 480px) {
    .subnav-pills.water-module-nav a {
        flex-basis: 100%;
    }
}

/* v0.9.7.0.3 Wasser PDF Tourenlogik und Layout */
.water-pdf-tour-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: .65rem;
    margin-top: .9rem;
}
.water-pdf-tour-card {
    border: 1px solid #d9eadf;
    border-radius: 16px;
    background: #fbfdfc;
    padding: .7rem .8rem;
}
.water-pdf-tour-card summary {
    cursor: pointer;
    color: #073f25;
    font-weight: 900;
}
.water-pdf-tour-card summary span {
    color: #5d7167;
    font-weight: 800;
    margin-left: .25rem;
}
.water-pdf-tour-card .compact-actions {
    margin-top: .7rem;
}
@media (max-width: 760px) {
    .water-pdf-tour-actions {
        grid-template-columns: 1fr;
    }
}

/* v0.9.7.0.4 Wasser Ablesungen und PDF-Touren Hotfix */
.water-pdf-tour-actions.always-open {
    align-items: stretch;
}
.water-pdf-tour-card .water-pdf-tour-title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .35rem .55rem;
    color: #073f25;
    font-weight: 900;
    margin-bottom: .65rem;
}
.water-pdf-tour-card .water-pdf-tour-title span {
    color: #5d7167;
    font-weight: 800;
}
.water-pdf-tour-card .water-pdf-tour-title small {
    margin-left: auto;
    color: #49665a;
    font-weight: 800;
    background: #eff8f2;
    border: 1px solid #d6eadc;
    border-radius: 999px;
    padding: .18rem .5rem;
}
.water-sync-warning {
    border-color: #d6eadc;
    background: linear-gradient(135deg, #ffffff, #f5fbf7);
}
.water-sync-warning .section-heading {
    align-items: center;
    gap: 1rem;
}
@media (max-width: 760px) {
    .water-sync-warning .section-heading {
        align-items: stretch;
    }
    .water-pdf-tour-card .water-pdf-tour-title small {
        margin-left: 0;
    }
}

/* Wasser Ablesungen UI v0.9.7.0.9 */
.inline-alert.success{background:#eefaf2;border-color:#bfe6cd;color:#075b32}
.water-reading-workbench{overflow:visible}.water-reading-heading{gap:18px}.water-reading-toolbar{position:sticky;top:12px;z-index:5;margin:18px 0;padding:14px;border:1px solid rgba(15,76,55,.12);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 14px 32px rgba(15,76,55,.08);backdrop-filter:blur(8px)}.water-reading-search-wrap{margin-bottom:12px}.water-reading-search-wrap .admin-live-search{width:100%;max-width:720px;margin:0}.water-reading-filter-pills{display:flex;flex-wrap:wrap;gap:8px}.water-reading-filter-pills button{border:1px solid rgba(15,76,55,.15);background:#f4fbf6;color:#064428;border-radius:999px;padding:.55rem .85rem;font-weight:800;cursor:pointer}.water-reading-filter-pills button span{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;margin-left:.35rem;padding:.08rem .4rem;border-radius:999px;background:#fff;border:1px solid rgba(15,76,55,.10);font-size:.78rem}.water-reading-filter-pills button.active{background:#076031;color:#fff;box-shadow:0 10px 22px rgba(7,96,49,.18)}.water-reading-filter-pills button.active span{color:#064428}.water-reading-tour-list{gap:14px}.water-reading-tour-section{border:1px solid rgba(15,76,55,.14);border-radius:20px;background:#fff;overflow:hidden}.water-reading-tour-section.is-hidden{display:none}.water-reading-tour-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:linear-gradient(90deg,#f0f8f3,#fff);cursor:pointer;color:#064428}.water-reading-tour-summary::-webkit-details-marker{display:none}.water-reading-tour-summary::before{content:'▸';font-weight:900;transition:transform .18s ease}.water-reading-tour-section[open]>.water-reading-tour-summary::before{transform:rotate(90deg)}.water-reading-tour-summary .tour-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.water-reading-tour-summary .tour-title strong{font-size:1.05rem}.water-reading-tour-summary .tour-meta{margin-left:auto;font-size:.88rem;color:#4f665d;font-weight:750}.water-reading-tour-rows{display:flex;flex-direction:column;gap:12px;padding:14px;background:#fbfdfb}.water-reading-entry{border:1px solid rgba(15,76,55,.12);border-left:5px solid #d6eadf;border-radius:18px;background:#fff;padding:14px;box-shadow:0 10px 26px rgba(15,76,55,.04)}.water-reading-entry.is-hidden{display:none}.water-reading-entry.is-open{border-left-color:#c9d8cf}.water-reading-entry.is-done{border-left-color:#0a7a44}.water-reading-entry.warning{border-left-color:#ca7a00;background:linear-gradient(90deg,rgba(255,249,236,.72),#fff 24%)}.water-reading-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.water-reading-plot-block strong{display:block;font-size:1.05rem;color:#032f22}.water-reading-plot-block small{display:block;color:#62746c;line-height:1.45}.water-reading-entry-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.water-reading-entry .badge{display:inline-flex;align-items:center;justify-content:center;padding:.32rem .58rem;border-radius:999px;background:#eaf6ef;color:#064428;font-weight:850;font-size:.78rem;border:1px solid #cfe7d8;white-space:nowrap}.water-reading-entry .badge.warning{background:#fff7e6;color:#704400;border-color:#f1d69a}.water-reading-entry .badge.success{background:#e9f8ef;color:#006b3a;border-color:#c8ead5}.water-reading-entry .badge.muted{background:#f3f7f4;color:#557064;border-color:#dce7df}.water-reading-fields{display:grid;gap:10px;align-items:end}.water-reading-primary-fields{grid-template-columns:minmax(90px,.6fr) minmax(150px,.85fr) minmax(100px,.7fr) minmax(150px,.9fr) minmax(150px,.9fr) minmax(220px,1.5fr)}.water-reading-secondary-fields{grid-template-columns:minmax(105px,.7fr) minmax(140px,.8fr) minmax(105px,.7fr) minmax(165px,1fr) minmax(150px,.9fr) minmax(220px,1.4fr)}.water-reading-fields label{font-size:.78rem;font-weight:850;color:#50645d}.water-reading-fields input,.water-reading-fields select{width:100%;min-height:42px;border-radius:10px;border:1px solid rgba(15,76,55,.22);background:#fff;padding:.52rem .65rem;font-weight:700}.water-reading-fields input:focus,.water-reading-fields select:focus{outline:2px solid rgba(7,96,49,.18);border-color:#076031;box-shadow:0 0 0 4px rgba(7,96,49,.08)}.water-input-primary input{min-height:48px;font-size:1.05rem;background:#f7fcf8;border-color:#93c9a8}.water-reading-note-wide{min-width:0}.water-reading-value-box{min-height:42px;border:1px solid rgba(15,76,55,.10);border-radius:12px;background:#f7faf8;padding:.45rem .65rem;display:flex;flex-direction:column;justify-content:center}.water-reading-value-box span{font-size:.76rem;color:#687a72;font-weight:850}.water-reading-value-box strong{font-size:.96rem;color:#032f22}.water-reading-value-box.calculated{background:#eef7f1}.water-reading-payment-details{margin-top:10px;border-top:1px dashed rgba(15,76,55,.18);padding-top:10px}.water-reading-payment-details summary{cursor:pointer;color:#075b32;font-weight:850;font-size:.9rem;margin-bottom:10px}.sticky-form-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.86),#fff);padding:14px 0 0;margin-top:14px;border-top:1px solid rgba(15,76,55,.08)}
@media(max-width:1280px){.water-reading-primary-fields,.water-reading-secondary-fields{grid-template-columns:repeat(3,minmax(150px,1fr))}.water-reading-note-wide{grid-column:span 2}}@media(max-width:760px){.water-reading-toolbar{position:static}.water-reading-tour-summary,.water-reading-entry-head{align-items:flex-start;flex-direction:column}.water-reading-tour-summary .tour-meta{margin-left:0}.water-reading-primary-fields,.water-reading-secondary-fields{grid-template-columns:1fr}.water-reading-note-wide{grid-column:auto}.water-reading-entry-badges{justify-content:flex-start}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Wasserzaehlerwechsel */
.water-meter-change-hero{border-left:5px solid #0b7a45}.water-meter-change-selector{margin-bottom:1rem}.water-meter-change-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.2fr);gap:1rem;margin-bottom:1rem}.water-meter-change-card{height:100%}.water-meter-change-form{display:flex;flex-direction:column;gap:1rem}.water-meter-change-form label{font-size:.82rem;font-weight:850;color:#50645d}.water-meter-change-form input,.water-meter-change-form select,.water-meter-change-form textarea{width:100%;border-radius:12px;border:1px solid rgba(15,76,55,.2);padding:.65rem .75rem;background:#fff;font-weight:700}.water-meter-change-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.water-meter-change-columns fieldset{border:1px solid rgba(15,76,55,.16);border-radius:16px;padding:1rem;background:#fbfdfb}.water-meter-change-columns legend{font-weight:900;color:#07462c;padding:0 .35rem}.water-meter-change-columns p{margin:.15rem 0 .8rem;color:#51695f}.water-meter-change-row{border-left:4px solid #0b7a45}.water-meter-change-row small{line-height:1.35}@media(max-width:980px){.water-meter-change-grid,.water-meter-change-columns{grid-template-columns:1fr}}

/* Hilfe und Anleitung v0.9.7.2 */
.help-subnav{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1rem}.help-subnav-link{display:inline-flex;align-items:center;justify-content:center;padding:.58rem .82rem;border:1px solid rgba(15,76,55,.14);border-radius:999px;background:#f4fbf6;color:#064428;text-decoration:none;font-weight:850}.help-subnav-link:hover{background:#e7f4ec;text-decoration:none}.help-subnav-link.active{background:#0b6b3b;border-color:#0b6b3b;color:#fff;box-shadow:0 8px 18px rgba(11,107,59,.16)}.help-hero,.help-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-left:5px solid #0b6b3b;background:linear-gradient(135deg,#fff,#f4fbf6)}.help-hero h2,.help-detail-hero h2{margin:.15rem 0 .3rem}.help-hero p,.help-detail-hero p{max-width:760px}.help-hero-meta{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.help-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1rem 0}.help-card{display:flex;gap:.9rem;align-items:flex-start;padding:1rem;border:1px solid rgba(15,76,55,.12);border-radius:18px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 12px 30px rgba(15,76,55,.05);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.help-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,76,55,.09);border-color:#b9ddc7;text-decoration:none}.help-card-icon,.help-detail-icon{display:inline-flex;align-items:center;justify-content:center;width:2.7rem;height:2.7rem;border-radius:16px;background:#eaf6ef;color:#064428;font-size:1.35rem;flex:0 0 auto}.help-card h3{margin:.05rem 0 .3rem;color:#063d25}.help-card p{margin:0;color:#607368;line-height:1.45}.help-panel{margin-top:1rem}.help-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.help-check-grid div{border:1px solid rgba(15,76,55,.11);border-radius:14px;background:#fbfdfb;padding:.85rem}.help-check-grid strong{display:block;color:#063d25;margin-bottom:.3rem}.help-check-grid span{display:block;color:#607368;line-height:1.45}.help-steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin:1rem 0}.help-step-card{border-top:4px solid #0b6b3b}.help-step-card h3{margin-top:0;color:#063d25}.help-step-card ol{margin:.75rem 0 0;padding-left:1.35rem}.help-step-card li{margin:.45rem 0;line-height:1.5}.help-notes{border-left:5px solid #c58b19;background:linear-gradient(135deg,#fff,#fffaf0)}.help-notes ul{margin:.65rem 0 0;padding-left:1.2rem}.help-notes li{margin:.4rem 0;line-height:1.5}@media(max-width:760px){.help-hero,.help-detail-hero{align-items:flex-start;flex-direction:column}.help-hero-meta{justify-content:flex-start}.help-card-grid,.help-steps-grid{grid-template-columns:1fr}}

/* v0.9.7.2.2 Tickets Übersicht UI */
.ticket-filter-card-wide {
  padding: 18px;
}
.ticket-filter-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.6fr) minmax(160px, .75fr) minmax(160px, .8fr) minmax(150px, .7fr) minmax(210px, .95fr) auto;
  gap: 12px;
  align-items: end;
}
.ticket-search-field input {
  min-width: 260px;
}
.ticket-filter-actions {
  display: flex;
  gap: 8px;
  align-items: end;
  justify-content: flex-end;
}
.ticket-filter-actions .button {
  min-height: 44px;
  white-space: nowrap;
}
.ticket-board-card {
  padding: 20px;
}
.ticket-work-list {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}
.ticket-work-item {
  border: 1px solid var(--line, #d9e8dd);
  border-left: 6px solid rgba(19,122,67,.38);
  border-radius: 22px;
  background: linear-gradient(135deg, #fff 0%, #fbfdfb 100%);
  box-shadow: 0 10px 26px rgba(14,64,38,.045);
  padding: 16px 18px;
  display: grid;
  gap: 12px;
}
.ticket-work-item.is-critical {
  border-left-color: #b91c1c;
  background: linear-gradient(135deg, #fff 0%, #fff7f7 100%);
}
.ticket-work-item.is-unassigned {
  border-left-color: #d97706;
  background: linear-gradient(135deg, #fff 0%, #fffbeb 100%);
}
.ticket-work-item.is-closed {
  border-left-color: rgba(21,128,61,.48);
  background: linear-gradient(135deg, #fff 0%, #f3fdf6 100%);
}
.ticket-work-topline,
.ticket-work-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.ticket-work-ident,
.ticket-work-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.ticket-work-ident {
  color: var(--muted, #607568);
  font-weight: 850;
  font-size: .88rem;
}
.ticket-number-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 10px;
  background: #e7f4ec;
  color: #0a5631;
  font-weight: 950;
  letter-spacing: .01em;
}
.ticket-work-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr);
  gap: 14px;
  align-items: stretch;
}
.ticket-work-main h3 {
  margin: 0 0 10px;
  color: var(--green-dark, #064e2f);
  font-size: 1.2rem;
  letter-spacing: -.02em;
}
.ticket-description-preview {
  border: 1px solid rgba(217,232,221,.92);
  background: rgba(255,255,255,.84);
  border-radius: 16px;
  padding: 11px 13px;
}
.ticket-description-preview span,
.ticket-related-clean span,
.ticket-work-meta span {
  display: block;
  color: var(--muted, #607568);
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .045em;
  margin-bottom: 4px;
}
.ticket-description-preview p {
  margin: 0;
  color: #20392b;
  line-height: 1.45;
  font-weight: 650;
}
.ticket-related-clean {
  margin-top: 10px;
  border: 1px solid rgba(217,232,221,.88);
  border-radius: 14px;
  padding: 9px 11px;
  background: rgba(238,247,240,.72);
}
.ticket-related-clean a,
.ticket-related-clean strong {
  color: #0f3d27;
  font-weight: 850;
  overflow-wrap: anywhere;
}
.ticket-work-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.ticket-work-meta > div {
  border: 1px solid rgba(217,232,221,.9);
  border-radius: 16px;
  background: rgba(255,255,255,.78);
  padding: 10px 12px;
  min-height: 62px;
}
.ticket-work-meta strong {
  display: block;
  color: #0f2b1e;
  font-size: .95rem;
  line-height: 1.25;
}
.ticket-work-meta .ticket-meta-alert {
  border-color: rgba(217,119,6,.28);
  background: #fffbeb;
}
.ticket-work-meta .ticket-meta-alert strong {
  color: #92400e;
}
.ticket-alert-note {
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(217,119,6,.25);
  background: #fffbeb;
  color: #92400e;
  font-weight: 900;
  font-size: .86rem;
}
.ticket-work-footer {
  border-top: 1px solid rgba(217,232,221,.8);
  padding-top: 12px;
}
.ticket-work-footer .button {
  margin-left: auto;
}
@media (max-width: 1280px) {
  .ticket-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ticket-filter-actions { justify-content: flex-start; }
  .ticket-work-body { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .ticket-filter-grid { grid-template-columns: 1fr; }
  .ticket-search-field input { min-width: 0; }
  .ticket-filter-actions { flex-direction: column; align-items: stretch; }
  .ticket-filter-actions .button { width: 100%; justify-content: center; }
  .ticket-work-meta { grid-template-columns: 1fr; }
  .ticket-work-footer .button { margin-left: 0; width: 100%; justify-content: center; }
}


/* v0.9.7.2.3 - Vorgänge Übersicht UI */
.case-filter-row-wide {
  grid-template-columns: minmax(280px, 2fr) repeat(4, minmax(150px, 1fr));
  align-items: end;
}
.case-filter-row-wide .case-search-field {
  grid-column: span 2;
}
.case-filter-row-wide .case-filter-actions {
  display: flex;
  gap: 10px;
  align-items: flex-end;
}
.case-filter-row-wide .case-filter-actions .button {
  min-width: 120px;
}
.case-item-v2 {
  gap: 14px;
  padding: 20px;
}
.case-item-v2.is-unassigned {
  border-left-color: #d97706;
}
.case-item-head-v2 {
  margin-bottom: 12px;
}
.case-title-block {
  min-width: 0;
}
.case-summary-preview {
  border: 1px solid rgba(217,232,221,.92);
  border-radius: 16px;
  background: rgba(245,250,247,.9);
  padding: 12px 14px;
  margin: 10px 0 14px;
}
.case-summary-preview span {
  display: block;
  color: var(--muted, #607568);
  font-weight: 900;
  font-size: .78rem;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: .025em;
}
.case-summary-preview p {
  margin: 0;
  color: #173522;
  line-height: 1.45;
  font-weight: 650;
}
.case-meta-grid-v2 {
  grid-template-columns: 1.3fr 1fr minmax(150px, .8fr) minmax(170px, .9fr);
}
.case-meta-grid-v2 > div {
  min-height: 66px;
}
.case-meta-grid-v2 .case-meta-warning {
  border-color: rgba(217,119,6,.28);
  background: #fffbeb;
}
.case-due-tile small.badge {
  margin-left: 0;
}
.case-work-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(260px, auto);
  gap: 14px;
  align-items: center;
  margin-top: 14px;
}
.case-item-v2 .case-next-step {
  margin: 0;
  min-height: 58px;
}
.case-mini-badges span.attention-soft {
  border-color: rgba(217,119,6,.28);
  color: #92400e;
  background: #fffbeb;
}
.case-action-panel {
  align-self: stretch;
  padding-left: 8px;
  border-left: 1px solid rgba(217,232,221,.7);
}
.case-action-panel .button {
  box-shadow: 0 10px 22px rgba(8,96,55,.18);
}
@media (max-width: 1320px) {
  .case-filter-row-wide {
    grid-template-columns: repeat(3, minmax(170px, 1fr));
  }
  .case-filter-row-wide .case-search-field {
    grid-column: span 3;
  }
  .case-meta-grid-v2 {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
  .case-work-row {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .case-filter-row-wide,
  .case-filter-row-wide .case-search-field {
    grid-template-columns: 1fr;
    grid-column: span 1;
  }
  .case-filter-row-wide .case-filter-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .case-filter-row-wide .case-filter-actions .button {
    width: 100%;
  }
  .case-meta-grid-v2 {
    grid-template-columns: 1fr;
  }
  .case-action-panel {
    border-left: 0;
    padding-left: 0;
  }
}

/* v0.9.7.2.5 - Vorgangsdetail UI */
.case-detail-top-actions{margin-bottom:14px}.case-file-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start;position:relative;overflow:hidden;background:linear-gradient(135deg,#ffffff 0%,#f2faf5 100%);border-color:#d7eadf;margin-bottom:14px}.case-file-hero:after{content:"";position:absolute;right:-42px;bottom:-52px;width:160px;height:160px;border-radius:999px;background:rgba(13,116,65,.08)}.case-file-title,.case-file-status-panel{position:relative;z-index:1}.case-file-kicker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.case-no-pill{display:inline-flex;align-items:center;border:1px solid #cfe4d5;background:#fff;border-radius:999px;padding:6px 10px;color:#073f25;font-weight:950;font-size:.82rem}.case-file-hero h2{margin:0 0 7px;color:#073f25;font-size:1.65rem;line-height:1.15}.case-file-hero p{margin:0;color:#526a5d;font-weight:850;line-height:1.4}.case-file-status-panel{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:380px}.case-file-hero--overdue{border-color:#efc5c5;background:linear-gradient(135deg,#fff,#fff7f7)}.case-file-hero--soon{border-color:#edd49b;background:linear-gradient(135deg,#fff,#fffaf0)}.case-file-command-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.2fr;gap:12px;margin:0 0 16px}.case-command-card{border:1px solid #dcebe0;background:#fff;border-radius:20px;padding:15px 16px;box-shadow:0 10px 26px rgba(31,111,67,.055);display:grid;gap:5px;min-height:96px}.case-command-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#61766a;font-weight:950}.case-command-card strong{color:#073f25;font-size:1.02rem;line-height:1.25}.case-command-card small{color:#607568;font-weight:750;line-height:1.35}.case-command-primary{background:linear-gradient(135deg,#fff,#f2fbf5);border-left:5px solid #107341}.case-command-card.is-warning{background:#fffaf0;border-color:#edd49b}.case-command-card.is-danger{background:#fff7f7;border-color:#efb4b4}.case-file-tabs{margin-bottom:16px}.case-detail-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);gap:16px;align-items:start;margin-bottom:16px}.case-detail-layout--text{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.case-work-panel,.case-file-side-card,.case-text-panel-modern{border-color:#d9eadf}.case-section-heading{align-items:flex-start;margin-bottom:12px}.case-section-heading h3{margin:.05rem 0 .25rem;color:#073f25}.case-section-heading p{margin:0;color:#62766a;font-weight:750}.case-next-step-panel{border:1px solid #d9eadf;background:#f7fcf8;border-radius:18px;padding:15px;margin-bottom:14px;display:grid;gap:5px}.case-next-step-panel span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#63776b;font-weight:950}.case-next-step-panel strong{font-size:1.15rem;color:#073f25}.case-next-step-panel small{color:#5d7166;font-weight:750}.case-status-action-form-modern{border-top:1px solid #e4efe7;padding-top:14px}.case-detail-fields{display:grid;gap:10px}.case-detail-fields>div{border:1px solid #e0ebe4;background:#fbfdfb;border-radius:15px;padding:11px 12px;display:grid;gap:3px}.case-detail-fields span{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#65776d;font-weight:950}.case-detail-fields strong{color:#073f25;font-size:.98rem;line-height:1.25}.case-detail-fields small{color:#63776b;font-weight:750}.case-prose{border:1px solid #e0ebe4;background:#fbfdfb;border-radius:16px;padding:14px;color:#24452d;line-height:1.58;font-weight:650;white-space:normal}.case-working-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}.case-working-tile{text-decoration:none;color:inherit;border:1px solid #d9eadf;background:#fff;border-radius:20px;padding:16px;box-shadow:0 10px 26px rgba(31,111,67,.055);display:grid;gap:5px}.case-working-tile:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(31,111,67,.09)}.case-working-tile span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#61766a;font-weight:950}.case-working-tile strong{font-size:1.2rem;color:#073f25}.case-working-tile small{color:#61766a;font-weight:800}.case-tab-card-modern{border-color:#d9eadf}.case-tab-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:start;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e4efe7}.case-tab-header h3{margin:.1rem 0 .25rem;color:#073f25}.case-tab-header p{margin:0}.case-mini-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.case-mini-stats span{display:inline-flex;align-items:center;border:1px solid #dbe9df;background:#f4faf6;border-radius:999px;padding:8px 10px;color:#17472c;font-weight:900;font-size:.82rem}.case-card-stack-modern{gap:13px}.case-subitem-card-modern{border-color:#dcebe0;background:#fff;box-shadow:0 8px 22px rgba(31,111,67,.04)}.case-subitem-main{min-width:0}.case-subitem-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:6px}.case-subitem-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.case-subitem-meta span{border:1px solid #e1ece5;background:#f8fbf9;border-radius:999px;padding:6px 9px;color:#51685c;font-weight:850;font-size:.82rem}.case-inline-finish-modern input{min-width:220px}.case-history-modern .case-history-item{border-left:4px solid #cfe6d6;background:#fbfdfb;border-radius:16px;padding:12px 14px}.case-history-modern .case-history-item+ .case-history-item{margin-top:9px}@media(max-width:1180px){.case-file-hero,.case-detail-layout,.case-detail-layout--text{grid-template-columns:1fr}.case-file-status-panel{justify-content:flex-start;max-width:none}.case-file-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-tab-header{grid-template-columns:1fr}.case-mini-stats{justify-content:flex-start}}@media(max-width:760px){.case-file-command-grid,.case-working-list{grid-template-columns:1fr}.case-file-hero h2{font-size:1.35rem}.case-detail-top-actions .button,.case-tab-header .button{width:100%;justify-content:center}.case-subitem-card-modern{grid-template-columns:1fr}.case-subitem-actions,.case-inline-finish-modern{justify-content:flex-start}.case-inline-finish-modern input{min-width:0;width:100%}}


/* v0.9.7.2.6 - Wartung Übersicht und Testdaten-Reset */
.maintenance-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:20px;align-items:center;background:linear-gradient(135deg,#fff,#f1faf4);border-color:#d5e9dc}.maintenance-hero h2{margin:8px 0 7px;color:#073f25;font-size:1.75rem}.maintenance-hero p{margin:0;color:#5e7168;font-weight:750;line-height:1.45}.maintenance-version-box{background:#fff;border:1px solid #dcebe0;border-radius:18px;padding:16px;text-align:center;box-shadow:0 10px 26px rgba(31,111,67,.06)}.maintenance-version-box span{display:block;color:#607568;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:950}.maintenance-version-box strong{display:block;color:#073f25;font-size:1.45rem;margin:4px 0}.maintenance-version-box small{display:block;color:#63776b;font-weight:800}.maintenance-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.maintenance-info-card{display:grid;gap:7px}.maintenance-info-card h3{margin:0;color:#073f25}.maintenance-info-card p{margin:0;color:#5c7165;line-height:1.45;font-weight:700}.maintenance-info-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:#e7f3ea;color:#0d6538;font-weight:950;font-size:1.2rem}.maintenance-info-icon.warn{background:#fff4df;color:#9a5a00}.maintenance-warning-card{border-color:#efc5c5;background:#fff7f7}.maintenance-warning-card h3{color:#8c2626}.maintenance-reset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.maintenance-reset-card{display:grid;gap:13px;border-color:#dcebe0}.maintenance-reset-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.maintenance-reset-head h3{margin:7px 0 0;color:#073f25;font-size:1.25rem}.maintenance-count{min-width:105px;border:1px solid #dcebe0;background:#f8fcf9;border-radius:16px;padding:10px 12px;text-align:center}.maintenance-count strong{display:block;color:#0d6538;font-size:1.55rem;line-height:1}.maintenance-count span{display:block;color:#63776b;font-size:.78rem;font-weight:900;margin-top:4px}.maintenance-reset-card p{margin:0;color:#4f6659;line-height:1.45;font-weight:700}.maintenance-kept-box{border:1px solid #dcebe0;background:#f7fcf8;border-radius:15px;padding:12px;display:grid;gap:3px}.maintenance-kept-box strong{color:#073f25;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.maintenance-kept-box span{color:#5c7165;font-weight:750;line-height:1.35}.maintenance-reset-form{display:grid;gap:10px;margin-top:auto}.maintenance-reset-form .field{margin:0}.maintenance-reset-form .button{width:100%;justify-content:center}.maintenance-note-card{background:#fbfdfb;border-style:dashed}.maintenance-note-card p{margin-bottom:0;color:#5c7165;font-weight:700;line-height:1.5}@media(max-width:1120px){.maintenance-reset-grid,.maintenance-info-grid{grid-template-columns:1fr}.maintenance-hero{grid-template-columns:1fr}.maintenance-version-box{text-align:left}}@media(max-width:640px){.maintenance-reset-head{display:grid}.maintenance-count{width:100%;text-align:left}}


/* Wasserzaehler Uebersicht UI v0.9.7.2.8 */
.water-meter-stats{grid-template-columns:repeat(6,minmax(0,1fr));}
.water-stat-card.is-warning{border-color:#f3d38b;background:linear-gradient(135deg,#fffaf0,#ffffff);}
.water-stat-card.is-danger{border-color:#efb0b0;background:linear-gradient(135deg,#fff5f5,#ffffff);}
.water-meter-filter-card{margin:1rem 0;}
.water-meter-filter-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.9rem;}
.water-meter-filter-head h3,.water-meter-list-card h3{margin:.1rem 0;color:#073f26;}
.water-meter-filter-head p,.water-meter-list-card p{margin:.2rem 0;color:#526a60;}
.water-meter-quickfilters{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0 1rem;}
.water-meter-quickfilters button{border:1px solid #d6e8de;background:#fff;color:#06442b;border-radius:999px;padding:.48rem .78rem;font-weight:900;cursor:pointer;}
.water-meter-quickfilters button:hover{background:#eef8f2;}
.water-meter-quickfilters button.active{background:#0b7a45;color:#fff;border-color:#0b7a45;box-shadow:0 10px 24px rgba(11,122,69,.18);}
.water-meter-filters{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr auto;gap:.75rem;align-items:end;}
.water-meter-filters label{display:flex;flex-direction:column;gap:.3rem;font-weight:850;color:#4d645b;font-size:.82rem;}
.water-meter-filters input,.water-meter-filters select{border:1px solid #cfe1d6;border-radius:14px;padding:.72rem .85rem;background:#fff;color:#073f26;font-weight:750;min-height:42px;}
.water-meter-list-card{margin-top:1rem;}
.water-meter-table{display:flex;flex-direction:column;gap:.5rem;}
.water-meter-table-head,.water-meter-row{display:grid;grid-template-columns:1.5fr .7fr 1fr .85fr .85fr 1.35fr auto;gap:.6rem;align-items:center;}
.water-meter-table-head{padding:.25rem .8rem;color:#60786d;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em;}
.water-meter-row{border:1px solid #dcece2;border-left:5px solid #0b7a45;border-radius:16px;padding:.72rem .8rem;background:#fff;box-shadow:0 8px 22px rgba(9,70,43,.04);}
.water-meter-row[hidden],.water-meter-row.is-hidden{display:none!important;}

.water-meter-row:nth-child(even){background:#fbfdfc;}
.water-meter-row.needs-attention{border-left-color:#d89500;background:linear-gradient(90deg,#fffaf0 0,#fff 26%);}
.water-meter-cell span{display:block;color:#5d756a;font-size:.77rem;font-weight:850;margin-bottom:.14rem;}
.water-meter-cell strong{display:block;color:#073f26;font-size:.92rem;}
.water-meter-main-cell strong{font-size:1rem;}
.water-meter-main-cell span{font-size:.83rem;font-weight:700;line-height:1.35;}
.water-meter-checks{display:flex;gap:.25rem;flex-wrap:wrap;}
.meter-check{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .48rem;font-size:.72rem;font-weight:900;background:#eef6f1;color:#0b5f39;border:1px solid #d7e8de;white-space:nowrap;}
.meter-check.warning{background:#fff6df;color:#7a4f00;border-color:#f1d693;}
.meter-check.danger{background:#fff0f0;color:#9b1c1c;border-color:#efb0b0;}
.meter-check.muted{background:#f4f7f5;color:#5d6f66;border-color:#dce6df;}
.meter-check.info{background:#edf6ff;color:#0a4b80;border-color:#cfe4f8;}
.meter-check.ok{background:#e9f8ef;color:#056236;border-color:#cfead8;}
.water-meter-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end;}
.button.small{padding:.46rem .68rem;border-radius:11px;font-size:.8rem;}
.water-meter-empty{padding:1rem;border:1px dashed #cfe1d6;border-radius:14px;background:#fbfdfc;}
@media(max-width:1320px){.water-meter-stats{grid-template-columns:repeat(3,minmax(0,1fr));}.water-meter-table-head{display:none}.water-meter-row{grid-template-columns:1fr 1fr 1fr}.water-meter-actions{justify-content:flex-start}}
@media(max-width:900px){.water-meter-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.water-meter-filters{grid-template-columns:1fr 1fr}.water-meter-row{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.water-meter-stats,.water-meter-filters,.water-meter-row{grid-template-columns:1fr}.water-meter-filter-head{flex-direction:column}.water-meter-actions{justify-content:flex-start}}

/* v0.9.7.2.10 - Wasserzaehler Arbeitsliste UI */
.water-meter-filter-summary{display:flex;align-items:flex-start;gap:.75rem;flex-wrap:wrap;justify-content:flex-end;}
.water-meter-page-size{display:flex;flex-direction:column;gap:.28rem;font-size:.78rem;font-weight:900;color:#536b61;}
.water-meter-page-size select{border:1px solid #cfe1d6;border-radius:12px;padding:.54rem .7rem;background:#fff;color:#073f26;font-weight:850;min-height:38px;}
.water-meter-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.65rem 0 .85rem;padding:.6rem .75rem;border:1px solid #dcece2;border-radius:14px;background:#fbfdfc;color:#526a60;font-weight:850;}
.water-meter-pagination.bottom{margin:.85rem 0 0;}
.water-meter-pagination div{display:flex;gap:.45rem;align-items:center;}
.button.disabled,.button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;}
.water-meter-table{gap:.42rem;}
.water-meter-table-head,.water-meter-row{grid-template-columns:minmax(220px,1.55fr) minmax(80px,.55fr) minmax(135px,.85fr) minmax(120px,.7fr) minmax(125px,.75fr) minmax(185px,1fr) minmax(230px,230px);}
.water-meter-table-head{align-items:center;padding:.35rem .9rem .35rem 1rem;}
.water-meter-row{min-height:66px;padding:.62rem .75rem .62rem .95rem;gap:.5rem;}
.water-meter-cell{min-width:0;}
.water-meter-cell strong,.water-meter-cell span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.water-meter-main-cell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.water-meter-checks{min-height:34px;align-content:center;}
.meter-placeholder{font-style:normal;color:#8ba095;font-weight:850;}
.water-meter-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.35rem;justify-content:stretch;align-items:center;min-width:230px;}
.water-meter-actions .button{width:100%;min-width:0;text-align:center;white-space:nowrap;padding:.48rem .52rem;}
.water-meter-row.needs-attention{background:linear-gradient(90deg,#fffaf0 0,#fff 20%);}
@media(max-width:1320px){
  .water-meter-table-head{display:none;}
  .water-meter-table-head,.water-meter-row{grid-template-columns:1.4fr .65fr 1fr 1fr;}
  .water-meter-actions{grid-column:1/-1;max-width:440px;}
}
@media(max-width:900px){
  .water-meter-filter-summary{justify-content:flex-start;}
  .water-meter-table-head,.water-meter-row{grid-template-columns:1fr 1fr;}
  .water-meter-actions{grid-column:1/-1;width:100%;max-width:none;}
}
@media(max-width:640px){
  .water-meter-pagination{align-items:flex-start;flex-direction:column;}
  .water-meter-pagination div{width:100%;}
  .water-meter-pagination .button{flex:1;}
  .water-meter-table-head,.water-meter-row{grid-template-columns:1fr;}
  .water-meter-actions{grid-template-columns:1fr;}
}

/* v0.9.7.7 - Vereinslogo und Briefkopf zentral */
.branding-upload-grid{display:grid;grid-template-columns:220px 1fr;gap:1.25rem;align-items:start;}
.branding-logo-preview{border:1px solid #dcece2;background:#fbfdfc;border-radius:18px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.7rem;min-height:160px;justify-content:center;}
.branding-logo-preview img{max-width:180px;max-height:92px;object-fit:contain;background:#fff;border-radius:12px;padding:.5rem;border:1px solid #eef3ef;}
.branding-logo-preview span{font-size:.82rem;color:#526a60;font-weight:850;text-align:center;}
.branding-upload-fields .hint{margin:.35rem 0 .9rem;color:#64776e;line-height:1.45;}
.danger-soft{border-color:#f0c6c6!important;color:#9b1c1c!important;background:#fff7f7!important;}
@media(max-width:760px){.branding-upload-grid{grid-template-columns:1fr}.branding-logo-preview img{max-width:220px}}

/* v0.9.7.15 - Einheitliches Arbeitslisten-Konzept: Parzellen */
.rh-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:14px;margin:0 0 16px;}
.rh-kpi-card{border:1px solid #dfeadd;background:#fff;border-radius:18px;padding:14px 15px;box-shadow:0 8px 24px rgba(7,63,37,.05);display:grid;gap:4px;min-height:96px;align-content:center;}
.rh-kpi-card span{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#446252;font-weight:900;}
.rh-kpi-card strong{font-size:1.75rem;line-height:1;color:#073f25;font-weight:950;}
.rh-kpi-card small{font-size:.78rem;color:#63766c;font-weight:750;}
.rh-kpi-card.warning{background:#fffaf0;border-color:#f0d8aa;}
.rh-kpi-card.warning strong{color:#8a5a00;}
.rh-kpi-card.success{background:#f2fbf5;border-color:#cdebd6;}
.rh-filter-panel{border:1px solid #dfeadd;background:linear-gradient(180deg,#f7fcf8,#fff);border-radius:22px;padding:14px;margin-bottom:16px;box-shadow:0 10px 28px rgba(7,63,37,.045);}
.rh-quickfilters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.rh-filter-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #d7eadc;background:#fff;color:#174c2d;text-decoration:none;border-radius:999px;padding:8px 11px;font-weight:900;font-size:.86rem;box-shadow:0 6px 16px rgba(7,63,37,.04);}
.rh-filter-chip span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;border-radius:999px;background:#edf8f1;color:#0b4228;padding:2px 7px;font-size:.78rem;}
.rh-filter-chip:hover,.rh-filter-chip.active{background:#0b7042;border-color:#0b7042;color:#fff;}
.rh-filter-chip:hover span,.rh-filter-chip.active span{background:rgba(255,255,255,.22);color:#fff;}
.rh-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:950;border:1px solid #dcece2;background:#f2f7f4;color:#50645c;white-space:nowrap;}
.rh-status-pill.success{background:#eaf8ef;color:#006b3a;border-color:#c7ead5;}
.rh-status-pill.warning{background:#fff6e4;color:#8a5a00;border-color:#efd49d;}
.rh-status-pill.muted{background:#f3f5f4;color:#5e6f66;border-color:#e0e7e2;}
.plot-work-hero{margin-bottom:16px!important;}
.plot-work-kpis{grid-template-columns:repeat(6,minmax(0,1fr));}
.plot-work-filter-grid{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(150px,1fr) minmax(150px,.9fr) minmax(150px,.9fr) minmax(150px,1fr) minmax(170px,1.05fr) minmax(170px,1.05fr) auto;gap:10px;align-items:end;}
.plot-work-filter .field{margin:0;font-weight:900;color:#40584b;font-size:.78rem;}
.plot-work-filter input,.plot-work-filter select{min-height:43px;border-radius:13px;border:1px solid #d6e4d8;background:#fbfdfb;padding:.56rem .72rem;font-weight:760;}
.plot-work-search input{font-size:.95rem;}
.plot-work-filter-actions{display:flex;gap:8px;align-items:end;justify-content:flex-end;}
.plot-work-filter-actions .button{min-height:43px;white-space:nowrap;}
.plot-work-title-row{align-items:flex-start;gap:14px;}
.plot-work-result-info{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.plot-work-groups{display:grid;gap:12px;}
.plot-work-group{border:1px solid #dfeadd;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(7,63,37,.045);overflow:hidden;}
.plot-work-group summary{list-style:none;display:flex;gap:14px;align-items:center;justify-content:space-between;padding:15px 18px;background:linear-gradient(135deg,#fff,#f7fcf8);cursor:pointer;}
.plot-work-group summary::-webkit-details-marker{display:none;}
.plot-work-group summary:after{content:'–';display:grid;place-items:center;width:30px;height:30px;border-radius:11px;background:#e7f3ea;color:#0b7042;font-weight:950;font-size:1.15rem;flex:0 0 30px;}
.plot-work-group:not([open]) summary:after{content:'+';}
.plot-work-group-title{font-size:1.1rem;color:#073f25;font-weight:950;}
.plot-work-group-stats{margin-left:auto;display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:flex-end;color:#607568;font-weight:800;}
.plot-work-group-stats strong{font-size:1.15rem;color:#073f25;}
.plot-work-group-stats em{font-style:normal;border:1px solid #d9eadc;background:#eef7ef;color:#31533a;border-radius:999px;padding:4px 8px;font-size:.76rem;font-weight:900;}
.plot-work-group-stats em.warning{background:#fff7e6;color:#704400;border-color:#f1d69a;}
.plot-work-table-wrap{overflow:auto;border-top:1px solid #e4eee6;}
.plot-work-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1040px;background:#fff;}
.plot-work-table th{position:sticky;top:0;z-index:1;background:#edf7ef;color:#244d31;text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.045em;font-weight:950;padding:10px 12px;border-bottom:1px solid #dcebdd;white-space:nowrap;}
.plot-work-table td{padding:11px 12px;border-bottom:1px solid #eef4ef;vertical-align:middle;color:#263b30;font-weight:720;}
.plot-work-table tbody tr:hover{background:#fbfdfb;}
.plot-work-table tbody tr.is-free{background:#fffdf7;}
.plot-work-table tbody tr.is-archived{opacity:.72;}
.plot-work-ident{display:grid;gap:2px;min-width:92px;}
.plot-work-ident strong{font-size:1.18rem;color:#073f25;font-weight:950;line-height:1;}
.plot-work-ident small,.plot-work-substatus{color:#64786d;font-weight:800;font-size:.75rem;}
.plot-work-tenant{color:#073f25;font-weight:950;text-decoration:none;}
.plot-work-tenant:hover{text-decoration:underline;text-underline-offset:3px;}
.plot-work-empty{color:#8a5a00;font-weight:900;}
.plot-work-value{display:inline-flex;align-items:center;border-radius:999px;background:#f1f8f3;border:1px solid #dcebdd;color:#244d31;padding:5px 9px;font-weight:900;white-space:nowrap;}
.plot-work-value.warning{background:#fff7e6;border-color:#f1d69a;color:#704400;}
.plot-work-badges{display:flex;gap:5px;flex-wrap:wrap;max-width:260px;}
.plot-work-badges span{display:inline-flex;align-items:center;border:1px solid #dcebdd;background:#f4faf5;border-radius:999px;padding:4px 8px;font-size:.76rem;font-weight:900;color:#31533a;}
.plot-work-muted{color:#7a8c82;font-weight:850;}
.plot-work-water{display:grid;gap:4px;min-width:180px;font-size:.82rem;}
.plot-work-water span{display:block;color:#4a6257;font-weight:850;line-height:1.28;}
.plot-work-water span.warning{color:#8a5a00;}
.plot-work-water span.muted{color:#53685b;}
.plot-work-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;min-width:210px;}
.plot-work-actions .btn-small{padding:7px 9px;white-space:nowrap;}
@media(max-width:1320px){.rh-kpi-grid,.plot-work-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}.plot-work-filter-grid{grid-template-columns:repeat(3,minmax(180px,1fr));}.plot-work-filter-actions{justify-content:flex-start;}.plot-work-search{grid-column:1/-1;}}
@media(max-width:900px){.rh-kpi-grid,.plot-work-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.plot-work-filter-grid{grid-template-columns:1fr 1fr;}.plot-work-group summary{align-items:flex-start;}.plot-work-group-stats{margin-left:0;justify-content:flex-start;}.plot-work-table{min-width:0;}.plot-work-table thead{display:none;}.plot-work-table,.plot-work-table tbody,.plot-work-table tr,.plot-work-table td{display:block;width:100%;}.plot-work-table tr{border-bottom:1px solid #dfeadd;padding:10px 0;}.plot-work-table td{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;align-items:start;border:0;padding:8px 14px;}.plot-work-table td:before{content:attr(data-label);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#607568;font-weight:950;}.plot-work-actions{justify-content:flex-start;min-width:0;}.plot-work-water{min-width:0;}.plot-work-badges{max-width:none;}}
@media(max-width:640px){.rh-kpi-grid,.plot-work-kpis,.plot-work-filter-grid{grid-template-columns:1fr;}.rh-quickfilters{display:grid;grid-template-columns:1fr 1fr;}.plot-work-filter-actions{display:grid;grid-template-columns:1fr 1fr;}.plot-work-filter-actions .button{text-align:center;}.plot-work-group summary{display:grid;position:relative;padding-right:54px;}.plot-work-group summary:after{position:absolute;right:16px;top:16px;}.plot-work-table td{grid-template-columns:1fr;gap:4px;}.plot-work-actions{display:grid;grid-template-columns:1fr;}.plot-work-actions .btn-small{text-align:center;}.rh-filter-chip{justify-content:space-between;}}

/* v0.9.7.16 Paechter Arbeitsliste UI */
.tenant-work-hero{margin-bottom:16px!important;}
.tenant-work-kpis{grid-template-columns:repeat(6,minmax(0,1fr));}
.tenant-work-filter-grid{display:grid;grid-template-columns:minmax(260px,1.8fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,.95fr) minmax(170px,1.05fr) minmax(160px,1fr) minmax(160px,1fr) minmax(170px,1fr) auto;gap:10px;align-items:end;}
.tenant-work-filter .field{margin:0;font-weight:900;color:#40584b;font-size:.78rem;}
.tenant-work-filter input,.tenant-work-filter select{min-height:43px;border-radius:13px;border:1px solid #d6e4d8;background:#fbfdfb;padding:.56rem .72rem;font-weight:760;}
.tenant-work-search input{font-size:.95rem;}
.tenant-work-filter-actions{display:flex;gap:8px;align-items:end;justify-content:flex-end;}
.tenant-work-filter-actions .button{min-height:43px;white-space:nowrap;}
.tenant-work-title-row{align-items:flex-start;gap:14px;}
.tenant-work-result-info{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.tenant-work-groups{display:grid;gap:12px;}
.tenant-work-group{border:1px solid #dfeadd;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(7,63,37,.045);overflow:hidden;}
.tenant-work-group summary{list-style:none;display:flex;gap:14px;align-items:center;justify-content:space-between;padding:15px 18px;background:linear-gradient(135deg,#fff,#f7fcf8);cursor:pointer;}
.tenant-work-group summary::-webkit-details-marker{display:none;}
.tenant-work-group summary:after{content:'–';display:grid;place-items:center;width:30px;height:30px;border-radius:11px;background:#e7f3ea;color:#0b7042;font-weight:950;font-size:1.15rem;flex:0 0 30px;}
.tenant-work-group:not([open]) summary:after{content:'+';}
.tenant-work-group-title{font-size:1.1rem;color:#073f25;font-weight:950;}
.tenant-work-group-stats{margin-left:auto;display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:flex-end;color:#607568;font-weight:800;}
.tenant-work-group-stats strong{font-size:1.15rem;color:#073f25;}
.tenant-work-group-stats em{font-style:normal;border:1px solid #d9eadc;background:#eef7ef;color:#31533a;border-radius:999px;padding:4px 8px;font-size:.76rem;font-weight:900;}
.tenant-work-group-stats em.warning{background:#fff7e6;color:#704400;border-color:#f1d69a;}
.tenant-work-table-wrap{overflow:auto;border-top:1px solid #e4eee6;}
.tenant-work-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1160px;background:#fff;}
.tenant-work-table th{position:sticky;top:0;z-index:1;background:#edf7ef;color:#244d31;text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.045em;font-weight:950;padding:10px 12px;border-bottom:1px solid #dcebdd;white-space:nowrap;}
.tenant-work-table td{padding:11px 12px;border-bottom:1px solid #eef4ef;vertical-align:middle;color:#263b30;font-weight:720;}
.tenant-work-table tbody tr:hover{background:#fbfdfb;}
.tenant-work-table tbody tr.is-missing{background:#fffdf7;}
.tenant-work-table tbody tr.is-archived{opacity:.72;}
.tenant-work-person{display:grid;gap:3px;min-width:190px;}
.tenant-work-person a{color:#073f25;font-weight:950;text-decoration:none;font-size:1.02rem;line-height:1.18;}
.tenant-work-person a:hover{text-decoration:underline;text-underline-offset:3px;}
.tenant-work-person small,.tenant-work-plot small{color:#64786d;font-weight:800;font-size:.75rem;}
.tenant-work-plot{display:grid;gap:2px;min-width:110px;}
.tenant-work-plot strong{font-size:1.1rem;color:#073f25;font-weight:950;line-height:1;}
.tenant-work-empty{color:#8a5a00;font-weight:900;}
.tenant-work-contact,.tenant-work-finance,.tenant-work-privacy{display:grid;gap:4px;min-width:170px;font-size:.82rem;}
.tenant-work-contact span,.tenant-work-finance span,.tenant-work-privacy span{display:block;color:#4a6257;font-weight:850;line-height:1.28;}
.tenant-work-contact span.warning,.tenant-work-finance span.warning,.tenant-work-privacy span.warning{color:#8a5a00;}
.tenant-work-finance span.success,.tenant-work-privacy span.success{color:#0a6a38;}
.tenant-work-privacy span{display:inline-flex;width:max-content;border:1px solid #dcebdd;background:#f4faf5;border-radius:999px;padding:4px 8px;font-size:.76rem;font-weight:900;color:#31533a;}
.tenant-work-privacy span.warning{background:#fff7e6;border-color:#f1d69a;color:#704400;}
.tenant-work-privacy span.muted{background:#f3f5f4;border-color:#e0e7e2;color:#5e6f66;}
.tenant-work-address{display:block;max-width:220px;color:#31533a;font-weight:850;line-height:1.32;}
.tenant-work-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;min-width:200px;}
.tenant-work-actions .btn-small{padding:7px 9px;white-space:nowrap;}
@media(max-width:1480px){.tenant-work-filter-grid{grid-template-columns:repeat(4,minmax(170px,1fr));}.tenant-work-search{grid-column:1/-1;}.tenant-work-filter-actions{justify-content:flex-start;}}
@media(max-width:1320px){.tenant-work-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:900px){.tenant-work-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.tenant-work-filter-grid{grid-template-columns:1fr 1fr;}.tenant-work-group summary{align-items:flex-start;}.tenant-work-group-stats{margin-left:0;justify-content:flex-start;}.tenant-work-table{min-width:0;}.tenant-work-table thead{display:none;}.tenant-work-table,.tenant-work-table tbody,.tenant-work-table tr,.tenant-work-table td{display:block;width:100%;}.tenant-work-table tr{border-bottom:1px solid #dfeadd;padding:10px 0;}.tenant-work-table td{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;align-items:start;border:0;padding:8px 14px;}.tenant-work-table td:before{content:attr(data-label);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#607568;font-weight:950;}.tenant-work-actions{justify-content:flex-start;min-width:0;}.tenant-work-contact,.tenant-work-finance,.tenant-work-privacy{min-width:0;}.tenant-work-address{max-width:none;}}
@media(max-width:640px){.tenant-work-kpis,.tenant-work-filter-grid{grid-template-columns:1fr;}.tenant-work-filter-actions{display:grid;grid-template-columns:1fr 1fr;}.tenant-work-filter-actions .button{text-align:center;}.tenant-work-group summary{display:grid;position:relative;padding-right:54px;}.tenant-work-group summary:after{position:absolute;right:16px;top:16px;}.tenant-work-table td{grid-template-columns:1fr;gap:4px;}.tenant-work-actions{display:grid;grid-template-columns:1fr;}.tenant-work-actions .btn-small{text-align:center;}}

/* v0.9.7.16.2 Arbeitslisten UI Feinschliff */
.plot-work-filter-actions,
.tenant-work-filter-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
    align-items:center;
    padding-top:2px;
}
.plot-work-filter-actions .button,
.tenant-work-filter-actions .button{
    min-width:108px;
}
.plot-work-table tbody tr,
.tenant-work-table tbody tr{
    transition:background .14s ease, box-shadow .14s ease;
}
.plot-work-table tbody tr:hover,
.tenant-work-table tbody tr:hover{
    background:#eaf6ee !important;
    box-shadow:inset 4px 0 0 #0b7042;
}
.plot-work-table tbody tr:hover td,
.tenant-work-table tbody tr:hover td{
    background:#eaf6ee;
}
.plot-work-table tbody tr:hover td:first-child,
.tenant-work-table tbody tr:hover td:first-child{
    box-shadow:inset 4px 0 0 #0b7042;
}
.plot-work-table tbody tr.is-free:hover,
.plot-work-table tbody tr.is-archived:hover,
.tenant-work-table tbody tr.is-missing:hover,
.tenant-work-table tbody tr.is-archived:hover{
    background:#eaf6ee !important;
}
@media(max-width:640px){
    .plot-work-filter-actions,
    .tenant-work-filter-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
}

/* v0.9.7.17 Dashboard Aufgaben-Sichtbarkeit */
.dashboard-task-panel .panel-head{align-items:flex-start}
.dashboard-task-note{margin:.25rem 0 0;color:#5d7467;font-size:.92rem;line-height:1.35}
.dashboard-task-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:.85rem 0 1rem;padding:.55rem;border:1px solid #dbeade;background:#f5faf6;border-radius:18px}
.dashboard-task-filters a{display:inline-flex;align-items:center;text-decoration:none;border:1px solid #d5e6d9;background:#fff;color:#164b2e;border-radius:999px;padding:.5rem .78rem;font-weight:800;font-size:.9rem;box-shadow:0 6px 14px rgba(31,111,67,.05)}
.dashboard-task-filters a:hover{background:#eaf7ed;border-color:#b8dbc1}
.dashboard-task-filters a.active{background:#1f6f43;border-color:#1f6f43;color:#fff}
.task-list-modern{display:grid;gap:.7rem}
.task-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;text-decoration:none;border:1px solid #dce9df;background:#fff;border-radius:18px;padding:1rem 1.05rem;transition:.15s ease;box-shadow:0 10px 24px rgba(31,111,67,.05)}
.task-row:hover{transform:translateY(-1px);background:#f0f8f3;border-color:#b9dfc3;box-shadow:0 14px 30px rgba(31,111,67,.1)}
.task-row div{display:grid;gap:.22rem}
.task-row small{color:#5e7569;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}
.task-row strong{color:#073f25;font-size:1.02rem}
.task-row span{color:#586f62;font-size:.92rem;line-height:1.35}
.task-badge{font-style:normal;font-size:.82rem;font-weight:900;border-radius:999px;padding:.42rem .68rem;white-space:nowrap;background:#e9f5ec;color:#0e5a32}
.task-badge.warning,.task-badge.info{background:#fff4df;color:#8a5a00}
.task-badge.danger{background:#fff0f0;color:#9b1c1c}
.task-badge.success{background:#eaf7ed;color:#0e5a32}
.task-row-danger{border-color:#efc8c8;background:linear-gradient(180deg,#fff8f8,#fff)}
.task-row-warning{border-color:#efd9ac;background:linear-gradient(180deg,#fffaf0,#fff)}
.task-row-info{border-color:#cddff1;background:linear-gradient(180deg,#f4f9ff,#fff)}
.task-row-success{border-color:#cce8d2}
@media(max-width:720px){.task-row{display:grid}.task-badge{justify-self:start}.dashboard-task-filters{display:grid;grid-template-columns:1fr 1fr}.dashboard-task-filters a{justify-content:center;text-align:center}}

/* v0.9.7.18 Parkplaetze Grundmodul */
.parking-hero {
    background: linear-gradient(135deg, rgba(15, 92, 55, 0.10), rgba(231, 243, 235, 0.85));
}
.parking-subnav {
    margin: 0 0 1rem;
}
.parking-kpis {
    margin-bottom: 1rem;
}
.parking-filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) minmax(180px, 1fr) minmax(160px, 1fr) auto;
    gap: .9rem;
    align-items: end;
}
.parking-work-card .parking-table td {
    vertical-align: top;
}
.parking-table .table-actions {
    white-space: nowrap;
}
.parking-table small,
.parking-tenant-panel small {
    color: var(--muted, #647067);
}
.parking-table tr:hover {
    background: rgba(15, 92, 55, 0.075);
}
.parking-tenant-panel .plot-work-badges .warning {
    border-color: rgba(180, 83, 9, .22);
    background: rgba(251, 191, 36, .16);
    color: #92400e;
}
@media (max-width: 900px) {
    .parking-filter-grid {
        grid-template-columns: 1fr;
    }
    .parking-table .table-actions {
        white-space: normal;
    }
}

/* v0.9.7.19.3 Parkplaetze Bewerber und Vergabe 2027 */
.parking-subnav{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
    margin:0 0 1rem;
    padding:.65rem;
    border:1px solid #d8eade;
    border-radius:18px;
    background:#f5fbf7;
}
.parking-subnav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:.48rem .78rem;
    border:1px solid #d5e7db;
    border-radius:999px;
    background:#fff;
    color:#06472a;
    text-decoration:none;
    font-weight:900;
    box-shadow:0 7px 16px rgba(20,86,50,.05);
}
.parking-subnav a:hover{background:#eaf7ee;border-color:#b9ddc4;}
.parking-subnav a.active{background:#0b7042;border-color:#0b7042;color:#fff;}
.parking-subnav a.parking-subnav-action{background:#eef8f1;color:#0b5b36;}
.rh-status-pill.info{background:#eaf4ff;color:#1d4f91;border-color:#cbdff6;}
.parking-info-box{
    border:1px solid #d4e8da;
    background:#f5fbf7;
    border-radius:16px;
    padding:.85rem 1rem;
    color:#234b35;
    margin:.8rem 0 1rem;
    line-height:1.45;
}
.parking-info-box.warning{
    border-color:#efd49d;
    background:#fff8e8;
    color:#7a5200;
}
.parking-application-kpis{margin:.5rem 0 1rem;}
.parking-application-card .parking-filter{margin:1rem 0;}
.parking-row-warning{background:#fffaf0;}
.parking-row-warning:hover{background:#fff3d7 !important;}
@media(max-width:760px){.parking-subnav{display:grid;grid-template-columns:1fr 1fr}.parking-subnav a{text-align:center}}

/* v0.9.7.20 Parzellenanfragen */
.applicant-kpis,
.applicant-detail-grid {
  margin-bottom: 18px;
}

.applicant-filter-grid {
  display: grid;
  grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(160px, 1fr)) auto;
  gap: 12px;
  align-items: end;
}

.applicant-table td {
  vertical-align: top;
}

.applicant-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 0.85fr);
  gap: 18px;
  align-items: start;
}

.applicant-dl {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 8px 14px;
  margin: 12px 0 20px;
}

.applicant-dl dt {
  color: var(--muted, #6b7280);
  font-weight: 700;
}

.applicant-dl dd {
  margin: 0;
}

.applicant-documents-card form {
  display: inline;
}

.applicant-note-form {
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(15, 92, 55, 0.12);
}

.applicant-timeline {
  display: grid;
  gap: 12px;
}

.applicant-timeline .timeline-item {
  padding: 12px 14px;
  border-radius: 14px;
  background: #f8fafc;
  border-left: 4px solid #0f7a4a;
}

.applicant-timeline p {
  margin: 6px 0;
}

@media (max-width: 1100px) {
  .applicant-filter-grid,
  .applicant-detail-grid {
    grid-template-columns: 1fr;
  }
}

/* v0.9.7.20.2 Parzellenanfragen UI-Angleichung */
.module-eyebrow{display:inline-flex;align-items:center;width:max-content;border-radius:999px;background:#e7f3ea;color:#0b7042;border:1px solid #d5eadb;padding:5px 10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.045em;font-weight:950;margin-bottom:7px;}
.rh-status-pill.info{background:#e8f3ff;color:#165a9f;border-color:#c7def7;}
.applicant-work-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;background:linear-gradient(135deg,#fff,#f2faf5);border-color:#d8eadc;}
.applicant-work-hero h2,.applicant-detail-hero h2{margin:0 0 6px;color:#073f25;font-size:1.45rem;line-height:1.15;}
.applicant-work-hero p{margin:0;color:#315343;font-weight:760;max-width:900px;line-height:1.42;}
.applicant-work-hero .hero-actions .button,.applicant-detail-hero .hero-actions .button{background:#0b7042;color:#fff;border:1px solid #0b7042;box-shadow:0 10px 24px rgba(11,112,66,.16);}
.applicant-work-hero .hero-actions .button.secondary,.applicant-detail-hero .hero-actions .button.secondary{background:#e7f3ea;color:#0b7042;border-color:#cfe6d5;box-shadow:none;}
.applicant-hero-notes,.applicant-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.applicant-hero-notes span,.applicant-hero-meta span{display:inline-flex;align-items:center;border:1px solid #dcebdd;background:#fbfdfb;color:#365e45;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:850;}
.applicant-kpis{grid-template-columns:repeat(5,minmax(0,1fr));}
.applicant-filter .field{margin:0;font-weight:900;color:#40584b;font-size:.78rem;}
.applicant-filter input,.applicant-filter select{min-height:43px;border-radius:13px;border:1px solid #d6e4d8;background:#fbfdfb;padding:.56rem .72rem;font-weight:760;}
.applicant-filter-grid{display:grid;grid-template-columns:minmax(280px,1.7fr) minmax(170px,1fr) minmax(170px,1fr) minmax(160px,.9fr);gap:10px;align-items:end;}
.applicant-search-field input{font-size:.95rem;}
.applicant-filter-actions{grid-column:1/-1;justify-content:flex-start!important;margin-top:2px;}
.applicant-work-card{overflow:hidden;}
.applicant-work-table{min-width:1050px;}
.applicant-work-table tbody tr:hover{background:#eef8f1!important;box-shadow:inset 4px 0 0 #0b7042;}
.applicant-work-person,.applicant-work-contact{display:grid;gap:4px;}
.applicant-work-person strong{font-size:1rem;color:#073f25;font-weight:950;}
.applicant-work-person small,.applicant-work-contact small{color:#64786d;font-weight:800;}
.applicant-work-contact span{color:#244d31;font-weight:850;line-height:1.35;}
.applicant-work-contact .warning{color:#8a5a00;font-weight:950;}
.applicant-work-badges span.warning{background:#fff7e6;border-color:#f1d69a;color:#704400;}
.applicant-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;background:linear-gradient(135deg,#fff,#f4fbf6);border-color:#d8eadc;}
.applicant-detail-main{min-width:0;}
.applicant-detail-side{display:grid;gap:12px;justify-items:end;}
.applicant-detail-actions{justify-content:flex-end;}
.applicant-detail-kpis{grid-template-columns:repeat(4,minmax(0,1fr));}
.applicant-detail-kpis .rh-kpi-card strong{font-size:1.25rem;word-break:break-word;}
.applicant-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.applicant-info-card h3,.applicant-documents-card h3,.applicant-notes-card h3,.applicant-form-section h3{margin:0 0 4px;color:#073f25;}
.applicant-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}
.applicant-data-grid>div{border:1px solid #e0ede4;background:#fbfdfb;border-radius:16px;padding:11px 12px;display:grid;gap:4px;min-height:66px;}
.applicant-data-grid>div.wide{grid-column:1/-1;}
.applicant-data-grid span{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:#5e7668;font-weight:950;}
.applicant-data-grid strong{font-size:.94rem;color:#143f28;line-height:1.35;word-break:break-word;}
.applicant-work-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:18px;align-items:start;}
.applicant-upload-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;gap:10px;align-items:end;margin:14px 0;}
.applicant-upload-form .field{margin:0;}
.applicant-documents-card form:not(.applicant-upload-form){display:inline;}
.applicant-mini-table{min-width:780px;}
.applicant-mini-table th,.applicant-mini-table td{font-size:.86rem;}
.applicant-note-form{margin:14px 0 18px;padding-bottom:16px;border-bottom:1px solid rgba(15,92,55,.12);}
.applicant-note-grid{grid-template-columns:minmax(160px,.55fr) minmax(260px,1.45fr);}
.applicant-timeline .timeline-item{padding:12px 14px;border-radius:16px;background:#fbfdfb;border:1px solid #dfeadd;border-left:4px solid #0b7042;box-shadow:0 6px 14px rgba(7,63,37,.035);}
.applicant-form-modern{display:grid;gap:18px;}
.applicant-form-section{margin-bottom:0;}
.applicant-form-grid{align-items:start;}
.applicant-form-section .field{margin:0 0 12px;}
.applicant-form-actions-card{margin-bottom:18px;background:#fbfdfb;}
@media(max-width:1320px){.applicant-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}.applicant-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.applicant-filter-grid{grid-template-columns:repeat(2,minmax(180px,1fr));}.applicant-search-field{grid-column:1/-1;}.applicant-work-split,.applicant-detail-layout{grid-template-columns:1fr;}.applicant-upload-form{grid-template-columns:1fr 1fr;}.applicant-upload-form .button{width:max-content;}}
@media(max-width:900px){.applicant-work-hero,.applicant-detail-hero{grid-template-columns:1fr;}.applicant-detail-side{justify-items:start;}.applicant-detail-actions{justify-content:flex-start;}.applicant-work-table,.applicant-mini-table{min-width:0;}.applicant-work-table thead,.applicant-mini-table thead{display:none;}.applicant-work-table,.applicant-work-table tbody,.applicant-work-table tr,.applicant-work-table td,.applicant-mini-table,.applicant-mini-table tbody,.applicant-mini-table tr,.applicant-mini-table td{display:block;width:100%;}.applicant-work-table tr,.applicant-mini-table tr{border-bottom:1px solid #dfeadd;padding:10px 0;}.applicant-work-table td,.applicant-mini-table td{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;align-items:start;border:0;padding:8px 14px;}.applicant-work-table td:before,.applicant-mini-table td:before{content:attr(data-label);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#607568;font-weight:950;}.applicant-work-table .plot-work-actions,.applicant-mini-table .plot-work-actions{justify-content:flex-start;}.applicant-data-grid{grid-template-columns:1fr;}.applicant-data-grid>div.wide{grid-column:auto;}}
@media(max-width:640px){.applicant-kpis,.applicant-detail-kpis,.applicant-filter-grid,.applicant-upload-form,.applicant-note-grid{grid-template-columns:1fr;}.applicant-filter-actions{display:grid!important;grid-template-columns:1fr 1fr;}.applicant-filter-actions .button{text-align:center;}.applicant-work-hero .hero-actions .button,.applicant-detail-actions .button{width:100%;text-align:center;}.applicant-detail-actions{width:100%;display:grid;grid-template-columns:1fr;}.applicant-work-table td,.applicant-mini-table td{grid-template-columns:1fr;gap:4px;}.applicant-work-table .plot-work-actions,.applicant-mini-table .plot-work-actions{display:grid;grid-template-columns:1fr;}.applicant-work-table .plot-work-actions .btn-small,.applicant-mini-table .plot-work-actions .btn-small{text-align:center;}}

/* v0.9.7.21 Paechterwechsel UI und Anrede */
.tenant-change-v21 {
  display: grid;
  gap: 18px;
}
.tenant-change-hero {
  margin-bottom: 0;
}
.tenant-change-v21 .tenant-change-summary {
  margin-bottom: 0;
}
.tenant-change-v21 .tenant-change-form {
  display: grid;
  gap: 18px;
}
.tenant-change-v21 .tenant-form-section,
.tenant-change-v21 .tenant-save-card {
  margin-bottom: 0;
}
.tenant-change-v21 .form-grid {
  align-items: start;
}
.tenant-change-v21 .tenant-info-card strong {
  color: #073f25;
}
.tenant-change-v21 .tenant-change-checks {
  margin-top: 4px;
}
.tenant-change-v21 .tenant-change-checks .check:hover {
  border-color: #a7cfb2;
  background: #f2faf4;
}
.tenant-change-save-card {
  background: linear-gradient(135deg, #fff, #f4fbf5);
}
@media (max-width: 760px) {
  .tenant-change-v21 .tenant-identity-grid {
    grid-template-columns: 1fr;
  }
}

/* v0.9.7.22 - Aufnahmeantrag Aktionen */
.tenant-inline-action {
  display: inline-flex;
  align-items: center;
  margin: 0;
  gap: .4rem;
}
.tenant-hero-actions .tenant-inline-action,
.tenant-action-buttons .tenant-inline-action,
.tenant-context-actions .tenant-inline-action {
  display: inline-flex;
}
.tenant-inline-action button {
  white-space: nowrap;
}


/* Suchauswahl fuer lange Listen, z. B. Parkplatzzuordnung */
.rh-search-select-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.rh-search-select {
  position: relative;
  width: 100%;
}

.rh-search-select-input {
  width: 100%;
}

.rh-search-select-list {
  position: absolute;
  z-index: 80;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  max-height: 280px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid rgba(0, 95, 58, 0.18);
  border-radius: 16px;
  box-shadow: 0 18px 45px rgba(0, 52, 34, 0.16);
  padding: 6px;
}

.rh-search-select-option {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  color: #002b22;
  text-align: left;
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 700;
  cursor: pointer;
}

.rh-search-select-option:hover,
.rh-search-select-option.is-selected {
  background: #e7f5ec;
  color: #00683f;
}

.rh-search-select-empty {
  padding: 12px;
  color: #5f766e;
  font-weight: 700;
}

.field-help {
  display: block;
  margin-top: 6px;
  color: #5f766e;
  font-size: 0.88rem;
  font-weight: 600;
}

/* v0.9.7.23 Datenschutz / Archivschutz */
.privacy-work-hero .hero-actions,
.privacy-detail-hero .hero-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.privacy-form-card { padding: 22px; }
.privacy-check-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:18px 0; padding:14px 16px; border:1px solid #d6e6d8; border-radius:16px; background:#f6fbf7; }
.privacy-check-row .check-pill { display:inline-flex; align-items:center; gap:8px; font-weight:800; color:#063d25; }
.privacy-sent-form { margin-top:18px; padding-top:16px; border-top:1px solid #e1ece3; }
.privacy-sent-form .field { margin-bottom:10px; }
.privacy-subject-tenant, .privacy-subject-application { transition: opacity .12s ease; }
@media (max-width: 860px) {
  .privacy-work-hero .hero-actions,
  .privacy-detail-hero .hero-actions { justify-content:flex-start; }
  .privacy-check-row { align-items:flex-start; }
}

/* v0.9.7.24 Datenschutz Loeschpruefung */
.privacy-retention-kpis .rh-kpi-card strong { letter-spacing: -0.03em; }
.privacy-retention-rules .plot-work-table td,
.privacy-candidates-card .plot-work-table td,
.privacy-deletion-card .plot-work-table td { vertical-align: top; }
.privacy-deletion-table tr.is-attention td:first-child { border-left: 4px solid #d98a00; }
.privacy-review-form { display: grid; gap: .5rem; min-width: 260px; }
.privacy-review-grid { display: grid; grid-template-columns: minmax(130px, .8fr) minmax(160px, 1fr); gap: .5rem; align-items: center; }
.privacy-review-grid select,
.privacy-review-grid input { width: 100%; min-height: 38px; border: 1px solid var(--border, #cfe3d8); border-radius: 12px; padding: .45rem .65rem; background: #fff; }
.inline-form { display: inline-flex; gap: .5rem; align-items: center; }
@media (max-width: 900px) {
  .privacy-review-grid { grid-template-columns: 1fr; }
  .privacy-review-form { min-width: 0; }
}

/* v0.9.7.25 Datenschutz Loeschpruefung Detail */
.privacy-review-kpis .rh-kpi-card strong {
    font-size: 1.35rem;
}
.privacy-review-detail-form .check-card {
    margin: 1rem 0;
}
.privacy-hold-check {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(18, 116, 67, .18);
    border-radius: 16px;
    background: #f5fbf7;
}
.privacy-hold-check input {
    margin-top: .25rem;
}
.privacy-hold-check span {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.privacy-hold-check small {
    color: #47655b;
    font-weight: 500;
}
.privacy-review-detail-card textarea {
    min-height: 90px;
}
.privacy-deletion-table td:last-child {
    white-space: nowrap;
}

/* v0.9.7.28 BV-Termine Uebergabe 2. Vorsitzender */
.bv-handover-card .detail-grid small{display:block;margin-top:4px;color:#6b7f72;font-weight:800;}
.bv-handover-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 10px;}
.bv-handover-actions .inline-form{display:inline-flex;}
.bv-inline-action{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid #d7e9dd;background:#f8fcf9;border-radius:16px;padding:8px;}
.bv-inline-action input[type="text"]{min-height:38px;min-width:260px;border:1px solid #d6e4d8;border-radius:12px;padding:8px 10px;background:#fff;font-weight:760;}
.bv-handover-timeline{display:grid;gap:8px;margin-top:12px;}
.bv-handover-timeline>div{border:1px solid #dfeadd;background:#fbfdfb;border-left:4px solid #0b7042;border-radius:14px;padding:10px 12px;display:grid;gap:3px;}
.bv-handover-timeline strong{color:#073f25;font-weight:950;}
.bv-handover-timeline span{color:#526b5d;font-weight:780;}
.bv-row-actions form{display:inline-flex;margin:0;}
.bv-row-actions button.btn-small{font:inherit;cursor:pointer;}
@media(max-width:760px){.bv-inline-action{display:grid;width:100%;}.bv-inline-action input[type="text"]{min-width:0;width:100%;}.bv-handover-actions .button{width:100%;text-align:center;}.bv-handover-actions form{width:100%;}}

/* v0.9.7.29 Aufwandsentschaedigungen */
.allowance-hero .applicant-hero-notes span { white-space: nowrap; }
.danger-text { color: #a33; font-weight: 700; }
.allowance-hero .hero-actions .inline-form { display: inline-flex; gap: .5rem; align-items: center; }

/* v0.9.7.30 Aushänge & Termine */
.form-grid.five{display:grid;grid-template-columns:160px 120px 120px minmax(180px,1fr) minmax(180px,1fr);gap:12px;align-items:end}.notice-date-row{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fbfdfb;margin-bottom:10px}.notice-date-row .field{margin:0}.notice-hero .applicant-hero-notes,.notice-detail-hero .applicant-hero-notes{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.notice-hero .applicant-hero-notes span{background:#e7f3ea;color:var(--green);border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px}.preline{white-space:pre-line}.notice-form-card .inner-soft-card{margin-top:14px}.notice-detail-hero .hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:1100px){.form-grid.five{grid-template-columns:1fr 1fr}.notice-date-row{grid-column:1/-1}}@media(max-width:700px){.form-grid.five{grid-template-columns:1fr}}

/* v0.9.7.31.2 - Aushang-Stammdaten UI Feinschliff */
.notice-admin-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:20px;align-items:center;background:linear-gradient(135deg,#fff,#f3faf4)}
.notice-admin-intro h3{margin:8px 0 6px;color:var(--portal-green-dark,#073f25);font-size:26px;line-height:1.12}
.notice-admin-intro p{margin:0;color:#526d5c;line-height:1.55;max-width:760px;font-weight:650}
.notice-admin-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.notice-admin-kpis div{background:#fff;border:1px solid #dfeadd;border-radius:18px;padding:14px 12px;text-align:center;box-shadow:0 8px 18px rgba(7,63,37,.055)}
.notice-admin-kpis strong{display:block;font-size:28px;line-height:1;color:#073f25}
.notice-admin-kpis span{display:block;margin-top:6px;color:#566f60;font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.notice-admin-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 18px}
.notice-help-card{display:grid;gap:6px;background:#fff;border:1px solid #dfeadd;border-radius:18px;padding:15px 16px;box-shadow:0 8px 20px rgba(7,63,37,.045)}
.notice-help-card strong{color:#073f25;font-size:15px}
.notice-help-card span{color:#526d5c;line-height:1.45;font-weight:650;font-size:13px}
.notice-master-layout{display:grid;grid-template-columns:repeat(2,minmax(430px,1fr));gap:18px;align-items:start}
.notice-master-card{overflow:visible}
.notice-master-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #e2ede3}
.notice-master-head h3{margin:7px 0 5px;color:#073f25;font-size:24px;line-height:1.1}
.notice-master-head p{margin:0;color:#526d5c;line-height:1.45;font-weight:650;max-width:620px}
.notice-master-head .button{white-space:nowrap;flex:0 0 auto}
.notice-master-list{display:grid;gap:10px}
.notice-master-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #e0ebe2;border-radius:16px;background:#fbfdfb;padding:13px 14px}
.notice-master-row:hover{border-color:#b8d5c0;background:#f7fcf8}
.notice-master-main{display:grid;gap:4px;min-width:0}
.notice-master-main strong{color:#073f25;font-size:15px;letter-spacing:.01em;text-transform:uppercase;word-break:break-word}
.notice-master-main span{color:#293d30;line-height:1.4;font-size:13px;overflow-wrap:anywhere}
.notice-master-main small{color:#738478;font-size:11px;overflow-wrap:anywhere}
.notice-master-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:150px}
.notice-template-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.notice-template-flags em{font-style:normal;border-radius:999px;padding:4px 8px;font-weight:900;font-size:11px;border:1px solid #dfeadd}
.notice-template-flags em.is-ok{background:#eaf7ed;color:#0e5a32;border-color:#cce8d2}
.notice-template-flags em.is-muted{background:#eef3f0;color:#567061;border-color:#d7e2dc}
.notice-empty-state{padding:18px;border:1px dashed #b8d5c0;border-radius:16px;background:#f7fbf8;color:#526d5c;font-weight:750;line-height:1.45}
.notice-homepage-note{margin-top:18px;display:flex;gap:8px;align-items:flex-start;line-height:1.45}
.notice-homepage-note strong{white-space:nowrap;color:#073f25}
.notice-form-help{display:flex;gap:10px;align-items:flex-start;background:#f8fcf8;border-color:#dfeadd;margin-bottom:16px}
.notice-form-help strong{color:#073f25;white-space:nowrap}
.notice-form-help span{color:#526d5c;line-height:1.45;font-weight:650}
.field small{display:block;margin:3px 0 6px;color:#6a7f71;font-weight:650;font-size:12px}
@media(max-width:1180px){.notice-admin-intro{grid-template-columns:1fr}.notice-master-layout{grid-template-columns:1fr}.notice-admin-help-grid{grid-template-columns:1fr 1fr}.notice-admin-kpis{max-width:620px}}
@media(max-width:760px){.notice-admin-help-grid,.notice-admin-kpis{grid-template-columns:1fr}.notice-master-head,.notice-master-row,.notice-form-help,.notice-homepage-note{display:block}.notice-master-head .button{margin-top:12px}.notice-master-actions{justify-content:flex-start;min-width:0;margin-top:10px}.notice-form-help strong,.notice-homepage-note strong{display:block;margin-bottom:5px;white-space:normal}}

/* v0.9.7.31.3 - Aushang-Termine dynamisch hinzufuegen */
.notice-date-card .card-title-row{align-items:flex-start}.notice-date-list{display:flex;flex-direction:column;gap:12px}.notice-date-row{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fbfdfb;margin-bottom:0}.notice-date-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.notice-date-row-head strong{font-size:14px;color:var(--text);letter-spacing:.02em}.notice-date-actions{display:flex;gap:8px;flex-wrap:wrap}.button.tiny{padding:7px 10px;font-size:12px;line-height:1;border-radius:12px}.button.danger-light{background:#fff4f2;border:1px solid #ffd3cc;color:#8f1d10;box-shadow:none}.button.danger-light:hover{background:#ffe9e4}.notice-date-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.notice-date-toolbar .small{font-size:12px}.notice-date-fields{margin:0}.notice-date-fields .field{margin:0}@media(max-width:900px){.notice-date-row-head{align-items:flex-start;flex-direction:column}.notice-date-actions{width:100%}.notice-date-actions .button{flex:1}.notice-date-toolbar .button{width:100%}}

/* v0.9.7.31.5 Parkplatz Uebersicht und Vergabe UI Feinschliff */
.parking-guidance-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.85rem;
    margin:0 0 1rem;
}
.parking-guide-card{
    border:1px solid #d8eade;
    background:linear-gradient(180deg,#ffffff,#f7fbf8);
    border-radius:18px;
    padding:1rem;
    box-shadow:0 10px 22px rgba(21,94,54,.06);
    display:grid;
    gap:.35rem;
}
.parking-guide-card>span{
    width:34px;
    height:34px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#eaf7ee;
    color:#0b7042;
    font-weight:950;
    border:1px solid #c9e4d1;
}
.parking-guide-card strong{color:#073f25;font-size:1rem;}
.parking-guide-card p{margin:0;color:#587064;line-height:1.45;font-size:.92rem;}
.parking-info-strip{
    display:flex;
    flex-wrap:wrap;
    gap:.55rem;
    margin:.8rem 0 1rem;
}
.parking-info-strip span{
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    border:1px solid #dceadf;
    background:#f7fbf8;
    color:#385846;
    border-radius:999px;
    padding:.48rem .72rem;
    font-size:.88rem;
    line-height:1.25;
}
.parking-hint-stack{
    display:flex;
    flex-direction:column;
    gap:.35rem;
    align-items:flex-start;
}
.parking-hint-stack small{line-height:1.35;}
.parking-form-guidance{margin-top:.25rem;}
.parking-edit-card .card-title-row{margin-bottom:1rem;}
.parking-active-check{
    align-items:flex-start;
    flex-direction:column;
    gap:.2rem;
    padding:.8rem .9rem;
    border:1px solid #dceadf;
    border-radius:14px;
    background:#fbfdfb;
}
.parking-active-check input{margin-right:.45rem;}
.parking-active-check small{display:block;color:#647067;line-height:1.35;margin-left:1.55rem;font-weight:600;}
.parking-delete-check{
    border:1px solid #efd49d;
    background:#fff8e8;
    color:#7a5200;
    border-radius:18px;
    padding:1rem;
    margin:.9rem 0 1rem;
    display:grid;
    gap:.75rem;
}
.parking-delete-check.success{
    border-color:#c9e4d1;
    background:#f0faf3;
    color:#14532d;
}
.parking-delete-check p{margin:.2rem 0 0;line-height:1.4;}
.parking-delete-facts{display:flex;flex-wrap:wrap;gap:.6rem;}
.parking-delete-facts span{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    border:1px solid rgba(0,0,0,.08);
    background:#fff;
    border-radius:999px;
    padding:.45rem .7rem;
    font-weight:850;
}
.parking-delete-check ul{margin:.1rem 0 0 1.2rem;padding:0;line-height:1.45;}
@media(max-width:980px){.parking-guidance-grid{grid-template-columns:1fr}.parking-info-strip{display:grid}.parking-info-strip span{border-radius:14px;align-items:flex-start}}

/* v0.9.7.31.6 Wasserzaehler PDF-Feldprofile */
.water-pdf-field-list {
  display: grid;
  gap: .65rem;
  margin: 1rem 0;
}
.water-pdf-field-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 86px;
  gap: .75rem;
  align-items: center;
  padding: .75rem .85rem;
  border: 1px solid rgba(11, 75, 40, .12);
  border-radius: 14px;
  background: rgba(255,255,255,.76);
}
.water-pdf-field-row span {
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.water-pdf-field-row small {
  color: var(--muted, #6b7280);
  font-size: .82rem;
}
.water-pdf-field-row input[type="number"] {
  max-width: 86px;
}
@media (max-width: 760px) {
  .water-pdf-field-row {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .water-pdf-field-row input[type="number"] {
    grid-column: 2;
  }
}


/* v0.9.7.31.7 - BV-Termine Mehrfach-Aktenbezug */
.bv-link-editor .card-title-row {
  align-items: flex-start;
  gap: 1rem;
}
.bv-link-rows {
  display: grid;
  gap: .85rem;
  margin: .9rem 0;
}
.bv-link-row,
.bv-link-detail-card {
  border: 1px solid rgba(0, 92, 55, .14);
  border-radius: 16px;
  background: rgba(255,255,255,.76);
  padding: .9rem;
  box-shadow: 0 8px 22px rgba(0, 50, 30, .04);
}
.bv-link-row-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  margin-bottom: .75rem;
}
.bv-link-row-head strong,
.bv-link-detail-number {
  color: var(--rh-green, #005c37);
  letter-spacing: .03em;
  font-weight: 800;
}
.bv-link-detail-list {
  display: grid;
  gap: .85rem;
}
.bv-link-detail-card .detail-grid {
  margin-top: .55rem;
}
@media (max-width: 760px) {
  .bv-link-editor .card-title-row,
  .bv-link-row-head {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* v0.9.7.31.8 - BV-Termine Detailansicht Tabs UI */
.bv-detail-hero-v2{align-items:center;background:linear-gradient(135deg,#fff,#f4fbf6)}
.bv-detail-hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}
.bv-detail-kpis{margin-bottom:16px}
.bv-detail-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:8px;border:1px solid #dfeadd;background:#edf7ef;border-radius:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.bv-detail-tabs a{display:flex;flex-direction:column;gap:2px;text-decoration:none;background:#fff;border:0;border-radius:16px;padding:11px 16px;min-width:150px;color:#244d31;font-weight:900;box-shadow:0 5px 14px rgba(7,63,37,.045);transition:.15s ease}
.bv-detail-tabs a span{font-size:14px;line-height:1.15}
.bv-detail-tabs a small{font-size:11px;color:#6b7c70;font-weight:850;line-height:1.15}
.bv-detail-tabs a.active{background:var(--portal-green,#00723f);color:#fff;box-shadow:0 8px 18px rgba(7,63,37,.18)}
.bv-detail-tabs a.active small{color:rgba(255,255,255,.84)}
.bv-detail-tabs a:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(7,63,37,.10)}
.bv-tab-panel{animation:tenantTabIn .16s ease-out}
.detail-grid.four,.bv-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 16px}
.detail-grid.four>div,.bv-overview-grid>div{border:1px solid #dfeadd;background:#fbfdfb;border-radius:16px;padding:12px 14px;min-width:0}
.detail-grid.four span,.bv-overview-grid span{display:block;color:#6b7c70;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.detail-grid.four strong,.bv-overview-grid strong{display:block;color:#073f25;font-size:15px;line-height:1.25;word-break:break-word}
.detail-grid.four small,.bv-overview-grid small{display:block;margin-top:4px;color:#6b7c70;font-weight:800}
.bv-text-card{border:1px solid #dfeadd;background:#fff;border-radius:18px;padding:15px 16px;margin-top:12px;box-shadow:0 8px 20px rgba(7,63,37,.035)}
.bv-text-card h4{margin:0 0 8px;color:#073f25;font-size:15px}
.bv-text-card p{margin:0;color:#183526;line-height:1.55;font-weight:650}
.bv-text-card.muted-card{background:#f8fbf9}
.bv-links-table-wrap{overflow-x:auto;border:1px solid #dfeadd;border-radius:18px;background:#fff}
.bv-links-table{margin:0;border:0;box-shadow:none}
.bv-links-table td,.bv-links-table th{vertical-align:middle}
.bv-links-table td:first-child{width:54px;color:#073f25}
.bv-links-table .table-actions{min-width:220px}
.bv-history-timeline{margin-top:14px}
@media(max-width:1180px){.detail-grid.four,.bv-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bv-detail-tabs a{flex:1 1 calc(50% - 10px)}}
@media(max-width:680px){.detail-grid.four,.bv-overview-grid{grid-template-columns:1fr}.bv-detail-tabs{display:grid}.bv-detail-tabs a{min-width:0}.bv-detail-hero-v2{display:grid}.bv-links-table .table-actions{min-width:170px}}

/* v0.9.7.31.14 - Guthabenbelege / Rueckzahlung */
.credit-refund-details {
  margin-top: 6px;
  font-size: 0.9rem;
}
.credit-refund-details summary {
  cursor: pointer;
  color: var(--primary, #26643b);
  font-weight: 700;
}
.credit-refund-form {
  display: grid;
  grid-template-columns: 90px 130px minmax(140px, 1fr);
  gap: 6px;
  margin-top: 8px;
  align-items: center;
}
.credit-refund-form input {
  min-width: 0;
}
.credit-refund-form button {
  grid-column: 1 / -1;
  justify-self: start;
}
@media (max-width: 760px) {
  .credit-refund-form {
    grid-template-columns: 1fr;
  }
}

/* v0.9.7.31.15 - Jahresabrechnung: Parzellen ohne Rechnung */
.lease-status-cell {
  min-width: 230px;
}
.lease-status-cell select,
.lease-status-cell input[type="text"] {
  width: 100%;
  margin-bottom: .35rem;
}
.no-invoice-summary-card .compact-table td,
.no-invoice-summary-card .compact-table th {
  padding-top: .45rem;
  padding-bottom: .45rem;
}

/* v0.9.7.31.16 - Jahresabrechnung Pruefliste Livesuche */
.annual-checklist-search-card {
  margin-bottom: 1rem;
}
.annual-checklist-search-head {
  align-items: center;
}
.annual-checklist-counter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  border: 1px solid #d8eadf;
  background: #f4faf6;
  color: #0b4228;
  border-radius: 999px;
  padding: .55rem .85rem;
  font-weight: 900;
  white-space: nowrap;
}
.annual-checklist-search-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) minmax(220px, .8fr);
  gap: 1rem;
  align-items: start;
  margin-top: .75rem;
}
.annual-checklist-search-grid .field {
  margin: 0;
}
.annual-checklist-search-grid input[type="search"] {
  width: 100%;
  border: 1px solid #cfe1d6;
  border-radius: 14px;
  padding: .8rem .95rem;
  background: #fff;
  color: #073f25;
  font: inherit;
  font-weight: 750;
}
.annual-checklist-search-grid input[type="search"]:focus {
  outline: none;
  border-color: #0b6b3a;
  box-shadow: 0 0 0 3px rgba(11,107,58,.11);
}
.annual-plot-search-field {
  background: #f7fbf8;
  border: 1px solid #dbece3;
  border-radius: 16px;
  padding: .75rem;
}
.annual-plot-search-field small {
  display: block;
  margin-top: .35rem;
  color: #60746a;
  font-weight: 750;
  line-height: 1.35;
}
.annual-checklist-table tr[hidden],
.annual-checklist-no-results[hidden] {
  display: none !important;
}
.annual-checklist-no-results td {
  border-bottom: 0;
  padding: 1rem;
}
@media (max-width: 900px) {
  .annual-checklist-search-grid {
    grid-template-columns: 1fr;
  }
  .annual-checklist-search-head {
    align-items: flex-start;
  }
}
/* v0.9.7.31.17 Rechnung-Pruefarbeitsplatz: Navigation oben, Arbeitsaktionen unter der Summe */
.invoice-top-nav{justify-content:flex-end;align-items:center}.invoice-review-actions{margin-top:14px;background:linear-gradient(135deg,#fbfdfb,#fff);border-left:5px solid var(--green)}.invoice-review-actions-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.invoice-review-actions-head h3{margin:5px 0 4px;color:#073f25}.invoice-review-action-buttons{gap:10px;align-items:center}.invoice-review-action-buttons form{display:inline-flex;margin:0}.invoice-review-action-buttons .button{min-height:42px}.invoice-link-card{border-left:5px solid #8aa897}@media(max-width:760px){.invoice-top-nav,.invoice-review-action-buttons{display:grid;grid-template-columns:1fr}.invoice-top-nav .button,.invoice-review-action-buttons .button,.invoice-review-action-buttons form,.invoice-review-action-buttons button{width:100%;text-align:center;justify-content:center}.invoice-review-actions-head{display:grid}.invoice-review-actions-head .button{width:100%;}}

.danger-soft .metric{color:var(--danger)}

/* v0.9.7.31.20 Zahlungen: Parzellensuche und kompakte Offene-Posten-UI */
.payment-filter-grid{grid-template-columns:minmax(230px,1.6fr) minmax(190px,1fr) repeat(3,minmax(135px,1fr)) auto!important;}
.payment-invoice-tools-extended{grid-template-columns:minmax(220px,1.4fr) minmax(180px,.9fr) minmax(160px,220px)!important;}
.payment-invoice-results-compact{display:block!important;max-height:300px!important;overflow:auto;padding:3px;border:1px solid #e4f0e6;border-radius:16px;background:#fbfdfb;}
.payment-invoice-start{padding:18px;border:1px dashed #cfe5d4;border-radius:14px;background:#fff;color:#60786a;font-weight:800;text-align:center;}
.payment-invoice-row{width:100%;grid-template-columns:130px 110px minmax(180px,1fr) minmax(160px,1fr) 120px auto!important;align-items:center;gap:10px;border-radius:12px!important;margin:0 0 6px!important;padding:10px 12px!important;box-shadow:none!important;}
.payment-invoice-row .invoice-no,.payment-invoice-row .invoice-plot,.payment-invoice-row .invoice-person,.payment-invoice-row .invoice-amount{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.payment-invoice-row .invoice-plot{font-weight:900;color:#164a2d;}
.payment-invoice-row .invoice-meta{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.payment-open-tools{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(190px,.9fr) minmax(150px,220px) auto;gap:10px;align-items:center;margin:0 0 14px;}
.payment-open-tools input,.payment-open-tools select{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;}
.payment-open-table th{position:sticky;top:0;z-index:1;}
.payment-open-table td{padding:10px 11px!important;vertical-align:middle;}
.payment-open-row[hidden],.payment-invoice-row[hidden]{display:none!important;}
.payment-row-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:210px;}
.payment-row-actions .btn-small{padding:7px 9px!important;white-space:nowrap;}
.payment-open-empty{padding:18px;border:1px dashed #dcefe2;border-radius:16px;background:#fff;color:#60786a;font-weight:800;margin-top:12px;text-align:center;}
@media(max-width:1250px){.payment-filter-grid{grid-template-columns:1fr 1fr 1fr!important}.payment-filter-grid .form-actions{grid-column:1/-1}.payment-invoice-row{grid-template-columns:1fr 1fr!important}.payment-invoice-row .badge{justify-self:start}.payment-open-tools{grid-template-columns:1fr 1fr}.payment-open-tools #paymentOpenShowAll{justify-self:start}}
@media(max-width:760px){.payment-filter-grid,.payment-invoice-tools-extended,.payment-open-tools{grid-template-columns:1fr!important}.payment-row-actions{display:grid;grid-template-columns:1fr}.payment-row-actions .btn-small{text-align:center}}

/* v0.9.7.31.21 Zahlungen: klarer Pruef- und Erfolgsmodus */
.payment-workflow-card {
  border: 1px solid #d7eadf;
  background: linear-gradient(135deg, #ffffff 0%, #f5fbf7 100%);
  box-shadow: 0 16px 42px rgba(7, 63, 37, .08);
}
.payment-workflow-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}
.payment-workflow-steps span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border-radius: 999px;
  border: 1px solid #dfece3;
  background: #fff;
  color: #6b7d71;
  font-weight: 900;
  font-size: .9rem;
  text-align: center;
}
.payment-workflow-steps span.done {
  background: #eaf7ef;
  color: #074326;
  border-color: #bfe1cb;
}
.payment-workflow-steps span.active {
  background: var(--green, #006b3f);
  color: #fff;
  border-color: var(--green, #006b3f);
  box-shadow: 0 8px 20px rgba(0, 107, 63, .18);
}
.payment-workflow-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 18px;
}
.payment-workflow-head h3 {
  margin: 0 0 6px;
  color: #063f25;
  font-size: 1.55rem;
}
.payment-workflow-head .eyebrow {
  margin: 0 0 4px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .76rem;
  font-weight: 950;
  color: #1e6a42;
}
.payment-focus-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.payment-focus-grid > div {
  border: 1px solid #dfece3;
  background: #fff;
  border-radius: 16px;
  padding: 13px 14px;
  min-height: 68px;
}
.payment-focus-grid span {
  display: block;
  margin-bottom: 5px;
  color: #60746a;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .045em;
}
.payment-focus-grid strong {
  display: block;
  color: #073f25;
  font-size: 1rem;
  line-height: 1.25;
  word-break: break-word;
}
.payment-workflow-result {
  margin: 16px 0 0;
  padding: 15px 16px;
  border-radius: 16px;
  border: 1px solid #d8eadf;
  background: #f7fbf8;
  color: #073f25;
  font-weight: 900;
  line-height: 1.45;
}
.payment-workflow-result.paid {
  border-color: #bfe1cb;
  background: #eaf7ef;
}
.payment-workflow-result.partial {
  border-color: #eadfbf;
  background: #fff9e8;
}
.payment-workflow-result.credit {
  border-color: #d8c6ef;
  background: #f6f0ff;
}
.payment-confirm-actions.payment-success-actions,
.payment-confirm-actions {
  margin-top: 18px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.payment-success-actions {
  justify-content: flex-start !important;
}
.payment-success-card {
  border-left: 6px solid #0b7a42;
}
.payment-review-card {
  border-left: 6px solid #d69b00;
}
@media (max-width: 1100px) {
  .payment-focus-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .payment-workflow-steps {
    grid-template-columns: 1fr;
  }
  .payment-workflow-head {
    display: grid;
  }
  .payment-focus-grid {
    grid-template-columns: 1fr;
  }
  .payment-confirm-actions,
  .payment-confirm-actions.payment-success-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .payment-confirm-actions .button {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}


/* v0.9.7.31.22 Zahlungen: Kompaktkopf und klarere Arbeitsbereiche */
.payment-status-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 18px;
}
.payment-status-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:12px 16px;
  box-shadow:0 10px 24px rgba(31,111,67,.055);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:56px;
}
.payment-status-item span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
  color:#4d715a;
}
.payment-status-item strong{
  font-size:22px;
  line-height:1;
  color:var(--portal-green-dark,#003f24);
  white-space:nowrap;
}
.payment-filter-card{
  border-style:dashed!important;
  background:linear-gradient(180deg,#fbfffc,#f7fbf8)!important;
  margin-bottom:14px!important;
}
.payment-filter-card .toolbar h3{
  font-size:20px!important;
}
.payment-area-heading{
  margin:4px 0 10px;
  padding:14px 18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(135deg,#eef8f1,#ffffff);
  box-shadow:0 10px 25px rgba(31,111,67,.05);
}
.payment-area-heading h3{
  margin:0 0 2px;
  font-size:24px;
  color:var(--portal-green-dark,#003f24);
}
.payment-area-heading .eyebrow,
.payment-section-toolbar .eyebrow{
  margin:0 0 3px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  color:#4d715a;
}
.payment-entry-card{
  border-top:4px solid var(--green)!important;
  margin-bottom:16px!important;
}
.payment-tabs{
  margin-top:4px!important;
  padding:10px!important;
  background:#eef8f1!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
}
.payment-open-card,
.payment-journal-card{
  border-top:3px solid #c7dfce!important;
}
.payment-section-toolbar h3{
  margin-top:0!important;
}
@media(max-width:900px){
  .payment-status-strip{grid-template-columns:1fr 1fr;}
  .payment-status-item{align-items:flex-start;flex-direction:column;gap:6px;}
}
@media(max-width:560px){
  .payment-status-strip{grid-template-columns:1fr;}
}

/* v0.9.7.31.23 - Vorgangsakte Übersicht Workflow UI */
.case-overview-focus-layout{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);}
.case-work-panel-focus{border-left:6px solid #0b7042;background:linear-gradient(180deg,#fff,#f8fcf9);}
.case-work-status-board{display:grid;grid-template-columns:1.15fr .85fr .95fr;gap:10px;margin:0 0 12px;}
.case-work-status-main{border:1px solid #dcebe0;background:#fff;border-radius:16px;padding:12px 13px;display:grid;gap:3px;min-height:82px;}
.case-work-status-main span{font-size:.74rem;text-transform:uppercase;letter-spacing:.055em;color:#61766a;font-weight:950;}
.case-work-status-main strong{font-size:1.05rem;color:#073f25;line-height:1.2;}
.case-work-status-main small{color:#62766a;font-weight:750;line-height:1.3;}
.case-work-status-main.is-warning{background:#fffaf0;border-color:#edd49b;}
.case-work-status-main.is-danger{background:#fff7f7;border-color:#efb4b4;}
.case-next-step-panel-focus{margin-bottom:12px;}
.case-workflow-action-form .field{margin-bottom:10px;}
.case-status-action-hint{font-size:.78rem;text-transform:uppercase;letter-spacing:.055em;color:#61766a;font-weight:950;margin:0 0 8px;}
.case-status-actions-workflow{display:flex;flex-wrap:wrap;gap:8px;}
.case-status-actions-workflow .button{min-height:40px;}
.case-status-actions-workflow .case-close-action{background:#064e3b;color:#fff;border-color:#064e3b;box-shadow:0 10px 22px rgba(6,78,59,.18);}
.case-status-actions-workflow .case-close-action:hover{background:#043a2c;border-color:#043a2c;}
.case-file-side-card-focus{background:#fff;}
.case-detail-fields-compact{gap:8px;}
.case-detail-fields-compact>div{padding:10px 11px;border-radius:14px;}
.case-overview-content-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:16px;margin:0 0 16px;align-items:start;}
.case-text-panel-preview{border-color:#d9eadf;}
.case-prose-preview{max-height:360px;overflow:hidden;position:relative;}
.case-prose-full-details{margin-top:10px;border:1px solid #dcebe0;border-radius:16px;background:#f8fcf9;overflow:hidden;}
.case-prose-full-details summary{cursor:pointer;padding:12px 14px;font-weight:950;color:#073f25;list-style:none;}
.case-prose-full-details summary::-webkit-details-marker{display:none;}
.case-prose-full-details summary:before{content:'+';display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#eaf6ef;margin-right:8px;color:#0b7042;font-weight:950;}
.case-prose-full-details[open] summary:before{content:'-';}
.case-prose-full-details .case-prose{margin:0 12px 12px;max-height:680px;overflow:auto;}
.case-result-panel{border-color:#d9eadf;}
.case-result-empty{display:grid;gap:7px;text-align:left;align-items:start;}
.case-result-empty strong{color:#073f25;}
.case-result-empty span{color:#62766a;font-weight:750;line-height:1.45;}
.case-result-empty .button{width:max-content;margin-top:4px;}
.case-working-list-focus{margin-top:2px;}
@media(max-width:1180px){.case-overview-focus-layout,.case-overview-content-grid{grid-template-columns:1fr}.case-work-status-board{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.case-work-status-board{grid-template-columns:1fr}.case-status-actions-workflow .button{width:100%;justify-content:center}.case-result-empty .button{width:100%;justify-content:center}}

/* v0.9.7.31.24 - Kassenbuch Barkasse */
.cashbook-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.25rem 1.35rem;
  border: 1px solid rgba(10, 92, 53, .12);
  background: linear-gradient(135deg, rgba(237, 248, 241, .95), rgba(255,255,255,.96));
}
.cashbook-hero h2 {
  margin: .15rem 0 .25rem;
  color: #064729;
}
.cashbook-hero p { margin: 0; color: #486358; }
.cashbook-actions { display: flex; gap: .55rem; flex-wrap: wrap; justify-content: flex-end; }
.cashbook-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
  margin: .95rem 0 1rem;
}
.cashbook-kpis article {
  border: 1px solid rgba(10, 92, 53, .12);
  border-radius: 16px;
  background: #fff;
  padding: .95rem 1rem;
  box-shadow: 0 10px 26px rgba(9, 68, 40, .06);
}
.cashbook-kpis span,
.cashbook-check-grid span { display: block; color: #587066; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.cashbook-kpis strong { display: block; margin-top: .25rem; color: #064729; font-size: 1.32rem; }
.cashbook-kpis em { display: block; margin-top: .18rem; color: #6f8279; font-style: normal; font-size: .82rem; }
.cashbook-filter-card { margin-bottom: 1rem; }
.cashbook-card .section-head { align-items: center; }
.cashbook-table-wrap { overflow-x: auto; }
.cashbook-table th.right,
.cashbook-table td.right { text-align: right; white-space: nowrap; }
.cashbook-table td { vertical-align: top; }
.cashbook-table .positive { color: #076637; font-weight: 700; }
.cashbook-table .negative { color: #9b2c2c; font-weight: 700; }
.cashbook-opening-row td {
  background: rgba(237, 248, 241, .92);
  border-top: 1px solid rgba(10, 92, 53, .18);
  border-bottom: 1px solid rgba(10, 92, 53, .18);
}
.cashbook-table .is-muted-row td { opacity: .72; background: #fafafa; }
.cashbook-check-card { margin-top: 1rem; }
.cashbook-check-card p { color: #61776e; margin-top: -.25rem; }
.cashbook-check-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  margin-top: 1rem;
}
.cashbook-check-grid div {
  background: #fbfdfb;
  border: 1px dashed rgba(10, 92, 53, .28);
  border-radius: 14px;
  padding: .85rem .95rem;
}
.cashbook-check-grid strong { display: block; margin-top: .3rem; color: #073f26; }
@media (max-width: 900px) {
  .cashbook-hero { flex-direction: column; }
  .cashbook-kpis,
  .cashbook-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .cashbook-kpis,
  .cashbook-check-grid { grid-template-columns: 1fr; }
}

/* v0.9.7.31.25 - Kassensturz / Zählprotokoll */
.cash-count-hero {
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:18px;
  border-left:5px solid #14532d;
}
.cash-count-hero h2 { margin:4px 0 6px; }
.cash-count-hero-balance {
  min-width:240px;
  border:1px solid var(--border, #d9e2ec);
  border-radius:16px;
  padding:14px 16px;
  background:linear-gradient(180deg,#f8fafc,#fff);
  text-align:right;
}
.cash-count-hero-balance span,
.cash-count-hero-balance em { display:block; color:var(--muted,#64748b); font-size:.84rem; font-style:normal; }
.cash-count-hero-balance strong { display:block; font-size:1.6rem; margin:4px 0; }
.cash-count-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:18px;
  align-items:start;
}
.cash-count-denominations {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
  margin:14px 0;
}
.cash-count-denom-row {
  display:grid;
  grid-template-columns:76px 90px 1fr;
  gap:10px;
  align-items:center;
  padding:8px 10px;
  border:1px solid var(--border,#d9e2ec);
  border-radius:12px;
  background:#fff;
}
.cash-count-denom-row span { font-weight:700; }
.cash-count-denom-row input { width:100%; text-align:right; }
.cash-count-denom-row em { color:var(--muted,#64748b); font-style:normal; text-align:right; }
.cash-count-summary-box {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:14px 0 18px;
}
.cash-count-summary-box > div {
  border:1px solid var(--border,#d9e2ec);
  border-radius:14px;
  padding:12px;
  background:#f8fafc;
}
.cash-count-summary-box span { display:block; color:var(--muted,#64748b); font-size:.82rem; }
.cash-count-summary-box strong { display:block; margin-top:3px; font-size:1.15rem; }
.cash-count-meta-grid { grid-template-columns:1fr; }
.cash-count-side-card { position:sticky; top:90px; }
.cash-count-protocol-list { display:flex; flex-direction:column; gap:10px; }
.cash-count-protocol-item {
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid var(--border,#d9e2ec);
  border-radius:14px;
  background:#fff;
}
.cash-count-protocol-item .right { text-align:right; }
@media (max-width: 980px) {
  .cash-count-grid { grid-template-columns:1fr; }
  .cash-count-side-card { position:static; }
  .cash-count-hero { flex-direction:column; }
  .cash-count-hero-balance { text-align:left; min-width:0; }
}
@media (max-width: 720px) {
  .cash-count-denominations { grid-template-columns:1fr; }
  .cash-count-summary-box { grid-template-columns:1fr; }
  .cash-count-protocol-item { grid-template-columns:1fr; }
  .cash-count-protocol-item .right { text-align:left; }
}

/* v0.9.7.31.26 - Kassenbuch Barkasse UI Feinschliff */
.cashbook-hero-compact {
  align-items: center;
  padding: 1rem 1.15rem;
  margin-bottom: .75rem;
}
.cashbook-hero-balance {
  min-width: 230px;
  border: 1px solid rgba(10, 92, 53, .18);
  border-radius: 18px;
  background: #fff;
  padding: .8rem 1rem;
  text-align: right;
  box-shadow: 0 10px 22px rgba(9, 68, 40, .06);
}
.cashbook-hero-balance span {
  display: block;
  color: #597065;
  font-size: .74rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .045em;
}
.cashbook-hero-balance strong {
  display: block;
  margin-top: .22rem;
  color: #064729;
  font-size: 1.45rem;
  line-height: 1.1;
}
.cashbook-hero-balance em {
  display: block;
  margin-top: .14rem;
  color: #6e8178;
  font-style: normal;
  font-size: .82rem;
}
.cashbook-kpis-compact {
  gap: .55rem;
  margin: .75rem 0 .75rem;
}
.cashbook-kpis-compact article {
  padding: .72rem .82rem;
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(9, 68, 40, .045);
}
.cashbook-kpis-compact span {
  font-size: .7rem;
}
.cashbook-kpis-compact strong {
  margin-top: .16rem;
  font-size: 1.05rem;
}
.cashbook-kpis-compact em {
  font-size: .76rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cashbook-kpis-compact article.is-primary {
  border-color: rgba(6, 78, 59, .28);
  background: linear-gradient(135deg, #f2fbf5, #fff);
}
.cashbook-kpis-compact article.is-primary strong {
  font-size: 1.22rem;
}
.cashbook-check-card-focus {
  margin: .75rem 0 1rem;
  border-left: 5px solid #14532d;
  background: linear-gradient(135deg, #f6fcf8, #fff);
}
.cashbook-check-card-focus .journal-section-head {
  gap: 1rem;
}
.cashbook-check-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  justify-content: flex-end;
}
.cashbook-check-grid-compact {
  margin-top: .75rem;
  gap: .55rem;
}
.cashbook-check-grid-compact div {
  padding: .68rem .78rem;
  border-style: solid;
  background: #fff;
}
.cashbook-check-grid-compact span {
  font-size: .68rem;
}
.cashbook-check-grid-compact strong {
  font-size: .98rem;
}
.cashbook-check-grid-compact strong.negative { color: #9b2c2c; }
.cashbook-check-grid-compact strong.positive { color: #076637; }
.cashbook-filter-card {
  padding: .9rem 1rem;
}
.cashbook-filter-card .journal-filter-panel-modern {
  align-items: end;
  gap: .65rem;
}
.cashbook-card {
  margin-top: .95rem;
}
.cashbook-table th {
  white-space: nowrap;
}
.cashbook-table td {
  padding-top: .7rem;
  padding-bottom: .7rem;
}
.cashbook-table td:nth-last-child(2),
.cashbook-table th:nth-last-child(2) {
  background: rgba(237, 248, 241, .44);
}
.cashbook-table td:nth-last-child(2) strong {
  color: #064729;
}
.cashbook-ending-row td {
  background: #edf8f1;
  border-top: 2px solid rgba(10, 92, 53, .22);
  font-size: .96rem;
}
.cashbook-table .badge + .status-pill,
.cashbook-table .badge + .muted-small,
.cashbook-table .status-pill + .muted-small {
  margin-left: .35rem;
}
@media (max-width: 900px) {
  .cashbook-hero-balance { width: 100%; text-align: left; }
  .cashbook-check-actions { justify-content: flex-start; }
}

/* v0.9.7.31.27 - Journal & Konten UI Strukturklarheit */
.journal-dashboard-compact{
  grid-template-columns:repeat(5,minmax(150px,1fr));
  gap:10px;
  margin:12px 0 14px;
}
.journal-dashboard-compact .journal-kpi-card{
  min-height:0;
  padding:12px 14px;
  border-radius:16px;
  box-shadow:0 8px 20px rgba(0,55,35,.045);
}
.journal-dashboard-compact .journal-kpi-card:after{
  width:58px;
  height:58px;
  right:-18px;
  bottom:-20px;
  opacity:.75;
}
.journal-dashboard-compact .journal-kpi-card span{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.journal-dashboard-compact .journal-kpi-card strong{
  font-size:20px;
  margin-top:5px;
}
.journal-dashboard-compact .journal-kpi-card em{
  font-size:11px;
  margin-top:3px;
}
.journal-dashboard-compact .journal-kpi-card.is-balance{
  border-color:rgba(0,97,53,.22);
  background:linear-gradient(135deg,#ffffff,#eef8f1);
}
.journal-dashboard-compact .journal-kpi-card.is-balance strong{
  font-size:22px;
}
.journal-accounts-card{
  padding:16px;
  margin-top:12px;
}
.journal-section-head-compact{
  margin-bottom:10px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(0,55,35,.08);
}
.journal-section-head-compact .eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-bottom:5px;
  padding:4px 9px;
  border-radius:999px;
  background:#eef8f1;
  color:#0b6338;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.journal-account-grid{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:10px;
}
.journal-account-card{
  border-radius:16px;
  padding:12px;
  box-shadow:0 7px 18px rgba(0,55,35,.035);
}
.journal-account-card header{
  padding-bottom:8px;
}
.journal-account-card header strong{
  font-size:14px;
}
.journal-account-card header small{
  font-size:11px;
  margin-top:2px;
}
.journal-account-card dl{
  margin-top:8px;
  gap:4px;
}
.journal-account-card dt,
.journal-account-card dd{
  font-size:12px;
}
.journal-account-card footer{
  margin-top:9px;
  padding-top:9px;
}
.journal-account-card footer strong{
  font-size:16px;
}
.journal-list-card{
  margin-top:14px;
  padding:16px;
}
.journal-list-card .journal-section-head{
  box-shadow:none;
  border-radius:16px;
  padding:12px 14px;
  background:linear-gradient(135deg,#ffffff,#f7fbf8);
}
.journal-export-actions .button{
  white-space:nowrap;
}
.journal-filter-panel-modern{
  margin-top:12px;
  border-radius:16px;
  padding:12px;
  grid-template-columns:105px 130px minmax(170px,.9fr) 130px 105px minmax(230px,1fr) auto;
}
.journal-quickbar{
  padding:8px;
  margin-top:10px;
  border-radius:15px;
}
.journal-quickchip{
  min-height:30px;
  padding:6px 11px;
  font-size:12px;
}
.journal-list-summary{
  background:#f7fbf8;
  border:1px solid rgba(0,55,35,.08);
  border-radius:14px;
  padding:9px 12px;
}
.journal-month-header{
  border-radius:15px;
  padding:10px 12px;
}
.journal-month-header dl div{
  padding:7px 9px;
  border-radius:12px;
}
.journal-ledger-head{
  border-radius:14px;
  padding:9px 12px;
  background:#edf7f0;
}
.journal-ledger-list{
  gap:8px;
}
.journal-ledger-row{
  border-radius:16px;
  padding:11px 12px;
  box-shadow:0 7px 18px rgba(0,55,35,.04);
}
.journal-ledger-row:before{
  top:11px;
  bottom:11px;
}
.journal-ledger-no span{
  height:30px;
  min-width:46px;
  font-size:12px;
}
.journal-ledger-date strong{
  font-size:13px;
}
.journal-ledger-date .voucher-code{
  padding:4px 8px;
  font-size:11px;
}
.journal-ledger-title strong{
  font-size:14px;
}
.journal-ledger-meta span{
  padding:4px 8px;
  font-size:11px;
}
.journal-ledger-amount .amount{
  font-size:15px;
}
.journal-ledger-row.is-expense .journal-ledger-amount{
  padding:7px 9px;
  border-radius:13px;
}
@media(max-width:1400px){
  .journal-dashboard-compact{grid-template-columns:repeat(3,minmax(150px,1fr));}
  .journal-filter-panel-modern{grid-template-columns:repeat(3,minmax(0,1fr));}
  .journal-filter-panel-modern .wide{grid-column:span 2;}
}
@media(max-width:840px){
  .journal-dashboard-compact,.journal-filter-panel-modern{grid-template-columns:1fr;}
  .journal-filter-panel-modern .wide{grid-column:auto;}
  .journal-section-head-compact{display:grid;gap:10px;}
}

/* v0.9.7.31.28 Mitgliederkonto Fundament */
.member-account-workspace {
    display: grid;
    gap: 18px;
}
.member-account-intro .section-heading {
    align-items: flex-start;
}
.member-account-principles,
.member-account-nextsteps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}
.member-account-nextsteps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.member-account-principles > div,
.member-account-nextsteps > div {
    border: 1px solid rgba(0, 80, 45, 0.12);
    background: rgba(236, 248, 241, 0.64);
    border-radius: 14px;
    padding: 12px 14px;
}
.member-account-principles strong,
.member-account-nextsteps strong {
    display: block;
    color: #00472a;
    margin-bottom: 4px;
}
.member-account-principles span,
.member-account-nextsteps span {
    color: #517064;
    font-size: 0.92rem;
}
.member-account-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 16px;
}
.member-account-card {
    display: grid;
    gap: 14px;
}
.member-account-status-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.member-security-events h4 {
    margin: 0 0 8px;
    color: #00472a;
}
.member-account-action-note {
    border-top: 1px solid rgba(0, 80, 45, 0.12);
    padding-top: 12px;
}
.warning-panel {
    border-color: rgba(160, 100, 0, 0.25);
    background: linear-gradient(135deg, rgba(255, 248, 224, 0.92), rgba(255, 255, 255, 0.96));
}
.compact-empty {
    padding: 10px 12px;
}
@media (max-width: 860px) {
    .member-account-principles,
    .member-account-nextsteps,
    .member-account-status-list {
        grid-template-columns: 1fr;
    }
}

/* v0.9.7.31.29 Mitgliederkonto Admin-Aktionen */
.member-account-admin-form {
    margin-top: 16px;
    border-top: 1px solid rgba(0, 80, 45, 0.12);
    padding-top: 16px;
}
.member-account-prepare-form .form-grid {
    align-items: end;
}
.member-account-admin-actions {
    border-top: 1px solid rgba(0, 80, 45, 0.12);
    padding-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.member-account-admin-actions .compact-heading {
    flex: 1 1 100%;
    margin-bottom: 0;
}
.inline-action-form {
    display: inline-flex;
    margin: 0;
}
.align-end {
    align-self: end;
}
.danger-btn {
    background: #b42318 !important;
    color: #fff !important;
    border-color: #b42318 !important;
}
.warning-btn {
    background: #fff7e6 !important;
    color: #7a4b00 !important;
    border-color: rgba(160, 100, 0, 0.35) !important;
}
.member-account-admin-actions .btn-small {
    white-space: nowrap;
}
@media (max-width: 720px) {
    .member-account-admin-actions .inline-action-form,
    .member-account-admin-actions .btn-small {
        width: 100%;
    }
}

/* v0.9.7.31.31 Mitgliederkonto E-Mail-Vorbereitung */
.member-mail-outbox-preview {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(22, 101, 52, .12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(240,253,244,.75), rgba(255,255,255,.95));
}
.member-mail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .7rem 0 1rem;
}
.member-mail-table td,
.member-mail-table th {
  vertical-align: top;
}
.member-mail-table .btn-small {
  white-space: nowrap;
}

/* v0.9.7.31.33 - Mitgliederkonto Passkey-Service Vorbereitung */
.member-passkey-panel {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--border, #d9e2dc);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,248,.96));
}
.member-passkey-table code,
.member-passkey-archive code {
  display: inline-block;
  padding: .18rem .42rem;
  border-radius: 8px;
  background: #eef3ef;
  font-size: .78rem;
  letter-spacing: .04em;
}
.member-passkey-actions {
  min-width: 260px;
}
.member-passkey-rename-form {
  display: flex;
  gap: .4rem;
  align-items: center;
  margin-bottom: .35rem;
}
.member-passkey-rename-form input[type="text"] {
  min-width: 145px;
  max-width: 190px;
  padding: .42rem .55rem;
  border: 1px solid var(--border, #d9e2dc);
  border-radius: 10px;
  font-size: .86rem;
}
.member-passkey-archive {
  margin-top: .75rem;
  border-top: 1px dashed var(--border, #d9e2dc);
  padding-top: .65rem;
}
.member-passkey-archive summary {
  cursor: pointer;
  font-weight: 700;
  color: #31523a;
}
@media (max-width: 760px) {
  .member-passkey-rename-form { flex-direction: column; align-items: stretch; }
  .member-passkey-rename-form input[type="text"] { max-width: none; width: 100%; }
}

/* v0.9.7.31.34 Mitglieder Datenschutz-Center Vorbereitung */
.member-privacy-center-panel {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(22, 101, 52, .14);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(240,253,244,.72), rgba(255,255,255,.96));
}
.member-privacy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}
.member-privacy-box {
  border: 1px solid rgba(15, 76, 45, .12);
  border-radius: 14px;
  background: rgba(255,255,255,.86);
  padding: .85rem;
}
.member-privacy-box > strong,
.member-privacy-history h5 {
  display: block;
  margin: 0 0 .6rem;
  color: #00472a;
}
.member-privacy-box dl {
  margin: 0;
  display: grid;
  gap: .45rem;
}
.member-privacy-box dl div {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: .6rem;
  border-bottom: 1px dashed rgba(15, 76, 45, .12);
  padding-bottom: .35rem;
}
.member-privacy-box dt {
  color: #5f766d;
  font-size: .88rem;
}
.member-privacy-box dd {
  margin: 0;
  font-weight: 650;
  color: #173a2c;
}
.member-privacy-consent-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .5rem;
}
.member-privacy-consent-list li {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
  border-bottom: 1px dashed rgba(15, 76, 45, .12);
  padding-bottom: .35rem;
}
.member-privacy-export-outline {
  margin-top: .9rem;
  border: 1px solid rgba(15, 76, 45, .12);
  border-radius: 14px;
  padding: .75rem .85rem;
  background: rgba(255,255,255,.78);
}
.member-privacy-export-outline summary {
  cursor: pointer;
  font-weight: 700;
  color: #00472a;
}
.member-privacy-outline-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  margin-top: .8rem;
}
.member-privacy-outline-grid strong {
  display: block;
  margin-bottom: .35rem;
  color: #00472a;
}
.member-privacy-outline-grid p {
  margin: .2rem 0;
  font-size: .9rem;
}
.member-privacy-outline-grid p span {
  color: #5f766d;
}
.member-privacy-history {
  margin-top: .9rem;
}
.member-privacy-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .9rem;
}
@media (max-width: 860px) {
  .member-privacy-grid,
  .member-privacy-outline-grid {
    grid-template-columns: 1fr;
  }
  .member-privacy-box dl div {
    grid-template-columns: 1fr;
    gap: .15rem;
  }
}


/* v0.9.7.31.36 - Pruefliste Rechnungs-PDF Direktaktion */
.annual-checklist-actions {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
}
.annual-checklist-pdf-btn {
  white-space: nowrap;
}
@media (max-width: 760px) {
  .annual-checklist-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .annual-checklist-actions .btn-small {
    text-align: center;
  }
}

/* v0.9.7.31.38 - Zahlungen: Korrektur einfacher Zahlungsdaten */
.payment-journal-actions {
  min-width: 260px;
}
.payment-correction-details {
  margin-bottom: 8px;
}
.payment-correction-details > summary {
  display: inline-flex;
  list-style: none;
  cursor: pointer;
}
.payment-correction-details > summary::-webkit-details-marker {
  display: none;
}
.payment-correction-form {
  margin-top: 8px;
  padding: 10px;
  border: 1px solid rgba(0, 96, 52, .14);
  border-radius: 12px;
  background: rgba(246, 252, 248, .95);
  display: grid;
  gap: 8px;
  min-width: 260px;
}
.payment-correction-form label {
  display: grid;
  gap: 4px;
  font-size: .82rem;
  font-weight: 700;
  color: var(--text, #073b22);
}
.payment-correction-form input,
.payment-correction-form select {
  min-height: 34px;
}
.payment-cancel-form {
  margin-top: 8px;
}
.payment-cancel-form input {
  min-width: 150px;
}


/* v0.9.7.31.41 - Zahlungsjournal: Korrektur/Storno UI Feinschliff */
.payment-journal-actions {
  min-width: 320px;
}
.payment-correction-details[open] {
  display: block;
}
.payment-correction-toggle {
  box-shadow: 0 8px 18px rgba(31,111,67,.08);
}
.payment-correction-form {
  margin-top: 10px;
  padding: 14px;
  border: 1px solid #cfe5d5;
  border-radius: 18px;
  background: linear-gradient(180deg,#f8fdf9,#ffffff);
  box-shadow: 0 12px 30px rgba(31,111,67,.09);
  gap: 10px;
  min-width: 340px;
}
.payment-correction-head {
  display: grid;
  gap: 3px;
  border-bottom: 1px solid #e2eee5;
  padding-bottom: 10px;
  margin-bottom: 2px;
}
.payment-correction-head strong {
  color: #063f24;
  font-size: 1rem;
}
.payment-correction-head span {
  color: #61766a;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.35;
}
.payment-correction-form label {
  font-size: .84rem;
}
.payment-correction-form input,
.payment-correction-form select {
  width: 100%;
  padding: 9px 10px;
  min-height: 40px;
  border: 1px solid #cfe0d3;
  border-radius: 10px;
  background: #fff;
  font: inherit;
}
.payment-correction-lock {
  background: #f4faf6;
  border: 1px solid #dcebe0;
  border-radius: 12px;
  padding: 9px 10px;
  margin: 2px 0 0;
  color: #49665a;
}
.payment-correction-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 2px;
}
.payment-correction-actions .btn-small {
  min-height: 42px;
  padding-left: 16px;
  padding-right: 16px;
}
.payment-cancel-card {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #f0c6c6;
  border-radius: 16px;
  background: #fff8f8;
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.payment-cancel-card input {
  width: 100%;
  max-width: none;
  min-height: 38px;
  border-color: #efcaca;
  background: #fff;
}
.payment-cancel-card .payment-storno-button,
.payment-cancel-card .btn-small.danger {
  background: #9b1c1c !important;
  color: #ffffff !important;
  border: 1px solid #9b1c1c !important;
  opacity: 1 !important;
  text-shadow: none !important;
  min-height: 38px;
  padding: 9px 14px;
  box-shadow: 0 8px 18px rgba(155,28,28,.18);
}
.payment-cancel-card .payment-storno-button:hover,
.payment-cancel-card .btn-small.danger:hover {
  background: #7f1515 !important;
  color: #fff !important;
}
@media (max-width: 900px) {
  .payment-journal-actions { min-width: 0; }
  .payment-correction-form { min-width: 0; }
  .payment-cancel-card { grid-template-columns: 1fr; }
  .payment-cancel-card .payment-storno-button { width: 100%; }
}

/* v0.9.7.31.42 - Doppelzahlung im Zahlungsjournal */
.payment-duplicate-details {
  margin-top: 10px;
}
.payment-duplicate-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.payment-duplicate-form {
  margin-top: 8px;
  padding: 14px;
  border: 1px solid rgba(16, 97, 57, .22);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(239, 250, 244, .96), rgba(255, 255, 255, .96));
  box-shadow: 0 8px 22px rgba(16, 97, 57, .08);
  display: grid;
  gap: 10px;
  min-width: 280px;
}
.payment-duplicate-head {
  display: grid;
  gap: 3px;
}
.payment-duplicate-head strong {
  color: var(--green-900, #003f2a);
}
.payment-duplicate-head span,
.payment-duplicate-note {
  color: var(--muted, #537060);
  font-size: .9rem;
  line-height: 1.35;
}
.payment-duplicate-form label {
  display: grid;
  gap: 4px;
  font-weight: 700;
  color: var(--green-900, #003f2a);
}
.payment-duplicate-form input,
.payment-duplicate-form select {
  width: 100%;
  min-height: 38px;
}

/* v0.9.7.31.43 - Zahlungen Guthabenbelege Arbeitsliste */
.payment-credit-card .payment-section-toolbar {
  align-items: center;
}
.payment-credit-summary {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.payment-credit-tools {
  margin-bottom: 14px;
}
.payment-credit-table td {
  vertical-align: top;
}
.payment-credit-table .payment-credit-docs,
.payment-credit-table .payment-credit-actions {
  min-width: 170px;
}
.payment-credit-docs .btn-small,
.payment-credit-actions .btn-small {
  margin: 2px 4px 2px 0;
}
.payment-credit-workflow {
  margin-top: 8px;
  border: 1px solid var(--border, #d6e7dd);
  border-radius: 12px;
  background: #f8fcfa;
  padding: 8px 10px;
}
.payment-credit-workflow summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--green-dark, #00452b);
}
.credit-inline-form,
.credit-refund-form {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(90px, 120px) auto;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}
.credit-refund-form {
  grid-template-columns: minmax(90px, 120px) minmax(130px, 160px) minmax(160px, 1fr) minmax(160px, 1fr) auto;
}
.credit-inline-form input,
.credit-inline-form select,
.credit-refund-form input,
.credit-refund-form select {
  width: 100%;
}
@media (max-width: 1100px) {
  .credit-inline-form,
  .credit-refund-form {
    grid-template-columns: 1fr;
  }
}

/* v0.9.7.31.44 - Journal/Rechnungszahlung */
.journal-invoice-link-card {
  border: 1px solid rgba(22, 101, 52, .18);
  background: linear-gradient(180deg, rgba(240,253,244,.78), #fff);
}
.journal-invoice-search-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(180px, .8fr);
  gap: 12px;
  margin: 12px 0;
}
.journal-invoice-results {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}
.journal-invoice-result {
  width: 100%;
  border: 1px solid rgba(15, 23, 42, .12);
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  text-align: left;
  cursor: pointer;
  display: grid;
  gap: 3px;
}
.journal-invoice-result:hover {
  border-color: rgba(22, 101, 52, .35);
  box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
}
.journal-invoice-result strong { color: #0f172a; }
.journal-invoice-result span { color: #475569; font-size: .9rem; }
.journal-invoice-result.is-paid {
  border-style: dashed;
  background: #fff7ed;
}
.journal-selected-invoice {
  border: 1px solid rgba(22, 101, 52, .25);
  border-radius: 14px;
  padding: 12px 14px;
  background: #f8fafc;
  display: grid;
  gap: 4px;
}
.journal-selected-invoice span { color: #334155; }
.journal-selected-invoice em { color: #9a3412; font-style: normal; font-weight: 700; }
.journal-invoice-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}
@media (max-width: 760px) {
  .journal-invoice-search-grid { grid-template-columns: 1fr; }
}

/* v0.9.7.31.46 - Journal naechste Buchungsnummer Vorschau */
.journal-preview-voucher-row strong {
  font-weight: 800;
  letter-spacing: .01em;
}
.journal-preview-note {
  margin: .75rem 0 0;
  color: #64748b;
  font-size: .86rem;
  line-height: 1.35;
}

/* v0.9.7.31.47 Zahlungsjournal: Guthaben/Doppelzahlungen verstaendlicher */
.payment-journal-type-cell {
  min-width: 190px;
  vertical-align: top;
}
.payment-row-has-credit {
  background: rgba(255, 248, 220, 0.42);
}
.payment-linked-credit-box {
  margin-top: 8px;
  padding: 10px;
  border: 1px solid rgba(190, 145, 20, 0.28);
  border-radius: 14px;
  background: rgba(255, 250, 235, 0.92);
  display: flex;
  flex-direction: column;
  gap: 5px;
  max-width: 220px;
}
.payment-linked-credit-box strong {
  color: #6f4b00;
}
.payment-linked-credit-box span {
  color: #5a4a20;
  font-size: 0.9rem;
}
.payment-journal-card .payment-section-toolbar .hint {
  max-width: 760px;
  margin-top: 4px;
}
@media (max-width: 900px) {
  .payment-journal-type-cell,
  .payment-linked-credit-box {
    min-width: 0;
    max-width: none;
  }
}


/* v0.9.7.31.49 - Journal Rechnungszuordnung Suchfelder UI */
.journal-invoice-search-grid label {
  display: grid;
  gap: 6px;
  font-weight: 900;
  color: #365d48;
  font-size: 13px;
}
.journal-invoice-search-grid input {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(0,55,35,.18);
  border-radius: 14px;
  padding: 11px 12px;
  background: #fff;
  font: inherit;
  color: #073f25;
  box-sizing: border-box;
}
.journal-invoice-search-grid input:focus {
  outline: none;
  border-color: rgba(11,107,58,.48);
  box-shadow: 0 0 0 3px rgba(11,107,58,.10);
}
.journal-invoice-actions .button {
  min-height: 42px;
}


/* v0.9.7.31.50 Mitgliederkonto Testphase Reset */
.member-account-test-reset {
    flex: 1 1 100%;
    margin-top: 4px;
    border: 1px solid rgba(180, 35, 24, 0.22);
    background: linear-gradient(135deg, rgba(255, 245, 245, 0.92), rgba(255, 255, 255, 0.96));
    border-radius: 16px;
    padding: 10px 12px;
}
.member-account-test-reset summary {
    cursor: pointer;
    font-weight: 800;
    color: #8a1f16;
}
.member-account-test-reset-box {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}
.member-account-test-reset-box p {
    margin: 0;
    color: #6b4a45;
    line-height: 1.45;
}
.member-account-test-reset-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(150px, 220px) auto;
    gap: 10px;
    align-items: end;
}
.member-account-test-reset-form label {
    display: grid;
    gap: 3px;
    font-weight: 800;
    color: #4a2a25;
}
.member-account-test-reset-form label span {
    font-weight: 600;
    font-size: 0.86rem;
    color: #8a625c;
}
.member-account-test-reset-form input[type="text"] {
    width: 100%;
    min-height: 42px;
    border: 1px solid rgba(180, 35, 24, 0.22);
    border-radius: 12px;
    padding: 0 12px;
    background: #fff;
}
@media (max-width: 780px) {
    .member-account-test-reset-form {
        grid-template-columns: 1fr;
    }
}

/* v0.9.7.31.51 - Vorgangsformular Livesuche fuer Paechter und Parzelle */
.case-live-field{display:flex;flex-direction:column;gap:9px;}
.case-live-field input[type="search"]{width:100%;border:1px solid rgba(0,55,35,.18);border-radius:14px;padding:12px 13px;background:#fff;font:inherit;color:#073f25;min-height:46px;}
.case-live-field input[type="search"]:focus{outline:none;border-color:#0b6b3a;box-shadow:0 0 0 3px rgba(11,107,58,.11);}
.case-live-selected{border:1px solid rgba(0,55,35,.12);border-radius:14px;background:linear-gradient(180deg,#f6fbf8,#fff);padding:11px 12px;color:#073f25;font-weight:850;min-height:44px;display:flex;align-items:center;}
.case-live-results{display:grid;gap:8px;max-height:240px;overflow:auto;padding-right:4px;}
.case-live-result{appearance:none;text-align:left;border:1px solid rgba(0,55,35,.12);background:#fff;border-radius:14px;padding:11px 12px;cursor:pointer;display:grid;gap:3px;transition:.15s ease;color:#073f25;}
.case-live-result:hover,.case-live-result:focus{border-color:#0b6b3a;box-shadow:0 10px 22px rgba(0,55,35,.10);transform:translateY(-1px);outline:none;}
.case-live-result strong{font-size:.95rem;color:#073f25;}
.case-live-result span{font-size:.86rem;color:#48685a;font-weight:800;}
.case-live-empty{border:1px dashed rgba(0,55,35,.16);background:#fbfdfb;border-radius:14px;padding:10px 12px;color:#64786c;font-weight:750;font-size:.9rem;line-height:1.35;}
.case-live-clear{align-self:flex-start;padding:9px 12px;border-radius:12px;}
@media(max-width:720px){.case-live-clear{width:100%;justify-content:center}.case-live-results{max-height:300px}}


.member-access-mail-panel {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border: 1px solid rgba(21, 128, 61, 0.18);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(236, 253, 245, 0.95), rgba(255, 255, 255, 0.95));
  margin: 0.75rem 0 1rem;
}
.member-access-mail-panel h5 { margin: 0 0 0.25rem; font-size: 1rem; color: #064e3b; }
.member-mail-advanced {
  margin: 0.25rem 0 1rem;
  padding: 0.75rem 1rem;
  border: 1px dashed rgba(21, 128, 61, 0.22);
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.85);
}
.member-mail-advanced summary { cursor: pointer; font-weight: 700; color: #065f46; }
.member-mail-advanced .member-mail-actions { margin-top: 0.75rem; }
@media (max-width: 720px) {
  .member-access-mail-panel { flex-direction: column; align-items: stretch; }
  .member-access-mail-panel .btn-small { width: 100%; text-align: center; }
}


/* v0.9.7.31.53 - Schriftführer Pächterlisten */
.tenant-list-page .tenant-list-hero { margin-bottom: 1rem; }
.tenant-list-builder { display: grid; gap: 1rem; }
.tenant-list-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; align-items: end; }
.tenant-list-filter-grid .field { margin: 0; }
.tenant-list-privacy-box { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.choice-card { display: flex; align-items: flex-start; gap: .7rem; padding: .9rem; border: 1px solid #d8e3dc; border-radius: 14px; background: #f8fbf9; cursor: pointer; }
.choice-card input { margin-top: .2rem; }
.choice-card span { display: grid; gap: .2rem; }
.choice-card small { color: #5b6b61; line-height: 1.35; }
.tenant-list-fields { display: flex; flex-wrap: wrap; gap: .55rem; }
.tenant-list-field-chip { display: inline-flex; align-items: center; gap: .42rem; padding: .48rem .7rem; border: 1px solid #d8e3dc; border-radius: 999px; background: #fff; font-size: .93rem; }
.tenant-list-field-chip em { font-style: normal; font-size: .72rem; color: #8a5b00; background: #fff4d8; border-radius: 999px; padding: .08rem .4rem; }
.tenant-list-preview .section-title-row small { color: #63756a; }
.tenant-list-table td { vertical-align: middle; }
@media (max-width: 1000px) {
  .tenant-list-filter-grid, .tenant-list-privacy-box { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .tenant-list-filter-grid, .tenant-list-privacy-box { grid-template-columns: 1fr; }
  .tenant-list-builder .section-title-row { align-items: stretch; }
  .tenant-list-builder .actions { display: grid; grid-template-columns: 1fr; gap: .5rem; }
}

/* v0.9.7.31.54 - Paechterlisten Vorlagen/PDF */
.tenant-list-template-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  margin: 12px 0 18px;
}
.tenant-list-template-card {
  display: block;
  padding: 12px 14px;
  border: 1px solid rgba(30, 65, 45, .14);
  border-radius: 14px;
  background: #f8faf8;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(20, 50, 35, .04);
}
.tenant-list-template-card strong {
  display: block;
  margin-bottom: 4px;
  color: #163b27;
}
.tenant-list-template-card small {
  display: block;
  color: #5f6f65;
  line-height: 1.35;
}
.tenant-list-template-card.active {
  border-color: #1f7a4a;
  background: #eff8f1;
  box-shadow: 0 10px 24px rgba(31, 122, 74, .12);
}

/* v0.9.7.31.55 Schriftführer Cockpit UI */
.sf-cockpit-page {
  gap: 20px;
}

.sf-cockpit-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  padding: 28px;
  border-radius: 28px;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbf8 100%);
  border: 1px solid rgba(16, 80, 45, .12);
  box-shadow: 0 16px 42px rgba(7, 63, 37, .055);
}

.sf-cockpit-copy h2 {
  margin: 8px 0 6px;
  color: #062f1d;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.sf-cockpit-copy p {
  margin: 0;
  color: #526b5b;
  font-weight: 750;
  font-size: 16px;
}

.sf-cockpit-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.sf-primary-action {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 84px;
  padding: 16px 18px;
  border-radius: 18px;
  text-decoration: none;
  background: linear-gradient(135deg, #0d6a3d, #08532f);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 16px 28px rgba(7, 91, 50, .22);
  transition: transform .14s ease, box-shadow .14s ease;
}

.sf-primary-action:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 36px rgba(7, 91, 50, .28);
}

.sf-primary-action span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: rgba(255,255,255,.15);
  font-size: 24px;
}

.sf-primary-action strong,
.sf-primary-action small {
  display: block;
}

.sf-primary-action strong {
  font-size: 17px;
  line-height: 1.1;
}

.sf-primary-action small {
  margin-top: 3px;
  color: rgba(255,255,255,.82);
  font-weight: 700;
}

.sf-cockpit-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.sf-stat-modern {
  min-height: 116px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(7, 63, 37, .055);
}

.sf-cockpit-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 20px;
  align-items: start;
}

.sf-cockpit-main,
.sf-cockpit-side {
  display: grid;
  gap: 18px;
}

.sf-module-section {
  padding: 22px;
  border-radius: 26px;
  border: 1px solid rgba(16, 80, 45, .12);
  box-shadow: 0 12px 32px rgba(7, 63, 37, .045);
}

.sf-section-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.sf-section-head h3,
.sf-side-panel h3,
.sf-process-modern h3 {
  margin: 0 0 5px;
  color: #062f1d;
  font-size: 20px;
  letter-spacing: -.02em;
}

.sf-section-head p {
  margin: 0;
  color: #597162;
  font-weight: 700;
}

.sf-module-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.sf-module-row .sf-module-tile {
  min-height: 164px;
  color: inherit;
  text-decoration: none;
  background: #fff;
  border-radius: 19px !important;
  border: 1px solid rgba(16, 80, 45, .12);
  box-shadow: 0 8px 20px rgba(7, 63, 37, .035);
}

.sf-module-row .sf-module-tile:hover {
  transform: translateY(-1px);
  border-color: #bddfc6;
  box-shadow: 0 14px 30px rgba(7, 63, 37, .075);
}

.sf-side-panel {
  padding: 20px;
  border-radius: 24px;
  border: 1px solid rgba(16, 80, 45, .12);
  box-shadow: 0 12px 30px rgba(7, 63, 37, .045);
}

.sf-action-list,
.sf-task-list {
  display: grid;
  gap: 10px;
}

.sf-action-list a,
.sf-task-list a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 4px 11px;
  align-items: center;
  padding: 12px 13px;
  border-radius: 16px;
  border: 1px solid rgba(16, 80, 45, .11);
  background: #fbfdfb;
  text-decoration: none;
  color: #0a3e27;
  font-weight: 900;
}

.sf-action-list a:hover,
.sf-task-list a:hover {
  background: #fff;
  border-color: #bddfc6;
}

.sf-action-list a span:first-child {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #eef7ef;
}

.sf-task-list a {
  grid-template-columns: 12px minmax(0, 1fr);
  align-items: start;
}

.sf-task-list strong,
.sf-task-list small {
  display: block;
}

.sf-task-list small {
  grid-column: 2;
  color: #607568;
  font-weight: 700;
}

.sf-dot {
  width: 10px;
  height: 10px;
  margin-top: 5px;
  border-radius: 999px;
  background: #1f6f43;
}
.sf-dot.is-red { background: #b32222; }
.sf-dot.is-blue { background: #2f77a8; }
.sf-dot.is-green { background: #1f6f43; }

.sf-recent-docs.compact a {
  padding: 12px 13px;
  border-radius: 16px;
}

.sf-privacy-note {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 13px;
  background: linear-gradient(135deg, #ffffff, #f5fbf6);
}

.sf-privacy-note > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #e7f4eb;
  font-size: 22px;
}

.sf-privacy-note p {
  margin: 0;
  color: #526b5b;
  font-weight: 700;
  line-height: 1.5;
}

.sf-process-modern {
  padding: 22px;
  border-radius: 26px;
  border: 1px solid rgba(16, 80, 45, .12);
}

.sf-process-line {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.sf-process-line a {
  position: relative;
  display: grid;
  gap: 7px;
  padding: 12px 10px;
  border-radius: 18px;
  background: #fbfdfb;
  border: 1px solid rgba(16, 80, 45, .10);
  text-decoration: none;
  color: inherit;
}

.sf-process-line a:hover {
  background: #fff;
  border-color: #bddfc6;
}

.sf-process-line strong {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #0d6a3d;
  color: #fff;
}

.sf-process-line span {
  color: #0a3e27;
  font-weight: 950;
  line-height: 1.2;
}

.sf-process-line small {
  color: #607568;
  font-weight: 700;
  line-height: 1.3;
}

@media(max-width: 1320px) {
  .sf-cockpit-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sf-module-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sf-process-line {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media(max-width: 1180px) {
  .sf-cockpit-grid {
    grid-template-columns: 1fr;
  }
  .sf-cockpit-actions {
    grid-template-columns: 1fr;
  }
}

@media(max-width: 760px) {
  .sf-cockpit-hero,
  .sf-module-section,
  .sf-side-panel,
  .sf-process-modern {
    padding: 18px;
    border-radius: 22px;
  }
  .sf-cockpit-stats,
  .sf-module-row,
  .sf-process-line {
    grid-template-columns: 1fr;
  }
}


/* v0.9.7.31.56 - Schriftführer: PDF-Formulare vorerst deaktiviert */
.sf-module-disabled {
  opacity: .72;
  background: repeating-linear-gradient(135deg, #f8fbf8, #f8fbf8 10px, #f2f7f3 10px, #f2f7f3 20px);
  border-style: dashed !important;
  cursor: not-allowed;
  pointer-events: none;
}

.sf-module-disabled .sf-module-top strong,
.sf-module-disabled p,
.sf-module-disabled em {
  color: #6f8075 !important;
}

.sf-action-disabled {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #f5f8f5;
  border: 1px dashed #c9d8ce;
  color: #6f8075;
  font-weight: 850;
  cursor: not-allowed;
}

.sf-disabled-feature-card {
  max-width: 920px;
  margin: 0 auto;
  padding: 34px;
  border: 1px solid rgba(16, 80, 45, .14);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%);
}

.sf-disabled-feature-card h2 {
  margin: 10px 0 8px;
  color: #073b25;
}

.sf-disabled-feature-card p {
  max-width: 760px;
  color: #53685b;
  font-weight: 700;
  line-height: 1.55;
}

.sf-disabled-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

/* v0.9.7.31.57 - Schriftfuehrer Cockpit: rechte Spalte kompakt, Ablauf entfernt */
.sf-cockpit-side-compact {
  gap: 14px;
}

.sf-side-panel-compact {
  padding: 18px;
}

.sf-side-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

.sf-side-head h3 {
  margin: 3px 0 0;
}

.sf-side-link {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #eef7ef;
  color: #0a4d2d;
  text-decoration: none;
  font-weight: 900;
  border: 1px solid #d8eadc;
}

.sf-action-list-compact,
.sf-task-list-compact {
  gap: 8px;
}

.sf-action-list-compact a {
  grid-template-columns: 36px minmax(0, 1fr);
  padding: 11px 12px;
  min-height: 58px;
}

.sf-action-list-compact a strong,
.sf-action-list-compact a small {
  display: block;
}

.sf-action-list-compact a small {
  margin-top: 2px;
  color: #64776b;
  font-weight: 750;
  font-size: 12px;
  line-height: 1.25;
}

.sf-task-list-compact a {
  padding: 11px 12px;
  min-height: auto;
}

.sf-mini-privacy-note {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-top: 12px;
  padding: 12px;
  border-radius: 16px;
  background: #f5fbf7;
  border: 1px solid #dcefe2;
}

.sf-mini-privacy-note span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #e6f4eb;
}

.sf-mini-privacy-note p {
  margin: 0;
  color: #587061;
  font-weight: 750;
  line-height: 1.35;
  font-size: 13px;
}

.sf-recent-docs-short {
  gap: 8px;
}

.sf-recent-docs-short a {
  padding: 10px 12px;
}

.sf-recent-docs-short a strong {
  line-height: 1.2;
}

.sf-recent-docs-short a span,
.sf-recent-docs-short a small {
  line-height: 1.25;
}

.sf-process-modern {
  display: none !important;
}

/* v0.9.7.31.58 - Schriftfuehrer Schreiben Editor */
.sf-letter-editor-card .sf-editor-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.sf-editor-actions-top {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.sf-live-field {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .35rem;
}
.sf-live-field > label,
.sf-editor-field > label {
    font-weight: 800;
    color: var(--text, #063f2b);
}
.sf-live-results {
    position: absolute;
    z-index: 40;
    top: calc(100% - .25rem);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid rgba(10, 91, 58, .18);
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(3, 44, 29, .14);
    padding: .35rem;
    max-height: 310px;
    overflow: auto;
}
.sf-live-results button {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    padding: .65rem .7rem;
    border-radius: 12px;
    cursor: pointer;
    color: #063f2b;
}
.sf-live-results button:hover,
.sf-live-results button:focus {
    background: #eef8f2;
    outline: none;
}
.sf-live-results button strong,
.sf-live-results button small {
    display: block;
}
.sf-live-results button small {
    color: #5d756b;
    margin-top: .15rem;
}
.sf-live-empty {
    padding: .75rem;
    color: #5d756b;
}
.sf-live-clear {
    align-self: flex-start;
    border: 0;
    background: #eef8f2;
    color: #075b3a;
    font-weight: 800;
    border-radius: 999px;
    padding: .35rem .75rem;
    cursor: pointer;
}
.sf-check-card {
    min-height: 48px;
    border: 1px solid rgba(10, 91, 58, .14);
    border-radius: 16px;
    background: #f7fbf8;
    padding: .7rem .85rem;
    display: flex;
    gap: .65rem;
    align-items: flex-start;
    cursor: pointer;
}
.sf-check-card input {
    margin-top: .25rem;
}
.sf-check-card strong,
.sf-check-card small {
    display: block;
}
.sf-check-card small {
    color: #5d756b;
    line-height: 1.35;
}
.sf-editor-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin: .35rem 0 .5rem;
    padding: .45rem;
    background: #f2f8f4;
    border: 1px solid rgba(10, 91, 58, .13);
    border-radius: 16px;
}
.sf-editor-toolbar button {
    border: 1px solid rgba(10, 91, 58, .14);
    background: #fff;
    color: #063f2b;
    border-radius: 999px;
    padding: .38rem .7rem;
    font-weight: 800;
    cursor: pointer;
}
.sf-editor-toolbar button:hover,
.sf-editor-toolbar button:focus {
    background: #e3f4eb;
    outline: none;
}
.sf-letter-preview-box {
    margin-bottom: 1.2rem;
    border: 1px solid rgba(10, 91, 58, .14);
    background: linear-gradient(180deg, #f8fcfa, #fff);
    border-radius: 22px;
    padding: 1rem;
}
.sf-section-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .8rem;
}
.sf-letter-paper.compact {
    padding: 1rem;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(10, 91, 58, .1);
}
.sf-letter-paper h2,
.sf-letter-paper h3 {
    margin: .6rem 0 .4rem;
    color: #063f2b;
}
.sf-letter-paper ul,
.sf-letter-paper ol {
    margin: .5rem 0 .75rem 1.35rem;
}
.form-hint {
    color: #5d756b;
    display: block;
    margin-top: .35rem;
}
@media (max-width: 780px) {
    .sf-letter-editor-card .sf-editor-head { flex-direction: column; }
    .sf-editor-actions-top { width: 100%; justify-content: flex-start; }
}

/* v0.9.7.31.60 - Rechnungsstorno */
.invoice-cancellation-card {
  border-color: rgba(178, 34, 34, 0.24);
}
.invoice-cancel-details {
  margin: 16px 0;
  border: 1px solid rgba(178, 34, 34, 0.22);
  background: linear-gradient(180deg, #fffafa 0%, #ffffff 100%);
}
.invoice-cancel-details summary {
  cursor: pointer;
  font-weight: 800;
  color: #7f1d1d;
  list-style: none;
}
.invoice-cancel-details summary::-webkit-details-marker {
  display: none;
}
.invoice-cancel-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: 16px;
  margin-top: 14px;
}
.invoice-cancel-facts {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(178, 34, 34, 0.16);
}
.invoice-cancel-facts span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.92rem;
}
.invoice-cancel-form {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.invoice-cancel-form input {
  width: 100%;
  margin-top: 6px;
}
@media (max-width: 900px) {
  .invoice-cancel-grid {
    grid-template-columns: 1fr;
  }
  .invoice-cancel-facts span {
    display: block;
  }
}

/* v0.9.7.31.61 – Teilstorno Rechnungsposition */
.invoice-items-table .invoice-correction-row td {
    background: #fff8eb;
}
.invoice-item-correction-details {
    min-width: 230px;
}
.invoice-item-correction-details summary {
    cursor: pointer;
    font-weight: 700;
    color: #7c4a03;
}
.invoice-item-correction-form {
    margin-top: 10px;
    padding: 12px;
    border: 1px solid #f2d69b;
    border-radius: 14px;
    background: #fffaf0;
    display: grid;
    gap: 10px;
}
.invoice-item-correction-form label {
    display: grid;
    gap: 5px;
    font-weight: 700;
}
.invoice-item-correction-form input {
    width: 100%;
}
.invoice-item-correction-history h3 {
    margin-top: 0;
}

/* v0.9.7.31.62 Vorgang anlegen Eingang statt Ergebnis */
.case-intake-form{padding:22px;}
.case-intake-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#f4fbf6,#ffffff);border:1px solid rgba(12,86,50,.12);}
.case-intake-head h2{margin:4px 0 4px;color:#073f25;font-size:1.45rem;}
.case-intake-head p{margin:0;color:#51685a;line-height:1.45;}
.case-intake-no{min-width:230px;text-align:right;background:#fff;border:1px solid rgba(12,86,50,.12);border-radius:16px;padding:12px 14px;box-shadow:0 8px 20px rgba(13,53,34,.04);}
.case-intake-no span{display:block;color:#607568;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;}
.case-intake-no strong{display:block;margin-top:4px;color:#073f25;font-size:1.1rem;}
.case-intake-layout{display:grid;gap:16px;}
.case-intake-section{background:#fff;border:1px solid rgba(12,86,50,.13);border-radius:20px;padding:18px;box-shadow:0 10px 24px rgba(13,53,34,.04);}
.case-intake-section.is-primary{background:#fbfdfb;}
.case-intake-section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;}
.case-intake-section-title>span{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:#0d6b42;color:#fff;font-weight:900;flex:0 0 34px;box-shadow:0 8px 18px rgba(13,107,66,.16);}
.case-intake-section-title h3{margin:2px 0 3px;color:#073f25;font-size:1.08rem;}
.case-intake-section-title p{margin:0;color:#607568;font-size:.92rem;line-height:1.42;}
.case-intake-hint{display:grid;gap:3px;align-content:center;border:1px solid rgba(12,86,50,.12);background:#f4fbf6;border-radius:14px;padding:12px 14px;color:#34503c;}
.case-intake-hint strong{color:#073f25;}
.case-intake-hint span{font-size:.9rem;line-height:1.35;}
.case-intake-actions{position:sticky;bottom:12px;z-index:5;margin-top:18px;padding:12px;border-radius:16px;background:rgba(248,252,249,.94);border:1px solid rgba(12,86,50,.12);backdrop-filter:blur(8px);}
@media(max-width:900px){.case-intake-head{display:block}.case-intake-no{text-align:left;min-width:0;margin-top:12px}.case-intake-actions{position:static}}

/* v0.9.7.31.63 Vorgangsakte Workflow UI */
.case-workflow-shell{
  padding:20px;
  display:grid;
  gap:18px;
  border:1px solid rgba(12,86,50,.14);
  background:linear-gradient(135deg,#fbfdfb,#ffffff);
}
.case-workflow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.case-workflow-head h3{margin:4px 0 3px;color:#073f25;font-size:1.25rem;}
.case-workflow-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}
.case-workflow-step{position:relative;display:grid;gap:7px;align-content:center;min-height:72px;padding:12px;border:1px solid rgba(12,86,50,.12);border-radius:16px;background:#fff;color:#496456;}
.case-workflow-step span{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:#e8f3ec;color:#0b5c37;font-weight:900;}
.case-workflow-step strong{font-size:.9rem;color:#163d2a;line-height:1.2;}
.case-workflow-step.is-done{background:#f2fbf5;border-color:rgba(13,107,66,.22);}
.case-workflow-step.is-done span{background:#0d6b42;color:#fff;}
.case-workflow-step.is-current{background:#0d6b42;border-color:#0d6b42;color:#fff;box-shadow:0 14px 26px rgba(13,107,66,.18);}
.case-workflow-step.is-current span{background:#fff;color:#0d6b42;}
.case-workflow-step.is-current strong{color:#fff;}
.case-workflow-step.is-archive{background:#1c3d2d;border-color:#1c3d2d;}
.case-next-action-panel{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,1.4fr);gap:16px;align-items:start;padding:16px;border:1px solid rgba(12,86,50,.12);border-radius:18px;background:#f7fbf8;}
.case-next-action-panel>div:first-child{display:grid;gap:5px;}
.case-next-action-panel span{color:#4e685a;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;font-weight:900;}
.case-next-action-panel strong{color:#073f25;font-size:1.05rem;}
.case-next-action-panel small{color:#5c7365;line-height:1.35;}
.case-status-action-form-clean{display:grid;gap:10px;margin:0;}
.case-status-action-form-clean label{display:grid;gap:6px;font-weight:800;color:#153d29;}
.case-status-action-form-clean textarea{width:100%;min-height:58px;resize:vertical;}
.case-status-actions-clean{display:flex;flex-wrap:wrap;gap:8px;}
.case-clean-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;margin-top:16px;align-items:start;}
.case-clean-main{display:grid;gap:16px;}
.case-clean-side{display:grid;gap:16px;}
.case-focus-card{padding:18px;}
.case-working-list-compact{margin-top:0;grid-template-columns:repeat(3,minmax(0,1fr));}
.case-side-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(12,86,50,.1);}
.case-file-hero{margin-top:10px;}
.case-detail-top-actions{margin-bottom:10px;}
@media(max-width:1100px){.case-clean-layout{grid-template-columns:1fr}.case-next-action-panel{grid-template-columns:1fr}.case-workflow-rail{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:700px){.case-workflow-head{display:block}.case-workflow-rail{grid-template-columns:1fr}.case-working-list-compact{grid-template-columns:1fr}}

/* v0.9.7.31.64 - Vorgänge Mitgliederkonto-Freigabe */
.case-member-visibility-card {
  border: 1px solid rgba(22, 101, 52, .14);
}
.case-member-visible-state {
  border-radius: 14px;
  padding: .85rem 1rem;
  display: grid;
  gap: .2rem;
  margin-bottom: .8rem;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
}
.case-member-visible-state strong {
  color: #111827;
}
.case-member-visible-state span {
  color: #6b7280;
  font-size: .9rem;
}
.case-member-visible-state.is-visible {
  background: #ecfdf5;
  border-color: rgba(22, 163, 74, .28);
}
.case-member-visible-state.is-visible strong {
  color: #166534;
}
.case-member-summary-preview {
  border-left: 3px solid #16a34a;
  background: #f8fafc;
  padding: .75rem .9rem;
  border-radius: 10px;
  margin: .75rem 0;
  color: #374151;
}
.case-member-visible-tasks {
  display: grid;
  gap: .15rem;
  padding: .75rem .9rem;
  border-radius: 12px;
  background: #f0fdf4;
  color: #166534;
  margin: .75rem 0;
}
.case-member-visible-tasks span {
  font-size: .88rem;
  color: #4b5563;
}
.case-member-visibility-details summary,
.case-task-member-toggle summary {
  cursor: pointer;
  color: #166534;
  font-weight: 700;
}
.case-member-visibility-form,
.case-task-member-form {
  margin-top: .75rem;
}
.case-task-member-toggle {
  min-width: 220px;
  text-align: left;
}
.case-task-member-form {
  width: min(360px, 88vw);
}
.case-task-member-form .button {
  width: 100%;
}

/* v0.9.7.31.67 - Schriftführer Aushänge & Termine sichtbar */
.sf-module-tile-accent {
  border-color: rgba(20, 110, 62, .28) !important;
  background: linear-gradient(135deg, #ffffff, #f4fbf6) !important;
}
