@charset "UTF-8";:root{--font-ui: system-ui, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;--color-bg: #f3f4f2;--color-surface: #ffffff;--color-surface-muted: #f7f7f5;--color-border: #dcdcd8;--color-border-strong: #b8b8b2;--color-border-control: #767771;--color-text: #22231f;--color-text-muted: #6f706a;--color-brand: #e10915;--color-brand-dark: #b4000c;--on-brand: #ffffff;--color-hover-bg: #f5f5f2;--color-disabled-bg: #e6e6e2;--color-disabled-text: #5c5d57;--color-ok-bg: #edf5ea;--color-ok-border: #9ec28f;--color-ok-text: #2f5e24;--color-fail-bg: #fbecec;--color-fail-border: #e0a0a0;--color-fail-text: #8a1a1a;--color-warn-text: #8a5a00;--color-focus: #2b6cb0;--radius-sm: 4px;--radius-md: 8px;--shadow-panel: 0 1px 3px #0000000f;--shadow-float: 0 4px 16px #00000022;--backdrop: #1a1a1866;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--canvas-bg: #e9ebe7;--canvas-floor: #fbfbf9;--canvas-grid: #e4e6e1;--canvas-grid-strong: #cfd2cb;--canvas-wall: #2b2b28;--guide: #e10915;--underlay-opacity: .55;--tool: #2b6cb0;--tool-dark: #235a94;--on-tool: #ffffff;--proposal-fill: #2b6cb033;--proposal-stroke: #2b6cb0;--proposal-off-fill: #00000008;--proposal-off-stroke: #9a9a94;--problem: #d0021b;--problem-area: #d0021b55;--notice-bg: #fff4d6;--notice-border: #e0b54a;--notice-text: #4a3a10;--group-1: #f4c7c3;--group-2: #c8e6c9;--group-3: #bbdefb;--group-4: #ffe0b2;--group-5: #e1bee7;--group-6: #b2ebf2;--group-7: #fff59d;--group-8: #d7ccc8;--group-9: #f8bbd0;--group-10: #c5cae9;--group-11: #dcedc8;--group-12: #ffccbc;--map-bg: #eef0ec;--map-floor: #ffffff;--map-wall: #3a3a36;--map-fixture: #dedfdb;--map-fixture-stroke: #8a8b85;--map-checkout: #cdd9e3;--map-entrance: #8fcf86;--map-entrance-stroke: #237916;--map-highlight: #e10915;--map-route: #e10915;--on-map-route: #ffffff;--map-stop-done: #6f706a;--on-map-stop-done: #ffffff;--kind-floor-fill: #ffffff26;--kind-floor-stroke: #2b2b28;--kind-floor-text: #6f706a;--kind-wall-fill: #5b5a55;--kind-wall-stroke: #23231f;--kind-wall-text: #ffffff;--kind-door-fill: #ffffff;--kind-door-stroke: #2b2b28;--kind-door-text: #2b2b28;--kind-window-fill: #d9ecf7;--kind-window-stroke: #4a7ea3;--kind-window-text: #2b4a60;--kind-column-fill: #b9b7b0;--kind-column-stroke: #3a3a36;--kind-column-text: #22231f;--kind-entrance-fill: #cfe8cb;--kind-entrance-stroke: #237916;--kind-entrance-text: #19550f;--kind-exit-fill: #cfe8cb;--kind-exit-stroke: #237916;--kind-exit-text: #19550f;--kind-shelf-fill: #f3efe6;--kind-shelf-stroke: #8a8272;--kind-shelf-text: #2f302c;--kind-fridge-fill: #e3f1fb;--kind-fridge-stroke: #2f6f9f;--kind-fridge-text: #2d3b47;--kind-freezer-fill: #e8f3fb;--kind-freezer-stroke: #2f5e8a;--kind-freezer-text: #1f3d5a;--kind-counter-fill: #f2e4d0;--kind-counter-stroke: #8a6a45;--kind-counter-text: #4a3f32;--kind-checkout-fill: #e6ebf0;--kind-checkout-stroke: #27455c;--kind-checkout-text: #1b3042;--kind-service-fill: #e8e8e4;--kind-service-stroke: #8a8a84;--kind-service-text: #44443f;--kind-pallet-fill: #ead8b0;--kind-pallet-stroke: #8b6b3a;--kind-pallet-text: #5a4420;--kind-produce-fill: #d9ead3;--kind-produce-stroke: #4a8a3c;--kind-produce-text: #2f5a26;--kind-promo-fill: #f6e3c3;--kind-promo-stroke: #b07a2a;--kind-promo-text: #6e4a14;--decor-line: #00000033;--decor-spine: #4a4740;--decor-glass: #8cc4ecbb;--decor-belt: #3b4652;--decor-roller: #8a96a3;--decor-till: #27455c;--decor-hatch: #00000066;--decor-slant: #4a8a3c99;--decor-arrow: #237916;--kind-press-fill: #e4ddf1;--kind-press-stroke: #5e4a8a;--kind-press-text: #3c2f5c}html.contrast{--color-text: #000000;--color-text-muted: #000000;--color-brand: #000000;--color-brand-dark: #333333;--color-border: #000000;--color-border-control: #000000;--color-hover-bg: #dddddd;--color-disabled-bg: #cccccc;--color-disabled-text: #000000;--color-focus: #0033cc;--color-ok-bg: #ffffff;--color-ok-text: #000000;--color-surface: #ffffff;--color-surface-muted: #ffffff;--color-warn-text: #000000;--map-stop-done: #000000;--map-bg: #ffffff;--map-floor: #ffffff;--map-wall: #000000;--map-fixture: #ffffff;--map-fixture-stroke: #000000;--map-checkout: #ffffff;--map-entrance: #ffffff;--map-entrance-stroke: #000000;--map-route: #0033cc;--map-highlight: #cc0000;--notice-bg: #ffffff;--notice-border: #000000;--notice-text: #000000}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);font-size:14px;line-height:1.4}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;cursor:pointer}button:disabled{border-color:var(--color-border-control);background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:default}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}input,select{font:inherit}.field{display:grid;gap:var(--space-1);font-size:.8rem;font-weight:600;color:var(--color-text)}.field input,.field select{box-sizing:border-box;width:100%;padding:.45rem .55rem;border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.field input:disabled,.field select:disabled{border-color:var(--color-border-control);background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:default}.field input,.field select{font-weight:400}.field-row{display:flex;gap:var(--space-2);align-items:end;margin-top:var(--space-2)}.field-row .field{flex:1}.field-row.with-lines{flex-wrap:wrap}.field-row.with-lines .line{flex:0 0 100%;margin:0}.check-field{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-2);font-size:.85rem}.button{margin-top:var(--space-3);padding:.55rem .9rem;border:1px solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-brand);color:var(--on-brand);font-weight:600}.button:hover:not(:disabled){border-color:var(--color-brand-dark);background:var(--color-brand-dark)}.button.secondary:not(:disabled){background:var(--color-surface);color:var(--color-brand)}.button.secondary:hover:not(:disabled){background:var(--color-hover-bg)}.text-button{padding:.35rem .5rem;border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);font-size:.8rem}.text-button:hover:not(:disabled){border-color:var(--color-text);background:var(--color-hover-bg)}.text-button.danger:not(:disabled){color:var(--color-brand-dark)}.icon-button{width:2rem;height:2rem;border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);font-size:1rem;line-height:1}.icon-button:hover:not(:disabled){border-color:var(--color-text);background:var(--color-hover-bg)}.link{padding:0;border:0;background:none;color:var(--color-brand);text-decoration:underline}.panel{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.panel summary{cursor:pointer;list-style:none}.panel summary::-webkit-details-marker{display:none}.panel summary:before{content:"\25b8  ";color:var(--color-text-muted)}.panel[open] summary:before{content:"\25be  "}.panel-title{display:inline;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.meta{font-size:.8rem;color:var(--color-text-muted)}.studio{display:grid;grid-template-columns:17rem 1fr 18rem;grid-template-rows:3rem 1fr;grid-template-areas:"top top top" "left stage right";height:100vh;overflow:hidden}@media(max-width:900px){.studio{grid-template-columns:17rem 1fr;grid-template-areas:"top top" "left stage" "right right";grid-template-rows:3rem minmax(0,1fr) auto}}.topbar{grid-area:top;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.topbar .brand{display:flex;align-items:center;gap:var(--space-3)}.topbar .actions{display:flex;align-items:center;gap:var(--space-2)}.topbar .store-select{box-sizing:border-box;width:100%;padding:.45rem .55rem;border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.topbar .store-select:disabled{border-color:var(--color-border-control);background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:default}.topbar .store-select{width:auto;min-width:12rem;padding:.3rem .5rem}.topbar .status{font-size:.8rem;color:var(--color-text-muted);white-space:nowrap}.topbar .status.busy{color:var(--color-brand)}.topbar .account{font-size:.8rem;color:var(--color-text-muted);white-space:nowrap}.topbar .version{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.topbar .button{margin-top:0;padding:.35rem .7rem}.sidebar{z-index:10;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);overflow-y:auto;background:var(--color-surface-muted)}.sidebar.left{grid-area:left;border-right:1px solid var(--color-border)}.sidebar.right{grid-area:right;border-left:1px solid var(--color-border)}@media(max-width:900px){.sidebar.right{max-height:38vh;border-left:0;border-top:1px solid var(--color-border)}}.sidebar .hint{font-size:.8rem;color:var(--color-text-muted)}.stage{grid-area:stage;z-index:1;position:relative;min-width:0;min-height:0;background:var(--canvas-bg)}.check{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);border-color:var(--color-ok-border);background:var(--color-ok-bg);color:var(--color-ok-text)}.check.failed{border-color:var(--color-fail-border);background:var(--color-fail-bg);color:var(--color-fail-text)}.check .panel-title,.check .meta{color:inherit}.check .findings{margin:var(--space-2) 0 0;padding-left:1.1rem;font-size:.8rem}.check .findings li{color:var(--color-warn-text)}.check .findings li.error{color:var(--color-fail-text)}.check .finding-link{display:block;padding:0;border:0;background:none;text-align:left;text-decoration:underline}.check .finding-link:hover{text-decoration-thickness:2px}.steps{display:grid;gap:var(--space-1)}.step-tab{display:flex;align-items:center;gap:var(--space-2);padding:.45rem .5rem;border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);font-size:.8rem;text-align:left}.step-tab:hover:not(:disabled){border-color:var(--color-text);background:var(--color-hover-bg)}.step-tab.active{font-weight:600;border-color:var(--color-brand);background:var(--color-brand);color:var(--on-brand)}.step-tab.active:hover:not(:disabled){border-color:var(--color-brand-dark);background:var(--color-brand-dark)}.step-tab .step-number{display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--color-surface-muted);color:var(--color-text);font-size:.7rem;font-weight:700}.step-tab .step-badge{margin-left:auto;color:var(--color-ok-text);font-weight:700}.step-tab .step-badge.failed{color:var(--color-fail-text)}.step-tab.active .step-badge{color:inherit}.step{display:flex;flex-direction:column;gap:var(--space-2)}.step .panel-subtitle{margin-top:var(--space-2);font-size:.75rem;font-weight:700;color:var(--color-text)}.step .button{margin-top:0}.step .field input[type=file]{padding:.3rem;font-size:.75rem}.step .upload{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.step .hint{font-size:.75rem;color:var(--color-text-muted)}.step .text-button.active:not(:disabled){border-color:var(--tool);background:var(--tool);color:var(--on-tool)}.step .text-button.active:not(:disabled):hover{border-color:var(--tool-dark);background:var(--tool-dark)}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.proposal-bar{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);display:grid;gap:var(--space-2);border-color:var(--proposal-stroke);background:var(--proposal-fill)}.proposal-bar .hint{color:var(--color-text)}.group-list{display:grid;gap:2px;margin:0;padding:0;list-style:none}.group-item{display:grid;grid-template-columns:1rem 1fr auto;gap:var(--space-2);align-items:center;width:100%;padding:.35rem .5rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-size:.8rem;text-align:left}.group-item:hover{background:var(--color-surface);border-color:var(--color-border-control)}.group-item.active{border-color:var(--color-brand);background:var(--color-brand);color:var(--on-brand)}.group-item.active:hover:not(:disabled){border-color:var(--color-brand-dark);background:var(--color-brand-dark)}.group-item.active .swatch{outline:1px solid var(--on-brand)}.group-item .swatch{width:1rem;height:.8rem;border:1px solid var(--color-border-strong);border-radius:2px}.group-item.eraser .swatch{background:repeating-linear-gradient(45deg,var(--color-surface),var(--color-surface) 2px,var(--color-border) 2px,var(--color-border) 4px)}.text-link{font-size:.8rem;color:var(--color-brand)}.scale-warning{padding:var(--space-2);border:1px solid var(--color-fail-border);border-radius:var(--radius-sm);background:var(--color-fail-bg);color:var(--color-fail-text);font-size:.8rem;font-weight:600}.proposal-kinds{display:grid;gap:2px;margin:0;padding:0;list-style:none}.proposal-kinds .check-field{margin-top:0;font-size:.8rem}.proposal-kinds .swatch{width:1rem;height:.7rem;border:2px dashed var(--proposal-stroke);border-radius:2px}.proposal-kinds .swatch[data-style=shelf]{border-color:var(--kind-shelf-stroke);background:var(--kind-shelf-fill)}.proposal-kinds .swatch[data-style=fridge]{border-color:var(--kind-fridge-stroke);background:var(--kind-fridge-fill)}.proposal-kinds .swatch[data-style=checkout]{border-color:var(--kind-checkout-stroke);background:var(--kind-checkout-fill)}.proposal-kinds .swatch[data-style=column]{border-color:var(--kind-column-stroke);background:var(--kind-column-fill)}.proposal-kinds .swatch[data-style=wall]{border-color:var(--kind-wall-stroke);background:var(--kind-wall-fill)}.block-sections{margin:0;padding:0;border:0}.block-sections legend{padding:0;font-size:.8rem;font-weight:600}.block-sections .check-field{margin-top:var(--space-1)}.assortment-list{margin:var(--space-2) 0;padding:0;list-style:none}.assortment-line{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center;padding:var(--space-1) 0;border-bottom:1px solid var(--color-border)}.assortment-line .swatch{width:1rem;height:.8rem;border:1px solid var(--color-border-strong);border-radius:2px}.assortment-line select{max-width:9rem}.assortment-line input[type=number]{width:4.5rem}.assortment-handle{cursor:grab;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.assortment-result{flex-basis:100%;font-size:.75rem;color:var(--color-text-muted)}.assortment-result.short{color:var(--color-fail-text)}.apply{margin-top:var(--space-2)}.shelf-numbering{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);margin-top:var(--space-3)}.shelf-numbering .shelf-numbering-title{margin-bottom:var(--space-2);font-size:.9rem}.shelf-numbering .shelf-numbering-list{margin:var(--space-2) 0;padding:0;list-style:none}.shelf-numbering .shelf-numbering-line{display:flex;gap:var(--space-2);align-items:center;justify-content:space-between;padding:var(--space-1) 0;border-bottom:1px solid var(--color-border)}.shelf-numbering .shelf-numbering-line input{width:4rem}.modal{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);width:100%;max-width:min(34rem,100% - 2 * var(--space-4));padding:var(--space-4);color:var(--color-text);box-shadow:var(--shadow-float)}.modal::backdrop{background:var(--backdrop)}.confirm-dialog{max-width:min(24rem,100% - 2 * var(--space-4))}.confirm-line{margin-bottom:var(--space-3);font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);align-items:center}.modal-actions .button{margin-top:0}.start-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:var(--space-4);background:var(--backdrop)}.start-dialog{display:grid;gap:var(--space-3)}.start-dialog h2{font-size:1.2rem}.start-dialog .error{color:var(--color-fail-text);font-size:.85rem}.start-ways{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}@media(max-width:900px){.start-ways{grid-template-columns:1fr}}.start-way{display:grid;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);text-align:left}.start-way span{font-size:.8rem;color:var(--color-text-muted)}.start-way:hover:not(:disabled){border-color:var(--color-text);background:var(--color-hover-bg)}.start-way.active{border-color:var(--color-brand);background:var(--color-brand);color:var(--on-brand)}.start-way.active:hover:not(:disabled){border-color:var(--color-brand-dark);background:var(--color-brand-dark)}.start-way.active span{color:inherit}mp-plan-import-fields{display:grid;gap:var(--space-3)}mp-plan-import-fields .field-row{margin-top:0}.import-report{display:grid;gap:var(--space-2);margin-bottom:var(--space-3)}.import-verdict{font-weight:600}.import-list{font-size:.8rem}.import-list summary{min-width:44px;min-height:44px;padding:var(--space-2) 0;font-weight:600;cursor:pointer}.import-codes{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.import-lines{display:grid;gap:var(--space-2);margin:var(--space-1) 0 0;padding:0;list-style:none}.import-lines li{overflow-wrap:anywhere}.import-code{min-width:44px;min-height:44px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:.8rem}.import-code:hover:not(:disabled){border-color:var(--color-text);background:var(--color-hover-bg)}.import-code.off-plan{display:inline-flex;align-items:center;border-style:dashed}.palette{display:flex;flex-direction:column;gap:var(--space-3)}.palette-title{margin-bottom:var(--space-1);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.palette-items{display:grid;gap:2px}.palette-item{display:grid;grid-template-columns:1rem 1fr auto;gap:var(--space-2);align-items:center;padding:.35rem .5rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;text-align:left}.palette-item:hover{background:var(--color-surface);border-color:var(--color-border-control)}.palette-item.active{border-color:var(--color-brand);background:var(--color-brand);color:var(--on-brand)}.palette-item.active:hover:not(:disabled){border-color:var(--color-brand-dark);background:var(--color-brand-dark)}.palette-item .swatch{width:1rem;height:.7rem;border:1px solid var(--kind-shelf-stroke);background:var(--kind-shelf-fill);border-radius:2px}.palette-item .palette-label{font-size:.8rem}.palette-item .palette-size{font-family:var(--font-mono);font-size:.68rem;color:var(--color-text-muted);white-space:nowrap}.palette-item.active .palette-size{color:inherit}.palette-item.active .swatch{outline:1px solid var(--on-brand)}.palette-item[data-style=floor] .swatch{background:var(--kind-floor-fill);border-color:var(--kind-floor-stroke)}.palette-item[data-style=wall] .swatch{background:var(--kind-wall-fill);border-color:var(--kind-wall-stroke)}.palette-item[data-style=door] .swatch{background:var(--kind-door-fill);border-color:var(--kind-door-stroke)}.palette-item[data-style=window] .swatch{background:var(--kind-window-fill);border-color:var(--kind-window-stroke)}.palette-item[data-style=column] .swatch{background:var(--kind-column-fill);border-color:var(--kind-column-stroke)}.palette-item[data-style=entrance] .swatch{background:var(--kind-entrance-fill);border-color:var(--kind-entrance-stroke)}.palette-item[data-style=exit] .swatch{background:var(--kind-exit-fill);border-color:var(--kind-exit-stroke)}.palette-item[data-style=shelf] .swatch{background:var(--kind-shelf-fill);border-color:var(--kind-shelf-stroke)}.palette-item[data-style=fridge] .swatch{background:var(--kind-fridge-fill);border-color:var(--kind-fridge-stroke)}.palette-item[data-style=freezer] .swatch{background:var(--kind-freezer-fill);border-color:var(--kind-freezer-stroke)}.palette-item[data-style=counter] .swatch{background:var(--kind-counter-fill);border-color:var(--kind-counter-stroke)}.palette-item[data-style=checkout] .swatch{background:var(--kind-checkout-fill);border-color:var(--kind-checkout-stroke)}.palette-item[data-style=service] .swatch{background:var(--kind-service-fill);border-color:var(--kind-service-stroke)}.palette-item[data-style=pallet] .swatch{background:var(--kind-pallet-fill);border-color:var(--kind-pallet-stroke)}.palette-item[data-style=produce] .swatch{background:var(--kind-produce-fill);border-color:var(--kind-produce-stroke)}.palette-item[data-style=promo] .swatch{background:var(--kind-promo-fill);border-color:var(--kind-promo-stroke)}.palette-item[data-style=press] .swatch{background:var(--kind-press-fill);border-color:var(--kind-press-stroke)}.inspector{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.inspector .inspector-title{margin-bottom:var(--space-2);font-size:1rem}.inspector .inspector-code{margin-bottom:var(--space-1);color:var(--color-text-muted)}.inspector .inspector-code .code{color:var(--color-text);font-weight:600}.inspector .field+.field{margin-top:var(--space-2)}.inspector .field-row .text-button{margin-bottom:1px}.inspector-empty{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);font-size:.8rem;color:var(--color-text-muted)}mp-plan-canvas{display:block;position:absolute;inset:0}.canvas-host{width:100%;height:100%;overflow:hidden;background:var(--canvas-bg)}.shopper{display:flex;flex-direction:column;max-width:40rem;min-height:100vh;margin:0 auto;background:var(--color-surface)}.shopper button,.shopper-back,.shopper-search,.scan-button,.shopper-stops label,.shopper-stores a{min-width:44px;min-height:44px}.shopper-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.shopper-head h1{min-width:0;font-size:1.1rem;overflow-wrap:anywhere}.shopper-back{display:inline-flex;flex:none;align-items:center;justify-content:center;color:var(--color-text);font-size:1.5rem;text-decoration:none}.shopper-note{padding:var(--space-3) var(--space-4);font-size:.85rem;color:var(--color-text-muted)}.shopper-tabs{border-bottom:1px solid var(--color-border)}.shopper-tabs [role=tablist]{display:grid;grid-template-columns:1fr 1fr}.shopper-tabs button{padding:var(--space-3);border:0;border-bottom:2px solid transparent;background:none;font-weight:600}.shopper-tabs button:hover:not(:disabled){border-color:var(--color-text);background:var(--color-hover-bg)}.shopper-tabs button[aria-selected=true]{border-color:var(--color-brand);background:var(--color-brand);color:var(--on-brand)}.shopper-tabs button[aria-selected=true]:hover:not(:disabled){border-color:var(--color-brand-dark);background:var(--color-brand-dark)}.shopper-panel{padding:var(--space-3) var(--space-4)}.shopper-search{box-sizing:border-box;width:100%;padding:.45rem .55rem;border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.shopper-search:disabled{border-color:var(--color-border-control);background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:default}.shopper-search{font-size:max(16px,1rem)}.shopper-search::placeholder{font-size:1rem}.shopper-hits,.shopper-stops,.shopper-products,.shopper-stores{margin:var(--space-2) 0 0;padding:0;list-style:none}.shopper-hits li,.shopper-stops li,.shopper-products li,.shopper-stores li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.shopper-stores a{display:flex;flex:1;align-items:center;padding:var(--space-2) var(--space-4);color:var(--color-text);font-weight:600}.shopper-version{padding:var(--space-3) var(--space-4);font-size:.75rem;color:var(--color-text-muted)}.hit{display:grid;flex:1;align-content:center;gap:2px;padding:0;border:0;background:none;text-align:left}.hit span{font-size:.8rem;color:var(--color-text-muted)}.hit span.missing{color:var(--color-warn-text)}.hit:hover:not(:disabled){background:var(--color-hover-bg)}.hit:hover:not(:disabled) strong{text-decoration:underline}.add{flex:none;padding:0;border:1px solid var(--color-brand);border-radius:50%;background:var(--color-surface);color:var(--color-brand);font-size:1.1rem;font-weight:700}.add:hover:not(:disabled){background:var(--color-brand);color:var(--on-brand)}.add:disabled{border-color:var(--color-ok-text);background:var(--color-ok-bg);color:var(--color-ok-text)}.shopper-stops label{display:flex;flex:1;align-items:center;gap:var(--space-2)}.shopper-stops input[type=checkbox]{flex:none;width:1.25rem;height:1.25rem}.shopper-stops .stop-number{display:inline-grid;flex:none;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--map-route);color:var(--on-map-route);font-size:.75rem;font-weight:700}.shopper-stops li.done>label>span:not(.stop-number){text-decoration:line-through;color:var(--color-text-muted)}.shopper-stops li.done .stop-number{background:var(--map-stop-done);color:var(--on-map-stop-done)}.shopper-stops .meta{flex:none;margin-left:auto}.shopper-missing{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-2);font-size:.85rem;color:var(--color-warn-text)}.shopper-sheet{padding:var(--space-3) var(--space-4);border-top:2px solid var(--map-highlight);background:var(--color-surface-muted)}.shopper-sheet header{display:flex;justify-content:space-between;align-items:center}.shopper-sheet h2{font-size:1rem}.shopper-products span{flex:1;font-size:.9rem}.scan{display:grid;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3)}.scan-button{box-sizing:border-box;width:100%;padding:.45rem .55rem;border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.scan-button:disabled{border-color:var(--color-border-control);background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:default}.scan-button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);font-weight:600;color:var(--color-text);background:var(--color-surface-muted);cursor:pointer}.scan-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.scan-button:hover:not(:disabled){border-color:var(--color-text);background:var(--color-hover-bg)}.scan-button:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.scan-note{margin:0;font-size:.85rem;color:var(--color-text-muted)}.scan-lines{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.scan-lines li{display:grid;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.scan-lines li.unmatched{background:var(--color-surface-muted)}.scan-text{font-weight:600}.scan-hit{font-size:.85rem;color:var(--color-ok-text)}.scan-ask,.scan-miss{font-size:.85rem;color:var(--color-text-muted)}.scan-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.chip{padding:.3rem .7rem;border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.85rem;cursor:pointer}.chip:hover:not(:disabled){border-color:var(--color-text);background:var(--color-hover-bg)}.chip.active{border-color:var(--color-brand);background:var(--color-brand);color:var(--on-brand)}.chip.active:hover:not(:disabled){border-color:var(--color-brand-dark);background:var(--color-brand-dark)}.scan-actions{display:flex;align-items:center;gap:var(--space-3)}.scan-actions .button{margin-top:0}.scan-other{justify-self:start;font-size:.8rem}.pick{display:grid;gap:var(--space-2);padding-top:var(--space-1)}.pick-field{width:100%}.pick-hits{margin:0;max-height:14rem;overflow-y:auto}.pick .text-button{justify-self:start;font-size:.8rem}.pick-similar{margin:0;font-weight:600}.shopper-map-wrap{position:relative;height:55vh;background:var(--map-bg)}mp-shopper-map{display:block;height:100%}.shopper-map{display:block;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none}.shopper-map polygon{vector-effect:non-scaling-stroke;stroke-width:1;fill:var(--map-fixture);stroke:var(--map-fixture-stroke)}.shopper-map .map-hull{fill:var(--map-floor);stroke:var(--map-wall)}.shopper-map .map-floor{fill:var(--map-floor);stroke:var(--map-wall);stroke-width:2}.shopper-map .map-wall{fill:var(--map-wall);stroke:var(--map-wall)}.shopper-map .map-checkout{fill:var(--map-checkout)}.shopper-map .map-entrance,.shopper-map .map-exit{fill:var(--map-entrance);stroke:var(--map-entrance-stroke);stroke-width:2}.shopper-map .map-shelf,.shopper-map .map-fridge,.shopper-map .map-counter{cursor:pointer}.shopper-map .highlight{stroke:var(--map-highlight);stroke-width:3}.shopper-map .map-route{fill:none;stroke:var(--map-route);stroke-width:3;stroke-linejoin:round;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.shopper-map .map-stop circle{fill:var(--map-route)}.shopper-map .map-stop text{fill:var(--on-map-route);font-family:var(--font-ui);font-size:1px;font-weight:700}.shopper-map .map-stop.done circle{fill:var(--map-stop-done)}.shopper-map .map-stop.done text{fill:var(--on-map-stop-done)}.shopper-map .map-entrance-label{pointer-events:none}.shopper-map .map-entrance-label text{fill:var(--map-wall);font-family:var(--font-ui);font-weight:700}.map-shelves{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);position:absolute;top:var(--space-2);left:var(--space-2);display:grid;gap:var(--space-1);max-height:calc(100% - 2 * var(--space-2));margin:0;overflow-y:auto;list-style:none}.map-shelves button{width:100%;padding:0 var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);text-align:left}.map-shelves button:hover:not(:disabled){border-color:var(--color-text);background:var(--color-hover-bg)}.map-shelves:not(:focus-within){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;padding:0;border:0}.map-zoom{position:absolute;right:var(--space-2);bottom:var(--space-2);display:grid;gap:var(--space-1)}.map-zoom button{padding:0;border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);font-size:1.1rem}.map-zoom button:hover:not(:disabled){border-color:var(--color-text);background:var(--color-hover-bg)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}html.large-text{font-size:125%}html.contrast .shopper-map polygon{stroke:var(--map-fixture-stroke);stroke-width:2}html.contrast .shopper-map .map-route{stroke-width:5;stroke-dasharray:none}html.contrast .shopper-map .highlight{stroke:var(--map-highlight);stroke-width:5}.shopper-display{display:flex;gap:var(--space-1);margin-left:auto}.shopper-display button{border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:700}.shopper-display button:hover:not(:disabled){border-color:var(--color-text);background:var(--color-hover-bg)}.shopper-display button[aria-pressed=true]{border-color:var(--color-brand);background:var(--color-brand);color:var(--on-brand)}.shopper-display button[aria-pressed=true]:hover:not(:disabled){border-color:var(--color-brand-dark);background:var(--color-brand-dark)}
