:root{--c-canvas:#eef2f9;--c-surface:#ffffff;--c-surface2:#f3f6fc;--c-border:#e4e9f3;--c-border2:#d4dcec;--c-text:#152038;--c-text2:#39435e;--c-muted:#76819a;--c-faint:#a6b0c6;--c-primary:#2f6bf0;--c-primaryHover:#2159d6;--c-primarySoft:#e6efff;--c-primaryText:#1f54c4;--c-onPrimary:#ffffff;--c-sidebar:#ffffff;--c-sidebarBorder:#e9edf6;--c-navIdle:#5d6880;--c-navHover:#eef3fd;--c-header:#ffffff;--c-okBg:#e3f6ee;--c-okFg:#0a7d52;--c-okDot:#12a06a;--c-warnBg:#fff1da;--c-warnFg:#b06d0a;--c-warnDot:#f59009;--c-offBg:#eef0f4;--c-offFg:#697384;--c-offDot:#a3acba;--c-dangerBg:#fde9e6;--c-dangerFg:#d23f2d;--c-brandBg:#e6efff;--c-brandFg:#1f54c4;--c-mono:#4a5b7a;--c-monoBg:#eef2fb;--c-pos:#12a06a;--c-neg:#dc4a3d;--c-shadow:0 6px 18px rgba(30,50,90,.08);--c-assistant:#ffffff;--c-userBubble:#2f6bf0;--c-accent:#f97316;--c-accentHover:#ea6a0c;--c-accentSoft:#fff1e3;--c-accentText:#cf6310;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--el-color-primary: #2f6bf0;--el-color-primary-light-3: #6d97f5;--el-color-primary-light-5: #97b5f8;--el-color-primary-light-7: #c1d3fb;--el-color-primary-light-8: #d5e1fc;--el-color-primary-light-9: #e6efff;--el-color-primary-dark-2: #2159d6;--el-border-radius-base: 9px;--el-border-radius-small: 7px;--el-font-size-base: 14px;--el-font-family: var(--font-sans);--el-color-success: #12a06a;--el-color-warning: #f59009;--el-color-danger: #d23f2d;--el-color-error: #d23f2d;--el-color-info: var(--c-muted);--el-bg-color: var(--c-surface);--el-bg-color-overlay: var(--c-surface);--el-bg-color-page: var(--c-canvas);--el-fill-color: var(--c-surface2);--el-fill-color-light: var(--c-surface2);--el-fill-color-lighter: var(--c-surface2);--el-fill-color-blank: var(--c-surface);--el-fill-color-dark: var(--c-surface2);--el-text-color-primary: var(--c-text);--el-text-color-regular: var(--c-text2);--el-text-color-secondary: var(--c-muted);--el-text-color-placeholder: var(--c-faint);--el-text-color-disabled: var(--c-faint);--el-border-color: var(--c-border2);--el-border-color-light: var(--c-border);--el-border-color-lighter: var(--c-border);--el-border-color-extra-light: var(--c-border);--el-border-color-dark: var(--c-border2);--el-border-color-hover: var(--c-faint)}html.dark{--c-canvas:#0c1320;--c-surface:#121b2c;--c-surface2:#182336;--c-border:#22304a;--c-border2:#2c3c5a;--c-text:#eef3fb;--c-text2:#c2cde0;--c-muted:#8593ad;--c-faint:#5d6c88;--c-primary:#4d86f7;--c-primaryHover:#5f93f9;--c-primarySoft:rgba(77,134,247,.16);--c-primaryText:#9cc0fb;--c-onPrimary:#ffffff;--c-sidebar:#0e1626;--c-sidebarBorder:#1c2740;--c-navIdle:#8593ad;--c-navHover:#182336;--c-header:#0e1626;--c-okBg:rgba(18,160,106,.18);--c-okFg:#43c891;--c-okDot:#12a06a;--c-warnBg:rgba(245,144,9,.18);--c-warnFg:#e6a849;--c-warnDot:#f59009;--c-offBg:rgba(150,160,180,.16);--c-offFg:#9aa6ba;--c-offDot:#69768e;--c-dangerBg:rgba(226,85,63,.2);--c-dangerFg:#ef8273;--c-brandBg:rgba(77,134,247,.16);--c-brandFg:#9cc0fb;--c-mono:#aebbd2;--c-monoBg:#182336;--c-pos:#2bb583;--c-neg:#f0735c;--c-shadow:0 6px 20px rgba(0,0,0,.45);--c-assistant:#182336;--c-userBubble:#2f6bf0;--c-accent:#fb8c3c;--c-accentHover:#fc9a52;--c-accentSoft:rgba(251,140,60,.16);--c-accentText:#fbb072;--el-color-primary: #4d86f7;--el-color-primary-light-3: #3f6ecb;--el-color-primary-light-5: #3358a3;--el-color-primary-light-7: #26437c;--el-color-primary-light-8: #1f3663;--el-color-primary-light-9: rgba(77,134,247,.16);--el-color-primary-dark-2: #5f93f9}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-sans);background:var(--c-canvas);color:var(--c-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,optgroup,select,textarea{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#5a6e964d;border-radius:6px;border:2px solid transparent;background-clip:padding-box}@keyframes nxblink{0%,to{opacity:1}50%{opacity:.25}}@keyframes nxshimmer{0%{background-position:-360px 0}to{background-position:360px 0}}.app-shell{height:100vh}.app-aside{width:236px;flex:none;background:var(--c-sidebar);border-right:1px solid var(--c-sidebarBorder);display:flex;flex-direction:column;overflow:hidden}.app-brand{height:60px;flex:none;display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid var(--c-sidebarBorder)}.app-brand .logo{width:28px;height:28px;border-radius:9px;background:var(--c-accent);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:15px;flex:none;box-shadow:0 2px 8px #f9731659}.app-brand .brand-name{font-weight:800;font-size:16px;letter-spacing:-.01em;color:var(--c-text)}.app-brand .brand-tag{font-size:9.5px;color:var(--c-primaryText);background:var(--c-primarySoft);font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:6px}.app-brand .logo.has-img,.login-aside .brand-row .logo.has-img{background:transparent;box-shadow:none}.app-brand .logo img,.login-aside .brand-row .logo img{width:100%;height:100%;object-fit:contain;display:block;border-radius:inherit}.app-nav{flex:1;padding:6px 11px 10px;display:flex;flex-direction:column;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:9px;color:var(--c-navIdle);font-size:13.5px;font-weight:500;cursor:pointer;text-decoration:none;margin-bottom:2px;transition:background .12s,color .12s}.nav-item:hover{background:var(--c-navHover)}.nav-item .nav-ic{flex:none}.nav-item .nav-label{flex:1}.nav-item.is-active{color:var(--c-primaryText);background:var(--c-primarySoft);font-weight:700;box-shadow:inset 3px 0 0 var(--c-accent)}.nav-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--c-accent);color:#fff;font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.nav-group-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-faint);padding:0 12px;margin:16px 0 7px}.app-nav>.nav-group-label:first-child{margin-top:8px}.balance-card{margin:0 12px 10px;padding:14px 15px;border:1px solid var(--c-border);border-radius:13px;background:var(--c-surface2)}.balance-card .bc-head{display:flex;align-items:center;justify-content:space-between}.balance-card .bc-label{font-size:11px;color:var(--c-muted);font-weight:600}.balance-card .bc-quota{font-size:10px;color:var(--c-muted);background:var(--c-surface);border:1px solid var(--c-border);padding:1px 6px;border-radius:5px}.balance-card .bc-value{font-size:21px;font-weight:800;color:var(--c-accentText);margin-top:6px;letter-spacing:-.02em}.balance-card .bc-bar{height:6px;border-radius:4px;background:var(--c-offBg);margin-top:10px;overflow:hidden}.balance-card .bc-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--c-accent),var(--c-accentHover))}.balance-card .bc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:7px;font-size:10.5px;color:var(--c-muted)}.balance-card .bc-btn{margin-top:12px;text-align:center;padding:8px 0;border-radius:9px;background:var(--c-primary);color:#fff;font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #2f6bf047}.balance-card .bc-btn:hover{background:var(--c-primaryHover)}.app-header{height:60px;flex:none;background:var(--c-header);border-bottom:1px solid var(--c-border);display:flex;align-items:center;padding:0 24px;gap:16px}.app-header .page-title{font-size:16px;font-weight:800;letter-spacing:-.01em;color:var(--c-text)}.app-header .page-sub{font-size:12px;color:var(--c-muted);margin-top:1px}.head-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.ghost-btn{height:34px;padding:0 13px;border:1px solid var(--c-border2);background:var(--c-surface);border-radius:9px;color:var(--c-text2);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.ghost-btn:hover{border-color:var(--c-primary);color:var(--c-primaryText)}.ghost-btn .el-icon{font-size:14px}.ghost-btn .toggle-dot{width:13px;height:13px;border-radius:50%;background:var(--c-primary);flex:none}.user-chip{display:flex;align-items:center;gap:9px;padding-left:6px;cursor:pointer;outline:none}.user-chip .avatar{width:30px;height:30px;border-radius:9px;background:var(--c-primary);color:var(--c-onPrimary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.user-chip .u-name{font-size:13px;color:var(--c-text2);font-weight:500}.app-main{padding:24px;background:var(--c-canvas);overflow-y:auto}.page-stack{display:flex;flex-direction:column;gap:18px}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:13px}.card-pad{padding:18px 20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 12px}.card-title{font-size:14px;font-weight:700;color:var(--c-text)}.card-sub{font-size:11.5px;color:var(--c-muted)}.card-hint{font-size:13px;color:var(--c-text2);line-height:1.7}.muted{color:var(--c-muted)}.faint{color:var(--c-faint)}.mono{font-family:var(--font-mono)}.mono-chip{font-family:var(--font-mono);background:var(--c-monoBg);color:var(--c-mono);padding:3px 8px;border-radius:6px}.click-copy{cursor:pointer}.click-copy:hover{color:var(--c-primaryText)}b,strong{color:var(--c-text)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:13px;padding:17px 19px}.stat-card .label{font-size:12.5px;color:var(--c-muted);font-weight:600}.stat-card .value{font-size:26px;font-weight:800;margin-top:8px;letter-spacing:-.02em;font-family:var(--font-mono);color:var(--c-text)}.stat-card .value.primary{color:var(--c-primary)}.stat-card .sub{font-size:11.5px;color:var(--c-muted);font-weight:600;margin-top:6px}.tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:7px}.tag .dot{width:5px;height:5px;border-radius:50%}.tag.ok{background:var(--c-okBg);color:var(--c-okFg)}.tag.ok .dot{background:var(--c-okDot)}.tag.warn{background:var(--c-warnBg);color:var(--c-warnFg)}.tag.warn .dot{background:var(--c-warnDot)}.tag.danger{background:var(--c-dangerBg);color:var(--c-dangerFg)}.tag.danger .dot{background:var(--c-dangerFg)}.tag.off{background:var(--c-offBg);color:var(--c-offFg)}.tag.off .dot{background:var(--c-offDot)}.info-bar{font-size:13px;color:var(--c-text2);line-height:1.7}.code-block{margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.7;background:var(--c-monoBg);color:var(--c-text2);padding:16px 18px;border-radius:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.el-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:13px}.el-table{--el-table-border-color: var(--c-border);--el-table-header-bg-color: var(--c-surface2);--el-table-row-hover-bg-color: var(--c-surface2);--el-table-bg-color: var(--c-surface);--el-table-tr-bg-color: var(--c-surface);background:var(--c-surface)}.el-table th.el-table__cell{color:var(--c-muted);font-weight:700;font-size:11px;letter-spacing:.03em;background:var(--c-surface2)}.el-table td.el-table__cell{font-size:12.5px}.el-segmented{--el-segmented-bg-color: var(--c-surface2);--el-segmented-item-selected-bg-color: var(--c-surface);--el-segmented-item-selected-color: var(--c-text);--el-segmented-color: var(--c-muted);border:1px solid var(--c-border);border-radius:9px}.el-button{font-weight:600}.login-page{height:100vh;display:flex}.login-aside{flex:0 0 46%;background:linear-gradient(158deg,#1e40af,#2f6bf0 52%,#1d4ed8);color:#fff;padding:54px 52px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-aside:before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-160px;top:-150px;background:#ffffff1a}.login-aside:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;left:-110px;bottom:-110px;background:#ffffff12}.login-aside>*{position:relative;z-index:1}.login-aside .brand-row{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:800}.login-aside .brand-row .logo{width:36px;height:36px;border-radius:10px;background:#ffffff2e;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:800}.login-hero h2{font-size:31px;line-height:1.3;margin:0 0 16px;font-weight:800;letter-spacing:-.025em}.login-hero p{font-size:14.5px;line-height:1.7;color:#ffffffd9;margin:0 0 30px;max-width:400px}.login-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.login-features li{display:flex;align-items:center;gap:12px;font-size:14px;color:#fffffff2}.login-features .dot{width:30px;height:30px;border-radius:9px;background:#ffffff29;display:inline-flex;align-items:center;justify-content:center;flex:none}.login-foot{font-size:12px;color:#fff9}.login-main{flex:1;display:flex;align-items:center;justify-content:center;background:var(--c-surface);padding:40px}.login-form{width:368px;max-width:100%}.login-form h1{font-size:25px;margin:0 0 6px;font-weight:800;letter-spacing:-.02em;color:var(--c-text)}.login-form .sub{color:var(--c-muted);margin:0 0 22px;font-size:14px}.login-form .el-segmented{margin-bottom:22px;width:100%}@media(max-width:880px){.login-aside{display:none}.login-main{background:var(--c-canvas)}}.flex-wrap{display:flex;gap:8px;flex-wrap:wrap}.page-hint{color:var(--c-muted);font-size:13px;margin:0;line-height:1.7}
