*{box-sizing:border-box}html,body,#app{margin:0;padding:0;width:100%;height:100%;overflow:hidden;font-family:var(--font-body)}body{background:var(--bg-primary);color:var(--text-primary);transition:background-color .2s,color .2s}.app-layout[data-v-6cb350e3]{width:100%;height:100%;display:flex;flex-direction:column}.error-toast[data-v-6cb350e3]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--error);color:var(--accent-text);padding:8px 16px;border-radius:8px;font-size:14px;z-index:99999;box-shadow:var(--shadow-md)}.pwa-update-banner[data-v-6cb350e3]{position:fixed;bottom:70px;left:50%;transform:translate(-50%);background:var(--accent);color:var(--accent-text);padding:10px 20px;border-radius:10px;font-size:14px;z-index:99999;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:12px;animation:slideUp-6cb350e3 .3s ease-out}.pwa-update-btn[data-v-6cb350e3]{padding:4px 12px;border:1px solid rgba(255,255,255,.4);border-radius:6px;background:#ffffff26;color:var(--accent-text);cursor:pointer;font-size:13px;font-weight:600;transition:background .15s}.pwa-update-btn[data-v-6cb350e3]:hover{background:#ffffff40}.pwa-offline-badge[data-v-6cb350e3]{position:fixed;top:8px;left:12px;display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--error);color:var(--accent-text);border-radius:20px;font-size:11px;font-weight:600;z-index:9999;animation:fadeIn-6cb350e3 .3s ease-out}.pwa-offline-dot[data-v-6cb350e3]{width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse-6cb350e3 2s infinite}.pwa-sync-badge[data-v-6cb350e3]{position:fixed;top:8px;right:12px;padding:4px 10px;background:var(--warning);color:var(--text-primary);border-radius:20px;font-size:11px;font-weight:600;z-index:9999;animation:fadeIn-6cb350e3 .3s ease-out}@keyframes slideUp-6cb350e3{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes fadeIn-6cb350e3{0%{opacity:0}to{opacity:1}}@keyframes pulse-6cb350e3{0%,to{opacity:1}50%{opacity:.4}}.template-picker[data-v-db3f7be1]{display:flex;flex-direction:column;gap:12px}.tp-filters[data-v-db3f7be1]{display:flex;flex-wrap:wrap;gap:6px}.tp-filter-btn[data-v-db3f7be1]{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-primary);border-radius:20px;background:var(--bg-card);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.tp-filter-btn[data-v-db3f7be1]:hover{border-color:var(--accent)}.tp-filter-btn.active[data-v-db3f7be1]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.tp-filter-count[data-v-db3f7be1]{font-size:11px;font-weight:500;opacity:.6}.search-input[data-v-db3f7be1]{width:100%;padding:10px 14px;border:1px solid var(--border-primary);border-radius:8px;font-size:14px;outline:none;background:var(--bg-input);color:var(--text-primary);box-sizing:border-box;transition:border-color .15s}.search-input[data-v-db3f7be1]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f54c426}.template-grid[data-v-db3f7be1]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.template-card[data-v-db3f7be1]{border:1px solid var(--border-primary);border-radius:10px;padding:12px;cursor:pointer;transition:all .15s;background:var(--bg-card)}.template-card[data-v-db3f7be1]:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.template-card--blank[data-v-db3f7be1]{border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:150px}.template-icon[data-v-db3f7be1]{font-size:22px;display:block;margin-top:6px}.template-name[data-v-db3f7be1]{font-size:13px;font-weight:600;display:block;color:var(--text-primary);margin-top:4px}.template-desc[data-v-db3f7be1]{font-size:12px;color:var(--text-tertiary);display:block;margin-top:2px;line-height:1.35}.tp-preview[data-v-db3f7be1]{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;background:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px);background-size:16px 16px;border:1px solid var(--border-primary)}.tp-preview-svg[data-v-db3f7be1]{width:100%;height:100%;display:block}.tp-preview-label[data-v-db3f7be1]{position:absolute;bottom:4px;right:6px;font-size:11px;font-weight:700;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-card) 85%,transparent);padding:2px 6px;border-radius:4px;pointer-events:none}.search-empty[data-v-db3f7be1]{text-align:center;color:var(--text-tertiary);padding:20px;font-size:13px}.upgrade-overlay[data-v-85f839e1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.upgrade-modal[data-v-85f839e1]{width:520px;max-width:92vw;max-height:90vh;overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:16px;box-shadow:0 20px 60px #0000004d;animation:up-appear-85f839e1 .25s ease-out}@keyframes up-appear-85f839e1{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.up-header[data-v-85f839e1]{display:flex;align-items:center;gap:10px;padding:18px 20px 12px;border-bottom:1px solid var(--border-primary)}.up-icon[data-v-85f839e1]{font-size:24px}.up-title[data-v-85f839e1]{flex:1;margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.up-close[data-v-85f839e1]{display:inline-flex;padding:6px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:.15s}.up-close[data-v-85f839e1]:hover{background:var(--bg-hover);color:var(--error)}.up-pricing[data-v-85f839e1]{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 20px}.up-plan[data-v-85f839e1]{padding:16px;border-radius:12px;border:1px solid var(--border-secondary);background:var(--bg-secondary);position:relative}.up-plan-premium[data-v-85f839e1]{border-color:var(--success);background:linear-gradient(135deg,#22c55e0f,#22c55e05);box-shadow:0 2px 12px #22c55e14}.up-plan-badge[data-v-85f839e1]{position:absolute;top:-8px;right:12px;background:linear-gradient(135deg,var(--success),#16a34a);color:#fff;font-size:9px;font-weight:700;padding:2px 10px;border-radius:8px;letter-spacing:.5px;text-transform:uppercase}.up-plan-name[data-v-85f839e1]{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.up-plan-price[data-v-85f839e1]{font-size:24px;font-weight:800;color:var(--text-primary);margin-bottom:10px}.up-plan-price small[data-v-85f839e1]{font-size:11px;font-weight:400;color:var(--text-tertiary)}.up-plan-features[data-v-85f839e1]{list-style:none;padding:0;margin:0}.up-feature[data-v-85f839e1]{font-size:11px;color:var(--text-secondary);padding:3px 0}.up-form[data-v-85f839e1]{padding:12px 20px 20px;border-top:1px solid var(--border-primary)}.up-form-hint[data-v-85f839e1]{font-size:11px;color:var(--text-tertiary);margin:0 0 8px}.up-input-row[data-v-85f839e1]{display:flex;gap:8px}.up-input[data-v-85f839e1]{flex:1;padding:8px 12px;border:1px solid var(--border-secondary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-family:inherit;transition:.15s}.up-input[data-v-85f839e1]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.up-input[data-v-85f839e1]::placeholder{color:var(--text-tertiary)}.up-btn[data-v-85f839e1]{padding:8px 18px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:.15s;font-family:inherit}.up-btn[data-v-85f839e1]:disabled{opacity:.5;cursor:not-allowed}.up-btn-upgrade[data-v-85f839e1]{background:linear-gradient(135deg,var(--success),#16a34a);color:#fff;box-shadow:0 2px 8px #22c55e40}.up-btn-upgrade[data-v-85f839e1]:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 12px #22c55e59}.up-error[data-v-85f839e1]{font-size:11px;color:var(--error);margin:8px 0 0}.up-success[data-v-85f839e1]{font-size:11px;color:var(--success);margin:8px 0 0}.up-fade-enter-active[data-v-85f839e1]{transition:.2s ease-out}.up-fade-leave-active[data-v-85f839e1]{transition:.15s ease-in}.up-fade-enter-from[data-v-85f839e1],.up-fade-leave-to[data-v-85f839e1]{opacity:0}.landing[data-v-cd2cb21a]{height:100vh;overflow-y:auto;overflow-x:hidden;background:var(--bg-primary);font-family:var(--font-body)}.navbar[data-v-cd2cb21a]{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 24px;height:60px;display:flex;align-items:center;justify-content:center;background:#fff9;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid transparent;transition:all .3s ease}[data-theme=dark] .navbar[data-v-cd2cb21a]{background:#13131fb3}.navbar.nav-scrolled[data-v-cd2cb21a]{border-bottom-color:var(--border-primary);box-shadow:0 1px 8px #0000000a}.nav-inner[data-v-cd2cb21a]{width:100%;max-width:1200px;display:flex;align-items:center;justify-content:space-between;gap:16px}.nav-left[data-v-cd2cb21a]{display:flex;align-items:center;gap:14px}.nav-logo[data-v-cd2cb21a]{font-size:20px;font-weight:800;color:var(--text-primary);cursor:pointer;letter-spacing:-.3px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-tagline[data-v-cd2cb21a]{display:none;font-size:13px;color:var(--text-tertiary);font-weight:400}@media(min-width:700px){.nav-tagline[data-v-cd2cb21a]{display:inline}}.nav-right[data-v-cd2cb21a]{display:flex;align-items:center;gap:8px}.nav-btn[data-v-cd2cb21a]{padding:7px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-ghost[data-v-cd2cb21a]{background:transparent;border:1px solid var(--border-primary);color:var(--text-secondary)}.btn-ghost[data-v-cd2cb21a]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.btn-primary[data-v-cd2cb21a]{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);border:none;color:var(--accent-text)}.btn-primary[data-v-cd2cb21a]:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 12px #2f54c440}.locale-group[data-v-cd2cb21a]{display:flex;gap:1px;background:transparent;border:1px solid var(--border-primary);border-radius:6px;padding:2px}.locale-btn[data-v-cd2cb21a]{border:1px solid transparent;border-radius:4px;padding:2px 5px;cursor:pointer;font-size:14px;line-height:1;background:transparent;opacity:.45;transition:all .15s}.locale-btn[data-v-cd2cb21a]:hover{opacity:.8;background:var(--bg-hover)}.locale-btn.active[data-v-cd2cb21a]{opacity:1;background:var(--accent-light);border-color:var(--accent)}.theme-btn[data-v-cd2cb21a]{border:1px solid var(--border-primary);border-radius:6px;padding:3px 7px;cursor:pointer;font-size:14px;line-height:1;background:transparent;opacity:.7;transition:all .15s}.theme-btn[data-v-cd2cb21a]:hover{opacity:1;background:var(--bg-hover)}.auth-role-badge[data-v-cd2cb21a]{display:flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid var(--border-primary);border-radius:20px;background:var(--bg-card);font-size:11px;font-weight:500;white-space:nowrap;cursor:default}.auth-role-badge .role-tag[data-v-cd2cb21a]{font-size:9px;font-weight:600;padding:1px 5px;border-radius:8px;text-transform:uppercase;letter-spacing:.3px}.auth-role-badge.role-admin .role-tag[data-v-cd2cb21a]{background:#ef44441a;color:var(--error)}.auth-role-badge.role-engineer .role-tag[data-v-cd2cb21a]{background:var(--accent-light);color:var(--accent)}.auth-role-badge.role-reviewer .role-tag[data-v-cd2cb21a]{background:#fbbf241a;color:#d97706}.auth-role-badge.role-guest .role-tag[data-v-cd2cb21a]{background:#6b72801a;color:var(--text-tertiary)}.auth-logout-btn[data-v-cd2cb21a]{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:0 0 0 6px;font-size:12px;line-height:1;opacity:.6;transition:all .15s}.auth-logout-btn[data-v-cd2cb21a]:hover{opacity:1;color:var(--error)}.plan-badge-btn[data-v-cd2cb21a]{display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border-primary);border-radius:20px;background:var(--bg-card);cursor:pointer;font-size:11px;font-weight:600;white-space:nowrap;transition:all .15s}.plan-badge-btn[data-v-cd2cb21a]:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.plan-free[data-v-cd2cb21a]{border-color:var(--border-secondary);color:var(--text-secondary)}.plan-free[data-v-cd2cb21a]:hover{border-color:var(--success);color:var(--success)}.plan-premium[data-v-cd2cb21a]{border-color:var(--success);color:var(--success);background:linear-gradient(135deg,#22c55e0f,#22c55e05)}.plan-badge-projects[data-v-cd2cb21a]{font-size:10px;opacity:.7;font-weight:400}.hero[data-v-cd2cb21a]{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 24px 60px;overflow:hidden}.hero-bg[data-v-cd2cb21a]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-gradient[data-v-cd2cb21a]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% -20%,rgba(47,84,196,.15) 0%,transparent 70%),radial-gradient(ellipse 60% 50% at 80% 80%,rgba(47,84,196,.1) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 20% 90%,rgba(47,84,196,.08) 0%,transparent 60%);animation:gradientShift-cd2cb21a 12s ease-in-out infinite alternate}[data-theme=dark] .hero-gradient[data-v-cd2cb21a]{background:radial-gradient(ellipse 80% 60% at 50% -20%,rgba(47,84,196,.25) 0%,transparent 70%),radial-gradient(ellipse 60% 50% at 80% 80%,rgba(47,84,196,.15) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 20% 90%,rgba(47,84,196,.12) 0%,transparent 60%)}@keyframes gradientShift-cd2cb21a{0%{transform:scale(1) rotate(0)}to{transform:scale(1.05) rotate(2deg)}}.hero-pattern[data-v-cd2cb21a]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 25% 25%,var(--border-secondary) 1px,transparent 1px),radial-gradient(circle at 75% 75%,var(--border-secondary) 1px,transparent 1px);background-size:60px 60px;opacity:.6}.floating-shapes[data-v-cd2cb21a]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.shape[data-v-cd2cb21a]{position:absolute;border-radius:50%;opacity:.1;animation:floatShape-cd2cb21a 20s ease-in-out infinite}[data-theme=dark] .shape[data-v-cd2cb21a]{opacity:.15}.shape-1[data-v-cd2cb21a]{width:300px;height:300px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);top:-10%;left:-5%;animation-delay:0s;animation-duration:25s}.shape-2[data-v-cd2cb21a]{width:200px;height:200px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);top:50%;right:-3%;animation-delay:-5s;animation-duration:20s}.shape-3[data-v-cd2cb21a]{width:150px;height:150px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);bottom:10%;left:10%;animation-delay:-10s;animation-duration:22s}.shape-4[data-v-cd2cb21a]{width:100px;height:100px;border-radius:20%;background:linear-gradient(135deg,var(--accent),var(--accent-hover));top:20%;right:20%;animation-delay:-3s;animation-duration:18s}.shape-5[data-v-cd2cb21a]{width:180px;height:180px;border-radius:30% 70% 70% 30%/30% 30% 70% 70%;background:linear-gradient(135deg,var(--accent),transparent);top:60%;left:-2%;animation-delay:-8s;animation-duration:24s}.shape-6[data-v-cd2cb21a]{width:80px;height:80px;border-radius:40% 60% 60% 40%/40% 40% 60% 60%;background:linear-gradient(135deg,var(--accent),transparent);bottom:30%;right:15%;animation-delay:-14s;animation-duration:16s}@keyframes floatShape-cd2cb21a{0%,to{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(30px,-40px) rotate(5deg) scale(1.05)}50%{transform:translate(-20px,20px) rotate(-3deg) scale(.95)}75%{transform:translate(40px,-20px) rotate(4deg) scale(1.03)}}.hero-content[data-v-cd2cb21a]{position:relative;z-index:1;text-align:center;max-width:720px;animation:heroFadeIn-cd2cb21a 1s ease-out}@keyframes heroFadeIn-cd2cb21a{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-badge[data-v-cd2cb21a]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:linear-gradient(135deg,#2f54c41a,#7d97e80d);border:1px solid rgba(47,84,196,.2);border-radius:20px;font-size:12px;font-weight:600;color:var(--accent);margin-bottom:28px;animation:heroFadeIn-cd2cb21a 1s ease-out .15s both}.hero-title[data-v-cd2cb21a]{font-family:var(--font-display);font-size:clamp(2.2rem,6vw,3.8rem);font-weight:800;line-height:1.12;color:var(--text-primary);margin:0 0 20px;letter-spacing:-.04em;animation:heroFadeIn-cd2cb21a 1s ease-out .3s both}.hero-title-accent[data-v-cd2cb21a]{display:block;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-desc[data-v-cd2cb21a]{font-size:clamp(1rem,2vw,1.2rem);color:var(--text-secondary);line-height:1.6;max-width:560px;margin:0 auto 36px;animation:heroFadeIn-cd2cb21a 1s ease-out .45s both}.hero-actions[data-v-cd2cb21a]{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;animation:heroFadeIn-cd2cb21a 1s ease-out .6s both}.cta-primary[data-v-cd2cb21a]{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:var(--accent-text);border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #2f54c440}.cta-primary[data-v-cd2cb21a]:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 30px #2f54c459}.cta-primary[data-v-cd2cb21a]:active{transform:translateY(-1px)}.cta-primary svg[data-v-cd2cb21a]{transition:transform .2s}.cta-primary:hover svg[data-v-cd2cb21a]{transform:translate(4px)}.cta-secondary[data-v-cd2cb21a]{display:inline-flex;align-items:center;gap:6px;padding:14px 24px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .25s ease}.cta-secondary[data-v-cd2cb21a]:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--text-primary);transform:translateY(-2px)}.cta-secondary svg[data-v-cd2cb21a]{transition:transform .2s}.cta-secondary:hover svg[data-v-cd2cb21a]{transform:translateY(3px)}.hero-stats[data-v-cd2cb21a]{position:relative;z-index:1;display:flex;align-items:center;gap:24px;margin-top:64px;padding:20px 36px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:16px;box-shadow:var(--shadow-md);animation:heroFadeIn-cd2cb21a 1s ease-out .75s both}.stat-item[data-v-cd2cb21a]{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-value[data-v-cd2cb21a]{font-size:20px;font-weight:800;color:var(--accent);line-height:1}.stat-label[data-v-cd2cb21a]{font-size:11px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.stat-divider[data-v-cd2cb21a]{width:1px;height:32px;background:var(--border-primary)}[data-reveal][data-v-cd2cb21a]{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}[data-reveal].revealed[data-v-cd2cb21a]{opacity:1;transform:translateY(0)}.features-header[data-v-cd2cb21a]{text-align:center;margin-bottom:48px}.features-header .section-desc[data-v-cd2cb21a]{opacity:0;transition:opacity .5s ease .2s}.features-header.revealed .section-desc[data-v-cd2cb21a]{opacity:1}.section-divider[data-reveal][data-v-cd2cb21a]{transform:translateY(12px);transition-delay:.1s}.create-container[data-reveal][data-v-cd2cb21a]{transition-delay:.05s}.footer[data-reveal][data-v-cd2cb21a]{transition-delay:.15s}.features[data-v-cd2cb21a]{padding:80px 24px 100px;max-width:1100px;margin:0 auto}.section-label[data-v-cd2cb21a]{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--text-primary);margin:0 0 8px;letter-spacing:-.03em}.section-desc[data-v-cd2cb21a]{font-size:16px;color:var(--text-secondary);margin:0}.features-grid[data-v-cd2cb21a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.feature-card[data-v-cd2cb21a]{position:relative;padding:32px 24px;border-radius:16px;background:var(--bg-card);border:1px solid var(--border-primary);transition:all .35s cubic-bezier(.4,0,.2,1);cursor:default;overflow:hidden}.feature-card.revealed[data-v-cd2cb21a]{animation:cardFadeIn-cd2cb21a .6s ease-out;animation-delay:var(--reveal-delay, 0s)}.feature-card.revealed[data-v-cd2cb21a]:hover{animation:none}@keyframes cardFadeIn-cd2cb21a{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.feature-card[data-v-cd2cb21a]:hover{transform:translateY(-6px);border-color:#2f54c44d;box-shadow:0 12px 40px #2f54c414}.feature-card-bg[data-v-cd2cb21a]{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent-hover));opacity:0;transition:opacity .35s}.feature-card:hover .feature-card-bg[data-v-cd2cb21a]{opacity:1}.feature-step[data-v-cd2cb21a]{position:absolute;top:12px;right:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--accent-light);color:var(--accent);font-size:13px;font-weight:800}.feature-icon[data-v-cd2cb21a]{font-size:36px;margin-bottom:16px;display:block;transition:transform .3s}.feature-card:hover .feature-icon[data-v-cd2cb21a]{transform:scale(1.1)}.feature-title[data-v-cd2cb21a]{font-size:17px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.feature-desc[data-v-cd2cb21a]{font-size:14px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.feature-list[data-v-cd2cb21a]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.feature-list li[data-v-cd2cb21a]{position:relative;padding-left:18px;font-size:13px;color:var(--text-tertiary);line-height:1.5}.feature-list li[data-v-cd2cb21a]:before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:600}.testimonials[data-v-cd2cb21a]{padding:80px 24px 100px;max-width:1100px;margin:0 auto}.testimonials-header[data-v-cd2cb21a]{text-align:center;margin-bottom:48px}.testimonials-grid[data-v-cd2cb21a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.testimonial-card[data-v-cd2cb21a]{position:relative;display:flex;flex-direction:column;gap:16px;padding:28px 24px;border-radius:16px;background:var(--bg-card);border:1px solid var(--border-primary);transition:all .35s cubic-bezier(.4,0,.2,1)}.testimonial-card.revealed[data-v-cd2cb21a]{animation:cardFadeIn-cd2cb21a .55s ease-out;animation-delay:var(--reveal-delay, 0s)}.testimonial-card.revealed[data-v-cd2cb21a]:hover{animation:none}.testimonial-card[data-v-cd2cb21a]:hover{transform:translateY(-4px);border-color:#2f54c433;box-shadow:0 8px 28px #2f54c40f}.testimonial-stars[data-v-cd2cb21a]{display:flex;gap:2px}.testimonial-stars .star[data-v-cd2cb21a]{font-size:16px;color:var(--border-primary);line-height:1}.testimonial-stars .star.filled[data-v-cd2cb21a]{color:var(--warning)}.testimonial-text[data-v-cd2cb21a]{position:relative;margin:0;padding:0}.testimonial-text .quote-icon[data-v-cd2cb21a]{position:absolute;top:-6px;left:-4px;color:var(--accent)}.testimonial-text p[data-v-cd2cb21a]{margin:0;font-size:14px;line-height:1.65;color:var(--text-secondary);font-style:italic}.testimonial-author[data-v-cd2cb21a]{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-secondary)}.testimonial-avatar[data-v-cd2cb21a]{font-size:28px;line-height:1;flex-shrink:0}.testimonial-info[data-v-cd2cb21a]{display:flex;flex-direction:column;gap:1px}.testimonial-name[data-v-cd2cb21a]{font-size:14px;font-weight:600;color:var(--text-primary)}.testimonial-role[data-v-cd2cb21a]{font-size:11px;color:var(--text-tertiary)}.cta-section[data-v-cd2cb21a]{padding:0 24px 80px;max-width:720px;margin:0 auto}.cta-card[data-v-cd2cb21a]{position:relative;padding:56px 40px;border-radius:24px;background:linear-gradient(135deg,#2f54c40a,#2f54c405);border:1px solid rgba(47,84,196,.15);overflow:hidden;text-align:center;box-shadow:0 8px 32px #2f54c40a}.cta-bg[data-v-cd2cb21a]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 50% at 50% 100%,rgba(47,84,196,.08) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 80% 20%,rgba(47,84,196,.06) 0%,transparent 60%);pointer-events:none}.cta-content[data-v-cd2cb21a]{position:relative;z-index:1}.cta-title[data-v-cd2cb21a]{font-size:clamp(1.5rem,3.5vw,2rem);font-weight:800;color:var(--text-primary);margin:0 0 12px;letter-spacing:-.03em}.cta-desc[data-v-cd2cb21a]{font-size:15px;line-height:1.65;color:var(--text-secondary);max-width:500px;margin:0 auto 28px}.cta-actions[data-v-cd2cb21a]{display:flex;justify-content:center;margin-bottom:28px}.cta-primary--large[data-v-cd2cb21a]{padding:16px 36px;font-size:17px;border-radius:14px;box-shadow:0 6px 24px #2f54c44d}.cta-primary--large[data-v-cd2cb21a]:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 10px 36px #2f54c466}.cta-features[data-v-cd2cb21a]{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}.cta-feature-item[data-v-cd2cb21a]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--text-secondary)}.cta-feature-item svg[data-v-cd2cb21a]{flex-shrink:0}[data-theme=dark] .cta-card[data-v-cd2cb21a]{background:linear-gradient(135deg,#2f54c414,#2f54c40a);border-color:#2f54c433}.section-divider[data-v-cd2cb21a]{text-align:center;padding:0 24px 40px;font-size:14px;font-weight:600;color:var(--text-tertiary);letter-spacing:1px;text-transform:uppercase}.section-divider span[data-v-cd2cb21a]{display:inline-block;padding:6px 18px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:20px}.create-section[data-v-cd2cb21a]{padding:0 24px 80px;display:flex;align-items:center;justify-content:center}.create-container[data-v-cd2cb21a]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:20px;padding:36px;width:100%;max-width:680px;box-shadow:var(--shadow-lg)}.section[data-v-cd2cb21a]{margin-bottom:28px}.section h3[data-v-cd2cb21a]{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin:0 0 12px}.create-row[data-v-cd2cb21a]{display:flex;gap:8px}.input[data-v-cd2cb21a]{flex:1;padding:10px 14px;border:1px solid var(--border-primary);border-radius:8px;font-size:15px;outline:none;background:var(--bg-input);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.input[data-v-cd2cb21a]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f54c426}button[data-v-cd2cb21a]{padding:10px 20px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:var(--accent-text);border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}button[data-v-cd2cb21a]:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}button[data-v-cd2cb21a]:disabled{background:var(--text-tertiary);cursor:default;opacity:.5}.plan-limit-warning[data-v-cd2cb21a]{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fbbf2414;border:1px solid rgba(251,191,36,.3);border-radius:8px;font-size:12px;color:var(--text-primary);margin-bottom:20px}.plan-limit-reached[data-v-cd2cb21a]{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ef44440f;border:1px solid rgba(239,68,68,.2);border-radius:8px;font-size:12px;color:var(--text-primary);margin-top:10px}.plan-upgrade-link[data-v-cd2cb21a]{background:none;border:none;color:var(--success);font-weight:600;cursor:pointer;padding:0;font-size:12px;text-decoration:underline;text-underline-offset:2px}.plan-upgrade-link[data-v-cd2cb21a]:hover{color:#16a34a}.template-picker-wrap[data-v-cd2cb21a]{margin-top:14px}.search-input[data-v-cd2cb21a]{width:100%;padding:8px 12px;border:1px solid var(--border-primary);border-radius:8px;font-size:14px;outline:none;background:var(--bg-input);color:var(--text-primary);margin-bottom:10px;box-sizing:border-box;transition:border-color .15s}.search-input[data-v-cd2cb21a]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f54c426}.project-list[data-v-cd2cb21a]{max-height:400px;overflow-y:auto}.project-item[data-v-cd2cb21a]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:10px;cursor:pointer;transition:all .15s;margin-bottom:2px}.project-item[data-v-cd2cb21a]:hover{background:var(--bg-secondary);transform:translate(2px)}.project-item-left[data-v-cd2cb21a]{display:flex;align-items:center;gap:10px;min-width:0}.project-item-icon[data-v-cd2cb21a]{font-size:16px;flex-shrink:0}.project-item-name[data-v-cd2cb21a]{font-weight:600;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-item-right[data-v-cd2cb21a]{display:flex;align-items:center;gap:8px;flex-shrink:0}.project-item-date[data-v-cd2cb21a]{color:var(--text-tertiary);font-size:12px;white-space:nowrap}.project-item-delete[data-v-cd2cb21a]{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px 6px;font-size:13px;border-radius:4px;transition:all .15s;line-height:1}.project-item-delete[data-v-cd2cb21a]:hover{color:var(--error);background:#ef444414}.search-empty[data-v-cd2cb21a]{text-align:center;color:var(--text-tertiary);padding:20px;font-size:13px}.footer[data-v-cd2cb21a]{padding:40px 24px;border-top:1px solid var(--border-primary)}.footer-inner[data-v-cd2cb21a]{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.footer-brand[data-v-cd2cb21a]{display:flex;flex-direction:column;gap:2px}.footer-logo[data-v-cd2cb21a]{font-size:16px;font-weight:800;color:var(--text-primary);background:linear-gradient(135deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-desc[data-v-cd2cb21a]{font-size:12px;color:var(--text-tertiary);margin:0}.footer-links[data-v-cd2cb21a]{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--text-tertiary)}.fade-slide-enter-active[data-v-cd2cb21a]{transition:all .3s ease-out}.fade-slide-leave-active[data-v-cd2cb21a]{transition:all .2s ease-in}.fade-slide-enter-from[data-v-cd2cb21a],.fade-slide-leave-to[data-v-cd2cb21a]{opacity:0;transform:translateY(-10px)}@media(max-width:640px){.hero-stats[data-v-cd2cb21a]{flex-wrap:wrap;justify-content:center;padding:16px 20px;gap:12px}.stat-divider[data-v-cd2cb21a]:nth-child(6){display:none}.features-grid[data-v-cd2cb21a]{grid-template-columns:1fr}.projects-container[data-v-cd2cb21a]{padding:20px;border-radius:12px}.testimonials-grid[data-v-cd2cb21a]{grid-template-columns:1fr}.nav-tagline[data-v-cd2cb21a]{display:none}.navbar[data-v-cd2cb21a]{padding:0 12px}.nav-btn.btn-primary[data-v-cd2cb21a]{padding:7px 12px;font-size:12px}.nav-btn.btn-ghost[data-v-cd2cb21a]{display:none}}@media(max-width:480px){.hero-stats[data-v-cd2cb21a]{gap:8px;padding:12px 16px}.stat-value[data-v-cd2cb21a]{font-size:16px}.stat-label[data-v-cd2cb21a]{font-size:10px}.stat-divider[data-v-cd2cb21a]{display:none}.footer-inner[data-v-cd2cb21a]{flex-direction:column;text-align:center}}.canvas-toolbar[data-v-812b199f]{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:calc(100% - 16px);z-index:10;background:var(--bg-panel);padding:4px 8px;border-radius:10px;box-shadow:0 4px 16px var(--shadow-lg);border:1px solid var(--border-primary)}.toolbar-group[data-v-812b199f]{display:flex;gap:4px}.toolbar-divider[data-v-812b199f]{width:1px;background:var(--border-primary);margin:4px 0}.tool-btn[data-v-812b199f]{padding:5px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.tool-btn .icon[data-v-812b199f]{width:16px;height:16px;stroke-width:2}.tool-btn[data-v-812b199f]:hover{background:var(--bg-hover);color:var(--text-primary)}.tool-btn.active[data-v-812b199f]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.tool-btn[data-v-812b199f]:disabled{opacity:.4;cursor:not-allowed;pointer-events:auto}.cancel-btn[data-v-812b199f]{border-color:var(--error);color:var(--error)}.cancel-btn[data-v-812b199f]:hover{background:var(--error);color:var(--accent-text)}.remove-btn[data-v-812b199f]{border-color:#d97706;color:#d97706}.remove-btn[data-v-812b199f]:hover{background:#d97706;color:var(--accent-text)}.export-btn[data-v-812b199f]{border-color:#10b981;color:#10b981}.export-btn[data-v-812b199f]:hover{background:#10b981;color:var(--accent-text)}.layer-eye[data-v-812b199f]{width:14px;height:14px;stroke-width:2;opacity:.45;transition:opacity .15s}.layer-btn.off .layer-eye[data-v-812b199f]{opacity:.9;stroke:var(--error)}.layer-btn.off[data-v-812b199f]{color:var(--accent);background:var(--accent-light, rgba(124, 133, 76, .12));border-color:var(--accent);position:relative}.layer-btn.off[data-v-812b199f]:after{content:"";position:absolute;left:10px;right:10px;top:50%;height:1px;background:var(--accent);opacity:.7;transform:translateY(-50%)}.layer-btn.off[data-v-812b199f]:hover{background:var(--error-low, rgba(190, 60, 60, .12));border-color:var(--error);color:var(--error)}.layer-btn.off[data-v-812b199f]:hover:after{background:var(--error)}.ctx-menu[data-v-b4df168d]{position:fixed;z-index:1000;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:10px;padding:12px;min-width:200px;max-width:280px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg);color:var(--text-primary);font-size:13px}.ctx-menu[data-v-b4df168d]::-webkit-scrollbar{width:4px}.ctx-menu[data-v-b4df168d]::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:2px}.ctx-header[data-v-b4df168d]{font-weight:600;margin-bottom:10px;color:var(--text-on-panel);font-size:14px}.ctx-field[data-v-b4df168d]{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.ctx-field span[data-v-b4df168d]{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.ctx-field input[data-v-b4df168d]{padding:8px 10px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:13px;outline:none}.ctx-field input[data-v-b4df168d]:focus{border-color:var(--accent)}.ctx-hint[data-v-b4df168d]{font-size:11px;color:var(--accent);margin-top:2px}.ctx-hint strong[data-v-b4df168d]{color:var(--accent)}.ctx-section-label[data-v-b4df168d]{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.ctx-palette[data-v-b4df168d]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.palette-swatch[data-v-b4df168d]{width:28px;height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .15s}.palette-swatch[data-v-b4df168d]:hover{transform:scale(1.15)}.palette-swatch.active[data-v-b4df168d]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.ctx-action-btn[data-v-b4df168d]{display:block;width:100%;padding:8px 10px;border:1px solid var(--border-primary);border-radius:6px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:13px;text-align:left;margin-bottom:6px;transition:all .15s}.ctx-action-btn[data-v-b4df168d]:hover{background:var(--bg-hover);color:var(--text-on-panel)}.ctx-action-btn[data-v-b4df168d]:last-child{margin-bottom:0}.ctx-actions[data-v-b4df168d]{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}.ctx-btn[data-v-b4df168d]{padding:6px 14px;border:1px solid var(--border-primary);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:12px;transition:all .15s}.ctx-btn[data-v-b4df168d]:hover{background:var(--bg-hover);color:var(--text-on-panel)}.ctx-btn.primary[data-v-b4df168d]{background:var(--accent);color:#fff;border-color:var(--accent)}.ctx-btn.primary[data-v-b4df168d]:hover{background:var(--accent-hover)}.ctx-select[data-v-b4df168d]{padding:8px 10px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:13px;outline:none;cursor:pointer}.ctx-select[data-v-b4df168d]:focus{border-color:var(--accent)}.ctx-select option[data-v-b4df168d]{background:var(--bg-input);color:var(--text-primary)}.din-rail-wrapper[data-v-89af49c1]{overflow-x:auto;overflow-y:visible;margin:8px 0;background:#0f172a;border-radius:8px;border:1px solid #1e293b;padding:4px 0}.din-rail-svg[data-v-89af49c1]{display:block;margin:0 auto}.module-body[data-v-89af49c1]{transition:opacity .15s}.module-body[data-v-89af49c1]:hover{opacity:.85}.module-label[data-v-89af49c1]{pointer-events:none;-webkit-user-select:none;user-select:none;font-family:var(--font-body)}.jb-block[data-v-24a02821]{margin:10px 0;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:8px}.jb-header[data-v-24a02821]{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}.jb-meta[data-v-24a02821]{color:var(--text-tertiary);font-size:12px}.jb-terminal-blocks[data-v-24a02821]{margin-left:auto;font-size:12px;font-weight:600;color:var(--accent);white-space:nowrap}.jb-wago[data-v-24a02821]{font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--accent-light);padding:1px 8px;border-radius:9999px;white-space:nowrap}.jb-cables-table[data-v-24a02821]{width:100%;border-collapse:collapse;font-size:12px}.jb-cables-table th[data-v-24a02821]{padding:4px 8px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);text-align:left;font-weight:600;font-size:11px;color:var(--text-tertiary)}.jb-cables-table td[data-v-24a02821]{padding:4px 8px;border-bottom:1px solid var(--border-secondary)}.jb-cables-table .cable-in[data-v-24a02821],.jb-cables-table .cable-out[data-v-24a02821]{background:var(--accent-light)}.dir-in[data-v-24a02821]{color:var(--accent);font-weight:600;white-space:nowrap}.dir-out[data-v-24a02821]{color:var(--success);font-weight:600;white-space:nowrap}.jb-empty[data-v-24a02821]{color:var(--text-tertiary);font-size:12px;padding:4px 0}.opening-editor-panel[data-v-a8f2920f]{background:#fff;border-left:1px solid #ddd;padding:16px;width:260px;overflow-y:auto;position:absolute;right:0;top:0;bottom:0;box-shadow:-2px 0 10px #0000001a}.opening-editor-panel h3[data-v-a8f2920f]{margin-top:0;margin-bottom:12px;font-size:14px;font-weight:700}.form-row[data-v-a8f2920f]{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}label[data-v-a8f2920f]{display:flex;flex-direction:column;font-size:12px;flex:1}input[data-v-a8f2920f]{margin-top:4px;width:100%;padding:4px;font-size:12px;border:1px solid #ccc;border-radius:4px}button[data-v-a8f2920f]{margin-top:8px;width:100%;padding:6px;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer}button[data-v-a8f2920f]:hover{background:#45a049}.canvas-wrapper[data-v-f04f1b60]{position:relative;width:100%;height:100%;overflow:hidden;background:var(--canvas-bg)}.canvas-placeholder[data-v-f04f1b60]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--canvas-bg);color:var(--text-tertiary);font-size:14px}.toast-msg[data-v-f04f1b60]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:10px 24px;border-radius:10px;font-size:13px;font-weight:500;z-index:10000;pointer-events:none;box-shadow:var(--shadow-md);animation:toastIn-f04f1b60 .25s ease-out;color:var(--accent-text);font-family:var(--font-body)}.toast-info[data-v-f04f1b60]{background:var(--accent)}.toast-success[data-v-f04f1b60]{background:var(--success)}.toast-warn[data-v-f04f1b60]{background:var(--warning)}@keyframes toastIn-f04f1b60{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.eng-tooltip[data-v-f04f1b60]{position:fixed;z-index:1000;background:var(--bg-card);color:var(--text-on-panel);padding:8px 12px;border-radius:8px;font-size:12px;pointer-events:none;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);min-width:140px}.tooltip-title[data-v-f04f1b60]{font-weight:600;margin-bottom:4px;color:var(--accent)}.tooltip-row[data-v-f04f1b60]{margin:2px 0}.tooltip-violation[data-v-f04f1b60]{color:#ef4444bf;font-size:11px;margin:2px 0}[data-v-f04f1b60] .report-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center}[data-v-f04f1b60] .report-modal{background:var(--bg-panel);color:var(--text-on-panel);width:90%;max-width:1000px;max-height:85vh;border-radius:12px;padding:20px;overflow-y:auto;box-shadow:var(--shadow-lg)}[data-v-f04f1b60] .report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}[data-v-f04f1b60] .report-header h3{margin:0;font-size:16px}[data-v-f04f1b60] .report-header-actions{display:flex;gap:6px;align-items:center}[data-v-f04f1b60] .report-btn{padding:4px 10px;border:1px solid var(--border-primary);border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:11px;transition:.15s}[data-v-f04f1b60] .report-btn:hover{background:var(--bg-hover);color:var(--text-on-panel)}[data-v-f04f1b60] .report-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:16px;padding:4px 8px}[data-v-f04f1b60] .report-summary{display:flex;gap:20px;margin-bottom:16px}[data-v-f04f1b60] .stat{font-size:13px}[data-v-f04f1b60] .report-table,[data-v-f04f1b60] .circuits-table,[data-v-f04f1b60] .panel-circuits-table,[data-v-f04f1b60] .oma-cost-table{width:100%;border-collapse:collapse;margin-bottom:12px}[data-v-f04f1b60] th{background:var(--bg-tertiary);text-align:left;padding:6px 8px;font-size:12px;border-bottom:2px solid var(--bg-hover);color:var(--text-secondary)}[data-v-f04f1b60] td{padding:5px 8px;font-size:12px;border-bottom:1px solid var(--border-primary)}[data-v-f04f1b60] .cell-cnum{font-weight:700;color:var(--warning)}.room-info-sidebar[data-v-f04f1b60]{position:absolute;right:10px;top:60px;z-index:100;width:170px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:10px;padding:12px;box-shadow:var(--shadow-md);animation:risIn-f04f1b60 .2s ease-out}.ris-header[data-v-f04f1b60]{font-weight:600;font-size:13px;color:var(--accent);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-primary)}.ris-body[data-v-f04f1b60]{display:flex;flex-direction:column;gap:5px}.ris-row[data-v-f04f1b60]{display:flex;justify-content:space-between;align-items:center}.ris-label[data-v-f04f1b60]{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.ris-value[data-v-f04f1b60]{font-size:13px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}@keyframes risIn-f04f1b60{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.traces-fab[data-v-f04f1b60]{position:absolute;left:12px;top:64px;z-index:110;padding:7px 14px;font-size:12px;font-weight:600;color:var(--text-on-panel, #fff);background:var(--accent);border:none;border-radius:8px;cursor:pointer;box-shadow:var(--shadow-md);transition:.15s}.traces-fab[data-v-f04f1b60]:hover{filter:brightness(1.1)}.traces-panel[data-v-f04f1b60]{position:absolute;left:12px;top:64px;z-index:120;width:270px;max-height:70vh;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:10px;box-shadow:var(--shadow-lg);overflow:hidden;-webkit-user-select:none;user-select:none;animation:tracesIn-f04f1b60 .18s ease-out}@keyframes tracesIn-f04f1b60{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.traces-header[data-v-f04f1b60]{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:grab;background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary)}.traces-header[data-v-f04f1b60]:active{cursor:grabbing}.traces-title[data-v-f04f1b60]{font-weight:600;font-size:13px;color:var(--text-primary);flex:1}.traces-count[data-v-f04f1b60]{font-size:11px;color:var(--text-secondary);background:var(--bg-hover);border-radius:8px;padding:1px 7px}.traces-clear[data-v-f04f1b60],.traces-close[data-v-f04f1b60]{border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:12px;padding:2px 6px;border-radius:5px}.traces-clear[data-v-f04f1b60]:hover,.traces-close[data-v-f04f1b60]:hover{background:var(--bg-hover);color:var(--text-primary)}.traces-close[data-v-f04f1b60]{font-size:16px;line-height:1}.traces-search[data-v-f04f1b60]{margin:8px 10px 4px;padding:5px 8px;font-size:12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-card);color:var(--text-primary);outline:none}.traces-search[data-v-f04f1b60]:focus{border-color:var(--accent)}.traces-list[data-v-f04f1b60]{overflow-y:auto;padding:4px 6px 8px;display:flex;flex-direction:column;gap:2px}.traces-item[data-v-f04f1b60]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;border:1px solid transparent}.traces-item[data-v-f04f1b60]:hover{background:var(--bg-hover)}.traces-item.active[data-v-f04f1b60]{background:var(--bg-hover);border-color:var(--accent)}.traces-dot[data-v-f04f1b60]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.traces-main[data-v-f04f1b60]{display:flex;flex-direction:column;min-width:0;flex:1}.traces-cnum[data-v-f04f1b60]{font-weight:700;font-size:12px;color:var(--accent);line-height:1.2}.traces-path[data-v-f04f1b60]{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.traces-meta[data-v-f04f1b60]{font-size:10px;color:var(--text-tertiary);white-space:nowrap}.traces-empty[data-v-f04f1b60]{padding:10px;font-size:12px;color:var(--text-tertiary);text-align:center}.tl[data-v-82984a19]{width:196px;flex-shrink:0;display:flex;flex-direction:column;gap:0;padding:10px 8px 12px;border-right:1px solid var(--border-primary);background:var(--bg-panel);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border-secondary) transparent;font-family:var(--font-body);-webkit-user-select:none;user-select:none}.tl[data-v-82984a19]::-webkit-scrollbar{width:4px}.tl[data-v-82984a19]::-webkit-scrollbar-track{background:transparent}.tl[data-v-82984a19]::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:2px}.toolbar-logo[data-v-82984a19]{display:flex;align-items:center;gap:9px;padding:4px 2px 10px;margin-bottom:6px;border-bottom:1px solid var(--border-primary);cursor:pointer}.logo-mark[data-v-82984a19]{width:26px;height:26px;flex-shrink:0}.brand-tx[data-v-82984a19]{display:flex;flex-direction:column;line-height:1.1}.brand-tx b[data-v-82984a19]{font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:.01em}.brand-tx small[data-v-82984a19]{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.tl-sec-label[data-v-82984a19]{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);padding:0 2px;margin:8px 0 5px}.tl-btn[data-v-82984a19]{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:12.5px;font-weight:500;font-family:var(--font-body);cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform .12s var(--ease-out);white-space:nowrap}.tl-btn[data-v-82984a19]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-primary);transform:translate(2px)}.tl-btn[data-v-82984a19]:active{transform:scale(.97)}.tl-btn.active[data-v-82984a19]{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.tl-btn.tl-icon[data-v-82984a19]{justify-content:center;padding:7px}.tl-btn.tl-icon .tl-icon[data-v-82984a19]{width:16px;height:16px}.tl-icon[data-v-82984a19]{width:15px;height:15px;display:block;flex-shrink:0;stroke:currentColor}.tl-locked[data-v-82984a19]{color:var(--warning);border-color:var(--warning)}.tl-unlocked[data-v-82984a19]{color:var(--success);border-color:var(--success)}.tl-bottom[data-v-82984a19]{margin-top:auto;padding-top:10px;border-top:1px solid var(--border-primary);display:flex;flex-direction:column;gap:6px}.tl-save[data-v-82984a19]{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600;justify-content:center;padding:9px 8px;border-radius:8px;transition:background var(--dur-fast) var(--ease-out),transform .1s var(--ease-out),box-shadow var(--dur-fast)}.tl-save[data-v-82984a19]:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 2px 8px #2f54c440}.tl-save[data-v-82984a19]:active{transform:scale(.97)}.tl-save .icon[data-v-82984a19]{width:14px;height:14px}.tl-lt[data-v-82984a19]{display:flex;gap:4px;padding:4px 2px}.locale-group[data-v-82984a19]{display:flex;gap:1px;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:8px;padding:2px;flex:1;transition:background var(--dur-fast)}.locale-btn[data-v-82984a19]{border:1px solid transparent;border-radius:6px;padding:3px 5px;cursor:pointer;font-size:10.5px;font-family:var(--font-mono);font-weight:600;letter-spacing:.04em;line-height:1;background:transparent;opacity:.45;transition:all var(--dur-fast) var(--ease-out)}.locale-btn[data-v-82984a19]:hover{opacity:.8;background:var(--bg-hover)}.locale-btn.active[data-v-82984a19]{opacity:1;background:var(--bg-card);border-color:var(--border-primary);box-shadow:var(--shadow-sm)}.theme-btn[data-v-82984a19]{padding:5px 8px;font-size:14px;border-radius:8px;transition:background var(--dur-fast) var(--ease-out),transform .12s var(--ease-out)}.theme-btn[data-v-82984a19]:hover{transform:scale(1.05)}.theme-btn[data-v-82984a19]:active{transform:scale(.95)}.user-badge[data-v-82984a19]{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card);font-size:11.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden}.user-avatar[data-v-82984a19]{width:18px;height:18px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.user-name[data-v-82984a19]{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.user-role-tag[data-v-82984a19]{font-family:var(--font-mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;padding:2px 5px;border-radius:4px;background:var(--bg-input);color:var(--text-tertiary);flex-shrink:0}.auth-btn[data-v-82984a19]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:6px 8px;border-radius:8px;border:1px solid var(--border-primary);background:transparent;font-size:12px;font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.auth-btn[data-v-82984a19]:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-btn[data-v-82984a19]{color:var(--accent);border-color:var(--accent)}.logout-btn[data-v-82984a19]{color:var(--error);border-color:var(--error)}.login-btn[data-v-82984a19]{color:var(--accent);border-color:var(--accent)}.stage-nav[data-v-82984a19]{display:flex;flex-direction:column;gap:0;padding:4px 0}.lens.lens-v[data-v-82984a19]{display:flex;align-items:center;gap:9px;width:100%;justify-content:flex-start;padding:8px 10px;background:var(--bg-card);border:1.5px solid var(--border-primary);border-radius:8px;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-fast);cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:var(--font-body);text-align:left}.lens.lens-v[data-v-82984a19]:hover{transform:translate(2px);box-shadow:0 8px 18px -12px #141e3280}.lens.lens-v.current[data-v-82984a19],.lens.lens-v.active[data-v-82984a19]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.lens.lens-v.filled[data-v-82984a19]{border-color:var(--state-filled, var(--moss))}.lens.lens-v.caveat[data-v-82984a19]{border-color:var(--state-caveat, var(--ochre));background:linear-gradient(180deg,var(--bg-card),#fff8ef)}.lens.lens-v.caveat .ring[data-v-82984a19]{border-color:var(--state-caveat, var(--ochre));background:var(--state-caveat, var(--ochre));animation:lens-ping-82984a19 1.7s ease-out infinite}@keyframes lens-ping-82984a19{0%{box-shadow:0 0 #bf75168c}80%{box-shadow:0 0 0 5px #bf751600}to{box-shadow:0 0 #bf751600}}.lens-lock[data-v-82984a19]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:6px;color:var(--text-tertiary);cursor:pointer;border:1.5px solid transparent;transition:color var(--dur-fast),background var(--dur-fast),border-color var(--dur-fast)}.lens-lock[data-v-82984a19]:hover{color:var(--accent);background:var(--accent-light);border-color:var(--accent-light)}.lens-lock.locked[data-v-82984a19]{color:var(--accent)}.lens-lock.locked[data-v-82984a19]:hover{color:var(--error);border-color:var(--error);background:transparent}.lens-lock-ic[data-v-82984a19]{width:13px;height:13px;display:block}.lens-body[data-v-82984a19]{display:flex;flex-direction:column;line-height:1.15;flex:1;min-width:0}.lens-title[data-v-82984a19]{font-size:12.5px;font-weight:600;color:var(--text-primary)}.lens-sub[data-v-82984a19]{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.05em;color:var(--text-tertiary);text-transform:uppercase}.ring[data-v-82984a19]{width:11px;height:11px;border-radius:50%;flex:none;border:2px solid var(--slate);transition:border-color var(--dur-fast),background var(--dur-fast)}.lens.lens-v.filled .ring[data-v-82984a19]{border-color:var(--state-filled, var(--moss));background:var(--state-filled, var(--moss))}.lens.lens-v.caveat .ring[data-v-82984a19]{border-color:var(--state-caveat, var(--ochre));background:var(--state-caveat, var(--ochre))}.lens.lens-v.current .ring[data-v-82984a19],.lens.lens-v.active .ring[data-v-82984a19]{border-color:var(--accent);background:var(--accent)}.enr-v[data-v-82984a19]{display:flex;flex-direction:column;align-items:center;padding:1px 0;color:var(--text-tertiary);flex-shrink:0}.enr-v svg[data-v-82984a19]{display:block}.enr-v span[data-v-82984a19]{font-family:var(--font-mono);font-size:7px;letter-spacing:.06em;text-transform:uppercase;margin-top:0;color:var(--state-caveat, var(--ochre))}.tl-sep[data-v-82984a19]{height:1px;background:var(--border-primary);margin:8px 0}.furniture-panel[data-v-17fac545]{width:220px;min-width:220px;background:var(--bg-panel);color:var(--text-primary);display:flex;flex-direction:column;border-left:1px solid var(--border-panel);-webkit-user-select:none;user-select:none;min-height:0;font-family:var(--font-body);font-size:12px;overflow-x:hidden}.panel-header[data-v-17fac545]{padding:14px;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between}h3[data-v-17fac545]{margin:0;font-weight:700;color:var(--text-primary)}.clear-btn[data-v-17fac545]{padding:4px 8px;border:1px solid var(--border-primary);border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:11px;transition:all .15s}.clear-btn[data-v-17fac545]:hover{color:var(--text-primary);background:var(--bg-hover)}.panel-hint[data-v-17fac545]{padding:8px 12px;background:var(--accent);color:var(--accent-text);font-size:11px;text-align:center}.voice-place-row[data-v-17fac545]{padding:6px 8px;border-bottom:1px solid var(--border-primary)}.voice-place-btn[data-v-17fac545]{display:flex;align-items:center;gap:6px;width:100%;padding:7px 10px;border:1px dashed var(--border-primary);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:11px;font-family:inherit;transition:all .15s}.voice-place-btn[data-v-17fac545]:hover{border-color:var(--accent);background:var(--bg-hover);color:var(--accent)}.voice-place-btn.placing[data-v-17fac545]{border-color:var(--success, #059669);background:#f0fdf4;color:var(--success, #059669);border-style:solid;animation:place-pulse-17fac545 1s ease-in-out infinite}@keyframes place-pulse-17fac545{0%,to{box-shadow:0 0 #0596694d}50%{box-shadow:0 0 0 6px #05966900}}.vplabel[data-v-17fac545]{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vp-fade-enter-active[data-v-17fac545],.vp-fade-leave-active[data-v-17fac545]{transition:opacity .2s,transform .2s}.vp-fade-enter-from[data-v-17fac545],.vp-fade-leave-to[data-v-17fac545]{opacity:0;transform:translateY(-4px)}.vp-toast[data-v-17fac545]{padding:6px 10px;font-size:11px;font-weight:500;text-align:center;border-bottom:1px solid var(--border-primary);transition:all .2s}.vp-toast.vp-toast-success[data-v-17fac545]{background:#22c55e14;color:var(--success)}.vp-toast.vp-toast-info[data-v-17fac545]{background:#2f54c414;color:var(--accent)}.vp-toast.vp-toast-error[data-v-17fac545]{background:#ef444414;color:var(--error)}.search-bar[data-v-17fac545]{padding:8px;border-bottom:1px solid var(--border-primary)}.search-row[data-v-17fac545]{display:flex;align-items:center;gap:6px}.search-input[data-v-17fac545]{flex:1;padding:8px 10px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:12px;outline:none;box-sizing:border-box;transition:border .15s}.search-input[data-v-17fac545]:focus{border-color:var(--accent)}.search-input[data-v-17fac545]::placeholder{color:var(--text-tertiary)}.search-input.listening[data-v-17fac545]{border-color:var(--error);background:#fef2f2}.voice-btn[data-v-17fac545]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all .15s}.voice-btn[data-v-17fac545]:hover{background:var(--bg-hover);color:var(--text-primary)}.voice-btn.listening[data-v-17fac545]{background:var(--error);border-color:var(--error);color:#fff;animation:mic-pulse-17fac545 1s ease-in-out infinite}@keyframes mic-pulse-17fac545{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}.mic-icon[data-v-17fac545]{width:16px;height:16px;display:block}.catalog-scroll[data-v-17fac545]{flex:1;overflow-y:auto;padding:6px}.category-group[data-v-17fac545]{margin-bottom:4px}.category-label[data-v-17fac545]{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-primary);transition:background .12s}.category-label[data-v-17fac545]:hover{background:var(--bg-hover)}.cat-chevron[data-v-17fac545]{font-size:9px;color:var(--text-tertiary);width:10px;flex-shrink:0}.cat-icon[data-v-17fac545]{font-size:13px;flex-shrink:0}.cat-name[data-v-17fac545]{flex:1}.cat-count[data-v-17fac545]{font-size:10px;font-weight:500;color:var(--text-tertiary);padding:1px 5px;border-radius:8px;background:var(--bg-secondary)}.category-items[data-v-17fac545]{display:flex;flex-direction:column;gap:1px;padding:2px 0 2px 16px}.catalog-item[data-v-17fac545]{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);cursor:grab;transition:all .12s;text-align:left;font-size:12px;font-family:inherit}.catalog-item[data-v-17fac545]:hover{background:var(--bg-hover)}.catalog-item.selected[data-v-17fac545]{background:var(--accent);color:var(--accent-text)}.item-icon[data-v-17fac545]{font-size:14px;width:20px;text-align:center;flex-shrink:0}.item-name[data-v-17fac545]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-size[data-v-17fac545]{font-size:10px;color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.catalog-item.selected .item-size[data-v-17fac545]{color:var(--accent-light)}.no-items[data-v-17fac545]{padding:16px 8px;color:var(--text-tertiary);font-size:12px;text-align:center}.qe-overlay[data-v-291425ca]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding-top:6vh;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.qe-modal[data-v-291425ca]{width:420px;max-width:94vw;max-height:82vh;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:14px;box-shadow:0 12px 40px #0003;display:flex;flex-direction:column;overflow:hidden;animation:qe-appear-291425ca .25s ease-out}@keyframes qe-appear-291425ca{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.qe-header[data-v-291425ca]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-primary)}.qe-title[data-v-291425ca]{margin:0;font-size:14px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:7px}.qe-title-icon[data-v-291425ca]{width:17px;height:17px;color:var(--accent)}.qe-close[data-v-291425ca]{display:inline-flex;padding:5px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.qe-close[data-v-291425ca]:hover{background:#ef44441a;color:var(--error)}.qe-close svg[data-v-291425ca]{width:15px;height:15px;display:block}.qe-loading[data-v-291425ca]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;color:var(--text-secondary);font-size:13px}.qe-spinner[data-v-291425ca]{width:22px;height:22px;border:3px solid var(--border-primary);border-top-color:var(--accent);border-radius:50%;animation:qe-spin-291425ca .7s linear infinite}@keyframes qe-spin-291425ca{to{transform:rotate(360deg)}}.qe-error[data-v-291425ca]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;color:var(--error);font-size:13px;text-align:center}.qe-error-icon[data-v-291425ca]{width:32px;height:32px}.qe-content[data-v-291425ca]{flex:1;overflow-y:auto;padding:12px 16px 8px}.qe-summary-row[data-v-291425ca]{display:flex;gap:8px;margin-bottom:14px}.qe-card[data-v-291425ca]{flex:1;text-align:center;padding:10px 4px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-secondary)}.qe-card-value[data-v-291425ca]{display:block;font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.2}.qe-card-label[data-v-291425ca]{display:block;font-size:9px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px;font-weight:600;margin-top:2px}.qe-card.qe-accent[data-v-291425ca]{background:linear-gradient(135deg,#2563eb0f,#2563eb05);border-color:var(--accent)}.qe-card.qe-accent .qe-card-value[data-v-291425ca]{color:var(--accent)}.qe-card.qe-accent-wall[data-v-291425ca]{background:linear-gradient(135deg,#357a4d0f,#357a4d05);border-color:#7ab08f}.qe-card.qe-accent-wall .qe-card-value[data-v-291425ca]{color:#357a4d}.qe-section[data-v-291425ca]{margin-bottom:12px}.qe-section-title[data-v-291425ca]{font-size:11px;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:5px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.qe-section-icon[data-v-291425ca]{width:13px;height:13px;color:var(--accent)}.qe-metric-row[data-v-291425ca]{display:flex;gap:6px}.qe-metric[data-v-291425ca]{flex:1;text-align:center;padding:8px 4px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary)}.qe-metric-val[data-v-291425ca]{display:block;font-size:15px;font-weight:700;color:var(--accent)}.qe-metric-lbl[data-v-291425ca]{display:block;font-size:9px;color:var(--text-tertiary);margin-top:1px;font-weight:500}.qe-oma-row[data-v-291425ca]{display:flex;gap:6px}.qe-oma-card[data-v-291425ca]{flex:1;text-align:center;padding:10px 6px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-secondary);transition:all .12s}.qe-oma-card[data-v-291425ca]:hover{border-color:var(--accent);background:var(--accent-light)}.qe-oma-label[data-v-291425ca]{display:block;font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.2px}.qe-oma-price[data-v-291425ca]{display:block;font-size:14px;font-weight:700;color:var(--success);margin-top:3px}.qe-furn-levels[data-v-291425ca]{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.qe-furn-level[data-v-291425ca]{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border:1px solid var(--border-primary);border-radius:7px;background:var(--bg-secondary);color:var(--text-secondary);font-size:10px;font-weight:600;cursor:pointer;transition:all .12s;font-family:inherit;text-transform:uppercase;letter-spacing:.2px}.qe-furn-level[data-v-291425ca]:hover{border-color:var(--accent);background:var(--accent-light)}.qe-furn-level.active[data-v-291425ca]{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.qe-furn-level-price[data-v-291425ca]{font-size:11px;font-weight:700;color:var(--success)}.qe-furn-price-cell[data-v-291425ca]{display:inline-flex;align-items:center;gap:3px;justify-content:flex-end}.qe-furn-price-input[data-v-291425ca]{width:64px;padding:3px 5px;border:1px solid var(--border-primary);border-radius:5px;background:var(--bg-panel);color:var(--text-primary);font-size:11px;text-align:right;font-variant-numeric:tabular-nums;transition:all .12s}.qe-furn-price-input[data-v-291425ca]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.qe-furn-price-cell.overridden .qe-furn-price-input[data-v-291425ca]{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:600}.qe-furn-price-reset[data-v-291425ca]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:var(--accent-light);color:var(--accent);font-size:12px;cursor:pointer;transition:all .12s}.qe-furn-price-reset[data-v-291425ca]:hover{background:var(--accent);color:var(--accent-text);transform:rotate(180deg)}.qe-furn-total-label[data-v-291425ca]{font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:10px;letter-spacing:.3px}.qe-furn-total[data-v-291425ca]{font-weight:700;color:var(--success)}.qe-scroll-table[data-v-291425ca]{max-height:140px;overflow-y:auto;border:1px solid var(--border-primary);border-radius:6px}.qe-table[data-v-291425ca]{width:100%;border-collapse:collapse;font-size:11px}.qe-table th[data-v-291425ca]{padding:6px 8px;font-weight:600;color:var(--text-secondary);font-size:10px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary);position:sticky;top:0;text-align:left}.qe-table td[data-v-291425ca]{padding:5px 8px;border-bottom:1px solid var(--border-secondary);color:var(--text-primary)}.qe-table tbody tr:last-child td[data-v-291425ca]{border-bottom:none}.qe-table .num[data-v-291425ca]{text-align:right;font-variant-numeric:tabular-nums}.qe-footer[data-v-291425ca]{display:flex;gap:10px;padding:12px 18px 14px;border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.qe-btn[data-v-291425ca]{flex:1;padding:9px 14px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;letter-spacing:.2px}.qe-btn-secondary[data-v-291425ca]{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-secondary)}.qe-btn-secondary[data-v-291425ca]:hover{background:#ef444414;border-color:var(--error);color:var(--error)}.qe-btn-primary[data-v-291425ca]{background:linear-gradient(135deg,var(--accent) 0%,#1d4ed8 100%);color:var(--accent-text);box-shadow:0 2px 8px #2563eb40}.qe-btn-primary[data-v-291425ca]:hover{filter:brightness(1.08);box-shadow:0 4px 12px #2563eb59;transform:translateY(-1px)}.qe-btn-primary[data-v-291425ca]:active{transform:scale(.97)}.qe-fade-enter-active[data-v-291425ca],.qe-fade-leave-active[data-v-291425ca]{transition:opacity .2s}.qe-fade-enter-from[data-v-291425ca],.qe-fade-leave-to[data-v-291425ca]{opacity:0}.kb-overlay[data-v-bcff26c9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding-top:4vh;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.kb-modal[data-v-bcff26c9]{width:520px;max-width:94vw;max-height:88vh;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:14px;box-shadow:0 12px 40px #0003;display:flex;flex-direction:column;overflow:hidden;animation:kb-appear-bcff26c9 .25s ease-out}@keyframes kb-appear-bcff26c9{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.kb-header[data-v-bcff26c9]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-primary)}.kb-title[data-v-bcff26c9]{margin:0;font-size:14px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:7px}.kb-title-icon[data-v-bcff26c9]{width:17px;height:17px;color:var(--accent)}.kb-count[data-v-bcff26c9]{font-size:10px;color:var(--text-tertiary);background:var(--bg-secondary);padding:1px 7px;border-radius:8px;font-weight:600}.kb-close[data-v-bcff26c9]{display:inline-flex;padding:5px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.kb-close[data-v-bcff26c9]:hover{background:#ef44441a;color:var(--error)}.kb-close svg[data-v-bcff26c9]{width:15px;height:15px;display:block}.kb-toolbar[data-v-bcff26c9]{padding:10px 16px;border-bottom:1px solid var(--border-primary);display:flex;flex-direction:column;gap:8px}.kb-search-box[data-v-bcff26c9]{position:relative}.kb-search-icon[data-v-bcff26c9]{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-tertiary);pointer-events:none}.kb-search-input[data-v-bcff26c9]{width:100%;padding:8px 10px 8px 30px;border:1px solid var(--border-secondary);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:12px;outline:none;box-sizing:border-box;transition:border-color .15s}.kb-search-input[data-v-bcff26c9]:focus{border-color:var(--accent);box-shadow:0 0 0 2px #3b82f61a}.kb-search-input[data-v-bcff26c9]::placeholder{color:var(--text-tertiary)}.kb-filters[data-v-bcff26c9]{display:flex;gap:6px}.kb-select[data-v-bcff26c9]{flex:1;padding:6px 8px;border:1px solid var(--border-secondary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:11px;outline:none;cursor:pointer;transition:border-color .15s}.kb-select[data-v-bcff26c9]:focus{border-color:var(--accent)}.kb-list[data-v-bcff26c9]{flex:1;overflow-y:auto;padding:6px 12px}.kb-entry[data-v-bcff26c9]{padding:10px 12px;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .12s;margin-bottom:4px}.kb-entry[data-v-bcff26c9]:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.kb-entry.selected[data-v-bcff26c9]{background:var(--accent-light);border-color:var(--accent)}.kb-entry-top[data-v-bcff26c9]{display:flex;align-items:center;gap:6px;margin-bottom:3px}.kb-severity[data-v-bcff26c9]{font-size:12px}.kb-entry-code[data-v-bcff26c9]{font-size:10px;font-weight:700;color:var(--text-secondary);background:var(--bg-tertiary);padding:1px 6px;border-radius:4px;font-family:SF Mono,Consolas,monospace}.kb-auto-badge[data-v-bcff26c9]{margin-left:auto;font-size:9px;font-weight:600;color:var(--success);background:#22c55e1a;padding:1px 6px;border-radius:4px}.kb-entry-title[data-v-bcff26c9]{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.kb-entry-desc[data-v-bcff26c9]{font-size:11px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kb-empty[data-v-bcff26c9]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;color:var(--text-tertiary);font-size:13px;text-align:center}.kb-empty-icon[data-v-bcff26c9]{width:36px;height:36px}.kb-slide-enter-active[data-v-bcff26c9],.kb-slide-leave-active[data-v-bcff26c9]{transition:all .2s ease}.kb-slide-enter-from[data-v-bcff26c9],.kb-slide-leave-to[data-v-bcff26c9]{opacity:0;transform:translateY(8px)}.kb-detail[data-v-bcff26c9]{border-top:1px solid var(--border-primary);padding:14px 18px;background:var(--bg-secondary)}.kb-detail-header[data-v-bcff26c9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.kb-detail-severity[data-v-bcff26c9]{font-size:11px;font-weight:600}.kb-detail-severity.error[data-v-bcff26c9]{color:var(--error)}.kb-detail-severity.warning[data-v-bcff26c9]{color:var(--warning)}.kb-detail-severity.info[data-v-bcff26c9]{color:var(--accent)}.kb-detail-source[data-v-bcff26c9]{font-size:10px;color:var(--text-tertiary)}.kb-detail-body[data-v-bcff26c9]{margin-bottom:12px}.kb-detail-desc[data-v-bcff26c9]{font-size:12px;color:var(--text-primary);margin-bottom:8px;line-height:1.5}.kb-detail-solution[data-v-bcff26c9]{font-size:12px;color:var(--success);background:#22c55e0f;padding:8px 10px;border-radius:6px;border-left:3px solid var(--success);line-height:1.5}.kb-detail-solution-label[data-v-bcff26c9]{font-weight:700;display:block;margin-bottom:2px;font-size:11px;text-transform:uppercase;letter-spacing:.3px}.kb-detail-footer[data-v-bcff26c9]{display:flex;gap:8px}.kb-detail-close[data-v-bcff26c9],.kb-detail-apply[data-v-bcff26c9]{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:5px}.kb-detail-close[data-v-bcff26c9]{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-secondary)}.kb-detail-close[data-v-bcff26c9]:hover{background:#ef444414;border-color:var(--error);color:var(--error)}.kb-detail-apply[data-v-bcff26c9]{background:linear-gradient(135deg,var(--success) 0%,#16a34a 100%);color:#fff;box-shadow:0 2px 8px #22c55e40}.kb-detail-apply[data-v-bcff26c9]:hover{filter:brightness(1.08);box-shadow:0 4px 12px #22c55e59;transform:translateY(-1px)}.kb-detail-apply[data-v-bcff26c9]:active{transform:scale(.97)}.kb-detail-apply .icon[data-v-bcff26c9]{width:14px;height:14px}.kb-fade-enter-active[data-v-bcff26c9],.kb-fade-leave-active[data-v-bcff26c9]{transition:opacity .2s}.kb-fade-enter-from[data-v-bcff26c9],.kb-fade-leave-to[data-v-bcff26c9]{opacity:0}.eng-panel[data-v-3f398709]{width:220px;min-width:220px;background:var(--bg-panel);color:var(--text-primary);display:flex;flex-direction:column;border-left:1px solid var(--border-primary);-webkit-user-select:none;user-select:none;min-height:0;overflow-y:auto;overflow-x:hidden;font-family:var(--font-body);font-size:12px}.panel-header[data-v-3f398709]{padding:12px;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.panel-header h3[data-v-3f398709]{font-size:13px;font-weight:600;color:var(--text-primary);margin:0}.header-right[data-v-3f398709]{display:flex;align-items:center;gap:6px}.vio-badge[data-v-3f398709]{font-size:10px;font-weight:600;color:var(--accent-text);background:var(--error);padding:1px 7px;border-radius:9px}.ok-badge[data-v-3f398709]{font-size:10px;font-weight:600;color:var(--success);background:var(--accent-light);padding:1px 7px;border-radius:9px}.clear-btn[data-v-3f398709]{display:inline-flex;padding:4px;border:none;border-radius:4px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.clear-btn[data-v-3f398709]:hover{background:var(--bg-hover);color:var(--text-primary)}.clear-btn .icon[data-v-3f398709]{width:14px;height:14px;display:block}.eng-voice-btn[data-v-3f398709]{display:inline-flex;padding:4px;border:none;border-radius:4px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.eng-voice-btn[data-v-3f398709]:hover{background:var(--bg-hover);color:var(--accent)}.eng-voice-btn .icon[data-v-3f398709]{width:14px;height:14px;display:block}.vp-fade-enter-active[data-v-3f398709],.vp-fade-leave-active[data-v-3f398709]{transition:opacity .2s,transform .2s}.vp-fade-enter-from[data-v-3f398709],.vp-fade-leave-to[data-v-3f398709]{opacity:0;transform:translateY(-4px)}.vp-toast[data-v-3f398709]{padding:6px 10px;font-size:11px;font-weight:500;text-align:center;border-bottom:1px solid var(--border-primary)}.vp-toast.vp-toast-success[data-v-3f398709]{background:#22c55e14;color:var(--success)}.vp-toast.vp-toast-info[data-v-3f398709]{background:#2f54c414;color:var(--accent)}.vp-toast.vp-toast-error[data-v-3f398709]{background:#ef444414;color:var(--error)}.eng-voice-btn.is-voice-placing[data-v-3f398709]{animation:eng-pulse-3f398709 1s ease-in-out infinite}@keyframes eng-pulse-3f398709{0%,to{box-shadow:0 0 #0596694d}50%{box-shadow:0 0 0 6px #05966900}}.hint-bar[data-v-3f398709]{padding:8px 10px;background:var(--accent-light);color:var(--accent);font-size:11px;display:flex;align-items:center;gap:6px;line-height:1.3;flex-shrink:0}.hint-bar .icon[data-v-3f398709]{width:14px;height:14px;display:block;flex-shrink:0}.cable-hint[data-v-3f398709]{background:var(--accent-light);color:var(--success)}.quick-panel-bar[data-v-3f398709]{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border-primary);flex-shrink:0}.panel-place-btn[data-v-3f398709]{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:600;transition:all .15s;font-family:inherit;flex-shrink:0}.panel-place-btn[data-v-3f398709]:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.panel-place-icon[data-v-3f398709]{font-size:14px}.panel-place-label[data-v-3f398709]{white-space:nowrap}.panel-size-group[data-v-3f398709]{display:flex;gap:2px}.panel-size-btn[data-v-3f398709]{padding:5px 7px;border:1px solid var(--border-primary);border-radius:4px;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:10px;font-weight:600;transition:all .12s;font-family:inherit;min-width:28px;text-align:center}.panel-size-btn[data-v-3f398709]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary)}.panel-size-btn.selected[data-v-3f398709]{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.search-box[data-v-3f398709]{position:relative;padding:8px;border-bottom:1px solid var(--border-primary);flex-shrink:0}.search-icon[data-v-3f398709]{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-tertiary);pointer-events:none}.search-input[data-v-3f398709]{width:100%;padding:7px 10px 7px 30px;border:1px solid var(--border-secondary);border-radius:6px;background:var(--bg-panel);color:var(--text-primary);font-size:12px;outline:none;box-sizing:border-box;transition:border-color .15s}.search-input[data-v-3f398709]:focus{border-color:var(--accent);box-shadow:0 0 0 2px #3b82f61a}.search-input[data-v-3f398709]::placeholder{color:var(--text-tertiary)}.catalog-scroll[data-v-3f398709]{flex:1;overflow-y:auto;padding:4px 0}.cat-group[data-v-3f398709]{margin-bottom:2px}.cat-label[data-v-3f398709]{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:6px 12px 4px}.cat-icon svg[data-v-3f398709]{width:15px;height:15px;display:block}.cat-icon[data-v-3f398709]{font-size:11px}.cat-item[data-v-3f398709]{display:flex;align-items:center;gap:8px;width:100%;padding:5px 12px 5px 16px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .12s;text-align:left;font-size:12px;font-family:inherit}.cat-item[data-v-3f398709]:hover{background:var(--bg-hover);color:var(--text-primary)}.cat-item.selected[data-v-3f398709]{background:var(--accent-light);color:var(--accent);font-weight:600}.item-icon svg[data-v-3f398709]{width:22px;height:22px;display:block}.item-icon[data-v-3f398709]{font-size:13px;width:18px;text-align:center;flex-shrink:0}.item-name[data-v-3f398709]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-items[data-v-3f398709]{padding:6px 16px;color:var(--text-tertiary);font-size:11px}.preview-bar[data-v-3f398709]{padding:10px 12px;border-top:2px solid var(--accent);background:var(--accent-light);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.preview-label[data-v-3f398709]{font-size:11px;font-weight:600;color:var(--accent);text-align:center}.preview-actions[data-v-3f398709]{display:flex;gap:8px}.preview-btn[data-v-3f398709]{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 10px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.preview-btn .icon[data-v-3f398709]{width:14px;height:14px;display:block}.preview-btn.confirm[data-v-3f398709]{background:var(--success);color:#fff}.preview-btn.confirm[data-v-3f398709]:hover{filter:brightness(1.1)}.preview-btn.cancel[data-v-3f398709]{background:var(--bg-hover);color:var(--text-secondary)}.preview-btn.cancel[data-v-3f398709]:hover{background:var(--error);color:#fff}.vio-section[data-v-3f398709]{border-top:1px solid var(--border-primary);flex-shrink:0;max-height:180px;overflow-y:auto}.vio-section.clean[data-v-3f398709]{border-top:1px solid var(--border-primary)}.vio-header[data-v-3f398709]{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:11px;font-weight:600;color:var(--error);background:#c43a3a14;border-bottom:1px solid var(--accent-light);position:sticky;top:0;z-index:1}.vio-header .icon[data-v-3f398709]{width:14px;height:14px}.vio-header.clean[data-v-3f398709]{color:var(--success);background:var(--accent-light);border-bottom-color:var(--success)}.vio-total[data-v-3f398709]{background:var(--accent-light);color:var(--error);padding:0 7px;border-radius:8px;font-size:10px;margin-left:auto}.fix-btn[data-v-3f398709]{padding:3px 8px;border:1px solid var(--error);border-radius:5px;background:transparent;color:var(--error);cursor:pointer;font-size:10px;font-weight:600;transition:all .15s;white-space:nowrap;font-family:inherit}.fix-btn[data-v-3f398709]:hover{background:#c43a3a14;border-color:var(--error)}.vio-list[data-v-3f398709]{padding:4px 8px}.vio-room[data-v-3f398709]{margin-bottom:4px}.vio-room-title[data-v-3f398709]{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;color:var(--text-primary);padding:3px 6px;background:var(--bg-secondary);border-radius:4px}.vio-room-count[data-v-3f398709]{background:var(--accent-light);color:var(--error);padding:0 6px;border-radius:7px;font-size:10px}.vio-items[data-v-3f398709]{padding:2px 6px 4px 14px}.vio-item[data-v-3f398709]{font-size:10px;color:var(--text-secondary);padding:1px 0;line-height:1.4}.remove-auto-bar[data-v-3f398709]{padding:8px 12px;border-top:1px solid var(--border-primary);flex-shrink:0}.remove-auto-btn[data-v-3f398709]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 10px;border:1px solid var(--error);border-radius:6px;background:transparent;color:var(--error);cursor:pointer;font-size:11px;font-weight:600;transition:all .15s;font-family:inherit}.remove-auto-btn[data-v-3f398709]:hover{background:#c43a3a14;border-color:var(--error)}.remove-auto-btn .icon[data-v-3f398709]{width:14px;height:14px}.kb-bar[data-v-3f398709]{padding:8px 12px;border-top:1px solid var(--border-primary);flex-shrink:0}.kb-btn[data-v-3f398709]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 10px;border:1px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);cursor:pointer;font-size:11px;font-weight:600;transition:all .15s;font-family:inherit}.kb-btn[data-v-3f398709]:hover{background:#6366f114;border-color:var(--accent);box-shadow:0 0 0 2px #6366f126}.kb-btn .icon[data-v-3f398709]{width:14px;height:14px}.qe-bar[data-v-3f398709]{padding:8px 12px;border-top:1px solid var(--border-primary);flex-shrink:0}.qe-btn[data-v-3f398709]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 10px;border:1px solid var(--success);border-radius:6px;background:transparent;color:var(--success);cursor:pointer;font-size:11px;font-weight:600;transition:all .15s;font-family:inherit}.qe-btn[data-v-3f398709]:hover{background:#22c55e14;border-color:var(--success);box-shadow:0 0 0 2px #22c55e26}.qe-btn .icon[data-v-3f398709]{width:14px;height:14px}.room-settings-bar[data-v-3f398709]{padding:8px 12px;border-top:1px solid var(--border-primary);flex-shrink:0}.room-settings-btn[data-v-3f398709]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 10px;border:1px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);cursor:pointer;font-size:11px;font-weight:600;transition:all .15s;font-family:inherit}.room-settings-btn[data-v-3f398709]:hover{background:var(--accent-light);border-color:var(--accent)}.room-settings-btn .icon[data-v-3f398709]{width:14px;height:14px}.room-settings-overlay[data-v-3f398709]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.room-settings-modal[data-v-3f398709]{width:380px;max-width:92vw;max-height:75vh;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:14px;box-shadow:0 12px 40px #00000040,0 4px 16px #0000001f;display:flex;flex-direction:column;overflow:hidden;animation:rs-appear-3f398709 .2s ease-out}@keyframes rs-appear-3f398709{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.rs-header[data-v-3f398709]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:linear-gradient(135deg,#22c55e14,#22c55e05);border-bottom:1px solid var(--border-primary)}.rs-header h4[data-v-3f398709]{margin:0;font-size:14px;font-weight:700;color:var(--success);display:flex;align-items:center;gap:8px}.rs-header h4[data-v-3f398709]:before{content:"⚙";font-size:15px}.rs-close[data-v-3f398709]{display:inline-flex;padding:5px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.rs-close[data-v-3f398709]:hover{background:#ef44441a;color:var(--error)}.rs-close .icon[data-v-3f398709]{width:15px;height:15px;display:block}.rs-body[data-v-3f398709]{flex:1;overflow-y:auto;padding:10px 14px 8px}.rs-table-header[data-v-3f398709]{display:grid;grid-template-columns:1fr 54px 54px 42px;gap:4px;padding:7px 8px 7px 10px;font-size:9px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-primary);margin-bottom:6px;background:var(--bg-secondary);border-radius:6px 6px 0 0}.rs-th[data-v-3f398709]{text-align:center}.rs-th-room[data-v-3f398709]{text-align:left}.rs-rows[data-v-3f398709]{display:flex;flex-direction:column;gap:3px}.rs-row[data-v-3f398709]{display:grid;grid-template-columns:1fr 54px 54px 42px;gap:4px;align-items:center;padding:6px 8px 6px 10px;border-radius:8px;transition:all .12s;border:1px solid transparent}.rs-row[data-v-3f398709]:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.rs-cell-room[data-v-3f398709]{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.rs-cell-room[data-v-3f398709]:before{content:"🏠";font-size:11px;opacity:.7}.rs-cell-count[data-v-3f398709]{display:flex;align-items:center;justify-content:center;gap:4px}.rs-count-btn[data-v-3f398709]{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-secondary);border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:700;line-height:1;padding:0;transition:all .12s}.rs-count-btn[data-v-3f398709]:hover{background:#22c55e14;border-color:var(--success);color:var(--success);transform:scale(1.08)}.rs-count-btn[data-v-3f398709]:active{transform:scale(.92)}.rs-count-val[data-v-3f398709]{min-width:26px;text-align:center;font-size:13px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.rs-cell-toggle[data-v-3f398709]{display:flex;justify-content:center}.rs-toggle[data-v-3f398709]{width:30px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--border-secondary);border-radius:5px;background:transparent;color:var(--success);cursor:pointer;font-size:12px;font-weight:700;padding:0;transition:all .15s}.rs-toggle.active[data-v-3f398709]{background:linear-gradient(135deg,var(--success) 0%,#16a34a 100%);color:#fff;border-color:var(--success);box-shadow:0 2px 6px #22c55e4d}.rs-toggle[data-v-3f398709]:not(.active){color:var(--text-tertiary);border-color:var(--border-secondary)}.rs-toggle[data-v-3f398709]:not(.active):hover{border-color:var(--success);color:var(--success);background:#22c55e0a}.rs-footer[data-v-3f398709]{display:flex;gap:10px;padding:12px 18px 14px;border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.rs-btn[data-v-3f398709]{flex:1;padding:9px 14px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;letter-spacing:.2px}.rs-btn-cancel[data-v-3f398709]{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-secondary)}.rs-btn-cancel[data-v-3f398709]:hover{background:#ef444414;border-color:var(--error);color:var(--error)}.rs-btn-cancel[data-v-3f398709]:active{transform:scale(.97)}.rs-btn-apply[data-v-3f398709]{background:linear-gradient(135deg,var(--success) 0%,#16a34a 100%);color:#fff;box-shadow:0 2px 8px #22c55e40}.rs-btn-apply[data-v-3f398709]:hover{filter:brightness(1.08);box-shadow:0 4px 12px #22c55e59;transform:translateY(-1px)}.rs-btn-apply[data-v-3f398709]:active{transform:scale(.97);box-shadow:none}.panel-editor-overlay[data-v-48f24ec1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.panel-editor[data-v-48f24ec1]{background:#0f172a;border:1px solid #1e293b;border-radius:12px;width:95vw;height:90vh;display:flex;flex-direction:column;overflow:hidden;color:#e2e8f0;font-family:var(--font-body)}.pe-header[data-v-48f24ec1]{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #1e293b;background:#1e293b}.pe-header h2[data-v-48f24ec1]{margin:0;font-size:18px;color:#f1f5f9}.pe-header-right[data-v-48f24ec1]{display:flex;align-items:center;gap:16px}.pe-module-badge[data-v-48f24ec1]{background:#334155;padding:4px 12px;border-radius:6px;font-size:13px;color:#94a3b8}.pe-close[data-v-48f24ec1]{background:none;border:none;color:#94a3b8;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px}.pe-close[data-v-48f24ec1]:hover{background:#334155;color:#f1f5f9}.pe-body[data-v-48f24ec1]{flex:1;display:flex;overflow:hidden}.pe-circuits[data-v-48f24ec1]{flex:1;overflow-y:auto;padding:16px}.pe-section-header[data-v-48f24ec1]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pe-section-header h3[data-v-48f24ec1]{margin:0;font-size:15px;color:#e2e8f0}.pe-hint[data-v-48f24ec1]{font-size:12px;color:#64748b}.pe-table[data-v-48f24ec1]{width:100%;border-collapse:collapse;font-size:13px}.pe-table th[data-v-48f24ec1]{text-align:left;padding:8px 6px;border-bottom:2px solid #334155;color:#94a3b8;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.pe-table td[data-v-48f24ec1]{padding:6px;border-bottom:1px solid #1e293b}.pe-table tr:hover td[data-v-48f24ec1]{background:#3b82f60d}.pe-table tr.rcd-highlight td[data-v-48f24ec1]{background:#f59e0b0f}.cell-num[data-v-48f24ec1]{font-weight:600;color:#3b82f6;white-space:nowrap}.cell-room[data-v-48f24ec1]{color:#cbd5e1}.cell-note[data-v-48f24ec1]{color:#64748b;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis}.pe-select[data-v-48f24ec1]{background:#1e293b;color:#e2e8f0;border:1px solid #334155;border-radius:4px;padding:3px 6px;font-size:12px;cursor:pointer;width:100%}.pe-select[data-v-48f24ec1]:focus{outline:none;border-color:#3b82f6}.pe-select.rcd-active[data-v-48f24ec1]{border-color:#f59e0b;background:#f59e0b1a}.pe-sidebar[data-v-48f24ec1]{width:380px;border-left:1px solid #1e293b;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.pe-summary-card[data-v-48f24ec1]{display:flex;align-items:center;gap:12px;background:#1e293b;padding:12px 16px;border-radius:8px;border:1px solid #334155}.pe-summary-icon[data-v-48f24ec1]{font-size:28px}.pe-summary-title[data-v-48f24ec1]{font-weight:700;color:#f1f5f9;font-size:14px}.pe-summary-detail[data-v-48f24ec1]{font-size:12px;color:#94a3b8;margin-top:2px}.pe-section[data-v-48f24ec1]{background:#1e293b;border-radius:8px;padding:12px 16px}.pe-section h4[data-v-48f24ec1]{margin:0 0 8px;font-size:13px;color:#94a3b8}.pe-inline-edit[data-v-48f24ec1]{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.pe-inline-edit .pe-select[data-v-48f24ec1]{width:120px}.pe-chip-list[data-v-48f24ec1]{display:flex;flex-wrap:wrap;gap:6px}.pe-chip[data-v-48f24ec1]{background:#334155;padding:3px 8px;border-radius:4px;font-size:12px;color:#cbd5e1}.pe-chip-rcd[data-v-48f24ec1]{background:#f59e0b26;border:1px solid rgba(245,158,11,.3);color:#fbbf24}.pe-cost-grid[data-v-48f24ec1]{display:flex;flex-direction:column;gap:4px}.pe-cost-row[data-v-48f24ec1]{display:flex;justify-content:space-between;font-size:13px}.pe-cost-row span[data-v-48f24ec1]{color:#94a3b8}.pe-cost-row strong[data-v-48f24ec1]{color:#e2e8f0}.pe-din-rail[data-v-48f24ec1]{overflow-x:auto;background:#0a0f1a;border-radius:6px;padding:8px}.pe-footer[data-v-48f24ec1]{display:flex;justify-content:flex-end;gap:12px;padding:12px 24px;border-top:1px solid #1e293b;background:#1e293b}.pe-btn[data-v-48f24ec1]{padding:8px 20px;border-radius:6px;border:none;font-size:14px;font-weight:600;cursor:pointer}.pe-btn-secondary[data-v-48f24ec1]{background:#334155;color:#94a3b8}.pe-btn-secondary[data-v-48f24ec1]:hover{background:#475569;color:#e2e8f0}.pe-btn-primary[data-v-48f24ec1]{background:#2563eb;color:#fff}.pe-btn-primary[data-v-48f24ec1]:hover{background:#1d4ed8}.room-input-panel[data-v-286619dc]{width:260px;min-width:260px;background:var(--bg-panel);color:var(--text-primary);display:flex;flex-direction:column;border-left:1px solid var(--border-primary);-webkit-user-select:none;user-select:none;min-height:0;overflow-y:auto;font-family:var(--font-body);font-size:13px}.panel-header[data-v-286619dc]{padding:12px;border-bottom:1px solid var(--border-primary)}.panel-title[data-v-286619dc]{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:var(--text-primary)}.panel-icon[data-v-286619dc]{font-size:16px}.voice-row[data-v-286619dc]{display:flex;align-items:center;gap:8px}.voice-status[data-v-286619dc]{flex:1;min-width:0;font-size:11px}.voice-idle[data-v-286619dc]{color:var(--text-tertiary)}.voice-unsupported[data-v-286619dc]{color:var(--warning)}.btn-mic[data-v-286619dc]{width:34px;height:34px;border:1px solid var(--border-secondary);border-radius:6px;background:var(--bg-panel);color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.btn-mic[data-v-286619dc]:hover:not(:disabled):not(.unsupported){border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.btn-mic[data-v-286619dc]:disabled{opacity:.3;cursor:not-allowed}.btn-mic.unsupported[data-v-286619dc]{opacity:.2;cursor:not-allowed}.btn-mic.recording[data-v-286619dc]{border-color:var(--error);color:var(--accent-text);background:var(--error);animation:micPulse-286619dc 1.2s ease-in-out infinite}.mic-icon[data-v-286619dc]{width:16px;height:16px}@keyframes micPulse-286619dc{0%,to{box-shadow:0 0 #ef444480}50%{box-shadow:0 0 0 6px #ef444400}}.recording-hint[data-v-286619dc]{font-size:11px;color:var(--error);margin-top:4px;animation:hintBlink-286619dc 1.5s ease-in-out infinite}@keyframes hintBlink-286619dc{0%,to{opacity:1}50%{opacity:.4}}.fade-enter-active[data-v-286619dc],.fade-leave-active[data-v-286619dc]{transition:opacity .2s ease}.fade-enter-from[data-v-286619dc],.fade-leave-to[data-v-286619dc]{opacity:0}.status-message[data-v-286619dc]{padding:8px 12px;font-size:12px;line-height:1.4;border-bottom:1px solid var(--border-primary)}.status-message.success[data-v-286619dc]{color:var(--success);background:var(--accent-light)}.status-message.error[data-v-286619dc]{color:var(--error);background:#c43a3a14}.status-message.info[data-v-286619dc]{color:var(--accent);background:var(--accent-light)}.bg-section[data-v-286619dc]{padding:10px;display:flex;flex-direction:column;gap:8px}.bg-hint[data-v-286619dc]{margin:0;font-size:11px;color:var(--text-secondary);line-height:1.45}.bg-textarea[data-v-286619dc]{width:100%;resize:vertical;min-height:64px;padding:8px 10px;font-size:12px;line-height:1.5;font-family:inherit;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.bg-textarea[data-v-286619dc]:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.bg-textarea[data-v-286619dc]:disabled{opacity:.6}.bg-error[data-v-286619dc]{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;font-size:11.5px;color:var(--error);background:color-mix(in srgb,var(--error) 10%,transparent);border:1px solid color-mix(in srgb,var(--error) 35%,transparent);border-radius:6px}.bg-error-icon[data-v-286619dc]{flex-shrink:0}.bg-result[data-v-286619dc]{display:flex;flex-direction:column;gap:8px}.bg-result-summary[data-v-286619dc]{display:flex;align-items:baseline;gap:8px;padding:8px 10px;background:var(--bg-secondary);border:1px solid var(--border-panel);border-radius:6px}.bg-count[data-v-286619dc]{font-size:22px;font-weight:700;color:var(--accent);line-height:1}.bg-count-label[data-v-286619dc]{font-size:11.5px;color:var(--text-secondary)}.bg-warnings[data-v-286619dc]{padding:8px 10px;font-size:11.5px;color:var(--warning);background:color-mix(in srgb,var(--warning) 8%,transparent);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);border-radius:6px}.bg-warnings-title[data-v-286619dc]{font-weight:600;margin-bottom:4px}.bg-warnings ul[data-v-286619dc]{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:3px;color:var(--text-secondary)}.bg-ok[data-v-286619dc]{padding:8px 10px;font-size:11.5px;color:var(--success);background:color-mix(in srgb,var(--success) 8%,transparent);border:1px solid color-mix(in srgb,var(--success) 30%,transparent);border-radius:6px}.bg-actions[data-v-286619dc]{display:flex;gap:6px}.bg-btn[data-v-286619dc]{display:inline-flex;align-items:center;justify-content:center;flex:1;padding:7px 10px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:background .15s,opacity .15s,transform .1s;font-family:inherit}.bg-btn[data-v-286619dc]:active:not(:disabled){transform:translateY(1px)}.bg-btn[data-v-286619dc]:disabled{opacity:.5;cursor:not-allowed}.bg-btn-secondary[data-v-286619dc]{background:var(--bg-panel);color:var(--text-secondary);border-color:var(--border-primary)}.bg-btn-secondary[data-v-286619dc]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.bg-btn-primary[data-v-286619dc]{background:var(--accent);color:var(--accent-text)}.bg-btn-primary[data-v-286619dc]:hover:not(:disabled){filter:brightness(1.1)}.bg-spinner[data-v-286619dc]{width:13px;height:13px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:bg-spin-286619dc .7s linear infinite}@keyframes bg-spin-286619dc{to{transform:rotate(360deg)}}.vh-overlay[data-v-87298489]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.vh-modal[data-v-87298489]{width:640px;max-width:92vw;max-height:85vh;display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:16px;box-shadow:0 20px 60px #0000004d;animation:vh-appear-87298489 .25s ease-out}@keyframes vh-appear-87298489{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.vh-header[data-v-87298489]{display:flex;align-items:center;gap:10px;padding:18px 20px 12px;border-bottom:1px solid var(--border-primary);flex-shrink:0}.vh-icon[data-v-87298489]{font-size:22px}.vh-title[data-v-87298489]{flex:1;margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.vh-close[data-v-87298489]{display:inline-flex;padding:6px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:.15s}.vh-close[data-v-87298489]:hover{background:var(--bg-hover);color:var(--error)}.vh-loading[data-v-87298489]{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--text-tertiary);font-size:13px}.vh-spinner[data-v-87298489]{width:20px;height:20px;border:2px solid var(--border-primary);border-top-color:var(--accent);border-radius:50%;animation:vh-spin-87298489 .6s linear infinite}@keyframes vh-spin-87298489{to{transform:rotate(360deg)}}.vh-error[data-v-87298489]{padding:20px;text-align:center;color:var(--error);font-size:13px}.vh-body[data-v-87298489]{flex:1;overflow-y:auto;padding:12px 20px}.vh-empty[data-v-87298489]{text-align:center;color:var(--text-tertiary);font-size:13px;padding:30px 0}.vh-stage-group[data-v-87298489]{margin-bottom:16px}.vh-stage-label[data-v-87298489]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-secondary);border-radius:8px;font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.vh-stage-icon[data-v-87298489]{font-size:16px}.vh-version-count[data-v-87298489]{margin-left:auto;font-size:10px;font-weight:400;color:var(--text-tertiary)}.vh-diff-stage-btn[data-v-87298489]{background:none;border:1px solid var(--border-secondary);border-radius:4px;cursor:pointer;font-size:12px;padding:1px 5px;margin-left:4px;transition:.15s;line-height:1}.vh-diff-stage-btn[data-v-87298489]:hover{background:var(--bg-hover);border-color:var(--accent)}.vh-version-list[data-v-87298489]{display:flex;flex-direction:column;gap:4px}.vh-version-row[data-v-87298489]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;border:1px solid var(--border-secondary);background:var(--bg-primary);transition:all .15s}.vh-version-row[data-v-87298489]:hover{border-color:var(--border-primary);background:var(--bg-secondary)}.vh-version-current[data-v-87298489]{border-color:var(--accent);background:var(--accent-light)}.vh-version-selected[data-v-87298489]{border-color:var(--success, #4caf50);background:#4caf500f;box-shadow:0 0 0 1px #4caf504d}.vh-version-info[data-v-87298489]{display:flex;align-items:center;gap:8px;min-width:0}.vh-version-num[data-v-87298489]{font-size:13px;font-weight:700;color:var(--accent);flex-shrink:0}.vh-version-label[data-v-87298489]{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vh-version-date[data-v-87298489]{font-size:10px;color:var(--text-tertiary);flex-shrink:0}.vh-version-actions[data-v-87298489]{flex-shrink:0;margin-left:8px;display:flex;gap:4px;align-items:center}.vh-current-badge[data-v-87298489]{font-size:10px;font-weight:600;color:var(--accent);background:var(--accent-light);padding:2px 8px;border-radius:4px;border:1px solid var(--accent)}.vh-compare-btn[data-v-87298489]{padding:3px 8px;border:1px solid var(--success, #4caf50);border-radius:5px;background:transparent;color:var(--success, #4caf50);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.vh-compare-btn[data-v-87298489]:hover:not(:disabled){background:#4caf501a}.vh-compare-selected[data-v-87298489]{background:var(--success, #4caf50);color:#fff}.vh-restore-btn[data-v-87298489]{padding:3px 10px;border:1px solid var(--accent);border-radius:5px;background:transparent;color:var(--accent);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.vh-restore-btn[data-v-87298489]:hover:not(:disabled){background:var(--accent);color:var(--accent-text)}.vh-restore-btn[data-v-87298489]:disabled{opacity:.5;cursor:not-allowed}.vh-compare-toolbar[data-v-87298489]{display:flex;align-items:center;gap:10px;padding:8px 20px;border-top:1px solid var(--border-primary);background:var(--bg-secondary);flex-shrink:0}.vh-cancel-btn[data-v-87298489]{padding:4px 12px;border:1px solid var(--border-primary);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:.15s}.vh-cancel-btn[data-v-87298489]:hover{background:var(--bg-hover)}.vh-compare-hint[data-v-87298489]{flex:1;font-size:11px;color:var(--text-tertiary);text-align:center}.vh-apply-btn[data-v-87298489]{padding:4px 14px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:var(--accent-text);font-size:12px;font-weight:600;cursor:pointer;transition:.15s}.vh-apply-btn[data-v-87298489]:disabled{opacity:.4;cursor:not-allowed}.vh-apply-btn[data-v-87298489]:hover:not(:disabled){opacity:.9}.vd-section[data-v-87298489]{margin-top:16px;border:1px solid var(--border-primary);border-radius:10px;background:var(--bg-primary);overflow:hidden}.vd-header[data-v-87298489]{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);font-size:12px}.vd-title[data-v-87298489]{font-weight:700;color:var(--text-primary)}.vd-versions-label[data-v-87298489]{font-weight:600;color:var(--accent);background:var(--accent-light);padding:1px 8px;border-radius:4px;font-size:11px}.vd-stage-badge[data-v-87298489]{font-size:10px;color:var(--text-tertiary);background:var(--bg-hover);padding:1px 6px;border-radius:3px}.vd-close[data-v-87298489]{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:14px;padding:2px 6px;border-radius:4px;transition:.15s}.vd-close[data-v-87298489]:hover{background:var(--bg-hover);color:var(--error)}.vd-stats[data-v-87298489]{display:flex;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border-secondary)}.vd-stat[data-v-87298489]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px}.vd-stat-added[data-v-87298489]{color:#2e7d32;background:#e8f5e9}.vd-stat-removed[data-v-87298489]{color:#c62828;background:#ffebee}.vd-stat-modified[data-v-87298489]{color:#e65100;background:#fff3e0}.vd-changes[data-v-87298489]{max-height:240px;overflow-y:auto;padding:6px 0}.vd-change-row[data-v-87298489]{display:flex;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-family:SF Mono,Fira Code,Consolas,monospace;transition:background .1s}.vd-change-row[data-v-87298489]:hover{background:var(--bg-secondary)}.vd-change-icon[data-v-87298489]{flex-shrink:0;font-size:10px;width:18px;text-align:center}.vd-change-field[data-v-87298489]{flex-shrink:0;color:var(--text-secondary);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-change-before[data-v-87298489]{color:#c62828;background:#ffebee;padding:1px 5px;border-radius:3px;font-size:10px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-change-after[data-v-87298489]{color:#2e7d32;background:#e8f5e9;padding:1px 5px;border-radius:3px;font-size:10px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-no-changes[data-v-87298489]{text-align:center;padding:20px;font-size:12px;color:var(--text-tertiary)}.vh-footer[data-v-87298489]{padding:10px 20px;border-top:1px solid var(--border-primary);color:var(--text-tertiary);text-align:center;flex-shrink:0}.vh-fade-enter-active[data-v-87298489]{transition:.2s ease-out}.vh-fade-leave-active[data-v-87298489]{transition:.15s ease-in}.vh-fade-enter-from[data-v-87298489],.vh-fade-leave-to[data-v-87298489]{opacity:0}.chat-panel[data-v-ab5c668c]{position:fixed;top:0;right:0;bottom:0;width:min(400px,92vw);display:flex;flex-direction:column;background:var(--bg-panel);border-left:1px solid var(--border-primary);box-shadow:-12px 0 40px #0000002e;z-index:9000;font-family:var(--font-body)}.chat-header[data-v-ab5c668c]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border-primary);background:var(--bg-card);flex-shrink:0}.chat-header-title[data-v-ab5c668c]{display:flex;align-items:center;gap:10px;min-width:0}.chat-logo[data-v-ab5c668c]{font-size:22px;line-height:1}.chat-title[data-v-ab5c668c]{margin:0;font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.2}.chat-subtitle[data-v-ab5c668c]{font-size:11px;color:var(--text-secondary);display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-close[data-v-ab5c668c]{border:none;background:transparent;color:var(--text-secondary);font-size:15px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s;flex-shrink:0}.chat-close[data-v-ab5c668c]:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-messages[data-v-ab5c668c]{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:0}.chat-welcome[data-v-ab5c668c]{text-align:center;padding:18px 8px;color:var(--text-secondary)}.chat-welcome-avatar[data-v-ab5c668c]{font-size:40px;margin-bottom:10px}.chat-welcome-text[data-v-ab5c668c]{font-size:13px;line-height:1.55;margin:0 auto;max-width:280px}.chat-msg[data-v-ab5c668c]{display:flex}.chat-msg-user[data-v-ab5c668c]{justify-content:flex-end}.chat-msg-ai[data-v-ab5c668c]{justify-content:flex-start}.chat-msg-bubble[data-v-ab5c668c]{max-width:85%;padding:9px 12px;border-radius:14px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-msg-user .chat-msg-bubble[data-v-ab5c668c]{background:var(--accent);color:var(--accent-text);border-bottom-right-radius:4px}.chat-msg-ai .chat-msg-bubble[data-v-ab5c668c]{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-primary);border-bottom-left-radius:4px}.chat-refs[data-v-ab5c668c]{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chat-ref[data-v-ab5c668c]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border-primary);border-radius:12px;background:var(--bg-card);color:var(--text-primary);font-size:12px;font-family:var(--font-body);cursor:pointer;transition:all .15s ease-out;max-width:100%}.chat-ref-icon[data-v-ab5c668c]{font-size:12px;line-height:1}.chat-ref-label[data-v-ab5c668c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.chat-ref-arrow[data-v-ab5c668c]{font-size:11px;color:var(--text-secondary);transition:transform .15s ease-out}.chat-ref[data-v-ab5c668c]:hover{border-color:var(--accent);background:var(--accent-light);color:var(--accent);transform:translateY(-1px)}.chat-ref:hover .chat-ref-arrow[data-v-ab5c668c]{transform:translate(2px)}.chat-actions[data-v-ab5c668c]{display:flex;flex-direction:column;gap:6px;margin-top:8px}.chat-action[data-v-ab5c668c]{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--accent);border-radius:12px;background:var(--accent-light);color:var(--accent);font-size:12.5px;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s ease-out;text-align:left;max-width:100%}.chat-action[data-v-ab5c668c]:hover{background:var(--accent);color:var(--accent-text);transform:translateY(-1px);box-shadow:0 3px 10px #0000001f}.chat-action[data-v-ab5c668c]:active{transform:translateY(0)}.chat-action-icon[data-v-ab5c668c]{font-size:13px;line-height:1}.chat-action-label[data-v-ab5c668c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-action-arrow[data-v-ab5c668c]{font-size:11px;margin-left:auto;transition:transform .15s ease-out}.chat-action:hover .chat-action-arrow[data-v-ab5c668c]{transform:translate(2px)}.chat-typing[data-v-ab5c668c]{display:inline-flex;align-items:center;gap:4px;padding:12px 14px}.chat-typing .dot[data-v-ab5c668c]{width:6px;height:6px;border-radius:50%;background:var(--text-secondary);animation:chat-bounce-ab5c668c 1.2s infinite ease-in-out}.chat-typing .dot[data-v-ab5c668c]:nth-child(2){animation-delay:.15s}.chat-typing .dot[data-v-ab5c668c]:nth-child(3){animation-delay:.3s}@keyframes chat-bounce-ab5c668c{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}.chat-error[data-v-ab5c668c]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--error) 12%,transparent);border:1px solid color-mix(in srgb,var(--error) 40%,transparent);color:var(--error);font-size:12.5px;flex-wrap:wrap}.chat-error-retry[data-v-ab5c668c]{border:1px solid var(--error);background:transparent;color:var(--error);border-radius:6px;padding:2px 10px;font-size:11.5px;cursor:pointer;font-family:var(--font-body)}.chat-error-retry[data-v-ab5c668c]:hover{background:var(--error);color:#fff}.chat-quick[data-v-ab5c668c]{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px;flex-shrink:0}.chat-chip[data-v-ab5c668c]{border:1px solid var(--border-primary);background:var(--bg-card);color:var(--text-secondary);border-radius:14px;padding:5px 12px;font-size:12px;font-family:var(--font-body);cursor:pointer;transition:all .15s ease-out}.chat-chip[data-v-ab5c668c]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);transform:translateY(-1px)}.chat-footer[data-v-ab5c668c]{padding:10px 12px 12px;border-top:1px solid var(--border-primary);flex-shrink:0}.chat-form[data-v-ab5c668c]{display:flex;gap:8px}.chat-input[data-v-ab5c668c]{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--border-primary);border-radius:20px;background:var(--bg-card);color:var(--text-primary);font-size:13px;font-family:var(--font-body);outline:none;transition:border-color .15s}.chat-input[data-v-ab5c668c]:focus{border-color:var(--accent)}.chat-input[data-v-ab5c668c]:disabled{opacity:.6}.chat-send[data-v-ab5c668c]{width:38px;height:38px;border:none;border-radius:50%;background:var(--accent);color:var(--accent-text);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease-out;flex-shrink:0}.chat-send[data-v-ab5c668c]:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.chat-send[data-v-ab5c668c]:disabled{opacity:.45;cursor:not-allowed}.chat-slide-enter-active[data-v-ab5c668c],.chat-slide-leave-active[data-v-ab5c668c]{transition:transform .22s ease-out,opacity .18s}.chat-slide-enter-from[data-v-ab5c668c],.chat-slide-leave-to[data-v-ab5c668c]{transform:translate(100%);opacity:0}.chat-messages[data-v-ab5c668c]::-webkit-scrollbar{width:8px}.chat-messages[data-v-ab5c668c]::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}.chat-messages[data-v-ab5c668c]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.health-root[data-v-d56f956d]{position:relative;display:inline-flex}.health-badge[data-v-d56f956d]{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);font-size:12.5px;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:border-color .15s,transform .1s,box-shadow .15s;position:relative}.health-badge[data-v-d56f956d]:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000001f;transform:translateY(-1px)}.health-badge[data-v-d56f956d]:active{transform:translateY(0)}.hb-icon[data-v-d56f956d]{font-size:13px}.hb-score[data-v-d56f956d]{min-width:22px;text-align:center}.health-tone-good .hb-score[data-v-d56f956d]{color:var(--success)}.health-tone-warn .hb-score[data-v-d56f956d]{color:#d97706}.health-tone-bad .hb-score[data-v-d56f956d]{color:var(--error)}.hb-errors[data-v-d56f956d]{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--error);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.hb-errors.hb-warn[data-v-d56f956d]{background:#d97706}.health-panel[data-v-d56f956d]{position:fixed;top:0;right:0;bottom:0;width:min(400px,94vw);display:flex;flex-direction:column;background:var(--bg-panel);border-left:1px solid var(--border-primary);box-shadow:-12px 0 40px #0000002e;z-index:9500;font-family:var(--font-body)}.hp-header[data-v-d56f956d]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border-primary);background:var(--bg-card);flex-shrink:0}.hp-header-title[data-v-d56f956d]{display:flex;align-items:center;gap:10px;min-width:0}.hp-logo[data-v-d56f956d]{font-size:22px}.hp-title[data-v-d56f956d]{font-size:15px;font-weight:600;margin:0;color:var(--text-primary)}.hp-subtitle[data-v-d56f956d]{font-size:12px;color:var(--text-secondary)}.hp-subtitle b[data-v-d56f956d]{color:var(--text-primary)}.hp-actions[data-v-d56f956d]{display:flex;gap:6px;flex-shrink:0}.hp-refresh[data-v-d56f956d],.hp-close[data-v-d56f956d]{width:30px;height:30px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background .15s,color .15s}.hp-refresh[data-v-d56f956d]:hover:not(:disabled),.hp-close[data-v-d56f956d]:hover{background:var(--bg-hover);color:var(--text-primary)}.hp-refresh[data-v-d56f956d]:disabled{opacity:.5;cursor:default}.hp-summary[data-v-d56f956d]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px;border-bottom:1px solid var(--border-primary);flex-shrink:0}.hp-metric[data-v-d56f956d]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-primary)}.hp-metric-num[data-v-d56f956d]{font-size:20px;font-weight:700;line-height:1}.hp-metric-label[data-v-d56f956d]{font-size:11px;color:var(--text-secondary)}.hp-metric-error .hp-metric-num[data-v-d56f956d]{color:var(--error)}.hp-metric-warn .hp-metric-num[data-v-d56f956d]{color:#d97706}.hp-metric-info .hp-metric-num[data-v-d56f956d]{color:var(--accent)}.hp-error[data-v-d56f956d]{margin:10px 14px 0;padding:8px 12px;border-radius:8px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--error);font-size:12.5px;display:flex;align-items:center;justify-content:space-between;gap:8px}.hp-error-retry[data-v-d56f956d]{border:none;background:none;color:inherit;font-size:14px;cursor:pointer}.hp-empty[data-v-d56f956d]{padding:28px 20px;text-align:center;font-size:13.5px;color:var(--text-secondary)}.hp-list[data-v-d56f956d]{flex:1;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:8px}.hp-issue[data-v-d56f956d]{display:flex;gap:10px;padding:10px 12px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border-primary);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s}.hp-issue[data-v-d56f956d]:hover{border-color:var(--accent);box-shadow:0 2px 10px #0000001a;transform:translate(-2px)}.hp-issue.hp-sev-error[data-v-d56f956d]{border-left:3px solid var(--error)}.hp-issue.hp-sev-warning[data-v-d56f956d]{border-left:3px solid #d97706}.hp-issue.hp-sev-info[data-v-d56f956d]{border-left:3px solid var(--accent)}.hp-issue-icon[data-v-d56f956d]{font-size:14px;flex-shrink:0;margin-top:1px}.hp-issue-body[data-v-d56f956d]{min-width:0;flex:1}.hp-issue-top[data-v-d56f956d]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}.hp-issue-cat[data-v-d56f956d]{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary)}.hp-issue-go[data-v-d56f956d]{font-size:11px;color:var(--accent);white-space:nowrap;opacity:0;transition:opacity .15s}.hp-issue:hover .hp-issue-go[data-v-d56f956d]{opacity:1}.hp-issue-msg[data-v-d56f956d]{font-size:13px;line-height:1.4;color:var(--text-primary)}.hp-issue-rec[data-v-d56f956d]{margin-top:5px;font-size:11.5px;line-height:1.4;color:var(--text-secondary)}.hp-footer[data-v-d56f956d]{padding:10px 14px;border-top:1px solid var(--border-primary);flex-shrink:0}.hp-refresh-all[data-v-d56f956d]{width:100%;padding:9px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:13px;font-weight:500;font-family:var(--font-body);cursor:pointer;transition:background .15s,border-color .15s}.hp-refresh-all[data-v-d56f956d]:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.hp-refresh-all[data-v-d56f956d]:disabled{opacity:.6;cursor:default}.hp-slide-enter-active[data-v-d56f956d],.hp-slide-leave-active[data-v-d56f956d]{transition:transform .22s ease,opacity .22s ease}.hp-slide-enter-from[data-v-d56f956d],.hp-slide-leave-to[data-v-d56f956d]{transform:translate(100%);opacity:0}.breadcrumbs[data-v-43bdd3fe]{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;min-width:0;overflow:hidden}.crumb-link[data-v-43bdd3fe]{color:var(--text-tertiary);text-decoration:none;transition:color .15s;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.crumb-link[data-v-43bdd3fe]:hover{color:var(--text-on-panel)}.crumb-current[data-v-43bdd3fe]{color:var(--text-primary);font-weight:600;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.crumb-sep[data-v-43bdd3fe]{color:var(--text-secondary);font-size:16px;line-height:1;flex-shrink:0;-webkit-user-select:none;user-select:none}.editor-layout[data-v-7fd42b71]{width:100%;height:100%;display:flex;flex-direction:row;font-family:var(--font-body)}.editor-area[data-v-7fd42b71]{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-canvas)}.canvas-row[data-v-7fd42b71]{flex:1;display:flex;flex-direction:row;min-height:0;overflow:hidden}.top-bar[data-v-7fd42b71]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:var(--bg-panel);border-bottom:1px solid var(--border-primary);flex-shrink:0}.tb-left[data-v-7fd42b71]{display:flex;align-items:center;gap:10px;min-width:0}.project-name[data-v-7fd42b71]{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dirty-dot[data-v-7fd42b71]{width:8px;height:8px;border-radius:50%;background:var(--warning);flex-shrink:0;animation:dirty-pulse-7fd42b71 1.6s ease-in-out infinite}@keyframes dirty-pulse-7fd42b71{0%,to{opacity:1}50%{opacity:.4}}.tb-right[data-v-7fd42b71]{display:flex;align-items:center;gap:6px}.chat-trigger-icon[data-v-7fd42b71]{font-size:14px;line-height:1}.top-btn[data-v-7fd42b71]{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);font-size:12.5px;font-weight:500;font-family:var(--font-body);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.top-btn[data-v-7fd42b71]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.top-btn.top-new[data-v-7fd42b71]{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.top-btn.top-new[data-v-7fd42b71]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.caveat-bar[data-v-7fd42b71]{display:flex;align-items:center;gap:10px;padding:8px 14px;background:linear-gradient(180deg,#fff8ef,#fdf2e3);border-bottom:1px solid #e8d5b5;color:#7a4a12;font-size:12.5px;flex-shrink:0}.caveat-bar.dark[data-v-7fd42b71]{background:linear-gradient(180deg,#2b2317,#26200f);border-bottom:1px solid #4a3a1e;color:#d9b47c}.cb-icon[data-v-7fd42b71]{font-size:14px;flex-shrink:0}.cb-body[data-v-7fd42b71]{flex:1;display:flex;flex-direction:column;gap:2px}.cb-item[data-v-7fd42b71]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cb-item .ct[data-v-7fd42b71]{line-height:1.35}.cb-item .num[data-v-7fd42b71]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e8d5b5;font-family:var(--font-mono);font-size:10.5px;font-weight:700;margin:0 3px}.cb-action[data-v-7fd42b71]{border:1px solid #d9b47c;background:#fff;color:#7a4a12;border-radius:6px;padding:2px 10px;font-size:11.5px;cursor:pointer;font-family:var(--font-body);transition:all var(--dur-fast) var(--ease-out)}.cb-action[data-v-7fd42b71]:hover{background:#d9b47c;color:#fff}.cb-dismiss[data-v-7fd42b71]{border:none;background:transparent;color:#a07a3e;font-size:13px;cursor:pointer;padding:2px 6px;border-radius:4px;flex-shrink:0;transition:all var(--dur-fast)}.cb-dismiss[data-v-7fd42b71]:hover{background:#e8d5b5;color:#5a3a10}.stage-tools[data-v-7fd42b71]{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--bg-panel);border-top:1px solid var(--border-primary);flex-shrink:0;overflow-x:auto}.tool-btn[data-v-7fd42b71]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);font-size:12px;font-weight:500;font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:all var(--dur-fast) var(--ease-out)}.tool-btn[data-v-7fd42b71]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.tool-btn.active[data-v-7fd42b71]{background:var(--accent-light);color:var(--accent);border-color:var(--accent);font-weight:600}.tool-icon[data-v-7fd42b71]{font-size:13px;line-height:1}.tool-btn-icon[data-v-7fd42b71]{padding:6px 8px}.tool-svg[data-v-7fd42b71]{width:15px;height:15px;display:block}.tool-label-inline[data-v-7fd42b71]{font-size:12px}.bar-sep[data-v-7fd42b71]{width:1px;height:20px;background:var(--border-primary);margin:0 4px;flex-shrink:0}.vp-toast-global[data-v-7fd42b71]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:8px;font-size:13px;font-weight:500;z-index:10001;pointer-events:none;box-shadow:0 4px 16px #0003;color:var(--accent-text);transition:opacity .2s;font-family:var(--font-body)}.vp-toast-global.vp-toast-success[data-v-7fd42b71]{background:var(--success)}.vp-toast-global.vp-toast-info[data-v-7fd42b71]{background:var(--accent)}.vp-toast-global.vp-toast-error[data-v-7fd42b71]{background:var(--error)}.vp-fade-enter-active[data-v-7fd42b71],.vp-fade-leave-active[data-v-7fd42b71]{transition:opacity .2s,transform .2s}.vp-fade-enter-from[data-v-7fd42b71],.vp-fade-leave-to[data-v-7fd42b71]{opacity:0;transform:translate(-50%) translateY(8px)}.crash-recovery-overlay[data-v-7fd42b71]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:20000}.crash-recovery-modal[data-v-7fd42b71]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:24px;max-width:420px;width:90%;box-shadow:0 20px 60px #0000004d}.crash-recovery-icon[data-v-7fd42b71]{font-size:32px;text-align:center;margin-bottom:12px}.crash-recovery-title[data-v-7fd42b71]{font-size:18px;font-weight:600;margin:0 0 8px;color:var(--text-primary)}.crash-recovery-desc[data-v-7fd42b71]{font-size:14px;color:var(--text-secondary);margin:0 0 20px}.crash-recovery-actions[data-v-7fd42b71]{display:flex;gap:12px;justify-content:flex-end}.crash-btn[data-v-7fd42b71]{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);transition:background .15s}.crash-btn[data-v-7fd42b71]:hover{background:var(--bg-hover)}.crash-btn.recover[data-v-7fd42b71]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.crash-btn.recover[data-v-7fd42b71]:hover{opacity:.9}.cable-filter-label[data-v-7fd42b71]{font-size:11px;font-weight:600;color:var(--text-tertiary);margin-left:2px;white-space:nowrap}.cable-filter-btn[data-v-7fd42b71]{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);font-size:11.5px;font-weight:500;font-family:var(--font-body);cursor:pointer;white-space:nowrap;opacity:.55;transition:all var(--dur-fast) var(--ease-out)}.cable-filter-btn[data-v-7fd42b71]:hover{opacity:.85;background:var(--bg-hover)}.cable-filter-btn.active[data-v-7fd42b71]{opacity:1;background:var(--accent-light);color:var(--text-primary);border-color:var(--accent)}.cable-filter-dot[data-v-7fd42b71]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.next-step-hint[data-v-7fd42b71]{display:flex;align-items:flex-start;gap:12px;margin:10px 14px 0;padding:14px 16px;background:var(--bg-card, #fff);border:1px solid var(--border-primary);border-radius:10px;box-shadow:0 2px 10px #0000000f;max-width:520px}.nsh-icon[data-v-7fd42b71]{font-size:26px;line-height:1}.nsh-body[data-v-7fd42b71]{flex:1;min-width:0}.nsh-title[data-v-7fd42b71]{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.nsh-desc[data-v-7fd42b71]{font-size:12.5px;color:var(--text-secondary);margin-bottom:10px}.nsh-actions[data-v-7fd42b71]{display:flex;flex-wrap:wrap;gap:8px}.nsh-primary[data-v-7fd42b71]{padding:7px 14px;border:none;border-radius:8px;background:var(--accent, #2563eb);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s}.nsh-primary[data-v-7fd42b71]:hover{filter:brightness(1.1)}.nsh-secondary[data-v-7fd42b71]{padding:7px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-panel);color:var(--text-secondary);font-size:12.5px;cursor:pointer;transition:background .15s}.nsh-secondary[data-v-7fd42b71]:hover{background:var(--bg-hover)}.nsh-all[data-v-7fd42b71]{display:flex;flex-direction:column;gap:6px;margin-top:10px}.nsh-alt[data-v-7fd42b71]{text-align:left;padding:7px 12px;border:1px dashed var(--border-primary);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:12.5px;cursor:pointer;transition:background .15s}.nsh-alt[data-v-7fd42b71]:hover{background:var(--bg-hover)}.mini-tabbar[data-v-ee4725e7]{flex:0 0 auto;display:flex;flex-direction:row;align-self:stretch;width:100%;box-sizing:border-box;background:#fff;border-top:1px solid #e2e8f0;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));gap:6px}.mini-tab[data-v-ee4725e7]{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;border-radius:10px;text-decoration:none;color:#64748b;transition:background .15s,color .15s}.mini-tab-icon[data-v-ee4725e7]{font-size:16px;line-height:1}.mini-tab-label[data-v-ee4725e7]{font-size:10px;font-weight:600;line-height:1.2;white-space:nowrap}.mini-tab.active[data-v-ee4725e7]{background:#eef2ff;color:#4f46e5}.mini-tab[data-v-ee4725e7]:hover{background:#f1f5f9}.mini-tab.active[data-v-ee4725e7]:hover{background:#e0e7ff}.mini-plan-page[data-v-75bd5730]{position:relative;display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden}.mini-top-bar[data-v-75bd5730]{flex:0 0 auto;display:flex;justify-content:center;padding:10px 16px 6px;background:#f8fafc}.mini-top-btn[data-v-75bd5730]{border:none;border-radius:24px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;background:#10b981;color:#fff;box-shadow:0 2px 10px #10b9814d;transition:opacity .2s;width:100%;max-width:320px}.mini-top-btn[data-v-75bd5730]:disabled{opacity:.5;cursor:default}.mini-btn[data-v-75bd5730]{border:none;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;cursor:pointer;background:#6366f1;color:#fff}.mini-btn[data-v-75bd5730]:disabled{opacity:.5;cursor:default}.mini-btn--ghost[data-v-75bd5730]{background:transparent;border:1px solid rgba(255,255,255,.4)}.mini-btn--auto[data-v-75bd5730]{background:#10b981}.mini-btn--primary[data-v-75bd5730]{background:#6366f1;color:#fff;text-decoration:none;display:inline-block}.mini-canvas-wrap[data-v-75bd5730]{flex:1 1 auto;position:relative;min-height:0}.mini-canvas-wrap canvas[data-v-75bd5730]{width:100%;height:100%}.mini-hint[data-v-75bd5730]{position:absolute;bottom:10px;left:50%;transform:translate(-50%);max-width:90%;background:#0000008c;color:#fff;font-size:12px;padding:6px 12px;border-radius:999px;white-space:nowrap;text-align:center}.mini-footer[data-v-75bd5730]{flex:0 0 auto}.mini-plan-view[data-v-182388b4]{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden;background:#f1f5f9}.plan-body[data-v-182388b4]{flex:1 1 auto;position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:16px}.plan-img[data-v-182388b4]{max-width:100%;max-height:100%;object-fit:contain;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026}.plan-error[data-v-182388b4]{color:#b91c1c;font-size:14px}.plan-footer[data-v-182388b4]{flex:0 0 auto}.estimate-layout[data-v-ca1569d0]{width:100%;height:100%;display:flex;flex-direction:row;font-family:var(--font-body);background:#f8fafc;color:#1e293b}.estimate-main[data-v-ca1569d0]{flex:1;min-width:0;display:flex;flex-direction:column}.top-bar[data-v-ca1569d0]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:var(--bg-panel, #ffffff);border-bottom:1px solid var(--border-primary, #e2e8f0);flex-shrink:0}.protocol-error[data-v-ca1569d0]{margin:0;padding:6px 14px;background:#fef2f2;color:#b91c1c;font-size:12px;border-top:1px solid #fecaca}.tb-left[data-v-ca1569d0]{display:flex;align-items:center;gap:10px;min-width:0}.tb-right[data-v-ca1569d0]{display:flex;align-items:center;gap:6px}.project-name[data-v-ca1569d0]{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.est-badge[data-v-ca1569d0]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:2px 10px}.icon-sm[data-v-ca1569d0]{width:13px;height:13px;display:block;flex-shrink:0}.stage-tools[data-v-ca1569d0]{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--bg-panel, #ffffff);border-top:1px solid var(--border-primary, #e2e8f0);flex-shrink:0;overflow-x:auto}.tool-btn[data-v-ca1569d0]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-primary, #e2e8f0);border-radius:8px;background:var(--bg-card, #ffffff);color:var(--text-secondary, #475569);font-size:12px;font-weight:500;font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:all var(--dur-fast, .15s) var(--ease-out, ease-out)}.tool-btn[data-v-ca1569d0]:hover{background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #0f172a);border-color:var(--accent, #2563eb)}.tool-btn.active[data-v-ca1569d0]{background:var(--accent-light, #eff6ff);color:var(--accent, #2563eb);border-color:var(--accent, #2563eb);font-weight:600}.estimate-content[data-v-ca1569d0]{flex:1;overflow-y:auto;min-height:0;padding:24px 32px;max-width:900px;margin:0 auto;width:100%;box-sizing:border-box}.state-msg[data-v-ca1569d0]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center;color:#64748b;font-size:14px}.state-msg .icon-lg[data-v-ca1569d0]{width:40px;height:40px}.error-state[data-v-ca1569d0]{color:#ef4444}.spinner[data-v-ca1569d0]{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin-ca1569d0 .7s linear infinite}@keyframes spin-ca1569d0{to{transform:rotate(360deg)}}.summary-row[data-v-ca1569d0]{display:flex;gap:12px;margin-bottom:28px}.summary-card[data-v-ca1569d0]{flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:18px 16px;text-align:center;transition:box-shadow .15s,transform .15s}.summary-card[data-v-ca1569d0]:hover{box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.sc-value[data-v-ca1569d0]{font-size:24px;font-weight:700;color:#0f172a;line-height:1.2}.sc-label[data-v-ca1569d0]{font-size:11px;color:#64748b;margin-top:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.sc-detail[data-v-ca1569d0]{font-size:10px;color:#94a3b8;margin-top:2px}.sc-furn-total[data-v-ca1569d0]{font-size:13px;font-weight:600;color:#2563eb;margin-top:5px;letter-spacing:.2px}.sc-furn-level[data-v-ca1569d0]{font-weight:500;color:#94a3b8;font-size:10px;margin-left:2px}.summary-card.accent[data-v-ca1569d0]{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.summary-card.accent-walls[data-v-ca1569d0]{background:linear-gradient(135deg,#e0ecdf,#eef4ed);border-color:#7ab08f}.summary-card.accent .sc-value[data-v-ca1569d0],.summary-card.accent-walls .sc-value[data-v-ca1569d0]{color:#1e40af}.summary-card.accent-walls .sc-value[data-v-ca1569d0]{color:#5b21b6}.summary-card.accent-sh[data-v-ca1569d0]{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fdba74}.summary-card.accent-sh .sc-value[data-v-ca1569d0]{color:#c2410c}.summary-card.accent-video[data-v-ca1569d0]{background:linear-gradient(135deg,#ecfeff,#cffafe);border-color:#67e8f9}.summary-card.accent-video .sc-value[data-v-ca1569d0]{color:#0e7490}.summary-card.accent-access[data-v-ca1569d0]{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#a5b4fc}.summary-card.accent-access .sc-value[data-v-ca1569d0]{color:#4338ca}.sh-section[data-v-ca1569d0]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.sh-extras[data-v-ca1569d0]{margin-top:10px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#475569}.sh-extra-row[data-v-ca1569d0]{display:flex;justify-content:space-between}.sh-energy[data-v-ca1569d0]{margin-top:12px;padding:10px 12px;border:1px dashed #fdba74;border-radius:8px;background:#fff7ed;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#475569}.sh-energy-head[data-v-ca1569d0]{font-weight:600;color:#c2410c;margin-bottom:2px}.sh-energy-row[data-v-ca1569d0]{display:flex;justify-content:space-between}.sh-tips[data-v-ca1569d0]{margin:12px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#475569}.sh-tip-save[data-v-ca1569d0]{font-weight:600;color:#16a34a;margin-left:6px;white-space:nowrap}.section[data-v-ca1569d0]{margin-bottom:24px}.section-header[data-v-ca1569d0]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.section-title[data-v-ca1569d0]{font-size:15px;font-weight:600;color:#0f172a;margin:0;display:flex;align-items:center;gap:6px}.section-icon[data-v-ca1569d0]{width:18px;height:18px;color:#2563eb;flex-shrink:0}.section-count[data-v-ca1569d0]{font-size:11px;color:#94a3b8;background:#f1f5f9;padding:2px 8px;border-radius:10px;font-weight:500}.report-section[data-v-ca1569d0]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.recalc-btn[data-v-ca1569d0]{margin-left:auto;display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s;line-height:1}.recalc-btn[data-v-ca1569d0]:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#0f172a}.recalc-btn[data-v-ca1569d0]:disabled{opacity:.4;cursor:not-allowed}.metric-row[data-v-ca1569d0]{display:flex;gap:8px;margin-bottom:16px}.metric-chip[data-v-ca1569d0]{flex:1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 8px;text-align:center}.mc-value[data-v-ca1569d0]{display:block;font-size:20px;font-weight:700;color:#2563eb}.mc-label[data-v-ca1569d0]{display:block;font-size:10px;color:#64748b;margin-top:2px;font-weight:500}.meta-chip[data-v-ca1569d0]{background:#f1f5f9}.meta-chip .mc-value[data-v-ca1569d0]{color:#475569;font-size:18px}.accordion[data-v-ca1569d0]{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;overflow:hidden}.accordion-header[data-v-ca1569d0]{display:flex;align-items:center;gap:6px;width:100%;padding:10px 12px;background:transparent;border:none;cursor:pointer;font-size:13px;font-weight:600;color:#1e293b;text-align:left;transition:background .15s;line-height:1}.accordion-header[data-v-ca1569d0]:hover{background:#f8fafc}.accordion-arrow[data-v-ca1569d0]{width:12px;height:12px;color:#94a3b8;transition:transform .2s;flex-shrink:0}.accordion-arrow.open[data-v-ca1569d0]{transform:rotate(90deg)}.accordion-badge[data-v-ca1569d0]{margin-left:auto;font-size:10px;font-weight:500;color:#94a3b8;background:#f1f5f9;padding:2px 7px;border-radius:8px}.accordion-body[data-v-ca1569d0]{padding:0 12px 10px;border-top:1px solid #f1f5f9}.line-card[data-v-ca1569d0]{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;margin:8px 0;font-size:12px;background:#fafafa;transition:border-color .15s}.line-card[data-v-ca1569d0]:hover{border-color:#cbd5e1}.lc-top[data-v-ca1569d0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.lc-name[data-v-ca1569d0]{font-weight:600;color:#0f172a}.lc-type[data-v-ca1569d0]{font-size:10px;color:#64748b;background:#f1f5f9;padding:1px 6px;border-radius:4px}.lc-meta[data-v-ca1569d0]{color:#475569;font-size:11px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rcd-badge[data-v-ca1569d0]{background:#fef3c7;color:#92400e;font-size:10px;padding:1px 6px;border-radius:4px;font-weight:500}.lc-length[data-v-ca1569d0]{color:#64748b;font-size:11px;margin-top:4px}.lc-length strong[data-v-ca1569d0]{color:#0f172a}.lc-length-detail[data-v-ca1569d0]{color:#94a3b8}.lc-counts[data-v-ca1569d0]{color:#64748b;font-size:11px;margin-top:4px;display:flex;gap:8px}.lc-count-sep[data-v-ca1569d0]{margin-left:0}.cable-row[data-v-ca1569d0]{display:flex;align-items:center;gap:10px;padding:6px 0}.cable-section-tag[data-v-ca1569d0]{font-size:11px;font-weight:600;color:#475569;min-width:56px}.cable-bar-track[data-v-ca1569d0]{flex:1;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.cable-bar-fill[data-v-ca1569d0]{display:block;height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:4px;transition:width .3s;min-width:2px}.cable-length-val[data-v-ca1569d0]{font-size:12px;color:#475569;font-weight:500;min-width:60px;text-align:right}.cable-total[data-v-ca1569d0]{display:flex;justify-content:space-between;padding:8px 0 4px;border-top:1px solid #e2e8f0;margin-top:4px;font-size:12px;font-weight:600;color:#0f172a}.panel-comp-body[data-v-ca1569d0]{padding:8px 12px 10px}.comp-grid[data-v-ca1569d0]{display:grid;gap:2px}.comp-row[data-v-ca1569d0]{display:flex;justify-content:space-between;padding:5px 0;font-size:12px;border-bottom:1px solid #f1f5f9}.comp-label[data-v-ca1569d0]{color:#475569}.comp-value[data-v-ca1569d0]{color:#0f172a;font-weight:500}.comp-total[data-v-ca1569d0]{display:flex;justify-content:space-between;padding:8px 0 2px;margin-top:4px;border-top:1px solid #e2e8f0;font-size:13px;font-weight:600;color:#0f172a}.oma-section[data-v-ca1569d0]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.oma-tabs[data-v-ca1569d0]{display:flex;gap:8px;margin-bottom:16px}.oma-tab[data-v-ca1569d0]{flex:1;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#64748b;cursor:pointer;text-align:center;transition:all .15s;line-height:1.3}.oma-tab[data-v-ca1569d0]:hover{background:#f1f5f9;border-color:#cbd5e1}.oma-tab.active[data-v-ca1569d0]{background:#eff6ff;color:#1e40af;border-color:#93c5fd}.ot-label[data-v-ca1569d0]{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.ot-price[data-v-ca1569d0]{display:block;font-size:16px;font-weight:700;color:#475569;margin-top:2px}.oma-tab.active .ot-price[data-v-ca1569d0]{color:#2563eb}.furn-levels[data-v-ca1569d0]{display:flex;gap:8px;margin-bottom:14px}.furn-level[data-v-ca1569d0]{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#64748b;cursor:pointer;text-align:center;transition:all .15s;line-height:1.3;font-family:var(--font-body);font-size:12px}.furn-level[data-v-ca1569d0]:hover{background:#f1f5f9;border-color:#cbd5e1}.furn-level.active[data-v-ca1569d0]{background:#eff6ff;color:#1e40af;border-color:#93c5fd}.furn-level-price[data-v-ca1569d0]{display:block;font-size:15px;font-weight:700;color:#475569;margin-top:2px}.furn-price-cell[data-v-ca1569d0]{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.furn-price-input[data-v-ca1569d0]{width:74px;padding:3px 6px;border:1px solid #d0d7de;border-radius:6px;font-size:12px;font-family:var(--font-body);text-align:right;color:#0f172a;background:#fff;transition:border-color .15s,box-shadow .15s}.furn-price-input[data-v-ca1569d0]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.furn-price-cell.overridden .furn-price-input[data-v-ca1569d0]{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;font-weight:600}.furn-price-reset[data-v-ca1569d0]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:11px;line-height:1;cursor:pointer;padding:0;transition:all .15s}.furn-price-reset[data-v-ca1569d0]:hover{border-color:#f87171;color:#ef4444;background:#fef2f2}.furn-level.active .furn-level-price[data-v-ca1569d0]{color:#2563eb}.table-wrap[data-v-ca1569d0]{overflow-x:auto;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.est-table[data-v-ca1569d0]{width:100%;border-collapse:collapse;font-size:13px}.est-table th[data-v-ca1569d0]{text-align:left;padding:10px 12px;font-weight:600;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0;white-space:nowrap;background:#f8fafc}.est-table td[data-v-ca1569d0]{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#1e293b;white-space:nowrap}.est-table tbody tr:last-child td[data-v-ca1569d0]{border-bottom:none}.est-table tbody tr:hover td[data-v-ca1569d0]{background:#f8fafc}.est-table tfoot td[data-v-ca1569d0]{font-weight:600;border-top:2px solid #e2e8f0;padding:10px 12px;color:#0f172a;background:#f8fafc}.est-table .num[data-v-ca1569d0]{text-align:right;font-variant-numeric:tabular-nums}.room-name[data-v-ca1569d0]{font-weight:500}.total-label[data-v-ca1569d0]{text-align:right}.total-price[data-v-ca1569d0]{color:#2563eb;font-size:15px}.price[data-v-ca1569d0]{font-family:SF Mono,Cascadia Code,Consolas,monospace;color:#059669;font-weight:600}.oma-items .est-table[data-v-ca1569d0]{font-size:12px}.oma-items .est-table th[data-v-ca1569d0]{font-size:10px}.cat-tag[data-v-ca1569d0]{display:inline-block;padding:2px 7px;border-radius:5px;background:#eff6ff;color:#1d4ed8;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.buy-link[data-v-ca1569d0]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0 2px;border-radius:6px;background:var(--bg-hover, #f1f5f9);font-size:13px;text-decoration:none;transition:background .15s}.buy-link[data-v-ca1569d0]:hover{background:var(--accent-light, #e0e7ff)}.buy-lock[data-v-ca1569d0]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:var(--bg-hover, #f1f5f9);font-size:13px;cursor:pointer;transition:background .15s}.buy-lock[data-v-ca1569d0]:hover{background:var(--accent-light, #e0e7ff)}.oma-override-badge[data-v-ca1569d0]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:5px;border-radius:4px;background:#fef3c7;color:#b45309;font-size:10px;font-weight:700;vertical-align:middle;cursor:help}.oma-row-overridden td[data-v-ca1569d0]{background:#fffbeb}.oma-row-overridden:hover td[data-v-ca1569d0]{background:#fef3c7!important}.oma-row-overridden .price[data-v-ca1569d0]{color:#b45309;font-weight:600}.empty-state[data-v-ca1569d0]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:60px 20px;text-align:center}.empty-icon[data-v-ca1569d0]{width:48px;height:48px;color:#cbd5e1}.empty-text[data-v-ca1569d0]{font-size:16px;font-weight:600;color:#64748b;margin:0}.empty-hint[data-v-ca1569d0]{font-size:13px;color:#94a3b8;margin:0 0 8px}.icon[data-v-ca1569d0]{width:15px;height:15px;display:block;flex-shrink:0}.estimate-layout.is-mini[data-v-ca1569d0]{background:#f1f5f9;flex-direction:column}.estimate-layout.is-mini .estimate-main[data-v-ca1569d0]{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.estimate-layout.is-mini .estimate-content[data-v-ca1569d0]{max-width:100%;padding:12px 12px 20px;margin:0}.estimate-layout.is-mini .summary-row[data-v-ca1569d0]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.estimate-layout.is-mini .summary-card[data-v-ca1569d0],.estimate-layout.is-mini .summary-card.accent[data-v-ca1569d0],.estimate-layout.is-mini .summary-card.accent-walls[data-v-ca1569d0],.estimate-layout.is-mini .summary-card.accent-sh[data-v-ca1569d0]{min-height:76px;padding:10px 4px;border-radius:12px;background:#fff;border:1px solid #e2e8f0;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.estimate-layout.is-mini .summary-card[data-v-ca1569d0]:hover{transform:none;box-shadow:none}.estimate-layout.is-mini .sc-value[data-v-ca1569d0]{font-size:20px;line-height:1.1;color:#0f172a}.estimate-layout.is-mini .sc-label[data-v-ca1569d0]{font-size:9px;margin-top:4px;color:#64748b;letter-spacing:.3px;text-align:center;line-height:1.15}.estimate-layout.is-mini .sc-detail[data-v-ca1569d0]{display:none}.estimate-layout.is-mini .section[data-v-ca1569d0],.estimate-layout.is-mini .report-section[data-v-ca1569d0],.estimate-layout.is-mini .oma-section[data-v-ca1569d0]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;margin-bottom:12px}.estimate-layout.is-mini .section-header[data-v-ca1569d0]{margin-bottom:10px}.estimate-layout.is-mini .section-title[data-v-ca1569d0]{font-size:14px;color:#0f172a}.estimate-layout.is-mini .recalc-btn[data-v-ca1569d0]{display:none}.estimate-layout.is-mini .stage-tools[data-v-ca1569d0]{padding:8px 12px;background:#fff;border-top:1px solid #e2e8f0;justify-content:flex-end}.estimate-layout.is-mini .stage-tools .tool-btn[data-v-ca1569d0]{padding:7px 12px;border-radius:10px;border-color:#e2e8f0;font-size:12px}.estimate-layout.is-mini .metric-row[data-v-ca1569d0]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.estimate-layout.is-mini .metric-chip[data-v-ca1569d0]{padding:10px 2px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.estimate-layout.is-mini .mc-value[data-v-ca1569d0]{font-size:15px;text-align:center;word-break:break-word}.estimate-layout.is-mini .mc-label[data-v-ca1569d0]{font-size:9px;text-align:center;word-break:break-word}.estimate-layout.is-mini .est-table[data-v-ca1569d0]{font-size:12px}.estimate-layout.is-mini .est-table th[data-v-ca1569d0],.estimate-layout.is-mini .est-table td[data-v-ca1569d0]{padding:8px 10px;white-space:normal}.estimate-layout.is-mini .accordion[data-v-ca1569d0]{margin-bottom:8px}.estimate-layout.is-mini .accordion-header[data-v-ca1569d0]{padding:10px 12px;font-size:12px}.estimate-layout.is-mini .accordion-body[data-v-ca1569d0]{padding:0 12px 10px}.estimate-layout.is-mini .line-card[data-v-ca1569d0]{padding:10px 12px;font-size:11px}.estimate-layout.is-mini .oma-items .est-table thead[data-v-ca1569d0]{display:none}.estimate-layout.is-mini .oma-items .est-table[data-v-ca1569d0],.estimate-layout.is-mini .oma-items .est-table tbody[data-v-ca1569d0],.estimate-layout.is-mini .oma-items .est-table tr[data-v-ca1569d0],.estimate-layout.is-mini .oma-items .est-table td[data-v-ca1569d0],.estimate-layout.is-mini .oma-items .est-table tfoot[data-v-ca1569d0],.estimate-layout.is-mini .oma-items .est-table tfoot tr[data-v-ca1569d0],.estimate-layout.is-mini .oma-items .est-table tfoot td[data-v-ca1569d0]{display:block;width:100%;box-sizing:border-box}.estimate-layout.is-mini .oma-items .est-table tbody tr[data-v-ca1569d0]{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:8px;background:#fff;white-space:normal}.estimate-layout.is-mini .oma-items .est-table td[data-v-ca1569d0]{padding:0;border:none;white-space:normal}.estimate-layout.is-mini .oma-items .est-table td[data-v-ca1569d0]:first-child{grid-column:1;display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-weight:600;color:#0f172a}.estimate-layout.is-mini .oma-items .est-table td[data-v-ca1569d0]:nth-child(2){display:none}.estimate-layout.is-mini .oma-items .est-table td[data-v-ca1569d0]:nth-child(3),.estimate-layout.is-mini .oma-items .est-table td[data-v-ca1569d0]:nth-child(4){grid-column:2;justify-self:end;text-align:right;color:#475569;font-size:12px}.estimate-layout.is-mini .oma-items .est-table td[data-v-ca1569d0]:nth-child(5){grid-column:1 / -1;justify-self:end;text-align:right;font-size:13px}.estimate-layout.is-mini .oma-items .est-table td[data-v-ca1569d0]:nth-child(6){grid-column:2;justify-self:end;display:flex;gap:4px}.estimate-layout.is-mini .oma-items .est-table tfoot tr[data-v-ca1569d0]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px 0;border-top:2px solid #e2e8f0;margin-top:4px}.estimate-layout.is-mini .oma-items .est-table tfoot td[data-v-ca1569d0]{width:auto;display:block;padding:0}.estimate-layout.is-mini .table-wrap[data-v-ca1569d0]{overflow-x:auto}.estimate-layout.is-mini .table-wrap .est-table[data-v-ca1569d0]{width:100%;table-layout:fixed;font-size:11px}.estimate-layout.is-mini .table-wrap .est-table th[data-v-ca1569d0],.estimate-layout.is-mini .table-wrap .est-table td[data-v-ca1569d0]{padding:7px 6px;white-space:normal;word-break:break-word}.estimate-layout.is-mini .table-wrap .est-table th[data-v-ca1569d0]:first-child,.estimate-layout.is-mini .table-wrap .est-table td[data-v-ca1569d0]:first-child{width:30%}.estimate-layout.is-mini .table-wrap .est-table th[data-v-ca1569d0]:not(:first-child),.estimate-layout.is-mini .table-wrap .est-table td[data-v-ca1569d0]:not(:first-child){width:17.5%;text-align:right}.elevation-layout[data-v-03df9e7d]{width:100%;height:100vh;display:flex;flex-direction:row;overflow:hidden;font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary)}.elevation-body[data-v-03df9e7d]{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.top-bar[data-v-03df9e7d]{display:flex;align-items:center;gap:14px;padding:.5rem 1rem;background:var(--bg-panel);border-bottom:1px solid var(--border-primary);flex-shrink:0;z-index:10}.tb-left[data-v-03df9e7d]{display:flex;align-items:center;gap:.75rem;min-width:0}.tb-right[data-v-03df9e7d]{margin-left:auto}.page-title[data-v-03df9e7d]{font-size:15px;font-weight:700;margin:0;color:var(--text-primary);white-space:nowrap}.project-name[data-v-03df9e7d]{font-weight:600;color:var(--text-secondary);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.elevation-content[data-v-03df9e7d]{flex:1;min-height:0;display:flex;flex-direction:column}.empty-state[data-v-03df9e7d]{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary);text-align:center;margin-top:80px;flex:1}.empty-icon[data-v-03df9e7d]{font-size:48px;margin-bottom:12px}.empty-state p[data-v-03df9e7d]{font-size:16px;color:var(--text-secondary);margin:0 0 4px}.empty-state small[data-v-03df9e7d]{font-size:12px;color:var(--text-tertiary)}.elevation-layout-body[data-v-03df9e7d]{flex:1;display:flex;flex-direction:row;min-height:0;align-items:stretch;justify-content:center}.elevation-sidebar[data-v-03df9e7d]{width:240px;min-width:240px;background:var(--bg-panel);color:var(--text-primary);display:flex;flex-direction:column;border-left:1px solid var(--border-panel);-webkit-user-select:none;user-select:none}.sidebar-header[data-v-03df9e7d]{padding:14px;border-bottom:1px solid var(--border-panel);display:flex;align-items:center;justify-content:space-between}.sidebar-header h3[data-v-03df9e7d]{margin:0;font-size:14px;font-weight:700;color:var(--text-primary)}.sidebar-subtitle[data-v-03df9e7d]{font-size:11px;color:var(--text-tertiary)}.room-list[data-v-03df9e7d]{flex:1;overflow-y:auto;padding:8px}.room-btn[data-v-03df9e7d]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-primary);cursor:pointer;transition:all .12s;text-align:left;font-size:13px;margin-bottom:4px}.room-btn[data-v-03df9e7d]:hover{background:var(--bg-hover)}.room-btn.active[data-v-03df9e7d]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.room-icon[data-v-03df9e7d]{font-size:16px}.room-name[data-v-03df9e7d]{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-height[data-v-03df9e7d]{font-size:10px;color:var(--text-tertiary);white-space:nowrap}.room-btn.active .room-height[data-v-03df9e7d]{color:var(--accent-text);opacity:.8}.sidebar-actions[data-v-03df9e7d]{padding:12px;border-top:1px solid var(--border-panel);display:flex;flex-direction:column;gap:6px}.action-btn[data-v-03df9e7d]{width:100%;padding:8px 12px;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .15s;white-space:nowrap;text-align:center}.action-btn[data-v-03df9e7d]:disabled{opacity:.35;cursor:not-allowed}.download-btn[data-v-03df9e7d]{background:var(--accent);color:var(--accent-text)}.download-btn[data-v-03df9e7d]:hover:not(:disabled){filter:brightness(1.1)}.png-btn[data-v-03df9e7d]{background:var(--warning);color:var(--accent-text)}.png-btn[data-v-03df9e7d]:hover:not(:disabled){filter:brightness(.85)}.pdf-btn[data-v-03df9e7d]{background:var(--accent);color:var(--accent-text)}.pdf-btn[data-v-03df9e7d]:hover:not(:disabled){filter:brightness(1.1)}.download-all-btn[data-v-03df9e7d]{background:var(--accent);color:var(--accent-text);opacity:.8}.download-all-btn[data-v-03df9e7d]:hover:not(:disabled){opacity:1}.png-all-btn[data-v-03df9e7d]{background:#b45309;color:var(--accent-text)}.png-all-btn[data-v-03df9e7d]:hover:not(:disabled){filter:brightness(.85)}.pdf-all-btn[data-v-03df9e7d]{background:#0891b2;color:var(--accent-text)}.pdf-all-btn[data-v-03df9e7d]:hover:not(:disabled){filter:brightness(.85)}.action-sep[data-v-03df9e7d]{width:100%;height:1px;background:var(--border-panel);margin:4px 0}.elevation-canvas[data-v-03df9e7d]{flex:1;max-width:1200px;display:flex;flex-direction:column;align-items:stretch;padding:12px;overflow:hidden;min-width:0;min-height:0}.select-prompt[data-v-03df9e7d]{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary);text-align:center;flex:1}.select-icon[data-v-03df9e7d]{font-size:48px;margin-bottom:12px}.select-prompt p[data-v-03df9e7d]{font-size:16px;color:var(--text-secondary);margin:0}.elevation-main[data-v-03df9e7d]{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.wall-tabs[data-v-03df9e7d]{display:flex;gap:4px;padding:2px;-webkit-user-select:none;user-select:none;flex-shrink:0;flex-wrap:wrap}.wall-tab[data-v-03df9e7d]{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 14px;border:1px solid var(--border-panel);border-radius:6px;background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;transition:all .12s;min-width:56px}.wall-tab[data-v-03df9e7d]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.wall-tab.active[data-v-03df9e7d]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.wall-label[data-v-03df9e7d]{font-size:14px;font-weight:700;line-height:1}.wall-length[data-v-03df9e7d]{font-size:9px;opacity:.7}.svg-container-wrap[data-v-03df9e7d]{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.svg-zoom-controls[data-v-03df9e7d]{display:flex;align-items:center;gap:3px;padding:4px 6px;flex-shrink:0;background:var(--bg-panel);border:1px solid var(--border-panel);border-radius:8px;align-self:center;margin-bottom:6px}.zoom-btn[data-v-03df9e7d]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:15px;font-weight:700;line-height:1;transition:all .12s}.zoom-btn[data-v-03df9e7d]:hover{background:var(--bg-hover);color:var(--text-primary)}.zoom-btn.zoom-reset[data-v-03df9e7d]{font-size:13px}.zoom-pct[data-v-03df9e7d]{font-size:11px;font-weight:600;color:var(--text-secondary);min-width:38px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none}.zoom-pct[data-v-03df9e7d]:hover{color:var(--text-primary)}.svg-scroll[data-v-03df9e7d]{flex:1;overflow:auto;background:var(--bg-card);border-radius:8px;box-shadow:var(--shadow-sm);min-height:0;cursor:default}.svg-scroll.pan-enabled[data-v-03df9e7d]{cursor:grab}.svg-scroll.pan-enabled[data-v-03df9e7d]:active,.svg-scroll.pan-active[data-v-03df9e7d]{cursor:grabbing;-webkit-user-select:none;user-select:none}.svg-container[data-v-03df9e7d]{padding:12px;min-height:200px;display:flex;justify-content:center}.svg-container[data-v-03df9e7d] svg{display:block;max-width:100%;height:auto}.error-toast[data-v-03df9e7d]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--error);color:var(--accent-text);padding:10px 20px;border-radius:6px;font-size:13px;z-index:9999}.login-page[data-v-6db82ec3]{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;font-family:var(--font-body);overflow:hidden;background:var(--bg-primary)}.login-bg[data-v-6db82ec3]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.bg-gradient[data-v-6db82ec3]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 55% at 50% -15%,rgba(47,84,196,.15) 0%,transparent 70%),radial-gradient(ellipse 55% 45% at 80% 85%,rgba(129,140,248,.1) 0%,transparent 60%),radial-gradient(ellipse 45% 35% at 20% 90%,rgba(47,84,196,.07) 0%,transparent 60%);animation:gradientShift-6db82ec3 14s ease-in-out infinite alternate}[data-theme=dark] .bg-gradient[data-v-6db82ec3]{background:radial-gradient(ellipse 70% 55% at 50% -15%,rgba(47,84,196,.25) 0%,transparent 70%),radial-gradient(ellipse 55% 45% at 80% 85%,rgba(129,140,248,.15) 0%,transparent 60%),radial-gradient(ellipse 45% 35% at 20% 90%,rgba(47,84,196,.1) 0%,transparent 60%)}@keyframes gradientShift-6db82ec3{0%{transform:scale(1) rotate(0)}to{transform:scale(1.04) rotate(1.5deg)}}.bg-pattern[data-v-6db82ec3]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 25% 25%,var(--border-secondary) 1px,transparent 1px),radial-gradient(circle at 75% 75%,var(--border-secondary) 1px,transparent 1px);background-size:50px 50px;opacity:.5}.floating-shapes[data-v-6db82ec3]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.shape[data-v-6db82ec3]{position:absolute;border-radius:50%;opacity:.08;animation:floatShape-6db82ec3 22s ease-in-out infinite}[data-theme=dark] .shape[data-v-6db82ec3]{opacity:.12}.shape-1[data-v-6db82ec3]{width:250px;height:250px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);top:-8%;left:-5%;animation-delay:0s;animation-duration:24s}.shape-2[data-v-6db82ec3]{width:160px;height:160px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);bottom:8%;right:-4%;animation-delay:-6s;animation-duration:20s}.shape-3[data-v-6db82ec3]{width:100px;height:100px;border-radius:30% 70% 70% 30%/30% 30% 70% 70%;background:linear-gradient(135deg,var(--accent),var(--accent-hover));top:25%;right:15%;animation-delay:-3s;animation-duration:18s}.shape-4[data-v-6db82ec3]{width:70px;height:70px;border-radius:40% 60% 60% 40%/40% 40% 60% 60%;background:linear-gradient(135deg,var(--accent),transparent);bottom:30%;left:10%;animation-delay:-10s;animation-duration:16s}@keyframes floatShape-6db82ec3{0%,to{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(25px,-30px) rotate(4deg) scale(1.04)}50%{transform:translate(-15px,15px) rotate(-2deg) scale(.96)}75%{transform:translate(30px,-15px) rotate(3deg) scale(1.02)}}.back-home[data-v-6db82ec3]{position:fixed;top:20px;left:24px;z-index:10;display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;color:var(--text-secondary);text-decoration:none;cursor:pointer;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:8px;transition:all .2s ease}.back-home[data-v-6db82ec3]:hover{color:var(--accent);border-color:var(--accent);transform:translate(-2px);box-shadow:0 2px 8px #2f54c41a}.login-card[data-v-6db82ec3]{position:relative;z-index:1;width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:20px;padding:40px 36px;box-shadow:var(--shadow-lg);animation:cardEnter-6db82ec3 .6s ease-out}@keyframes cardEnter-6db82ec3{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header[data-v-6db82ec3]{text-align:center;margin-bottom:28px}.login-logo h1[data-v-6db82ec3]{font-size:26px;font-weight:800;margin:0 0 6px;cursor:pointer;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px}.subtitle[data-v-6db82ec3]{color:var(--text-secondary);font-size:14px;margin:0}.login-form[data-v-6db82ec3]{display:flex;flex-direction:column;gap:18px}.form-group[data-v-6db82ec3]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-6db82ec3]{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group label svg[data-v-6db82ec3]{opacity:.5}.input-wrap[data-v-6db82ec3]{position:relative}.input[data-v-6db82ec3]{width:100%;padding:11px 14px;border:1px solid var(--border-primary);border-radius:10px;font-size:15px;outline:none;background:var(--bg-input);color:var(--text-primary);transition:border-color .2s,box-shadow .2s;box-sizing:border-box;position:relative;z-index:1}.input[data-v-6db82ec3]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f54c41f}.input[data-v-6db82ec3]::placeholder{color:var(--text-tertiary);opacity:.6}.input-glow[data-v-6db82ec3]{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:10px;opacity:0;transition:opacity .3s;pointer-events:none}.input-wrap:focus-within .input-glow[data-v-6db82ec3]{opacity:1;background:linear-gradient(135deg,rgba(47,84,196,.08),transparent)}.select-input[data-v-6db82ec3]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:32px}.select-arrow[data-v-6db82ec3]{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:2;color:var(--text-tertiary);pointer-events:none}.btn-submit[data-v-6db82ec3]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:var(--accent-text);border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);margin-top:4px;position:relative;overflow:hidden}.btn-submit[data-v-6db82ec3]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .3s}.btn-submit[data-v-6db82ec3]:hover:not(:disabled):before{opacity:1}.btn-submit[data-v-6db82ec3]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2f54c44d}.btn-submit[data-v-6db82ec3]:active:not(:disabled){transform:translateY(0)}.btn-submit[data-v-6db82ec3]:disabled{opacity:.5;cursor:not-allowed}.btn-submit svg[data-v-6db82ec3]{transition:transform .2s}.btn-submit:hover:not(:disabled) svg[data-v-6db82ec3]{transform:translate(3px)}.error-msg[data-v-6db82ec3]{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ef44440f;border:1px solid rgba(239,68,68,.2);border-radius:10px;font-size:13px;color:var(--error);margin-bottom:6px}.error-icon[data-v-6db82ec3]{flex-shrink:0;font-size:14px}.login-footer[data-v-6db82ec3]{display:flex;flex-direction:column;gap:8px;margin-top:22px;align-items:center}.link-btn[data-v-6db82ec3]{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;font-weight:500;padding:6px 10px;border-radius:6px;transition:all .15s}.link-btn[data-v-6db82ec3]:hover{background:var(--accent-light);text-decoration:none}.link-btn.muted[data-v-6db82ec3]{color:var(--text-tertiary);font-size:12px;font-weight:400}.link-btn.muted[data-v-6db82ec3]:hover{background:var(--bg-hover);color:var(--text-secondary)}.spinner[data-v-6db82ec3]{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-6db82ec3 .6s linear infinite}@keyframes spin-6db82ec3{to{transform:rotate(360deg)}}.fade-enter-active[data-v-6db82ec3],.fade-leave-active[data-v-6db82ec3]{transition:opacity .2s ease,transform .2s ease}.fade-enter-from[data-v-6db82ec3],.fade-leave-to[data-v-6db82ec3]{opacity:0;transform:translateY(-4px)}@media(max-width:480px){.login-card[data-v-6db82ec3]{padding:28px 20px;border-radius:16px}.back-home[data-v-6db82ec3]{top:12px;left:12px;font-size:12px;padding:4px 10px}.login-logo h1[data-v-6db82ec3]{font-size:22px}}.sh-icon[data-v-093fbd30]{display:block;width:var(--sh-icon-size, 1.25em);height:var(--sh-icon-size, 1.25em)}.device-palette[data-v-b4c86038]{padding:1rem;background:var(--bg-panel);border-right:1px solid var(--border-primary);height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.palette-header[data-v-b4c86038]{display:flex;align-items:center;justify-content:space-between;gap:8px}.palette-title[data-v-b4c86038]{margin:0;font-size:1rem;color:var(--text-primary);font-weight:700}.palette-count[data-v-b4c86038]{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent-light);color:var(--accent);font:700 11px var(--font-mono)}.palette-search[data-v-b4c86038]{position:relative;display:flex;align-items:center}.search-icon[data-v-b4c86038]{position:absolute;left:10px;width:14px;height:14px;color:var(--text-tertiary);pointer-events:none}.search-input[data-v-b4c86038]{width:100%;padding:8px 28px 8px 30px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font:500 12px var(--font-body);transition:border-color .15s,box-shadow .15s}.search-input[data-v-b4c86038]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.search-clear[data-v-b4c86038]{position:absolute;right:8px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:var(--bg-hover);color:var(--text-tertiary);font-size:10px;cursor:pointer;transition:all .15s}.search-clear[data-v-b4c86038]:hover{background:#ef44441a;color:var(--error)}.category-summary[data-v-b4c86038]{display:flex;flex-direction:column;gap:6px}.category-summary-header[data-v-b4c86038]{display:flex;align-items:center;justify-content:space-between;gap:8px}.category-summary-title[data-v-b4c86038]{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.category-summary-total[data-v-b4c86038]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:var(--accent-light);color:var(--accent);font:700 10px var(--font-mono)}.category-chips[data-v-b4c86038]{display:flex;gap:5px;flex-wrap:wrap}.category-chip[data-v-b4c86038]{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid var(--border-primary);border-radius:999px;background:var(--bg-card);color:var(--text-secondary);font:600 10px var(--font-mono);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.category-chip[data-v-b4c86038]:hover{border-color:var(--accent);color:var(--text-primary)}.category-chip.active[data-v-b4c86038]{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.category-chip-icon[data-v-b4c86038]{font-size:11px}.category-chip-count[data-v-b4c86038]{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--moss-soft);color:var(--moss);font:700 10px var(--font-mono)}.protocol-filters[data-v-b4c86038]{display:flex;gap:5px;flex-wrap:wrap}.proto-chip[data-v-b4c86038]{padding:4px 9px;border:1px solid var(--border-primary);border-radius:999px;background:var(--bg-card);color:var(--text-secondary);font:600 10px var(--font-mono);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.proto-chip[data-v-b4c86038]:hover{border-color:var(--accent);color:var(--text-primary)}.proto-chip.active[data-v-b4c86038]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.device-list[data-v-b4c86038]{display:flex;flex-direction:column;gap:8px}.device-item[data-v-b4c86038]{position:relative;display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:grab;transition:all .15s}.device-item[data-v-b4c86038]:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.device-item[data-v-b4c86038]:active{cursor:grabbing}.device-item.selected[data-v-b4c86038]{background:var(--accent-light);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.device-icon[data-v-b4c86038]{font-size:1.4rem;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:50%;flex-shrink:0}.palette-smart-icon[data-v-b4c86038]{--sh-icon-size: 22px;color:var(--text-secondary, #475569)}.palette-chip-icon[data-v-b4c86038]{--sh-icon-size: 15px;vertical-align:middle;color:inherit}.device-info[data-v-b4c86038]{flex:1;min-width:0}.device-item.has-badge .device-info[data-v-b4c86038]{padding-right:20px}.device-name[data-v-b4c86038]{font-weight:600;font-size:12px;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-meta[data-v-b4c86038]{display:flex;justify-content:space-between;align-items:center;font-size:11px;gap:8px}.protocol-badge[data-v-b4c86038]{padding:2px 6px;border-radius:4px;font-weight:600;font-size:10px;text-transform:uppercase;font-family:var(--font-mono)}.protocol-badge.zigbee[data-v-b4c86038]{background:#e0f2fe;color:#0369a1}.protocol-badge.wifi[data-v-b4c86038]{background:#dcfce7;color:#15803d}.protocol-badge.matter[data-v-b4c86038]{background:var(--accent-light);color:var(--accent)}.protocol-badge.thread[data-v-b4c86038]{background:#fef3c7;color:#b45309}.protocol-badge.zwave[data-v-b4c86038]{background:#ede9fe;color:#6d28d9}.price[data-v-b4c86038]{color:var(--success);font-weight:600;white-space:nowrap}.placed-badge[data-v-b4c86038]{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--moss-soft);color:var(--moss);font:700 10px var(--font-mono)}.loading[data-v-b4c86038],.empty[data-v-b4c86038]{text-align:center;color:var(--text-secondary);padding:2rem 0;font-size:13px}.device-canvas-wrapper[data-v-86898ac0]{position:relative;display:flex;flex-direction:column;height:100%;min-height:400px;border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-card)}.canvas-toolbar[data-v-86898ac0]{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:var(--bg-panel);border-bottom:1px solid var(--border-primary);font-size:.85rem;color:var(--text-secondary);flex-shrink:0}.zoom-controls[data-v-86898ac0],.mode-controls[data-v-86898ac0]{display:flex;align-items:center;gap:4px}.canvas-toolbar button[data-v-86898ac0]{width:32px;height:32px;border:1px solid var(--border-primary);background:var(--bg-card);border-radius:6px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .15s;color:var(--text-secondary)}.canvas-toolbar button[data-v-86898ac0]:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--text-primary)}.canvas-toolbar button.active[data-v-86898ac0]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.zoom-level[data-v-86898ac0]{min-width:45px;text-align:center;font-variant-numeric:tabular-nums}.info-bar[data-v-86898ac0]{flex:1;text-align:right;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-info[data-v-86898ac0]{color:var(--accent);font-weight:600}.device-edit-panel[data-v-86898ac0]{display:flex;align-items:flex-end;gap:10px;padding:8px 1rem;background:var(--bg-panel);border-bottom:1px solid var(--border-primary);flex-shrink:0}.edit-field[data-v-86898ac0]{display:flex;flex-direction:column;gap:4px}.edit-label[data-v-86898ac0]{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.edit-input[data-v-86898ac0]{padding:6px 10px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font:500 12px var(--font-body);min-width:160px;transition:border-color .15s,box-shadow .15s}.edit-input[data-v-86898ac0]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.edit-rotation[data-v-86898ac0]{min-width:70px;text-align:right}.edit-degree[data-v-86898ac0]{position:relative;margin-left:-20px;font-size:11px;color:var(--text-tertiary);padding-bottom:7px}.edit-delete[data-v-86898ac0]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s;margin-left:auto}.edit-delete[data-v-86898ac0]:hover{background:#ef44441a;border-color:var(--error);color:var(--error)}.edit-delete svg[data-v-86898ac0]{width:15px;height:15px}canvas[data-v-86898ac0]{flex:1;cursor:default}@media(max-width:860px){.canvas-toolbar[data-v-86898ac0]{flex-wrap:wrap;gap:.5rem;row-gap:.35rem}.info-bar[data-v-86898ac0]{flex-basis:100%;text-align:left}.device-edit-panel[data-v-86898ac0]{flex-wrap:wrap;gap:8px}.edit-input[data-v-86898ac0]{min-width:130px;flex:1 1 140px}.edit-rotation[data-v-86898ac0]{min-width:60px}}.coverage-overlay-panel[data-v-31a55a13]{background:var(--bg-card, #ffffff);border:1px solid var(--border-primary, #e2e8f0);border-radius:8px;overflow:hidden;font-size:.85rem}.panel-header[data-v-31a55a13]{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;background:var(--bg-panel, #f8fafc);cursor:pointer;-webkit-user-select:none;user-select:none}.panel-title[data-v-31a55a13]{font-weight:600}.panel-toggle[data-v-31a55a13]{color:var(--text-secondary, #475569);font-size:.75rem}.panel-body[data-v-31a55a13]{padding:.6rem .75rem;display:flex;flex-direction:column;gap:.5rem}.layer-toggle[data-v-31a55a13]{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;border-radius:4px;cursor:pointer;transition:background .15s}.layer-toggle[data-v-31a55a13]:hover{background:var(--bg-hover, #f1f5f9)}.layer-toggle.active[data-v-31a55a13]{font-weight:500}.layer-toggle input[type=checkbox][data-v-31a55a13]{accent-color:var(--accent, #2563eb)}.layer-indicator[data-v-31a55a13]{width:12px;height:12px;border-radius:3px;flex-shrink:0}.layer-indicator.wifi[data-v-31a55a13]{background:#3b82f6}.layer-indicator.zigbee[data-v-31a55a13]{background:#22c55e}.layer-indicator.sensor[data-v-31a55a13]{background:#f97316}.layer-indicator.route[data-v-31a55a13]{background:#eab308}.opacity-control[data-v-31a55a13]{display:flex;align-items:center;gap:.5rem}.opacity-label[data-v-31a55a13]{flex-shrink:0;min-width:60px;color:var(--text-secondary, #475569)}.opacity-slider[data-v-31a55a13]{flex:1;height:4px;accent-color:var(--accent, #2563eb)}.opacity-value[data-v-31a55a13]{min-width:35px;text-align:right;font-family:monospace;color:#6c757d}.perf-row[data-v-31a55a13]{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.3rem .4rem;border-radius:4px;background:var(--bg-hover, #f1f5f9);font-size:.75rem}.perf-item[data-v-31a55a13]{display:inline-flex;align-items:baseline;gap:.3rem}.perf-row.ok[data-v-31a55a13]{background:#22c55e14}.perf-label[data-v-31a55a13]{color:var(--text-secondary, #475569)}.perf-value[data-v-31a55a13]{font-family:monospace;color:#495057}.perf-badge[data-v-31a55a13]{margin-left:auto;padding:0 .4rem;border-radius:3px;font-size:.65rem;font-weight:700;letter-spacing:.04em;color:#fff;background:#ef4444}.perf-badge.ok[data-v-31a55a13]{background:#22c55e}.legend[data-v-31a55a13]{padding-top:.4rem;border-top:1px solid #e9ecef}.legend-title[data-v-31a55a13]{font-weight:600;margin-bottom:.3rem;font-size:.8rem;color:#495057}.legend-row[data-v-31a55a13]{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:#6c757d;flex-wrap:wrap}.legend-swatch[data-v-31a55a13]{display:inline-block;width:10px;height:10px;border-radius:2px}.legend-swatch.strong[data-v-31a55a13],.legend-swatch.good[data-v-31a55a13]{background:#22c55e}.legend-swatch.medium[data-v-31a55a13],.legend-swatch.fair[data-v-31a55a13]{background:#eab308}.legend-swatch.weak[data-v-31a55a13],.legend-swatch.poor[data-v-31a55a13]{background:#ef4444}.legend-swatch.hop1[data-v-31a55a13]{background:#22c55e}.legend-swatch.hop2[data-v-31a55a13]{background:#eab308}.legend-swatch.hop3[data-v-31a55a13]{background:#ef4444}.legend-swatch.hopIsolated[data-v-31a55a13]{background:transparent;border:2px dashed #ef4444;border-radius:50%}.slide-fade-enter-active[data-v-31a55a13],.slide-fade-leave-active[data-v-31a55a13]{transition:all .2s ease}.slide-fade-enter-from[data-v-31a55a13],.slide-fade-leave-to[data-v-31a55a13]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.wizard-trigger[data-v-9fcd05d9]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);font-size:12px;font-weight:500;font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:all var(--dur-fast) var(--ease-out)}.wizard-trigger[data-v-9fcd05d9]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.wizard-trigger-icon[data-v-9fcd05d9]{width:13px;height:13px}.wz-overlay[data-v-9fcd05d9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding-top:6vh;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.wz-modal[data-v-9fcd05d9]{width:640px;max-width:94vw;max-height:82vh;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:14px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:wz-appear-9fcd05d9 .25s ease-out}@keyframes wz-appear-9fcd05d9{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.wz-header[data-v-9fcd05d9]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-primary)}.wz-title[data-v-9fcd05d9]{margin:0;font-size:14px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:7px}.wz-title-icon[data-v-9fcd05d9]{width:17px;height:17px;color:var(--accent)}.wz-close[data-v-9fcd05d9]{display:inline-flex;padding:5px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.wz-close[data-v-9fcd05d9]:hover{background:#ef44441a;color:var(--error)}.wz-close svg[data-v-9fcd05d9]{width:15px;height:15px;display:block}.wz-desc[data-v-9fcd05d9]{margin:0;padding:10px 18px 0;font-size:12px;color:var(--text-secondary)}.wz-body[data-v-9fcd05d9]{padding:14px 18px 18px;overflow-y:auto;flex:1}.wz-group[data-v-9fcd05d9]{margin-bottom:14px}.wz-label[data-v-9fcd05d9]{display:block;font-weight:600;margin-bottom:6px;font-size:12px;color:var(--text-secondary)}.wz-area-row[data-v-9fcd05d9]{display:flex;align-items:center;gap:12px}.wz-area-value[data-v-9fcd05d9]{min-width:60px;font-weight:700;color:var(--accent);font-size:1.05rem;font-variant-numeric:tabular-nums}.wz-range[data-v-9fcd05d9]{flex:1;accent-color:var(--accent);height:4px}.wz-scenarios[data-v-9fcd05d9]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wz-chip[data-v-9fcd05d9]{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);-webkit-user-select:none;user-select:none}.wz-chip[data-v-9fcd05d9]:hover{border-color:var(--accent);background:var(--bg-hover)}.wz-chip.selected[data-v-9fcd05d9]{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:600}.wz-chip-input[data-v-9fcd05d9]{display:none}.wz-chip-icon[data-v-9fcd05d9]{font-size:1.2rem}.wz-chip-label[data-v-9fcd05d9]{font-size:12px}.wz-input[data-v-9fcd05d9]{font:500 14px var(--font-body);width:100%;padding:10px 14px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.wz-input[data-v-9fcd05d9]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.wz-btn[data-v-9fcd05d9]{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border:none;border-radius:var(--radius-md);font:600 13px var(--font-body);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.wz-btn[data-v-9fcd05d9]:disabled{opacity:.5;cursor:not-allowed}.wz-btn-block[data-v-9fcd05d9]{width:100%}.wz-btn-primary[data-v-9fcd05d9]{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:var(--accent-text);box-shadow:0 2px 8px #2563eb40}.wz-btn-primary[data-v-9fcd05d9]:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 12px #2563eb59;transform:translateY(-1px)}.wz-btn-primary[data-v-9fcd05d9]:active{transform:scale(.97)}.wz-btn-secondary[data-v-9fcd05d9]{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-secondary)}.wz-btn-secondary[data-v-9fcd05d9]:hover{background:var(--bg-active);color:var(--text-primary)}.wz-btn-icon[data-v-9fcd05d9]{width:15px;height:15px}.wz-sets[data-v-9fcd05d9]{margin-top:14px;border-top:1px dashed var(--border-secondary);padding-top:12px}.wz-sets-title[data-v-9fcd05d9]{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.wz-sets-count[data-v-9fcd05d9]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent-light);color:var(--accent);font:700 10px var(--font-mono)}.wz-set-row[data-v-9fcd05d9]{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-card);margin-bottom:6px;transition:border-color var(--dur-fast)}.wz-set-row[data-v-9fcd05d9]:hover{border-color:var(--accent)}.wz-set-info[data-v-9fcd05d9]{flex:1;min-width:0}.wz-set-name[data-v-9fcd05d9]{font-weight:600;font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wz-set-meta[data-v-9fcd05d9]{font-size:11px;color:var(--text-tertiary);margin-top:1px}.wz-set-actions[data-v-9fcd05d9]{display:flex;align-items:center;gap:6px}.wz-btn-sm[data-v-9fcd05d9]{padding:6px 12px;font-size:12px}.wz-set-delete[data-v-9fcd05d9]{display:inline-flex;padding:6px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.wz-set-delete[data-v-9fcd05d9]:hover{background:#ef44441a;color:var(--error)}.wz-set-delete svg[data-v-9fcd05d9]{width:14px;height:14px;display:block}.wz-save-set[data-v-9fcd05d9]{display:flex;gap:8px;margin-top:14px}.wz-save-set .wz-input[data-v-9fcd05d9]{flex:1}.wz-set-saved[data-v-9fcd05d9]{margin:8px 0 0;font-size:12px;color:var(--success)}.wz-loading[data-v-9fcd05d9]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.wz-spinner[data-v-9fcd05d9]{width:26px;height:26px;border:3px solid var(--border-primary);border-top-color:var(--accent);border-radius:50%;animation:wz-spin-9fcd05d9 .7s linear infinite}@keyframes wz-spin-9fcd05d9{to{transform:rotate(360deg)}}.wz-loading-text[data-v-9fcd05d9]{margin-top:14px;font-size:13px;color:var(--text-secondary)}.wz-results-header[data-v-9fcd05d9]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px;flex-wrap:wrap}.wz-badge[data-v-9fcd05d9]{display:inline-flex;align-items:center;gap:6px;font:700 11px var(--font-mono);letter-spacing:.04em;padding:4px 10px;border-radius:6px;text-transform:uppercase}.wz-badge-ok[data-v-9fcd05d9]{background:var(--moss-soft);color:var(--moss)}.wz-results-rooms[data-v-9fcd05d9]{font-size:12px;color:var(--text-secondary)}.wz-warning[data-v-9fcd05d9]{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--ochre);border-radius:var(--radius-md);background:var(--ochre-soft);color:var(--ochre);font-size:12px;margin-bottom:10px}.wz-warning-icon[data-v-9fcd05d9]{width:15px;height:15px;flex-shrink:0;margin-top:1px}.wz-suggestion-table[data-v-9fcd05d9]{max-height:280px;overflow-y:auto;border:1px solid var(--border-primary);border-radius:var(--radius-md)}.wz-suggestion-row[data-v-9fcd05d9]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border-secondary);font-size:12px}.wz-suggestion-row[data-v-9fcd05d9]:last-child{border-bottom:none}.wz-suggestion-row.is-mandatory[data-v-9fcd05d9]{background:var(--moss-soft)}.wz-suggestion-icon[data-v-9fcd05d9]{font-size:1.2rem;flex-shrink:0}.wz-suggestion-info[data-v-9fcd05d9]{flex:1;min-width:0}.wz-suggestion-name[data-v-9fcd05d9]{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wz-suggestion-brand[data-v-9fcd05d9]{font-size:11px;color:var(--text-tertiary)}.wz-suggestion-reason[data-v-9fcd05d9]{font-size:11px;color:var(--text-secondary);margin-top:2px}.wz-suggestion-count[data-v-9fcd05d9]{white-space:nowrap;color:var(--text-secondary)}.wz-suggestion-price[data-v-9fcd05d9]{white-space:nowrap;font-weight:600;color:var(--success);min-width:80px;text-align:right;font-variant-numeric:tabular-nums}.wz-total-row[data-v-9fcd05d9]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 4px;font-size:1.05rem;color:var(--text-primary)}.wz-total-amount[data-v-9fcd05d9]{font-size:1.2rem;font-weight:700;color:var(--success)}.wz-actions[data-v-9fcd05d9]{display:flex;gap:10px;margin-top:10px}.wz-actions .wz-btn[data-v-9fcd05d9]{flex:1}.wz-fade-enter-active[data-v-9fcd05d9],.wz-fade-leave-active[data-v-9fcd05d9]{transition:opacity .2s}.wz-fade-enter-from[data-v-9fcd05d9],.wz-fade-leave-to[data-v-9fcd05d9]{opacity:0}.sh-cost-overlay[data-v-d1ad6b16]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px}.sh-cost-modal[data-v-d1ad6b16]{background:var(--bg-panel, #fff);border-radius:14px;width:100%;max-width:820px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column}.sh-cost-header[data-v-d1ad6b16]{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border-primary, #e2e8f0);flex-shrink:0}.sh-cost-header h3[data-v-d1ad6b16]{margin:0;font-size:16px;font-weight:700;color:var(--text-primary, #0f172a);display:flex;align-items:center;gap:10px}.sh-cost-title-icon[data-v-d1ad6b16]{width:20px;height:20px;color:var(--accent, #2563eb)}.sh-cost-close[data-v-d1ad6b16]{border:none;background:none;font-size:18px;cursor:pointer;color:var(--text-tertiary, #94a3b8);padding:4px 8px;border-radius:6px}.sh-cost-close[data-v-d1ad6b16]:hover{background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #0f172a)}.sh-cost-body[data-v-d1ad6b16]{padding:20px 24px 24px;overflow-y:auto}.sh-cost-summary[data-v-d1ad6b16]{background:linear-gradient(135deg,var(--accent, #2563eb),#1d4ed8);border-radius:12px;padding:20px 24px;margin-bottom:24px;color:#fff}.sh-cost-total-row[data-v-d1ad6b16]{display:flex;align-items:baseline;justify-content:space-between}.sh-cost-total-label[data-v-d1ad6b16]{font-size:13px;opacity:.85}.sh-cost-total-value[data-v-d1ad6b16]{font-size:28px;font-weight:800;font-family:var(--font-mono, monospace)}.sh-cost-total-sub[data-v-d1ad6b16]{font-size:11px;opacity:.7;margin-top:4px}.sh-cost-discount-row[data-v-d1ad6b16]{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:600;margin-top:6px;color:#bbf7d0;padding-top:6px;border-top:1px dashed rgba(255,255,255,.25)}.sh-cost-section[data-v-d1ad6b16]{margin-bottom:20px}.sh-cost-section-title[data-v-d1ad6b16]{font-size:14px;font-weight:700;margin:0 0 10px;color:var(--text-primary, #0f172a)}.sh-cost-table[data-v-d1ad6b16]{width:100%;border-collapse:collapse;font-size:12px}.sh-cost-table th[data-v-d1ad6b16]{text-align:left;padding:7px 8px;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-tertiary, #94a3b8);border-bottom:1px solid var(--border-primary, #e2e8f0)}.sh-cost-table td[data-v-d1ad6b16]{padding:6px 8px;border-bottom:1px solid var(--border-primary, #e2e8f0);color:var(--text-primary, #0f172a)}.row-odd[data-v-d1ad6b16]{background:var(--bg-hover, #f8fafc)}.col-name[data-v-d1ad6b16]{min-width:180px}.col-brand[data-v-d1ad6b16]{color:var(--text-secondary, #475569);min-width:140px}.col-cat[data-v-d1ad6b16]{color:var(--text-tertiary, #94a3b8);font-size:11px}.col-qty[data-v-d1ad6b16],.col-price[data-v-d1ad6b16],.col-sum[data-v-d1ad6b16]{text-align:right;white-space:nowrap}.col-sum[data-v-d1ad6b16]{font-weight:600}.sh-cost-table th.col-qty[data-v-d1ad6b16],.sh-cost-table th.col-price[data-v-d1ad6b16],.sh-cost-table th.col-sum[data-v-d1ad6b16]{text-align:right}.sh-cost-energy[data-v-d1ad6b16]{background:var(--bg-card, #f8fafc);border-radius:8px;padding:14px 16px}.sh-cost-energy-row[data-v-d1ad6b16]{display:flex;justify-content:space-between;padding:4px 0;font-size:13px;color:var(--text-primary, #0f172a)}.sh-cost-recs[data-v-d1ad6b16]{margin:0;padding:0 0 0 18px;font-size:12px;color:var(--text-secondary, #475569)}.sh-cost-recs li[data-v-d1ad6b16]{margin-bottom:4px}.sh-cost-gost[data-v-d1ad6b16]{display:flex;align-items:flex-start;gap:8px;margin-top:20px;padding:12px 16px;background:var(--bg-card, #f8fafc);border-radius:8px;border:1px solid var(--border-primary, #e2e8f0);font-size:11px;color:var(--text-tertiary, #94a3b8)}.sh-cost-gost-icon[data-v-d1ad6b16]{width:18px;height:18px;flex-shrink:0;margin-top:1px;color:var(--text-tertiary, #94a3b8)}.wz-fade-enter-active[data-v-d1ad6b16],.wz-fade-leave-active[data-v-d1ad6b16]{transition:opacity .2s}.wz-fade-enter-from[data-v-d1ad6b16],.wz-fade-leave-to[data-v-d1ad6b16]{opacity:0}@media(max-width:860px){.sh-cost-overlay[data-v-d1ad6b16]{padding:16px 10px;align-items:flex-end}.sh-cost-modal[data-v-d1ad6b16]{max-width:100vw;border-radius:14px 14px 0 0}.sh-cost-body[data-v-d1ad6b16]{padding:14px 12px;overflow-x:auto}.sh-cost-table[data-v-d1ad6b16]{font-size:11px}.col-name[data-v-d1ad6b16]{min-width:120px}.col-brand[data-v-d1ad6b16]{min-width:100px}}.scenario-trigger[data-v-400cd707]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);font-size:12px;font-weight:500;font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:all var(--dur-fast) var(--ease-out)}.scenario-trigger[data-v-400cd707]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.scenario-trigger-icon[data-v-400cd707]{width:13px;height:13px}.se-overlay[data-v-400cd707]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding-top:6vh;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.se-modal[data-v-400cd707]{width:680px;max-width:94vw;max-height:84vh;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:14px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:se-appear-400cd707 .25s ease-out}@keyframes se-appear-400cd707{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.se-header[data-v-400cd707]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-primary)}.se-title[data-v-400cd707]{margin:0;font-size:14px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:7px}.se-title-icon[data-v-400cd707]{width:17px;height:17px;color:var(--accent)}.se-close[data-v-400cd707]{display:inline-flex;padding:5px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.se-close[data-v-400cd707]:hover{background:#ef44441a;color:var(--error)}.se-close svg[data-v-400cd707]{width:15px;height:15px;display:block}.se-body[data-v-400cd707]{padding:14px 18px 18px;overflow-y:auto;flex:1}.se-desc[data-v-400cd707]{margin:0 0 12px;font-size:12px;color:var(--text-secondary);line-height:1.5}.se-empty[data-v-400cd707]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--text-tertiary);text-align:center;border:1px dashed var(--border-secondary);border-radius:var(--radius-md);margin-bottom:12px}.se-empty-icon[data-v-400cd707]{width:28px;height:28px}.se-empty-text[data-v-400cd707]{margin:0;font-size:12px;line-height:1.5;max-width:420px}.se-scenario-list[data-v-400cd707]{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.se-card[data-v-400cd707]{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-card);padding:10px 12px;transition:all var(--dur-fast) var(--ease-out)}.se-card[data-v-400cd707]:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.se-card.is-disabled[data-v-400cd707]{opacity:.55}.se-card-head[data-v-400cd707]{display:flex;align-items:center;justify-content:space-between;gap:8px}.se-card-title-wrap[data-v-400cd707]{display:flex;align-items:center;gap:8px;min-width:0}.se-card-status[data-v-400cd707]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.se-card-status.on[data-v-400cd707]{background:var(--success, #16a34a);box-shadow:0 0 0 3px #16a34a26}.se-card-status.off[data-v-400cd707]{background:var(--text-tertiary)}.se-card-name[data-v-400cd707]{font-weight:600;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.se-card-actions[data-v-400cd707]{display:flex;align-items:center;gap:4px;flex-shrink:0}.se-card-desc[data-v-400cd707]{font-size:11px;color:var(--text-tertiary);margin:6px 0 0;padding-left:16px}.se-card-flow[data-v-400cd707]{display:flex;gap:6px;margin-top:5px;padding-left:16px;font-size:11px;line-height:1.5}.se-flow-label[data-v-400cd707]{color:var(--text-tertiary);flex-shrink:0;font-weight:600}.se-flow-value[data-v-400cd707]{color:var(--text-secondary);overflow-wrap:anywhere}.se-toggle[data-v-400cd707]{position:relative;display:inline-flex;width:30px;height:17px;cursor:pointer;flex-shrink:0}.se-toggle-input[data-v-400cd707]{opacity:0;width:0;height:0}.se-toggle-slider[data-v-400cd707]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-secondary);border-radius:999px;transition:background var(--dur-fast)}.se-toggle-slider[data-v-400cd707]:before{content:"";position:absolute;width:13px;height:13px;left:2px;top:2px;background:#fff;border-radius:50%;transition:transform var(--dur-fast)}.se-toggle-input:checked+.se-toggle-slider[data-v-400cd707]{background:var(--accent)}.se-toggle-input:checked+.se-toggle-slider[data-v-400cd707]:before{transform:translate(13px)}.se-icon-btn[data-v-400cd707]{display:inline-flex;padding:5px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.se-icon-btn[data-v-400cd707]:hover{background:var(--bg-hover);color:var(--text-primary)}.se-icon-btn svg[data-v-400cd707]{width:14px;height:14px;display:block}.se-icon-danger[data-v-400cd707]:hover{background:#ef44441a;color:var(--error)}.se-form-row[data-v-400cd707]{margin-bottom:12px}.se-label[data-v-400cd707]{display:block;font-weight:600;margin-bottom:5px;font-size:12px;color:var(--text-secondary)}.se-input[data-v-400cd707]{font:500 13px var(--font-body);width:100%;padding:8px 12px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.se-input[data-v-400cd707]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.se-input-sm[data-v-400cd707]{width:140px;flex-shrink:0}.se-select[data-v-400cd707]{font:500 13px var(--font-body);padding:8px 10px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);min-width:0;flex:1;transition:border-color var(--dur-fast)}.se-select[data-v-400cd707]:focus{outline:none;border-color:var(--accent)}.se-arrow[data-v-400cd707]{color:var(--text-tertiary);font-size:12px}.se-block[data-v-400cd707]{border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:12px}.se-block-head[data-v-400cd707]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.se-block-title[data-v-400cd707]{font-size:12px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em}.se-add-btn[data-v-400cd707]{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border-secondary);border-radius:6px;background:var(--bg-card);color:var(--accent);font-size:11px;font-weight:600;cursor:pointer;transition:all var(--dur-fast)}.se-add-btn[data-v-400cd707]:hover:not(:disabled){border-color:var(--accent);background:var(--accent-light)}.se-add-btn[data-v-400cd707]:disabled{opacity:.5;cursor:not-allowed}.se-add-btn svg[data-v-400cd707]{width:11px;height:11px}.se-block-empty[data-v-400cd707]{font-size:11px;color:var(--text-tertiary);padding:6px 0}.se-block-row[data-v-400cd707]{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px dashed var(--border-secondary);flex-wrap:wrap}.se-block-row[data-v-400cd707]:first-of-type{border-top:none}.se-palette[data-v-400cd707]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.se-palette-group[data-v-400cd707]{border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:8px 10px;background:var(--bg-card)}.se-palette-title[data-v-400cd707]{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.se-palette-title em[data-v-400cd707]{font-style:normal;font-weight:500;color:var(--text-tertiary);text-transform:none;letter-spacing:0;font-size:10px}.se-palette-chips[data-v-400cd707]{display:flex;flex-wrap:wrap;gap:6px;min-height:22px}.se-palette-empty[data-v-400cd707]{font-size:11px;color:var(--text-tertiary);padding:2px 0}.se-chip[data-v-400cd707]{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid var(--border-secondary);border-radius:999px;background:var(--bg-input);font-size:11px;color:var(--text-secondary);cursor:grab;-webkit-user-select:none;user-select:none;transition:all var(--dur-fast) var(--ease-out)}.se-chip[data-v-400cd707]:hover{border-color:var(--accent);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.se-chip[data-v-400cd707]:active{cursor:grabbing}.se-chip-used[data-v-400cd707]{opacity:.55;border-style:dashed}.se-chip-icon[data-v-400cd707]{font-size:12px}.se-chip-name[data-v-400cd707]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.se-dnd-hint[data-v-400cd707]{margin:0 0 12px;font-size:11px;color:var(--text-tertiary);line-height:1.5}.se-zone[data-v-400cd707]{transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast)}.se-zone.is-drag-over[data-v-400cd707]{border-color:var(--accent);border-style:dashed;background:var(--accent-light);box-shadow:0 0 0 3px var(--accent-light)}.se-drag-handle[data-v-400cd707]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:22px;color:var(--text-tertiary);cursor:grab;border-radius:4px;flex-shrink:0;font-size:12px;-webkit-user-select:none;user-select:none;transition:all .15s}.se-drag-handle[data-v-400cd707]:hover{color:var(--accent);background:var(--accent-light)}.se-drag-handle[data-v-400cd707]:active{cursor:grabbing}.se-reorder[data-v-400cd707]{display:inline-flex;flex-direction:column;gap:1px;flex-shrink:0}.se-row-move[data-v-400cd707]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:14px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--text-tertiary);font-size:9px;line-height:1;cursor:pointer;transition:all .15s}.se-row-move[data-v-400cd707]:hover:not(:disabled){background:var(--accent-light);color:var(--accent)}.se-row-move[data-v-400cd707]:disabled{opacity:.25;cursor:not-allowed}.se-footer[data-v-400cd707]{display:flex;gap:10px;margin-top:6px}.se-footer .se-btn[data-v-400cd707]{flex:1}.se-btn[data-v-400cd707]{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border:none;border-radius:var(--radius-md);font:600 13px var(--font-body);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.se-btn[data-v-400cd707]:disabled{opacity:.5;cursor:not-allowed}.se-btn-block[data-v-400cd707]{width:100%}.se-btn-primary[data-v-400cd707]{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:var(--accent-text);box-shadow:0 2px 8px #2563eb40}.se-btn-primary[data-v-400cd707]:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 12px #2563eb59;transform:translateY(-1px)}.se-btn-primary[data-v-400cd707]:active{transform:scale(.97)}.se-btn-secondary[data-v-400cd707]{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-secondary)}.se-btn-secondary[data-v-400cd707]:hover{background:var(--bg-active);color:var(--text-primary)}.se-btn-icon[data-v-400cd707]{width:15px;height:15px}.se-error[data-v-400cd707]{margin-top:10px;padding:8px 12px;border:1px solid var(--coral);border-radius:var(--radius-md);background:var(--coral-soft);color:var(--coral);font-size:12px}.se-fade-enter-active[data-v-400cd707],.se-fade-leave-active[data-v-400cd707]{transition:opacity .2s}.se-fade-enter-from[data-v-400cd707],.se-fade-leave-to[data-v-400cd707]{opacity:0}@media(max-width:700px){.se-palette[data-v-400cd707]{grid-template-columns:1fr}}.smart-home-editor[data-v-e30e3eac]{display:flex;flex-direction:column;flex:1;min-height:0;position:relative}.editor-layout[data-v-e30e3eac]{display:flex;flex:1;overflow:hidden}.palette-panel[data-v-e30e3eac]{width:280px;display:flex;flex-direction:column;border-left:1px solid var(--border-primary);overflow-y:auto;background:var(--bg-panel);flex-shrink:0}.canvas-area[data-v-e30e3eac]{flex:1;overflow:hidden;display:flex;flex-direction:column;position:relative;min-height:0}.canvas-device-counter[data-v-e30e3eac]{position:absolute;bottom:12px;right:14px;display:flex;align-items:center;gap:6px;padding:5px 12px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:999px;box-shadow:var(--shadow-md);z-index:20;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:var(--font-mono)}.cdc-icon[data-v-e30e3eac]{width:14px;height:14px;color:var(--accent)}.cdc-num[data-v-e30e3eac]{min-width:1.3em;text-align:center;font-size:13px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.cdc-label[data-v-e30e3eac]{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em}.results-panel[data-v-e30e3eac]{width:360px;max-width:40vw;background:var(--bg-panel);border-left:1px solid var(--border-primary);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.results-header[data-v-e30e3eac]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-primary);flex-shrink:0}.results-title[data-v-e30e3eac]{font-size:14px;font-weight:700;color:var(--text-primary)}.results-close[data-v-e30e3eac]{display:inline-flex;padding:5px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.results-close[data-v-e30e3eac]:hover{background:#ef44441a;color:var(--error)}.results-close svg[data-v-e30e3eac]{width:15px;height:15px;display:block}.results-body[data-v-e30e3eac]{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:12px}.result-card[data-v-e30e3eac]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:12px 14px}.result-card-title[data-v-e30e3eac]{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-size:13px;font-weight:700;color:var(--text-primary)}.rc-icon[data-v-e30e3eac]{width:15px;height:15px;color:var(--accent)}.badge-compat[data-v-e30e3eac]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.badge-compat.ok[data-v-e30e3eac]{background:var(--moss-soft);color:var(--moss)}.badge-compat.err[data-v-e30e3eac]{background:var(--coral-soft);color:var(--coral)}.issue-list[data-v-e30e3eac]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.issue-item[data-v-e30e3eac]{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--text-primary)}.severity-badge[data-v-e30e3eac]{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;font-family:var(--font-mono);flex-shrink:0}.severity-badge.error[data-v-e30e3eac]{background:var(--coral-soft);color:var(--coral)}.severity-badge.warning[data-v-e30e3eac]{background:var(--ochre-soft);color:var(--ochre)}.issue-item.clickable[data-v-e30e3eac]{cursor:pointer;border-radius:6px;padding:3px 6px;margin:-3px -6px;transition:background .15s}.issue-item.clickable[data-v-e30e3eac]:hover{background:var(--bg-hover)}.compat-highlight-hint[data-v-e30e3eac]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:6px 8px;border:1px dashed var(--border-primary);border-radius:var(--radius-sm);font-size:11px;color:var(--text-secondary);flex-wrap:wrap}.legend-dot[data-v-e30e3eac]{width:9px;height:9px;border-radius:50%;flex-shrink:0}.legend-dot-error[data-v-e30e3eac]{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.legend-dot-warn[data-v-e30e3eac]{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.hl-count[data-v-e30e3eac]{margin-left:auto;font:600 10px var(--font-mono);color:var(--text-tertiary);white-space:nowrap}.rec-list[data-v-e30e3eac]{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.rec-item[data-v-e30e3eac]{font-size:12px;color:var(--text-secondary)}.summary-row[data-v-e30e3eac]{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.summary-chip[data-v-e30e3eac]{padding:3px 8px;border-radius:999px;background:var(--bg-hover);color:var(--text-secondary);font:600 10px var(--font-mono)}.summary-chip.err[data-v-e30e3eac]{background:var(--coral-soft);color:var(--coral)}.summary-chip.warn[data-v-e30e3eac]{background:var(--ochre-soft);color:var(--ochre)}.cost-total[data-v-e30e3eac]{font-size:1.5rem;font-weight:700;color:var(--success);margin-bottom:2px}.cost-total-note[data-v-e30e3eac]{font-size:10px;color:var(--text-tertiary);margin-bottom:10px;text-transform:uppercase;letter-spacing:.03em}.energy-audit[data-v-e30e3eac]{margin-top:12px;padding:10px 12px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-hover) 100%)}.energy-head[data-v-e30e3eac]{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--accent);margin-bottom:8px}.ea-icon[data-v-e30e3eac]{width:14px;height:14px}.energy-grid[data-v-e30e3eac]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.energy-cell[data-v-e30e3eac]{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--bg-panel);border:1px solid var(--border-secondary);border-radius:var(--radius-sm)}.energy-value[data-v-e30e3eac]{font-size:1.05rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.energy-unit[data-v-e30e3eac]{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em}.energy-breakdown[data-v-e30e3eac]{margin-top:8px;display:flex;flex-direction:column;gap:4px}.energy-row[data-v-e30e3eac]{font-size:11px;color:var(--text-secondary);padding:3px 0}.energy-row.top .energy-cat[data-v-e30e3eac]{color:var(--accent);font-weight:700}.energy-cat-wrap[data-v-e30e3eac]{display:flex;align-items:center;justify-content:space-between}.energy-share[data-v-e30e3eac]{font:600 10px var(--font-mono);color:var(--text-tertiary)}.energy-bar[data-v-e30e3eac]{height:3px;margin:3px 0 2px;background:var(--bg-hover);border-radius:999px;overflow:hidden}.energy-bar-fill[data-v-e30e3eac]{height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--success) 100%);border-radius:999px;transition:width .3s var(--ease-out)}.energy-metrics[data-v-e30e3eac]{display:flex;justify-content:space-between;align-items:baseline}.energy-cat[data-v-e30e3eac]{font-weight:500}.energy-kwh[data-v-e30e3eac]{font-variant-numeric:tabular-nums}.energy-byn[data-v-e30e3eac]{font:600 10px var(--font-mono);color:var(--success)}.energy-savings[data-v-e30e3eac]{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-secondary);display:flex;flex-direction:column;gap:6px}.energy-savings-head[data-v-e30e3eac]{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--success)}.energy-tip[data-v-e30e3eac]{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;font-size:11px;color:var(--text-secondary)}.energy-tip-main[data-v-e30e3eac]{flex:1;min-width:0}.energy-tip-text[data-v-e30e3eac]{line-height:1.35}.energy-tip-device[data-v-e30e3eac]{display:flex;justify-content:space-between;gap:6px;margin-top:2px;font-size:10px;color:var(--text-tertiary)}.energy-tip-device-name[data-v-e30e3eac]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.energy-tip-device-price[data-v-e30e3eac]{font:600 10px var(--font-mono);color:var(--text-secondary);flex-shrink:0}.energy-tip-payback[data-v-e30e3eac]{margin-top:2px;font-size:10px;color:var(--success);font-weight:600}.energy-tip-save[data-v-e30e3eac]{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.energy-tip-save-val[data-v-e30e3eac]{font:700 10px var(--font-mono);color:var(--success);white-space:nowrap}.energy-tip-save-kwh[data-v-e30e3eac]{font-size:9px;color:var(--text-tertiary);white-space:nowrap}.energy-tariff[data-v-e30e3eac]{margin-top:8px;font-size:10px;color:var(--text-tertiary)}.cost-detail[data-v-e30e3eac]{display:flex;flex-direction:column;gap:4px}.cost-actions[data-v-e30e3eac]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.cost-row[data-v-e30e3eac]{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;border-bottom:1px dashed var(--border-secondary)}.cost-row[data-v-e30e3eac]:last-child{border-bottom:none}.cost-category[data-v-e30e3eac]{color:var(--text-primary);font-weight:500}.cost-count[data-v-e30e3eac]{color:var(--text-tertiary);font-size:11px}.cost-amount[data-v-e30e3eac]{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums}.discount-row[data-v-e30e3eac]{border-bottom:none}.discount-amount[data-v-e30e3eac]{color:var(--success)}.discount-details[data-v-e30e3eac]{display:flex;flex-direction:column;gap:3px;margin:2px 0 8px;padding:6px 8px;background:var(--bg-panel);border:1px dashed var(--border-secondary);border-radius:var(--radius-sm);font-size:10px;color:var(--text-tertiary)}.discount-detail[data-v-e30e3eac]{display:flex;justify-content:space-between;gap:8px}.discount-detail-name[data-v-e30e3eac]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discount-detail-val[data-v-e30e3eac]{font:600 10px var(--font-mono);color:var(--success);flex-shrink:0}.yaml-preview[data-v-e30e3eac]{background:#1e293b;color:#e2e8f0;padding:10px;border-radius:var(--radius-sm);font-size:11px;font-family:var(--font-mono);max-height:160px;overflow:auto;margin-bottom:10px;white-space:pre-wrap;word-break:break-all}.action-error[data-v-e30e3eac]{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--coral);border-radius:var(--radius-md);background:var(--coral-soft);color:var(--coral);font-size:12px}.ae-icon[data-v-e30e3eac]{width:15px;height:15px;flex-shrink:0;margin-top:1px}.stage-tools[data-v-e30e3eac]{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--bg-panel);border-top:1px solid var(--border-primary);flex-shrink:0;overflow-x:auto}.tool-btn[data-v-e30e3eac]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);font-size:12px;font-weight:500;font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:all var(--dur-fast) var(--ease-out);text-decoration:none}.tool-btn[data-v-e30e3eac]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.tool-btn.active[data-v-e30e3eac],.tool-btn-estimate[data-v-e30e3eac]{background:var(--accent-light);color:var(--accent);border-color:var(--accent);font-weight:600}.tool-btn-estimate[data-v-e30e3eac]:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.tool-btn[data-v-e30e3eac]:disabled{opacity:.55;cursor:not-allowed}.device-props[data-v-e30e3eac]{display:flex;align-items:center;gap:8px;padding-right:14px;margin-right:6px;border-right:1px solid var(--border-primary)}.prop-field[data-v-e30e3eac]{display:flex;flex-direction:column;gap:2px}.prop-field-row[data-v-e30e3eac]{flex-direction:row;align-items:center;gap:6px}.prop-label[data-v-e30e3eac]{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;flex-shrink:0}.prop-input[data-v-e30e3eac]{padding:4px 8px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font:500 12px var(--font-body);min-width:0;transition:border-color .15s,box-shadow .15s}.prop-name[data-v-e30e3eac]{width:110px}.prop-input[data-v-e30e3eac]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.prop-rotation-wrap[data-v-e30e3eac]{display:flex;align-items:center}.prop-rotation[data-v-e30e3eac]{width:52px;text-align:center;-moz-appearance:textfield}.prop-rotation[data-v-e30e3eac]::-webkit-inner-spin-button,.prop-rotation[data-v-e30e3eac]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.prop-degree[data-v-e30e3eac]{font-size:11px;color:var(--text-tertiary)}.tool-btn-danger[data-v-e30e3eac]{border-color:#ef444459;color:var(--error)}.tool-btn-danger[data-v-e30e3eac]:hover{background:#ef444417;border-color:var(--error);color:var(--error)}.tools-spacer[data-v-e30e3eac]{flex:1}.mini-spinner[data-v-e30e3eac]{width:12px;height:12px;border:2px solid var(--border-primary);border-top-color:var(--accent);border-radius:50%;animation:mini-spin-e30e3eac .6s linear infinite;display:inline-block}@keyframes mini-spin-e30e3eac{to{transform:rotate(360deg)}}.drop-zone-overlay[data-v-e30e3eac]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-light);border:3px dashed var(--accent);display:flex;align-items:center;justify-content:center;z-index:100;pointer-events:auto}.drop-hint[data-v-e30e3eac]{background:var(--bg-card);padding:1rem 2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-weight:600;color:var(--accent)}.res-slide-enter-active[data-v-e30e3eac],.res-slide-leave-active[data-v-e30e3eac]{transition:opacity .2s ease}.res-slide-enter-from[data-v-e30e3eac],.res-slide-leave-to[data-v-e30e3eac]{opacity:0;transform:translate(16px)}.preview-bar[data-v-e30e3eac]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-top:2px solid var(--accent);background:var(--accent-light);flex-shrink:0}.preview-label[data-v-e30e3eac]{font-size:12px;font-weight:600;color:var(--accent)}.preview-actions[data-v-e30e3eac]{display:flex;gap:8px}.preview-btn[data-v-e30e3eac]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;border:none;border-radius:var(--radius-md);font:600 12px var(--font-body);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.preview-btn .icon[data-v-e30e3eac]{width:14px;height:14px;display:block}.preview-btn.confirm[data-v-e30e3eac]{background:var(--success);color:#fff}.preview-btn.confirm[data-v-e30e3eac]:hover{filter:brightness(1.1)}.preview-btn.cancel[data-v-e30e3eac]{background:var(--bg-hover);color:var(--text-secondary)}.preview-btn.cancel[data-v-e30e3eac]:hover{background:var(--error);color:#fff}.vp-fade-enter-active[data-v-e30e3eac],.vp-fade-leave-active[data-v-e30e3eac]{transition:opacity .2s}.vp-fade-enter-from[data-v-e30e3eac],.vp-fade-leave-to[data-v-e30e3eac]{opacity:0}.sh-ap-overlay[data-v-e30e3eac]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.sh-ap-modal[data-v-e30e3eac]{width:480px;max-width:94vw;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:14px;box-shadow:var(--shadow-lg);padding:16px 18px 18px;animation:wz-appear-e30e3eac .25s ease-out}.sh-ap-header[data-v-e30e3eac]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sh-ap-title[data-v-e30e3eac]{margin:0;font-size:14px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:7px}.sh-ap-title-icon[data-v-e30e3eac]{width:16px;height:16px;color:var(--accent)}.sh-ap-close[data-v-e30e3eac]{display:inline-flex;padding:5px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.sh-ap-close[data-v-e30e3eac]:hover{background:#ef44441a;color:var(--error)}.sh-ap-close svg[data-v-e30e3eac]{width:15px;height:15px;display:block}.sh-ap-desc[data-v-e30e3eac]{margin:0 0 12px;font-size:12px;color:var(--text-secondary)}.sh-ap-scenarios[data-v-e30e3eac]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.sh-ap-chip[data-v-e30e3eac]{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);-webkit-user-select:none;user-select:none}.sh-ap-chip[data-v-e30e3eac]:hover{border-color:var(--accent);background:var(--bg-hover)}.sh-ap-chip.selected[data-v-e30e3eac]{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:600}.sh-ap-chip-input[data-v-e30e3eac]{display:none}.sh-ap-chip-icon[data-v-e30e3eac]{font-size:1.1rem}.sh-ap-chip-label[data-v-e30e3eac]{font-size:12px}.sh-ap-btn[data-v-e30e3eac]{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border:none;border-radius:var(--radius-md);font:600 13px var(--font-body);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.sh-ap-btn[data-v-e30e3eac]:disabled{opacity:.5;cursor:not-allowed}.sh-ap-btn-block[data-v-e30e3eac]{width:100%}.sh-ap-btn-primary[data-v-e30e3eac]{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:var(--accent-text);box-shadow:0 2px 8px #2563eb40}.sh-ap-btn-primary[data-v-e30e3eac]:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 12px #2563eb59;transform:translateY(-1px)}.sh-ap-btn-primary[data-v-e30e3eac]:active{transform:scale(.97)}.wz-fade-enter-active[data-v-e30e3eac],.wz-fade-leave-active[data-v-e30e3eac]{transition:opacity .2s}.wz-fade-enter-from[data-v-e30e3eac],.wz-fade-leave-to[data-v-e30e3eac]{opacity:0}@keyframes wz-appear-e30e3eac{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1024px){.palette-panel[data-v-e30e3eac]{width:240px}.results-panel[data-v-e30e3eac]{width:320px;max-width:44vw}.stage-tools[data-v-e30e3eac]{gap:4px;padding:6px 10px}}@media(max-width:860px){.editor-layout[data-v-e30e3eac]{flex-direction:column}.palette-panel[data-v-e30e3eac]{width:100%;height:36%;min-height:150px;flex-shrink:0;border-left:none;border-top:1px solid var(--border-primary)}.results-panel[data-v-e30e3eac]{position:absolute;top:0;right:0;bottom:0;width:min(340px,88vw);max-width:none;z-index:30;box-shadow:var(--shadow-lg)}}.smart-home-page[data-v-2dfc4796]{display:flex;height:100vh;overflow:hidden;background:var(--canvas-bg);font-family:var(--font-body)}.sh-main[data-v-2dfc4796]{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.top-bar[data-v-2dfc4796]{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:var(--bg-panel, #ffffff);border-bottom:1px solid var(--border-primary, #e2e8f0);z-index:10}.tb-left[data-v-2dfc4796]{display:flex;align-items:center;gap:.75rem;min-width:0}.project-name[data-v-2dfc4796]{font-weight:600;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-right[data-v-2dfc4796]{margin-left:auto}.state-msg[data-v-2dfc4796]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-secondary, #475569)}.state-msg.error-state[data-v-2dfc4796]{color:#ef4444}.spinner[data-v-2dfc4796]{width:32px;height:32px;border:3px solid var(--border-primary, #e2e8f0);border-top-color:var(--accent, #2563eb);border-radius:50%;animation:spin-2dfc4796 .6s linear infinite}@keyframes spin-2dfc4796{to{transform:rotate(360deg)}}@media(max-width:860px){.top-bar[data-v-2dfc4796]{padding:.5rem .75rem}.project-name[data-v-2dfc4796]{max-width:150px}}.svg-plan-toolbar[data-v-a7a54807]{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px;z-index:30;background:var(--bg-panel, #ffffff);padding:4px 6px;border-radius:10px;box-shadow:0 4px 16px #0f172a1f;border:1px solid var(--border-primary, #e2e8f0);-webkit-user-select:none;user-select:none}.spt-btn[data-v-a7a54807]{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-secondary, #475569);font-size:12px;font-weight:500;font-family:var(--font-body);cursor:pointer;transition:all .15s ease;white-space:nowrap}.spt-btn[data-v-a7a54807]:hover{background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #0f172a)}.spt-btn.active[data-v-a7a54807]{background:var(--accent, #2563eb);border-color:var(--accent, #2563eb);color:var(--accent-text, #ffffff)}.spt-icon[data-v-a7a54807]{width:14px;height:14px;stroke:currentColor}.spt-label[data-v-a7a54807]{line-height:1}.spt-sep[data-v-a7a54807]{width:1px;height:18px;background:var(--border-primary, #e2e8f0);margin:0 3px}.spt-zoom[data-v-a7a54807]{min-width:28px;justify-content:center;padding:5px 7px;font-size:14px;font-weight:700}.spt-zoom-level[data-v-a7a54807]{min-width:42px;text-align:center;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary, #475569)}@media(max-width:860px){.spt-label[data-v-a7a54807]{display:none}.svg-plan-toolbar[data-v-a7a54807]{padding:3px 5px}}.lighting-canvas[data-v-4e9e0747]{position:relative;flex:1;min-height:0;height:100%;overflow:hidden;touch-action:none;background:radial-gradient(1200px 600px at 70% -10%,rgba(59,130,246,.08),transparent 60%),#f8fafc;border-radius:14px;border:1px solid #e2e8f0}.lighting-canvas.sp-pan-mode[data-v-4e9e0747]{cursor:grab}.lighting-canvas.sp-pan-mode.sp-panning[data-v-4e9e0747]{cursor:grabbing}.lighting-canvas.sp-pan-mode .lg-marker[data-v-4e9e0747]{cursor:grab}.lighting-canvas.sp-pan-mode.sp-panning .lg-marker[data-v-4e9e0747]{cursor:grabbing}.lg-svg[data-v-4e9e0747]{width:100%;height:100%;display:block;cursor:crosshair;-webkit-user-select:none;user-select:none}.lg-bg[data-v-4e9e0747]{fill:#fbfdff}.lg-room[data-v-4e9e0747]{fill:#ffffffa6;stroke:#94a3b8;stroke-width:2;transition:fill .15s ease,filter .15s ease}.lg-room-hover[data-v-4e9e0747]{fill:#facc151f;filter:drop-shadow(0 0 6px rgba(250,204,21,.25))}.lg-room-target[data-v-4e9e0747]{stroke-dasharray:6 4}.lg-room-label[data-v-4e9e0747]{fill:#64748b;font-size:14px;font-weight:600;text-anchor:middle;dominant-baseline:middle;pointer-events:none;letter-spacing:.02em}.lg-marker[data-v-4e9e0747]{cursor:grab;transition:transform .1s ease}.lg-marker[data-v-4e9e0747]:active{cursor:grabbing}.lg-marker-halo[data-v-4e9e0747]{fill:#ffffffd9;stroke:#94a3b899;stroke-width:1}.lg-marker-dot[data-v-4e9e0747]{stroke:#fff;stroke-width:1.5;filter:drop-shadow(0 1px 2px rgba(15,23,42,.25))}.lg-marker-selected .lg-marker-dot[data-v-4e9e0747]{stroke:#2563eb;stroke-width:2.5;filter:drop-shadow(0 0 6px rgba(37,99,235,.5))}.lg-marker-dragging[data-v-4e9e0747]{opacity:.85}.lg-marker-icon[data-v-4e9e0747]{font-size:12px;pointer-events:none}.lg-marker-name[data-v-4e9e0747]{fill:#1e293b;font-size:11px;font-weight:600;background:#ffffffe6;pointer-events:none}.lg-opening[data-v-4e9e0747]{pointer-events:none}.lg-opening-gap[data-v-4e9e0747]{fill:#fff;stroke:#94a3b8;stroke-width:1.5}.lg-window-line[data-v-4e9e0747],.lg-window-tick[data-v-4e9e0747]{stroke:#93c5fd;stroke-width:1.2}.lg-door-arc[data-v-4e9e0747]{fill:none;stroke:#94a3b8;stroke-width:1.2;stroke-dasharray:4 3}.lg-door-leaf[data-v-4e9e0747]{stroke:#64748b;stroke-width:1.2}.state-msg[data-v-4e9e0747]{display:flex;align-items:center;justify-content:center;gap:10px;height:100%;color:#64748b;font-size:14px}.lg-empty[data-v-4e9e0747]{flex-direction:column;gap:8px;padding:24px;text-align:center;font-size:15px}.spinner[data-v-4e9e0747]{width:18px;height:18px;border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;animation:lg-spin-4e9e0747 .8s linear infinite}@keyframes lg-spin-4e9e0747{to{transform:rotate(360deg)}}.lighting-palette[data-v-b4f99dfe]{display:flex;flex-direction:column;height:100%;min-height:0;gap:10px}.lp-header[data-v-b4f99dfe]{display:flex;align-items:center;justify-content:space-between;gap:8px}.lp-title[data-v-b4f99dfe]{font-size:13px;font-weight:700;color:#334155;letter-spacing:.02em}.lp-active[data-v-b4f99dfe]{font-size:11px;font-weight:600;color:#2563eb;background:#2563eb1a;border-radius:999px;padding:3px 10px;animation:lp-pulse-b4f99dfe 1.6s ease-in-out infinite}@keyframes lp-pulse-b4f99dfe{0%,to{opacity:1}50%{opacity:.55}}.lp-filters[data-v-b4f99dfe]{display:flex;flex-wrap:wrap;gap:6px}.lp-chip[data-v-b4f99dfe]{font-size:11px;font-weight:600;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:4px 10px;cursor:pointer;transition:all .15s ease}.lp-chip[data-v-b4f99dfe]:hover{border-color:#94a3b8;transform:translateY(-1px)}.lp-chip-active[data-v-b4f99dfe]{background:#2563eb;border-color:#2563eb;color:#fff}.lp-list[data-v-b4f99dfe]{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1;min-height:0;padding-right:2px}.lp-item[data-v-b4f99dfe]{display:flex;align-items:flex-start;gap:10px;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px;cursor:pointer;transition:all .15s ease}.lp-item[data-v-b4f99dfe]:hover{border-color:#2563eb;box-shadow:0 2px 10px #2563eb1f;transform:translateY(-1px)}.lp-item-selected[data-v-b4f99dfe]{border-color:#2563eb;background:linear-gradient(135deg,#2563eb0f,#3b82f61a);box-shadow:0 2px 12px #2563eb2e}.lp-item-icon[data-v-b4f99dfe]{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.lp-item-body[data-v-b4f99dfe]{display:flex;flex-direction:column;gap:2px;min-width:0}.lp-item-name[data-v-b4f99dfe]{font-size:12.5px;font-weight:600;color:#1e293b;line-height:1.3}.lp-item-meta[data-v-b4f99dfe]{font-size:11px;color:#64748b}.lp-item-temp[data-v-b4f99dfe]{font-size:10.5px;color:#94a3b8}.state-msg[data-v-b4f99dfe]{display:flex;align-items:center;justify-content:center;gap:8px;color:#94a3b8;font-size:13px;padding:20px 0}.spinner[data-v-b4f99dfe]{width:16px;height:16px;border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;animation:lp-spin-b4f99dfe .8s linear infinite}@keyframes lp-spin-b4f99dfe{to{transform:rotate(360deg)}}.lsp[data-v-142879ad]{display:flex;flex-direction:column;gap:10px;height:100%;overflow-y:auto}.lsp-head[data-v-142879ad]{display:flex;align-items:center;justify-content:space-between}.lsp-title[data-v-142879ad]{font-size:14px;font-weight:700;color:#1e293b}.lsp-close[data-v-142879ad]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#64748b;background:#f1f5f9;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.lsp-close[data-v-142879ad]:hover{background:#e2e8f0;color:#1e293b}.lsp-hint[data-v-142879ad]{font-size:11.5px;color:#64748b;line-height:1.45;margin:0}.lsp-active[data-v-142879ad]{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#10b9811a,#10b98108);border:1px solid #a7f3d0;border-radius:12px;padding:8px 10px}.lsp-active-icon[data-v-142879ad]{font-size:20px}.lsp-active-info[data-v-142879ad]{display:flex;flex-direction:column;font-size:12px;color:#065f46;flex:1}.lsp-list[data-v-142879ad]{display:flex;flex-direction:column;gap:10px}.lsp-scene[data-v-142879ad]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px}.lsp-scene-active[data-v-142879ad]{border-color:#34d399;box-shadow:0 0 0 1px #34d3994d}.lsp-scene-head[data-v-142879ad]{display:flex;align-items:center;gap:8px}.lsp-scene-icon[data-v-142879ad]{font-size:18px}.lsp-name[data-v-142879ad]{flex:1;font-size:13px;font-weight:600;color:#1e293b;background:transparent;border:1px solid transparent;border-radius:6px;padding:3px 6px;min-width:0}.lsp-name[data-v-142879ad]:hover{border-color:#e2e8f0}.lsp-name[data-v-142879ad]:focus{outline:none;border-color:#2563eb;background:#fff}.lsp-badge[data-v-142879ad]{width:26px;height:26px;border-radius:50%;background:#10b981;color:#fff;border:none;font-weight:800;font-size:13px;cursor:default}.lsp-row[data-v-142879ad]{display:flex;align-items:center;gap:8px;font-size:12px;color:#334155}.lsp-label[data-v-142879ad]{width:78px;flex-shrink:0;font-size:11px;color:#64748b}.lsp-range[data-v-142879ad]{flex:1;accent-color:#2563eb;cursor:pointer}.lsp-range[data-v-142879ad]:disabled{opacity:.4;cursor:not-allowed}.lsp-val[data-v-142879ad]{width:52px;text-align:right;font-weight:600;font-size:11px;color:#475569}.lsp-color[data-v-142879ad]{width:36px;height:26px;padding:0;border:1px solid #e2e8f0;border-radius:6px;background:none;cursor:pointer}.lsp-time[data-v-142879ad]{border:1px solid #e2e8f0;border-radius:6px;padding:3px 6px;font-size:12px;background:#fff}.lsp-scene-foot[data-v-142879ad]{display:flex;justify-content:flex-end}.lsp-btn[data-v-142879ad]{border:1px solid #e2e8f0;border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:600;color:#334155;background:#fff;cursor:pointer;transition:all .15s ease}.lsp-btn[data-v-142879ad]:hover{border-color:#94a3b8}.lsp-btn-primary[data-v-142879ad]{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb;color:#fff;flex-shrink:0}.lsp-btn-primary[data-v-142879ad]:hover{box-shadow:0 3px 10px #2563eb59}.lsp-btn-ghost[data-v-142879ad]{color:#059669;border-color:#a7f3d0;flex-shrink:0}.lsp-btn-ghost[data-v-142879ad]:hover{background:#ecfdf5}.lsp-btn-danger[data-v-142879ad]{color:#dc2626;border-color:#fecaca}.lsp-btn-danger[data-v-142879ad]:hover{background:#fef2f2}.lsp-apply[data-v-142879ad]{margin-left:auto}.lsp-templates[data-v-142879ad]{border-top:1px dashed #e2e8f0;padding-top:10px;display:flex;flex-direction:column;gap:8px}.lsp-templates-label[data-v-142879ad]{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.lsp-tpl-row[data-v-142879ad]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lsp-tpl[data-v-142879ad]{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;transition:all .15s ease;font-size:12px;color:#334155}.lsp-tpl[data-v-142879ad]:hover{border-color:#93c5fd;background:#eff6ff;transform:translateY(-1px)}.lsp-tpl-icon[data-v-142879ad]{font-size:15px}.lsp-tpl-name[data-v-142879ad]{font-weight:600}.lsp-loading[data-v-142879ad]{display:flex;justify-content:center;padding:12px 0}.lsp-error[data-v-142879ad]{font-size:11.5px;color:#dc2626;text-align:center}.spinner[data-v-142879ad]{width:16px;height:16px;border:2px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:lsp-spin-142879ad .8s linear infinite}@keyframes lsp-spin-142879ad{to{transform:rotate(360deg)}}.lighting-editor[data-v-b0b24d40]{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}.le-toolbar[data-v-b0b24d40]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.le-btn[data-v-b0b24d40]{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 14px;cursor:pointer;transition:all .15s ease}.le-btn[data-v-b0b24d40]:hover:not(:disabled){border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 2px 8px #0f172a14}.le-btn[data-v-b0b24d40]:disabled{opacity:.5;cursor:not-allowed}.le-btn-primary[data-v-b0b24d40]{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb;color:#fff}.le-btn-primary[data-v-b0b24d40]:hover:not(:disabled){box-shadow:0 4px 14px #2563eb59}.le-btn-danger[data-v-b0b24d40]{color:#dc2626;border-color:#fecaca}.le-btn-danger[data-v-b0b24d40]:hover:not(:disabled){background:#fef2f2;border-color:#ef4444}.le-btn-scenes-on[data-v-b0b24d40]{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:#7c3aed;color:#fff}.le-btn-scenes-on[data-v-b0b24d40]:hover:not(:disabled){box-shadow:0 4px 14px #7c3aed59}.le-scenes-dot[data-v-b0b24d40]{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 2px #10b98140}.le-btn-icon[data-v-b0b24d40]{font-size:15px}.le-count[data-v-b0b24d40]{font-size:12px;color:#64748b;background:#f1f5f9;border-radius:999px;padding:4px 12px;font-weight:600}.le-error[data-v-b0b24d40]{font-size:12px;color:#dc2626}.le-spacer[data-v-b0b24d40]{flex:1}.le-main[data-v-b0b24d40]{display:flex;gap:12px;flex:1;min-height:0}.le-main[data-v-b0b24d40]>:first-child{flex:1;min-width:0}.le-palette[data-v-b0b24d40]{width:330px;min-height:0;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px;display:flex}.le-scenes[data-v-b0b24d40]{width:340px;min-height:0;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;display:flex}.scenes-slide-enter-active[data-v-b0b24d40],.scenes-slide-leave-active[data-v-b0b24d40]{transition:transform .22s ease,opacity .22s ease}.scenes-slide-enter-from[data-v-b0b24d40],.scenes-slide-leave-to[data-v-b0b24d40]{transform:translate(20px);opacity:0}.le-results[data-v-b0b24d40]{position:fixed;right:18px;top:120px;bottom:18px;width:360px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 16px 40px #0f172a29;display:flex;flex-direction:column;padding:14px;gap:12px;z-index:40;overflow-y:auto}.le-results-header[data-v-b0b24d40]{display:flex;align-items:center;justify-content:space-between}.le-results-title[data-v-b0b24d40]{font-size:14px;font-weight:700;color:#1e293b}.le-results-close[data-v-b0b24d40]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#64748b;background:#f1f5f9;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.le-results-close[data-v-b0b24d40]:hover{background:#e2e8f0;color:#1e293b}.le-active-scene[data-v-b0b24d40]{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#7c3aed14,#7c3aed08);border:1px solid #ddd6fe;border-radius:12px;padding:10px 12px}.le-active-scene-icon[data-v-b0b24d40]{font-size:20px}.le-active-scene-info[data-v-b0b24d40]{display:flex;flex-direction:column;font-size:12px;color:#5b21b6;flex:1;min-width:0}.le-active-scene-info strong[data-v-b0b24d40]{font-size:13px}.le-active-scene-tag[data-v-b0b24d40]{font-size:10px;font-weight:700;color:#6d28d9;background:#ede9fe;border-radius:999px;padding:3px 10px;flex-shrink:0}.le-suggest[data-v-b0b24d40]{display:flex;flex-direction:column;gap:8px;background:linear-gradient(135deg,#10b98114,#10b98108);border:1px solid #a7f3d0;border-radius:12px;padding:12px}.le-suggest-summary[data-v-b0b24d40]{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:#065f46}.le-suggest-count[data-v-b0b24d40]{font-weight:700}.le-suggest-list[data-v-b0b24d40]{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.le-suggest-row[data-v-b0b24d40]{display:flex;align-items:center;gap:8px;font-size:12px;color:#334155}.le-suggest-room[data-v-b0b24d40]{font-weight:700;color:#065f46}.le-suggest-name[data-v-b0b24d40]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.le-suggest-n[data-v-b0b24d40]{font-weight:700;color:#065f46}.le-apply[data-v-b0b24d40]{align-self:flex-start}.le-report-summary[data-v-b0b24d40]{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.le-big[data-v-b0b24d40]{font-size:34px;font-weight:800;line-height:1.1}.le-big-ok[data-v-b0b24d40]{color:#059669}.le-big-warn[data-v-b0b24d40]{color:#d97706}.le-big-muted[data-v-b0b24d40]{color:#94a3b8}.le-report-label[data-v-b0b24d40]{font-size:12px;color:#64748b}.le-totals[data-v-b0b24d40]{display:flex;gap:14px;font-size:12px;font-weight:600;color:#334155;margin-top:6px}.le-rooms[data-v-b0b24d40]{display:flex;flex-direction:column;gap:10px;flex:1}.le-room[data-v-b0b24d40]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.le-room-head[data-v-b0b24d40]{display:flex;justify-content:space-between;align-items:center}.le-room-name[data-v-b0b24d40]{font-size:13px;font-weight:700;color:#1e293b}.le-room-badge[data-v-b0b24d40]{font-size:11px;font-weight:700;border-radius:999px;padding:2px 10px}.le-room-ok .le-room-badge[data-v-b0b24d40]{background:#d1fae5;color:#065f46}.le-room-insufficient .le-room-badge[data-v-b0b24d40],.le-room-no_luminaires .le-room-badge[data-v-b0b24d40]{background:#fee2e2;color:#991b1b}.le-room-overlit .le-room-badge[data-v-b0b24d40]{background:#fef3c7;color:#92400e}.le-room-bar[data-v-b0b24d40]{height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.le-room-bar-fill[data-v-b0b24d40]{height:100%;border-radius:999px;transition:width .4s ease}.le-room-bar-ok[data-v-b0b24d40]{background:linear-gradient(90deg,#10b981,#34d399)}.le-room-bar-insufficient[data-v-b0b24d40],.le-room-bar-no_luminaires[data-v-b0b24d40]{background:linear-gradient(90deg,#ef4444,#f87171)}.le-room-bar-overlit[data-v-b0b24d40]{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.le-room-meta[data-v-b0b24d40]{display:flex;justify-content:space-between;font-size:11.5px;color:#64748b}.le-room-hint[data-v-b0b24d40]{font-size:11.5px;color:#b91c1c}.le-standard[data-v-b0b24d40]{font-size:11px;color:#94a3b8;text-align:center}.state-msg[data-v-b0b24d40]{display:flex;align-items:center;justify-content:center;gap:8px;color:#94a3b8;font-size:13px;padding:20px 0}.spinner[data-v-b0b24d40]{width:16px;height:16px;border:2px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:le-spin-b0b24d40 .8s linear infinite}@keyframes le-spin-b0b24d40{to{transform:rotate(360deg)}}.res-slide-enter-active[data-v-b0b24d40],.res-slide-leave-active[data-v-b0b24d40]{transition:transform .25s ease,opacity .25s ease}.res-slide-enter-from[data-v-b0b24d40],.res-slide-leave-to[data-v-b0b24d40]{transform:translate(24px);opacity:0}.lighting-page[data-v-f665ed56]{display:flex;height:100vh;overflow:hidden;background:var(--canvas-bg);font-family:var(--font-body)}.lg-main[data-v-f665ed56]{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:0 18px 18px}.top-bar[data-v-f665ed56]{display:flex;align-items:center;gap:1rem;padding:.5rem 0;background:transparent;z-index:10}.tb-left[data-v-f665ed56]{display:flex;align-items:center;gap:.75rem;min-width:0}.project-name[data-v-f665ed56]{font-weight:600;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-right[data-v-f665ed56]{margin-left:auto}.state-msg[data-v-f665ed56]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-secondary, #475569)}.state-msg.error-state[data-v-f665ed56]{color:#ef4444}.spinner[data-v-f665ed56]{width:32px;height:32px;border:3px solid var(--border-primary, #e2e8f0);border-top-color:var(--accent, #2563eb);border-radius:50%;animation:spin-f665ed56 .6s linear infinite}@keyframes spin-f665ed56{to{transform:rotate(360deg)}}.video-canvas[data-v-fb4bc779]{position:relative;flex:1;min-height:0;height:100%;overflow:hidden;touch-action:none;background:radial-gradient(1200px 600px at 70% -10%,rgba(16,185,129,.07),transparent 60%),#f8fafc;border-radius:14px;border:1px solid #e2e8f0}.video-canvas.sp-pan-mode[data-v-fb4bc779]{cursor:grab}.video-canvas.sp-pan-mode.sp-panning[data-v-fb4bc779]{cursor:grabbing}.video-canvas.sp-pan-mode .vc-marker[data-v-fb4bc779]{cursor:grab}.video-canvas.sp-pan-mode.sp-panning .vc-marker[data-v-fb4bc779]{cursor:grabbing}.vc-svg[data-v-fb4bc779]{width:100%;height:100%;display:block;cursor:crosshair;-webkit-user-select:none;user-select:none}.vc-bg[data-v-fb4bc779]{fill:#fbfdff}.vc-room[data-v-fb4bc779]{fill:#ffffffa6;stroke:#94a3b8;stroke-width:2;transition:fill .15s ease,filter .15s ease}.vc-room-hover[data-v-fb4bc779]{fill:#10b9811a;filter:drop-shadow(0 0 6px rgba(16,185,129,.2))}.vc-room-target[data-v-fb4bc779]{stroke-dasharray:6 4}.vc-room-label[data-v-fb4bc779]{fill:#64748b;font-size:14px;font-weight:600;text-anchor:middle;dominant-baseline:middle;pointer-events:none;letter-spacing:.02em}.vc-sector-path[data-v-fb4bc779]{fill:#3b82f624;stroke:#3b82f659;stroke-width:1;stroke-dasharray:4 3;pointer-events:none;transition:fill .15s ease}.vc-sector-selected[data-v-fb4bc779]{fill:#10b98138;stroke:#10b98199}.vc-sector-axis[data-v-fb4bc779]{stroke:#3b82f68c;stroke-width:1.5;stroke-dasharray:3 3;pointer-events:none}.vc-marker[data-v-fb4bc779]{cursor:grab;transition:transform .1s ease}.vc-marker[data-v-fb4bc779]:active{cursor:grabbing}.vc-marker-halo[data-v-fb4bc779]{fill:#ffffffd9;stroke:#94a3b899;stroke-width:1}.vc-marker-dot[data-v-fb4bc779]{stroke:#fff;stroke-width:1.5;filter:drop-shadow(0 1px 2px rgba(15,23,42,.25))}.vc-marker-selected .vc-marker-dot[data-v-fb4bc779]{stroke:#10b981;stroke-width:2.5;filter:drop-shadow(0 0 6px rgba(16,185,129,.5))}.vc-marker-dragging[data-v-fb4bc779]{opacity:.85}.vc-marker-icon[data-v-fb4bc779]{font-size:12px;pointer-events:none}.vc-marker-name[data-v-fb4bc779]{fill:#1e293b;font-size:11px;font-weight:600;background:#ffffffe6;pointer-events:none}.state-msg[data-v-fb4bc779]{display:flex;align-items:center;justify-content:center;gap:10px;height:100%;color:#64748b;font-size:14px}.vc-empty[data-v-fb4bc779]{flex-direction:column;gap:8px;padding:24px;text-align:center;font-size:15px}.spinner[data-v-fb4bc779]{width:18px;height:18px;border:2px solid #cbd5e1;border-top-color:#10b981;border-radius:50%;animation:vc-spin-fb4bc779 .8s linear infinite}@keyframes vc-spin-fb4bc779{to{transform:rotate(360deg)}}.video-palette[data-v-9cb330c0]{display:flex;flex-direction:column;width:260px;min-width:260px;height:100%;background:#fff;border-radius:14px;border:1px solid #e2e8f0;overflow:hidden}.vp-header[data-v-9cb330c0]{display:flex;align-items:center;gap:8px;padding:14px 16px 10px}.vp-header h3[data-v-9cb330c0]{margin:0;font-size:15px;color:#0f172a}.vp-count[data-v-9cb330c0]{background:#eef2ff;color:#4f46e5;font-size:12px;font-weight:700;border-radius:999px;padding:2px 8px}.vp-filters[data-v-9cb330c0]{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px;border-bottom:1px solid #f1f5f9}.vp-filter[data-v-9cb330c0]{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:4px 9px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;cursor:pointer;transition:all .15s ease}.vp-filter[data-v-9cb330c0]:hover{border-color:#10b981;color:#065f46}.vp-filter-active[data-v-9cb330c0]{background:#ecfdf5;border-color:#10b981;color:#065f46;font-weight:600}.vp-filter-dot[data-v-9cb330c0]{width:7px;height:7px;border-radius:50%}.vp-list[data-v-9cb330c0]{flex:1;overflow-y:auto;padding:10px 10px 14px;display:flex;flex-direction:column;gap:6px}.vp-item[data-v-9cb330c0]{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:all .15s ease}.vp-item[data-v-9cb330c0]:hover{border-color:#10b981;box-shadow:0 2px 8px #10b9811f;transform:translateY(-1px)}.vp-item-active[data-v-9cb330c0]{border-color:#10b981;background:#ecfdf5;box-shadow:0 0 0 2px #10b98126}.vp-item-dot[data-v-9cb330c0]{width:32px;height:32px;min-width:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff}.vp-item-info[data-v-9cb330c0]{display:flex;flex-direction:column;gap:2px;min-width:0}.vp-item-name[data-v-9cb330c0]{font-size:12.5px;font-weight:600;color:#0f172a;line-height:1.25}.vp-item-meta[data-v-9cb330c0]{font-size:11px;color:#64748b}.vp-item-extra[data-v-9cb330c0]{color:#94a3b8}.state-msg[data-v-9cb330c0]{padding:20px;text-align:center;color:#94a3b8;font-size:13px}.video-editor[data-v-d12cfe6f]{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px}.ve-toolbar[data-v-d12cfe6f]{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-radius:14px;border:1px solid #e2e8f0;flex-wrap:wrap}.ve-btn[data-v-d12cfe6f]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.ve-btn[data-v-d12cfe6f]:hover:not(:disabled){border-color:#10b981;color:#065f46;transform:translateY(-1px)}.ve-btn[data-v-d12cfe6f]:disabled{opacity:.5;cursor:not-allowed}.ve-btn-primary[data-v-d12cfe6f]{background:linear-gradient(135deg,#10b981,#059669);border-color:transparent;color:#fff}.ve-btn-primary[data-v-d12cfe6f]:hover:not(:disabled){color:#fff;box-shadow:0 4px 12px #10b9814d}.ve-btn-small[data-v-d12cfe6f]{padding:5px 10px;font-size:12px}.ve-btn-icon[data-v-d12cfe6f]{font-size:14px}.ve-toolbar-spacer[data-v-d12cfe6f]{flex:1}.ve-count[data-v-d12cfe6f]{font-size:13px;font-weight:600;color:#475569;background:#f1f5f9;padding:4px 10px;border-radius:999px}.ve-export-error[data-v-d12cfe6f]{font-size:12px;font-weight:600;color:#ef4444;background:#fef2f2;border:1px solid #fecaca;padding:4px 10px;border-radius:8px}.ve-body[data-v-d12cfe6f]{display:flex;flex:1;min-height:0;gap:12px;position:relative}.ve-results[data-v-d12cfe6f]{width:300px;min-width:300px;max-width:340px;background:#fff;border-radius:14px;border:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto;padding:14px;gap:12px}.ve-results-header[data-v-d12cfe6f]{display:flex;align-items:center;justify-content:space-between}.ve-results-header h4[data-v-d12cfe6f]{margin:0;font-size:14px;color:#0f172a}.ve-results-close[data-v-d12cfe6f]{border:none;background:transparent;color:#94a3b8;cursor:pointer;font-size:14px}.ve-results-state[data-v-d12cfe6f]{display:flex;align-items:center;justify-content:center;gap:8px;color:#94a3b8;font-size:13px;padding:20px 0}.spinner[data-v-d12cfe6f]{width:16px;height:16px;border:2px solid #e2e8f0;border-top-color:#10b981;border-radius:50%;animation:ve-spin-d12cfe6f .8s linear infinite}@keyframes ve-spin-d12cfe6f{to{transform:rotate(360deg)}}.ve-summary[data-v-d12cfe6f]{border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px;background:#f8fafc;border:1px solid #e2e8f0}.ve-summary-ok[data-v-d12cfe6f]{background:#ecfdf5;border-color:#a7f3d0}.ve-summary-warn[data-v-d12cfe6f]{background:#fffbeb;border-color:#fde68a}.ve-summary-bad[data-v-d12cfe6f]{background:#fef2f2;border-color:#fecaca}.ve-summary-row[data-v-d12cfe6f]{display:flex;justify-content:space-between;font-size:13px;color:#475569}.ve-summary-row strong[data-v-d12cfe6f]{color:#0f172a}.ve-room-list[data-v-d12cfe6f]{display:flex;flex-direction:column;gap:10px}.ve-room-head[data-v-d12cfe6f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.ve-room-label[data-v-d12cfe6f]{font-size:13px;font-weight:600;color:#1e293b}.ve-room-badge[data-v-d12cfe6f]{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.ve-badge-covered[data-v-d12cfe6f]{background:#dcfce7;color:#166534}.ve-badge-partial[data-v-d12cfe6f]{background:#fef3c7;color:#92400e}.ve-badge-not_covered[data-v-d12cfe6f]{background:#fee2e2;color:#991b1b}.ve-room-bar[data-v-d12cfe6f]{height:8px;background:#f1f5f9;border-radius:999px;overflow:hidden}.ve-room-bar-fill[data-v-d12cfe6f]{height:100%;border-radius:999px;transition:width .3s ease}.ve-bar-covered[data-v-d12cfe6f]{background:linear-gradient(90deg,#10b981,#34d399)}.ve-bar-partial[data-v-d12cfe6f]{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.ve-bar-not_covered[data-v-d12cfe6f]{background:linear-gradient(90deg,#ef4444,#f87171)}.ve-room-meta[data-v-d12cfe6f]{font-size:11px;color:#94a3b8;margin-top:3px}.ve-blind[data-v-d12cfe6f]{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.ve-blind-title[data-v-d12cfe6f]{font-size:12px;font-weight:700;color:#92400e}.ve-blind-item[data-v-d12cfe6f]{display:flex;justify-content:space-between;font-size:12px;color:#78350f}.ve-blind-m2[data-v-d12cfe6f]{font-weight:600}.ve-pan[data-v-d12cfe6f]{border-top:1px solid #f1f5f9;padding-top:12px;display:flex;flex-direction:column;gap:8px}.ve-pan-title[data-v-d12cfe6f]{font-size:13px;color:#334155;display:flex;justify-content:space-between}.ve-pan input[type=range][data-v-d12cfe6f]{width:100%;accent-color:#10b981}.ve-pan-hint[data-v-d12cfe6f]{font-size:11px;color:#94a3b8}.ve-suggestions[data-v-d12cfe6f]{position:absolute;left:50%;bottom:14px;transform:translate(-50%);background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 8px 24px #0f172a1f;padding:14px 16px;z-index:20;max-width:460px;width:calc(100% - 40px)}.ve-suggestions-head[data-v-d12cfe6f]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.ve-suggestions-grid[data-v-d12cfe6f]{display:flex;flex-wrap:wrap;gap:8px}.ve-sugg[data-v-d12cfe6f]{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:5px 10px;font-size:12px}.ve-sugg-room[data-v-d12cfe6f]{font-weight:600;color:#0f172a}.ve-sugg-name[data-v-d12cfe6f]{color:#475569}.ve-sugg-count[data-v-d12cfe6f]{color:#10b981;font-weight:700}.video-page[data-v-f1506b0f]{display:flex;height:100vh;overflow:hidden;background:var(--canvas-bg);font-family:var(--font-body)}.vc-main[data-v-f1506b0f]{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:0 18px 18px}.top-bar[data-v-f1506b0f]{display:flex;align-items:center;gap:1rem;padding:.5rem 0;background:transparent;z-index:10}.tb-left[data-v-f1506b0f]{display:flex;align-items:center;gap:.75rem;min-width:0}.project-name[data-v-f1506b0f]{font-weight:600;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-right[data-v-f1506b0f]{margin-left:auto}.state-msg[data-v-f1506b0f]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-secondary, #475569)}.state-msg.error-state[data-v-f1506b0f]{color:#ef4444}.spinner[data-v-f1506b0f]{width:32px;height:32px;border:3px solid var(--border-primary, #e2e8f0);border-top-color:var(--accent, #2563eb);border-radius:50%;animation:spin-f1506b0f .6s linear infinite}@keyframes spin-f1506b0f{to{transform:rotate(360deg)}}.access-canvas[data-v-47592ddf]{position:relative;flex:1;min-height:0;height:100%;overflow:hidden;touch-action:none;background:radial-gradient(1200px 600px at 70% -10%,rgba(139,92,246,.07),transparent 60%),#f8fafc;border-radius:14px;border:1px solid #e2e8f0}.access-canvas.sp-pan-mode[data-v-47592ddf]{cursor:grab}.access-canvas.sp-pan-mode.sp-panning[data-v-47592ddf]{cursor:grabbing}.access-canvas.sp-pan-mode .ac-marker[data-v-47592ddf]{cursor:grab}.access-canvas.sp-pan-mode.sp-panning .ac-marker[data-v-47592ddf]{cursor:grabbing}.ac-svg[data-v-47592ddf]{width:100%;height:100%;display:block;cursor:crosshair;-webkit-user-select:none;user-select:none}.ac-bg[data-v-47592ddf]{fill:#fbfdff}.ac-room[data-v-47592ddf]{fill:#ffffffa6;stroke:#94a3b8;stroke-width:2;transition:fill .15s ease,filter .15s ease}.ac-room-hover[data-v-47592ddf]{fill:#8b5cf61a;filter:drop-shadow(0 0 6px rgba(139,92,246,.2))}.ac-room-target[data-v-47592ddf]{stroke-dasharray:6 4}.ac-room-label[data-v-47592ddf]{fill:#64748b;font-size:14px;font-weight:600;text-anchor:middle;dominant-baseline:middle;pointer-events:none;letter-spacing:.02em}.ac-cable-path[data-v-47592ddf]{fill:none;stroke:#8b5cf6;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:7 4;opacity:.85;pointer-events:none}.ac-cable-dot[data-v-47592ddf]{fill:#a78bfa;pointer-events:none}.ac-cable-label[data-v-47592ddf]{fill:#7c3aed;font-size:10.5px;font-weight:700;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:2.5}.ac-marker[data-v-47592ddf]{cursor:grab;transition:transform .1s ease}.ac-marker[data-v-47592ddf]:active{cursor:grabbing}.ac-marker-halo[data-v-47592ddf]{fill:#ffffffd9;stroke:#94a3b899;stroke-width:1}.ac-marker-dot[data-v-47592ddf]{stroke:#fff;stroke-width:1.5;filter:drop-shadow(0 1px 2px rgba(15,23,42,.25))}.ac-marker-selected .ac-marker-dot[data-v-47592ddf]{stroke:#8b5cf6;stroke-width:2.5;filter:drop-shadow(0 0 6px rgba(139,92,246,.5))}.ac-marker-dragging[data-v-47592ddf]{opacity:.85}.ac-marker-icon[data-v-47592ddf]{font-size:12px;pointer-events:none}.ac-marker-name[data-v-47592ddf]{fill:#1e293b;font-size:11px;font-weight:600;pointer-events:none}.state-msg[data-v-47592ddf]{display:flex;align-items:center;justify-content:center;gap:10px;height:100%;color:#64748b;font-size:14px}.ac-empty[data-v-47592ddf]{flex-direction:column;gap:8px;padding:24px;text-align:center;font-size:15px}.spinner[data-v-47592ddf]{width:18px;height:18px;border:2px solid #cbd5e1;border-top-color:#8b5cf6;border-radius:50%;animation:ac-spin-47592ddf .8s linear infinite}@keyframes ac-spin-47592ddf{to{transform:rotate(360deg)}}.access-palette[data-v-243ef28f]{display:flex;flex-direction:column;width:260px;min-width:260px;height:100%;background:#fff;border-radius:14px;border:1px solid #e2e8f0;overflow:hidden}.ap-header[data-v-243ef28f]{display:flex;align-items:center;gap:8px;padding:14px 16px 10px}.ap-header h3[data-v-243ef28f]{margin:0;font-size:15px;color:#0f172a}.ap-count[data-v-243ef28f]{background:#f3e8ff;color:#7c3aed;font-size:12px;font-weight:700;border-radius:999px;padding:2px 8px}.ap-filters[data-v-243ef28f]{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px;border-bottom:1px solid #f1f5f9}.ap-filter[data-v-243ef28f]{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:4px 9px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;cursor:pointer;transition:all .15s ease}.ap-filter[data-v-243ef28f]:hover{border-color:#8b5cf6;color:#6d28d9}.ap-filter-active[data-v-243ef28f]{background:#f5f3ff;border-color:#8b5cf6;color:#6d28d9;font-weight:600}.ap-filter-dot[data-v-243ef28f]{width:7px;height:7px;border-radius:50%}.ap-list[data-v-243ef28f]{flex:1;overflow-y:auto;padding:10px 10px 14px;display:flex;flex-direction:column;gap:6px}.ap-item[data-v-243ef28f]{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:all .15s ease}.ap-item[data-v-243ef28f]:hover{border-color:#8b5cf6;box-shadow:0 2px 8px #8b5cf61f;transform:translateY(-1px)}.ap-item-active[data-v-243ef28f]{border-color:#8b5cf6;background:#f5f3ff;box-shadow:0 0 0 2px #8b5cf626}.ap-item-dot[data-v-243ef28f]{width:32px;height:32px;min-width:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff}.ap-item-info[data-v-243ef28f]{display:flex;flex-direction:column;gap:2px;min-width:0}.ap-item-name[data-v-243ef28f]{font-size:12.5px;font-weight:600;color:#0f172a;line-height:1.25}.ap-item-meta[data-v-243ef28f]{font-size:11px;color:#64748b}.ap-item-extra[data-v-243ef28f]{color:#94a3b8}.state-msg[data-v-243ef28f]{padding:20px;text-align:center;color:#94a3b8;font-size:13px}.access-editor[data-v-40e9f298]{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px}.ae-toolbar[data-v-40e9f298]{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-radius:14px;border:1px solid #e2e8f0;flex-wrap:wrap}.ae-btn[data-v-40e9f298]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.ae-btn[data-v-40e9f298]:hover:not(:disabled){border-color:#8b5cf6;color:#6d28d9;transform:translateY(-1px)}.ae-btn[data-v-40e9f298]:disabled{opacity:.5;cursor:not-allowed}.ae-btn-primary[data-v-40e9f298]{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:transparent;color:#fff}.ae-btn-primary[data-v-40e9f298]:hover:not(:disabled){color:#fff;box-shadow:0 4px 12px #8b5cf659}.ae-btn-small[data-v-40e9f298]{padding:5px 10px;font-size:12px}.ae-btn-icon[data-v-40e9f298]{font-size:14px}.ae-toolbar-spacer[data-v-40e9f298]{flex:1}.ae-count[data-v-40e9f298]{font-size:13px;font-weight:600;color:#475569;background:#f1f5f9;padding:4px 10px;border-radius:999px}.ae-body[data-v-40e9f298]{display:flex;flex:1;min-height:0;gap:12px;position:relative}.ae-results[data-v-40e9f298]{width:300px;min-width:300px;max-width:340px;background:#fff;border-radius:14px;border:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto;padding:14px;gap:12px}.ae-results-header[data-v-40e9f298]{display:flex;align-items:center;justify-content:space-between}.ae-results-header h4[data-v-40e9f298]{margin:0;font-size:14px;color:#0f172a}.ae-results-close[data-v-40e9f298]{border:none;background:transparent;color:#94a3b8;cursor:pointer;font-size:14px}.ae-results-state[data-v-40e9f298]{display:flex;align-items:center;justify-content:center;gap:8px;color:#94a3b8;font-size:13px;padding:20px 0}.spinner[data-v-40e9f298]{width:16px;height:16px;border:2px solid #e2e8f0;border-top-color:#8b5cf6;border-radius:50%;animation:ae-spin-40e9f298 .8s linear infinite}@keyframes ae-spin-40e9f298{to{transform:rotate(360deg)}}.ae-status[data-v-40e9f298]{display:flex;align-items:center;gap:10px;border-radius:12px;padding:10px 12px}.ae-status-ok[data-v-40e9f298]{background:#ecfdf5;border:1px solid #a7f3d0}.ae-status-warn[data-v-40e9f298]{background:#fffbeb;border:1px solid #fde68a}.ae-status-empty[data-v-40e9f298]{background:#f8fafc;border:1px solid #e2e8f0}.ae-status-icon[data-v-40e9f298]{font-size:22px}.ae-status-title[data-v-40e9f298]{font-size:13px;font-weight:700;color:#0f172a}.ae-status-sub[data-v-40e9f298]{font-size:11px;color:#64748b;margin-top:2px}.ae-summary[data-v-40e9f298]{border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px;background:#f5f3ff;border:1px solid #ede9fe}.ae-summary-row[data-v-40e9f298]{display:flex;justify-content:space-between;font-size:13px;color:#475569}.ae-summary-row strong[data-v-40e9f298]{color:#0f172a}.ae-summary-total[data-v-40e9f298]{border-top:1px dashed #ddd6fe;padding-top:6px;font-weight:700}.ae-summary-total strong[data-v-40e9f298]{color:#7c3aed}.ae-costs[data-v-40e9f298]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#64748b}.ae-cost-row[data-v-40e9f298]{display:flex;justify-content:space-between}.ae-runs[data-v-40e9f298]{border-top:1px solid #f1f5f9;padding-top:10px;display:flex;flex-direction:column;gap:6px}.ae-runs-title[data-v-40e9f298]{font-size:12px;font-weight:700;color:#1e293b}.ae-run[data-v-40e9f298]{display:flex;justify-content:space-between;align-items:center;font-size:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:5px 9px}.ae-run-name[data-v-40e9f298]{font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ae-run-meta[data-v-40e9f298]{color:#8b5cf6;font-weight:600;white-space:nowrap}.ae-suggestions[data-v-40e9f298]{position:absolute;left:50%;bottom:14px;transform:translate(-50%);background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 8px 24px #0f172a1f;padding:14px 16px;z-index:20;max-width:460px;width:calc(100% - 40px)}.ae-suggestions-head[data-v-40e9f298]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.ae-suggestions-grid[data-v-40e9f298]{display:flex;flex-wrap:wrap;gap:8px}.ae-sugg[data-v-40e9f298]{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:5px 10px;font-size:12px}.ae-sugg-room[data-v-40e9f298]{font-weight:600;color:#0f172a}.ae-sugg-name[data-v-40e9f298]{color:#475569}.ae-sugg-count[data-v-40e9f298]{color:#8b5cf6;font-weight:700}.ae-export-error[data-v-40e9f298]{color:#dc2626;font-size:12px;margin-right:8px}.access-page[data-v-62e1bd5b]{display:flex;height:100vh;overflow:hidden;background:var(--canvas-bg);font-family:var(--font-body)}.ac-main[data-v-62e1bd5b]{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:0 18px 18px}.top-bar[data-v-62e1bd5b]{display:flex;align-items:center;gap:1rem;padding:.5rem 0;background:transparent;z-index:10}.tb-left[data-v-62e1bd5b]{display:flex;align-items:center;gap:.75rem;min-width:0}.project-name[data-v-62e1bd5b]{font-weight:600;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-right[data-v-62e1bd5b]{margin-left:auto}.state-msg[data-v-62e1bd5b]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-secondary, #475569)}.state-msg.error-state[data-v-62e1bd5b]{color:#ef4444}.spinner[data-v-62e1bd5b]{width:32px;height:32px;border:3px solid var(--border-primary, #e2e8f0);border-top-color:var(--accent, #2563eb);border-radius:50%;animation:spin-62e1bd5b .6s linear infinite}@keyframes spin-62e1bd5b{to{transform:rotate(360deg)}}.fire-canvas[data-v-1156c2b9]{position:relative;flex:1;min-height:0;height:100%;overflow:hidden;touch-action:none;background:radial-gradient(1200px 600px at 70% -10%,rgba(239,68,68,.07),transparent 60%),#f8fafc;border-radius:14px;border:1px solid #e2e8f0}.fire-canvas.sp-pan-mode[data-v-1156c2b9]{cursor:grab}.fire-canvas.sp-pan-mode.sp-panning[data-v-1156c2b9]{cursor:grabbing}.fire-canvas.sp-pan-mode .fc-marker[data-v-1156c2b9]{cursor:grab}.fire-canvas.sp-pan-mode.sp-panning .fc-marker[data-v-1156c2b9]{cursor:grabbing}.fc-svg[data-v-1156c2b9]{width:100%;height:100%;display:block;cursor:crosshair;-webkit-user-select:none;user-select:none}.fc-bg[data-v-1156c2b9]{fill:#fbfdff}.fc-room[data-v-1156c2b9]{fill:#ffffffa6;stroke:#94a3b8;stroke-width:2;transition:fill .15s ease,filter .15s ease}.fc-room-hover[data-v-1156c2b9]{fill:#ef444414;filter:drop-shadow(0 0 6px rgba(239,68,68,.18))}.fc-room-target[data-v-1156c2b9]{stroke-dasharray:6 4}.fc-room-label[data-v-1156c2b9]{fill:#64748b;font-size:14px;font-weight:600;text-anchor:middle;dominant-baseline:middle;pointer-events:none;letter-spacing:.02em}.fc-evac-path[data-v-1156c2b9]{fill:none;stroke:#ef4444;stroke-width:3;stroke-linecap:round;stroke-dasharray:10 5;opacity:.9;pointer-events:none}.fc-evac-exit[data-v-1156c2b9]{fill:#dc2626;stroke:#fff;stroke-width:1.5;pointer-events:none}.fc-evac-label[data-v-1156c2b9]{fill:#b91c1c;font-size:10.5px;font-weight:700;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:2.5}.fc-cable-path[data-v-1156c2b9]{fill:none;stroke:#f59e0b;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:7 4;opacity:.85;pointer-events:none}.fc-cable-dot[data-v-1156c2b9]{fill:#fbbf24;pointer-events:none}.fc-cable-label[data-v-1156c2b9]{fill:#b45309;font-size:10.5px;font-weight:700;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:2.5}.fc-marker[data-v-1156c2b9]{cursor:grab;transition:transform .1s ease}.fc-marker[data-v-1156c2b9]:active{cursor:grabbing}.fc-marker-halo[data-v-1156c2b9]{fill:#ffffffd9;stroke:#94a3b899;stroke-width:1}.fc-marker-dot[data-v-1156c2b9]{stroke:#fff;stroke-width:1.5;filter:drop-shadow(0 1px 2px rgba(15,23,42,.25))}.fc-marker-selected .fc-marker-dot[data-v-1156c2b9]{stroke:#ef4444;stroke-width:2.5;filter:drop-shadow(0 0 6px rgba(239,68,68,.5))}.fc-marker-dragging[data-v-1156c2b9]{opacity:.85}.fc-marker-icon[data-v-1156c2b9]{font-size:12px;pointer-events:none}.fc-marker-name[data-v-1156c2b9]{fill:#1e293b;font-size:11px;font-weight:600;pointer-events:none}.state-msg[data-v-1156c2b9]{display:flex;align-items:center;justify-content:center;gap:10px;height:100%;color:#64748b;font-size:14px}.fc-empty[data-v-1156c2b9]{flex-direction:column;gap:8px;padding:24px;text-align:center;font-size:15px}.spinner[data-v-1156c2b9]{width:18px;height:18px;border:2px solid #cbd5e1;border-top-color:#ef4444;border-radius:50%;animation:fc-spin-1156c2b9 .8s linear infinite}@keyframes fc-spin-1156c2b9{to{transform:rotate(360deg)}}.fire-palette[data-v-38d2ff18]{display:flex;flex-direction:column;width:260px;min-width:260px;height:100%;background:#fff;border-radius:14px;border:1px solid #e2e8f0;overflow:hidden}.fp-header[data-v-38d2ff18]{display:flex;align-items:center;gap:8px;padding:14px 16px 10px}.fp-header h3[data-v-38d2ff18]{margin:0;font-size:15px;color:#0f172a}.fp-count[data-v-38d2ff18]{background:#fee2e2;color:#b91c1c;font-size:12px;font-weight:700;border-radius:999px;padding:2px 8px}.fp-filters[data-v-38d2ff18]{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px;border-bottom:1px solid #f1f5f9}.fp-filter[data-v-38d2ff18]{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:4px 9px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;cursor:pointer;transition:all .15s ease}.fp-filter[data-v-38d2ff18]:hover{border-color:#ef4444;color:#b91c1c}.fp-filter-active[data-v-38d2ff18]{background:#fef2f2;border-color:#ef4444;color:#b91c1c;font-weight:600}.fp-filter-dot[data-v-38d2ff18]{width:7px;height:7px;border-radius:50%}.fp-list[data-v-38d2ff18]{flex:1;overflow-y:auto;padding:10px 10px 14px;display:flex;flex-direction:column;gap:6px}.fp-item[data-v-38d2ff18]{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:all .15s ease}.fp-item[data-v-38d2ff18]:hover{border-color:#ef4444;box-shadow:0 2px 8px #ef44441f;transform:translateY(-1px)}.fp-item-active[data-v-38d2ff18]{border-color:#ef4444;background:#fef2f2;box-shadow:0 0 0 2px #ef444426}.fp-item-dot[data-v-38d2ff18]{width:32px;height:32px;min-width:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff}.fp-item-info[data-v-38d2ff18]{display:flex;flex-direction:column;gap:2px;min-width:0}.fp-item-name[data-v-38d2ff18]{font-size:12.5px;font-weight:600;color:#0f172a;line-height:1.25}.fp-item-meta[data-v-38d2ff18]{font-size:11px;color:#64748b}.fp-item-extra[data-v-38d2ff18]{color:#94a3b8}.state-msg[data-v-38d2ff18]{padding:20px;text-align:center;color:#94a3b8;font-size:13px}.fire-editor[data-v-98616f62]{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px}.fe-toolbar[data-v-98616f62]{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-radius:14px;border:1px solid #e2e8f0;flex-wrap:wrap}.fe-btn[data-v-98616f62]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.fe-btn[data-v-98616f62]:hover:not(:disabled){border-color:#ef4444;color:#b91c1c;transform:translateY(-1px)}.fe-btn[data-v-98616f62]:disabled{opacity:.5;cursor:not-allowed}.fe-btn-primary[data-v-98616f62]{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:transparent;color:#fff}.fe-btn-primary[data-v-98616f62]:hover:not(:disabled){color:#fff;box-shadow:0 4px 12px #ef444459}.fe-btn-small[data-v-98616f62]{padding:5px 10px;font-size:12px}.fe-btn-icon[data-v-98616f62]{font-size:14px}.fe-toolbar-spacer[data-v-98616f62]{flex:1}.fe-count[data-v-98616f62]{font-size:13px;font-weight:600;color:#475569;background:#f1f5f9;padding:4px 10px;border-radius:999px}.fe-body[data-v-98616f62]{display:flex;flex:1;min-height:0;gap:12px;position:relative}.fe-results[data-v-98616f62]{width:300px;min-width:300px;max-width:340px;background:#fff;border-radius:14px;border:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto;padding:14px;gap:12px}.fe-results-header[data-v-98616f62]{display:flex;align-items:center;justify-content:space-between}.fe-results-header h4[data-v-98616f62]{margin:0;font-size:14px;color:#0f172a}.fe-results-close[data-v-98616f62]{border:none;background:transparent;color:#94a3b8;cursor:pointer;font-size:14px}.fe-results-state[data-v-98616f62]{display:flex;align-items:center;justify-content:center;gap:8px;color:#94a3b8;font-size:13px;padding:20px 0}.spinner[data-v-98616f62]{width:16px;height:16px;border:2px solid #e2e8f0;border-top-color:#ef4444;border-radius:50%;animation:fe-spin-98616f62 .8s linear infinite}@keyframes fe-spin-98616f62{to{transform:rotate(360deg)}}.fe-status[data-v-98616f62]{display:flex;align-items:center;gap:10px;border-radius:12px;padding:10px 12px}.fe-status-ok[data-v-98616f62]{background:#ecfdf5;border:1px solid #a7f3d0}.fe-status-warn[data-v-98616f62]{background:#fffbeb;border:1px solid #fde68a}.fe-status-empty[data-v-98616f62]{background:#f8fafc;border:1px solid #e2e8f0}.fe-status-icon[data-v-98616f62]{font-size:22px}.fe-status-title[data-v-98616f62]{font-size:13px;font-weight:700;color:#0f172a}.fe-status-sub[data-v-98616f62]{font-size:11px;color:#64748b;margin-top:2px}.fe-summary[data-v-98616f62]{border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px;background:#fef2f2;border:1px solid #fecaca}.fe-summary-row[data-v-98616f62]{display:flex;justify-content:space-between;font-size:13px;color:#475569}.fe-summary-row strong[data-v-98616f62]{color:#0f172a}.fe-summary-total[data-v-98616f62]{border-top:1px dashed #fca5a5;padding-top:6px;font-weight:700}.fe-summary-total strong[data-v-98616f62]{color:#b91c1c}.fe-costs[data-v-98616f62]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#64748b}.fe-cost-row[data-v-98616f62]{display:flex;justify-content:space-between}.fe-evac[data-v-98616f62]{border-top:1px solid #f1f5f9;padding-top:10px;display:flex;flex-direction:column;gap:6px}.fe-evac-title[data-v-98616f62]{font-size:12px;font-weight:700;color:#1e293b}.fe-evac-row[data-v-98616f62]{display:flex;justify-content:space-between;align-items:center;font-size:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:5px 9px}.fe-evac-room[data-v-98616f62]{font-weight:600;color:#0f172a}.fe-evac-meta[data-v-98616f62]{color:#dc2626;font-weight:600;white-space:nowrap}.fe-evac-hint[data-v-98616f62]{font-size:11px;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:6px 9px}.fe-runs[data-v-98616f62]{border-top:1px solid #f1f5f9;padding-top:10px;display:flex;flex-direction:column;gap:6px}.fe-runs-title[data-v-98616f62]{font-size:12px;font-weight:700;color:#1e293b}.fe-run[data-v-98616f62]{display:flex;justify-content:space-between;align-items:center;font-size:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:5px 9px}.fe-run-name[data-v-98616f62]{font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-run-meta[data-v-98616f62]{color:#b45309;font-weight:600;white-space:nowrap}.fe-suggestions[data-v-98616f62]{position:absolute;left:50%;bottom:14px;transform:translate(-50%);background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 8px 24px #0f172a1f;padding:14px 16px;z-index:20;max-width:520px;width:calc(100% - 40px)}.fe-suggestions-head[data-v-98616f62]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.fe-suggestions-grid[data-v-98616f62]{display:flex;flex-wrap:wrap;gap:8px}.fe-sugg[data-v-98616f62]{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:5px 10px;font-size:12px}.fe-sugg-room[data-v-98616f62]{font-weight:600;color:#0f172a}.fe-sugg-name[data-v-98616f62]{color:#475569}.fe-sugg-count[data-v-98616f62]{color:#dc2626;font-weight:700}.fire-page[data-v-5569dcdb]{display:flex;height:100vh;overflow:hidden;background:var(--canvas-bg);font-family:var(--font-body)}.fc-main[data-v-5569dcdb]{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:0 18px 18px}.top-bar[data-v-5569dcdb]{display:flex;align-items:center;gap:1rem;padding:.5rem 0;background:transparent;z-index:10}.tb-left[data-v-5569dcdb]{display:flex;align-items:center;gap:.75rem;min-width:0}.project-name[data-v-5569dcdb]{font-weight:600;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-right[data-v-5569dcdb]{margin-left:auto}.state-msg[data-v-5569dcdb]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-secondary, #475569)}.state-msg.error-state[data-v-5569dcdb]{color:#ef4444}.spinner[data-v-5569dcdb]{width:32px;height:32px;border:3px solid var(--border-primary, #e2e8f0);border-top-color:var(--accent, #2563eb);border-radius:50%;animation:spin-5569dcdb .6s linear infinite}@keyframes spin-5569dcdb{to{transform:rotate(360deg)}}.admin-layout[data-v-c8dfae7a]{display:flex;min-height:100vh;background:var(--bg-secondary);font-family:var(--font-body)}.admin-sidebar[data-v-c8dfae7a]{flex:0 0 220px;display:flex;flex-direction:column;background:#312e81;color:#fff;padding:16px 12px;gap:8px}.admin-brand[data-v-c8dfae7a]{display:flex;align-items:center;gap:10px;padding:8px 10px 16px;font-size:17px;font-weight:700}.admin-brand-icon[data-v-c8dfae7a]{font-size:20px}.admin-nav[data-v-c8dfae7a]{display:flex;flex-direction:column;gap:4px;flex:1}.admin-nav-link[data-v-c8dfae7a]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#ffffffbf;text-decoration:none;font-size:14px;font-weight:500;transition:all .15s}.admin-nav-link[data-v-c8dfae7a]:hover{background:#ffffff1a;color:#fff}.admin-nav-link.active[data-v-c8dfae7a]{background:#6366f1;color:#fff}.admin-nav-icon[data-v-c8dfae7a]{font-size:16px;width:20px;text-align:center}.admin-sidebar-footer[data-v-c8dfae7a]{border-top:1px solid rgba(255,255,255,.15);padding-top:8px}.admin-content[data-v-c8dfae7a]{flex:1;padding:24px 32px;min-width:0}.admin-dashboard[data-v-74cc35ee]{display:flex;flex-direction:column;gap:16px}.admin-page-header[data-v-74cc35ee]{display:flex;align-items:baseline;gap:12px}.admin-title[data-v-74cc35ee]{font-size:24px;font-weight:700;margin:0;color:var(--text-primary)}.admin-subtitle[data-v-74cc35ee]{font-size:13px;color:var(--text-tertiary)}.period-bar[data-v-74cc35ee]{display:flex;align-items:center;gap:10px}.period-label[data-v-74cc35ee]{font-size:13px;color:var(--text-secondary);font-weight:600}.filter-select[data-v-74cc35ee]{padding:8px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:14px}.admin-section[data-v-74cc35ee]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:16px}.admin-section-header[data-v-74cc35ee]{margin-bottom:14px}.admin-section-title[data-v-74cc35ee]{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.admin-section-subtitle[data-v-74cc35ee]{font-size:12px;color:var(--text-tertiary)}.system-stats[data-v-74cc35ee]{display:flex;gap:16px}.stat-group[data-v-74cc35ee]{flex:1;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:14px 16px}.stat-section-label[data-v-74cc35ee]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-tertiary);margin-bottom:10px}.stat-grid[data-v-74cc35ee]{display:grid;gap:8px}.stat-grid--3[data-v-74cc35ee]{grid-template-columns:repeat(3,1fr)}.stat-grid--4[data-v-74cc35ee]{grid-template-columns:repeat(4,1fr)}.stat-grid+.stat-grid[data-v-74cc35ee]{margin-top:8px}.stat-block[data-v-74cc35ee]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border-primary);transition:all .12s}.stat-block[data-v-74cc35ee]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.stat-block-value[data-v-74cc35ee]{font-size:22px;font-weight:700;color:var(--text-primary)}.stat-block-label[data-v-74cc35ee]{font-size:11px;color:var(--text-tertiary)}.tg-grid[data-v-74cc35ee]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.tg-stat[data-v-74cc35ee]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border-radius:10px;background:#f5f3ff;border:1px solid #e0e7ff}.tg-value[data-v-74cc35ee]{font-size:24px;font-weight:700;color:#312e81}.tg-value.tg-accent[data-v-74cc35ee]{color:#16a34a}.tg-label[data-v-74cc35ee]{font-size:11px;color:var(--text-tertiary);text-align:center}.tg-buttons[data-v-74cc35ee]{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tg-btn-tag[data-v-74cc35ee]{padding:6px 12px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:13px;border:1px solid #c7d2fe}.funnel-wrap[data-v-74cc35ee]{display:flex;gap:20px;min-height:220px}.funnel-wrap>canvas[data-v-74cc35ee]{flex:1}.funnel-steps[data-v-74cc35ee]{flex:0 0 320px;display:flex;flex-direction:column;gap:4px}.funnel-step[data-v-74cc35ee]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;background:var(--bg-secondary);font-size:13px}.funnel-idx[data-v-74cc35ee]{width:20px;height:20px;border-radius:50%;background:#6366f1;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:0 0 auto}.funnel-event[data-v-74cc35ee]{flex:1;color:var(--text-primary)}.funnel-count[data-v-74cc35ee]{font-weight:700;color:var(--text-primary)}.funnel-conv[data-v-74cc35ee]{width:56px;text-align:right;font-weight:700;font-size:12px}.conv-ok[data-v-74cc35ee]{color:#16a34a}.conv-bad[data-v-74cc35ee]{color:#dc2626}.conv-na[data-v-74cc35ee]{color:var(--text-tertiary)}.funnel-empty[data-v-74cc35ee]{color:var(--text-tertiary);font-size:13px;padding:8px 0}.tte-grid[data-v-74cc35ee]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}.tte-stat[data-v-74cc35ee]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 10px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border-primary)}.tte-value[data-v-74cc35ee]{font-size:20px;font-weight:700;color:var(--text-primary)}.tte-label[data-v-74cc35ee]{font-size:11px;color:var(--text-tertiary)}.tte-target .tte-value[data-v-74cc35ee]{font-size:20px}.tte-ok[data-v-74cc35ee]{border-color:#16a34a}.tte-bad[data-v-74cc35ee]{border-color:#dc2626}.tte-buckets[data-v-74cc35ee]{display:flex;flex-direction:column;gap:6px}.tte-bucket[data-v-74cc35ee]{display:flex;align-items:center;gap:10px;font-size:13px}.tte-bucket-label[data-v-74cc35ee]{flex:0 0 70px;color:var(--text-secondary)}.tte-bucket-bar[data-v-74cc35ee]{flex:1;height:10px;border-radius:5px;background:var(--bg-secondary);overflow:hidden}.tte-bucket-fill[data-v-74cc35ee]{display:block;height:100%;border-radius:5px;background:#6366f1}.tte-bucket-count[data-v-74cc35ee]{flex:0 0 30px;font-weight:700;color:var(--text-primary)}.transfer-overlay[data-v-a5778db2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn-a5778db2 .15s ease-out}@keyframes fadeIn-a5778db2{0%{opacity:0}to{opacity:1}}.transfer-modal[data-v-a5778db2]{background:var(--bg-card);border-radius:14px;width:460px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;position:relative;overflow:hidden}.transfer-header[data-v-a5778db2]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-primary)}.transfer-header h3[data-v-a5778db2]{margin:0;font-size:16px;font-weight:600}.transfer-close[data-v-a5778db2]{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-tertiary);padding:4px 8px;border-radius:6px;transition:all .15s}.transfer-close[data-v-a5778db2]:hover{background:var(--bg-hover);color:var(--text-primary)}.transfer-body[data-v-a5778db2]{padding:16px 20px;flex:1;overflow-y:auto}.transfer-project-name[data-v-a5778db2]{font-size:13px;color:var(--text-secondary);margin:0 0 12px;padding:8px 12px;background:var(--bg-secondary);border-radius:8px;font-weight:500}.user-search-wrapper[data-v-a5778db2]{position:relative;display:flex;align-items:center;margin-bottom:10px}.user-search-icon[data-v-a5778db2]{position:absolute;left:10px;font-size:13px;pointer-events:none}.user-search-input[data-v-a5778db2]{width:100%;padding:8px 10px 8px 30px;border:1px solid var(--border-primary);border-radius:8px;font-size:13px;outline:none;background:var(--bg-secondary);color:var(--text-primary);transition:border-color .15s}.user-search-input[data-v-a5778db2]:focus{border-color:var(--accent)}.transfer-loading[data-v-a5778db2],.transfer-error[data-v-a5778db2]{display:flex;flex-direction:column;align-items:center;padding:30px;gap:10px;color:var(--text-tertiary)}.spinner[data-v-a5778db2]{width:24px;height:24px;border:2px solid var(--border-primary);border-top-color:var(--accent);border-radius:50%;animation:spin-a5778db2 .8s linear infinite}@keyframes spin-a5778db2{to{transform:rotate(360deg)}}.user-list[data-v-a5778db2]{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto}.user-item[data-v-a5778db2]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .12s;border:1px solid transparent}.user-item[data-v-a5778db2]:hover{background:var(--bg-hover)}.user-item--selected[data-v-a5778db2]{background:#2f54c414;border-color:var(--accent)}.user-item-info[data-v-a5778db2]{flex:1;display:flex;flex-direction:column;gap:2px}.user-item-name[data-v-a5778db2]{font-weight:600;font-size:14px;color:var(--text-primary)}.user-item-role[data-v-a5778db2]{font-size:11px;font-weight:500;padding:1px 6px;border-radius:6px;display:inline-block;width:fit-content}.role-admin[data-v-a5778db2]{background:#ef44441a;color:var(--error)}.role-engineer[data-v-a5778db2]{background:var(--accent-light);color:var(--accent)}.role-reviewer[data-v-a5778db2]{background:#fbbf241a;color:#d97706}.role-guest[data-v-a5778db2]{background:#6b72801a;color:var(--text-tertiary)}.user-item-plan[data-v-a5778db2]{display:flex;align-items:center}.plan-tag[data-v-a5778db2]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.plan-free[data-v-a5778db2]{background:#6b72801a;color:var(--text-tertiary)}.plan-premium[data-v-a5778db2]{background:#22c55e1a;color:var(--success)}.user-item-check[data-v-a5778db2]{width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.user-empty[data-v-a5778db2]{text-align:center;padding:24px;color:var(--text-tertiary);font-size:13px}.transfer-footer[data-v-a5778db2]{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border-primary)}.btn-cancel[data-v-a5778db2]{padding:8px 16px;border:1px solid var(--border-primary);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;transition:all .15s}.btn-cancel[data-v-a5778db2]:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-transfer[data-v-a5778db2]{padding:8px 16px;border:none;border-radius:8px;background:var(--accent);color:var(--accent-text);cursor:pointer;font-size:13px;font-weight:600;transition:all .15s}.btn-transfer[data-v-a5778db2]:disabled{background:var(--text-tertiary);cursor:default}.btn-transfer[data-v-a5778db2]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.transfer-success-banner[data-v-a5778db2]{position:absolute;bottom:60px;left:20px;right:20px;padding:10px 14px;background:#22c55e1a;border:1px solid var(--success);border-radius:8px;color:var(--success);font-size:13px;font-weight:500;animation:slideUp-a5778db2 .2s ease-out}.transfer-error-banner[data-v-a5778db2]{position:absolute;bottom:60px;left:20px;right:20px;padding:10px 14px;background:#ef44441a;border:1px solid var(--error);border-radius:8px;color:var(--error);font-size:13px;font-weight:500;animation:slideUp-a5778db2 .2s ease-out}@keyframes slideUp-a5778db2{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.admin-projects[data-v-196043c0]{display:flex;flex-direction:column;gap:16px}.admin-page-header[data-v-196043c0]{display:flex;align-items:baseline;gap:12px}.admin-title[data-v-196043c0]{font-size:24px;font-weight:700;margin:0;color:var(--text-primary)}.admin-subtitle[data-v-196043c0]{font-size:13px;color:var(--text-tertiary)}.stats-bar[data-v-196043c0]{display:flex;gap:12px}.stat-card[data-v-196043c0]{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:10px;flex:1;max-width:240px}.stat-icon[data-v-196043c0]{font-size:24px}.stat-info[data-v-196043c0]{display:flex;flex-direction:column}.stat-value[data-v-196043c0]{font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-label[data-v-196043c0]{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.sort-toggle[data-v-196043c0]{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:11px;font-weight:600;text-decoration:underline;text-underline-offset:2px}.filter-bar[data-v-196043c0]{display:flex;gap:12px;align-items:center}.search-wrapper[data-v-196043c0]{position:relative;flex:1}.search-icon[data-v-196043c0]{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6}.search-input[data-v-196043c0]{width:100%;padding:10px 36px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:14px}.search-clear[data-v-196043c0]{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:14px}.filter-select[data-v-196043c0]{padding:10px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:14px}.loading-state[data-v-196043c0],.error-state[data-v-196043c0],.empty-state[data-v-196043c0]{text-align:center;padding:40px 0;color:var(--text-tertiary)}.spinner[data-v-196043c0]{width:28px;height:28px;border:3px solid var(--border-primary);border-top-color:var(--accent);border-radius:50%;margin:0 auto 10px;animation:spin-196043c0 .8s linear infinite}@keyframes spin-196043c0{to{transform:rotate(360deg)}}.retry-btn[data-v-196043c0]{margin-left:10px;padding:6px 14px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer}.empty-icon[data-v-196043c0]{display:block;font-size:28px;margin-bottom:8px}.project-table-wrapper[data-v-196043c0]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden}.project-table[data-v-196043c0]{width:100%;border-collapse:collapse;font-size:14px}.project-table th[data-v-196043c0]{text-align:left;padding:12px 16px;background:var(--bg-secondary);color:var(--text-tertiary);font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-primary)}.project-table td[data-v-196043c0]{padding:12px 16px;border-bottom:1px solid var(--border-primary);color:var(--text-primary);vertical-align:middle}.project-row[data-v-196043c0]:hover{background:var(--bg-hover)}.project-row--mine[data-v-196043c0]{background:#6366f10f}.project-name-cell[data-v-196043c0]{display:flex;align-items:center;gap:8px}.project-name[data-v-196043c0]{font-weight:600}.own-badge[data-v-196043c0]{font-size:10px;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#4338ca}.owner-cell[data-v-196043c0]{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px}.owner-icon[data-v-196043c0]{opacity:.6}.action-btns[data-v-196043c0]{display:flex;gap:6px}.action-btn[data-v-196043c0]{width:32px;height:32px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card);cursor:pointer;font-size:15px;transition:all .12s}.action-btn[data-v-196043c0]:hover{border-color:var(--accent);background:var(--bg-hover)}.action-delete[data-v-196043c0]:hover{border-color:#dc2626}.pagination-bar[data-v-196043c0]{display:flex;align-items:center;justify-content:center;gap:6px;padding:14px}.page-btn[data-v-196043c0]{min-width:32px;height:32px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:14px}.page-btn[data-v-196043c0]:disabled{opacity:.4;cursor:default}.page-btn--active[data-v-196043c0]{background:var(--accent);color:#fff;border-color:var(--accent)}.page-ellipsis[data-v-196043c0]{color:var(--text-tertiary);padding:0 2px}.detail-overlay[data-v-a604f879]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn-a604f879 .15s ease-out}@keyframes fadeIn-a604f879{0%{opacity:0}to{opacity:1}}.detail-modal[data-v-a604f879]{background:var(--bg-card);border-radius:16px;width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 80px #00000059;overflow:hidden}.detail-header[data-v-a604f879]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-primary)}.detail-header-left[data-v-a604f879]{display:flex;align-items:center;gap:14px}.detail-avatar[data-v-a604f879]{font-size:36px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:12px}.detail-username[data-v-a604f879]{margin:0;font-size:18px;font-weight:700}.detail-subtitle[data-v-a604f879]{font-size:12px;color:var(--text-tertiary)}.detail-close[data-v-a604f879]{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-tertiary);padding:6px 10px;border-radius:8px;transition:all .15s}.detail-close[data-v-a604f879]:hover{background:var(--bg-hover);color:var(--text-primary)}.detail-loading[data-v-a604f879],.detail-error[data-v-a604f879]{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 20px;color:var(--text-tertiary)}.spinner[data-v-a604f879]{width:28px;height:28px;border:3px solid var(--border-primary);border-top-color:var(--accent);border-radius:50%;animation:spin-a604f879 .8s linear infinite}@keyframes spin-a604f879{to{transform:rotate(360deg)}}.detail-body[data-v-a604f879]{flex:1;overflow-y:auto;padding:20px 24px}.detail-info-row[data-v-a604f879]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.detail-info-card[data-v-a604f879]{padding:12px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;display:flex;flex-direction:column;gap:4px}.dicl-label[data-v-a604f879]{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.dicl-value[data-v-a604f879]{font-size:16px;font-weight:700;color:var(--text-primary)}.role-badge-sm[data-v-a604f879],.plan-badge-sm[data-v-a604f879]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600}.role-admin[data-v-a604f879]{background:#ef444414;color:var(--error)}.role-engineer[data-v-a604f879]{background:#2f54c414;color:var(--accent)}.role-reviewer[data-v-a604f879]{background:#fbbf2414;color:#d97706}.role-guest[data-v-a604f879]{background:#6b728014;color:var(--text-tertiary)}.plan-free[data-v-a604f879]{background:#6b72801a;color:var(--text-tertiary)}.plan-premium[data-v-a604f879]{background:#22c55e1a;color:var(--success)}.detail-plan-section[data-v-a604f879]{margin-bottom:20px;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px}.detail-plan-header[data-v-a604f879]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px;font-weight:600}.plan-progress-bar[data-v-a604f879]{height:6px;background:var(--border-primary);border-radius:3px;overflow:hidden;margin-bottom:6px}.plan-progress-fill[data-v-a604f879]{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease}.plan-progress-fill--warn[data-v-a604f879]{background:#d97706}.plan-progress-fill--full[data-v-a604f879]{background:var(--error)}.plan-progress-text[data-v-a604f879]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-tertiary)}.plan-limit-reached[data-v-a604f879]{color:var(--error);font-weight:600}.detail-tabs[data-v-a604f879]{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--border-primary)}.detail-tab[data-v-a604f879]{padding:8px 14px;border:none;background:none;font-size:13px;font-weight:500;color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}.detail-tab[data-v-a604f879]:hover{color:var(--text-primary)}.detail-tab--active[data-v-a604f879]{color:var(--accent);border-bottom-color:var(--accent)}.detail-tab-content[data-v-a604f879]{min-height:120px}.detail-projects-list[data-v-a604f879]{display:flex;flex-direction:column;gap:6px}.detail-project-item[data-v-a604f879]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .12s}.detail-project-item[data-v-a604f879]:hover{border-color:var(--accent);background:#2f54c40a}.dpi-info[data-v-a604f879]{display:flex;flex-direction:column;gap:2px}.dpi-name[data-v-a604f879]{font-weight:600;font-size:14px}.dpi-date[data-v-a604f879]{font-size:11px;color:var(--text-tertiary)}.dpi-open-btn[data-v-a604f879]{padding:4px 8px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-card);cursor:pointer;font-size:14px;transition:all .12s}.dpi-open-btn[data-v-a604f879]:hover{border-color:var(--accent);background:#2f54c40f}.detail-audit-list[data-v-a604f879]{display:flex;flex-direction:column;gap:6px}.detail-audit-item[data-v-a604f879]{padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px}.dai-header[data-v-a604f879]{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.audit-action-badge[data-v-a604f879]{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500;background:#2f54c414;color:var(--accent)}.action-delete_project[data-v-a604f879]{background:#ef444414;color:var(--error)}.action-login[data-v-a604f879]{background:#22c55e14;color:var(--success)}.action-login_failed[data-v-a604f879]{background:#ef444414;color:var(--error)}.action-register_user[data-v-a604f879]{background:#2f54c414;color:var(--accent)}.action-change_role[data-v-a604f879],.action-transfer_project[data-v-a604f879]{background:#fbbf2414;color:#d97706}.action-delete_user[data-v-a604f879]{background:#ef444414;color:var(--error)}.action-restore_version[data-v-a604f879]{background:#2f54c414;color:var(--accent)}.dai-time[data-v-a604f879]{font-size:11px;color:var(--text-tertiary)}.dai-meta[data-v-a604f879]{display:flex;gap:12px;font-size:11px;color:var(--text-secondary)}.dai-meta code[data-v-a604f879]{font-size:10px;color:var(--text-tertiary)}.dai-details[data-v-a604f879]{margin-top:4px}.dai-details-json[data-v-a604f879]{margin:0;padding:6px 8px;background:#00000008;border:1px solid var(--border-primary);border-radius:4px;font-size:10px;line-height:1.4;max-height:80px;overflow-y:auto;white-space:pre}.detail-audit-pages[data-v-a604f879]{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 0 4px}.ap-btn[data-v-a604f879]{min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-primary);border-radius:5px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:13px;transition:all .1s}.ap-btn[data-v-a604f879]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ap-btn[data-v-a604f879]:disabled{opacity:.35;cursor:default}.ap-info[data-v-a604f879]{font-size:12px;color:var(--text-tertiary);font-weight:500}.detail-empty[data-v-a604f879]{text-align:center;padding:30px 10px;color:var(--text-tertiary);font-size:14px}.detail-loading-sm[data-v-a604f879],.detail-error-sm[data-v-a604f879]{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--text-tertiary);font-size:13px}.spinner-sm[data-v-a604f879]{width:16px;height:16px;border:2px solid var(--border-primary);border-top-color:var(--accent);border-radius:50%;animation:spin-a604f879 .8s linear infinite}.user-panel[data-v-56f29c58]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden;margin-top:16px}.user-header[data-v-56f29c58]{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.user-header[data-v-56f29c58]:hover{background:var(--bg-hover)}.user-header-icon[data-v-56f29c58]{font-size:16px}.user-header-title[data-v-56f29c58]{font-weight:600;font-size:14px;flex:1}.user-header-count[data-v-56f29c58]{font-size:12px;font-weight:600;padding:1px 8px;border-radius:10px;background:var(--bg-secondary);color:var(--text-tertiary)}.user-header-toggle[data-v-56f29c58]{font-size:10px;color:var(--text-tertiary)}.user-body[data-v-56f29c58]{border-top:1px solid var(--border-primary);padding:12px 16px}.user-loading[data-v-56f29c58],.user-error[data-v-56f29c58],.user-empty[data-v-56f29c58]{display:flex;align-items:center;justify-content:center;gap:8px;padding:30px;color:var(--text-tertiary);font-size:13px}.spinner[data-v-56f29c58]{width:20px;height:20px;border:2px solid var(--border-primary);border-top-color:var(--accent);border-radius:50%;animation:spin-56f29c58 .8s linear infinite}@keyframes spin-56f29c58{to{transform:rotate(360deg)}}.user-table-wrapper[data-v-56f29c58]{overflow-x:auto}.user-table[data-v-56f29c58]{width:100%;border-collapse:collapse;font-size:13px}.user-table th[data-v-56f29c58]{text-align:left;padding:8px 10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);white-space:nowrap}.user-table td[data-v-56f29c58]{padding:8px 10px;border-bottom:1px solid var(--border-primary);color:var(--text-primary);vertical-align:middle}.user-row:last-child td[data-v-56f29c58]{border-bottom:none}.user-row[data-v-56f29c58]:hover{background:var(--bg-hover)}.user-row--self[data-v-56f29c58]{background:#2f54c408}.user-row--self[data-v-56f29c58]:hover{background:#2f54c40f}.u-col-username[data-v-56f29c58]{min-width:140px}.u-col-role[data-v-56f29c58]{min-width:120px}.u-col-plan[data-v-56f29c58]{min-width:80px}.u-col-projects[data-v-56f29c58]{min-width:60px;text-align:center}.u-col-actions[data-v-56f29c58]{min-width:50px;text-align:center}.user-name[data-v-56f29c58]{font-weight:600}.self-badge[data-v-56f29c58]{font-size:9px;font-weight:600;padding:1px 5px;border-radius:6px;background:#2f54c41a;color:var(--accent);margin-left:6px;text-transform:uppercase}.role-badge[data-v-56f29c58]{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.role-admin[data-v-56f29c58]{background:#ef444414;color:var(--error)}.role-engineer[data-v-56f29c58]{background:#2f54c414;color:var(--accent)}.role-reviewer[data-v-56f29c58]{background:#fbbf2414;color:#d97706}.role-guest[data-v-56f29c58]{background:#6b728014;color:var(--text-tertiary)}.role-cell-wrapper[data-v-56f29c58]{display:inline-flex;align-items:center;gap:4px}.role-select[data-v-56f29c58]{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:3px 20px 3px 8px;border:1px solid var(--border-primary);border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;outline:none;background:var(--bg-card);color:var(--text-primary);min-width:110px;transition:border-color .12s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:8px}.role-select[data-v-56f29c58]:hover:not(:disabled){border-color:var(--accent)}.role-select[data-v-56f29c58]:focus:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 2px #2f54c426}.role-select[data-v-56f29c58]:disabled{opacity:.6;cursor:default}.role-select--admin[data-v-56f29c58]{color:var(--error)}.role-select--engineer[data-v-56f29c58]{color:var(--accent)}.role-select--reviewer[data-v-56f29c58]{color:#d97706}.role-select--guest[data-v-56f29c58]{color:var(--text-tertiary)}.role-changing[data-v-56f29c58]{font-size:12px;animation:pulse-56f29c58 .8s ease-in-out infinite}@keyframes pulse-56f29c58{0%,to{opacity:1}50%{opacity:.4}}.role-changed[data-v-56f29c58]{font-size:12px}.role-change-error[data-v-56f29c58]{font-size:12px;cursor:help;color:var(--error)}.plan-badge[data-v-56f29c58]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.plan-free[data-v-56f29c58]{background:#6b72801a;color:var(--text-tertiary)}.plan-premium[data-v-56f29c58]{background:#22c55e1a;color:var(--success)}.project-count[data-v-56f29c58]{font-weight:700;font-size:14px}.action-delete-user[data-v-56f29c58]{padding:4px 8px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-card);cursor:pointer;font-size:14px;line-height:1;transition:all .15s}.action-view-user[data-v-56f29c58]:hover:not(:disabled){border-color:var(--accent);background:#2f54c414}.action-delete-user[data-v-56f29c58]:hover:not(:disabled){border-color:var(--error);background:#ef444414}.action-delete-user[data-v-56f29c58]:disabled{opacity:.5;cursor:default}.action-disabled[data-v-56f29c58]{color:var(--text-tertiary);font-size:12px}.delete-confirm-overlay[data-v-56f29c58]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn-56f29c58 .15s ease-out}@keyframes fadeIn-56f29c58{0%{opacity:0}to{opacity:1}}.delete-confirm-dialog[data-v-56f29c58]{background:var(--bg-card);border-radius:14px;width:400px;padding:24px;box-shadow:0 20px 60px #0000004d;position:relative}.delete-confirm-header[data-v-56f29c58]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.delete-confirm-header h3[data-v-56f29c58]{margin:0;font-size:16px;font-weight:600}.delete-confirm-icon[data-v-56f29c58]{font-size:20px}.delete-confirm-body[data-v-56f29c58]{font-size:14px;color:var(--text-secondary);margin:0 0 12px;line-height:1.5}.delete-confirm-error[data-v-56f29c58]{font-size:13px;color:var(--error);margin:0 0 12px;padding:8px 12px;background:#ef444414;border-radius:8px}.delete-confirm-footer[data-v-56f29c58]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.btn-cancel[data-v-56f29c58]{padding:8px 16px;border:1px solid var(--border-primary);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;transition:all .15s}.btn-cancel[data-v-56f29c58]:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-delete[data-v-56f29c58]{padding:8px 16px;border:none;border-radius:8px;background:var(--error);color:#fff;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s}.btn-delete[data-v-56f29c58]:disabled{background:var(--text-tertiary);cursor:default}.btn-delete[data-v-56f29c58]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.delete-success-banner[data-v-56f29c58]{position:absolute;bottom:16px;left:24px;right:24px;padding:10px 14px;background:#22c55e1a;border:1px solid var(--success);border-radius:8px;color:var(--success);font-size:13px;font-weight:500;animation:slideUp-56f29c58 .2s ease-out}.delete-error-banner[data-v-56f29c58]{position:absolute;bottom:16px;left:24px;right:24px;padding:10px 14px;background:#ef44441a;border:1px solid var(--error);border-radius:8px;color:var(--error);font-size:13px;font-weight:500;animation:slideUp-56f29c58 .2s ease-out}@keyframes slideUp-56f29c58{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.admin-subpage[data-v-0167e8bb]{display:flex;flex-direction:column;gap:16px}.admin-page-header[data-v-0167e8bb]{display:flex;align-items:baseline;gap:12px}.admin-title[data-v-0167e8bb]{font-size:24px;font-weight:700;margin:0;color:var(--text-primary)}.admin-subtitle[data-v-0167e8bb]{font-size:13px;color:var(--text-tertiary)}.admin-section[data-v-0167e8bb]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:16px}.audit-panel[data-v-4a2b1527]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden}.audit-header[data-v-4a2b1527]{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.audit-header[data-v-4a2b1527]:hover{background:var(--bg-hover)}.audit-header-icon[data-v-4a2b1527]{font-size:16px}.audit-header-title[data-v-4a2b1527]{font-weight:600;font-size:14px;flex:1}.audit-header-count[data-v-4a2b1527]{font-size:12px;font-weight:600;padding:1px 8px;border-radius:10px;background:var(--bg-secondary);color:var(--text-tertiary)}.audit-header-toggle[data-v-4a2b1527]{font-size:10px;color:var(--text-tertiary)}.audit-body[data-v-4a2b1527]{border-top:1px solid var(--border-primary);padding:12px 16px}.audit-filters[data-v-4a2b1527]{display:flex;gap:8px;margin-bottom:10px}.audit-filter-group[data-v-4a2b1527]{flex:1;display:flex;gap:6px}.audit-filter-select[data-v-4a2b1527],.audit-filter-input[data-v-4a2b1527]{padding:6px 10px;border:1px solid var(--border-primary);border-radius:6px;font-size:12px;outline:none;background:var(--bg-secondary);color:var(--text-primary)}.audit-filter-select[data-v-4a2b1527]:focus,.audit-filter-input[data-v-4a2b1527]:focus{border-color:var(--accent)}.audit-filter-select[data-v-4a2b1527]{min-width:160px}.audit-filter-input[data-v-4a2b1527]{flex:1}.audit-refresh-btn[data-v-4a2b1527]{padding:6px 10px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);cursor:pointer;font-size:14px;transition:all .12s}.audit-refresh-btn[data-v-4a2b1527]:hover{border-color:var(--accent);background:#2f54c40f}.audit-loading[data-v-4a2b1527],.audit-error[data-v-4a2b1527],.audit-empty[data-v-4a2b1527]{display:flex;align-items:center;justify-content:center;gap:8px;padding:30px;color:var(--text-tertiary);font-size:13px}.spinner[data-v-4a2b1527]{width:20px;height:20px;border:2px solid var(--border-primary);border-top-color:var(--accent);border-radius:50%;animation:spin-4a2b1527 .8s linear infinite}@keyframes spin-4a2b1527{to{transform:rotate(360deg)}}.audit-table-wrapper[data-v-4a2b1527]{overflow-x:auto}.audit-table[data-v-4a2b1527]{width:100%;border-collapse:collapse;font-size:12px}.audit-table th[data-v-4a2b1527]{text-align:left;padding:8px 10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);white-space:nowrap}.audit-table td[data-v-4a2b1527]{padding:8px 10px;border-bottom:1px solid var(--border-primary);color:var(--text-primary);vertical-align:top}.audit-row:last-child td[data-v-4a2b1527]{border-bottom:none}.audit-row[data-v-4a2b1527]:hover{background:var(--bg-hover)}.col-time[data-v-4a2b1527]{white-space:nowrap;min-width:120px}.col-user[data-v-4a2b1527]{min-width:100px}.col-action[data-v-4a2b1527]{min-width:140px}.col-entity[data-v-4a2b1527]{min-width:120px}.col-details[data-v-4a2b1527]{min-width:160px;max-width:300px}.col-ip[data-v-4a2b1527]{min-width:80px}.audit-user-badge[data-v-4a2b1527]{font-weight:500;font-size:12px}.audit-action-tag[data-v-4a2b1527]{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500;background:#2f54c414;color:var(--accent)}.action-delete_project[data-v-4a2b1527]{background:#ef444414;color:var(--error)}.action-login[data-v-4a2b1527]{background:#22c55e14;color:var(--success)}.action-login_failed[data-v-4a2b1527]{background:#ef444414;color:var(--error)}.action-register_user[data-v-4a2b1527]{background:#2f54c414;color:var(--accent)}.action-change_role[data-v-4a2b1527],.action-transfer_project[data-v-4a2b1527]{background:#fbbf2414;color:#d97706}.action-update_plan[data-v-4a2b1527]{background:#22c55e14;color:var(--success)}.action-restore_version[data-v-4a2b1527]{background:#2f54c414;color:var(--accent)}.action-refresh_catalog_prices[data-v-4a2b1527]{background:#9333ea14;color:#9333ea}.audit-entity[data-v-4a2b1527]{font-size:11px;color:var(--text-secondary)}.audit-entity code[data-v-4a2b1527]{font-size:10px;color:var(--text-tertiary)}.audit-details-btn[data-v-4a2b1527]{cursor:pointer;color:var(--accent);font-size:11px}.audit-details-btn[data-v-4a2b1527]:hover{text-decoration:underline}.audit-details-empty[data-v-4a2b1527]{color:var(--text-tertiary)}.audit-details-json[data-v-4a2b1527]{margin:4px 0 0;padding:6px 8px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;font-size:10px;line-height:1.4;overflow-x:auto;max-height:200px;overflow-y:auto;white-space:pre}.audit-pagination[data-v-4a2b1527]{display:flex;align-items:center;justify-content:center;gap:3px;padding:10px 0 4px}.ap-btn[data-v-4a2b1527]{min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0 6px;border:1px solid var(--border-primary);border-radius:5px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;transition:all .1s}.ap-btn[data-v-4a2b1527]:hover:not(:disabled):not(.ap-btn--active){border-color:var(--accent);color:var(--accent)}.ap-btn--active[data-v-4a2b1527]{background:var(--accent);color:var(--accent-text);border-color:var(--accent);cursor:default}.ap-btn[data-v-4a2b1527]:disabled{opacity:.35;cursor:default}.ap-ellipsis[data-v-4a2b1527]{display:flex;align-items:center;padding:0 2px;color:var(--text-tertiary);font-size:13px;-webkit-user-select:none;user-select:none}.admin-subpage[data-v-71507ec9]{display:flex;flex-direction:column;gap:16px}.admin-page-header[data-v-71507ec9]{display:flex;align-items:baseline;gap:12px}.admin-title[data-v-71507ec9]{font-size:24px;font-weight:700;margin:0;color:var(--text-primary)}.admin-subtitle[data-v-71507ec9]{font-size:13px;color:var(--text-tertiary)}.admin-section[data-v-71507ec9]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:16px}.cm-root[data-v-7aec981f]{background:var(--bg-card, #fff);border:1px solid var(--border-primary, #e2e8f0);border-radius:12px;overflow:hidden}.cm-header[data-v-7aec981f]{padding:16px 20px;border-bottom:1px solid var(--border-primary, #e2e8f0)}.cm-title[data-v-7aec981f]{margin:0;font-size:16px;font-weight:700;color:var(--text-primary, #0f172a)}.cm-subtitle[data-v-7aec981f]{font-size:12px;color:var(--text-tertiary, #94a3b8);margin-left:8px}.cm-loading[data-v-7aec981f],.cm-error[data-v-7aec981f]{padding:24px;display:flex;align-items:center;gap:10px;color:var(--text-tertiary, #94a3b8)}.cm-body[data-v-7aec981f]{display:flex;min-height:400px}.cm-list[data-v-7aec981f]{width:260px;border-right:1px solid var(--border-primary, #e2e8f0);flex-shrink:0}.cm-card[data-v-7aec981f]{padding:12px 16px;border-bottom:1px solid var(--border-primary, #e2e8f0);cursor:pointer;transition:background .12s}.cm-card[data-v-7aec981f]:hover{background:var(--bg-hover, #f8fafc)}.cm-card.active[data-v-7aec981f]{background:#2f54c40f;border-left:3px solid var(--accent, #2563eb)}.cm-card-head[data-v-7aec981f]{display:flex;align-items:center;gap:8px}.cm-card-icon[data-v-7aec981f]{font-size:18px}.cm-card-name[data-v-7aec981f]{font-size:13px;font-weight:600;color:var(--text-primary, #0f172a);flex:1}.cm-card-count[data-v-7aec981f]{font-size:11px;color:var(--text-tertiary, #94a3b8);background:var(--bg-secondary, #f1f5f9);border-radius:6px;padding:1px 6px}.cm-card-meta[data-v-7aec981f]{font-size:10px;color:var(--text-tertiary, #94a3b8);margin-top:4px}.cm-card-price[data-v-7aec981f]{font-weight:500}.cm-detail[data-v-7aec981f]{flex:1;padding:16px 20px;overflow-y:auto}.cm-detail-header[data-v-7aec981f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cm-detail-header h4[data-v-7aec981f]{margin:0;font-size:15px;font-weight:700;color:var(--text-primary, #0f172a)}.cm-detail-actions[data-v-7aec981f]{display:flex;align-items:center;gap:8px}.cm-btn[data-v-7aec981f]{padding:6px 12px;border:1px solid var(--border-primary, #e2e8f0);border-radius:6px;background:var(--bg-card, #fff);cursor:pointer;font-size:12px;color:var(--text-secondary, #475569)}.cm-btn[data-v-7aec981f]:hover{border-color:var(--accent, #2563eb);color:var(--accent, #2563eb)}.cm-btn[data-v-7aec981f]:disabled{opacity:.45;cursor:not-allowed}.cm-btn-llm[data-v-7aec981f]{background:linear-gradient(135deg,#7c3aed,#4f46e5);border-color:transparent;color:#fff;font-weight:600}.cm-btn-llm[data-v-7aec981f]:hover:not(:disabled){border-color:transparent;color:#fff;filter:brightness(1.12)}.cm-btn-sm[data-v-7aec981f]{padding:4px 8px;font-size:11px}.cm-force[data-v-7aec981f]{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-tertiary, #94a3b8);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s}.cm-force[data-v-7aec981f]:hover{color:var(--text-secondary, #475569)}.cm-force.on[data-v-7aec981f]{color:#7c3aed;font-weight:600}.cm-force input[data-v-7aec981f]{accent-color:#7c3aed;cursor:pointer}.cm-selcount[data-v-7aec981f]{font-size:11px;color:var(--text-tertiary, #94a3b8);background:var(--bg-secondary, #f1f5f9);border-radius:6px;padding:2px 6px}.cm-selbar[data-v-7aec981f]{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;color:var(--text-tertiary, #94a3b8)}.cm-selbar .cm-btn[data-v-7aec981f]{padding:2px 8px}.cm-td-cb[data-v-7aec981f]{width:28px;text-align:center}.cm-td-cb input[data-v-7aec981f]{accent-color:var(--accent, #2563eb);cursor:pointer}.cm-table tr.selected td[data-v-7aec981f]{background:#2f54c40d}.cm-refresh[data-v-7aec981f]{margin-bottom:16px;border-radius:8px;padding:10px 14px;font-size:12px;display:flex;flex-direction:column;gap:4px}.cm-refresh.ok[data-v-7aec981f]{background:#22c55e17;border:1px solid rgba(34,197,94,.35);color:#15803d}.cm-refresh.err[data-v-7aec981f]{background:#ef444414;border:1px solid rgba(239,68,68,.35);color:#b91c1c}.cm-refresh-msg[data-v-7aec981f]{font-weight:600}.cm-refresh-detail[data-v-7aec981f]{color:var(--text-secondary, #475569)}.cm-refresh-db[data-v-7aec981f]{color:#15803d;font-weight:600}.cm-summary[data-v-7aec981f]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.cm-sum-card[data-v-7aec981f]{background:var(--bg-secondary, #f8fafc);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.sc-val[data-v-7aec981f]{font-size:18px;font-weight:700;color:var(--text-primary, #0f172a)}.sc-lbl[data-v-7aec981f]{font-size:10px;color:var(--text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.3px}.cm-charts[data-v-7aec981f]{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:18px}.cm-chart-box[data-v-7aec981f]{background:var(--bg-secondary, #f8fafc);border-radius:10px;padding:14px}.cm-chart-title[data-v-7aec981f]{font-size:13px;font-weight:600;color:var(--text-secondary, #475569);margin-bottom:10px}.cm-chart-box canvas[data-v-7aec981f]{max-height:280px}.cm-table[data-v-7aec981f]{width:100%;border-collapse:collapse;font-size:12px}.cm-table th[data-v-7aec981f]{text-align:left;padding:6px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-tertiary, #94a3b8);border-bottom:1px solid var(--border-primary, #e2e8f0)}.cm-table td[data-v-7aec981f]{padding:5px 8px;border-bottom:1px solid var(--border-primary, #e2e8f0);color:var(--text-primary, #0f172a)}.cm-td-id[data-v-7aec981f]{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-tertiary, #94a3b8)}.cm-td-price[data-v-7aec981f]{text-align:right;font-weight:600;white-space:nowrap}.cm-more[data-v-7aec981f]{padding:8px;font-size:11px;color:var(--text-tertiary, #94a3b8);text-align:center}.spinner[data-v-7aec981f]{width:20px;height:20px;border:2px solid var(--border-primary, #e2e8f0);border-top-color:var(--accent, #2563eb);border-radius:50%;animation:spin-7aec981f .6s linear infinite}@keyframes spin-7aec981f{to{transform:rotate(360deg)}}.admin-subpage[data-v-c2f044c2]{display:flex;flex-direction:column;gap:16px}.admin-page-header[data-v-c2f044c2]{display:flex;align-items:baseline;gap:12px}.admin-title[data-v-c2f044c2]{font-size:24px;font-weight:700;margin:0;color:var(--text-primary)}.admin-subtitle[data-v-c2f044c2]{font-size:13px;color:var(--text-tertiary)}.admin-section[data-v-c2f044c2]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:16px}.admin-subpage[data-v-0e4227ba]{display:flex;flex-direction:column;gap:16px}.admin-page-header[data-v-0e4227ba]{display:flex;align-items:baseline;gap:12px}.admin-title[data-v-0e4227ba]{font-size:24px;font-weight:700;margin:0;color:var(--text-primary)}.admin-subtitle[data-v-0e4227ba]{font-size:13px;color:var(--text-tertiary)}.admin-section[data-v-0e4227ba]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:16px}.stats-grid[data-v-0e4227ba]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.stat-block[data-v-0e4227ba]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border-primary)}.stat-value[data-v-0e4227ba]{font-size:22px;font-weight:700;color:var(--text-primary)}.stat-label[data-v-0e4227ba]{font-size:11px;color:var(--text-tertiary);text-align:center}.filters-row[data-v-0e4227ba]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filter-input[data-v-0e4227ba],.filter-select[data-v-0e4227ba]{padding:8px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px}.table-header[data-v-0e4227ba]{display:flex;justify-content:space-between;margin-bottom:10px;font-size:13px;color:var(--text-secondary)}.table-header .page-info[data-v-0e4227ba]{color:var(--text-tertiary)}.logs-table-wrap[data-v-0e4227ba]{overflow-x:auto}.logs-table[data-v-0e4227ba]{width:100%;border-collapse:collapse;font-size:13px}.logs-table th[data-v-0e4227ba],.logs-table td[data-v-0e4227ba]{padding:8px 10px;border-bottom:1px solid var(--border-primary);text-align:left}.logs-table th[data-v-0e4227ba]{font-weight:600;color:var(--text-secondary);background:var(--bg-secondary)}.kind-badge[data-v-0e4227ba]{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;background:#eef2ff;color:#4338ca}.kind-message[data-v-0e4227ba]{background:#dbeafe;color:#1d4ed8}.kind-voice[data-v-0e4227ba]{background:#fce7f3;color:#be185d}.kind-callback[data-v-0e4227ba]{background:#d1fae5;color:#065f46}.kind-event[data-v-0e4227ba]{background:#fef3c7;color:#92400e}.ok-yes[data-v-0e4227ba]{color:#16a34a;font-weight:700}.ok-no[data-v-0e4227ba]{color:#dc2626;font-weight:700}.error-cell[data-v-0e4227ba]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dc2626}.row-error[data-v-0e4227ba]{background:#fef2f2}.ts[data-v-0e4227ba]{white-space:nowrap;color:var(--text-secondary);font-size:12px}.chat-id[data-v-0e4227ba]{font-family:monospace}.pagination[data-v-0e4227ba]{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px}.page-num[data-v-0e4227ba]{font-weight:700;color:var(--text-primary)}.empty[data-v-0e4227ba]{color:var(--text-tertiary);text-align:center;padding:20px 0}.modal-overlay[data-v-0e4227ba]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-0e4227ba]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:16px;padding:24px;max-width:700px;width:90%;max-height:80vh;overflow-y:auto}.modal-header[data-v-0e4227ba]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header h3[data-v-0e4227ba]{margin:0}.btn-close[data-v-0e4227ba]{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary)}.modal-body dl[data-v-0e4227ba]{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:13px}.modal-body dt[data-v-0e4227ba]{font-weight:600;color:var(--text-secondary)}.modal-body dd[data-v-0e4227ba]{margin:0;word-break:break-all}.modal-body h4[data-v-0e4227ba]{margin:12px 0 6px;font-size:13px;color:var(--text-secondary)}.json-pre[data-v-0e4227ba]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:12px;font-size:12px;overflow-x:auto;max-height:300px}.modal-footer[data-v-0e4227ba]{margin-top:16px;text-align:right}.admin-subpage[data-v-ecb70018]{display:flex;flex-direction:column;gap:16px}.admin-page-header[data-v-ecb70018]{display:flex;align-items:baseline;gap:12px}.admin-title[data-v-ecb70018]{font-size:24px;font-weight:700;margin:0;color:var(--text-primary)}.admin-subtitle[data-v-ecb70018]{font-size:13px;color:var(--text-tertiary)}.admin-section[data-v-ecb70018]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:16px}.section-header[data-v-ecb70018]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title[data-v-ecb70018]{font-size:18px;font-weight:600;margin:0;color:var(--text-primary)}.stats-grid[data-v-ecb70018]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-block[data-v-ecb70018]{display:flex;flex-direction:column;gap:4px}.stat-value[data-v-ecb70018]{font-size:24px;font-weight:700;color:var(--text-primary)}.stat-label[data-v-ecb70018]{font-size:13px;color:var(--text-secondary)}.filters-row[data-v-ecb70018]{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-input[data-v-ecb70018],.filter-select[data-v-ecb70018]{padding:8px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.table-container[data-v-ecb70018]{overflow-x:auto}.data-table[data-v-ecb70018]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-ecb70018],.data-table td[data-v-ecb70018]{padding:12px;text-align:left;border-bottom:1px solid var(--border-primary)}.data-table th[data-v-ecb70018]{font-weight:600;color:var(--text-secondary);background:var(--bg-secondary)}.data-table tbody tr[data-v-ecb70018]:hover{background:var(--bg-hover)}.user-id[data-v-ecb70018]{font-family:monospace;font-size:12px;color:var(--text-secondary)}.badge[data-v-ecb70018]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.badge-success[data-v-ecb70018]{background:var(--success-bg, #d4edda);color:var(--success-text, #155724)}.badge-warning[data-v-ecb70018]{background:var(--warning-bg, #fff3cd);color:var(--warning-text, #856404)}.badge-danger[data-v-ecb70018]{background:var(--danger-bg, #f8d7da);color:var(--danger-text, #721c24)}.badge-completed[data-v-ecb70018]{background:var(--success-bg, #d4edda);color:var(--success-text, #155724)}.badge-pending[data-v-ecb70018]{background:var(--warning-bg, #fff3cd);color:var(--warning-text, #856404)}.badge-failed[data-v-ecb70018]{background:var(--danger-bg, #f8d7da);color:var(--danger-text, #721c24)}.btn[data-v-ecb70018]{padding:8px 16px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s}.btn[data-v-ecb70018]:hover{background:var(--bg-hover)}.btn-primary[data-v-ecb70018]{background:var(--primary-color, #007bff);color:#fff;border-color:var(--primary-color, #007bff)}.btn-primary[data-v-ecb70018]:hover{opacity:.9}.btn-sm[data-v-ecb70018]{padding:4px 8px;font-size:12px}.btn-danger[data-v-ecb70018]{background:var(--danger-bg, #dc3545);color:#fff;border-color:var(--danger-bg, #dc3545)}.empty-message[data-v-ecb70018]{text-align:center;padding:32px;color:var(--text-secondary)}.modal-overlay[data-v-ecb70018]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-ecb70018]{background:var(--bg-card);border-radius:12px;padding:24px;min-width:400px;max-width:600px}.modal-content h3[data-v-ecb70018]{margin:0 0 16px;color:var(--text-primary)}.form-group[data-v-ecb70018]{margin-bottom:16px}.form-group label[data-v-ecb70018]{display:block;margin-bottom:4px;font-size:14px;color:var(--text-secondary)}.form-input[data-v-ecb70018]{width:100%;padding:8px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.form-row[data-v-ecb70018]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-actions[data-v-ecb70018]{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.projects-page[data-v-dad14aff]{min-height:100vh;overflow-y:auto;background:var(--bg-primary)}.navbar[data-v-dad14aff]{position:sticky;top:0;z-index:100;background:var(--bg-primary);border-bottom:1px solid var(--border-primary);transition:box-shadow .2s}.navbar.nav-scrolled[data-v-dad14aff]{box-shadow:0 2px 12px #00000014}.nav-inner[data-v-dad14aff]{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 24px}.nav-left[data-v-dad14aff]{display:flex;align-items:center;gap:12px}.nav-logo[data-v-dad14aff]{font-size:22px;font-weight:800;cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.nav-tagline[data-v-dad14aff]{font-size:13px;color:var(--text-tertiary)}.nav-right[data-v-dad14aff]{display:flex;align-items:center;gap:10px}.locale-group[data-v-dad14aff]{display:flex;gap:4px}.locale-btn[data-v-dad14aff]{background:none;border:1px solid var(--border-primary);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:14px;opacity:.6;transition:all .15s}.locale-btn.active[data-v-dad14aff]{opacity:1;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.theme-btn[data-v-dad14aff]{background:none;border:1px solid var(--border-primary);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:14px}.auth-role-badge[data-v-dad14aff]{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;background:var(--bg-secondary);border:1px solid var(--border-primary)}.role-tag[data-v-dad14aff]{font-size:11px;font-weight:500;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.auth-logout-btn[data-v-dad14aff]{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:12px;padding:2px 4px}.auth-logout-btn[data-v-dad14aff]:hover{color:var(--error)}.plan-badge-btn[data-v-dad14aff]{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid var(--border-primary);cursor:pointer;font-size:13px;font-weight:600;background:var(--bg-secondary)}.plan-badge-projects[data-v-dad14aff]{font-size:11px;opacity:.7;font-weight:500}.nav-btn[data-v-dad14aff]{padding:8px 16px;border-radius:8px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.btn-ghost[data-v-dad14aff]{background:none;border:1px solid var(--border-primary);color:var(--text-primary)}.btn-primary[data-v-dad14aff]{background:var(--accent);color:var(--accent-text)}.btn-primary[data-v-dad14aff]:hover{opacity:.9}.projects-main[data-v-dad14aff]{max-width:860px;margin:0 auto;padding:40px 24px 80px}.projects-title[data-v-dad14aff]{font-size:28px;font-weight:800;margin:0 0 8px;color:var(--text-primary)}.plan-limit-warning[data-v-dad14aff]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-radius:10px;margin:16px 0;font-size:14px;background:color-mix(in srgb,var(--warning) 12%,transparent);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent)}.plan-upgrade-link[data-v-dad14aff]{background:none;border:none;color:var(--accent);font-weight:600;cursor:pointer;white-space:nowrap}.section[data-v-dad14aff]{margin-bottom:24px}.section h3[data-v-dad14aff]{font-size:16px;font-weight:700;margin:0 0 10px;color:var(--text-primary)}.create-row[data-v-dad14aff]{display:flex;gap:10px}.input[data-v-dad14aff]{flex:1;padding:10px 14px;border:1px solid var(--border-primary);border-radius:8px;font-size:14px;outline:none;background:var(--bg-input);color:var(--text-primary);transition:border-color .15s}.input[data-v-dad14aff]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f54c426}.create-row button[data-v-dad14aff]{padding:10px 20px;border:none;border-radius:8px;background:var(--accent);color:var(--accent-text);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.create-row button[data-v-dad14aff]:disabled{opacity:.5;cursor:not-allowed}.plan-limit-reached[data-v-dad14aff]{margin-top:10px;font-size:13px;color:var(--warning)}.template-picker-wrap[data-v-dad14aff]{margin-top:14px}.search-input[data-v-dad14aff]{width:100%;padding:10px 14px;border:1px solid var(--border-primary);border-radius:8px;font-size:14px;outline:none;background:var(--bg-input);color:var(--text-primary);box-sizing:border-box;transition:border-color .15s}.search-input[data-v-dad14aff]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f54c426}.project-list[data-v-dad14aff]{display:flex;flex-direction:column;gap:4px}.project-item[data-v-dad14aff]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border:1px solid var(--border-primary);border-radius:10px;cursor:pointer;transition:all .15s;background:var(--bg-card)}.project-item[data-v-dad14aff]:hover{border-color:var(--accent);transform:translate(2px)}.project-item-left[data-v-dad14aff]{display:flex;align-items:center;gap:12px;min-width:0}.project-item-icon[data-v-dad14aff]{font-size:18px;flex-shrink:0}.project-item-name[data-v-dad14aff]{font-weight:600;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-item-right[data-v-dad14aff]{display:flex;align-items:center;gap:8px;flex-shrink:0}.project-item-date[data-v-dad14aff]{color:var(--text-tertiary);font-size:12px;white-space:nowrap}.project-item-delete[data-v-dad14aff]{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px 6px;font-size:13px;border-radius:4px;transition:all .15s;line-height:1}.project-item-delete[data-v-dad14aff]:hover{color:var(--error);background:#ef444414}.search-empty[data-v-dad14aff]{text-align:center;color:var(--text-tertiary);padding:20px;font-size:13px}.projects-empty[data-v-dad14aff]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;text-align:center}.projects-empty-icon[data-v-dad14aff]{font-size:48px}.projects-empty-text[data-v-dad14aff]{color:var(--text-tertiary);font-size:14px}.projects-empty-btn[data-v-dad14aff]{margin-top:8px}.projects-loading[data-v-dad14aff]{text-align:center;padding:40px;color:var(--text-tertiary)}.fade-slide-enter-active[data-v-dad14aff],.fade-slide-leave-active[data-v-dad14aff]{transition:all .2s ease}.fade-slide-enter-from[data-v-dad14aff],.fade-slide-leave-to[data-v-dad14aff]{opacity:0;transform:translateY(-6px)}:root,[data-theme=light]{--bg-primary: #f4f6f8;--bg-secondary: #eceff1;--bg-tertiary: #e3e7ea;--bg-canvas: #eef1f3;--bg-panel: #f7f9fa;--bg-card: #fbfcfd;--bg-input: #ffffff;--bg-hover: #e7ebee;--bg-active: #dde2e6;--text-primary: #1b2128;--text-secondary: #46505c;--text-tertiary: #7c8693;--text-on-panel: #1b2128;--text-on-panel-dim: #6b7682;--border-primary: rgba(27, 33, 40, .14);--border-secondary: rgba(27, 33, 40, .07);--border-panel: rgba(27, 33, 40, .12);--accent: #2f54c4;--accent-hover: #243f9c;--accent-light: #e6ebf7;--accent-text: #ffffff;--success: #2f7d4f;--warning: #b06a12;--error: #b3402f;--caveat: #b06a12;--caveat-soft: #f3e7d2;--ochre: #bf7516;--moss: #357a4d;--moss-soft: #e0ecdf;--ochre-soft: #f3e7d2;--coral: #b3402f;--coral-soft: #f2ded9;--slate: #8a93a3;--shadow-sm: 0 1px 2px rgba(27, 45, 80, .06);--shadow-md: 0 4px 18px rgba(27, 45, 80, .07), 0 2px 8px rgba(27, 45, 80, .04);--shadow-lg: 0 14px 34px rgba(27, 45, 80, .1), 0 6px 14px rgba(27, 45, 80, .05);--canvas-bg: #eef1f3;--canvas-grid: #d8dee3;--canvas-ruler: #c4ccd3;--font-display: "Bricolage Grotesque", "Hanken Grotesk", sans-serif;--font-body: "Hanken Grotesk", -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Space Mono", ui-monospace, monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 40px;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .15s;--dur-base: .25s;--dur-slow: .5s;--state-empty: var(--slate);--state-filled: var(--moss);--state-caveat: var(--ochre);--grid-line: rgba(47, 84, 196, .05)}[data-theme=dark]{color-scheme:dark;--bg-primary: #111418;--bg-secondary: #1d222b;--bg-tertiary: #242a35;--bg-canvas: #0d0f14;--bg-panel: #15181d;--bg-card: #20252f;--bg-input: #20252f;--bg-hover: #262c37;--bg-active: #2d3441;--text-primary: #edf0f5;--text-secondary: #9ba3b3;--text-tertiary: #6c7686;--text-on-panel: #e8ecf1;--text-on-panel-dim: #a4adba;--border-primary: rgba(255,255,255,.1);--border-secondary: rgba(255, 255, 255, .06);--border-panel: rgba(255, 255, 255, .1);--accent: #5f85f5;--accent-hover: #7b9af9;--accent-light: #1e2948;--accent-text: #0f1420;--success: #6db98a;--warning: #e0a34e;--error: #e08070;--caveat: #e0a34e;--caveat-soft: #3a2f1c;--ochre: #e0a34e;--moss: #6db98a;--moss-soft: #1f3327;--ochre-soft: #3a2f1c;--coral: #e08070;--coral-soft: #3a231f;--slate: #7c8693;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 18px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 14px 34px rgba(0, 0, 0, .5), 0 6px 14px rgba(0, 0, 0, .35);--canvas-bg: #0d0f14;--canvas-grid: #242a35;--canvas-ruler: #2d3441;--grid-line: rgba(125, 151, 232, .06)}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);transition-delay:var(--reveal-delay, 0s)}[data-reveal].revealed{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}
