@layer objects{.wrap{max-width:var(--container-max);margin:0 auto;width:100%;flex:1 1 auto;display:flex;flex-direction:column}.layout{display:grid;grid-template-columns:minmax(0,1fr) 332px;gap:var(--space-6);align-items:start;margin-bottom:var(--space-12)}.main{min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.side{position:sticky;top:calc(var(--header-h) + var(--space-4));display:flex;flex-direction:column;gap:var(--space-5)}@media(max-width:900px){.layout{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.side{position:static}}.side-card-title{width:100%;font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-4)}@media(min-width:901px){.side .summary-card{padding:var(--space-5)}.side .summary-bar{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-4)}.side .summary-bar .sv{font-size:var(--text-lg)}}.side .settings-body{flex-direction:column;align-items:stretch;gap:var(--space-3)}.side .set-item{justify-content:space-between;width:100%}}@layer components{.card{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--space-6);transition:box-shadow var(--motion-base) var(--ease-standard);margin-bottom:28px}.card-head{display:flex;align-items:center;gap:var(--space-2)}.card-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);flex:none}.card-icon svg{width:20px;height:20px;display:block}.card-head h2{font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;display:flex;align-items:baseline;gap:var(--space-2)}.card-head .idx{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--accent)}.card-head .tag{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--meta);letter-spacing:0}.hint{font-size:var(--text-sm);color:var(--muted);margin:var(--space-2) 0 var(--space-4);letter-spacing:-.01em}.summary-row{display:flex;align-items:center;gap:var(--space-2)}.chev{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);margin-left:2px;transition:transform var(--motion-base) var(--ease-standard)}.chev svg{width:20px;height:20px;display:block}details[open] .chev{transform:rotate(90deg)}@media(max-width:620px){.mat-card{margin-bottom:20px}.card-head h2{font-size:var(--text-lg);font-weight:700}}}@layer components{.mat-grid-head,.mat-row{display:grid;grid-template-columns:1.6fr 1fr 1fr .9fr 1fr 34px;gap:var(--space-2);align-items:center}.mat-grid-head{font-size:var(--text-xs);font-weight:600;color:var(--meta);padding:0 2px var(--space-2);letter-spacing:-.01em}.mat-grid-head span:last-child{text-align:center}.mat-row{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2)}.mat-hist{grid-column:1 / -1;margin-top:6px;font-size:var(--text-2xs);line-height:1.5;color:var(--meta)}.mat-hist.is-up{color:var(--warn)}.mat-hist.is-down{color:var(--success)}.mat-hist[hidden]{display:none}.mat-row.is-scanned{outline:2px solid var(--accent);outline-offset:2px;transition:outline-color var(--motion-base) var(--ease-standard)}.mat-row .iw{position:relative;display:flex;align-items:center}.mat-row .iw .u{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--meta);pointer-events:none}.mat-row input,.mat-row select{width:100%;font-size:var(--text-sm);padding:9px 10px}.mat-row select{padding-right:30px}.mat-row .iw input{padding-right:26px}.mat-rate{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--fg);text-align:right;padding-right:4px}.m-rate-cell{text-align:right}.mat-grid-head .th-help{justify-self:end}@media(max-width:620px){.mat-grid-head{display:none}.mat-row{grid-template-columns:1.15fr 1fr 1fr;gap:var(--space-2);background:none;border-radius:0;margin-bottom:var(--space-6);border-bottom:1px solid var(--border-soft);padding:0 0 10px}.mat-row .m-name{grid-column:1 / -1}.mat-row .m-rate-cell{grid-column:1 / 3;text-align:left;align-self:center;display:flex;align-items:center;padding-top:var(--space-1)}.mat-row .del{grid-column:3;place-self:center end;margin-top:var(--space-1)}}.del{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:all var(--motion-fast) var(--ease-standard)}.del:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in oklab,var(--danger),transparent 94%)}.add-btn{margin-top:var(--space-1);width:100%;padding:11px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-md);font-weight:500;letter-spacing:-.016em;cursor:pointer;transition:all var(--motion-fast) var(--ease-standard)}.add-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.mat-foot{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--space-2);margin-top:var(--space-1)}.mat-foot.mat-foot--solo{grid-template-columns:1fr 1fr}.mat-foot .add-btn{margin-top:0}.scan-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:11px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-md);font-weight:500;letter-spacing:-.016em;cursor:pointer;transition:all var(--motion-fast) var(--ease-standard)}.scan-btn svg{width:17px;height:17px;flex:none}.scan-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.scan-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.scan-msg{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-warm);border-left:3px solid var(--border);font-size:var(--text-sm);line-height:1.6;color:var(--fg-2)}.scan-msg.is-good{border-left-color:var(--success)}.scan-msg.is-warn{border-left-color:var(--warn)}.scan-msg.is-info{border-left-color:var(--accent)}.scan-msg[hidden]{display:none}.scanner{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0000009e}.scanner[hidden]{display:none}.scanner-box{width:100%;max-width:440px;background:var(--card);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:0 24px 60px #00000052}.scanner-head{display:flex;align-items:center;gap:var(--space-3)}.scanner-head h3{flex:1 1 auto;font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--fg)}.scanner-x{width:32px;height:32px;flex:none;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.scanner-x:hover{background:var(--surface);color:var(--fg)}.scanner-x:focus-visible{outline:none;box-shadow:var(--focus-ring)}.scanner-view{position:relative;margin-top:var(--space-4);aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius-md);background:#000}.scanner-view video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.scanner-reticle{position:absolute;top:22%;right:12%;bottom:22%;left:12%;border:2px solid rgb(255 255 255 / 88%);border-radius:var(--radius-sm);box-shadow:0 0 0 100vmax #00000047;pointer-events:none}.scanner-hint{margin-top:var(--space-3);font-size:var(--text-xs);line-height:1.6;color:var(--muted);text-align:center}.scanner-hint.is-warn{color:var(--warn)}.scanner.is-camless .scanner-view{display:none}.scanner-alt{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.scanner-alt-btn{width:100%;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:transparent;color:var(--fg-2);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer}.scanner-alt-btn:hover{border-color:var(--accent);color:var(--accent)}.scanner-manual{display:flex;gap:var(--space-2)}.scanner-manual input{flex:1 1 auto;min-width:0;padding:9px 11px;font-size:var(--text-sm)}.scanner-manual button{flex:none;padding:9px 16px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-on);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer}.scanner-manual button:hover{background:var(--accent-hover)}:root.has-scanner body{overflow:hidden}.mat-foot .set-reset{padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:transparent;color:var(--muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:-.014em;text-align:center;margin-left:0}.mat-foot .set-reset:hover{color:var(--danger);border-color:var(--danger);background:#dc26260f}}@layer components{.tabs-wrap{margin:var(--space-1) 0}.tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.seg-wrap{display:inline-flex;align-items:center;gap:var(--space-3);max-width:100%}.seg{position:relative;display:flex;align-items:center;background:var(--bg);border-radius:var(--radius-pill);padding:6px;flex:1 1 auto;min-width:0;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg-thumb{position:absolute;top:4px;bottom:4px;left:0;width:0;background:var(--accent);border-radius:var(--radius-pill);z-index:0;transition:transform var(--motion-base) var(--ease-standard),width var(--motion-base) var(--ease-standard)}.seg-btn{position:relative;z-index:1;border:none;background:transparent;cursor:pointer;white-space:nowrap;font-family:var(--font-body);font-size:var(--text-base);line-height:1.2;font-weight:600;letter-spacing:-.01em;color:var(--muted);padding:8px 16px;border-radius:var(--radius-pill);transition:color var(--motion-base) var(--ease-standard)}.seg-btn:not(.active):hover{color:var(--fg)}.seg-btn.active{color:var(--accent-on)}.seg-btn .cnt{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;opacity:.55;margin-left:6px}.seg-btn.active .cnt{opacity:.72}.seg-wrap .tab-gear{margin-left:0;flex:none;background:none}.seg-clip{position:relative;display:flex;flex:0 1 auto;min-width:0;max-width:100%;border-radius:var(--radius-pill);overflow:hidden}.seg-fade{position:absolute;top:0;bottom:0;width:38px;pointer-events:none;z-index:2;opacity:0;transition:opacity var(--motion-base) var(--ease-standard)}.seg-fade-l{left:0;background:linear-gradient(to right,var(--surface) 34%,transparent)}.seg-fade-r{right:0;background:linear-gradient(to left,var(--surface) 34%,transparent)}.seg-clip.show-l .seg-fade-l,.seg-clip.show-r .seg-fade-r{opacity:1}@media(max-width:560px){.seg-fade{width:48px}}.tab-add{width:34px;height:34px;border-radius:var(--radius-pill);border:0 solid var(--border);background:var(--bg);color:var(--muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--motion-fast) var(--ease-standard)}.tab-add:hover{background:var(--accent);border-color:var(--meta);color:var(--bg)}.tab-add svg{display:block;width:18px;height:18px}.tab-gear{margin-left:auto}.tab-editfoot{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-3)}.tab-cancel{flex:none;border:none;background:none;cursor:pointer;color:var(--muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:-.016em;padding:8px 6px}.tab-cancel:hover{color:var(--fg)}.tab-cancel:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.tab-edit{width:34px;height:34px;flex:none;border-radius:50%;border:none;background:var(--accent);color:var(--accent-on);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.tab-edit svg{display:block;width:18px;height:18px}.tab-edit:hover{background:var(--accent-hover)}.tab-edit:active{transform:scale(.94)}.tab-edit:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tab-edit:disabled{background:var(--border);color:var(--muted);cursor:not-allowed}.tab-edit:disabled:hover{background:var(--border)}.tab-edit:disabled:active{transform:none}.cat-chip{display:inline-flex;align-items:center;gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);padding:10px 6px 10px 14px}.cat-chip input{width:84px;border:none;background:transparent;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:3px;box-shadow:none}.cat-chip input:focus{box-shadow:none}.cat-chip .cdel{width:22px;height:22px;border-radius:50%;border:none;background:color-mix(in oklab,var(--danger),transparent 90%);color:var(--danger);cursor:pointer;font-size:13px;line-height:1}.cat-chip .cdel:disabled{background:var(--surface);color:var(--muted);cursor:not-allowed;opacity:.6}@media(max-width:560px){.tabs:has(.cat-chip){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2);align-items:stretch}.tabs:has(.cat-chip) .cat-chip{width:100%}.tabs:has(.cat-chip) .cat-chip input{flex:1 1 auto;min-width:0}.tabs:has(.cat-chip) .tab-add{grid-column:1 / -1;width:100%;height:38px;border-radius:var(--radius-md)}.tabs:has(.cat-chip) .tab-editfoot{grid-column:1 / -1;margin-left:0;justify-content:flex-end}}}@layer components{.cat-header{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:var(--space-5) 2px var(--space-3);font-weight:600}.menu{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-3);transition:box-shadow var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard)}.menu:hover{border-color:var(--border);box-shadow:var(--elev-raised)}.menu-top{display:flex;gap:var(--space-2);align-items:center;margin-bottom:var(--space-4)}.menu-top .m-menuname{flex:1;min-width:0;font-size:var(--text-base);font-weight:600;padding:10px 12px;letter-spacing:-.02em}.menu-top .cat-tag{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--meta);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:5px 9px}.price-field{margin-bottom:var(--space-4)}.price-field label{font-size:var(--text-sm);font-weight:500;color:var(--fg);display:block;margin-bottom:6px;letter-spacing:-.016em}.price-row{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.price-field .iw{position:relative;display:flex;align-items:center;max-width:260px;flex:1 1 180px}.price-field input{width:100%;padding:11px 32px 11px 14px;font-size:var(--text-base);font-weight:600}.price-tax{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;flex:none;margin:0}.price-tax>span:first-child{font-size:var(--text-sm);font-weight:500;color:var(--fg-2);letter-spacing:-.016em}.price-tax.is-locked{opacity:.5;cursor:not-allowed}.tax-tag{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border-soft);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;color:var(--muted);vertical-align:middle;letter-spacing:-.01em}.price-field .u{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--meta);pointer-events:none}.ing-label{font-size:var(--text-sm);font-weight:600;color:var(--fg);margin-bottom:var(--space-2);letter-spacing:-.016em}.ing-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr) 72px 28px;gap:var(--space-2);align-items:center;margin-bottom:var(--space-2)}.ing-row select{padding:9px 30px 9px 10px;font-size:var(--text-sm);width:100%}.ing-row .use-iw{position:relative;display:flex;align-items:center}.ing-row .use-iw input{width:100%;padding:9px 34px 9px 11px;font-size:var(--text-sm)}.ing-row .use-iw .u{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--meta);pointer-events:none;max-width:28px;overflow:hidden;text-align:right}.ing-cost{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--fg);white-space:nowrap;text-align:right}.ing-row .del{width:28px;height:28px;border:none}.ing-row .del:hover{color:var(--danger);background:color-mix(in oklab,var(--danger),transparent 92%)}@media(max-width:560px){.ing-row{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) 58px 24px;gap:6px}.ing-row select{padding-left:8px;padding-right:22px}.ing-row .use-iw input{padding-left:8px;padding-right:28px}.ing-cost{font-size:var(--text-xs)}.ing-row .del{width:24px;height:24px}}.labor-line{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-top:var(--space-3)}.labor-line .ll-title{font-size:var(--text-sm);font-weight:600;color:var(--fg);letter-spacing:-.016em}.labor-line .ll-prep{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--muted);font-weight:500}.labor-line .ll-prep .iw{position:relative;display:flex;align-items:center}.labor-line .ll-prep input{width:80px;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;padding:8px 28px 8px 11px;background:var(--bg)}.labor-line .ll-prep .u{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--meta);pointer-events:none}.labor-line .ll-cost{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--fg)}.labor-line .ll-basis{font-size:var(--text-xs);color:var(--meta);font-weight:400;width:100%;margin-top:-2px}.gauge-line{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.gauge{position:relative;flex:1;height:8px;border-radius:var(--radius-pill);background:var(--border-soft);overflow:hidden}.gauge .fill{position:absolute;left:0;top:0;height:100%;width:0;min-width:3px;border-radius:var(--radius-pill);background:var(--meta);transition:width var(--motion-base) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.gauge .zones{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:linear-gradient(var(--bg),var(--bg)) 30% 0 / 1.5px 100% no-repeat,linear-gradient(var(--bg),var(--bg)) 45% 0 / 1.5px 100% no-repeat;opacity:.85}.gauge-read{font-family:var(--font-body);font-size:var(--text-sm);font-weight:400;color:var(--muted);white-space:nowrap;letter-spacing:-.016em}.gauge-read b{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;color:var(--fg)}.menu-result{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);align-items:center;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-soft)}.res-item{display:flex;flex-direction:column;gap:1px}.res-item .rl{font-size:var(--text-xs);color:var(--meta);font-weight:500}.res-item .rv{font-family:var(--font-mono);font-size:var(--text-md);font-weight:600;color:var(--fg)}.res-item .rv.profit{color:var(--success)}.res-item .rv.profit.neg{color:var(--danger)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px var(--space-3);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;line-height:1.4;letter-spacing:-.01em;margin-left:auto}.gauge .fill.is-none,.ws-gauge .gfill.is-none{background:var(--meta)}.gauge .fill.is-good,.ws-gauge .gfill.is-good{background:var(--success)}.gauge .fill.is-warn,.ws-gauge .gfill.is-warn{background:var(--warn)}.gauge .fill.is-high,.ws-gauge .gfill.is-high{background:var(--danger)}.badge.is-none{color:var(--muted);background:var(--surface)}.badge.is-good{color:var(--success);background:color-mix(in oklab,var(--success),transparent 90%)}.badge.is-warn{color:var(--warn);background:color-mix(in oklab,var(--warn),transparent 88%)}.badge.is-high{color:var(--danger);background:color-mix(in oklab,var(--danger),transparent 90%)}.add-ing{margin-top:2px}.menu-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-4) 2px var(--space-1)}.menu-toolbar[hidden]{display:none}.menu-area.is-list{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:20px 20px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch}.menu-actions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.menu-actions .ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-width:120px;padding:12px;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:-.016em;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.menu-actions .ghost svg{width:16px;height:16px;flex:none}.menu-actions .ghost:hover{background:var(--surface);border-color:var(--meta);color:var(--fg)}.menu-actions .ghost:focus-visible{outline:none;box-shadow:var(--focus-ring)}.menu-actions .ghost.danger{color:var(--danger);border:0;margin-left:6px}.menu-actions .ghost.danger:hover{background:color-mix(in oklab,var(--danger),transparent 92%);border-color:var(--danger);color:var(--danger)}.menu-viewswitch{flex:none}.menu-actions .lbl-short{display:none}@media(max-width:620px){.menu-actions .lbl-full{display:none}.menu-actions .lbl-short{display:inline}}@media(max-width:480px){.menu-actions{gap:10px}.menu-actions .ghost{min-width:0;flex:1 1 0;padding:10px 6px;align-items:end}.menu-actions .ghost span{font-size:var(--text-xs)}}.view-toggle{display:inline-flex;gap:2px;padding:3px;background:var(--border-soft);border-radius:var(--radius-pill)}.view-toggle button{width:36px;height:30px;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.view-toggle button svg{width:17px;height:17px;display:block}.view-toggle button:hover{color:var(--fg-2)}.view-toggle button.active{background:var(--bg);color:var(--fg);box-shadow:0 1px 2px #00000014}.view-toggle button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.menu-area.is-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-3);align-items:start}.menu-area.is-grid>.menu{margin-bottom:0}.menu-area.is-grid>.cat-header,.menu-area.is-grid>.empty,.menu-area.is-grid>.menu:not(.menu-view){grid-column:1 / -1}.menu-area.is-grid>.cat-header{margin-top:var(--space-4)}.menu-area.is-grid>.cat-header:first-child{margin-top:0}.menu-view{display:flex;flex-direction:column;padding:20px;transition:box-shadow var(--motion-base) var(--ease-standard),transform .3s cubic-bezier(0,0,.5,1)}.menu-view:hover{box-shadow:var(--elev-raised);transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.menu-view{transition:none}.menu-view:hover{transform:none}}.mvc-head{display:flex;align-items:flex-start;gap:var(--space-2)}.mvc-headl{min-width:0;flex:1}.mv-cat{font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:3px}.mvc-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;line-height:1.2;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:lang(ko) .mvc-title{font-weight:700}.mv-actions{display:flex;align-items:center;gap:var(--space-1);flex:none}.mv-edit{padding:6px;border:none;background:transparent;color:var(--accent);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:-.016em;cursor:pointer;transition:color var(--motion-fast) var(--ease-standard)}.mv-edit:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}.mv-edit:active{transform:scale(.97)}.mv-del{width:32px;height:32px;border:none;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.mv-del svg{width:17px;height:17px;display:block}.mv-del:hover{color:var(--danger);background:color-mix(in oklab,var(--danger),transparent 92%)}.mvc-meter{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.mvc-price{flex:none;font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;color:var(--fg);line-height:1;white-space:nowrap}.mvc-price .mvc-won{font-size:var(--text-sm);font-weight:500;color:var(--muted);margin-left:2px}:lang(ko) .mvc-price{font-weight:700}.mvc-foot{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-soft)}.mvc-stats{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;flex:1}.mvc-stat{display:inline-flex;align-items:baseline;gap:5px}.mvc-stat .k{font-size:var(--text-xs);color:var(--meta);font-weight:500}.mvc-stat .v{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--fg)}.mvc-stat .v.pos{color:var(--success)}.mvc-stat .v.neg{color:var(--danger)}.mvc-stats .badge{margin-left:0}.mvc-detail{flex:none;border:none;background:none;color:var(--accent);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:-.016em;display:inline-flex;align-items:center;gap:3px;padding:4px 2px}.mvc-detail svg{width:15px;height:15px;transition:transform var(--motion-base) var(--ease-standard)}.mvc-detail:hover{color:var(--accent-hover)}.mvc-detail:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.menu-view.is-open .mvc-detail svg{transform:rotate(180deg)}.mvc-body{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-soft)}.mvc-body[hidden]{display:none}.mv-ings{display:flex;flex-wrap:wrap;gap:var(--space-2)}.mv-ing{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border-soft)}.mv-ing-n{font-size:var(--text-sm);font-weight:500;color:var(--fg);letter-spacing:-.016em}.mv-ing-u{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}.mv-ing-c{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;color:var(--fg-2)}.mv-noing{font-size:var(--text-sm);color:var(--muted);padding:2px 0}.mvc-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--space-3) var(--space-4)}.mvc-bd{display:flex;flex-direction:column;gap:2px;min-width:0}.mvc-bd .k{font-size:var(--text-xs);color:var(--meta);font-weight:500}.mvc-bd .v{font-family:var(--font-mono);font-size:var(--text-md);font-weight:600;color:var(--fg)}.menu-table{width:100%;border-collapse:collapse}.menu-table thead th{text-align:left;font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--meta);padding:0 var(--space-3) var(--space-2);border-bottom:1px solid var(--border);white-space:nowrap}.menu-table th.num{text-align:right}.menu-table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color var(--motion-fast) var(--ease-standard)}.menu-table th.sortable:hover{color:var(--fg)}.menu-table td{padding:var(--space-3);border-bottom:1px solid var(--border-soft);vertical-align:middle}.menu-table tbody tr:last-child td{border-bottom:none}.menu-table tbody tr:hover td{background:var(--surface)}.menu-table td.num{text-align:right;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--fg);white-space:nowrap}.menu-table td.num.pos{color:var(--success)}.menu-table td.num.neg{color:var(--danger)}.mt-name{font-size:var(--text-sm);font-weight:600;color:var(--fg);letter-spacing:-.016em}.mt-cat{display:block;font-size:var(--text-xs);color:var(--meta);font-weight:500;margin-top:1px}.menu-table .mt-catrow td{background:var(--surface);font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);padding:var(--space-2) var(--space-3)}.mt-actcell{text-align:right;white-space:nowrap;width:1%}.mt-actions{display:inline-flex;align-items:center;gap:var(--space-1);justify-content:flex-end}.menu-table .badge{margin:0}@media(max-width:560px){.menu-area.is-list{overflow-x:auto;-webkit-overflow-scrolling:touch}.menu-table{min-width:640px}.menu-table td,.menu-table thead th{padding-left:var(--space-2);padding-right:var(--space-2)}.mt-actions .mv-edit{padding:6px 3px}}.menu-editfoot{display:flex;justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-soft)}.menu-done{padding:9px 22px;border-radius:var(--radius-md);border:none;background:var(--accent);color:var(--accent-on);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;cursor:pointer;box-shadow:0 6px 16px color-mix(in oklab,var(--accent),transparent 78%);transition:all var(--motion-fast) var(--ease-standard)}.menu-done:hover{background:var(--accent-hover)}.menu-done:active{transform:scale(.98)}}@layer components{.summary-card{background:var(--surface-dark);border:1px solid var(--surface-dark);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);box-shadow:var(--elev-raised)}.summary-body{position:relative}.summary-empty{display:none}.summary-card.is-empty .summary-bar{opacity:.18;pointer-events:none}.summary-card.is-empty .summary-empty{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;bottom:0;left:0;color:var(--white);font-size:var(--text-sm);font-weight:500;letter-spacing:-.01em;text-align:center;background:#00000038;border-radius:var(--radius-md)}.summary-card .side-card-title{color:var(--success)}.settings .side-card-title{color:var(--accent)}.summary-bar{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-4);align-items:start;transition:opacity var(--motion-base) var(--ease-standard)}.summary-bar .s-item{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.summary-bar .sl{font-size:var(--text-xs);color:var(--fg-on-dark-muted);font-weight:500;letter-spacing:.02em;text-transform:uppercase;font-family:var(--font-display)}.summary-bar .sv{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:600;color:var(--fg-on-dark);letter-spacing:-.01em;white-space:nowrap}.summary-bar .sv .unit-suffix{color:var(--fg-on-dark-muted);font-size:.62em}.summary-bar .sv.accent{color:var(--accent-bright)}.summary-bar .sv.pos{color:var(--success)}.summary-bar .sv.neg{color:var(--danger)}.summary-bar .sv-health.is-good{color:var(--success)}.summary-bar .sv-health.is-warn{color:var(--warn)}.summary-bar .sv-health.is-high{color:var(--danger)}.summary-bar .sv-health.is-none{color:var(--fg-on-dark)}.settings{background:var(--bg);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.settings.is-attention{animation:settings-shake .42s var(--ease-standard);box-shadow:0 0 0 2px color-mix(in oklab,var(--danger),transparent 52%)}@keyframes settings-shake{0%,to{transform:translate(0)}18%,54%{transform:translate(-4px)}36%,72%{transform:translate(4px)}}@media(prefers-reduced-motion:reduce){.settings.is-attention{animation:none}}.settings-summary{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.settings-summary::-webkit-details-marker{display:none}.settings-summary .side-card-title{margin-bottom:0;flex:1}.set-chev{display:inline-flex;color:var(--muted);transition:transform var(--motion-base) var(--ease-standard)}.set-chev svg{width:18px;height:18px;display:block}.settings[open] .set-chev{transform:rotate(180deg)}.settings-summary:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.settings-body{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);align-items:center;margin-top:var(--space-4)}.set-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--fg);letter-spacing:-.016em}.set-item .iw{position:relative;display:flex;align-items:center}.set-item input{width:200px;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--fg);background:var(--bg);padding:9px 32px 9px 12px}.set-item select{width:200px;height:37px;padding:0 32px 0 12px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--fg);background-color:var(--bg)}.set-item input:disabled{background:var(--surface);color:var(--meta);cursor:not-allowed}.set-item input:disabled+.u{color:var(--meta)}.set-item .u{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--meta);pointer-events:none}.set-note{font-size:var(--text-xs);color:var(--muted);font-weight:400;letter-spacing:-.01em}.set-divider{height:1px;background:var(--border-soft);margin:var(--space-1) 0;width:100%}.set-vat{font-weight:500}.toggle{position:relative;display:inline-flex;align-items:center;flex:none}.toggle input{position:absolute;opacity:0;width:0;height:0;margin:0}.toggle .track{position:relative;width:44px;height:26px;border-radius:var(--radius-pill);background:var(--border);cursor:pointer;transition:background-color var(--motion-base) var(--ease-standard);display:block}.toggle .knob{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:var(--white);box-shadow:0 1px 3px #0000002e;transition:transform var(--motion-base) var(--ease-standard)}.toggle input:checked~.track{background:var(--accent)}.toggle input:checked~.track .knob{transform:translate(18px)}.toggle input:focus-visible~.track{box-shadow:var(--focus-ring)}.set-item[hidden]{display:none}.set-sub{width:100%;font-size:var(--text-xs);font-weight:700;color:var(--meta);letter-spacing:.01em;margin-bottom:calc(var(--space-2) * -1 + 2px)}.fx-items{width:100%;display:flex;flex-direction:column;gap:var(--space-2)}.fx-item{display:flex;align-items:center;gap:var(--space-2)}.fx-item .fx-name{flex:1 1 auto;min-width:0;font-size:var(--text-sm);font-weight:500;color:var(--fg);background:var(--bg);padding:9px 12px}.fx-item .iw{position:relative;display:flex;align-items:center;flex:none}.fx-item .fx-amt{width:132px;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--fg);background:var(--bg);padding:9px 28px 9px 10px}.fx-item .u{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--meta);pointer-events:none}.fx-del{flex:none;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;transition:background-color var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard)}.fx-del:hover{background:#dc26261a;color:var(--danger)}.fx-del:focus-visible{outline:none;box-shadow:var(--focus-ring)}.fx-add{width:100%;padding:9px 12px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--accent);font-size:var(--text-sm);font-weight:600;cursor:pointer;letter-spacing:-.01em;transition:border-color var(--motion-base) var(--ease-standard),background-color var(--motion-base) var(--ease-standard)}.fx-add:hover{border-color:var(--accent);background:var(--surface-warm)}.fx-add:focus-visible{outline:none;box-shadow:var(--focus-ring)}.fx-mode{width:100%;display:flex;gap:2px;padding:2px;background:var(--surface);border-radius:var(--radius-sm)}.fx-mode button{flex:1;padding:7px 8px;border:none;background:transparent;border-radius:6px;font-size:var(--text-xs);font-weight:600;color:var(--muted);cursor:pointer;letter-spacing:-.01em;transition:background-color var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard)}.fx-mode button.is-on{background:var(--bg);color:var(--fg);box-shadow:0 1px 2px #00000014}.fx-mode button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.fx-result{width:100%;display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface-warm);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-3)}.fx-r{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-xs);color:var(--muted);letter-spacing:-.01em}.fx-r span:last-child{font-family:var(--font-mono);font-weight:600;color:var(--fg)}.fx-r--main{padding-top:var(--space-2);border-top:1px solid var(--border-soft);font-size:var(--text-sm);font-weight:600;color:var(--fg)}.fx-r--main span:last-child{color:var(--accent)}.fx-hint{width:100%;color:var(--accent)}.fx-labor-note{width:100%}.fx-labor-note b{color:var(--accent);font-family:var(--font-mono);font-weight:600}.fx-labor-note .lc-eq{color:var(--meta);font-family:var(--font-mono)}.side-block--mode{margin-bottom:calc(var(--space-3) * -1)}.mode-switch{display:flex;gap:2px;padding:3px;background:var(--surface);border-radius:var(--radius-md)}.mode-switch button{display:flex;padding:10px 8px;border:none;background:transparent;border-radius:calc(var(--radius-md) - 3px);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--muted);cursor:pointer;letter-spacing:-.014em;transition:background-color var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard)}.mode-switch button.is-on{background:var(--card);color:var(--accent);box-shadow:0 1px 3px #141c261f}[data-theme=dark] .mode-switch button.is-on{background:#29303a;box-shadow:none}.mode-switch button:focus-visible{outline:none;box-shadow:var(--focus-ring)}body.mode-basic .side-block--fixed{display:none}.set-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.set-save{padding:11px 14px;border:none;border-radius:var(--radius-md);background:var(--accent);color:var(--accent-on);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:-.014em;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard)}.set-save:hover:not(:disabled){background:var(--accent-hover)}.set-save:focus-visible{outline:none;box-shadow:var(--focus-ring)}.set-save:disabled{background:var(--surface);color:var(--meta);cursor:default}.set-actions .set-reset{padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:transparent;color:var(--muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:-.014em;text-align:center}.set-actions .set-reset:hover{color:var(--danger);border-color:var(--danger);background:#dc26260f}.set-reset{padding:8px 14px;border:none;background:transparent;color:var(--muted);font-size:var(--text-xs);font-weight:600;cursor:pointer;letter-spacing:-.01em;border-radius:var(--radius-sm);transition:color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.set-reset:hover{color:var(--danger);background:#dc262614}.set-reset:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ref-tag{display:inline-block;font-size:var(--text-2xs);font-weight:500;color:var(--meta);background:var(--surface);border-radius:var(--radius-pill);padding:1px 7px;margin-left:5px;letter-spacing:0;vertical-align:middle}.mvc-bd--sum,.mvc-bd--ref{grid-column:1/-1;flex-direction:row;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.mvc-bd--sum{border-top:1px solid var(--border);margin-top:2px;padding-top:10px}.mvc-bd--sum .k{color:var(--fg);font-weight:600}.mvc-bd--sum .v{font-size:var(--text-md)}.mvc-bd--ref,.mvc-bd--ref .v{color:var(--muted)}.mvc-bd--ref .v{font-weight:500}.ws-line.is-ref,.ws-line.is-ref .wv{color:var(--muted)}.s-item--cvp .sl{color:var(--accent-bright)}.toolbar{display:flex;gap:var(--space-2);margin:var(--space-4) 0 var(--space-2);flex-wrap:wrap}.toolbar button{display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 18px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:-.01em;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--fg);transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.toolbar button:hover{background:var(--surface);border-color:var(--meta)}.toolbar button:active{transform:scale(.98)}.toolbar button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.toolbar button.primary{background:var(--accent);color:var(--accent-on);border-color:transparent;border-radius:var(--radius-md);padding:12px 18px;font-weight:700;font-size:var(--text-base);box-shadow:0 6px 16px color-mix(in oklab,var(--accent),transparent 78%)}.toolbar button.primary:hover{background:var(--accent-hover)}.toolbar button.primary:active{background:var(--accent-active);transform:scale(.98)}.toolbar-spacer{flex:1}.toolbar button.ghost{border:none;background:transparent;color:var(--muted);padding:8px 10px;font-size:var(--text-sm);border-radius:var(--radius-sm)}.toolbar button.ghost:hover{background:var(--surface);border:none;color:var(--fg)}.toolbar button.ghost svg{width:16px;height:16px;flex:none}.toolbar button.ghost.danger{color:var(--danger)}.toolbar button.ghost.danger:hover{background:color-mix(in oklab,var(--danger),transparent 92%);color:var(--danger)}.side-block--tools .toolbar{flex-direction:column;align-items:stretch;gap:var(--space-2);margin:0}.side-block--tools .toolbar button.primary{width:100%;justify-content:center}.export-cta{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;margin-top:var(--space-3);padding:12px 26px 12px 18px;border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent);color:var(--accent-on);cursor:pointer;box-shadow:0 6px 16px color-mix(in oklab,var(--accent),transparent 78%);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.export-cta svg{width:18px;height:18px;flex:none}.export-cta:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-on)}.export-cta:active{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-on);transform:scale(.98)}.export-cta:focus-visible{outline:none;box-shadow:var(--focus-ring)}.export-cta:disabled{background:var(--surface);border-color:var(--border-soft);color:var(--muted);cursor:not-allowed;transform:none}.export-cta[hidden]{display:none}@media(max-width:620px){.side-block--tools{display:none}}.fab-add{display:none}@media(max-width:620px){:root[data-route=menus] .fab-add{display:inline-flex;align-items:center;justify-content:center;position:fixed;z-index:45;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;background:var(--accent);color:var(--accent-on);box-shadow:0 6px 16px #00000038;transition:transform var(--motion-base) var(--ease-standard),opacity var(--motion-base) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.fab-add svg{width:26px;height:26px;display:block}.fab-add:hover,.fab-add:active{background:var(--accent-hover)}.fab-add:active{transform:scale(.94)}.fab-add:focus-visible{outline:none;box-shadow:0 6px 16px #00000038,var(--focus-ring)}body:has(.menu-area .menu:not(.menu-view)) .fab-add{display:none}:root[data-route=menus] .page-head .page-cta{display:none}:root[data-route=menus] .page-head-r{flex:1 1 100%}:root[data-route=menus] .page-head .view-search{flex:1 1 100%}}}@layer components{.mode-landing{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.ml-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--elev-raised);max-width:620px;width:100%;padding:var(--space-8) var(--space-6);text-align:center;max-height:min(92dvh,860px);overflow-y:auto}.ml-brand{font-family:var(--font-display);font-weight:600;color:var(--accent);letter-spacing:-.02em;margin-bottom:var(--space-3)}.ml-title{font-size:var(--text-2xl);font-weight:650;letter-spacing:-.02em;color:var(--fg);margin:0 0 var(--space-2)}.ml-sub{font-size:var(--text-sm);color:var(--muted);margin:0 0 var(--space-6);letter-spacing:-.01em}.ml-opts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.ml-opt{position:relative;display:flex;flex-direction:column;gap:var(--space-2);text-align:left;padding:var(--space-6) var(--space-5);background:var(--surface-warm);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--motion-base) var(--ease-standard),background-color var(--motion-base) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.ml-opt:hover{border-color:var(--accent);background:var(--bg);transform:translateY(-2px)}.ml-opt:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ml-opt--adv{border-color:var(--accent-soft,var(--border))}.ml-opt-badge{position:absolute;top:var(--space-3);right:var(--space-3);font-size:var(--text-2xs);font-weight:600;color:var(--accent);background:var(--accent-tint,var(--surface));border-radius:var(--radius-pill);padding:2px 9px}.ml-opt-h{font-size:var(--text-lg);font-weight:600;color:var(--fg);letter-spacing:-.016em}.ml-opt-d{font-size:var(--text-sm);color:var(--muted);line-height:1.5;letter-spacing:-.01em}.ml-foot{margin-top:var(--space-5);font-size:var(--text-xs);color:var(--meta)}@media(max-width:560px){.ml-opts{grid-template-columns:1fr}.ml-title{font-size:var(--text-xl)}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}.confirm-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--elev-raised);max-width:340px;width:100%;padding:var(--space-6);display:flex;flex-direction:column;max-height:min(88dvh,760px)}.confirm-msg{flex:none;font-size:var(--text-base);font-weight:500;color:var(--fg);margin-bottom:var(--space-5);line-height:1.45;letter-spacing:-.016em}.confirm-sub{font-size:var(--text-sm);color:var(--muted);font-weight:400;display:block;margin-top:6px;letter-spacing:-.01em}.confirm-actions{flex:none;display:flex;gap:var(--space-2);justify-content:flex-end}.confirm-card .wiz-addform{flex:1 1 auto;min-height:0;overflow-y:auto}.confirm-card--wide{max-width:520px;width:100%}.confirm-card--wide .confirm-msg{margin-bottom:var(--space-4)}.confirm-card--wide .confirm-actions{margin-top:var(--space-5)}.empty{text-align:center;color:var(--muted);font-size:var(--text-sm);padding:120px var(--space-4);border-radius:var(--radius-lg);background:var(--border-soft)}.th-help{display:inline-flex;align-items:center;gap:4px;min-width:0}.help-badge{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;flex:none;padding:0;border:none;border-radius:50%;background:var(--border);color:var(--fg-2);font-size:10px;font-weight:700;line-height:1;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.help-badge:hover{background:var(--accent);color:var(--accent-on)}.help-badge:focus-visible{outline:none;box-shadow:var(--focus-ring)}.hint .help-badge{margin-left:6px;vertical-align:middle}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:24px;animation:help-fade var(--motion-fast) var(--ease-standard)}.help-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--elev-raised);max-width:460px;width:100%;max-height:85dvh;display:flex;flex-direction:column;overflow:hidden}.help-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-3)}.help-title{font-size:var(--text-lg);font-weight:700;color:var(--fg);letter-spacing:-.02em;flex:1}.help-close{width:30px;height:30px;flex:none;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.help-close svg{width:18px;height:18px}.help-close:hover{background:var(--surface);color:var(--fg)}.help-close:focus-visible{outline:none;box-shadow:var(--focus-ring)}.help-body{padding:10px var(--space-6) 0;overflow-y:auto;font-size:var(--text-sm);color:var(--fg-2);line-height:1.5}.help-actions{padding:var(--space-1) var(--space-6) var(--space-5);display:flex;justify-content:flex-end}@keyframes help-fade{0%{opacity:0}to{opacity:1}}@media(max-width:560px){.help-overlay{align-items:flex-end;justify-content:stretch;padding:0}.help-card{position:relative;max-width:none;width:100%;max-height:88dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom);animation:help-sheet-up var(--motion-base) var(--ease-standard)}.help-head{padding-top:var(--space-6)}.help-card:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:var(--radius-pill);background:var(--border)}}@keyframes help-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.help-overlay,.help-card{animation:none}}.help-body .help-lead{font-size:var(--text-base);color:var(--fg);font-weight:500;margin:0 0 var(--space-4);letter-spacing:-.01em}.help-body .help-formula{font-family:var(--font-mono);font-size:var(--text-md);font-weight:700;background:var(--surface);border-radius:var(--radius-sm);padding:20px 12px;color:var(--fg);text-align:center;margin-bottom:var(--space-4)}.help-body .help-table{width:100%;border-collapse:collapse;font-size:var(--text-xs);margin-bottom:var(--space-4)}.help-body .help-table th,.help-body .help-table td{border:1px solid var(--border-soft);padding:6px 8px;text-align:left}.help-body .help-table th{background:var(--surface);font-weight:600;color:var(--fg)}.help-body .help-table td:last-child{font-family:var(--font-mono);color:var(--accent);font-weight:600}.help-body .help-p{margin:0 0 var(--space-4);line-height:1.55}.help-body .help-p b{color:var(--fg)}.help-body .help-eg{display:block;margin-top:6px;font-size:var(--text-xs);color:var(--muted);font-family:var(--font-mono)}.help-body .help-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;font-weight:600}.help-body .help-link:hover{color:var(--accent-hover)}.help-body .help-link:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:2px}.mxl-card{max-width:480px;width:100%;overflow-y:auto}.mxl-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.mxl-title{font-size:var(--text-lg);font-weight:700;color:var(--fg);letter-spacing:-.02em;flex:1}.mxl-choices{display:flex;flex-direction:column;gap:var(--space-3)}.mxl-choice{display:flex;align-items:center;gap:var(--space-4);width:100%;text-align:left;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--fg);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.mxl-choice:hover{border-color:var(--accent);background:var(--card)}.mxl-choice:focus-visible{outline:none;box-shadow:var(--focus-ring)}.mxl-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--card);color:var(--accent)}.mxl-ic svg{width:22px;height:22px}.mxl-ct{display:flex;flex-direction:column;gap:2px;min-width:0}.mxl-ct b{font-size:var(--text-base);font-weight:600;letter-spacing:-.016em}.mxl-ct span{font-size:var(--text-sm);color:var(--muted);line-height:1.4}.mxl-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);border:2px dashed var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--fg-2);text-align:center;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.mxl-drop:hover,.mxl-drop:focus-visible,.mxl-drop.is-over{outline:none;border-color:var(--accent);background:var(--card)}.mxl-drop-t{font-size:var(--text-sm);max-width:26ch}.mxl-status{padding:var(--space-6) var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--fg-2);line-height:1.5}.mxl-err{color:var(--danger)}.mxl-preview{max-height:40vh;overflow-y:auto;border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.mxl-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.mxl-table th,.mxl-table td{padding:7px 10px;text-align:left;border-bottom:1px solid var(--border-soft)}.mxl-table th{background:var(--surface);font-weight:600;color:var(--fg);position:sticky;top:0}.mxl-table td.num,.mxl-table th.num{text-align:right;font-family:var(--font-mono);white-space:nowrap}.mxl-more{text-align:center;color:var(--muted);font-size:var(--text-xs)}.mxl-foot{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-5)}.maker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:24px}.maker-card{position:relative;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--elev-raised);max-width:360px;width:100%;max-height:85dvh;overflow-y:auto;padding:var(--space-8) var(--space-6) var(--space-6);display:flex;flex-direction:column;align-items:center;text-align:center}.maker-close{position:absolute;top:12px;right:12px}.maker-avatar{width:84px;height:84px;flex:none;border-radius:50%;background:var(--accent);color:var(--accent-on);display:flex;align-items:center;justify-content:center;overflow:hidden;font-family:var(--font-display);font-weight:700;font-size:36px;letter-spacing:-.02em;margin-bottom:var(--space-4)}.maker-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.maker-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--fg);letter-spacing:-.02em;margin-bottom:var(--space-3)}.maker-bio{font-size:var(--text-sm);color:var(--fg-2);line-height:1.6;margin:0 0 var(--space-3);letter-spacing:-.01em}.maker-ps{font-size:var(--text-xs);color:var(--muted);line-height:1.55;margin:0 0 var(--space-5)}.maker-socials{display:flex;flex-wrap:wrap;gap:var(--space-3);width:100%;justify-content:center}.maker-social{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--radius-pill);background:var(--surface);color:var(--fg);text-decoration:none;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:-.016em;transition:border-color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.maker-social svg{width:18px;height:18px;flex:none}.maker-social:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}[data-theme=dark] .maker-social:hover{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.maker-social:focus-visible{outline:none;box-shadow:var(--focus-ring)}.export-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:24px}.export-modal{position:relative;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--elev-raised);max-width:400px;width:100%;max-height:85dvh;overflow-y:auto;padding:var(--space-6)}.export-close{position:absolute;top:12px;right:12px}.exm-title{font-size:var(--text-lg);font-weight:700;color:var(--fg);letter-spacing:-.02em;margin-bottom:var(--space-4);padding-right:36px}.exm-done{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-4) 0 var(--space-2)}.exm-done-ic{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--success),transparent 88%);color:var(--success);margin-bottom:var(--space-4)}.exm-done-ic svg{width:26px;height:26px}.exm-done-msg{font-size:var(--text-base);font-weight:500;color:var(--fg);line-height:1.55;margin:0 0 var(--space-3);letter-spacing:-.016em}.exm-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);margin:0}.install-guide{font-size:var(--text-sm);color:var(--fg-2);line-height:1.6;margin:0;letter-spacing:-.01em}.guide-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;counter-reset:gs}.guide-steps li{display:flex;align-items:flex-start;gap:10px;font-size:var(--text-sm);color:var(--fg-2);line-height:1.5}.guide-steps li:before{counter-increment:gs;content:counter(gs);flex:none;width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--accent-on);font-family:var(--font-mono);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.guide-steps b{color:var(--fg)}.gk{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 4px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--fg);font-size:13px;vertical-align:-5px}.toast{position:fixed;left:50%;bottom:32px;z-index:80;transform:translate(-50%) translateY(10px);background:var(--surface-dark);color:var(--fg-on-dark);padding:10px 18px;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:-.01em;box-shadow:var(--elev-raised);opacity:0;pointer-events:none;transition:opacity var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard)}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}}@layer components{.wiz-btn.danger{background:var(--danger);color:var(--white);border-color:transparent}.wiz-btn.danger:hover{background:var(--danger-active)}.wiz-root[hidden]{display:none}.wiz-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:clamp(12px,4vw,48px) clamp(12px,4vw,40px);overflow:auto}.wiz{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--elev-raised);width:100%;max-width:880px;margin:auto;display:flex;flex-direction:column;overflow:hidden;max-height:100%}.wiz-head{flex:none;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-soft)}.wiz-head .wt{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);letter-spacing:-.02em}.wiz-close{margin-left:auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--motion-fast) var(--ease-standard)}.wiz-close:hover{background:var(--surface);color:var(--fg)}.wiz-close svg{width:16px;height:16px;display:block}.wiz-steps{display:flex;gap:6px;align-items:center}.wiz-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:all var(--motion-base) var(--ease-standard)}.wiz-dot.on{background:var(--accent);width:22px;border-radius:var(--radius-pill)}.wiz-dot.done{background:var(--accent)}.wiz-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:var(--space-6);padding:var(--space-6)}.wiz-body.wiz-body--full{grid-template-columns:1fr}@media(max-width:720px){.wiz-body{grid-template-columns:1fr;gap:var(--space-4)}}.wiz-main{min-width:0}.wiz-steplabel{font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-2)}.wiz-q{font-size:var(--text-xl);font-weight:600;letter-spacing:-.012em;margin-bottom:var(--space-5);line-height:1.14}:lang(ko) .wiz-q{font-weight:700}.opt-grid{display:flex;flex-direction:column;gap:var(--space-2)}.opt-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg);cursor:pointer;text-align:left;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.opt-card:hover{border-color:var(--meta)}.opt-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.opt-card .oc-body{display:flex;flex-direction:column;gap:2px;min-width:0}.opt-card .oc-title{font-size:var(--text-base);font-weight:600;letter-spacing:-.016em}.opt-card .oc-sub{font-size:var(--text-sm);color:var(--muted)}.opt-card .oc-meta{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-2);white-space:nowrap}.opt-card .oc-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border);flex:none;display:flex;align-items:center;justify-content:center;color:var(--white)}.opt-card.selected .oc-check{background:var(--accent);border-color:var(--accent)}.opt-card .oc-check svg{width:12px;height:12px;opacity:0}.opt-card.selected .oc-check svg{opacity:1}.chip-palette{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.chip{display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:-.016em;cursor:pointer;transition:all var(--motion-fast) var(--ease-standard)}.chip:hover{background:var(--surface);border-color:var(--meta)}.chip.added{background:var(--accent);color:var(--accent-on);border-color:transparent}.chip .chip-mark{font-size:13px}.chip.chip-new{border-style:dashed;color:var(--accent);border-color:var(--accent)}.chip.chip-new:hover{background:color-mix(in oklab,var(--accent),transparent 92%);border-color:var(--accent)}.wiz-addform{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-4);margin-bottom:var(--space-4)}.wiz-addform--bare{border:none;padding:0;background:transparent;margin:0}.wiz-addform .waf-title{font-size:var(--text-sm);font-weight:600;color:var(--fg);margin-bottom:var(--space-3);letter-spacing:-.016em}.wiz-addform .waf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.wiz-addform .waf-name,.wiz-addform .waf-price{grid-column:1 / -1}.wiz-addform .waf-f{display:flex;flex-direction:column;gap:5px;min-width:0}.wiz-addform .waf-f label{font-size:var(--text-xs);font-weight:500;color:var(--muted)}.wiz-addform .waf-f input,.wiz-addform .waf-f select{width:100%;padding:9px 11px;font-size:var(--text-sm);font-family:var(--font-mono);background-color:var(--bg)}.wiz-addform .waf-f select{padding-right:30px}.wiz-addform .waf-f input.named{font-family:var(--font-body);font-weight:500}.wiz-addform .iw{position:relative;display:flex;align-items:center}.wiz-addform .iw input{padding-right:30px}.wiz-addform .iw .u{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--meta);pointer-events:none}.wiz-addform .waf-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.wiz-addform .waf-actions .wiz-btn{padding:9px 18px;font-size:var(--text-sm)}.wiz-addform .waf-hint{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-2)}.picked{display:flex;flex-direction:column;gap:var(--space-2)}.picked-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md)}.picked-row .pr-name{font-size:var(--text-sm);font-weight:600;min-width:0;flex:1;display:inline-flex;align-items:center;gap:5px;background:none;border:none;text-align:left;color:var(--fg);cursor:pointer;padding:0;font-family:var(--font-body);letter-spacing:-.016em}.picked-row .pr-name .pr-edit{font-size:var(--text-xs);color:var(--meta);opacity:.7;flex:none}.picked-row .pr-name:hover .pr-edit{color:var(--accent);opacity:1}.stepper .sv input.pr-use{width:48px;border:none;background:transparent;text-align:center;font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);padding:0;color:var(--fg);-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.stepper .sv input.pr-use::-webkit-outer-spin-button,.stepper .sv input.pr-use::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.ws-switch{position:relative;display:inline-flex;width:32px;height:19px;flex:none;cursor:pointer;vertical-align:-4px}.ws-switch input{opacity:0;width:0;height:0;position:absolute;margin:0}.ws-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--muted);border-radius:var(--radius-pill);transition:background var(--motion-fast) var(--ease-standard)}.ws-slider:before{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;background:var(--white);border-radius:50%;transition:transform var(--motion-fast) var(--ease-standard)}.ws-switch input:checked+.ws-slider{background:var(--accent-bright)}.ws-switch input:checked+.ws-slider:before{transform:translate(13px)}.ws-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border-soft);font-size:var(--text-xs);font-weight:500;color:var(--muted);letter-spacing:-.01em}.picked-row .pr-cost{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--fg);white-space:nowrap}.picked-row .pr-del{width:26px;height:26px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:16px;flex:none;display:inline-flex;align-items:center;justify-content:center}.picked-row .pr-del:hover{color:var(--danger);background:color-mix(in oklab,var(--danger),transparent 92%)}@media(max-width:560px){.picked-row{flex-wrap:wrap;gap:var(--space-2) var(--space-3)}.picked-row .pr-name{flex:1 1 100%}.picked-row .pr-cost{margin-left:auto}}.stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg);flex:none}.stepper button{width:32px;height:32px;border:none;background:var(--bg);cursor:pointer;font-size:17px;color:var(--fg);display:flex;align-items:center;justify-content:center;transition:background-color var(--motion-fast) var(--ease-standard)}@media(hover:hover){.stepper button:hover{background:var(--surface)}}.stepper button:active{background:var(--surface)}.stepper .sv{min-width:66px;text-align:center;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;border-left:1px solid var(--border);border-right:1px solid var(--border);padding:7px 4px}.stepper .sv .su{font-size:var(--text-xs);color:var(--meta);margin-left:2px}.preset-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.preset{padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;display:flex;flex-direction:column;gap:2px;align-items:center;min-width:84px;transition:all var(--motion-fast) var(--ease-standard)}@media(hover:hover){.preset:hover{border-color:var(--meta)}}.preset.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.preset .pl{font-weight:600}.preset .ps{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}.wiz-directfield{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.wiz-directfield label{font-size:var(--text-sm);color:var(--muted);font-weight:500}.wiz-directfield input{width:120px;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;padding:9px 11px}.wiz-prep-input{width:54px;border:none;background:transparent;text-align:center;font-family:var(--font-mono);font-weight:600;padding:0}.wiz-laborout{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--fg-2)}.wiz-laborout b{font-family:var(--font-mono);font-weight:600;color:var(--fg)}.wiz-warn{color:var(--danger);font-size:var(--text-sm);font-weight:500;margin-top:6px;letter-spacing:-.016em}.wiz-field{margin-bottom:var(--space-4)}.wiz-field label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--fg);margin-bottom:6px;letter-spacing:-.016em}.wiz-field .iw{position:relative;display:flex;align-items:center;max-width:320px}.wiz-field input{width:100%;padding:12px 14px;font-size:var(--text-base)}.wiz-field .iw.has-u input{padding-right:34px}.wiz-field .iw .u{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--meta);pointer-events:none}.wiz-summary{background:var(--surface-warm);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-5);align-self:start;position:sticky;top:0}.wiz-summary .ws-eyebrow{font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-3)}.wiz-summary .ws-name{font-size:var(--text-base);font-weight:600;letter-spacing:-.016em;margin-bottom:var(--space-1)}.wiz-summary .ws-cat{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--meta);margin-bottom:var(--space-4)}.ws-line{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-sm);padding:5px 0}.ws-estimate{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5)}.ws-line.is-strong .wl{font-weight:600;color:var(--fg)}.ws-line.is-strong .wv{font-weight:600}.ws-line.is-sub .wv{color:var(--fg-2)}.ws-line.is-muted .wv{color:var(--muted)}.ws-line.div-soft{border-top:1px solid var(--border-soft);margin-top:6px;padding-top:10px}.ws-line.div-strong{border-top:1px solid var(--border);margin-top:6px;padding-top:10px}.ws-formula{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-3);padding:0 2px;line-height:1.6}.ws-line .wl{color:var(--muted)}.ws-line .wv{font-family:var(--font-mono);font-weight:600;color:var(--fg)}.ws-line .wv.pos{color:var(--success)}.ws-line .wv.neg{color:var(--danger)}.ws-gauge{margin:var(--space-4) 0 var(--space-2)}.ws-gauge .gtrack{position:relative;height:8px;border-radius:var(--radius-pill);background:var(--border-soft);overflow:hidden}.ws-gauge .gfill{position:absolute;left:0;top:0;height:100%;width:0;min-width:3px;border-radius:var(--radius-pill);background:var(--meta);transition:width var(--motion-base) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.ws-gauge .gzones{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(var(--surface-warm),var(--surface-warm)) 30% 0/1.5px 100% no-repeat,linear-gradient(var(--surface-warm),var(--surface-warm)) 45% 0/1.5px 100% no-repeat;opacity:.85}.ws-gaugehead{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2)}.ws-gaugehead .gr{font-size:var(--text-sm);color:var(--muted)}.ws-gaugehead .gr b{font-family:var(--font-mono);font-size:var(--text-base);color:var(--fg)}.ws-gaugehead .badge{margin:0}.wiz-foot{flex:none;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-soft)}.wiz-foot .spacer{flex:1}.wiz-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:11px 22px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--fg);transition:all var(--motion-fast) var(--ease-standard)}.wiz-btn:hover{background:var(--surface);border-color:var(--meta)}.wiz-btn:disabled{opacity:.4;cursor:not-allowed}.wiz-btn.primary{background:var(--accent);color:var(--accent-on);border-color:transparent;font-weight:700;box-shadow:0 6px 16px color-mix(in oklab,var(--accent),transparent 78%)}.wiz-btn.primary:hover{background:var(--accent-hover)}.wiz-btn.primary:active{transform:scale(.98)}.wiz-emptyhint{color:var(--muted);font-size:var(--text-sm);padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface)}.wiz-emptyhint--gap{margin-bottom:var(--space-4)}}@layer components{.print-report{display:none;color:#000}.print-report .pr-brandrow{display:flex;align-items:center;gap:7px;margin-bottom:3px}.print-report .pr-logo{width:22px;height:22px;display:block;flex:none}.print-report .pr-brand{font-size:11px;letter-spacing:.04em;color:#666;text-transform:uppercase}.print-report .pr-title{font-size:22px;font-weight:700;margin:2px 0 4px}.print-report .pr-meta{font-size:11px;color:#555;margin-bottom:14px}.print-report .pr-h2{font-size:14px;font-weight:700;margin:16px 0 6px;border-bottom:1.5px solid #111;padding-bottom:3px}.print-report .pr-table{width:100%;border-collapse:collapse;font-size:10px;table-layout:auto}.print-report .pr-table th,.print-report .pr-table td{border:1px solid #ccc;padding:4px 6px;text-align:left;vertical-align:top}.print-report .pr-table th{background:#f2f2f2;font-weight:600;white-space:nowrap}.print-report .pr-table td.num,.print-report .pr-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.print-report .pr-table td.neg{color:#c00}.print-report .pr-table td.ings{white-space:normal;min-width:140px;font-size:9px;color:#444}.print-report .pr-empty{text-align:center;color:#999}.print-report .pr-foot{margin-top:14px;font-size:9.5px;color:#777;line-height:1.4}@media print{body>*:not(.print-report){display:none!important}.print-report{display:block!important;background:#fff;font-family:var(--font-body);-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-report .pr-table{page-break-inside:auto}.print-report tr{page-break-inside:avoid}@page{size:landscape;margin:12mm}}}@layer utilities{.mono{font-family:var(--font-mono)}@media(pointer:coarse){input,select,textarea{font-size:16px}.menu-top .m-menuname,.price-field input{font-size:var(--text-base)}.side .set-item .iw input,.fx-item .fx-amt{width:152px}}@media(pointer:coarse){.del,.tab-add,.wiz-close,.pr-del,.mv-edit,.add-btn,.stepper button{min-width:44px;min-height:44px}.cat-chip .cdel{width:30px;height:30px}.toggle .track{width:52px;height:30px}.toggle .knob{width:26px;height:26px}.toggle input:checked~.track .knob{transform:translate(22px)}}}
