/* F148 - Movimento discreto e acessibilidade. Nao altera layout nem regras operacionais. */
:root { --ct-motion-short: 140ms; --ct-motion-medium: 200ms; }
/* Navegacao por teclado sempre identificavel nos controles principais. */
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [role="button"]:focus-visible {
  outline: 3px solid #0a866e !important;
  outline-offset: 2px;
}
/* Evita animacoes repetitivas em avisos. A cor/contorno de alerta permanecem visiveis. */
#adminNotifyBtn.ct-pix-notify-critical { animation: none !important; }
/* F154: feedback de clique discreto, sem mudar dimensoes, posicionamento ou cores da marca. */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  :where(button, [role="button"]):not(:disabled):not([aria-disabled="true"]) {
    transition: filter var(--ct-motion-short, 140ms) ease;
  }
  :where(button, [role="button"]):not(:disabled):not([aria-disabled="true"]):active {
    filter: brightness(.96);
  }
}
/* Carregamento apenas em componentes que explicitamente indiquem espera. */
:where([aria-busy="true"]) { cursor: progress; }
/* Respeitar acessibilidade e economia de bateria no celular/WebView. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
