.forgot-password-modal{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,.5);animation:fade-in .2s ease}.forgot-password-modal__content{position:relative;display:flex;flex-direction:column;width:100%;max-width:37.5rem;padding-block:var(--spacing-2xl);padding-inline:var(--spacing-3xl);border-radius:var(--border-radius-sm);background-color:var(--brand-red);animation:slide-up .3s cubic-bezier(.16,1,.3,1)}.forgot-password-modal__icon{width:5.8125rem;height:5.8125rem;margin-inline:auto;margin-bottom:var(--spacing-sm)}.forgot-password-modal__close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);display:flex;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;color:var(--brand-white);border:none;border-radius:var(--border-radius-sm);background:none;cursor:pointer;transition:color .2s ease,background-color .2s ease}.forgot-password-modal__close:hover{color:var(--gray-900);background-color:var(--gray-100)}.forgot-password-modal__close svg{width:1.25rem;height:1.25rem}.forgot-password-modal__title{color:var(--text-heading);font-weight:700;font-size:var(--font-size-xl);line-height:1.2;color:var(--brand-white)}.forgot-password-modal__text,.forgot-password-modal__title{font-family:var(--font-family-base);margin-bottom:var(--spacing-sm);text-align:center}.forgot-password-modal__text{color:var(--text-body);font-weight:400;font-size:var(--font-size-xs);line-height:1.6;color:var(--brand-white);font-weight:700}.forgot-password-modal__form{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center}.forgot-password-modal__form .floating-input{width:100%}.forgot-password-modal__form .floating-input__input{background-color:var(--brand-beige)}.forgot-password-modal__form .floating-input__error{color:var(--brand-white)}.forgot-password-modal__error{color:var(--red-600);font-size:.875rem;text-align:center}.forgot-password-modal__button{display:inline-block;padding:0;text-decoration:none;border:none;background:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--text-body);font-weight:600;font-size:var(--font-size-md);font-family:var(--font-family-button);line-height:1.6;padding-block:var(--spacing-sm);padding-inline:var(--spacing-xl);color:var(--brand-red);border-radius:var(--border-radius-lg);background-color:var(--brand-white);transition:transform .2s ease,box-shadow .2s ease}.forgot-password-modal__button:hover:not(:disabled){box-shadow:0 4px 12px rgba(0,0,0,.2);transform:translateY(-2px)}.forgot-password-modal__button:active:not(:disabled){transform:translateY(0)}.forgot-password-modal__success{text-align:center}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login{min-height:100vh;animation:fade-in .5s ease}.login__container{width:100%;max-width:1440px;margin-inline:auto;padding-inline:24px}@media(min-width:992px){.login__container{padding-right:80px;padding-left:80px}}.login__container{display:flex;height:100vh}.login__branding{display:none}@media(min-width:992px){.login__branding{display:flex;flex-direction:column;justify-content:center;width:50%;animation:slide-in-left .6s cubic-bezier(.16,1,.3,1)}}.login__headline{color:var(--text-heading);font-weight:700;font-size:var(--font-size-3xl);font-family:var(--font-family-base);line-height:1.2;color:var(--brand-red)}.login__logo-container{margin-top:var(--spacing-xl)}.login__logo{object-fit:contain}.login__form-section{display:flex;justify-content:flex-end;align-items:center;width:100%}@media(min-width:992px){.login__form-section{width:50%}}.login__form-wrapper{width:100%;max-width:28.125rem;animation:slide-in-right .6s cubic-bezier(.16,1,.3,1)}.login__title{margin-bottom:var(--spacing-xl);color:var(--gray-900);font-weight:700;font-size:1.875rem;text-align:center}.login__form{display:flex;flex-direction:column;gap:var(--spacing-md)}@media(min-width:992px){.login__form{max-width:28.125rem}}.login__form>:first-child{animation:fade-in-up .4s ease .1s both}.login__form>:nth-child(2){animation:fade-in-up .4s ease .15s both}.login__form>:nth-child(3){animation:fade-in-up .4s ease .2s both}.login__form>:nth-child(4){animation:fade-in-up .4s ease .25s both}.login__form>:nth-child(5){animation:fade-in-up .4s ease .3s both}.login__form>:nth-child(6){animation:fade-in-up .4s ease .35s both}.login__field{position:relative}.login__input{width:100%;padding:var(--spacing-sm);font-size:1rem;border-radius:var(--border-radius)}.login__input:focus{outline:none;box-shadow:0 0 0 2px var(--brand-red)}.login__input::placeholder{color:var(--gray-500)}.login__input{color:var(--gray-900);border:none;background-color:var(--brand-beige-dark)}.login__input--white{border:2px solid var(--gray-900);background-color:rgba(0,0,0,0)}.login__input--white::placeholder{color:var(--gray-500)}.login__input::placeholder{color:var(--gray-600)}.login__input-icon{width:1.25rem;height:1.25rem;color:var(--gray-600)}.login__input-icon,.login__toggle-password{position:absolute;top:50%;right:var(--spacing-sm);transform:translateY(-50%)}.login__toggle-password{padding:0;border:none;background:none;cursor:pointer}.login__field-error{margin-top:var(--spacing-3xs)}.login__error,.login__field-error{color:var(--red-600);font-size:.875rem}.login__error{text-align:center;animation:shake .4s ease,fade-in-up .3s ease}.login__resend-link{padding:0;color:var(--brand-red);font-size:var(--font-size-sm);text-align:left;text-decoration:underline;border:none;background:none;cursor:pointer}.login__resend-link:hover{text-decoration:none}.login__resend-link:disabled{cursor:not-allowed;opacity:.5}.login__forgot-password{text-align:right}.login__forgot-link{padding:0;color:var(--gray-900);font-weight:700;font-size:var(--font-size-sm);border:none;background:none;cursor:pointer;transition:color .2s ease}.login__forgot-link:hover{color:var(--brand-red);text-decoration:underline}.login__button-container{display:flex;justify-content:flex-end}.login__submit{display:inline-block;padding:0;text-decoration:none;border:none;background:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--text-body);font-weight:600;font-size:var(--font-size-md);font-family:var(--font-family-button);line-height:1.6;padding-block:var(--spacing-sm);padding-inline:var(--spacing-xl);color:var(--btn-primary-color,var(--brand-white));border-radius:var(--border-radius-lg);background-color:var(--btn-primary-bg,var(--brand-red));transition:transform .2s ease,box-shadow .2s ease}.login__submit:hover:not(:disabled){box-shadow:0 4px 12px color-mix(in srgb,var(--btn-primary-bg,var(--brand-red)) 30%,transparent);transform:translateY(-2px)}.login__submit:active:not(:disabled){transform:translateY(0)}.login__signup-section{display:flex;flex-direction:column;align-items:flex-end;margin-top:var(--spacing-lg)}.login__signup-text{color:var(--text-body);font-weight:400;font-size:var(--font-size-2xs);font-family:var(--font-family-base);line-height:1.6;margin-bottom:var(--spacing-xs);font-weight:700}.login__signup-button{display:inline-block;padding:0;text-decoration:none;border:none;background:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:var(--font-size-md);padding-block:var(--spacing-sm);padding-inline:var(--spacing-xl);border:2px solid var(--brand-red);border-radius:var(--border-radius-lg);background-color:rgba(0,0,0,0);transition:transform .2s ease,background-color .2s ease,color .2s ease;color:var(--text-body);font-weight:600;font-size:var(--font-size-sm);font-family:var(--font-family-button);line-height:1.6;padding-block:var(--spacing-2xs);padding-inline:var(--spacing-lg);color:var(--brand-red)}.login__signup-button:hover:not(:disabled){color:var(--brand-white);background-color:var(--brand-red);transform:translateY(-2px)}.login__signup-button:active:not(:disabled){transform:translateY(0)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-left{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}