:root{--bg:#f4f6f8;--card:#fff;--ink:#0b1320;--muted:#4a5568;--line:#c3ccd6;--navy:#0b2545;--primary:#0d47a1;--ok:#1b7f2a;--ok-soft:#dff3e2;--danger:#c62828;--warn:#f2b100;--warn-soft:#fff4cc;--err-soft:#fde2e2;--tap:64px;--radius:14px;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;font-size:20px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,input,textarea,a,label,.viewfinder{touch-action:manipulation}h1{margin:0;font-size:30px;line-height:1.15}h2{margin:8px 0;font-size:23px}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:16px}.spacer{flex:1}.warn-text{color:var(--danger);margin-top:8px;font-weight:700}.ok-text{color:var(--ok);margin:8px 0;font-weight:700}.app{height:100%;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex}.content{-webkit-overflow-scrolling:touch;flex:1;padding:14px 18px 24px;overflow-y:auto}.splash{background:#fff;place-items:center;height:100%;display:grid}.btn{min-height:var(--tap);min-width:var(--tap);border-radius:var(--radius);border:3px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 20px;font-size:22px;font-weight:700;line-height:1.15}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4}.btn-big{min-height:80px;padding:12px 28px;font-size:26px}.btn-wide{width:100%}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn-ok-soft{background:var(--ok-soft);border-color:var(--ok)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-warn{background:var(--warn-soft);border-color:var(--warn)}.btn-active{background:var(--navy);border-color:var(--navy);color:#fff}.btn-ghost{color:var(--primary);background:0 0;border-color:#0000}.topbar{background:var(--navy);color:#fff;align-items:center;gap:12px;min-height:76px;padding:6px 14px;display:flex}.brand{color:#fff;min-height:var(--tap);background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.brand-icon{border-radius:12px;width:52px;height:52px;display:block}.brand-hybrid{width:min(520px,80vw);height:auto;display:block}.brand-hybrid-small{width:min(360px,60vw)}.splash .brand-hybrid{width:min(560px,70vw)}.install-icon-img{object-fit:contain;border:0;padding:0}.brand-text{font-size:22px;font-weight:800}.who{align-items:center;gap:12px;display:flex}.who-name{font-size:24px;font-weight:800}.topbar .btn-plain{min-height:60px}.gear{color:#fff;font-size:34px}.statusbar{padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:2px solid var(--line);background:#e6ebf0;min-height:52px;font-size:19px;font-weight:700}.statusbar-open{background:var(--warn-soft)}.statusbar-stale{background:var(--danger);color:#fff}.update-banner{width:100%;min-height:var(--tap);border-radius:var(--radius);background:var(--warn);border:0;margin-bottom:12px;font-size:22px;font-weight:800;display:block}.flash{z-index:100;pointer-events:none;place-items:center;animation:.38s ease-out forwards flash;display:grid;position:fixed;inset:0}.flash-ok{background:#1b7f2a8c}.flash-error{background:#c6282899}.flash:has(.flash-text){animation-duration:1.1s}.flash-text{color:var(--ink);text-align:center;background:#fff;border-radius:18px;max-width:80%;padding:22px 32px;font-size:30px;font-weight:800}@keyframes flash{0%{opacity:1}70%{opacity:.9}to{opacity:0}}.home{flex-direction:column;gap:14px;min-height:100%;display:flex}.scanner{flex-direction:column;flex:1;gap:14px;display:flex}.viewfinder{background:#111;border-radius:20px;flex:1;min-height:52vh;position:relative;overflow:hidden}.scanner-compact .viewfinder{flex:none;height:38vh;min-height:34vh}.viewfinder video{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.viewfinder-idle{color:#fff;text-align:center;align-content:center;place-items:center;gap:14px;padding:20px;display:grid;position:absolute;inset:0}.aim{border:5px solid #ffc400e6;border-radius:18px;position:absolute;inset:22% 18%;box-shadow:0 0 0 4000px #00000040}.viewfinder-hint{color:#fff;text-align:center;background:#0009;padding:14px;font-size:24px;font-weight:700;position:absolute;bottom:0;left:0;right:0}.login-hint{color:#ffc400;font-size:30px}.torch{position:absolute;top:14px;right:14px}.home-links{flex-wrap:wrap;gap:12px;display:flex}.screen-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.screen-title{flex:1;min-width:200px}.screen-kind{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:18px;font-weight:700}.back{padding-left:4px;font-size:24px}.section{background:var(--card);border:2px solid var(--line);border-radius:18px;margin:14px 0;padding:14px 16px}.section-head{justify-content:space-between;align-items:center;display:flex}.facts{flex-wrap:wrap;align-items:center;gap:8px 22px;margin-bottom:8px;font-size:21px;display:flex}.crumbs{color:var(--muted);margin-bottom:10px;font-size:20px;font-weight:700}.row-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.big-actions,.state-buttons,.bind-grid,.type-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:10px 0;display:grid}.bind-grid .btn,.type-grid .btn{min-height:96px}.hint-box{background:var(--warn-soft);border:3px solid var(--warn);border-radius:16px;margin-bottom:12px;padding:16px;font-size:22px;font-weight:700}.kv{grid-template-columns:max-content 1fr;gap:10px 20px;margin:0 0 12px;display:grid}.kv dt{font-weight:800}.kv dd{margin:0}.picklist .search,.code-input,.note-input{width:100%;min-height:var(--tap);border-radius:var(--radius);border:3px solid var(--line);color:var(--ink);background:#fff;margin-bottom:12px;padding:10px 16px;font-size:26px}.code-input{letter-spacing:.04em;font-family:ui-monospace,Menlo,monospace}.serial-input{flex:1;min-width:260px;margin:0}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.pick{text-align:left}.chip{border:3px solid var(--line);min-width:56px;min-height:56px;color:var(--ink);background:#fff;border-radius:28px;padding:6px 14px;font-size:21px;font-weight:700}.chip-on{background:var(--navy);color:#fff;border-color:var(--navy)}.chip-done{border-color:var(--ok)}.picked{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.step{border-top:2px solid var(--line);padding:14px 0}.step:first-of-type{border-top:0}.step-text{margin-bottom:10px}.step-main{font-size:24px;font-weight:700}.step-pos{color:var(--muted);margin-right:6px;font-weight:600}.step-orig{color:var(--muted);margin-top:4px;font-size:17px}.mt-hint{font-style:italic}.step-elem{color:var(--muted);font-size:16px}.step-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.step-measure{flex-direction:column;gap:10px;margin:8px 0 12px;display:flex}.counter{align-items:center;gap:10px;display:flex}.counter .btn{width:72px;font-size:32px}.count{text-align:center;min-width:64px;font-size:32px;font-weight:800}.refs{align-items:center;gap:8px;margin-bottom:6px;padding-bottom:8px;display:flex;overflow-x:auto}.refs-label{color:var(--muted);font-weight:800}.step.closed{align-items:center;gap:14px;padding:8px 0;display:flex}.step.closed .step-text{flex:1;margin:0}.step.closed .step-main{color:var(--muted);font-size:20px;font-weight:600}.closed-mark{color:var(--ok);text-align:center;width:36px;font-size:30px}.done-toggle{color:var(--ok)}.big-muted{text-align:center;padding:30px;font-size:24px}.photo-btn{align-items:center;gap:10px;display:flex}.thumb{object-fit:cover;border:2px solid var(--line);background:#eee;border-radius:10px;place-items:center;width:72px;height:72px;display:inline-grid}.fields{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:10px;display:grid}.field{border:3px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.field-label{font-size:19px;font-weight:700}.field-input{align-items:center;gap:10px;display:flex}.field-input input{border:3px solid var(--line);min-width:0;min-height:70px;color:var(--ink);background:#fff;border-radius:12px;flex:1;padding:6px 14px;font-size:32px;font-weight:700}.unit{color:var(--muted);min-width:56px;font-size:24px;font-weight:800}.toggle{gap:10px;display:flex}.toggle .btn{flex:1}.field-error{border-color:var(--danger);background:var(--err-soft)}.field-error input{border-color:var(--danger)}.field-warn{border-color:var(--warn);background:var(--warn-soft)}.field-warn input{border-color:var(--warn)}.field-msg{font-size:17px;font-weight:800}.field-error .field-msg{color:var(--danger)}.hist{border-top:2px solid var(--line);align-items:center;gap:14px;padding:10px 0;display:flex}.hist-error{border-left:8px solid var(--danger);padding-left:10px}.hist-warn{border-left:8px solid var(--warn);padding-left:10px}.hist-time{min-width:150px;font-weight:800}.hist-values{flex-wrap:wrap;flex:1;gap:6px 16px;display:flex}.hv-error{color:var(--danger);font-weight:800}.hv-warn{color:#8a6500;font-weight:800}.modal{z-index:50;background:#00000080;justify-content:center;align-items:stretch;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg);border-radius:20px;flex-direction:column;width:100%;max-width:1100px;display:flex;overflow:hidden}.modal-head{background:var(--card);border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.modal-body{flex:1;padding:16px;overflow-y:auto}.setup{text-align:center;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:900px;margin:0 auto;padding:40px 24px;display:flex}.setup .scanner{width:100%}.setup-body{max-width:700px;font-size:24px}.install-steps{align-items:center;gap:18px;font-size:54px;display:flex}.install-icon{border:4px solid var(--navy);border-radius:20px;place-items:center;width:96px;height:96px;font-size:44px;font-weight:900;display:inline-grid}.install-arrow{color:var(--muted)}@media (orientation:portrait){.viewfinder{min-height:58vh}}.notice{background:var(--warn-soft);border-bottom:1px solid;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-weight:600;display:flex}.statusbar-rejected{color:#b00020;font-weight:700}.hist-rejected{outline-offset:-2px;outline:2px dashed #b00020}.badge-rejected{color:#fff;background:#b00020;border-radius:4px;margin-left:6px;padding:0 6px;font-size:.8em;display:inline-block}.char-count{text-align:right;opacity:.7;font-size:.85em;display:block}.char-count-over{color:#b00020;opacity:1;font-weight:700}.shell{height:100%;position:relative}.shell-split{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,42fr) minmax(0,58fr);display:grid;overflow:hidden}.shell-split>.app{border-right:3px solid var(--line);min-width:0}.shell-split .brand-text,.shell-split .who-name{display:none}.scan-btn{white-space:nowrap;border-color:#fff;min-height:60px;padding:6px 14px;font-size:20px}.work-btn{min-height:60px;padding:6px 14px}.work-side{min-width:0;height:100%;padding-top:env(safe-area-inset-top);background:var(--bg);overflow:hidden}.work{flex-direction:column;height:100%;min-height:0;display:flex}.work-overlay{z-index:40;background:var(--bg);padding-top:env(safe-area-inset-top);position:fixed;inset:0}.work-tabs{background:var(--navy);align-items:center;gap:10px;min-height:76px;padding:6px 12px;display:flex}.work-tabs .back{color:#fff}.work-tab{flex:1;max-width:320px;min-height:60px}.work-tab.btn-plain{color:#fff;background:#1d3a63;border-color:#1d3a63}.work-tab.btn-active{color:var(--navy);background:#ffc400;border-color:#ffc400}.work-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.langflag{position:relative}.langflag-corner{top:calc(10px + env(safe-area-inset-top));z-index:30;position:absolute;right:12px}.langflag-btn{flex-direction:column;justify-content:center;align-items:center;gap:0;min-width:64px;min-height:60px;padding:4px 10px;line-height:1;display:inline-flex}.flag{font-size:30px;line-height:1}.flag-code{letter-spacing:.05em;font-size:14px;font-weight:800}.langflag-backdrop{z-index:60;position:fixed;inset:0}.langflag-pop{z-index:61;background:var(--card);border:3px solid var(--navy);min-width:280px;color:var(--ink);border-radius:18px;gap:10px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px #0000004d}.langflag-title{color:var(--muted);font-weight:800}.langflag-opt{text-align:left;align-items:center;gap:14px;min-height:72px;display:flex}.langflag-opt .flag{font-size:36px}.langflag-opt .flag-code{margin-left:auto}.gps-pill{border:2px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:20px;margin-left:10px;padding:2px 12px;font-size:17px;font-weight:800}.gps-ok{border-color:var(--ok);color:var(--ok)}.gps-weak{border-color:var(--warn);background:var(--warn-soft)}.gps-denied{border-color:var(--danger);color:var(--danger)}.gps-off{color:var(--muted)}.gps-prompt h2{margin-top:0}.gps-prompt p{margin:6px 0;font-weight:500}.position-fact{margin:4px 0 8px}.measure-in{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.measure-in-item{flex-direction:column;gap:6px;display:flex}.plan{-webkit-overflow-scrolling:touch;flex:1;padding:12px 14px 24px;overflow-y:auto}.seg{gap:10px;margin-bottom:10px;display:flex}.seg-btn{flex:1}.chips-strip{-webkit-overflow-scrolling:touch;align-items:center;gap:8px;padding:4px 0 10px;display:flex;overflow-x:auto}.chips-strip .chip{flex:none;min-height:64px}.chips-wrap{flex-wrap:wrap;overflow-x:visible}.inv-card{background:var(--card);border:2px solid var(--line);border-radius:18px;margin:12px 0;padding:10px 12px}.inv-card-hl{border:4px solid var(--primary)}.inv-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inv-title{text-align:left;border-color:#0000;flex:1;padding-left:4px}.count-pill{background:#e6ebf0;border-radius:16px;padding:6px 12px;font-weight:800}.count-pill-done{background:var(--ok-soft);color:var(--ok)}.plan-empty{padding:12px 4px}.mpp-row{border-top:2px solid #e6ebf0;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.mpp-label{min-width:74px;color:var(--muted);padding-top:20px;font-weight:800}.tiles{flex-wrap:wrap;flex:1;gap:8px;display:flex}.tile{border:3px solid var(--line);width:92px;min-height:76px;color:var(--ink);background:#eef1f4;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;font-weight:800;display:flex;position:relative}.tile-icon{font-size:16px;position:absolute;top:3px;left:7px}.tile-num{font-size:24px}.tile-marks{align-items:center;gap:4px;min-height:16px;font-size:13px;display:flex}.tile-ok{background:var(--ok-soft);border-color:var(--ok)}.tile-warn{background:var(--warn-soft);border-color:var(--warn)}.tile-error{background:var(--err-soft);border-color:var(--danger);color:var(--danger)}.tile-missing{color:var(--muted);background:#eef1f4;border-color:#9aa5b1}.tile-hl{outline:4px solid var(--primary);outline-offset:2px}.tile-add{color:var(--primary);background:#fff;border-style:dashed;font-size:34px}.mark{border-radius:8px;padding:1px 6px;font-size:13px;font-weight:800}.mark-field{background:var(--navy);color:#fff}.mark-dup{background:var(--danger);color:#fff}.steppers{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.stepper{background:var(--card);border:2px solid var(--line);border-radius:14px;padding:10px}.stepper-label{margin-bottom:6px;font-weight:800}.stepper-row{align-items:center;gap:10px;display:flex}.stepper-row .btn{width:72px;font-size:32px}.stepper-value{text-align:center;flex:1;font-size:30px;font-weight:800}.add-id{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;display:flex}.add-id-text{width:auto;margin:0}.map{flex-direction:column;flex:1;min-height:0;display:flex}.map-box{background:#dfe6d8;flex:1;min-height:240px;position:relative;overflow:hidden}.map-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.map-outline{fill:none;stroke:var(--navy);stroke-width:2px;stroke-dasharray:8 6}.map-row-body{stroke:#4a5568;stroke-width:1.5px}.map-row-measured .map-row-body{stroke-dasharray:6 4;stroke:var(--navy);stroke-width:2px}.map-hit-stroke{fill:#0000;stroke:#0000;stroke-width:28px}.map-hit{fill:#0000}.map-hl .map-row-body,.map-hl .map-pin,.map-hl .map-dev-mark{stroke:var(--primary);stroke-width:5px}.map-label{fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-weight:700}.map-pin{fill:#ffc400;stroke:var(--navy);stroke-width:3px}.map-pin-count{fill:var(--navy);pointer-events:none;font-weight:900}.map-acc-loc{fill:#ffc40026;stroke:#0b254566;stroke-width:1px;pointer-events:none}.map-me-acc{fill:#0d47a126;stroke:#0d47a180;stroke-width:1.5px;pointer-events:none}.map-me-dot{fill:#1e88e5;stroke:#fff;stroke-width:3px;pointer-events:none}.map-tools{flex-direction:column;gap:8px;display:flex;position:absolute;top:10px;right:10px}.map-tools .btn{width:64px;padding:0;font-size:28px;box-shadow:0 2px 8px #0003}.map-placing{background:var(--warn-soft);border:3px solid var(--warn);border-radius:14px;align-items:center;gap:10px;padding:8px 12px;font-weight:800;display:flex;position:absolute;top:10px;left:10px;right:84px}.map-placing span{flex:1}.map-attr{pointer-events:none;background:#fffc;border-radius:6px;padding:1px 6px;font-size:12px;position:absolute;bottom:4px;right:6px}.map-empty{pointer-events:none;place-items:center;font-size:22px;display:grid;position:absolute;inset:0}.map-bar{background:var(--card);border-top:2px solid var(--line);flex-wrap:wrap;gap:10px;padding:8px 12px;display:flex}.map-layers{background:var(--card);border-top:2px solid var(--line);padding:8px 12px}.legend{flex-wrap:wrap;align-items:center;gap:6px;font-size:16px;display:inline-flex}.lg{border:1.5px solid #4a5568;border-radius:3px;width:22px;height:12px;display:inline-block}.lg-measured{border-style:dashed;border-color:var(--navy)}.map-unplaced{background:var(--card);border-top:2px solid var(--line);max-height:40%;padding:6px 12px;overflow-y:auto}.unplaced-item{border-top:1px solid #e6ebf0;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.unplaced-name{text-align:left;color:var(--ink);flex:1}.topbar .scan-btn,.topbar .work-btn,.topbar .langflag,.topbar .gear{flex-shrink:0}.work-btn{white-space:nowrap;font-size:20px}@media (max-width:1100px){.brand-text{display:none}.who-name{white-space:nowrap;font-size:20px}}.shell-split .topbar .btn{padding-left:10px;padding-right:10px}.shell-split .topbar .gear{min-width:52px}.shell-split .map-btn-text{display:none}.map-btn{white-space:nowrap;flex-shrink:0;min-height:60px;font-size:20px}.content-map{flex-direction:column;padding:0;display:flex;overflow:hidden}.map-screen{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.map-head{background:var(--card);border-bottom:2px solid var(--line);align-items:center;gap:10px;padding:4px 12px;display:flex}.map-stand{flex:1;font-size:18px}.map-searchbar{align-items:flex-start;gap:10px;padding:8px 12px 0;display:flex}.map-search{flex:1;position:relative}.map-search-input{margin:0}.map-hits{z-index:20;background:var(--card);border:3px solid var(--navy);border-radius:14px;gap:6px;max-height:50vh;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #00000040}.map-hit-btn{text-align:left}.map-hit-none{padding:12px}.map-chips{padding:8px 12px 4px}.chip-sep{background:var(--line);flex:none;align-self:stretch;width:2px;margin:0 4px}.chip-phase{min-width:64px}.map-main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.map-main .map-box{flex:1}.map-notice{background:var(--warn-soft);border:2px solid var(--warn);pointer-events:none;border-radius:10px;max-width:70%;padding:6px 10px;font-size:16px;font-weight:700;position:absolute;bottom:10px;left:10px}.info-card{background:var(--card);border:3px solid var(--navy);z-index:10;border-radius:18px;max-height:55%;padding:10px 14px 12px;position:absolute;bottom:10px;left:10px;right:84px;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.info-head{align-items:flex-start;gap:10px;display:flex}.info-title{flex:1}.info-title h2{margin:2px 0 4px}.info-lines{gap:4px;font-size:19px;display:grid}.card-things{flex-wrap:wrap;gap:6px;display:flex}.card-things .chip{min-height:40px;font-size:16px}.chip-defekt{border-color:var(--danger);color:var(--danger)}.warn-soft-text{color:#8a6500;font-weight:800}.row-plain .map-row-body,.row-step-0 .map-row-body{fill:#9aa5b1}.row-step-1 .map-row-body{fill:#f6d878}.row-step-2 .map-row-body{fill:var(--warn)}.row-step-3 .map-row-body{fill:#8bc34a}.row-step-4 .map-row-body{fill:var(--ok)}.row-na .map-row-body{fill:#d5dbe1;opacity:.6}.map-plant-label{fill:var(--navy);font-weight:900}.map-dev-mark{fill:#fff;stroke:var(--navy);stroke-width:2px}.wr-verbaut .map-dev-mark{fill:#1e88e5}.wr-in_betrieb .map-dev-mark{fill:var(--ok)}.wr-ausgebaut .map-dev-mark{fill:#6b7280}.wr-defekt .map-dev-mark{fill:var(--danger)}.ring-error .map-dev-mark{stroke:var(--danger);stroke-width:5px}.ring-warn .map-dev-mark{stroke:var(--warn);stroke-width:5px}.ring-ok .map-dev-mark{stroke:var(--ok);stroke-width:4px}.uv-open .map-dev-mark{fill:#fff;stroke:var(--navy);stroke-width:3px}.uv-ok .map-dev-mark{fill:var(--ok)}.uv-warn .map-dev-mark{fill:var(--warn)}.uv-error .map-dev-mark{fill:var(--danger)}.map-pin-defekt{fill:var(--danger);stroke:#fff;stroke-width:2px}.map-hl .map-dev-mark,.map-hl .map-pin{stroke:#ff00a8;stroke-width:6px}.map-hl .map-row-body{stroke:#ff00a8;stroke-width:5px}.legend-sheet p{flex-wrap:wrap;align-items:center;gap:8px;font-size:19px;display:flex}.lg-s0{background:#9aa5b1}.lg-s1{background:#f6d878}.lg-s2{background:var(--warn)}.lg-s3{background:#8bc34a}.lg-s4{background:var(--ok)}.lgdot,.lgsq{border:2px solid var(--navy);background:#fff;border-radius:50%;width:20px;height:20px;display:inline-block}.lgsq{border-radius:4px}.lgdot.wr-verbaut{background:#1e88e5}.lgdot.wr-in_betrieb{background:var(--ok)}.lgdot.wr-ausgebaut{background:#6b7280}.lgdot.wr-defekt{background:var(--danger)}.lgsq.uv-ok{background:var(--ok)}.lgsq.uv-error{background:var(--danger)}.lg-pin{background:#ffc400}.lg-me{background:#1e88e5;border-color:#fff;box-shadow:0 0 0 2px #1e88e5}@media (max-width:900px){.info-card{bottom:10px;right:10px}}.sensors-on{border-color:var(--ok);color:var(--ok)}.sensors-denied{border-color:var(--danger);color:var(--danger)}.sensors-off{color:var(--muted)}.capture-kv{max-height:360px;font-size:16px;display:block;overflow-y:auto}.capture-kv .kv-row{border-bottom:1px solid #e6ebf0;grid-template-columns:220px 1fr;gap:10px;padding:2px 0;display:grid}.capture-kv dd{word-break:break-all}.info-card{flex-direction:column;max-height:62%;display:flex;overflow:hidden}.info-card .info-lines{flex:1;min-height:0;overflow-y:auto}.info-card .row-actions{flex:none;margin-top:8px}.shell-split .topbar{gap:6px;padding:6px 8px}.shell-split .brand-icon{width:46px;height:46px}.shell-split .topbar .btn{min-width:56px;padding-left:8px;padding-right:8px;font-size:19px}.shell-split .topbar .gear{min-width:44px;font-size:30px}.shell-split .langflag-btn{min-width:56px}.work-3d{flex:1;min-height:0;display:flex;position:relative}.p3d-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.work-3d .p3d{font-size:17px}
