:root{--bg-deep:#2d3b5e;--bg-base:#34446b;--bg-panel:#3d4f7a;--bg-panel-light:#475a8a;--bg-hover:#5a709f;--neon-cyan:#5a8cff;--neon-blue:#4e7de6;--neon-deep:#4e5ac6;--primary:#5a7be0;--success:#6dd9a8;--warning:#e8c97a;--danger:#e88a9a;--text-primary:#fff;--text-regular:#f5f7ff;--text-secondary:#dce4f7;--text-disabled:#8a9ec8;--border-base:#5a7be033;--border-glow:#5a7be06b}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;overflow:hidden}body{background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}.tech-panel{background:var(--bg-panel);border:1px solid var(--border-base);border-radius:8px;position:relative}.tech-panel:before{content:"";background:linear-gradient(90deg, transparent, var(--primary), transparent);opacity:.6;height:1px;position:absolute;top:0;left:0;right:0}.dot-pulse{border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes glow{0%,to{box-shadow:0 0 5px #5a8cff33}50%{box-shadow:0 0 20px #5a8cff80}}.fade-enter-active,.fade-leave-active{transition:opacity .25s}.fade-enter-from,.fade-leave-to{opacity:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#5a8cff33;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#5a8cff66}input,button,select,textarea{border:none;outline:none;font-family:inherit}a{color:var(--primary);text-decoration:none}.num-font{font-variant-numeric:tabular-nums;font-family:Courier New,monospace}.neon-text{color:var(--neon-cyan);text-shadow:0 0 8px #5a8cff80}.btn{cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 20px;font-size:14px;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--neon-deep), var(--primary));color:#fff}.btn-primary:hover{box-shadow:0 0 16px #5a8cff66}.btn-ghost{border:1px solid var(--border-base);color:var(--text-regular);background:0 0}.btn-ghost:hover{border-color:var(--border-glow);color:var(--primary)}.loading-spinner{border:2px solid #5a8cff33;border-top-color:var(--neon-cyan);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin;display:inline-block}.table-wrapper{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border-base);background:var(--bg-panel-light);padding:10px 12px;font-weight:500}td{color:var(--text-regular);border-bottom:1px solid #5a8cff0f;padding:10px 12px}tr:hover td{color:var(--text-primary);background:#5a8cff0a}.tag{white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:12px;display:inline-block}.tag-success{color:var(--success);background:#00ff881f}.tag-warning{color:var(--warning);background:#ffaa001f}.tag-danger{color:var(--danger);background:#ff3b5c1f}.tag-info{color:var(--neon-blue);background:#5a7be01f}.pagination{justify-content:flex-end;align-items:center;gap:8px;padding:12px 0;display:flex}.pagination button{background:var(--bg-panel-light);min-width:32px;height:32px;color:var(--text-regular);cursor:pointer;border:1px solid var(--border-base);border-radius:6px;justify-content:center;align-items:center;font-size:13px;transition:all .2s;display:inline-flex}.pagination button:hover:not(:disabled){border-color:var(--border-glow);color:var(--primary)}.pagination button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.empty-state{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-state svg{opacity:.3;margin-bottom:12px}
