.auth-popup-overlay{position:fixed;inset:0;background-color:#0009;backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-popup-content{background:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;max-width:32rem;width:100%;padding:2rem;animation:slideUp .3s ease-out;position:relative;max-height:none;overflow:visible}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-popup-header{text-align:center;margin-bottom:1.5rem}.auth-popup-icon{margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;height:3rem;width:3rem;border-radius:50%;background-color:#dbeafe}.auth-popup-header h2{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:.5rem}.auth-popup-header p{color:#6b7280;font-size:.875rem}.auth-popup-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.required{color:#ef4444;margin-left:.25rem}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;transition:all .2s}.form-group input[type=email]:focus,.form-group input[type=password]:focus,.form-group input[type=text]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input[type=email]:disabled,.form-group input[type=password]:disabled,.form-group input[type=text]:disabled{background-color:#f3f4f6;cursor:not-allowed}.form-hint{margin-top:.25rem;font-size:.875rem;color:#6b7280}.consent-group{display:flex;flex-direction:column;gap:.75rem}.consent-label{display:flex;align-items:start;cursor:pointer}.consent-label input[type=checkbox]{margin-top:.25rem;height:1rem;width:1rem;flex-shrink:0;color:#3b82f6;border:1px solid #d1d5db;border-radius:.25rem;cursor:pointer}.consent-label span{margin-left:.75rem;font-size:.875rem;color:#374151;line-height:1.4}.consent-label a{color:#3b82f6;text-decoration:underline;transition:color .2s}.consent-label a:hover{color:#1d4ed8}.error-message{padding:.75rem;background-color:#fee2e2;border:1px solid #fca5a5;border-radius:.375rem;color:#991b1b;font-size:.875rem}.submit-button{width:100%;background:linear-gradient(135deg,#059669,#047857);color:#fff;padding:.875rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:all .2s;margin-top:.5rem}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px -10px #667eea80}.submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.security-note{text-align:center;font-size:.75rem;color:#6b7280;margin-top:.5rem}.success-message{text-align:center;padding:1rem 0}.success-icon{margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-message h2{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:1rem}.success-message p{color:#6b7280;margin-bottom:1rem;line-height:1.6}.success-message strong{color:#3b82f6}.success-hint{font-size:.875rem;padding:1rem;background-color:#f0fdf4;border-radius:.5rem;margin-top:1rem}.retry-button{margin-top:1.5rem;color:#3b82f6;font-size:.875rem;background:none;border:none;cursor:pointer;text-decoration:underline;transition:color .2s}.retry-button:hover{color:#1d4ed8}.auth-method-choice{animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-method-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.auth-divider{display:flex;align-items:center;text-align:center;margin:.5rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid #e5e7eb}.auth-divider span{padding:0 1rem;color:#9ca3af;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.auth-method-button{display:flex;align-items:center;gap:1rem;width:100%;padding:1.25rem 1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;text-align:left}.auth-method-button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#667eea0d,#764ba20d);opacity:0;transition:opacity .25s;z-index:0}.auth-method-button:hover:before{opacity:1}.auth-method-button:hover{border-color:#059669;transform:translateY(-2px);box-shadow:0 10px 25px -5px #05966926}.auth-method-button:focus{outline:none;border-color:#059669;box-shadow:0 0 0 4px #05966926}.auth-method-button:active{transform:translateY(0)}.auth-method-icon{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;flex-shrink:0;border-radius:.75rem;transition:all .25s;position:relative;z-index:1}.auth-method-login .auth-method-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.auth-method-register .auth-method-icon{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d}.auth-method-button:hover .auth-method-icon{transform:scale(1.1) rotate(5deg)}.auth-method-content{flex:1;position:relative;z-index:1}.auth-popup-close{position:absolute;top:.5rem;right:.5rem;background:transparent;border:none;width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;cursor:pointer;color:#6b7280;transition:background-color .15s,color .15s,transform .12s;z-index:30}.auth-popup-close:hover{background-color:#1f29370f;color:#111827;transform:translateY(-1px)}.auth-popup-overlay{cursor:default}.auth-popup-body{max-height:none;overflow:visible;padding-top:.25rem}.auth-method-content h3{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:.25rem;line-height:1.4}.auth-method-content p{font-size:.875rem;color:#6b7280;margin:0;line-height:1.4}.auth-method-arrow{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;color:#9ca3af;font-size:1.5rem;transition:all .25s;position:relative;z-index:1}.auth-method-button:hover .auth-method-arrow{color:#059669;transform:translate(4px)}.security-note{display:flex;align-items:center;justify-content:center;gap:.5rem;text-align:center;font-size:.75rem;color:#6b7280;margin-top:.5rem;padding:.75rem;background:#f9fafb;border-radius:.5rem;border:1px solid #f3f4f6}.security-icon{flex-shrink:0;color:#10b981}@media (max-width: 640px){.auth-method-button{padding:1rem;gap:.75rem}.auth-method-icon{width:3rem;height:3rem}.auth-method-content h3{font-size:1rem}.auth-method-content p{font-size:.8125rem}.auth-method-arrow{width:1.5rem;height:1.5rem;font-size:1.25rem}.security-note{font-size:.6875rem;padding:.625rem}}@media (prefers-contrast: high){.auth-method-button{border-width:3px}.auth-method-button:focus{box-shadow:0 0 0 5px currentColor}}@media (prefers-reduced-motion: reduce){.auth-method-choice,.auth-method-button,.auth-method-icon,.auth-method-arrow,.auth-method-button:before{animation:none;transition:none}.auth-method-button:hover,.auth-method-button:hover .auth-method-icon,.auth-method-button:hover .auth-method-arrow{transform:none}}.auth-method-button:focus-visible{outline:3px solid #059669;outline-offset:2px}.login-form-container,.register-form-container{animation:fadeInUp .4s ease-out}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid #e5e7eb;border-radius:.5rem;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:1rem}.back-button:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#374151;transform:translate(-2px)}.back-button:focus-visible{outline:2px solid #059669;outline-offset:2px}.back-button:disabled{opacity:.5;cursor:not-allowed}.back-button svg{flex-shrink:0}.input-wrapper{position:relative;width:100%}.input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af;display:flex;align-items:center;pointer-events:none;z-index:1}.input-with-icon,.form-group input[type=email].input-with-icon,.form-group input[type=password].input-with-icon,.form-group input[type=text].input-with-icon,.input-wrapper input[type=email].input-with-icon,.input-wrapper input[type=password].input-with-icon,.input-wrapper input[type=text].input-with-icon{padding-left:2.75rem!important}.input-wrapper.password-field input[type=password].password-input{padding-left:2.75rem!important;padding-right:3rem!important}.input-wrapper.password-field .password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:color .2s;border-radius:.375rem;z-index:2}.input-wrapper.password-field .password-toggle:hover:not(:disabled){color:#059669;background:#f3f4f6}.input-wrapper.password-field .password-toggle:focus-visible{outline:2px solid #059669;outline-offset:2px}.input-wrapper.password-field .password-toggle:disabled{opacity:.5;cursor:not-allowed}.forgot-password-link{text-align:right;margin-top:-.5rem}.link-button{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;color:#059669;font-size:.875rem;font-weight:500;cursor:pointer;padding:.25rem;transition:all .2s;text-decoration:none;border-radius:.25rem}.link-button:hover:not(:disabled){color:#047857;text-decoration:underline}.link-button:focus-visible{outline:2px solid #059669;outline-offset:2px}.link-button:disabled{opacity:.5;cursor:not-allowed}.consent-legend{font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.75rem;padding:0;border:none}.custom-checkbox{position:relative;display:flex;align-items:start;cursor:pointer;padding-left:2rem}.custom-checkbox input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-custom{position:absolute;left:0;top:.125rem;height:1.25rem;width:1.25rem;background-color:#fff;border:2px solid #d1d5db;border-radius:.375rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.checkbox-icon{color:#fff;opacity:0;transform:scale(0);transition:all .2s}.custom-checkbox:hover .checkbox-custom{border-color:#059669;background-color:#f9fafb}.custom-checkbox input[type=checkbox]:checked~.checkbox-custom{background:linear-gradient(135deg,#059669,#047857);border-color:#059669}.custom-checkbox input[type=checkbox]:checked~.checkbox-custom .checkbox-icon{opacity:1;transform:scale(1)}.custom-checkbox input[type=checkbox]:focus-visible~.checkbox-custom{outline:2px solid #059669;outline-offset:2px}.custom-checkbox input[type=checkbox]:disabled~.checkbox-custom{opacity:.5;cursor:not-allowed;background-color:#f3f4f6}.consent-text{margin-left:0;font-size:.875rem;color:#374151;line-height:1.5}.consent-text a{color:#059669;text-decoration:underline;font-weight:500;transition:color .2s}.consent-text a:hover{color:#047857}.consent-text a:focus-visible{outline:2px solid #059669;outline-offset:2px;border-radius:.125rem}.error-message{display:flex;align-items:start;gap:.75rem;padding:.875rem 1rem;background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;border-left:4px solid #ef4444;border-radius:.5rem;color:#991b1b;font-size:.875rem;line-height:1.5;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.error-icon{flex-shrink:0;color:#ef4444;margin-top:.125rem}.submit-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;background:linear-gradient(135deg,#059669,#047857);color:#fff;padding:.875rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:.5rem;position:relative;overflow:hidden}.submit-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.submit-button:hover:not(:disabled):before{left:100%}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 24px -8px #667eea66}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:focus-visible{outline:3px solid #059669;outline-offset:3px}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none;background:linear-gradient(135deg,#9ca3af,#6b7280)}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-message{text-align:center;padding:1rem 0;animation:fadeInScale .5s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-description{color:#6b7280;margin-bottom:1.5rem;line-height:1.6;font-size:.9375rem}.email-highlight{color:#059669;font-size:1.0625rem;display:inline-block;margin-top:.5rem}.success-hint{display:flex;align-items:start;gap:.75rem;text-align:left;padding:1.25rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-left:4px solid #22c55e;border-radius:.75rem;margin-top:1.5rem}.hint-icon{flex-shrink:0;color:#16a34a;margin-top:.125rem}.success-hint p{margin:0 0 .5rem;color:#166534;font-size:.875rem;line-height:1.5}.success-hint p:last-child{margin-bottom:0}.hint-detail{color:#15803d!important;font-size:.8125rem!important;font-weight:500}.retry-button{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;color:#059669;font-size:.875rem;font-weight:500;background:none;border:1px solid #e5e7eb;padding:.625rem 1.25rem;border-radius:.5rem;cursor:pointer;transition:all .2s}.retry-button:hover{color:#047857;background:#f9fafb;border-color:#059669;transform:translateY(-1px)}.retry-button:focus-visible{outline:2px solid #059669;outline-offset:2px}@media (max-width: 640px){.back-button{padding:.375rem .75rem;font-size:.8125rem}.input-icon{left:.625rem}.input-with-icon,.form-group input[type=email].input-with-icon,.form-group input[type=password].input-with-icon,.form-group input[type=text].input-with-icon{padding-left:2.5rem!important}.input-wrapper.password-field input[type=password].password-input{padding-left:2.5rem!important;padding-right:2.75rem!important}.input-wrapper.password-field .password-toggle{right:.5rem;padding:.375rem}.custom-checkbox{padding-left:1.75rem}.checkbox-custom{height:1.125rem;width:1.125rem}.consent-text{font-size:.8125rem}.error-message{padding:.75rem;font-size:.8125rem}.success-hint{padding:1rem}.retry-button{padding:.5rem 1rem;font-size:.8125rem}}@media (prefers-contrast: high){.back-button,.link-button,.submit-button,.retry-button{border-width:2px}.checkbox-custom{border-width:3px}}@media (prefers-reduced-motion: reduce){.login-form-container,.register-form-container,.success-message,.error-message{animation:none}.back-button:hover,.submit-button:hover,.retry-button:hover{transform:none}.spinner{animation:none}.submit-button:before{display:none}}@media (max-width: 640px){.auth-popup-content{padding:1.5rem}.auth-popup-header h2{font-size:1.25rem}.submit-button{padding:.75rem 1.25rem}}
