@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--desk: #f2f2f2;--sheet: #ffffff;--sheet-2: #f7f7f7;--sheet-3: #ecebea;--ink: #101010;--ink-2: #585858;--ink-3: #6a6a6a;--rule: #e7e7e7;--rule-2: #d6d6d6;--field: #8c8c8c;--grid: rgba(16, 16, 16, .06);--grid-major: rgba(16, 16, 16, .1);--studio-hi: #ffffff;--studio-mid: #f1f0ee;--studio-lo: #e1dfdb;--act: #101010;--act-hover: #2b2b2b;--act-wash: #f2f2f2;--on-act: #ffffff;--lime: #e7ff2d;--quoted: var(--lime);--on-quoted: #101010;--fix: #bf3420;--fix-wash: #fbebe7;--on-fix: #ffffff;--caution: #9a5208;--caution-fill: #f0a020;--caution-wash: #fdf3e1;--ok: #2c6634;--ok-fill: #4c9a52;--ok-wash: #ecf4ea;--shadow-sheet: none;--shadow-lift: 0 1px 2px rgba(16, 16, 16, .04), 0 14px 32px -14px rgba(16, 16, 16, .2);--shadow-float: 0 2px 8px rgba(16, 16, 16, .06), 0 24px 60px -16px rgba(16, 16, 16, .3);--ring: 0 0 0 3px rgba(16, 16, 16, .12);--scrim: rgba(16, 16, 16, .45);--c-custom: #2a78d6;--c-electronics: #eb6834;--c-pcb: #1baf7a;--c-hardware: #4a3aa7;--c-finishing: #008300;--c-assembly: #e87ba4;--c-packaging: #c98500;--c-onetime: var(--ink);--p-fdm: #2a78d6;--p-sla: #eb6834;--p-sls: #1baf7a;--p-casting: #4a3aa7;--p-cnc: #008300;--p-im_alu: #e87ba4;--p-im_steel: #c98500;--part: #cdcac4;--part-edge: #3a3835;--viewer-bg: #f1f0ee;--heat-bad: #d0312a;--heat-warn: #f0a020;--heat-ok: #4c9a52;--heat-thick: #6b5bd6;--heat-internal: #d6489c;--heat-muted: #dcdad6;--font-ui: "Geist Variable", "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-code: "Geist Mono Variable", "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--radius-chip: 999px;--radius-field: 10px;--radius-block: 14px;--radius-sheet: 20px;--radius-dialog: 24px;--row-h: 40px;--text-ui: 14px;--gutter: clamp(16px, 2.6vw, 36px);--bg: var(--sheet);--surface: var(--sheet-2);--surface-2: var(--sheet-3);--line: var(--rule);--line-strong: var(--rule-2);--accent: var(--act);--link: var(--act);--focus: var(--act);--good: var(--ok-fill);--warn: var(--caution-fill);--bad: var(--fix);--font-body: var(--font-ui);--font-display: var(--font-ui);--font-mono: var(--font-code);--font-tech: var(--font-ui)}:root[data-theme=dark],.inverse{--desk: #0c0c0c;--sheet: #161616;--sheet-2: #1d1d1d;--sheet-3: #262626;--ink: #f2efec;--ink-2: #bdb9b3;--ink-3: #9b968f;--rule: #2a2a2a;--rule-2: #383838;--field: #77736d;--grid: rgba(242, 239, 236, .05);--grid-major: rgba(242, 239, 236, .09);--studio-hi: #3a3a3a;--studio-mid: #1e1e1e;--studio-lo: #121212;--act: #f2efec;--act-hover: #ffffff;--act-wash: #262626;--on-act: #101010;--on-quoted: #101010;--fix: #ff8a73;--fix-wash: #331611;--on-fix: #101010;--caution: #f2b552;--caution-fill: #f0a020;--caution-wash: #2c210c;--ok: #7cc483;--ok-fill: #4c9a52;--ok-wash: #13241a;--shadow-lift: 0 1px 2px rgba(0, 0, 0, .3), 0 14px 32px -14px rgba(0, 0, 0, .6);--shadow-float: 0 2px 8px rgba(0, 0, 0, .4), 0 24px 60px -16px rgba(0, 0, 0, .7);--ring: 0 0 0 3px rgba(242, 239, 236, .18);--scrim: rgba(0, 0, 0, .6);--c-custom: #3987e5;--c-electronics: #d95926;--c-pcb: #199e70;--c-hardware: #9085e9;--c-finishing: #008300;--c-assembly: #d55181;--c-packaging: #c98500;--p-fdm: #3987e5;--p-sla: #d95926;--p-sls: #199e70;--p-casting: #9085e9;--p-cnc: #008300;--p-im_alu: #d55181;--p-im_steel: #c98500;--part: #8f8b85;--part-edge: #d6d2cc;--viewer-bg: #1e1e1e;--heat-muted: #383838;color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--desk: #0c0c0c;--sheet: #161616;--sheet-2: #1d1d1d;--sheet-3: #262626;--ink: #f2efec;--ink-2: #bdb9b3;--ink-3: #9b968f;--rule: #2a2a2a;--rule-2: #383838;--field: #77736d;--grid: rgba(242, 239, 236, .05);--grid-major: rgba(242, 239, 236, .09);--studio-hi: #3a3a3a;--studio-mid: #1e1e1e;--studio-lo: #121212;--act: #f2efec;--act-hover: #ffffff;--act-wash: #262626;--on-act: #101010;--on-quoted: #101010;--fix: #ff8a73;--fix-wash: #331611;--on-fix: #101010;--caution: #f2b552;--caution-fill: #f0a020;--caution-wash: #2c210c;--ok: #7cc483;--ok-fill: #4c9a52;--ok-wash: #13241a;--shadow-lift: 0 1px 2px rgba(0, 0, 0, .3), 0 14px 32px -14px rgba(0, 0, 0, .6);--shadow-float: 0 2px 8px rgba(0, 0, 0, .4), 0 24px 60px -16px rgba(0, 0, 0, .7);--ring: 0 0 0 3px rgba(242, 239, 236, .18);--scrim: rgba(0, 0, 0, .6);--c-custom: #3987e5;--c-electronics: #d95926;--c-pcb: #199e70;--c-hardware: #9085e9;--c-finishing: #008300;--c-assembly: #d55181;--c-packaging: #c98500;--p-fdm: #3987e5;--p-sla: #d95926;--p-sls: #199e70;--p-casting: #9085e9;--p-cnc: #008300;--p-im_alu: #d55181;--p-im_steel: #c98500;--part: #8f8b85;--part-edge: #d6d2cc;--viewer-bg: #1e1e1e;--heat-muted: #383838;color-scheme:dark}:root:not([data-theme=light]) .inverse{--sheet: #1a1a1a;--sheet-2: #212121;--sheet-3: #2a2a2a;--rule: #2e2e2e;--rule-2: #3a3a3a;--studio-hi: #424242;--studio-mid: #222222;--studio-lo: #151515}}.inverse{--sheet: #141414;--sheet-2: #1c1c1c;--sheet-3: #2a2a2a;--rule: #2a2a2a;--rule-2: #3a3a3a}:root[data-theme=dark] .inverse{--sheet: #1a1a1a;--sheet-2: #212121;--sheet-3: #2a2a2a;--rule: #2e2e2e;--rule-2: #3a3a3a;--studio-hi: #424242;--studio-mid: #222222;--studio-lo: #151515}.studio{background:radial-gradient(130% 95% at 50% 0%,var(--studio-hi) 0%,var(--studio-mid) 55%,var(--studio-lo) 100%)}:root[data-density=compact]{--row-h: 32px;--text-ui: 13px}*{box-sizing:border-box}html,body{margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--desk);color:var(--ink);font:400 var(--text-ui)/1.5 var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4{margin:0;font-weight:500;line-height:1.2;letter-spacing:-.015em;text-wrap:balance}p{margin:0}strong,b{font-weight:600}a{color:var(--act);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}::selection{background:var(--ink);color:var(--sheet)}.mono,.num,td.num,th.num,.fig{font-variant-numeric:tabular-nums}.fig{font-weight:500}.label,.eyebrow{font:400 12.5px/1.35 var(--font-ui);color:var(--ink-3);letter-spacing:0}.code{font:500 11.5px/1 var(--font-code);letter-spacing:0;color:var(--ink-2)}.mono{font-family:var(--font-code);font-size:.9em}.muted{color:var(--ink-2)}.small{font-size:13px;line-height:1.45}.block{display:block}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--sheet);padding:8px 14px;border-radius:var(--radius-field);text-decoration:none}.skip:focus{top:10px}kbd{font:500 11px/1 var(--font-code);padding:4px 6px;border-radius:3px;border:1px solid var(--rule-2);border-bottom-width:2px;background:var(--sheet);color:var(--ink);display:inline-block;min-width:22px;text-align:center}input:not([type]),input[type=text],input[type=number],input[type=search],input[type=date],input[type=email],select,textarea{border:1px solid var(--field);border-radius:var(--radius-field);background:var(--sheet);padding:6px 10px;min-height:36px;min-width:0;width:100%;font-weight:400;font-size:14px;transition:border-color .12s,box-shadow .12s;color:var(--ink)}input[type=number]{font-variant-numeric:tabular-nums}textarea{resize:vertical;line-height:1.45}select{cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a857b' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}input:hover,select:hover,textarea:hover{border-color:var(--ink-3)}input:focus,select:focus,textarea:focus{border-color:var(--act);outline:none;box-shadow:var(--ring)}input[type=checkbox],input[type=radio]{accent-color:var(--ink);width:16px;height:16px;margin:0;flex:none;box-shadow:none}input[type=range]{width:100%;accent-color:var(--ink);box-shadow:none;min-height:0}::placeholder{color:var(--ink-3);opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 15px;border:1px solid var(--rule-2);border-radius:999px;background:var(--sheet);color:var(--ink);cursor:pointer;font-size:14px;font-weight:500;line-height:1.1;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.btn:hover{border-color:var(--ink);background:var(--sheet);text-decoration:none}.btn:active{background:var(--sheet-3)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{background:var(--sheet);border-color:var(--rule-2)}.btn svg{flex:none}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--sheet)}.btn-primary:hover{background:var(--act-hover);border-color:var(--act-hover);color:var(--sheet)}.btn-primary:active{background:var(--ink)}.btn-primary:disabled:hover{background:var(--ink);border-color:var(--ink)}.btn-act{background:var(--act);border-color:var(--act);color:var(--on-act)}.btn-act:hover{background:var(--act-hover);border-color:var(--act-hover);color:var(--on-act)}.btn-ghost{background:transparent;border-color:transparent;color:var(--act);padding:0 8px}.btn-ghost:hover{background:var(--act-wash);border-color:transparent;color:var(--act)}.btn-small{min-height:32px;padding:0 13px;font-size:13px}.btn-ghost.btn-small{padding:0 6px}.btn-danger{background:var(--fix);border-color:var(--fix);color:var(--sheet)}.btn-danger:hover{background:var(--ink);border-color:var(--ink);color:var(--sheet)}select.btn{width:auto;min-height:32px;padding:0 30px 0 12px;font-size:13.5px;font-weight:500;background-color:var(--sheet)}.textbtn,.textlink,.linklike{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font:500 14px/1.3 var(--font-ui);color:var(--ink);border-radius:2px}.textbtn:hover{color:var(--act);text-decoration:underline;text-underline-offset:3px}.textbtn:disabled{color:var(--ink-3);cursor:not-allowed}.textbtn-danger{color:var(--fix)}.textbtn-danger:hover{color:var(--fix);text-decoration:underline;text-underline-offset:3px}.textlink,.linklike{color:var(--act);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.textlink:hover,.linklike:hover{text-decoration-thickness:2px}.textbtn:focus-visible,.textlink:focus-visible,.linklike:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.icon-btn{all:unset;box-sizing:border-box;cursor:pointer;width:34px;height:34px;border-radius:999px;display:inline-grid;place-items:center;color:var(--ink);transition:background .15s}.icon-btn:hover{background:var(--sheet-2)}.icon-btn:disabled{color:var(--ink-3);opacity:.6;cursor:default;background:transparent}.icon-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.segs,.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:0;border-radius:999px;background:var(--sheet-3);max-width:100%}.seg,.segmented label{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:0 12px;font:500 13.5px/1 var(--font-ui);color:var(--ink-2);border-radius:999px;white-space:nowrap;flex:1 1 auto;transition:background .15s,color .15s,box-shadow .15s}.seg:first-child,.segmented label:first-child{border-left:0}.seg:hover,.segmented label:hover{color:var(--ink)}.seg[aria-checked=true],.seg[aria-pressed=true],.segmented label:has(input:checked){background:var(--sheet);color:var(--ink);box-shadow:0 1px 3px #10101024}.seg:disabled{color:var(--ink-3);cursor:not-allowed;background:transparent;opacity:.6}.seg:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:999px}.segmented{display:flex;width:100%}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:-2px}.chips,.picker{display:flex;flex-wrap:wrap;gap:6px}.chip{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--rule-2);font:500 13px/1.1 var(--font-ui);color:var(--ink-2);background:var(--sheet);transition:background .15s,border-color .15s,color .15s}.chip:hover{color:var(--ink);border-color:var(--ink-3)}.chip[aria-pressed=true],.chip[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--sheet)}.chip[aria-pressed=true]:before{content:"";width:9px;height:5px;border:solid currentColor;border-width:0 0 1.75px 1.75px;transform:translateY(-2px) rotate(-45deg)}.picker .chip[aria-pressed=true]:before{content:none}.chip:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.presets{display:flex;flex-wrap:wrap;gap:4px}.preset{all:unset;box-sizing:border-box;cursor:pointer;min-height:26px;padding:0 8px;border-radius:var(--radius-chip);font:500 12.5px/26px var(--font-ui);font-variant-numeric:tabular-nums;color:var(--ink-2);border:1px solid var(--rule-2);background:var(--sheet)}.preset:hover{color:var(--ink);border-color:var(--ink-3)}.preset[aria-pressed=true]{background:var(--ink);color:var(--sheet);border-color:var(--ink)}.preset:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.qty-field{display:flex;align-items:center;border:1px solid var(--field);border-radius:var(--radius-field);background:var(--sheet);padding-right:10px;max-width:220px}.qty-field:focus-within{border-color:var(--act);box-shadow:var(--ring)}.qty-field input{all:unset;box-sizing:border-box;width:100%;min-width:0;padding:4px 10px;font:500 22px/1.2 var(--font-ui);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}.qty-field .unit{color:var(--ink-3);font-size:13px}.hl{background:var(--quoted);color:var(--on-quoted);padding:.05em .3em;margin:0 -.05em;border-radius:4px;box-shadow:inset 0 0 0 1px #10101029;-webkit-box-decoration-break:clone;box-decoration-break:clone}.tag,.tag-draft,.tag-warn,.tag-quoted,.tag-plain,.pill,.sev,.conf,.mark{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:0 7px;border-radius:var(--radius-chip);font:500 12px/1 var(--font-ui);white-space:nowrap;border:1px solid transparent;vertical-align:middle}.tag svg,.tag-quoted svg,.pill svg,.mark svg{width:12px;height:12px;flex:none}.tag-quoted,.mark-quoted{background:var(--quoted);color:var(--on-quoted)}.tag-draft,.mark-caution,.pill-changes,.sev-major .sev,.conf-medium{background:var(--caution-wash);color:var(--caution)}.mark-fix,.pill-blocked,.sev-blocker .sev,.conf-low,.tag-warn{background:var(--fix-wash);color:var(--fix)}.tag-warn:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill-works,.mark-ok,.conf-high{background:var(--ok-wash);color:var(--ok)}.tag-plain,.mark-plain,.sev-minor .sev,.sev-info .sev,.tag{background:transparent;color:var(--ink-2);border-color:var(--rule-2)}.mark-est{background:transparent;color:var(--ink-2);border:1px dashed var(--field)}.conf{margin-left:8px}.pro-note{font:500 12px/1 var(--font-ui);color:var(--act);background:var(--act-wash);padding:5px 8px;border-radius:var(--radius-chip);white-space:nowrap}.led{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block;background:var(--rule-2)}.led-good{background:var(--ok-fill)}.led-warn{background:var(--caution-fill)}.led-bad{background:var(--fix)}.led-blink{background:var(--act);animation:blink .9s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.status{display:inline-flex;align-items:center;gap:7px;font:500 13px/1.3 var(--font-ui);color:var(--ink-2)}.bal{display:inline-grid;place-items:center;flex:none;min-width:34px;height:22px;padding:0 8px;border:0;border-radius:999px;background:var(--sheet-3);color:var(--ink-2);font:500 11px/1 var(--font-code);font-variant-numeric:tabular-nums;letter-spacing:0}.bal-sm{min-width:24px;height:20px;font-size:10.5px}.bal-lg{min-width:30px;height:26px;font-size:13px}.swatch{width:10px;height:10px;display:inline-block;flex:none;border-radius:2px}.tblock{display:grid;gap:1px;background:var(--rule);border:0;border-radius:var(--radius-sheet);min-width:0;overflow:hidden}.tb-cell{background:var(--sheet);padding:16px 18px 18px;display:grid;gap:8px;align-content:start;min-width:0}.tb-cell>.label{display:block}.tb-value{font-size:15px;font-weight:500;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.tb-value.mono{font-size:12.5px;font-weight:400}.dim{display:grid;gap:4px;min-width:0}.dim-line{position:relative;height:16px;border-left:1px solid var(--ink-3);border-right:1px solid var(--ink-3)}.dim-line:before{content:"";position:absolute;left:1px;right:1px;top:50%;height:1px;background:var(--ink-3)}.dim-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to bottom right,transparent 49%,var(--ink) 50%) left 1px top 4px / 8px 4px no-repeat,linear-gradient(to top right,transparent 49%,var(--ink) 50%) left 1px top 8px / 8px 4px no-repeat,linear-gradient(to bottom left,transparent 49%,var(--ink) 50%) right 1px top 4px / 8px 4px no-repeat,linear-gradient(to top left,transparent 49%,var(--ink) 50%) right 1px top 8px / 8px 4px no-repeat}.dim-mark{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;background:var(--sheet);border:2px solid var(--act);transform:translate(-50%,-50%);z-index:1}.dim-labels{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}.topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px 28px;padding:0 var(--gutter);min-height:58px;background:var(--sheet);color:var(--ink);border-bottom:1px solid var(--rule)}.brand{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none}.brand:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:2px}.brand-name{font:500 18px/1 var(--font-ui);letter-spacing:-.035em}.brand-name .hl{padding:0 .12em}.nav{display:flex;gap:4px;align-items:center}.nav-item{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:8px;padding:0 14px;height:36px;border-radius:999px;color:var(--ink-2);font:500 14px/1 var(--font-ui);position:relative;transition:background .15s,color .15s}.nav-item:hover{color:var(--ink);background:var(--sheet-2)}.nav-item[aria-current=page]{color:var(--ink);background:var(--sheet-3)}.nav-item[aria-current=page]:after{content:none}.nav-item:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:999px}.topbar-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.history{display:inline-flex}.top-rates{padding:0 6px}.save-state{font:500 11px/1 var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:0 6px;display:inline-flex;align-items:center;gap:6px}.save-saving{color:var(--act)}.save-full,.save-unavailable{color:var(--fix)}.menu{position:relative}.menu-panel{position:absolute;right:0;top:calc(100% + 6px);min-width:240px;z-index:40;background:var(--sheet);border:1px solid var(--rule-2);border-radius:var(--radius-sheet);padding:6px;display:grid;box-shadow:var(--shadow-float);animation:pop .14s ease-out}.menu-panel>button{all:unset;cursor:pointer;padding:8px 10px;border-radius:var(--radius-field);font:500 14px/1.3 var(--font-ui)}.menu-panel>button:hover,.menu-panel>button:focus-visible{background:var(--sheet-2)}.menu-theme{display:grid;gap:6px;padding:10px 10px 6px;border-top:1px solid var(--rule);margin-top:6px}.menu-theme .segs{width:100%}.menu-theme .seg{min-height:28px;font-size:13px}.toast{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:60;max-width:calc(100vw - 32px);background:var(--ink);color:var(--sheet);padding:11px 20px;border-radius:999px;font:500 14px/1.4 var(--font-ui);box-shadow:var(--shadow-float);animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}#parts,#costs,#project-tabs,#bom{scroll-margin-top:76px}.page{padding:20px var(--gutter) 56px;max-width:1600px;margin:0 auto;display:grid;gap:20px;min-width:0}.card{background:var(--sheet);border:0;border-radius:var(--radius-sheet);min-width:0}.card-body{padding:18px 20px 20px;display:grid;gap:14px}.card-title{font-size:17px;font-weight:500;letter-spacing:-.02em}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px}.section-head h3{font-size:16.5px;font-weight:500;letter-spacing:-.015em}.lede{color:var(--ink-2);max-width:70ch;font-size:15px;line-height:1.55}.empty{padding:20px;border-radius:var(--radius-field);border:1px dashed var(--rule-2);color:var(--ink-2);background:var(--sheet)}.hint{font-size:13.5px;padding:10px 12px;border-radius:var(--radius-field);background:var(--caution-wash);color:var(--ink);display:grid;gap:8px;justify-items:start}.note{padding:12px 14px;border-left:2px solid var(--ink);background:var(--sheet-2);border-radius:0 var(--radius-field) var(--radius-field) 0;display:grid;gap:4px;font-size:14px}.error-box{background:var(--fix-wash);color:var(--ink);border-left:3px solid var(--fix);border-radius:0 var(--radius-field) var(--radius-field) 0;padding:10px 12px;font-size:14px}.table-scroll,.bom-scroll{overflow-x:auto;min-width:0;-webkit-overflow-scrolling:touch;position:relative}ul.plain{margin:0;padding-left:18px;display:grid;gap:4px}.paper{background:radial-gradient(130% 95% at 50% 0%,var(--studio-hi) 0%,var(--studio-mid) 55%,var(--studio-lo) 100%)}.foot-links{display:inline-flex;gap:16px}footer.foot{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;font-size:13px;color:var(--ink-3);padding:14px 2px 0;border-top:1px solid var(--rule)}.crash{padding:24px;display:grid;gap:12px;justify-items:start;max-width:760px}.crash h2{font-size:24px}.crash-compact{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:10px;padding:16px;text-align:center;font-size:13.5px;color:var(--ink-2);max-width:none}.editable{outline:none;border-radius:2px;cursor:text;transition:background .12s}.editable:hover{background:var(--sheet-2)}.editable:focus{background:var(--sheet-2);box-shadow:0 0 0 3px var(--sheet-2),0 0 0 4px var(--act)}.editable:empty:before{content:attr(data-placeholder);color:var(--ink-3)}.welcome-page{padding-bottom:0}.welcome{display:grid;gap:26px;padding:clamp(28px,4vw,48px) clamp(20px,3.4vw,44px) 28px;position:relative;overflow:hidden;color:var(--ink)}.welcome-render{position:absolute;right:-1%;top:-64px;width:min(54%,780px);height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.welcome-head,.welcome-starts,.welcome-foot{position:relative;z-index:1}.welcome-head{display:grid;gap:14px;max-width:620px;min-height:clamp(150px,16vw,230px);align-content:end}.display{font:400 clamp(34px,4.2vw,58px)/1.04 var(--font-ui);letter-spacing:-.04em}.welcome .lede{font-size:16.5px;max-width:62ch}.welcome-starts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.start{all:unset;box-sizing:border-box;cursor:pointer;width:100%;height:100%;display:grid;align-content:start;gap:8px;padding:18px 18px 20px;border-radius:16px;border:1px solid rgba(242,239,236,.14);background:#f2efec0f;color:var(--ink);transition:background .15s,border-color .15s}.start:hover{background:#f2efec1a;border-color:#f2efec47}.start:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.start-art{color:var(--ink);height:36px;display:flex;align-items:center}.start-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.start strong{font-size:16.5px;font-weight:500;letter-spacing:-.015em}.start-go{color:var(--ink-3);display:inline-flex;transition:transform .15s,color .15s}.start:hover .start-go{color:var(--ink);transform:translate(2px)}.start-text{font-size:14px;line-height:1.45;color:var(--ink-2);max-width:36ch}.start-drop.is-over{border-color:var(--ink);background:#f2efec1f}.welcome-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;padding-top:16px;border-top:1px solid var(--rule)}.welcome-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13.5px;color:var(--ink-2)}.welcome-steps li{display:inline-flex;align-items:center;gap:8px}.strip{display:grid;gap:10px}.strip-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:13.5px}.strip-tools .textbtn{font-size:13.5px}.text-select{display:inline-flex;align-items:center;gap:8px}.text-select select{width:auto;min-height:30px;padding:2px 28px 2px 10px;font:500 13.5px/1.2 var(--font-ui);color:var(--ink);field-sizing:content;max-width:46vw;background-position:right 9px center}.confirm{display:inline-flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:13.5px}.tb-project{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1.25fr)}.tb-project .tb-name{grid-template-rows:auto auto auto 1fr}.tb-project .tb-meta{align-self:end}.tb-project .tb-reqs{grid-column:1 / 3}.tb-title{font:500 clamp(22px,2.1vw,28px)/1.15 var(--font-ui);letter-spacing:-.03em;overflow-wrap:anywhere}.tb-desc{font-size:14.5px;line-height:1.5;color:var(--ink-2);max-width:64ch}.tb-pair{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end}.tb-pair label{display:grid;gap:4px;font-size:12.5px;color:var(--ink-2);font-weight:500}.tb-pair input{width:84px;min-height:32px}.tb-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--ink-3)}.project-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}.col-main{display:grid;gap:20px;min-width:0}.col-right{display:grid;gap:12px;min-width:0;position:sticky;top:72px}.parts-space,.bom-card{padding:18px 20px 20px}.parts-space.drop-target{outline:2px dashed var(--act);outline-offset:4px}.ps-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px;padding:0 0 16px}.ps-head>div:first-child{margin-right:auto;display:grid;gap:4px}.ps-title{font-size:19px;font-weight:500;letter-spacing:-.025em}.ps-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ps-status{display:flex;flex-wrap:wrap;gap:6px 18px;padding:0 0 14px;font-size:13.5px;color:var(--ink-2)}.ps-status>span{display:inline-flex;align-items:center;gap:8px}.ps-status .ps-fix{flex-wrap:wrap;color:var(--ink)}.tiles{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.tiles>li{min-width:0}.tile{all:unset;box-sizing:border-box;cursor:pointer;width:100%;height:100%;position:relative;min-width:0;display:grid;grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);align-content:start;border-radius:var(--radius-block);background:transparent}.tile:hover{color:var(--ink)}.tile:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tile.is-selected{box-shadow:none}.tile:hover .tile-img{box-shadow:var(--shadow-lift)}.tile.is-selected .tile-img{box-shadow:0 0 0 2px var(--act)}.tile-top{position:absolute;top:10px;left:10px;right:10px;z-index:1;display:flex;align-items:center;gap:6px;pointer-events:none}.tile-top .tag-warn,.tile-top .tag-plain{margin-left:auto}.qty{font:600 12px/1 var(--font-ui);font-variant-numeric:tabular-nums;color:var(--ink-2)}.tile-img{display:grid;place-items:center;aspect-ratio:4 / 3;overflow:hidden;padding:16% 10% 6%;border-radius:var(--radius-block);transition:box-shadow .15s}.tile-img img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease-out}.tile:hover .tile-img img{transform:scale(1.04)}.tile-missing{font-size:12.5px;color:var(--ink-2);text-align:center;padding:8px}.tile-name{font-size:14.5px;font-weight:600;letter-spacing:-.01em;padding:10px 2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-meta{display:flex;justify-content:space-between;gap:8px;padding:2px 2px 4px;font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}.tile-meta span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-meta span:last-child{color:var(--ink);font-weight:500;font-family:var(--font-ui);font-size:13.5px}.tile-drop{aspect-ratio:auto;min-height:100%;border:1px dashed var(--rule-2);background:transparent;grid-template-rows:none;place-content:center;justify-items:center;text-align:center;gap:6px;padding:18px;font-size:14px;font-weight:500}.tile-drop .muted{font-size:12.5px;font-weight:400;max-width:24ch}.tile-drop:hover{border-color:var(--ink);background:var(--sheet-2)}.tile-drop-plus{color:var(--ink-2);line-height:0}.ps-scene{position:relative;height:clamp(340px,56vh,580px);border:0;border-radius:var(--radius-block);overflow:hidden}.scene{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.scene canvas{display:block}.scene-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.callout{position:absolute;left:0;top:0;white-space:nowrap;transition:opacity .15s;font:500 10.5px/1 var(--font-code);font-variant-numeric:tabular-nums;padding:5px 8px;border-radius:999px;background:var(--sheet);color:var(--ink);border:0;box-shadow:var(--shadow-lift)}.callout.is-selected{background:var(--act);border-color:var(--act);color:var(--on-act)}.ps-explode{position:absolute;right:12px;top:12px;display:grid;gap:4px;width:180px;padding:10px 12px;background:color-mix(in srgb,var(--sheet) 72%,transparent);border:1px solid var(--rule);border-radius:var(--radius-block);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ps-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--ink-2);font-size:14px}.workbench{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;padding:20px 0 0;margin-top:20px;border-top:1px solid var(--rule)}.wb-stage{display:grid;gap:10px;align-content:start;min-width:0}.wb-tools{display:flex;flex-wrap:wrap;gap:6px}.wb-view{position:relative;height:420px;border:0;border-radius:var(--radius-block);overflow:hidden}.wb-panel{display:grid;gap:14px;align-content:start;min-width:0}.wb-head{display:flex;align-items:center;gap:10px}.wb-head .wb-name{flex:1}.wb-close{flex:none}.wb-name{font:500 20px/1.2 var(--font-ui)!important;letter-spacing:-.025em;border:1px solid transparent!important;background:transparent!important;padding:2px 6px!important;min-height:0!important;margin-left:-6px}.wb-name:hover{border-color:var(--rule-2)!important}.wb-name:focus{border-color:var(--act)!important}.wb-panel .field input[type=number]{width:110px}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch-btn{width:24px;height:24px;border-radius:50%;border:0;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #0000002e}.swatch-btn[aria-checked=true]{box-shadow:0 0 0 2px var(--sheet),0 0 0 3.5px var(--ink)}.wb-cost{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:0;border-radius:var(--radius-block);overflow:hidden}.wb-cost>div{background:var(--sheet);padding:10px 12px 12px;display:grid;gap:4px}.wb-fig{font:500 22px/1.1 var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.wb-panel>.btn-ghost{justify-self:start;color:var(--fix)}.wb-panel>.btn-ghost:hover{background:var(--fix-wash);color:var(--fix)}.viewer{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;height:min(660px,74vh);min-height:380px;position:relative}.viewer-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--rule)}.viewer-toolbar .label{margin-right:4px}.viewer-stage{position:relative;min-height:0;background:radial-gradient(130% 95% at 50% 0%,var(--studio-hi) 0%,var(--studio-mid) 55%,var(--studio-lo) 100%)}.viewer-canvas{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.viewer-canvas canvas{display:block}.viewer-legend{display:flex;flex-wrap:wrap;gap:6px 16px;padding:10px 14px 12px;font-size:13px;color:var(--ink-2);align-items:center;border-top:1px solid var(--rule)}.legend-key{display:inline-flex;align-items:center;gap:7px}.legend-key i{width:10px;height:10px;display:inline-block;border-radius:2px}.axis-note{margin-left:auto;font-size:12.5px;color:var(--ink-3)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;padding:24px;background:color-mix(in srgb,var(--sheet) 82%,transparent)}.overlay-box{display:grid;gap:10px;max-width:340px;justify-items:center}.progress{height:3px;width:100%;background:var(--rule);overflow:hidden;border-radius:2px}.progress>span{display:block;height:100%;background:var(--act);transition:width .15s}.drop-target{box-shadow:inset 0 0 0 2px var(--act)}.bom-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;padding:0 0 14px}.bom-head>div:first-child{display:grid;gap:4px}.bom-head .card-title{font-size:19px;font-weight:500;letter-spacing:-.025em}.bom-head .card-title .muted{font-size:14px;font-weight:400}.bom-key{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--ink-2);align-items:center}.bom-start{padding:26px 0 8px;display:grid;gap:10px;justify-items:start}.bom-start h3{font-size:18px;font-weight:500;letter-spacing:-.02em}.bom{width:100%;border-collapse:collapse;font-size:var(--text-ui);border:0}.bom thead th{font:500 12.5px/1.2 var(--font-ui);color:var(--ink-3);text-align:left;padding:0 10px;height:36px;background:transparent;border-bottom:1px solid var(--rule);white-space:nowrap}.bom th.num,.bom td.num{text-align:right;white-space:nowrap}.bom td.num{font-weight:500}.bom td{padding:8px 10px;min-height:var(--row-h);height:var(--row-h);border-bottom:1px solid var(--rule);vertical-align:middle}.bom-group th,.bom-group td{height:36px;padding-top:14px;padding-bottom:6px;border-bottom:1px solid var(--rule);vertical-align:bottom}.bom-group th{text-align:left;font-size:13.5px;font-weight:600}.bom-group th .swatch{margin-right:8px;vertical-align:-1px}.bom-group td.num{color:var(--ink-2);font-weight:500}.bom-empty td{color:var(--ink-3);font-size:13px;height:auto}.bom-row:hover td{background:var(--sheet-2)}.bom-row.is-open td{background:var(--act-wash);border-bottom-color:transparent}.bom-row.is-blocked .bom-name{color:var(--fix)}.bom-name{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-weight:500;overflow-wrap:anywhere}.bom-name:hover{color:var(--act);text-decoration:underline;text-underline-offset:3px}.bom-name:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}.bom-sub{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin:4px 0 0 34px;font-size:12.5px;color:var(--ink-2)}.bom-actions{text-align:right;white-space:nowrap;width:1%}.bom-editor td{background:var(--act-wash);padding:4px 16px 18px 44px;border-bottom:1px solid var(--rule);height:auto}.bom-editor .line-editor{background:var(--sheet);border:1px solid var(--rule-2);border-radius:var(--radius-field);padding:14px}.line-editor,.custom-fields{display:grid;gap:12px}.le-grid{display:grid;gap:10px 12px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-items:end}.le-grid>label,.two-inputs label,.fgrid label,.quote-inputs label{display:grid;gap:5px;min-width:0;color:var(--ink);font:500 13px/1.3 var(--font-ui)}.le-grid>label>:is(input,select,textarea),.two-inputs label>:is(input,select),.fgrid label>:is(input,select),.quote-inputs label>:is(input,select){font:400 14px/1.2 var(--font-ui);color:var(--ink)}.le-wide{grid-column:1 / -1}.le-check{display:flex!important;align-items:center;gap:9px!important;font:400 14px/1.3 var(--font-ui)!important;color:var(--ink)!important;min-height:36px}.le-actions{display:flex;justify-content:flex-end}.quotes{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--rule)}.quotes-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px}.quote-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.quote-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius-field);background:var(--sheet)}.quote-list li.is-chosen{border-color:var(--ink-3);box-shadow:inset 3px 0 0 var(--quoted)}.q-main{display:grid;gap:5px;min-width:0}.q-line{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.q-line .mono{color:var(--ink-2)}.q-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.q-warn{color:var(--caution);font-size:13px}.q-why summary{cursor:pointer;font-size:13px;color:var(--act)}.q-why ul{margin-top:6px}.quote-form{display:grid;gap:12px;padding:14px;border:1px solid var(--rule-2);border-radius:var(--radius-field);background:var(--sheet-2)}.wb-panel .quotes{border-top:1px solid var(--rule)}.fb-open{font-size:13px;color:var(--ink-2);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.fb-open:hover{color:var(--act)}.fb{display:grid;gap:12px;padding:14px;border:1px solid var(--rule-2);border-left:3px solid var(--caution-fill);border-radius:var(--radius-field);background:var(--sheet)}.fb-head{display:grid;gap:7px;justify-items:start}.fb textarea{min-height:60px}.fb-done{font-size:13.5px;color:var(--ok);padding:8px 12px;border-left:3px solid var(--ok-fill);background:var(--ok-wash);border-radius:0 var(--radius-field) var(--radius-field) 0}.sum{background:radial-gradient(140% 70% at 50% 0%,var(--studio-hi) 0%,var(--sheet) 62%);color:var(--ink);border:0;border-radius:24px;display:grid;min-width:0;overflow:hidden;box-shadow:var(--shadow-lift)}.sum-sec{padding:16px 18px;display:grid;gap:10px;border-top:1px solid var(--rule);min-width:0}.sum-sec:first-child{border-top:0}.sum-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.sum-at{font:500 11.5px/1 var(--font-code);color:var(--ink-3)}.sum-big{font:400 clamp(44px,3.8vw,54px)/1 var(--font-ui);letter-spacing:-.045em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.sum-note{font-size:12.5px;color:var(--ink-2)}.stack{display:flex;gap:2px;height:8px}.stack>span{min-width:3px;border-radius:4px}.sum-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:3px 16px;font-size:13px}.sum-legend li{display:flex;align-items:center;gap:7px;min-width:0;color:var(--ink-2)}.sum-legend li span:last-child{margin-left:auto;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.dot{width:10px;height:10px;flex:none;display:inline-block;border-radius:2px}.checked-track{height:8px;background:var(--sheet-3);border-radius:4px;overflow:hidden}.checked-track span{display:block;height:100%;background:var(--quoted);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--on-quoted) 18%,transparent);transition:width .3s}.sum-facts{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0;background:none;border-top:1px solid var(--rule)}.sum-facts>div{background:transparent;padding:14px 18px 16px;display:grid;gap:6px}.sum-facts>div:nth-child(odd){border-right:1px solid var(--rule)}.sum-facts>div:nth-child(n+3){border-top:1px solid var(--rule)}.sum-facts dt{font:400 12.5px/1.2 var(--font-ui);color:var(--ink-3)}.sum-facts dd{margin:0;font:500 20px/1 var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.drivers ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}.drivers li{display:grid;grid-template-columns:minmax(0,1fr) 64px 34px;gap:10px;align-items:center;font-size:13px}.drv-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.drv-bar{height:5px;background:var(--sheet-3);border-radius:3px;overflow:hidden}.drv-bar span{display:block;height:100%;background:var(--ink-2)}.drv-val{text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums}.why{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;padding:2px 2px 4px}.why .textlink{font-size:13.5px}.dock{display:none}@media (max-width: 1120px){.dock{position:fixed;left:0;right:0;bottom:0;z-index:26;display:flex;align-items:center;gap:20px;padding:10px var(--gutter) max(10px,env(safe-area-inset-bottom));background:var(--sheet);color:var(--ink);border-top:1px solid var(--rule);box-shadow:0 -8px 24px #1111130f;transition:transform .2s ease-out,opacity .2s}.dock.is-hidden{transform:translateY(110%);opacity:0;pointer-events:none}.dock-item{display:grid;gap:2px;min-width:0}.dock-value{font:500 19px/1.05 var(--font-ui);letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}.dock-more{margin-left:auto}.project-page{padding-bottom:96px}.toast{bottom:84px}}@media (max-width: 480px){.dock{gap:14px}.dock-extra{display:none}.dock-value{font-size:17px}}.spec{margin:0;display:grid}.spec>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:8px 0;border-bottom:1px solid var(--rule)}.spec>div:last-child{border-bottom:0}.spec dt{color:var(--ink-2);font-size:13.5px}.spec dd{margin:0;font-size:14px;text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.two-inputs{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px}.forgot{list-style:none;margin:0;padding:0;display:grid}.forgot li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--rule)}.forgot li:first-child{border-top:0;padding-top:2px}.forgot li>div{display:grid;gap:2px;font-size:14px}.forgot li>.fig{color:var(--ink-2);font-size:13px;white-space:nowrap}.tabs{padding:0 20px 22px}.tablist{display:flex;gap:4px;border-bottom:0;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:14px 20px 2px}.tablist::-webkit-scrollbar{display:none}.tab{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;flex:none;padding:8px 13px;border-radius:999px;font:500 14px/1.1 var(--font-ui);color:var(--ink-2);position:relative;white-space:nowrap;transition:background .15s,color .15s}.tab:hover{color:var(--ink);background:var(--sheet-2)}.tab[aria-selected=true]{color:var(--ink);background:var(--sheet-3)}.tab[aria-selected=true]:after{content:none}.tab:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:999px}.tabpanel{padding:22px 0 0;display:grid;gap:18px;min-width:0}.chart{width:100%;min-width:0;display:grid;gap:10px}.chart svg{display:block;width:100%;height:auto;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.chart .grid{stroke:var(--rule);stroke-width:1}.chart .tick{fill:var(--ink-3);font:400 11px var(--font-ui);font-variant-numeric:tabular-nums}.chart .axis-label{fill:var(--ink-3);font:500 10.5px var(--font-ui);text-transform:uppercase;letter-spacing:.07em}.chart .band{opacity:.12}.chart .line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart .line.changes{stroke-dasharray:7 4}.chart .line.blocked{stroke-width:1.25;stroke-dasharray:2 4;opacity:.45}.chart .cursor{stroke:var(--act);stroke-width:1.5}.chart .cursor-chip{fill:var(--act)}.chart .cursor-text{fill:var(--on-act);font:500 11px var(--font-ui);font-variant-numeric:tabular-nums}.chart .dot{stroke:var(--sheet);stroke-width:2}.chart .crossover line{stroke:var(--ink);stroke-width:1}.chart .crossover circle{fill:var(--sheet);stroke:var(--ink);stroke-width:1.5}.legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px}.legend li{display:inline-flex;align-items:center;gap:7px}.legend li .swatch{width:14px;height:3px;border-radius:2px}.legend li.is-blocked{color:var(--ink-3)}.legend-note{font-size:12px;color:var(--ink-3)}.gantt{--gl: 210px;display:grid;gap:6px}.gantt-scale{position:relative;height:16px;margin-left:calc(var(--gl) + 12px)}.gantt-scale span{position:absolute;transform:translate(-50%);font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.gantt-row{display:grid;grid-template-columns:var(--gl) minmax(0,1fr);gap:12px;align-items:center}.gantt-label{font-size:13.5px;color:var(--ink);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-track{position:relative;height:22px;background-color:var(--sheet-2);border-radius:2px;background-image:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),var(--rule) calc(10% - 1px) 10%)}.gantt-bar{position:absolute;top:3px;bottom:3px;border-radius:2px}.gantt-foot{text-align:right;font-size:12px;color:var(--ink-3)}.delta{font-weight:500}.delta-better{color:var(--ok)}.delta-worse{color:var(--fix)}.delta-same{color:var(--ink-3);font-weight:400}.inline-field{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.inline-field select{width:auto;min-height:32px;padding:4px 30px 4px 10px}.checklist{list-style:none;margin:0;padding:0;display:grid}.checklist li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--rule)}.checklist li>div{display:grid;gap:2px}.check{width:18px;height:18px;border:1.5px solid var(--ink);border-radius:4px;display:grid;place-items:center;font:600 12px/1 var(--font-ui);margin-top:1px}.checklist .is-done .check{background:var(--ink);color:var(--sheet);border-color:var(--ink)}.checklist .is-done strong{color:var(--ink-2)}.export-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.brief-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.csv-box{font:400 12px/1.5 var(--font-code)!important;white-space:pre;font-variant-numeric:tabular-nums;background:var(--sheet-2)!important}.doc,.receipt,.brief,.rfq-doc{background:var(--sheet);color:var(--ink);border:1px solid var(--rule-2);border-radius:var(--radius-block);min-width:0;overflow:hidden;box-shadow:var(--shadow-sheet)}.doc-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px;background:var(--rule);border-bottom:1px solid var(--rule-2)}.doc-title>div{background:var(--sheet);padding:10px 14px 12px;display:grid;gap:4px;min-width:0}.doc-title h3{font-size:16.5px;font-weight:500;letter-spacing:-.02em;overflow-wrap:anywhere}.receipt{font-size:13.5px;line-height:1.5;font-variant-numeric:tabular-nums;display:grid}.receipt section{display:grid;gap:2px;padding:10px 14px 12px;border-bottom:1px solid var(--rule)}.receipt h4{font:500 11px/1.2 var(--font-ui);color:var(--ink-3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}.leader{display:flex;align-items:baseline;gap:6px;min-width:0}.leader>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.leader .dots{flex:1;min-width:12px;border-bottom:1px dotted var(--ink-3);transform:translateY(-4px)}.leader>span:last-child{white-space:nowrap;font-weight:500}.receipt-total{border-bottom:0!important;background:var(--sheet-2)}.receipt-total .leader{font-weight:500}.receipt footer{padding:8px 14px 10px;font-size:12px;color:var(--ink-3);border-top:1px solid var(--rule)}.rfq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;align-items:start}.rfq-controls{display:grid;gap:16px;min-width:0}.rfq-check{display:grid;gap:4px}.rfq-check .checklist li{padding:9px 0}.rfq-text{margin:0;max-height:640px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:400 12.5px/1.65 var(--font-code);padding:16px 18px;font-variant-numeric:tabular-nums}.rfq-text:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}.lib-list{list-style:none;margin:0;padding:0;display:grid;max-height:min(52vh,480px);overflow:auto;border-top:1px solid var(--rule)}.lib-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--rule)}.lib-list li>div{display:grid;gap:2px;min-width:0}.lib-list .mono{color:var(--ink-2)}.field{display:grid;gap:7px}.field-label{font-weight:500;font-size:14px}.fieldset{border:0;margin:0;padding:0;display:grid;gap:10px;min-width:0}.fieldset legend{font:500 11px/1.3 var(--font-ui);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;padding:0;color:var(--ink-3)}.fgrid{display:grid;gap:10px 12px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.draft-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.draft-list label{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--rule);border-radius:var(--radius-field);background:var(--sheet);cursor:pointer}.draft-list label:has(input:checked){border-color:var(--ink)}.draft-list input{margin-top:3px}.attach-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.thumbs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}.thumbs li{display:grid;gap:4px;width:120px;justify-items:start}.thumbs img{width:120px;height:90px;object-fit:cover;border-radius:var(--radius-field);border:1px solid var(--rule);display:block}.thumbs .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.pdf-chip{width:120px;height:90px;display:grid;place-items:center;border-radius:var(--radius-field);border:1px solid var(--rule);background:var(--sheet-2);font:500 12px var(--font-code)}dialog.drawer{border:1px solid var(--rule-2);border-radius:var(--radius-dialog);padding:0;width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 48px);background:var(--sheet);color:var(--ink);box-shadow:var(--shadow-float)}dialog.drawer-wide{width:min(1000px,calc(100vw - 32px))}dialog.drawer[open]{animation:pop .16s ease-out}@keyframes pop{0%{opacity:0;transform:translateY(6px)}}dialog.drawer::backdrop{background:var(--scrim)}.drawer-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 14px 12px 22px;position:sticky;top:0;background:var(--sheet);z-index:2;border-bottom:1px solid var(--rule)}.drawer-head h2{font-size:19px!important;font-weight:500;letter-spacing:-.025em}.drawer-body{padding:18px 22px 26px;display:grid;gap:18px}.shortcuts>div{justify-content:flex-start;gap:18px}.shortcuts dt{min-width:170px;display:flex;gap:5px}.shortcuts dd{font-size:14px;text-align:left;font-weight:400}.method{display:grid;gap:22px;max-width:760px}.method section{display:grid;gap:8px}.method h3{font-size:16px;font-weight:500;letter-spacing:-.015em;display:flex;gap:10px;align-items:baseline}.method .spec dd{font-size:13.5px;text-align:right;max-width:62%;font-weight:400}.method p,.method li{font-size:14.5px;line-height:1.55}.lab-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px}.lab-title{display:grid;gap:6px}.lab-title h1{font:400 clamp(28px,2.8vw,38px)/1.1 var(--font-ui);letter-spacing:-.04em}.lab-title .lede{font-size:14.5px}.lab-added{flex-basis:100%;padding:10px 14px;border-left:3px solid var(--ok-fill);background:var(--ok-wash);color:var(--ok);font-size:14px;border-radius:0 var(--radius-field) var(--radius-field) 0}.workspace{display:grid;gap:16px;grid-template-columns:minmax(260px,310px) minmax(0,1fr) minmax(310px,380px);grid-template-areas:"left viewer right";align-items:start}.col-left{grid-area:left;display:grid;gap:12px;min-width:0}.col-viewer{grid-area:viewer;min-width:0}.workspace>.col-right{grid-area:right;position:static}.titleblock{overflow:hidden;border:0;border-radius:var(--radius-sheet);background:var(--sheet)}.tb-head{padding:14px 16px;display:grid;gap:4px;border-bottom:1px solid var(--rule)}.tb-head h2{font-size:18px;font-weight:500;letter-spacing:-.025em;overflow-wrap:anywhere}.tb-file{font:400 12px/1.4 var(--font-code);color:var(--ink-2);overflow-wrap:anywhere}.tb-grid{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:1px;background:var(--rule);border-bottom:1px solid var(--rule)}.tb-grid>div{padding:8px 12px 9px;background:var(--sheet);min-width:0}.tb-grid>div.wide{grid-column:1 / -1}.tb-grid dt{font:400 12px/1.2 var(--font-ui);color:var(--ink-3)}.tb-grid dd{margin:3px 0 0;font-size:14px;font-weight:500;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.tb-foot{padding:12px 14px 14px;display:grid;gap:10px}.qty-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:center}.qty-row input[type=number]{text-align:right}.range-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.answer{overflow:hidden;color:var(--ink);background:radial-gradient(140% 70% at 50% 0%,var(--studio-hi) 0%,var(--sheet) 62%);border:0;border-radius:24px;box-shadow:var(--shadow-lift)}.answer-head{padding:16px 18px;display:grid;gap:10px;border-bottom:1px solid var(--rule)}.answer-process{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:500;letter-spacing:-.02em}.answer-price{display:grid;gap:8px}.answer-price strong{font:400 48px/1 var(--font-ui);letter-spacing:-.045em;font-variant-numeric:tabular-nums}.answer-price span{color:var(--ink-2);font-size:13px}.answer-facts{margin:0;display:grid;grid-template-columns:auto 1fr;gap:7px 16px;padding:14px 18px;font-size:14px}.answer-facts dt{color:var(--ink-2)}.answer-facts dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.answer-note{padding:0 18px 16px;font-size:13.5px;color:var(--ink-2);display:grid;gap:6px}.proc-table{width:100%;border-collapse:collapse;font-size:var(--text-ui)}.proc-table th{font:500 12.5px/1.2 var(--font-ui);color:var(--ink-3);text-align:right;padding:0 12px;height:36px;background:transparent;border-bottom:1px solid var(--rule);white-space:nowrap}.proc-table th:first-child{text-align:left}.proc-table td{padding:9px 12px;border-bottom:1px solid var(--rule);text-align:right;vertical-align:top;font-variant-numeric:tabular-nums;font-weight:500}.proc-table td:first-child{text-align:left;font-weight:400}.proc-table tr:last-child td{border-bottom:0}.proc-row{cursor:pointer}.proc-row:hover td{background:var(--sheet-2)}.proc-row.is-focused td{background:var(--act-wash)}.proc-name{display:flex;align-items:center;gap:10px}.proc-name button{all:unset;cursor:pointer;display:inline-flex;gap:9px;align-items:center;font-weight:500}.proc-name button:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}.proc-sub{margin-top:5px}.proc-blocked td{color:var(--ink-3)}.card>.proc-table{border-radius:var(--radius-sheet);overflow:hidden}.path{display:grid;gap:12px}.path-bar{display:flex;gap:2px}.path-seg{display:flex;align-items:flex-end;min-width:0;height:34px;padding:0 8px 6px;color:var(--ink);font:600 11.5px/1 var(--font-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top:6px solid;background:var(--sheet-2);border-radius:2px}.path-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}.path-steps li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px;align-items:start;font-size:14px}.path-steps .swatch{margin-top:5px}.issue-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.issue{border:1px solid var(--rule);border-left:3px solid var(--rule-2);border-radius:var(--radius-field);padding:14px 16px 16px;display:grid;gap:8px;align-content:start;background:var(--sheet)}.issue.sev-blocker,.issue.sev-major{border-left-color:var(--fix)}.issue.sev-minor{border-left-color:var(--caution-fill)}.issue h4{font-size:15px;font-weight:500;letter-spacing:-.01em}.issue p{font-size:14px}.issue .sev{justify-self:start}.issue dl{margin:0;display:grid;gap:6px;font-size:14px}.issue dt{font:500 10.5px var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}.issue dd{margin:0}.notes{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.note strong{font-size:14.5px}.levers{display:grid;gap:10px}.lever{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;padding:14px 16px;border:1px solid var(--rule);border-radius:var(--radius-field);background:var(--sheet)}.lever h4{font-size:15.5px;font-weight:500;letter-spacing:-.01em;margin-top:4px}.lever-save{text-align:right}.lever-save strong{display:block;font:500 22px/1 var(--font-ui);letter-spacing:-.03em;color:var(--ok);font-variant-numeric:tabular-nums}.lever-save span{font-size:12.5px;color:var(--ink-2)}.lever p{grid-column:1 / -1;font-size:14px}.quote-row{border:1px solid var(--rule);border-radius:var(--radius-field);padding:14px;display:grid;gap:12px;background:var(--sheet)}.quote-inputs{display:grid;gap:10px;grid-template-columns:1.4fr 1.6fr .9fr .9fr 1fr 1fr auto;align-items:end}.quote-result{display:grid;gap:6px;font-size:14px}.verdicts{display:flex;flex-wrap:wrap;gap:8px 20px}.verdict-typical{color:var(--ok);font-weight:600}.verdict-low{color:var(--caution);font-weight:600}.verdict-high{color:var(--fix);font-weight:600}.brief{max-width:920px}.brief-block{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:1px;background:var(--rule);border-bottom:1px solid var(--rule-2)}.brief-block>div{padding:8px 12px 10px;background:var(--sheet);min-width:0}.brief-block dt{font:500 10.5px var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}.brief-block dd{margin:3px 0 0;font-size:14px;font-weight:500;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.brief-section{padding:14px 16px;border-bottom:1px solid var(--rule);display:grid;gap:8px;font-size:14px}.brief-section:last-child{border-bottom:0}.brief-section h4{font:500 11px var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}@media (prefers-reduced-motion: no-preference){.flash{animation:flash .9s ease-out}@keyframes flash{0%{background-color:var(--quoted);color:var(--on-quoted)}to{background-color:transparent}}}@media (max-width: 1260px){.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"viewer viewer" "left right"}}@media (max-width: 1120px){.project-grid{grid-template-columns:minmax(0,1fr)}.col-right{position:static;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}.col-right>.why{grid-column:1 / -1}.workbench,.export-grid,.rfq{grid-template-columns:minmax(0,1fr)}.receipt{max-width:480px}}@media (max-width: 960px){.tb-project{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tb-project .tb-name,.tb-project .tb-reqs,.tb-project .tb-costing{grid-column:1 / -1}.welcome-starts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.welcome-starts li:last-child{grid-column:1 / -1}}@media (max-width: 760px){.page{padding:14px 16px 44px;gap:16px}.topbar{grid-template-columns:auto 1fr;padding:0 16px;gap:0 10px}.nav{grid-column:1 / -1;grid-row:2;margin:0 -10px;min-height:44px}.save-state{display:none}.tb-project,.welcome-starts{grid-template-columns:minmax(0,1fr)}.welcome-starts li:last-child{grid-column:auto}.welcome-render{display:none}.tiles{grid-template-columns:repeat(auto-fill,minmax(146px,1fr));gap:10px}.parts-space,.bom-card{padding:14px}.tabs{padding:0 14px 18px}.tablist{margin:0 -14px;padding:0 14px}.ps-actions,.bom-head .topbar-actions{width:100%}.ps-actions .btn,.bom-head .topbar-actions .btn{flex:1}.ps-scene{height:360px}.wb-view{height:320px}.col-right{grid-template-columns:minmax(0,1fr)}.gantt{--gl: 104px}.gantt-label{font-size:12px}.bom-sub{margin-left:0}.bom-editor td{padding-left:10px;padding-right:10px}.workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"viewer" "right" "left"}.viewer{height:420px;min-height:0}.issue-grid,.notes,.lever{grid-template-columns:minmax(0,1fr)}.lever-save{text-align:left}.quote-inputs{grid-template-columns:1fr 1fr}.brief-block{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.forgot li{grid-template-columns:minmax(0,1fr) auto}.forgot li>.fig{grid-column:1;grid-row:2}.forgot li>.btn{grid-row:1 / span 2;grid-column:2}.lib-list li{grid-template-columns:minmax(0,1fr) auto}.lib-list li>.mono{grid-column:1}.lib-list li>.btn{grid-row:1 / span 2;grid-column:2}.quote-list li{grid-template-columns:minmax(0,1fr)}.q-actions{justify-content:flex-start}.shortcuts dt{min-width:120px}.drawer-head{padding:12px 10px 10px 16px}.drawer-body{padding:14px 16px 22px}.method .spec>div{flex-direction:column;gap:2px}.method .spec dd{text-align:left;max-width:none}}@media (max-width: 980px) and (min-width: 761px){.quote-inputs{grid-template-columns:1fr 1fr 1fr}}@media (max-width: 420px){.sum-legend{grid-template-columns:minmax(0,1fr)}.sum-big{font-size:40px}}.plan,.cash,.costdown,.suppliers,.bids,.versions,.report-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}.tabpanel,.report-doc{grid-template-columns:minmax(0,1fr)}.tabpanel>.section-head{margin-top:10px}.tabpanel>.section-head:first-child{margin-top:0}.plan-cash-head{padding-top:18px;border-top:1px solid var(--rule-2);margin-top:8px!important}.plan-totals,.cash-totals{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.plan-fig{font:500 24px/1.05 var(--font-ui);letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.plan-table td,.cash-table td,.cd-table td,.sup-table td,.bid-matrix td{vertical-align:top}.plan-stage{display:flex;align-items:center;gap:8px}.plan-q{margin-top:3px;max-width:30ch}.plan-table .plan-qty{width:76px;min-width:76px;text-align:right;padding:4px 8px}.plan-table td:nth-child(n+4),.cash-table td:nth-child(4),.cash-table td:nth-child(5),.cd-table td:nth-child(n+3){white-space:nowrap}.plan-methods{text-align:left!important;max-width:26ch}.plan-mp td{background:var(--sheet-2)}.plan-bar-evt{background:var(--p-fdm)}.plan-bar-dvt{background:var(--p-casting)}.plan-bar-pvt{background:var(--p-sls)}.plan-bar-mp{background:var(--ink)}.gates{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.gate{border:1px solid var(--rule-2);border-radius:var(--radius-field);padding:12px 14px 4px;background:var(--sheet);min-width:0}.gate-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.gate .checklist li:last-child{border-bottom:0}.budget-gaps{border:1px solid var(--rule-2);border-left:3px solid var(--caution-fill);border-radius:var(--radius-field);padding:12px 14px;display:grid;gap:8px;background:var(--sheet)}.cash-chart svg{cursor:default}.cash-bar-prototype{fill:var(--p-fdm);background:var(--p-fdm)}.cash-bar-tooling{fill:var(--p-casting);background:var(--p-casting)}.cash-bar-components{fill:var(--p-sla);background:var(--p-sla)}.cash-bar-deposit{fill:var(--p-sls);background:var(--p-sls)}.cash-bar-balance{fill:var(--p-im_alu);background:var(--p-im_alu)}.cash-bar-landed{fill:var(--ink-3);background:var(--ink-3)}.cash-bar-certification{fill:var(--p-im_steel);background:var(--p-im_steel)}.chart .cash-peak{fill:var(--sheet);stroke:var(--act);stroke-width:2.5}.chart .cash-zero{stroke:var(--ink-2);stroke-width:1}.cash-terms{display:grid;gap:10px;padding:14px;border:1px solid var(--rule-2);border-radius:var(--radius-field);background:var(--sheet-2)}.cash-terms .le-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.cash-table td:nth-child(3){text-align:left}.cash-table th:nth-child(3){text-align:left}.cash-kind{font-weight:500}td.cash-in{color:var(--ok)}.proc-table tr.is-focused td{background:var(--act-wash)}.cd-target{max-width:180px;padding-left:10px;padding-right:0}.cd-target input{font-size:22px}.cd-gauge{position:relative;height:14px;background:var(--sheet-3);border-radius:2px;margin:18px 0 4px}.cd-now{position:absolute;left:0;top:0;bottom:0;background:var(--ink);border-radius:2px}.cd-reach{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,var(--ok-fill) 0 4px,color-mix(in srgb,var(--ok-fill) 55%,var(--sheet)) 4px 8px)}.cd-target-mark{position:absolute;top:-8px;bottom:-4px;width:0;border-left:2px solid var(--act)}.cd-target-mark span{position:absolute;bottom:100%;left:0;transform:translate(-50%);font:500 10.5px/1 var(--font-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--act);white-space:nowrap;padding-bottom:3px}.cd-target-mark.is-end span{transform:translate(-100%)}.cd-table td:first-child{max-width:62ch}.cd-title{display:flex;align-items:center;gap:8px;margin-bottom:3px}.cd-trade{color:var(--ink-2);margin-top:3px;font-style:italic}.unc-list{list-style:none;margin:0;padding:0;display:grid;gap:7px;max-width:760px}.unc-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,200px) 40px 72px;gap:12px;align-items:center;font-size:14px}.unc-list .drv-bar span{background:var(--caution-fill)}.unc-w{text-align:right;font-variant-numeric:tabular-nums}.sup-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:14px;color:var(--ink-2)}.sup-strip b{color:var(--ink);font-variant-numeric:tabular-nums}.sup-late,.sup-late b{color:var(--fix)!important}.sup-gap{color:var(--caution)}.sup-add{margin-left:auto}.sup-table td:nth-child(n+2):nth-child(-n+6),.sup-table th:nth-child(n+2):nth-child(-n+6){text-align:left}.sup-nda{margin-left:8px}.sup-contact{overflow-wrap:anywhere}.sup-codes{display:inline-flex;flex-wrap:wrap;gap:4px}.sup-actions{white-space:nowrap}.sup-actions .textbtn+.textbtn{margin-left:12px}.sup-form fieldset{border:0;margin:0;padding:0;min-width:0}.sup-lines{display:grid;gap:6px}.sup-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 14px;max-height:220px;overflow-y:auto;padding:4px 2px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.sup-line{display:flex;align-items:center;gap:8px;font-size:13.5px;min-height:30px;min-width:0;cursor:pointer}.sup-line-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sup-note{display:grid;gap:5px;font:500 11px/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}.sup-note textarea{font:400 14px/1.45 var(--font-body);text-transform:none;letter-spacing:0;color:var(--ink)}.rfq-log{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--rule)}.rfq-log label{display:grid;gap:5px;font:500 11px/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);flex:1 1 200px}.rfq-log input{font:400 14px/1.4 var(--font-body);text-transform:none;letter-spacing:0;color:var(--ink)}.forecast{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}.fc-advice{list-style:none;margin:0;padding:0;display:grid;gap:8px}.fc-advice li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--rule-2);border-left:3px solid var(--ok-fill);border-radius:var(--radius-field);background:var(--sheet)}.fc-advice li>div{display:grid;gap:3px}.fc-table td:nth-child(n+2),.fc-wear td:nth-child(n+3){white-space:nowrap}.fc-tools{color:var(--caution);margin-top:4px;white-space:nowrap}.chart .fc-dot{fill:var(--sheet);stroke:var(--ink);stroke-width:2}.chart .fc-tool{fill:var(--caution-fill)}.fc-dot-key{border:2px solid var(--ink);border-radius:50%;background:var(--sheet)}.fc-tool-key{background:var(--caution-fill);clip-path:polygon(50% 100%,0 0,100% 0)}.fc-wear-bar{display:block;height:4px;margin-top:5px;background:var(--sheet-3);border-radius:2px;overflow:hidden;min-width:80px}.fc-wear-bar span{display:block;height:100%;background:var(--ink-2)}.bid-line{display:inline-flex;align-items:center;gap:8px}.bid-matrix th:nth-child(n+3),.bid-matrix td:nth-child(n+3){min-width:130px}.bid{display:grid;justify-items:end;gap:4px;padding:6px 8px;border-radius:var(--radius-field);border:1px solid transparent}.bid+.bid{margin-top:6px}.bid.is-best{border-color:var(--ok-fill)}.bid.is-chosen{background:var(--sheet-2)}.bid-price{font-weight:500}.bid-tags{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.bid-tags:empty{display:none}.waterfall{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:5px}.waterfall li{display:grid;grid-template-columns:minmax(0,1fr) 90px 66px;gap:10px;align-items:center;font-size:13.5px}.wf-label{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-bar{height:8px;background:var(--sheet-3);border-radius:2px;overflow:hidden;display:flex}.wf-bar i{display:block;height:100%}.wf-price .wf-bar i,.wf-sub .wf-bar i{background:var(--ink)}.wf-fee .wf-bar i{background:var(--ink-3)}.wf-cost .wf-bar i{background:var(--fix)}.wf-margin .wf-bar i{background:var(--ok-fill)}.wf-val{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.wf-sub,.wf-margin{padding-top:5px;border-top:1px solid var(--rule)}.wf-sub .wf-label,.wf-margin .wf-label,.wf-price .wf-label{color:var(--ink);font-weight:500}.wf-margin .wf-val{font-weight:600}.ver-save{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 24px}.ver-state{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:500;letter-spacing:-.02em;margin-top:4px}.ver-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex:1 1 360px;justify-content:flex-end}.ver-form input{flex:1 1 220px;min-width:0}.ver-note{text-align:left!important;max-width:36ch}.ver-actions{white-space:nowrap}.ver-diff{display:grid;gap:12px}.ver-sum{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.plain{margin:0;padding-left:18px}.shouldcost{display:grid;gap:10px;padding:14px;border:1px solid var(--rule-2);border-radius:var(--radius-field);background:var(--sheet)}.sc-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.sc-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.sc-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,120px) 64px;gap:10px;align-items:center;font-size:13.5px}.sc-name{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-bar{height:6px;background:var(--sheet-3);border-radius:2px;overflow:hidden}.sc-bar i{display:block;height:100%;background:var(--ink)}.sc-tool .sc-bar i{background:var(--ink-3)}.sc-val{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.sc-total{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding-top:8px;border-top:1px solid var(--rule);font-size:14px}.bom-spec,.bom-mpn{display:block;font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:32ch}.bom-total td{font-weight:600;border-top:1px solid var(--ink-3)}.tier-field input{width:190px;padding:5px 8px}.export-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.export-col{display:grid;gap:10px;align-content:start;min-width:0}.export-xlsx{padding:14px;border:1px solid var(--rule-2);border-radius:var(--radius-block);background:var(--sheet)}.ps-scene-note{color:var(--ink-3);margin-top:6px}.tb-rev,.tb-client{font-size:13px}.tb-client{color:var(--ink-2)}.tb-client .editable{color:var(--ink)}.tb-costing .tb-pair input{width:70px}.q-breaks{display:grid;gap:8px}.q-break{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.sum-gaps{display:flex;justify-content:space-between;align-items:center;gap:10px}.sum-gaps .mark{margin-right:4px}.report-doc{padding:0 0 22px;display:grid;gap:22px}.report-tb{grid-template-columns:2.2fr repeat(3,1fr);border-width:0 0 1.5px;border-radius:0}.report-tb-name{grid-row:span 2}.report-tb-name h3{font-size:21px;font-weight:500;letter-spacing:-.025em}.report-sec{padding:0 22px;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;overflow-x:auto}.report-sec h4{font:500 12px/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.06em;padding-bottom:6px;border-bottom:1px solid var(--rule-2)}.report-figs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));padding:0 1px 1px 0}.report-figs>div{background:var(--sheet);padding:10px 12px;display:grid;gap:4px;align-content:start;border:1px solid var(--rule);margin:0 -1px -1px 0}.report-figs b{font:500 20px/1.1 var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.report-table{width:100%;border-collapse:collapse;font-size:13px}.report-table th{text-align:left;font:500 10.5px/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);padding:6px 8px;border-bottom:1px solid var(--rule-2)}.report-table td{padding:5px 8px;border-bottom:1px solid var(--rule);vertical-align:top}.report-table .num{text-align:right;white-space:nowrap}.report-total td{font-weight:600;border-top:1px solid var(--ink)}.report-run td{background:var(--act-wash)}.report-group th{padding-top:12px;color:var(--ink);background:transparent;border-bottom:1px solid var(--ink)}.report-assume{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4px 24px;font-size:13px}.report-assume>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--rule)}.report-assume dt{color:var(--ink-2)}.report-assume dd{margin:0;text-align:right}@media (max-width: 760px){.report-tb{grid-template-columns:1fr 1fr}.report-tb-name{grid-column:1 / -1;grid-row:auto}.report-sec{padding:0 14px}.plan-totals,.cash-totals{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cd-table thead,.cash-table thead{display:none}.cd-table tr,.cash-table tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px 0;border-bottom:1px solid var(--rule)}.cd-table td,.cash-table td{display:block;padding:0;border:0;text-align:left}.cd-table td:first-child,.cash-table td:nth-child(3){flex-basis:100%;order:-1}.cd-table td:last-child,.cash-table td:last-child{margin-left:auto}.cash-table td:first-child{display:flex;gap:8px;align-items:baseline}.cd-table td:nth-child(3):before{content:"Per unit "}.cd-table td:nth-child(4):before{content:"Over the run "}.cd-table td:nth-child(3):before,.cd-table td:nth-child(4):before{font-weight:400;color:var(--ink-3);font-size:12.5px}.cd-target{max-width:none}.unc-list li{grid-template-columns:minmax(0,1fr) 60px 36px}.unc-w{display:none}.waterfall li{grid-template-columns:minmax(0,1fr) 60px 66px}.q-break{grid-template-columns:1fr 1fr}.sup-add{margin-left:0}.plan-fig{font-size:22px}}:root{--ws-gap: 6px;--ws-radius: 12px}html[data-layout=workspace]{--row-h: 36px}html[data-layout=workspace][data-density=compact]{--row-h: 30px}html[data-layout=workspace] body{overflow:hidden}html[data-layout=workspace] #root{height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr)}html[data-layout=workspace] #main{min-height:0;display:grid}html[data-layout=workspace] .toast{bottom:46px}html.is-resizing,html.is-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}html.is-resizing-row,html.is-resizing-row *{cursor:row-resize!important;-webkit-user-select:none!important;user-select:none!important}.ws-topbar{position:relative;min-height:48px;gap:8px 14px;padding:0 10px 0 16px}.ws-tabs{gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0}.ws-tabs::-webkit-scrollbar{display:none}.ws-tabs .nav-item{height:30px;padding:0 11px;font-size:13.5px;gap:6px;flex:none}.ws-tabs-sep{width:1px;height:18px;background:var(--rule-2);margin:0 6px;flex:none}.ws-panel-toggles{display:inline-flex;gap:2px}.ws-panel-toggles .icon-btn{width:32px;height:32px;color:var(--ink-3)}.ws-panel-toggles .icon-btn[aria-pressed=true]{color:var(--ink)}.layout-switch{padding:2px}.layout-switch .seg{min-height:28px;padding:0 8px}.menu-links{display:grid;padding:6px 0 0;border-top:1px solid var(--rule);margin-top:6px}.menu-links a{padding:7px 10px;border-radius:var(--radius-field);color:var(--ink-2);font:500 13.5px/1.3 var(--font-ui);text-decoration:none}.menu-links a:hover,.menu-links a:focus-visible{background:var(--sheet-2);color:var(--ink)}.ws{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--ws-gap);min-height:0;min-width:0;height:100%;padding:var(--ws-gap) var(--ws-gap) 0}.ws-loading{place-items:center}.ws-toolbar{display:flex;align-items:center;gap:8px 12px;min-height:46px;padding:6px 8px 6px 10px;background:var(--sheet);border-radius:var(--ws-radius);overflow-x:auto;scrollbar-width:none;min-width:0}.ws-toolbar::-webkit-scrollbar{display:none}.ws-toolbar>*{flex:none}.ws-toolbar .label{white-space:nowrap}.ws-toolbar-end{margin-left:auto;display:flex;gap:6px;align-items:center}.ws-toolbar .topbar-actions{flex-wrap:nowrap}.ws-toolbar .btn{min-height:32px;padding:0 13px;font-size:13px}.ws-toolbar select.btn{min-height:32px}.ws-sep{width:1px;height:22px;background:var(--rule-2)}.ws-tool{display:inline-flex;align-items:center;gap:7px}.ws-tool input.num{width:62px;min-height:30px;padding:3px 8px;font-size:13.5px}.ws-toolbar .text-select select{min-height:32px;max-width:240px;font-size:13.5px}.ws-new select{color:var(--ink-2)}.ws-qty{max-width:none;padding-right:9px}.ws-qty input{font-size:15px;width:84px;padding:3px 9px}.ws-toolbar .preset{min-height:26px;line-height:26px}.ws-toolbar .segs .seg,.ws-pane-head .segs .seg{min-height:26px;font-size:13px;padding:0 10px}.ws-body{display:grid;min-height:0;min-width:0;grid-template-rows:minmax(0,1fr);grid-template-areas:"left lsplit center rsplit right"}.ws-outliner,.ws-lab-left{grid-area:left}.ws-split-left{grid-area:lsplit}.ws-center{grid-area:center;min-width:0;min-height:0;display:grid}.ws-split-right{grid-area:rsplit}.ws-inspector,.ws-lab-right{grid-area:right}.ws-split{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;min-width:0}.splitter{position:relative;z-index:3;touch-action:none;outline:none;min-width:0;min-height:0}.splitter-vertical{cursor:col-resize}.splitter-horizontal{cursor:row-resize}.splitter:before{content:"";position:absolute}.splitter-vertical:before{top:0;right:-3px;bottom:0;left:-3px}.splitter-horizontal:before{top:-3px;right:0;bottom:-3px;left:0}.splitter:after{content:"";position:absolute;border-radius:2px;background:transparent;transition:background .15s}.splitter-vertical:after{top:10px;bottom:10px;left:2px;width:2px}.splitter-horizontal:after{left:10px;right:10px;top:2px;height:2px}.splitter:hover:after{background:var(--rule-2)}.splitter:active:after,.splitter:focus-visible:after{background:var(--act)}.ws-pane{background:var(--sheet);border-radius:var(--ws-radius);min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.ws-pane-head{display:flex;align-items:center;gap:8px 12px;min-height:44px;padding:6px 8px 6px 12px;border-bottom:1px solid var(--rule);min-width:0;flex:none}.ws-pane-label{font:500 14px/1.2 var(--font-ui);letter-spacing:-.01em;white-space:nowrap}.ws-pane-title{display:block;flex:0 1 auto;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pane-title .bal{margin-right:8px;vertical-align:1px}.ws-ellipsis{font-weight:500}.ws-pane-actions{margin-left:auto;display:flex;gap:6px;align-items:center;flex:none}.ws-pane-head .btn-small{min-height:30px;padding:0 12px;font-size:13px}.ws-pane-head .segs,.ws-toolbar .segs{flex-wrap:nowrap;flex:none}.ws-pane-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;position:relative}.ws-empty-pane{display:grid;place-items:center}.ol-filter{display:flex;align-items:center;gap:8px;margin:8px 8px 2px;padding:0 12px;border-radius:999px;background:var(--sheet-2);color:var(--ink-3);border:1px solid var(--rule);flex:none}.ol-filter:focus-within{border-color:var(--act);box-shadow:var(--ring)}.ol-filter input{all:unset;flex:1;min-width:0;height:32px;font:400 13.5px/1 var(--font-ui);color:var(--ink)}.ol-filter input::placeholder{color:var(--ink-3)}.ol-list{padding:4px 6px 12px}.ol-group{display:grid;padding-top:2px}.ol-group-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:2px;min-height:32px}.ol-toggle{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:7px;min-width:0;padding:6px;border-radius:999px;font:500 13px/1.2 var(--font-ui);color:var(--ink)}.ol-toggle:hover{background:var(--sheet-2)}.ol-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.ol-chev{display:inline-flex;color:var(--ink-3);transition:transform .15s}.ol-toggle[aria-expanded=true] .ol-chev{transform:rotate(90deg)}.ol-cat{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ol-count{font:500 11px/1 var(--font-code);color:var(--ink-3);font-variant-numeric:tabular-nums}.ol-sub{font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums;padding-left:6px}.ol-add{width:26px;height:26px;color:var(--ink-3)}.ol-add:hover{color:var(--ink)}.ol-row{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:6px;min-height:30px;padding:0 10px 0 24px;border-radius:999px;font:400 13.5px/1.25 var(--font-ui);color:var(--ink)}.ol-row:hover{background:var(--sheet-2)}.ol-row[aria-pressed=true]{background:var(--sheet-3)}.ol-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.ol-row .code{font-size:10.5px;color:var(--ink-3)}.ol-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ol-val{font-size:12.5px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink-2);text-align:right;white-space:nowrap}.ol-row[aria-pressed=true] .ol-val{color:var(--ink)}.ol-flag{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;font:600 9.5px/1 var(--font-ui)}.ol-flag-fix{background:var(--fix-wash);color:var(--fix)}.ol-flag-draft{background:var(--caution-wash);color:var(--caution)}.ol-none{all:unset;box-sizing:border-box;cursor:pointer;padding:3px 10px 7px 30px;font-size:12.5px;color:var(--ink-3)}.ol-none:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.ol-none:focus-visible{outline:2px solid var(--focus);border-radius:4px}.ol-empty{padding:12px 10px}.ws-viewer .ps-status{padding:8px 12px;border-bottom:1px solid var(--rule);flex:none}.ws-view-tiles{padding:12px}.ws-viewer .tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ws-viewer .tile-name{font-size:13.5px;padding-top:8px}.ws-view-assembled,.ws-view-part{overflow:hidden}.ws-viewer .ps-scene{position:absolute;top:0;right:0;bottom:0;left:0;height:auto;border-radius:0}.ws-viewer .wb-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.ws-viewer .wb-view{position:absolute;top:0;right:0;bottom:0;left:0;height:auto;border-radius:0}.ws-viewer .wb-tools{position:absolute;top:10px;left:10px;right:10px;z-index:2;pointer-events:none}.ws-viewer .wb-tools>*{pointer-events:auto;box-shadow:0 1px 2px #10101014}.ws-viewer.drop-target{outline:2px dashed var(--act);outline-offset:-4px}.ws-sheet-body{padding:0 12px 12px}.ws-sheet .bom-scroll{overflow:visible}.ws-sheet .bom thead th{position:sticky;top:0;z-index:1;background:var(--sheet)}.ws-sheet .bom-name{gap:8px}.ws-sheet .chart{padding-top:14px}.ws-sheet .bom-key{font-size:12px;flex-wrap:nowrap;white-space:nowrap}.ws-sheet .bom-start{padding:18px 4px 8px}.ws-inspector{display:flex;flex-direction:column;gap:var(--ws-gap);min-height:0;min-width:0}.ws-readout{border-radius:var(--ws-radius);box-shadow:none;flex:none}.ws-insp{flex:1 1 auto}.ws-readout .sum-sec{padding:12px 16px 14px;gap:8px}.ws-readout .sum-big{font-size:42px}.ws-insp-tabs{width:100%}.ws-insp-tabs .seg{flex:1 1 0}.seg[aria-selected=true]{background:var(--sheet);color:var(--ink);box-shadow:0 1px 3px #10101024}.ws-insp-code{font-size:10px;color:var(--ink-3)}.ws-insp-body{padding:14px 14px 20px}.ws-empty{display:grid;gap:8px;padding:4px 2px}.ws-empty kbd{font-size:10px;padding:3px 5px;min-width:0}.ws-item{display:grid;gap:12px}.ws-item-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start}.ws-item-head .bal{margin-top:2px}.ws-item-title{display:grid;gap:3px;min-width:0}.ws-item-title h2{font-size:17px;font-weight:500;letter-spacing:-.02em;overflow-wrap:anywhere}.ws-item-label{margin-top:-4px}.ws-cost-once{grid-template-columns:minmax(0,1fr)}.ws-draft{justify-self:start}.ws-item .le-grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr))}.ws-item .le-actions{justify-content:flex-start}.ws-totals{background:none;box-shadow:none;border-radius:0;overflow:visible;margin:-14px -14px -20px}.ws-totals .sum-sec:first-child{border-top:0}.ws-insp-body>.card{background:transparent}.ws-insp-body>.card>.card-body{padding:0}.ws-proj{display:grid;gap:16px}.ws-proj-id{display:grid;gap:8px}.ws-proj-name{font:500 21px/1.2 var(--font-ui);letter-spacing:-.025em;overflow-wrap:anywhere}.ws-proj-actions{display:flex;flex-wrap:wrap;gap:6px 16px;padding-top:4px}.ws-proj-actions .textbtn{font-size:13.5px}.ws-group{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--rule)}.ws-doc-body{padding:16px 18px 28px;display:grid;gap:18px;align-content:start;grid-template-columns:minmax(0,1fr)}.ws-doc-body>.section-head:first-child{margin-top:0}.ws-status{display:flex;align-items:center;gap:4px 18px;min-height:30px;padding:0 10px;font-size:12.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;min-width:0}.ws-status .save-state{padding:0}.ws-stat{display:inline-flex;align-items:baseline;gap:6px}.ws-stat>span:first-child{color:var(--ink-3)}.ws-stat b{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.ws-stat .hl{padding:0 .3em}.ws-stat-btn{all:unset;cursor:pointer;display:inline-flex;gap:6px;align-items:center;border-radius:4px}.ws-stat-btn:hover{color:var(--ink)}.ws-stat-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ws-stat-btn .mark{min-height:18px;padding:0 6px;font-size:11px}.ws-status-end{margin-left:auto;display:inline-flex;align-items:center;gap:16px;color:var(--ink-3);min-width:0;overflow:hidden}.ws-status-note{color:var(--ok);overflow:hidden;text-overflow:ellipsis}.ws-col{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--ws-gap);border-radius:var(--ws-radius)}.ws-col>*{flex:none}.ws-lab .col-viewer{grid-area:auto}.ws-lab .ws-col>.card{border-radius:var(--ws-radius)}.ws-lab .answer{border-radius:var(--ws-radius);box-shadow:none}.ws-lab .viewer{height:auto;min-height:0;border-radius:var(--ws-radius)}.ws-lab .viewer-toolbar{padding:7px 10px}.ws-lab-details{padding:0}.ws-lab-details .tablist{margin:0;padding:6px 8px;border-bottom:1px solid var(--rule);flex:none}.ws-lab-details .tab{padding:7px 12px;font-size:13.5px}.ws-lab-details .tabpanel{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 16px 22px}.ws-short{display:none}@media (max-width: 1560px){.ws-presets,.ws-hide-mid{display:none}}@media (max-width: 1380px){html[data-layout=workspace] .ws-hide-narrow,.ws-topbar .brand-name{display:none}.ws-tabs .nav-item{padding:0 9px}}@media (max-width: 1300px){.ws-made,.ws-long{display:none}.ws-short{display:inline}.ws-toolbar{gap:8px}.ws-toolbar .text-select select{max-width:190px}.ws-tool input.num{width:54px}}@media print{html[data-layout=workspace] body{overflow:visible}html[data-layout=workspace] #root,html[data-layout=workspace] #main,.ws,.ws-body,.ws-center,.ws-split,.ws-pane,.ws-pane-body{display:block!important;height:auto!important;overflow:visible!important;padding:0!important}.ws-toolbar,.ws-outliner,.ws-inspector,.ws-status,.splitter,.ws-pane-head,.ws-viewer,.ws-col{display:none!important}body.print-report .ws-doc-body>:not(.report-wrap):not(.report-doc){display:none!important}}@media print{body.print-report .project-page>:not(#project-tabs),body.print-report .tabpanel>:not(.report-wrap),body.print-report .report-wrap>:not(.report-doc){display:none!important}body.print-report .tabs{padding:0;border:0}body.print-report .report-doc{border:0}.report-sec{break-inside:avoid}.report-break{break-before:page}.report-bom{break-inside:auto}.report-table tr{break-inside:avoid}}@page{margin:14mm}@media print{.topbar,.tb-project,.strip-tools,.parts-space,.tablist,.brief-actions,footer.foot,.no-print,.toast,.dock,.col-right,.bom-card{display:none!important}body{background:#fff;color:#000}.page{padding:0}.card{border:0}.doc,.receipt,.brief,.rfq-doc{break-inside:avoid}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
