@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--marke-50: #eff3f9;--marke-500: #45679b;--marke-600: #33527f;--marke-700: #284368;--marke-800: #1d3557;--marke-900: #182b46;--kupfer: #d4793a;--kupfer-text: #b4602a;--kupfer-50: #fdf6f0;--bg: #f4f4f5;--panel: #fafafa;--paper: #ffffff;--ink: #18181b;--muted: #52525b;--line: #e4e4e7;--line-strong: #d4d4d8;--accent: var(--kupfer);--accent-ink: #ffffff;--focus: var(--marke-500);--sel: var(--marke-500);--ok: #15803d;--warn: #b45309;--bad: #b91c1c;--ok-bg: #f0fdf4;--warn-bg: #fffbeb;--bad-bg: #fef2f2;--k-regal: #e8743b;--k-regal-edge: #24476b;--k-block: #c9a46a;--k-we: #5fa98f;--k-wa: #4f86c6;--k-komm: #9b7fc7;--k-buero: #8f9ca6;--k-technik: #b9bfc4;--aisle: rgba(242, 194, 0, .22);--aisle-edge: #d9ad00;--column: #1d262e;--dock: #f2c200;--plan-dim: .45;--plan-filter: none;--f-display: "Geist Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--f-body: "Geist Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--f-mono: "Geist Mono Variable", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--r: 8px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 var(--f-body);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3{font-family:var(--f-display);font-weight:600;margin:0;text-wrap:balance;letter-spacing:-.01em;color:var(--marke-900)}.muted{color:var(--muted)}.small{font-size:13px}.eyebrow{font:600 11px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.shell{height:100%;display:grid;grid-template-rows:auto 1fr}.topbar{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.brand img{width:30px;height:30px;display:block}.wortmarke{font:700 18px/1 var(--f-display);letter-spacing:-.02em;color:var(--marke-900)}.wortmarke span{color:var(--kupfer)}.produkt{font:500 15px/1 var(--f-body);color:var(--muted);padding-left:10px;border-left:1px solid var(--line-strong)}.classes{display:flex;gap:4px;flex-wrap:wrap}.classes button{background:transparent;border:1px solid transparent;color:inherit;padding:6px 12px;border-radius:999px;cursor:pointer;opacity:.9;display:flex;gap:6px;align-items:baseline}.classes button.on{background:var(--marke-700);color:#fff;font-weight:600;opacity:1}.recht{margin-left:auto;display:flex;gap:14px;font-size:13px}.recht a{color:var(--muted)}.recht a:hover{color:var(--marke-800)}.app{min-height:0;display:grid;grid-template-columns:340px minmax(0,1fr) 300px}.panel{background:var(--panel);overflow:auto;min-height:0}.panel.left{border-right:1px solid var(--line)}.panel.right{border-left:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}.step{border:0;background:none;padding:12px 6px;cursor:pointer;display:flex;gap:8px;align-items:center;justify-content:center;font-weight:600;color:var(--muted);border-bottom:3px solid transparent}.step b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;font:600 12px/1 var(--f-mono)}.step.on{color:var(--marke-800);border-bottom-color:var(--kupfer)}.step.done b{background:var(--marke-800);color:#fff;border-color:var(--marke-800)}.step:disabled{opacity:.4;cursor:not-allowed}.sec{padding:16px;display:flex;flex-direction:column;gap:12px}.sec h2{font-size:19px;margin-top:6px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.lbl{font-size:13px;color:var(--muted)}.inp{display:flex;align-items:center;border:1px solid var(--line-strong);background:var(--paper);border-radius:var(--r)}.inp:focus-within{outline:2px solid var(--focus);outline-offset:1px}.inp input{border:0;background:transparent;padding:8px 10px;width:100%;min-width:0;font-family:var(--f-mono);font-variant-numeric:tabular-nums;outline:none}.inp em{font-style:normal;color:var(--muted);font-size:12px;padding-right:10px;white-space:nowrap}.field select{border:1px solid var(--line-strong);background:var(--paper);border-radius:var(--r);padding:8px 10px;width:100%}button{cursor:pointer}.sec button:not(.step),.canvas-tools button{border:1px solid var(--line-strong);background:var(--paper);border-radius:var(--r);padding:7px 12px}.sec button:hover:not(:disabled){border-color:var(--marke-500)}.sec button:disabled{opacity:.45;cursor:not-allowed}.sec button.primary{background:var(--marke-700);color:#fff;border-color:var(--marke-700);font-weight:600}.sec button.primary:hover:not(:disabled){background:var(--marke-600);border-color:var(--marke-600)}.sec button.wide{width:100%;padding:10px;margin-top:4px}.sec button.ghost{background:transparent}.sec button.danger{color:var(--bad)}kbd{font:11px var(--f-mono);border:1px solid var(--line-strong);border-radius:3px;padding:0 4px;margin-left:4px;color:var(--muted)}.seg{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden}.sec .seg button{border:0;border-radius:0;padding:8px 4px;font-size:13px;background:var(--paper)}.sec .seg button+button{border-left:1px solid var(--line-strong)}.sec .seg button.on{background:var(--marke-800);color:#fff;font-weight:600}.file{display:block;border:1.5px dashed var(--line-strong);border-radius:var(--r);padding:18px 12px;text-align:center;cursor:pointer;background:var(--paper)}.file:hover{border-color:var(--marke-500);background:var(--marke-50)}.file input{position:absolute;opacity:0;width:1px;height:1px}.file:focus-within{outline:2px solid var(--focus)}.upload{display:flex;flex-direction:column;gap:10px}.err{color:var(--bad);margin:0}.howto{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px}.howto li{color:var(--muted)}.howto li.on{color:var(--ink)}.howto li.done::marker{color:var(--ok)}.calib{display:flex;flex-direction:column;gap:8px;margin-top:8px}.area-note{display:flex;justify-content:space-between;align-items:baseline;margin:0;padding:10px 12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}.area-note strong{font:600 18px var(--f-mono)}.palette{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sec .palette button{display:flex;align-items:center;gap:8px;text-align:left;font-size:13px;padding:7px 8px}.sw{width:14px;height:14px;border-radius:2px;flex:none;display:inline-block}.sw.k-regal2,.sw.k-regal1{background:var(--k-regal);border:2px solid var(--k-regal-edge)}.sw.k-blocklager{background:var(--k-block)}.sw.k-we{background:var(--k-we)}.sw.k-wa{background:var(--k-wa)}.sw.k-komm{background:var(--k-komm)}.sw.k-buero{background:var(--k-buero)}.sw.k-technik{background:var(--k-technik)}.sw.aisle-sw{background:var(--aisle);border:1.5px dashed var(--aisle-edge)}.sw.col-sw{background:var(--column);width:8px;height:8px}.selbox{border:1px solid var(--line);background:var(--paper);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:10px}.selbox h2,.selbox .muted,.sec p{margin:0}.stage{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column}.stage-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:14px 18px 10px;border-bottom:1px solid var(--line);background:var(--bg)}.stage-head h1{font-size:26px;line-height:1.1;margin-top:4px}.facts{display:flex;gap:22px;margin:0;flex-wrap:wrap}.facts div{display:flex;flex-direction:column}.facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.facts dd{margin:0;font:600 15px var(--f-mono);font-variant-numeric:tabular-nums}.hint-bar{background:var(--kupfer-50);color:var(--kupfer-text);border-bottom:1px solid #f1cbab;padding:8px 18px;font-weight:600;font-size:14px}.empty{flex:1;display:grid;place-content:center;text-align:center;gap:4px;padding:24px}.empty p{margin:0}.canvas{position:relative;flex:1;min-height:320px;background:var(--paper);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:22px 22px}.canvas svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none;display:block}.canvas.mode-layout svg{cursor:grab}.canvas.mode-calibrate svg,.canvas.mode-outline svg{cursor:crosshair}.plan-img.dim{opacity:var(--plan-dim)}.plan-img{filter:var(--plan-filter)}.outline{fill:none;stroke:var(--ink)}.aisle{fill:var(--aisle);stroke:var(--aisle-edge);stroke-width:.08;stroke-dasharray:.5 .35;pointer-events:none}.column{fill:var(--column);pointer-events:none}.dock{fill:var(--dock);stroke:var(--ink);stroke-width:.1}.hatch-line{stroke:#0000002e}.blk-g{cursor:move}.blk{stroke-width:.12}.blk.k-regal2,.blk.k-regal1{fill:var(--k-regal);stroke:var(--k-regal-edge);stroke-width:.16}.blk.k-blocklager{fill:var(--k-block);stroke:#6d5326}.blk.k-we{fill:var(--k-we);fill-opacity:.55;stroke:var(--k-we)}.blk.k-wa{fill:var(--k-wa);fill-opacity:.55;stroke:var(--k-wa)}.blk.k-komm{fill:var(--k-komm);fill-opacity:.5;stroke:var(--k-komm)}.blk.k-buero{fill:var(--k-buero);fill-opacity:.6;stroke:var(--k-buero)}.blk.k-technik{fill:var(--k-technik);fill-opacity:.6;stroke:var(--k-technik)}.blk.sel{stroke:var(--sel);stroke-width:.45}.blk.bad{stroke:var(--bad);stroke-width:.45;stroke-dasharray:.6 .3}.bay{stroke:var(--k-regal-edge);stroke-width:.06;pointer-events:none}.blk-label{fill:var(--ink);font-family:var(--f-mono);font-weight:600;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:var(--paper);stroke-width:.18}.calib-line{stroke:var(--bad)}.calib-pt{fill:var(--accent);stroke:var(--ink)}.draft-line{fill:none;stroke:var(--focus)}.draft-pt{fill:var(--paper);stroke:var(--focus)}.draft-pt.first{fill:var(--accent)}.canvas-tools{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:4px}.canvas-tools button{width:34px;height:34px;padding:0;font-size:18px;line-height:1;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r)}.scalebar{position:absolute;left:14px;bottom:12px;display:flex;align-items:center;gap:8px;font:12px var(--f-mono);color:var(--ink);background:var(--paper);padding:4px 8px;border-radius:4px;border:1px solid var(--line)}.scalebar span{display:block;height:6px;border:2px solid var(--ink);border-top:0}.scalebar em{font-style:normal}.legend{list-style:none;margin:0;padding:8px 18px;display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);border-top:1px solid var(--line);background:var(--bg)}.legend li{display:flex;align-items:center;gap:6px}.verdict{display:flex;gap:14px;align-items:center;padding:14px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}.verdict p{margin:4px 0 0;font:600 20px/1.2 var(--f-display);letter-spacing:-.01em;color:var(--marke-900)}.lamp{display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--marke-900);border-radius:8px;flex:none}.lamp i{width:14px;height:14px;border-radius:50%;background:var(--muted);opacity:.35}.s-bad .lamp i:nth-child(1){background:var(--bad);opacity:1;box-shadow:0 0 10px var(--bad)}.s-warn .lamp i:nth-child(2){background:var(--warn);opacity:1;box-shadow:0 0 10px var(--warn)}.s-ok .lamp i:nth-child(3){background:var(--ok);opacity:1;box-shadow:0 0 10px var(--ok)}.verdict.s-ok{background:var(--ok-bg);border-color:transparent}.verdict.s-warn{background:var(--warn-bg);border-color:transparent}.verdict.s-bad{background:var(--bad-bg);border-color:transparent}.kpis{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.kpis li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.kpi-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}.pill{font:600 10px/1 var(--f-body);text-transform:uppercase;letter-spacing:.08em;padding:4px 7px;border-radius:999px}.s-ok .pill{background:var(--ok-bg);color:var(--ok)}.s-warn .pill{background:var(--warn-bg);color:var(--warn)}.s-bad .pill{background:var(--bad-bg);color:var(--bad)}.kpi-val{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.kpi-val strong{font:600 20px var(--f-mono);font-variant-numeric:tabular-nums}.kpi-val em{font-style:normal;font-size:13px;color:var(--muted);font-family:var(--f-mono)}.kpis p{margin:0}.meter{position:relative;height:6px;background:var(--line);border-radius:3px}.meter span{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--muted)}.s-ok .meter span{background:var(--ok)}.s-warn .meter span{background:var(--warn)}.s-bad .meter span{background:var(--bad)}.meter i{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--marke-900)}.issues h3{font-size:16px;margin-bottom:6px}.issues ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px}.disclaimer{font-size:12px;color:var(--muted);margin:auto 0 0}@media(max-width:1180px){.app{grid-template-columns:320px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.panel.right{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line);flex-direction:row;flex-wrap:wrap;align-items:flex-start}.panel.right>*{flex:1 1 260px;min-width:0}}@media(max-width:820px){.shell{height:auto}.app{display:flex;flex-direction:column}.stage{order:-1}.canvas{flex:none;height:62vh}.panel.left{border-right:0}.panel.right{flex-direction:column}.panel.right>*{flex:none}.stage-head,.sec,.panel.right,.legend,.hint-bar{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.steps{position:static}}@media(max-width:520px){.topbar{gap:12px;flex-wrap:nowrap}.wortmarke{display:none}.produkt{border-left:0;padding-left:0;font-weight:600;color:var(--marke-900);font-size:16px}.brand img{width:28px;height:28px}.recht{gap:10px;font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
