/* Botão "Mostrar/Ocultar senha" (olho) — componente ÚNICO dos dois portais e das telas de login, recuperação, definição e troca de senha.
 * Montado por senha-olho.js sobre todo input[type=password]. Esconde o olho nativo do navegador (preto e quase invisível no campo escuro).
 * Cor: o texto secundário do tema (--text-2 no admin/portal, --muted nas telas de login) — contraste ≥ 3:1 de ícone contra o fundo do campo; mais claro no hover/foco. */
input[type="password"]::-ms-reveal, input[type="password"]::-ms-clear { display: none; }
.lc-senha { position: relative; display: block; }
.lc-senha > input { display: block; width: 100%; box-sizing: border-box; padding-right: 44px !important; }
/* Posição: centralizada pelo próprio campo (top/bottom 0 + margin auto, altura fixa), SEM transform — regras globais de `button` das telas de login
 * (width:100%, margin-top, :hover{transform:translateY(-1px)}, :active{transform:scale(.99)}, box-shadow, filter) deslocavam o botão para baixo do centro e
 * para fora da borda do campo. O que é herdado de `button` e mexe em geometria é anulado aqui com especificidade maior. */
.lc-senha > .lc-senha-olho {
    position: absolute; top: 0; bottom: 0; right: 6px; left: auto; z-index: 2; margin: auto 0 !important;
    display: inline-flex; align-items: center; justify-content: center; width: 32px !important; height: 32px; min-width: 24px; min-height: 24px; max-width: none; padding: 0 !important;
    border: 0; border-radius: 8px; background: transparent; background-image: none; cursor: pointer; line-height: 1; box-shadow: none; filter: none;
    transform: none !important; letter-spacing: 0; font-size: 0;
    color: var(--text-2, var(--muted, #8b95b0)); transition: color .15s ease, background-color .15s ease;
}
.lc-senha > .lc-senha-olho:hover, .lc-senha > .lc-senha-olho:active, .lc-senha > .lc-senha-olho:focus { transform: none !important; filter: none; box-shadow: none; }
.lc-senha-olho svg { width: 20px; height: 20px; display: block; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.lc-senha > .lc-senha-olho:hover, .lc-senha > .lc-senha-olho:focus-visible, .lc-senha > .lc-senha-olho[aria-pressed="true"] { color: var(--text-1, var(--text, #f8fbff)); }
.lc-senha > .lc-senha-olho:hover { background-color: rgba(255, 255, 255, .08); }
.lc-senha > .lc-senha-olho:focus-visible { outline: 2px solid var(--accent, #3b82f6); outline-offset: 1px; background-color: rgba(255, 255, 255, .08); }
@media (prefers-reduced-motion: reduce) { .lc-senha-olho { transition: none; } }
