.toast-stack[data-v-8f37367a]{position:fixed;top:18px;right:18px;z-index:var(--z-toast);display:grid;gap:var(--space-1)}.toast[data-v-8f37367a]{min-width:220px;max-width:360px;padding:var(--space-1-5) var(--space-2);border-radius:var(--radius-control);color:var(--color-white);background:var(--color-danger);box-shadow:var(--shadow-popover);font-size:var(--text-sm);font-weight:600}.is-success[data-v-8f37367a]{background:var(--color-success)}*{box-sizing:border-box}body{margin:0;min-width:1080px;color:var(--color-text);background:var(--color-page);font-family:var(--font-sans)}html,body,#app{min-height:100%}button,input,select,textarea{font:inherit}.console[data-v-e621eda8]{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar[data-v-e621eda8]{display:flex;flex-direction:column;padding:18px 0;color:var(--color-white);background:var(--color-dark-page)}.is-ops .sidebar[data-v-e621eda8]{background:var(--color-dark-page-alt)}.is-admin .sidebar[data-v-e621eda8]{background:var(--color-dark-page-admin)}.brand[data-v-e621eda8]{display:flex;align-items:center;gap:10px;padding:0 18px 20px}.brand-mark[data-v-e621eda8]{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:var(--brand-grad);font-size:15px;font-weight:700}.brand-text[data-v-e621eda8]{display:flex;flex-direction:column}.brand-name[data-v-e621eda8]{font-size:14px;font-weight:600}.brand-sub[data-v-e621eda8]{margin-top:2px;color:var(--color-dark-muted);font-size:10px;font-weight:500}.nav[data-v-e621eda8]{display:grid;gap:0}.nav-section[data-v-e621eda8]{padding:6px 18px 8px;color:var(--color-muted);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.server-section[data-v-e621eda8]{padding-top:18px}.nav-item[data-v-e621eda8]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 18px;border-left:3px solid transparent;color:var(--color-muted);font-size:14px;font-weight:400}.nav-child[data-v-e621eda8]{padding:9px 18px 9px 30px;font-size:13px}.nav-item[data-v-e621eda8]:hover{color:var(--color-white);background:#ffffff0d}.nav-item.router-link-exact-active[data-v-e621eda8]{border-left-color:var(--accent);background:var(--accent-soft);color:var(--color-white);font-weight:600}.server-switcher[data-v-e621eda8]{position:relative;margin:4px 18px 10px;padding:10px 12px;border-radius:6px;background:var(--color-dark-card);cursor:pointer}.server-switcher[data-v-e621eda8],.server-switcher span[data-v-e621eda8]{display:flex;align-items:center;justify-content:space-between;gap:8px}.server-switcher span[data-v-e621eda8]{min-width:0;flex-direction:column;align-items:flex-start}.server-switcher strong[data-v-e621eda8]{max-width:116px;overflow:hidden;color:var(--color-white);font-size:12px;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.server-switcher small[data-v-e621eda8]{color:var(--color-dark-muted);font-size:10px}.server-switcher button[data-v-e621eda8]{border:0;background:transparent;color:var(--color-primary-hover);font-size:10px;font-weight:600;cursor:pointer}.switcher-popover[data-v-e621eda8]{position:absolute;z-index:20;top:calc(100% + 8px);left:0;width:280px;padding:10px;border:1px solid var(--color-dark-line);border-radius:8px;background:var(--color-dark-card-soft);box-shadow:0 12px 28px #00000042}.switcher-search[data-v-e621eda8]{width:100%;margin-bottom:8px;padding:8px 10px;border:1px solid var(--color-dark-line);border-radius:6px;background:var(--color-dark-page);color:var(--color-white);outline:none}.switcher-row[data-v-e621eda8]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 8px;border:0;border-radius:6px;background:transparent;cursor:pointer}.switcher-row[data-v-e621eda8]:hover,.switcher-row.active[data-v-e621eda8]{background:#7c3aed2e}.switcher-row em[data-v-e621eda8]{font-style:normal;font-size:11px;font-weight:600}.online[data-v-e621eda8]{color:var(--color-success)}.offline[data-v-e621eda8]{color:var(--color-muted)}.badge[data-v-e621eda8]{padding:2px 6px;border-radius:9px;color:var(--color-white);background:var(--color-pending);font-size:11px;font-weight:600;line-height:1}.user[data-v-e621eda8]{margin-top:auto;padding:14px 16px 0}.user-card[data-v-e621eda8]{padding:12px;border-radius:7px;background:var(--card-bg)}.user-name[data-v-e621eda8]{color:var(--color-white);font-size:13px;font-weight:600;line-height:1.3}.user-sub[data-v-e621eda8]{margin-top:3px;color:var(--color-dark-muted);font-size:11px;font-weight:500;line-height:1.4}.user-actions[data-v-e621eda8]{display:flex;gap:12px;margin-top:9px}.switch[data-v-e621eda8],.logout[data-v-e621eda8]{color:var(--switch-color);font-size:11px;font-weight:600;cursor:pointer}.logout[data-v-e621eda8]{color:var(--color-weak)}.workspace[data-v-e621eda8]{min-width:0;background:var(--color-page)}.topbar[data-v-e621eda8]{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 24px;border-bottom:1px solid var(--color-line);background:var(--color-white)}.topbar-title[data-v-e621eda8]{display:flex;align-items:baseline}.page-title[data-v-e621eda8]{color:var(--color-text);font-size:17px;font-weight:600}.page-meta[data-v-e621eda8]{margin-left:12px;color:var(--color-weak);font-size:13px;font-weight:400}.actions[data-v-e621eda8]{display:flex;align-items:center;gap:14px}.global-search[data-v-e621eda8]{padding:7px 12px;border-radius:6px;background:var(--color-surface-subtle);color:var(--color-weak);font-size:13px}.role-pill[data-v-e621eda8]{display:inline-flex;align-items:center;padding:5px 11px;border-radius:6px;background:color-mix(in srgb,var(--accent) 12%,var(--color-white));color:var(--accent);font-size:12px;font-weight:600}.avatar[data-v-e621eda8]{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-ops-hover),var(--color-ops));color:var(--color-white);font-size:12px;font-weight:600}.content[data-v-e621eda8]{padding:22px 24px}.context-header[data-v-e621eda8]{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:14px 18px;border:1px solid var(--color-line);border-radius:8px;background:var(--color-white)}.context-header div[data-v-e621eda8]{flex:1;min-width:0}.context-header h1[data-v-e621eda8]{margin:0 0 4px;color:var(--color-text);font-size:18px;font-weight:700}.context-header p[data-v-e621eda8]{margin:0;color:var(--color-weak);font-size:12px}.status-pill[data-v-e621eda8]{display:inline-flex;align-items:center;padding:5px 10px;border-radius:5px;font-size:12px;font-weight:600}.status-pill.is-active[data-v-e621eda8]{background:var(--color-success-bg);color:var(--color-success)}.status-pill.is-offline[data-v-e621eda8]{background:var(--color-line-soft);color:var(--color-muted)}.context-switch[data-v-e621eda8]{padding:7px 12px;border:1px solid var(--color-line-strong);border-radius:6px;background:var(--color-white);color:var(--color-text);font-size:12px;font-weight:600;cursor:pointer}.mono[data-v-e621eda8]{font-family:IBM Plex Mono,monospace}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}:root{--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--color-white: #ffffff;--color-surface-muted: #fafafc;--color-surface-subtle: #f6f6f9;--color-primary: #6d28d9;--color-primary-hover: #7c3aed;--color-primary-active: #5b21b6;--color-primary-tint: #f3eefe;--color-primary-line: #e5dafb;--color-ops: #0891b2;--color-ops-hover: #0e7490;--color-admin: #4f46e5;--color-admin-hover: #4338ca;--color-admin-tint: #eef2ff;--color-text: #1a1a22;--color-muted: #5a5a68;--color-weak: #8a8a98;--color-line: #ececf1;--color-line-soft: #f0f0f4;--color-line-strong: #d0d0da;--color-page: #f6f6f9;--color-card: #ffffff;--color-success: #15803d;--color-success-hover: #166534;--color-success-bg: #e7f6ec;--color-success-line: #bfe8cd;--color-pending: #b45309;--color-pending-bg: #fcf1e2;--color-pending-line: #f5d6a6;--color-danger: #be123c;--color-danger-hover: #9f1239;--color-danger-bg: #fce9ee;--color-danger-tint: #fff1f4;--color-danger-line: #f6c5d0;--color-info: #0e7490;--color-info-bg: #e0f2f7;--color-info-line: #b6e0ea;--color-neutral-bg: #f0f0f4;--color-dark-page: #1c1b22;--color-dark-page-alt: #16161c;--color-dark-page-admin: #15151b;--color-dark-card: #2a2933;--color-dark-card-soft: #24232b;--color-dark-line: #3a3944;--color-dark-text: #e4e4ec;--color-dark-muted: #6e6e7e;--color-dark-weak: #4a4a56;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 28px;--space-0-5: 4px;--space-1: 8px;--space-1-5: 12px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 40px;--space-6: 48px;--radius-card: 8px;--radius-control: 6px;--radius-pill: 999px;--shadow-card: 0 1px 3px rgba(20, 20, 40, .08);--shadow-panel: 0 16px 48px rgba(26, 26, 34, .08);--shadow-popover: 0 18px 60px rgba(26, 26, 34, .14);--z-toast: 1200;--control-sm: 32px;--control-md: 40px;--control-lg: 48px;--focus-ring: 0 0 0 3px rgba(79, 70, 229, .16);--motion-micro: .12s;--motion-standard: .18s;--motion-page: .24s;--motion-emphasis: .32s;--ease-out: cubic-bezier(.2, 0, 0, 1);--spring-soft: cubic-bezier(.34, 1.3, .64, 1)}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.panel{background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-card)}[data-motion]{will-change:opacity,transform}.m-fadeIn{animation:motion-fade-in var(--motion-standard) var(--ease-out) both}.m-slideUp{animation:motion-slide-up var(--motion-page) var(--ease-out) both}.m-rowInsert{animation:motion-row-insert .9s var(--ease-out) both}.m-dangerShake{animation:motion-danger-shake var(--motion-emphasis) linear both}.m-checkExpand{animation:motion-check-expand var(--motion-standard) var(--spring-soft) both}.m-toastIn{animation:motion-toast-in var(--motion-standard) var(--ease-out) both}.m-statusPulse{animation:motion-status-pulse 2.4s var(--ease-out) infinite}@keyframes motion-fade-in{0%{opacity:0}to{opacity:1}}@keyframes motion-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes motion-row-insert{0%{background:var(--color-admin-tint);opacity:0;transform:translateY(-8px)}20%{opacity:1}to{background:transparent;opacity:1;transform:translateY(0)}}@keyframes motion-danger-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-3px)}}@keyframes motion-check-expand{0%{opacity:0;transform:scale(.92)}70%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes motion-toast-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translateY(0)}}@keyframes motion-status-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-success) 26%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--color-success) 0%,transparent)}}@media(prefers-reduced-motion:reduce){[data-motion],.m-fadeIn,.m-slideUp,.m-rowInsert,.m-dangerShake,.m-checkExpand,.m-toastIn,.m-statusPulse{animation:motion-fade-in var(--motion-micro) var(--ease-out) both;transform:none;transition-property:opacity,color}}
