.topbar[data-v-a68386e5]{display:flex;align-items:center;gap:40px;height:72px;background:var(--card);border-bottom:1px solid var(--border);padding:0 var(--page-pad);position:sticky;top:0;z-index:20}.brand-line[data-v-a68386e5]{display:flex;align-items:baseline;gap:8px}.brand-red[data-v-a68386e5]{color:var(--brand-red);font-weight:800;font-size:21px;letter-spacing:.5px}.brand-sub[data-v-a68386e5]{font-weight:700;font-size:21px;color:var(--ink)}.brand-tag[data-v-a68386e5]{font-size:12px;color:var(--muted);margin-top:2px}.search[data-v-a68386e5]{flex:1;max-width:520px;position:relative;display:flex;align-items:center;gap:8px;background:#f2f4f8;border:1px solid transparent;border-radius:10px;padding:9px 14px}.search[data-v-a68386e5]:focus-within{border-color:var(--primary);background:#fff}.search-icon[data-v-a68386e5]{color:var(--muted)}.search input[data-v-a68386e5]{border:none;outline:none;background:none;width:100%;font-size:14px}.right[data-v-a68386e5]{display:flex;align-items:center;gap:28px;margin-left:auto}.account[data-v-a68386e5]{position:relative;cursor:pointer;display:flex;align-items:center;gap:10px}.avatar[data-v-a68386e5]{width:36px;height:36px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.avatar.big[data-v-a68386e5]{width:44px;height:44px}.who-name[data-v-a68386e5]{font-weight:600;font-size:13px;line-height:1.3}.who-dept[data-v-a68386e5]{color:var(--muted);font-size:12px;line-height:1.3}.menu[data-v-a68386e5]{position:absolute;right:0;top:48px;width:240px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:14px;cursor:default}.menu-head[data-v-a68386e5]{display:flex;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:8px}.m-name[data-v-a68386e5]{font-weight:700}.m-dept[data-v-a68386e5]{color:var(--muted);font-size:12px}.menu-item[data-v-a68386e5]{width:100%;text-align:left;border:none;background:none;padding:10px 8px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;font-size:14px}a.menu-item[data-v-a68386e5],.menu-item[data-v-a68386e5]:any-link{text-decoration:none;color:inherit}.menu-item[data-v-a68386e5]:hover:not(:disabled){background:#f4f6f9}.menu-item[data-v-a68386e5]:disabled{color:var(--muted);cursor:default}.m-note[data-v-a68386e5]{color:var(--muted);font-size:11px}.danger[data-v-a68386e5]{color:var(--down)}.search input[data-v-a68386e5]:disabled{cursor:not-allowed}.mask[data-v-a68386e5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;display:flex;align-items:center;justify-content:center;z-index:60}.dialog[data-v-a68386e5]{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 28px;width:380px;max-width:calc(100vw - 32px);cursor:default}.dialog h2[data-v-a68386e5]{margin:0;font-size:18px}.dialog p[data-v-a68386e5]{color:var(--muted);font-size:14px;line-height:1.6;margin:8px 0 20px}.acts[data-v-a68386e5]{display:flex;justify-content:flex-end;gap:12px}.btn[data-v-a68386e5]{border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink-2);padding:8px 18px;font-size:14px;font-weight:600;text-decoration:none}.danger-btn[data-v-a68386e5]{border-color:var(--down);background:var(--down);color:#fff}.hero[data-v-5359e1a4]{display:flex;gap:24px;background:var(--hero);border-radius:var(--radius);padding:30px 32px;color:#fff;box-shadow:var(--shadow)}.left[data-v-5359e1a4]{flex:1;min-width:0}.eyebrow[data-v-5359e1a4]{font-size:13px;color:#9fc0ff;letter-spacing:.3px}h1[data-v-5359e1a4]{font-size:28px;margin:10px 0 12px;line-height:1.3}.sub[data-v-5359e1a4]{color:#c6d6f2;max-width:620px;margin:0 0 18px}.cta[data-v-5359e1a4]{border:none;border-radius:8px;background:var(--primary);color:#fff;font-weight:600;padding:9px 20px}.cta[data-v-5359e1a4]:disabled{background:#ffffff29;color:#b7c8e6;cursor:not-allowed}.scope[data-v-5359e1a4]{width:430px;flex-shrink:0;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);padding:18px}.scope-title[data-v-5359e1a4]{font-weight:700}.scope-sub[data-v-5359e1a4]{color:#b7c8e6;font-size:12px;margin:4px 0 14px}.bars[data-v-5359e1a4]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bar-item[data-v-5359e1a4]{display:flex;flex-direction:column;gap:8px;min-width:0}.bar[data-v-5359e1a4]{height:6px;border-radius:999px}.bar-label[data-v-5359e1a4]{font-size:12px;color:#dbe6fa;white-space:nowrap}@media(max-width:900px){.hero[data-v-5359e1a4]{flex-direction:column}.scope[data-v-5359e1a4]{width:auto}}.wrap[data-v-54d83afa]{position:relative}.trigger[data-v-54d83afa]{border:none;background:none;color:var(--muted);font-size:16px;line-height:1;padding:2px 4px}.menu[data-v-54d83afa]{position:absolute;right:0;top:calc(100% + 6px);display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:6px;z-index:12;white-space:nowrap}.menu[data-v-54d83afa] button{border:none;background:none;padding:8px 12px;border-radius:6px;font-size:13px;width:100%;text-align:left;color:var(--ink)}.menu[data-v-54d83afa] button:hover{background:#f4f6f9}.panel[data-v-92f9bccb]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow-sm)}header[data-v-92f9bccb]{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.head-left[data-v-92f9bccb]{display:flex;align-items:baseline;gap:12px;min-width:0}h2[data-v-92f9bccb]{font-size:17px;margin:0}.hint[data-v-92f9bccb]{color:var(--muted);font-size:12px}.grid[data-v-92f9bccb]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card[data-v-92f9bccb]{display:flex;flex-direction:column;gap:10px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.head-row[data-v-92f9bccb]{display:flex;align-items:flex-start;gap:12px}.body[data-v-92f9bccb]{flex:1;min-width:0}.name[data-v-92f9bccb]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reason[data-v-92f9bccb]{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.foot[data-v-92f9bccb]{display:flex;justify-content:flex-end}.open[data-v-92f9bccb]{border:none;border-radius:8px;background:var(--primary);color:#fff;font-weight:600;padding:7px 18px;font-size:13px}@media(max-width:1100px){.grid[data-v-92f9bccb]{grid-template-columns:repeat(2,minmax(0,1fr))}}.tabs[data-v-f6015518]{display:flex;gap:8px;background:var(--primary-soft);border:1px solid #e3ebf9;border-radius:20px;padding:6px}.tab[data-v-f6015518]{flex:1;border:none;background:none;border-radius:14px;padding:10px 12px;font-size:14px;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;gap:8px}.tab.active[data-v-f6015518]{background:#fff;color:var(--primary);font-weight:700;box-shadow:var(--shadow-sm)}.count[data-v-f6015518]{color:inherit}.row[data-v-510ac0b5]{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.meta[data-v-510ac0b5]{min-width:0;flex:1}.title-line[data-v-510ac0b5]{display:flex;align-items:center;gap:8px}.name[data-v-510ac0b5]{font-weight:700;color:var(--ink)}.desc[data-v-510ac0b5]{color:var(--muted);font-size:13px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag[data-v-510ac0b5]{font-size:11px;padding:1px 8px;border-radius:999px;line-height:1.7}.tag-maint[data-v-510ac0b5]{color:var(--warn);background:#fdf1de}.act[data-v-510ac0b5]{border:none;background:none;color:var(--primary);font-size:14px;font-weight:700;white-space:nowrap;padding:4px 6px}.act-status[data-v-510ac0b5]{color:var(--ink-2)}.rail[data-v-cbb37c2d]{display:flex;flex-direction:column;gap:18px}.panel[data-v-cbb37c2d]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm)}h3[data-v-cbb37c2d]{margin:0 0 14px;font-size:16px}ul[data-v-cbb37c2d]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}li[data-v-cbb37c2d]{display:flex;gap:10px}.status li[data-v-cbb37c2d]{align-items:center;gap:10px;color:var(--ink-2)}.s-dot[data-v-cbb37c2d]{width:9px;height:9px;border-radius:50%;flex-shrink:0}.s-name[data-v-cbb37c2d]{flex:1;min-width:0}.s-value[data-v-cbb37c2d]{font-size:13px;white-space:nowrap}.backdrop[data-v-9cb4706e]{position:fixed;top:72px;right:0;bottom:0;left:0;z-index:14}.overlay[data-v-9cb4706e]{position:absolute;top:calc(100% + 8px);left:0;width:100%;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:12px;z-index:15}.head[data-v-9cb4706e]{color:var(--muted);font-size:12px;padding:4px 8px 10px}.hit[data-v-9cb4706e]{width:100%;display:flex;align-items:center;gap:12px;border:none;background:none;padding:10px 8px;border-radius:8px;text-align:left}.hit[data-v-9cb4706e]:hover{background:#f4f6f9}.info[data-v-9cb4706e]{flex:1;min-width:0}.name[data-v-9cb4706e]{font-weight:600}.sub[data-v-9cb4706e]{color:var(--muted);font-size:12px}.open[data-v-9cb4706e]{color:var(--primary);font-weight:600;font-size:13px}.empty[data-v-9cb4706e]{color:var(--muted);padding:16px 8px;font-size:13px}.sk[data-v-df7eeee7]{display:flex;flex-direction:column;gap:20px}.blk[data-v-df7eeee7]{border-radius:var(--radius);background:linear-gradient(90deg,#eceff4 25%,#f4f6f9 37%,#eceff4 63%);background-size:400% 100%;animation:shimmer-df7eeee7 1.3s ease-in-out infinite}.hero[data-v-df7eeee7]{height:180px}.panel[data-v-df7eeee7]{height:150px}.tabs[data-v-df7eeee7]{height:56px}.cols[data-v-df7eeee7]{display:grid;grid-template-columns:1fr var(--rail-w);gap:var(--col-gap)}.list[data-v-df7eeee7],.rail[data-v-df7eeee7]{height:320px}@keyframes shimmer-df7eeee7{0%{background-position:100% 0}to{background-position:0 0}}.wrap[data-v-efc1f1d3]{max-width:var(--page-max);margin:0 auto;padding:24px var(--page-pad) 60px;display:flex;flex-direction:column;gap:20px;position:relative}.cols[data-v-efc1f1d3]{display:grid;grid-template-columns:1fr var(--rail-w);gap:var(--col-gap);align-items:start}.main-col[data-v-efc1f1d3]{display:flex;flex-direction:column;gap:20px;min-width:0}.modules[data-v-efc1f1d3]{background:var(--card);border:1px solid var(--border);border-left:6px solid var(--primary);border-radius:var(--radius);padding:24px 28px;box-shadow:var(--shadow-sm)}.modules-head[data-v-efc1f1d3]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}h2[data-v-efc1f1d3]{margin:0;font-size:22px}.modules-desc[data-v-efc1f1d3]{color:var(--muted);margin:6px 0 0;font-size:15px}.pill[data-v-efc1f1d3]{background:#eef1f6;color:var(--ink-2);border-radius:999px;padding:4px 12px;font-size:12px;white-space:nowrap}.module-list[data-v-efc1f1d3]{display:flex;flex-direction:column;gap:12px}.empty-perm h2[data-v-efc1f1d3]{margin:0 0 6px}.empty-perm .modules-desc[data-v-efc1f1d3]{margin:0}.error[data-v-efc1f1d3]{background:#fdecec;color:var(--down);border-radius:var(--radius);padding:20px}.toast[data-v-efc1f1d3]{position:fixed;bottom:40px;left:50%;transform:translate(-50%);background:#111827eb;color:#fff;padding:10px 22px;border-radius:999px;font-size:14px;z-index:40}.fade-enter-active[data-v-efc1f1d3],.fade-leave-active[data-v-efc1f1d3]{transition:opacity .25s}.fade-enter-from[data-v-efc1f1d3],.fade-leave-to[data-v-efc1f1d3]{opacity:0}@media(max-width:960px){.cols[data-v-efc1f1d3]{grid-template-columns:1fr}}:root{--bg: #f5f7fb;--card: #ffffff;--border: #e8ebf0;--ink: #1f2937;--ink-2: #4b5563;--muted: #8a94a6;--brand-red: #e30613;--primary: #2563ff;--primary-strong: #1a4b96;--primary-soft: #eff6ff;--hero: linear-gradient(120deg, #0b1e3d 0%, #123564 52%, #1a4b96 100%);--icon-navy: linear-gradient(140deg, #1e3a8a 0%, #2563ff 100%);--ok: #22c55e;--warn: #f59e0b;--down: #ef4444;--page-max: 1440px;--page-pad: 64px;--rail-w: 390px;--col-gap: 40px;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .06);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.icon-tile{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;border-radius:10px;flex-shrink:0;letter-spacing:.3px}
