*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#4f46e5;--primary-dark:#4338ca;--primary-light:#818cf8;--secondary:#22d3ee;--dark:#0a0a0f;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-400:#9ca3af;--gray-600:#4b5563;--gray-800:#1f2937;--white:#fff;--gradient:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);--success:#22c55e;--error:#ef4444}body{color:var(--gray-800);background:linear-gradient(135deg,#f5f3ff 0%,#e0e7ff 50%,#f5f3ff 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;display:flex}.lang-switch{z-index:10;position:fixed;top:16px;right:16px}.lang-current{border:1px solid var(--gray-200);background:var(--white);cursor:pointer;color:var(--gray-600);border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:.875rem;font-weight:600;transition:border-color .2s,color .2s;display:flex;box-shadow:0 1px 3px #0000001a}.lang-current:hover{border-color:var(--primary);color:var(--primary)}.lang-current .chevron{transition:transform .2s}.lang-switch.open .lang-current .chevron{transform:rotate(180deg)}.lang-dropdown{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;flex-direction:column;gap:2px;min-width:140px;padding:6px;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 28px #0000001f}.lang-switch.open .lang-dropdown{display:flex}.lang-option{color:var(--gray-800);border-radius:8px;padding:8px 12px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .2s}.lang-option:hover{background:var(--gray-100)}.lang-option.active{background:var(--primary);color:var(--white)}.card{background:var(--white);border-radius:20px;width:100%;max-width:460px;padding:40px;box-shadow:0 20px 60px #4f46e51a,0 4px 12px #0000000d}.logo-section{text-align:center;margin-bottom:32px}.logo-section a{line-height:0;display:inline-block}.logo-section img{border-radius:12px;height:40px}.logo-section h1{color:var(--dark);margin-top:12px;font-size:1.5rem;font-weight:700}.logo-section p{color:var(--gray-600);margin-top:4px;font-size:.9rem}.form-group{margin-bottom:16px}.form-group label{color:var(--gray-800);margin-bottom:6px;font-size:.875rem;font-weight:600;display:block}.form-group input,.form-group select{border:1.5px solid var(--gray-200);background:var(--white);width:100%;color:var(--gray-800);border-radius:12px;outline:none;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.form-group input.error{border-color:var(--error)}.error-text{color:var(--error);margin-top:4px;font-size:.8rem;display:none}.error-text.visible{display:block}.checkbox-group{align-items:flex-start;gap:10px;margin-bottom:20px;display:flex}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;margin-top:2px}.checkbox-group label{color:var(--gray-600);font-size:.825rem;line-height:1.4}.checkbox-group a{color:var(--primary);text-decoration:underline}.btn{cursor:pointer;background:var(--gradient);width:100%;color:var(--white);border:none;border-radius:12px;padding:14px;font-family:inherit;font-size:1rem;font-weight:600;transition:all .2s}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{color:var(--primary);border:1.5px solid var(--gray-200);background:0 0;margin-top:10px}.btn-secondary:hover{border-color:var(--primary);box-shadow:none}.message{border-radius:10px;margin-bottom:16px;padding:12px 16px;font-size:.875rem;display:none}.message.success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;display:block}.message.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;display:block}.verification-icon{text-align:center;margin-bottom:16px}.verification-icon svg{width:56px;height:56px;color:var(--primary)}.code-input{text-align:center;letter-spacing:.5em;font-size:1.5rem;font-weight:700}.login-link{text-align:center;color:var(--gray-600);margin-top:24px;font-size:.9rem}.login-link a{color:var(--primary);font-weight:600;text-decoration:none}.login-link a:hover{text-decoration:underline}.success-card{text-align:center;padding:48px 40px}.success-card svg{width:72px;height:72px;color:var(--success);margin-bottom:20px}.success-card h2{margin-bottom:8px;font-size:1.4rem}.success-card p{color:var(--gray-600);margin-bottom:24px}.hidden{display:none!important}.spinner{border:2.5px solid #ffffff4d;border-top-color:var(--white);vertical-align:middle;border-radius:50%;width:20px;height:20px;margin-right:8px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.password-hint{color:var(--gray-400);margin-top:4px;font-size:.75rem}.password-field{position:relative}.password-field input{padding-right:44px}.password-toggle{cursor:pointer;width:44px;color:var(--gray-400);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;top:0;bottom:0;right:0}.password-toggle:hover{color:var(--gray-600)}.password-toggle svg{width:20px;height:20px}.password-toggle .icon-eye-off,.password-toggle.visible .icon-eye{display:none}.password-toggle.visible .icon-eye-off{display:block}.register-callout{background:var(--gray-100);border:1px solid var(--gray-200);text-align:center;border-radius:12px;margin-top:20px;padding:16px}.register-callout p{color:var(--gray-600);margin:0 0 12px;font-size:.875rem}.register-callout .btn-secondary{width:100%;margin-top:0}.resend-timer{text-align:center;color:var(--gray-400);margin-top:10px;font-size:.85rem}.dev-hint{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:.875rem;font-weight:600;display:flex}.dev-hint svg{color:#d97706;flex-shrink:0;width:20px;height:20px}.success-open-app{text-align:center;text-decoration:none;display:inline-block}@media (width<=520px){.card{padding:28px 20px}body{padding:16px}}
