/* ── Audit Live — animations temps réel ── */

/* Entrée d'un nouveau log injecté par Turbo Stream */
@keyframes audit-entry-in {
  0% {
    opacity: 0;
    transform: translateY(-6px) scale(0.99);
    background-color: #ecfdf5; /* emerald-50 */
  }
  30% {
    opacity: 1;
    transform: translateY(0) scale(1);
    background-color: #d1fae5; /* emerald-100 */
  }
  100% {
    background-color: transparent;
  }
}

.audit-entry-new {
  animation: audit-entry-in 1.8s ease forwards;
}

/* Flash du badge compteur */
@keyframes audit-badge-flash {
  0%   { transform: scale(1);    background-color: #059669; color: #fff; }
  40%  { transform: scale(1.25); background-color: #10b981; color: #fff; }
  100% { transform: scale(1);    background-color: inherit; color: inherit; }
}

.audit-badge-flash {
  animation: audit-badge-flash 0.5s ease forwards;
}

/* Pulse persistant sur le point "En direct" (renforcement) */
@keyframes live-pulse {
  0%, 100% { opacity: 1;   transform: scale(1); }
  50%       { opacity: 0.4; transform: scale(1.4); }
}

.live-dot {
  animation: live-pulse 1.6s ease-in-out infinite;
}
