:root{--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-light: rgba(59, 130, 246, .1);--color-success: #10b981;--color-success-light: rgba(16, 185, 129, .1);--color-error: #ef4444;--color-error-light: rgba(239, 68, 68, .1);--color-warning: #f59e0b;--color-bg: #f8fafc;--color-card: #ffffff;--color-text: #1e293b;--color-text-secondary: #64748b;--color-border: #e2e8f0;--color-input-bg: #f1f5f9;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-fast: .15s ease;--transition-normal: .25s ease}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:480px;margin:0 auto;padding:var(--spacing-md)}.card{background:var(--color-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);border:1px solid var(--color-border)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-sm)}.form-input{width:100%;padding:var(--spacing-md);font-size:1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-input-bg);color:var(--color-text);transition:all var(--transition-fast);outline:none}.form-input:focus{border-color:var(--color-primary);background:var(--color-card);box-shadow:0 0 0 3px var(--color-primary-light)}.verification-code-input{text-align:center;letter-spacing:.5em;font-size:1.25rem}.form-input::placeholder{color:var(--color-text-secondary)}.btn{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-light)}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.alert-error{background:var(--color-error-light);color:var(--color-error);border:1px solid var(--color-error)}.alert-success{background:var(--color-success-light);color:var(--color-success);border:1px solid var(--color-success)}.steps{display:flex;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.step{width:2.5rem;height:2.5rem;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;background:var(--color-input-bg);color:var(--color-text-secondary);transition:all var(--transition-normal)}.step.active{background:var(--color-primary);color:#fff;box-shadow:0 0 0 4px var(--color-primary-light)}.step.completed{background:var(--color-success);color:#fff}.step-line{width:3rem;height:2px;background:var(--color-border);align-self:center}.step-line.completed{background:var(--color-success)}.page-title{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:var(--spacing-sm);color:var(--color-text)}.page-subtitle{font-size:.875rem;text-align:center;color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.logo{width:4rem;height:4rem;margin:0 auto var(--spacing-lg);background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg)}.logo svg{width:2rem;height:2rem;color:#fff}.page-wrapper{flex:1;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xl) var(--spacing-md);min-height:100vh}.password-strength{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.password-strength-bar{flex:1;height:4px;border-radius:var(--radius-full);background:var(--color-border);transition:all var(--transition-fast)}.password-strength-bar.weak{background:var(--color-error)}.password-strength-bar.medium{background:var(--color-warning)}.password-strength-bar.strong{background:var(--color-success)}.code-input-container{display:flex;gap:var(--spacing-sm);justify-content:center}.code-input{width:3rem;height:3.5rem;text-align:center;font-size:1.5rem;font-weight:600;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-input-bg);transition:all var(--transition-fast)}.code-input:focus{border-color:var(--color-primary);background:var(--color-card);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.countdown{text-align:center;font-size:.875rem;color:var(--color-text-secondary);margin-top:var(--spacing-md)}.countdown-resend{color:var(--color-primary);cursor:pointer;font-weight:500;background:transparent;border:0;font:inherit}.countdown-resend:hover{text-decoration:underline}.countdown-resend:focus-visible,.btn:focus-visible{outline:3px solid var(--color-primary-light);outline-offset:3px}.success-icon{width:5rem;height:5rem;margin:0 auto var(--spacing-lg);background:var(--color-success-light);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;animation:scaleIn .3s ease}.success-icon svg{width:2.5rem;height:2.5rem;color:var(--color-success)}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.spinner{width:1.25rem;height:1.25rem;border:2px solid transparent;border-top-color:currentColor;border-radius:var(--radius-full);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:480px){html{font-size:14px}.card{padding:var(--spacing-lg);border-radius:var(--radius-lg)}.page-wrapper{padding:var(--spacing-md)}.code-input{width:2.5rem;height:3rem;font-size:1.25rem}}@media(min-width:768px){.container{max-width:420px}.card{padding:var(--spacing-2xl)}}@media(prefers-color-scheme:dark){:root{--color-bg: #0f172a;--color-card: #1e293b;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-border: #334155;--color-input-bg: #0f172a}}
