*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--bg2: #161b27;--bg3: #1e2535;--border: #2a3450;--accent: #4f9cf9;--accent-dim: #1e3a5f;--green: #22c55e;--red: #ef4444;--yellow: #f59e0b;--purple: #a855f7;--text: #e2e8f0;--text-muted: #64748b;--radius: 10px;--shadow: 0 4px 24px rgba(0,0,0,.4)}html,body{height:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}#app{height:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border:none;outline:none;font-family:inherit;font-size:13px;font-weight:500;border-radius:var(--radius);padding:8px 16px;transition:all .15s}input,textarea,select{font-family:inherit;font-size:14px;background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:8px 12px;outline:none;transition:border-color .15s;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--accent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#3b82f6}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:#dc2626}.btn-success{background:var(--green);color:#fff}.btn-success:hover{background:#16a34a}.btn-ghost{background:var(--bg3);color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--border)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}.badge-green{background:#22c55e26;color:var(--green)}.badge-red{background:#ef444426;color:var(--red)}.badge-yellow{background:#f59e0b26;color:var(--yellow)}.badge-blue{background:#4f9cf926;color:var(--accent)}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 12px;color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:#ffffff05}
