:root{
 --desktop:#dfe4e8;--chrome:#eef1f3;--chrome2:#d5dbe0;--panel:#fff;--line:#9aa7b1;
 --line2:#c5ccd2;--text:#1d252b;--muted:#5f6a72;--blue:#1c4f78;--blue2:#2c6b98;
 --select:#d8e9f7;--nav:#e8ecef;--danger:#9b1c1c;--ok:#18643d;--warn:#875d00;
}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Tahoma,"Segoe UI",Arial,sans-serif;background:var(--desktop);color:var(--text);font-size:13px}a{color:#124f7a;text-decoration:none}a:hover{text-decoration:underline}
button,.btn{font:inherit;border:1px solid #7f8c96;border-radius:2px;background:linear-gradient(#fff,#dce2e6);color:#172127;padding:5px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;min-height:27px;box-shadow:inset 0 1px #fff;text-decoration:none;font-weight:400}
button:hover,.btn:hover{background:linear-gradient(#fff,#cfdce5);text-decoration:none}.btn.primary,button.primary,.btn:not(.secondary):not(.danger):not(.ghost){background:linear-gradient(#3f79a3,#245b82);border-color:#1b496a;color:#fff}.btn.secondary,button.secondary{background:linear-gradient(#fff,#e1e5e8);color:#172127}.btn.danger,button.danger{background:linear-gradient(#c54a43,#942a25);border-color:#77201c;color:#fff}.btn.ghost,button.ghost{background:#fff;color:#1d4e72}
input,select,textarea{width:100%;border:1px solid #8f9aa3;border-radius:1px;padding:5px 6px;font:inherit;background:#fff;color:var(--text);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input:focus,select:focus,textarea:focus{outline:1px solid #5b9bd5;border-color:#4d84ad}textarea{min-height:120px;resize:vertical}label{display:block;font-weight:700;font-size:12px;margin-bottom:8px}label input,label select,label textarea{margin-top:3px;font-weight:400}
.app-titlebar{height:34px;background:linear-gradient(#345d7e,#214662);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-bottom:1px solid #14344c}.brand{font-weight:700;letter-spacing:.1px}.brand small{font-weight:400;opacity:.82;margin-left:8px}.userbox{font-size:12px}.userbox a{color:#fff}
.menubar{height:29px;background:#f2f3f4;border-bottom:1px solid #aeb7be;display:flex;align-items:stretch;padding-left:4px;position:sticky;top:0;z-index:50}.menu-item{position:relative;display:flex;align-items:center;padding:0 10px;color:#18242b;cursor:default}.menu-item:hover{background:#dbe8f2}.menu-item .drop{display:none;position:absolute;top:28px;left:0;min-width:210px;background:#f7f7f7;border:1px solid #8f9aa3;box-shadow:2px 3px 7px rgba(0,0,0,.2);padding:3px;z-index:80}.menu-item:hover .drop{display:block}.drop a{display:block;color:#172127;padding:6px 9px}.drop a:hover{background:#cfe3f3;text-decoration:none}.drop hr{border:0;border-top:1px solid #c7cdd2;margin:3px}
.quickbar{height:40px;background:linear-gradient(#f7f8f9,#dfe3e6);border-bottom:1px solid #9ba6ae;display:flex;align-items:center;gap:4px;padding:5px 7px;position:sticky;top:29px;z-index:45}.quick-sep{height:25px;border-left:1px solid #a9b2b8;border-right:1px solid #fff;margin:0 3px}.toolbtn{padding:4px 8px;font-size:12px;min-height:28px}.toolbtn strong{font-size:14px}.crumb{margin-left:auto;color:#56636c;font-size:12px;padding-right:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shell{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:calc(100vh - 103px)}.sidebar{background:#e9edef;border-right:1px solid #9ca8b0;padding:7px}.sidebar-title{font-weight:700;background:linear-gradient(#d9e4ec,#c4d3de);border:1px solid #91a2ae;padding:6px 8px;margin-bottom:4px}.sidebar a{display:block;color:#253039;padding:5px 7px;border:1px solid transparent}.sidebar a:hover,.sidebar a.active{background:#d2e4f2;border-color:#9db9cc;text-decoration:none}.side-group{margin-bottom:10px}.side-group-title{font-size:11px;text-transform:uppercase;color:#60707b;font-weight:700;padding:5px 6px 2px}.main{padding:9px;min-width:0;background:#f3f4f5}.workspace{border:1px solid #9ca8b0;background:#fff;box-shadow:1px 1px 2px rgba(0,0,0,.08)}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;background:linear-gradient(#eef3f6,#dde5ea);border:1px solid #aab5bd;padding:8px 10px}.page-head h1{margin:0;font-size:16px;color:#173e5b}.page-head .muted{margin-top:2px}.muted{color:var(--muted)}.toolbar{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.tabs{display:flex;gap:0;border-bottom:1px solid #8d99a2;margin-top:8px;padding-left:5px}.tab{border:1px solid #9aa5ad;border-bottom:0;background:linear-gradient(#f7f8f9,#d9dee2);padding:6px 11px;margin-right:2px;color:#202a30;cursor:pointer;border-radius:3px 3px 0 0}.tab.active{background:#fff;position:relative;top:1px;font-weight:700}.tab-pane{display:none;padding:10px;background:#fff;border-left:1px solid #aab4bb;border-right:1px solid #aab4bb;border-bottom:1px solid #aab4bb}.tab-pane.active{display:block}
.grid{display:grid;gap:8px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid #aab4bb;border-radius:0;box-shadow:none;padding:9px}.card h2,.card h3{margin:0 0 8px;color:#244e6a;font-size:14px}.card-title{background:linear-gradient(#edf2f5,#dde5e9);border-bottom:1px solid #aab4bb;padding:6px 8px;margin:-9px -9px 9px;font-weight:700;color:#284a61}
.stat{font-size:22px;font-weight:700}.kpi-label{font-size:11px;color:var(--muted)}.table-wrap{overflow:auto;background:#fff;border:1px solid #9eaab2}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;padding:5px 7px;border-right:1px solid #d6dade;border-bottom:1px solid #d8dde0;vertical-align:top}th{font-size:11px;color:#26343c;background:linear-gradient(#f4f5f6,#dce1e4);font-weight:700;white-space:nowrap}tr:hover td{background:#f0f7fc}.status{display:inline-block;border:1px solid #abb5bb;padding:1px 5px;font-size:11px;background:#eceff1}.status.ok{background:#e4f2e9;color:var(--ok);border-color:#a7c9b3}.status.warn{background:#fff4cf;color:var(--warn);border-color:#d6c07c}.status.danger{background:#f9dfde;color:var(--danger);border-color:#d3a09d}
.alert{padding:7px 9px;margin-bottom:8px;background:#e7f2fb;border:1px solid #9ec2de}.alert.error{background:#fbe9e8;border-color:#d7aaa6;color:#7e1f1a}.alert.ok{background:#e7f5ec;border-color:#a8cfb5;color:#155936}.lock-banner{background:#fff3cf;border:1px solid #c6ab5a;color:#5f4b0a;padding:9px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.form-row.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.field-group{border:1px solid #aeb7bd;padding:8px;margin-bottom:8px}.field-group legend{font-weight:700;color:#264f6a;padding:0 5px}
/* Gutachten-Arbeitsplatz: bewusst klassische Desktop-/ProSa-Logik */
.report-workbench{display:grid;grid-template-columns:260px minmax(0,1fr) 280px;min-height:620px;border:1px solid #929fa8;background:#fff}.report-tree{background:#edf0f2;border-right:1px solid #9aa6ae;padding:6px;overflow:auto}.tree-head{font-weight:700;background:linear-gradient(#dce7ee,#cbd9e2);border:1px solid #98aab5;padding:6px;margin-bottom:5px}.tree-group{font-weight:700;padding:5px 4px;color:#36454f}.tree-item{display:block;color:#1e2d35;padding:4px 5px 4px 18px;border:1px solid transparent;position:relative}.tree-item:before{content:'□';position:absolute;left:5px;color:#65747e}.tree-item:hover,.tree-item.active{background:#cfe3f3;border-color:#9ab8cb;text-decoration:none}.tree-item.active:before{content:'■';color:#2b638c}.report-center{min-width:0;background:#fff}.report-center-head{height:36px;background:linear-gradient(#f7f8f8,#dde2e5);border-bottom:1px solid #9ba6ae;display:flex;align-items:center;justify-content:space-between;padding:4px 7px}.report-pane{display:none;padding:10px}.report-pane.active{display:block}.report-pane h2{font-size:15px;color:#204d6d;margin:0 0 8px}.section-editor{border:0;padding:0;margin:0;background:#fff}.section-editor .section-title{display:flex;justify-content:space-between;gap:7px;align-items:center;margin-bottom:6px}.section-editor .section-title input{font-weight:700;font-size:14px;background:#f8fafb}.section-editor textarea{min-height:430px;line-height:1.45}.save-indicator{font-size:11px;color:var(--muted);white-space:nowrap}.save-indicator.saving{color:var(--warn)}.save-indicator.saved{color:var(--ok)}.report-tools{background:#f1f3f4;border-left:1px solid #9aa6ae;padding:7px;overflow:auto}.report-tools .card{margin-bottom:8px}.report-navbuttons{display:flex;justify-content:space-between;margin-top:7px}
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:7px}.doc-card{border:1px solid #aeb7bd;background:#fff;padding:5px}.thumb{height:115px;background:#edf0f2;border:1px solid #c3cbd0;display:flex;align-items:center;justify-content:center;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}
.login-bg{min-height:100vh;display:grid;place-items:center;background:#cfd8de}.install-card,.login-card{width:min(520px,calc(100vw - 20px));background:#f7f8f9;border:1px solid #86949e;padding:14px;box-shadow:2px 3px 8px rgba(0,0,0,.22)}.install-card h1,.login-card h1{margin-top:0;color:#214d6b}.footer-note{font-size:11px;color:var(--muted);margin-top:8px}.offline{position:fixed;right:8px;bottom:8px;background:#71211e;color:#fff;padding:5px 8px;border:1px solid #43120f;display:none;z-index:99}.offline.show{display:block}.mobile-only{display:none}.statusbar{height:24px;border-top:1px solid #9aa5ad;background:#e8ecef;color:#53616a;display:flex;align-items:center;justify-content:space-between;padding:0 7px;font-size:11px;position:sticky;bottom:0;z-index:20}
@media(max-width:1100px){.report-workbench{grid-template-columns:220px minmax(0,1fr)}.report-tools{grid-column:1/-1;border-left:0;border-top:1px solid #9aa6ae;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.report-tools .card{margin:0}.shell{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:780px){html,body{font-size:14px}.menubar{overflow-x:auto}.quickbar{overflow-x:auto}.shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:5px}.grid.cols-4,.grid.cols-3,.grid.cols-2,.form-row,.form-row.cols-3,.form-row.cols-4{grid-template-columns:1fr}.report-workbench{grid-template-columns:1fr}.report-tree{border-right:0;border-bottom:1px solid #9aa6ae;max-height:210px}.report-tools{grid-template-columns:1fr}.mobile-only{display:inline-flex}.page-head{align-items:flex-start;flex-direction:column}.crumb{display:none}.section-editor textarea{min-height:320px}}

/* v0.4 Wertermittlung: bewusst klassische ProSa-/Desktop-Arbeitslogik */
.valuation-workbench{display:grid;grid-template-columns:245px minmax(0,1fr) 270px;min-height:680px;border:1px solid #929fa8;background:#fff}.valuation-tree{background:#edf0f2;border-right:1px solid #9aa6ae;padding:6px;overflow:auto}.valuation-center{min-width:0;background:#fff}.valuation-pane{display:none;padding:10px}.valuation-pane.active{display:block}.valuation-pane h2{font-size:15px;color:#204d6d;margin:0 0 8px}.valuation-results{background:#f1f3f4;border-left:1px solid #9aa6ae;padding:7px;overflow:auto}.valuation-results .card{margin-bottom:8px}.field-unit{font-weight:400;color:#6b7780;margin-left:4px}.calc-box{display:flex;gap:22px;flex-wrap:wrap;border:1px solid #9eabb4;background:#eef5fa;padding:9px;margin-top:8px}.calc-box b{color:#174d73}.calc-table{min-width:0;margin-top:8px;border:1px solid #aab4bb}.calc-table td,.calc-table th{padding:7px 9px}.calc-table td:last-child,.calc-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}.calc-table th{background:#dde8ef}.result-table .final-value{font-size:16px;color:#173f5d}.result-line{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #d3d9dd;padding:6px 0}.result-line.final{margin-top:4px;border-top:2px solid #8197a7;border-bottom:0;padding-top:9px;color:#173f5d}.mini-dictate{margin-top:4px;font-size:11px;padding:2px 6px;min-height:23px;width:auto}
@media(max-width:1150px){.valuation-workbench{grid-template-columns:220px minmax(0,1fr)}.valuation-results{grid-column:1/-1;border-left:0;border-top:1px solid #9aa6ae;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.valuation-results .card{margin:0}}
@media(max-width:780px){.valuation-workbench{grid-template-columns:1fr}.valuation-tree{border-right:0;border-bottom:1px solid #9aa6ae;max-height:235px}.valuation-results{grid-template-columns:1fr}.calc-box{display:block}.calc-box>div{margin-bottom:6px}}
/* v0.5 wiederholbare Bewertungsbausteine / Rechte / Beleihungswert */
.pane-titlebar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.pane-titlebar h2{margin:0}.entity-card{border:1px solid #9faab2;background:#fbfcfc;margin:0 0 9px;padding:8px}.entity-card.compact{padding:7px}.entity-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;background:linear-gradient(#eef3f6,#dde5ea);border-bottom:1px solid #aab5bd;margin:-8px -8px 8px;padding:6px 8px;color:#264f6a}.entity-card-head form{margin:0}.entity-result{display:flex;gap:18px;flex-wrap:wrap;background:#eef5fa;border:1px solid #b3c4cf;padding:6px 8px;margin-top:6px}.entity-result b{color:#174d73}.tiny{font-size:10px;padding:2px 5px;min-height:22px}.checkline{display:flex;align-items:center;gap:7px;font-weight:600}.checkline input{width:auto;margin:0}.check-list{display:grid;gap:5px}.check-item{border:1px solid #b4bdc3;padding:7px 9px;background:#f7f8f9}.check-item.error{background:#fbe9e8;border-color:#d7aaa6;color:#7e1f1a}.check-item.warn{background:#fff4cf;border-color:#d6c07c;color:#6b5200}.check-item.ok{background:#e7f5ec;border-color:#a8cfb5;color:#155936}.text-danger{color:#9a241e}
@media(max-width:780px){.pane-titlebar{align-items:flex-start;flex-direction:column}.entity-result{display:block}.entity-result span{display:block;margin-bottom:4px}}

/* v0.6 Gutachten-/Anlageneditor: vertraute Desktop-Struktur, dichter als SaaS-Karten. */
.report-workbench-v6{grid-template-columns:300px minmax(0,1fr) 300px}
.classic-tree .tree-item.level-2{padding-left:24px;font-size:.94rem}.classic-tree .tree-item.level-3{padding-left:40px;font-size:.9rem}.classic-tree .tree-item.level-4{padding-left:54px;font-size:.88rem}.tree-no{display:inline-block;min-width:58px;color:#56636d;font-variant-numeric:tabular-nums}.tree-badge{float:right;background:#dce7ef;border-radius:12px;padding:1px 7px;font-size:.78rem}.word-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.word-profile-grid>div{border:1px solid #d5dde4;background:#f8fafb;padding:9px}.section-meta-row{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:end;border-top:1px solid #dfe5ea;margin-top:8px;padding-top:8px}.checkline{display:flex!important;align-items:center;gap:8px}.checkline input{width:auto!important;margin:0}.btn.full,.full{display:block;width:100%;margin-bottom:6px}.small{font-size:.82rem;padding:5px 8px}.annex-source-list{border-top:1px solid #d9e0e5;margin-top:10px}.annex-source-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 4px;border-bottom:1px solid #e3e8ec}.annex-source-row form{margin:0}.annex-editor-list{display:grid;gap:10px}.annex-edit-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;border:1px solid #cfd9e0;background:#fbfcfd;padding:10px}.annex-preview{height:130px;border:1px solid #d4dde4;background:white;display:flex;align-items:center;justify-content:center;font-weight:700;color:#6a7882}.annex-preview img{width:100%;height:100%;object-fit:contain}.annex-fields textarea{min-height:58px}.section-toolbar{display:flex;justify-content:space-between;align-items:center;background:#eef3f6;border:1px solid #d5dee4;padding:7px 9px;margin-bottom:8px}.report-pane .card{margin-bottom:10px}
@media(max-width:1100px){.report-workbench-v6{grid-template-columns:240px minmax(0,1fr)}.report-workbench-v6>.report-tools{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.word-profile-grid{grid-template-columns:1fr}.annex-edit-card{grid-template-columns:110px 1fr}}
@media(max-width:760px){.report-workbench-v6{display:block}.report-tree{position:static;max-height:240px;overflow:auto;margin-bottom:8px}.report-workbench-v6>.report-tools{display:block}.annex-edit-card{grid-template-columns:1fr}.annex-preview{height:180px}.section-meta-row{grid-template-columns:1fr}}

/* v0.7 – automatisch übernommene Bewertungsdaten im Gutachten */
.auto-report-block{margin:8px 0 12px;border:1px solid #b9bec6;background:#f1f2f4;padding:9px 11px;font-size:.93rem}
.auto-report-block.disabled{opacity:.55}
.auto-report-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #cdd1d6;padding-bottom:6px;margin-bottom:7px;color:#343a40}
.auto-report-head span{font-size:.82rem;color:#6b7077;white-space:nowrap}
.auto-block-title{font-weight:700;margin:8px 0 3px}
.auto-data-table{width:100%;border-collapse:collapse;background:white;margin:0 0 8px}
.auto-data-table td{border:1px solid #d6d9dd;padding:5px 7px;vertical-align:top}
.auto-data-table td:first-child{width:42%;font-weight:600;background:#f7f7f8}
.manual-report-label{display:flex;align-items:baseline;gap:10px;margin:10px 0 4px}
.section-meta-row{flex-wrap:wrap}

/* v0.8 Büroablauf direkt in der Akte */
.office-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid #d9dfe3;padding:7px 2px}.office-row:last-child{border-bottom:0}.office-row form{margin:0;min-width:92px}.smallbtn{padding:1px 7px;min-height:23px}.timeline-entry{display:grid;grid-template-columns:115px minmax(0,1fr);gap:9px;border-bottom:1px solid #dde2e5;padding:8px 0}.timeline-date{font-size:11px;color:#65717a;font-variant-numeric:tabular-nums}.clamp3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px}.tab-pane details{border:1px solid #c5cdd3;background:#f8f9fa;padding:7px}.tab-pane details summary{cursor:pointer;color:#244e6a}.office-workflow{display:flex;gap:3px;flex-wrap:wrap}.office-workflow span{border:1px solid #aab4bb;background:#edf0f2;padding:3px 6px;font-size:11px}.office-workflow span.active{background:#d2e4f2;border-color:#80a6c0;font-weight:700}
@media(max-width:780px){.timeline-entry{grid-template-columns:1fr}.office-row{display:block}.office-row form{margin-top:6px}.tabs{overflow-x:auto;white-space:nowrap}.tab{flex:0 0 auto}}


/* v0.10 Ortstermin / Mobilmodus */
.field-visit-page{max-width:1500px;margin:0 auto}.field-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:12px}.field-sticky-head{position:sticky;top:0;z-index:12;background:#f4f6f7;padding:8px 0;border-bottom:1px solid #ccd3d8}.field-entry-card{border:1px solid #bcc6cd;background:#fff;padding:10px;margin:8px 0;box-shadow:0 1px 2px rgba(0,0,0,.05)}.field-entry-top{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}.field-entry-top select{max-width:180px;font-weight:700}.field-photo-card{position:sticky;top:78px}.camera-button{display:block;border:2px dashed #7c8c98;padding:14px;text-align:center;background:#f6f8f9;cursor:pointer}.camera-button input{display:block;margin-top:8px}.field-photo-list{display:grid;gap:8px;margin-top:10px}.field-photo-item{display:grid;grid-template-columns:90px 1fr;gap:8px;border-top:1px solid #ddd;padding-top:8px}.field-photo-item img{width:90px;height:70px;object-fit:cover}.field-photo-item span{display:flex;width:90px;height:70px;align-items:center;justify-content:center;background:#eee}.field-visit-page textarea{min-height:78px}.field-visit-page .save-indicator{font-size:12px}
@media(max-width:900px){.shell{display:block}.sidebar{display:none}.main{padding:8px}.menubar{overflow-x:auto;white-space:nowrap}.quickbar{overflow-x:auto}.field-grid{grid-template-columns:1fr}.field-photo-card{position:static}.field-sticky-head{top:0}.field-visit-page .form-row,.field-visit-page .form-row.cols-3,.field-visit-page .form-row.cols-4{grid-template-columns:1fr}.field-entry-card{padding:8px}.page-head.field-sticky-head{display:block}.page-head.field-sticky-head .toolbar{margin-top:5px}}

/* v0.12 Stammdaten/Admin */
.admin-jumpbar{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.admin-jumpbar a{background:#e7edf1;border:1px solid #bcc9d1;border-radius:3px;padding:5px 9px;color:#223b4b;text-decoration:none;font-size:.88rem}.admin-form{margin-top:10px;border-top:1px solid #d7dee3;padding-top:10px}.master-chip-list{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 12px}.master-chip{display:inline-block;border:1px solid #c4d0d7;background:#f5f8fa;border-radius:2px;padding:4px 7px;font-size:.82rem}.master-chip.disabled{opacity:.45;text-decoration:line-through}.template-preview{white-space:pre-wrap;background:#f7f7f7;border:1px solid #d9d9d9;padding:8px;max-height:300px;overflow:auto;font-family:inherit;font-size:.88rem}

/* v0.15 – Fertigstellungs-/Qualitätsprüfung im Gutachten */
.quality-badge{margin-left:auto}.quality-badge.danger{background:#f7d7d5;color:#8b1f1a}.quality-badge.warn{background:#fff0bd;color:#745600}.quality-badge.ok{background:#dff1e6;color:#155936}
.quality-summary-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #aab4bb;background:#eef3f6;padding:10px 12px;margin-bottom:9px}.quality-summary-card.has-errors{background:#fbe9e8;border-color:#d7aaa6}.quality-summary-card.has-warnings{background:#fff8df;border-color:#d8c486}.quality-summary-card.is-ok{background:#e7f5ec;border-color:#a8cfb5}.quality-counters{display:flex;gap:7px;flex-wrap:wrap}.quality-counters span{border:1px solid #b9c1c7;background:#fff;padding:4px 7px}.quality-counters .q-error{color:#8c241f}.quality-counters .q-warn{color:#765800}.quality-counters .q-waived{color:#4d5c66}.quality-list{display:grid;gap:8px;margin-bottom:10px}.quality-item{border:1px solid #bec6cc;background:#fff;padding:9px}.quality-item.error{border-left:5px solid #a8332d;background:#fff7f6}.quality-item.warn{border-left:5px solid #b58b1a;background:#fffdf4}.quality-item.waived{opacity:.82;border-left-color:#41825d;background:#f3faf6}.quality-item-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quality-level{font-size:10px;font-weight:700;border:1px solid #aeb7bd;background:#edf0f2;padding:2px 5px}.quality-item.error .quality-level{color:#8b1f1a;border-color:#d2aaa6;background:#f8e4e2}.quality-item.warn .quality-level{color:#6b5100;border-color:#dac98a;background:#fff4cf}.quality-message{margin:6px 0 7px;line-height:1.4}.quality-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.quality-waiver{min-width:320px;max-width:640px;border:1px solid #d2aaa6;background:#fff;padding:5px 7px}.quality-waiver summary{cursor:pointer;color:#8b1f1a;font-weight:700}.quality-waiver form{margin-top:7px}.quality-waiver textarea{min-height:55px}
button:disabled,.btn.disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.25)}
@media(max-width:760px){.quality-summary-card{display:block}.quality-counters{margin-top:8px}.quality-waiver{min-width:0;width:100%}}

.card-subtle{border:1px solid #cfd7dd;background:#f7f9fa;padding:10px;margin:10px 0;border-radius:3px}.template-preview.compact{margin-top:10px;padding:8px;white-space:normal}


/* v0.19 – sichtbarer Versionsstand + Marktdaten */
.version-badge{display:inline-block;margin-left:6px;padding:1px 5px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.13);border-radius:2px;font-size:10px;font-weight:700;vertical-align:1px}.login-card .version-badge{color:#214662;border-color:#8da6b8;background:#e7eef3;font-size:11px}.mini-market-link{display:inline-block;margin-left:7px;padding:1px 6px;border:1px solid #9ab1c1;background:#e7f0f6;color:#174f76;font-size:10px;font-weight:400;text-decoration:none;border-radius:2px}.mini-market-link:hover{background:#d5e8f4;text-decoration:none}.inline-market{margin:-4px 0 7px;align-self:end}.market-inline-tools{margin:-3px 0 8px}.market-set-list{display:grid;gap:3px;margin-top:8px}.market-set-item{display:block;border:1px solid #bcc6cd;background:#f8f9fa;padding:7px;color:#24313a}.market-set-item:hover,.market-set-item.active{background:#d8eaf6;border-color:#8eafc4;text-decoration:none}.market-set-item small{display:block;color:#65727b;margin-top:2px}.market-usage-list{display:grid;gap:5px;margin-bottom:8px}.market-usage-list>div{border-bottom:1px solid #d9dfe3;padding:4px 0}.market-usage-list span,.market-usage-list small{display:block;font-size:11px}.market-usage-list small{color:#67747d}.statusbar b{color:#214662}

/* v0.20 – Flächen-/Gebäudeermittlung */
.tree-item.tree-sub{padding-left:24px;font-size:.92em;color:#38566c}
.area-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0 12px}.area-summary span{background:#f3f6f8;border:1px solid #d7e0e6;padding:7px 9px;border-radius:3px}.area-summary b{display:block;margin-top:2px}
.area-row,.modernization-row{border-top:1px solid #dce4e9;padding:10px 0}.area-row:first-of-type,.modernization-row:first-of-type{border-top:0}.area-row-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:7px}.area-row-grid.area-row-last{grid-template-columns:1.3fr 1.3fr .8fr auto;align-items:end}.area-result{background:#eef3f6;border:1px solid #d4e0e6;padding:8px;border-radius:3px;min-width:150px}.modernization-building{margin-bottom:14px}
@media(max-width:900px){.area-summary,.area-row-grid,.area-row-grid.area-row-last{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.area-summary,.area-row-grid,.area-row-grid.area-row-last{grid-template-columns:1fr}}

/* v0.27 – Integrations-/Suchstand */
.global-search-form{display:flex;align-items:center;gap:4px;min-width:300px;max-width:520px;flex:1}.global-search-form input{height:32px;min-width:220px;margin:0;padding:5px 9px;border:1px solid #9daab3;background:#fff}.global-search-form button{height:32px;padding:4px 10px}.search-page-form{max-width:900px}.search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.search-group{padding:0;overflow:hidden}.search-group .card-title{padding:10px 12px;margin:0;border-bottom:1px solid #d6dde2;background:#eef2f4}.count-badge{float:right;background:#d8e0e5;border-radius:10px;padding:1px 7px;font-size:11px}.search-result{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:9px 12px;border-bottom:1px solid #e3e7ea;color:#25333c;text-decoration:none}.search-result:hover{background:#f2f6f8}.search-result small{display:block;color:#667681;margin-top:2px}.search-kind{font-size:11px;color:#536772;text-transform:uppercase;letter-spacing:.03em;padding-top:2px}.dashboard-work .card{min-height:240px}.dashboard-row{display:grid;grid-template-columns:70px 1fr;gap:9px;padding:8px 0;border-bottom:1px solid #e4e8eb;color:#273840;text-decoration:none}.dashboard-row:hover{background:#f6f8f9}.dashboard-row small{display:block;color:#697982;margin-top:2px}.date-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #bac5cc;background:#f4f7f8;border-radius:4px;font-weight:700;min-height:42px}.date-chip small{font-weight:400;color:#56666f}.compact-filter{padding:10px 12px}.compact-filter label{margin-bottom:0}.status.bad{background:#f5d2d0;color:#791d18;border-color:#d69a95}
@media(max-width:980px){.global-search-form{order:10;min-width:100%;max-width:none}.search-results{grid-template-columns:1fr}.dashboard-work{grid-template-columns:1fr!important}.quickbar{flex-wrap:wrap}}

/* Rechnung v0.29: Abrechnungsart zuerst, danach klassische Arbeitsreiter */
.invoice-heading-block{min-width:0;flex:1}.invoice-heading-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.invoice-heading-row h1{flex:0 0 auto}.invoice-mode-picker{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.invoice-mode-choice{white-space:nowrap}.invoice-mode-choice.active{background:linear-gradient(#3f79a3,#245b82)!important;border-color:#1b496a!important;color:#fff!important;font-weight:700}.invoice-workflow-tabs{margin-top:0}.invoice-ground-card{margin:0;border-top:0}.invoice-ground-actions{margin-top:10px}.invoice-more-fields{margin-top:10px;border:1px solid #c8d0d6;background:#f7f9fa;padding:7px}.invoice-more-fields summary{cursor:pointer;font-weight:700;color:#274c65}.invoice-items-editor{margin-top:8px}.invoice-page-head{margin-bottom:0}.invoice-empty-space{min-height:420px}
@media(max-width:900px){.invoice-heading-row{align-items:flex-start}.invoice-mode-picker{width:100%}.invoice-mode-choice{flex:1 1 auto;justify-content:center}}

/* Rechnung v0.31: Rechenparameter selten benötigt – standardmäßig verborgen und kompakt */
.invoice-param-details{margin-top:10px;border-top:1px solid #d5dde2;padding-top:7px}.invoice-param-link{display:inline-flex;align-items:center;gap:3px;cursor:pointer;color:#1e5c84;font-weight:700;font-size:12px;list-style:none}.invoice-param-link::-webkit-details-marker{display:none}.invoice-param-link:before{content:'▸';font-size:11px;color:#527087}.invoice-param-details[open]>.invoice-param-link:before{content:'▾'}.invoice-param-link:hover{text-decoration:underline}.invoice-param-link .muted{font-weight:400;font-size:11px}.invoice-param-panel{margin-top:7px;border:1px solid #c7d2d9;background:#f7f9fa;padding:8px}.invoice-param-note{margin:0 0 7px;font-size:11px}.invoice-param-sections{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:7px}.invoice-param-section{border:1px solid #d4dce1;background:#fff;padding:6px 7px}.invoice-param-section-wide{grid-column:1/-1}.invoice-param-section h3{font-size:12px;margin:0 0 4px;padding-bottom:3px;border-bottom:1px solid #e1e6e9;color:#254b64}.invoice-param-list{display:grid;gap:2px}.invoice-param-list-two{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.invoice-param-list>label{display:grid;grid-template-columns:minmax(0,1fr) 158px;align-items:center;gap:7px;margin:0;min-height:26px;font-size:11px;border-bottom:1px dotted #e3e7ea}.invoice-param-list>label:last-child{border-bottom:0}.invoice-param-value{display:grid;grid-template-columns:78px minmax(66px,1fr);align-items:center;gap:5px;justify-content:end}.invoice-param-value input{width:78px!important;min-width:0!important;height:24px!important;padding:2px 5px!important;margin:0!important;font-size:11px;text-align:right}.invoice-param-value small{font-size:10px;color:#65747e;white-space:nowrap}.invoice-param-hint{margin:5px 0 0;padding:5px 6px;background:#edf5fa;border:1px solid #c5dbe9;font-size:10px;color:#3c5565}
@media(max-width:1050px){.invoice-param-sections{grid-template-columns:1fr}.invoice-param-section-wide{grid-column:auto}.invoice-param-list-two{grid-template-columns:1fr}}
@media(max-width:620px){.invoice-param-panel{padding:6px}.invoice-param-list>label{grid-template-columns:1fr 145px}.invoice-param-value{grid-template-columns:72px minmax(60px,1fr)}.invoice-param-value input{width:72px!important}}

/* v0.34 – internes AZ nur bei Rechnungen ohne Auftrag; immer automatisch, nie frei editierbar. */
.invoice-internal-az{display:flex;align-items:flex-end;gap:10px;margin:7px 0 9px}.invoice-internal-az[hidden]{display:none!important}.invoice-internal-az label{flex:0 1 340px;margin:0}.invoice-internal-az input[readonly]{background:#eef2f4;color:#273844;font-weight:700}.invoice-internal-az small{padding-bottom:6px}
@media(max-width:720px){.invoice-internal-az{display:block}.invoice-internal-az label{max-width:none}.invoice-internal-az small{display:block;padding:4px 0 0}}

/* v0.35 – rechnungsbezogener, frei sortierbarer Adresskopf mit Live-Vorschau */
.invoice-address-card{display:grid;grid-template-columns:minmax(520px,1fr) minmax(250px,330px);gap:12px;margin:8px 0 10px;padding:8px;border:1px solid #b8c3ca;background:#f7f9fa}.invoice-address-head{display:flex;align-items:baseline;gap:10px;margin-bottom:5px;color:#284a61}.invoice-address-head .muted{font-size:10px;font-weight:400}.invoice-address-fields{min-width:0}.invoice-address-row{display:grid;grid-template-columns:42px 118px minmax(0,1fr);gap:6px;align-items:center;margin-bottom:4px}.invoice-address-row>span{font-size:11px;font-weight:700;color:#3c4b55}.invoice-address-row input{height:25px!important;padding:2px 5px!important;margin:0!important;font-size:11px}.invoice-address-row .invoice-address-order{width:42px!important;text-align:center;font-weight:700;background:#eef3f6}.invoice-address-place>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:5px}.invoice-address-preview-wrap{border-left:1px solid #ccd4d9;padding-left:12px;min-width:0}.invoice-address-preview-title{font-size:11px;font-weight:700;color:#284a61;margin-bottom:6px}.invoice-address-preview{min-height:112px;background:#fff;border:1px solid #aeb9c1;padding:12px 12px 10px;font-family:Arial,sans-serif;font-size:12px;line-height:1.38;white-space:pre-line;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}.invoice-address-preview:empty:before{content:'Adressfeld leer';color:#87939b;font-style:italic}.invoice-address-preview-wrap small{display:block;margin-top:5px;font-size:10px}
@media(max-width:980px){.invoice-address-card{grid-template-columns:1fr}.invoice-address-preview-wrap{border-left:0;border-top:1px solid #ccd4d9;padding:8px 0 0}.invoice-address-preview{min-height:95px}}
@media(max-width:620px){.invoice-address-row{grid-template-columns:38px 94px minmax(0,1fr);gap:4px}.invoice-address-row .invoice-address-order{width:38px!important}.invoice-address-place>div{grid-template-columns:68px minmax(0,1fr)}}

/* v0.58 – Rechnungsmaske optisch aufgeräumt und deutlich kompakter */
.invoice-page-head{padding:10px 12px}
.invoice-heading-row{gap:10px}.invoice-heading-row h1{font-size:15px}
.invoice-mode-picker{gap:5px}.invoice-mode-choice{padding:4px 9px;min-height:26px;font-size:12px}
.invoice-workflow-tabs{padding-left:0;border-bottom-color:#b6c2cc;background:#eef2f5}.invoice-workflow-tabs .tab{padding:7px 11px;font-size:12px;background:linear-gradient(#f6f8f9,#e0e6ea)}
.invoice-workflow-tabs .tab.active{background:#fff}
.invoice-ground-compact{padding:10px 12px 12px;background:#fcfcfd}.invoice-ground-compact .card-title{margin:-10px -12px 10px;padding:7px 10px}
.invoice-form-intro{margin:0 0 10px;font-size:12px;color:#60707b}
.invoice-edit-section{margin:0 0 10px;padding:9px 10px;border:1px solid #cfd8de;background:linear-gradient(#fbfcfd,#f4f7f9)}
.invoice-section-title{margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid #d9e1e6;font-size:12px;font-weight:700;color:#234a66}
.invoice-ground-form label,.billing-engine label{font-size:11px;margin-bottom:6px}.invoice-ground-form label input,.invoice-ground-form label select,.billing-engine label input,.billing-engine label select{margin-top:2px}
.invoice-ground-form input,.invoice-ground-form select,.billing-engine input,.billing-engine select{height:29px;padding:4px 6px}
.invoice-top-row{grid-template-columns:minmax(260px,1.1fr) minmax(300px,1.15fr) minmax(180px,.55fr)}
.invoice-subject-row{grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr)}
.invoice-date-row{grid-template-columns:minmax(150px,190px) minmax(150px,190px) minmax(240px,1fr);align-items:start}
.invoice-date-row label:last-child input{max-width:220px}.invoice-date-row label small{display:block;margin-top:3px;font-size:10px;line-height:1.25}
.invoice-internal-az{margin:8px 0 0;gap:8px}.invoice-internal-az label{flex:0 1 320px}.invoice-internal-az input[readonly]{height:28px}
.invoice-address-card{grid-template-columns:minmax(500px,1fr) minmax(220px,300px);gap:10px;margin:0;padding:8px 10px;border-color:#cad4da;background:#fff}
.invoice-address-head{margin-bottom:6px}.invoice-address-head .muted{font-size:10px}
.invoice-address-row{grid-template-columns:34px 112px minmax(0,1fr);gap:5px;margin-bottom:3px}.invoice-address-row>span{font-size:11px}.invoice-address-row input{height:26px!important;padding:2px 5px!important;font-size:11px}.invoice-address-row .invoice-address-order{width:34px!important}
.invoice-address-place>div{grid-template-columns:76px minmax(0,1fr);gap:4px}.invoice-address-preview-wrap{padding-left:10px}.invoice-address-preview{min-height:104px;padding:10px 11px;font-size:12px;line-height:1.34}
.invoice-param-details{margin-top:8px}.invoice-param-panel{background:#fbfcfd}.invoice-more-fields{background:#fbfcfd}.invoice-ground-actions{margin-top:10px;padding-top:8px;border-top:1px solid #dbe3e8;justify-content:space-between}
.billing-engine{padding:10px 12px}.billing-engine h2{margin:0 0 6px;font-size:15px}.billing-engine h3{margin:12px 0 6px;padding-top:8px;border-top:1px solid #dbe2e7;font-size:13px;color:#214b67}.billing-engine h3:first-of-type{margin-top:8px;padding-top:0;border-top:0}
.billing-engine .form-row{gap:6px;margin-bottom:6px}.billing-engine .alert{margin-bottom:10px}
.billing-engine .bvs-repeat{align-items:center;padding:6px 8px;border:1px solid #d9e1e6;background:#f8fafb;margin-bottom:5px}
.billing-engine .toolbar{margin-top:10px}.billing-engine .toolbar .muted{margin-left:auto}
.billing-engine .bvs-remove{align-self:stretch;justify-content:center}.billing-engine .bvs-add{margin-top:2px}
.invoice-items-editor .invoice-line{gap:6px}.invoice-items-editor input{height:29px;padding:4px 6px}
@media(max-width:1180px){.invoice-top-row,.invoice-subject-row,.invoice-date-row{grid-template-columns:1fr}.invoice-address-card{grid-template-columns:1fr}.billing-engine .toolbar .muted,.invoice-ground-actions .muted{margin-left:0;width:100%}}
@media(max-width:720px){.invoice-ground-compact{padding:8px}.invoice-workflow-tabs .tab{padding:6px 8px;font-size:11px}.invoice-address-row{grid-template-columns:32px 92px minmax(0,1fr)}.invoice-address-row .invoice-address-order{width:32px!important}.invoice-address-place>div{grid-template-columns:64px minmax(0,1fr)}}

/* v0.59 – Leistungsbetreff größer; Fälligkeit nur noch über Zahlungsziel */
.invoice-subject-layout{display:grid;grid-template-columns:minmax(220px,310px) minmax(520px,1fr);gap:10px;align-items:start}
.invoice-subject-field textarea{min-height:76px;line-height:1.35;padding:6px 7px;resize:vertical;font-size:12px}
.invoice-subject-field small{display:block;margin-top:3px;font-size:10px;font-weight:400}
.invoice-service-row{display:grid;grid-template-columns:190px 190px minmax(260px,1fr);gap:10px;align-items:end;margin-top:7px}
.invoice-payment-term{min-height:52px;border-left:3px solid #9fb8ca;background:#eef4f8;padding:6px 9px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline}
.invoice-payment-term>span{font-size:11px;font-weight:700;color:#385366}.invoice-payment-term>strong{font-size:13px;color:#173f5d}.invoice-payment-term small{grid-column:1/-1;margin-top:2px;font-size:10px;color:#667681}
@media(max-width:1050px){.invoice-subject-layout{grid-template-columns:1fr}.invoice-service-row{grid-template-columns:1fr 1fr}.invoice-payment-term{grid-column:1/-1}}
@media(max-width:620px){.invoice-service-row{grid-template-columns:1fr}}

/* v0.62 – automatische Fahrtzeit / Kilometer aus Bewertungsobjekt */
.invoice-route-heading{margin-top:10px}.invoice-route-heading h3{margin-bottom:5px}.invoice-route-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 7px}.invoice-route-endpoints{font-size:11px;color:#263b49;background:#f5f8fa;border:1px solid #d3dde3;padding:4px 7px;line-height:1.3}.invoice-route-tools [data-route-status],.invoice-route-empty{font-size:11px}.invoice-route-tools [data-route-status]{flex-basis:100%;margin-left:0}.invoice-route-tools button{white-space:nowrap}

.invoice-route-resolved{flex-basis:100%;font-size:10px!important;color:#4d6575!important;padding-left:1px}
