*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand: #0066FF;--brand-dark: #0052CC;--brand-light: rgba(0,102,255,.08);--success: #10B981;--error: #EF4444;--warn: #F59E0B;--bg: #09090B;--surface: #18181B;--border: rgba(255,255,255,.08);--text: #FAFAFA;--muted: #71717A;--radius: 14px}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100dvh;-webkit-font-smoothing:antialiased}.grad{background:linear-gradient(135deg,#06f,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.input{width:100%;background:#ffffff0d;border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;font-size:16px;color:var(--text);outline:none;transition:border-color .15s;font-family:inherit}.input:focus{border-color:var(--brand)}.input::placeholder{color:var(--muted)}.btn{width:100%;padding:14px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;border:none;transition:all .2s;font-family:inherit}.btn-primary{background:linear-gradient(135deg,#06f,#7c3aed);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #0066ff59}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--muted);border:1.5px solid var(--border)}.btn-ghost:hover{border-color:#fff3;color:var(--text)}.otp-grid{display:flex;gap:10px;justify-content:center}.otp-cell{width:52px;height:60px;background:#ffffff0d;border:1.5px solid var(--border);border-radius:10px;font-size:24px;font-weight:700;text-align:center;color:var(--text);outline:none;transition:border-color .15s;font-family:Inter,monospace}.otp-cell:focus{border-color:var(--brand);background:#0066ff14}.otp-cell.filled{border-color:var(--brand)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .4s ease-out forwards}.steps{display:flex;align-items:center;gap:0;margin-bottom:32px}.step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;transition:all .2s}.step-dot.done{background:var(--success);color:#fff}.step-dot.active{background:var(--brand);color:#fff;box-shadow:0 0 0 4px #06f3}.step-dot.pending{background:#ffffff14;color:var(--muted)}.step-line{flex:1;height:2px;background:#ffffff14}.step-line.done{background:var(--success)}.candidate-card{background:#ffffff08;border:2px solid var(--border);border-radius:12px;padding:16px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:14px;-webkit-user-select:none;user-select:none}.candidate-card:hover{border-color:#06f6;background:#0066ff0d}.candidate-card.selected{border-color:var(--brand);background:#0066ff1a;box-shadow:0 0 0 1px var(--brand)}.candidate-radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}.candidate-card.selected .candidate-radio{border-color:var(--brand);background:var(--brand)}.candidate-radio-dot{width:8px;height:8px;border-radius:50%;background:#fff;opacity:0;transition:opacity .15s}.candidate-card.selected .candidate-radio-dot{opacity:1}.avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}@keyframes checkPop{0%{transform:scale(0)}70%{transform:scale(1.1)}to{transform:scale(1)}}.check-circle{width:72px;height:72px;border-radius:50%;background:var(--success);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;animation:checkPop .5s cubic-bezier(.34,1.56,.64,1) forwards}.error-msg{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:10px 14px;font-size:14px;color:#fca5a5}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}
