.sf[data-v-84af08a0]{flex:1;position:relative}.sf-label[data-v-84af08a0]{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.sf-info[data-v-84af08a0]{position:relative;display:inline-flex;align-items:center;cursor:default;line-height:1}.sf-info-icon[data-v-84af08a0]{width:13px;height:13px;color:var(--muted);opacity:.6;flex-shrink:0;transition:opacity .15s}.sf-info:hover .sf-info-icon[data-v-84af08a0]{opacity:1}.sf-tooltip[data-v-84af08a0]{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1b2640;color:#fff;font-size:11px;font-weight:400;line-height:1.45;padding:7px 11px;border-radius:8px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:300;letter-spacing:0;text-transform:none;box-shadow:0 4px 18px #00000038}.sf-tooltip[data-v-84af08a0]:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1b2640}.sf-info:hover .sf-tooltip[data-v-84af08a0]{opacity:1}.sf-box[data-v-84af08a0]{display:flex;align-items:center;width:100%;min-height:42px;padding:8px 10px 8px 12px;background:var(--white);border:1.5px solid #D4E0F2;border-radius:var(--r-sm);font-size:14px;font-weight:500;color:var(--text);gap:4px;transition:border-color .15s}.sf-box[data-v-84af08a0]:hover,.sf-box.open[data-v-84af08a0]{border-color:var(--accent)}.sf-chevron[data-v-84af08a0]{width:10px;height:6px;margin-left:auto;flex-shrink:0;color:var(--muted);transition:transform .15s}.sf-box.open .sf-chevron[data-v-84af08a0]{transform:rotate(180deg)}.sf-list[data-v-84af08a0]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1.5px solid #D4E0F2;border-radius:var(--r-sm);box-shadow:0 8px 28px #1b264021;z-index:200;max-height:200px;overflow-y:auto}.sf-opt[data-v-84af08a0]{display:block;width:100%;padding:8px 12px;background:none;border:none;font-size:13px;color:var(--text);text-align:left;transition:background .1s,color .1s}.sf-opt[data-v-84af08a0]:hover,.sf-opt.active[data-v-84af08a0]{background:var(--accent-light);color:var(--accent)}.drop-enter-active[data-v-84af08a0],.drop-leave-active[data-v-84af08a0]{transition:opacity .12s,transform .12s}.drop-enter-from[data-v-84af08a0],.drop-leave-to[data-v-84af08a0]{opacity:0;transform:translateY(-4px)}.cps[data-v-a142e832]{position:relative}.swatch-picker[data-v-a142e832]{cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;background:conic-gradient(#e44444,#e4bc44,#80d926,#22c373,#36a9e2,#5252e0,#ad49df,#e236a9,#e44444);width:36px;height:36px;border-radius:50%;border:3px solid transparent;padding:0;flex-shrink:0;overflow:hidden;transition:transform .15s,box-shadow .15s}.swatch-picker[data-v-a142e832]:hover{transform:scale(1.1)}.swatch-picker.active[data-v-a142e832]{border-color:var(--white);box-shadow:0 0 0 2.5px var(--accent)}.picker-icon[data-v-a142e832]{width:20px;height:20px;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}.cp-panel[data-v-a142e832]{z-index:9999;background:#fff;border-radius:14px;box-shadow:0 8px 40px #1b26402e,0 2px 8px #1b264014;padding:12px;display:flex;flex-direction:column;gap:10px;border:1px solid #E0EAF8;width:220px}.cp-panel hex-color-picker[data-v-a142e832]{width:100%;height:160px}.cp-footer[data-v-a142e832]{display:flex;align-items:center;gap:8px;background:#f7fafd;border:1.5px solid #D4E0F2;border-radius:8px;padding:0 10px;height:36px}.cp-label[data-v-a142e832]{font-size:10px;font-weight:700;letter-spacing:.08em;color:#7b8ca8;flex-shrink:0}.cp-hex[data-v-a142e832]{flex:1;border:none;background:none;font-size:13px;font-weight:600;font-family:Roboto Mono,Courier New,monospace;color:#1b2640;outline:none;letter-spacing:.04em;text-transform:uppercase}.cp-pop-enter-active[data-v-a142e832],.cp-pop-leave-active[data-v-a142e832]{transition:opacity .15s}.cp-pop-enter-from[data-v-a142e832],.cp-pop-leave-to[data-v-a142e832]{opacity:0}hex-color-picker{--gradient-size: 100%}hex-color-picker::part(saturation){border-radius:8px 8px 0 0}hex-color-picker::part(hue){border-radius:6px;height:12px;margin-top:10px}hex-color-picker::part(hue-pointer),hex-color-picker::part(saturation-pointer){width:18px;height:18px;border-width:3px;box-shadow:0 2px 6px #00000040}.overlay[data-v-5d501c6a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b26407a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.modal[data-v-5d501c6a]{background:#fff;border-radius:24px;border:1px solid #E0EAF8;box-shadow:0 20px 60px #1b264038,0 4px 12px #1b264014;width:100%;max-width:440px;padding:28px;position:relative}.modal-enter-active[data-v-5d501c6a]{transition:opacity .2s,transform .2s}.modal-leave-active[data-v-5d501c6a]{transition:opacity .15s,transform .15s}.modal-enter-from[data-v-5d501c6a]{opacity:0;transform:translateY(12px) scale(.98)}.modal-leave-to[data-v-5d501c6a]{opacity:0;transform:translateY(8px) scale(.99)}.modal-head[data-v-5d501c6a]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:12px}.modal-title[data-v-5d501c6a]{font-size:20px;font-weight:700;color:#1b2640;letter-spacing:-.02em;line-height:1.2}.modal-sub[data-v-5d501c6a]{font-size:13px;color:#7b8ca8;margin-top:4px}.close-btn[data-v-5d501c6a]{flex-shrink:0;width:32px;height:32px;border-radius:8px;border:1px solid #E0EAF8;background:#f7fafd;color:#7b8ca8;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s,color .15s}.close-btn[data-v-5d501c6a]:hover{background:#eef4ff;color:#2b77e4}.fields[data-v-5d501c6a]{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.field[data-v-5d501c6a]{display:flex;flex-direction:column;gap:6px}.field-label[data-v-5d501c6a]{font-size:12px;font-weight:600;color:#7b8ca8;text-transform:uppercase;letter-spacing:.06em}.field-input[data-v-5d501c6a]{height:46px;border-radius:12px;border:1.5px solid #D4E0F2;background:#f7fafd;padding:0 14px;font-size:15px;color:#1b2640;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.field-input[data-v-5d501c6a]::placeholder{color:#a8b8d0}.field-input[data-v-5d501c6a]:focus{border-color:#2b77e4;background:#fff;box-shadow:0 0 0 3px #2b77e41f}.field-input.error[data-v-5d501c6a]{border-color:#f62c36}.field-input.error[data-v-5d501c6a]:focus{box-shadow:0 0 0 3px #f62c361a}.field-error[data-v-5d501c6a]{font-size:12px;color:#f62c36;font-weight:500}.cta-btn[data-v-5d501c6a]{width:100%;height:52px;border:none;border-radius:14px;background:linear-gradient(135deg,#2b77e4,#1a5ec8);color:#fff;font-size:16px;font-weight:700;letter-spacing:.01em;box-shadow:0 8px 24px #2b77e45c;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .18s,box-shadow .18s,background .18s;margin-bottom:16px;font-family:inherit;cursor:pointer}.cta-btn[data-v-5d501c6a]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 32px #2b77e470;background:linear-gradient(135deg,#3b87f4,#2266d8)}.cta-btn[data-v-5d501c6a]:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 14px #2b77e44d}.cta-btn[data-v-5d501c6a]:disabled{opacity:.65;cursor:not-allowed}.spinner[data-v-5d501c6a]{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin-5d501c6a .7s linear infinite;flex-shrink:0}@keyframes spin-5d501c6a{to{transform:rotate(360deg)}}.consent-row[data-v-5d501c6a]{margin-top:2px}.consent-label[data-v-5d501c6a]{display:flex;align-items:flex-start;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.consent-check[data-v-5d501c6a]{display:none}.consent-box[data-v-5d501c6a]{flex-shrink:0;width:18px;height:18px;border-radius:5px;border:1.5px solid #D4E0F2;background:#f7fafd;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s;margin-top:1px}.consent-box.checked[data-v-5d501c6a]{border-color:#2b77e4;background:#2b77e4}.consent-error .consent-box[data-v-5d501c6a]{border-color:#f62c36}.consent-text[data-v-5d501c6a]{font-size:12px;color:#7b8ca8;line-height:1.5}.consent-link[data-v-5d501c6a]{color:#2b77e4;text-decoration:underline;text-underline-offset:2px}.consent-link[data-v-5d501c6a]:hover{color:#1a5ec8}.submit-error[data-v-5d501c6a]{margin-top:10px;font-size:13px;color:#f62c36;text-align:center;font-weight:500}.success-block[data-v-5d501c6a]{display:flex;flex-direction:column;align-items:center;padding:12px 0 4px;text-align:center}.success-icon[data-v-5d501c6a]{margin-bottom:12px}.success-title[data-v-5d501c6a]{font-size:18px;font-weight:700;color:#1b2640;margin-bottom:8px}.success-text[data-v-5d501c6a]{font-size:14px;color:#7b8ca8;line-height:1.6;margin-bottom:24px;max-width:300px}.page[data-v-da7c140f]{max-width:1200px}.card[data-v-da7c140f]{background:var(--white);border-radius:var(--r-xl);border:1px solid var(--border);box-shadow:0 4px 32px #1b264014,0 1px 4px #1b26400a;overflow:hidden}.card-header[data-v-da7c140f]{padding:28px 28px 0}.card-header h2[data-v-da7c140f]{margin:0 0 6px;font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.card-header p[data-v-da7c140f]{margin:0 0 24px;color:var(--muted);font-size:14px;line-height:1.5}.panels[data-v-da7c140f]{display:flex;min-height:460px}.panel[data-v-da7c140f]{padding:20px}.panel-left[data-v-da7c140f]{flex:0 0 58%;background:var(--surface);border-top:1px solid var(--border);display:flex;gap:16px;align-items:stretch}.panel-right[data-v-da7c140f]{flex:1;background:var(--white);border-top:1px solid var(--border);border-left:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.section-label[data-v-da7c140f]{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.colors-col[data-v-da7c140f]{flex-shrink:0}.swatch-list[data-v-da7c140f]{display:flex;flex-direction:column;gap:8px;align-items:center}.swatch[data-v-da7c140f]{width:36px;height:36px;border-radius:50%;border:3px solid transparent;padding:0;flex-shrink:0;transition:transform .15s,box-shadow .15s}.swatch[data-v-da7c140f]:hover{transform:scale(1.1)}.swatch.active[data-v-da7c140f]{border-color:var(--white);box-shadow:0 0 0 2.5px var(--accent)}.bag-area[data-v-da7c140f]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);min-height:360px;padding:24px 16px}.bag-wrap[data-v-da7c140f]{position:relative;width:100%;max-width:330px;display:flex;align-items:center;justify-content:center}.bag-wrap>svg[data-v-da7c140f]{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 20px rgba(27,38,64,.13))}.logo-container[data-v-da7c140f]{position:absolute;width:52%;touch-action:none}.logo-container.selected[data-v-da7c140f]:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border:1.5px dashed #2B77E4;border-radius:3px;pointer-events:none}.logo-img[data-v-da7c140f]{width:100%;height:auto;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.handle[data-v-da7c140f]{position:absolute;width:10px;height:10px;background:#fff;border:2px solid #2B77E4;border-radius:50%;z-index:10}.handle.tl[data-v-da7c140f]{top:-11px;left:-11px;cursor:nw-resize}.handle.tr[data-v-da7c140f]{top:-11px;right:-11px;cursor:ne-resize}.handle.bl[data-v-da7c140f]{bottom:-11px;left:-11px;cursor:sw-resize}.handle.br[data-v-da7c140f]{bottom:-11px;right:-11px;cursor:se-resize}.handle.rot[data-v-da7c140f]{top:-34px;left:calc(50% - 5px);background:#2b77e4;border-color:#fff;cursor:grab}.handle.rot[data-v-da7c140f]:before{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:1.5px;height:10px;background:#2b77e4}.upload-label[data-v-da7c140f]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:130px;height:130px;border-radius:16px;background:#fff;border:1.5px solid var(--accent);color:#8a9bbf;font-size:12px;font-weight:500;cursor:pointer;text-align:center;box-shadow:0 2px 10px #1b26401a;transition:border-color .18s,color .18s,box-shadow .18s;z-index:5}.upload-label[data-v-da7c140f]:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 4px 16px #2b77e42e}.upload-label input[type=file][data-v-da7c140f]{display:none}.upload-icon[data-v-da7c140f]{width:40px;height:40px;flex-shrink:0}.replace-label[data-v-da7c140f]{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:9px;background:var(--white);border:1px solid #D1DCF0;color:var(--muted);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.replace-label[data-v-da7c140f]:hover{border-color:var(--accent);color:var(--accent)}.upload-icon-sm[data-v-da7c140f]{width:14px;height:14px;flex-shrink:0}.bag-enter-active[data-v-da7c140f],.bag-leave-active[data-v-da7c140f]{transition:opacity .15s,transform .15s}.bag-enter-from[data-v-da7c140f]{opacity:0;transform:scale(.95)}.bag-leave-to[data-v-da7c140f]{opacity:0;transform:scale(1.03)}.shape-tabs[data-v-da7c140f]{display:flex;gap:8px;flex-wrap:wrap}.shape-tab[data-v-da7c140f]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 16px;border-radius:var(--r-sm);border:1.5px solid #D4E0F2;background:var(--surface);font-size:11px;font-weight:500;color:var(--muted);transition:all .15s;line-height:1}.shape-tab[data-v-da7c140f]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.shape-tab.active[data-v-da7c140f]{border-color:var(--accent);background:var(--accent);color:var(--white);font-weight:600}.shape-mini[data-v-da7c140f]{height:28px;width:auto;display:block;flex-shrink:0}.shape-hint[data-v-da7c140f]{font-size:11px;color:var(--muted);font-style:italic;margin:6px 0 0}.form-block[data-v-da7c140f]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px}.dims-row[data-v-da7c140f]{display:flex;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px}.print-tabs[data-v-da7c140f]{display:flex;gap:6px}.print-tab[data-v-da7c140f]{flex:1;padding:9px 6px;border-radius:var(--r-sm);border:1.5px solid #D4E0F2;background:var(--white);font-size:12px;font-weight:500;color:var(--muted);transition:all .15s;text-align:center;line-height:1}.print-tab[data-v-da7c140f]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.print-tab.active[data-v-da7c140f]{border-color:var(--accent);background:var(--accent);color:var(--white);font-weight:600}.qty-header[data-v-da7c140f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.qty-value-row[data-v-da7c140f]{display:flex;align-items:baseline;gap:6px;margin:2px 0}.qty-input[data-v-da7c140f]{font-size:28px;font-weight:800;color:var(--accent);letter-spacing:-.03em;line-height:1.1;border:none;background:transparent;outline:none;padding:0;font-family:inherit;-moz-appearance:textfield}.qty-input[data-v-da7c140f]::-webkit-inner-spin-button,.qty-input[data-v-da7c140f]::-webkit-outer-spin-button{-webkit-appearance:none}.qty-unit[data-v-da7c140f]{font-size:28px;font-weight:800;color:var(--accent);letter-spacing:-.03em;line-height:1.1}.qty-slider[data-v-da7c140f]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:99px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--pct, 0%),#D8E6F8 var(--pct, 0%),#D8E6F8 100%);outline:none;cursor:pointer;margin:10px 0 4px;border:none;display:block}.qty-slider[data-v-da7c140f]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--white);border:2px solid var(--accent);box-shadow:0 2px 6px #2b77e447;cursor:grab;transition:box-shadow .15s}.qty-slider[data-v-da7c140f]::-webkit-slider-thumb:active{cursor:grabbing}.qty-slider[data-v-da7c140f]::-webkit-slider-thumb:hover{box-shadow:0 2px 10px #2b77e475}.qty-slider[data-v-da7c140f]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--white);border:2px solid var(--accent);box-shadow:0 2px 6px #2b77e447;cursor:grab}.qty-bounds[data-v-da7c140f]{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-weight:500;margin-top:8px}.cta[data-v-da7c140f]{width:100%;min-height:52px;border:none;border-radius:var(--r-md);background:linear-gradient(135deg,#2b77e4,#1a5ec8);color:var(--white);font-size:16px;font-weight:700;letter-spacing:.01em;box-shadow:0 8px 24px #2b77e45c;transition:transform .18s,box-shadow .18s,background .18s;margin-top:auto}.cta[data-v-da7c140f]:hover{transform:translateY(-2px);box-shadow:0 14px 32px #2b77e470;background:linear-gradient(135deg,#3b87f4,#2266d8)}.cta[data-v-da7c140f]:active{transform:translateY(0);box-shadow:0 4px 14px #2b77e44d}@media(max-width:900px){.panels[data-v-da7c140f]{flex-direction:column}.panel-left[data-v-da7c140f]{flex:none;border-right:none;border-bottom:1px solid var(--border)}.panel-right[data-v-da7c140f]{border-left:none}.bag-area[data-v-da7c140f]{min-height:280px}}@media(max-width:600px){.page[data-v-da7c140f]{max-width:100%;width:100%;overflow-x:hidden}.card[data-v-da7c140f]{border-radius:0;border-left:none;border-right:none}.card-header[data-v-da7c140f]{padding:18px 16px 0}.card-header h2[data-v-da7c140f]{font-size:20px}.panel[data-v-da7c140f]{padding:14px;overflow-x:hidden}.panel-left[data-v-da7c140f]{flex-direction:column}.colors-col[data-v-da7c140f]{display:flex;align-items:center;gap:12px}.colors-col .section-label[data-v-da7c140f]{margin-bottom:0;white-space:nowrap}.swatch-list[data-v-da7c140f]{flex-direction:row;flex-wrap:wrap}.dims-row[data-v-da7c140f]{flex-direction:column}.qty-value[data-v-da7c140f]{font-size:22px}.cta[data-v-da7c140f]{min-height:48px;font-size:15px}.print-tabs[data-v-da7c140f]{gap:4px}.print-tab[data-v-da7c140f]{font-size:11px}.bag-area[data-v-da7c140f]{min-height:240px}.bag-wrap[data-v-da7c140f]{max-width:100%}}*,*:before,*:after{box-sizing:border-box}:root{--accent: #2B77E4;--accent-dark: #1A5EC8;--accent-light: #EEF4FF;--surface: #F7FAFD;--border: #E0EAF8;--text: #1B2640;--muted: #7B8CA8;--white: #fff;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 24px}body{font-family:Roboto,system-ui,-apple-system,sans-serif;font-weight:400;color:var(--text);background:#fff;margin:0;padding:20px;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input[type=file]{display:none}a{text-decoration:none}@media(max-width:600px){body{padding:0}}
