.editor{max-width:1800px;margin:auto;padding:0 3vw 32px}.editor-header{border-bottom:1px solid #dce1dc;justify-content:space-between;align-items:center;gap:20px;height:88px;display:flex}.back-link{align-items:center;gap:22px;display:flex}.editor-header .brand{width:85px;height:47px}.editor-header nav{align-items:center;gap:8px;display:flex}.editor-header nav a{color:#697469;border-radius:30px;padding:11px 19px;font-size:14px}.editor-header nav a.active{color:#294433;background:#e7ece4}.editor-header>.studio-label{color:#6e776e;font-size:11px}.editor-heading{justify-content:space-between;align-items:end;padding:29px 0 24px;display:flex}.editor-heading h1{letter-spacing:-1.3px;margin:10px 0 0;font-size:clamp(25px,2.4vw,38px);font-weight:500}.editor-heading .eyebrow{font-size:11px}.step-indicator{align-items:center;gap:13px;margin-bottom:5px;font-size:13px;display:flex}.step-indicator b{color:#fff;background:#294e3d;border-radius:50%;padding:8px}.step-indicator>span{color:#72796f}.workspace{grid-template-columns:minmax(0,1fr) 355px;align-items:start;gap:26px;display:grid}.stage{background:#ecf0e9;border-radius:20px;padding:21px 24px 18px;position:sticky;top:18px;overflow:hidden}.stage-top{z-index:1;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.stage-top [data-slot=tabs-list]{background:#ffffffa8;border-radius:11px;height:43px;padding:5px}.stage-top [data-slot=tabs-trigger]{padding:7px 14px;font-size:13px}.stage-top [data-slot=tabs-trigger][data-state=active]{color:#fff;box-shadow:none;background:#294b3b;border-radius:8px}.preview-badge{letter-spacing:1.2px;color:#717c70;white-space:nowrap;font-size:10px}.canvas-wrap{aspect-ratio:1200/760;margin:0 -16px;position:relative}.canvas-wrap canvas{z-index:1;touch-action:none;cursor:grab;width:100%;height:100%;position:relative}.canvas-wrap canvas:active{cursor:grabbing}.stage-word{text-align:center;letter-spacing:-5px;color:#dde4d8;white-space:nowrap;font-size:clamp(38px,6vw,95px);font-weight:700;line-height:1;position:absolute;inset:17% 0 auto}.stage-bottom{color:#63705f;justify-content:space-between;align-items:center;gap:15px;font-size:12px;display:flex}.stage-bottom>span{align-items:center;gap:8px;display:flex}.stage-bottom .text-button{font-size:12px}.accuracy-note{color:#677061;max-width:620px;margin:19px 0 16px;font-size:11px;line-height:1.5}.stage-actions{border-top:1px solid #d6ded0;gap:10px;padding-top:17px;display:flex}.secondary{background:#ffffff70;border:1px solid #cbd4c7;border-radius:9px;justify-content:center;align-items:center;gap:9px;padding:12px 17px;font-size:13px;transition:background .2s;display:flex}.secondary:hover{background:#fff}.controls{background:#fff;border:1px solid #e0e5dc;border-radius:18px;overflow:hidden}.controls-title{border-bottom:1px solid #e8ebe4;justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.controls-title h2{letter-spacing:-.8px;margin:0;font-size:22px;font-weight:500}.controls-title>span{color:#7c8478;font-size:11px}.control-section{border-bottom:1px solid #e8ebe4;padding:23px 24px}.section-label{align-items:center;gap:9px;margin-bottom:18px;display:flex}.section-number{color:#566850;border:1px solid #cfd9c9;border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;display:grid}.section-label h3{margin:0;font-size:14px;font-weight:600}.materials{grid-template-columns:1fr 1fr;gap:8px;display:grid}.materials button{background:#fafbf8;border:1px solid #e0e5dc;border-radius:9px;height:57px;padding:13px;position:relative}.materials button.selected{background:#eef4e9;border-color:#3b6447;box-shadow:0 0 0 1px #3b6447}.materials img{object-fit:contain;width:100%;height:100%}.materials svg{color:#244b34;position:absolute;top:3px;right:3px}.color-label{color:#6c7568;justify-content:space-between;margin:21px 0 12px;font-size:12px;display:flex}.color-label b{color:#253a29;font-weight:500}.swatches{justify-content:space-between;gap:6px;display:flex}.swatches button{border:1px solid #0001;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:relative}.swatches button.selected:after{content:"";border:1px solid #42634a;border-radius:50%;position:absolute;inset:-4px}.model-select{background:#fafbf8;width:100%;height:42px;font-size:14px}.face-chip{color:#687662;background:#eff3eb;border-radius:10px;margin-left:auto;padding:4px 8px;font-size:10px}.upload-zone{color:#486044;background:#f7f9f4;border:1px dashed #b9c7af;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;min-height:157px;padding:17px;transition:background .2s;display:flex}.upload-zone:hover{background:#eef4e8}.upload-zone b{font-size:14px;font-weight:500}.upload-zone>span{font-size:11px}.upload-zone small{color:#77856f;font-size:10px}.upload-zone.has-art{text-align:left;flex-direction:row;justify-content:flex-start;gap:12px;min-height:78px}.has-art img{object-fit:contain;background:repeating-conic-gradient(#eee 0 25%, #fff 0 50%) 0/12px 12px;width:44px;height:44px}.has-art span{flex:1;min-width:0}.has-art b{white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.has-art small{margin-top:5px;display:block}.micro-copy{color:#75816e;margin:12px 0 0;font-size:11px;line-height:1.6}.range-heading{justify-content:space-between;margin:21px 0 14px;font-size:12px;display:flex}.range-heading span{color:#72806a}.transform-section [data-slot=slider-track]{background:#e7ecdf;height:4px}.transform-section [data-slot=slider-range]{background:#48734d}.transform-section [data-slot=slider-thumb]{border-color:#48734d;width:13px;height:13px}.transform-section.inactive{opacity:.55}.position-inputs{gap:12px;margin-top:21px;display:flex}.position-inputs label{color:#6a7764;flex:1;align-items:center;gap:8px;font-size:11px;display:flex}.position-inputs input{text-align:center;background:#f5f7f1;border:1px solid #dce4d5;border-radius:5px;width:54px;min-width:0;padding:7px 4px;font-size:12px}.transform-actions{justify-content:space-between;margin-top:18px;display:flex}.text-button{color:#52694b;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:12px;display:inline-flex}.quote-cta{padding:21px 24px}.primary{color:#fff;background:#294f3a;border:0;border-radius:9px;justify-content:center;align-items:center;gap:13px;width:100%;padding:15px 20px;font-size:14px;transition:background .2s,transform .2s;display:flex}.primary:hover{background:#396949;transform:translateY(-1px)}.quote-cta p{text-align:center;color:#7a8572;margin:10px 0 0;font-size:10px}.orbit-slider{padding:20px 6px 0}.toast,.busy-indicator{z-index:60;color:#fff;background:#244f3e;border-radius:12px;align-items:center;gap:12px;max-width:calc(100vw - 30px);padding:15px 22px;font-size:14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #122b2830}.busy-indicator{top:14px;bottom:auto}.toast.error{background:#8c3441}.toast button{color:inherit;background:0 0;border:0;font-size:23px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.quote-dialog{background:#fafbf8;max-height:90dvh;overflow-y:auto;max-width:690px!important;padding:30px!important}.quote-dialog [data-slot=dialog-title]{letter-spacing:-1px;font-size:29px;font-weight:500}.quote-dialog [data-slot=dialog-description]{color:#687563;font-size:14px;line-height:1.55}.quote-summary{background:#edf1e6;border-radius:10px;flex-direction:column;gap:6px;margin:4px 0 22px;padding:17px 19px;font-size:14px;display:flex}.quote-summary small{overflow-wrap:anywhere;font-size:12px}.quote-summary span{color:#526749}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid label{flex-direction:column;gap:7px;font-size:13px;display:flex}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid textarea{color:#253228;background:#fff;border:1px solid #cbd6c2;border-radius:7px;width:100%;padding:11px 12px;font-size:16px}.consent{align-items:flex-start;gap:10px;margin:20px 0;font-size:12px;line-height:1.6;display:flex}.consent input{accent-color:#294f3a;flex-shrink:0;width:16px;height:16px;margin-top:4px}.form-error{color:#913846;background:#fbe9eb;border-radius:8px;margin-bottom:15px;padding:12px;font-size:14px}.receipt{text-align:center;flex-direction:column;align-items:center;gap:15px;padding:20px 0;display:flex}.receipt>svg{color:#548c4d}.receipt h3{margin:0;font-size:23px}.receipt p{color:#56644c;max-width:450px;margin:0;font-size:14px;line-height:1.6}.receipt .primary{margin-top:15px}.pdf-page{align-items:center;gap:10px;margin-top:14px;font-size:12px;display:flex}.pdf-page input{border:1px solid #ccd7c2;border-radius:4px;width:50px;padding:6px}@media (min-width:1500px){.workspace{grid-template-columns:minmax(0,1fr) 390px}.stage{padding:26px 30px}.canvas-wrap{max-height:650px}}@media (max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 320px;gap:16px}.controls-title,.control-section,.quote-cta{padding:20px}.stage{padding:18px}.stage-top{align-items:start}.preview-badge{display:none}.stage-bottom{flex-wrap:wrap}.editor-header>.studio-label{display:none}.stage-actions{flex-wrap:wrap}.step-indicator{display:none}.stage-word{letter-spacing:-2px;font-size:48px}}@media (max-width:800px){.editor{padding:0 16px 24px}.editor-header{height:76px}.back-link{gap:12px}.editor-header .brand{width:67px}.editor-header nav{gap:0}.editor-header nav a{padding:9px 11px;font-size:12px}.editor-heading{padding:24px 0 19px}.editor-heading h1{letter-spacing:-1px;font-size:28px}.workspace{grid-template-columns:1fr}.stage{padding:14px;position:static}.canvas-wrap{min-height:245px;max-height:470px}.stage-top [data-slot=tabs-trigger]{padding:7px 11px;font-size:12px}.stage-actions .secondary{flex:1;padding:12px 8px;font-size:12px}.stage-word{font-size:45px}.controls-title,.control-section,.quote-cta{padding:22px}.swatches{justify-content:start;gap:17px}.swatches button{width:31px;height:31px}.materials{grid-template-columns:repeat(4,1fr)}.materials button{padding:10px 5px}.quote-dialog{padding:23px!important}.quote-dialog [data-slot=dialog-title]{font-size:25px}.form-grid{gap:13px}.position-inputs{justify-content:flex-start}.position-inputs label{flex:initial}.stage-bottom{font-size:11px}.toast{font-size:13px}.studio-label{display:none}}
