body{background-color:var(--auth-page-bg);min-height:100vh;color:var(--auth-text);font-family:var(--font-sans);margin:0;padding:0;transition:background-color .2s,color .2s}.login-page{background-color:var(--auth-page-bg);min-height:100vh;color:var(--auth-text)}.login-section{justify-content:center;align-items:center;min-height:100vh;padding:40px 15px;display:flex}.login-section .container{width:100%}.login-card{border:1px solid var(--auth-card-border);background-color:var(--auth-card-bg);width:100%;max-width:450px;color:var(--auth-text);box-shadow:var(--auth-card-shadow);border-radius:16px;margin:0 auto;padding:35px;transition:background-color .2s,border-color .2s,box-shadow .2s}.login-logo{justify-content:center;align-items:center;width:100%;margin-bottom:25px;display:flex}.login-logo img{object-fit:contain;background-color:var(--auth-transparent);width:80px;max-width:100%;height:auto;display:block}.login-title{text-align:center;margin-bottom:30px}.login-title h1{color:var(--auth-text);letter-spacing:-.5px;margin:0 0 8px;font-size:26px;font-weight:750;line-height:1.35}.login-title p{color:var(--auth-muted);margin:0;font-size:14px;line-height:1.75}.login-card .form-label{color:var(--auth-text);margin-bottom:8px;font-size:14px;font-weight:650;display:block}.login-card .form-control{box-sizing:border-box;border:1px solid var(--auth-border);background-color:var(--auth-input-bg);width:100%;min-height:48px;color:var(--auth-text);border-radius:10px;padding:11px 15px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s,background-color .2s,color .2s}.login-card .form-control::placeholder{color:var(--auth-placeholder);opacity:1}.login-card .form-control:focus{border-color:var(--auth-primary);background-color:var(--auth-input-bg);color:var(--auth-text);box-shadow:0 0 0 4px var(--auth-focus-ring);outline:none}.login-card .form-control.is-invalid{border-color:var(--auth-danger)}.login-card .form-control.is-invalid:focus{border-color:var(--auth-danger);box-shadow:0 0 0 4px var(--auth-danger-ring)}.login-card .form-control:disabled{background-color:var(--auth-disabled-bg);color:var(--auth-muted);cursor:not-allowed;opacity:.8}.login-card .form-control:-webkit-autofill{-webkit-text-fill-color:var(--auth-text);-webkit-box-shadow:0 0 0 1000px var(--auth-input-bg) inset;transition:background-color 9999s ease-in-out}.login-card .form-control:-webkit-autofill:hover{-webkit-text-fill-color:var(--auth-text);-webkit-box-shadow:0 0 0 1000px var(--auth-input-bg) inset;transition:background-color 9999s ease-in-out}.login-card .form-control:-webkit-autofill:focus{-webkit-text-fill-color:var(--auth-text);-webkit-box-shadow:0 0 0 1000px var(--auth-input-bg) inset;transition:background-color 9999s ease-in-out}.password-wrapper{position:relative}.password-wrapper .form-control{padding-right:48px}#passwordToggle,#registerPasswordToggle,#registerConfirmPasswordToggle{background-color:var(--auth-transparent);width:36px;height:36px;color:var(--auth-muted);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;font-size:17px;transition:color .2s,background-color .2s;display:inline-flex}#passwordToggle:hover,#registerPasswordToggle:hover,#registerConfirmPasswordToggle:hover{background-color:var(--auth-primary-soft);color:var(--auth-primary)}#passwordToggle:focus-visible,#registerPasswordToggle:focus-visible,#registerConfirmPasswordToggle:focus-visible{outline:2px solid var(--auth-primary);outline-offset:2px}.password-toggle:focus{outline:none}.login-card .invalid-feedback{color:var(--auth-danger);margin-top:7px;font-size:12px;line-height:1.65}.login-card .form-control[aria-invalid=true]{border-color:var(--auth-danger)}.login-options{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.login-options .form-check{margin:0}.login-options .form-check-label{color:var(--auth-muted);cursor:pointer}.login-options .form-check-input{border-color:var(--auth-border);background-color:var(--auth-input-bg);cursor:pointer}.login-options .form-check-input:checked{border-color:var(--auth-primary);background-color:var(--auth-primary)}.login-options .form-check-input:focus{border-color:var(--auth-primary);box-shadow:0 0 0 3px var(--auth-focus-ring)}.forgot-password,.register-link a,#backTologin{color:var(--auth-primary);font-weight:650;text-decoration:none;transition:color .2s}.forgot-password{white-space:nowrap}.forgot-password:hover,.register-link a:hover,#backTologin:hover{color:var(--auth-primary-hover);text-underline-offset:4px;text-decoration:underline}.forgot-password:focus-visible,.register-link a:focus-visible,#backTologin:focus-visible{outline:2px solid var(--auth-primary);outline-offset:3px}.login-btn{border:1px solid var(--auth-primary);background-color:var(--auth-primary);width:100%;min-height:48px;color:var(--auth-text-on-primary);box-shadow:var(--auth-button-shadow);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-family:inherit;font-size:14px;font-weight:700;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.login-btn:hover:not(:disabled){border-color:var(--auth-primary-hover);background-color:var(--auth-primary-hover);color:var(--auth-text-on-primary);box-shadow:var(--auth-button-shadow-hover);transform:translateY(-1px)}.login-btn:focus-visible{outline:3px solid var(--auth-focus-ring);outline-offset:3px}.login-btn:disabled{cursor:wait;opacity:.7;transform:none}.register-link{color:var(--auth-muted);text-align:center;margin-top:25px;font-size:14px;line-height:1.8}.register-link a{margin-left:4px}.btn-home .btn-outline-primary{border-color:var(--auth-primary);color:var(--auth-primary);border-radius:9px;font-weight:600;transition:color .2s,background-color .2s,border-color .2s}.btn-home .btn-outline-primary:hover{border-color:var(--auth-primary);background-color:var(--auth-primary);color:var(--auth-text-on-primary)}#loginSuccessMessage{border-radius:12px;line-height:1.65}#loginSuccessMessage.alert-success{border-color:var(--auth-success-border);background-color:var(--auth-success-bg);color:var(--auth-success-text)}#loginSuccessMessage .progress{background-color:var(--auth-progress-track);border-radius:999px;overflow:hidden}#loginProgressBar{background-color:var(--auth-primary);border-radius:999px}#userStatus{color:var(--auth-muted);font-size:13px;line-height:1.6}.reset-password-box{border-top:1px solid var(--auth-border);color:var(--auth-text);margin-top:22px;padding-top:26px}.reset-password-box:not(.d-none){animation:.3s both authRecoveryEnter}.reset-password-box .login-title{margin-bottom:24px}.reset-password-box .login-title:before{border:1px solid var(--auth-border);background-color:var(--auth-primary-soft);color:var(--auth-primary);content:"ACCOUNT RECOVERY";letter-spacing:1.1px;border-radius:999px;justify-content:center;align-items:center;margin-bottom:13px;padding:6px 11px;font-size:10px;font-weight:800;display:inline-flex}.reset-password-box .login-title h1{color:var(--auth-text);letter-spacing:-.6px;margin-bottom:10px;font-size:25px;font-weight:750}.reset-password-box .login-title p{max-width:330px;color:var(--auth-muted);margin:0 auto;font-size:14px;line-height:1.75}#resetPasswordForm,#newPasswordBox{text-align:left}#resetPasswordBox .form-label{color:var(--auth-text);margin-bottom:9px;font-size:13px;font-weight:650;display:block}#resetPasswordBox .form-control{border:1px solid var(--auth-border);background-color:var(--auth-input-bg);min-height:49px;color:var(--auth-text);border-radius:10px;padding:12px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s,background-color .2s}#resetPasswordBox .form-control::placeholder{color:var(--auth-placeholder);opacity:1}#resetPasswordBox .form-control:focus{border-color:var(--auth-primary);background-color:var(--auth-input-bg);color:var(--auth-text);box-shadow:0 0 0 4px var(--auth-focus-ring)}#resetPasswordBox .form-control.is-invalid:focus{border-color:var(--auth-danger);box-shadow:0 0 0 4px var(--auth-danger-ring)}#resetEmailError,#newPasswordError,#confirmPasswordError{margin-top:7px;font-size:12px;line-height:1.6}#resetPasswordForm button[type=submit],#resetPasswordButton{border:1px solid var(--auth-primary);background-color:var(--auth-primary);min-height:49px;color:var(--auth-text-on-primary);box-shadow:var(--auth-button-shadow);border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:5px;padding:12px 18px;font-size:14px;font-weight:700;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}#resetPasswordForm button[type=submit]:hover:not(:disabled),#resetPasswordButton:hover:not(:disabled){border-color:var(--auth-primary-hover);background-color:var(--auth-primary-hover);color:var(--auth-text-on-primary);box-shadow:var(--auth-button-shadow-hover);transform:translateY(-1px)}#resetPasswordForm button[type=submit]:focus-visible,#resetPasswordButton:focus-visible{outline:3px solid var(--auth-focus-ring);outline-offset:3px}#resetPasswordForm button:disabled,#resetPasswordButton:disabled{cursor:wait;opacity:.7;transform:none}#newPasswordBox{border:1px solid var(--auth-border);background-color:var(--auth-panel-bg);border-radius:14px;padding:21px 17px;animation:.3s both authRecoveryEnter;margin-top:24px!important}#newPasswordBox h4{color:var(--auth-text);font-size:18px;font-weight:750;line-height:1.5;margin-bottom:21px!important}#resetSuccessMessage{border:1px solid var(--auth-success-border);background-color:var(--auth-success-bg);color:var(--auth-success-text);text-align:left;overflow-wrap:anywhere;border-radius:12px;align-items:flex-start;gap:11px;padding:15px 16px;font-size:13px;line-height:1.7;animation:.3s both authRecoveryEnter;display:flex}#resetSuccessMessage:before{background-color:var(--auth-success-icon-bg);width:25px;height:25px;color:var(--auth-success-text);content:"✓";border-radius:50%;flex:0 0 25px;justify-content:center;align-items:center;margin-top:1px;font-size:14px;font-weight:800;display:inline-flex}.reset-password-box .register-link{border-top:1px solid var(--auth-border);padding-top:19px;margin-top:23px!important}#backTologin{color:var(--auth-primary);justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:700;text-decoration:none;transition:color .2s;display:inline-flex}#backTologin:hover{color:var(--auth-primary-hover);text-underline-offset:4px;text-decoration:underline}@supports selector(.login-card:has(#resetPasswordBox:not(.d-none))){.login-card:has(#resetPasswordBox:not(.d-none))>.register-link{display:none}}#signupOtpBox{border-top:1px solid var(--auth-border);color:var(--auth-text);margin-top:22px;padding-top:26px}#signupOtpBox:not(.d-none){animation:.3s both authRecoveryEnter}#signupOtpBox .login-title{margin-bottom:24px}#signupOtpBox .login-title h2{color:var(--auth-text);letter-spacing:-.5px;margin:0 0 10px;font-size:25px;font-weight:750}#signupOtpBox .login-title p{color:var(--auth-muted);overflow-wrap:anywhere;margin:0 auto;font-size:14px;line-height:1.75}#signupOtpForm{text-align:left}#signupOtpForm .form-label{color:var(--auth-text);margin-bottom:9px;font-size:13px;font-weight:650}#signupOtp{border:1px solid var(--auth-border);background-color:var(--auth-input-bg);min-height:58px;color:var(--auth-text);font-variant-numeric:tabular-nums;letter-spacing:.35em;text-align:center;direction:ltr;border-radius:12px;padding:12px;font-size:23px;font-weight:750}#signupOtp:focus{border-color:var(--auth-primary);box-shadow:0 0 0 4px var(--auth-focus-ring)}#signupOtpSubmit{margin-top:10px}#resendSignupOtp,#changeSignupEmail{color:var(--auth-primary);font-size:13px;font-weight:650;text-decoration:none;transition:color .2s}#resendSignupOtp:hover:not(:disabled),#changeSignupEmail:hover{color:var(--auth-primary-hover);text-underline-offset:3px;text-decoration:underline}#resendSignupOtp:disabled{color:var(--auth-muted);cursor:not-allowed;opacity:.75;text-decoration:none}#signupOtpStatus{min-height:20px;color:var(--auth-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.65}#signupOtpError{color:var(--auth-danger);margin-top:7px;font-size:12px;line-height:1.65}@keyframes authRecoveryEnter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (width<=576px){.login-section{padding:25px 15px}.login-card{border-radius:14px;padding:25px 20px}.login-logo img{width:70px}.login-title h1{font-size:23px}.login-options{gap:8px;font-size:12px}.forgot-password{white-space:normal;text-align:right}.register-link{font-size:13px}.reset-password-box{margin-top:19px;padding-top:22px}.reset-password-box .login-title h1,#signupOtpBox .login-title h2{font-size:23px}.reset-password-box .login-title p,#signupOtpBox .login-title p{font-size:13px}#newPasswordBox{padding:18px 13px}#resetPasswordForm button[type=submit],#resetPasswordButton{min-height:47px}#signupOtpBox{margin-top:19px;padding-top:22px}#signupOtp{letter-spacing:.28em;min-height:54px;font-size:21px}}@media (prefers-reduced-motion:reduce){.reset-password-box:not(.d-none),#newPasswordBox,#resetSuccessMessage,#signupOtpBox:not(.d-none){animation:none}.login-card .form-control,.login-btn,#resetPasswordForm button,#resetPasswordButton,#backTologin,#resendSignupOtp,#changeSignupEmail{transition:none}}
