:root{--bg-dark:#0f111a;--bg-card:#1e2130b3;--text-main:#fff;--text-muted:#94a3b8;--primary:#e81a5d;--primary-hover:#f37;--secondary:#3e05a1;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--border:#ffffff1a;--font-main:"Inter", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-main);background-image:radial-gradient(circle at 15%,#e81a5d26,#0000 25%),radial-gradient(circle at 85% 30%,#3e05a126,#0000 25%);background-attachment:fixed;flex-direction:column;min-height:100vh;display:flex}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 8px 32px #0000004d}.btn{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;cursor:pointer;font-weight:600;font-family:var(--font-main);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;transition:all .3s;display:flex}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #e81a5d66}.btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale()}.btn-secondary{border:1px solid var(--border);background:#ffffff0d}.btn-secondary:hover:not(:disabled){box-shadow:none;background:#ffffff1a}.btn-danger{background:var(--danger)}.btn-danger:hover:not(:disabled){box-shadow:0 4px 15px #ef444466}input{border:1px solid var(--border);color:#fff;width:100%;font-family:var(--font-main);background:#0003;border-radius:8px;padding:12px 16px;font-size:1rem;transition:border-color .3s}input:focus{border-color:var(--primary);outline:none}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:4px 12px;font-size:.85rem;font-weight:600}.badge.idle{color:#fff;background:#ffffff1a}.badge.running{color:var(--success);background:#10b98133}.badge.paused{color:var(--warning);background:#f59e0b33}.badge.stopped{color:var(--danger);background:#ef444433}h1,h2,h3{letter-spacing:-.5px;font-weight:700}.text-gradient{background:linear-gradient(135deg, #fff, var(--text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text}.pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.5s cubic-bezier(.16,1,.3,1) forwards slideUp}
