.auth-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.dark .auth-container{background:#111827}.auth-card{width:100%;max-width:440px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:32px;box-shadow:0 4px 16px #0000000a}.dark .auth-card{background:#1f2937;border-color:#374151;box-shadow:0 4px 16px #0000004d}.auth-logo{display:flex;justify-content:center;margin-bottom:24px}.auth-logo svg,.auth-logo img{width:210px;height:70px;-o-object-fit:contain;object-fit:contain;transition:transform .3s}.auth-logo:hover svg,.auth-logo:hover img{transform:scale(1.05)}.auth-title{font-size:1.5rem;font-weight:700;color:#111827;text-align:center;margin:0 0 8px;line-height:1.2}.dark .auth-title{color:#f3f4f6}.auth-subtitle{font-size:.875rem;color:#6b7280;text-align:center;margin:0 0 32px;line-height:1.5}.dark .auth-subtitle{color:#9ca3af}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form-group{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:.8125rem;font-weight:600;color:#374151}.dark .auth-label{color:#d1d5db}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input{width:100%;padding:10px 14px;font-size:.875rem;color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .15s;outline:none}.dark .auth-input{color:#f3f4f6;background:#111827;border-color:#374151}.auth-input:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.dark .auth-input:focus{background:#1f2937;border-color:#818cf8;box-shadow:0 0 0 3px #818cf81a}.auth-input::-moz-placeholder{color:#9ca3af}.auth-input::placeholder{color:#9ca3af}.dark .auth-input::-moz-placeholder{color:#6b7280}.dark .auth-input::placeholder{color:#6b7280}.auth-input-with-icon{padding-left:40px}.auth-input-icon{position:absolute;left:12px;color:#9ca3af;display:flex;align-items:center;pointer-events:none}.dark .auth-input-icon{color:#6b7280}.auth-password-toggle{position:absolute;right:12px;color:#9ca3af;cursor:pointer;display:flex;align-items:center;transition:color .15s}.auth-password-toggle:hover{color:#6366f1}.dark .auth-password-toggle{color:#6b7280}.dark .auth-password-toggle:hover{color:#818cf8}.auth-helper{font-size:.75rem;color:#6b7280;line-height:1.4}.dark .auth-helper{color:#9ca3af}.auth-checkbox-wrapper{display:flex;align-items:flex-start;gap:10px}.auth-checkbox{width:18px;height:18px;min-width:18px;margin-top:2px;border-radius:4px;border:1px solid #d1d5db;cursor:pointer;accent-color:#6366f1}.auth-checkbox-label{font-size:.8125rem;color:#374151;cursor:pointer;line-height:1.5}.dark .auth-checkbox-label{color:#d1d5db}.auth-checkbox-text{display:block;margin-bottom:8px;font-weight:600}.auth-consent-list{margin:0;padding-left:20px;list-style-type:disc}.auth-consent-list li{font-size:.75rem;color:#6b7280;margin-bottom:4px;line-height:1.4}.dark .auth-consent-list li{color:#9ca3af}.auth-btn{width:100%;padding:11px 20px;font-size:.875rem;font-weight:600;color:#fff;background:#6366f1;border:none;border-radius:8px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px}.auth-btn:hover:not(:disabled){background:#4f46e5;box-shadow:0 4px 12px #6366f14d}.dark .auth-btn{background:#818cf8}.dark .auth-btn:hover:not(:disabled){background:#6366f1}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-btn--secondary{background:#f3f4f6;color:#374151}.auth-btn--secondary:hover:not(:disabled){background:#e5e7eb;box-shadow:0 2px 8px #0000000d}.dark .auth-btn--secondary{background:#374151;color:#d1d5db}.dark .auth-btn--secondary:hover:not(:disabled){background:#4b5563}.auth-link{color:#6366f1;font-size:.8125rem;font-weight:500;text-decoration:none;transition:color .15s}.auth-link:hover{color:#4f46e5;text-decoration:underline}.dark .auth-link{color:#818cf8}.dark .auth-link:hover{color:#6366f1}.auth-link-center{display:block;text-align:center;margin-top:16px;padding:11px 20px;font-size:.875rem;font-weight:600;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none;transition:all .15s}.auth-link-center:hover{background:#e5e7eb;border-color:#d1d5db;box-shadow:0 2px 8px #0000000d;text-decoration:none}.dark .auth-link-center{color:#d1d5db;background:#374151;border-color:#4b5563}.dark .auth-link-center:hover{background:#4b5563;border-color:#6b7280}.auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0;text-align:center}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.dark .auth-divider:before,.dark .auth-divider:after{background:#374151}.auth-divider-text{font-size:.8125rem;color:#9ca3af;font-weight:500}.dark .auth-divider-text{color:#6b7280}.auth-alert{padding:12px 14px;border-radius:8px;font-size:.8125rem;line-height:1.5;display:flex;align-items:flex-start;gap:10px}.auth-alert-icon{flex-shrink:0;display:flex;margin-top:1px}.auth-alert-content{flex:1}.auth-alert--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.dark .auth-alert--error{background:#450a0a;color:#fca5a5;border-color:#7f1d1d}.auth-alert--success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.dark .auth-alert--success{background:#052e16;color:#86efac;border-color:#14532d}.auth-alert--info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.dark .auth-alert--info{background:#172554;color:#93c5fd;border-color:#1e3a8a}.auth-password-strength{margin-top:8px}.auth-password-strength-bar{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.dark .auth-password-strength-bar{background:#374151}.auth-password-strength-fill{height:100%;transition:width .3s,background-color .3s;border-radius:2px}.auth-password-strength-fill--weak{background:#ef4444}.auth-password-strength-fill--medium{background:#f59e0b}.auth-password-strength-fill--strong{background:#22c55e}.auth-password-strength-label{font-size:.75rem;color:#6b7280;margin-top:4px}.dark .auth-password-strength-label{color:#9ca3af}.auth-verify-icon{display:flex;justify-content:center;margin:20px 0}.auth-verify-icon svg{width:80px;height:80px;color:#6366f1}.dark .auth-verify-icon svg{color:#818cf8}@media(max-width:480px){.auth-container{padding:16px}.auth-card{padding:24px}.auth-title{font-size:1.25rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-card{animation:fadeIn .3s ease-out}
