/* Campo e input */
.field {
  position: relative;
  display: inline-block;
}

.field input[type="password"],
.field input[type="text"] {
  padding-right: 2.6rem; /* espaço para o botão do olho */
  font-size: 1rem;
  height: 2.4rem;
}

/* 🔒 Botão do olho — estilo independente */
.field .toggle-visibility {
  all: unset; /* <-- zera todos os estilos herdados */
  position: absolute;
  right: 0.4rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  background: transparent;
}

.field .toggle-visibility:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.field .toggle-visibility svg {
  width: 1.2rem;
  height: 1.2rem;
  stroke: #555;
}

.field .toggle-visibility:focus {
  outline: 2px solid Highlight;
}

