@font-face{font-family:Studio;src:local('Inter'),local('Segoe UI')}*{box-sizing:border-box}body{margin:0;background:#edf0f4;color:#172536;font-family:Studio,Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px}button,input,select{font:inherit}button{cursor:pointer;transition:background .16s,box-shadow .16s;color:inherit}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #4796ff;outline-offset:3px}button{border:1px solid #d6dfe9;background:#fff;border-radius:8px;padding:10px 14px;font-size:14px;font-weight:600}button:hover{background:#f1f5fa}button.primary{background:#1377ff;border-color:#1377ff;color:#fff;box-shadow:0 3px 8px #086cf51a}button.primary:hover{background:#0562df}.topbar{height:78px;background:#fff;display:flex;align-items:center;gap:36px;padding:0 30px;border-bottom:1px solid #dfe5ec}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#132336}.brand-symbol{display:grid;place-items:center;width:38px;height:42px;background:#1377ff;color:white;border-radius:7px;font-size:29px;font-weight:850;font-style:italic}.brand b{font-size:20px;letter-spacing:2px}.brand-sub{display:block;font-size:10px;letter-spacing:2.5px;font-weight:700;margin-top:1px}.header-note{color:#788596;font-size:12px;letter-spacing:2px;border-left:1px solid #dce3eb;padding-left:30px}.header-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.quiet{border:none;background:transparent;color:#5a6a7e}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 365px;max-width:1720px;margin:auto;min-height:calc(100vh - 78px)}.model-area{position:relative;background:radial-gradient(ellipse at 50% 42%,#24364b,#121e2b 78%);color:#fff;display:flex;flex-direction:column;min-height:780px;overflow:hidden}.viewer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;z-index:2;padding:27px 30px;pointer-events:none}.viewer-heading button{pointer-events:auto}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin:0 0 7px;color:#93a3b6}.viewer-heading h1{font-size:20px;line-height:1.35;font-weight:550;margin:0;max-width:42vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:12px;color:#93a6bc;margin:6px 0 0}.viewer-button{background:#ffffff08;border:1px solid #ffffff25;color:#d4dfee}.viewer-button:hover{background:#ffffff15}.viewport{position:absolute;inset:75px 0 150px;touch-action:none;outline:none}.viewport canvas{width:100%;height:100%;display:block;touch-action:none}.view-tools{display:flex;gap:3px;position:absolute;z-index:3;left:30px;top:132px;align-items:center;border:1px solid #61768d4d;border-radius:9px;padding:4px;background:#132130d9;box-shadow:0 5px 30px #0002;flex-wrap:wrap}.view-tools button{border:none;border-radius:5px;background:transparent;color:#adbed2;padding:8px 10px;font-size:12px;min-height:36px}.view-tools button:hover,.view-tools button.selected,.view-tools button[aria-pressed=true]{background:#355477;color:#fff}.view-tools span{height:17px;width:1px;background:#ffffff20;margin:0 4px}.viewer-bottom{display:flex;justify-content:space-between;gap:14px;padding:18px 30px;color:#9bacbf;font-size:12px;position:absolute;bottom:144px;width:100%;pointer-events:none}.local-badge{color:#b8c6d8}.local-badge:before{content:'◈';margin-right:7px;color:#68a6ef}.model-metrics{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:24px;padding:23px 30px;background:#0e1a28b3;margin-top:auto;border-top:1px solid #ffffff14;z-index:2}.model-metrics span{display:block;font-size:10px;letter-spacing:1.5px;color:#8fa4bd;margin-bottom:9px}.model-metrics strong{display:block;font-size:15px;font-weight:550;color:#e5edf7}.model-metrics .bad{color:#ffbf7e}.model-footer{z-index:2;background:#0c1724;padding:15px 30px;display:flex;gap:18px;align-items:center;justify-content:space-between;min-height:76px}.model-footer p{font-size:11px;line-height:1.6;color:#8d9fb5;margin:0;max-width:50%}.export{background:#203145;border-color:#344a63;color:#edf4ff;font-size:12px;white-space:nowrap}.export:hover{background:#2b425b}.export span{margin-left:10px}.inspector{display:flex;flex-direction:column;background:#fff;border-left:1px solid #dbe2eb;min-width:0}.tablist{display:flex;padding:8px 23px 0;border-bottom:1px solid #e7ecf2;gap:18px;height:62px}.tablist button{border:0;border-radius:0;padding:10px 1px;color:#748195;background:transparent;flex:1;border-bottom:3px solid transparent}.tablist button[aria-selected=true]{color:#096dee;border-bottom-color:#1377ff}.inspector-body{padding:24px 25px;flex:1}.section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-label h2{font-size:15px;font-weight:700;margin:0}.section-label span{font-size:12px;color:#8190a2}.material-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:23px}.material{padding:13px 8px 10px;text-align:left;border-color:#e0e6ee;min-width:0}.material.active{border-color:#1377ff;background:#f0f6ff;box-shadow:0 0 0 1px #1377ff}.swatch{display:block;width:24px;height:24px;border-radius:50%;margin:0 0 11px;box-shadow:inset 0 1px 4px #ffffffb3,0 1px 3px #0002}.pla{background:linear-gradient(120deg,#97c5ff,#187bf7)}.petg{background:linear-gradient(120deg,#a5e8d7,#48a88d)}.abs{background:linear-gradient(120deg,#d0b7f4,#8c68bf)}.material b{display:block;font-size:13px}.material small{display:block;font-size:10px;color:#8591a0;margin-top:4px}.field{margin-bottom:20px}.field label{display:flex;gap:6px;align-items:center;font-size:13px;font-weight:600;margin-bottom:9px;color:#425367}.field input,.field select{width:100%;border:1px solid #dbe3ed;border-radius:7px;padding:11px 10px;min-height:43px;color:#20354c;background:#f9fbfd;font-size:14px}.field input:focus,.field select:focus{border-color:#4796ff;background:#fff}.label-row{display:flex;justify-content:space-between;align-items:center}.label-row output{font-size:13px;color:#096dee;font-weight:700}.field input[type=range]{padding:0;min-height:22px;background:transparent;accent-color:#1377ff;margin:2px 0 0;cursor:pointer}.range-labels{display:flex;justify-content:space-between;color:#8b97a6;font-size:10px;margin-top:4px}.quantity-control{display:flex;border:1px solid #dbe3ed;border-radius:7px;background:#f9fbfd;overflow:hidden}.quantity-control input{border:0;text-align:center;border-radius:0;background:transparent;-moz-appearance:textfield}.quantity-control input::-webkit-inner-spin-button{appearance:none}.quantity-control button{border:0;border-radius:0;background:transparent;width:46px;flex:none;font-size:18px}.quantity-control button:hover{background:#eaf0f7}details{border-top:1px solid #e5ebf2;padding-top:15px}summary{font-size:12px;color:#66778c;cursor:pointer;font-weight:600;line-height:1.5}.hint{font-size:11px;color:#7c8c9f;line-height:1.65;margin:8px 0 14px}.check{display:flex;align-items:center;gap:8px;font-size:12px;color:#43566c;margin:14px 0}.check input{width:16px;height:16px;accent-color:#1377ff}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.three-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.three-fields .field{margin-bottom:5px}.three-fields input{padding:10px 7px}.lock-row{margin:0 0 12px}.axis{width:5px;height:5px;border-radius:50%;display:inline-block}.axis.x{background:#ef6c6c}.axis.y{background:#65b493}.axis.z{background:#458cef}.text-button{color:#1671de;font-size:12px;padding:3px 0;border:0;background:transparent}.divider{padding-top:16px;border-top:1px solid #e7ecf2;margin-top:22px}.rotate-buttons{display:flex;gap:7px;margin-top:12px}.rotate-buttons button{padding:8px 10px;font-size:12px;background:#f8fafd}.quote-card{margin-top:auto;background:#f6f9fd;padding:23px 25px;border-top:1px solid #dfe7f0}.quote-heading{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:1.4px;font-weight:700;color:#7c8ca0}.quote-heading span:last-child{color:#52667f}.price-row{display:flex;align-items:baseline;gap:9px;margin:10px 0 12px;flex-wrap:wrap}.price-row strong{font-size:38px;font-weight:700;letter-spacing:-1.5px;color:#132d4e;line-height:1.2}.price-row span{font-size:12px;color:#8190a2}.quote-stats{display:flex;justify-content:space-between;font-size:11px;color:#8593a5;margin-bottom:14px}.quote-stats b{font-size:13px;font-weight:600;color:#465d77}.quote-warning{font-size:11px;line-height:1.55;color:#7b6649;padding:9px 10px;background:#fcf5e9;border-radius:6px;border:1px solid #f1e4cc}.quote-warning.error{color:#9b3838;background:#fff0ef;border-color:#f0ccc8}.cost-details{padding-top:12px;border-top:0}.cost-details summary{font-size:11px;color:#6a7e97}dl{font-size:12px;line-height:1.6}dt{float:left;color:#62758b}dd{text-align:right;color:#233f5c;margin-bottom:8px}.full{width:100%;margin-top:17px;font-size:13px;display:flex;justify-content:space-between;padding:12px 14px}.quote-footnote{text-align:center;font-size:10px;color:#8190a2;margin:10px 0 0}.drop-overlay{position:absolute;inset:14px;display:none;place-items:center;background:#102743ee;border:2px dashed #549dfc;border-radius:12px;color:white;z-index:8;font-size:22px;pointer-events:none}.dragging .drop-overlay{display:grid}.loading,.viewer-error{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);text-align:center;padding:20px 25px;background:#102132f2;border:1px solid #506c89;border-radius:12px;font-size:14px;line-height:1.7;max-width:80%;z-index:5}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:30;background:#fff;color:#203750;border:1px solid #c8d8e8;border-radius:10px;padding:13px 20px;box-shadow:0 10px 50px #12223e38;max-width:90%;font-size:14px}dialog{width:min(630px,94vw);max-height:90vh;border:0;border-radius:15px;padding:28px;color:#20344b;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#07101da6;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dialog-heading h2{margin:0;font-size:23px}.dialog-heading .eyebrow{color:#7b8fa6}.close{font-size:26px;padding:0 10px;border:0}.dialog-actions{display:flex;justify-content:space-between;gap:12px;padding-top:15px;border-top:1px solid #dfe6ef}.dialog-actions button{font-size:13px}.dialog-heading+p{margin-bottom:22px}#print-summary{display:none}[hidden]{display:none!important}.embedded .topbar{height:68px;padding:0 20px}.embedded .header-note,.embedded #settings-open{display:none}.embedded .workspace{min-height:760px}
@media(min-width:1600px){.model-area{min-height:840px}.inspector-body{padding-top:30px}.workspace{grid-template-columns:minmax(0,1fr) 395px}}
@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr) 330px}.topbar{padding:0 20px}.header-note{display:none}.viewer-heading{padding:25px 20px}.view-tools{left:20px}.viewer-bottom{padding-left:20px;padding-right:20px}.orbit-help{display:none}.model-metrics{padding:20px;gap:12px;grid-template-columns:1fr 1fr}.model-metrics>div:first-child{grid-column:1/-1}.model-footer{padding:13px 20px;flex-wrap:wrap;gap:10px}.model-footer p{max-width:100%}.inspector-body,.quote-card{padding-left:20px;padding-right:20px}.viewport{bottom:220px}.viewer-bottom{bottom:215px}.model-area{min-height:870px}}
@media(max-width:760px){.topbar{height:70px;padding:0 16px;gap:10px}.brand b{font-size:16px}.brand-symbol{width:32px;height:35px;font-size:24px}.brand-sub{font-size:9px}.header-actions{gap:4px}.header-actions .quiet{font-size:11px;max-width:80px;padding:7px}.header-actions .primary{font-size:12px;padding:9px 10px}.workspace{display:flex;flex-direction:column}.model-area{height:565px;min-height:565px}.viewport{inset:68px 0 132px}.viewer-heading{padding:20px 18px}.viewer-heading h1{font-size:16px;max-width:52vw}.file-meta{font-size:10px}.viewer-button{font-size:11px;padding:8px 10px}.view-tools{top:102px;left:16px;gap:0}.view-tools button{font-size:11px;padding:7px 9px}.viewer-bottom{bottom:145px;font-size:10px;padding:8px 18px}.model-metrics{grid-template-columns:1.3fr 1fr 1fr;gap:10px;padding:17px 18px}.model-metrics>div:first-child{grid-column:auto}.model-metrics span{font-size:8px;letter-spacing:1px}.model-metrics strong{font-size:11px}.model-footer{padding:10px 18px;min-height:68px;flex-wrap:nowrap;gap:8px}.model-footer p{font-size:9px;max-width:48%;line-height:1.5}.export{font-size:10px;padding:10px}.export span{margin-left:2px}.inspector{border-left:0}.tablist{padding:6px 20px 0;height:58px}.inspector-body{padding:23px}.material{display:grid;grid-template-columns:28px 1fr;gap:0 8px;align-items:center;padding:13px 9px}.swatch{grid-row:span 2;margin:0}.material small{font-size:10px}.material b{font-size:13px}.quote-card{padding:23px}.price-row strong{font-size:40px}.quote-heading{font-size:11px}.quote-warning,.hint{font-size:12px}.field label{font-size:14px}.field input,.field select{font-size:16px;min-height:47px}.section-label h2{font-size:16px}.check{font-size:14px}.range-labels{font-size:11px}summary{font-size:14px}.quote-stats{font-size:12px}.quote-stats b{font-size:14px}.full{font-size:15px}.quote-footnote{font-size:11px}.embedded .workspace{min-height:0}.embedded .topbar{padding:0 16px}.embedded .header-actions .primary{font-size:12px}.three-fields input{font-size:15px}.toast{bottom:16px;width:max-content}.dialog-actions{flex-wrap:wrap}dialog{padding:22px}.model-metrics strong{line-height:1.5}}
.brand-sub,.eyebrow,.file-meta,.view-tools button,.viewer-bottom,.model-metrics span,.model-footer p,.export,.material small,.range-labels,.hint,.quote-heading,.quote-stats,.quote-warning,.cost-details summary,.quote-footnote,.section-label span,.text-button{font-size:12px}.field label,.material b,.check,.rotate-buttons button,summary,.full{font-size:14px}.material-options .material small{font-size:12px}.model-footer p{line-height:1.5}.quote-warning{line-height:1.6}.brand-sub{letter-spacing:1px}.model-metrics span{letter-spacing:1px}.three-fields .field label{font-size:13px}.embedded .model-footer p{font-size:12px}
@media(max-width:760px){.model-area{height:620px;min-height:620px}.viewport{bottom:175px}.viewer-bottom{bottom:176px}.model-footer{min-height:90px;flex-wrap:wrap}.model-footer p{max-width:100%;width:100%;font-size:12px}.model-footer .export{padding:8px 11px;font-size:12px}.model-metrics{padding-top:15px;padding-bottom:15px}.model-metrics span{font-size:12px;letter-spacing:0}.model-metrics strong{font-size:12px}.viewer-heading h1{max-width:52vw}.quote-footnote{font-size:12px}.view-tools button{font-size:12px}.file-meta{font-size:12px}.header-actions .quiet{font-size:12px}.brand-sub{font-size:10px}.model-footer{gap:5px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{body{background:#fff}.topbar,.workspace,.toast,dialog{display:none!important}#print-summary{display:block;padding:30px;max-width:750px;margin:auto;color:#172b40}#print-summary h1{font-size:30px}#print-summary h2{font-size:20px;margin-top:28px}#print-summary table{width:100%;border-collapse:collapse;font-size:14px}#print-summary td{border-bottom:1px solid #dce5ee;padding:10px 0}#print-summary td:last-child{text-align:right}#print-summary p{font-size:13px;line-height:1.7}}

/* Display the exact supplied logo while keeping excess white canvas outside the header frame. */
.brand.has-logo{flex-direction:column;align-items:flex-start;gap:2px;flex:none}.brand-logo-frame{display:block;position:relative;overflow:hidden;width:116px;aspect-ratio:776/316}.brand-logo-frame img{position:absolute;display:block;width:138.015464%;height:auto;max-width:none;left:-17.010309%;top:-125.949367%}.brand.has-logo .brand-sub{font-size:12px;line-height:1.1;letter-spacing:1.2px;margin:0}.brand-copy{min-width:0}
@media(max-width:760px){.brand-logo-frame{width:100px}.brand.has-logo .brand-sub{font-size:10px;letter-spacing:1px}.header-actions .quiet{max-width:72px;padding-left:4px;padding-right:4px}}

/* Hide business controls before the app initializes, including direct plugin-asset URLs. */
.customer-mode .business-only{display:none!important}
html:not(.customer-mode) .customer-only{display:none!important}
.customer-mode .header-note{font-size:11px;letter-spacing:1.2px}
.customer-mode .brand.has-logo{justify-content:center}
.customer-mode .brand-logo-frame{width:126px}
.customer-mode .quote-card{margin-top:0}
.customer-mode .inspector-body{flex:none}
.customer-mode .quote-stats{display:none!important}
.customer-mode .customer-only[hidden]{display:none!important}
.customer-mode .viewer-heading h1{white-space:normal;overflow-wrap:anywhere}
#customer-confirmation{padding-bottom:22px;margin-bottom:23px;border-bottom:1px solid #dce5ef}
#customer-confirmation h2,.request-card h2{font-size:18px;line-height:1.4;margin:0;color:#17314f}
#customer-confirmation .eyebrow,.request-card .eyebrow{color:#547392;font-size:10px;letter-spacing:1.5px}
.confirmed-dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0 18px}
.confirmed-dimensions>div{padding:10px 6px;border:1px solid #d4e0ee;background:#fff;border-radius:7px}
.confirmed-dimensions dt{float:none;font-size:10px;font-weight:600;margin-bottom:4px;color:#6a7d95}
.confirmed-dimensions dd{margin:0;text-align:left;font-size:12px;line-height:1.5;font-weight:700;overflow-wrap:anywhere;color:#17395e}
.confirm-check,.consent-check{align-items:flex-start;line-height:1.55;cursor:pointer}
.confirm-check input,.consent-check input{flex:none;margin-top:3px}
#retry-price{justify-content:center;margin-top:12px}
.customer-state{margin-bottom:0!important;color:#48627f}
.request-card{border-top:1px solid #dfe7f0;padding:26px 25px;background:#fff}
#request-fields{min-width:0;padding:0;border:0;margin:0}
.request-card .field{margin-bottom:15px}
.request-card .field textarea{font:inherit;width:100%;max-width:100%;min-height:92px;resize:vertical;border:1px solid #dbe3ed;border-radius:7px;padding:11px 10px;color:#20354c;background:#f9fbfd;font-size:14px;line-height:1.5}
.request-card .field textarea:focus-visible{outline:3px solid #4796ff;outline-offset:3px}
.request-card .optional{margin-left:auto;color:#8392a5;font-size:11px;font-weight:400}
.request-trap{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.submission-result{padding:15px;border:1px solid #b4dbc9;background:#edf8f2;color:#22543f;border-radius:8px;font-size:13px;line-height:1.65;margin-top:17px;overflow-wrap:anywhere}
.submission-result strong{display:block}.submission-result p{margin:7px 0 0}
.submission-result.submission-error{border-color:#efd0b1;background:#fff7ed;color:#795336}
.customer-mode .local-badge{max-width:50%;text-align:right}
@media(min-width:761px){.customer-mode .model-area{min-height:800px;align-self:start;position:sticky;top:0}.customer-mode .workspace{grid-template-columns:minmax(0,1fr) 385px}}
@media(max-width:760px){.customer-mode .brand-logo-frame{width:112px}.customer-mode .viewer-bottom{font-size:11px;gap:12px}.request-card{padding:24px 23px}.request-card .field textarea{font-size:16px}.confirmed-dimensions dd{font-size:14px}.customer-mode .header-note{display:none}}

.price-row strong.price-pending{font-size:22px;letter-spacing:0;color:#48627f}
