/*
 * Accessible interaction states for the shared shell.
 * Structural dimensions and page-level visual polish do not belong here.
 */
#appRoot.navx-auth :where(
  #navxMobileTrigger,
  #navxMobileBack,
  #navxCloseBtn,
  .navx-item,
  #navxLogout,
  #pageContextTitle,
  #pageContextBack,
  #pageContextRefresh
):focus-visible{
  outline:3px solid #1f5fd1;
  outline-offset:3px;
}

#appRoot.navx-auth .navx-item{
  transition:background .16s ease, color .16s ease, transform .16s ease;
}

@media (max-width:1023px){
  #appRoot.navx-auth .navx-sidebar{
    transition-property:transform, visibility;
    transition-duration:.28s, 0s;
    transition-delay:0s, .28s;
    transition-timing-function:cubic-bezier(.22,.9,.25,1), linear;
  }

  #appRoot.navx-auth .navx-sidebar.open{
    transition-delay:0s, 0s;
  }

  #appRoot.navx-auth .navx-mobileChevron{
    transition-property:transform;
    transition-duration:.18s;
    transition-delay:0s;
    transition-timing-function:ease;
  }
}

@media (forced-colors:active){
  #appRoot.navx-auth :where(
    #navxMobileTrigger,
    #navxMobileBack,
    #navxCloseBtn,
    .navx-item,
    #navxLogout,
    #pageContextTitle,
    #pageContextBack,
    #pageContextRefresh
  ):focus-visible{
    outline-color:CanvasText;
  }
}

@media (prefers-reduced-motion:reduce){
  #appRoot.navx-auth .navx-sidebar,
  #appRoot.navx-auth .navx-mobileChevron,
  #appRoot.navx-auth .navx-item{
    transition:none !important;
    animation:none !important;
  }

  #appRoot.navx-auth{
    scroll-behavior:auto !important;
  }
}
