/* Shared subtle navigation motion; no delays on interaction or data refresh. */
.nav .caret,.nav .grp .arr{transition:transform 200ms cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){
 .nav .subnav,.nav .caret,.nav .grp .arr,.side,.backdrop{transition:none!important;animation:none!important}
}

/* One animation owns submenu height. Avoid CSS max-height and browser scroll
   anchoring competing with the current animation during rapid clicks. */
body[data-ui=console] .side .nav{overflow-anchor:none;scrollbar-gutter:stable}
body[data-ui=console] .nav .subnav{transition:none!important}
body[data-ui=console] .nav details{box-sizing:border-box}
body[data-ui=console] .nav .agent-menu-caret{transition:transform 220ms cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){body[data-ui=console] .nav .agent-menu-caret{transition:none}}
