/* Campos de senha no padrão do painel (equipe.html) para páginas fora do shell
   interno (cadastro, recuperação e portal do cliente). Mesmas classes de
   painel-core.css — não incluir este arquivo em páginas que já usam painel.css. */

.password-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.password-input-wrap input {
  width: 100%;
  padding-right: 42px;
}

.password-toggle {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #7a94aa;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  transition: color 0.18s ease, background 0.18s ease;
}

.password-toggle:hover {
  color: #2c5478;
  background: #edf4fb;
}

.password-toggle svg {
  width: 17px;
  height: 17px;
  display: block;
}

/* Páginas fora do painel podem não ter a utilitária .hidden — garante aqui
   que só um dos dois olhos (aberto/riscado) aparece por vez. */
.password-toggle .eye-icon.hidden,
.password-toggle .eye-off-icon.hidden {
  display: none;
}

/* ── Checklist de regras ── */
.pw-rules {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 8px 0 0;
  padding: 10px 12px;
  background: #f4f8fb;
  border: 1px solid #d7e5ef;
  border-radius: 10px;
}

.pw-rules.hidden {
  display: none;
}

.pw-rules li {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.76rem;
  color: #7a94aa;
  transition: color 0.18s ease;
}

.pw-rules li::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1.5px solid #b8cdd9;
  flex-shrink: 0;
  background: transparent;
  transition: border-color 0.18s ease, background 0.18s ease;
}

.pw-rules li.ok {
  color: #167d57;
}

.pw-rules li.ok::before {
  border-color: #167d57;
  background: #167d57;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 9px;
}

.pw-rules li.fail {
  color: #b84040;
}

.pw-rules li.fail::before {
  border-color: #e0a0a0;
  background: #fee8e8;
}

/* ── Aviso de confirmação ── */
.pw-match-hint {
  margin: 6px 0 0;
  font-size: 0.76rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
}

.pw-match-hint.hidden {
  display: none;
}

.pw-match-hint.match {
  color: #167d57;
}

.pw-match-hint.no-match {
  color: #b84040;
}
