:root{color-scheme:dark;--c-azure-700: #2B53E6;--c-azure-600: #3D7BFF;--c-azure-500: #5E92FF;--c-azure-400: #86ACFF;--c-mint-600: #17CE96;--c-mint-500: #2BE3AC;--c-mint-400: #55EFC0;--c-coral-500: #FF6E8E;--c-coral-400: #FF93AB;--c-amber-500: #FFB938;--c-violet-500: #9D6BFF;--c-success: var(--c-mint-500);--c-warning: var(--c-amber-500);--c-danger: var(--c-coral-500);--c-info: var(--c-azure-500);--t-0: #EAF0FF;--t-1: #C2CCEA;--t-2: #8C97BE;--t-3: #5E688C;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--bg: #070B18;--bg-2: #0B0F20;--bg-tint: radial-gradient(680px 420px at 84% -8%, rgba(61, 123, 255, .22) 0%, transparent 60%), radial-gradient(560px 460px at -6% 8%, rgba(157, 107, 255, .18) 0%, transparent 55%), radial-gradient(620px 520px at 60% 116%, rgba(43, 227, 172, .15) 0%, transparent 55%), #070B18;--glass-bg: rgba(255, 255, 255, .045);--glass-bg-strong: rgba(255, 255, 255, .07);--glass-border: rgba(255, 255, 255, .1);--glass-blur: blur(18px) saturate(160%);--glass-edge: linear-gradient(150deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .04) 38%, rgba(122, 140, 255, .26));--op-mobile: #2F8BFF;--op-unicom: #FF6B6B;--op-telecom: #3B82F6;--op-cbn: #21D4A0;--grad-azure: linear-gradient(125deg, #2A52E8 0%, #4F5BFF 38%, #7C4DFF 72%, #9D4DFF 100%);--grad-mint: linear-gradient(125deg, #0EA47A, #19D69E 55%, #41E8C2);--grad-aurora: linear-gradient(120deg, #22D3EE, #6366F1 40%, #A855F7 70%, #F472B6);--grad-text: linear-gradient(115deg, #9BC0FF, #C9B5FF 55%, #8BF0D2);--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 26px;--r-pill: 999px;--sh-sm: 0 4px 14px rgba(0, 0, 0, .3);--sh-md: 0 12px 30px rgba(0, 0, 0, .4);--sh-lg: 0 22px 50px rgba(0, 0, 0, .5);--sh-azure: 0 10px 28px rgba(79, 91, 255, .45), 0 2px 10px rgba(124, 77, 255, .35);--glow-ring: 0 0 0 4px rgba(94, 146, 255, .16);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--fs-cap: 12px;--fs-sm: 13px;--fs-body: 14px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-display: 30px;--ff-base: "Outfit", "HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--ff-display: "Outfit", var(--ff-base);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .15s;--dur: .3s;--sidebar-w: 232px;--topbar-h: 64px;--z-nav: 50;--z-modal: 100;--z-toast: 1000}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--ff-base);font-size:var(--fs-body);color:var(--t-0);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app{min-height:100%;background:var(--bg-tint);background-attachment:fixed;position:relative}#app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(420px 420px at 22% 32%,rgba(99,102,241,.12),transparent 70%),radial-gradient(480px 480px at 82% 68%,rgba(34,211,238,.08),transparent 70%);animation:auroraFloat 22s ease-in-out infinite alternate}#app:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}#app>*{position:relative;z-index:1}@keyframes auroraFloat{0%{transform:translate3d(-2%,-2%,0) scale(1)}to{transform:translate3d(2%,3%,0) scale(1.06)}}@keyframes auroraPan{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}ul,ol{list-style:none}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.display{font-family:var(--ff-display)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#fff3}::-webkit-scrollbar-track{background:transparent}.card{background:linear-gradient(var(--glass-bg),var(--glass-bg)) padding-box,var(--glass-edge) border-box;border:1px solid transparent;border-radius:var(--r-lg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px #ffffff12}.text-grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;border:1px solid var(--glass-border);border-radius:var(--r-md);background:var(--glass-bg-strong);color:var(--t-0);font-weight:600;font-size:var(--fs-sm);transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast);white-space:nowrap}.btn:hover{transform:translateY(-1px);border-color:var(--line-strong)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--grad-azure);border:none;color:#fff;box-shadow:var(--sh-azure);position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:50%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.3),transparent);transform:skew(-20deg);animation:btnSheen 4s var(--ease-out) infinite}@keyframes btnSheen{0%,70%{left:-70%}to{left:140%}}.btn-primary:hover{box-shadow:0 14px 32px #4f5bff8c}.btn-danger{background:#ff6b8124;border-color:#ff6b814d;color:var(--c-coral-400)}.btn-ok{background:#21d4a024;border-color:#21d4a04d;color:var(--c-mint-400)}.btn-sm{height:30px;padding:0 11px;font-size:var(--fs-cap);border-radius:var(--r-sm)}.btn-ghost{background:transparent}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.input,.select{height:38px;padding:0 13px;width:100%;background:#ffffff0a;border:1px solid var(--glass-border);border-radius:var(--r-md);color:var(--t-0);font-size:var(--fs-sm);font-family:inherit;transition:border-color var(--dur-fast),background var(--dur-fast)}.input::placeholder{color:var(--t-3)}.input:focus,.select:focus{outline:none;border-color:var(--c-azure-500);background:#3d7bff12;box-shadow:var(--glow-ring)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238C97BE' stroke-width='2.2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:32px}.select option{background:#11162b;color:var(--t-0)}.pill{display:inline-flex;align-items:center;gap:5px;height:23px;padding:0 9px;border-radius:var(--r-pill);font-size:11.5px;font-weight:700;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill-blue{color:var(--c-azure-400);background:#2f6bff24}.pill-mint{color:var(--c-mint-400);background:#21d4a024}.pill-amber{color:var(--c-amber-500);background:#ffb02024}.pill-coral{color:var(--c-coral-400);background:#ff6b8124}.pill-gray{color:var(--t-2);background:#ffffff0f}.pill-violet{color:var(--c-violet-500);background:#a855f724}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.tbl th{text-align:left;font-weight:600;color:var(--t-3);font-size:var(--fs-cap);letter-spacing:.03em;text-transform:uppercase;padding:0 14px 12px;border-bottom:1px solid var(--line)}.tbl td{padding:14px;border-bottom:1px solid var(--line);color:var(--t-1);vertical-align:middle}.tbl tbody tr{transition:background var(--dur-fast)}.tbl tbody tr:hover{background:#ffffff06}.tbl tbody tr:last-child td{border-bottom:none}.empty,.loading{text-align:center;color:var(--t-3);padding:60px 20px;font-size:var(--fs-sm)}.toast{position:fixed;left:50%;top:28px;transform:translate(-50%);z-index:var(--z-toast);background:#0f1428eb;border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--t-0);padding:12px 20px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;box-shadow:var(--sh-md)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rise{animation:rise var(--dur) var(--ease-out) both}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur) var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
