/* Silent background refresh: dynamic CRM data stays visible while fresh reads happen. */
.df-fresh-loading{display:none!important}
.df-fresh-spinner{display:none!important}

/* Recreated tables/cards must not replay entrance/motion effects on every poll. */
#dashboardStats *,
#overviewTable *,
#brokerTopCards *,
#accountSections *,
#seriesTable *,
#signalsTable *,
#ordersTable *,
#tradesTable *,
#calculationsTable *,
#dailyTable *,
#modesTable *,
#profilesTable *,
#strategyTable *,
#configTable *,
#telegramTable *,
#auditTable *,
#navigationTable *,
#ejIntegrity *,
#ejHealth *,
#ejStages *,
#ejComparison *,
#ejErrors *,
#ejContinuity *,
#ejCycleHistoryBody *{
  animation:none!important;
  animation-delay:0s!important;
  transition-property:color,background-color,border-color,box-shadow!important;
  transition-duration:.12s!important;
}

/* Prevent repaint-driven layout flashes while preserving horizontal table scrolling. */
.data-table-wrap,
.sig-life-table-wrap{
  contain:layout paint;
}

@media (prefers-reduced-motion:reduce){
  #dashboardStats *,#overviewTable *,#brokerTopCards *,#accountSections *,#seriesTable *,#signalsTable *,#ordersTable *,#tradesTable *,#calculationsTable *,#dailyTable *,#modesTable *,#profilesTable *,#strategyTable *,#configTable *,#telegramTable *,#auditTable *,#navigationTable *{transition:none!important}
}
