/*
------------------------------------------------------------------------------
:: Movys 2026 Developed by Julio Cosmo | 14/07/2026 - 02:31.
:: WARNING: This computer program is protected by copyright law and international treaties.
:: Unauthorized duplication or distribution of this program, or any portion of it, may result
:: in severe civil or criminal penalties, and will be prosecuted to the maximum extent possible
:: under the law.
::
:: v.1.0 - 14/07/2026 - Implementa os estilos complementares da pagina publica de recuperacao de senha no design system institucional do login e do signup.
:: v.1.1 - 14/07/2026 - Aplica a imagem reset-password-card.png no painel visual lateral da recuperacao de senha.
:: v.1.2 - 14/07/2026 - Conecta a imagem lateral da recuperacao de senha ao parallax compartilhado das telas publicas de autenticacao.
------------------------------------------------------------------------------
*/

.reset-password-page .login-form-panel-inner {
  max-width: 820px;
}

.reset-password-brand-surface {
  --login-brand-background-image: url("/assets/images/login/reset-password-card.png");
}

.reset-password-shell {
  padding: 42px 36px 38px;
}

.reset-password-brand-copy {
  max-width: 488px;
  bottom: 34px;
}

.reset-password-brand-card {
  position: relative;
  padding: 24px 26px 24px;
  border: 1px solid rgba(255, 255, 255, 0.44);
  border-radius: 28px;
  backdrop-filter: blur(16px);
}

.reset-password-brand-title {
  max-width: none;
  font-size: clamp(2.06rem, 2.55vw, 3.2rem);
  line-height: 1.03;
}

.reset-password-view[hidden] {
  display: none;
}

.reset-password-form .login-field {
  margin-bottom: 14px;
}

.reset-password-password-field .login-input {
  padding-right: 56px;
}

.reset-password-toggle {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #7b8190;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.18s ease, background-color 0.18s ease;
}

.reset-password-toggle:hover,
.reset-password-toggle:focus-visible {
  color: #07386b;
  background: rgba(7, 56, 107, 0.06);
  outline: none;
}

.reset-password-strength {
  margin: -2px 0 18px;
}

.reset-password-strength-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.reset-password-strength-segment {
  height: 6px;
  border-radius: 999px;
  background: #e5e7eb;
  transition: background-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

.reset-password-strength-label {
  display: inline-block;
  margin-top: 8px;
  color: #56708e;
  font-size: 0.75rem;
  line-height: 1.55;
}

.reset-password-strength[data-strength="1"] .reset-password-strength-segment:nth-child(-n + 1) {
  background: #ef4444;
}

.reset-password-strength[data-strength="2"] .reset-password-strength-segment:nth-child(-n + 2) {
  background: #f59e0b;
}

.reset-password-strength[data-strength="3"] .reset-password-strength-segment:nth-child(-n + 3) {
  background: #3b82f6;
}

.reset-password-strength[data-strength="4"] .reset-password-strength-segment:nth-child(-n + 4) {
  background: #10b981;
}

.reset-password-feedback {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(7, 56, 107, 0.12);
  border-radius: 12px;
  background: rgba(7, 56, 107, 0.05);
  color: #33506a;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.78rem;
  line-height: 1.55;
}

.reset-password-feedback[hidden] {
  display: none;
}

.reset-password-feedback-icon {
  color: #07386b;
  font-size: 0.82rem;
  margin-top: 2px;
}

.reset-password-submit-button {
  margin-top: 0;
}

.reset-password-success-panel {
  margin-top: 8px;
  padding: 18px 18px 16px;
  border: 1px solid rgba(7, 56, 107, 0.12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(7, 56, 107, 0.03) 0%, rgba(7, 56, 107, 0.06) 100%);
}

.reset-password-success-panel[hidden] {
  display: none;
}

.reset-password-success-panel-error {
  border-color: rgba(220, 38, 38, 0.16);
  background: linear-gradient(180deg, rgba(220, 38, 38, 0.03) 0%, rgba(220, 38, 38, 0.06) 100%);
}

.reset-password-success-icon {
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  border-radius: 14px;
  background: rgba(7, 56, 107, 0.08);
  color: #07386b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

.reset-password-success-icon-error {
  background: rgba(220, 38, 38, 0.1);
  color: #b42318;
}

.reset-password-success-title {
  margin: 0 0 6px;
  color: #07386b;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.4;
}

.reset-password-success-body {
  margin: 0;
  color: #56708e;
  font-size: 0.8rem;
  line-height: 1.65;
}

.reset-password-success-button {
  margin-top: 14px;
  text-decoration: none;
}

.reset-password-support-links {
  margin-top: 12px;
}

@media (max-width: 1200px) {
  .reset-password-brand-copy {
    max-width: 520px;
  }
}

@media (max-width: 767px) {
  .reset-password-shell {
    max-width: 100%;
    padding: 34px 22px 30px;
  }

  .reset-password-strength {
    margin-bottom: 16px;
  }
}
