/* Dash JogueiCerto — navegação contínua (14/10), par do dash-nav.js. Só aparência.
   Menu lateral e barra do topo ficam PARADOS na troca de aba (não somem e voltam);
   só o miolo da página faz a transição. Navegador sem View Transitions ignora. */
@media (prefers-reduced-motion: no-preference){
  body .admin-sidebar{view-transition-name:jc-menu}
  body .hb-topo{view-transition-name:jc-topo}
  ::view-transition-group(jc-menu),::view-transition-group(jc-topo){animation-duration:0s}
  ::view-transition-old(jc-menu),::view-transition-old(jc-topo){animation:none;opacity:0}
  ::view-transition-new(jc-menu),::view-transition-new(jc-topo){animation:none}
}

/* item do menu: desliza de leve no hover, o ativo tem a barrinha vermelha crescendo */
body .admin-sidebar .sidebar-nav a{transition:transform .35s cubic-bezier(.2,.9,.3,1.2),background-color .2s,color .2s}
body .admin-sidebar .sidebar-nav a:hover{transform:translateX(3px)}
body .admin-sidebar .sidebar-nav a:active{transform:translateX(3px) scale(.97)}

/* botões respondem ao toque */
body .content :is(.btn,.btn-sm,button,[class^="btn-"],[class*=" btn-"],.page-link,.filter-btn){transition:transform .4s cubic-bezier(.2,.9,.3,1.3),filter .2s,background-color .2s,box-shadow .2s}
body .content :is(.btn,.btn-sm,button,[class^="btn-"],[class*=" btn-"],.page-link,.filter-btn):active{transform:scale(.95)}
body .content :is(.btn,[class^="btn-"],[class*=" btn-"]):hover{filter:brightness(1.08)}

/* avisos do servidor entram deslizando */
body .content :is(.alert-success,.alert-danger,.alert){animation:jcNavAviso .5s cubic-bezier(.2,.9,.3,1.1)}
@keyframes jcNavAviso{from{opacity:0;transform:translateY(-10px)}}

/* troca de tabela sem recarregar (filtro/paginação): a nova chega subindo de leve */
::view-transition-old(root){animation-duration:.16s}

/* campos: foco com brilho suave */
body .content :is(input,select,textarea){transition:border-color .2s,box-shadow .25s,background-color .2s}
body .content :is(input,select,textarea):focus{box-shadow:0 0 0 3px rgba(210,13,13,.22)!important}

@media (prefers-reduced-motion: reduce){
  body .admin-sidebar .sidebar-nav a,body .content :is(.btn,.btn-sm,button,.page-link){transition:none}
  body .content :is(.alert-success,.alert-danger,.alert){animation:none}
}
