/* Audit 2026-10-01: scoped login accessibility improvements, existing layout retained. */
.login-input input { min-width: 0; font-size: 16px; }
.login-input input::placeholder { color: #746b7c; opacity: 1; }
.login-reveal { min-width: 44px; min-height: 44px; flex-shrink: 0; color: #65566f; }
.login-field-group > label { font-size: 14px; }
.login-remember { min-height: 44px; font-size: 14px; }
.login-remember input { width: 18px; height: 18px; }
.login-remember small { font-size: 12px; color: #696071; }
.login-intro, .login-help { color: #696071; }
.login-help { font-size: 13px; }
.login-footer { font-size: 12px; color: #696071; }
.login-language .field { min-height: 44px; font-size: 14px; }
.login-reveal:focus-visible, .login-remember input:focus-visible,
.login-language .field:focus-visible { outline: 3px solid #7862b9; outline-offset: 3px; }
.login-input:focus-within { border-color: #7862b9; box-shadow: 0 0 0 3px #7862b933; }

/* Keep profile actions reachable when the data table scrolls horizontally. */
@media (min-width: 768px) {
  main:has([aria-label="Filtres et actions des profils"]) table :is(th,td):last-child,
  main:has([aria-label="Profile filters and actions"]) table :is(th,td):last-child {
    position: sticky;
    right: 0;
    z-index: 2;
    background: var(--color-canvas, #08090c);
    box-shadow: -1px 0 0 var(--color-line, #282a33), -8px 0 12px #00000012;
    padding-left: 12px;
  }
}
