/* Optik nach immocloud (Ist-Werte aus der Live-Oberfläche gemessen, 09.11.2026) */
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(fonts/inter-400.woff2) format("woff2"),url(fonts/inter-ext-400.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(fonts/inter-500.woff2) format("woff2"),url(fonts/inter-ext-500.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(fonts/inter-600.woff2) format("woff2"),url(fonts/inter-ext-600.woff2) format("woff2")}
:root{--bg:#fff;--side:#f9f8f7;--card:#f9f8f7;--ink:#212529;--head:#232d37;--muted:#656c73;--line:#e9e7e4;--line2:#dedcd8;
--teal:#11807e;--teal-d:#0e6a68;--teal-bg:rgba(17,128,126,.12);--kpi:#0a4846;--dark:#2a2b2e;--red:#c8102e;--red-bg:#fbe9ec;--orange:#e07b00;
--green:#2f9e62;--purple:#8a63d2;--radius:8px}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;font:15px/1.45 Inter,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}
.shell{display:flex;min-height:100vh}
.side{width:270px;flex:0 0 270px;background:var(--side);padding:25px 25px 0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;border-right:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px;font-size:21px;color:var(--head);margin:0 0 22px 2px;font-weight:500}.logo svg{color:var(--teal)}
.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:4px;background:#fff;padding:10px 12px;color:var(--muted);font-size:14px;margin-bottom:16px}
.search input{border:0;outline:0;flex:1;font:inherit;background:transparent;color:var(--ink);padding:0;min-width:0}.kbd{font-size:11px;border:1px solid var(--line2);border-radius:4px;padding:1px 5px}
.btn-pill{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--teal-bg);color:var(--teal);border-radius:999px;padding:8px 16px;margin-bottom:16px;border:0;font:inherit;cursor:pointer;width:100%}
.nav{flex:1;overflow-y:auto;margin:0 -4px;padding:0 4px}
.nav a{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:4px;color:var(--muted);font-size:16px;margin-bottom:4px;text-decoration:none}
.nav a:hover{background:#efedea}.nav a.on{background:var(--dark);color:#fff;font-weight:500}.nav a svg{flex:0 0 20px}
.nav .tag{margin-left:auto;font-size:10px;font-weight:600;background:#4b4f54;color:#fff;border-radius:999px;padding:1px 7px}
.nav .cnt{margin-left:auto;font-size:11px;background:#4b4f54;color:#fff;border-radius:999px;padding:0 7px}
.me{border-top:1px solid var(--line);margin:0 -25px;padding:14px 25px;display:flex;align-items:center;gap:10px;font-weight:500}
.me .av{width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:13px}
.me form{margin-left:auto}.me button{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;font-size:13px}
.main{flex:1;min-width:0;padding:30px 30px 60px}
.pagehead{display:flex;align-items:center;gap:12px;margin:14px 0 22px}.pagehead h1{font-size:34px;font-weight:500;color:var(--head);margin:0;flex:1;letter-spacing:-.3px}
h2{font-size:20px;font-weight:500;color:var(--head);margin:28px 0 16px}h3{font-size:16px;font-weight:500;color:var(--head);margin:0 0 12px}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:6px;padding:9px 16px;font:inherit;font-size:15px;cursor:pointer;border:1px solid var(--line2);background:#fff;color:var(--ink);text-decoration:none}
.btn:hover{text-decoration:none;background:#f4f3f1}.btn.pri{background:var(--teal);border-color:var(--teal);color:#fff}.btn.pri:hover{background:var(--teal-d)}
.btn.sm{padding:5px 12px;font-size:14px}.btn.grey{background:#ecebe8;border-color:#ecebe8}.btn[disabled]{opacity:.45;cursor:not-allowed}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs a{padding:10px 12px;color:var(--ink);font-size:15px;border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none}
.tabs a.on{border-bottom-color:var(--head);font-weight:500}
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.inp{display:flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:999px;padding:7px 14px;background:#fff;color:var(--muted);font-size:14px}
.inp input,.inp select{border:0;outline:0;font:inherit;background:transparent;color:var(--ink);min-width:150px}
.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#f1efec;padding:7px 14px;font-size:14px;color:var(--ink);border:1px solid transparent;cursor:pointer}
.chip.on{background:var(--teal-bg);color:var(--teal)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px}
.kpis a,.kpis div.k{background:var(--card);border-radius:var(--radius);padding:12px 14px;color:var(--ink);border:1px solid transparent;text-decoration:none;display:block}
.kpis a.on{border-color:var(--teal);background:#fff}.kpis .v{font-size:30px;color:var(--kpi);font-weight:400;line-height:1.2}.kpis .l{font-size:15px;color:var(--muted)}
.kpis .v.red{color:var(--red)}.kpis .v.or{color:var(--orange)}
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.tbl th{background:var(--card);text-align:left;font-weight:600;font-size:13px;color:var(--ink);padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl th:first-child{border-top-left-radius:6px}.tbl th:last-child{border-top-right-radius:6px}
.tbl td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr.click{cursor:pointer}.tbl tr.click:hover td{background:#fbfaf9}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tbl .sub{font-size:12px;color:var(--muted)}.tbl tfoot td{font-weight:600;background:var(--card)}
.wrap{overflow-x:auto}
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:500;color:#fff;background:var(--teal);white-space:nowrap}
.pill.red{background:var(--red)}.pill.or{background:var(--orange)}.pill.grey{background:#9aa0a6}.pill.lt{background:var(--teal-bg);color:var(--teal)}
.neg{color:var(--red)}.pos{color:var(--green)}.muted{color:var(--muted)}.small{font-size:13px}.warn{color:var(--red);font-size:13px}
.card{background:var(--card);border-radius:var(--radius);padding:20px 24px;margin-bottom:16px}.card.white{background:#fff;border:1px solid var(--line)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:1000px){.grid2,.grid3{grid-template-columns:1fr}}
.ring{display:flex;align-items:center;gap:16px}.ring .big{font-size:28.8px;color:var(--kpi)}.ring .lbl{font-size:15.5px;font-weight:500;color:var(--muted)}
.cardlink{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:17px;margin-top:22px}
.reco{background:var(--card);border-radius:var(--radius);padding:24px 32px}.reco .t{color:var(--kpi);font-weight:500;display:flex;gap:8px;align-items:center}
.reco h4{font-size:19px;font-weight:500;margin:16px 0 26px;color:var(--ink)}.reco p{color:var(--muted);margin:0 0 18px}
/* Objekt-/Einheitendetail */
.detail{display:flex;gap:0;margin:-30px -30px 0;min-height:calc(100vh)}
.dleft{width:355px;flex:0 0 355px;background:var(--side);padding:20px 12px 40px;border-right:1px solid var(--line)}
.dright{flex:1;min-width:0;padding:0 30px 40px;background:#fafaf9}
.back{display:inline-flex;gap:6px;color:var(--muted);font-size:15px;margin:0 0 14px 8px}
.objcard{background:#fff;border:1px solid var(--teal);border-radius:8px;padding:16px}.objcard h3{font-size:20px;margin:0 0 4px}
.quick{display:flex;justify-content:space-around;margin-top:14px;text-align:center;font-size:14px;color:var(--muted)}
.quick span{display:block;width:44px;height:44px;border-radius:50%;background:var(--teal-bg);margin:0 auto 6px;display:grid;place-items:center;color:var(--kpi)}
.addunit{display:flex;gap:10px;align-items:center;color:var(--kpi);font-size:16px;font-weight:500;margin:22px 8px 14px}
.addr{font-size:13px;color:var(--muted);text-transform:uppercase;margin:0 8px 8px;letter-spacing:.2px}
.ucard{display:block;background:#fff;border-radius:6px;padding:12px;margin-bottom:10px;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06);border:1px solid transparent;text-decoration:none}
.ucard:hover{text-decoration:none;border-color:var(--line2)}.ucard.on{border-color:var(--teal)}
.ucard .r{display:flex;justify-content:space-between;gap:8px}.ucard .n{font-weight:500}.ucard .s{font-size:13px;color:var(--muted)}
.badge{font-size:11px;font-weight:600;letter-spacing:.3px;border-radius:4px;padding:2px 6px;background:var(--teal-bg);color:var(--teal)}
.hero{height:110px;margin:0 -30px 0;background:linear-gradient(120deg,#30485c,#8aa2b3 60%,#d6dde3)}
.titlebar{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 20px 0;margin:-50px 0 16px;position:relative}
.titlebar .row1{display:flex;align-items:center;gap:10px}.titlebar .row1 b{font-size:16px;font-weight:500}.titlebar .tabs{margin:14px 0 0;border:0}
.facts{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:18px 24px}.facts .v{font-size:15px}.facts .l{font-size:13px;color:var(--muted)}
.empty{border:1px dashed var(--line2);border-radius:8px;padding:28px;text-align:center;color:var(--muted)}
/* Bankkonto */
.bank{display:grid;grid-template-columns:240px 1fr;gap:20px}@media (max-width:1100px){.bank{grid-template-columns:1fr}}
.acc{display:block;border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:10px;color:var(--ink);background:#fff;text-decoration:none}
.acc.on{border-color:var(--teal)}.acc:hover{text-decoration:none}.acc .b{color:var(--green);font-weight:500;font-size:14px}
.dategrp{font-size:12px;color:var(--muted);margin:16px 0 6px;font-weight:500}
.txrow{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;background:var(--card);border-radius:6px;padding:12px 14px;margin-bottom:6px}
.txrow .n{font-weight:500;font-size:14px;text-transform:uppercase}.txrow .p{font-size:12px;color:var(--muted);max-width:640px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pager{display:flex;gap:6px;align-items:center;justify-content:space-between;margin-top:14px;font-size:14px;color:var(--muted)}
.pager a,.pager span.cur{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:50%;color:var(--ink)}.pager span.cur{background:#f1efec}
.msg{padding:12px 14px;border-radius:8px;border:1px solid var(--line2);background:#fff}.msg.ok{border-color:var(--teal)}.msg.bad{border-color:var(--red)}.msg.warn{border-color:var(--orange);background:#fff8ee}
.info{background:#eef6f5;border-radius:8px;padding:14px 18px;color:var(--kpi);margin-bottom:16px}
label{display:block;font-size:13px;color:var(--muted);margin:8px 0 4px}
input[type=text],input[type=password],input[type=date],input[type=file],input[type=number],input[type=email],input[type=tel],input[type=url],input:not([type]),select{font:inherit;padding:8px 10px;border:1px solid var(--line2);border-radius:6px;background:#fff;color:var(--ink)}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
details.card summary{cursor:pointer;font-weight:500}
.login{max-width:400px;margin:12vh auto;background:var(--card);border-radius:10px;padding:28px}
.codes{font-size:1.1rem;line-height:1.7;background:#fff;padding:.8rem;border-radius:8px}.tanimg{max-width:240px}.pre{white-space:pre-wrap}.mt{margin-top:1rem}.plain{color:inherit;font-size:15px}
.htmx-request .spin{display:inline}.spin{display:none}
.bars{display:flex;align-items:flex-end;gap:10px;height:180px;padding-top:10px}.bars .m{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--muted)}
.bars .col{width:100%;display:flex;gap:2px;align-items:flex-end;height:150px}.bars .in{flex:1;background:var(--teal);border-radius:3px 3px 0 0}.bars .out{flex:1;background:#d9a7ae;border-radius:3px 3px 0 0}
.legend{display:flex;gap:16px;font-size:13px;color:var(--muted);margin-top:8px}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.soon{max-width:640px}.soon .k{font-size:14px;color:var(--muted)}
.lg-in{background:#11807e}.lg-out{background:#d9a7ae}
.sp{flex:1}.fact{display:flex;gap:12px;align-items:flex-start;color:var(--muted)}.fact .v{color:var(--ink)}.row1x{display:flex;gap:12px;align-items:center}
.grid2.narrow{grid-template-columns:repeat(2,180px)}.quick a{color:var(--muted);text-decoration:none}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:4px}
.form{max-width:860px}.form .sec{background:var(--card);border-radius:8px;padding:18px 22px;margin-bottom:14px}.form .sec h3{margin-bottom:6px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 16px}.fld input,.fld select,.fld textarea{width:100%}
.fld textarea{font:inherit;padding:8px 10px;border:1px solid var(--line2);border-radius:6px}.hint{font-size:12px;color:var(--muted);margin-top:2px}
.actions{display:flex;gap:10px;align-items:center;margin-top:10px}.errbox{border:1px solid var(--red);background:var(--red-bg);border-radius:8px;padding:10px 14px;margin-bottom:14px}
.drawer{background:#fff;border:1px solid var(--line2);border-radius:8px;padding:16px;margin:4px 0 12px}.drawer h4{margin:12px 0 6px;font-size:14px}
.txrow{cursor:pointer}.mini{font-size:13px}.mini td,.mini th{padding:6px 8px}.okmsg{color:var(--teal)}
.wide{width:100%}
.inline{display:inline}
@media (max-width:900px){.shell{flex-direction:column}.side{width:auto;flex:none;height:auto;position:static;padding:14px 16px 0;border-right:0;border-bottom:1px solid var(--line)}
.nav{display:flex;flex-wrap:wrap;gap:4px}.nav a{padding:6px 10px;font-size:14px;margin:0}.me{margin:8px -16px 0;padding:10px 16px}
.main{padding:16px}.detail{flex-direction:column;margin:-16px -16px 0}.dleft{width:auto;flex:none}.dright{padding:0 16px 30px}.hero{margin:0 -16px}
.pagehead h1{font-size:26px}.pagehead{flex-wrap:wrap}.txrow{grid-template-columns:1fr auto}.bank{grid-template-columns:1fr}}
.big{font-size:28px;color:var(--kpi)}
.hidden{display:none}.upl{cursor:pointer;margin-right:6px}
.lbl{display:inline-block;border-radius:4px;padding:1px 7px;font-size:12px;color:#fff;margin:2px 3px 0 0;background:#6b7280}.lbl[data-c="#11807e"]{background:#11807e}.lbl[data-c="#2f6fd6"]{background:#2f6fd6}.lbl[data-c="#8a63d2"]{background:#8a63d2}.lbl[data-c="#c8102e"]{background:#c8102e}.lbl[data-c="#e07b00"]{background:#e07b00}.lbl[data-c="#2f9e62"]{background:#2f9e62}.lbl[data-c="#b5a000"]{background:#b5a000}.lbl[data-c="#6b7280"]{background:#6b7280}.lbl[data-c="#d6336c"]{background:#d6336c}
.todo{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.chk{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line2);background:#fff;cursor:pointer;padding:0;color:#fff;font-size:12px}.chk.on{background:var(--teal);border-color:var(--teal)}.done{text-decoration:line-through;color:var(--muted)}
.letter{background:#fff;border:1px solid var(--line);padding:24px;border-radius:6px;max-width:760px}
a.btn-pill{text-decoration:none}
.gallery{display:flex;flex-wrap:wrap;gap:8px}.gallery img{height:120px;border-radius:6px;object-fit:cover}
.qs{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;justify-content:center;padding-top:12vh;z-index:50}.qs.hidden{display:none}.qsbox{background:#fff;border-radius:10px;width:min(640px,92vw);padding:14px;max-height:70vh;overflow:auto}.qsbox input{width:100%;font-size:17px;padding:10px;border:1px solid var(--line2);border-radius:8px}.sres{display:block;padding:8px 6px;border-bottom:1px solid var(--line);color:var(--ink)}
/* Mietverhältnis-Dialog (immocloud-Modal) */
.mvbox{max-width:980px;background:#fff;border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,.08);padding:22px 32px 26px;margin:10px 0 30px}
.mvhead{display:flex;align-items:center;gap:28px}.mvhead h2{margin:0;font-size:20px;font-weight:500}
.mvtabs{flex:1;margin:0;border:0}.mvtabs a{color:#656c73}.mvtabs a.on{color:var(--head);border-bottom-color:#2b7a78}
.mvclose{font-size:20px;color:var(--ink);text-decoration:none}.mvsub{margin:2px 0 14px}
.mvbox h3{font-size:16px;font-weight:500;margin:18px 0 10px}.mvbox hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.mvadd{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.mvadd .fld{flex:1;min-width:280px}.mvadd input{width:100%;background:#f5f5f4;border:0;padding:12px}
.mvnew summary{cursor:pointer;color:var(--ink);padding:8px 0;font-size:15px}.mvsw{display:block;margin:12px 0}
.mvcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.mvcard{border:1px solid var(--line);border-radius:8px;padding:16px 20px}.mvcard dl{display:grid;grid-template-columns:120px 1fr;gap:6px 10px;margin:10px 0}
.mvcard dt{color:#656c73;font-size:14px}.mvcard dd{margin:0;font-size:14px}
.mvin{border:0;border-bottom:1px dashed transparent;padding:2px 0;width:100%;font:inherit;color:var(--ink);background:transparent}
.mvin:placeholder-shown{color:#2b7a78}.mvin::placeholder{color:#2b7a78}.mvin:focus{outline:0;border-bottom-color:#2b7a78}
.iconbtn{background:none;border:0;cursor:pointer;font-size:16px;padding:4px}
.mvinfo{margin-top:28px;font-size:14px}.mvinfo .i{display:inline-block;width:20px;height:20px;border-radius:50%;background:#2b7a78;color:#fff;text-align:center;font-size:12px;line-height:20px;margin-right:8px}
.mvfoot{display:flex;justify-content:flex-end;align-items:center;gap:22px;margin-top:22px}.mvfoot a{color:#2b7a78;text-decoration:none}
.mvnote{background:#eef5f4;border-radius:8px;padding:12px 16px;margin:8px 0 6px;font-size:14px}
.mvrent{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mvrent div{background:var(--card);border-radius:8px;padding:10px 12px}.mvrent span{display:block;font-size:12px;color:#656c73}.mvrent .tot{background:#e5efee}
.mvstep{border:1px solid var(--line);border-radius:8px;padding:10px 16px;margin:10px 0}.mvstep summary{cursor:pointer;color:#2b7a78;font-size:15px}.mvstep[open] summary{margin-bottom:8px}
@media(max-width:760px){.mvbox{padding:16px}.mvhead{flex-wrap:wrap;gap:8px}.mvrent{grid-template-columns:1fr 1fr}.mvcards{grid-template-columns:1fr}}
/* Dialog-Details wie immocloud */
.mvbox .fgrid.one{grid-template-columns:1fr}.mvbox .fgrid.two{grid-template-columns:1fr 1fr}.mvbox .fgrid.three{grid-template-columns:repeat(3,1fr)}.mvbox .fgrid.four{grid-template-columns:repeat(4,1fr)}.mvbox .fgrid.five{grid-template-columns:repeat(5,1fr)}
.sw{display:flex;align-items:center;gap:10px;cursor:pointer;margin:6px 0;font-size:14px}.sw>span{flex:1}.sw input{position:absolute;opacity:0;width:0;height:0}
.sw i{position:relative;flex:0 0 34px;height:18px;border-radius:9px;background:#6b7178;transition:.15s}.sw i::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.15s}
.sw input:checked+i,.tgc:checked+.sw i{background:#2b7a78}.sw input:checked+i::after,.tgc:checked+.sw i::after{left:18px}
.sw:has(input:checked) i{background:#2b7a78}.sw:has(input:checked) i::after{left:18px}
.q{display:inline-block;width:15px;height:15px;border:1px solid #656c73;border-radius:50%;font-size:10px;line-height:13px;text-align:center;font-style:normal;color:#656c73;margin-left:3px}
.opt{border:1px solid var(--line2);border-radius:10px;padding:1px 8px;font-size:11px;margin-left:6px;font-weight:400}
.plusrow{display:flex;justify-content:space-between;align-items:center;padding:8px 0;color:var(--ink);text-decoration:none}.plusrow span{font-size:22px;color:#2b7a78}
.mvbox textarea{width:100%;border:1px solid var(--line2);border-radius:6px;padding:10px;font:inherit}
.rk{border-radius:6px;overflow:hidden}.rkh,.rkr summary{display:grid;grid-template-columns:repeat(4,1fr) 1.4fr 1fr 24px;gap:8px;padding:9px 12px;font-size:13px;text-align:right}
.rkh{color:#656c73;font-size:12px}.rkh span:first-child,.rkr summary span:first-child{text-align:left}
.rkr{background:var(--card);margin-bottom:2px}.rkr summary{cursor:pointer;list-style:none}.rkr summary::-webkit-details-marker{display:none}
.rkr summary .chev::after{content:"⌄"}.rkr[open] summary .chev::after{content:"⌃"}
.rkb{background:#fff;border-radius:6px;margin:4px 10px 10px;padding:12px 14px}.rkb input.num{text-align:right}
.del{font-size:16px;cursor:pointer}.del input{margin-right:4px}
.splitbtn{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin:10px 0}.mvstep.inl{border:0;padding:0;margin:0}.mvstep.inl summary{list-style:none}.mvstep.inl[open]{flex-basis:100%}
.tgsec{border-top:1px solid var(--line);padding:4px 0 10px}.tgsec h3{margin:12px 0 4px}.tgc{position:absolute;opacity:0}.tgbody{display:none!important;margin-top:8px}.tgc:checked~.tgbody{display:grid!important}
.drop{background:#e9f2f1;border:1px solid #2b7a78;border-radius:8px;padding:18px;text-align:center}
@media(max-width:760px){.mvbox .fgrid.two,.mvbox .fgrid.three,.mvbox .fgrid.four,.mvbox .fgrid.five{grid-template-columns:1fr}.rkh{display:none}.rkr summary{grid-template-columns:1fr 1fr}}
/* Seitennavigations-Dialog (Einheit / Objekt) wie immocloud */
.dlg{display:grid;grid-template-columns:210px 1fr;max-width:1040px;min-height:620px;background:#fff;border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,.08);margin:10px 0 30px;overflow:hidden}
.dsr{position:absolute;opacity:0;pointer-events:none}
.dnav{background:#f6f5f3;padding:26px 12px}.dnavh{font-size:12px;letter-spacing:.5px;color:#656c73;margin:0 10px 10px}
.dnav label{display:block;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:14px;color:var(--ink)}.dnav label:hover{background:#ecebe8}
.dmain{position:relative;padding:24px 30px 20px;display:flex;flex-direction:column}.dmain>form{flex:1;display:flex;flex-direction:column}
.dmain .mvclose{position:absolute;right:18px;top:14px}.dmain h2{font-size:20px;font-weight:500;margin:0 0 16px}.dmain h3{font-size:15px;font-weight:500;margin:18px 0 8px}
.dp{display:none}.dfoot{margin-top:auto;padding-top:20px}
.dlg:has(#ds_details:checked) .dp_details,.dlg:has(#ds_flaeche:checked) .dp_flaeche,.dlg:has(#ds_ausstattung:checked) .dp_ausstattung,.dlg:has(#ds_fotos:checked) .dp_fotos,
.dlg:has(#ds_kaufpreis:checked) .dp_kaufpreis,.dlg:has(#ds_finanzierung:checked) .dp_finanzierung,.dlg:has(#ds_zaehler:checked) .dp_zaehler,
.dlg:has(#ds_co2:checked) .dp_co2,.dlg:has(#ds_heizkosten:checked) .dp_heizkosten,.dlg:has(#ds_objekt:checked) .dp_objekt{display:block}
.dlg:has(#ds_details:checked) .dn_details,.dlg:has(#ds_flaeche:checked) .dn_flaeche,.dlg:has(#ds_ausstattung:checked) .dn_ausstattung,.dlg:has(#ds_fotos:checked) .dn_fotos,
.dlg:has(#ds_kaufpreis:checked) .dn_kaufpreis,.dlg:has(#ds_finanzierung:checked) .dn_finanzierung,.dlg:has(#ds_zaehler:checked) .dn_zaehler,
.dlg:has(#ds_co2:checked) .dn_co2,.dlg:has(#ds_heizkosten:checked) .dn_heizkosten,.dlg:has(#ds_objekt:checked) .dn_objekt{background:#ecebe8;font-weight:500}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{display:flex;align-items:center;background:#f6f5f3;border-radius:6px;padding:12px 14px;cursor:pointer;font-size:14px;border:1px solid transparent}
.tile input[type=checkbox]{position:absolute;opacity:0}.tile:has(input:checked){background:#e5efee;border-color:#2b7a78;font-weight:500}.tile.add{background:#fff;border:1px solid var(--line2)}.tile.add input{border:0;flex:1;font:inherit;outline:0}.tile.add span{color:#2b7a78;font-size:20px}
.fh input{width:100%;padding:6px 8px;border:1px solid var(--line2);border-radius:5px}.fh .addrow td{padding-top:10px}
@media(max-width:760px){.dlg{grid-template-columns:1fr}.dnav{display:flex;overflow-x:auto;padding:10px}.dnavh{display:none}.dnav label{white-space:nowrap}.tiles{grid-template-columns:1fr}}
.otypes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.otype{display:flex;flex-direction:column;align-items:center;gap:6px;background:#f6f5f3;border-radius:8px;padding:14px;cursor:pointer;text-align:center;font-size:13px;border:1px solid transparent}
.otype input{position:absolute;opacity:0}.otype .ic{font-size:22px}.otype:has(input:checked){background:#d8ebe9;border-color:#2b7a78;color:#1f5f5d;font-weight:500}
.mvbox .fgrid.street,.dmain .fgrid.street{grid-template-columns:3fr 1fr}.dmain .fgrid.city{grid-template-columns:1fr 3fr}
.dmain .fgrid.one{grid-template-columns:1fr}.dmain .fgrid.two{grid-template-columns:1fr 1fr}.dmain .fgrid.three{grid-template-columns:repeat(3,1fr)}
.hkbox{max-width:620px;margin:30px auto;background:#fff;border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,.1);padding:22px 26px}.hkbox h2{font-size:18px;font-weight:500;margin:10px 0 12px}
.hkopt{display:flex;align-items:center;gap:12px;background:#f6f5f3;border-radius:8px;padding:12px 14px;margin:8px 0;cursor:pointer;border:1px solid transparent}
.hkopt span{flex:1;display:flex;flex-direction:column;font-size:14px}.hkopt small{color:#656c73;margin-top:2px}.hkopt input[type=radio]{order:2;accent-color:#2b7a78;width:18px;height:18px}
.hkopt:has(input:checked){border-color:#2b7a78;background:#fff}.hkpct{width:70px;padding:6px;border:1px solid var(--line2);border-radius:5px;order:3}
.hknote{background:#f6f5f3;border-radius:8px;padding:10px 14px;font-size:13px;margin:10px 0}
@media(max-width:760px){.otypes{grid-template-columns:1fr}.dmain .fgrid.two,.dmain .fgrid.three,.dmain .fgrid.street,.dmain .fgrid.city{grid-template-columns:1fr}}
/* Kontaktdialog (Akkordeon) */
.kbox{max-width:600px;margin:20px auto 30px;background:#fff;border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,.1);padding:22px 26px}.kbox h2{font-size:18px;font-weight:500;margin:0}
.seg{display:grid;grid-template-columns:1fr 1fr;background:#f0efec;border-radius:6px;padding:3px;margin:14px 0}.seg label{text-align:center;cursor:pointer}.seg input{position:absolute;opacity:0}
.seg span{display:block;padding:7px;border-radius:5px;font-size:14px}.seg label:has(input:checked) span{background:#2b7a78;color:#fff;font-weight:500}
.acc{background:#fff;margin:8px 0}.acc summary{background:#f6f5f3;border-radius:6px;padding:10px 14px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:14px}
.acc summary::-webkit-details-marker{display:none}.acc summary::after{content:"⊕";color:#656c73;font-size:17px}.acc[open] summary::after{content:"⊗"}.accb{padding:12px 2px 4px}
.kbox .fgrid.two{grid-template-columns:1fr 1fr}.kbox .fgrid.ttl{grid-template-columns:1fr 1fr}.kbox .fgrid.street{grid-template-columns:3fr 1fr}.kbox .fgrid.city{grid-template-columns:1fr 2fr}
.kbox:has(input[value=COMPANY]:checked) .onlyp{display:none}.kbox:has(input[value=PERSON]:checked) .onlyc{display:none}
.note{display:flex;gap:8px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}.note .del{margin-left:auto}
.inlineadd{display:flex;gap:10px;align-items:center;border:1px solid var(--line2);border-radius:6px;padding:4px 10px;margin-top:8px}.inlineadd input{flex:1;border:0;outline:0;font:inherit;padding:6px 0}
@media(max-width:600px){.kbox .fgrid.two,.kbox .fgrid.street,.kbox .fgrid.city{grid-template-columns:1fr}}

/* Feinschliff nach Sichtprüfung 10.11. */
.mvbox .fld input,.mvbox .fld select,.dmain .fld input,.dmain .fld select,.kbox .fld input,.kbox .fld select{height:40px;box-sizing:border-box}
.mvcard input.mvin{border:0;border-bottom:1px dashed transparent;border-radius:0;padding:2px 0;height:auto;background:transparent}
.mvcard input.mvin:focus{border-bottom-color:#2b7a78}
.mvbox details>summary{list-style:none}.mvbox details>summary::-webkit-details-marker{display:none}
.mvnew summary{display:flex;align-items:center;gap:10px}.mvnew summary b{font-size:24px;font-weight:300;color:#2b7a78;line-height:1}
.mvsw.sw{justify-content:flex-start}.mvsw.sw>span{flex:0 1 auto}
/* Buchungsübersicht & Umsatz bearbeiten */
.bview{display:grid;grid-template-columns:1fr 340px;gap:0;min-height:calc(100vh - 40px);margin:-10px -10px 0 0}.bmid{padding:14px 26px}.btn.block{display:block;text-align:center;margin-bottom:16px}
.blist{background:#f6f5f3;border-radius:8px;padding:12px}.brow{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:9px 12px;margin:6px 0;color:var(--ink);text-decoration:none;font-size:14px}
.brow.on{border-color:#2b7a78;box-shadow:0 0 0 1px #2b7a78}.brow .rad{width:14px;height:14px;border:1px solid #9aa0a6;border-radius:3px}.brow.on .rad{background:#2b7a78;border-color:#2b7a78}
.brow .amt{background:#eef5f4;color:#1f5f5d;border-radius:4px;padding:2px 8px;font-weight:500}.brow .amt.neg,.bl .amt.neg{color:#b42318;background:#fdecea}.pill.sm{font-size:11px;padding:2px 6px}
.bside{background:#f6f5f3;border-left:1px solid var(--line);padding:18px}.bside h3{font-size:16px;font-weight:500;margin:4px 0 10px}
.bcard{background:#fff;border-radius:8px;padding:12px 14px;margin-bottom:12px}.bl{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;font-size:14px}.bl span{flex:1}.bl small{color:#656c73}.bl .amt{color:#1f5f5d;white-space:nowrap}
.bcard select,.bcard input[type=file]{min-width:0;width:100%}.bfoot{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
.ubox{max-width:1180px;background:#fff;border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,.1);padding:20px 26px;margin:10px 0 30px}.ubox h2{text-align:center;font-size:18px;font-weight:500;margin:0 0 16px}
.ugrid{display:grid;grid-template-columns:300px 1fr;gap:16px}.drop.tall{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fff;border:1px solid var(--line2)}
.drop .big{font-size:40px;color:#656c73}.uright .seg{margin-top:0}.uright .fgrid.two{grid-template-columns:1fr 1fr}
.uline{display:grid;grid-template-columns:1.4fr 1.2fr .6fr .8fr;gap:12px;border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.utot{text-align:right;margin:10px 0}
@media(max-width:900px){.bview,.ugrid,.uline,.uright .fgrid.two{grid-template-columns:1fr}}
.dd{position:relative;display:inline-block}.dd summary{list-style:none;cursor:pointer}.dd summary::-webkit-details-marker{display:none}
.ddm{position:absolute;right:0;top:100%;z-index:20;background:#fff;border:1px solid var(--line2);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.1);min-width:200px;padding:4px 0}
.ddm a{display:block;padding:8px 14px;color:var(--ink);text-decoration:none;font-size:14px}.ddm a:hover{background:#f6f5f3}
.drop input[type=file]{max-width:100%;box-sizing:border-box}

/* Overlay-Dialoge */
.ovl{position:fixed;inset:0;background:rgba(35,45,55,.45);z-index:60;overflow:auto;padding:30px 16px}.ovlin{max-width:1100px;margin:0 auto}
.ovl .mvbox,.ovl .dlg,.ovl .kbox,.ovl .ubox,.ovl .hkbox{margin:0 auto;box-shadow:0 10px 40px rgba(0,0,0,.25)}.ovl .mvbox{max-width:980px}.ovl .dlg{max-width:1040px}
body.noscroll{overflow:hidden}
.discard{position:fixed;inset:0;background:rgba(35,45,55,.35);z-index:80;display:flex;align-items:center;justify-content:center}
.discard .dbox{background:#fff;border-radius:10px;padding:22px 24px;max-width:380px;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.25)}.discard p{font-size:17px;font-weight:500;margin:0 0 6px}.discard .mvfoot{justify-content:center}
.drop.over{background:#d8ebe9;border-style:dashed}

.lvwrap{position:relative}.lvres{position:absolute;left:0;right:0;top:100%;z-index:30;background:#fff;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.lvres:empty{display:none}.lv{display:flex;flex-direction:column;align-items:flex-start;width:100%;border:0;background:#fff;padding:9px 12px;cursor:pointer;text-align:left;font:inherit;border-bottom:1px solid var(--line)}
.lv:hover{background:#f6f5f3}.lv small{color:#656c73}.lvnone{padding:10px 12px;margin:0}
.discard.hidden,.qs.hidden{display:none}

.xc{margin:6px 0}.xrow{display:grid;grid-template-columns:1.3fr 1.2fr 1fr 50px;gap:10px;margin:6px 0;align-items:center}.xrow input,.xrow select{height:40px;box-sizing:border-box;width:100%}
.xadd summary{list-style:none;cursor:pointer;display:inline-block;border:1px solid var(--line2);border-radius:6px;padding:8px 12px;font-size:14px;margin-top:4px}.xadd summary::-webkit-details-marker{display:none}
.uline.pos{border-top:0;margin-top:0;padding-top:4px}.uline .row{display:flex;gap:8px;align-items:center}

/* Seitenleiste (Drawer) wie immocloud „Zähler anlegen“ */
.drw{max-width:620px;margin-left:auto;background:#fff;min-height:calc(100vh - 60px);display:flex;flex-direction:column;box-shadow:-6px 0 30px rgba(0,0,0,.12)}
.ovl .drw{position:fixed;top:0;right:0;bottom:0;width:min(620px,100vw);margin:0;overflow:auto;min-height:0}
.drwh{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.drwh h2{font-size:18px;font-weight:500;margin:0}
.drwb{flex:1;display:flex;flex-direction:column;padding:16px 20px}.drwbox{background:#f6f5f3;border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:14px}
.drwbox summary{cursor:pointer;list-style:none}.drwbox summary::-webkit-details-marker{display:none}.drw .fgrid.two{grid-template-columns:1fr 1fr}.drw .fgrid.one{grid-template-columns:1fr}
.drw .fld input,.drw .fld select{height:40px;box-sizing:border-box}.drw textarea{width:100%;border:1px solid var(--line2);border-radius:6px;padding:10px;font:inherit}
.drwf{display:flex;justify-content:space-between;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:600px){.drw .fgrid.two{grid-template-columns:1fr}}
/* Dokumente-Ordnerbrowser */
.dbrowse{display:grid;grid-template-columns:260px 1fr;margin:-30px -30px 0;min-height:100vh}.dtree{background:#f6f5f3;padding:26px 14px;border-right:1px solid var(--line)}
.dtree h2{font-size:20px;font-weight:500;margin:0 0 18px 8px}.dtree a{display:block;padding:9px 10px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:14px}.dtree a.on{background:#fff;font-weight:500}
.dth{margin:16px 10px 6px;font-weight:500;font-size:14px}.dth a{padding:0;margin:0}.dtree .cnt{background:#e8e7e3;border-radius:10px;padding:1px 8px;font-size:12px;margin-left:6px}
.dmain2{padding:26px 30px}.dmain2 h1{font-size:28px;font-weight:500;margin:0 0 14px}.drop.big{text-align:center;padding:22px;margin:12px 0 18px}
.crumbs{margin:8px 0 10px;font-size:16px}.crumbs a{color:#2b7a78;text-decoration:none}.dd.inl{margin-bottom:12px}.ddm2{position:absolute;z-index:20;background:#fff;padding:10px;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.flist{background:#fff;border:1px solid var(--line);border-radius:8px}.frow{display:flex;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px}
.frow:last-child{border-bottom:0}a.frow:hover{background:#f6f5f3}.frow .sp{color:var(--ink);text-decoration:none}.ddf{display:flex;gap:6px;padding:6px 10px}.ddf input,.ddf select{flex:1;min-width:0}.pad{padding:14px}
.dd .ddm{min-width:320px}
@media(max-width:800px){.dbrowse{grid-template-columns:1fr;margin:-16px}.dtree{border-right:0}}
.drwbox>.tgc{position:static;opacity:1;width:18px;height:18px;margin:2px 12px 0 0;float:left;accent-color:#2b7a78}

/* Nebenkosten wie immocloud: Schrittleiste */
.nkstep{display:grid;grid-template-columns:repeat(4,1fr);margin:-14px -30px 22px;padding:10px 30px 0;border-bottom:2px solid #2b7a78}
.nkstep a{position:relative;text-align:center;color:var(--ink);text-decoration:none;padding-bottom:16px;font-size:13px}.nkstep small{display:block;font-size:11px;color:#656c73}
.nkstep i{position:absolute;left:50%;bottom:-6px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#2b7a78}.nkstep a.on i{background:#fff;border:2px solid #2b7a78;width:12px;height:12px;bottom:-8px;margin-left:-7px}
.nkstep a.on .l{font-weight:500}.nkhead{display:flex;align-items:center;gap:10px}.nkhead h1{font-size:26px;font-weight:500;margin:0;flex:1}
.nkintro{font-size:16px;margin:8px 0 14px}.nkfoot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:24px;padding-top:14px}
.nkfin td{vertical-align:middle}.nkprop{width:90px;height:34px;background:#f0efec;border:0;border-radius:6px;padding:0 8px}.nkdet td{background:#fbfaf8}
.discard .dbox.wide{max-width:560px;text-align:left;max-height:86vh;overflow:auto}.plist{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:8px}
.pick{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer}.pick span{display:flex;flex-direction:column}.pick small{color:#656c73}.pick:has(input:checked){background:#eef5f4}
.dbox.wide .fgrid.three{grid-template-columns:repeat(3,1fr)}

/* Nachrichten wie immocloud */
.msgv{display:grid;grid-template-columns:300px 1fr 300px;margin:-30px -30px 0;min-height:100vh}.mlist{background:#f6f5f3;border-right:1px solid var(--line);padding:18px 12px;overflow:auto;max-height:100vh}
.mlist h2{font-size:18px;font-weight:500;margin:0}.plusbtn{font-size:22px;color:var(--ink);text-decoration:none}.mlist .inp{width:100%;margin:8px 0}
.mitem{display:block;padding:12px 10px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px}.mitem.on{background:#fff;border-radius:6px}.mitem b{font-weight:500}
.chip2{display:inline-block;border:1px solid var(--line2);border-radius:4px;padding:1px 6px;font-size:10px;letter-spacing:.3px;text-transform:uppercase;margin-top:4px}
.mconv{padding:22px 26px;overflow:auto}.mconv h2{font-size:18px;font-weight:500}.mmsg{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:10px 0}.mmsg.in{background:#f6f5f3}
.mh{display:flex;gap:8px;align-items:center;margin-bottom:6px}.av2{width:28px;height:28px;border-radius:50%;background:#dfe5e4;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.mb{font-size:14px;overflow-wrap:anywhere}.mcomp{border:1px solid var(--line2);border-radius:8px;padding:12px;margin-top:14px;display:flex;flex-direction:column;gap:8px}
.mcomp input,.mcomp textarea,.mcomp select{width:100%;box-sizing:border-box;border:1px solid var(--line2);border-radius:6px;padding:8px;font:inherit}.mcomp .row{gap:8px}
.minfo{padding:18px;border-left:1px solid var(--line)}.mphoto{width:100%;height:140px;object-fit:cover;border-radius:8px;margin:8px 0;background:#e9eef0;display:flex;align-items:center;justify-content:center;font-size:40px}
@media(max-width:1100px){.msgv{grid-template-columns:260px 1fr}.minfo{display:none}}@media(max-width:760px){.msgv{grid-template-columns:1fr;margin:-16px}.mlist{max-height:40vh}}
/* Dashboard wie immocloud */
.ring .ringlbl{font-size:15.5px;font-weight:500;color:var(--muted)}
.wfsec summary{list-style:none;cursor:pointer;margin:18px 0 8px}.wfsec summary::-webkit-details-marker{display:none}.wfsec:not([open]) summary span:last-child::after{content:" (ausgeklappt anzeigen)"}
.wfc{display:block;background:var(--card);border-radius:8px;padding:14px 16px;color:var(--ink);text-decoration:none;border-left:3px solid transparent}.wfc.red{border-left-color:#c8102e}.wfc.or{border-left-color:#f0c27b}
.wfc .n{font-size:30px;font-weight:300;margin-right:2px}.wfc small{color:#656c73;margin-right:14px}
.legend .lg-out2{display:inline-block;width:10px;height:10px;background:#7d5c97;margin-right:4px}.legend .lg-net{display:inline-block;width:12px;height:3px;background:#f0c27b;margin:0 4px 3px 0}
.dmsg{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.card>form>label.inp{display:inline-flex;width:auto}.mb p{margin:0 0 4px}

/* Kontakt-Details */
.kdet{max-width:820px}.ovl .kdet{width:min(820px,100vw)}.av2.lg{width:40px;height:40px;font-size:16px;background:#2b7a78;color:#fff}
.kgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin-top:10px}.kh{border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:8px}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:14px}.kv small{display:block;color:#656c73;font-size:12px}
.kobj{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.mapbtn{border:1px solid var(--line2);border-radius:6px;padding:6px 10px;text-decoration:none;color:var(--ink)}
.kwf{background:#f6f5f3;border-radius:8px;padding:14px;margin-top:20px}.amt{background:#eef5f4;color:#1f5f5d;border-radius:4px;padding:2px 8px}.amt.neg{background:#fdecea;color:#b42318}
@media(max-width:700px){.kgrid{grid-template-columns:1fr}}
.sorth{color:inherit;text-decoration:none;white-space:nowrap}.sorth span{color:#9aa0a6;font-size:11px}.oic{font-size:18px;margin-right:6px}
.cat{font-size:13px}.cat.c_PARTLY_PROPERTY{color:#6b4fa0}.cat.c_SINGLE_PROPERTY{color:#2b7a78}.orange{color:#d97706}.right{text-align:right}
.kpis a .v.red,.kpis .v.red{color:#c8102e}
.kpis .v.or{color:#d97706}.kpis .v.pos{color:#2f9e62}
.kpis.k7{grid-template-columns:repeat(7,1fr)}.kpis .v.or{color:#d97706}.chip input[type=date]{border:0;background:transparent;font:inherit;padding:0}@media(max-width:900px){.kpis.k7{grid-template-columns:repeat(3,1fr)}}
.learn{background:#eef5f4;border-radius:8px;padding:10px 12px;margin:8px 0;font-size:14px}.learn form{margin-left:8px}
/* Objekt-Detail 1:1 */
.ownrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ownp{display:inline-flex;align-items:center;gap:6px;color:var(--teal)}.ownp .pill{padding:2px 8px;font-size:12px}
.ownrep{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;display:flex;gap:16px;flex-wrap:wrap}.ownrep a{color:var(--ink);text-decoration:none}
.kcards{display:flex;gap:14px;flex-wrap:wrap}.kadd,.kcard{width:160px;min-height:150px;border:1px dashed var(--line2);border-radius:8px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;text-decoration:none;color:var(--ink);background:#fff}
.kcard{border-style:solid;position:relative;align-items:flex-start;text-align:left;justify-content:flex-start}.kcard .kx{position:absolute;top:4px;right:4px}.kadd .plus{font-size:22px;color:var(--muted)}.kadd:hover{border-color:var(--teal)}
.tiny{font-size:11px;line-height:1.3}.neg.u{text-decoration:underline}
.catpill{display:inline-block;background:#eceae6;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:500;white-space:nowrap}
.tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;padding:3px 7px;border-radius:5px;color:var(--muted)}.tag.ok{background:var(--teal-bg);color:var(--teal)}.tag.bad{color:var(--red)}
h2.inl{display:inline;margin:0 10px 0 0;font-size:22px;font-weight:500}
.dcards{border:1px solid var(--line);border-radius:8px}.dcard{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.dcard:last-child{border-bottom:0}
.dext{font-size:10px;color:var(--red);font-weight:600;width:30px}.dcard .dn{flex:1;min-width:0;display:flex;flex-direction:column}.dcard .dn b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nodata{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px;color:var(--muted)}.nodata b{color:var(--ink);font-size:18px;font-weight:500}
.lnk{cursor:pointer;color:var(--teal);list-style:none;text-align:center}.dn2 .ddm2{right:0;width:520px}.dn2 .ddm2 details.card{border:0;margin:0;padding:0}
.btn.red{background:var(--red);color:#fff;border-color:var(--red)}
/* Einheit-Detail 1:1 */
.eck2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.eck2 .ausst{border-left:1px solid var(--line);padding-left:24px}.aempty{display:flex;gap:16px;align-items:center;color:var(--muted)}.aempty a{color:var(--teal);text-decoration:none}
.g32{grid-template-columns:3fr 2fr}.mpart{display:flex;gap:10px;align-items:center;background:#f6f5f3;border-radius:8px;padding:10px;margin:6px 0 10px}
.btn.wide{display:block;text-align:center;width:100%;box-sizing:border-box;margin-top:8px}.btn.lt{color:var(--teal);border-color:var(--teal)}.btn.dis{opacity:.5;cursor:not-allowed}
.kv{width:100%;border-collapse:collapse;font-size:14px}.kv td{padding:5px 0}.kv tr.sum td{border-top:1px solid var(--line);padding-top:8px}
.msgrow{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.nodata a{color:var(--teal);text-decoration:none;margin-top:6px}.nodata{text-align:center}
@media(max-width:900px){.eck2,.g32{grid-template-columns:1fr}.eck2 .ausst{border-left:0;padding-left:0}}
.kv td.num{white-space:nowrap;text-align:right}.kv td:first-child{width:60%}
.txline{display:flex;align-items:stretch;gap:8px}.txline>input{margin:0 2px;align-self:center}.txline .txrow{flex:1}
.bulkbar{display:flex;gap:8px;align-items:center;margin:6px 0 4px;flex-wrap:wrap}
.mvbanner{display:flex;gap:20px;align-items:center}.mvbanner>div:first-child{flex:1}.mvav{background:#f6f5f3;border-radius:8px;padding:14px 22px;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:170px}.mvav b{font-size:26px;font-weight:500}
.nodata.big{padding:50px 20px}.nodata .bigicon{color:var(--muted)}
@media(max-width:700px){.mvbanner{flex-direction:column;align-items:stretch}}
/* Vorgänge 1:1 */
.kpis.k3{grid-template-columns:repeat(3,1fr)}.mono{font-family:ui-monospace,Menlo,monospace}.center{text-align:center}.badge.dark{background:#5f6368;color:#fff}
.vneu{max-width:640px}.vtsw{display:flex;flex-wrap:wrap}.vtsw>input{position:absolute;opacity:0}.vtsw>label{flex:1;text-align:center;padding:10px;background:#f2f1ee;cursor:pointer;font-size:13px}
.vtsw>input:checked+label{background:#fff;color:var(--teal);box-shadow:0 1px 3px rgba(0,0,0,.08)}.vtsearch{width:100%;margin:10px 0}.vtl{width:100%;max-height:300px;overflow:auto}
.vtpl{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:8px}.vtpl details{flex:1}.vtpl summary{cursor:pointer;list-style:none}.vtpl:has(input:checked){border-color:var(--teal)}
#vt_m:checked~.vtl .sys,#vt_v:checked~.vtl .own,#vt_v:checked~.vtl .own-empty{display:none}.vtl:has(.own) .own-empty{display:none}
.vhead .vrow1{display:flex;align-items:center;gap:10px}.vstat{width:22px;height:22px;border-radius:50%;border:2px solid var(--muted);background:#fff;cursor:pointer;color:#fff;font-size:12px}.vstat.on{background:var(--teal);border-color:var(--teal)}
.vnr{font-size:20px}.vtitle{flex:1;font-size:20px;border:0;background:transparent;padding:4px}.vdesc{width:100%;border:0;background:transparent;resize:vertical;margin:6px 0;color:var(--ink)}
.vmeta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:var(--muted);margin-bottom:10px}.vtools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.vtools .iconbtn{color:var(--muted)}.vtools .sp{flex:1}
.vpop{min-width:280px;display:flex;flex-direction:column;gap:8px}.attl{margin:8px 0}
.vtabs{display:flex;flex-wrap:wrap;margin-top:14px}.vtabs>input{position:absolute;opacity:0}.vtabs>label{padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent}.vtabs>input:checked+label{border-color:var(--ink);font-weight:500}
.vtabs>section{display:none;width:100%;border-top:1px solid var(--line);padding-top:12px}#vt1:checked~.vp1,#vt2:checked~.vp2,#vt3:checked~.vp3{display:block}
#nuroffen:checked~.todos .isdone{display:none}.todo{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.todo .sp{flex:1}
.newtodo summary{border:1px solid var(--line);border-radius:8px;padding:10px;text-align:center;color:var(--teal);cursor:pointer;list-style:none;margin-top:10px}.crumbs .right{float:right;text-decoration:none}
.kname{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink)}.kname b{font-weight:500;display:block}.kic{color:var(--teal)}.ktbl td{vertical-align:middle}
.card.flush{padding:0}.card.flush .tbl th:first-child,.card.flush .tbl td:first-child{padding-left:14px;width:24px}.pagerrow{display:flex;align-items:center;gap:12px;padding:10px 14px}.pagerrow .pager{flex:1}
.plainlink{color:var(--ink);text-decoration:none}.toolbar .sp{flex:1}
.sorth{color:inherit;text-decoration:none;white-space:nowrap}
.infobox{background:#eef5f4;border:1px solid #cfe3e0}.infobox.mailin{background:#f1eef7;border-color:#ddd3ec}
.chip.dark{background:#2d3436;color:#fff}.kcat{display:inline-flex;width:16px;height:16px;border:1px solid var(--teal);color:var(--teal);border-radius:50%;font-size:10px;align-items:center;justify-content:center}
.gen{float:right;margin-top:-34px}
.mchk{color:var(--muted);margin-right:6px;font-size:13px}.mchk.res{color:var(--teal)}
.nodata a{font-size:14px;font-weight:400}
.bctr{max-width:820px;margin:0 auto}.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bcard{border:1px solid var(--line2);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:8px;text-align:center;cursor:pointer;background:#f6f5f3}
.bcard input{position:absolute;opacity:0}.bcard .bsel{margin-top:auto;background:#e3ecea;color:var(--teal);border-radius:6px;padding:6px}.bcard:has(input:checked){border-color:var(--teal);background:#fff}.bcard:has(input:checked) .bsel{background:var(--teal);color:#fff}
@media(max-width:800px){.bgrid{grid-template-columns:1fr 1fr}}
/* Liveprüfung 06: kompakte Navigation auf schmalen Bildschirmen – eine wischbare Zeile statt Menüblock */
@media (max-width:600px){.side{padding:10px 12px 0}.side .logo{margin-bottom:6px}.side .search{margin:0 0 6px}.side .search .kbd{display:none}
.side .btn-pill{padding:6px 12px;font-size:13px;margin:0 0 6px}.nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -12px;padding:0 12px 8px}
.nav::-webkit-scrollbar{display:none}.nav a{flex:none;white-space:nowrap}.me{margin:0 -12px;padding:6px 12px;font-size:13px}}

/* Liveprüfung 12.11.: Tastatur und 200 % Zoom */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;padding:8px 12px;border:2px solid var(--ink,#222);border-radius:6px}.skip:focus{left:8px}
.main{min-width:0}.main:focus{outline:none}
.wrap{max-width:100%}.wrap[tabindex]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.vhfile{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.fwahl{position:relative}.fwahl:focus-within{outline:2px solid #2563eb;outline-offset:2px}
.txrow[role=button]:focus-visible{outline:2px solid #2563eb;outline-offset:-2px;border-radius:6px}
.ddm{max-width:calc(100vw - 16px)}.dd .ddm{min-width:min(320px,calc(100vw - 16px))}.ddm input,.ddm select{max-width:100%}
.sfeld{flex:1;min-width:0}.sfeld input{flex:1;min-width:16ch;width:100%}

/* Nachabnahme 12.11.: Dokumentbereich schmal/200 %, Ordnerliste einklappbar */
@media (max-width:900px){.dbrowse{margin:-16px -16px 0;grid-template-columns:1fr;min-height:0}.dtree{border-right:0;border-bottom:1px solid var(--line);padding:14px}}
.dtreebox>summary{cursor:pointer;font-weight:500;padding:8px 10px;border-radius:6px;background:#fff;border:1px solid var(--line)}
@media (min-width:901px){.dtreebox>summary{display:none}}
.dmain2{min-width:0}.frow{min-width:0}.frow .sp{min-width:0;overflow-wrap:anywhere}.flist{max-width:100%}
.ddm{box-sizing:border-box}.ddf{flex-wrap:wrap}.ddf input,.ddf select{flex:1 1 100%}.ddf .btn{flex:none}
