/* Sole owner of document/sidebar positioning. Keep the media rule in sync with mobileMenu(). */
body:not(.login-page){margin:0;min-height:100vh}
.workspace{min-width:0;margin-right:0}
.sidebar{position:fixed;inset:0 0 0 auto;width:min(260px,calc(100vw - 32px));height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;transform:translateX(100%);visibility:hidden;transition:transform 200ms ease}
.sidebar>.brand,.sidebar>.nav-label,.sidebar>nav,.sidebar>.sidebar-foot{flex-shrink:0}
.menu-open{overflow:hidden}
.menu-open .sidebar{transform:none;visibility:visible}
@media screen and (min-width:901px),screen and (min-width:601px) and (hover:hover) and (pointer:fine){
 body:not(.login-page){display:grid;grid-template-columns:238px minmax(0,1fr)}
 .sidebar{position:static;inset:auto;width:100%;height:auto;min-height:100vh;overflow:visible;grid-column:1;grid-row:1;transform:none;visibility:visible;transition:none}
 .workspace{grid-column:2;grid-row:1}
 #menu-toggle,#menu-close,.menu-overlay{display:none}
}
@media screen and (min-width:901px) and (max-width:1199px),screen and (min-width:601px) and (max-width:900px) and (hover:hover) and (pointer:fine){body:not(.login-page){grid-template-columns:214px minmax(0,1fr)}}
@media print{body:not(.login-page){display:block}.sidebar{display:none!important}.workspace{margin:0}}
