:root{--sans:"Noto Sans SC", -apple-system, BlinkMacSystemFont, "Microsoft YaHei", "PingFang SC", "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, "Cascadia Code", Consolas, monospace;--brand:#6c5ce7;--brand-2:#a855f7;--brand-grad:linear-gradient(135deg, #6c5ce7 0%, #a855f7 100%);--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-card:0 1px 3px #0f172a0d, 0 6px 20px #0f172a0d;--shadow-lift:0 10px 30px #0f172a1f, 0 4px 10px #0f172a0d;--shadow-pop:0 20px 60px #0f172a2e, 0 8px 20px #0f172a1a;--glass-bg:#fff9;--glass-bg-strong:#ffffffd1;--glass-border:#ffffffb8}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f6f6fb;background-image:radial-gradient(1100px 620px at 12% -5%,#6c5ce71a,#0000 60%),radial-gradient(900px 520px at 105% 0,#a855f71a,#0000 55%),radial-gradient(820px 520px at 50% 115%,#3b82f60f,#0000 55%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:fixed;background-origin:padding-box;background-clip:border-box;margin:0;font-size:14px;line-height:1.5}[data-theme=dark] body{background-color:#0d0d1a;background-image:radial-gradient(1100px 620px at 12% -5%,#6c5ce729,#0000 60%),radial-gradient(900px 520px at 105% 0,#a855f724,#0000 55%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:fixed;background-origin:padding-box;background-clip:border-box}#root{min-height:100vh}.app-layout{background:0 0!important}.app-sider{-webkit-backdrop-filter:blur(14px);height:100vh;position:sticky;top:0;background:var(--glass-bg)!important;border-right:1px solid var(--glass-border)!important}[data-theme=dark] .app-sider{background:#1616289e!important;border-right-color:#ffffff14!important}.app-sider .ant-layout-sider-children{flex-direction:column;display:flex}.app-sider .ant-menu{flex:1;padding:4px 0 20px;overflow:hidden auto;background:0 0!important;border-inline-end:none!important}.app-logo{flex-shrink:0;align-items:center;gap:10px;height:72px;padding:0 16px;display:flex}.app-logo-badge{background:var(--brand-grad);color:#fff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:19px;display:flex;box-shadow:0 6px 18px #6c5ce766}.app-logo-text{min-width:0}.app-logo-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;line-height:1.25;overflow:hidden}.app-logo-sub{opacity:.55;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.app-sider .ant-menu-inline .ant-menu-submenu-title{letter-spacing:.4px;opacity:.7;font-size:12px;font-weight:600}.app-sider .ant-menu-inline .ant-menu-item{border-radius:10px;width:calc(100% - 16px);height:40px;margin-inline:8px;line-height:40px}.app-sider .ant-menu-inline .ant-menu-item-selected{background:var(--brand-grad)!important;color:#fff!important;box-shadow:0 6px 18px #6c5ce759!important}.app-sider .ant-menu-inline .ant-menu-item-selected .anticon{color:#fff!important}.app-header{-webkit-backdrop-filter:blur(12px);z-index:10;position:sticky;top:0;background:var(--glass-bg-strong)!important;border-bottom:1px solid var(--glass-border)!important}[data-theme=dark] .app-header{background:#161628b3!important;border-bottom-color:#ffffff14!important}.app-header-btn:hover{color:var(--brand)!important;background:#6c5ce714!important}.app-breadcrumb .ant-breadcrumb-separator{color:#6c5ce759}.app-breadcrumb .ant-breadcrumb-link{font-size:13px}.app-breadcrumb .ant-breadcrumb-item:last-child .ant-breadcrumb-link{color:var(--brand);font-weight:600}.app-user-card{border-radius:12px;padding:4px 8px;transition:background .2s}.app-user-card:hover{background:#6c5ce712}.app-user-avatar{background:var(--brand-grad);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:flex;box-shadow:0 4px 12px #6c5ce759}.app-user-name{font-size:13px;font-weight:600}.app-user-role{opacity:.6;margin-top:1px;font-size:11px}.app-content{background:0 0!important}@keyframes page-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-fade{animation:.28s ease-out page-fade-in}.ant-card{box-shadow:var(--shadow-card)!important}.card-zoom{cursor:pointer;transition:transform .3s,box-shadow .3s}.card-zoom:hover{transform:scale(1.03);box-shadow:var(--shadow-lift)!important}.card-zoom.expanded{z-index:10;position:relative;transform:scale(1.06);box-shadow:var(--shadow-pop)!important}.ant-table-thead>tr>th{letter-spacing:.2px;font-weight:600}.ant-table-tbody>tr.ant-table-row:hover>td{background:#6c5ce70a!important}.ant-statistic-content,.ant-table-cell,.ant-statistic-content-value{font-variant-numeric:tabular-nums}.ant-menu-light .ant-menu-item:hover{background:#6c5ce70f!important}.pva-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.pva-page-header-title{letter-spacing:.3px;background:linear-gradient(120deg,#6c5ce7 15%,#a855f7 60%,#8b5cf6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800;line-height:1.3}.pva-page-header-sub{color:#94a3b8;margin-top:6px;font-size:13px}[data-theme=dark] .pva-page-header-sub{color:#ffffff80}.pva-page-header-extra{align-items:center;gap:8px;padding-bottom:2px;display:flex}.pva-stat-card{border-radius:12px;overflow:hidden}.pva-stat-card .ant-card-body{padding:20px}.pva-stat-card-head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.pva-stat-card-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex;box-shadow:0 6px 16px #0f172a24}.pva-stat-card-title{color:#94a3b8;font-size:13px}[data-theme=dark] .pva-stat-card-title{color:#ffffff8c}.pva-stat-card-value{font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1.1}.pva-stat-card-trend{align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.pva-stat-card-trend-label{color:#94a3b8}.pva-table .ant-table{border-radius:12px;overflow:hidden}.pva-table .ant-table-tbody>tr:nth-child(2n)>td{background:#6c5ce705}@media (width<=768px){.ant-table{font-size:12px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:6px 8px!important}.ant-card-body{padding:12px!important}.ant-card{font-size:12px}.ant-statistic-title{font-size:12px!important}.ant-statistic-content,h1.ant-typography{font-size:20px!important}h2.ant-typography{font-size:18px!important}h3.ant-typography{font-size:16px!important}h4.ant-typography{font-size:14px!important}.ant-space{gap:6px!important}.ant-modal{max-width:94vw;margin:10px auto}.ant-modal-body{padding:16px!important}.ant-breadcrumb{font-size:12px}.ant-tag{padding:0 6px!important;font-size:11px!important;line-height:18px!important}.ant-btn{height:30px;padding:4px 10px;font-size:12px}.ant-btn-sm{height:24px;padding:0 6px;font-size:11px}.ant-tabs-tab{font-size:13px;padding:6px 0!important}.ant-tabs-nav{margin-bottom:8px!important}.ant-radio-button-wrapper{height:30px;padding:0 10px;font-size:12px;line-height:30px}.ant-radio-wrapper,.ant-checkbox-wrapper,.ant-picker{font-size:12px}.ant-progress-text{font-size:12px!important}}@media (width<=480px){.ant-table{font-size:11px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:4px 6px!important}.ant-card-body{padding:8px!important}.ant-btn{height:26px;padding:2px 8px;font-size:11px}.ant-space{gap:4px!important}.ant-modal-body{padding:12px!important}}.ant-table-wrapper{overflow-x:auto}[data-theme=dark]{--shadow-card:0 1px 3px #0000006b, 0 6px 20px #00000052;--shadow-lift:0 10px 30px #00000075, 0 4px 10px #0000004d;--shadow-pop:0 20px 60px #0000008c, 0 8px 20px #0000006b}[data-theme=dark] .pva-stat-card-icon{box-shadow:0 6px 16px #0006}[data-theme=dark] .pva-table .ant-table-tbody>tr:nth-child(2n)>td{background:#ffffff06}[data-theme=dark] .ant-table-tbody>tr.ant-table-row:hover>td{background:#6c5ce724!important}[data-theme=dark] .ant-card{border-color:#ffffff14!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#6c5ce747 padding-box content-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#6c5ce775 padding-box content-box;border:2px solid #0000}::-webkit-scrollbar-track{background:0 0}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff2e padding-box content-box;border:2px solid #0000}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff52 padding-box content-box;border:2px solid #0000}.ant-btn{transition:all .2s!important}.ant-tag{transition:all .2s}.ant-menu-item{transition:all .2s!important}.ant-table-tbody>tr>td{transition:background .2s}.ant-segmented-item,.ant-radio-button-wrapper,.ant-tabs-tab{transition:all .2s!important}:root{--panel-muted:#fafafa;--panel-subtle:#f5f5f5;--panel-white:#fff;--panel-border:#0f172a14}[data-theme=dark]{--panel-muted:#ffffff0b;--panel-subtle:#ffffff0f;--panel-white:#ffffff12;--panel-border:#ffffff14}.panel-muted{background:var(--panel-muted)}.panel-subtle{background:var(--panel-subtle)}.panel-white{background:var(--panel-white)}.mobile-menu-btn{display:none!important}@media (width<=768px){.mobile-menu-btn{display:inline-flex!important}.desktop-only{display:none!important}}@media (width>=769px){.mobile-only{display:none!important}}.app-topbar{background:var(--brand-grad);color:#fff;z-index:100;justify-content:space-between;align-items:center;height:60px;padding:0 20px;display:flex;position:sticky;top:0;box-shadow:0 2px 14px #6c5ce759}.app-topbar .app-logo-badge{box-shadow:0 0 0 2px #ffffff52,0 6px 18px #6c5ce773}.app-topbar-left{align-items:center;gap:10px;min-width:0;display:flex}.app-topbar-title{min-width:0}.app-topbar-name{color:#fff;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.app-topbar-sub{color:#ffffffbf;letter-spacing:.5px;white-space:nowrap;margin-top:1px;font-size:11px}.app-topbar-right{align-items:center;gap:6px;display:flex}.app-topbar .app-header-btn{color:#fff!important}.app-topbar .app-header-btn:hover{color:#fff!important;background:#ffffff29!important}.app-topbar .app-user-card:hover{background:#ffffff24}.app-topbar .app-user-avatar{box-shadow:none;background:#ffffff38}.app-topbar .app-user-name{color:#fff!important}.app-topbar .app-user-role{color:#ffffffb3}.app-navwrap{z-index:90;background:#fff;border-bottom:1px solid #eef0f5;position:sticky;top:60px;box-shadow:0 2px 10px #0f172a0a}.app-tabnav{scrollbar-width:none;-ms-overflow-style:none;align-items:stretch;padding:0 20px;display:flex;overflow-x:auto}.app-tabnav::-webkit-scrollbar{display:none}.app-tabnav button{cursor:pointer;color:#6b7280;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:13px 18px;font-size:14px;transition:all .2s;display:flex}.app-tabnav button:hover{color:var(--brand);background:#f8f7ff}.app-tabnav button.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.app-subnav{scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:4px;padding:6px 20px 8px;display:flex;overflow-x:auto}.app-subnav::-webkit-scrollbar{display:none}.app-subnav button{cursor:pointer;color:#6b7280;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:4px 12px;font-size:12.5px;transition:all .15s}.app-subnav button:hover{color:var(--brand);background:#f5f3ff}.app-subnav button.active{color:var(--brand);background:#ede9fe;font-weight:600}[data-theme=dark] .app-navwrap{background:#17172e;border-bottom-color:#ffffff14}[data-theme=dark] .app-tabnav button,[data-theme=dark] .app-subnav button{color:#ffffff9e}[data-theme=dark] .app-tabnav button:hover{color:#a78bfa;background:#6c5ce71f}[data-theme=dark] .app-tabnav button.active{color:#a78bfa;border-bottom-color:#a78bfa}[data-theme=dark] .app-subnav button:hover{color:#a78bfa;background:#6c5ce729}[data-theme=dark] .app-subnav button.active{color:#a78bfa;background:#6c5ce73d}.app-content{width:100%;max-width:1400px;margin:0 auto;padding:24px 24px 48px;background:0 0!important}@media (width<=768px){.app-topbar{height:54px;padding:0 12px}.app-topbar-name{font-size:14px}.app-topbar-right{gap:2px}.app-navwrap{top:54px}.app-tabnav{padding:0 12px}.app-tabnav button{padding:11px 14px;font-size:13px}.app-subnav{padding:5px 12px 7px}.app-content{padding:16px 12px 40px}}.ant-segmented{background:#0f172a0f;border-radius:999px;padding:3px}.ant-segmented .ant-segmented-item{color:#64748b;border-radius:999px;font-weight:500;transition:color .2s,background .2s}.ant-segmented .ant-segmented-item:hover{color:var(--brand)}.ant-segmented .ant-segmented-item-selected{color:var(--brand);font-weight:600}.ant-segmented .ant-segmented-thumb{background:#fff;border-radius:999px;box-shadow:0 2px 8px #0f172a29}[data-theme=dark] .ant-segmented{background:#ffffff14}[data-theme=dark] .ant-segmented .ant-segmented-item{color:#ffffff9e}[data-theme=dark] .ant-segmented .ant-segmented-item:hover{color:#a78bfa}[data-theme=dark] .ant-segmented .ant-segmented-item-selected{color:#c4b5fd}[data-theme=dark] .ant-segmented .ant-segmented-thumb{background:#2a2a4a;box-shadow:0 2px 8px #0006}.ant-tag{border-radius:6px;font-weight:500}.ant-tag-blue{color:#2563eb;background:#dbeafe;border:1px solid #bfdbfe}.ant-tag-green{color:#059669;background:#f0fdf4;border:1px solid #bbf7d0}.ant-tag-red{color:#dc2626;background:#fee2e2;border:1px solid #fecaca}.ant-tag-orange{color:#d97706;background:#fef3c7;border:1px solid #fde68a}.ant-tag-gold{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.ant-tag-purple{color:#7c3aed;background:#f5f3ff;border:1px solid #ede9fe}.ant-tag-cyan{color:#0e7490;background:#ecfeff;border:1px solid #cffafe}.ant-tag-geekblue{color:#4338ca;background:#eef2ff;border:1px solid #e0e7ff}.ant-tag-magenta{color:#be185d;background:#fdf2f8;border:1px solid #fbcfe8}.ant-tag-volcano{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.ant-tag-lime{color:#4d7c0f;background:#f7fee7;border:1px solid #d9f99d}[data-theme=dark] .ant-tag-blue{color:#93c5fd;background:#2563eb40;border-color:#2563eb73}[data-theme=dark] .ant-tag-green{color:#6ee7b7;background:#10b98133;border-color:#10b98166}[data-theme=dark] .ant-tag-red{color:#fca5a5;background:#ef444433;border-color:#ef444466}[data-theme=dark] .ant-tag-orange,[data-theme=dark] .ant-tag-gold{color:#fcd34d;background:#f59e0b33;border-color:#f59e0b66}[data-theme=dark] .ant-tag-purple{color:#c4b5fd;background:#7c3aed38;border-color:#7c3aed6b}[data-theme=dark] .ant-tag-cyan{color:#67e8f9;background:#06b6d433;border-color:#06b6d466}[data-theme=dark] .ant-tag-geekblue{color:#a5b4fc;background:#4338ca40;border-color:#4338ca73}.ant-progress-line .ant-progress-inner{background:#0f172a0f;border-radius:999px}.ant-progress-line .ant-progress-bg{border-radius:999px}[data-theme=dark] .ant-progress-line .ant-progress-inner{background:#ffffff14}.pva-stat-card .ant-card-body{text-align:center;padding:20px}.pva-stat-card-inner{flex-direction:column;align-items:center;display:flex}.pva-stat-card-icon{margin-bottom:12px}.pva-stat-card-title{margin-top:8px}.pva-stat-card-trend{justify-content:center}
