/* ────────────────────────────────────────────────────────────────────────
   Micro-interações — feedback de toque (sensação "app nativa").
   Usa !important nas propriedades-chave porque o codebase tem CSS muito
   específico (+ muitos !important) que sobreporia regras globais fracas.
   Respeita prefers-reduced-motion (acessibilidade).
   ──────────────────────────────────────────────────────────────────────── */

/* Remover o flash cinza/azul default do tap em mobile (damos feedback próprio). */
a, button, .btn, .btn-save, .btn-new, .btn-primary, .btn-ghost, .btn-new,
[role="button"], .tab, .m-bn-item, .appt-card, .svc-card, .client-card,
.card, input, textarea, select, label, [onclick] {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
}

/* Feedback tátil ao carregar: botões afundam ligeiramente (snap rápido). */
button:active, .btn:active, .btn-save:active, .btn-new:active,
.btn-primary:active, .btn-ghost:active, a.btn:active,
[role="button"]:active, .m-bn-item:active {
  transform: scale(.96) !important;
}

/* Cards tappáveis: feedback mais subtil (são maiores). */
.appt-card:active, .svc-card:active, .client-card:active,
.card[onclick]:active, [onclick].kpi:active {
  transform: scale(.985) !important;
}

/* Acessibilidade: quem prefere menos movimento não leva feedback de escala nem animações. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
  button:active, .btn:active, [role="button"]:active,
  .m-bn-item:active, .appt-card:active, .svc-card:active,
  .client-card:active, .card[onclick]:active {
    transform: none !important;
  }
}
