:root{--nav:#263b4d;--nav2:#172c3d;--accent:#d78b38;--bg:#f3f5f6;--ink:#22313c;--muted:#687982;--line:#dae1e5;--blue:#e7eff4;--white:#fff;--green:#527b65}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,Segoe UI,Arial,sans-serif}a{color:#205879;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{line-height:1.3;margin:0 0 14px}h1{font-size:27px}h2{font-size:19px}h3{font-size:15px;margin-top:22px}p{margin:6px 0 16px}.muted,small{color:var(--muted)}.top{display:flex;align-items:center;background:var(--nav);min-height:69px;color:#fff;gap:24px;padding:10px max(24px,calc((100vw - 1460px)/2));position:sticky;top:0;z-index:10;box-shadow:0 3px 13px #172c3d15}.brand{display:flex;gap:11px;align-items:center;font-size:18px;font-weight:800;color:white;white-space:nowrap}.brand small,.account small{display:block;color:#b9cbd4;font-size:10px;font-weight:400}.mark{display:inline-grid;place-items:center;background:var(--accent);color:#1c3242;border-radius:8px;padding:9px;font-weight:900;letter-spacing:-1px;font-size:17px}.mark.big{font-size:25px;width:65px;margin:0 auto 12px}.top nav{display:flex;align-items:center;gap:5px;flex:1;flex-wrap:wrap}.top nav a{padding:10px 13px;color:#e2edf2;border-radius:5px;white-space:nowrap}.top nav a:hover{background:#ffffff17;text-decoration:none}.account{font-size:12px;text-align:right;white-space:nowrap}.account a{color:#fff;text-decoration:underline;display:block;font-size:11px}main{max-width:1460px;padding:26px 24px 65px;margin:auto}.pageheading,.sectionline{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.pageheading p{color:var(--muted);margin:0}.eyebrow{font-size:11px;color:#a7661f;letter-spacing:2px;font-weight:800;margin-bottom:8px}.panel{background:var(--white);padding:24px;border:1px solid var(--line);border-radius:9px;margin-bottom:22px;box-shadow:0 3px 14px #25374808;scroll-margin-top:100px}.panel.narrow{max-width:970px}.panel h2{padding-bottom:13px;border-bottom:1px solid var(--line)}.btn{cursor:pointer;border:1px solid #c9d2d8;background:#fff;border-radius:6px;padding:10px 15px;font:600 13px system-ui;color:#314d60;display:inline-block;white-space:nowrap}.btn:hover{background:#f1f5f6;text-decoration:none}.btn.primary{background:#b96e25;border-color:#b96e25;color:#fff}.btn.primary:hover{background:#9d5718}.kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:15px;margin:0 0 22px}.kpis>div{background:#fff;border:1px solid var(--line);border-left:4px solid #718f9f;padding:17px 19px;border-radius:8px}.kpis small{display:block;margin-bottom:7px}.kpis strong{font-size:24px}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px}.filters label{min-width:170px;flex:1}.filters label:has(input[type=search]){flex:2}label{display:block;color:#4c616d;font-size:12px;font-weight:700;margin-bottom:12px}input,select,textarea{margin-top:5px;font:14px system-ui;border:1px solid #c9d4dc;border-radius:5px;padding:10px 11px;background:#fff;color:#243743;display:block;width:100%;min-height:40px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #b5d1df;border-color:#658ca1}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.actions,.heading-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end}.notice{background:#fff7e9;border-left:4px solid var(--accent);padding:13px 15px;margin:15px 0 20px;color:#654b28}.tablewrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;background:var(--blue);color:#304f60;padding:12px 10px;font-size:12px;white-space:nowrap}td{border-bottom:1px solid #e7ecee;padding:11px 10px;vertical-align:top}td small{display:block;margin-top:3px}tr:hover td{background:#f9fbfb}.ticketlink{font-weight:800;white-space:nowrap}.status,.priority{display:inline-block;padding:3px 9px;border-radius:20px;white-space:nowrap;font-weight:700;font-size:11px;background:#e9edf0;color:#50616c}.s-neu{background:#fff0d2;color:#995e0d}.s-erledigt{background:#e4f2e9;color:#347048}.s-in_arbeit,.s-zugewiesen{background:#e1eff9;color:#246a9b}.s-material,.s-fremdfirma,.s-rueckfrage{background:#fff1e8;color:#a15523}.p-dringend{background:#ffe2df;color:#ae2c22}.p-hoch{background:#fff0d3;color:#ad6818}.tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:20px;border-bottom:1px solid #ccd7dd}.tabs a{padding:11px 15px;background:#e6edf1;border-radius:6px 6px 0 0;font-weight:700}.tabs a:hover{background:#d8e6ed;text-decoration:none}.details{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.details small{display:block}.details strong{font-size:13px}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.comment{border-left:3px solid #acc4d2;padding:9px 14px;background:#f8fafb;margin:9px 0}.comment small{margin-left:10px}.checkbox{display:flex;align-items:center;gap:9px}.checkbox input{width:16px;min-height:0;margin:0}.subform{border:1px solid var(--line);background:#f8fafb;padding:16px;border-radius:6px;margin:15px 0 28px}.subform h4{margin-bottom:15px}.timeline{border-left:2px solid #bbd0da;margin-left:12px;padding-left:22px}.timeline>div{padding:0 0 15px;position:relative}.timeline>div:before{content:"";position:absolute;left:-28px;top:5px;width:10px;height:10px;background:#668a9d;border-radius:50%}.timeline p{margin:5px 0}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.mini-list{max-height:220px;overflow:auto;margin-bottom:20px}.mini-list>div{border-bottom:1px solid #e4e9ec;padding:8px 2px}.mini-list small{display:block}.flash{background:#e9f5ec;border:1px solid #b4d8bf;padding:13px 18px;margin-bottom:20px;color:#285f3c;border-radius:5px}.error{background:#ffe9e7;border:1px solid #f0bdb5;padding:13px;color:#9b2c25;margin-bottom:18px}.login-shell{display:grid;place-items:center;min-height:100vh;padding:20px;background:linear-gradient(145deg,#182f42,#3c5967)}.login-card{max-width:400px;width:100%;padding:35px;background:#fff;border-radius:12px;box-shadow:0 18px 44px #10202b66;text-align:center}.login-card h1{margin:4px 0}.login-card p{margin-bottom:25px;color:#72828a}.login-card label{text-align:left}.login-card button{width:100%;margin:12px 0}.install{max-width:850px;margin:auto}.sheet{max-width:900px;margin:28px auto;padding:45px;background:#fff;box-shadow:0 10px 40px #0001}.sheethead{display:flex;justify-content:space-between;border-bottom:4px solid #263b4d;padding-bottom:20px;margin-bottom:18px}.sheethead h1{font-size:26px;margin-top:12px}.sheetinfo{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 30px}.sheet h2{margin:25px 0 10px;font-size:17px}.sheet table{margin-bottom:25px}.subtotal td{font-weight:700;background:#eef2f4}.total td{font-weight:800;background:#dce9ef;font-size:14px}.signatures{display:flex;gap:50px;margin:70px 0 25px}.signatures>div{flex:1;border-top:1px solid #667781;padding-top:8px}.print-actions{text-align:center;margin-top:25px}footer{text-align:center;padding:30px;color:#7b8b93;font-size:12px}@media(max-width:950px){.top{position:static;flex-wrap:wrap}.top nav{order:3;width:100%;overflow:auto}.top nav a{padding:8px}.admin-grid{grid-template-columns:1fr}.details{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){main{padding:20px 12px}.top{padding:13px}.pageheading{align-items:flex-start;flex-direction:column}.panel{padding:16px}.formgrid,.details,.sheetinfo{grid-template-columns:1fr}.kpis{gap:8px}.kpis>div{padding:12px}.kpis strong{font-size:20px}.filters label{flex-basis:100%}.sheet{padding:15px;margin:0}.sheethead{display:block}.sheet table{font-size:11px}}.building-editor{border-bottom:1px solid #d6dde2;padding:14px 0;display:block}.building-editor strong{display:block;margin-bottom:9px}
@media print{body{background:#fff;font-size:11px}.sheet{margin:0;max-width:none;padding:0;box-shadow:none}.print-actions{display:none}.notice{border:1px solid #bbb}.sheet table{font-size:10px}thead{display:table-header-group}tr{break-inside:avoid}@page{size:A4;margin:15mm}}
/* Kombinierter Hausmanager-/Singu-Ausbau 0.1.0 */
.workflow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.workflow span{border-radius:999px;padding:8px 13px;background:#edf2f8;border:1px solid #dbe4ed;font-size:12px;color:#244262;font-weight:700}
.checkrow{display:grid;grid-template-columns:1fr 200px 1fr;gap:12px;align-items:center;margin:10px 0;padding:12px;border:1px solid #e0e7ef;border-radius:8px}
.checkrow strong{font-size:13px}
@media(max-width:760px){.checkrow{grid-template-columns:1fr}.workflow span{font-size:11px}}
/* v0.3.0 – dauerhafter Gebäude-/Stockwerks-/Zimmerbaum */
.site-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:0;max-width:1770px;margin:auto;align-items:start}
.site-shell>main.workarea{width:100%;max-width:none;min-width:0;margin:0;padding:27px 26px 70px}
.side-tree{position:sticky;top:69px;height:calc(100vh - 69px);overflow:auto;background:#e7edf0;border-right:1px solid #cbd7dd;padding:19px 13px 28px;color:#26485b}
.side-tree-heading{margin:0 7px 17px}.side-tree-heading strong{display:block;font-size:15px}.side-tree-heading small{display:block;font-size:11px;margin-top:3px}
.side-tree details{margin:0}.side-tree summary{list-style:none;cursor:pointer;padding:8px 6px;border-radius:5px;font-size:12.5px;font-weight:700;line-height:1.4}.side-tree summary::-webkit-details-marker{display:none}.side-tree summary:before{content:'▸';display:inline-block;margin-right:8px;color:#7b8e98;font-size:11px;transition:transform .1s}.side-tree details[open]>summary:before{transform:rotate(90deg)}.side-tree summary:hover{background:#d9e5eb}.side-tree .tree-group{border-top:1px solid #cedae0;padding-top:4px;margin-top:7px}.tree-group>summary{color:#214d63}.tree-group>summary span{float:right;color:#627a86;font-weight:500}.tree-building{margin-left:10px!important}.tree-building>summary{color:#345767}.tree-floor{margin-left:10px!important}.tree-floor>summary{color:#5b6871;font-weight:600}.tree-link,.tree-all,.tree-manage{display:block;color:#425e6e;font-size:12px;padding:7px 9px 7px 22px;margin-left:17px;border-radius:5px;overflow-wrap:anywhere}.tree-room{padding-left:29px!important}.tree-all,.tree-manage{background:#f5f8fa;margin:9px 2px!important;font-weight:700;padding:10px!important}.tree-link:hover,.tree-all:hover,.tree-manage:hover{background:#d3e1e8;text-decoration:none}.tree-link.selected{background:#bfd4e1;color:#173f56;font-weight:800}
.structure-grid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:15px;align-items:start}.structure-grid>.panel{min-width:0}.structure-grid .sectionline{gap:8px;margin-bottom:10px}.structure-grid h2{font-size:17px;margin:0}.manage-list{max-height:480px;overflow:auto;padding-right:4px}.manage-item{display:block;border-bottom:1px solid #e1e8ec;padding:10px 9px;color:#3c5968;font-size:13px}.manage-item>strong{display:block}.manage-item>small{display:block;font-size:11px;margin-top:3px}.manage-item:hover{background:#f2f6f8;text-decoration:none}.manage-item.selected{background:#e0edf2;border-left:4px solid #b57b39}.manage-add{margin-top:14px;border:1px solid #dee6ea;border-radius:6px;padding:12px}.manage-add summary{font-weight:750;cursor:pointer;color:#2e5c75}.manage-add form{padding-top:14px}.manage-item details{padding:8px 0}.manage-item details summary{cursor:pointer;color:#2d6a86;font-size:12px}
@media(max-width:1280px){.structure-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.structure-grid>.panel:last-child{grid-column:1/-1}}
@media(max-width:760px){.site-shell{grid-template-columns:1fr}.site-shell>main.workarea{padding:18px 14px 50px}.side-tree{position:static;height:auto;max-height:300px;border-bottom:1px solid #ccd7dd;border-right:0;overflow:auto;padding:12px 18px}.top{position:static}}
@media(max-width:630px){.structure-grid{grid-template-columns:1fr}.structure-grid>.panel:last-child{grid-column:auto}.side-tree{max-height:230px}}
@media print{.side-tree,.top{display:none}.site-shell{display:block}.site-shell>main.workarea{padding:0}}
/* Hausmanager Import */
.map-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:2px 15px;margin:15px 0 25px}.map-grid label{min-width:0}.map-grid select{max-width:100%}.cancel-stage{margin-top:-46px;width:max-content}.cancel-stage button{margin-left:0}@media(max-width:950px){.map-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:580px){.map-grid{grid-template-columns:1fr}.cancel-stage{margin-top:12px}}

.site-shell.no-tree{grid-template-columns:minmax(0,1fr)}

/* v0.4.0 – Auswahlbaum links auch auf normalen Laptopbreiten */
@media(min-width:761px) and (max-width:1150px){.site-shell{grid-template-columns:238px minmax(0,1fr)}.side-tree{padding:14px 8px}.site-shell>main.workarea{padding:20px 16px 55px}}
.side-tree .tree-empty{font-size:12px;padding:12px;background:#fff7e4;border-radius:7px;line-height:1.5}.side-tree .tree-building[open]>summary{background:#d9e7eb}.side-tree:focus-within{outline:0}

/* v0.5.0 – schnell durchsuchbarer Gebäudebaum mit Meldungsdirektzugang */
.tree-search-label{font-size:11px!important;margin:0 7px 4px!important;color:#385b6b}
#tree-search{margin:0 4px 10px;width:calc(100% - 8px);min-height:35px;font-size:12px;background:#fff}
.tree-utilities{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:2px 0 12px}
.tree-utilities .tree-all{margin:0!important;text-align:center;font-size:12px}
.tree-add{background:#315a72!important;color:#fff!important}
.tree-entry{display:flex;align-items:center;gap:3px;margin:3px 0 3px 11px;min-width:0}
.tree-entry>.tree-link{flex:1;min-width:0;margin:0!important;padding:6px 5px 6px 8px!important}
.tree-entry .tree-quick{width:29px;min-width:29px;min-height:27px;border-radius:5px;background:#f6f9fb;text-align:center;line-height:27px;font-size:19px;font-weight:700;text-decoration:none;color:#345970;border:1px solid #d6e2e9}
.tree-entry .tree-quick:hover,.tree-entry .tree-quick:focus{background:#cbdce7;border-color:#86a4b6}
.side-tree .tree-building>summary small{float:right;font-weight:500;color:#687d8a;font-size:10px}
.side-tree [hidden]{display:none!important}
.side-tree .tree-room-row{margin-left:23px}
.quick-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.quick-filter{background:#fff;border:1px solid #c9d7df;border-radius:7px;padding:8px 13px;font-size:12px;font-weight:700}
.quick-filter.active{color:#fff;background:#315a72;border-color:#315a72}
@media(max-width:760px){.tree-entry .tree-quick{min-height:35px;line-height:35px;width:36px;min-width:36px}}

/* v0.6.0 Fotodokumentation */
.hm-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px}
.hm-photo-grid>a{display:block;border:1px solid #dce4ea;border-radius:10px;overflow:hidden;background:#f6f8fa;color:inherit;text-decoration:none}
.hm-photo-grid img{width:100%;height:140px;object-fit:cover;display:block}
.hm-photo-grid span{display:block;font-size:12px;overflow-wrap:anywhere;padding:8px}

/* v0.6.0 – Zählerverwaltung */
.meter-label{max-width:340px;margin:18px auto;text-align:center;border:2px solid #263d51;padding:22px;border-radius:9px;background:#fff}
.meter-label strong,.meter-label small{display:block}.meter-label small{font-size:11px;color:#566b78;margin:5px 0 12px}
.meter-label h2{font-size:22px;margin:10px 0}.meter-label p{font-size:12px}.meter-label code{display:block;word-break:break-all;font-size:11px;background:#f0f3f5;padding:6px}
#qr-output{margin:15px auto;display:flex;justify-content:center}#qr-output svg{display:block;max-width:230px}
.meter-form-wrap{border-top:1px solid #dfe6ed;padding:18px 0}.meter-form{max-width:780px}
#meter-video{margin:14px 0;max-height:410px;width:100%;background:#1d2a32}
@media print{.meter-label{border:1px solid #111;margin:0 auto;break-inside:avoid}.meter-label svg{width:220px!important}.meter-label~*{display:none}.side-tree,.top,footer{display:none!important}.site-shell{display:block}}

/* v0.6 – dieselbe Ortsnavigation mit Anlagen als zusätzliche Ebene. */
.side-tree .tree-room-node{margin-left:24px;border-left:1px solid #dce7ed;padding-left:4px;min-width:0}
.side-tree .tree-room-node>summary{font-size:12px;padding:7px 6px;border-radius:5px;overflow-wrap:anywhere;cursor:pointer}
.side-tree .tree-room-node>summary small,.side-tree .tree-asset-group>summary small{float:right;font-size:10px;color:#607988}
.side-tree .tree-room-node[open]>summary{background:#edf3f6}
.side-tree .tree-room-actions{margin-left:6px}.side-tree .tree-room-actions .tree-link{font-size:11px}
.side-tree .tree-asset-group{margin:3px 0 4px 13px;border-left:1px solid #d1e1e8;padding-left:6px;min-width:0}
.side-tree .tree-asset-group>summary{font-weight:650;font-size:11px;padding:6px 4px;overflow-wrap:anywhere;cursor:pointer}
.side-tree .tree-asset-group[open]>summary{color:#1d536d;background:#e7f0f5}
.side-tree .tree-asset-link,.side-tree .tree-asset-group-link{display:block;margin:1px 0 1px 12px;padding:5px 7px 5px 8px;border-radius:5px;font-size:11px;line-height:1.4;overflow-wrap:anywhere;color:#334f60}
.side-tree .tree-asset-link{border-left:2px solid #a8c2d0}
.side-tree .tree-asset-group-link{font-style:italic;color:#547080}
.side-tree .tree-asset-link:hover,.side-tree .tree-asset-group-link:hover{background:#e3edf3;text-decoration:none}
.side-tree .tree-asset-link.selected,.side-tree .tree-asset-group-link.selected{background:#bfd4e1;color:#173f56;font-weight:800}
.side-tree .tree-unassigned{margin:9px 0 4px 19px}
.side-tree .tree-room-node[hidden],.side-tree .tree-asset-link[hidden],.side-tree .tree-asset-group[hidden]{display:none!important}

/* v0.7.0 – kompakte Produktbezeichnung und Hausmanager-Zählerfotogalerie */
.top .brand{font-size:15px;white-space:normal;min-width:200px;max-width:245px;line-height:1.25}
.top nav a{padding:9px 9px;font-size:12px}
.panel .actions:has(img){justify-content:flex-start;flex-wrap:wrap}
@media(max-width:1200px){.top{flex-wrap:wrap}.top nav{order:3;width:100%;gap:2px}.top nav a{padding:8px 10px}}
/* Gemeinsame Standortnavigation – Zähler unter Zimmer > Zähler > Energieart */
.side-tree .tree-asset-subgroup{margin-left:11px;padding-left:7px;border-left:1px solid var(--line,#d8dee3)}
.side-tree .tree-asset-subgroup>summary{cursor:pointer;font-size:.84rem;padding:5px 4px;color:inherit}
.side-tree .tree-asset-subgroup .tree-asset-link{padding-left:15px}
.side-tree .tree-asset-subgroup .tree-asset-group-link{padding-left:12px}

/* v0.9.0: Gerätekarte nach Inventarexport, mit kompakten Feldgruppen. */
.asset-card-title{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.asset-subtitle{font-size:15px;font-weight:500;color:#536e7a;line-height:1.5}
.asset-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin-top:16px}
.asset-field{padding:12px 13px;border:1px solid #dce7ed;border-radius:9px;background:#f9fbfc;min-width:0}
.asset-field small{display:block;color:#617b89;margin-bottom:5px;font-size:11px;line-height:1.35}
.asset-field strong{font-size:14px;font-weight:650;overflow-wrap:anywhere;white-space:pre-wrap}
.asset-form details>summary{cursor:pointer;font-weight:750;color:#28536a;padding:10px 4px}
.asset-section-title{font-size:14px;font-weight:750;color:#28536a;border-bottom:1px solid #dbe7ed;padding-bottom:8px;margin:22px 0 12px}
.asset-meta-table td,.asset-meta-table th{vertical-align:top}

/* v1.0.0 – Ruhige institutionelle Markenführung, Original-Logo nicht zuschneiden */
.top{min-height:84px;gap:22px;padding-top:12px;padding-bottom:12px;background:linear-gradient(120deg,#1c3445,#2b4859);border-bottom:3px solid #af8c67;box-shadow:0 7px 22px #192a3420}
.top .brand{display:flex;flex-shrink:0;align-items:center;gap:13px;min-width:250px;max-width:320px;color:#fff;font-size:15px;line-height:1.3;text-decoration:none}
.top .brand:hover{text-decoration:none}.brand-copy strong{display:block;font-size:15px;line-height:1.25;letter-spacing:-.25px}.brand-copy small{display:block;font-size:11px;color:#c4d2d9;font-weight:450;letter-spacing:.1px;margin-top:4px}
.brand-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;width:91px;height:61px;padding:7px;border-radius:11px;background:#fff;border:1px solid #e2e2e0;box-shadow:0 4px 16px #07182420}
.brand-logo img{display:block;max-width:100%;max-height:100%;height:auto;width:auto;object-fit:contain;object-position:center}
.brand-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:5px;background:#f7f5f2;color:#354d5c;font-weight:900;font-size:25px;letter-spacing:-1px}
.login-shell{background:radial-gradient(circle at 15% 17%,#5c6c6b 0%,transparent 33%),linear-gradient(145deg,#1c3342,#334d5c 56%,#4a5e64);padding:28px 14px}
.login-card{max-width:450px;border-radius:17px;padding:38px 39px 34px;border:1px solid #eaeeed;box-shadow:0 32px 78px #061c2d70;text-align:center;position:relative}
.login-card:before{content:"";display:block;position:absolute;inset:0 0 auto;height:5px;border-radius:17px 17px 0 0;background:#a85a5e}
.login-brand{display:flex;justify-content:center;margin:1px auto 21px}.brand-logo-login{width:232px;height:118px;padding:16px;border-radius:12px;background:#fff;border:1px solid #eaebea;box-shadow:none}
.brand-logo-login .brand-fallback{font-size:48px}.login-overline{color:#7c5a5c;letter-spacing:2px;font-size:10px;font-weight:850;margin-bottom:10px}
.login-card h1{font-size:26px;letter-spacing:-.6px;line-height:1.15;margin:0 0 6px}.login-card p{font-size:12px;margin:0 0 29px;color:#677a81}
.login-card label{font-size:12px;color:#36505d;margin-bottom:16px}.login-card input{border-radius:9px;min-height:46px}.login-card button{min-height:47px;border-radius:9px}
.login-card small{display:block;margin-top:10px}.sheet-identity{display:flex;gap:13px;align-items:center}.brand-logo-print{width:97px;height:63px;border:1px solid #e6e6e6;box-shadow:none;border-radius:6px;padding:6px}.sheet-identity strong,.sheet-identity small{display:block}.sheet-identity strong{font-size:13px;letter-spacing:.4px}.sheet-identity small{font-size:10px;color:#667885;margin-top:3px}.sheethead h1{margin-top:10px}
.branding-preview{display:flex;align-items:center;gap:20px;border:1px solid #e0e7e8;background:linear-gradient(90deg,#f7f8f7,#fff);border-radius:12px;padding:20px;margin-bottom:15px}.branding-preview>div{display:flex;flex-direction:column}.branding-preview strong{font-size:19px}.branding-preview small{color:#697b85;margin-top:6px}.branding-form{max-width:540px}.branding-remove{margin-top:14px}.import-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:17px;margin-bottom:24px}.import-card{margin:0;display:flex;flex-direction:column;align-items:flex-start}.import-card h2{border:0;padding:0;margin:0 0 4px}.import-card p{flex:1}.import-card .btn{margin-top:auto}
@media(max-width:690px){.top .brand{min-width:0;max-width:none}.brand-logo{width:75px;height:50px}.brand-logo-login{width:210px;height:106px}.top{gap:11px}.brand-copy strong{font-size:14px}.login-card{padding:30px 23px}.sheet-identity{margin-bottom:12px}}
@media print{.branding-form,.branding-remove,.top,.login-shell{display:none!important}.sheet-identity{display:flex!important}.sheethead{align-items:start}.brand-logo-print{height:50px;width:83px}}

/* v1.0.0 Gerätefotos, sichere Dateianhänge, Filter */
.hm-photo-missing,.hm-photo-grid .hm-photo-missing{display:flex;flex-direction:column;gap:7px;align-items:flex-start;justify-content:center;padding:18px;min-height:165px;border-radius:10px;background:#fff5ec;border:1px dashed #d6ab82;color:#815427;font-size:12px;overflow-wrap:anywhere}
.hm-photo-missing strong{font-size:13px}.hm-photo-missing small{color:#8d663c}.asset-upload-zone{margin-top:24px;padding:19px;border:1px solid #cad9dd;border-radius:11px;background:#f8faf9}.asset-upload-zone h3{margin:0 0 16px}.asset-upload-zone input[type=file]{max-width:100%}.asset-form:target{outline:2px solid #d2ae89;outline-offset:4px}

/* Zimmeraktionen sichtbar */
.room-item .room-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.room-heading span{display:flex;flex-direction:column}.room-edit-button{white-space:nowrap;padding:7px 12px;font-size:12px}.room-item details{margin-top:11px}.room-item details[open]{padding:12px;border:1px solid #d8e3e4;border-radius:8px;background:#fafcfb}.room-item details[open] summary{margin-bottom:10px}

/* v1.0.1 – Zimmer bleiben eigenständige Geschwister in der Gebäudeverwaltung */
.room-list>.room-item{display:block;width:100%;margin:0;padding:12px 10px;border-bottom:1px solid #e1e8ec;scroll-margin-top:110px}
.room-list>.room-item .room-heading{min-width:0;align-items:center}
.room-list>.room-item .room-heading span{min-width:0;flex:1;overflow-wrap:anywhere}
.room-list>.room-item .room-heading small{display:block;font-size:11px;margin-top:3px}
.room-edit-form{margin-top:13px;padding:14px;border:1px solid #d8e3e4;border-radius:8px;background:#fafcfb}
.room-edit-form>button{margin-top:8px}

/* v1.1.0 – kompakte betriebliche Navigation */
.top .fms-nav-dropdown{position:relative;align-self:center;z-index:20}
.top .fms-nav-dropdown>summary{cursor:pointer;list-style:none;color:#e2edf2;font-size:12px;padding:9px 11px;border-radius:6px;white-space:nowrap}
.top .fms-nav-dropdown>summary::-webkit-details-marker{display:none}
.top .fms-nav-dropdown>summary:after{content:' ▾';opacity:.75}
.top .fms-nav-dropdown[open]>summary,.top .fms-nav-dropdown>summary:hover{background:#ffffff1b}
.top .fms-nav-items{position:absolute;z-index:35;top:100%;left:0;min-width:235px;max-width:280px;background:#fff;border:1px solid #ccd8e0;padding:7px;border-radius:9px;box-shadow:0 12px 30px #20313c33}
.top .fms-nav-items a{display:block;color:#254558;padding:10px 12px;font-size:13px;white-space:normal}
.top .fms-nav-items a:hover{background:#e9f0f3}
.fms-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:23px;align-items:stretch}
.fms-day{border:1px solid #d6e0e6;background:#fff;border-radius:10px;padding:12px;min-height:195px;min-width:0}
.fms-day>h2{font-size:13px;border-bottom:1px solid #e2e8ec;margin-bottom:13px;padding-bottom:9px}
.fms-day .muted{font-size:11px}
.fms-event{display:block;padding:9px;margin-bottom:8px;background:#edf3f8;border-left:3px solid #557a96;border-radius:5px;color:#1d455a;overflow-wrap:anywhere}
.fms-event:hover{background:#dae9f3;text-decoration:none}
.fms-event strong,.fms-event small{display:block;font-size:11px;line-height:1.45}
.fms-event small{margin-top:4px;color:#556b78}
.fms-away{padding:7px;background:#fff4dc;border-left:3px solid #be8e48;color:#644c22;border-radius:4px;font-size:11px;margin-bottom:6px}
.fms-inline{display:flex;gap:5px;flex-wrap:wrap;align-items:end;min-width:300px}
.fms-inline input,.fms-inline select{min-height:32px;max-width:155px;padding:6px;font-size:11px;margin:0}
.fms-inline button{min-height:32px;padding:5px 7px;font-size:11px}
.fms-mobile-list{display:grid;gap:10px}
.fms-mobile-card{display:block;color:#244e66;padding:15px;border:1px solid #d2e0e7;background:#f7fafc;border-radius:9px}
.fms-mobile-card strong,.fms-mobile-card small{display:block;line-height:1.5}
.fms-mobile-card small{margin-top:4px;font-size:12px}
.fms-mobile-forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fms-mobile-forms>form{border:1px solid #d8e3e8;background:#fafcfd;padding:16px;border-radius:9px}
.fms-mobile-forms>form h3{margin-top:0}
@media(max-width:1370px){.fms-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.fms-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.fms-mobile-forms{grid-template-columns:1fr}}
@media(max-width:650px){.fms-calendar{grid-template-columns:1fr}.fms-day{min-height:90px}.top .fms-nav-items{position:fixed;top:auto;left:12px;right:12px;max-width:none;min-width:0}.fms-inline{min-width:0}}
@media print{.top .fms-nav-dropdown{display:none}.fms-day{break-inside:avoid}}

/* v1.2.0 – dauerhaft sichtbare Versionsinformation und Betriebs-Cockpit */
.top .app-version{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;padding:6px 10px;border:1px solid #9fb3bf66;border-radius:16px;color:#e9f1f4;background:#ffffff15;text-decoration:none;font-size:11px;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}
.top .app-version:hover,.top .app-version:focus{background:#ffffff29;outline:2px solid transparent}
footer a{color:#486676;font-weight:750;text-decoration:underline;text-underline-offset:2px}
.login-version{display:inline-block;margin-top:14px;font-size:11px;font-weight:650;color:#506b7a;text-decoration:underline;text-underline-offset:2px}
.cockpit-headlinks{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.cockpit-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cockpit-panels>.panel{margin-bottom:0;min-width:0}
.cockpit-priority{display:inline-block;border-radius:6px;background:#fdf0df;color:#79531d;font-size:11px;font-weight:700;padding:2px 6px}
.cockpit-priority.critical{background:#fee2e0;color:#9f2929}
.cockpit-table{width:100%;min-width:0;table-layout:fixed}
.cockpit-table td,.cockpit-table th{overflow-wrap:anywhere}
.cockpit-table td:first-child{width:44%}
.cockpit-table small{display:block;font-size:11px;line-height:1.4;color:#647682}
.cockpit-table tr:last-child td{border-bottom:0}
.cockpit-empty{padding:16px 0;color:#71828b}
.release-changes{margin:0;padding-left:21px}.release-changes li{margin-bottom:8px}
@media(max-width:1050px){.cockpit-panels{grid-template-columns:1fr}}
@media(max-width:700px){.top .app-version{order:2;margin-left:auto}.top .account{order:2}.top nav{order:3}.cockpit-table{font-size:12px}}
@media print{.top .app-version{display:none}}

/* v1.3.0: Prüfprotokolle mit mobil tauglicher Ergebnisliste */
.protocol-point {padding:1rem; margin:1rem 0; border:1px solid #dce3e5; border-radius:12px; background:#fff;}
.protocol-point-title {display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; margin-bottom:.65rem;}
.protocol-point-title span {color:#62737e; font-weight:700;}
.protocol-point-title small {margin-left:auto; color:#5f6a70;}
.protocol-list {display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem;}
.protocol-photo-grid {display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-top:12px;}
.protocol-photo {border:1px solid #dce3e5; border-radius:10px; padding:10px; display:flex; flex-direction:column; gap:8px; min-width:0;}
.protocol-photo img {width:100%; height:130px; object-fit:contain; background:#f7f8fa; border-radius:6px;}
.protocol-photo small {overflow-wrap:anywhere;}
.protocol-results td {vertical-align:top;}
@media (max-width:700px){.protocol-point {padding:.7rem}.protocol-photo-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media print {.protocol-photo img{height:100px}.protocol-point{break-inside:avoid}.print-actions{display:none}}

/* v1.4.1 – optionale, nur bei belegten Zimmern sichtbare Bauteilauswahl. */
.ticket-asset-picker[hidden],.ticket-asset-error[hidden]{display:none!important}
.ticket-asset-error{color:#7a3e13;background:#fff7e9;padding:9px 12px;border-left:3px solid #b96e25;font-size:12px;border-radius:4px}


/* v1.5.0 – Klientenumzug / Transportcheckliste */
.move-type-switch{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.move-type-switch a{display:inline-flex;align-items:center;padding:10px 13px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-weight:600}
.move-type-switch a.active,.move-type-switch a[aria-current="page"]{background:var(--nav);color:white;border-color:var(--nav)}
.move-form{max-width:960px}.move-form h2{border-top:1px solid var(--line);padding-top:20px;margin:20px 0 12px}
.move-form h2:first-of-type{border-top:none;padding-top:0}.move-location{border:1px solid var(--line);border-radius:8px;padding:16px;margin:18px 0}
.move-location legend{font-weight:700;font-size:17px;padding:0 8px}
.move-goods{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0 22px}
.move-good{display:flex;align-items:center;flex-wrap:wrap;gap:9px;border:1px solid var(--line);padding:11px;border-radius:8px;background:#fcfdfd}
.move-good>.checkbox{flex:1;min-width:135px}.move-count{max-width:95px;font-size:12px;color:var(--muted)}
.move-count input{width:82px}.move-other{width:100%;font-size:12px;color:var(--muted)}
.move-check-options{display:flex;flex-direction:column;gap:11px;margin:14px 0 18px}
.move-check-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:11px 0}
.move-check-row small{white-space:normal}.move-check-row .checkbox{font-weight:550}
@media(max-width:850px){.move-goods{grid-template-columns:1fr}.move-type-switch a{flex:1 1 100%}.move-check-row{flex-direction:column;align-items:flex-start}}
@media print{.move-type-switch,.move-form button,.top,.side-tree,footer{display:none!important}}

.move-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 20px}
.move-steps span{background:#e9eef1;border:1px solid var(--line);color:#52616d;text-align:center;padding:8px 5px;border-radius:7px;font-weight:600;font-size:12px}
.move-steps span.reached{background:#e1eee5;border-color:#b4d3bd;color:#315742}
@media(max-width:690px){.move-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.move-steps{display:flex}.move-steps span{flex:1}.heading-actions{display:none!important}}

/* Ticketakte v1.6.0 – kompakte, zugängliche Oberfläche mit Schnellaktionen */
.ticket-detail-v16{display:grid;gap:16px;min-width:0;margin-bottom:30px}
.ticket-detail-v16 [hidden]{display:none!important}
.ticket-heading-v16{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;padding:2px 0}
.ticket-heading-title{min-width:0;flex:1}.ticket-heading-title h1{font-size:clamp(21px,2.35vw,30px);line-height:1.25;margin:5px 0 7px;letter-spacing:-.02em}
.ticket-back-v16{color:var(--muted);font-size:12px}.ticket-kicker-v16{text-transform:uppercase;letter-spacing:.075em;font-size:11px;font-weight:700;color:#516676;margin-top:7px}
.ticket-location-v16{color:#596c76;font-size:13px}.ticket-heading-actions-v16{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.ticket-due-alert-v16{border-radius:6px;background:#fdebea;color:#8b251e;padding:6px 9px;font-weight:650;font-size:12px}.ticket-overdue-text-v16{color:#a02c24!important}
.ticket-overview-strip-v16{background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:hidden;box-shadow:0 1px 3px rgba(16,41,55,.035)}
.ticket-overview-strip-v16>div{padding:12px 17px;border-right:1px solid #e8ecef;border-bottom:1px solid #e8ecef;min-width:0;display:flex;flex-direction:column;gap:2px}
.ticket-overview-strip-v16 small{font-size:11px;color:#677882}.ticket-overview-strip-v16 strong{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.ticket-overview-strip-v16 span,.ticket-overview-strip-v16 a{font-size:12px}
.ticket-inline-link-v16{border:0;padding:0;color:#236184;background:transparent;text-align:left;cursor:pointer;width:max-content;font:inherit;font-size:12px}
.ticket-toolbar-v16{background:#e9eff3;border:1px solid #d3dee5;padding:11px 13px;display:flex;gap:7px;flex-wrap:wrap;align-items:center;border-radius:10px}
.ticket-toolbar-v16>strong{font-size:12px;color:#314b5e;margin-right:6px;white-space:nowrap}
.ticket-toolbar-v16 .btn{font-size:12px;padding:7px 10px;background:#fff;border:1px solid #cbd9e1;white-space:nowrap}
.ticket-toolbar-v16 .btn.primary{background:var(--nav);color:#fff;border-color:var(--nav)}
.ticket-quick-drawer-v16{background:#fff;border:2px solid #b3cbd7;border-radius:12px;padding:17px 18px;box-shadow:0 10px 28px rgba(17,50,68,.09)}
.ticket-drawer-head-v16{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.ticket-drawer-head-v16 h2{margin:0;font-size:17px}
.ticket-quick-drawer-v16 form{display:grid;gap:12px}.ticket-quick-drawer-v16 form>.btn{justify-self:start}
.ticket-tabs-v16{display:flex;gap:4px;border-bottom:1px solid #cfdbe1;overflow-x:auto;padding:0 3px;scrollbar-width:thin}
.ticket-tabs-v16 button{font:inherit;white-space:nowrap;color:#506775;background:transparent;border:0;border-bottom:3px solid transparent;padding:11px 13px 10px;font-weight:650;cursor:pointer}
.ticket-tabs-v16 button:hover{background:#e7eff3}.ticket-tabs-v16 button.active,.ticket-tabs-v16 button[aria-selected=true]{border-color:var(--accent);color:#1c3d53;background:#fff}
.ticket-panels-v16{background:#fff;border:1px solid var(--line);border-radius:0 0 12px 12px;padding:19px 20px;min-height:220px;box-shadow:0 1px 3px rgba(16,41,55,.035)}
.ticket-panels-v16 h2{font-size:16px;margin:0 0 10px}.ticket-panels-v16 h3{font-size:14px;margin:21px 0 8px}
.ticket-overview-lower-v16{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:24px;margin-top:20px;border-top:1px solid #e5ecef;padding-top:16px}
.ticket-description-v16{background:#f7f9fa;border:1px solid #e8edef;padding:16px;border-radius:10px}.ticket-description-v16 .pre{white-space:pre-wrap;overflow-wrap:anywhere}.ticket-internal-note-v16,.ticket-reason-v16{margin-top:12px;border-left:3px solid #d2a24b;padding-left:10px}
.ticket-feed-item-v16{border-left:2px solid #d5e2e9;padding:5px 0 7px 12px;margin:10px 0}.ticket-feed-item-v16>div{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.ticket-feed-item-v16 small{color:var(--muted);font-size:11px}.ticket-feed-item-v16 p{margin:4px 0 0;overflow-wrap:anywhere}.ticket-comment-form-v16{display:grid;gap:8px;margin-top:16px}
.ticket-comment-form-v16 .btn{justify-self:start}.ticket-related-links-v16{display:grid;gap:7px;margin-top:18px}
.ticket-summary-numbers-v16{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.ticket-summary-numbers-v16>div{border:1px solid #e2e9ed;padding:12px 13px;border-radius:9px;display:flex;flex-direction:column;gap:3px;min-width:0}.ticket-summary-numbers-v16 small{color:var(--muted);font-size:11px}.ticket-summary-numbers-v16 strong{font-size:18px;overflow-wrap:anywhere}.ticket-cost-grand-v16{background:#e9f0ed;border-color:#b9cfc4!important}
.ticket-move-v16{border:1px solid #cddce3;background:#f3f7f9;border-radius:10px;padding:14px;margin-bottom:16px}.ticket-move-v16 .sectionline{margin-bottom:12px}
.ticket-move-route-v16{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.ticket-move-route-v16>div{background:white;border:1px solid #e1eaf0;padding:12px;border-radius:8px;min-width:0}.ticket-move-route-v16 small{color:var(--muted);display:block}.ticket-move-route-v16 strong{overflow-wrap:anywhere}.ticket-move-route-v16>span{font-size:21px;color:#4f788c}
.ticket-progress-v16{background:#dfe8ec;border-radius:20px;height:9px;overflow:hidden}.ticket-progress-v16>span{background:#4f8067;display:block;height:100%;transition:width .2s}
.ticket-check-row-v16{padding:8px 0;border-bottom:1px solid #eef1f2;display:flex;gap:8px}.ticket-check-row-v16>span{color:#507966;font-weight:bold}
.ticket-file-grid-v16{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.ticket-file-card-v16{display:flex;flex-direction:column;border:1px solid #e1e8ec;border-radius:10px;overflow:hidden;background:#fafcfd;min-width:0}.ticket-file-card-v16 img{object-fit:contain;width:100%;height:145px;background:#eff3f5}.ticket-file-icon-v16{font-size:44px;text-align:center;display:grid;place-items:center;height:145px;background:#eff3f5}.ticket-file-card-v16>span:last-child{padding:10px;display:grid;gap:4px}.ticket-file-card-v16 strong{overflow-wrap:anywhere;font-size:12px}.ticket-file-card-v16 small{color:#697b85;font-size:11px}
.ticket-timeline-v16{border-left:2px solid #e0e9ef;margin:13px 0 0 5px;padding-left:20px}.ticket-timeline-v16>div{position:relative;margin-bottom:19px}.ticket-timeline-v16>div:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;left:-26px;top:5px;background:#8caebb;border:2px solid white}.ticket-timeline-v16 small{color:var(--muted);font-size:11px}.ticket-timeline-v16 p{margin:4px 0;overflow-wrap:anywhere}
@media(max-width:1050px){.ticket-overview-strip-v16{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-summary-numbers-v16{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-overview-lower-v16{grid-template-columns:1fr}}
@media(max-width:690px){.ticket-heading-v16{flex-direction:column}.ticket-heading-actions-v16{justify-content:flex-start}.ticket-overview-strip-v16{grid-template-columns:1fr}.ticket-overview-strip-v16>div{padding:10px 12px}.ticket-panels-v16{padding:14px}.ticket-toolbar-v16>strong{width:100%}.ticket-toolbar-v16 .btn{flex:1 1 auto}.ticket-move-route-v16{grid-template-columns:1fr}.ticket-move-route-v16>span{text-align:center;transform:rotate(90deg)}.ticket-tabs-v16 button{padding:10px}.ticket-summary-numbers-v16{grid-template-columns:1fr 1fr}}

/* HJH-FMS v1.7.0: kompakte Maßnahmenbibliothek */
.fms-standard-action-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.fms-standard-action-row form{flex-shrink:0}.fms-standard-action-body{min-width:0;flex:1}
.fms-standard-action-body strong{display:block;font-size:.95rem}.fms-standard-action-body small{display:block;color:var(--muted,#687480);margin-top:3px}
.fms-standard-action-body details{margin-top:5px}.fms-standard-measures-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px;margin:16px 0}
.fms-standard-group{border:1px solid var(--line,#dce2e5);border-radius:10px;padding:10px 12px;background:#fff}.fms-standard-group summary{cursor:pointer;font-weight:600}
.fms-standard-options{display:grid;gap:9px;padding:12px 0 2px}.fms-standard-options .checkbox{margin:0;display:flex;align-items:flex-start;gap:9px}
.standard-action-edit{padding:10px 0;display:flex;flex-direction:column;gap:8px;max-width:520px}
@media(max-width:600px){.fms-standard-measures-grid{grid-template-columns:1fr}.fms-standard-action-row{flex-wrap:wrap}}

/* v1.7.1 – Arbeitsarten-Vorschläge bei allgemeinen Arbeitsaufträgen */
.workorder-preset-box{border:1px solid #d3dee4;border-radius:10px;background:#f5f8fa;padding:14px 15px;margin:12px 0 14px}
.workorder-preset-box label{display:block;margin:0;font-weight:650}
.workorder-preset-box select{margin-top:7px;width:100%;max-width:100%}
.workorder-preset-note{font-size:12px;line-height:1.55;margin:8px 0 0}

/* v1.8.0: ticket list cost status and immediate action summary */
.ticket-cost-yes,.ticket-cost-none{display:inline-flex;align-items:center;gap:.35rem;padding:.24rem .54rem;border-radius:999px;white-space:nowrap;font-size:.81rem;font-weight:650}
.ticket-cost-yes{color:#245b42;background:#eaf5ee;border:1px solid #b6d9c4}
.ticket-cost-none{color:#67747b;background:#f2f4f5;border:1px solid #dce2e5;font-weight:500}
.ticket-overview-highlights-v18{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:17px 0}
.ticket-highlight-card-v18,.ticket-measures-v18{padding:15px;border:1px solid #dfe5e6;border-radius:12px;background:#fff;margin:12px 0}
.ticket-highlight-card-v18 h2,.ticket-measures-v18 h2{font-size:1.05rem;margin:0}
.ticket-measures-progress-v18{height:8px;background:#e8edec;border-radius:10px;overflow:hidden;margin:10px 0 15px}
.ticket-measures-progress-v18 span{display:block;height:100%;background:#58795f;border-radius:10px}
.ticket-measure-inline-v18{display:flex;gap:12px;align-items:center;border-bottom:1px solid #eef0ef;padding:8px 0;margin:0}
.ticket-step-button-v18{border:1px solid #d2ded5;background:#f3f7f3;border-radius:6px;font-size:1.35rem;min-width:35px;min-height:35px;cursor:pointer;color:#425b45}
.ticket-step-done-v18{text-decoration:line-through;color:#738078}

/* v1.9.0: Administrationsansicht für Gruppenfreigaben */
.scope-page-grid{display:grid;grid-template-columns:minmax(230px,0.27fr) minmax(0,1fr);gap:1rem;align-items:start}
.scope-editor-column{display:grid;gap:1rem;min-width:0}
.scope-group-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.scope-group-row small{color:#64746b;text-align:right}
.scope-members{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.6rem;margin:1rem 0;max-height:340px;overflow:auto}
.scope-members label{display:flex;align-items:start;gap:.6rem}
.scope-members small{display:block;font-size:.74rem;color:#69786e}
.scope-trees{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem;margin:1rem 0;max-height:640px;overflow:auto}
.scope-building,.scope-floor,.scope-preview{border:1px solid #d4ddd4;border-radius:10px;background:#fcfdfc;padding:.65rem;margin-bottom:.5rem}
.scope-building>summary,.scope-floor>summary,.scope-preview>summary{cursor:pointer;font-weight:650}
.scope-building-inside{padding:.65rem 0 .2rem 1rem}
.scope-floor{margin:.6rem 0}
.scope-room-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.35rem;margin:.65rem 0 .4rem 1rem}
.scope-room-list label{display:flex;gap:.35rem;align-items:center}
.scope-wide-grant{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;padding:.4rem;background:#ecf2ed;border-radius:6px}
.scope-preview{margin-top:.65rem}.scope-preview p{margin:.5rem 0 .2rem .8rem}
.scope-preview-rooms{display:flex;flex-wrap:wrap;gap:.3rem}.scope-preview-rooms span{font-size:.8rem;background:#edf1ec;border-radius:5px;padding:.2rem .4rem}
@media(max-width:920px){.scope-page-grid{grid-template-columns:1fr}.scope-trees{grid-template-columns:1fr}}
/* v1.10 – Zählercockpit, mobile Sammelablesung und Verbrauchsübersicht */
.meter-badge{display:inline-block;padding:.23rem .56rem;border:1px solid #d5ddd4;border-radius:999px;font-size:.78rem;font-weight:650;background:#f2f5f0;color:#3d5848;white-space:nowrap}
.meter-badge.warn{background:#fff3dd;color:#82530e;border-color:#efd29b}
.meter-badge.danger{background:#fff1ed;color:#9c3824;border-color:#edbeb4}
.meter-badge.neutral{background:#f4f5f6;color:#5e6269;border-color:#d9dcdf}
.meter-summary{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin:.8rem 0}
.meter-summary>*{flex:1;min-width:130px}
.meter-mini-bar{height:9px;background:#e9eeea;border-radius:20px;overflow:hidden;min-width:60px}
.meter-mini-bar>span{display:block;height:100%;background:#647f6b;border-radius:20px}
.meter-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem;margin:1rem 0}
.meter-cards>div{background:var(--card,#fff);border:1px solid #dfe5df;border-radius:12px;padding:1rem}
.meter-cards small{display:block;color:#66756b;margin-bottom:.4rem}
.meter-cards strong{font-size:1.5rem}
.meter-bulk-value{min-width:130px;max-width:210px}
.meter-preview{font-size:.84rem;color:#607368;margin-top:.25rem}
.meter-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;align-items:end;height:190px;padding:18px 0 0;border-bottom:1px solid #9cad9c}
.meter-chart .bar{background:#647f6b;border-radius:5px 5px 0 0;min-height:2px;position:relative}
.meter-chart .bar em{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:.66rem;font-style:normal;color:#5f6b64;white-space:nowrap}
@media(max-width:720px){.meter-bulk-table thead{display:none}.meter-bulk-table tr{display:block;border-bottom:1px solid #dae1d8;padding:.6rem 0}.meter-bulk-table td{display:block;padding:.3rem!important}.meter-bulk-table td:before{content:attr(data-label);display:block;font-size:.7rem;color:#607068}.meter-chart{gap:3px}.meter-chart .bar em{font-size:.55rem}}
/* HJH FMS 1.12: Betriebscockpit PRO – kompakt, responsiv und editierbar */
.cockpit-pro{min-width:0}.cp-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.cp-heading h1{font-size:26px;letter-spacing:-.6px;margin:3px 0}.cp-heading h1 span{font-size:11px;letter-spacing:1px;border:1px solid #c8d4cf;background:#e9f0eb;color:#4b6b5c;border-radius:5px;padding:3px 6px;vertical-align:middle}.cp-heading p{color:#657681;font-size:12px;margin:0}
.cp-buttons{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.cp-buttons .btn{padding:8px 11px}.cp-filters{display:flex;flex-wrap:wrap;align-items:end;gap:9px;background:white;border:1px solid var(--line);border-radius:9px;padding:11px;margin:0 0 12px}.cp-filters label{margin:0;flex:1 1 138px;max-width:220px}.cp-filters input,.cp-filters select{min-height:34px;font-size:12px;padding:6px 8px;margin-top:3px}.cp-filters .btn{padding:8px 12px}.cp-clear{font-size:12px;align-self:center;color:#557083}
.cp-editor{border:1px solid #c6d7d0;border-radius:9px;padding:15px;margin-bottom:12px;background:#f4f8f4}.cp-editor[hidden]{display:none}.cp-editor-head{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap}.cp-editor h2{font-size:16px;margin:0 0 3px}.cp-editor p{font-size:12px;color:#64766a;margin:0 0 10px}.cp-options{display:flex;flex-wrap:wrap;gap:6px}.cp-option{display:flex;gap:7px;align-items:center;border:1px solid #d0ddd5;border-radius:6px;background:white;padding:7px 9px;margin:0;font-size:12px;font-weight:600;color:#415b4c}.cp-option input{width:16px;min-height:16px;margin:0;accent-color:#506e5d}.cp-save-message{min-height:17px;margin:10px 0 0!important}.cp-save-message.error-text{color:#9b2c25}
.cp-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:48px;gap:10px;align-items:stretch}
.cp-card{grid-column:span var(--cp-w);grid-row:span var(--cp-h);background:#fff;border:1px solid #dce4e3;border-radius:9px;box-shadow:0 2px 9px #1d2c2d08;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.cp-card[hidden]{display:none!important}.cp-card-top{display:flex;align-items:center;gap:8px;padding:10px 12px 8px;border-bottom:1px solid #edf0ef;min-height:39px}.cp-card h2{font-size:12px;line-height:1.3;margin:0;flex:1;min-width:0;overflow-wrap:anywhere;color:#334b43}.cp-card-body{min-height:0;display:flex;flex-direction:column;flex:1;padding:8px 12px;overflow:hidden}.cp-card-metric{display:flex;align-items:baseline;gap:10px;min-height:43px}.cp-card-metric strong{font-size:26px;color:#293e35;line-height:1.2}.cp-card-metric small{font-size:10px;color:#738279;line-height:1.4}.cp-card-list{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1;scrollbar-width:thin}.cp-entry{display:block;padding:7px 1px;border-top:1px solid #eff1ef;color:#314c40}.cp-entry:hover{background:#f6faf7;text-decoration:none}.cp-entry strong{display:block;font-size:12px;line-height:1.35;font-weight:650;overflow-wrap:anywhere}.cp-entry small{display:block;color:#819089;font-size:10px;line-height:1.3;margin-top:2px}.cp-empty{font-size:12px;color:#7b8983;margin:8px 0}.cp-card-footer{border-top:1px solid #eef1ef;display:flex;justify-content:space-between;align-items:center;gap:7px;min-height:31px;padding:5px 12px}.cp-card-footer a{font-size:11px;font-weight:700;color:#516d60}.cp-grab,.cp-card-tools,.cp-resize{display:none}.cp-card-tools{gap:2px}.cp-card-tools button{background:#f3f6f4;border:1px solid #dce5df;border-radius:4px;cursor:pointer;width:25px;height:24px;padding:0;color:#50695a}.cp-card-tools button:hover{background:#e4ebe6}.cp-editing .cp-grab{display:inline-flex;cursor:grab;font-size:20px;color:#728b79;line-height:1;user-select:none;touch-action:pan-y}.cp-editing .cp-card-tools{display:flex}.cp-editing .cp-resize{display:inline-flex;cursor:nwse-resize;touch-action:none;user-select:none;font-size:20px;line-height:1;color:#80958a}.cp-editing .cp-card{border:1px dashed #7a9c88}.cp-card.cp-dragging{opacity:.5}.cp-footnote{font-size:11px;line-height:1.5;color:#7b8983;margin:13px 0}
@media(max-width:1350px){.cp-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.cp-card{grid-column:span max(6,var(--cp-w))}.cp-card-tools button{width:22px}}
@media(max-width:760px){.cp-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.cp-card{grid-column:1/-1!important;grid-row:auto!important;min-height:200px;max-height:400px}.cp-card-list{max-height:270px}.cp-heading h1{font-size:22px}.cp-filters label{max-width:none;flex:1 1 130px}.cp-card-metric strong{font-size:23px}}
@media print{.cp-editor,.cp-filters,.cp-buttons,.cp-card-tools,.cp-grab,.cp-resize{display:none!important}.cp-grid{display:block}.cp-card{break-inside:avoid;max-height:none;margin-bottom:12px}.cp-card-list{overflow:visible}}

.site-shell.cp-tree-collapsed{grid-template-columns:minmax(0,1fr)}.site-shell.cp-tree-collapsed .side-tree{display:none}.top nav .nav-cockpit{font-weight:800;background:#ffffff1c;border:1px solid #ffffff27}

.cp-today{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:#edf4ef;border:1px solid #d1dfd5;padding:8px 10px;border-radius:8px;margin:0 0 12px}.cp-today>strong{font-size:12px;margin-right:5px;color:#385848}.cp-today>a{font-size:11px;color:#405c4a;text-decoration:none;background:#fff;border:1px solid #e1e9e2;border-radius:5px;padding:6px 9px}.cp-today>a:hover{background:#f8fcf8}.cp-today b{font-size:14px;color:#294a39;margin-right:4px}.cp-today .btn{margin-left:auto;padding:6px 10px;font-size:11px}
/* v1.13.0: Grundrissplaner – bewusst kompakter 2D-Editor */
.fp-filter{padding:13px 16px;margin-bottom:12px}.fp-filter .fp-floor-selector{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.fp-floor-selector label{margin:0;min-width:185px;flex:1;max-width:310px}.fp-floor-selector select{margin-top:4px;min-height:35px;padding:6px 8px}.fp-filter p{font-size:12px;margin:8px 0 0}
.fp-app{background:#fff;border:1px solid #d5e0d8;border-radius:12px;overflow:hidden;box-shadow:0 3px 16px #24372d10;min-width:0;margin:14px 0}.fp-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 15px;background:#f7faf7;border-bottom:1px solid #dbe6dd}.fp-topbar strong{display:block;font-size:14px;color:#294536}.fp-topbar small{display:block;margin-top:2px;font-size:11px}.fp-topbar small.fp-error{color:#b03b29;font-weight:700}.fp-actions{display:flex;gap:7px;flex-wrap:wrap}.fp-actions .btn{padding:8px 11px;font-size:12px}.fp-app button:disabled{opacity:.45;cursor:not-allowed}
.fp-editor{display:grid;grid-template-columns:103px minmax(0,1fr) 250px;min-height:610px}.fp-tools{display:flex;flex-direction:column;background:#f2f6f3;padding:9px 6px;gap:5px;border-right:1px solid #dce7df}.fp-tools button{display:flex;align-items:center;gap:7px;flex-direction:column;justify-content:center;background:#fff;color:#425e4c;border:1px solid #dbe3dd;border-radius:7px;min-height:49px;cursor:pointer;font-size:10px;padding:3px}.fp-tools button b{font-size:20px;line-height:1}.fp-tools button.active{border-color:#628571;background:#dcebe0;box-shadow:inset 0 0 0 1px #628571;color:#233f2d}.fp-tools button:hover:not(:disabled){background:#e4efe8}
.fp-drawing{display:flex;flex-direction:column;min-width:0;background:#e8eeea}.fp-canvas-wrap{flex:1;position:relative;min-height:560px;width:100%;overflow:hidden}.fp-canvas-wrap canvas{display:block;touch-action:none;cursor:crosshair}.fp-canvas-footer{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #d4ded6;font-size:10px;color:#56685f;padding:6px 12px;background:#f7faf7}.fp-inspector{padding:13px 13px 18px;border-left:1px solid #e0e8e1;background:#fff;min-width:0;overflow-y:auto;max-height:680px}.fp-inspector h2{font-size:14px;margin:0 0 9px}.fp-inspector h3{font-size:12px;margin:17px 0 9px;color:#3b5f49}.fp-inspector hr{border:0;border-top:1px solid #e1e9e3;margin:15px 0}.fp-inspector label{font-size:11px;margin:8px 0 10px}.fp-inspector input,.fp-inspector select{font-size:12px;min-height:34px;padding:7px 8px}.fp-inspector input[type=range]{min-height:18px;padding:0;accent-color:#527d63}.fp-inspector input[type=file]{font-size:11px;padding:5px}.fp-inspector .fp-inline{display:flex;align-items:center;gap:7px;font-weight:500}.fp-inspector .fp-inline input{width:15px;min-height:15px;margin:0;accent-color:#527d63}.fp-hint{color:#77877b;font-size:11px;line-height:1.5;margin:0 0 10px}.fp-inspector-actions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.fp-inspector-actions .btn,.fp-inspector form .btn,.fp-inspector [data-fp-restore]{font-size:11px;padding:7px 9px}.fp-measure{margin:7px 0;font-size:11px;color:#547361}.fp-room-open{display:block;font-size:11px;margin:8px 0}.fp-source{display:grid;gap:7px;margin:8px 0;font-size:11px}.fp-source .btn{padding:7px 8px;font-size:11px}.fp-legal{border-top:1px solid #e1e8e2;background:#fbfcfb;color:#718175;font-size:11px;padding:10px 15px;margin:0}
@media(max-width:1180px){.fp-editor{grid-template-columns:83px minmax(0,1fr) 220px}.fp-tools button{min-height:46px}.fp-canvas-wrap{min-height:480px}}
@media(max-width:880px){.fp-editor{grid-template-columns:1fr}.fp-tools{flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid #dce7df}.fp-tools button{min-width:70px;max-width:90px;flex-shrink:0}.fp-canvas-wrap{min-height:480px}.fp-inspector{border-left:0;border-top:1px solid #dce7df;max-height:none;display:block}.fp-inspector h2{margin-bottom:4px}.fp-inspector label:not(.fp-inline){max-width:400px}}
@media(max-width:550px){.fp-filter .fp-floor-selector label{max-width:none;flex:1 1 100%}.fp-actions .btn{padding:7px 8px}.fp-tools{gap:3px}.fp-tools button{min-width:66px}.fp-canvas-wrap{min-height:390px}}
/* Modulnavigation v1.14 – vorhandener Gebäudebaum bleibt erhalten. */
.hjh-top-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.hjh-modules{position:relative;z-index:110}
.hjh-modules>summary{cursor:pointer;list-style:none;padding:.55rem .85rem;border:1px solid #a7b3aa;border-radius:.65rem;font-weight:700}
.hjh-modules>summary::-webkit-details-marker{display:none}
.hjh-module-list{position:absolute;top:calc(100% + 8px);left:0;width:min(440px,90vw);max-height:75vh;overflow:auto;z-index:120;background:#fff;color:#223328;box-shadow:0 14px 40px #0003;border:1px solid #cad2ca;border-radius:12px;padding:10px}
.hjh-module-group{border-bottom:1px solid #e4e9e4}
.hjh-module-group>summary{cursor:pointer;font-weight:650;padding:.65rem .55rem;line-height:1.4}
.hjh-module-links{display:flex;flex-direction:column;padding:0 .35rem .65rem 1.1rem;gap:.25rem}
.hjh-module-links a{display:block;padding:.4rem .55rem!important;border-radius:.4rem;text-decoration:none;white-space:normal}
.hjh-module-links a:hover{background:#edf2eb}
.hjh-eco-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:18px 0}
.hjh-eco-card{border:1px solid #d5dfd4;border-radius:12px;background:#f7faf6;padding:18px}
.hjh-eco-card small{display:block;color:#536856}.hjh-eco-card strong{display:block;font-size:1.55rem;margin:.5rem 0}
@media(max-width:700px){.hjh-module-list{left:auto;right:-90px;width:min(370px,92vw)}}

/* v1.16.0 Sidebar: Lesbarkeit der Modulunterpunkte auch bei hellem Theme */
.hjh-module-links a,.hjh-module-list .hjh-module-links a {color:#344339!important;opacity:1!important;text-decoration:none!important;font-weight:500!important;}
.hjh-module-links a:hover,.hjh-module-list .hjh-module-links a:hover {background:#edf1eb!important;color:#192a1e!important;}
.hjh-module-links a:focus-visible {outline:2px solid #546d5e;outline-offset:2px;}
.hjh-module-group>summary {color:#243529!important;font-weight:650;}
