.pw-wrap { position:relative; }
.pw-wrap input { width:100%; padding-right:42px; }
.pw-toggle { position:absolute; top:50%; right:8px; transform:translateY(-50%); background:none; border:none; padding:6px; cursor:pointer; color:#6b6b78; display:flex; align-items:center; justify-content:center; border-radius:6px; }
.pw-toggle:hover { color:#1f2233; background:#f1f2f6; }
.pw-toggle:focus { outline:none; color:#2d4fd2; }
.pw-toggle .eye-open { display:none; }
.pw-toggle .eye-closed { display:block; }
.pw-toggle.is-visible .eye-open { display:block; }
.pw-toggle.is-visible .eye-closed { display:none; }
#login-submit:disabled { background:#c4c8d0; color:#fff; cursor:not-allowed; box-shadow:none; opacity:1; }
#login-submit:disabled:hover { background:#c4c8d0; }
.pw-caps-hint { margin-top:6px; font-size:0.82rem; color:#b3261e; font-weight:700; display:flex; align-items:center; gap:5px; }
.pw-caps-hint[hidden] { display:none; }
/* Handy: Anmelden-Button kompakter, damit er nicht so gross wirkt und mehr
   Abstand zum Footer (Impressum) entsteht. */
@media (max-width: 768px) {
  #login-submit { width:auto !important; min-width:130px; padding:9px 20px !important; font-size:0.92rem; margin-top:10px !important; }
}
