.campo-senha-visivel {
  position: relative;
  display: block;
  width: 100%;
}

.campo-senha-visivel > input {
  width: 100% !important;
  padding-right: 86px !important;
  box-sizing: border-box !important;
}

.botao-mostrar-senha {
  position: absolute;
  top: 50%;
  right: 8px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 70px;
  min-height: 32px;
  padding: 5px 8px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #426173;
  font: 700 11px/1 Arial, sans-serif;
  cursor: pointer;
  transform: translateY(-50%);
}

.botao-mostrar-senha:hover,
.botao-mostrar-senha:focus-visible {
  background: #e8f3f8;
  color: #075f88;
  outline: 2px solid #7fc1df;
  outline-offset: 1px;
}

@media (max-width: 480px) {
  .botao-mostrar-senha span { display: none; }
  .botao-mostrar-senha { min-width: 36px; justify-content: center; font-size: 15px; }
  .campo-senha-visivel > input { padding-right: 52px !important; }
}

@media print { .botao-mostrar-senha { display: none !important; } }
