@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:Outfit,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.portal-shell[data-v-b8d6a5c5]{display:flex;width:100vw;height:100vh;overflow:hidden;background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-ui)}.sidebar[data-v-b8d6a5c5]{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--bg-main);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-logo[data-v-b8d6a5c5]{padding:18px 20px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;flex-shrink:0}.logo-icon[data-v-b8d6a5c5]{font-size:26px;color:var(--accent)}.logo-title[data-v-b8d6a5c5]{font-size:18px;font-weight:900;color:var(--text-primary);display:block;letter-spacing:1px}.logo-sub[data-v-b8d6a5c5]{font-size:9px;color:var(--text-muted);font-weight:700;letter-spacing:.8px;display:block}.nav-scroll[data-v-b8d6a5c5]{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.nav-scroll[data-v-b8d6a5c5]::-webkit-scrollbar{width:3px}.nav-scroll[data-v-b8d6a5c5]::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.nav-section[data-v-b8d6a5c5]{margin-bottom:4px}.nav-section-title[data-v-b8d6a5c5]{padding:10px 16px 5px;font-size:9.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--nav-section-text);display:flex;align-items:center;gap:7px;-webkit-user-select:none;user-select:none}.nav-section-line[data-v-b8d6a5c5]{flex:1;height:1px;background:var(--border)}.nav-section-icon[data-v-b8d6a5c5]{opacity:.6;font-size:11px}.nav-group-header[data-v-b8d6a5c5]{cursor:pointer;padding:9px 16px 5px;border-radius:4px;transition:background .12s}.nav-group-header[data-v-b8d6a5c5]:hover{background:var(--nav-bg-hover)}.nav-group-header.group-open[data-v-b8d6a5c5]{color:var(--accent)}.group-header-label[data-v-b8d6a5c5]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.group-report-count[data-v-b8d6a5c5]{font-size:9px;font-weight:700;background:var(--nav-badge-bg);color:var(--nav-badge-text);border-radius:8px;padding:1px 6px;margin-left:auto}.group-chevron[data-v-b8d6a5c5]{font-size:10px;margin-left:4px;opacity:.7}.nav-svg-icon[data-v-b8d6a5c5]{width:18px;height:18px;object-fit:contain;flex-shrink:0}.nav-fallback-icon[data-v-b8d6a5c5]{display:none;font-size:14px;flex-shrink:0;opacity:.7}.nav-item[data-v-b8d6a5c5]{display:flex;align-items:center;gap:9px;padding:8px 16px 8px 20px;cursor:pointer;transition:all .12s;border-left:3px solid transparent;text-decoration:none;color:inherit;min-height:36px}.nav-item[data-v-b8d6a5c5]:hover{background:var(--nav-bg-hover)}.nav-item.active[data-v-b8d6a5c5]{background:var(--nav-bg-active);border-left-color:var(--nav-accent-bar)}.nav-item.active .nav-label[data-v-b8d6a5c5]{color:var(--nav-text-active);font-weight:600}.nav-group-items .nav-item[data-v-b8d6a5c5]{padding-left:28px}.nav-item-dot[data-v-b8d6a5c5]{width:6px;height:6px;border-radius:50%;background:var(--border-active);flex-shrink:0}.nav-item-dot.ready[data-v-b8d6a5c5]{background:var(--green)}.nav-label[data-v-b8d6a5c5]{font-size:13px;font-weight:500;color:var(--nav-text-passive);white-space:normal;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1}.nav-code[data-v-b8d6a5c5]{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);opacity:0;transition:opacity .15s;flex-shrink:0}.nav-item:hover .nav-code[data-v-b8d6a5c5]{opacity:.6}.group-slide-enter-active[data-v-b8d6a5c5],.group-slide-leave-active[data-v-b8d6a5c5]{transition:all .2s ease}.group-slide-enter-from[data-v-b8d6a5c5],.group-slide-leave-to[data-v-b8d6a5c5]{opacity:0;transform:translateY(-6px)}.sidebar-footer[data-v-b8d6a5c5]{padding:12px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0}.user-avatar[data-v-b8d6a5c5]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}.user-info[data-v-b8d6a5c5]{flex:1;min-width:0}.user-name[data-v-b8d6a5c5]{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role[data-v-b8d6a5c5]{font-size:10px;color:var(--text-muted)}.btn-logout-sm[data-v-b8d6a5c5]{width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-logout-sm[data-v-b8d6a5c5]:hover{border-color:var(--red);color:var(--red)}.main-area[data-v-b8d6a5c5]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar[data-v-b8d6a5c5]{height:auto;min-height:var(--topbar-h);background:var(--bg-main);border-bottom:1px solid var(--border);display:flex;align-items:center;flex-wrap:wrap;padding:8px 24px;gap:16px;flex-shrink:0}.global-filters[data-v-b8d6a5c5]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1;min-width:0}.gf-item[data-v-b8d6a5c5]{display:flex;align-items:center;gap:6px}.gf-label[data-v-b8d6a5c5]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);white-space:nowrap}.gf-select[data-v-b8d6a5c5]{padding:6px 12px;min-width:140px;max-width:280px;background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:var(--font-ui);font-size:13px;font-weight:500;outline:none;cursor:pointer;transition:border .15s}.gf-select[data-v-b8d6a5c5]:focus{border-color:var(--accent)}.gf-select[data-v-b8d6a5c5]:disabled{opacity:.5;cursor:not-allowed}.gf-date[data-v-b8d6a5c5]{padding:6px 12px;min-width:140px;background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:var(--font-ui);font-size:13px;outline:none;color-scheme:dark}.light .gf-date[data-v-b8d6a5c5]{color-scheme:light}.topbar-right[data-v-b8d6a5c5]{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.ctrl-group[data-v-b8d6a5c5]{display:flex;align-items:center;background:var(--bg-hover);border:1px solid var(--border);border-radius:6px;overflow:hidden}.btn-ctrl[data-v-b8d6a5c5]{width:32px;height:30px;border:none;background:transparent;color:var(--text-muted);font-size:14px;cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center;font-family:var(--font-ui)}.btn-ctrl.active[data-v-b8d6a5c5]{background:var(--accent);color:#fff}.btn-ctrl[data-v-b8d6a5c5]:hover:not(.active){background:var(--bg-active);color:var(--text-primary)}.input-height[data-v-b8d6a5c5]{width:48px;padding:0 4px;text-align:center;color:var(--text-primary);font-size:12px;outline:none}.theme-switcher[data-v-b8d6a5c5]{gap:2px;padding:2px}.btn-theme[data-v-b8d6a5c5]{width:26px;height:26px;border-radius:50%;border:2px solid transparent;background:transparent;font-size:16px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.btn-theme.active[data-v-b8d6a5c5]{border-color:var(--accent)}.dark-btn[data-v-b8d6a5c5]{color:#94a3b8}.light-btn[data-v-b8d6a5c5]{color:#f59e0b}.lang-select[data-v-b8d6a5c5]{min-width:120px;height:32px}.btn-top[data-v-b8d6a5c5]{width:32px;height:30px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-top[data-v-b8d6a5c5]:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-hover)}.content-area[data-v-b8d6a5c5]{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.content-area[data-v-b8d6a5c5]::-webkit-scrollbar{width:6px}.content-area[data-v-b8d6a5c5]::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.login-shell[data-v-f09f63f0]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#0f1117;font-family:Segoe UI,system-ui,sans-serif}.login-card[data-v-f09f63f0]{background:#1a1d27;border:1px solid #2e3350;border-radius:12px;padding:40px 36px;width:100%;max-width:400px;box-shadow:0 24px 48px #0006}.login-logo[data-v-f09f63f0]{display:flex;align-items:center;gap:10px;margin-bottom:28px}.logo-icon[data-v-f09f63f0]{font-size:24px}.logo-text[data-v-f09f63f0]{font-size:20px;font-weight:700;color:#4f8ef7}.login-title[data-v-f09f63f0]{margin:0 0 28px;font-size:15px;font-weight:600;color:#94a3b8}.form-group[data-v-f09f63f0]{margin-bottom:18px}.form-label[data-v-f09f63f0]{display:block;margin-bottom:6px;font-size:12px;font-weight:600;color:#64748b;letter-spacing:.04em;text-transform:uppercase}.form-input[data-v-f09f63f0]{width:100%;padding:10px 12px;background:#22263a;border:1px solid #2e3350;border-radius:6px;color:#e2e8f0;font-size:14px;outline:none;transition:border-color .15s;box-sizing:border-box}.form-input[data-v-f09f63f0]::placeholder{color:#3d4466}.form-input[data-v-f09f63f0]:focus{border-color:#4f8ef7}.error-box[data-v-f09f63f0]{display:flex;align-items:center;gap:8px;background:#ef444415;border:1px solid #ef4444;border-radius:6px;padding:10px 12px;margin-bottom:18px;font-size:13px;color:#ef4444}.error-icon[data-v-f09f63f0]{flex-shrink:0}.btn-login[data-v-f09f63f0]{width:100%;padding:12px;background:#4f8ef7;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}.btn-login[data-v-f09f63f0]:hover:not(:disabled){background:#3a7ae0}.btn-login[data-v-f09f63f0]:disabled{opacity:.45;cursor:not-allowed}.spinner[data-v-f09f63f0]{width:16px;height:16px;border:2px solid #ffffff44;border-top-color:#fff;border-radius:50%;animation:spin-f09f63f0 .7s linear infinite;flex-shrink:0}@keyframes spin-f09f63f0{to{transform:rotate(360deg)}}.page-welcome[data-v-79d325a4]{padding:24px;max-width:1400px;margin:0 auto}.hero[data-v-79d325a4]{background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-active) 50%,var(--bg-card) 100%);border:1px solid var(--border);border-radius:16px;padding:48px;margin-bottom:24px;position:relative;overflow:hidden}.hero-glow[data-v-79d325a4]{position:absolute;width:400px;height:400px;background:radial-gradient(circle,var(--accent-glow),transparent 70%);top:-200px;right:-100px;pointer-events:none}.hero-title[data-v-79d325a4]{font-size:32px;font-weight:900;letter-spacing:-.5px;margin-bottom:8px;position:relative}.hero-title span[data-v-79d325a4]{color:var(--accent-strong)}.hero-sub[data-v-79d325a4]{font-size:15px;color:var(--text-secondary);line-height:1.6;max-width:580px;position:relative}.hero-kpis[data-v-79d325a4]{display:flex;gap:40px;margin-top:36px;position:relative}.hk[data-v-79d325a4]{text-align:left}.hk-val[data-v-79d325a4]{font-family:var(--font-mono);font-size:36px;font-weight:800;background:linear-gradient(135deg,var(--accent-strong),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hk-label[data-v-79d325a4]{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-top:4px}.section-grid[data-v-79d325a4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.section-card[data-v-79d325a4]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:all .2s;position:relative;overflow:hidden}.section-card.clickable[data-v-79d325a4]{cursor:pointer}.section-card.clickable[data-v-79d325a4]:hover{border-color:var(--c-accent);transform:translateY(-2px);box-shadow:0 8px 32px #00000030}.section-card[data-v-79d325a4]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--c-accent)}.sc-num[data-v-79d325a4]{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase}.sc-title[data-v-79d325a4]{font-size:16px;font-weight:800;margin-bottom:6px;display:flex;align-items:center;gap:8px}.sc-icon[data-v-79d325a4]{font-size:18px}.sc-desc[data-v-79d325a4]{font-size:13px;color:var(--text-secondary);line-height:1.5;padding-right:40px}.sc-count[data-v-79d325a4]{position:absolute;bottom:20px;right:20px;font-family:var(--font-mono);font-size:24px;font-weight:800;color:var(--border-active);opacity:.5}.section-card:hover .sc-count[data-v-79d325a4]{opacity:1;color:var(--c-accent)}.rr-wrap[data-v-eed01060]{flex:1;display:flex;flex-direction:column;min-height:0}.rr-loading[data-v-eed01060]{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--accent);font-weight:600;min-height:200px}.rr-spinner[data-v-eed01060]{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-eed01060 .7s linear infinite}@keyframes spin-eed01060{to{transform:rotate(360deg)}}.rr-error[data-v-eed01060]{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--red);padding:24px;background:var(--red-soft);border-radius:var(--radius);border:1px dashed var(--red);margin-bottom:16px}.rr-empty[data-v-eed01060]{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-style:italic;min-height:200px}.rr-content[data-v-eed01060]{display:flex;flex-direction:column;gap:16px;flex:1}.only-table[data-v-eed01060]{height:100%}.rr-chart-wrap[data-v-eed01060]{width:100%;flex-shrink:0}.rr-kpi-row[data-v-eed01060]{display:flex;gap:16px;height:100%;flex-wrap:wrap}.rr-kpi-card[data-v-eed01060]{flex:1;min-width:140px;display:flex;flex-direction:column;justify-content:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:left}.kpi-label[data-v-eed01060]{font-size:11px;text-transform:uppercase;color:var(--text-muted);font-weight:700;margin-bottom:8px}.kpi-value[data-v-eed01060]{font-size:32px;font-family:var(--font-mono);font-weight:800;color:var(--text-primary)}.rr-table-wrap[data-v-eed01060]{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);flex:1}.full-height-table[data-v-eed01060]{max-height:80vh;overflow-y:auto}.rr-table[data-v-eed01060]{width:100%;border-collapse:collapse;font-size:13px}.rr-table th[data-v-eed01060]{padding:12px 16px;text-align:left;background:var(--bg-hover);color:var(--text-muted);font-size:11px;text-transform:uppercase;position:sticky;top:0;z-index:1;border-bottom:2px solid var(--border)}.rr-table td[data-v-eed01060]{padding:10px 16px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.rr-table tbody tr:hover td[data-v-eed01060]{background:var(--bg-active);color:var(--text-primary)}.page-reports[data-v-06ec0519]{display:block;background:var(--bg-deep);min-height:100%;padding-bottom:60px}.no-report[data-v-06ec0519]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-muted);height:50vh}.nr-icon[data-v-06ec0519]{font-size:48px;opacity:.3}.nr-text[data-v-06ec0519]{font-size:15px}.report-content[data-v-06ec0519]{display:block;padding:24px 32px}.rpt-header[data-v-06ec0519]{margin-bottom:20px}.rpt-meta[data-v-06ec0519]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.rpt-group[data-v-06ec0519]{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.rpt-sep[data-v-06ec0519]{color:var(--border-active)}.rpt-title[data-v-06ec0519]{font-size:22px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.rpt-code[data-v-06ec0519]{font-family:var(--font-mono);font-size:10px;background:var(--bg-hover);color:var(--text-muted);padding:2px 6px;border-radius:4px;margin-left:8px}.rpt-desc[data-v-06ec0519]{font-size:14px;color:var(--text-secondary);line-height:1.6;max-width:800px;margin-bottom:12px}.rpt-task[data-v-06ec0519]{font-size:var(--task-font-size);font-weight:var(--task-font-weight);color:var(--task-color);background:var(--task-bg);padding:8px 14px;border-radius:var(--task-radius);display:inline-block;max-width:100%}.rpt-controls[data-v-06ec0519]{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;flex-wrap:wrap}.local-filters[data-v-06ec0519]{display:flex;gap:12px;flex-wrap:wrap;flex:1}.gf-item[data-v-06ec0519]{display:flex;flex-direction:column;gap:4px}.gf-label[data-v-06ec0519]{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.gf-select[data-v-06ec0519]{padding:6px 10px;min-width:160px;max-width:220px;background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:var(--font-ui);font-size:12px;outline:none;text-overflow:ellipsis}.rpt-body[data-v-06ec0519]{display:block}.page-assemblies[data-v-195950bb]{padding:24px;display:block;overflow-y:auto;height:100%}.page-header[data-v-195950bb]{margin-bottom:20px}.ph-title[data-v-195950bb]{font-size:22px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.ph-sub[data-v-195950bb]{font-size:13px;color:var(--text-muted);margin-top:4px}.asm-tabs[data-v-195950bb]{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.asm-tab[data-v-195950bb]{display:flex;align-items:center;gap:6px;padding:10px 18px;border:none;border-bottom:3px solid transparent;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.asm-tab[data-v-195950bb]:hover{color:var(--text-primary);background:var(--bg-hover)}.asm-tab.active[data-v-195950bb]{color:var(--text-primary);font-weight:700}.tab-icon[data-v-195950bb]{font-size:16px}.tab-count[data-v-195950bb]{font-size:10px;font-weight:700;background:var(--bg-hover);color:var(--text-muted);border-radius:8px;padding:1px 7px}.asm-desc[data-v-195950bb]{font-size:13px;color:var(--text-secondary);background:var(--bg-hover);border-left:3px solid var(--accent);padding:10px 16px;border-radius:0 6px 6px 0;margin-bottom:20px}.reports-grid[data-v-195950bb]{display:grid;gap:16px;align-items:start}.report-tile[data-v-195950bb]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.rt-header[data-v-195950bb]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.rt-name[data-v-195950bb]{font-size:13px;font-weight:600;color:var(--text-primary)}.rt-fs-btn[data-v-195950bb]{width:24px;height:24px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.rt-fs-btn[data-v-195950bb]:hover{border-color:var(--accent);color:var(--accent)}.no-asm[data-v-195950bb]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px;color:var(--text-muted)}.na-icon[data-v-195950bb]{font-size:48px;opacity:.3}.page-ras[data-v-1e8e03e2]{padding:24px;max-width:1200px}.ras-header[data-v-1e8e03e2]{display:flex;align-items:center;gap:20px;margin-bottom:20px}.ras-logo[data-v-1e8e03e2]{font-size:48px;color:var(--accent)}.ras-title[data-v-1e8e03e2]{font-size:22px;font-weight:800;color:var(--text-primary)}.ras-version[data-v-1e8e03e2]{font-size:12px;color:var(--text-muted);margin-top:4px;font-family:var(--font-mono)}.ras-desc[data-v-1e8e03e2]{font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:28px}.section-title[data-v-1e8e03e2]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin:24px 0 14px;display:flex;align-items:center;gap:12px}.section-title[data-v-1e8e03e2]:after{content:"";flex:1;height:1px;background:var(--border)}.stats-grid[data-v-1e8e03e2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:8px}.stat-card[data-v-1e8e03e2]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat-card.danger[data-v-1e8e03e2]{border-color:var(--red)}.stat-label[data-v-1e8e03e2]{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:6px}.stat-val[data-v-1e8e03e2]{font-size:24px;font-weight:800;font-family:var(--font-mono);color:var(--text-primary)}.catalog-list[data-v-1e8e03e2]{display:flex;flex-direction:column;gap:12px}.catalog-group[data-v-1e8e03e2]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.cg-header[data-v-1e8e03e2]{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--bg-hover);font-size:12px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.8px}.cg-count[data-v-1e8e03e2]{font-size:10px;background:var(--accent-glow);color:var(--accent);border-radius:8px;padding:1px 7px}.cg-report[data-v-1e8e03e2]{display:flex;align-items:center;gap:12px;padding:7px 16px;border-bottom:1px solid var(--bg-deep);font-size:12px}.cg-report[data-v-1e8e03e2]:last-child{border-bottom:none}.cr-code[data-v-1e8e03e2]{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);min-width:40px}.cr-name[data-v-1e8e03e2]{flex:1;color:var(--text-primary);font-weight:500}.cr-viz[data-v-1e8e03e2]{font-family:var(--font-mono);font-size:10px;color:var(--purple)}.cr-ready[data-v-1e8e03e2]{font-size:14px;color:var(--border-active)}.cr-ready.ok[data-v-1e8e03e2]{color:var(--green)}.stack-grid[data-v-1e8e03e2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.stack-item[data-v-1e8e03e2]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;text-align:center}.si-icon[data-v-1e8e03e2]{font-size:24px;margin-bottom:6px}.si-name[data-v-1e8e03e2]{font-size:12px;font-weight:700;color:var(--text-primary)}.si-ver[data-v-1e8e03e2]{font-size:10px;color:var(--text-muted);margin-top:2px;font-family:var(--font-mono)}.fs-shell[data-v-5c4959be]{display:flex;flex-direction:column;width:100vw;height:100vh;background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-ui)}.fs-topbar[data-v-5c4959be]{padding:12px 24px;background:var(--bg-main);border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.fs-breadcrumb[data-v-5c4959be]{display:flex;align-items:center;gap:12px}.fs-title[data-v-5c4959be]{font-size:18px;font-weight:800}.fs-code[data-v-5c4959be]{font-family:var(--font-mono);font-size:10px;background:var(--bg-hover);padding:2px 6px;border-radius:4px}.fs-actions[data-v-5c4959be]{display:flex;gap:8px}.fs-btn[data-v-5c4959be]{padding:8px 16px;background:var(--bg-hover);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer}.fs-content[data-v-5c4959be]{flex:1;padding:24px;overflow:auto}.print-only-title[data-v-5c4959be]{display:none}@media print{.no-print[data-v-5c4959be]{display:none!important}.fs-shell[data-v-5c4959be],.fs-content[data-v-5c4959be]{display:block!important;height:auto!important;background:#fff!important;color:#000!important}.print-only-title[data-v-5c4959be]{display:block;margin-bottom:20px;font-size:24px}}:root,.dark{--bg-deep: #08090d;--bg-main: #0d0f14;--bg-card: #131620;--bg-hover: #1a1e2e;--bg-active: #1e2338;--border: #1e2236;--border-active: #2d3454;--text-primary: #e8eaf0;--text-secondary: #8890a4;--text-muted: #565e76;--accent: #3b82f6;--accent-glow: #3b82f620;--accent-strong: #60a5fa;--green: #22c55e;--green-soft: #22c55e18;--red: #ef4444;--red-soft: #ef444418;--amber: #f59e0b;--amber-soft: #f59e0b18;--purple: #a78bfa;--purple-soft: #a78bfa18;--cyan: #06b6d4;--cyan-soft: #06b6d418;--orange: #f97316;--orange-soft: #f9731618;--nav-text-active: #ffffff;--nav-text-passive: #8890a4;--nav-bg-active: #1e2338;--nav-bg-hover: #1a1e2e;--nav-accent-bar: #3b82f6;--nav-section-text: #565e76;--nav-badge-bg: #f59e0b18;--nav-badge-text: #f59e0b;--sidebar-w: 320px;--topbar-h: 52px;--radius: 10px;--radius-sm: 6px;--font-ui: "Outfit", sans-serif;--font-mono: "JetBrains Mono", monospace;--task-font-size: 13px;--task-color: #60a5fa;--task-bg: #3b82f620;--task-radius: 6px;--task-font-weight: 500}.light{--bg-deep: #f0f2f5;--bg-main: #ffffff;--bg-card: #ffffff;--bg-hover: #f5f7fa;--bg-active: #ebf0f7;--border: #e2e5eb;--border-active: #cbd0db;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #2563eb;--accent-glow: #2563eb15;--accent-strong: #1d4ed8;--green: #16a34a;--green-soft: #16a34a12;--red: #dc2626;--red-soft: #dc262612;--amber: #d97706;--amber-soft: #d9770612;--purple: #7c3aed;--purple-soft: #7c3aed12;--cyan: #0891b2;--cyan-soft: #0891b212;--orange: #ea580c;--orange-soft: #ea580c12;--nav-text-active: #0f172a;--nav-text-passive: #475569;--nav-bg-active: #dbeafe;--nav-bg-hover: #f1f5f9;--nav-accent-bar: #2563eb;--nav-section-text: #94a3b8;--nav-badge-bg: #fef3c7;--nav-badge-text: #d97706;--sidebar-w: 320px;--topbar-h: 52px;--radius: 10px;--radius-sm: 6px;--font-ui: "Outfit", sans-serif;--font-mono: "JetBrains Mono", monospace;--task-font-size: 13px;--task-color: #2563eb;--task-bg: #2563eb15;--task-radius: 6px;--task-font-weight: 500}@media print{.no-print{display:none!important}body,.portal-shell,.main-area,.content-area{background:#fff!important;color:#000!important;height:auto!important;overflow:visible!important;display:block!important}}
