.appShell{background-color:var(--jysk-white);min-height:100vh;margin:0}.appMain{box-sizing:border-box;justify-content:center;align-items:flex-start;min-height:100vh;padding-top:80px;padding-bottom:2rem;display:flex}.localDbSidebar{border-right:1px solid var(--jysk-border);background:var(--jysk-gray-bg);flex:0 0 288px;align-self:flex-start;width:288px;max-height:calc(100vh - 80px);transition:flex-basis .2s,width .2s,opacity .15s;position:sticky;top:80px;overflow:hidden}.localDbSidebar.isClosed{opacity:0;pointer-events:none;border-right:none;flex-basis:0;width:0}.localDbSidebarInner{box-sizing:border-box;width:288px;max-height:calc(100vh - 80px);padding:14px 12px 24px;overflow-y:auto}.localDbHeading{color:var(--jysk-gray);text-align:left;margin:0 0 4px;font-size:1.05rem}.localDbHint{color:var(--jysk-gray-light);text-align:left;margin:0 0 12px;font-size:.8rem;line-height:1.35}.localDbList{gap:10px;margin:0;padding:0;list-style:none;display:grid}.localDbCard{box-sizing:border-box;text-align:left;width:100%;font:inherit;cursor:pointer;border:1px solid var(--jysk-border);background:var(--jysk-white);color:var(--jysk-gray);box-shadow:none;border-radius:8px;grid-template-columns:72px 1fr;align-items:center;gap:10px;margin:0;padding:10px;transition:border-color .15s,box-shadow .15s;display:grid}.localDbCard:hover{border-color:var(--jysk-blue-light);background:var(--jysk-white);transform:none;box-shadow:0 2px 8px #003d7a1f}.localDbCard:focus,.localDbCard:focus-visible{outline:3px solid var(--jysk-yellow);outline-offset:2px}.localDbThumb{object-fit:contain;background:var(--jysk-gray-bg);border-radius:4px;width:72px;height:72px}.localDbMeta{text-align:left;gap:4px;min-width:0;display:grid}.localDbName{word-break:break-word;font-size:.9rem;font-weight:600;line-height:1.25}.localDbDims{color:var(--jysk-gray-light);font-size:.8rem}.localDbCategory{color:var(--jysk-blue);font-size:.8rem;font-weight:600}.appCenter{text-align:center;box-sizing:border-box;flex-direction:column;flex:1;align-items:center;min-width:0;padding:0 12px;display:flex}.toolbar{background-color:var(--jysk-white);border-bottom:1px solid var(--jysk-border);z-index:1000;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:0;padding:1rem 2rem;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 4px #0000001a}.toolbarScaleField{box-sizing:border-box;border:2px solid var(--jysk-blue);background-color:var(--jysk-white);color:var(--jysk-blue);cursor:default;border-radius:6px;flex-direction:row;align-items:center;gap:.5em;margin:0;padding:.75em 1em;font-family:inherit;font-size:1em;font-weight:600;display:inline-flex}.toolbarScaleField:hover{background-color:var(--jysk-gray-bg);border-color:var(--jysk-blue-light)}.toolbarScaleField:hover .toolbarScaleLabel{color:var(--jysk-blue-light)}.toolbarScaleField:focus-within{outline:3px solid var(--jysk-yellow);outline-offset:2px}.toolbarScaleLabel{white-space:nowrap;color:var(--jysk-blue)}.toolbarScaleInput{box-sizing:border-box;border:1px solid var(--jysk-border);background:var(--jysk-white);width:5rem;min-width:0;color:var(--jysk-gray);text-align:center;border-radius:4px;margin:0;padding:.35em .25em;font-family:inherit;font-size:1em;font-weight:600}.toolbarScaleInput:focus{border-color:var(--jysk-blue-light);outline:none}button{border:2px solid var(--jysk-blue);background-color:var(--jysk-blue);color:var(--jysk-white);cursor:pointer;border-radius:6px;padding:.75em 1.5em;font-family:inherit;font-size:1em;font-weight:600;transition:all .2s}button:hover{background-color:var(--jysk-blue-light);border-color:var(--jysk-blue-light);transform:translateY(-1px);box-shadow:0 4px 8px #003d7a33}button:active{transform:translateY(0)}button:focus,button:focus-visible{outline:3px solid var(--jysk-yellow);outline-offset:2px}.canvas{border:2px solid var(--jysk-border);background:var(--jysk-gray-bg);margin:2rem auto;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0000000d}.canvasShelfDivider{z-index:1;pointer-events:none;border-left:1px solid #000;width:0;position:absolute;top:0;bottom:0;transform:translate(-.5px)}.canvasFurnitureWrap{box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:4px;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.draggableImage{z-index:0;object-fit:fill;-webkit-user-select:none;user-select:none;touch-action:none;width:100%;height:100%;cursor:inherit;box-shadow:none;border-radius:0;display:block;position:relative}.canvasFurnitureWrap:active{cursor:grabbing}.canvasFurnitureLabel{box-sizing:border-box;z-index:1;width:100%;height:100%;color:var(--jysk-gray);pointer-events:none;overflow-wrap:anywhere;text-shadow:0 0 8px var(--jysk-white), 0 0 4px var(--jysk-white), 0 1px 2px #ffffffe6;flex-direction:column;justify-content:center;align-items:stretch;margin:0;padding:8px;font-weight:600;line-height:1.2;display:flex;position:absolute;inset:0}.canvasFurnitureLabelInner{text-align:center;flex:0 auto;width:100%;min-width:0;max-width:100%;margin:0;padding:0;display:block;transform:translate(4%)}.emptyHint{z-index:0;height:100%;color:var(--jysk-gray-light);place-items:center;font-size:1.1em;display:grid;position:relative}.field{align-items:start;gap:4px;display:grid}.fieldLabel{color:var(--jysk-gray-light);text-align:left;font-size:.85em}.numberInput{border:2px solid var(--jysk-border);background:var(--jysk-white);width:140px;color:var(--jysk-gray);border-radius:6px;padding:.55em .7em}.numberInput:focus{outline:3px solid var(--jysk-yellow);outline-offset:2px;border-color:#0000}.passwordGate{place-items:center;min-height:100vh;padding:24px;display:grid}.passwordCard{border:1px solid var(--jysk-border);background:var(--jysk-white);border-radius:8px;gap:12px;width:100%;max-width:380px;padding:20px;display:grid}.passwordCard h1{margin:0;font-size:1.25rem}.passwordInput{border:2px solid var(--jysk-border);background:var(--jysk-white);width:100%;color:var(--jysk-gray);border-radius:6px;padding:.7em}.passwordInput:focus{outline:3px solid var(--jysk-yellow);outline-offset:2px;border-color:#0000}.passwordError{color:#b30000;margin:0;font-size:.9rem}.wallSetupGate{box-sizing:border-box;place-items:center;min-height:100vh;padding:24px;display:grid}.wallSetupCard{border:1px solid var(--jysk-border);background:var(--jysk-white);border-radius:8px;gap:14px;width:100%;max-width:520px;padding:22px;display:grid}.wallSetupCard h1{color:var(--jysk-gray);margin:0;font-size:1.25rem}.wallSetupLead{color:var(--jysk-gray-light);margin:0;font-size:.88rem;line-height:1.4}.wallSetupPrompt{color:var(--jysk-gray);margin:0;font-size:1rem;font-weight:600}.wallSetupHint{color:var(--jysk-gray-light);margin:0;font-size:.85rem;line-height:1.4}.wallSetupChoiceRow{gap:10px;display:grid}@media (width>=480px){.wallSetupChoiceRow{grid-template-columns:1fr 1fr}}.wallSetupChoiceBtn{text-align:center;padding:1em 1rem}.wallSetupForm{gap:12px;display:grid}.wallSetupActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}button.setupBtnSecondary{background-color:var(--jysk-white);color:var(--jysk-blue);border-color:var(--jysk-blue)}button.setupBtnSecondary:hover{background-color:var(--jysk-gray-bg);border-color:var(--jysk-blue-light);color:var(--jysk-blue-light)}.shelfRowsList{gap:12px;display:grid}.shelfRow{border:1px solid var(--jysk-border);background:var(--jysk-gray-bg);border-radius:8px;align-items:end;gap:10px;padding:12px;display:grid}@media (width>=520px){.shelfRow{grid-template-columns:1fr 1fr auto;align-items:end}.shelfRowRemove{align-self:end}}.shelfRowField{margin:0}.shelfRowInput{width:100%;max-width:none}.shelfRowRemove,.wallSetupAddRow{justify-self:start}.wallSetupTotal{color:var(--jysk-gray);margin:0;font-size:.95rem}.wallSetupTotalNA{color:var(--jysk-gray-light)}.wallSetupSummary{color:var(--jysk-gray-light);margin:0;font-size:.9rem;line-height:1.4}.wallSetupSummarySegs{color:var(--jysk-gray)}:root{--jysk-blue:#003d7a;--jysk-blue-light:#0056b3;--jysk-yellow:#fdb913;--jysk-gray:#333;--jysk-gray-light:#666;--jysk-gray-bg:#f5f5f5;--jysk-white:#fff;--jysk-border:#e0e0e0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--jysk-gray);background-color:var(--jysk-white);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:var(--jysk-blue);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:var(--jysk-blue-light)}body{background-color:var(--jysk-gray-bg);min-width:320px;min-height:100vh;margin:0}h1{color:var(--jysk-blue);font-size:3.2em;font-weight:600;line-height:1.1}
