/* V7: real upload / configure / review screens. This stylesheet is additive-only.
   The three-division brand homepage is intentionally unchanged. */
body[data-page="additive"]{--flow-accent:#8afa4c;--flow-line:#303b2b;--flow-muted:#a7b29f}
body[data-page="additive"] .wrap{width:calc(100% - 80px);max-width:1360px}
body[data-page="additive"] [hidden]{display:none!important}
body[data-page="additive"] .division-breadcrumb{padding-top:19px;padding-bottom:17px}
body[data-page="additive"] .workspace-section{border:0;padding:6px 0 0;scroll-margin-top:20px}
.workflow-toolbar{display:flex;justify-content:space-between;align-items:center;gap:28px;padding-bottom:25px;border-bottom:1px solid var(--flow-line)}
.workflow-label{display:flex;align-items:center;gap:9px;font:10px/1.6 var(--mono);letter-spacing:1.4px;color:#c0cdba}
.workflow-label>span{color:#839579;letter-spacing:1px}
.workflow-steps{display:flex;align-items:center;gap:12px;flex-shrink:0}
.workflow-steps button{display:flex;align-items:center;gap:9px;border:0;background:none;padding:4px;color:#b5c1ac;font-size:12px;font-weight:600;min-height:38px}
.workflow-steps button:disabled{opacity:.65;color:#9aa792}
.workflow-steps button[aria-current="step"]{color:var(--flow-accent)}
.step-index{width:31px;height:31px;border:1px solid #425239;border-radius:9px;display:inline-grid;place-items:center;font:11px var(--mono);color:#b0bba8;background:#131a10}
[aria-current="step"]>.step-index{background:var(--flow-accent);border-color:var(--flow-accent);color:#182511;box-shadow:0 0 20px #8afa4c13}
.completed>.step-index{border-color:#83d050;color:#b5f388;background:#26391b}
.step-connector{width:32px;height:1px;background:#394831}
.wizard-heading{display:flex;align-items:center;justify-content:space-between;padding:28px 0 19px;gap:30px}
.wizard-heading h1{font-size:clamp(38px,4vw,58px);letter-spacing:-2.1px;line-height:1.06;margin:0 0 12px;font-weight:850}
.wizard-heading h1:focus{outline:none}
.wizard-heading h1 span{color:var(--flow-accent)}
.wizard-heading p{color:#aebda4;font-size:14px;line-height:1.7;margin:0}
.wizard-side-note{font:10px/1.8 var(--mono);letter-spacing:1.9px;color:#86987a;text-align:right;white-space:nowrap}
.wizard-side-note b{font-weight:400;color:#bfd9ae}
.workflow-note{font:10px/1.6 var(--mono);color:#a8ba9b;background:#111a0d;border:1px solid #31412a;border-radius:7px;padding:8px 12px;margin:0 0 17px;letter-spacing:.1px}
.upload-feedback{border:1px solid #a36e40;background:#352a18;color:#f4d7b4;border-radius:9px;padding:12px 16px;font-size:12px;line-height:1.7;white-space:pre-line;margin-bottom:18px}
.upload-first-stage{max-width:980px;margin:0 auto}
.upload-first-card{position:relative;overflow:hidden;border:1px solid #4c643b;border-radius:22px;padding:22px 28px 0;background:linear-gradient(140deg,#182312aa,#0d130b 70%);box-shadow:0 14px 60px #0002,inset 0 1px #b8ff9910}
.uploader-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:17px;color:#a0b491}
.uploader-tag{display:flex;align-items:center;gap:9px;font:10px var(--mono);letter-spacing:1.5px;color:#b5caaa}
.uploader-top>.mono{font-size:9px;letter-spacing:1px}
.primary-dropzone{border:1.5px dashed #5d8046;border-radius:15px;min-height:296px;margin:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;background:radial-gradient(ellipse at 50% 0,#38552338,transparent 72%),#0c130980;cursor:pointer;transition:border-color .18s,background .18s;position:relative;overflow:hidden;padding:22px}
.primary-dropzone:hover,.primary-dropzone.dragover{border-color:var(--flow-accent);background:radial-gradient(ellipse at 50% 20%,#54883336,transparent 70%),#172410}
.primary-dropzone[aria-disabled="true"]{opacity:.55;cursor:progress}
.upload-cube{width:74px;height:74px;border-radius:20px;display:grid;place-items:center;color:var(--flow-accent);background:linear-gradient(140deg,#35492a,#141e10);border:1px solid #577a40;box-shadow:inset 0 0 0 4px #88d45408;margin-bottom:17px;transform:rotate(-5deg)}
.upload-cube svg{width:65px;height:65px;transform:rotate(5deg)}
.primary-dropzone strong{font-size:25px;line-height:1.3;letter-spacing:-.7px;color:#f5f7f2;margin:0 0 8px}
.primary-dropzone .drop-support{font-size:12px;color:#a3b795;margin:0 0 17px}
.browse-visual{display:inline-flex;align-items:center;justify-content:center;gap:35px;min-height:44px;padding:10px 24px;border-radius:9px;color:#182611!important;background:var(--flow-accent);font-size:13px!important;font-weight:750;box-shadow:0 0 35px #6fcd2512}
.primary-dropzone .drop-hint{color:#839b72;font-size:10px;margin:11px 0 0}
.format-row{display:flex;justify-content:center;align-items:center;gap:37px;padding:20px 15px;margin:0}
.format-row p{margin:0;line-height:1.8;text-align:center}
.format-row p>span{font:8px/1.8 var(--mono);letter-spacing:1.5px;color:#8fa17f;display:block;margin-bottom:3px}
.format-row b{font-size:11px;color:#c9d6bf;font-weight:500}
.format-divider{height:29px;width:1px;background:#35482b}
.upload-utility{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #34482a;padding:12px 0 14px;gap:16px}
.sample-link{background:none;border:0;color:#bdf397;font-size:12px;display:flex;gap:8px;align-items:center;padding:6px 0;min-height:34px}
.upload-utility .quiet-btn{font-size:11px;min-height:34px;padding:6px 0;color:#a9b99c}
.upload-resume{padding:13px 0 0;display:flex;justify-content:space-between;align-items:center;gap:18px;color:#b4c8a7;font-size:12px}
.upload-resume .btn{font-size:11px;min-height:40px}
.upload-progress{border:1px solid #4e753b;padding:16px;margin:15px 0 0;border-radius:8px;background:#213219;font-size:13px;color:#bdf698}
.upload-caption{padding:13px 16px 0}
.upload-caption .privacy-note{margin:0;font-size:10px;line-height:1.6;display:flex;align-items:center;flex-wrap:wrap;gap:5px;color:#9cab90;justify-content:center}
.upload-caption .privacy-note svg{width:13px;height:13px;margin-right:1px;flex-shrink:0}
.upload-caption .inline-btn{font-size:10px}
.upload-routing-note{font-size:10px;line-height:1.7;color:#819274;text-align:center;margin:6px 0 0}
.workflow-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0 30px;margin-top:25px;border-top:1px solid var(--flow-line)}
.workflow-bottom>span{font:9px/1.7 var(--mono);letter-spacing:1.3px;color:#84997a}
.workflow-bottom>a{font-size:11px;color:#b0c6a0;display:flex;gap:24px;align-items:center}
.workflow-bottom>a:hover{color:var(--flow-accent)}
/* Step 2 */
.configure-stage .workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.configure-stage .workspace-main{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:18px;align-items:start}
.configure-stage .panel{border-color:#35452b;border-radius:16px;background:linear-gradient(145deg,#172013f5,#0e150cee)}
.configure-stage .upload-panel,.configure-stage .configure-panel{padding:21px}
.configure-stage .workspace-main>.upload-panel{position:sticky;top:22px}
.configure-stage .workspace-main .configure-panel{margin:0}
.preview-panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.preview-panel-title .quiet-btn{font-size:11px;padding:0;min-height:26px;white-space:nowrap;color:#b4e895}
.preview-panel-title .mono{display:block;font-size:8px;line-height:1.6;letter-spacing:.7px;margin-top:7px}
.configure-stage .panel-head h3{font-size:20px}
.configure-stage .configure-panel .panel-head>.mono{margin:8px 0 0;font-size:8px;line-height:1.7;letter-spacing:.9px}
.part-preview-panel .file-list{margin:0 0 16px}
.part-preview-panel .file-row{display:grid;grid-template-columns:36px minmax(0,1fr) 26px;gap:10px 9px;padding:12px 0;border-bottom:1px solid #30412a}
.part-preview-panel .file-symbol{grid-column:1;grid-row:1;width:36px;height:36px;font:9px var(--mono)}
.part-preview-panel .file-info{grid-column:2;grid-row:1;min-width:0}
.part-preview-panel .file-info strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;line-height:1.5}
.part-preview-panel .file-info small{font-size:9px;line-height:1.65;display:block}
.part-preview-panel .remove-file{grid-column:3;grid-row:1;min-height:32px;min-width:24px}
.part-preview-panel .file-row>label{display:flex;align-items:center;gap:8px;font-size:10px;grid-row:2;color:#b2c2a5}
.part-preview-panel .file-row>label:nth-of-type(1){grid-column:1/3;justify-self:start}
.part-preview-panel .file-row>label:nth-of-type(2){grid-column:2/4;justify-self:end}
.part-preview-panel .file-unit,.part-preview-panel .file-qty{min-height:34px;width:65px;max-width:65px;font-size:12px;background:#0a1108;border:1px solid #3b512e;border-radius:6px;color:#eff7e9;padding:6px 8px}
.part-preview-panel .model-stage{border-radius:10px;background:radial-gradient(ellipse at 50% 50%,#39532325,transparent 75%),#0b1109;border:1px solid #2d4025;margin:0}
.part-preview-panel .model-stage canvas{height:280px!important}
.part-preview-panel .stage-head{padding:12px;gap:7px}
.part-preview-panel .stage-head>.mono{font-size:8px;letter-spacing:.8px}
.part-preview-panel .stage-head .quiet-btn{font-size:9px}
.part-preview-panel .stage-bottom{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:12px;font-size:8px}
.part-preview-panel #model-dimensions{font-size:11px;color:#c2e5ac}
.units-reminder{display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.7;color:#b8c9a9;margin:17px 0 0}
.units-reminder>span{color:var(--flow-accent);font-size:14px}
.preview-help{padding-top:17px;margin-top:17px;border-top:1px solid #2d3b27;font-size:10px;line-height:1.7;color:#879d79}
.preview-help>span{color:#b5c8a6}
.preview-help p{margin:7px 0 0}
.no-model-preview{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:45px 15px 25px;border:1px dashed #4c673a;border-radius:10px;background:#111c0d}
.no-model-preview>span{font-size:43px;color:var(--flow-accent)}
.no-model-preview>strong{font-size:18px;color:#d5e9c8}
.no-model-preview>p{font-size:12px;line-height:1.7;color:#acc29c;margin:0}
.configure-stage .process-grid{gap:7px}.configure-stage .process-card{padding:12px 6px;border-radius:9px;min-height:90px}.configure-stage .process-card strong{font-size:11px;line-height:1.4}.configure-stage .process-card small{font-size:9px;line-height:1.5}.configure-stage .process-symbol{font-size:18px;margin-bottom:6px}.configure-stage .process-check{font-size:9px;right:6px;top:6px}
.configure-stage .process-envelope{padding:12px 0;margin-top:7px}.configure-stage .process-envelope strong{font-size:14px}.configure-stage .process-envelope .field-label{font-size:8px}.configure-stage .process-envelope small{font-size:9px}.configure-stage .envelope-note{font-size:9px}
.configure-stage .material-comparisons{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.configure-stage .material-pick{padding:12px 9px;min-height:74px;border-radius:9px}.configure-stage .material-pick strong{font-size:12px}.configure-stage .material-pick span{font-size:12px}.configure-stage .material-pick small{font-size:8px;line-height:1.7}.configure-stage .compare-head{margin-top:20px}.configure-stage .compare-foot{font-size:9px}
.configure-stage .settings-form{display:grid;grid-template-columns:1fr;gap:14px}.configure-stage .settings-form label{font-size:12px}.configure-stage .settings-form select{font-size:12px;min-height:42px}.configure-stage .color-options{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.configure-stage .color-chip{min-width:0;padding:8px 1px;gap:6px}.configure-stage .color-chip>span{font-size:8px;white-space:normal;line-height:1.4}.configure-stage .color-disc{width:24px;height:24px}.configure-stage .color-note{font-size:10px}.configure-stage .color-fieldset legend{font-size:12px}.configure-stage .color-fieldset legend>span{font-size:7px}
.advanced-settings{padding:15px 0 0;border-top:1px solid #34452d}.advanced-settings summary{font-size:12px;cursor:pointer;line-height:1.6;color:#c4d6b8}.advanced-settings summary::marker{color:var(--flow-accent)}.advanced-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px 0 0}.advanced-settings-grid label{display:grid;gap:8px;line-height:1.6}.advanced-settings-grid label.full-width{grid-column:1/-1}.configure-stage #process-note{margin:18px 0 0;font-size:10px;line-height:1.7}
.configure-stage .estimate-panel{padding:23px;top:22px;border-color:#577540}.configure-stage .estimate-price{font-size:48px}.configure-stage .estimate-price.review{font-size:26px}.configure-stage .estimate-panel h3{font-size:22px}.configure-stage .unit-caption{font-size:11px;line-height:1.6}.configure-stage .estimate-range{font-size:10px;line-height:1.7}.configure-stage .estimate-summary,.configure-stage .estimate-summary b,.configure-stage .estimate-breakdown,.configure-stage .estimate-details{font-size:11px}.configure-stage .estimate-disclaimer{font-size:10px}.configure-stage #add-to-cart{min-height:48px;font-size:13px}.wizard-back-button{margin:0 0 15px!important;color:#afd396}
/* Step 3 is a normal page section, not a modal stacked over the configurator. */
#cart-dialog.review-stage{display:block;width:100%;max-width:none;max-height:none;overflow:visible;border:0;background:none;border-radius:0;padding:0;color:#eff5e9}
.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:24px;align-items:start}
.review-items,.review-summary{padding:27px;border:1px solid #3c5130;border-radius:16px;background:linear-gradient(140deg,#182412cc,#0f170bdd)}
.review-summary{position:sticky;top:22px;border-color:#597644}
.review-stage .cart-top{margin-bottom:16px}.review-stage .cart-top h2{font-size:30px;margin:10px 0 0}.review-stage .cart-top>.quiet-btn{font-size:12px;min-height:42px;padding:0}.review-stage .cart-lines{margin:20px 0}.review-stage .cart-group{background:#101a0bb3;border-color:#354a2b;padding:20px}.review-stage .cart-group-head strong{font-size:15px}.review-stage .cart-group-head p{font-size:12px}.review-stage .cart-file{font-size:12px}.review-stage .cart-qty{font-size:14px;min-height:40px}.review-stage .cart-tools button{font-size:12px;min-height:36px}.review-stage .cart-totals{border:0;margin:18px 0 20px;padding:0}.review-stage .cart-total-row{font-size:12px;padding:9px 0}.review-stage .cart-total-row.big{font-size:23px;flex-direction:column;gap:12px;border-top:1px solid #3c5130;margin-top:12px;padding-top:18px}.review-stage .cart-total-row.big>b{font-size:38px;letter-spacing:-1px}.review-stage .cart-total-row.big>span{font-size:13px}.review-stage .cart-totals small{font-size:11px;line-height:1.8}.review-stage .cart-actions{display:flex;flex-direction:column;align-items:stretch;gap:15px}.review-stage .cart-actions .btn{font-size:13px;min-height:50px}.review-stage .cart-actions>.quiet-btn{font-size:12px;padding:8px}.review-stage .cart-disclaimer{font-size:11px!important;line-height:1.8;margin:17px 0 0;padding-top:17px;border-top:1px solid #34472c}.review-stage #cart-status{font-size:11px;line-height:1.7;border-radius:9px;padding:12px;margin:18px 0}
.another-part-btn{width:100%;border:1px dashed #65804f;color:#b5e39a;background:#14200e;border-radius:10px;min-height:62px;display:flex;gap:13px;align-items:center;justify-content:center;font-size:13px}.another-part-btn>span{font-size:22px}.another-part-btn:hover{background:#213316;border-color:var(--flow-accent)}
/* Keep all informational content below the upload workflow; no hero in its way. */
body[data-page="additive"] .fleet-section{margin-top:12px;padding-top:28px;border-top:1px solid var(--flow-line)}
@media(max-width:1250px){
 body[data-page="additive"] .wrap{width:calc(100% - 48px)}
 .workflow-label>span{display:none}
 .configure-stage .workspace-grid{grid-template-columns:minmax(0,1fr) 280px;gap:16px}
 .configure-stage .workspace-main{grid-template-columns:1fr;gap:18px}
 .configure-stage .workspace-main>.upload-panel{position:static}
 .part-preview-panel .model-stage canvas{height:260px!important}
 .configure-stage .upload-panel,.configure-stage .configure-panel{padding:24px}
 .configure-stage .process-card strong{font-size:13px}.configure-stage .process-card small{font-size:10px}
 .configure-stage .material-pick strong,.configure-stage .material-pick span{font-size:14px}
 .configure-stage .color-chip>span{font-size:10px}.configure-stage .color-disc{width:29px;height:29px}
 .configure-stage .estimate-panel{padding:22px}
 .review-layout{grid-template-columns:minmax(0,1fr) 320px;gap:18px}.review-items,.review-summary{padding:23px}
}
@media(max-width:760px){
 body[data-page="additive"] .wrap{width:calc(100% - 32px)}
 body[data-page="additive"] .division-breadcrumb{padding-top:14px;padding-bottom:13px}
 .workflow-toolbar{display:block;padding-bottom:17px}.workflow-label{display:none}.workflow-steps{width:100%;justify-content:space-between;gap:6px}.workflow-steps button{font-size:11px;gap:7px;padding:3px 0}.step-index{width:28px;height:28px;border-radius:8px;font-size:10px}.step-connector{flex:1;max-width:40px;margin:0 5px}
 .wizard-heading{padding:22px 0 17px;gap:0}.wizard-heading h1{font-size:38px;letter-spacing:-1.5px;margin-bottom:12px}.wizard-heading p{font-size:12px;line-height:1.8}.wizard-side-note{display:none}
 .workflow-note{font-size:9px;line-height:1.7;padding:8px 10px;margin-bottom:13px}
 .upload-first-card{padding:16px 16px 0;border-radius:17px}.uploader-top{gap:9px;margin-bottom:14px}.uploader-tag{font-size:8px;letter-spacing:1px}.uploader-top>.mono{font-size:7px;letter-spacing:.4px}
 .primary-dropzone{min-height:273px;padding:22px 14px;border-radius:11px}.upload-cube{width:64px;height:64px;border-radius:17px;margin-bottom:18px}.upload-cube svg{width:58px;height:58px}.primary-dropzone strong{font-size:20px;text-align:center;line-height:1.4;letter-spacing:-.5px}.primary-dropzone .drop-support{font-size:11px;margin-top:1px}.browse-visual{min-height:44px;font-size:13px!important;padding:10px 23px}.primary-dropzone .drop-hint{font-size:9px;text-align:center;line-height:1.6}
 .format-row{gap:13px;padding:17px 0}.format-row p>span{font-size:7px;letter-spacing:.7px}.format-row b{font-size:9px}.format-divider{flex-shrink:0;height:31px}
 .upload-utility{gap:5px;padding:8px 0 10px;align-items:center}.sample-link{font-size:10px;gap:5px;min-height:40px}.upload-utility .quiet-btn{font-size:9px;min-height:40px}.upload-caption{padding:12px 0 0}.upload-caption .privacy-note,.upload-caption .inline-btn,.upload-routing-note{font-size:9px;line-height:1.7}
 .upload-resume{display:flex;flex-direction:column;align-items:stretch;gap:12px;font-size:11px}
 .workflow-bottom{margin-top:24px;gap:13px;padding:20px 0 24px;flex-direction:column;align-items:flex-start}.workflow-bottom>span{font-size:8px}.workflow-bottom>a{font-size:11px;min-height:30px}
 .configure-stage .workspace-grid{display:flex;flex-direction:column;gap:18px}.configure-stage .workspace-main{display:flex;flex-direction:column;width:100%;gap:18px}.configure-stage .workspace-main>section{width:100%;margin:0}.configure-stage .estimate-panel{position:static;width:100%;padding:24px}.configure-stage .estimate-price{font-size:52px}.configure-stage .estimate-range,.configure-stage .estimate-disclaimer,.configure-stage .estimate-summary,.configure-stage .estimate-summary b,.configure-stage .estimate-details,.configure-stage .estimate-breakdown{font-size:12px}.configure-stage .unit-caption{font-size:13px}.configure-stage .estimate-panel #add-to-cart{font-size:15px;min-height:52px}
 .configure-stage .configure-panel,.configure-stage .upload-panel{padding:20px}.part-preview-panel .model-stage canvas{height:260px!important}.configure-stage .process-card strong{font-size:11px}.configure-stage .process-card small{font-size:9px}.configure-stage .settings-form select{font-size:16px}.configure-stage .material-pick strong,.configure-stage .material-pick span{font-size:13px}.configure-stage .color-chip>span{font-size:8px}.configure-stage .color-disc{width:25px;height:25px}.configure-stage .color-fieldset legend>span{font-size:7px}.configure-stage .envelope-note{font-size:10px}.configure-stage .compare-foot{font-size:10px}.configure-stage .process-envelope strong{font-size:15px}.configure-stage .process-envelope small{font-size:10px}
 .review-layout{display:flex;flex-direction:column;gap:18px}.review-items,.review-summary{width:100%;padding:21px;position:static}.review-stage .cart-top{align-items:flex-start;gap:10px}.review-stage .cart-top h2{font-size:27px}.review-stage .cart-top>.quiet-btn{font-size:11px;max-width:110px;line-height:1.8}.review-stage .cart-group{padding:17px}.review-stage .cart-group-price{margin-top:14px}.review-stage .cart-group-price small{display:block;margin:7px 0 0}.review-stage .cart-actions{flex-direction:column}
 body[data-page="additive"] .fleet-section{padding-top:24px}
}
@media(max-width:375px){.primary-dropzone strong{font-size:18px}.format-row{gap:9px}.format-row b{font-size:8px}.wizard-heading h1{font-size:35px}.workflow-steps button{font-size:10px}.step-connector{max-width:22px}}
@media(prefers-reduced-motion:reduce){.primary-dropzone{transition:none}}

/* On a phone the next action stays reachable while selecting materials. */
.mobile-quote-dock{display:none}
@media(max-width:760px){
 body:has(#workspace[data-step="configure"]){padding-bottom:92px}
 .mobile-quote-dock{position:fixed;inset:auto 0 0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px max(14px,env(safe-area-inset-bottom));border-top:1px solid #587344;background:#10180cf5;box-shadow:0 -7px 30px #0005;backdrop-filter:blur(12px)}
 .mobile-quote-dock>div{min-width:0}
 .mobile-quote-dock small{display:block;font:8px/1.5 var(--mono);letter-spacing:1px;color:#b4c5a6;margin-bottom:3px}
 .mobile-quote-dock strong{display:block;font-size:24px;font-weight:750;letter-spacing:-.7px;line-height:1.2}
 .mobile-quote-dock .btn{min-height:47px;font-size:12px;padding:10px 16px;white-space:nowrap}
 body:has(dialog[open]) .mobile-quote-dock{display:none}
}
