:root{--red:#bc242b;--red-dark:#991a22;--ink:#1e242d;--muted:#7d8590;--line:#e5e8ec;--paper:#f6f7f9;--white:#fff;--green:#22875c;--orange:#dd8b2a;--shadow:0 8px 24px rgba(25,35,49,.04)}
*{box-sizing:border-box}html{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}input,textarea,select{background:#fff;color:var(--ink);border:1px solid #dce1e7;border-radius:9px;outline:0;padding:13px 15px;width:100%;transition:border .18s,box-shadow .18s}input:focus,textarea:focus,select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(188,36,43,.1)}textarea{resize:vertical;min-height:114px}h1,h2,p{margin-top:0}h1{letter-spacing:-1.3px}.hidden{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-shell{display:flex;min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;background:#fff;width:257px;flex:0 0 257px;border-right:1px solid var(--line);padding:30px 17px 19px;display:flex;flex-direction:column}.logo-row{display:flex;align-items:center;gap:10px;padding:0 10px}.brand-icon{background:var(--red);color:white;border-radius:9px;display:grid;place-items:center;font-size:21px;font-weight:900;letter-spacing:-2px;width:43px;height:43px;transform:skew(-4deg)}.brand-icon.mini{width:29px;height:29px;font-size:16px;border-radius:6px}.brand-name{display:flex;flex-direction:column;line-height:1.1;gap:4px}.brand-name b{font-size:17px;letter-spacing:.2px;font-weight:900}.brand-name small{font-size:8px;letter-spacing:2.8px;font-weight:800;color:var(--muted)}.sidebar-section-title{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#adb2ba;margin:54px 13px 12px}.side-nav{display:flex;flex-direction:column;gap:5px}.nav-link{width:100%;background:transparent;border:0;text-align:left;padding:14px 15px;border-radius:9px;font-weight:650;color:#606976;display:flex;align-items:center;gap:12px}.nav-link.active{background:#fff0f1;color:var(--red)}.nav-link:hover{background:#f8f0f1}.nav-icon{font-size:22px;display:inline-flex;justify-content:center;width:22px;font-weight:500;line-height:1}.sidebar-bottom{margin-top:auto}.help-panel{background:#f6f7f9;padding:19px;border-radius:12px;margin:10px 3px 23px}.help-symbol{font-size:22px;color:var(--red);margin-bottom:14px}.help-panel strong{font-size:13px}.help-panel p{font-size:12px;color:var(--muted);line-height:1.6;margin:7px 0 0}.sidebar-user{display:flex;border-top:1px solid var(--line);align-items:center;padding:18px 4px 0;gap:10px}.avatar{background:#f7e6e8;color:var(--red);font-size:16px;font-weight:850;display:grid;place-items:center;border-radius:50%;width:38px;height:38px;flex:0 0 38px}.avatar.small{width:31px;height:31px;font-size:13px;flex-basis:31px}.user-text{flex:1;display:flex;flex-direction:column;min-width:0;gap:4px}.user-text b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-text small{color:var(--muted);font-size:11px}.icon-button{background:transparent;border:0;font-size:22px;color:#67717c;padding:6px}.workarea{min-width:0;flex:1}.topbar{height:80px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 45px;gap:16px}.breadcrumbs{font-size:10px;letter-spacing:1.4px;color:#a1a8b0;font-weight:800}.breadcrumbs span{color:#d0d4d9;margin:0 12px}.breadcrumbs b{color:#5a636e}.top-actions{display:flex;align-items:center;gap:18px}.date-label{color:#7c8490;font-size:12px}.demo-tag{font-size:10px;color:#9b6c16;background:#fff3d9;border:1px solid #ffe0a5;padding:7px 9px;border-radius:6px;font-weight:800;letter-spacing:.3px}.mobile-brand{display:none}.main-area{max-width:1390px;margin:auto;padding:42px 47px 80px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.eyebrow{font-weight:800;font-size:10px;letter-spacing:1.7px;color:#9a8587;display:flex;align-items:center;gap:8px;margin-bottom:15px}.red-dot{background:var(--red);width:7px;height:7px;border-radius:100%}.page-heading h1{font-size:34px;font-weight:780;letter-spacing:-1.4px;margin:0 0 10px}.period{color:var(--red)}.page-heading p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.heading-note{display:flex;align-items:center;gap:13px;background:white;padding:15px 17px;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.note-symbol{font-size:24px;color:var(--red)}.heading-note b{display:block;font-size:12px}.heading-note small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:21px;align-items:start}.form-primary{display:flex;flex-direction:column;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.step-panel{padding:26px 28px 28px}.section-heading{display:flex;align-items:center;gap:14px;margin-bottom:27px}.step-number{width:37px;height:37px;flex:0 0 37px;background:#fff0f1;color:var(--red);border:1px solid #f7d8db;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:12px}.section-heading h2{font-size:17px;letter-spacing:-.3px;margin:0 0 5px}.section-heading p{color:var(--muted);font-size:12px;margin:0}.required-note,.optional-note{margin-left:auto;white-space:nowrap;font-size:10px;color:#9fa5ad}.search-wrap{position:relative}.search-icon{position:absolute;top:7px;left:13px;font-size:24px;color:#9aa2ae}.search-wrap input{padding-left:43px;background:#fafbfc}.object-list{display:grid;gap:8px;max-height:290px;overflow:auto;margin-top:13px}.object-tile{display:flex;align-items:center;text-align:left;gap:12px;border:1px solid var(--line);background:#fff;width:100%;padding:13px;border-radius:9px}.object-tile:hover,.object-tile.selected{border-color:var(--red);background:#fff9f9}.object-icon{width:39px;height:39px;border-radius:8px;background:#f3f4f6;display:grid;place-items:center;color:#505b65;font-size:21px;flex:0 0 39px}.object-tile.selected .object-icon{background:#fde8ea;color:var(--red)}.object-text{flex:1;min-width:0}.object-text b{display:block;font-size:12px;margin-bottom:4px}.object-text small{color:var(--muted);font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-check{font-size:17px;color:var(--red);padding-right:6px}.empty-state{border:1px dashed #dfe3e8;border-radius:10px;background:#fafbfc;padding:28px 20px;text-align:center;color:var(--muted);line-height:1.6}.empty-state b{display:block;color:var(--ink);margin:8px 0}.selected-object{padding:9px 12px;background:#edfbf2;border-radius:8px;font-size:11px;color:#1a8046;margin-bottom:12px}.field-heading{display:block;font-size:12px;font-weight:770;margin-bottom:11px;font-style:normal}.field-heading em{color:var(--red);font-style:normal}.category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.category-btn{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:88px;border-radius:9px;border:1px solid #e1e5e9;background:white;padding:10px 4px;font-size:10px;font-weight:700;color:#515b65}.category-btn .cat-icon{font-size:25px;line-height:1.2}.category-btn.active,.category-btn:hover{border-color:var(--red);background:#fff4f4;color:var(--red)}.field-block{margin-top:23px}.field-help{font-size:10px;color:#9ca3ad;margin-top:7px}.priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.priority{display:grid;grid-template-columns:17px minmax(0,1fr);grid-template-rows:auto auto;gap:5px 5px;text-align:left;align-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;padding:13px 10px}.priority.active{border-color:var(--red);box-shadow:0 0 0 1px var(--red);background:#fffafa}.priority b{font-size:12px}.priority small{grid-column:2;color:#8d959f;font-size:10px;line-height:1.35}.priority-mark{font-size:12px}.priority-mark.normal{color:#36946a}.priority-mark.urgent{color:#df9b2c}.priority-mark.danger{color:#ca3038}.danger-note{background:#fff4e8;color:#8a4f13;border:1px solid #fae2bc;border-radius:8px;margin-top:15px;padding:12px;font-size:12px;line-height:1.5}.upload-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px}.upload-option{border:1px dashed #ccd3da;border-radius:9px;background:#fcfcfd;min-height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:14px}.upload-option:hover{border-color:var(--red);background:#fff9f9}.upload-icon{font-size:30px;color:var(--red);margin-bottom:11px;line-height:1}.upload-option b{font-size:12px}.upload-option small{font-size:10px;color:var(--muted);margin-top:6px}.photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}.photo-box{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#edf0f2}.photo-box img{width:100%;height:100%;object-fit:cover}.remove-photo{position:absolute;right:4px;top:4px;border:0;background:rgba(23,25,29,.85);color:white;border-radius:50%;width:22px;height:22px;line-height:20px}.photo-caption{font-size:10px;color:#9da5af;line-height:1.55;margin:14px 0 0}.submit-panel{padding:20px 25px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.submit-copy{display:flex;align-items:center;gap:13px;flex:1;min-width:220px}.submit-symbol{background:#eaf7ef;border-radius:50%;color:var(--green);width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;font-size:16px}.submit-copy b{font-size:12px}.submit-copy p{font-size:10px;color:var(--muted);margin:5px 0 0;line-height:1.6}.btn{border:0;border-radius:8px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:12px;padding:13px 17px;white-space:nowrap;min-height:43px}.btn-red{background:var(--red);color:white}.btn-red:hover{background:var(--red-dark)}.btn-dark{background:#262c34;color:white}.btn-light{background:#f2f3f5;color:#3a414b}.btn-plain{background:#fff;border:1px solid var(--line);color:#394350}.btn.full{width:100%}.btn span:last-child{font-size:18px;line-height:1}.missing-fields{color:#9ea5af;font-size:11px;width:100%;text-align:right}.quick-panel{border:1px solid var(--line);border-radius:12px;background:#fff;padding:24px 20px 12px}.quick-head{font-size:10px;letter-spacing:1.3px;font-weight:900;color:#929aa4;margin-bottom:27px}.quick-item{display:flex;gap:11px;padding-bottom:22px}.quick-item>span{font-size:10px;font-weight:800;color:var(--red);background:#fff0f1;width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center}.quick-item b{font-size:12px}.quick-item p{font-size:11px;color:#9da3aa;line-height:1.5;margin:5px 0 0}.security-panel{display:flex;align-items:flex-start;gap:10px;padding:24px 10px}.security-panel>span{font-size:17px}.security-panel b{font-size:12px}.security-panel p{font-size:11px;line-height:1.6;color:#939ba5;margin:5px 0 0}.bottom-nav{display:none}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid var(--line);padding:20px;border-radius:12px}.stat-card strong{font-size:29px;letter-spacing:-1px;display:block;margin-bottom:5px}.stat-card span{font-size:11px;font-weight:650;color:var(--muted)}.listing-panel{padding:23px}.listing-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.listing-head h2,.manage-panel h2{font-size:18px;margin:0 0 6px}.listing-head p,.manage-panel>p{color:var(--muted);font-size:12px;margin:0}.filter-controls{display:flex;gap:10px}.filter-controls input{width:220px}.filter-controls select{width:160px}.report-list{display:grid;gap:9px}.report-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px}.report-item:hover{border-color:#c9a0a3;background:#fdfbfb}.report-icon{background:#f7e8ea;color:var(--red);width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:20px}.report-main{min-width:0}.report-main b{font-size:13px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.report-main p{font-size:11px;color:var(--muted);margin:6px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.report-meta{display:flex;align-items:flex-end;gap:10px;flex-direction:column}.status-pill,.priority-pill{font-size:10px;font-weight:800;padding:6px 9px;border-radius:50px;white-space:nowrap}.status-open{background:#fff1e3;color:#a96622}.status-work{background:#edf4ff;color:#396bbb}.status-done{background:#e9f8ee;color:#28845b}.priority-pill{background:#f6f7f9;color:#7c8590}.priority-pill.critical{background:#fff0f0;color:#be2a31}.report-date{color:#9aa2ad;font-size:10px}.manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.manage-panel{padding:26px}.form-stack{display:flex;flex-direction:column;gap:15px}.manage-panel .form-stack{margin-top:23px}.form-stack label{font-size:12px;font-weight:750;display:flex;flex-direction:column;gap:8px}.form-stack .btn{align-self:flex-start;margin-top:3px}.manage-list{border-top:1px solid var(--line);margin-top:25px;padding-top:12px;display:grid;gap:6px}.manage-entry{padding:10px;border-radius:8px;background:#f7f8f9;display:flex;gap:10px;align-items:center}.manage-entry span{font-size:20px}.manage-entry b{font-size:12px;display:block}.manage-entry small{font-size:11px;color:var(--muted);display:block;margin-top:5px}.modal-backdrop{position:fixed;inset:0;background:rgba(20,27,36,.56);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100;overflow:auto}.modal{background:#fff;border-radius:17px;width:100%;max-width:630px;box-shadow:0 25px 80px rgba(0,0,0,.15);padding:30px;max-height:calc(100dvh - 36px);overflow-y:auto}.modal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.modal-kicker{color:var(--red);font-size:10px;font-weight:850;letter-spacing:1.5px}.modal h2{font-size:23px;margin:8px 0 7px;letter-spacing:-.5px}.modal p{color:var(--muted);font-size:12px;line-height:1.65}.modal-close{background:#f1f3f5;border:0;border-radius:9px;width:34px;height:34px;font-size:24px;display:grid;place-items:center;color:#6a737e;flex:0 0 34px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0;border-block:1px solid var(--line);padding:19px 0}.detail-field small{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.detail-field b{font-size:12px}.detail-description{padding:15px;background:#f7f8fa;border-radius:9px;white-space:pre-wrap;word-break:break-word;line-height:1.65;font-size:13px}.detail-images{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.detail-images img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:zoom-in}.modal-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}.modal-actions select{width:auto;flex:1;min-width:150px}.success-hero{width:61px;height:61px;border-radius:50%;display:grid;place-items:center;background:#e9f8ee;color:#208753;font-size:30px;margin:0 auto 12px}.modal-centered{text-align:center}.modal-centered .btn{margin:8px auto 0}.success-banner{border-radius:9px;padding:12px;margin:15px 0;font-size:12px;line-height:1.55}.banner-good{background:#e9f8ee;color:#247b52}.banner-warn{background:#fff3e8;color:#90591c}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(132deg,#fff 0%,#fff 49%,#fae4e5 49%,#f8eeef 100%)}.login-card{background:#fff;max-width:450px;width:100%;padding:45px;border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.07);border-radius:16px}.login-card .logo-row{padding:0}.login-heading{margin:45px 0 28px}.login-heading h1{font-size:28px;margin:0 0 8px}.login-heading p{color:var(--muted);line-height:1.55;font-size:13px}.login-card .form-stack .btn{margin-top:9px}.fine-print{font-size:11px;color:#9fa6af;text-align:center;margin:22px 0 0}#toastArea{position:fixed;right:20px;top:20px;z-index:150;display:grid;gap:10px}.toast{background:#292f36;color:#fff;font-weight:650;border-radius:10px;padding:15px 18px;box-shadow:0 12px 35px rgba(0,0,0,.17);max-width:min(92vw,440px);line-height:1.45}.toast.error{background:#a51d24}
@media (max-width:1200px){.main-area{padding:34px 30px 60px}.form-layout{grid-template-columns:minmax(0,1fr) 230px}.category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.sidebar{width:225px;flex-basis:225px;padding-left:12px;padding-right:12px}.brand-name b{font-size:14px}.brand-name small{font-size:7px}.topbar{padding:0 30px}}
@media (max-width:1020px){.form-layout{grid-template-columns:1fr}.form-side{display:none}.main-area{padding:28px 22px 70px}.sidebar{width:205px;flex-basis:205px}.heading-note{display:none}.category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.listing-head{flex-direction:column;align-items:stretch}}
@media (max-width:730px){body{font-size:14px}.app-shell{display:block}.sidebar{display:none}.topbar{height:62px;padding:0 19px}.breadcrumbs{display:none}.mobile-brand{display:flex;gap:9px;align-items:center;font-size:13px;letter-spacing:.4px}.date-label{display:none}.top-actions{gap:10px}.demo-tag{font-size:8px;padding:5px 7px}.main-area{padding:26px 14px 94px}.page-heading{margin:0 6px 23px;align-items:flex-start}.page-heading h1{font-size:29px;letter-spacing:-1.2px}.page-heading p{font-size:12px}.page-heading>.btn{font-size:10px;padding:10px}.form-primary{gap:12px}.step-panel{padding:21px 16px}.section-heading{gap:10px;margin-bottom:22px}.section-heading h2{font-size:15px}.section-heading p{font-size:11px}.required-note,.optional-note{font-size:9px}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.category-btn{min-height:81px;font-size:10px}.priority-grid{grid-template-columns:1fr 1fr 1fr;gap:6px}.priority{grid-template-columns:10px 1fr;padding:11px 6px;gap:4px}.priority b{font-size:11px}.priority small{font-size:9px}.upload-option{min-height:110px}.submit-panel{padding:18px;gap:15px}.submit-copy{min-width:0;flex:1 1 100%}.submit-btn{width:100%}.missing-fields{text-align:left}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line);align-items:stretch;justify-content:space-around;z-index:50}.bottom-nav button{flex:1;border:0;background:#fff;color:#8f97a0;font-size:10px;font-weight:700;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center}.bottom-nav button span{font-size:23px}.bottom-nav button.active{color:var(--red)}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:15px}.stat-card strong{font-size:25px}.listing-panel{padding:15px}.filter-controls{flex-direction:column}.filter-controls input,.filter-controls select{width:100%}.report-item{grid-template-columns:34px minmax(0,1fr);padding:12px;gap:9px}.report-icon{width:34px;height:34px}.report-meta{grid-column:2;flex-direction:row;align-items:center;flex-wrap:wrap}.manage-grid{grid-template-columns:1fr;gap:14px}.manage-panel{padding:21px}.modal{padding:22px 19px;max-height:calc(100dvh - 24px)}.detail-grid{gap:14px 10px}.login-card{padding:32px 23px}.photo-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:350px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.priority-grid{grid-template-columns:1fr}.priority small{font-size:10px}.logo-row{gap:7px}}

/* Zwei klare Oberflächen: Hausmeister-App und Disposition */
.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.dashboard-kpi{background:#fff;border:1px solid var(--line);border-radius:13px;padding:21px 23px;display:flex;flex-direction:column;align-items:flex-start;min-height:150px}
.dashboard-kpi .kpi-icon{color:var(--red);background:#fff0f1;border-radius:8px;padding:6px 10px;font-size:19px;margin-bottom:12px}
.dashboard-kpi strong{font-size:31px;line-height:1;letter-spacing:-1px}.dashboard-kpi small{color:var(--muted);margin-top:8px;font-size:12px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:20px;align-items:start}
.dashboard-aside{display:grid;gap:17px}.dashboard-action,.dashboard-mail{padding:24px}.dashboard-action h2,.dashboard-mail h2{font-size:18px;margin:0 0 10px}
.dashboard-action p,.dashboard-mail p{color:var(--muted);line-height:1.65;font-size:12px;margin:0 0 19px}
.dashboard-action .btn{width:100%}.dashboard-mail{background:#fffafb;border-color:#f4e3e4}.dashboard-mail b{font-size:12px;color:var(--red);word-break:break-all}
.mail-symbol{display:grid;place-items:center;background:#f9e7e8;border-radius:11px;width:42px;height:42px;margin-bottom:18px;font-size:24px;color:var(--red)}
.mail-warning{color:#9d5318;font-size:11px;line-height:1.5;margin-top:15px}
.demo-switch{position:fixed;z-index:170;bottom:15px;right:16px;display:flex;align-items:center;gap:7px;background:#252a31;color:white;border-radius:12px;padding:8px;box-shadow:0 10px 35px #0003;flex-wrap:wrap}
.demo-switch>span{font-size:10px;font-weight:750;letter-spacing:1px;padding:4px 10px}.demo-switch button{border:1px solid #4d5259;color:#fff;border-radius:7px;background:#333a44;font-size:11px;font-weight:750;padding:9px}
.demo-switch button.selected{background:var(--red);border-color:var(--red)}
@media(max-width:1150px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:730px){.dashboard-kpis{gap:10px}.dashboard-kpi{padding:16px;min-height:125px}.dashboard-kpi strong{font-size:27px}.dashboard-grid{gap:12px}.dashboard-action,.dashboard-mail{padding:20px}.demo-switch{left:12px;right:12px;bottom:calc(70px + env(safe-area-inset-bottom));justify-content:center}.demo-switch>span{width:100%;text-align:center}}

.case-no{display:block;color:#bc242b;font-weight:850;font-size:11px;margin-bottom:4px;letter-spacing:.4px}

/* Ticket V4 */
.priority-pill.caution{background:#fff0c9;color:#855600}
.modal-backdrop.success-mode{padding:0}
.modal-backdrop.success-mode .modal{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;display:flex;align-items:center;justify-content:center}
.modal-backdrop.success-mode .modal-centered{width:min(550px,94vw)}
.timeline{margin:12px 0 18px;display:flex;flex-direction:column;gap:10px}
.timeline-row{border-left:3px solid #bd202b;padding:9px 14px;background:#f7f8fa;border-radius:0 9px 9px 0}
.timeline-row b{font-size:12px}.timeline-row small{color:#7d8791;font-size:11px;margin-left:8px}.timeline-row p{margin:6px 0 0;color:#334155;white-space:pre-wrap;overflow-wrap:anywhere}
.v4-administration{margin-top:20px;padding:16px;border-radius:12px;background:#f9fafb;border:1px solid #e1e5ea}
.v4-administration label{display:block;margin:12px 0 6px;font-weight:800;font-size:12px}
#printReport{display:none}
@media print{
 @page{size:A4;margin:15mm}
 .app-shell,.login-screen,.modal-backdrop,#toastArea{display:none!important}
 html,body{background:#fff!important;color:#000!important}
 #printReport{display:block!important;font-family:Arial,sans-serif;font-size:10pt;line-height:1.5}
 #printReport h1{font-size:19pt;border-bottom:3px solid #bd202b;padding-bottom:10px}
 #printReport h2{font-size:12pt;margin-top:15pt}
 #printReport .print-grid{display:grid;grid-template-columns:1fr 1fr;gap:5pt 12pt}
 #printReport .print-long{white-space:pre-wrap;overflow-wrap:anywhere}
 #printReport img{max-height:160px;max-width:170px;margin:6px;object-fit:contain}
 #printReport li{break-inside:avoid;margin:4px 0}
}

/* V5 round inspections */
.round-checklist{display:grid;gap:12px}.round-area{border:1px solid #dfe4e9;border-radius:13px;background:#f9fafb;padding:16px}.round-area strong{display:block;margin-bottom:11px}.round-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.round-options label{font-size:12px;font-weight:700;display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 4px;border:1px solid #d5dce4;border-radius:10px;background:white;gap:7px;cursor:pointer}.round-options input{accent-color:#ba202b}.round-area textarea{margin-top:10px;width:100%;min-height:64px}.round-area.is-defect{border-color:#dfa2a7;background:#fff7f8}.round-progress{font-size:13px;margin-top:12px;color:#276245;font-weight:750}.round-summary{display:grid;gap:7px;margin:14px 0}.round-summary div{background:#f4f6f8;padding:10px 12px;border-radius:8px;font-size:13px}.related-info{padding:12px;border-radius:8px;background:#fff5f6;border:1px solid #e5babf;margin:13px 0}.modal-followup-fields{margin-top:10px}.modal-followup-fields label{display:block;margin:12px 0 5px;font-weight:700}.modal-followup-fields select,.modal-followup-fields input,.modal-followup-fields textarea{width:100%;box-sizing:border-box} @media(max-width:650px){.round-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

[data-staff-id]{width:auto;accent-color:#b5222a;margin-right:8px;} .manage-entry>div{min-width:0;flex:1} .manage-entry{flex-wrap:wrap} .manage-entry .btn{font-size:10px;padding:7px 9px;min-height:32px;} .top-actions>[data-change-password]{display:none}@media(max-width:730px){.top-actions>[data-change-password]{display:inline-flex}}

.assignment-choice{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important}.assignment-choice input{width:auto!important;flex:0 0 auto}#mobileLogoutBtn{display:none}@media(max-width:730px){#mobileLogoutBtn{display:inline-flex}}

/* WOHLGEMUTH V3 – Rundgang, Berliner Uhrzeit, Firmendaten und Begrüßung */
.round-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.round-options .round-choice{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px;min-height:62px;font-size:13px;padding:12px;border:1px solid #d7dee6;transition:background .15s,border-color .15s}
.round-choice input{width:18px;height:18px;flex:0 0 18px}
.round-choice span{font-size:18px;color:#657386;font-weight:800}
.round-choice:has(input:checked){border-color:#b5222a;background:#fff0f1;color:#9f2028;box-shadow:0 0 0 1px #b5222a35}
.round-choice:first-child:has(input:checked){border-color:#4c9174;background:#eef8f3;color:#1c6646;box-shadow:0 0 0 1px #4c917435}
.round-choice:first-child:has(input:checked) span{color:#20704e}
.round-area.is-defect{border-color:#d5959a}
.greeting-line{font-weight:750;font-size:14px;color:#233547;margin-bottom:13px;letter-spacing:.1px}
.top-clock{font-variant-numeric:tabular-nums;font-weight:700;color:#404d60;white-space:nowrap}
.top-date-main{white-space:nowrap}
.company-panel{background:#f8f9fb;border-radius:11px;padding:15px 12px;display:flex;flex-direction:column;gap:8px;font-size:11px;line-height:1.4;color:#384357}
.company-panel b{font-size:11px;color:#a8222b;letter-spacing:.35px}
.company-panel address{font-style:normal}
.company-panel a{color:#384357;text-decoration:none;overflow-wrap:anywhere}
.company-panel a:hover{text-decoration:underline}
.dashboard-mail a{color:#b5222a;text-decoration:none}
.dashboard-mail p strong{font-weight:750;color:#202a33}
.round-select{border:1px solid #d9e0e7;border-radius:11px;margin:2px 0 8px;padding:15px 12px}
.round-select legend{font-size:12px;font-weight:800;padding:0 4px}
.round-select p{font-size:11px;color:#718096;line-height:1.5;margin:3px 0 12px}
.round-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0}
.round-check-grid label{display:flex!important;align-items:center!important;flex-direction:row!important;gap:8px!important;font-weight:600!important;font-size:12px!important}
.round-check-grid input{flex:0 0 auto;width:17px!important;height:17px!important;accent-color:#b5222a}
@media(max-width:730px){.date-label{display:flex!important;font-size:10px!important}.top-date-main{display:none}.top-actions{gap:7px}.round-options{grid-template-columns:repeat(2,minmax(0,1fr))}.round-options .round-choice{min-height:58px;padding:9px 4px;font-size:11px}.greeting-line{font-size:13px}.round-check-grid{grid-template-columns:1fr}}


/* WOHLGEMUTH V4.0.0 – Spacing, original branding, responsive controls */
.official-logo{display:block;width:100%;max-width:218px;height:auto;object-fit:contain;object-position:left center}
.login-card .official-logo{max-width:300px}
.mobile-brand .official-logo{width:166px;max-width:60vw}
.sidebar{padding:25px 17px 15px;width:264px;flex-basis:264px;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.sidebar>.logo-row{padding:0 3px}
.sidebar-section-title{margin:37px 11px 13px}
.sidebar-bottom{margin-top:auto;min-height:0;padding-top:26px}
.company-panel{display:block;background:#f8f9fa;border:1px solid #e9e9ea;border-radius:10px;margin-bottom:14px;padding:0;min-width:0;font-size:12px;line-height:1.5}
.company-panel summary{cursor:pointer;list-style:none;color:#46505a;font-size:12px;padding:14px 13px;font-weight:800}
.company-panel summary::-webkit-details-marker{display:none}
.company-panel summary:after{content:'＋';float:right;color:var(--red)}
.company-panel[open] summary:after{content:'−'}
.company-panel-content{padding:0 12px 14px;display:grid;gap:8px;min-width:0;overflow-wrap:anywhere}
.company-panel-content b{font-size:12px;color:var(--ink);letter-spacing:0}
.company-panel-content a{display:block;color:var(--red);font-size:11px;overflow-wrap:anywhere;word-break:break-word}
.sidebar-user{padding-top:13px;min-width:0}
.sidebar-version{margin:12px 4px 0;text-align:center;color:#a3a9af;font-size:10px;letter-spacing:.4px}
.top-version{font-size:10px;color:#9a9da4;background:#f6f6f7;border-radius:6px;padding:6px 8px;white-space:nowrap}
.topbar{padding:0 clamp(20px,3vw,42px);min-height:76px;gap:24px}
.top-actions{gap:14px;min-width:0}
.date-label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;font-size:12px;white-space:normal}
.top-date-main{color:#707988}.top-clock{font-weight:800;color:#334050}.top-place{font-weight:700;color:#a8222b}
.main-area{width:100%;max-width:1450px;padding:clamp(28px,3vw,52px) clamp(22px,3.1vw,52px) 90px}
.page-heading{align-items:flex-start;flex-wrap:wrap;gap:20px}.page-heading>div:first-child{min-width:0;flex:1 1 360px}
.dashboard-grid{grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:24px}
.dashboard-grid>*{min-width:0}
.dashboard-kpis{gap:18px}
.panel{min-width:0}
.page-heading .modal-actions{max-width:100%;justify-content:flex-start;gap:12px}
.login-card{padding:clamp(27px,4vw,45px);box-sizing:border-box}.login-heading{margin-top:35px}
.password-field{position:relative}.password-field input{padding-right:58px}.password-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#65707e;width:43px;height:43px;border-radius:8px;display:grid;place-items:center}.password-eye:hover,.password-eye:focus-visible{background:#f2f3f5;color:var(--red)}.password-eye svg{width:22px;height:22px}
.forgot-link{background:none;color:#9c1b24;border:none;display:inline-block;margin:8px 0 0 auto;padding:6px 0;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:650;align-self:flex-end;width:auto}
.version-label{white-space:nowrap;font-weight:750}
.exception-row{margin-top:10px}.exception-option{display:flex;align-items:center;gap:9px;font-size:11px;color:#6f4a16;font-weight:650;cursor:pointer}.exception-option input{width:16px;height:16px;flex:0 0 16px;accent-color:#c98932}
.round-area.is-blocked{border-color:#e4c88d;background:#fffaf0}
@media(max-width:1250px){.dashboard-grid{grid-template-columns:1fr}.sidebar{width:236px;flex-basis:236px}}
@media(max-width:930px) and (min-width:731px){.sidebar{width:212px;flex-basis:212px}.top-date-main{display:none}.main-area{padding:30px 21px 80px}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:730px){.main-area{padding:24px 14px calc(92px + env(safe-area-inset-bottom))}.topbar{padding:0 14px}.top-actions{gap:6px}.top-version{display:none}.date-label{display:flex!important;flex-direction:column;align-items:flex-end;gap:0;font-size:10px}.top-date-main{display:none!important}.top-clock{font-size:11px}.top-place{font-size:10px}.sidebar{display:none}.page-heading{margin-bottom:20px}.page-heading h1{font-size:clamp(26px,7vw,33px)}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.page-heading .modal-actions{width:100%}.page-heading .modal-actions .btn{flex:1}.modal-followup-fields{min-width:0}.round-options{grid-template-columns:repeat(2,minmax(0,1fr))}.round-area{padding:14px 12px}.round-choice{min-height:66px}.exception-option{font-size:11px}.login-card .official-logo{max-width:265px}}
@media(max-width:390px){.mobile-brand .official-logo{width:129px}.top-actions{gap:4px}.date-label{font-size:9px}.login-card{padding:24px 18px}}
/* V5 – Wartung, Kalender und geschlossene Vorgänge */
.kpi-clickable{border:1px solid #e4e8ed;text-align:left;cursor:pointer;font-family:inherit;transition:transform .14s,box-shadow .14s}
.kpi-clickable:hover,.kpi-clickable:focus-visible{transform:translateY(-2px);box-shadow:0 6px 18px #1b263315;outline:2px solid #d7b3b6;outline-offset:1px}
.ops-panel{padding:28px}.ops-list{display:grid;gap:13px;margin-top:18px}.ops-item{background:#fff;border:1px solid #e2e8ee;border-radius:13px;padding:19px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:22px;text-align:left;min-width:0}
.ops-main{flex:1;min-width:0}.ops-main h3{font-size:16px;color:#1e2b3b;margin:8px 0}.ops-main p{font-size:12px;line-height:1.65;color:#697483;margin:5px 0}.ops-main ul{font-size:12px;color:#455160;padding-left:20px}.ops-main small{font-size:11px;color:#788492}.ops-side{min-width:175px;display:flex;flex-direction:column;align-items:flex-end;gap:12px;color:#6b7786;font-size:12px}.ops-side select{max-width:100%;font:inherit;padding:8px;border:1px solid #ccd4dd;border-radius:8px}.mini-link{font-size:12px;color:#b7222a;text-decoration:underline;font-weight:750}.ops-button{width:100%;cursor:pointer;font-family:inherit}.ops-button:hover{border-color:#c8a1a4;background:#fffafa}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-two label{min-width:0}.form-two input{min-width:0;width:100%;box-sizing:border-box}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.calendar-header h2{margin:0;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;overflow:hidden}.cal-weekday{padding:8px;text-align:center;font-size:11px;font-weight:800;color:#758292}.cal-day,.cal-empty{min-height:101px;border:1px solid #e5e9ee;border-radius:10px;background:#fff;padding:8px;min-width:0;box-sizing:border-box}.cal-empty{background:#fafafb;border-style:dashed}.cal-day>b{font-size:12px;color:#36475a}.cal-today{background:#fff4f4;border-color:#d8a6ab}.cal-event{width:100%;display:block;margin-top:5px;background:#fbecee;border:0;color:#9c1c25;text-align:left;border-radius:5px;padding:5px;font-size:10px;line-height:1.3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.cal-event:hover{background:#e9cdd0}.cal-day small{font-size:10px;color:#77818c}
@media(max-width:900px){.cal-day,.cal-empty{min-height:72px;padding:5px}.cal-event{font-size:9px}.ops-panel{padding:18px}.ops-item{flex-direction:column;gap:10px}.ops-side{align-items:flex-start;min-width:0}.form-two{grid-template-columns:1fr}}
@media(max-width:600px){.calendar-grid{gap:3px}.cal-day,.cal-empty{min-height:55px;padding:3px;border-radius:6px}.cal-weekday{padding:4px 0}.cal-event{font-size:8px;padding:3px}.calendar-header{margin-bottom:12px}.ops-panel{padding:14px}}

/* WOHLGEMUTH V5.2: stets sichtbare Hausmeistertermine und Meldungsbenachrichtigungen */
.upcoming-panel{background:linear-gradient(135deg,#fff7f7,#fff);border:1px solid #f0cbd0;border-left:5px solid #b5222a;border-radius:13px;padding:21px 24px;margin-bottom:26px;box-shadow:0 8px 25px rgba(20,27,39,.04)}
.upcoming-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.upcoming-kicker{color:#b5222a;font-weight:800;letter-spacing:1.2px;font-size:10px}.upcoming-head h2{font-size:21px;letter-spacing:-.4px;margin:6px 0}.upcoming-head p{color:#687584;margin:0;font-size:12px}.upcoming-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px}.upcoming-item{border:1px solid #e9d5d7;border-radius:9px;padding:14px;text-align:left;background:#fff;display:flex;flex-direction:column;gap:5px;min-width:0}.upcoming-item:hover{border-color:#b5222a;background:#fffafa}.upcoming-date{font-size:11px;color:#b5222a;font-weight:750}.upcoming-item strong{color:#1e2734;font-size:13px;line-height:1.4}.upcoming-item small{color:#687584;line-height:1.45}.upcoming-more{font-size:11px;color:#b5222a;font-weight:750;margin-top:4px}.upcoming-empty{color:#77818c;font-size:12px;padding:8px 0}.calendar-notice-count{background:#b5222a;color:white;min-width:19px;height:19px;padding:2px 5px;border-radius:15px;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:900}.live-toast{display:flex;flex-direction:column;gap:7px;max-width:420px;line-height:1.45}.live-toast strong{font-size:13px}.live-toast span{font-size:12px}.live-toast button{border:1px solid rgba(255,255,255,.7);background:#fff;color:#9f1d27;border-radius:6px;padding:7px 9px;align-self:flex-start;font-size:12px;font-weight:750}
@media(max-width:760px){.upcoming-panel{padding:16px;margin-bottom:20px}.upcoming-head{align-items:flex-start;flex-direction:column}.upcoming-head .btn{white-space:normal}.upcoming-items{grid-template-columns:1fr}.calendar-notice-count{margin-left:0}}

/* V5.3: digitale Unterschrift auf Smartphone, Tablet und PC */
.signature-panel{overflow:visible}.signature-hint{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.signature-hint strong{font-size:14px}.signature-hint small{color:#687483}.signature-canvas-wrap{position:relative;border:1.5px dashed #b8c1ce;border-radius:12px;background:white;overflow:hidden}.signature-canvas-wrap canvas{width:100%;height:200px;display:block;touch-action:none;cursor:crosshair}.signature-placeholder{position:absolute;pointer-events:none;top:46%;left:0;width:100%;text-align:center;font-size:14px;color:#9aa5b2}.signature-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}.signature-actions span{font-size:12px;color:#526072}.signature-consent{display:flex;gap:12px;align-items:flex-start;padding:15px;margin-top:15px;background:#f5f7fa;border:1px solid #e3e8f0;border-radius:10px;line-height:1.5;font-size:13px}.signature-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:1px;accent-color:#b7222a}.report-signature{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:1px solid #dfe4ea;border-radius:12px;background:#fafbfd}.report-signature img{display:block;width:min(100%,390px);max-height:155px;object-fit:contain;border-radius:5px}.report-signature small{font-size:11px;color:#617080}.print-signature{max-width:340px;max-height:120px;object-fit:contain}@media(max-width:760px){.signature-canvas-wrap canvas{height:180px}.signature-actions{align-items:flex-start}}

/* V5.4 – anklickbare Wartungen, Foto-Nachweise, PDF-Export */
.maint-row{width:100%;text-align:left;cursor:pointer;transition:background .15s,box-shadow .15s}
.maint-row:hover,.maint-row:focus-visible{background:#fdf4f4;box-shadow:0 0 0 2px #f0c4c7;outline:none}
.maint-open-text{font-size:.82rem;color:#a01e29;font-weight:700}
.maint-attachments{display:flex;flex-direction:column;gap:10px;margin:12px 0 20px;overflow-wrap:anywhere}
.maintenance-evidence{border:1px solid #dce1e7;border-radius:12px;padding:14px;margin:6px 0}
.maintenance-evidence legend{font-weight:700;padding:0 6px}
.maint-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.maint-input-grid label{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #e0e4e9;border-radius:10px;cursor:pointer;background:#fafafa}
.maint-input-grid input{width:100%;font-size:13px}
.maintenance-export{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid #e2e6eb;border-radius:12px;background:#fcfcfd;padding:16px;margin:18px 0}
.maintenance-export>div{flex:1 1 210px}.maintenance-export p{font-size:.78rem;color:#657080;margin:5px 0 0}
.maintenance-export select{max-width:240px;min-width:160px}
.cal-event.cal-maintenance{background:#fff3dc;color:#815313;border:1px solid #e7be76}
@media(max-width:780px){.maint-input-grid{grid-template-columns:1fr}.maintenance-export select,.maintenance-export button{max-width:none;width:100%}}

/* V5.5: prevent Edge's native password eye colliding with the designed single control */
input[type="password"]::-ms-reveal, input[type="password"]::-ms-clear{display:none!important;}
.round-reset-row{display:flex;justify-content:flex-end;margin-top:8px;}
.round-clear{font-size:12px;padding:6px 11px!important;min-height:30px!important;}
.due-panel{margin:18px 0 22px;border:1px solid #e3e7ec;border-radius:15px;background:#fff;padding:20px 22px;}
.due-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.due-head h2{margin:5px 0;font-size:19px;} .due-head p{margin:2px 0;color:#64748b;font-size:13px;}
.due-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px;margin-top:14px;}
.due-item{border:1px solid #e8eaef;border-radius:10px;background:#fbfcfd;text-align:left;padding:13px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;color:#1f2937;cursor:pointer;}
.due-item:hover{border-color:#bd2431;background:#fff8f8;} .due-item strong{font-size:14px;} .due-item small{color:#64748b;}
.due-item>span:last-child{color:#b71e2e;font-size:12px;font-weight:700;}
.due-badge{font-size:11px;padding:4px 8px;background:#fff0f0;border-radius:6px;color:#a32635;font-weight:bold;}.due-badge.due-overdue{background:#8d1824;color:white;}

.maintenance-signature-field{border:1px solid #e0e5eb;border-radius:11px;padding:15px;margin:14px 0;}
.maintenance-signature-field legend{font-weight:750;} .maintenance-sign-pad{position:relative;background:#fff;border:1px dashed #a3acb9;border-radius:8px;margin-top:10px;}
.maintenance-sign-pad canvas{width:100%;height:160px;display:block;touch-action:none;}
#maintSigPlaceholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9ca3af;pointer-events:none;font-size:13px;}
#maintSigPlaceholder.hidden{display:none;}

/* V5.6: Wartungs-Exportaktionen auch auf kleineren Bürobildschirmen lesbar */
.maintenance-export .btn{white-space:nowrap;min-height:42px}
@media(max-width:1240px){.maintenance-export>div{flex-basis:100%}}

/* V5.8: eindeutige Pflichtangabe Fälligkeit */
.next-due-controls{display:flex;flex-direction:column;gap:10px;min-width:0}
.next-due-controls>label:first-child{display:flex;flex-direction:column;gap:7px}
.unknown-due{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:650;line-height:1.5;cursor:pointer}
.unknown-due input{width:17px;height:17px;accent-color:#b3212b;flex-shrink:0}

/* V5.9 Mehrfachauswahl Vorgesetzte */
.supervisor-choices{display:grid;gap:9px;margin-top:10px}
.supervisor-choices .assignment-choice{display:flex;align-items:flex-start;gap:10px;border:1px solid #d9e0e8;border-radius:10px;padding:12px;background:#fff;cursor:pointer}
.supervisor-choices .assignment-choice input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:#b61d26}
.supervisor-choices .assignment-choice span{display:grid;gap:2px;min-width:0}
.supervisor-choices .assignment-choice small{display:block;color:#627084;font-size:12px;overflow-wrap:anywhere}
#generatedStaffPassword{font-family:ui-monospace,Consolas,monospace;letter-spacing:.03em}

/* V5.10: klar sichtbare Rücknahme einer Mängelkategorie und markantes Logout-Symbol. */
.category-reset-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 8px;flex-wrap:wrap}
.category-reset-bar span{font-size:12px;color:#596573;line-height:1.5}
.category-clear-button{border:1px solid #c52a34;color:#a71b27;background:#fff5f5;border-radius:10px;padding:11px 15px;width:auto;font-size:12px;font-weight:800;min-height:42px}
.category-clear-button:not(:disabled):hover{background:#fee5e6;box-shadow:0 0 0 2px #ffe4e7}
.category-clear-button:disabled{border-color:#e6e8ea;color:#aeb5bb;background:#f7f8fa;cursor:default;opacity:1}
.logout-red{appearance:none;border:0;background:#c31d2b;color:#fff;border-radius:50%;width:42px;height:42px;min-width:42px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 9px rgba(177,27,40,.18);cursor:pointer}
.logout-red:hover{background:#9f1420;transform:translateY(-1px)}
.logout-red:focus-visible{outline:3px solid #f3a1a8;outline-offset:2px}
@media(max-width:730px){.logout-red{width:41px;height:41px;min-width:41px}.top-actions{gap:8px}.category-reset-bar{align-items:stretch}.category-reset-bar span{width:100%}.category-clear-button{min-height:48px;font-size:13px}}

/* V5.12 – klare Objekt- und Personalverwaltung */
.manage-entry{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;min-width:0;overflow-wrap:anywhere;}
.manage-entry>div:nth-child(2){min-width:0!important;width:100%;}
.manage-entry>div:nth-child(2)>small{display:block!important;white-space:normal!important;overflow-wrap:anywhere;line-height:1.6;max-width:100%;}
.manage-entry>.btn,.manage-entry>.entry-actions{grid-column:2;justify-self:start;max-width:100%;}
.manage-entry .entry-actions{display:flex;flex-wrap:wrap;gap:8px;}
@media(min-width:1024px){#managedObjects .manage-entry{grid-template-columns:24px minmax(0,1fr)!important;}#managedObjects .manage-entry .btn{grid-column:2;}}
.supervisor-entry{background:#f9fafb;border-radius:12px;padding:12px;}

/* Supervisor has own scoped dashboard without administrator management CTA */
.portal-supervisor .dashboard-action{display:none!important}

/* V5.12: übersichtliche Objektkarten */
#managedObjects .manage-entry{padding:16px;row-gap:10px;background:#f7f8fa;border:1px solid #edf0f3;border-radius:10px;}
#managedObjects .manage-entry .manage-entry-main{display:grid;gap:7px;}
#managedObjects .manage-entry .manage-entry-main b{font-size:14px;}
#managedObjects .manage-entry .manage-entry-main small{margin:0;font-size:11px;line-height:1.55;white-space:normal;overflow-wrap:anywhere;}
#managedObjects .manage-entry .entry-address{font-weight:550;color:#4e5969;}
#managedObjects .manage-entry .entry-meta{color:#738092;}
#managedObjects .manage-entry .entry-manager{color:#738092;}
#managedObjects .manage-entry .btn{white-space:normal;text-align:center;}

/* V5.13 – Browser-Branding, Abmeldebildschirm und separate Berichtsauswahl */
.logout-card {max-width:480px;}
.logout-card h1 {margin:20px 0 8px; font-size:clamp(1.65rem,4vw,2.2rem);}
.logout-card p {color:var(--muted); margin-bottom:24px;}
.logout-card .btn {display:flex; justify-content:center; text-decoration:none; align-items:center;}
#newSupervisorForm select,#editSupervisorRecordForm select,#newUserForm select {width:100%; min-width:0;}
#page-history .page-heading>.modal-actions {display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:680px){#page-history .page-heading>.modal-actions{width:100%;}#reportsSendManager{width:100%;}}

/* V5.14 – destruktive Zugangsaktionen erkennbar */
.danger-outline{color:#a71922 !important;border:1px solid #e0a8ab !important;background:#fff6f6 !important;}
.danger-outline:hover{background:#ffe3e3 !important;}

/* WD Cockpit V5.15: frei verwaltbare Funktionen / Bereiche */
.wd-department-manager{border-top:1px solid var(--line);margin:20px 0 16px;padding-top:20px}
.wd-department-manager>label{display:block;font-size:12px;font-weight:800;margin-bottom:5px}
.wd-department-muted{font-size:11px;color:var(--muted);line-height:1.5;margin:6px 0 12px;text-align:left}
.wd-department-entry{display:flex;gap:10px;align-items:stretch}
.wd-department-entry input{min-width:0;flex:1}
.wd-department-entry button{flex:none;white-space:nowrap}
.wd-department-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.wd-department-tag{background:#f7f8fa;border:1px solid #e1e5e9;border-radius:9px;display:flex;align-items:center;gap:12px;padding:6px 8px 6px 12px;font-size:12px;overflow-wrap:anywhere}
.wd-department-tag .btn{padding:7px 10px;font-size:11px}
@media(max-width:490px){.wd-department-entry{flex-direction:column}.wd-department-entry button{width:100%}}

/* WD Cockpit V5.16 · transparente rollenbasierte Freigaben */
.wd-access-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:10px;margin:10px 0 16px}.wd-access-list .assignment-choice{min-width:0;margin:0}.wd-access-list small{overflow-wrap:anywhere}.supervisor-entry .entry-actions{display:flex;gap:8px;flex-wrap:wrap}.manage-entry-main{min-width:0;overflow-wrap:anywhere}

/* V5.20 – sichere einmalige Anzeige neu ausgestellter Zugangsdaten */
.secret-preview{display:flex;gap:8px;align-items:center;margin:10px 0 14px}.secret-preview input{min-width:0;flex:1;letter-spacing:.05em}.secret-preview button{flex:0 0 auto}.detail-grid .detail-field b{overflow-wrap:anywhere}
@media(max-width:540px){.secret-preview{flex-direction:column;align-items:stretch}.secret-preview button{width:100%}}

/* V5.25: Firmenlogo ist reines klickbares Logo: kein Button-Rahmen oder Hintergrund. */
button.logo-home,.logo-row button.logo-home,.mobile-brand button.logo-home{
  -webkit-appearance:none!important;appearance:none!important;
  display:inline-flex;align-items:center;justify-content:flex-start;
  width:auto;max-width:100%;height:auto;min-width:0;min-height:0;
  background:none!important;background-color:transparent!important;
  border:0!important;border-radius:0!important;
  padding:0!important;margin:0!important;
  box-shadow:none!important;text-decoration:none!important;
  cursor:pointer;line-height:normal;position:relative;
}
button.logo-home:hover,button.logo-home:active{background:transparent!important;box-shadow:none!important;}
button.logo-home:focus{outline:none;}
button.logo-home:focus-visible{outline:none!important;}
button.logo-home:focus-visible::after{content:'';position:absolute;bottom:-5px;left:0;right:0;height:2px;background:var(--red);}
button.logo-home .official-logo{pointer-events:none;display:block;border:0;box-shadow:none;transition:opacity .15s ease;}
button.logo-home:hover .official-logo{opacity:.86;}

/* WD Cockpit V5.27: frühzeitige Wartungserinnerung in der Verwaltung */
#adminDueMaintenance .due-reminder-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;cursor:default;flex-wrap:wrap}
#adminDueMaintenance .due-reminder-main{display:flex;flex-direction:column;align-items:flex-start;gap:5px;flex:1 1 260px;min-width:0}
#adminDueMaintenance .due-reminder-main strong{font-size:14px}
#adminDueMaintenance .due-reminder-main small{font-size:12px;color:#697483}
#adminDueMaintenance .due-reminder-state{font-weight:700;color:#a52730!important}
#adminDueMaintenance .due-reminder-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#adminDueMaintenance .due-reminder-actions .btn{white-space:normal;text-align:center}
#adminDueMaintenance .maintenance-reminder-note{display:block;margin-top:10px;max-width:670px;font-size:12px;line-height:1.55;color:#697483}
@media(max-width:700px){#adminDueMaintenance .due-reminder-actions{width:100%}#adminDueMaintenance .due-reminder-actions .btn{flex:1 1 145px}}
#adminDueMaintenance .due-list{grid-template-columns:1fr}

.wd-php-note{position:fixed;z-index:10000;right:1rem;bottom:1rem;max-width:420px;padding:9px 14px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#713f12;font:700 12px system-ui;box-shadow:0 4px 20px #0002}.wd-php-note:after{content:' · Test';color:#b7192a}

/* PHP 3.1: print the real, original firm logo, not only a textual heading. */
@media print{
 #printReport .print-brand{display:flex!important;align-items:center;justify-content:space-between;gap:20px;border-bottom:2.5pt solid #bd202b;padding-bottom:13pt;margin:0 0 14pt;}
 #printReport .print-brand img{width:238px;max-width:59%;max-height:66px;height:auto;object-fit:contain;margin:0;}
 #printReport .print-brand span{font-size:10pt;font-weight:700;text-align:right;}
 #printReport .print-brand small{font-size:7pt;font-weight:400;}
 #printReport h1{font-size:18pt;border:0;margin:0 0 12pt;}
}
/* PHP 3.3 – evidence photos and separate document bar */
.detail-photo-item{min-width:0;display:flex;flex-direction:column;gap:7px;align-items:stretch}
.detail-photo-item>a:first-child{display:block;overflow:hidden;border-radius:10px}
.detail-photo-item img{display:block;width:100%;height:145px;object-fit:cover;border-radius:10px}
.photo-save{display:flex;align-items:center;justify-content:center;border:1px solid #dce1e8;border-radius:8px;background:#fff;text-align:center;padding:9px 7px;font-size:12px;color:#252d3b;text-decoration:none;font-weight:700;min-height:36px}
.photo-save:hover{border-color:#bd2026;color:#bd2026}
.ticket-files-panel{margin-top:24px;padding:20px;border:1px solid #dfe4e9;border-radius:13px;background:#f7f8fa}
.ticket-files-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ticket-files-heading .field-heading{margin:0 0 7px}
.ticket-files-heading p{margin:0 0 15px}
.ticket-files-symbol{font-size:24px;color:#b91e2b}
.ticket-documents{display:flex;flex-direction:column;gap:8px;margin:7px 0 14px}
.ticket-document-row{display:flex;align-items:center;gap:11px;border:1px solid #e0e4eb;border-radius:9px;padding:10px;background:#fff;min-width:0}
.ticket-file-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:48px;height:40px;border-radius:7px;background:#fcebed;color:#b71929;font-size:11px;font-weight:800}
.ticket-document-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.ticket-document-meta strong{font-size:13px;overflow-wrap:anywhere}
.ticket-document-meta small{color:#777e8d;font-size:11px}
.ticket-document-download{font-size:12px;flex-shrink:0;text-decoration:none}
.ticket-empty-files{font-size:13px;color:#78808b;margin:7px 0 16px}
.ticket-document-upload{border-top:1px solid #dfe4e9;padding-top:15px;display:flex;flex-direction:column;gap:11px}
.ticket-document-upload label{font-size:13px;font-weight:750}
.ticket-document-upload input[type="file"]{width:100%;box-sizing:border-box;background:#fff;border:1px solid #dfe3e8;border-radius:9px;padding:11px;font:inherit;font-size:13px}
.ticket-upload-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.ticket-office-disclaimer{margin:4px 0 15px;color:#687486;line-height:1.6;font-size:13px}
@media(max-width:550px){.ticket-files-panel{padding:13px}.ticket-document-row{flex-wrap:wrap}.ticket-document-download{margin-left:58px}}

/* PHP 3.4: eindeutiger Status- und E-Mail-Ablauf */
.outgoing-compose{display:grid;gap:13px}.outgoing-compose label{display:grid;gap:7px;font-weight:600}.outgoing-compose textarea{min-height:180px;width:100%;resize:vertical}.outgoing-compose input[type=email],.outgoing-compose input[type=text]{width:100%}.attachment-choice{display:flex!important;align-items:center;gap:10px;font-weight:400!important;border:1px solid #e5e7eb;border-radius:8px;padding:10px}.attachment-choice input{accent-color:#bd1d28}.mail-warning{padding:10px;border:1px solid #e4b2b2;border-radius:8px;color:#a32028}.timeline-break{display:block;height:5px}.timeline-row p strong{font-size:12px}

/* PHP 3.5 – klickbare Kalendertage und geschützte Anhang-Vorschau */
.cal-date-add{display:flex;justify-content:space-between;align-items:center;width:100%;padding:2px 3px;border:0;background:transparent;color:#334252;font-size:12px;font-weight:800;cursor:pointer;text-align:left;border-radius:5px}
.cal-date-add span{opacity:0;color:#b71929;font-size:14px}
.cal-date-add:hover,.cal-date-add:focus-visible{background:#fff1f2;color:#b71929;outline:2px solid #dba0a6}
.cal-date-add:hover span,.cal-date-add:focus-visible span{opacity:1}
.cal-date-add:disabled{cursor:default;opacity:.8}
.cal-date-add:disabled:hover{background:transparent;color:#334252;outline:0}
.file-preview-thumb{padding:0;border:0;background:transparent;border-radius:8px;width:100%;cursor:zoom-in}
.file-preview-thumb:focus-visible{outline:3px solid #b71929}
.ticket-preview-button{font-size:11px;padding:9px 11px;min-height:37px}
.mail-attachment-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #eaedf0;padding:7px 0}
.mail-attachment-row .attachment-choice{flex:1;min-width:0;overflow-wrap:anywhere}
.attachment-preview-overlay{position:fixed;inset:0;z-index:250;background:rgba(16,24,32,.82);display:grid;place-items:center;padding:18px}
.attachment-preview-card{display:flex;flex-direction:column;width:min(1060px,98vw);height:min(92dvh,940px);background:white;border-radius:15px;overflow:hidden;box-shadow:0 20px 85px rgba(0,0,0,.35)}
.attachment-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 22px;border-bottom:1px solid #dde1e7}
.attachment-preview-heading small{display:block;color:#b71929;font-weight:800;letter-spacing:1.2px;font-size:10px;margin-bottom:4px}
.attachment-preview-heading strong{display:block;overflow-wrap:anywhere;font-size:14px}
.attachment-preview-close{background:#f0f2f4;border:0;border-radius:8px;width:38px;height:38px;flex-shrink:0;font-size:26px}
.attachment-preview-content{min-height:0;flex:1;display:grid;place-items:center;overflow:auto;background:#eef1f5}
.attachment-preview-image{max-width:100%;max-height:100%;object-fit:contain}
.attachment-preview-pdf{border:0;width:100%;height:100%;background:white}
.attachment-preview-text{width:100%;height:100%;overflow:auto;margin:0;background:#fff;padding:20px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
.attachment-preview-fallback{max-width:560px;padding:30px;line-height:1.7;text-align:center;color:#59616d}
.attachment-preview-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid #dde1e7}
@media(max-width:550px){.ticket-document-row .ticket-preview-button{margin-left:58px}.ticket-document-download{margin-left:0}.cal-date-add{padding:0;font-size:11px}.cal-date-add span{font-size:10px}}

.cal-day-action{cursor:pointer}.cal-day-action:hover{background:#fff9fa;border-color:#dbb4b8}
.photo-box .file-preview-thumb{display:block;width:100%;height:100%;overflow:hidden}
.photo-box .file-preview-thumb img{display:block;width:100%;height:100%;object-fit:cover}

/* WD PHP 3.7 · mobile documents, compact admin groups and searchable lists */
.upload-actions-triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.upload-actions-triple .upload-option{min-width:0;min-height:110px;padding:13px 8px;overflow-wrap:anywhere}
.pending-attachments{margin-top:14px}.attachment-picker-list{display:grid;gap:8px;margin-top:8px}
.attachment-picker-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e3e7ed;border-radius:10px;background:#f9fafc;min-width:0}
.attachment-label{display:flex;align-items:center;gap:9px;min-width:0;overflow-wrap:anywhere}.attachment-label span{min-width:0}.attachment-label small{color:#667085}
.manage-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px}.manage-tab{border:1px solid #dfe5ed;background:white;padding:12px 18px;border-radius:12px;color:#28313c;font-weight:750;cursor:pointer}
.manage-tab.active{background:#bb202b;color:white;border-color:#bb202b}.manage-tab:focus-visible{outline:3px solid #c64a52;outline-offset:2px}
.manage-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px}.manage-panel{min-width:0}.manage-panel.hidden-management{display:none!important}
.manage-search-label{display:block;margin:18px 0 12px;font-weight:750}.manage-search-label input{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid #d4dae5;border-radius:10px;font-size:15px}
.manage-entry{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;margin-bottom:9px;border:1px solid #e5e8ee;border-radius:12px;background:#fbfcfe}
.manage-entry .manage-entry-main,.manage-entry>div:not(.entry-actions){min-width:220px;flex:1 1 320px}
.manage-entry b{display:block}.manage-entry small{display:block;margin-top:4px;line-height:1.5}.manage-entry .btn{font-size:12px;padding:9px 12px;white-space:normal}
.manage-entry .entry-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-start}
.dashboard-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:13px}
@media(max-width:950px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){.upload-actions-triple{grid-template-columns:repeat(3,minmax(0,1fr))}.upload-actions-triple .upload-option{font-size:12px;padding:10px 4px}.upload-actions-triple .upload-option b{font-size:12px}.upload-actions-triple .upload-option small{font-size:10px}.manage-entry{align-items:flex-start}.manage-entry .btn{flex:1 1 auto}.manage-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.manage-tab{padding:11px 8px;font-size:13px}}


/* WOHLGEMUTH Cockpit 1.0.0: offizielle Produktkennzeichnung und Kontakt */
.sidebar-version{margin-top:13px;color:#7c858f;letter-spacing:0;font-size:10px;line-height:1.5}
.sidebar-version b{color:#a3202a;font-weight:800;white-space:nowrap}
.sidebar-credit{text-align:center;color:#76818d;font-size:10px;line-height:1.55;overflow-wrap:anywhere;padding:5px 3px 0}
.sidebar-credit strong{color:#48515b;font-weight:750}.sidebar-credit span{display:block}
.sidebar-credit a{display:block;color:#a41f28;font-weight:650;text-decoration:none;margin-top:3px;overflow-wrap:anywhere}
.sidebar-credit a:hover,.wd-login-credit a:hover,.wd-app-about-card a:hover{text-decoration:underline}
.wd-login-credit{display:grid;justify-items:center;gap:4px;margin-top:11px;color:#808b97;font-size:11px;line-height:1.45;text-align:center}
.wd-login-credit strong{color:#4b5562}.wd-login-credit a{color:#aa202b;text-decoration:none;font-weight:650;overflow-wrap:anywhere}
.wd-app-about{position:relative;flex:0 0 auto;font-family:inherit;z-index:80}
.wd-app-about summary{list-style:none;display:grid;place-items:center;cursor:pointer;width:28px;height:28px;border-radius:50%;border:1px solid #dce2e9;color:#a71e28;background:#fff;font-weight:800;font-size:13px;line-height:1}
.wd-app-about summary::-webkit-details-marker{display:none}
.wd-app-about summary:focus-visible{outline:2px solid #b71929;outline-offset:3px}
.wd-app-about[open] summary{background:#fbedee;border-color:#dba2a8}
.wd-app-about-card{position:absolute;right:0;top:calc(100% + 12px);width:min(298px,calc(100vw - 28px));background:#fff;border:1px solid #e2e6ec;border-radius:12px;padding:16px;box-shadow:0 15px 44px #121b2930;display:flex;flex-direction:column;gap:7px;white-space:normal;color:#444e5c;font-size:12px;line-height:1.4}
.wd-app-about-card strong{font-size:15px;color:#202b37}.wd-app-about-card>span{color:#74818f}
.wd-app-about-card p{margin:2px 0 6px;font-size:12px;color:#596473}
.wd-app-about-card a{color:#ae202b;font-weight:750;overflow-wrap:anywhere;text-decoration:none}
@media(max-width:730px){.wd-app-about{display:block}.wd-app-about summary{height:31px;width:31px}.wd-app-about-card{right:-2px;top:calc(100% + 10px)}}

/* Ticketlisten-Export: Suchfeld, Status und Excel-Button bleiben gut bedienbar. */
#page-history .filter-controls #reportsExportExcel{flex:0 0 auto;min-height:43px}
@media(max-width:730px){#page-history .filter-controls #reportsExportExcel{width:100%}}

/* BVK Reparaturantraege - separates, auf zwei Objekte begrenztes Modul. */
#bvkNav{text-decoration:none}

@media(max-width:730px){
 .bottom-nav a{flex:1;border:0;background:#fff;color:#8f97a0;text-decoration:none;font-size:10px;font-weight:700;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;min-width:0}
 .bottom-nav a span{font-size:23px}
 .bottom-nav a:focus-visible{outline:2px solid #b5222a;outline-offset:-2px}
}

/* Per-object activity switches */
.wd-object-feature{display:flex!important;align-items:center;gap:14px!important;padding:13px;border:1px solid #e0e6ed;border-radius:11px;background:#fafbfd}
.wd-object-feature>input{width:20px!important;height:20px!important;flex:0 0 20px;accent-color:#b5222a}
.wd-object-feature>span{display:flex;flex-direction:column;gap:4px}.wd-object-feature small{font-size:12px;color:#687586}
