:root{--bg: #f0eedc;--panel: #ffffff;--ink: #16181d;--muted: #667085;--line: #e4e7ec;--line-strong: #d0d5dd;--brand: #f3645f;--brand-hover: #d94c47;--brand-ink: #ffffff;--brand-soft: #fde8e7;--brand-line: #f9c3c1;--cream: #f0eedc;--accent: #2563eb;--accent-soft: #eef4ff;--cut: #e11d48;--fold: #2563eb;--bleed: #f59e0b;--safe: #16a34a;--danger: #dc2626;--radius: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 16px rgba(16, 24, 40, .06);--rail: 72px;--tool: 320px;--right: 440px;--top: 56px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}h2{font-size:18px;margin:0 0 6px}h3{font-size:13px;margin:20px 0 8px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--line-strong);background:var(--panel);font-weight:600;white-space:nowrap}.btn:hover:not(:disabled){background:#f9fafb}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.btn.ghost{border-color:transparent;background:transparent}.btn.small{height:30px;padding:0 10px;font-size:13px}.btn.danger{color:var(--danger);border-color:#fecaca}.btn.link{border:0;background:none;color:var(--accent);padding:0;height:auto;font-weight:500;white-space:normal;text-align:left}.icon-btn{width:34px;height:34px;border-radius:8px;border:1px solid transparent;background:transparent;display:inline-grid;place-items:center;font-size:17px}.icon-btn:hover:not(:disabled){background:#f2f4f7}.icon-btn.on{background:var(--accent-soft);color:var(--accent)}.input{width:100%;height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:#fff}textarea.input{height:auto;padding:8px 10px;resize:vertical}.input.compact{height:30px;width:auto;max-width:190px;font-size:13px}.input.mono,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.field{display:flex;flex-direction:column;gap:4px;margin:10px 0;flex:1;min-width:0}.field>span{font-weight:600;font-size:13px}.field em{color:var(--muted);font-style:normal;font-weight:400}.field small{color:var(--muted);font-size:12px}.field.invalid .input{border-color:var(--danger)}.field.invalid small{color:var(--danger)}.field.inline{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.field.inline select{max-width:60%}.label{font-weight:600;font-size:13px;display:block;margin:12px 0 6px}.row{display:flex;gap:8px;align-items:center;margin:8px 0}.row.between{justify-content:space-between}.row.three>*,.row.four>*{flex:1}.hint{color:var(--muted);font-size:13px;margin:8px 0}.lead{color:#475467;margin:0 0 14px}.muted{color:var(--muted)}.error-note{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;padding:8px 10px;border-radius:8px;font-size:13px}.ok-note{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;padding:8px 10px;border-radius:8px}.tag{font-size:11px;padding:2px 8px;border-radius:99px;background:#f2f4f7;color:var(--muted)}.check{display:inline-flex;align-items:center;gap:6px;font-size:13px}.btn-row{display:flex;gap:6px;margin:10px 0}.btn-row.wrap{flex-wrap:wrap}.seg{display:inline-flex;background:#f2f4f7;border-radius:9px;padding:3px;gap:2px;margin:6px 0}.seg button{border:0;background:transparent;padding:6px 12px;border-radius:7px;font-weight:600;color:#475467}.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px #0000001a}.seg.small button{padding:4px 9px;font-size:12.5px}.seg.wrap{flex-wrap:wrap}.chip{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.15);flex:none}.chip.big{width:28px;height:28px;border-radius:6px}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid #d0d5dd;border-top-color:var(--brand);display:inline-block;animation:spin .8s linear infinite;vertical-align:middle}.spinner.big{width:36px;height:36px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.progress-row{display:flex;align-items:center;gap:8px;color:#475467;font-size:13px;margin:6px 0}.boot{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px}.app{height:100%;display:flex;flex-direction:column}.topbar{height:var(--top);flex:none;display:flex;align-items:center;gap:14px;padding:0 14px;background:var(--panel);border-bottom:1px solid var(--line);z-index:5}.brand{display:flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}.logo-img{height:40px;width:auto;display:block}.project-name{border:1px solid transparent;background:transparent;border-radius:8px;padding:6px 8px;font-weight:600;min-width:80px;flex:1;max-width:320px}.project-name:hover,.project-name:focus{border-color:var(--line-strong);background:#fff}.top-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.banner{background:#fffbeb;border-bottom:1px solid #fde68a;padding:8px 16px;font-size:13px}.mobile-switch{display:none}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:var(--rail) var(--tool) minmax(0,1fr) var(--right);grid-template-areas:"rail tool center right"}.rail{grid-area:rail;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:8px 6px;gap:4px;overflow-y:auto}.rail button{border:0;background:transparent;border-radius:10px;padding:8px 2px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;color:#475467;text-align:center;line-height:1.2}.rail button:hover{background:#f2f4f7}.rail button.on{background:var(--brand-soft);color:var(--brand)}.toolpanel{grid-area:tool;background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;padding:18px 16px 40px;position:relative}.sheet-close{display:none}.center{grid-area:center;display:flex;flex-direction:column;min-width:0;min-height:0}.right{grid-area:right;display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--line);min-height:0}.editor-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:#fbfbfc;flex-wrap:wrap}.guides{display:flex;gap:4px;flex-wrap:wrap}.guide-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600;color:var(--muted)}.guide-toggle.on{color:var(--ink);border-color:var(--line-strong)}.guide-toggle:not(.on) i{opacity:.3}.lg-cut,.lg-fold,.lg-bleed,.lg-safe,.lg-label{display:inline-block;width:16px;height:0;border-top:2px solid var(--cut)}.lg-fold{border-top:2px dashed var(--fold)}.lg-bleed{height:8px;border:0;background:#f59e0b59}.lg-safe{border-top:2px dashed var(--safe)}.lg-label{border:0;width:auto;height:auto}.lg-label:before{content:"Aa";font-style:normal;font-size:11px;color:var(--muted)}.editor{position:relative;flex:1;min-height:0}.center{position:relative}.editor-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.sel-float{position:absolute;z-index:3;transform:translate(-50%);pointer-events:none}.sel-float .sel-bar{pointer-events:auto}.sel-bar{display:flex;gap:2px;background:#1d2939;border-radius:10px;padding:3px;box-shadow:var(--shadow)}.sel-bar button{border:0;background:transparent;color:#fff;font-weight:600;font-size:13px;padding:6px 12px;border-radius:7px}.sel-bar button:hover{background:#ffffff1f}.sel-bar button.danger{color:#fda29b}.phone-only{display:none}.toolpanel .inspector{max-height:none;padding:0;overflow:visible}.editor-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;cursor:grab;background-color:#eceef2;background-image:radial-gradient(#d5d9e0 1px,transparent 1px);background-size:18px 18px}.editor-viewport:active{cursor:grabbing}.editor-stage{position:absolute}.editor-stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.12))}.editor-overlay{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.g-bleed{fill:#f59e0b47;pointer-events:none}.g-panel{fill:transparent;cursor:pointer}.g-panel:hover{fill:#2563eb0a}.g-panel.active{fill:#2563eb0f}.g-active{fill:none;stroke:var(--accent);stroke-width:2.5;pointer-events:none;opacity:.65}.g-cut{fill:none;stroke:var(--cut);stroke-width:1.3;pointer-events:none}.g-fold{fill:none;stroke:var(--fold);stroke-width:1.2;stroke-dasharray:6 4;pointer-events:none}.g-safe{fill:none;stroke:var(--safe);stroke-width:1;stroke-dasharray:3 3;pointer-events:none;opacity:.8}.g-label{fill:#1e232d47;font-weight:700;text-anchor:middle;dominant-baseline:central;letter-spacing:.08em;pointer-events:none;-webkit-user-select:none;user-select:none}.g-label.minor{fill:#1e232d33}.g-label.on-dark{fill:#fff6}.g-label.on-dark.minor{fill:#ffffff4d}a.btn{text-decoration:none;color:inherit}a.btn.primary{color:var(--brand-ink)}.g-el{fill:transparent;stroke:transparent;cursor:move}.g-el:hover{stroke:var(--accent);stroke-dasharray:4 3;stroke-width:1}.g-el.finished{stroke:#a855f7;stroke-dasharray:2 3;stroke-width:1}.g-sel{fill:none;stroke:var(--accent);stroke-width:1.5}.g-sel.locked{stroke:#98a2b3;stroke-dasharray:4 3}.g-handle{fill:#fff;stroke:var(--accent);stroke-width:1.5;cursor:nwse-resize}.g-handle.round{cursor:grab}.g-rotline{stroke:var(--accent);stroke-width:1.2}.g-snap{stroke:#d946ef;stroke-width:1;stroke-dasharray:4 3;pointer-events:none}.editor-zoom{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:2px;background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:3px}.zoom-label{border:0;background:transparent;min-width:52px;font-weight:600;font-size:12px}.preview{position:relative;flex:1 1 68%;min-height:340px;border-bottom:1px solid var(--line);background:radial-gradient(110% 85% at 50% 38%,#e3e6eb,#c9ced6 58%,#b3b9c3)}.preview.loading{display:grid;place-items:center}.preview-canvas{position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab;touch-action:none}.preview-canvas canvas{display:block}.preview-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;gap:8px;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--muted)}.preview-toolbar{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.preview-toolbar>*{pointer-events:auto}.preview-toolbar .seg{background:#ffffffd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow);margin:0}.preview-toolbar .icon-btn{background:#ffffffd9;box-shadow:var(--shadow)}.preview-views{position:absolute;left:10px;right:10px;bottom:62px;display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.preview-views button{border:0;background:#ffffffd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow);border-radius:7px;padding:4px 9px;font-size:12px;font-weight:600}.preview-views button:hover:not(:disabled){background:#fff}.fold-bar{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:10px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;box-shadow:var(--shadow);padding:6px 12px 6px 6px}.fold-play{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px 0 12px;border:0;border-radius:9px;background:var(--brand);color:var(--brand-ink);font-weight:700;min-width:92px;justify-content:center}.fold-play span{font-size:11px}.fold-play:hover{background:var(--brand-hover)}.fold-slider{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.fold-end{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.fold-slider input{flex:1;min-width:60px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:99px;background:linear-gradient(to right,var(--brand) var(--fill, 0%),#e4e7ec var(--fill, 0%));cursor:pointer}.fold-slider input::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--brand);box-shadow:0 1px 3px #00000040}.fold-slider input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--brand)}.fold-stage{font-size:12px;font-weight:700;min-width:76px;text-align:right;font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:480px){.fold-end{display:none}.fold-stage{min-width:0}}.inspector{flex:0 1 auto;max-height:32%;overflow-y:auto;padding:14px 16px 20px}.insp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mini-field{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;border:1px solid var(--line-strong);border-radius:8px;padding:0 8px;background:#fff}.mini-field span{font-size:12px;color:var(--muted);font-weight:600}.mini-field em{font-style:normal;font-size:12px;color:var(--muted)}.mini-field .input{border:0;padding:0;height:32px;min-width:0}.dpi{font-size:13px;padding:6px 10px;border-radius:8px;margin:10px 0}.dpi.good{background:#f0fdf4;color:#166534}.dpi.meh{background:#fffbeb;color:#92400e}.dpi.bad{background:#fef2f2;color:#991b1b}.legend{list-style:none;padding:0;margin:10px 0;display:grid;gap:6px;font-size:13px}.legend li{display:flex;align-items:center;gap:8px}.style-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.style-card{text-align:left;border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:10px;display:flex;flex-direction:column;gap:4px}.style-card:hover{border-color:var(--line-strong)}.style-card.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.style-card strong{font-size:13px}.style-card span{font-size:11.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.thumb{width:100%;height:86px;background:#f9fafb;border-radius:8px}.thumb.photo{object-fit:cover;display:block}.t-main{fill:var(--brand-soft);stroke:var(--brand-hover);stroke-width:1}.t-flap{fill:#fff;stroke:var(--brand-hover);stroke-width:1}.t-fold{fill:none;stroke:#2563eb;stroke-width:.8;stroke-dasharray:3 2}.size-list,.material-list,.option-list{display:grid;gap:6px;margin:8px 0}.size-opt,.material,.option{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer;background:#fff}.size-opt.on,.material.on,.option.on{border-color:var(--brand);background:var(--brand-soft)}.option.disabled{opacity:.6;cursor:default}.material span:last-child,.option span:last-child{display:flex;flex-direction:column}.material small,.option small{color:var(--muted);font-size:12px}.dims{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.unit-input{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:8px;background:#fff;padding-right:8px}.unit-input .input{border:0}.unit-input span{color:var(--muted);font-size:12px}.unit-input.narrow{width:96px;flex:none}.facts{display:grid;gap:6px;background:#f9fafb;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:12px}.facts div{display:flex;justify-content:space-between;gap:8px;font-size:13px}.facts span{color:var(--muted)}.dropzone{border:2px dashed var(--line-strong);border-radius:12px;padding:22px 14px;text-align:center;display:flex;flex-direction:column;gap:4px;cursor:pointer;background:#fcfcfd;margin:10px 0}.dropzone span{font-size:12.5px;color:var(--muted)}.dropzone.over,.dropzone:hover{border-color:var(--brand);background:var(--brand-soft)}.thumb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.img-thumb{aspect-ratio:1;border:1.5px solid var(--line);border-radius:8px;padding:3px;background:repeating-conic-gradient(#f2f4f7 0,#f2f4f7 25%,#fff 0,#fff 50%) 50% / 12px 12px}.img-thumb.on{border-color:var(--brand)}.img-thumb img{width:100%;height:100%;object-fit:contain}.text-presets{display:grid;gap:6px;margin:10px 0}.preset{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;text-align:left}.preset:hover{border-color:var(--line-strong);background:#f9fafb}.preset.h{font-size:20px;font-weight:800}.preset.sh{font-size:15px;font-weight:700}.preset.b{font-size:13px}.text-editor .row{flex-wrap:wrap}.text-editor .row>select{flex:1;min-width:140px}.qr-preview{display:flex;gap:12px;align-items:flex-start;margin:12px 0}.qr-thumb{width:110px;height:110px;border:1px solid var(--line);border-radius:8px;flex:none;background:repeating-conic-gradient(#f2f4f7 0,#f2f4f7 25%,#fff 0,#fff 50%) 50% / 12px 12px}.qr-preview>div{flex:1}.checks{list-style:none;margin:0;padding:0;font-size:12.5px;display:grid;gap:4px}.checks .ok{color:#166534}.checks .warn{color:#92400e}.color-picker{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.swatches{display:flex;flex-wrap:wrap;gap:6px}.swatch{width:26px;height:26px;border-radius:7px;border:1px solid rgba(0,0,0,.15);padding:0;position:relative}.swatch.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}.swatch.none{background:linear-gradient(to top right,#fff 45%,#e11d48 45%,#e11d48 55%,#fff 55%)}.swatch.custom{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);overflow:hidden;cursor:pointer}.swatch.custom input{opacity:0;width:100%;height:100%;cursor:pointer}.pantone-list{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-height:180px;overflow-y:auto}.pantone{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 7px;font-size:12px;text-align:left}.pantone.on{border-color:var(--accent);background:var(--accent-soft)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182873;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:#fff;border-radius:16px;width:min(520px,100%);max-height:calc(100vh - 32px);overflow-y:auto;box-shadow:0 20px 50px #00000040}.modal.wide{width:min(880px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.modal-head h2{margin:0}.modal-body{padding:16px 20px 20px}.modal-body.center{text-align:center}.modal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;align-items:center}.dims-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 76px;gap:8px}.quote-foot{justify-content:space-between;flex-wrap:wrap;gap:12px}.quote-actions{display:flex;gap:10px}.btn.quote-cta{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);padding-left:22px;padding-right:22px}.btn.quote-cta:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.quote-logo{height:56px;width:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:700;margin-bottom:4px}.review{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:start}.review-thumb{width:100%;border-radius:12px;background:#eef0f4}.spec{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;margin:0;font-size:13.5px}.spec dt{color:var(--muted)}.spec dd{margin:0;font-weight:600}.preflight{padding-left:18px;display:grid;gap:4px;font-size:13px}.preflight .warn{color:#92400e}.preflight .info{color:#475467}.preflight .btn.link{margin-left:6px}.done-mark{width:64px;height:64px;border-radius:50%;background:#dcfce7;color:#16a34a;font-size:34px;display:grid;place-items:center;margin:8px auto 12px}.modal-body.center .modal-foot{justify-content:center}.toasts{position:fixed;bottom:18px;left:50%;transform:translate(-50%);display:grid;gap:6px;z-index:60;pointer-events:none}.toast{background:#1d2939;color:#fff;padding:9px 14px;border-radius:10px;font-size:13px;box-shadow:var(--shadow);max-width:min(92vw,480px)}.toast.error{background:#b42318}.toast.success{background:#067647}@media(max-width:1440px){:root{--tool: 290px;--right: 400px}}@media(max-width:1180px){:root{--right: 380px}.workspace{grid-template-columns:var(--rail) minmax(0,1fr) var(--right);grid-template-areas:"rail center right";position:relative}.toolpanel{position:absolute;top:0;bottom:0;left:var(--rail);width:min(340px,calc(100% - var(--rail)));z-index:4;box-shadow:8px 0 24px #1018281f;transform:translate(-110%);transition:transform .2s ease;visibility:hidden}.sheet-open .toolpanel{transform:none;visibility:visible}.sheet-close{display:grid;place-items:center;position:absolute;top:10px;right:10px;width:30px;height:30px;border:0;border-radius:8px;background:#f2f4f7}}@media(max-width:900px){.workspace{grid-template-columns:var(--rail) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"rail right" "rail center"}.right{flex-direction:row;border-left:0;border-bottom:1px solid var(--line)}.preview{flex:1 1 60%;border-bottom:0;border-right:1px solid var(--line);min-height:0}.inspector{flex:1 1 40%;max-height:none}.brand .logo-img{height:32px}}@media(max-width:640px){:root{--top: 52px}.topbar{gap:6px;padding:0 8px}.hide-sm{display:none!important}.project-name{display:none}.top-actions .btn{padding:0 10px}.mobile-switch{display:flex;gap:4px;padding:6px 8px;background:var(--panel);border-bottom:1px solid var(--line)}.mobile-switch button{flex:1;border:0;border-radius:8px;padding:6px;font-weight:600;background:#f2f4f7}.mobile-switch button.on{background:var(--ink);color:#fff}.workspace{display:flex;flex-direction:column}.rail{order:3;flex-direction:row;border-right:0;border-top:1px solid var(--line);padding:4px;overflow-x:auto;flex:none}.rail button{flex:1 1 0;min-width:0;font-size:10px;padding:6px 0}.rail button span{overflow:hidden;text-overflow:ellipsis;max-width:100%}.sel-bar .phone-only{display:inline-block}.center,.right{flex:1;min-height:0}.view-design .right,.view-3d .center{display:none}.view-3d .right{flex-direction:column}.view-3d .inspector{display:none}.toolpanel{position:fixed;left:0;right:0;top:auto;bottom:64px;width:auto;max-height:62vh;border-radius:16px 16px 0 0;transform:translateY(110%);box-shadow:0 -8px 30px #10182833}.sheet-open .toolpanel{transform:none}.editor-bar .guides{overflow-x:auto;flex-wrap:nowrap}.form-grid,.review{grid-template-columns:1fr}.spec{grid-template-columns:110px 1fr}.dims{grid-template-columns:1fr}}.side-switch{margin:0}.side-switch button{padding:5px 12px}.file-actions{display:flex;gap:6px;flex-wrap:wrap}.side-note{background:#eef4ff;color:#1e3a8a;border-bottom:1px solid #c7d7fe;padding:6px 12px;font-size:12.5px}.btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.icon-btn.small{width:28px;height:28px;font-size:14px}.preview-tools{display:flex;gap:4px}.preview-tools .icon-btn{font-weight:700}.contact-card{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:12px;padding:10px 12px;margin:0 0 14px}.contact-card>div{display:flex;flex-direction:column;min-width:0}.contact-card span{font-size:12.5px;color:#7c2d12}.contact-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}.contact-modal{width:min(580px,100%)}.contact-list li{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.contact-label{color:var(--muted);font-size:12.5px;font-weight:600}.contact-value{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:all;user-select:all}.contact-actions{display:flex;gap:6px}.element-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}.element-btn{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 4px;font-size:12px;font-weight:600}.element-btn:hover:not(:disabled){border-color:var(--line-strong);background:#f9fafb}.element-btn .glyph{font-size:22px;line-height:1}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;margin-bottom:6px}.icon-tile{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 4px;font-size:10.5px;color:#344054;text-align:center;line-height:1.2}.icon-tile:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.layer-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:4px}.layer{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:10px;padding:3px 4px 3px 3px;background:#fff}.layer.on{border-color:var(--accent);background:var(--accent-soft)}.layer.is-hidden .layer-main{opacity:.45}.layer-main{flex:1;min-width:0;display:grid;grid-template-columns:26px 1fr;grid-template-rows:auto auto;text-align:left;border:0;background:transparent;padding:4px;column-gap:6px}.layer-type{grid-row:span 2;width:26px;height:26px;border-radius:6px;background:#f2f4f7;display:grid;place-items:center;font-size:12px;font-weight:700}.layer-name{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-panel{font-size:11.5px;color:var(--muted)}.layer-actions{display:flex;gap:1px}.align-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.align-row .btn{min-width:34px;padding:0 8px}@media(max-width:640px){.file-actions .btn{font-size:12px}.side-switch button{padding:4px 10px}.contact-list li{grid-template-columns:1fr}.contact-value{white-space:normal;overflow-wrap:anywhere}}
