@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,700;12..96,800&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@500&display=swap";.public{--bg: #F2F3EF;--surface: #FFFFFF;--ink: #15191C;--ink-2: #4A5358;--line: #D5D9D3;--accent: #1F5FBF;--accent-ink: #FFFFFF;--good: #2f6b45;--good-soft: #e5f1e9;--bad: #8e2f2a;--bad-soft: #f7e9e7;--draft: #B25E00;--draft-bg: #FFF1DE;--display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--body: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:16px/1.55 var(--body)}@media(prefers-color-scheme:dark){.public{color-scheme:dark;--bg: #101315;--surface: #181C1F;--ink: #E9ECEA;--ink-2: #A3ADB2;--line: #2A3135;--accent: #6FA2F2;--accent-ink: #0B1420;--good: #7fcf9b;--good-soft: #16261c;--bad: #f09a92;--bad-soft: #2c1816;--draft: #F2A64A;--draft-bg: #2E2213}}body:has(>#root>.public){background:#f2f3ef;margin:0}@media(prefers-color-scheme:dark){body:has(>#root>.public){background:#101315}}.public *{box-sizing:border-box}.public a{color:var(--accent)}.public h1{font:800 clamp(1.7rem,3.4vw,2.3rem)/1.1 var(--display);letter-spacing:-.01em;margin:0 0 10px}.public p{margin:0 0 12px}.public>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(16px,4vw,40px);border-bottom:1px solid var(--line)}.public .logo{display:flex;align-items:center;gap:10px;font:800 1.2rem var(--display);color:var(--ink);text-decoration:none}.public .lang{font:500 .8rem var(--mono);letter-spacing:.06em;border:1px solid var(--line);padding:.35em .6em;border-radius:5px;color:var(--ink);text-decoration:none}.public>main{flex:1;width:100%;max-width:560px;margin:0 auto;padding:clamp(24px,5vw,48px) 16px}.public>main.wide{max-width:1000px}.public>footer{padding:18px;text-align:center;font-size:.85rem;color:var(--ink-2);border-top:1px solid var(--line)}.public .card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:clamp(20px,4vw,30px)}.public .note.good h1{color:var(--good)}.public .note.bad h1{color:var(--bad)}.public .fields{display:flex;flex-direction:column;gap:14px}.public .fields.narrow{max-width:440px;margin:0 auto}.public label{display:flex;flex-direction:column;gap:5px;font-weight:500;font-size:.92rem}.public label small{font-weight:400;color:var(--ink-2)}.public input,.public select{font:inherit;font-weight:400;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);width:100%;min-width:0}.public label.bad input,.public label.bad select{border-color:var(--bad)}.public .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.public .two{grid-template-columns:1fr}}.public .with-button{display:flex;gap:8px}.public fieldset{border:1px solid var(--line);border-radius:8px;padding:12px 14px 14px;display:flex;flex-direction:column;gap:12px;margin:0}.public legend{font-weight:600;padding:0 6px}.public label.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}.public label.check input{width:auto;margin-top:4px}.public button,.public .button{font:600 1rem var(--body);padding:.75em 1.2em;border-radius:6px;cursor:pointer;border:1.5px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.public .primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.public button:disabled{opacity:.55;cursor:default}.public button.quiet{border-color:var(--line);font-weight:500;font-size:.9rem;padding:.5em .9em}.public button.link{border:0;padding:0;background:none;color:var(--accent);text-decoration:underline;font:inherit}.public .error{color:var(--bad);background:var(--bad-soft);border-radius:6px;padding:9px 12px;margin:0}.public .test{font:500 .78rem var(--mono);color:var(--draft);background:var(--draft-bg);border:1px dashed var(--draft);border-radius:4px;padding:6px 10px;margin:0}.public .aside{font-size:.9rem;color:var(--ink-2);margin:0}.public form.inline{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.public form.inline input{flex:1 1 200px}.public .register{display:flex;flex-direction:column;gap:22px}.public .register .intro{text-align:center}.public .register .intro p{color:var(--ink-2)}.public .register>.card{max-width:560px;width:100%;margin:0 auto}.public .billing-toggle{display:inline-flex;align-self:center;border:1px solid var(--line);border-radius:8px;padding:3px;background:var(--surface)}.public .billing-toggle button{border:0;padding:.5em 1em;font-weight:500;font-size:.95rem}.public .billing-toggle button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.public .billing-toggle .save{font:500 .72rem var(--mono);margin-left:6px;opacity:.8}.public .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:760px){.public .plans{grid-template-columns:1fr}}.public .plan{position:relative;background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:18px;cursor:pointer;gap:4px;font-weight:400}.public .plan.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.public .plan input{position:absolute;opacity:0;pointer-events:none}.public .plan:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.public .plan-name{font:700 1.2rem var(--display)}.public .price{font:800 1.9rem/1.1 var(--display);margin-top:6px}.public .price small{font:400 .95rem var(--body);color:var(--ink-2)}.public .price-note{font-size:.85rem;color:var(--ink-2)}.public .plan-text{font-size:.93rem;margin:8px 0 12px;flex:1}.public .pick{font-weight:600;font-size:.9rem;color:var(--accent)}.public .plan.on .pick{color:var(--ink)}.register .setup-note{margin:0 0 6px;font-size:13px;line-height:1.5;opacity:.85}@font-face{font-family:Degular Display;src:url(/fonts/DegularDisplay-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Degular Display;src:url(/fonts/DegularDisplay-Semibold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--sheet: 210mm;--sheet-height: 297mm;--fit-height: calc(var(--sheet-height) - 84mm);--gutter: 18mm;--brand: #3f4638;--brand-deep: #2e3329;--brand-mid: #5b6450;--brand-tint: #eceee8;--brand-tint-strong: #dfe3d9;--ink: #1b1e19;--ink-soft: #5f6659;--rule: #dfe1db;--rule-soft: #ebece7;--paper: #f7f7f4;--surface: #fff;--accent: #3f4638;--accent-soft: #eceee8;--warn: #8a5b12;--warn-soft: #f6efdf;--stop: #8e2f2a;--stop-soft: #f7e9e7;--go: #2f6b45;--go-soft: #e5f1e9;--radius: 7px;--radius-sm: 5px;--shadow: 0 1px 2px rgba(31, 36, 27, .05);--shadow-pop: 0 18px 50px -12px rgba(31, 36, 27, .3), 0 4px 14px -6px rgba(31, 36, 27, .18);--on-brand: #fff;--chip: #f1f2f3;--backdrop: rgba(34, 38, 30, .34);--info: #3d5a75;--info-soft: #f0f4f8;--info-rule: #b9cfe0;--thumb: #eceae6;font-family:Degular Display,Figtree,Segoe UI,system-ui,sans-serif;font-weight:300}.app,.signin{--brand: #e6b35a;--brand-deep: #ecebe6;--brand-mid: #c9a15a;--brand-tint: rgba(230, 179, 90, .13);--brand-tint-strong: rgba(230, 179, 90, .24);--ink: #ecebe6;--ink-soft: #a3a7ae;--rule: #2a2d33;--rule-soft: #1f2125;--paper: #0e0f11;--surface: #15161a;--accent: #e6b35a;--accent-soft: rgba(230, 179, 90, .13);--warn: #e5a93d;--warn-soft: rgba(229, 169, 61, .13);--stop: #ff6b6b;--stop-soft: rgba(255, 107, 107, .12);--go: #53c68c;--go-soft: rgba(83, 198, 140, .12);--shadow: 0 1px 2px rgba(0, 0, 0, .35);--shadow-pop: 0 18px 50px -12px rgba(0, 0, 0, .7), 0 4px 14px -6px rgba(0, 0, 0, .5);--on-brand: #1b1406;--chip: #25282d;--backdrop: rgba(0, 0, 0, .55);--info: #8fb8e8;--info-soft: rgba(91, 149, 255, .12);--info-rule: rgba(91, 149, 255, .4);--thumb: #1c1e22;font-family:Geist,Segoe UI,system-ui,sans-serif;font-weight:400;background:var(--paper);color:var(--ink);color-scheme:dark}.app .sheet-svg{--rule-soft: #2a2d33;--surface: #d9d4c7;--brand-mid: #8a857a;--brand-tint-strong: #efe9da;--warn-soft: #e9c98c;--go-soft: #b9dcc6;--ink: #1d2126;--ink-soft: #5b6068;background:#0e0f11;border-radius:var(--radius)}.app button:not([class]),.signin button:not([class]){font:inherit;font-size:13px;color:var(--ink);background:#1c1e22;border:1px solid #2f3339;border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer}.app button:not([class]):hover:not(:disabled){border-color:var(--brand)}.app button:not([class]):disabled{opacity:.45;cursor:default}.app button.primary:hover:not(:disabled){background:#f0c273}body:has(>#root>.app),body:has(>#root>.signin){background:#0e0f11}.app code,.app pre,.app .mono{font-family:Geist Mono,ui-monospace,Consolas,monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:14px;font-weight:300;-webkit-font-smoothing:antialiased}strong,b,th,h1,h2,h3,h4,.label,button.primary,nav button.on{font-weight:600}code{font-family:ui-monospace,Consolas,monospace;background:var(--brand-tint);color:var(--brand);padding:1px 5px;border-radius:3px;font-weight:400;font-size:.92em}.app{display:grid;grid-template-columns:244px 1fr;min-height:100vh}aside{border-right:1px solid var(--rule);padding:22px 0 20px;background:var(--surface);display:flex;flex-direction:column;gap:20px}.brand{display:flex;flex-direction:column;gap:9px;margin:0 20px}.brand img{width:132px;height:auto;display:block}.brand .mark-line{display:flex;align-items:center;gap:9px;color:var(--brand)}.brand .mark-line b{color:var(--ink);font-size:15px;font-weight:600;letter-spacing:-.01em}.brand h1{font-size:13px;margin:0;font-weight:600;color:var(--brand-mid);letter-spacing:.14em;text-transform:uppercase}aside h2{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);margin:0 20px 6px;font-weight:600}.app>aside nav{display:flex;flex-direction:column}.app>aside nav button{text-align:left;background:none;border:0;padding:7px 20px;font:inherit;color:var(--ink);cursor:pointer;border-left:3px solid transparent;transition:background .12s,color .12s}.app>aside nav button:hover{background:var(--paper)}.app>aside nav button.on{background:var(--brand-tint);color:var(--brand-deep);font-weight:600;border-left-color:var(--brand)}.app>aside footer{margin:auto 20px 0;font-size:11.5px;font-family:ui-monospace,monospace}.app>aside footer.up{color:var(--ink-soft)}.app>aside footer.down{color:var(--stop)}main{padding:26px 30px 40px;min-width:0}.head{margin-bottom:18px}.head h2{margin:0 0 5px;font-size:26px;font-weight:300;letter-spacing:-.02em;color:var(--brand-deep);line-height:1.1}.tier{margin:0;font-size:12.5px;color:var(--ink-soft);max-width:70ch;line-height:1.5}.tier.vendor:before,.tier.shop:before,.tier.locked:before{content:attr(class);display:none}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.search{flex:1 1 240px;min-width:200px;padding:9px 12px;font:inherit;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .12s,box-shadow .12s}.facet{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-soft)}.facet select{font:inherit;padding:5px 6px;border:1px solid var(--rule);border-radius:3px;background:var(--surface)}.count{margin-left:auto;font-size:12px;color:var(--ink-soft);font-family:ui-monospace,monospace}.scroll{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;padding:10px 13px;border-bottom:1px solid var(--brand-mid);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);background:var(--surface);position:sticky;top:0;z-index:1}th:hover{color:var(--brand)}th.immutable{color:var(--warn)}td{padding:9px 13px;border-bottom:1px solid var(--rule-soft);white-space:nowrap;vertical-align:top}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--brand-tint)}.num{font-variant-numeric:tabular-nums}td.num,th.num{text-align:right}.empty{color:var(--rule)}.empty-row{text-align:center;color:var(--ink-soft);padding:28px}.pill{font-size:11px;padding:1px 7px;border-radius:9px}.pill.yes{background:var(--go-soft);color:var(--go)}.pill.no{background:var(--chip);color:var(--ink-soft)}.lock{opacity:.55}.error{color:var(--stop)}.blank{padding:40px 0;max-width:60ch}.split{display:block}tbody tr.clickable{cursor:pointer}button.primary{background:var(--brand);color:var(--on-brand);border:0;padding:8px 16px;font:inherit;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}button.primary:hover{background:var(--brand-deep)}button.primary:disabled{opacity:.45;cursor:default}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:32px 24px;background:var(--backdrop);animation:dialog-in .14s ease-out}@keyframes dialog-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.dialog-backdrop{animation:none}}.editor{width:min(920px,100%);max-height:min(86vh,900px);border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;overflow:hidden}.editor.wide{width:min(1040px,100%)}.editor.widest{width:min(1240px,100%)}.editor header{display:flex;align-items:center;gap:10px;padding:16px 22px;border-bottom:1px solid var(--rule);background:var(--surface)}.editor header h3{margin:0;font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--brand-deep);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor .close{margin-left:auto;background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--ink-soft);width:30px;height:30px;border-radius:var(--radius-sm)}.editor .close:hover{background:var(--brand-tint);color:var(--brand-deep)}.editor .dialog-body,.editor .fields{overflow-y:auto;padding:20px 22px 24px}.editor .dialog-body{display:flex;flex-direction:column;gap:12px}.editor .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;align-content:start}.editor.narrow{width:min(520px,100%)}.editor.narrow .fields{grid-template-columns:minmax(0,1fr)}.editor .fields>.full,.editor .fields>.links,.editor .fields>.children,.editor .fields>.features,.editor .fields>.detail,.editor .fields>.field.wide{grid-column:1 / -1}.editor .section{grid-column:1 / -1;display:flex;align-items:center;gap:12px;margin:6px 0 -4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft)}.editor .section:after{content:"";flex:1;height:1px;background:var(--rule)}.editor .section:first-child{margin-top:0}.editor footer{display:flex;flex-direction:row;align-items:center;gap:10px;padding:14px 22px;margin:0;border-top:1px solid var(--rule);background:var(--paper)}.editor footer>button:last-child{margin-left:auto}.editor footer.stack>button:last-child{margin-left:0}.editor footer button:not(.primary){background:var(--surface);border:1px solid var(--rule);padding:8px 16px;font:inherit;border-radius:var(--radius-sm);cursor:pointer}.editor footer button:not(.primary):hover{border-color:var(--brand-mid)}.field{display:flex;flex-direction:column;gap:4px}.field .label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-weight:600}.field .req{font-style:normal;text-transform:none;letter-spacing:0;color:var(--warn);font-weight:400;font-size:10.5px}.field input,.field select,.field textarea{font:inherit;padding:8px 10px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);width:100%;transition:border-color .12s,box-shadow .12s}.field input:focus,.field select:focus,.field textarea:focus,.search:focus{outline:0;border-color:var(--brand-mid);box-shadow:0 0 0 3px var(--brand-tint)}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--rule-soft);color:var(--ink-soft);cursor:not-allowed}.field.locked .label{color:var(--warn)}.swatch-row{display:flex;gap:8px;align-items:flex-start}.swatch-row .swatch{width:56px;flex:0 0 56px;height:44px;padding:2px;cursor:pointer;border-radius:3px}.swatch-row .swatch:disabled{cursor:not-allowed}.swatch-row .swatch-text{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.swatch-row .swatch-text input{font-family:ui-monospace,Menlo,Consolas,monospace}.swatch-row button.link{display:inline;align-self:flex-start;background:none;border:0;padding:0;font:inherit;font-size:11px;color:var(--ink-soft);text-decoration:underline;cursor:pointer;width:auto}.swatch-row button.link:hover{color:var(--ink)}.chip-cell{display:inline-flex;gap:6px;align-items:center}.chip{width:14px;height:14px;flex:0 0 14px;border-radius:3px;border:1px solid var(--rule)}.chip-cell code{font-size:11px;color:var(--ink-soft)}.texture{display:flex;gap:14px;align-items:flex-start}.texture img{width:128px;height:128px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--rule);background:var(--rule-soft);flex:0 0 128px}.texture .texture-side{display:flex;flex-direction:column;gap:7px;min-width:0;align-items:flex-start;flex:1 1 auto}.texture .texture-side input[type=text]{width:100%}.texture .texture-side button{background:var(--surface);border:1px solid var(--rule);padding:6px 12px;font:inherit;border-radius:var(--radius-sm);cursor:pointer}.texture small{font-size:11px;color:var(--ink-soft);line-height:1.4}.shop-logo{margin:0 14px 18px;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface)}.shop-logo h3{margin:0 0 4px;font-size:14px}.shop-logo .row{display:flex;gap:18px;align-items:center;margin-top:8px}.shop-logo .preview{min-width:160px;min-height:56px;display:flex;align-items:center;padding:6px 10px;border:1px dashed var(--rule);border-radius:var(--radius-sm);background:var(--surface)}.shop-logo .preview img{max-height:56px;max-width:240px}.shop-logo .tools{display:flex;gap:12px;align-items:center}.shop-logo label.button{border:1px solid var(--rule);padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;background:var(--surface)}.shop-logo label.button.disabled{opacity:.5;cursor:default}.quote .basis.error{color:var(--stop)}.field small{font-size:11px;color:var(--ink-soft);line-height:1.4}.error.box{margin:12px 14px 0;padding:8px 10px;background:var(--stop-soft);border-radius:3px;font-size:12.5px}@media(max-width:760px){.editor .fields{grid-template-columns:minmax(0,1fr)}.dialog-backdrop{padding:12px;align-items:flex-end}.editor{max-height:92vh}.app{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid var(--rule)}}.booting{padding:40px;color:var(--ink-soft)}.signin{min-height:100vh;display:grid;place-items:center;padding:20px}.signin form{width:100%;max-width:340px;background:var(--surface);border:1px solid var(--rule);border-radius:5px;padding:26px 24px;display:flex;flex-direction:column;gap:14px}.signin h1{margin:0;font-size:18px;letter-spacing:-.015em}.signin .sub{margin:-10px 0 4px;font-size:12.5px;color:var(--ink-soft)}.signin label{display:flex;flex-direction:column;gap:4px}.signin input{font:inherit;padding:8px 10px;border:1px solid var(--rule);border-radius:3px;background:var(--surface);color:var(--ink)}.signin small{color:var(--ink-soft);font-size:11.5px;line-height:1.6}.signin small code{display:block;margin-top:5px}.signin .links{display:flex;justify-content:space-between;margin:0;font-size:12.5px}.signin .links a,.signin .link-button{color:var(--accent)}.signin .link-button{background:none;border:0;padding:0;font:inherit;font-size:12.5px;text-decoration:underline;cursor:pointer;align-self:flex-start}.app>aside footer{display:flex;flex-direction:column;gap:7px;align-items:flex-start}.who{display:flex;flex-direction:column;gap:2px;font-family:inherit}.who strong{font-size:12.5px;color:var(--ink);font-weight:600}.role{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);background:var(--accent-soft);padding:1px 6px;border-radius:9px;align-self:flex-start}.role.platform_admin{color:var(--warn);background:var(--warn-soft)}.signout{background:none;border:0;padding:0;font:inherit;font-size:11.5px;color:var(--ink-soft);text-decoration:underline;cursor:pointer}.signout:hover{color:var(--accent)}.db{font-size:11px}.once{border:1px solid var(--accent);border-radius:4px;background:var(--accent-soft);padding:12px 14px;margin-bottom:12px;display:flex;flex-direction:column;gap:9px}.once-head{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.once-head strong{font-size:13px;color:var(--accent)}.once-head span{font-size:12px;color:var(--ink-soft)}.once-value{display:block;font-size:13px;padding:9px 11px;background:var(--surface);border:1px solid var(--rule);border-radius:3px;color:var(--ink);word-break:break-all;-webkit-user-select:all;user-select:all}.once-actions{display:flex;gap:8px}.once-actions button:not(.primary){background:none;border:1px solid var(--rule);padding:6px 12px;font:inherit;border-radius:3px;cursor:pointer}button.danger{background:none;border:1px solid var(--stop);color:var(--stop);padding:6px 12px;font:inherit;border-radius:3px;cursor:pointer}button.danger:hover{background:var(--stop);color:var(--on-brand)}button.danger:disabled{opacity:.5;cursor:default}.confirm{display:inline-flex;gap:6px}.confirm button:not(.danger){background:none;border:1px solid var(--rule);padding:6px 12px;font:inherit;border-radius:3px;cursor:pointer}.role.shop_viewer{color:var(--ink-soft);background:var(--chip)}.role.shop_editor{color:var(--accent);background:var(--accent-soft)}.role.shop_admin{color:var(--go);background:var(--go-soft)}.you{font-size:10.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}tbody tr.off td{opacity:.55}.editor footer.stack{flex-direction:column;align-items:stretch;gap:10px}.editor footer .row{display:flex;gap:8px;align-items:center}.editor footer .row.wrap{flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:10px}.editor footer .row button:not(.primary):not(.danger){background:none;border:1px solid var(--rule);padding:7px 14px;font:inherit;border-radius:3px;cursor:pointer}.hint{margin:0;font-size:11.5px;color:var(--ink-soft);line-height:1.5}.hint.pad{padding:10px 2px 0}.audit td{white-space:nowrap}.audit td.changed{white-space:normal;max-width:44ch;color:var(--ink-soft);font-size:12px}.act{font-size:11px;padding:1px 7px;border-radius:9px;background:var(--chip);color:var(--ink-soft)}.act.insert{background:var(--go-soft);color:var(--go)}.act.update{background:var(--accent-soft);color:var(--accent)}.act.delete{background:var(--stop-soft);color:var(--stop)}tr.detail td{background:var(--paper);padding:10px 14px;white-space:normal}table.diff{width:auto;font-size:12.5px}table.diff th{text-align:left;padding:3px 14px 3px 0;border:0;text-transform:none;letter-spacing:0;font-size:12.5px;font-family:ui-monospace,monospace;color:var(--ink);cursor:default;font-weight:500}table.diff td{padding:3px 10px 3px 0;border:0;font-variant-numeric:tabular-nums}table.diff td.from{color:var(--ink-soft);text-decoration:line-through}table.diff td.arrow{color:var(--ink-soft)}table.diff td.to{color:var(--ink);font-weight:600}.publish-state{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:20px;align-items:start;margin-bottom:16px}.state-card,.publish-do{border:1px solid var(--rule);border-radius:4px;background:var(--surface);padding:16px 18px}.state-card h3{margin:0 0 6px;font-size:15px}.state-card>p{margin:0 0 12px;font-size:12.5px;color:var(--ink-soft);max-width:62ch;line-height:1.5}.state-card.same h3{color:var(--ink-soft)}.state-card.ahead h3{color:var(--warn)}.counts{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 12px}.counts div{display:flex;flex-direction:column;gap:1px}.counts dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.counts dd{margin:0;font-size:15px;font-variant-numeric:tabular-nums}button.link:hover{filter:brightness(1.2)}.publish-do{display:flex;flex-direction:column;gap:12px}.publish-do .field{gap:4px}.problems{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.problem{border-left:3px solid var(--rule);padding:6px 0 6px 10px;display:flex;flex-direction:column;gap:3px}.problem strong{font-size:12.5px;font-weight:600}.problem span{font-size:11.5px;color:var(--ink-soft);line-height:1.45}.problem.blocking{border-left-color:var(--stop)}.problem.blocking strong{color:var(--stop)}.problem.warning{border-left-color:var(--warn)}.problem.warning strong{color:var(--warn)}.published-ok{margin:0;font-size:12.5px;color:var(--go)}.payload{margin:0 0 16px;padding:14px 16px;background:var(--surface);border:1px solid var(--rule);border-radius:4px;font-size:11.5px;line-height:1.45;max-height:460px;overflow:auto;font-family:ui-monospace,Consolas,monospace}h3.section{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin:0 0 8px}tbody tr.live td{background:var(--accent-soft)}@media(max-width:1100px){.publish-state{grid-template-columns:1fr}}.ref{color:var(--ink)}.ref.missing{color:var(--stop);font-family:ui-monospace,monospace;font-size:12px}.links{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--rule)}.links .label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-weight:600}.links small{font-size:11px;color:var(--ink-soft);line-height:1.4}.link{display:flex;align-items:center;gap:8px}.link label{display:flex;align-items:center;gap:7px;flex:1;min-width:0;cursor:pointer;font-size:12.5px}.link label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link code{font-size:10.5px}.link-default{background:none;border:1px solid var(--rule);border-radius:9px;font:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.07em;padding:2px 8px;color:var(--ink-soft);cursor:pointer}.link-default.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:600}.link-default:disabled{opacity:.35;cursor:default}.settings{max-width:1000px}.settings-group{margin-bottom:20px}.settings-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px 18px}.settings-foot{position:sticky;bottom:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;margin-top:8px;border-top:1px solid var(--rule);background:var(--paper)}.settings-foot button:not(.primary){background:none;border:1px solid var(--rule);padding:7px 14px;font:inherit;border-radius:3px;cursor:pointer}.settings-foot .hint{flex:1 1 260px}.find{position:sticky;top:0;z-index:3;background:var(--paper);padding:2px 0 10px;margin-bottom:4px;border-bottom:1px solid var(--rule)}.searchrow{display:flex;gap:10px;align-items:center}.searchbox{flex:1 1 auto;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);color:var(--ink-soft);transition:border-color .12s,box-shadow .12s}.searchbox:focus-within,.searchbox.on{border-color:var(--brand-mid);box-shadow:0 0 0 3px var(--brand-tint)}.searchbox input{flex:1 1 auto;min-width:0;font:inherit;border:0;outline:0;background:none;color:var(--ink);padding:0}.searchbox .clear{border:0;background:none;font:inherit;font-size:17px;line-height:1;color:var(--ink-soft);cursor:pointer;padding:0 2px}.searchbox .clear:hover{color:var(--ink)}.kbd{font-family:ui-monospace,Consolas,monospace;font-size:11px;color:var(--ink-soft);border:1px solid var(--rule);border-radius:4px;padding:1px 6px;background:var(--paper)}.facets{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.facet-chip{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font:inherit;font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid var(--rule);background:var(--surface);color:var(--ink-soft);-webkit-user-select:none;user-select:none;white-space:nowrap}.facet-chip:hover:not(:disabled){border-color:var(--brand-mid);color:var(--ink)}.facet-chip .n{font-family:ui-monospace,Consolas,monospace;font-size:11px;font-variant-numeric:tabular-nums}.facet-chip.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand);font-weight:600}.facet-chip:disabled{opacity:.4;cursor:default}.nowt{padding:26px 2px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.nowt .label{margin:0;font-size:14px;text-transform:none;letter-spacing:0;color:var(--ink)}.nowt .ghost{margin-top:6px;background:none;border:1px solid var(--rule);padding:7px 14px;font:inherit;border-radius:3px;cursor:pointer;color:var(--ink)}.nowt .ghost:hover{border-color:var(--brand-mid)}.warnline{display:inline-flex;align-items:center;gap:7px;color:var(--warn);background:var(--warn-soft);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px}.settings-foot .warnline button{background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--warn);text-decoration:underline;cursor:pointer}.field .key{font-family:ui-monospace,Consolas,monospace;font-size:10px;font-weight:400;background:none;color:var(--ink-soft);padding:0;border-radius:0;margin-top:-2px;overflow-wrap:anywhere}.field .why{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-mid);background:var(--brand-tint);border-radius:3px;padding:1px 5px;align-self:flex-start;font-weight:600}.with-unit{position:relative;display:block}.with-unit .unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--ink-soft);pointer-events:none}.with-unit input{padding-right:34px}.editor.wide{width:620px}.children{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--rule)}.children>.label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-weight:600}.children .label em{font-style:normal;text-transform:none;letter-spacing:0;font-size:10.5px;font-weight:400}.children .label em.ok{color:var(--go)}.children>small{font-size:11px;color:var(--ink-soft);line-height:1.4}.child-table{width:100%;border-collapse:collapse;font-size:12px}.child-table thead th{text-align:left;padding:4px 6px 4px 0;border:0;font-size:9.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);cursor:default}.child-table tbody th{text-align:left;padding:3px 8px 3px 0;border:0;font-weight:400;white-space:nowrap;cursor:help}.child-table tbody th code{font-size:10.5px}.child-table td{padding:2px 4px 2px 0;border:0}.child-table input{width:100%;min-width:54px;font:inherit;font-size:12px;padding:3px 6px;border:1px solid var(--rule);border-radius:3px;background:var(--surface);color:var(--ink)}.child-table tr.unmapped input{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.child-table tr.unmapped th code{color:var(--warn)}.editor.wide{width:760px}.child-scroll{overflow-x:auto}.child-table{min-width:620px}.child-table td.tick{text-align:center}.child-table td.tick input{width:auto;min-width:0}.editor.widest{width:1040px}.features .child-table{min-width:1180px}.features .child-table select{width:100%;min-width:72px;font:inherit;font-size:12px;padding:3px 4px;border:1px solid var(--rule);border-radius:3px;background:var(--surface);color:var(--ink)}.features .child-table td.needed input{border-color:var(--info-rule);background:var(--info-soft)}.features .child-table td.na input{background:var(--rule);opacity:.4}.features .child-table th em.has-hint{font-style:normal;color:var(--accent);margin-left:2px;cursor:help}.features .rowtools{white-space:nowrap}.features .rowtools button{margin-right:6px}.features button.link.danger{color:var(--warn)}.features button.link.add{align-self:flex-start;margin-top:2px}.shop-picker{display:flex;flex-direction:column;gap:3px;margin:0 0 14px}.shop-picker label{font-size:9.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-weight:600}.shop-picker select{font:inherit;font-size:12.5px;padding:4px 6px;border:1px solid var(--rule);border-radius:4px;background:var(--surface);color:var(--ink)}.projects-toolbar{justify-content:space-between}.tabs{display:flex;gap:2px}.tabs button{font:inherit;font-size:12.5px;padding:5px 12px;cursor:pointer;border:1px solid var(--rule);background:var(--surface);color:var(--ink-soft);border-radius:4px}.tabs button.on{background:var(--accent);border-color:var(--accent);color:var(--on-brand)}.tabs button em{font-style:normal;opacity:.65;margin-left:6px;font-size:11px}.project-grid{display:grid;gap:14px;padding:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.project-card{display:flex;flex-direction:column;text-align:left;padding:0;font:inherit;color:var(--ink);cursor:pointer;overflow:hidden;border:1px solid var(--rule);border-radius:6px;background:var(--surface)}.project-card:hover{border-color:var(--accent)}.project-thumb{aspect-ratio:16 / 10;background:var(--thumb);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--rule)}.project-thumb img{width:100%;height:100%;object-fit:contain;display:block}.project-thumb .no-render{font-size:11px;color:var(--ink-soft)}.project-body{display:flex;flex-direction:column;gap:6px;padding:10px 12px 12px}.project-body>strong{font-size:13.5px}.project-desc{margin:0;font-size:12px;color:var(--ink-soft);line-height:1.45}.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.chips li{font-size:10.5px;padding:2px 6px;border-radius:3px;background:var(--rule);color:var(--ink-soft)}.chips li.material{font-family:ui-monospace,monospace;font-size:10px}.project-foot{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;color:var(--ink-soft);margin-top:2px}.rev{font-family:ui-monospace,monospace;font-size:10px;white-space:nowrap;padding:1px 5px;border-radius:3px;background:var(--info-soft);color:var(--info)}.project-detail .versions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.project-detail .versions li{border:1px solid var(--rule);border-radius:5px;padding:8px 10px;display:flex;flex-direction:column;gap:5px}.version-head{display:flex;gap:8px;align-items:baseline;font-size:12px}.version-note{margin:0;font-size:11.5px;color:var(--ink-soft);font-style:italic}.version-foot{display:flex;gap:10px;align-items:baseline;font-size:11px}.project-detail .muted{color:var(--ink-soft);font-size:11.5px;margin:0}.project-detail textarea{width:100%;font:inherit;font-size:12.5px;padding:5px 7px;border:1px solid var(--rule);border-radius:4px;background:var(--surface);color:var(--ink);resize:vertical}.download{font-size:12px;color:var(--accent);text-decoration:none;font-weight:500}.download:hover{text-decoration:underline}.dialog-tabs{margin:0 22px;padding-top:14px}.sheets{display:flex;flex-direction:column;gap:20px}.sheet{margin:0}.sheet figcaption{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-bottom:7px;font-size:12.5px}.sheet figcaption strong{font-weight:600;font-family:ui-monospace,monospace;font-size:12px}.sheet figcaption .muted{color:var(--ink-soft);font-size:11.5px}.sheet-svg{width:100%;max-height:62vh;display:block;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface)}.sheet-svg .board{fill:var(--rule-soft)}.sheet-svg .panel{fill:var(--surface);stroke:var(--brand-mid);vector-effect:non-scaling-stroke}.sheet-svg .panel:hover,.sheet-svg .panel.on{fill:var(--brand-tint-strong)}.sheet-svg .panel.two-sided{fill:var(--warn-soft);stroke:var(--warn)}.sheet-svg .net{fill:none;stroke:var(--ink-soft);pointer-events:none}.sheet-svg .panel-label{pointer-events:none}.sheet-svg .panel-label text{fill:var(--ink);font-weight:600}.sheet-svg .panel-label text.dim{fill:var(--ink-soft);font-weight:300}.cut-toolbar{margin-bottom:10px}.cut-list td.names,td.names{white-space:normal;max-width:46ch;font-size:11.5px;color:var(--ink-soft);line-height:1.45}.pill.warn{background:var(--warn-soft);color:var(--warn)}.warn-text{color:var(--warn)}.project-detail .scroll{max-height:none}.sheet-svg .panel.printable{cursor:pointer}.sheet-svg .panel.printed{fill:var(--go-soft);stroke:var(--go)}.sheet-svg .panel.printed.two-sided{fill:var(--warn-soft);stroke:var(--go)}.sheet-svg .printed-tick{fill:var(--go);font-weight:600;pointer-events:none}.sheet-print{margin-left:auto}.printer-note{color:var(--ink-soft)}.printed-said{color:var(--go)}.label-cell{white-space:nowrap}.label-state{display:inline-flex;gap:7px;align-items:baseline}.pill.printed{background:var(--go-soft);color:var(--go)}button.link{background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--accent);text-decoration:underline;cursor:pointer}button.link:hover{color:var(--brand-deep)}button.link:disabled{opacity:.5;cursor:default;text-decoration:none}.label-preview{position:sticky;bottom:0;margin-top:16px;z-index:2;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.label-preview header{display:flex;align-items:center;gap:10px;padding:0;border:0}.label-preview header strong{font-size:13px;font-family:ui-monospace,monospace}.label-preview .close{margin-left:auto;background:none;border:0;font-size:20px;line-height:1;cursor:pointer;color:var(--ink-soft)}.label-preview img{width:100%;max-width:380px;height:auto;display:block;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--rule-soft)}.label-preview .row{display:flex;gap:8px;align-items:center}.project-head .back{display:inline-block;margin-bottom:10px;font-size:12px}.project-head .row{margin-top:10px}.project-head .field{max-width:520px;gap:8px}.aspect-menu{margin:0 0 18px;gap:4px;border-bottom:1px solid var(--rule);padding-bottom:0}.aspect-menu button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:9px 14px;font-size:13.5px;color:var(--ink-soft)}.aspect-menu button.on{background:none;color:var(--brand-deep);font-weight:600;border-bottom-color:var(--brand)}.aspect-menu button em{font-style:normal;font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;margin-left:6px;opacity:.6}.rendering{display:flex;flex-direction:column;gap:18px;max-width:900px}.render-big{width:100%;max-width:760px;height:auto;border-radius:var(--radius);border:1px solid var(--rule);background:var(--rule-soft);display:block}.sheetview{display:flex;flex-direction:column;gap:12px}.sheet-nav{align-items:center;gap:14px}.stepper{display:flex;align-items:center;gap:4px}.stepper button{font:inherit;font-size:16px;line-height:1;width:34px;height:34px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);cursor:pointer}.stepper button:hover:not(:disabled){border-color:var(--brand-mid)}.stepper button:disabled{opacity:.35;cursor:default}.stepper select{font:inherit;font-size:12.5px;padding:7px 8px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.stepper .angle{font-family:ui-monospace,monospace;font-size:12px;color:var(--ink-soft);min-width:34px;text-align:center}.sheet-svg.big{max-height:72vh}.sheet-svg .mark{fill:var(--ink);opacity:.62;pointer-events:none}.sheet-svg .mark.pocket{fill:var(--warn);opacity:.5}.sheet-svg .mark.slot{fill:var(--ink);opacity:.5}.labelling-on{color:var(--go);font-weight:600}.sheet-svg.labelling .panel.printable{cursor:crosshair}.sheet-svg.labelling .panel.printable:hover{fill:var(--go-soft);stroke:var(--go)}.confirm-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--warn);background:var(--warn-soft);border-radius:var(--radius-sm);font-size:12.5px;color:var(--warn)}.confirm-bar button:not(.primary){background:var(--surface);border:1px solid var(--rule);padding:6px 12px;font:inherit;border-radius:var(--radius-sm);cursor:pointer;color:var(--ink)}.pricing{display:flex;flex-direction:column;gap:14px}.quote td,.quote th{vertical-align:top}.quote .basis{font-size:11px;color:var(--ink-soft);margin-top:2px;white-space:normal;max-width:46ch}.quote tfoot th{text-align:right;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink);border-bottom:0;cursor:default;background:none;position:static}.quote tfoot td{font-variant-numeric:tabular-nums;border-bottom:0}.quote tfoot tr.total th,.quote tfoot tr.total td{font-size:15px;font-weight:600;border-top:1px solid var(--brand-mid);padding-top:10px}.quote td.muted{color:var(--ink-soft)}.price-block{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.price-block>header{display:flex;align-items:baseline;gap:12px;align-self:stretch;border-bottom:1px solid var(--rule);padding-bottom:6px}.price-block>header h3{margin:0;font-size:15px}.price-block>header .subtotal{margin-left:auto;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.price-block>.hint{margin:0;max-width:70ch}.price-block .scroll{align-self:stretch}.price-block td{padding:4px 8px}.price-block table,.price-totals table{table-layout:fixed;width:100%;min-width:860px}.price-block td>strong{font-weight:600;overflow-wrap:anywhere}.optional-rows>tr>th{text-align:left;text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--ink-soft);background:none;border-top:1px dashed var(--rule);border-bottom:0;padding-top:12px;cursor:default;position:static}.optional-rows tr.optional td,.optional-rows tr.optional input.cell{color:var(--ink-soft)}tr.overridden>td:first-child{box-shadow:inset 3px 0 0 var(--warn)}tr.overridden .basis{color:var(--warn)}input.cell.num.pct{min-width:56px;width:56px;text-align:right;margin-left:4px}.price-totals tr.overridden th{box-shadow:none}.price-totals tr.overridden td{color:var(--warn)}input.cell.note{font-size:11px;min-width:200px;max-width:100%;margin-top:2px;color:var(--ink-soft)}input.cell.note::placeholder{font-style:italic}.row-tools{display:flex;align-items:center;gap:4px 10px;flex-wrap:wrap;white-space:nowrap}.row-tools .facet{font-size:11px}.price-totals{align-self:stretch}.price-totals th{text-align:right;text-transform:none;letter-spacing:0;font-size:13px;font-weight:400;color:var(--ink);background:none;border-bottom:0;cursor:default;position:static;padding:4px 10px}.price-totals td{border-bottom:0;font-variant-numeric:tabular-nums;padding:4px 10px;width:1%;white-space:nowrap}.price-totals tr.line-above th,.price-totals tr.line-above td{border-top:1px solid var(--rule);padding-top:8px}.price-totals tr.total th,.price-totals tr.total td{font-size:15px;font-weight:600;border-top:1px solid var(--brand-mid);padding-top:8px}.price-totals tr.muted th,.price-totals tr.muted td{color:var(--ink-soft);font-size:12px}.price-totals .basis{font-size:11px;font-weight:400;color:var(--warn);margin-top:2px;white-space:normal;max-width:none}.basis button.link{display:inline}.unpriced ul{margin:6px 0 0;padding-left:18px}.unpriced li{margin:2px 0}.unpriced .muted{color:var(--ink-soft)}.rule-value{white-space:nowrap}.rule-value input{font:inherit;font-size:13px;width:90px;padding:6px 8px;text-align:right;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.rule-value .unit{margin-left:8px;font-size:12px;color:var(--ink-soft)}tr.changed .rule-value input{border-color:var(--warn);background:var(--warn-soft)}.quotation{display:flex;flex-direction:column;gap:16px}.quotation .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.quotation .muted,.quote-draft .muted{color:var(--ink-soft);font-size:12px}.quotation .toolbar strong{font-size:15px}.quotation .toolbar nav.tabs{margin-left:10px}.quote-draft{display:flex;flex-direction:column;gap:18px}.quote-draft .fields{display:grid;gap:14px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}.quote-draft .fields .wide{grid-column:1 / -1}.quote-draft .field input,.quote-draft .field select,.quote-draft .field textarea{font:inherit;padding:8px 10px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);width:100%}.quote-draft .field.discount{max-width:520px}.quote-draft .field.discount select{width:auto}.quote-draft .field.discount input{width:120px;text-align:right}.quote-draft .hint.box.frozen{padding:10px 12px;background:var(--brand-tint);border-radius:var(--radius);max-width:70ch}.typed-lines{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.typed-lines h4{margin:0}.typed-lines .scroll{align-self:stretch}.typed-lines td{padding:4px 8px}input.cell{font:inherit;font-size:13px;width:100%;min-width:130px;padding:5px 7px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--ink)}input.cell:hover:not(:disabled){border-color:var(--rule)}input.cell:focus{outline:0;border-color:var(--brand-mid);background:var(--surface)}input.cell:disabled{color:var(--ink-soft)}input.cell.num{text-align:right;min-width:90px;font-variant-numeric:tabular-nums}input.cell.narrow{min-width:70px}.price-block input.cell,.price-block input.cell.num,.price-block input.cell.narrow{min-width:0;width:100%}.quote-actions{border-top:1px solid var(--rule);padding-top:14px}.quote-actions .hint{max-width:34ch}.brochure{--brand: #3f4638;--brand-deep: #2e3329;--brand-mid: #5b6450;--brand-tint: #eceee8;--brand-tint-strong: #dfe3d9;--ink: #1b1e19;--ink-soft: #5f6659;--rule: #dfe1db;--rule-soft: #ebece7;--paper: #f7f7f4;--surface: #fff;--accent: #3f4638;--accent-soft: #eceee8;--warn: #8a5b12;--warn-soft: #f6efdf;--stop: #8e2f2a;--stop-soft: #f7e9e7;--go: #2f6b45;--go-soft: #e5f1e9;--shadow: 0 1px 2px rgba(31, 36, 27, .05);--on-brand: #fff;--chip: #f1f2f3;--info: #3d5a75;--info-soft: #f0f4f8;--info-rule: #b9cfe0;--thumb: #eceae6;font-family:Degular Display,Figtree,Segoe UI,system-ui,sans-serif;font-weight:300;color-scheme:light}.brochure{--sheet: 210mm;--sheet-height: 297mm;--fit-height: calc(var(--sheet-height) - 84mm);--gutter: 18mm;display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--ink)}.brochure .page,.brochure .letterhead,.brochure .colophon{width:var(--sheet);max-width:100%;background:var(--surface);padding:16mm var(--gutter);box-sizing:border-box;border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow)}.brochure .page{min-height:var(--sheet-height);display:flex;flex-direction:column}.brochure h1{font-size:34px;font-weight:300;letter-spacing:-.03em;margin:0}.brochure h2{font-size:21px;font-weight:600;letter-spacing:-.01em;margin:0 0 10mm;padding-bottom:3mm;border-bottom:1px solid var(--brand-mid)}.brochure h3{font-size:14px;margin:0 0 4px}.brochure p{line-height:1.6}.brochure .lines{white-space:pre-line;margin:0}.letterhead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-top:12mm;padding-bottom:8mm}.letterhead .logo{max-height:22mm;max-width:70mm;width:auto}.letterhead .wordmark{font-size:22px;font-weight:600;letter-spacing:-.02em}.letterhead address{font-style:normal;font-size:11px;line-height:1.6;color:var(--ink-soft);text-align:right;display:flex;flex-direction:column}.cover .number{margin:2px 0 14mm;font-size:15px;color:var(--ink-soft);letter-spacing:.04em}.cover .addressed{margin-bottom:10mm;font-size:14px}.cover .addressed strong{display:block;font-size:17px}.cover .addressed .lines{color:var(--ink-soft);margin-top:2px}.cover .hero{width:100%;height:auto;border-radius:var(--radius-sm);margin-bottom:auto}.cover .facts{display:grid;grid-template-columns:auto 1fr;gap:3px 14px;margin:10mm 0 0;font-size:12px}.cover .facts dt{color:var(--ink-soft)}.cover .facts dd{margin:0}.cover .signature{margin:6mm 0 0;font-weight:600}.letter{justify-content:flex-start}.letter .lines{max-width:62ch;font-size:13px}.letter .signature{margin-top:12mm;font-weight:600}.impression img{width:100%;height:auto;max-height:var(--fit-height);object-fit:contain;border-radius:var(--radius-sm);margin-bottom:8mm}.impression img:last-child{margin-bottom:0}.impression figure{margin:0 0 8mm;break-inside:avoid;max-height:var(--fit-height)}.impression figure:last-child{margin-bottom:0}.impression figure img{margin-bottom:3mm;max-height:calc(var(--fit-height) - 10mm)}.impression figcaption{font-size:9pt;font-weight:300;color:var(--ink-soft)}.drawings .drawing{margin:0 0 10mm;break-inside:avoid}.drawings .drawing.narrow svg{height:96mm;width:auto;max-width:100%}.drawings svg{width:100%;height:auto;display:block;max-height:var(--fit-height);font-family:inherit;font-weight:300}.drawings figcaption{margin-top:2mm;font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}.drawings .scale-note{font-size:10.5px;color:var(--ink-soft);margin:0}.specification table{font-size:12px}.specification th{position:static;background:none;cursor:default;border-bottom:1px solid var(--brand-mid)}.specification td{white-space:normal;vertical-align:top}.specification tbody tr:hover{background:none}.specification .numbers{color:var(--ink-soft)}.specification .fittings{display:block;color:var(--ink-soft);font-size:11px}.specification .materials{margin-top:10mm;break-inside:avoid}.specification .materials h3{font-size:14px;font-weight:600;margin:0 0 3mm}.specification .materials dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12mm;margin:0;font-size:12px}.specification .materials dl>div{display:contents}.specification .materials dt{color:var(--ink-soft)}.specification .materials dd{margin:0}.specification .materials .note{font-size:11px;color:var(--ink-soft);margin:3mm 0 0}.specification td.front{font-weight:500}.price .totals{width:100%;font-size:14px}.price .totals th{text-align:left;font-weight:300;text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink);background:none;position:static;cursor:default;padding:7px 0;border-bottom:1px solid var(--rule-soft)}.price .totals td{padding:7px 0;border-bottom:1px solid var(--rule-soft);font-variant-numeric:tabular-nums;text-align:right}.price .totals .counted{display:block;font-size:11px;color:var(--ink-soft)}.price .options{margin-top:12mm;break-inside:avoid}.price .options h3{font-size:14px;font-weight:600;margin:0 0 3mm}.price .options thead th{font-size:10.5px;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);padding:0 0 5px;border-bottom:1px solid var(--brand-mid)}.price .options thead th.num{text-align:right}.price .options td{width:26mm;padding-left:6mm}.price .options .note{font-size:11px;color:var(--ink-soft);margin:3mm 0 0}.price .totals tfoot th,.price .totals tfoot td{border-bottom:0;padding-top:6px;padding-bottom:6px}.price .totals tfoot tr:first-child th,.price .totals tfoot tr:first-child td{padding-top:10px}.price .totals tr.grand th,.price .totals tr.grand td{font-size:20px;font-weight:600;border-top:1px solid var(--brand-mid);padding-top:9px}.price .small{font-size:11px;color:var(--ink-soft);margin-top:8mm}.price .terms{margin-top:auto;padding-top:8mm;border-top:1px solid var(--rule)}.price .terms .lines{font-size:11px;color:var(--ink-soft);max-width:70ch}.colophon{display:flex;flex-wrap:wrap;gap:14px;font-size:10.5px;color:var(--ink-soft);padding-top:6mm;padding-bottom:6mm;justify-content:center;margin-top:8mm;border-top:1px solid var(--rule-soft);break-inside:avoid}.views{display:flex;flex-direction:column;gap:12px}.views-sheet{align-items:stretch}.views-sheet .drawings{width:var(--sheet);max-width:100%;background:var(--surface);padding:14mm var(--gutter);box-sizing:border-box;border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow)}@media print{body{background:#fff}body:where(:has(.brochure)) *{visibility:hidden}.brochure,.brochure *{visibility:visible}.brochure{display:block;gap:0}.app .brochure{position:absolute;inset:0 auto auto 0;width:100%}.brochure .page,.brochure .letterhead,.brochure .colophon{width:auto;min-height:0;padding:0;border:0;border-radius:0;box-shadow:none}.brochure .page+.page{break-before:page}.brochure .page{min-height:0}.brochure .page{padding-bottom:12mm}.brochure h2,.brochure figure,.brochure tr,.brochure .terms{break-inside:avoid}.brochure thead{display:table-header-group}.no-print{display:none!important}}@media print{body:not(:has(.brochure)) .app{display:block;min-height:0}body:not(:has(.brochure)) .app>aside,body:not(:has(.brochure)) main nav.tabs,body:not(:has(.brochure)) main button,body:not(:has(.brochure)) main .toolbar .facet:not(:has(input:checked)){display:none!important}body:not(:has(.brochure)) main{padding:0}body:not(:has(.brochure)) .scroll{overflow:visible;border:0}body:not(:has(.brochure)) thead th{position:static}body:not(:has(.brochure)) thead{display:table-header-group}body:not(:has(.brochure)) tr,body:not(:has(.brochure)) .price-block>header{break-inside:avoid}body:not(:has(.brochure)) .price-block>header,body:not(:has(.brochure)) .price-block>.hint{break-after:avoid}body:not(:has(.brochure)) main input:not([type=checkbox]):not([type=radio]),body:not(:has(.brochure)) main select,body:not(:has(.brochure)) main textarea{border:0;background:none;padding:0;box-shadow:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;color:inherit}body:not(:has(.brochure)) main input:placeholder-shown{visibility:hidden}}.views{display:flex;flex-direction:column;gap:12px;min-height:0}.view-sheet{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--rule-soft);border-radius:var(--radius);padding:12px}.view-sheet img{max-width:100%;max-height:70vh;object-fit:contain}.account{display:flex;flex-direction:column;gap:22px;max-width:980px}.account section h3{margin:0 0 8px;font-size:15px}.account .box.ok{background:var(--go-soft);color:var(--go);padding:8px 12px;border-radius:4px;margin:0}.account .billing-toggle{display:inline-flex;align-self:flex-start;gap:2px;padding:2px;border:1px solid var(--rule);border-radius:6px}.account .billing-toggle button{background:none;border:0;padding:6px 12px;border-radius:4px;font:inherit;cursor:pointer;color:var(--ink-soft)}.account .billing-toggle button.on{background:var(--accent-soft);color:var(--ink)}.account-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:900px){.account-plans{grid-template-columns:1fr}}.account-plan{border:1px solid var(--rule);border-radius:6px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.account-plan.on{border-color:var(--accent)}.account-plan h4{margin:0;font-size:15px;display:flex;gap:8px;align-items:center}.account-plan .price{margin:0;font-size:20px;font-weight:600}.account-plan ul{margin:4px 0 8px;padding-left:18px;font-size:12.5px;flex:1}.account-plan button{align-self:flex-start}.account .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.account .row input{min-width:280px}.account .billing-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-bottom:10px}.account .billing-fields .wide{grid-column:1 / -1}.account table{max-width:560px}.role.plan-sketch,.role.plan-studio,.role.plan-factory{color:var(--ink-soft);background:var(--chip, #eee)}.ticket{display:flex;flex-direction:column;gap:12px;padding:0 20px 20px}.ticket .question{white-space:pre-wrap;margin:0}.ticket-view{max-width:100%;border:1px solid var(--rule);border-radius:4px}.ticket .conversation p{margin:4px 0;white-space:pre-wrap;font-size:12.5px}.ticket .conversation p.note{color:var(--ink-soft);font-family:var(--mono, monospace);font-size:11px}.app-switch{display:flex;margin-top:8px;border:1px solid var(--rule);border-radius:6px;padding:2px;gap:2px}.app-switch>*{flex:1;text-align:center;padding:4px 8px;border-radius:4px;font-size:12px;color:var(--ink-soft);text-decoration:none}.app-switch .on{background:var(--accent-soft);color:var(--ink);font-weight:600}.app-switch a:hover{color:var(--ink);background:var(--chip)}.welcome-strip{display:flex;align-items:center;gap:12px;margin:-6px 0 18px;padding:10px 14px;border:1px solid var(--info-rule, var(--rule));background:var(--info-soft);border-radius:6px}.welcome-strip span{flex:1}.welcome-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--backdrop);display:grid;place-items:center;padding:20px}.welcome{width:min(980px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);border-radius:10px;box-shadow:var(--shadow-pop)}.welcome-head{display:flex;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--rule)}.welcome-head h2{margin:0;font-size:20px;font-weight:600}.welcome-steps{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex:1;flex-wrap:wrap}.welcome-steps button{background:none;border:0;color:var(--ink-soft);font:inherit;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:12px}.welcome-steps .n{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--rule);font-size:10.5px}.welcome-steps .on button{color:var(--ink);background:var(--accent-soft)}.welcome-steps .on .n{background:var(--accent);color:var(--on-brand);border-color:var(--accent)}.welcome-steps .past .n{border-color:var(--go);color:var(--go)}.welcome-body{overflow-y:auto;padding:18px 24px;flex:1}.welcome-foot{display:flex;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--rule)}.welcome-text{max-width:860px;line-height:1.55}.welcome-text h3{font-size:22px;font-weight:600;margin:0 0 8px}.welcome-text h4{margin:20px 0 8px;font-size:14px}.welcome-text p{margin:0 0 10px}.welcome-layers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:760px){.welcome-layers{grid-template-columns:1fr}}.welcome-layer{border:1px solid var(--rule);border-radius:6px;padding:12px}.welcome-layer .n{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:12px;margin-right:6px}.welcome-layer p{font-size:12.5px;color:var(--ink-soft);margin:6px 0 0}.welcome-fields{display:grid;gap:6px;margin:0 0 8px}.welcome-fields dt{font-weight:600;font-size:12.5px}.welcome-fields dd{margin:0 0 4px;font-size:12.5px;color:var(--ink-soft)}.welcome-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.welcome-card{border:1px solid var(--rule);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px}.welcome-card.done{border-color:var(--go);opacity:.75}.welcome-card.own{border-style:dashed}.welcome-card header{display:flex;flex-direction:column;gap:2px}.welcome-card button{align-self:flex-start}.welcome-form{display:grid;grid-template-columns:1fr 1fr;gap:6px 8px}.welcome-form.narrow{grid-template-columns:1fr;max-width:420px}.welcome-form label{display:flex;flex-direction:column;gap:2px;font-size:11.5px;color:var(--ink-soft)}.welcome-form label:first-child,.welcome-form label:nth-child(2){grid-column:1 / -1}.welcome-form.narrow label{grid-column:auto}.welcome-form input,.welcome-form select{font:inherit;font-size:12.5px;padding:5px 7px;min-width:0;width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:4px}.welcome label.check{flex-direction:row;align-items:center;gap:6px}.welcome input[type=checkbox],.welcome input[type=radio]{width:auto}.welcome-list{margin:0;padding-left:18px;font-size:12.5px}.welcome-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--rule-soft)}.welcome-link-row{display:flex;gap:14px;flex-wrap:wrap;flex:1}.welcome-link{display:inline-flex;gap:8px;align-items:center;font-size:12.5px}.welcome-link label{display:inline-flex;gap:4px;align-items:center}.welcome-kind{border:1px solid var(--rule);border-radius:6px;padding:8px 12px;margin-bottom:8px}.welcome-kind summary{cursor:pointer;display:flex;gap:10px;align-items:center}.welcome-kind summary .hint{margin-left:auto}.welcome-hardware{width:100%;font-size:12.5px}.welcome-hardware td{padding:4px 6px;border-bottom:1px solid var(--rule-soft);vertical-align:middle}.welcome-hardware tr.on td{background:var(--accent-soft)}.welcome-hardware label{display:inline-flex;gap:4px;align-items:center;color:var(--ink-soft)}.welcome-save{display:flex;gap:12px;align-items:center;margin-top:12px}.welcome-problems{margin:0 0 12px;padding-left:18px}.welcome-problems li{margin-bottom:6px}.welcome .ok-text{color:var(--go);margin:0}.welcome .error-text{color:var(--stop)}.welcome button.link{background:none;border:0;padding:0 4px;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}.welcome a.button{display:inline-block;padding:8px 16px;border-radius:4px;background:var(--brand);color:var(--on-brand);text-decoration:none;font-weight:600}.welcome-finish h3{color:var(--go)}.machine-setup{margin:4px 0 14px;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:8px}.machine-setup h4{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.machine-setup .setup-state{margin:0;font-size:13px}.machine-setup .setup-state.ready{color:var(--go)}.machine-setup .setup-state.waiting{color:var(--warn)}.machine-setup .setup-facts{display:grid;grid-template-columns:90px 1fr;gap:3px 10px;margin:0;font-size:13px}.machine-setup .setup-facts dt{color:var(--ink-soft)}.machine-setup .setup-facts dd{margin:0}.machine-setup .setup-facts a{color:var(--brand)}.machine-setup .machine-posts{display:flex;flex-direction:column;gap:8px}.machine-setup .machine-post{display:flex;flex-direction:column;gap:4px}.machine-setup .machine-post.off{opacity:.6}.machine-setup .machine-post label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.machine-setup .machine-post textarea{font-family:var(--mono, monospace);font-size:12px}.machine-setup .machine-post button{align-self:flex-start}
