/* Danxis — Etapa 21: recuperação e alteração segura de senha */
.login-options .e21-forgot-password{
  appearance:none;
  border:0;
  background:transparent;
  color:#0d5f95;
  padding:0;
  margin:0;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.login-options .e21-forgot-password:hover{color:#083f68}

.e21-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(3,17,35,.66);
  backdrop-filter:blur(7px);
}
.e21-modal-backdrop.show{display:flex}
.e21-modal{
  width:min(100%,500px);
  max-height:calc(100vh - 40px);
  overflow:auto;
  border:1px solid rgba(205,219,231,.95);
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 28px 75px rgba(3,22,45,.28);
}
.e21-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px 17px;
  border-bottom:1px solid #e3ebf1;
}
.e21-modal-head-copy{display:flex;gap:13px;align-items:flex-start}
.e21-modal-icon{
  width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:0 0 42px;
  background:linear-gradient(145deg,#0b2e6b,#1183b6);color:#fff;font-size:19px;font-weight:900;
}
.e21-modal-head h2{margin:0;color:#061b31;font-size:18px;line-height:1.25}
.e21-modal-head p{margin:5px 0 0;color:#000;font-size:11px;line-height:1.45}
.e21-modal-close{
  width:30px;height:30px;border-radius:9px;border:1px solid #dce6ed;background:#fff;color:#000;font-size:17px;
}
.e21-modal-body{padding:22px 24px 24px}
.e21-field{display:grid;gap:6px;margin-bottom:14px}
.e21-field label{color:#000;font-size:11px;font-weight:800}
.e21-input-wrap{position:relative}
.e21-input-wrap input{
  width:100%;height:43px;border:1px solid #cfdce6;border-radius:11px;background:#fff;color:#000;
  padding:0 42px 0 13px;outline:none;font-size:12px;
}
.e21-input-wrap input:focus{border-color:#1b7ead;box-shadow:0 0 0 3px rgba(27,126,173,.12)}
.e21-input-wrap input::placeholder{color:#000;opacity:.65}
.e21-password-toggle{
  position:absolute;right:7px;top:50%;transform:translateY(-50%);width:31px;height:31px;border:0;border-radius:8px;
  background:#eef4f8;color:#173d5c;font-size:13px;
}
.e21-password-rules{
  margin:2px 0 16px;padding:11px 13px;border:1px solid #dfe8ef;border-radius:11px;background:#f7fafc;
  color:#000;font-size:10px;line-height:1.5;
}
.e21-message{display:none;margin:0 0 15px;padding:11px 13px;border-radius:11px;font-size:11px;line-height:1.4}
.e21-message.show{display:block}
.e21-message.error{background:#fff0f2;border:1px solid #f3ccd3;color:#9f2d43}
.e21-message.success{background:#eaf8f2;border:1px solid #c9eadc;color:#126748}
.e21-message.info{background:#eef7fc;border:1px solid #cfe5f1;color:#235976}
.e21-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;flex-wrap:wrap}
.e21-btn{border-radius:10px;padding:10px 14px;font-size:11px;font-weight:800;border:1px solid #d4e0e8;background:#fff;color:#000}
.e21-btn.primary{border-color:#0b5f95;background:#0b5f95;color:#fff}
.e21-btn:disabled{opacity:.55;cursor:not-allowed}
.e21-first-note{
  margin-bottom:16px;padding:13px 14px;border-radius:12px;background:#fff7e6;border:1px solid #efddae;color:#6f4d12;
  font-size:11px;line-height:1.5;
}
.e21-email-created-note{
  margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#eef8fb;border:1px solid #d5e8ef;color:#154a67;font-size:10px;
}
body.e21-modal-open{overflow:hidden}
@media(max-width:560px){
  .e21-modal-backdrop{padding:10px}.e21-modal{border-radius:17px}.e21-modal-head,.e21-modal-body{padding-left:18px;padding-right:18px}
  .e21-actions{flex-direction:column-reverse}.e21-btn{width:100%}
}
