/* En móvil la barra fija necesita su propio desplazamiento, independiente de la página. */
.mobile-sidebar-toggle,.mobile-sidebar-backdrop,.mobile-company-name{display:none}
@media(max-width:950px){
  .sidebar{top:0;height:100vh;height:100dvh;overflow:hidden;padding-bottom:max(22px,env(safe-area-inset-bottom,0px))}
  .sidebar>.brand,.sidebar>.sidebar-logo-wrap{flex-shrink:0}
  .sidebar #nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;grid-auto-rows:min-content;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
  .sidebar #nav .nav-link{min-width:0;padding-inline:8px}
  .mobile-sidebar-toggle{display:block;flex:0 0 auto;min-height:44px;margin-bottom:6px;border:1px solid #6682c5;border-radius:8px;background:transparent;color:#fff;font:600 16px system-ui;cursor:pointer}
  .mobile-sidebar-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:84;border:0;background:#091a4280}
  .sidebar.mobile-sidebar-open{width:min(300px,calc(100vw - 40px));z-index:85;padding:10px 14px max(10px,env(safe-area-inset-bottom,0px));box-shadow:8px 0 24px #07152d44}
  .sidebar.mobile-sidebar-open .nav-link{font-size:14px;text-align:left;min-height:44px}
  .sidebar.mobile-sidebar-open .brand{padding-bottom:10px}
  .sidebar.mobile-sidebar-open .brand>span:last-child{font-size:14px}
  .sidebar.mobile-sidebar-open .sidebar-bottom{display:block;flex:0 0 auto;margin-top:8px}
  .sidebar.mobile-sidebar-open .location{padding:8px 9px;min-height:44px;cursor:pointer}
  .sidebar.mobile-sidebar-open .location strong{display:block;padding-right:18px;overflow-wrap:anywhere}
  .sidebar.mobile-sidebar-open .location span{bottom:12px}
  .sidebar.mobile-sidebar-open .user{padding:8px 5px 0;min-height:48px}
  .sidebar.mobile-sidebar-open .profile-menu{min-width:44px;min-height:44px}
  .sidebar.mobile-sidebar-open .profile-options{position:fixed;left:12px;right:auto;bottom:max(72px,env(safe-area-inset-bottom,0px));width:min(280px,calc(100vw - 24px));max-height:calc(100dvh - 100px);overflow-y:auto}
  /* Collapsed mobile navigation is a top bar, leaving the full width to the page. */
  .sidebar:not(.mobile-sidebar-open){position:fixed;top:0;left:0;right:0;width:100%;height:64px;flex-direction:row;align-items:center;justify-content:space-between;padding:8px max(15px,env(safe-area-inset-right,0px)) 8px max(15px,env(safe-area-inset-left,0px));z-index:82;transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden}
  .sidebar:not(.mobile-sidebar-open)>#nav,.sidebar:not(.mobile-sidebar-open)>.brand,.sidebar:not(.mobile-sidebar-open)>.sidebar-bottom{display:none}
  .sidebar:not(.mobile-sidebar-open)>.sidebar-logo-wrap{order:1;width:110px;height:44px;padding:0;justify-content:flex-start}
  .sidebar:not(.mobile-sidebar-open) .sidebar-logo-image{width:110px;height:40px;object-position:left center}
  .sidebar:not(.mobile-sidebar-open)>.mobile-sidebar-toggle{order:3;width:48px;height:44px;margin:0}
  .sidebar:not(.mobile-sidebar-open)>.mobile-company-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;order:2;flex:1 1 auto;min-width:0;max-height:38px;overflow:hidden;overflow-wrap:anywhere;padding:0 10px;color:#fff;text-align:center;font:600 14px/19px system-ui}
  main{margin-left:0;padding-top:84px}
}
@media print{.mobile-sidebar-toggle,.mobile-sidebar-backdrop{display:none!important}}

@media(max-width:950px){.sidebar.mobile-sidebar-open .sidebar-logo-image{width:150px;height:40px}}
