.password-recovery-modal{
  position:fixed;
  inset:0;
  z-index:135000;
  display:none;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:22px;
  overflow:auto;
  background:rgba(11,37,69,.64);
}
.password-recovery-modal.is-open{display:flex}
.password-recovery-card{
  width:min(560px,100%);
  max-height:calc(100vh - 44px);
  overflow:auto;
  box-sizing:border-box;
  padding:28px clamp(20px,5vw,38px);
  border:1px solid #d6deea;
  border-radius:18px;
  background:#fff;
  color:#0b2545;
  box-shadow:0 24px 70px rgba(11,37,69,.24);
}
.password-recovery-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
.password-recovery-title{margin:0;color:#0b2545;font-size:25px;line-height:1.15}
.password-recovery-subtitle{margin:7px 0 0;color:#53657a;font-size:14px;line-height:1.45}
.password-recovery-close{
  flex:0 0 38px;
  width:38px;
  min-width:38px;
  height:38px;
  min-height:38px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#eef2f7;
  color:#0b2545;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.password-recovery-close:hover,.password-recovery-close:focus-visible{background:#dbe7f5;outline:3px solid rgba(22,131,58,.2)}
.password-recovery-step[hidden]{display:none!important}
.password-recovery-field{display:grid;gap:6px;margin-top:14px}
.password-recovery-field label{color:#0b2545;font-size:14px;font-weight:900}
.password-recovery-field input{
  width:100%;
  max-width:none!important;
  min-height:48px;
  box-sizing:border-box;
  padding:10px 12px;
  border:1px solid #b9c7d8;
  border-radius:10px;
  background:#f8fafc;
  color:#0b2545;
  font:inherit;
  font-size:16px;
}
.password-recovery-field input:focus{border-color:#16833a;outline:3px solid rgba(22,131,58,.13)}
.password-recovery-code{letter-spacing:.28em;font-variant-numeric:tabular-nums}
.password-recovery-password-guidance{margin-top:16px;padding:13px 14px;border:1px solid #d6deea;border-radius:8px;background:#f7fafc;color:#334155;font-size:13px;line-height:1.45}
.password-recovery-password-guidance strong{display:block;color:#0b2545;font-size:14px}
.password-recovery-password-guidance p{margin:10px 0 0;overflow-wrap:anywhere}
.password-recovery-password-guidance code{font:inherit;color:#0b2545;word-break:break-word}
.password-recovery-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:10px 0 0;padding:0;list-style:none}
.password-recovery-rules li{display:flex;align-items:center;gap:7px;color:#64748b}
.password-recovery-rule-indicator{display:inline-block;flex:0 0 11px;width:11px;height:11px;border:2px solid #94a3b8;border-radius:50%;box-sizing:border-box}
.password-recovery-rules li.is-met{color:#137b46}
.password-recovery-rules li.is-met .password-recovery-rule-indicator{border-color:#137b46;background:#137b46;box-shadow:inset 0 0 0 2px #f7fafc}
.password-recovery-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:22px}
.password-recovery-actions button{
  min-height:44px;
  padding:9px 16px;
  border:1px solid #0b2545;
  border-radius:9px;
  background:#fff;
  color:#0b2545;
  font-weight:900;
  cursor:pointer;
}
.password-recovery-actions .password-recovery-primary{background:#0b2545;color:#fff}
.password-recovery-actions button:hover:not(:disabled),.password-recovery-actions button:focus-visible:not(:disabled){box-shadow:0 0 0 3px rgba(22,131,58,.16);outline:0}
.password-recovery-actions button:disabled{cursor:wait;opacity:.58}
.password-recovery-resend{margin-right:auto}
.password-recovery-message{min-height:21px;margin:16px 0 0;color:#0b2545;font-size:14px;font-weight:800;line-height:1.4}
.password-recovery-message.is-error{color:#a51d2d}
.password-recovery-message.is-success{color:#137b46}
.password-recovery-hint{margin:10px 0 0;color:#64748b;font-size:12px;line-height:1.4}
@media(max-width:560px){
  .password-recovery-modal{align-items:flex-start;padding:12px}
  .password-recovery-card{max-height:calc(100vh - 24px);padding:22px 18px;border-radius:14px}
  .password-recovery-title{font-size:21px}
  .password-recovery-actions{display:grid;grid-template-columns:1fr}
  .password-recovery-actions button{width:100%}
  .password-recovery-resend{margin-right:0}
  .password-recovery-rules{grid-template-columns:1fr}
}
.password-recovery-trusted-sender{display:block;margin:10px auto 0;border:0;background:transparent;color:#0b4f8a;text-decoration:underline;text-underline-offset:3px;font-weight:800;cursor:pointer}
