:root{--bg:#f3f5f8;--panel:#fff;--field:#fff;--paper:#f7f9fc;--gridc:#e2e8f0;--ink:#111827;--ink2:#5b6675;--line:#dde3ea;--soft:#f0f3f7;--accent:#1b5fd1;--accent-soft:#e6eefc;--accent-ink:#fff;--brand:#e8731a;--brand-soft:#fdefe3;--oxide:#b4432a;--oxide-soft:#fbe9e4;--ok:#1f7a47;--ok-soft:#e1f3e8;--warn:#8a5d06;--warn-soft:#fbf1da;--steel:#323c48;--steel2:#6b7785;--c1:#1b5fd1;--c2:#0e7a76;--c3:#b4432a;--c4:#86690c;--c5:#6a4bb0;--on-c:#fff;--shadow:0 1px 2px rgba(17,24,39,.05),0 2px 8px rgba(17,24,39,.05);--shadow-lg:0 8px 28px rgba(17,24,39,.12);--r:10px;--f-display:"Barlow Condensed","Arial Narrow",sans-serif;--f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;--f-hi:"Noto Sans Devanagari","Mangal","Nirmala UI",sans-serif;color-scheme:light}*{box-sizing:border-box}body,html{margin:0}body{color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent)}img{max-width:100%}h1,h2,h3{font-family:var(--f-display);font-weight:700;letter-spacing:.02em;text-wrap:balance;margin:0;line-height:1.1}h1{font-size:32px}h1,h2{text-transform:uppercase}h2{font-size:24px}h3{font-size:18px;text-transform:uppercase}.hi{font-family:var(--f-hi);font-weight:500;color:var(--ink2);letter-spacing:0}.mono,.num{font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--ink2)}.small{font-size:13px}.eyebrow{font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2);font-weight:600}.top{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--panel);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0)}.top-in{max-width:1280px;margin:0 auto;gap:14px;min-height:56px;padding:0 max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}.brand,.top-in{display:flex;align-items:center}.brand{gap:10px;min-width:0;text-decoration:none;color:inherit}.brand svg{width:26px;height:26px;flex:none}.bname{font-family:var(--f-display);font-weight:700;font-size:21px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.topnav{display:flex;gap:2px;margin-left:auto}.navbtn{border:0;background:none;padding:8px 11px;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--ink2);text-decoration:none}.navbtn b{font-family:var(--f-display);font-size:16px;letter-spacing:.04em;text-transform:uppercase;font-weight:600}.navbtn .hi{font-size:10.5px;line-height:1}.navbtn svg{width:20px;height:20px;display:none}.unitsel select,.usermenu{min-height:34px;border:1px solid var(--line);background:var(--field);border-radius:4px;padding:4px 8px;font-weight:500}.usermenu{cursor:pointer}.botnav{display:none}@media (max-width:860px){.topnav{display:none}.unitsel{margin-left:auto}.botnav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--panel);border-top:1px solid var(--line);padding:4px max(6px,env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom, 0px)) max(6px,env(safe-area-inset-left,0px))}.botnav .navbtn{padding:6px 2px}.botnav .navbtn svg{display:block}.botnav .navbtn b{font-size:13px}.bname{font-size:18px;max-width:150px}}main.page{max-width:1280px;margin:0 auto;padding:20px max(16px,env(safe-area-inset-right,0px)) 110px max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:18px}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.pagehead p{margin:4px 0 0;color:var(--ink2);max-width:62ch}.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:16px;min-width:0}.panel>h3{margin-bottom:12px}.btn{border:1px solid var(--line);background:var(--field);border-radius:4px;padding:9px 14px;cursor:pointer;font-weight:500;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;color:inherit}.btn:hover{border-color:var(--steel2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.quiet{background:none;border-color:transparent;color:var(--accent);padding-inline:8px}.btn.danger{color:var(--oxide)}.btn.armed{background:var(--oxide);border-color:var(--oxide);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btnrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.fld{display:flex;flex-direction:column;gap:4px;min-width:0}.fld>span{font-size:12.5px;color:var(--ink2);font-weight:500}.fld>span i{font-style:normal;font-family:var(--f-mono);font-size:11px;opacity:.8}.fld input,.fld select,.fld textarea{width:100%;min-height:40px;border:1px solid var(--line);background:var(--field);border-radius:4px;padding:8px 10px}.fld input.bad{border-color:var(--oxide);box-shadow:inset 0 0 0 1px var(--oxide)}.fld .err{color:var(--oxide);font-size:12px}.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px}.fields .wide{grid-column:1/-1}.chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 8px;background:var(--soft);color:var(--ink2);white-space:nowrap}.chip.good{background:var(--ok-soft);color:var(--ok)}.chip.bad{background:var(--oxide-soft);color:var(--oxide)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.info{background:var(--accent-soft);color:var(--accent)}.st-Quoted{background:var(--soft);color:var(--ink2)}.st-Confirmed{background:var(--accent-soft);color:var(--accent)}.st-Cutting,.st-Kitted,.st-Painting,.st-Welding{background:var(--warn-soft);color:var(--warn)}.st-Delivered{background:var(--ok-soft);color:var(--ok)}.empty{padding:28px 16px;text-align:center;color:var(--ink2);display:flex;flex-direction:column;gap:8px;align-items:center}.empty b{color:var(--ink);font-weight:600}.error-box{background:var(--oxide-soft);color:var(--oxide);border-radius:4px;padding:10px 12px}.authwrap{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.authcard{width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px}.rail{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.tcard{flex:0 0 138px;scroll-snap-align:start;border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:10px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:6px}.tcard .mini{width:100%;height:72px}.tcard b{font-family:var(--f-display);font-size:16px;text-transform:uppercase;letter-spacing:.03em;line-height:1}.tcard .hi{font-size:12px}.tcard[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.design{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}@media (max-width:900px){.design{grid-template-columns:minmax(0,1fr)}}.dleft{gap:14px}.dleft,.dright{display:flex;flex-direction:column}.dright{gap:18px;min-width:0}.dwgcard{border:1px solid var(--line);border-radius:6px;overflow:hidden}.dwg{width:100%;height:auto;max-height:520px}.dwg,.mini{display:block}.s-frame,.s-rail{fill:var(--steel)}.s-bar,.s-floor{fill:var(--steel2)}.s-floor{opacity:.35}.s-sheet{stroke:var(--steel2)}.sl-frame,.sl-rail{stroke:var(--steel)}.sh-bg{fill:var(--paper)}.mini .sh-bg{fill:var(--panel)}.sh-ln{stroke:var(--steel2)}.gr{stroke:var(--gridc)}.dim line{stroke:var(--accent)}.dim text{fill:var(--accent);font-family:var(--f-mono)}.tblock{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);background:var(--panel)}.tblock>div{padding:8px 12px;border-right:1px solid var(--line);min-width:0}.tblock>div:last-child{border-right:0}.tblock span{display:block;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2)}.tblock b{display:block;font-weight:600;font-size:13.5px;overflow-wrap:anywhere}@media (max-width:620px){.tblock{grid-template-columns:repeat(2,minmax(0,1fr))}.tblock>div{border-bottom:1px solid var(--line)}.tblock>div:nth-child(2n){border-right:0}.tblock>div:last-child{grid-column:1/-1}}.qgrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:18px;gap:18px}@media (max-width:1100px){.qgrid{grid-template-columns:minmax(0,1fr)}}.qtotal{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:10px}.qtotal .big{font-family:var(--f-display);font-size:44px;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rows{display:flex;flex-direction:column;margin:0}.rows>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed var(--line)}.rows>div:last-child{border-bottom:0}.rows dt{color:var(--ink2)}.rows dd{margin:0;font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.timebox{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:12px 0}.timebox>div{background:var(--soft);border-radius:4px;padding:8px 10px}.timebox span{display:block;font-size:11.5px;color:var(--ink2)}.timebox b{font-family:var(--f-mono);font-size:16px;font-weight:500}.timebox .gain b{color:var(--ok)}.tablewrap{overflow-x:auto;margin:0 -4px}table{border-collapse:collapse;width:100%;font-size:13.5px}th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);text-align:left;font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:7px 8px;border-bottom:1px solid var(--soft);vertical-align:top}td.n,th.n{text-align:right;font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}tr.sub td{font-weight:600;border-top:1px solid var(--line)}td .note{display:block;font-size:11.5px;color:var(--warn)}.cg{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.cg:first-of-type{border-top:0;padding-top:0}.cg-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.cg-head b{font-weight:600}.cg-head .chips{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.brow{display:grid;grid-template-columns:80px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center}.bsrc{font-family:var(--f-mono);font-size:11.5px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bsrc.off{color:var(--ok);font-weight:500}.bar{display:flex;height:24px;border-radius:3px;overflow:hidden;background:var(--soft);border:1px solid var(--line)}.cut{background:var(--c,var(--steel2));color:var(--on-c);border-right:2px solid var(--panel);white-space:nowrap}.cut,.left{font-family:var(--f-mono);font-size:11px;display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:0}.left{flex:1 1 auto;color:var(--ink2);background:repeating-linear-gradient(135deg,transparent 0 5px,var(--line) 5px 6px)}.left.keep{background:var(--ok-soft);color:var(--ok);font-weight:500}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12.5px;color:var(--ink2)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:12px;height:12px;border-radius:2px;background:var(--c)}.filters{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.fchip{border:1px solid var(--line);background:var(--panel);padding:6px 12px;cursor:pointer;white-space:nowrap;font-size:13px}.fchip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.stat{border:1px solid var(--line);border-radius:6px;padding:10px 12px}.stat span{font-size:12px;color:var(--ink2)}.stat b{display:block;font-family:var(--f-display);font-size:28px;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.olist{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden}.orow{display:grid;grid-template-columns:110px minmax(0,1fr) auto auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.orow:last-child{border-bottom:0}.orow:hover{background:var(--soft)}.o-no{font-family:var(--f-mono);font-size:12.5px;color:var(--ink2)}.o-main{display:flex;flex-direction:column;min-width:0}.o-main span{color:var(--ink2);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o-amt{font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}@media (max-width:620px){.orow{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.o-no{grid-column:1/-1}.o-amt{grid-row:2;grid-column:2;text-align:right}.orow .chip{grid-column:2;justify-self:end}}.steps{display:flex;flex-wrap:wrap;gap:6px}.step{border:1px solid var(--line);background:var(--field);border-radius:4px;padding:6px 10px;cursor:pointer;font-size:13px}.step.done{background:var(--soft);color:var(--ink2)}.step.cur{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.cutlay{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}@media (max-width:900px){.cutlay{grid-template-columns:minmax(0,1fr)}}.ochk{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--soft);cursor:pointer}.ochk input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent)}.ochk i{display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--c);margin-right:6px}.buyrow{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line)}.buyrow:last-child{border-bottom:0}.shop{display:flex;flex-direction:column;gap:12px}.shop-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}.prog{height:6px;border-radius:3px;background:var(--soft);overflow:hidden}.prog i{display:block;height:100%;background:var(--ok)}.binbtn{display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:10px;gap:10px;width:100%;text-align:left;background:var(--field);border:1px solid var(--line);border-radius:4px;padding:10px 12px;cursor:pointer;align-items:start}.binbtn .box{width:24px;height:24px;border:2px solid var(--steel2);border-radius:4px;display:flex;align-items:center;justify-content:center}.binbtn.done{background:var(--soft)}.binbtn.done .box{background:var(--ok);border-color:var(--ok);color:#fff}.binbtn.done .cuts{text-decoration:line-through;color:var(--ink2)}.cuts{display:block;font-family:var(--f-mono);font-size:18px;font-weight:500;overflow-wrap:anywhere}.binout,.binsrc{display:block;font-size:12.5px;color:var(--ink2)}.binout.keep{color:var(--ok)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;align-items:start}@media (max-width:900px){.grid2{grid-template-columns:minmax(0,1fr)}}.srow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:10px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--soft)}.srow .s-name{display:flex;flex-direction:column;min-width:0}.srow .s-name span{font-size:12.5px;color:var(--ink2)}.srow.low .s-name b:after{content:" · low";color:var(--oxide);font-size:12px;font-weight:600}.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--field)}.stepper button{border:0;background:none;width:36px;height:36px;cursor:pointer;font-size:18px}.stepper output{min-width:38px;text-align:center;font-family:var(--f-mono);font-weight:500}.icon{border:0;background:none;color:var(--ink2);cursor:pointer;padding:6px 8px;border-radius:4px;font-size:13px}.icon:hover{background:var(--soft)}.icon.armed{background:var(--oxide);color:#fff}.groupt{margin-top:12px;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2);font-weight:600}.addbox{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.tag{font-family:var(--f-mono);font-size:12.5px;background:var(--soft);padding:2px 6px;border-radius:3px}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:10px;gap:10px}.photo{position:relative;border-radius:4px;overflow:hidden;border:1px solid var(--line);aspect-ratio:1;background:var(--soft);max-width:100%}.photo img{width:100%;height:100%;object-fit:cover;display:block}.photo button{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:3px;font-size:12px;padding:3px 6px;cursor:pointer}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom, 0px));z-index:50;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:6px;font-size:14px;max-width:calc(100% - 32px)}@media (min-width:861px){.toast{bottom:24px}}.readout{font-size:12px;color:var(--ink2);min-height:16px;line-height:1.3}.readout b{color:var(--accent);font-weight:600}.readout em{font-style:normal;color:var(--warn)}.readout .rng,.readout.bad{color:var(--oxide)}.readout .rng{display:block;font-weight:500}.vtabs{display:flex;gap:2px;padding:6px;border-bottom:1px solid var(--line)}.vtabs button{flex:1 1;border:0;background:none;padding:8px 10px;border-radius:4px;cursor:pointer;font-family:var(--f-display);font-size:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2)}.vtabs button[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.v3wrap{position:relative}.v3stage{touch-action:none;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.v3stage:active{cursor:-webkit-grabbing;cursor:grabbing}.v3d{display:block;width:100%;height:auto;max-height:520px;aspect-ratio:16/10}.v3d path{vector-effect:non-scaling-stroke}.g3-ground{fill:var(--steel2);opacity:.14}.g3-person{fill:var(--steel2);opacity:.6}.g3-dim circle,.g3-dim line{stroke:var(--accent);fill:var(--accent)}.g3-dim .ext{opacity:.45}.g3-dim text{fill:var(--accent);stroke:var(--paper);stroke-width:5px;stroke-linejoin:round;paint-order:stroke;font-family:var(--f-mono);font-weight:600}.v3hint{position:absolute;top:8px;right:10px;font-size:11.5px;color:var(--ink2);border:1px solid var(--line);border-radius:999px;padding:2px 8px;pointer-events:none;opacity:.85}.v3bar,.v3hint{background:var(--panel)}.v3bar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:8px 10px;border-top:1px solid var(--line)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--field)}.seg button{border:0;background:none;padding:6px 10px;font-size:13px;cursor:pointer;border-right:1px solid var(--line)}.seg button:last-child{border-right:0}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.swatches{display:flex;gap:6px;flex-wrap:wrap}.swatches button{width:24px;height:24px;border-radius:50%;background:var(--sw);border:2px solid var(--panel);box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}.swatches button[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}.tgl{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink2);cursor:pointer}.tgl input{accent-color:var(--accent);width:16px;height:16px}.bom{display:flex;flex-direction:column;gap:12px}.bomsum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}@media (max-width:620px){.bomsum{grid-template-columns:repeat(2,minmax(0,1fr))}}.bomsum>div{background:var(--soft);border-radius:4px;padding:8px 10px;min-width:0}.bomsum span{display:block;font-size:11.5px;color:var(--ink2)}.bomsum b{display:block;font-family:var(--f-display);font-size:26px;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bomsum i{display:block;font-style:normal;font-size:11.5px;color:var(--ink2)}.bomg{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--field)}.bomg header{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px;background:var(--soft)}.glyph{width:32px;height:32px;fill:var(--steel)}.bomt{display:flex;flex-direction:column;min-width:0}.bomt b{font-weight:600;font-size:15px}.bomk span,.bomt span{font-size:12px;color:var(--ink2)}.bomk{display:flex;flex-direction:column;align-items:flex-end}.bomk b{font-family:var(--f-mono);font-weight:600;white-space:nowrap}.bomg ul{list-style:none;margin:0;padding:4px 12px}.bomg li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"q n l" "q v v";grid-column-gap:10px;column-gap:10px;grid-row-gap:4px;row-gap:4px;padding:8px 0;border-bottom:1px dashed var(--line);align-items:baseline}.bomg li:last-child{border-bottom:0}.bq{grid-area:q;font-family:var(--f-display);font-size:22px;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bn{grid-area:n;min-width:0}.bn em{display:block;font-style:normal;font-size:11.5px;color:var(--warn)}.bn em.plain{color:var(--ink2)}.bl{grid-area:l;font-family:var(--f-mono);font-weight:600;white-space:nowrap}.bv{grid-area:v;height:6px;background:var(--soft);overflow:hidden}.bv,.bv i{border-radius:3px}.bv i{display:block;height:100%;background:var(--steel2)}.bomg footer{padding:8px 12px;font-size:12.5px;color:var(--ink2);border-top:1px solid var(--line)}.bomg footer b{color:var(--accent)}.bomdetail{margin-top:14px}.bomdetail summary{cursor:pointer;color:var(--accent);font-weight:500;padding:6px 0}.presets{display:flex;flex-direction:column;gap:6px}.pcard{flex:0 0 168px;scroll-snap-align:start;border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:8px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px;min-width:0}.pcard[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.pcard:hover{border-color:var(--steel2)}.pcard b{font-weight:600;font-size:13.5px;line-height:1.2}.pcard .hi{font-size:12px}.pthumb{display:block;background:var(--paper);border-radius:4px;margin-bottom:4px}.pthumb .v3d{aspect-ratio:4/3;max-height:none}.pprice{font-family:var(--f-mono);font-weight:600;font-size:13px;margin-top:2px}.pprice i{font-style:normal;font-weight:400;color:var(--ink2)}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:12px;gap:12px}.pcard.big{padding:10px;gap:3px}.pcard.big b{font-size:15px}.rows.gst{margin-top:6px;border-top:1px solid var(--line);padding-top:4px}.rows .grand dd,.rows .grand dt{font-weight:700;color:var(--ink);font-size:16px}.o-amt .o-due{display:block;font-style:normal;font-size:11.5px;color:var(--oxide);text-align:right}.sheet-a4{background:#fff;color:#111;max-width:820px;width:100%;margin:0 auto;padding:28px 30px;border:1px solid var(--line);border-radius:4px;flex-direction:column;font-size:13px;--paper:#fff;--panel:#fff;--ink:#111;--ink2:#555;--line:#ccc;--soft:#eee;--steel:#35404b;--steel2:#6c7885;--accent:#1d57c4;--gridc:#e3e8ef}.pq-head,.sheet-a4{display:flex;gap:16px}.pq-head{justify-content:space-between;border-bottom:2px solid #111;padding-bottom:12px;flex-wrap:wrap}.pq-head h1{font-size:26px}.pq-no{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.pq-no b{font-family:var(--f-display);font-size:20px;letter-spacing:.06em}.pq-to{display:flex;flex-direction:column}.pq-to b{font-size:16px}.pq-pics{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:12px;gap:12px}@media (max-width:620px){.pq-pics{grid-template-columns:1fr}}.pq-pics figure{margin:0;border:1px solid #ddd;border-radius:4px;padding:6px;background:#fbfcfe}.pq-pics svg{width:100%;height:240px;display:block}.pq-pics figcaption{font-size:11px;color:#666;text-align:center}.pq-table th{color:#444}.pq-table td div{margin-top:2px}.pq-sum{display:grid;grid-template-columns:1fr minmax(240px,300px);grid-gap:16px;gap:16px}@media (max-width:620px){.pq-sum{grid-template-columns:1fr}}.pq-words b{display:block;font-weight:600}.pq-terms{margin:0;color:#444;font-size:12px}.pq-sign{display:flex;justify-content:space-between;margin-top:40px;font-size:12px;gap:16px}.pq-sign div{border-top:1px solid #999;padding-top:6px;flex:0 1 220px;min-width:0}.pq-sign div:last-child{text-align:right}@media print{@page{size:A4;margin:10mm}body{background:#fff}.botnav,.noprint,.toast,.top{display:none!important}.sheet-a4,main.page{padding:0;max-width:none}.sheet-a4{border:0}}@media (max-width:620px){.sheet-a4{padding:16px 12px}.pq-table td,.pq-table th{padding:6px 4px}.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pcard.big{padding:6px}.pcard.big b{font-size:13.5px}}h3.stephead{display:flex;align-items:center;gap:10px;font-size:20px;margin:4px 0 8px}h3.stephead i{font-style:normal;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-family:var(--f-mono);font-size:15px;flex:none}.langbtn{font-weight:700;min-width:40px}.stepwrap{display:flex;align-items:stretch;gap:0}.stepwrap input{border-radius:0!important;text-align:center;font-weight:600;font-size:16px;min-width:0}.nudge{flex:none;width:40px;border:1px solid var(--line);font-size:22px;line-height:1;cursor:pointer;color:var(--ink)}.nudge:first-child{border-radius:4px 0 0 4px;border-right:0}.nudge:last-child{border-radius:0 4px 4px 0;border-left:0}.nudge:active{background:var(--accent-soft)}.vtabs .showbtn{flex:0 0 auto;text-transform:none;font-family:var(--f-body);font-size:14px;letter-spacing:0;color:var(--accent-ink)}.vtabs .showbtn[aria-selected]{background:var(--accent)}.maal{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:16px;gap:16px;align-items:start}@media (max-width:900px){.maal{grid-template-columns:minmax(0,1fr)}}.maal-pic{position:-webkit-sticky;position:sticky;top:64px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--paper);z-index:2}.maal-pic p{margin:0;padding:6px 10px;background:var(--panel);border-top:1px solid var(--line)}@media (max-width:900px){.maal-pic .v3d{max-height:230px}.maal-pic .v3bar{display:none}}.maal-list{display:flex;flex-direction:column;gap:12px;min-width:0}.mgroup h4{margin:0 0 6px;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.04em;font-size:16px}.mitem{border:1px solid var(--line);border-radius:6px;background:var(--field);margin-bottom:6px;overflow:hidden}.mitem.on{border-color:#ee7a1a;box-shadow:inset 4px 0 0 #ee7a1a}.mrow{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;width:100%;padding:10px 12px;background:none;border:0;text-align:left;color:inherit;font:inherit}button.mrow{cursor:pointer}button.mrow:hover{background:var(--soft)}.mqty{font-family:var(--f-display);font-size:34px;font-weight:700;line-height:1;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent)}.mtext{display:flex;flex-direction:column;min-width:0}.mtext b{font-size:15.5px;font-weight:600}.mtext span{font-size:13px;color:var(--ink2)}.mpieces{padding:0 12px 12px;border-top:1px dashed var(--line)}.mpieces>b{display:block;margin:8px 0 4px;font-size:13px}.mpieces ul{list-style:none;margin:0 0 8px;padding:0}.mpieces li{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-areas:"q l" "q w";grid-column-gap:8px;column-gap:8px;padding:6px 0;border-bottom:1px dashed var(--soft)}.mp-q{grid-area:q;font-family:var(--f-display);font-size:22px}.mp-l,.mp-q{font-weight:700}.mp-l{grid-area:l;font-size:16px}.mp-w{grid-area:w;color:var(--ink2);font-size:13px}.present{position:fixed;inset:0;z-index:60;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.present header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px max(16px,env(safe-area-inset-left));background:var(--panel);border-bottom:1px solid var(--line)}.present header b{display:block;font-family:var(--f-display);font-size:24px;text-transform:uppercase}.present header span{color:var(--ink2);font-size:13px}.pstage{position:relative;min-height:0;display:flex}.pstage .v3wrap{flex:1 1;display:flex;flex-direction:column;min-height:0}.pstage .v3stage{flex:1 1;min-height:0;display:flex}.pstage .v3d{max-height:none;height:100%;aspect-ratio:auto}.pflip{position:absolute;top:45%;z-index:3;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--panel);font-size:34px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15)}.pflip.l{left:10px}.pflip.r{right:10px}.present footer{gap:12px 24px;justify-content:space-between;align-items:center;padding:12px max(16px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line)}.present footer,.psizes{display:flex;flex-wrap:wrap}.psizes{gap:12px}.psize>span{display:block;font-size:12px;color:var(--ink2)}.psize>div{display:flex;align-items:center;gap:6px}.psize button{width:44px;height:44px;border-radius:6px;border:1px solid var(--line);background:var(--field);font-size:24px;cursor:pointer}.psize b{min-width:110px;text-align:center;font-size:18px}.present .pprice{display:flex;flex-direction:column;align-items:flex-end}.present .pprice span{font-size:12.5px;color:var(--ink2)}.present .pprice b{font-family:var(--f-display);font-size:40px;line-height:1}@media (max-width:620px){.present .pprice{align-items:flex-start}.psize b{min-width:90px;font-size:16px}.present footer{padding-top:8px;gap:8px}.psizes{width:100%;gap:6px}.psize{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.psize button{width:40px;height:40px}.present .v3bar{padding:6px 8px;gap:6px 10px}.present .tgl{display:none}}@media (max-width:420px){.bname{display:none}}.lay{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:6px;padding:12px;background:var(--field)}.lay.off{border-style:dashed}.layhead{justify-content:space-between;align-items:center;gap:8px}.layhead,.laypre{display:flex;flex-wrap:wrap}.laypre{gap:6px}.laypre .fchip{font-size:12.5px;padding:5px 10px}.laybox{display:flex;width:100%;max-height:300px;border:3px solid var(--steel);border-radius:2px;background:var(--paper);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.laybox.h{flex-direction:column;margin:0 auto}.laybox.v{flex-direction:row}.layz{display:flex;min-width:0;min-height:0;flex-grow:0;flex-shrink:0}.laybox.h .layz{flex-direction:column}.layfill{flex:1 1;display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden}.layfill span{background:var(--panel);color:var(--ink);font-size:12px;font-weight:600;padding:2px 6px;border-radius:3px;white-space:nowrap;box-shadow:0 0 0 1px var(--line)}.layfill.empty{background:repeating-linear-gradient(135deg,transparent 0 8px,var(--soft) 8px 10px)!important}.laydiv{flex:none;background:#ee7a1a;position:relative;z-index:1}.laybox.h .laydiv{height:8px;cursor:row-resize}.laybox.v .laydiv{width:8px;cursor:col-resize}.laydiv:after{content:"";position:absolute;inset:-10px}.laylist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.laylist li{display:grid;grid-template-columns:minmax(70px,auto) minmax(0,1fr) auto;grid-template-areas:"n f p" "s s x";grid-gap:4px 8px;gap:4px 8px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--line)}.layn{grid-area:n;font-size:12.5px;color:var(--ink2)}.laylist select{grid-area:f;min-height:36px;border:1px solid var(--line);border-radius:4px;background:var(--field);padding:4px 6px;min-width:0}.laypct{grid-area:p;display:flex;align-items:center;gap:4px}.laypct button{width:32px;height:32px;border:1px solid var(--line);border-radius:4px;background:var(--soft);font-size:18px;cursor:pointer}.laypct b{min-width:44px;text-align:center;font-family:var(--f-mono)}.laylist .small{grid-area:s}.laylist .icon{grid-area:x;justify-self:end}body{background:var(--bg)}.top{background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);box-shadow:0 1px 0 var(--line);border-bottom:0}.brand .logo{width:30px;height:30px;flex:none}.navbtn{border-radius:8px}.navbtn[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.bomg,.dwgcard,.lay,.mitem,.olist,.panel,.pcard,.stat,.tcard{border-color:var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.panel{padding:18px}.stat{background:var(--panel)}.stat b{color:var(--ink)}.btn{border-radius:8px;min-height:42px;box-shadow:0 1px 1px rgba(17,24,39,.04)}.btn.primary{box-shadow:0 1px 2px rgba(27,95,209,.35)}.btn.primary:hover{filter:brightness(1.06)}.fld input,.fld select,.fld textarea{border-radius:8px;border-color:#cfd7e1}.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.nudge{background:var(--soft);border-color:#cfd7e1}.chip,.fchip{border-radius:999px}.fchip{border-color:#cfd7e1}.fchip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.pcard[aria-pressed=true],.tcard[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),var(--shadow)}h3.stephead i{background:var(--brand);color:#fff}.vtabs{background:var(--panel)}.dwgcard{background:var(--paper)}.toast{border-radius:10px;box-shadow:var(--shadow-lg)}.authwrap{background:radial-gradient(1200px 500px at 10% -10%,var(--accent-soft),transparent),radial-gradient(900px 400px at 110% 110%,var(--brand-soft),transparent),var(--bg)}.present{background:var(--bg)}.present footer,.present header{background:#fff}@media (max-width:860px){.botnav{background:hsla(0,0%,100%,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 -1px 0 var(--line);border-top:0}}.logofull{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.logofull>span{display:flex;flex-direction:column;line-height:1}.logofull b{font-family:var(--f-display);font-size:28px;letter-spacing:.06em;color:#1f2a37}.logofull i{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.32em;color:var(--brand);margin-top:3px}a:has(>.logofull){text-decoration:none}.land{min-height:100vh;background:linear-gradient(180deg,#fff 0,var(--bg) 520px)}.land-top{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px max(16px,env(safe-area-inset-left))}.land-top nav{display:flex;gap:8px}.land main{max-width:1180px;margin:0 auto;padding:0 16px 40px;display:flex;flex-direction:column;gap:56px}.land-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-gap:32px;gap:32px;align-items:center;padding-top:24px}@media (max-width:900px){.land-hero{grid-template-columns:minmax(0,1fr)}}.land-hero h1{font-size:clamp(34px,5vw,56px);text-transform:none;letter-spacing:.01em;margin:8px 0 14px}.land .lead{font-size:18px;color:var(--steel);margin:0 0 8px;max-width:56ch}.land .lead-hi{font-size:16px;margin:0 0 20px}.btn.big{min-height:50px;padding:12px 22px;font-size:16px}.land-pic{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden}.land-pic .v3d{aspect-ratio:4/3;max-height:none}.land-pic figcaption{padding:10px 14px;font-size:13px;color:var(--ink2);border-top:1px solid var(--line)}.land h2{font-size:30px;text-transform:none;margin-bottom:16px}.land-features,.land-products{list-style:none;margin:0;padding:0;display:grid;grid-gap:14px;gap:14px}.land-products{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.land-features{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.land-features li,.land-products li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow)}.land-features h3,.land-products h3{font-size:19px;text-transform:none}.land-features p,.land-products p{margin:6px 0 0;color:var(--ink2);font-size:14px}.lp-pic{background:var(--paper);border-radius:8px;padding:10px;margin-bottom:10px}.lp-pic .mini{width:100%;height:90px}.land-faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin-bottom:8px}.land-faq summary{cursor:pointer;font-weight:600}.land-faq p{margin:8px 0 0;color:var(--steel)}.land-cta{text-align:center;background:#1f2a37;color:#fff;border-radius:16px;padding:36px 20px}.land-cta h2{color:#fff;margin-bottom:6px}.land-cta p{color:#c9d2dc;margin:0 0 18px}.land-foot{max-width:1180px;margin:0 auto;padding:20px 16px 32px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--ink2);font-size:13px}.land .g3-ground{fill:var(--steel2);opacity:.14}.land .g3-person{fill:var(--steel2);opacity:.6}.land .g3-dim circle,.land .g3-dim line{stroke:var(--accent);fill:var(--accent)}.land .g3-dim text{fill:var(--accent);stroke:#fff;stroke-width:5px;paint-order:stroke;font-family:var(--f-mono);font-weight:600}.lowstat{text-align:left;cursor:pointer;font:inherit;color:inherit}.lowstat.bad{border-color:var(--oxide);background:var(--oxide-soft)}.lowstat.bad b{color:var(--oxide)}.stockin{display:flex;flex-direction:column;gap:10px}.seg.big{width:100%}.seg.big button{flex:1 1;padding:12px 10px;font-size:15px;font-weight:600}.seg.big button[aria-pressed=true]{background:var(--accent);color:#fff}.si-step{display:flex;align-items:center;gap:8px;font-weight:600;margin-top:4px}.si-step b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;font-size:13px}.kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:8px;gap:8px}.kindbtn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-size:13px;font-weight:500}.kindbtn .glyph{width:30px;height:30px}.kindbtn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.kindbtn[aria-pressed=true] .glyph{fill:var(--accent)}.sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));grid-gap:8px;gap:8px}.sizebtn{position:relative;display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;text-align:left}.sizebtn b{font-family:var(--f-mono);font-size:15px}.sizebtn span{font-size:11.5px;color:var(--ink2)}.sizebtn i{position:absolute;bottom:6px;right:8px;font-style:normal;font-size:12px;font-weight:700;background:var(--ok-soft);color:var(--ok);border-radius:999px;padding:1px 7px}.sizebtn i.bad{background:var(--oxide-soft);color:var(--oxide)}.sizebtn[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.si-qty{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.bigstep{display:flex;align-items:stretch;border:1px solid #cfd7e1;border-radius:10px;overflow:hidden;background:#fff}.bigstep button{width:54px;border:0;background:var(--soft);font-size:26px;cursor:pointer}.bigstep input{width:84px;border:0;text-align:center;font-family:var(--f-display);font-size:32px;font-weight:700;padding:6px 0}.btn.outbtn{background:var(--oxide);border-color:var(--oxide);box-shadow:none}.search{min-height:40px;border:1px solid #cfd7e1;border-radius:999px;padding:6px 14px;min-width:0;flex:1 1 220px;max-width:360px}.rack{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:10px;gap:10px}.rackcard{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow)}.rackcard.low{border-color:#edb8a9;background:#fffbfa}.rc-head{display:grid;grid-template-columns:32px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center}.rc-head b{display:block;font-size:14.5px}.rc-head span{font-size:12px;color:var(--ink2)}.rc-count{display:flex;align-items:center;justify-content:space-between;gap:8px}.rc-count>div{text-align:center}.rc-count b{display:block;font-family:var(--f-display);font-size:40px;line-height:1}.rc-count span{font-size:12px;color:var(--ink2)}.rc-count button{width:46px;height:46px;border-radius:10px;border:1px solid #cfd7e1;background:var(--soft);font-size:24px;cursor:pointer}.rc-foot{gap:8px;flex-wrap:wrap;justify-content:space-between}.rc-foot,.rc-min{display:flex;align-items:center}.rc-min{gap:6px;font-size:12px;color:var(--ink2)}.rc-min input{width:56px;min-height:32px;border:1px solid #cfd7e1;border-radius:6px;text-align:center}@media (max-width:620px){.kinds{display:flex;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.kindbtn{flex:0 0 88px;scroll-snap-align:start;font-size:12px}.sizes{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.sizebtn{padding:8px 6px 18px}.sizebtn b{font-size:12.5px}.sizebtn span{font-size:10.5px}.seg.big button{font-size:13px;padding:10px 6px}.rack{grid-template-columns:minmax(0,1fr)}}