:root{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f1f5f9;--bg-input: #f8fafc;--border: #e2e8f0;--border-subtle: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #0ea5e9;--accent-dim: rgba(14, 165, 233, .08);--accent-glow: rgba(14, 165, 233, .25);--danger: #ef4444;--danger-dim: rgba(239, 68, 68, .08);--success: #22c55e;--success-dim: rgba(34, 197, 94, .08);--warning: #f59e0b;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .03);--transition: .15s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;min-height:100vh}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition);white-space:nowrap}.btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#0284c7,#0ea5e9);border-color:transparent;color:#fff;font-weight:600}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0369a1,#0284c7);box-shadow:0 0 20px var(--accent-glow);transform:translateY(-1px)}.btn-danger{background:var(--danger-dim);border-color:#ef444440;color:var(--danger)}.btn-danger:hover:not(:disabled){background:#ef44441f;border-color:var(--danger)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-primary)}.btn-active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;transition:border-color var(--transition)}.card:hover{border-color:var(--border)}input[type=range]{-webkit-appearance:none;appearance:none;height:4px;background:var(--border);border-radius:2px;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid #fff;box-shadow:0 0 0 2px var(--accent-glow)}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid #fff;box-shadow:0 0 0 2px var(--accent-glow)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:9999px;font-size:12px;font-weight:500;background:#fff;border:1px solid var(--border);color:var(--text-secondary)}.status-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.status-badge.ready:before{background:var(--success);animation:none}.status-badge.busy:before{background:var(--warning)}.status-badge.error:before{background:var(--danger);animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.step-indicator{display:flex;align-items:center;gap:12px}.step-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;background:#f1f5f9;border:2px solid var(--border);color:var(--text-muted);transition:all var(--transition)}.step-dot.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.step-dot.completed{background:var(--success-dim);border-color:var(--success);color:var(--success)}.step-line{flex:1;height:2px;background:var(--border);border-radius:1px;transition:background var(--transition)}.step-line.completed{background:linear-gradient(90deg,var(--success),var(--accent))}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--accent)}
