:root{--violet: #6C5CE7;--violet-d: #4834D4;--violet-soft: #EFECFB;--violet-soft2: #F6F5FB;--mint: #00B894;--gold: #FDCB6E;--coral: #E17055;--slate: #9C99B2;--ink: #1A1730;--ink-2: #4A4763;--ink-3: #76728C;--line: #ECEAF4;--line-2: #E4E1F0;--bg: #F7F6FC;--card: #FFFFFF;--side-a: #17142B;--side-b: #221D3D;--shadow-s: 0 1px 2px rgba(26,23,48,.04), 0 1px 3px rgba(26,23,48,.06);--shadow-m: 0 4px 16px rgba(26,23,48,.07), 0 1px 3px rgba(26,23,48,.05);--shadow-l: 0 12px 34px rgba(26,23,48,.1), 0 3px 10px rgba(26,23,48,.06);--r: 14px;--r-s: 10px;--primary: #6C5CE7;--primary-light: #8B7CF6;--primary-lighter: #CFC9F5;--primary-dark: #4834D4;--primary-soft: #EFECFB;--primary-glow: rgba(108,92,231,.32);--text: #1A1730;--text-secondary: #4A4763;--text-tertiary: #76728C;--border: #ECEAF4;--border-light: #F0EEF8;--success: #00B894;--warning: #FDCB6E;--error: #E17055;--radius-lg: 14px;--radius-md: 10px;--radius-sm: 8px;--sidebar-grad: linear-gradient(180deg, #17142B 0%, #221D3D 100%);--menu-active-grad: linear-gradient(135deg, #6C5CE7 0%, #4834D4 100%)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:15px}body{font-family:Inter,PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.55;letter-spacing:.1px}#root{min-height:100vh}.page-title{font-size:23px;font-weight:700;letter-spacing:-.2px;color:var(--ink);display:flex;align-items:center;gap:11px}.page-title .pill{font-size:11px;font-weight:600;color:var(--violet);background:var(--violet-soft);padding:3px 9px;border-radius:20px;letter-spacing:.3px}.page-subtitle{color:var(--ink-3);font-size:13.5px;margin-top:6px;font-weight:450}.g-card,.ant-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-s)}.ant-card{transition:box-shadow .2s,transform .2s,border-color .2s}.ant-card:hover{box-shadow:var(--shadow-m);border-color:var(--line-2)}.stat-card,.metric-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:17px 17px 16px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:var(--shadow-s)}.stat-card:hover,.metric-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-l);border-color:var(--line-2)}.stat-icon{width:34px;height:34px;border-radius:10px;background:var(--violet-soft);color:var(--violet);display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}.stat-value{font-size:27px;font-weight:700;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.stat-label{font-size:12px;color:var(--ink-3);font-weight:600;letter-spacing:.2px}.ant-table-thead>tr>th{background:#fbfafe!important;color:var(--ink-3)!important;font-size:11.5px!important;font-weight:700!important;letter-spacing:.4px;text-transform:uppercase;border-bottom:1px solid var(--line)!important;white-space:nowrap}.ant-table-tbody>tr>td{border-bottom:1px solid #F4F2FB!important;color:var(--ink-2);vertical-align:middle}.ant-table-tbody>tr{transition:background .12s}.ant-table-tbody>tr:hover>td{background:var(--violet-soft2)!important}.g-table .ant-table-tbody>tr>td{border-bottom:1px solid #F4F2FB!important}.g-table .ant-table-tbody>tr:hover>td{background:var(--violet-soft2)!important}.table-link{color:var(--violet);font-weight:600;cursor:pointer}.table-link:hover{text-decoration:underline}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--ink-3)}.pill-st{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap}.pill-st .d{width:6px;height:6px;border-radius:50%}.st-success{background:#00b8941f;color:#07926f}.st-success .d{background:var(--mint)}.st-proc{background:#6c5ce71f;color:#5b49d6}.st-proc .d{background:var(--violet);animation:pulse 1.6s infinite}.st-warn{background:#fdcb6e29;color:#b9881f}.st-warn .d{background:var(--gold)}.st-error{background:#e170551f;color:#c85138}.st-error .d{background:var(--coral)}.st-default{background:#f1eff7;color:var(--ink-3)}.st-default .d{background:var(--slate)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.tag-success,.ant-tag-success{background:#00b8941f!important;color:#07926f!important;border:none!important}.tag-warning{background:#fdcb6e29!important;color:#b9881f!important;border:none!important}.tag-purple{background:var(--violet-soft)!important;color:var(--violet)!important;border:none!important}.tag-error{background:#e170551f!important;color:#c85138!important;border:none!important}.g-btn-primary,.ant-btn-primary{background:linear-gradient(135deg,var(--violet),var(--violet-d))!important;border-color:transparent!important;box-shadow:0 6px 16px #6c5ce752!important}.g-btn-primary:hover,.ant-btn-primary:hover{filter:brightness(1.05);box-shadow:0 8px 22px #6c5ce76b!important}.ant-btn{border-radius:10px;font-weight:600}.hero{background:linear-gradient(120deg,#1d1838,#2a2350 60%,#2f2a66);border-radius:18px;padding:26px 28px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow-l)}.hero:after{content:"";position:absolute;right:-60px;top:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(108,92,231,.55),transparent 70%)}.hero .hl{font-size:12.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#a99fe8}.hero h2{font-size:30px;font-weight:800;margin:8px 0 4px;letter-spacing:-.5px}.hero .hs{color:#c8c2e6;font-size:13.5px;font-weight:450;max-width:560px}.hero .stats{display:flex;gap:34px;margin-top:22px;flex-wrap:wrap;position:relative;z-index:2}.hero .st .v{font-size:25px;font-weight:800;font-variant-numeric:tabular-nums}.hero .st .l{font-size:12px;color:#b4aee0;font-weight:500;margin-top:2px}.hero .insight{position:absolute;right:28px;top:28px;width:300px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:16px 18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero .insight .t{font-size:12.5px;font-weight:700;color:#fff;display:flex;align-items:center;gap:7px;margin-bottom:8px}.hero .insight p{font-size:12.5px;color:#d8d3f0;line-height:1.6;font-weight:450}@media (max-width: 1100px){.hero .insight{position:static;width:auto;margin-top:20px}}.prog{height:7px;border-radius:20px;background:#f0eef8;overflow:hidden;width:100%}.prog>span{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--violet),var(--violet-d))}.desc{width:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden}.desc .r{display:flex;border-bottom:1px solid var(--line)}.desc .r:last-child{border-bottom:none}.desc .k{width:150px;flex:none;background:#fbfafe;padding:12px 16px;font-size:12.5px;font-weight:600;color:var(--ink-3)}.desc .v{padding:12px 16px;font-size:13px;color:var(--ink-2);font-weight:500;flex:1}.plan{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;position:relative;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.plan:hover{transform:translateY(-4px);box-shadow:var(--shadow-l)}.plan.feature{border-color:var(--violet);box-shadow:0 10px 30px #6c5ce72e}.plan .ribbon{position:absolute;top:16px;right:-30px;transform:rotate(45deg);background:var(--violet);color:#fff;font-size:10.5px;font-weight:700;padding:4px 34px;letter-spacing:.5px}.plan .tier{font-size:12px;font-weight:700;letter-spacing:.5px}.plan h3{font-size:19px;font-weight:700;margin:8px 0 2px}.plan .price{font-size:32px;font-weight:800;letter-spacing:-.5px;margin:14px 0 4px;font-variant-numeric:tabular-nums}.plan .price .y{font-size:13px;font-weight:600;color:var(--ink-3)}.plan .feats{margin:16px 0;font-size:13px;color:var(--ink-2);min-height:96px}.plan .feats div{padding:5px 0;display:flex;align-items:center;gap:8px}.plan .feats svg{width:15px;height:15px;stroke-width:2;color:var(--mint);flex:none}.g-alert{display:flex;gap:11px;background:var(--violet-soft2);border:1px solid var(--line-2);border-left:3px solid var(--violet);border-radius:12px;padding:13px 16px;font-size:13px;color:var(--ink-2)}.g-alert .at{font-weight:700;color:var(--ink);margin-bottom:2px}.sug{display:flex;gap:14px;padding:15px 4px;border-bottom:1px solid var(--line)}.sug:last-child{border-bottom:none}.sug .si{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;background:var(--violet-soft);color:var(--violet)}.sug .st2{font-weight:700;font-size:13.5px;color:var(--ink)}.sug .sd{font-size:13px;color:var(--ink-3);font-weight:450;margin-top:2px}.ant-layout-sider{background:var(--sidebar-grad)!important}.sidebar-brand{display:flex;align-items:center;gap:11px;height:68px;padding:20px 20px 18px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-brand-logo{width:34px;height:34px;border-radius:10px;background:var(--menu-active-grad);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:17px;flex-shrink:0;box-shadow:0 6px 16px #6c5ce773}.sidebar-brand-name{color:#fff;font-size:15.5px;font-weight:700;white-space:nowrap;letter-spacing:.3px}.sidebar-brand-tag{font-size:10.5px;color:#8c86b0;font-weight:500;white-space:nowrap}.sidebar-menu .ant-menu-item{border-radius:10px!important;margin:2px 12px!important;color:#b7b2d6!important;font-size:13.5px!important;font-weight:500;height:42px!important;line-height:42px!important}.sidebar-menu .ant-menu-item:hover{color:#fff!important;background:#ffffff0d!important}.sidebar-menu .ant-menu-item-selected{color:#fff!important;background:linear-gradient(90deg,#6c5ce738,#6c5ce70f)!important}.sidebar-menu .ant-menu-item-selected:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--violet),var(--violet-d))}.sidebar-menu .ant-menu-item .anticon{color:#b7b2d6!important;font-size:19px}.sidebar-menu .ant-menu-item-selected .anticon{color:#fff!important}.sidebar-group{font-size:10.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#6b668c;padding:16px 24px 7px;white-space:nowrap}.app-header{background:#ffffffd1!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:relative;padding:0 26px!important}.app-header:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--violet),var(--violet-d));opacity:.9}.app-header-title{font-size:16px;font-weight:600;color:var(--ink)}.app-header-user{cursor:pointer;display:flex;align-items:center;gap:9px;padding:5px 10px 5px 6px;border-radius:11px;transition:background .15s}.app-header-user:hover{background:#fbfafe}.header-avatar{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#7c6cf0,#5b49d6);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}.app-content{padding:26px}.page-container{max-width:1320px;margin:0 auto}.ant-empty{margin-block:40px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c8c4e0;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a9a3cf}.g-steps .ant-steps-item-process .ant-steps-item-icon{background:var(--primary)!important;border-color:var(--primary)!important}.g-steps .ant-steps-item-finish .ant-steps-item-icon{background:var(--primary-soft)!important;border-color:var(--primary)!important}.g-steps .ant-steps-item-finish .ant-steps-icon{color:var(--primary)!important}.g-steps .ant-steps-item-finish .ant-steps-item-tail:after{background-color:var(--primary)!important}.login-gradient{background:linear-gradient(160deg,#141126,#1e1740 38%,#4834d4);position:relative;overflow:hidden}.login-gradient:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 25% 25%,rgba(139,124,246,.18) 0%,transparent 42%),radial-gradient(circle at 75% 70%,rgba(108,92,231,.12) 0%,transparent 38%);pointer-events:none}.login-glass{background:#fffffffa;border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);box-shadow:0 24px 64px -16px #14112680}@media (max-width: 960px){.login-brand-panel{display:none}.login-form-panel{flex:1 1 auto!important}}.form-hint{font-size:11.5px;color:var(--ink-3);margin-top:6px;font-weight:450}
