.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:none;align-items:center;justify-content:center;z-index:2000;opacity:0;transition:opacity var(--transition-normal)}.modal-overlay.active{display:flex;opacity:1}.modal-overlay.active .modal-content{transform:scale(1)}.modal-content{background:var(--bg-secondary);border-radius:15px;padding:var(--spacing-xl);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative;transform:scale(.9);transition:transform var(--transition-normal);border:1px solid var(--border-color)}@media(max-width:768px){.modal-content{padding-left:20px;padding-right:20px}}.modal-content::-webkit-scrollbar{width:12px}.modal-content::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:10px}.modal-content::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:10px;border:3px solid var(--bg-primary)}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-primary)}.modal-content{scrollbar-width:thin;scrollbar-color:var(--text-secondary) var(--bg-primary)}@media(min-width:769px){.modal-content{max-height:none;overflow-y:visible;padding:var(--spacing-lg)}.auth-form{max-height:none;overflow-y:visible}}.modal-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);transition:color var(--transition-fast);width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary)}.auth-form{min-height:350px;display:flex;flex-direction:column}.auth-form[hidden]{display:none!important}.auth-form.is-active{display:flex!important}.auth-form h2{margin-bottom:var(--spacing-sm);color:var(--text-primary);text-align:center}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-md);flex-shrink:0}.auth-form .auth-subtitle.error{color:#dc3545;text-align:center}.auth-btn{width:100%;margin-bottom:var(--spacing-sm)}.auth-form-center-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.password-reset-center{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:stretch}.auth-switch{text-align:center;color:var(--text-secondary);margin:var(--spacing-md) 0 0 0;margin-top:auto;flex-shrink:0}#password-reset-request{display:flex;flex-direction:column;min-height:280px}#password-reset-request .password-reset-center,#password-reset-request .password-reset-center form{flex:1;display:flex;flex-direction:column}#password-reset-request .password-reset-center .form-group{flex:1;display:flex;flex-direction:column;justify-content:center;margin-bottom:0}#password-reset-request .password-reset-center .auth-btn{margin-top:var(--spacing-md);flex-shrink:0}#password-reset-request .auth-switch{margin-top:var(--spacing-sm);padding-top:0;flex-shrink:0}.auth-switch a{color:var(--accent-purple);text-decoration:none;font-weight:500}.auth-switch a:hover{text-decoration:underline}.auth-inline-link{text-align:center;margin:var(--spacing-xs) 0 var(--spacing-sm)}.link-button{background:none;border:none;padding:0;color:var(--accent-purple);font-weight:500;cursor:pointer;font-size:.95rem}.link-button:hover{text-decoration:underline}.forgot-password-hint{display:none;margin:-6px 0 10px;color:#dc3545;font-weight:500}.forgot-password-hint.active{display:block}.forgot-password-hint .link-button{color:#dc3545;font-weight:600}#reset-password-modal .modal-content{padding-inline:var(--spacing-lg);padding-block:var(--spacing-md);max-height:none}#reset-password-modal .auth-form{min-height:auto}#reset-password-modal .action-row{display:flex;justify-content:center;margin-top:var(--spacing-md)}#reset-password-modal .auth-btn{width:auto;min-width:180px}.auth-form .form-group{margin-bottom:calc(1.5rem + 2px)}.form-group{position:relative}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-sm);border:2px solid var(--border-color);border-radius:8px;background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:1rem;transition:border-color var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-purple);box-shadow:0 0 0 3px #c9a2271a}.form-group.error input{border-color:#dc3545;box-shadow:0 0 0 2px #dc354540}.form-group.error .error-message{color:#dc3545;font-size:.875rem;position:absolute;left:0;top:calc(100% + 6px);margin-top:0;line-height:1;pointer-events:none}.form-group.success input{border-color:#28a745;box-shadow:0 0 0 2px #28a74540}.error-banner{color:#dc3545;display:none;margin:0 0 16px;padding:0;text-align:center}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--spacing-sm);color:var(--text-secondary);font-size:.9rem;z-index:1;opacity:.7}.input-icon svg{width:1rem;height:1rem}.input-with-icon input{padding-left:calc(var(--spacing-sm) * 2 + 1rem)}.input-with-icon input[type=password]{padding-right:45px}.input-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px;transition:color var(--transition-fast)}.input-toggle:hover{color:var(--text-primary)}.auth-info{background:#c9a2271a;border:1px solid rgba(201,162,39,.3);border-radius:8px;padding:12px;margin-bottom:20px;text-align:center;color:var(--text-secondary)}.auth-info strong{color:var(--accent-gold);font-weight:600}.resend-code{margin-left:20px}.resend-code a{color:var(--accent-gold);text-decoration:none;font-size:.9rem}.resend-code a:hover{text-decoration:underline}.step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;position:relative}.step-header .back-link{color:var(--text-secondary);text-decoration:none;font-size:14px;transition:color .2s ease}.step-header .back-link:hover{color:var(--accent-purple)}.step-header .auth-subtitle{position:absolute;left:50%;transform:translate(-50%);margin:0;text-align:center;width:auto}.verification-code-inputs{display:flex;gap:12px;justify-content:center;margin:20px 0}.code-input{width:50px;height:60px;text-align:center;font-size:24px;font-weight:600;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-white);color:var(--text-primary);transition:all .2s ease;outline:none}.code-input:focus{border-color:var(--accent-purple);box-shadow:0 0 0 3px #8b5cf61a;transform:translateY(-2px)}.code-input:placeholder{color:var(--text-secondary);font-size:18px}.code-input.filled{border-color:var(--accent-purple);background:#8b5cf60d}.code-label{display:block;text-align:center;font-size:16px;font-weight:500;color:var(--text-primary);margin-bottom:15px;margin-top:10px}#verification-code{text-align:center;font-size:1.2rem;letter-spacing:2px;font-weight:600}.auth-btn.loading{position:relative;color:transparent}.auth-btn.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media(max-width:480px){.verification-code-inputs{gap:8px}.code-input{width:45px;height:55px;font-size:20px}}#register-step1b{display:flex;flex-direction:column}#register-step1b-form{display:flex;flex-direction:column;flex:1}#register-step1b-form .btn{margin-top:auto}@media(max-width:768px){.modal-content{padding-left:20px;padding-right:20px}.modal-close{width:44px;height:44px;font-size:1.8rem}}
