.page-enter-active,.page-leave-active{transition:opacity .25s ease,transform .25s ease}.page-enter-from{opacity:0;transform:translateY(-12px)}.page-leave-to{opacity:0;transform:translateY(12px)}.landing[data-v-657d2520]{min-height:100vh;background:linear-gradient(135deg,#f0f7ff,#f8fafc,#e8f4fc);display:flex;flex-direction:column;overflow:auto}.landing-nav[data-v-657d2520]{display:flex;align-items:center;justify-content:space-between;padding:20px 48px;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(226,232,240,.8);position:sticky;top:0;z-index:100}.nav-logo[data-v-657d2520]{display:flex;align-items:center;gap:12px}.nav-logo-img[data-v-657d2520]{height:44px;object-fit:contain;display:block}.nav-login-btn[data-v-657d2520]{padding:10px 28px;background:var(--primary-color);color:#fff;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;box-shadow:0 2px 8px #0078d440}.nav-login-btn[data-v-657d2520]:hover{background:var(--primary-dark);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.hero[data-v-657d2520]{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 48px}.hero-inner[data-v-657d2520]{display:flex;align-items:center;gap:80px;max-width:1100px;width:100%}.hero-text[data-v-657d2520]{flex:1;min-width:0}.hero-badge[data-v-657d2520]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#dbeafe;color:var(--primary-color);border-radius:20px;font-size:13px;font-weight:600;margin-bottom:20px;border:1px solid #bfdbf7}.hero-title[data-v-657d2520]{font-size:48px;font-weight:800;line-height:1.15;color:var(--text-primary);margin-bottom:20px;letter-spacing:-1px}.hero-title-accent[data-v-657d2520]{background:linear-gradient(135deg,#0078d4,#00b4d8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-desc[data-v-657d2520]{font-size:16px;line-height:1.7;color:var(--text-secondary);margin-bottom:32px;max-width:460px}.feature-list[data-v-657d2520]{display:flex;flex-direction:column;gap:12px;margin-bottom:40px}.feature-item[data-v-657d2520]{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-primary);font-weight:500}.feature-dot[data-v-657d2520]{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#0078d4,#00b4d8);flex-shrink:0}.cta-btn[data-v-657d2520]{display:inline-flex;align-items:center;gap:8px;padding:14px 36px;background:linear-gradient(135deg,#0078d4,#0096d6);color:#fff;border-radius:12px;font-size:16px;font-weight:600;text-decoration:none;transition:all .25s;box-shadow:0 4px 16px #0078d44d}.cta-btn[data-v-657d2520]:hover{background:linear-gradient(135deg,#005a9e,#0078d4);box-shadow:0 6px 24px #0078d466;transform:translateY(-2px)}.hero-visual[data-v-657d2520]{flex:1;min-width:0;display:flex;justify-content:center}.visual-card[data-v-657d2520]{position:relative;background:#fff;border-radius:20px;padding:24px;box-shadow:0 12px 40px #0078d41f,0 2px 8px #0000000f;border:1px solid rgba(226,232,240,.8);max-width:460px;width:100%}.dental-svg[data-v-657d2520]{width:100%;height:auto;display:block}.visual-tag[data-v-657d2520]{position:absolute;display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border-radius:20px;font-size:12px;font-weight:600;color:var(--text-primary);box-shadow:0 2px 12px #0000001a;border:1px solid var(--border-color);white-space:nowrap}.visual-tag-1[data-v-657d2520]{top:30px;right:-16px}.visual-tag-2[data-v-657d2520]{top:50%;right:-20px;transform:translateY(-50%)}.visual-tag-3[data-v-657d2520]{bottom:50px;right:-16px}.tag-dot[data-v-657d2520]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tag-dot-blue[data-v-657d2520]{background:#0078d4}.tag-dot-green[data-v-657d2520]{background:#10b981}.tag-dot-purple[data-v-657d2520]{background:#8b5cf6}.landing-footer[data-v-657d2520]{text-align:center;padding:20px;color:var(--text-muted);font-size:13px;border-top:1px solid var(--border-color);background:#fff9;display:flex;flex-direction:column;gap:6px;align-items:center}.icp-link[data-v-657d2520]{font-size:11px;color:var(--text-muted);text-decoration:none;opacity:.7}.icp-link[data-v-657d2520]:hover{opacity:1;text-decoration:underline}@media (max-width: 900px){.hero-inner[data-v-657d2520]{flex-direction:column;gap:48px;text-align:center}.hero-title[data-v-657d2520]{font-size:36px}.hero-desc[data-v-657d2520]{max-width:100%}.feature-item[data-v-657d2520]{justify-content:center}.visual-tag[data-v-657d2520]{display:none}.landing-nav[data-v-657d2520]{padding:16px 24px}.hero[data-v-657d2520]{padding:40px 24px}}.login-page[data-v-3a0fdb7e]{min-height:100vh;background:linear-gradient(135deg,#f0f7ff,#f8fafc 60%,#e8f4fc);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:16px}.icp-link[data-v-3a0fdb7e]{font-size:11px;color:#94a3b8;text-decoration:none;opacity:.7}.icp-link[data-v-3a0fdb7e]:hover{opacity:1;text-decoration:underline}.login-card[data-v-3a0fdb7e]{position:relative;background:#fff;border-radius:20px;padding:48px 44px;width:100%;max-width:420px;box-shadow:0 12px 40px #0078d41a,0 2px 8px #0000000f;border:1px solid rgba(226,232,240,.8)}.login-logo[data-v-3a0fdb7e]{display:flex;align-items:center;justify-content:center;margin-bottom:32px}.login-logo-img[data-v-3a0fdb7e]{height:60px;object-fit:contain;display:block}.login-title[data-v-3a0fdb7e]{font-size:26px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.login-subtitle[data-v-3a0fdb7e]{font-size:14px;color:var(--text-muted);margin-bottom:32px}.login-form[data-v-3a0fdb7e]{display:flex;flex-direction:column;gap:20px}.error-banner[data-v-3a0fdb7e]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:var(--error-color);font-size:14px}.form-group[data-v-3a0fdb7e]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-3a0fdb7e]{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-input[data-v-3a0fdb7e]{padding:12px 16px;border:1.5px solid var(--border-color);border-radius:10px;font-size:15px;color:var(--text-primary);background:var(--bg-body);outline:none;transition:border-color .2s,box-shadow .2s}.form-input[data-v-3a0fdb7e]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #0078d41a;background:#fff}.form-input[data-v-3a0fdb7e]:disabled{opacity:.6;cursor:not-allowed}.login-btn[data-v-3a0fdb7e]{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:var(--primary-color);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:4px}.login-btn[data-v-3a0fdb7e]:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.login-btn[data-v-3a0fdb7e]:disabled{opacity:.55;cursor:not-allowed}.spin-icon[data-v-3a0fdb7e]{animation:spin-3a0fdb7e .8s linear infinite}@keyframes spin-3a0fdb7e{to{transform:rotate(360deg)}}.lang-toggle[data-v-3a0fdb7e]{position:absolute;top:16px;right:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-body, #f8fafc);border:1.5px solid var(--border-color, #e2e8f0);border-radius:8px;color:var(--text-secondary, #64748b);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.lang-toggle[data-v-3a0fdb7e]:hover{background:var(--primary-color, #0078d4);color:#fff;border-color:var(--primary-color, #0078d4)}.three-container[data-v-30f2e55a]{width:100%;height:100%;position:relative}.measure-hud[data-v-30f2e55a]{position:absolute;left:0;top:0;pointer-events:none;z-index:20;padding:4px 10px;background:#a855f7eb;color:#fff;font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap;border-radius:6px;box-shadow:0 2px 8px #0003;font-variant-numeric:tabular-nums}.header[data-v-df1231af]{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--bg-panel);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.header-left[data-v-df1231af]{display:flex;align-items:center;gap:32px}.logo[data-v-df1231af]{display:flex;align-items:center}.logo-icon[data-v-df1231af]{width:128px;height:64px;object-fit:contain;display:block}.nav-menu[data-v-df1231af]{display:flex;gap:4px;align-items:center}.nav-btn[data-v-df1231af]{padding:8px 14px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.nav-btn[data-v-df1231af]:hover{color:var(--text-primary);background:var(--bg-card)}.nav-btn[data-v-df1231af]:disabled{opacity:.35;cursor:not-allowed}.nav-btn[data-v-df1231af]:disabled:hover{color:var(--text-secondary);background:transparent}.header-right[data-v-df1231af]{display:flex;align-items:center;gap:12px}.lang-btn[data-v-df1231af]{font-size:12px;border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.lang-btn[data-v-df1231af]:hover{color:var(--text-primary);background:var(--bg-card)}.btn[data-v-df1231af]{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary[data-v-df1231af]{background:var(--primary-color);color:#fff}.btn-primary[data-v-df1231af]:hover{background:var(--primary-dark);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.account[data-v-df1231af]{position:relative}.account-chip[data-v-df1231af]{display:flex;align-items:center;gap:10px;padding:5px 8px 5px 6px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-panel);cursor:pointer;transition:all .2s}.account-chip[data-v-df1231af]:hover{border-color:var(--primary-light);background:var(--bg-card)}.avatar[data-v-df1231af]{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.account-meta[data-v-df1231af]{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}.account-name[data-v-df1231af]{font-size:13px;font-weight:600;color:var(--text-primary);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-role[data-v-df1231af]{font-size:11px;color:var(--primary-dark)}.caret[data-v-df1231af]{color:var(--text-muted);transition:transform .2s}.caret.open[data-v-df1231af]{transform:rotate(180deg)}.account-menu[data-v-df1231af]{position:absolute;top:calc(100% + 8px);right:0;min-width:168px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;z-index:var(--z-modal)}.menu-item[data-v-df1231af]{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .15s}.menu-item[data-v-df1231af]:hover{background:var(--bg-card)}.menu-item.danger[data-v-df1231af]{color:var(--error-color)}.menu-item.danger[data-v-df1231af]:hover{background:#ef444414}.menu-fade-enter-active[data-v-df1231af],.menu-fade-leave-active[data-v-df1231af]{transition:opacity .15s,transform .15s}.menu-fade-enter-from[data-v-df1231af],.menu-fade-leave-to[data-v-df1231af]{opacity:0;transform:translateY(-6px)}.right-toolbar[data-v-2d930b86]{position:absolute;right:16px;top:16px;display:flex;flex-direction:column;gap:8px;z-index:100}.toolbar-btn[data-v-2d930b86]{width:48px;height:48px;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:var(--shadow-sm)}.toolbar-btn[data-v-2d930b86]:hover{border-color:var(--primary-light);color:var(--primary-color);box-shadow:var(--shadow-md);transform:translate(-2px)}.toolbar-btn.active[data-v-2d930b86]{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:var(--shadow-primary)}.toolbar-btn.active[data-v-2d930b86]:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.colormap-root.panel[data-v-ec60dd4a],.colormap-root[data-v-ec60dd4a]:not(.embedded){width:100%;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-md);padding:16px;opacity:0;transform:translate(20px);pointer-events:none;transition:all .3s ease;max-height:0;overflow:hidden;margin-bottom:0}.colormap-root:not(.embedded).visible[data-v-ec60dd4a]{opacity:1;transform:translate(0);pointer-events:auto;max-height:500px;margin-bottom:12px}.colormap-root.embedded[data-v-ec60dd4a]{width:100%;opacity:1;transform:none;pointer-events:auto;max-height:none;overflow:visible;margin-bottom:0;padding:0;background:transparent;border:none;box-shadow:none}.section-header[data-v-ec60dd4a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-title[data-v-ec60dd4a]{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:0}.section-divider[data-v-ec60dd4a]{height:1px;background:var(--border-color);margin:12px 0}.panel-header[data-v-ec60dd4a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-title[data-v-ec60dd4a]{font-size:14px;font-weight:600;color:var(--text-primary)}.toggle-switch[data-v-ec60dd4a]{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input[data-v-ec60dd4a]{opacity:0;width:0;height:0}.toggle-slider[data-v-ec60dd4a]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-color);transition:.3s;border-radius:24px}.toggle-slider[data-v-ec60dd4a]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+.toggle-slider[data-v-ec60dd4a]{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider[data-v-ec60dd4a]:before{transform:translate(20px)}.toggle-switch.is-locked[data-v-ec60dd4a],.toggle-switch.is-locked .toggle-slider[data-v-ec60dd4a],.toggle-switch.is-locked input[data-v-ec60dd4a]{cursor:wait}.toggle-switch.is-locked input:checked+.toggle-slider[data-v-ec60dd4a],.toggle-switch.is-locked .toggle-slider[data-v-ec60dd4a]{background-color:var(--border-color)}.computing-tip[data-v-ec60dd4a]{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;white-space:nowrap;background:#fff;color:var(--text-primary, #1f2937);font-size:12px;font-weight:500;padding:5px 10px;border-radius:6px;border:1px solid var(--border-color, #e5e7eb);box-shadow:0 2px 8px #0000001f;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease;z-index:50}.computing-tip[data-v-ec60dd4a]:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:#fff}.toggle-switch.is-locked:hover .computing-tip[data-v-ec60dd4a]{opacity:1;visibility:visible}.tip-spinner[data-v-ec60dd4a]{flex-shrink:0;width:12px;height:12px;border:2px solid var(--border-color, #e5e7eb);border-top-color:var(--primary-color, #0078d4);border-radius:50%;animation:tip-spin-ec60dd4a .7s linear infinite}@keyframes tip-spin-ec60dd4a{to{transform:rotate(360deg)}}.mode-tabs[data-v-ec60dd4a]{display:flex;gap:4px;padding:4px;margin-bottom:14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px}.mode-tab[data-v-ec60dd4a]{flex:1;padding:6px 10px;font-size:12px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:7px;cursor:pointer;transition:background .15s,color .15s}.mode-tab[data-v-ec60dd4a]:hover{color:var(--text-primary)}.mode-tab.active[data-v-ec60dd4a]{background:var(--primary-color);color:#fff;box-shadow:0 1px 3px #0078d440}.color-legend[data-v-ec60dd4a]{margin-bottom:16px}.legend-gradient[data-v-ec60dd4a]{height:12px;border-radius:6px;background:linear-gradient(to right,#ef4444,#f97316,#eab308 30%,#22c55e,#06b6d4 70%,#3b82f6,#3b82f6);margin-bottom:6px}.legend-gradient.thickness[data-v-ec60dd4a]{background:linear-gradient(to right,#ef4444,#f97316,#eab308 60%,#22c55e)}.threshold-slider[data-v-ec60dd4a]{width:100%;cursor:pointer;accent-color:var(--primary-color)}.value-tag[data-v-ec60dd4a]{float:right;font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:500}.legend-labels[data-v-ec60dd4a]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted)}.distance-settings[data-v-ec60dd4a]{margin-bottom:16px}.setting-row[data-v-ec60dd4a]{display:flex;flex-direction:column;gap:8px}.setting-row label[data-v-ec60dd4a]{font-size:12px;color:var(--text-secondary)}.range-select[data-v-ec60dd4a]{width:100%;padding:8px 36px 8px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:13px;background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.range-select[data-v-ec60dd4a]:hover{border-color:var(--primary-light)}.range-select[data-v-ec60dd4a]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0078d41a}.hover-value[data-v-ec60dd4a]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;margin-bottom:12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;font-size:12px}.hover-value-label[data-v-ec60dd4a]{color:var(--text-secondary);white-space:nowrap}.hover-value-num[data-v-ec60dd4a]{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.status-info[data-v-ec60dd4a]{padding-top:12px;border-top:1px solid var(--border-color)}.status-warning[data-v-ec60dd4a],.status-ok[data-v-ec60dd4a]{display:flex;align-items:center;gap:8px;font-size:12px;padding:10px 12px;border-radius:8px}.status-warning[data-v-ec60dd4a]{background:#f59e0b1a;color:var(--warning-color)}.status-ok[data-v-ec60dd4a]{background:#10b9811a;color:var(--success-color)}.panel[data-v-4cac5ccc]{width:100%;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-md);padding:16px;opacity:0;transform:translate(20px);pointer-events:none;transition:all .3s ease;max-height:0;overflow:hidden;margin-bottom:0}.panel.visible[data-v-4cac5ccc]{opacity:1;transform:translate(0);pointer-events:auto;max-height:calc(100vh - 200px);overflow-y:auto;margin-bottom:12px}.panel-header[data-v-4cac5ccc]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-title[data-v-4cac5ccc]{font-size:14px;font-weight:600;color:var(--text-primary)}.model-list[data-v-4cac5ccc]{display:flex;flex-direction:column;gap:8px}.model-group[data-v-4cac5ccc]{margin-bottom:4px}.group-header[data-v-4cac5ccc]{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-card);border-radius:10px;cursor:pointer;color:var(--text-primary);font-size:13px;font-weight:600;transition:all .2s;border:1px solid transparent}.group-header[data-v-4cac5ccc]:hover{background:var(--bg-hover);border-color:var(--border-color)}.group-header svg[data-v-4cac5ccc]{transition:transform .2s;color:var(--text-muted)}.group-header svg.rotated[data-v-4cac5ccc]{transform:rotate(90deg)}.group-header span[data-v-4cac5ccc]{flex:1}.group-visibility[data-v-4cac5ccc]{padding:2px}.group-content[data-v-4cac5ccc]{padding-left:14px;margin-top:6px;display:flex;flex-direction:column;gap:6px}.empty-group[data-v-4cac5ccc]{padding:10px 14px;font-size:12px;color:var(--text-muted);font-style:italic}.model-item[data-v-4cac5ccc]{display:flex;flex-direction:column;gap:8px;padding:10px 14px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:10px;transition:all .2s}.model-item[data-v-4cac5ccc]:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm)}.model-info[data-v-4cac5ccc]{display:flex;align-items:center;gap:10px;width:100%}.model-info>svg[data-v-4cac5ccc]{color:var(--primary-color);flex-shrink:0}.model-name[data-v-4cac5ccc]{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-opacity[data-v-4cac5ccc]{display:flex;align-items:center;gap:10px;padding-left:26px;width:100%}.opacity-icon[data-v-4cac5ccc]{color:var(--text-muted);display:flex;align-items:center}.opacity-slider[data-v-4cac5ccc]{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-color);border-radius:2px;outline:none;cursor:pointer}.opacity-slider[data-v-4cac5ccc]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--primary-color);cursor:pointer;transition:transform .1s;box-shadow:0 1px 3px #0078d44d}.opacity-slider[data-v-4cac5ccc]::-webkit-slider-thumb:hover{transform:scale(1.2)}.visibility-btn[data-v-4cac5ccc]{background:none;border:none;color:var(--primary-color);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;flex-shrink:0}.visibility-btn[data-v-4cac5ccc]:hover{background:var(--bg-card)}.delete-btn[data-v-4cac5ccc]{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;flex-shrink:0}.delete-btn[data-v-4cac5ccc]:hover{background:#dc26261a;color:#dc2626}.help-popover[data-v-e7773ead]{position:relative;display:inline-flex}.help-btn[data-v-e7773ead]{width:18px;height:18px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);font-size:11px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.help-btn[data-v-e7773ead]:hover{border-color:var(--primary-color);color:var(--primary-color)}.help-pop[data-v-e7773ead]{position:fixed;z-index:200;width:250px;overflow-y:auto;padding:12px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:10px;box-shadow:var(--shadow-lg);text-align:left;cursor:default}.help-pop[data-v-e7773ead]::-webkit-scrollbar{width:4px}.help-pop[data-v-e7773ead]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.help-pop-title[data-v-e7773ead]{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.help-row[data-v-e7773ead]{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:6px}.help-row.is-head[data-v-e7773ead]{display:block;font-size:12.5px;font-weight:700;color:var(--text-primary);margin-top:12px;margin-bottom:5px}.help-row.is-head[data-v-e7773ead]:first-child{margin-top:0}.help-k[data-v-e7773ead]{flex-shrink:0;min-width:64px;padding:1px 6px;border-radius:4px;background:var(--bg-card);color:var(--text-secondary);font-size:11px;font-weight:500;text-align:center;white-space:nowrap}.help-t[data-v-e7773ead]{flex:1}.edit-toolbar[data-v-55be9c31]{width:100%}.panel-title-row[data-v-55be9c31]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-title[data-v-55be9c31]{font-size:14px;font-weight:700;color:var(--text-primary)}.history-btns[data-v-55be9c31]{display:flex;align-items:center;gap:4px}.history-btn[data-v-55be9c31]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.history-btn[data-v-55be9c31]:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.history-btn[data-v-55be9c31]:disabled{opacity:.35;cursor:not-allowed}.section-divider[data-v-55be9c31]{height:1px;background:var(--border-color);margin:12px 0}.tools-grid[data-v-55be9c31]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.tools-grid.two-col[data-v-55be9c31]{grid-template-columns:repeat(2,1fr);margin-bottom:8px}.tool-btn[data-v-55be9c31]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:11px;font-weight:500}.tool-btn[data-v-55be9c31]:hover{background:var(--bg-hover);border-color:var(--primary-light);color:var(--text-primary)}.tool-btn.active[data-v-55be9c31]{background:var(--bg-active);border-color:var(--primary-color);color:var(--primary-color)}.action-btn[data-v-55be9c31]{width:100%;padding:8px 12px;font-size:12px;font-weight:600;border:none;border-radius:8px;background:var(--primary-color);color:#fff;cursor:pointer;transition:all .2s;margin-top:4px}.action-btn[data-v-55be9c31]:hover{filter:brightness(1.1)}.action-btn.secondary[data-v-55be9c31]{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color)}.action-btn.secondary[data-v-55be9c31]:hover{background:var(--bg-hover);color:var(--text-primary)}.slider-control[data-v-55be9c31]{margin-bottom:12px}.slider-label[data-v-55be9c31]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary);margin-bottom:6px;font-weight:500}input[type=range][data-v-55be9c31]{width:100%;height:4px;background:var(--border-color);border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}input[type=range][data-v-55be9c31]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--primary-color);border-radius:50%;cursor:pointer;border:2px solid white;box-shadow:0 2px 6px #0078d44d}.workflow-tabs[data-v-929686ca]{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:var(--z-viewer-ui);max-width:calc(100% - 48px)}.workflow-tab[data-v-929686ca]{display:flex;align-items:center;justify-content:center;gap:8px;width:130px;padding:10px 14px;border:1px solid var(--border-color);border-radius:12px;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:var(--shadow-sm)}.step-num[data-v-929686ca]{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;border-radius:50%;background:var(--bg-card);color:var(--text-muted);font-size:11px;font-weight:700;transition:all .2s}.workflow-tab[data-v-929686ca]:hover{border-color:var(--primary-light);color:var(--primary-color)}.workflow-tab.active[data-v-929686ca]{border-color:var(--primary-color);color:var(--primary-color);background:#fffffffa;box-shadow:0 2px 12px #0078d426}.workflow-tab.active .step-num[data-v-929686ca]{background:var(--primary-color);color:#fff}.workflow-panel[data-v-a90ae116]{width:280px;max-height:calc(100vh - 180px);overflow-y:auto;background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-lg);padding:16px}.workflow-panel[data-v-a90ae116]::-webkit-scrollbar{width:4px}.workflow-panel[data-v-a90ae116]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.panel-title[data-v-a90ae116]{font-size:14px;font-weight:700;color:var(--text-primary)}.section-divider[data-v-a90ae116]{height:1px;background:var(--border-color);margin:12px 0}.section-title[data-v-a90ae116]{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:10px}.panel-title-row[data-v-a90ae116]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-title-row .panel-title[data-v-a90ae116]{margin-bottom:0}.history-btns[data-v-a90ae116]{display:flex;align-items:center;gap:4px}.history-btn[data-v-a90ae116]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.history-btn[data-v-a90ae116]:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.history-btn[data-v-a90ae116]:disabled{opacity:.35;cursor:not-allowed}.tools-grid[data-v-a90ae116]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.tools-grid.two-col[data-v-a90ae116]{grid-template-columns:repeat(2,1fr);margin-bottom:8px}.tool-btn[data-v-a90ae116]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:11px;font-weight:500}.tool-btn[data-v-a90ae116]:hover:not(.disabled):not(:disabled){background:var(--bg-hover);border-color:var(--primary-light);color:var(--text-primary)}.tool-btn.active[data-v-a90ae116]{background:var(--bg-active);border-color:var(--primary-color);color:var(--primary-color)}.tool-btn.disabled[data-v-a90ae116],.tool-btn[data-v-a90ae116]:disabled{opacity:.4;cursor:not-allowed}.action-btn[data-v-a90ae116]{width:100%;padding:8px 12px;font-size:12px;font-weight:600;border:none;border-radius:8px;background:var(--primary-color);color:#fff;cursor:pointer;transition:all .2s;margin-top:4px}.action-btn[data-v-a90ae116]:hover:not(:disabled){filter:brightness(1.1)}.action-btn.secondary[data-v-a90ae116]{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color)}.action-btn.secondary[data-v-a90ae116]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.action-btn[data-v-a90ae116]:disabled{opacity:.4;cursor:not-allowed}.slider-control[data-v-a90ae116]{margin-bottom:10px}.slider-label[data-v-a90ae116]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary);margin-bottom:6px;font-weight:500}input[type=range][data-v-a90ae116]{width:100%;height:4px;background:var(--border-color);border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}input[type=range][data-v-a90ae116]:disabled{opacity:.4;cursor:not-allowed}input[type=range][data-v-a90ae116]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--primary-color);border-radius:50%;cursor:pointer;border:2px solid white;box-shadow:0 2px 6px #0078d44d}.margin-section[data-v-a90ae116]{display:flex;align-items:center;gap:6px}.margin-action-btn[data-v-a90ae116]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:14px;font-weight:600}.margin-action-btn[data-v-a90ae116]:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.margin-action-btn.disabled[data-v-a90ae116],.margin-action-btn[data-v-a90ae116]:disabled{opacity:.4;cursor:not-allowed}.margin-action-btn.confirm[data-v-a90ae116]{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.margin-action-btn.confirm[data-v-a90ae116]:hover:not(:disabled){filter:brightness(1.1);color:#fff}.margin-status[data-v-a90ae116]{display:flex;align-items:center;gap:8px;flex:1;padding:12px 16px;border-radius:10px;font-size:14px;font-weight:600}.margin-status.ready[data-v-a90ae116]{background:color-mix(in srgb,var(--primary-color) 8%,white);border:1px solid var(--primary-color);color:var(--primary-color)}.margin-status.locked[data-v-a90ae116]{background:color-mix(in srgb,var(--text-muted) 8%,white);border:1px solid var(--text-muted);color:var(--text-muted)}.margin-close[data-v-a90ae116]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);font-size:18px;cursor:pointer;border-radius:8px;transition:all .15s;flex-shrink:0}.margin-close[data-v-a90ae116]:hover{background:#ef44441a;color:var(--error-color)}.section-header[data-v-a90ae116]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-header .section-title[data-v-a90ae116]{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:0}.toggle-switch[data-v-a90ae116]{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input[data-v-a90ae116]{opacity:0;width:0;height:0}.toggle-slider[data-v-a90ae116]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-color);transition:.3s;border-radius:24px}.toggle-slider[data-v-a90ae116]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+.toggle-slider[data-v-a90ae116]{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider[data-v-a90ae116]:before{transform:translate(20px)}.toggle-switch.is-locked[data-v-a90ae116],.toggle-switch.is-locked .toggle-slider[data-v-a90ae116],.toggle-switch.is-locked input[data-v-a90ae116]{cursor:wait}.toggle-switch.is-locked input:checked+.toggle-slider[data-v-a90ae116],.toggle-switch.is-locked .toggle-slider[data-v-a90ae116]{background-color:var(--border-color)}.computing-tip[data-v-a90ae116]{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;white-space:nowrap;background:#fff;color:var(--text-primary, #1f2937);font-size:12px;font-weight:500;padding:5px 10px;border-radius:6px;border:1px solid var(--border-color, #e5e7eb);box-shadow:0 2px 8px #0000001f;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease;z-index:50}.computing-tip[data-v-a90ae116]:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:#fff}.toggle-switch.is-locked:hover .computing-tip[data-v-a90ae116]{opacity:1;visibility:visible}.tip-spinner[data-v-a90ae116]{flex-shrink:0;width:12px;height:12px;border:2px solid var(--border-color, #e5e7eb);border-top-color:var(--primary-color, #0078d4);border-radius:50%;animation:tip-spin-a90ae116 .7s linear infinite}@keyframes tip-spin-a90ae116{to{transform:rotate(360deg)}}.color-legend[data-v-a90ae116]{margin-bottom:16px}.legend-gradient[data-v-a90ae116]{height:12px;border-radius:6px;background:linear-gradient(to right,#ef4444,#f97316,#eab308 30%,#22c55e,#06b6d4 70%,#3b82f6,#3b82f6);margin-bottom:6px}.legend-labels[data-v-a90ae116]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted)}.distance-settings[data-v-a90ae116]{margin-bottom:16px}.setting-row[data-v-a90ae116]{display:flex;flex-direction:column;gap:8px}.setting-row label[data-v-a90ae116]{font-size:12px;color:var(--text-secondary)}.range-select[data-v-a90ae116]{width:100%;padding:8px 36px 8px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:13px;background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.range-select[data-v-a90ae116]:hover{border-color:var(--primary-light)}.range-select[data-v-a90ae116]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0078d41a}.hover-value[data-v-a90ae116]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;margin-bottom:12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;font-size:12px}.hover-value-label[data-v-a90ae116]{color:var(--text-secondary);white-space:nowrap}.hover-value-num[data-v-a90ae116]{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.modal-overlay[data-v-f39a75fd]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content[data-v-f39a75fd]{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:16px;width:850px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.modal-header[data-v-f39a75fd]{padding:20px 28px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-f39a75fd]{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.close-btn[data-v-f39a75fd]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:none;border-radius:8px;color:var(--text-secondary);font-size:20px;cursor:pointer;transition:all .2s}.close-btn[data-v-f39a75fd]:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body[data-v-f39a75fd]{padding:28px;overflow-y:auto;flex:1}.modal-footer[data-v-f39a75fd]{padding:20px 28px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}.project-name-row[data-v-f39a75fd]{display:flex;align-items:center;gap:12px;margin-bottom:20px}.project-name-label[data-v-f39a75fd]{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.project-name-input[data-v-f39a75fd]{flex:1;padding:10px 14px;border:1.5px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--bg-body);outline:none;transition:border-color .2s}.project-name-input[data-v-f39a75fd]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #0078d414;background:#fff}.drag-container[data-v-f39a75fd]{display:flex;gap:20px;height:360px}.drag-column[data-v-f39a75fd]{flex:1;display:flex;flex-direction:column;background:var(--bg-card);border-radius:12px;padding:16px;border:1px solid var(--border-color)}.drag-column h4[data-v-f39a75fd]{margin:0 0 14px;color:var(--text-secondary);text-align:center;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.drop-zone[data-v-f39a75fd]{flex:1;background:var(--bg-panel);border:2px dashed var(--border-color);border-radius:10px;padding:10px;overflow-y:auto;transition:border-color .2s}.drop-zone[data-v-f39a75fd]:hover{border-color:var(--primary-light)}.drag-item[data-v-f39a75fd]{background:var(--bg-card);padding:10px 14px;margin-bottom:8px;border-radius:8px;cursor:move;color:var(--text-primary);border:1px solid var(--border-color);font-size:13px;transition:all .2s}.drag-item[data-v-f39a75fd]:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.empty-zone[data-v-f39a75fd]{text-align:center;color:var(--text-muted);margin-top:40px;font-size:13px}.mt-2[data-v-f39a75fd]{margin-top:12px}.btn[data-v-f39a75fd]{padding:10px 20px;border-radius:10px;cursor:pointer;font-weight:500;font-size:14px;border:none;transition:all .2s}.btn-primary[data-v-f39a75fd]{background:var(--primary-color);color:#fff}.btn-primary[data-v-f39a75fd]:hover{background:var(--primary-dark);box-shadow:var(--shadow-primary)}.btn-secondary[data-v-f39a75fd]{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-f39a75fd]:hover{background:var(--bg-hover);border-color:var(--primary-light)}.modal-overlay[data-v-687192a9]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content[data-v-687192a9]{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:16px;width:800px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.modal-header[data-v-687192a9]{padding:20px 28px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-687192a9]{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.close-btn[data-v-687192a9]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:none;border-radius:8px;color:var(--text-secondary);font-size:20px;cursor:pointer;transition:all .2s}.close-btn[data-v-687192a9]:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body[data-v-687192a9]{padding:28px;overflow-y:auto;flex:1}.modal-footer[data-v-687192a9]{padding:20px 28px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}.project-list[data-v-687192a9]{display:flex;flex-direction:column;gap:10px}.project-item[data-v-687192a9]{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s}.project-item[data-v-687192a9]:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm)}.project-item.active[data-v-687192a9]{background:var(--bg-active);border-color:var(--primary-color)}.project-info[data-v-687192a9]{flex:1}.project-name[data-v-687192a9]{color:var(--text-primary);font-weight:600;font-size:14px}.project-date[data-v-687192a9]{color:var(--text-muted);font-size:12px;margin-top:4px}.project-files[data-v-687192a9]{margin-top:10px;font-size:12px}.file-group[data-v-687192a9]{display:flex;gap:8px;margin-top:4px}.file-group .label[data-v-687192a9]{color:var(--primary-color);font-weight:600;min-width:45px}.file-group .file-names[data-v-687192a9]{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.delete-btn[data-v-687192a9]{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-secondary);padding:8px;cursor:pointer;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.delete-btn[data-v-687192a9]:hover{background:#ef44441a;border-color:var(--error-color);color:var(--error-color)}.empty-list[data-v-687192a9]{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:14px}.btn[data-v-687192a9]{padding:10px 20px;border-radius:10px;cursor:pointer;font-weight:500;font-size:14px;border:none;transition:all .2s}.btn-primary[data-v-687192a9]{background:var(--primary-color);color:#fff}.btn-primary[data-v-687192a9]:hover{background:var(--primary-dark);box-shadow:var(--shadow-primary)}.btn-primary[data-v-687192a9]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-687192a9]{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-687192a9]:hover{background:var(--bg-hover)}.modal-overlay[data-v-95481598]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content[data-v-95481598]{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:16px;width:420px;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.modal-header[data-v-95481598]{padding:24px 28px 0;display:flex;flex-direction:column;align-items:center;position:relative}.modal-icon[data-v-95481598]{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#ef44441a;border-radius:50%;color:var(--error-color);margin-bottom:16px}.modal-header h3[data-v-95481598]{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.close-btn[data-v-95481598]{position:absolute;top:16px;right:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:none;border-radius:8px;color:var(--text-secondary);font-size:18px;cursor:pointer;transition:all .2s}.close-btn[data-v-95481598]:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body[data-v-95481598]{padding:24px 28px;text-align:center;color:var(--text-primary);font-size:14px;line-height:1.6}.modal-body p[data-v-95481598]{margin:0}.warning-text[data-v-95481598]{color:var(--text-muted);font-size:13px;margin-top:8px!important}.modal-footer[data-v-95481598]{padding:0 28px 24px;display:flex;justify-content:center;gap:12px}.btn[data-v-95481598]{padding:10px 24px;border-radius:10px;cursor:pointer;font-weight:500;font-size:14px;border:none;transition:all .2s;min-width:100px}.btn-secondary[data-v-95481598]{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-95481598]:hover{background:var(--bg-hover)}.btn-danger[data-v-95481598]{background:var(--error-color);color:#fff}.btn-danger[data-v-95481598]:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}.modal-overlay[data-v-3c903864]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content[data-v-3c903864]{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:16px;width:460px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.modal-header[data-v-3c903864]{padding:20px 28px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-3c903864]{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.close-btn[data-v-3c903864]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:none;border-radius:8px;color:var(--text-secondary);font-size:20px;cursor:pointer;transition:all .2s}.close-btn[data-v-3c903864]:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body[data-v-3c903864]{padding:20px 28px;overflow-y:auto;flex:1}.file-group[data-v-3c903864]{margin-bottom:16px}.file-group[data-v-3c903864]:last-child{margin-bottom:0}.group-header[data-v-3c903864]{margin-bottom:8px}.group-check[data-v-3c903864]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;cursor:pointer}.group-check input[type=checkbox][data-v-3c903864]{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer}.file-item[data-v-3c903864]{padding:0 0 0 8px}.file-check[data-v-3c903864]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .15s;font-size:13px;color:var(--text-primary)}.file-check[data-v-3c903864]:hover{background:var(--bg-hover)}.file-check input[type=checkbox][data-v-3c903864]{width:15px;height:15px;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0}.file-icon[data-v-3c903864]{font-size:10px;color:var(--text-muted);width:14px;text-align:center;flex-shrink:0}.file-name[data-v-3c903864]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tag[data-v-3c903864]{font-size:11px;padding:2px 8px;border-radius:6px;font-weight:500;flex-shrink:0}.file-tag.generated[data-v-3c903864]{background:color-mix(in srgb,var(--primary-color) 10%,white);color:var(--primary-color)}.empty-hint[data-v-3c903864]{text-align:center;color:var(--text-muted);font-size:14px;padding:32px 0}.modal-footer[data-v-3c903864]{padding:20px 28px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}.btn[data-v-3c903864]{padding:10px 20px;border-radius:10px;cursor:pointer;font-weight:500;font-size:14px;border:none;transition:all .2s}.btn-primary[data-v-3c903864]{background:var(--primary-color);color:#fff}.btn-primary[data-v-3c903864]:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-primary)}.btn-primary[data-v-3c903864]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-3c903864]{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-3c903864]:hover{background:var(--bg-hover)}.modal-overlay[data-v-677c1802]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content[data-v-677c1802]{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:16px;width:520px;max-width:90vw;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.modal-header[data-v-677c1802]{padding:24px 28px 12px;display:flex;justify-content:space-between;align-items:flex-start}.header-text h3[data-v-677c1802]{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.subtitle[data-v-677c1802]{margin:6px 0 0;color:var(--text-secondary);font-size:13px}.close-btn[data-v-677c1802]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:none;border-radius:8px;color:var(--text-secondary);font-size:20px;cursor:pointer;transition:all .2s;flex-shrink:0}.close-btn[data-v-677c1802]:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body[data-v-677c1802]{padding:12px 28px 20px}.rating-item[data-v-677c1802]{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-light)}.rating-item[data-v-677c1802]:last-of-type{border-bottom:none}.rating-label[data-v-677c1802]{color:var(--text-primary);font-size:14px;font-weight:500;flex:1;margin-right:16px}.stars[data-v-677c1802]{display:flex;gap:4px;flex-shrink:0}.star[data-v-677c1802]{cursor:pointer;color:var(--border-color);transition:color .15s,transform .15s;display:flex;align-items:center}.star[data-v-677c1802]:hover{transform:scale(1.15)}.star.filled[data-v-677c1802],.star.hover[data-v-677c1802]{color:#f59e0b}.feedback-section[data-v-677c1802]{margin-top:16px}.feedback-label[data-v-677c1802]{display:block;color:var(--text-secondary);font-size:13px;margin-bottom:8px}.feedback-input[data-v-677c1802]{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:10px;font-size:13px;font-family:inherit;color:var(--text-primary);background:var(--bg-card);resize:vertical;transition:border-color .2s}.feedback-input[data-v-677c1802]:focus{outline:none;border-color:var(--primary-color)}.feedback-input[data-v-677c1802]::placeholder{color:var(--text-muted)}.modal-footer[data-v-677c1802]{padding:16px 28px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}.btn[data-v-677c1802]{padding:10px 20px;border-radius:10px;cursor:pointer;font-weight:500;font-size:14px;border:none;transition:all .2s}.btn-primary[data-v-677c1802]{background:var(--primary-color);color:#fff}.btn-primary[data-v-677c1802]:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-primary)}.btn-primary[data-v-677c1802]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-677c1802]{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-677c1802]:hover{background:var(--bg-hover)}.prefs-panel[data-v-5134bf58]{width:320px;margin-top:8px;background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 32px #0000001f;padding:16px;animation:slideDown-5134bf58 .2s ease}@keyframes slideDown-5134bf58{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.prefs-panel.embedded[data-v-5134bf58]{width:100%;margin-top:0;max-height:calc(100vh - 180px);overflow-y:auto;animation:none;border:none;border-radius:0;box-shadow:none;background:transparent;padding:0}.prefs-panel.embedded[data-v-5134bf58]::-webkit-scrollbar{width:4px}.prefs-panel.embedded[data-v-5134bf58]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.prefs-header[data-v-5134bf58]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.prefs-header-right[data-v-5134bf58]{display:flex;align-items:center;gap:8px}.prefs-title[data-v-5134bf58]{font-size:14px;font-weight:700;color:var(--text-primary)}.prefs-close[data-v-5134bf58]{width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s}.prefs-close[data-v-5134bf58]:hover{background:#ef44441a;color:var(--error-color)}.pref-divider[data-v-5134bf58]{height:1px;background:var(--border-color);margin:12px 0}.pref-row[data-v-5134bf58]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:12px}.pref-label[data-v-5134bf58]{font-size:13px;color:var(--text-secondary);flex-shrink:0;min-width:80px}.scheme-select-wrap[data-v-5134bf58]{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.scheme-del-btn[data-v-5134bf58]{flex-shrink:0;width:24px;height:24px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);font-size:14px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}.scheme-del-btn[data-v-5134bf58]:hover{background:#ef444414;border-color:var(--error-color);color:var(--error-color)}.pref-select[data-v-5134bf58]{flex:1;min-width:0;padding:6px 28px 6px 10px;border:1px solid var(--border-color);border-radius:8px;font-size:13px;background:var(--bg-card);color:var(--text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:border-color .2s}.pref-select[data-v-5134bf58]:focus{outline:none;border-color:var(--primary-color)}.number-wrap[data-v-5134bf58]{display:flex;align-items:center;gap:4px;border:1px solid var(--border-color);border-radius:8px;padding:5px 8px;background:var(--bg-card);transition:border-color .2s}.number-wrap[data-v-5134bf58]:focus-within{border-color:var(--primary-color)}.number-input[data-v-5134bf58]{width:60px;border:none;background:transparent;font-size:13px;color:var(--text-primary);text-align:right}.number-input[data-v-5134bf58]:focus{outline:none}.unit[data-v-5134bf58]{font-size:11px;color:var(--text-muted);flex-shrink:0}.toggle-switch[data-v-5134bf58]{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.toggle-switch input[data-v-5134bf58]{opacity:0;width:0;height:0}.toggle-slider[data-v-5134bf58]{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--border-color);border-radius:22px;transition:.3s}.toggle-slider[data-v-5134bf58]:before{content:"";position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;transition:.3s}.toggle-switch input:checked+.toggle-slider[data-v-5134bf58]{background:var(--primary-color)}.toggle-switch input:checked+.toggle-slider[data-v-5134bf58]:before{transform:translate(18px)}.scheme-save-row[data-v-5134bf58]{display:flex;gap:6px;margin-top:4px}.scheme-name-input[data-v-5134bf58]{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--border-color);border-radius:8px;font-size:13px;background:var(--bg-card);color:var(--text-primary);transition:border-color .2s}.scheme-name-input[data-v-5134bf58]:focus{outline:none;border-color:var(--primary-color)}.scheme-name-input[data-v-5134bf58]::placeholder{color:var(--text-muted)}.btn-save[data-v-5134bf58]{padding:7px 14px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;background:var(--primary-color);color:#fff;transition:background .15s;flex-shrink:0}.btn-save[data-v-5134bf58]:hover{background:var(--primary-dark)}.generate-btn[data-v-5134bf58]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;background:var(--primary-color);border:none;border-radius:10px;color:#fff;cursor:pointer;transition:all .2s;font-size:15px;font-weight:600}.generate-btn[data-v-5134bf58]:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 4px 16px #0078d459}.generate-btn.disabled[data-v-5134bf58],.generate-btn[data-v-5134bf58]:disabled{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-color);cursor:not-allowed;box-shadow:none}.app-container{height:100vh;display:flex;flex-direction:column;background:var(--bg-body)}.main-content{flex:1;display:flex;overflow:hidden;gap:0}.viewer-container{flex:1;position:relative;background:var(--viewer-bg);margin:12px;border-radius:16px;box-shadow:var(--shadow-md);overflow:hidden}.right-panels{position:absolute;right:80px;top:16px;width:280px;display:flex;flex-direction:column;z-index:99;max-height:calc(100% - 32px);overflow-y:auto;overflow-x:hidden}.right-panels::-webkit-scrollbar{width:0;background:transparent}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafce6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.loading-spinner{width:48px;height:48px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay p{margin-top:16px;color:var(--text-secondary);font-size:14px}.bottom-bar{position:absolute;bottom:24px;left:24px;display:flex;align-items:center;gap:12px;padding:8px 10px 8px 12px;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 24px #00000014}.margin-section{display:flex;align-items:center;gap:4px}.margin-chip{display:flex;align-items:center;gap:8px;padding:10px 24px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:15px;font-weight:600;white-space:nowrap}.margin-chip:hover:not(.disabled){border-color:var(--primary-color);color:var(--primary-color)}.margin-chip.disabled{opacity:.4;cursor:not-allowed}.margin-chip.ready{background:color-mix(in srgb,var(--primary-color) 8%,white);border-color:var(--primary-color);color:var(--primary-color)}.margin-chip.locked{background:color-mix(in srgb,var(--text-muted) 8%,white);border-color:var(--text-muted);color:var(--text-muted);cursor:default}.margin-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer;border-radius:6px;transition:all .15s;line-height:1}.margin-close:hover{background:#ef44441a;color:var(--error-color)}.left-panels{position:absolute;top:64px;left:24px;z-index:var(--z-viewer-ui);display:flex;flex-direction:column;gap:0;max-height:calc(100% - 88px)}.prefs-anchor{position:relative;flex-shrink:0}.prefs-btn{display:flex;align-items:center;gap:7px;padding:9px 16px;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 8px #0000000f}.prefs-btn:hover,.prefs-btn.active{border-color:var(--primary-color);color:var(--primary-color);background:#fffffff7}.generate-btn{display:flex;align-items:center;gap:8px;padding:10px 24px;background:var(--primary-color);border:none;border-radius:10px;color:#fff;cursor:pointer;transition:all .2s;font-size:15px;font-weight:600;white-space:nowrap}.generate-btn:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 4px 16px #0078d459;transform:translateY(-1px)}.generate-btn.disabled,.generate-btn:disabled{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-color);cursor:not-allowed;box-shadow:none;transform:none}.feedback-btn{position:absolute;bottom:24px;right:24px;display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);color:var(--text-secondary);font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s}.feedback-btn:hover{background:#0078d40f;border-color:var(--primary-color);color:var(--primary-color)}.ICP-info{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:11px;color:var(--text-muted);opacity:.6;pointer-events:auto;z-index:10;display:flex;flex-direction:column;align-items:center;gap:4px}.ICP-info a{color:inherit;text-decoration:none}.ICP-info a:hover{opacity:1;text-decoration:underline}.generate-panel[data-v-724fa7f9]{width:320px}.workflow-panel[data-v-724fa7f9]{width:280px;background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-lg);padding:16px}.edit-hint-panel .panel-title[data-v-724fa7f9]{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.edit-hint[data-v-724fa7f9]{font-size:13px;color:var(--text-secondary);line-height:1.5}.edit-module-panel[data-v-724fa7f9]{width:280px;max-height:calc(100vh - 180px);overflow-y:auto;background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-lg);padding:16px}.edit-module-panel .panel-title[data-v-724fa7f9]{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.section-divider[data-v-724fa7f9]{height:1px;background:var(--border-color);margin:12px 0}.auth-wrap[data-v-a8c4abb5]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-page, #f1f5f9)}.auth-card[data-v-a8c4abb5]{width:360px;padding:32px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a}.auth-title[data-v-a8c4abb5]{font-size:22px;font-weight:700;margin:0 0 4px;color:var(--text-primary, #0f172a)}.auth-sub[data-v-a8c4abb5]{font-size:13px;color:var(--text-muted, #64748b);margin:0 0 24px}.auth-input[data-v-a8c4abb5]{width:100%;box-sizing:border-box;padding:11px 14px;margin-bottom:12px;border:1px solid var(--border-color, #e2e8f0);border-radius:10px;font-size:14px;background:#fff}.auth-input[data-v-a8c4abb5]:focus{outline:none;border-color:var(--primary-color, #2563eb)}.auth-btn[data-v-a8c4abb5]{width:100%;padding:11px;border:none;border-radius:10px;background:var(--primary-color, #2563eb);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.auth-btn[data-v-a8c4abb5]:disabled{opacity:.6;cursor:not-allowed}.auth-error[data-v-a8c4abb5]{color:var(--error-color, #ef4444);font-size:13px;margin:10px 0 0}.auth-done[data-v-a8c4abb5]{padding:16px 0;font-size:14px;color:var(--text-primary, #0f172a);text-align:center}.auth-foot[data-v-a8c4abb5]{margin-top:20px;font-size:13px;text-align:center}.auth-foot a[data-v-a8c4abb5]{color:var(--primary-color, #2563eb);text-decoration:none}.ent-shell[data-v-cb7123d5]{display:flex;min-height:100vh;background:linear-gradient(180deg,#e8f4fc,#f0f7fc 40%,#f8fafc)}.ent-side[data-v-cb7123d5]{width:232px;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:22px 16px;animation:side-in-cb7123d5 .4s cubic-bezier(.22,1,.36,1)}@keyframes side-in-cb7123d5{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.ent-brand[data-v-cb7123d5]{padding:4px 8px 22px}.ent-brand-logo[data-v-cb7123d5]{height:38px;object-fit:contain}.ent-nav[data-v-cb7123d5]{display:flex;flex-direction:column;gap:4px;flex:1}.ent-link[data-v-cb7123d5]{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:11px;color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:all .18s ease}.ent-link-icon[data-v-cb7123d5]{width:18px;height:18px;display:inline-flex}.ent-link-icon[data-v-cb7123d5] svg{width:18px;height:18px}.ent-link[data-v-cb7123d5]:hover{background:var(--bg-active);color:var(--primary-dark)}.ent-link.router-link-active[data-v-cb7123d5]{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:var(--shadow-primary)}.ent-side-foot[data-v-cb7123d5]{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border-color);padding-top:14px}.ent-link.ghost[data-v-cb7123d5]{font-size:13px;padding:9px 13px}.ent-main[data-v-cb7123d5]{flex:1;display:flex;flex-direction:column;min-width:0}.ent-top[data-v-cb7123d5]{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color)}.ent-top-title[data-v-cb7123d5]{font-size:18px;font-weight:700;color:var(--text-primary)}.account[data-v-cb7123d5]{position:relative}.account-chip[data-v-cb7123d5]{display:flex;align-items:center;gap:10px;padding:5px 8px 5px 6px;border:1px solid var(--border-color);border-radius:999px;background:#ffffffb3;cursor:pointer;transition:all .2s}.account-chip[data-v-cb7123d5]:hover{border-color:var(--primary-light);background:#fff}.ent-avatar[data-v-cb7123d5]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.account-meta[data-v-cb7123d5]{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}.ent-user-name[data-v-cb7123d5]{font-size:13px;color:var(--text-primary);font-weight:600}.account-role[data-v-cb7123d5]{font-size:11px;color:var(--primary-dark)}.caret[data-v-cb7123d5]{color:var(--text-muted);transition:transform .2s}.caret.open[data-v-cb7123d5]{transform:rotate(180deg)}.account-menu[data-v-cb7123d5]{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;z-index:var(--z-modal)}.menu-item[data-v-cb7123d5]{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .15s}.menu-item[data-v-cb7123d5]:hover{background:var(--bg-card)}.menu-item.danger[data-v-cb7123d5]{color:var(--error-color)}.menu-item.danger[data-v-cb7123d5]:hover{background:#ef444414}.menu-fade-enter-active[data-v-cb7123d5],.menu-fade-leave-active[data-v-cb7123d5]{transition:opacity .15s,transform .15s}.menu-fade-enter-from[data-v-cb7123d5],.menu-fade-leave-to[data-v-cb7123d5]{opacity:0;transform:translateY(-6px)}.ent-body[data-v-cb7123d5]{flex:1;padding:30px;overflow-y:auto}.zone-fade-enter-active[data-v-cb7123d5]{transition:all .32s cubic-bezier(.22,1,.36,1)}.zone-fade-leave-active[data-v-cb7123d5]{transition:all .18s ease}.zone-fade-enter-from[data-v-cb7123d5]{opacity:0;transform:translateY(12px)}.zone-fade-leave-to[data-v-cb7123d5]{opacity:0;transform:translateY(-8px)}.dash[data-v-3345ae41]{max-width:1100px}.loading[data-v-3345ae41],.err[data-v-3345ae41]{color:var(--text-muted);padding:40px 0}.err[data-v-3345ae41]{color:var(--error-color)}.cards[data-v-3345ae41]{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card[data-v-3345ae41]{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:16px;padding:20px;box-shadow:var(--shadow-sm);opacity:0;transform:translateY(14px);animation:card-in-3345ae41 .5s cubic-bezier(.22,1,.36,1) forwards;transition:transform .2s,box-shadow .2s}.card[data-v-3345ae41]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card.clickable[data-v-3345ae41]{cursor:pointer}.card.clickable[data-v-3345ae41]:hover{border-color:var(--primary-light)}.card-link[data-v-3345ae41]{font-size:12px;color:var(--primary-color);font-weight:600}.card.warn[data-v-3345ae41]{border-color:#f59e0b66;background:linear-gradient(180deg,#fffdf6,#fff)}@keyframes card-in-3345ae41{to{opacity:1;transform:translateY(0)}}.card-top[data-v-3345ae41]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-icon[data-v-3345ae41]{width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:var(--primary-dark)}.card-icon[data-v-3345ae41] svg{width:20px;height:20px}.card.warn .card-icon[data-v-3345ae41]{color:var(--warning-color)}.card-flag[data-v-3345ae41]{font-size:11px;color:#fff;background:var(--warning-color);padding:2px 8px;border-radius:20px}.card-value[data-v-3345ae41]{font-size:30px;font-weight:800;color:var(--text-primary);line-height:1;letter-spacing:-.5px}.card-suffix[data-v-3345ae41]{font-size:14px;font-weight:500;color:var(--text-muted)}.card-label[data-v-3345ae41]{font-size:13px;color:var(--text-secondary);margin-top:8px}.panel[data-v-3345ae41]{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:16px;padding:22px;box-shadow:var(--shadow-sm);margin-top:18px;opacity:0;transform:translateY(14px);animation:card-in-3345ae41 .5s cubic-bezier(.22,1,.36,1) forwards}.panel-title[data-v-3345ae41]{font-size:15px;font-weight:700;color:var(--text-primary)}.panel-head[data-v-3345ae41]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.sum-row[data-v-3345ae41]{display:flex;gap:26px}.sum[data-v-3345ae41]{display:flex;flex-direction:column;align-items:flex-end}.sum-num[data-v-3345ae41]{font-size:22px;font-weight:800;color:var(--primary-dark);line-height:1}.sum-label[data-v-3345ae41]{font-size:12px;color:var(--text-muted);margin-top:4px}.timeline[data-v-3345ae41]{display:flex;align-items:flex-end;gap:6px;height:132px;padding-top:18px}.tl-col[data-v-3345ae41]{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.tl-barwrap[data-v-3345ae41]{position:relative;flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.tl-bar[data-v-3345ae41]{width:60%;max-width:26px;min-height:0;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--primary-light),var(--primary-color));transition:height .6s cubic-bezier(.22,1,.36,1)}.tl-col:hover .tl-bar[data-v-3345ae41]{background:linear-gradient(180deg,var(--secondary-color),var(--primary-color))}.tl-val[data-v-3345ae41]{position:absolute;top:-16px;font-size:11px;font-weight:600;color:var(--primary-dark)}.tl-date[data-v-3345ae41]{font-size:11px;color:var(--text-muted);margin-top:8px;white-space:nowrap}.unit-note[data-v-3345ae41]{font-size:12px;color:var(--text-muted);margin:14px 0 0}.donut-card[data-v-3345ae41]{max-width:460px}.donut-flex[data-v-3345ae41]{display:flex;align-items:center;gap:28px;margin-top:14px}.donut-wrap[data-v-3345ae41]{position:relative;width:160px;height:160px;flex-shrink:0}.donut[data-v-3345ae41]{width:160px;height:160px;transform:rotate(-90deg)}.donut-bg[data-v-3345ae41]{fill:none;stroke:#e2e8f0;stroke-width:14}.donut-seg[data-v-3345ae41]{fill:none;stroke-width:14;stroke-linecap:round;transition:stroke-dasharray 1s cubic-bezier(.22,1,.36,1)}.donut-center[data-v-3345ae41]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-num[data-v-3345ae41]{font-size:30px;font-weight:800;color:var(--text-primary)}.donut-cap[data-v-3345ae41]{font-size:11px;color:var(--text-muted)}.legend[data-v-3345ae41]{display:flex;flex-direction:column;gap:12px}.legend-item[data-v-3345ae41]{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.legend-item b[data-v-3345ae41]{color:var(--text-primary);margin-left:auto}.dot[data-v-3345ae41]{width:10px;height:10px;border-radius:3px;display:inline-block}.modal-overlay[data-v-3345ae41]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal[data-v-3345ae41]{width:440px;max-width:calc(100vw - 40px);background:var(--bg-panel);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden}.modal-head[data-v-3345ae41]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);font-size:15px;font-weight:700;color:var(--text-primary)}.modal-close[data-v-3345ae41]{border:none;background:transparent;font-size:20px;color:var(--text-muted);cursor:pointer;line-height:1}.modal-close[data-v-3345ae41]:hover{color:var(--error-color)}.modal-body[data-v-3345ae41]{padding:16px 20px 20px;max-height:60vh;overflow-y:auto}.m-tbl[data-v-3345ae41]{width:100%;border-collapse:collapse;font-size:14px}.m-tbl th[data-v-3345ae41]{text-align:left;color:var(--text-muted);font-weight:500;font-size:13px;padding:8px;border-bottom:1px solid var(--border-color)}.m-tbl td[data-v-3345ae41]{padding:10px 8px;border-bottom:1px solid var(--border-light)}.m-tbl .right[data-v-3345ae41]{text-align:right}.m-num[data-v-3345ae41]{color:var(--primary-dark);font-weight:700}.muted[data-v-3345ae41]{color:var(--text-muted);font-size:14px}.modal-fade-enter-active[data-v-3345ae41],.modal-fade-leave-active[data-v-3345ae41]{transition:opacity .18s}.modal-fade-enter-from[data-v-3345ae41],.modal-fade-leave-to[data-v-3345ae41]{opacity:0}@media (max-width: 900px){.cards[data-v-3345ae41]{grid-template-columns:repeat(2,1fr)}}.panel[data-v-d6c5ec9e]{background:#fff;border:1px solid var(--border-color, #e2e8f0);border-radius:14px;padding:20px;margin-bottom:20px}.panel-title[data-v-d6c5ec9e]{font-size:15px;font-weight:600;margin:0 0 14px;display:flex;align-items:center;gap:8px}.badge[data-v-d6c5ec9e]{background:#f59e0b;color:#fff;font-size:12px;border-radius:10px;padding:1px 8px}.tbl[data-v-d6c5ec9e]{width:100%;border-collapse:collapse;font-size:14px}.tbl th[data-v-d6c5ec9e]{text-align:left;color:var(--text-muted, #64748b);font-weight:500;font-size:13px;padding:8px 10px;border-bottom:1px solid var(--border-color, #e2e8f0)}.tbl td[data-v-d6c5ec9e]{padding:10px;border-bottom:1px solid #f1f5f9}.right[data-v-d6c5ec9e]{text-align:right}.btn[data-v-d6c5ec9e]{border:1px solid var(--border-color, #e2e8f0);background:#fff;padding:5px 12px;border-radius:7px;font-size:13px;cursor:pointer;margin-left:6px}.btn[data-v-d6c5ec9e]:hover{background:#f8fafc}.btn.primary[data-v-d6c5ec9e]{background:var(--primary-color, #2563eb);color:#fff;border-color:transparent}.btn.danger[data-v-d6c5ec9e]{color:#ef4444;border-color:#fecaca}.tag[data-v-d6c5ec9e]{padding:2px 8px;border-radius:6px;font-size:12px}.tag.active[data-v-d6c5ec9e]{background:#ecfdf5;color:#059669}.tag.suspended[data-v-d6c5ec9e]{background:#fffbeb;color:#d97706}.tag.revoked[data-v-d6c5ec9e]{background:#f1f5f9;color:#64748b}.qty[data-v-d6c5ec9e]{width:80px;padding:4px 8px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:13px}.today-exports[data-v-d6c5ec9e]{font-weight:700;color:var(--primary-dark, #005a9e)}.muted[data-v-d6c5ec9e]{color:var(--text-muted, #64748b);font-size:13px}.err[data-v-d6c5ec9e]{color:var(--error-color, #ef4444);margin-bottom:12px}.bill[data-v-b742a0dd]{max-width:900px}.panel[data-v-b742a0dd]{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.bal-panel[data-v-b742a0dd]{display:flex;align-items:center;justify-content:space-between;gap:20px}.bal-label[data-v-b742a0dd]{font-size:13px;color:var(--text-muted);margin-bottom:10px}.bal-value[data-v-b742a0dd]{font-size:32px;font-weight:800;color:var(--text-primary)}.unit[data-v-b742a0dd]{font-size:15px;font-weight:400;color:var(--text-muted)}.bal-hint[data-v-b742a0dd]{font-size:12px;color:var(--text-muted);max-width:240px;text-align:right;line-height:1.6}.panel-title[data-v-b742a0dd]{font-size:15px;font-weight:700;margin:0 0 16px;color:var(--text-primary)}.tbl[data-v-b742a0dd]{width:100%;border-collapse:collapse;font-size:14px}.tbl th[data-v-b742a0dd]{text-align:left;color:var(--text-muted);font-weight:500;font-size:13px;padding:8px 10px;border-bottom:1px solid var(--border-color)}.tbl td[data-v-b742a0dd]{padding:11px 10px;border-bottom:1px solid var(--border-light)}.right[data-v-b742a0dd]{text-align:right}.note[data-v-b742a0dd]{color:var(--text-secondary)}.tag[data-v-b742a0dd]{padding:2px 9px;border-radius:6px;font-size:12px}.tag.recharge[data-v-b742a0dd]{background:#ecfdf5;color:#059669}.tag.consume[data-v-b742a0dd]{background:var(--bg-active);color:var(--primary-dark)}.tag.refund[data-v-b742a0dd]{background:#fff7ed;color:#c2410c}.minus[data-v-b742a0dd]{color:var(--error-color);font-weight:600}.plus[data-v-b742a0dd]{color:var(--success-color);font-weight:600}.muted[data-v-b742a0dd]{color:var(--text-muted);font-size:13px}.err[data-v-b742a0dd]{color:var(--error-color);margin-bottom:12px}.ops-shell[data-v-cf1d1996]{display:flex;min-height:100vh;background:linear-gradient(180deg,#e8f4fc,#f0f7fc 40%,#f8fafc)}.ops-side[data-v-cf1d1996]{width:232px;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:22px 16px;animation:side-in-cf1d1996 .4s cubic-bezier(.22,1,.36,1)}@keyframes side-in-cf1d1996{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.ops-brand[data-v-cf1d1996]{display:flex;align-items:center;gap:10px;padding:4px 8px 22px}.ops-brand-logo[data-v-cf1d1996]{height:36px;object-fit:contain}.ops-brand-tag[data-v-cf1d1996]{font-size:12px;font-weight:700;color:var(--primary-dark);background:var(--bg-active);padding:3px 8px;border-radius:6px}.ops-nav[data-v-cf1d1996]{display:flex;flex-direction:column;gap:4px;flex:1}.ops-link[data-v-cf1d1996]{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:11px;color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:all .18s ease}.ops-link-icon[data-v-cf1d1996]{width:18px;height:18px;display:inline-flex}.ops-link-icon[data-v-cf1d1996] svg{width:18px;height:18px}.ops-link[data-v-cf1d1996]:hover{background:var(--bg-active);color:var(--primary-dark)}.ops-link.router-link-active[data-v-cf1d1996]{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:var(--shadow-primary)}.ops-side-foot[data-v-cf1d1996]{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border-color);padding-top:14px}.ops-link.ghost[data-v-cf1d1996]{font-size:13px;padding:9px 13px}.ops-main[data-v-cf1d1996]{flex:1;display:flex;flex-direction:column;min-width:0}.ops-top[data-v-cf1d1996]{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color)}.ops-top-title[data-v-cf1d1996]{font-size:18px;font-weight:700;color:var(--text-primary)}.account[data-v-cf1d1996]{position:relative}.account-chip[data-v-cf1d1996]{display:flex;align-items:center;gap:10px;padding:5px 8px 5px 6px;border:1px solid var(--border-color);border-radius:999px;background:#ffffffb3;cursor:pointer;transition:all .2s}.account-chip[data-v-cf1d1996]:hover{border-color:var(--primary-light);background:#fff}.ops-avatar[data-v-cf1d1996]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.account-meta[data-v-cf1d1996]{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}.ops-user-name[data-v-cf1d1996]{font-size:13px;color:var(--text-primary);font-weight:600}.account-role[data-v-cf1d1996]{font-size:11px;color:var(--primary-dark)}.caret[data-v-cf1d1996]{color:var(--text-muted);transition:transform .2s}.caret.open[data-v-cf1d1996]{transform:rotate(180deg)}.account-menu[data-v-cf1d1996]{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;z-index:var(--z-modal)}.menu-item[data-v-cf1d1996]{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .15s}.menu-item[data-v-cf1d1996]:hover{background:var(--bg-card)}.menu-item.danger[data-v-cf1d1996]{color:var(--error-color)}.menu-item.danger[data-v-cf1d1996]:hover{background:#ef444414}.menu-fade-enter-active[data-v-cf1d1996],.menu-fade-leave-active[data-v-cf1d1996]{transition:opacity .15s,transform .15s}.menu-fade-enter-from[data-v-cf1d1996],.menu-fade-leave-to[data-v-cf1d1996]{opacity:0;transform:translateY(-6px)}.ops-body[data-v-cf1d1996]{flex:1;padding:30px;overflow-y:auto}.zone-fade-enter-active[data-v-cf1d1996]{transition:all .32s cubic-bezier(.22,1,.36,1)}.zone-fade-leave-active[data-v-cf1d1996]{transition:all .18s ease}.zone-fade-enter-from[data-v-cf1d1996]{opacity:0;transform:translateY(12px)}.zone-fade-leave-to[data-v-cf1d1996]{opacity:0;transform:translateY(-8px)}.stat-card[data-v-ffc0f71e]{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:16px;padding:20px;box-shadow:var(--shadow-sm);opacity:0;transform:translateY(14px);animation:sc-in-ffc0f71e .5s cubic-bezier(.22,1,.36,1) forwards;transition:transform .2s,box-shadow .2s}.stat-card[data-v-ffc0f71e]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-card.warn[data-v-ffc0f71e]{border-color:#f59e0b66;background:linear-gradient(180deg,#fffdf6,#fff)}@keyframes sc-in-ffc0f71e{to{opacity:1;transform:translateY(0)}}.sc-top[data-v-ffc0f71e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sc-icon[data-v-ffc0f71e]{width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:var(--primary-dark)}.sc-icon[data-v-ffc0f71e] svg{width:20px;height:20px}.sc-badge[data-v-ffc0f71e]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;background:#f59e0b1f}.sc-value[data-v-ffc0f71e]{font-size:30px;font-weight:800;color:var(--text-primary);line-height:1;letter-spacing:-.5px}.sc-suffix[data-v-ffc0f71e]{font-size:14px;font-weight:500;color:var(--text-muted);margin-left:2px}.sc-label[data-v-ffc0f71e]{font-size:13px;color:var(--text-secondary);margin-top:8px}.panel[data-v-b19428f8]{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:16px;padding:22px;box-shadow:var(--shadow-sm);opacity:0;transform:translateY(14px);animation:panel-in-b19428f8 .5s cubic-bezier(.22,1,.36,1) forwards}@keyframes panel-in-b19428f8{to{opacity:1;transform:translateY(0)}}.panel-head[data-v-b19428f8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:16px}.panel-title[data-v-b19428f8]{font-size:15px;font-weight:700;color:var(--text-primary)}.panel-extra[data-v-b19428f8]{display:flex;align-items:center;gap:12px}.status[data-v-e4586f14]{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600}.dot[data-v-e4586f14]{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dot.pulse[data-v-e4586f14]{box-shadow:0 0 0 0 currentColor;animation:pulse-e4586f14 1.8s infinite}.txt[data-v-e4586f14]{color:inherit}@keyframes pulse-e4586f14{0%{box-shadow:0 0 #0000;opacity:1}70%{box-shadow:0 0 0 7px #0000;opacity:.7}to{box-shadow:0 0 #0000;opacity:1}}.alist[data-v-67648553]{width:100%;border-collapse:collapse;font-size:13px}.alist th[data-v-67648553]{text-align:left;color:var(--text-muted);font-weight:500;padding:10px;border-bottom:1px solid var(--border-color);white-space:nowrap}.alist td[data-v-67648553]{padding:12px 10px;border-bottom:1px solid var(--border-light);color:var(--text-secondary);vertical-align:top}.lvl[data-v-67648553]{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap}.cat-dot[data-v-67648553]{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.mono[data-v-67648553]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-primary);white-space:nowrap}.detail[data-v-67648553]{color:var(--text-primary)}.time[data-v-67648553]{white-space:nowrap;color:var(--text-secondary)}.muted[data-v-67648553]{color:var(--text-muted)}.empty[data-v-67648553]{text-align:center;color:var(--text-muted);padding:30px 0}.view[data-v-49850bfb]{max-width:1100px}.loading[data-v-49850bfb],.err[data-v-49850bfb]{color:var(--text-muted);padding:40px 0}.err[data-v-49850bfb]{color:var(--error-color)}.health-banner[data-v-49850bfb]{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg-panel);border:1px solid var(--border-color);border-left-width:4px;border-radius:14px;padding:16px 20px;box-shadow:var(--shadow-sm);margin-bottom:18px}.hb-left[data-v-49850bfb]{display:flex;align-items:center;gap:14px}.hb-title[data-v-49850bfb]{font-size:16px;font-weight:700}.hb-sub[data-v-49850bfb]{font-size:12px;color:var(--text-muted);margin-top:2px}.range[data-v-49850bfb]{display:flex;gap:4px;background:var(--bg-card);padding:4px;border-radius:10px}.range-btn[data-v-49850bfb]{border:none;background:transparent;padding:6px 14px;border-radius:7px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.range-btn.on[data-v-49850bfb]{background:#fff;color:var(--primary-dark);font-weight:600;box-shadow:var(--shadow-sm)}.cards[data-v-49850bfb]{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.more[data-v-49850bfb]{font-size:13px;color:var(--primary-color);text-decoration:none;font-weight:600}.more[data-v-49850bfb]:hover{text-decoration:underline}@media (max-width: 900px){.cards[data-v-49850bfb]{grid-template-columns:repeat(2,1fr)}}.gauge[data-v-2077f485]{position:relative;width:120px;height:120px}.ring[data-v-2077f485]{width:120px;height:120px;transform:rotate(-90deg)}.ring-bg[data-v-2077f485]{fill:none;stroke:#e2e8f0;stroke-width:11}.ring-fg[data-v-2077f485]{fill:none;stroke-width:11;stroke-linecap:round;transition:stroke-dasharray 1s cubic-bezier(.22,1,.36,1)}.center[data-v-2077f485]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.num[data-v-2077f485]{font-size:24px;font-weight:800;line-height:1}.pct[data-v-2077f485]{font-size:13px;font-weight:600;margin-left:1px}.cap[data-v-2077f485]{font-size:12px;color:var(--text-muted);margin-top:6px}.lc[data-v-5eba8b1a]{width:100%}.lc-svg[data-v-5eba8b1a]{width:100%;height:180px;display:block}.grid[data-v-5eba8b1a]{stroke:var(--border-light);stroke-width:1}.line[data-v-5eba8b1a]{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.x-labels[data-v-5eba8b1a]{display:flex;justify-content:space-between;margin-top:6px}.x-labels span[data-v-5eba8b1a]{font-size:11px;color:var(--text-muted)}.legend[data-v-5eba8b1a]{display:flex;gap:16px;margin-top:10px}.li[data-v-5eba8b1a]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.sw[data-v-5eba8b1a]{width:10px;height:3px;border-radius:2px;display:inline-block}.view[data-v-707de16b]{max-width:1100px}.loading[data-v-707de16b],.err[data-v-707de16b]{color:var(--text-muted);padding:40px 0}.err[data-v-707de16b]{color:var(--error-color)}.nodes[data-v-707de16b]{display:flex;flex-direction:column;gap:18px}.node[data-v-707de16b]{border:1px solid var(--border-light);border-radius:12px;padding:16px 18px}.node-name[data-v-707de16b]{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:12px;font-family:ui-monospace,Menlo,monospace}.gauges[data-v-707de16b]{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.g[data-v-707de16b]{flex-shrink:0}.load[data-v-707de16b]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 12px}.load-num[data-v-707de16b]{font-size:26px;font-weight:800;color:var(--text-primary)}.load-cap[data-v-707de16b]{font-size:12px;color:var(--text-muted);margin-top:4px}.bc[data-v-7c3f5904]{width:100%}.bars[data-v-7c3f5904]{display:flex;align-items:flex-end;gap:6px;padding-top:18px}.col[data-v-7c3f5904]{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}.barwrap[data-v-7c3f5904]{position:relative;flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.bar[data-v-7c3f5904]{width:62%;max-width:28px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--primary-light),var(--primary-color));transition:height .6s cubic-bezier(.22,1,.36,1)}.col:hover .bar[data-v-7c3f5904]{background:linear-gradient(180deg,var(--secondary-color),var(--primary-color))}.val[data-v-7c3f5904]{position:absolute;top:-16px;font-size:11px;font-weight:600;color:var(--primary-dark)}.lab[data-v-7c3f5904]{font-size:11px;color:var(--text-muted);margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.view[data-v-f21d3bd1]{max-width:1100px}.loading[data-v-f21d3bd1],.err[data-v-f21d3bd1]{color:var(--text-muted);padding:40px 0}.err[data-v-f21d3bd1]{color:var(--error-color)}.cards[data-v-f21d3bd1]{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.note[data-v-f21d3bd1]{font-size:12px;color:var(--text-muted)}.io-row[data-v-f21d3bd1]{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.io-num[data-v-f21d3bd1]{font-size:34px;font-weight:800;color:var(--text-primary)}.io-unit[data-v-f21d3bd1]{font-size:15px;font-weight:500;color:var(--text-muted)}@media (max-width: 900px){.cards[data-v-f21d3bd1]{grid-template-columns:repeat(2,1fr)}}.view[data-v-65cfd1a9]{max-width:1100px}.loading[data-v-65cfd1a9],.err[data-v-65cfd1a9]{color:var(--text-muted);padding:40px 0}.err[data-v-65cfd1a9]{color:var(--error-color)}.note[data-v-65cfd1a9]{font-size:12px;color:var(--text-muted)}.svc-tbl[data-v-65cfd1a9]{width:100%;border-collapse:collapse;font-size:14px}.svc-tbl th[data-v-65cfd1a9]{text-align:left;color:var(--text-muted);font-weight:500;font-size:13px;padding:10px;border-bottom:1px solid var(--border-color)}.svc-tbl td[data-v-65cfd1a9]{padding:12px 10px;border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.svc-tbl .right[data-v-65cfd1a9]{text-align:right}.mono[data-v-65cfd1a9]{font-family:ui-monospace,Menlo,monospace;color:var(--text-primary)}.bad[data-v-65cfd1a9]{color:var(--error-color);font-weight:600}.view[data-v-f93a077f]{max-width:1100px}.loading[data-v-f93a077f],.err[data-v-f93a077f]{color:var(--text-muted);padding:40px 0}.err[data-v-f93a077f]{color:var(--error-color)}.cards[data-v-f93a077f]{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.two-col[data-v-f93a077f]{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.api-tbl[data-v-f93a077f]{width:100%;border-collapse:collapse;font-size:13px}.api-tbl th[data-v-f93a077f]{text-align:left;color:var(--text-muted);font-weight:500;padding:9px 8px;border-bottom:1px solid var(--border-color)}.api-tbl td[data-v-f93a077f]{padding:11px 8px;border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.api-tbl .right[data-v-f93a077f]{text-align:right}.mono[data-v-f93a077f]{font-family:ui-monospace,Menlo,monospace;color:var(--text-primary);font-size:12px}.bad[data-v-f93a077f]{color:var(--error-color);font-weight:600}@media (max-width: 900px){.cards[data-v-f93a077f]{grid-template-columns:repeat(2,1fr)}.two-col[data-v-f93a077f]{grid-template-columns:1fr}}.view[data-v-eee12f9c]{max-width:1100px}.loading[data-v-eee12f9c],.err[data-v-eee12f9c]{color:var(--text-muted);padding:30px 0}.err[data-v-eee12f9c]{color:var(--error-color)}.cat-cards[data-v-eee12f9c]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cat-card[data-v-eee12f9c]{text-align:left;background:var(--bg-panel);border:1px solid var(--border-color);border-top:3px solid;border-radius:14px;padding:16px 18px;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .18s}.cat-card[data-v-eee12f9c]:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.cat-card.on[data-v-eee12f9c]{background:var(--bg-active)}.cc-head[data-v-eee12f9c]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cc-dot[data-v-eee12f9c]{width:9px;height:9px;border-radius:50%}.cc-label[data-v-eee12f9c]{font-size:14px;font-weight:700;color:var(--text-primary)}.cc-count[data-v-eee12f9c]{margin-left:auto;font-size:16px;font-weight:800;color:var(--text-primary)}.cc-desc[data-v-eee12f9c]{font-size:12px;color:var(--text-muted);line-height:1.5}.filters[data-v-eee12f9c]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fl-label[data-v-eee12f9c]{font-size:12px;color:var(--text-muted);margin-right:2px}.fl-btn[data-v-eee12f9c]{border:1px solid var(--border-color);background:#fff;padding:4px 12px;border-radius:7px;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.fl-btn.on[data-v-eee12f9c]{color:var(--primary-dark);border-color:var(--primary-light);background:var(--bg-active)}.fl-clear[data-v-eee12f9c]{font-size:12px;color:var(--text-muted);cursor:pointer;margin-left:8px}.fl-clear[data-v-eee12f9c]:hover{color:var(--error-color)}@media (max-width: 900px){.cat-cards[data-v-eee12f9c]{grid-template-columns:repeat(2,1fr)}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #0078d4;--primary-light: #4da3e8;--primary-dark: #005a9e;--secondary-color: #00b4d8;--bg-body: #f8fafc;--bg-panel: #ffffff;--bg-card: #f1f5f9;--bg-hover: #e2e8f0;--bg-active: #dbeafe;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-light: #f1f5f9;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--shadow-primary: 0 4px 14px rgba(0, 120, 212, .25);--viewer-bg: linear-gradient(180deg, #e8f4fc 0%, #f0f7fc 50%, #f8fafc 100%);--z-viewer-ui: 20;--z-modal: 3000}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-body);color:var(--text-primary);overflow:hidden;height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{border-color:var(--primary-color);background:var(--bg-hover)}.icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.icon-btn:hover{border-color:var(--primary-color);color:var(--primary-color);box-shadow:var(--shadow-md)}.icon-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}
