:root{--primary:#1677ff;--primary-light:#4096ff;--primary-dark:#0958d9;--primary-bg:#f0f5ff;--primary-gradient:linear-gradient(135deg, #1677ff, #4096ff);--primary-gradient-soft:linear-gradient(135deg, #1677ff 0%, #69b1ff 100%);--bg:#f5f8ff;--bg-card:#fff;--bg-glass:#ffffffd9;--bg-overlay:#0006;--text:#1f2937;--text-secondary:#6b7280;--text-hint:#9ca3af;--success:#22c55e;--success-bg:#f0fdf4;--warning:#f59e0b;--warning-bg:#fffbeb;--error:#ef4444;--error-bg:#fef2f2;--border:#e5e7eb;--border-light:#f3f4f6;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 3px #1677ff0f;--shadow:0 4px 24px #1677ff14;--shadow-lg:0 12px 40px #1677ff1f;--shadow-glow:0 0 40px #1677ff26;--glass-blur:blur(20px);--tg-bg:#fff;--tg-text:#1f2937;--tg-hint:#6b7280;--tg-link:#1677ff;--tg-button:#1677ff;--tg-button-text:#fff;--tg-secondary-bg:#f5f8ff;--tg-section-bg:#fff;--tg-header-bg:#f5f8ff;--tg-accent:#1677ff;--tg-destructive:#ef4444;--tg-bottom-safe:0px;--sidebar-width:240px;--topbar-height:56px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6;overflow-x:hidden}#app{min-height:100vh}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%,to{box-shadow:0 0 20px #1677ff33}50%{box-shadow:0 0 40px #1677ff66}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}@keyframes pulse-ring{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2.5)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes ripple{to{opacity:0;transform:scale(4)}}@keyframes skeleton{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.enterprise-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-light);padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.enterprise-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.enterprise-card.accent{border:1px solid #1677ff26;box-shadow:0 4px 24px #1677ff1a}.enterprise-card.glow{animation:2s ease-in-out infinite glow}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid #ffffff80}.btn-gradient{background:var(--primary-gradient);color:#fff;border-radius:var(--radius);cursor:pointer;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn-gradient:after{content:"";opacity:0;background:linear-gradient(135deg,#fff3,#0000);transition:opacity .3s;position:absolute;inset:0}.btn-gradient:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1677ff59}.btn-gradient:hover:after{opacity:1}.btn-gradient:active{box-shadow:var(--shadow);transform:translateY(0)}.btn-gradient:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:6px;padding:10px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #1677ff4d}.btn-ghost{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--primary-bg);color:var(--primary);border-color:#1677ff33}.btn-sm{border-radius:var(--radius-sm);padding:6px 14px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.input{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);background:#fff;outline:none;padding:10px 14px;font-size:14px;transition:all .2s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1677ff1a}.input::placeholder{color:var(--text-hint)}.pulse-dot{background:var(--success);border-radius:50%;width:10px;height:10px;display:inline-block;position:relative}.pulse-dot:after{content:"";border:2px solid var(--success);border-radius:50%;animation:2s cubic-bezier(.4,0,.2,1) infinite pulse-ring;position:absolute;inset:-4px}.skeleton{background:linear-gradient(90deg, var(--border-light) 25%, var(--bg) 50%, var(--border-light) 75%);border-radius:var(--radius-sm);background-size:200px 100%;animation:1.5s ease-in-out infinite skeleton}.num-scroll{animation:.6s cubic-bezier(.4,0,.2,1) forwards numPopIn;display:inline-block;overflow:hidden}@keyframes numPopIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";opacity:0;background:radial-gradient(circle,#ffffff4d 10%,#0000 10%) 50%/0 no-repeat;transition:all .5s;position:absolute;inset:0}.btn-ripple:active:after{opacity:1;background-size:400%;transition:all}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.fade-slide-up{animation:.5s cubic-bezier(.4,0,.2,1) both fadeSlideUp}.fade-slide-up:first-child{animation-delay:0s}.fade-slide-up:nth-child(2){animation-delay:.1s}.fade-slide-up:nth-child(3){animation-delay:.2s}.fade-slide-up:nth-child(4){animation-delay:.3s}.fade-slide-up:nth-child(5){animation-delay:.4s}.fade-slide-up:nth-child(6){animation-delay:.5s}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.glow-pulse{border:1px solid #1677ff26;animation:2.5s ease-in-out infinite glowPulse;position:relative;box-shadow:0 0 #1677ff00}@keyframes glowPulse{0%,to{border-color:#1677ff26;box-shadow:0 0 #1677ff00}50%{border-color:#1677ff66;box-shadow:0 0 16px #1677ff26}}.status-badge{border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-badge.success{background:var(--success-bg);color:var(--success)}.status-badge.warning{background:var(--warning-bg);color:var(--warning)}.status-badge.error{background:var(--error-bg);color:var(--error)}.status-badge.info{background:var(--primary-bg);color:var(--primary)}.status-badge.muted{color:var(--text-hint);background:#f9fafb}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active{transition:all .4s cubic-bezier(.4,0,.2,1)}.slide-up-enter-from{opacity:0;transform:translateY(24px)}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);padding:20px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.5s ease-out backwards slideUp}.stat-card:hover{box-shadow:var(--shadow);border-color:#1677ff1a;transform:translateY(-3px)}.stat-card:first-child{animation-delay:0s}.stat-card:nth-child(2){animation-delay:.1s}.stat-card:nth-child(3){animation-delay:.2s}.stat-card:nth-child(4){animation-delay:.3s}.stat-card .stat-icon{border-radius:var(--radius);justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:12px;font-size:18px;display:flex}.stat-card .stat-label{color:var(--text-hint);margin-bottom:4px;font-size:13px;font-weight:500}.stat-card .stat-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:800;line-height:1.2}.stat-card .stat-trend{align-items:center;gap:4px;margin-top:6px;font-size:12px;display:flex}.stat-card .stat-trend.up{color:var(--success)}.stat-card .stat-trend.down{color:var(--error)}@media (width<=1024px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px}.stat-card .stat-value{font-size:22px}}@media (width<=640px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:14px}.stat-card .stat-value{font-size:20px}.enterprise-card{padding:16px}}.shimmer{background:linear-gradient(90deg, var(--border-light) 25%, var(--bg) 50%, var(--border-light) 75%);background-size:200px 100%;border-radius:8px;animation:1.5s ease-in-out infinite shimmer}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:20px}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;border-bottom:2px solid var(--border-light);color:var(--text-hint);text-transform:uppercase;padding:12px 16px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border-light);color:var(--text);padding:12px 16px}tr:hover td{background:var(--primary-bg)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
