:root{font-family:Arial,Helvetica,sans-serif;color:#20242b;background:#f3f4f6;font-synthesis:none;--red:#d70019;--line:#dce0e5}*{box-sizing:border-box}body{margin:0}header{padding:20px 4vw;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px;min-height:100px}header img{width:148px;height:62px;object-fit:contain}header a{display:flex}.brand-title{font-size:20px;font-weight:700}small{display:block;font-size:12px;letter-spacing:1.5px;margin-top:8px;color:#69717e}.badge{font-size:14px;background:#eef1f4;padding:10px 14px;border-radius:30px;margin-left:auto}.ready{background:#e5f3ec;color:#205a40}main{max-width:1180px;margin:0 auto;padding:48px 32px 80px}.eyebrow{font-size:13px;font-weight:bold;letter-spacing:2px;color:var(--red);margin-bottom:18px}h1{font-size:42px;letter-spacing:-1.5px;line-height:1.1;margin:0 0 18px}h2{font-size:22px;margin:0 0 20px}h3{font-size:18px;margin:0 0 12px}p{color:#606875;line-height:1.6}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:28px;margin-top:28px}.primary,button{font:inherit;font-weight:600;cursor:pointer;border:1px solid var(--line);background:white;color:#20242b;border-radius:9px;min-height:48px;padding:13px 20px;touch-action:manipulation}.primary{background:var(--red);color:white;border-color:var(--red)}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #226de0;outline-offset:3px}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:20px 0}.muted{color:#68717e;font-size:14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:9px;font-size:15px;font-weight:600}.full{grid-column:1/-1}input,textarea,select{width:100%;font:inherit;font-weight:400;color:#20242b;background:#fff;padding:14px;border:1px solid #c8cdd4;border-radius:8px;min-height:48px}textarea{resize:vertical;min-height:110px}input:focus,textarea:focus,select:focus{outline:2px solid #226de0;outline-offset:1px}.tabs{display:flex;gap:8px;margin:28px 0 4px;border-bottom:1px solid var(--line);padding-bottom:12px;flex-wrap:wrap}.tabs button{background:transparent;border-color:transparent}.tabs .active{background:#20242b;color:white}.topline{display:flex;align-items:center;gap:16px;justify-content:space-between}.topline h1{font-size:32px;margin:8px 0}.record{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line)}.record p{margin:6px 0}.record button{text-align:left}.check{display:grid;grid-template-columns:minmax(200px,1fr) 330px;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}.choices{display:flex;gap:6px}.choices button{flex:1;padding:10px;font-size:14px}.choices .selected{background:#20242b;color:white}.choices .bad.selected{background:#b80720}.check-title{line-height:1.45}.number{font-size:13px;color:var(--red);font-weight:bold;display:block;margin-bottom:7px}.canvas-wrap{background:#fff;border:2px solid #b7bec8;border-radius:10px;overflow:hidden;position:relative}canvas{width:100%;height:360px;display:block;touch-action:none;background:repeating-linear-gradient(white,white 39px,#e9edf2 40px)}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.photo img{width:100%;height:180px;object-fit:cover;border-radius:8px}.photo p{margin:8px 0}.danger{color:#b80720}.save{font-size:14px;color:#526371}.empty{padding:25px 0}details{margin-top:30px;border-top:1px solid var(--line);padding-top:22px}summary{cursor:pointer;font-weight:600;min-height:44px}.install{max-width:760px}.install li{margin:12px 0;line-height:1.6}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#20242b;color:white;padding:14px 22px;border-radius:10px;display:none;max-width:90vw;z-index:10}.hero{display:grid;grid-template-columns:1fr 260px;align-items:center}.hero-side{border-left:3px solid var(--red);padding:6px 24px;line-height:1.8}.hero-side strong{display:block;font-size:28px}.report-preview{border-left:4px solid var(--red);padding:8px 22px;margin-bottom:28px}.error{background:#fff0f0;color:#a90019;padding:15px;border-radius:8px}.busy{opacity:.6;pointer-events:none}@media(max-width:760px){header{gap:12px;padding:14px 20px;flex-wrap:wrap}header img{width:112px;height:47px}.brand-title{font-size:16px}.brand-title small{font-size:10px}.badge{margin-left:0;font-size:12px;padding:8px 12px}main{padding:30px 18px 70px}h1{font-size:34px}.hero{grid-template-columns:1fr}.hero-side{display:none}.panel{padding:20px}.grid{grid-template-columns:1fr}.check{grid-template-columns:1fr;gap:12px}.photos{grid-template-columns:1fr 1fr}.topline{align-items:flex-start;flex-wrap:wrap}.record{flex-wrap:wrap}.tabs button{padding:12px 10px;font-size:14px}canvas{height:330px}}

.first-multi{display:grid;gap:12px}.first-multi label{display:flex;align-items:center;gap:14px;min-height:52px;border:1px solid var(--line);border-radius:8px;padding:12px;line-height:1.5}.first-multi input{width:24px;height:24px;min-height:24px;flex-shrink:0}.first-tabs button{font-size:14px}.choices{flex-wrap:wrap}#first-content .check{grid-template-columns:minmax(180px,1fr) minmax(300px,1fr)}@media(max-width:760px){#first-content .check{grid-template-columns:1fr}}

.helper-calculation{padding:22px;border:1px solid var(--line);border-radius:10px;margin:12px 0 28px}.helper-calculation select{width:100%;min-height:48px;font:inherit;padding:10px}.helper-calculation [hidden]{display:none}

.helper-risk{border:1px solid var(--line);border-radius:8px;padding:16px}.helper-risk label{display:flex;align-items:center;gap:12px;min-height:52px}.helper-risk input{width:24px;min-height:24px;height:24px}

.helper-demand{display:flex;flex-direction:column;align-items:center;padding:24px;margin:20px 0;background:#f3f5f8;border:2px solid #b7bec8;border-radius:12px;font-size:20px;font-weight:600}.helper-demand strong{font-size:64px;line-height:1.2;color:var(--red);margin:8px 0}.helper-difference{padding:18px;margin:16px 0;border-radius:8px;background:#f3f5f8;font-size:22px;font-weight:700}.helper-shortage{background:#fff0f0;color:#a90019}

.helper-area-card{border-top:3px solid #b7bec8;margin:28px 0;padding-top:20px}.helper-area-card h4{font-size:22px;margin:0 0 16px}.helper-area-card .helper-calculation{padding:16px}


#photo-editor{width:min(1100px,96vw);max-height:94dvh;overflow:auto;border:0;border-radius:14px;padding:24px;color:var(--ink)}#photo-editor::backdrop{background:rgba(0,0,0,.65)}#photo-editor [hidden]{display:none}#photo-editor select{font:inherit;min-height:44px}#photo-editor button[aria-pressed="true"]{background:#d70019;color:white}.photo-editor-stage{background:#e9edf2;display:flex;justify-content:center;padding:8px}#photo-mark-canvas{width:auto;height:auto;max-width:100%;max-height:55dvh;object-fit:contain;background:white;touch-action:none}#photo-editor .actions{flex-wrap:wrap}.photo button{margin:4px 4px 4px 0}@media(max-width:760px){#photo-editor{padding:14px}#photo-editor h2{font-size:24px}}

.photo-pdf-choice select{width:100%;min-height:48px;font:inherit;padding:8px}.photo-pdf-choice{margin:14px 0}

.ex-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:24px}.ex-result{background:#f3f5f7;border-left:5px solid #d70019;padding:20px;margin:12px 0;border-radius:8px}.ex-result span{display:block;color:#535b67}.ex-result strong{display:block;font-size:clamp(24px,3vw,36px);line-height:1.3;margin-top:8px;overflow-wrap:anywhere}.ex-stock{padding:20px 0;border-bottom:1px solid #dfe3e8}.ex-warning{background:#fff4dc;border-left:4px solid #cc8500;padding:16px}.tabs{flex-wrap:wrap}

.reference-card dt,details.panel dt{font-weight:700;margin-top:18px}.reference-card dd,details.panel dd{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.reference-card h2{line-height:1.35}.tabs button{white-space:normal;text-align:left}

/* Sicherheitskennzeichnung */
.signage-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}
.signage-sidebar,.signage-summary{position:sticky;top:10px;max-height:calc(100vh - 150px);overflow:auto;background:#f8f9fa;border:1px solid var(--line);border-radius:12px;padding:14px}
.signage-plan{min-width:0}
.sign-search input{min-height:44px}
.sign-categories{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 12px}
.sign-categories button{min-height:36px;padding:8px 10px;font-size:12px;border-radius:30px}
.sign-categories .selected{background:#20242b;color:#fff}
.sign-library{display:flex;flex-direction:column;gap:7px}
.sign-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:9px;align-items:center;min-height:62px;padding:7px;text-align:left}
.sign-card.selected{border:2px solid var(--red);box-shadow:0 0 0 2px rgba(215,0,25,.12)}
.sign-card>span:nth-child(2){min-width:0}.sign-card strong{display:block;font-size:12px}.sign-card small{font-size:11px;line-height:1.25;color:#626b76;margin-top:3px;letter-spacing:0}.sign-card>b{background:#eceff2;border-radius:20px;text-align:center;padding:5px;font-size:12px}
.sign-thumb,.sign-mini,.sign-report-thumb,.sign-marker-picture{display:flex;align-items:center;justify-content:center;background:#fff}
.sign-thumb{width:48px;height:48px}.sign-mini{width:30px;height:30px}.sign-report-thumb{width:70px;height:70px}.sign-marker-picture{width:34px;height:34px}
.sign-image{width:100%;height:100%;object-fit:contain;display:block}
.sign-image.small{width:28px;height:28px}
.sign-plan-stage{background:#d9dde2;border:1px solid #c7ccd2;border-radius:10px;min-height:520px;max-height:70vh;overflow:auto;padding:18px;display:flex;align-items:flex-start;justify-content:flex-start}
.sign-plan-loading{margin:auto;color:#66707c}
.sign-plan-wrap{position:relative;background:#fff;box-shadow:0 10px 30px rgba(20,30,40,.18);touch-action:none;flex:none}
.sign-pdf-canvas{width:100%;height:100%;display:block;background:white}
.sign-marker{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;min-height:0;padding:3px 5px 3px 3px;border:2px solid #fff;background:#fff;border-radius:7px;box-shadow:0 2px 8px rgba(0,0,0,.28);font-size:10px;touch-action:none;z-index:2}
.sign-marker.selected{outline:3px solid #006cff;outline-offset:2px}.sign-marker strong{white-space:nowrap}
.sign-pagebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.sign-pagebar span{font-size:14px;color:#59616c}
.sign-counts>div{display:grid;grid-template-columns:30px minmax(0,1fr) 26px;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}.sign-counts span:nth-child(2){min-width:0}.sign-counts strong{font-size:11px}.sign-counts small{font-size:10px;color:#68717e;margin-top:2px;letter-spacing:0}
.signage-report-list .record{align-items:center}.sign-list-main{display:flex;align-items:center;gap:16px}.sign-qty{font-size:20px;white-space:nowrap}
.sign-dialog{max-width:560px;width:min(90vw,560px);border:1px solid var(--line);border-radius:14px;padding:26px}.sign-dialog::backdrop{background:rgba(20,26,34,.5)}
.file-button{display:inline-flex;align-items:center;cursor:pointer}
@media(max-width:1100px){.signage-layout{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:760px){.signage-layout{grid-template-columns:1fr}.signage-sidebar{position:static;max-height:420px}.sign-plan-stage{min-height:420px;padding:8px}.sign-pagebar{flex-wrap:wrap}.sign-report-thumb{width:52px;height:52px}}

.signage-plan-full{width:100%;min-width:0}
.signage-toolbar,.signage-zoombar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.signage-zoombar{justify-content:flex-start;background:#f7f8fa;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.signage-zoombar button{min-width:48px}
.signage-zoombar .muted{margin-left:auto}
.sign-plan-stage{min-height:68vh;max-height:78vh}
.sign-plan-stage.viewing{touch-action:none;cursor:grab;overscroll-behavior:contain}
.sign-plan-stage.placing{touch-action:none;cursor:crosshair;outline:3px solid rgba(215,0,25,.18)}
.sign-picker-dialog{max-width:900px;width:min(94vw,900px);max-height:88vh;overflow:auto}
.sign-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.sign-picker-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;text-align:left;min-height:78px;padding:10px}
.sign-picker-card strong{display:block}.sign-picker-card small{display:block;margin-top:4px;line-height:1.3;color:#68717e;letter-spacing:0}
@media(max-width:900px){.sign-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sign-plan-stage{min-height:72vh;max-height:82vh}}
@media(max-width:620px){.sign-picker-grid{grid-template-columns:1fr}.signage-zoombar .muted{width:100%;margin-left:0}.sign-plan-stage{min-height:70vh}}

.protocol-image-dialog{width:min(1200px,96vw);max-height:94dvh;overflow:auto;border:0;border-radius:14px;padding:20px;color:var(--ink)}.protocol-image-dialog::backdrop{background:rgba(0,0,0,.65)}.protocol-image-stage{background:#e9edf2;padding:8px;border-radius:10px;overflow:auto}.protocol-image-stage canvas{width:100%;height:auto;max-height:68dvh;background:#fff;touch-action:none;border-radius:6px}@media(max-width:760px){.protocol-image-dialog{padding:12px}.protocol-image-stage canvas{max-height:62dvh}}

.escape-upload{margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:10px;background:#f7f8fa}
.escape-toolbox{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.escape-types{display:flex;gap:8px;flex-wrap:wrap}.escape-types button{display:flex;align-items:center;gap:7px}.escape-types button.selected{outline:2px solid #20242b}
.escape-type-dot,.escape-marker-number{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;border-radius:50%}
.escape-type-dot{width:24px;height:24px}.escape-marker-number{width:32px;height:32px;flex:none}
.escape-plan-marker{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;min-height:0;padding:0;border-radius:50%;border:3px solid #fff;color:#fff;font-weight:800;box-shadow:0 2px 9px rgba(0,0,0,.35);z-index:3;touch-action:none}
.escape-findings{margin-top:24px}.escape-finding{width:100%;display:flex;align-items:center;gap:12px;text-align:left;margin:8px 0;padding:10px 12px;background:#fff;border:1px solid var(--line)}.escape-finding.selected{outline:2px solid #1665a8}.escape-finding span:nth-child(2){min-width:0}.escape-finding strong,.escape-finding small{display:block}.escape-finding small{margin-top:4px;color:#68717e;white-space:normal}
.escape-marker-editor{margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:10px;background:#f7f8fa}
.escape-marker-editor select{width:100%;min-height:48px;font:inherit;padding:10px}
.escape-check-note{margin-top:10px;width:100%}
@media(max-width:760px){.escape-toolbox{align-items:stretch}.escape-types{width:100%}.escape-types button{flex:1 1 44%}.escape-plan-marker{width:34px;height:34px}}
