:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--duration-fast: .15s;--duration-base: .22s;--ease-out: cubic-bezier(.33, 1, .68, 1);--brand: #2F6BFF;--brand-2: #7A5CFF;--app-bg: #F2F4F9;--app-card: #fff;--topbar-bg: rgba(255, 255, 255, .72);--brand-glow: rgba(47, 107, 255, .16);--brand-glow-2: rgba(122, 92, 255, .12);--success: #18a058;--success-soft: rgba(24, 160, 88, .08);--error: #d03050;--error-soft: rgba(208, 48, 80, .08);--error-line: rgba(208, 48, 80, .35);--warning: #f0a020;--warning-text: #b97a06;--warning-soft: rgba(240, 160, 32, .1);--warning-line: rgba(240, 160, 32, .35);--info: #0EA5E9;--info-soft: rgba(14, 165, 233, .05);--info-line: rgba(14, 165, 233, .3);--border: rgba(128, 138, 155, .16);--border-2: rgba(128, 138, 155, .25);--hairline: rgba(128, 138, 155, .08);--code-bg: rgba(128, 138, 155, .1);--brand-soft: rgba(47, 107, 255, .07);--brand-line: rgba(47, 107, 255, .35);--shadow-card: rgba(20, 30, 60, .08)}html.dark{--app-bg: #101014;--app-card: #18181c;--topbar-bg: rgba(16, 16, 20, .72)}html[data-theme=charcoal-amber]{--brand: #B45309;--brand-2: #F59E0B;--app-bg: #FAFAF9;--app-card: #FFFFFF;--topbar-bg: rgba(250, 250, 249, .78);--brand-glow: rgba(180, 83, 9, .15);--brand-glow-2: rgba(217, 119, 6, .1);--border: rgba(120, 113, 108, .2);--border-2: rgba(120, 113, 108, .3);--hairline: rgba(120, 113, 108, .1);--code-bg: rgba(120, 113, 108, .08);--brand-soft: rgba(180, 83, 9, .07);--brand-line: rgba(180, 83, 9, .35);--shadow-card: rgba(68, 64, 60, .1)}html[data-theme=dark-sovereign]{--brand: #60A5FA;--brand-2: #3B82F6;--app-bg: #0A0E1A;--app-card: #131929;--topbar-bg: rgba(10, 14, 26, .78);--brand-glow: rgba(96, 165, 250, .14);--brand-glow-2: rgba(59, 130, 246, .1);--success: #36ad6a;--success-soft: rgba(54, 173, 106, .12);--error: #e8808f;--error-soft: rgba(232, 128, 143, .12);--error-line: rgba(232, 128, 143, .4);--warning: #f2c97d;--warning-text: #f2c97d;--warning-soft: rgba(242, 201, 125, .12);--warning-line: rgba(242, 201, 125, .4);--info: #70c0e8;--info-soft: rgba(112, 192, 232, .08);--info-line: rgba(112, 192, 232, .35);--border: rgba(148, 163, 184, .14);--border-2: rgba(148, 163, 184, .22);--hairline: rgba(148, 163, 184, .07);--code-bg: rgba(148, 163, 184, .1);--brand-soft: rgba(96, 165, 250, .1);--brand-line: rgba(96, 165, 250, .4);--shadow-card: rgba(0, 0, 0, .4)}html[data-theme=paper-ink]{--brand: #C2401C;--brand-2: #E86A3C;--app-bg: #F3EFE6;--app-card: #FAF8F1;--topbar-bg: rgba(243, 239, 230, .78);--brand-glow: rgba(194, 64, 28, .13);--brand-glow-2: rgba(194, 64, 28, .08);--border: rgba(120, 110, 90, .2);--border-2: rgba(120, 110, 90, .3);--hairline: rgba(120, 110, 90, .1);--code-bg: rgba(120, 110, 90, .08);--brand-soft: rgba(194, 64, 28, .07);--brand-line: rgba(194, 64, 28, .35);--shadow-card: rgba(74, 68, 55, .1)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;-webkit-font-smoothing:antialiased;background:var(--app-bg)}.n-layout,.n-layout-scroll-container{background:var(--app-bg)}.n-layout-sider,.n-layout-sider .n-layout-sider-scroll-container{background:var(--app-card)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#78829659;border-radius:4px}::-webkit-scrollbar-track{background:transparent}.page{background:var(--app-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 24px 28px;max-width:1600px;margin:0 auto}.page .panel,.page .stat-card{background:var(--app-bg)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-title{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.3}.page-desc{margin-top:4px;font-size:13px;opacity:.62;line-height:1.6}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.toolbar-right{margin-left:auto;display:flex;gap:8px;align-items:center}.stat-grid{display:grid;gap:14px;margin-bottom:16px}.stat-grid.cols-4{grid-template-columns:repeat(4,1fr)}.stat-grid.cols-3{grid-template-columns:repeat(3,1fr)}.stat-grid.cols-6{grid-template-columns:repeat(6,1fr)}@media(max-width:1100px){.stat-grid.cols-4,.stat-grid.cols-6{grid-template-columns:repeat(2,1fr)}}.stat-card{border-radius:var(--radius-md);padding:16px 18px;border:1px solid var(--border);background:var(--app-card);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out);position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--shadow-card);border-color:var(--stat-accent, var(--brand))}.stat-label{font-size:12px;opacity:.6;display:flex;align-items:center;gap:6px}.stat-value{font-size:26px;font-weight:700;letter-spacing:-.03em;margin-top:6px;font-variant-numeric:tabular-nums}.stat-extra{font-size:12px;opacity:.55;margin-top:4px}.panel{border-radius:var(--radius-md);border:1px solid var(--border);padding:16px;margin-bottom:14px;background:var(--app-card)}.panel-title{font-size:14px;font-weight:600;margin:0 0 12px;display:flex;align-items:center;gap:8px}.mono{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.n-data-table-th,.n-data-table-td{white-space:nowrap}.n-data-table-td:not(.flex-cell)>.n-data-table__ellipsis{overflow:hidden;text-overflow:ellipsis}.mobile-menu-btn{display:none}.mobile-sider-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:99;background:#0f172a52}@media(max-width:768px){.mobile-menu-btn{display:inline-flex}.n-layout-sider{position:absolute!important;z-index:100;height:100%;box-shadow:6px 0 24px #0a0f1e2e;transition:transform var(--duration-base) var(--ease-out)}.n-layout-sider--collapsed{transform:translate(-100%);box-shadow:none}.page{padding:14px 12px 18px;border-radius:var(--radius-md)}.topbar{padding:0 10px;gap:8px}.topbar .n-breadcrumb{display:none}.stat-grid,.page div[style*=grid-template-columns]{display:grid!important;grid-template-columns:1fr!important}.toolbar-right{margin-left:0}.chart-box{height:220px}}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px}.dot-green{background:#18a058;box-shadow:0 0 0 3px #18a05826}.dot-red{background:#d03050}.dot-gray{background:#909399}.dot-amber{background:#f0a020}.dot-blue{background:var(--brand)}.brand-bar{display:flex;align-items:center;gap:10px;padding:16px 18px 12px}.brand-logo{width:34px;height:34px;border-radius:10px;flex:none;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-2) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:15px;letter-spacing:-.05em;box-shadow:0 4px 12px var(--brand-glow)}.brand-text{line-height:1.2;overflow:hidden;white-space:nowrap}.brand-name{font-weight:700;font-size:15px;letter-spacing:-.02em}.brand-sub{font-size:11px;opacity:.55}.sys-status{margin:10px 14px 14px;padding:8px 12px;border-radius:8px;font-size:12px;display:flex;align-items:center;gap:8px;background:var(--success-soft);color:var(--success)}.topbar{height:56px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--topbar-bg)}.chart-box{width:100%;height:260px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1000px 500px at 85% -10%,var(--brand-glow),transparent 60%),radial-gradient(800px 400px at 0% 110%,var(--brand-glow-2),transparent 60%)}.center-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:80px 20px}.wizard-hint{font-size:12px;opacity:.6;line-height:1.7}.settle-card{border:1.5px solid var(--border-2);border-radius:12px;padding:16px;cursor:pointer;transition:all .18s cubic-bezier(.33,1,.68,1)}.settle-card:hover{border-color:var(--brand)}.settle-card.active{border-color:var(--brand);background:var(--brand-glow);box-shadow:0 4px 16px var(--brand-glow)}.fade-enter-active,.fade-leave-active{transition:opacity var(--duration-fast) var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:0s!important}}
