/* Shared staff navigation; page permissions remain enforced by each module. */
#staffSidebar { height:100vh; height:100dvh; min-height:0; }
#staffSidebar > .brand, #staffSidebar > .user-block, #staffSidebar > .signout { flex-shrink:0; }
#staffSidebar .staff-side-nav { overflow-y:auto; min-height:0; flex-shrink:1; overscroll-behavior:contain; }
#staffSidebar .staff-side-nav a { display:flex; }
#staffSidebar .staff-side-nav a:hover, #staffSidebar .staff-side-nav a:focus-visible { background:#16395f; color:#fff; }
#staffSidebar .staff-side-nav .nav-icon { margin-right:0; flex:0 0 22px; }
.staff-menu-close, .staff-menu-backdrop { display:none; }
.staff-service-dialog { max-width:min(420px,calc(100vw - 32px)); border:1px solid #d9e3ef; border-radius:12px; padding:24px; color:#10213e; }
.staff-service-dialog::backdrop { background:#091a3070; }
.staff-service-dialog h2 { margin:0 0 10px; font-size:22px; }
.staff-service-dialog p { color:#66758c; }
@media screen and (max-width:850px) {
  body { display:block; }
  #staffSidebar { position:fixed; top:0; bottom:0; left:-280px; width:255px; z-index:1100; transition:left .2s ease; }
  #staffSidebar.open { left:0; }
  .topbar .menu-toggle { display:inline-flex !important; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; min-width:44px; border:0; background:transparent; color:#10213e; font-size:26px; cursor:pointer; padding:0; margin-right:8px; }
  .staff-menu-close { display:block; align-self:flex-end; flex-shrink:0; width:44px; height:36px; padding:0; border:0; background:transparent; color:white; font-size:30px; cursor:pointer; }
  .staff-menu-backdrop:not([hidden]) { display:block; position:fixed; inset:0; background:#091a3070; z-index:1099; }
  body.staff-menu-open { overflow:hidden; }
}
@media print {
  #staffSidebar, .menu-toggle, .staff-menu-backdrop, .staff-service-dialog { display:none !important; }
}


/* Shared collapsible groups keep every destination available. */
#staffSidebar .staff-menu-group{margin:0 0 4px;border:0;padding:0;color:#e6edf7}
#staffSidebar .staff-menu-group>summary{display:flex;align-items:center;gap:8px;list-style:none;padding:10px 13px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;min-height:42px;margin:0;color:inherit;line-height:1.3}
#staffSidebar .staff-menu-group>summary::-webkit-details-marker{display:none}
#staffSidebar .staff-menu-group>summary::marker{content:''}
#staffSidebar .staff-menu-group>summary:hover{background:#16395f}
#staffSidebar .staff-menu-group>summary:focus-visible{outline:2px solid #99c4ff;outline-offset:-2px}
#staffSidebar .staff-menu-group.current-group>summary{background:#16395f;color:#fff}
#staffSidebar .staff-group-chevron{margin-left:auto;font-size:22px;line-height:1;transition:transform .15s ease}
#staffSidebar .staff-menu-group[open] .staff-group-chevron{transform:rotate(90deg)}
#staffSidebar .staff-menu-children{margin:3px 0 6px 24px;padding-left:7px;border-left:1px solid #ffffff26}
#staffSidebar .staff-menu-children a{font-size:13px;padding:8px 9px;gap:8px;min-height:36px;line-height:1.35}
#staffSidebar .staff-menu-children .nav-icon{width:18px;flex:0 0 18px;font-size:15px}
#staffSidebar .staff-menu-group:not([open])>.staff-menu-children{display:none}

#staffSidebar .staff-menu-group[hidden], #hardwareOrdersLink[hidden] { display:none !important; }

/* Compact menu (2026-10-15): tighter rows so the whole menu fits without scrolling. */
#staffSidebar { padding-top:12px; padding-bottom:10px; }
#staffSidebar > .brand.brand-logo-link { padding:2px 10px 10px; }
#staffSidebar .brand-logo { max-width:170px; }
#staffSidebar .staff-side-nav { gap:1px; }
#staffSidebar .staff-side-nav > a { padding:6px 12px; min-height:34px; line-height:1.25; font-size:14px; }
#staffSidebar .staff-menu-group { margin:0; }
#staffSidebar .staff-menu-group > summary { padding:6px 12px; min-height:34px; line-height:1.25; }
#staffSidebar .staff-side-nav .nav-icon { font-size:17px; }
#staffSidebar .staff-group-chevron { font-size:18px; }
#staffSidebar .staff-menu-children { margin:1px 0 4px 24px; }
#staffSidebar .staff-menu-children a { padding:4px 9px; min-height:28px; line-height:1.25; }
#staffSidebar > .user-block { padding:10px 8px 6px; }
/* When a very short window still needs to scroll, keep the scrollbar thin and dark. */
#staffSidebar .staff-side-nav { scrollbar-width:thin; scrollbar-color:#ffffff40 transparent; }
#staffSidebar .staff-side-nav::-webkit-scrollbar { width:6px; }
#staffSidebar .staff-side-nav::-webkit-scrollbar-track { background:transparent; }
#staffSidebar .staff-side-nav::-webkit-scrollbar-thumb { background:#ffffff40; border-radius:3px; }
#staffSidebar .staff-side-nav::-webkit-scrollbar-button { display:none; height:0; }

#staffSidebar .powered-by{flex-shrink:0;margin-top:auto;padding:10px 12px 0;font-size:11px;letter-spacing:.4px;color:#9fb3cc;text-align:center}
#staffSidebar .powered-by b{color:#fff;font-weight:700}
