@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f7f7f7;--color-surface:#fff;--color-border:#e0e0e0;--color-text:#1a1a1a;--color-muted:#666;--color-accent:#1a1a1a;--radius:6px;--transition:.15s ease}body{background:var(--color-bg);color:var(--color-text);font-family:Montserrat,sans-serif;font-size:14px;line-height:1.5}h2{margin-bottom:16px}#app{flex-direction:column;min-height:100vh;display:flex}.env-row[data-v-a3393e0f]{flex-wrap:wrap;gap:24px;margin-bottom:28px;display:flex}.toggle-group[data-v-a3393e0f]{flex-direction:column;gap:8px;display:flex}.toggle-label[data-v-a3393e0f]{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-size:12px;font-weight:600}.toggle-buttons[data-v-a3393e0f]{border:1.5px solid var(--color-border);border-radius:var(--radius);width:fit-content;display:flex;overflow:hidden}.toggle-btn[data-v-a3393e0f]{background:var(--color-surface);cursor:pointer;color:var(--color-muted);transition:background var(--transition), color var(--transition);border:none;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500}.toggle-btn+.toggle-btn[data-v-a3393e0f]{border-left:1.5px solid var(--color-border)}.toggle-btn.active[data-v-a3393e0f]{background:var(--color-accent);color:#fff;font-weight:600}.toggle-btn[data-v-a3393e0f]:disabled{opacity:.35;cursor:not-allowed}.card-grid[data-v-a3393e0f]{grid-template-columns:repeat(4,160px);gap:12px;padding-right:20px;display:grid}.profile-card[data-v-a3393e0f]{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;text-align:left;transition:border-color var(--transition), background var(--transition), opacity var(--transition);flex-direction:column;align-items:flex-start;gap:4px;padding:16px;display:flex}.profile-card[data-v-a3393e0f]:not(.disabled):hover{border-color:#aaa}.profile-card.selected[data-v-a3393e0f]{border-color:var(--color-accent);background:#f0f0f0}.profile-card.disabled[data-v-a3393e0f]{opacity:.35;cursor:not-allowed}.profile-card.coming-soon[data-v-a3393e0f]{opacity:.5}.card-id[data-v-a3393e0f]{font-family:Montserrat;font-size:18px;font-weight:700}.card-label[data-v-a3393e0f]{color:var(--color-muted);font-size:11px}.coming-soon-badge[data-v-a3393e0f]{color:#999;background:#f0f0f0;border-radius:4px;margin-top:6px;padding:2px 6px;font-size:10px;font-weight:600}.group[data-v-eb9d26c1]{margin-bottom:32px}h3[data-v-eb9d26c1]{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:12px;font-size:12px;font-weight:600}.preset-row[data-v-eb9d26c1]{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.preset-btn[data-v-eb9d26c1]{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;transition:border-color var(--transition), background var(--transition);padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500}.preset-btn[data-v-eb9d26c1]:hover{border-color:#aaa}.preset-btn.selected[data-v-eb9d26c1]{border-color:var(--color-accent);background:#f0f0f0;font-weight:600}.length-row[data-v-eb9d26c1]{align-items:center;gap:10px;max-width:220px;display:flex}.length-input[data-v-eb9d26c1]{border:1.5px solid var(--color-border);border-radius:var(--radius);width:160px;transition:border-color var(--transition);outline:none;padding:10px 14px;font-family:inherit;font-size:24px;font-weight:600}.length-input[data-v-eb9d26c1]:focus{border-color:var(--color-accent)}.length-input.invalid[data-v-eb9d26c1]{border-color:#c62828}.unit[data-v-eb9d26c1]{color:var(--color-muted);font-size:18px}.error[data-v-eb9d26c1]{color:#c62828;margin-top:10px;font-size:13px}.range-note[data-v-eb9d26c1]{color:var(--color-muted);margin-top:10px;font-size:13px}.note[data-v-eb9d26c1]{color:#888;margin-left:4px;font-size:10px;font-style:italic}.swatch-row[data-v-eb9d26c1]{flex-wrap:wrap;gap:12px;padding-bottom:28px;display:flex}.swatch[data-v-eb9d26c1]{border-radius:var(--radius);cursor:pointer;width:72px;height:72px;transition:border-color var(--transition), transform var(--transition);border:2px solid #0000;position:relative;overflow:visible}.swatch[data-v-eb9d26c1]:not(.unavailable):hover{transform:scale(1.05)}.swatch.selected[data-v-eb9d26c1]{border-color:var(--color-accent)}.swatch.unavailable[data-v-eb9d26c1]{opacity:.25;cursor:not-allowed}.swatch-label[data-v-eb9d26c1]{white-space:nowrap;color:var(--color-text);pointer-events:none;font-size:10px;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.swatch.selected .swatch-label[data-v-eb9d26c1]{font-weight:700}.step-hint[data-v-96eddc30]{color:var(--color-muted);margin-bottom:24px}.option-list[data-v-96eddc30]{flex-direction:column;gap:10px;max-width:400px;margin-bottom:20px;display:flex}.option[data-v-96eddc30]{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;text-align:left;transition:border-color var(--transition), background var(--transition), opacity var(--transition);padding:14px 18px;font-family:inherit;font-size:14px;font-weight:500}.option[data-v-96eddc30]:not(.disabled):hover{border-color:#aaa}.option.selected[data-v-96eddc30]{border-color:var(--color-accent);background:#f0f0f0;font-weight:600}.option.disabled[data-v-96eddc30]{opacity:.35;cursor:not-allowed}.note[data-v-96eddc30]{color:var(--color-muted);margin-left:4px;font-size:11px;font-style:italic}.group[data-v-269f2198]{margin-bottom:32px}h3[data-v-269f2198]{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:12px;font-size:12px;font-weight:600}.option-list[data-v-269f2198]{flex-wrap:wrap;gap:12px;display:flex}.option[data-v-269f2198]{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;text-align:left;min-width:160px;transition:border-color var(--transition), background var(--transition);flex-direction:column;gap:4px;padding:14px 20px;font-family:inherit;display:flex}.option[data-v-269f2198]:not(:disabled):hover{border-color:#aaa}.option.selected[data-v-269f2198]{border-color:var(--color-accent);background:#f0f0f0}.option[data-v-269f2198]:disabled{opacity:.5;cursor:not-allowed}.opt-label[data-v-269f2198]{font-size:15px;font-weight:600}.opt-sub[data-v-269f2198]{color:var(--color-muted);font-size:12px;font-weight:400}.option.selected .opt-sub[data-v-269f2198]{color:#555}.cct-row[data-v-269f2198]{flex-wrap:wrap;gap:10px;display:flex}.cct-btn[data-v-269f2198]{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;transition:border-color var(--transition), background var(--transition);padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500}.cct-btn[data-v-269f2198]:not(:disabled):hover{border-color:#aaa}.cct-btn[data-v-269f2198]:disabled{opacity:.5;cursor:not-allowed}.cct-btn.selected[data-v-269f2198]{border-color:var(--color-accent);background:#f0f0f0;font-weight:600}.perf-row[data-v-269f2198]{grid-template-columns:fit-content(230px) fit-content(230px) fit-content(230px) fit-content(230px);gap:10px;margin-right:20px;display:grid}.perf-btn[data-v-269f2198]{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;transition:border-color var(--transition), background var(--transition);flex-direction:column;align-items:center;gap:3px;padding:10px 18px;font-family:inherit;display:flex}.perf-btn[data-v-269f2198]:not(:disabled):hover{border-color:#aaa}.perf-btn[data-v-269f2198]:disabled{opacity:.5;cursor:not-allowed}.perf-btn.selected[data-v-269f2198]{border-color:var(--color-accent);background:#f0f0f0}.perf-main[data-v-269f2198]{align-items:baseline;gap:5px;display:flex}.perf-lm[data-v-269f2198]{font-size:15px;font-weight:700}.perf-sep[data-v-269f2198]{color:var(--color-muted);font-size:13px}.perf-w[data-v-269f2198]{font-size:15px;font-weight:700}.perf-unit[data-v-269f2198]{color:var(--color-muted);margin-left:2px;font-size:11px}.perf-btn.selected .perf-unit[data-v-269f2198],.perf-btn.selected .perf-sep[data-v-269f2198]{color:#666}.tw-range[data-v-269f2198]{color:var(--color-muted);font-size:11px}.perf-btn.selected .tw-range[data-v-269f2198]{color:#666}.max-len-badge[data-v-269f2198]{color:#999;background:#f0f0f0;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:10px;font-weight:600}.perf-btn.selected .max-len-badge[data-v-269f2198]{color:#666;background:#e2e2e2}.max-len-badge.exceeded[data-v-269f2198]{color:#c62828;background:#fde2e1}.special-order-note[data-v-269f2198]{color:#b45309;margin-top:10px;font-size:12px;font-style:italic}.perf-empty[data-v-269f2198]{border:1.5px dashed var(--color-border);border-radius:var(--radius);color:var(--color-muted);background:var(--color-surface);padding:14px 18px;font-size:13px;display:inline-block}.group[data-v-0ffb632a]{margin-bottom:28px}h3[data-v-0ffb632a]{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:12px;font-size:12px;font-weight:600}.option-list[data-v-0ffb632a]{flex-direction:column;gap:8px;max-width:320px;display:flex}.option[data-v-0ffb632a]{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;text-align:left;transition:border-color var(--transition), background var(--transition);padding:11px 18px;font-family:inherit;font-size:14px;font-weight:500}.option[data-v-0ffb632a]:hover{border-color:#aaa}.option.selected[data-v-0ffb632a]{border-color:var(--color-accent);background:#f0f0f0;font-weight:600}.option.unavailable[data-v-0ffb632a]{opacity:.35;cursor:not-allowed}.option.unavailable[data-v-0ffb632a]:hover{border-color:var(--color-border)}.opt-sub[data-v-0ffb632a]{color:var(--color-muted);font-size:12px;font-weight:400}.row[data-v-0ffb632a]{flex-wrap:wrap;gap:8px;display:flex}.chip[data-v-0ffb632a]{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;transition:border-color var(--transition), background var(--transition), opacity var(--transition);padding:9px 18px;font-family:inherit;font-size:13px;font-weight:500}.chip[data-v-0ffb632a]:hover{border-color:#aaa}.chip.selected[data-v-0ffb632a]{border-color:var(--color-accent);background:#f0f0f0;font-weight:600}.chip.unavailable[data-v-0ffb632a]{opacity:.35;cursor:not-allowed}.step-hint[data-v-233f7d16]{color:var(--color-muted);margin-bottom:24px}.group[data-v-233f7d16]{margin-bottom:28px}.group-header[data-v-233f7d16]{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.group-header h2[data-v-233f7d16]{margin:0}.chevron[data-v-233f7d16]{color:var(--color-muted);transition:transform var(--transition);font-size:22px}.chevron.open[data-v-233f7d16]{transform:rotate(90deg)}.group-body[data-v-233f7d16]{padding-top:16px}.summary-table[data-v-233f7d16]{border-collapse:collapse;width:auto;margin-bottom:28px}.summary-table th[data-v-233f7d16],.summary-table td[data-v-233f7d16]{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:14px}.summary-table th[data-v-233f7d16]{color:var(--color-muted);width:200px;font-weight:500}.summary-table td[data-v-233f7d16]{width:auto;font-weight:600}.code-cell[data-v-233f7d16]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.code-value[data-v-233f7d16]{word-break:break-all}.code-btn[data-v-233f7d16]{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;white-space:nowrap;transition:border-color var(--transition), opacity var(--transition);padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600}.code-btn[data-v-233f7d16]:not(:disabled):hover{border-color:#aaa}.code-btn[data-v-233f7d16]:disabled{opacity:.5;cursor:not-allowed}.pos-row[data-v-233f7d16]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.pos-label[data-v-233f7d16]{color:var(--color-muted);font-size:13px}.pos-input[data-v-233f7d16]{border:1.5px solid var(--color-border);border-radius:var(--radius);width:90px;transition:border-color var(--transition);outline:none;padding:8px 12px;font-family:inherit;font-size:14px;font-weight:600}.pos-input[data-v-233f7d16]:focus{border-color:var(--color-accent)}.pos-hint[data-v-233f7d16]{color:var(--color-muted);font-size:11px;font-style:italic}.email-row[data-v-233f7d16]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.email-input[data-v-233f7d16]{border:1.5px solid var(--color-border);border-radius:var(--radius);width:240px;max-width:100%;transition:border-color var(--transition);outline:none;padding:8px 12px;font-family:inherit;font-size:14px}.email-input[data-v-233f7d16]:focus{border-color:var(--color-accent)}.email-notice[data-v-233f7d16]{color:var(--color-muted);max-width:480px;font-size:11px;line-height:1.5}.email-notice a[data-v-233f7d16]{color:var(--color-muted)}.dl-col[data-v-233f7d16]{flex-direction:column;align-items:stretch;gap:10px;max-width:280px;margin-bottom:12px;display:flex}.dl-btn[data-v-233f7d16]{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color var(--transition), opacity var(--transition);padding:12px 22px;font-family:inherit;font-size:14px;font-weight:600}.dl-btn[data-v-233f7d16]:not(:disabled):hover{border-color:#aaa}.dl-btn[data-v-233f7d16]:disabled{opacity:.5;cursor:not-allowed}.dl-btn.primary[data-v-233f7d16]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.dl-btn.primary[data-v-233f7d16]:not(:disabled):hover{opacity:.85;border-color:var(--color-accent)}.error[data-v-233f7d16]{color:#c62828;opacity:0;min-height:18px;transition:opacity var(--transition);margin:0 0 12px;font-size:13px}.error.visible[data-v-233f7d16]{opacity:1}.bulk[data-v-233f7d16]{max-width:420px;margin-top:16px}.bulk-table[data-v-233f7d16]{border-collapse:collapse;width:100%;margin-top:12px}.bulk-table th[data-v-233f7d16]{text-align:left;color:var(--color-muted);padding:6px 8px;font-size:12px;font-weight:600}.bulk-table td[data-v-233f7d16]{padding:4px 8px 4px 0}.bulk-input[data-v-233f7d16]{box-sizing:border-box;border:1.5px solid var(--color-border);border-radius:var(--radius);width:100%;transition:border-color var(--transition);outline:none;padding:8px 12px;font-family:inherit;font-size:14px;font-weight:600}.bulk-input[data-v-233f7d16]:focus{border-color:var(--color-accent)}.row-del[data-v-233f7d16]{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:6px;font-size:14px}.row-del[data-v-233f7d16]:not(:disabled):hover{color:#c62828}.row-del[data-v-233f7d16]:disabled{opacity:.3;cursor:not-allowed}.bulk-error[data-v-233f7d16]{color:#c62828;opacity:0;min-height:18px;transition:opacity var(--transition);margin:8px 0;font-size:13px}.bulk-error.visible[data-v-233f7d16]{opacity:1}.bulk-actions[data-v-233f7d16]{gap:10px;margin-top:4px;display:flex}.preview-panel[data-v-68e0b6f0]{border-left:1px solid var(--color-border);box-sizing:border-box;flex-direction:column;flex-shrink:0;justify-content:flex-start;align-items:center;width:360px;max-height:100%;padding:8px 0 0 32px;display:flex;overflow-y:auto}.preview-img[data-v-68e0b6f0]{flex-shrink:0;width:100%;height:auto}.mounting-img[data-v-68e0b6f0]{border-top:1px solid var(--color-border);margin-top:4px;padding-top:8px}.preview-hint[data-v-68e0b6f0]{color:var(--color-muted);text-align:center;padding-top:64px;font-size:13px}.gallery[data-v-68e0b6f0]{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.gallery-img[data-v-68e0b6f0]{object-fit:contain;object-position:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;width:100%;height:320px}.gallery-nav[data-v-68e0b6f0]{align-items:center;gap:16px;display:flex}.gallery-btn[data-v-68e0b6f0]{border:1.5px solid var(--color-border);border-radius:var(--radius);cursor:pointer;color:#555;transition:border-color var(--transition);background:0 0;padding:2px 10px 4px;font-family:inherit;font-size:22px;line-height:1}.gallery-btn[data-v-68e0b6f0]:hover{border-color:#aaa}.gallery-label[data-v-68e0b6f0]{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);text-align:center;min-width:90px;font-size:13px;font-weight:600}.gallery-dots[data-v-68e0b6f0]{gap:6px;display:flex}.dot[data-v-68e0b6f0]{background:var(--color-border);cursor:pointer;width:7px;height:7px;transition:background var(--transition);border-radius:50%}.dot.active[data-v-68e0b6f0]{background:var(--color-accent)}.configurator[data-v-c50b2c8c]{box-sizing:border-box;flex-direction:column;min-width:80%;max-width:1440px;height:100vh;margin:0 auto;padding:0 24px;display:flex}.main-area[data-v-c50b2c8c]{flex:1;align-items:flex-start;gap:1vh;min-height:0;display:flex;overflow:hidden}.conf-header[data-v-c50b2c8c]{border-bottom:1px solid var(--color-border);align-items:end;gap:12px;margin-bottom:32px;padding:24px 0 20px;display:flex}.brand-logo[data-v-c50b2c8c]{width:auto;height:36px}.header-title[data-v-c50b2c8c]{color:var(--color-muted);font-size:20px}.header-version[data-v-c50b2c8c]{color:var(--color-muted);font-size:14px}.progress-row[data-v-c50b2c8c]{align-items:center;gap:16px;margin-bottom:36px;display:flex}.progress[data-v-c50b2c8c]{gap:0;display:flex;overflow-x:auto}.ref-load[data-v-c50b2c8c]{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.ref-input[data-v-c50b2c8c]{letter-spacing:.06em;text-transform:uppercase;border:1.5px solid var(--color-border);border-radius:var(--radius);width:130px;transition:border-color var(--transition);outline:none;padding:7px 10px;font-family:inherit;font-size:13px;font-weight:600}.ref-input[data-v-c50b2c8c]::placeholder{letter-spacing:normal;text-transform:none;font-weight:500}.ref-input[data-v-c50b2c8c]:focus{border-color:var(--color-accent)}.ref-btn[data-v-c50b2c8c]{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;transition:border-color var(--transition);padding:7px 14px;font-family:inherit;font-size:13px;font-weight:600}.ref-btn[data-v-c50b2c8c]:not(:disabled):hover{border-color:#aaa}.ref-btn[data-v-c50b2c8c]:disabled,.ref-input[data-v-c50b2c8c]:disabled{opacity:.5;cursor:not-allowed}.ref-msg[data-v-c50b2c8c]{max-width:260px;font-size:12px}.ref-msg.ok[data-v-c50b2c8c]{color:#2e7d32}.ref-msg.warn[data-v-c50b2c8c]{color:#b45309}.ref-msg.err[data-v-c50b2c8c]{color:#c62828}.main-area.busy[data-v-c50b2c8c]{pointer-events:none;opacity:.55}.prog-step[data-v-c50b2c8c]{cursor:pointer;color:var(--color-muted);white-space:nowrap;transition:color var(--transition), border-color var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:12px;display:flex}.prog-step[data-v-c50b2c8c]:disabled{cursor:default}.prog-step.completed[data-v-c50b2c8c]{color:var(--color-text);border-bottom-color:#bbb}.prog-step.reachable[data-v-c50b2c8c]{color:var(--color-text);border-bottom-color:#ddd}.prog-step.reachable .prog-num[data-v-c50b2c8c]{color:#fff;background:#ccc}.prog-step.active[data-v-c50b2c8c]{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:600}.prog-num[data-v-c50b2c8c]{background:var(--color-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.prog-step.completed .prog-num[data-v-c50b2c8c]{color:#fff;background:#bbb}.prog-step.active .prog-num[data-v-c50b2c8c]{background:var(--color-accent);color:#fff}.step-area[data-v-c50b2c8c]{flex:1;min-width:0;height:100%;padding:0 20px;overflow-y:auto}.conf-footer[data-v-c50b2c8c]{border-top:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 0;display:flex}.btn-primary[data-v-c50b2c8c],.btn-secondary[data-v-c50b2c8c]{border-radius:var(--radius);cursor:pointer;transition:opacity var(--transition);padding:12px 28px;font-family:inherit;font-size:14px;font-weight:600}.btn-primary[data-v-c50b2c8c]{background:var(--color-accent);color:#fff;border:none}.btn-secondary[data-v-c50b2c8c]{color:var(--color-text);border:1.5px solid var(--color-border);background:0 0}.btn-primary[data-v-c50b2c8c]:disabled{opacity:.35;cursor:not-allowed}.btn-primary[data-v-c50b2c8c]:not(:disabled):hover,.btn-secondary[data-v-c50b2c8c]:hover{opacity:.75}.loading[data-v-c50b2c8c],.load-error[data-v-c50b2c8c]{text-align:center;color:var(--color-muted);padding:48px}.load-error[data-v-c50b2c8c]{color:#c62828}
