/* Single navigation layout for home / stores / orders.
   Deliberately scoped to the sidebar and shell: business pages are not restyled. */
body.route-home, body.route-stores, body.route-orders { --sidebar: 196px; --header: 56px; }
#sidebar.nx-sidebar-unified,
body.subpage #sidebar.nx-sidebar-unified {
  top: 0; bottom: 0; width: var(--sidebar); min-width: var(--sidebar);
  display: flex; flex-direction: column;
  padding: 0 11px 13px;
  background: linear-gradient(160deg, #031727 0%, #061a2b 66%, #041523 100%);
  border-right: 1px solid #12405d;
  z-index: 31;
}
#sidebar.nx-sidebar-unified .brand,
body.subpage #sidebar.nx-sidebar-unified .brand {
  height: var(--header); min-height: var(--header); display: flex;
  align-items: center; padding: 0 7px; font-size: 24px;
  font-weight: 800; color: #f3bf72; letter-spacing: 1px;
  white-space: nowrap;
}
#sidebar.nx-sidebar-unified nav,
body.subpage #sidebar.nx-sidebar-unified nav {
  display: block; flex: 1; min-height: 0;
  overflow-y: auto; overflow-x: hidden;
  padding: 11px 2px 14px 0;
  scrollbar-width: thin;
  scrollbar-color: #214968 transparent;
}
#sidebar.nx-sidebar-unified .nav-item,
body.subpage #sidebar.nx-sidebar-unified .nav-item {
  display: flex; align-items: center; width: 100%; height: 39px;
  margin: 0 0 3px; padding: 0 10px; gap: 12px;
  border: 1px solid transparent; border-radius: 8px;
  background: transparent; color: #bcd4eb;
  text-align: left; font-size: 13px; font-weight: 500;
  transition: background .15s ease, color .15s ease;
}
#sidebar.nx-sidebar-unified .nav-item > .icon,
body.subpage #sidebar.nx-sidebar-unified .nav-item > .icon {
  width: 18px; height: 18px; flex-shrink: 0;
}
#sidebar.nx-sidebar-unified .nav-item:hover,
body.subpage #sidebar.nx-sidebar-unified .nav-item:hover {
  background: #103047; color: #f2f7ff;
}
#sidebar.nx-sidebar-unified .nav-item.active,
body.subpage #sidebar.nx-sidebar-unified .nav-item.active {
  background: linear-gradient(105deg, #2a2c2b, #112534);
  border-color: rgba(232, 183, 107, .32);
  box-shadow: inset 3px 0 #eebb6d;
  color: #ffd184; font-weight: 700;
}
#sidebar.nx-sidebar-unified .nav-item.active > .icon { width: 18px; height: 18px; }
#sidebar.nx-sidebar-unified .nav-caption,
body.subpage #sidebar.nx-sidebar-unified .nav-caption {
  margin: 13px 8px 7px;
  color: #82a8c7; font-size: 11px; line-height: 15px;
  letter-spacing: .5px;
}
#sidebar.nx-sidebar-unified .nav-count,
body.subpage #sidebar.nx-sidebar-unified .nav-count {
  margin-left: auto; padding: 0 5px;
  border-radius: 5px; height: 19px; min-width: 19px; line-height: 19px;
  background: #153856; color: #b8dbfc; font-size: 11px; text-align: center;
}
#sidebar.nx-sidebar-unified .sidebar-footer,
body.subpage #sidebar.nx-sidebar-unified .sidebar-footer {
  margin-top: auto; padding: 12px 6px 2px;
  border-top: 1px solid #1a3b54; color: #789ab8;
  font-size: 10px; white-space: nowrap;
}
/* Route page layout remains unique, but shell width/position stays identical. */
body.subpage .topbar {
  left: var(--sidebar); right: 0; top: 0;
  height: var(--header); padding: 0 25px;
  background: linear-gradient(105deg, #03192a, #07335b 57%, #031a2c);
}
body.subpage .main-content { margin-left: var(--sidebar); padding-top: var(--header); }
body.subpage .sidebar-scrim { top: 0; }
@media (max-width: 700px) {
  #sidebar.nx-sidebar-unified,
  body.subpage #sidebar.nx-sidebar-unified {
    transform: translateX(-100%);
    width: 212px; min-width: 212px;
  }
  #sidebar.nx-sidebar-unified.open,
  body.subpage #sidebar.nx-sidebar-unified.open { transform: translateX(0); }
  body.subpage .topbar { left: 0; padding: 0 12px; }
  body.subpage .main-content { margin-left: 0; }
  body.subpage .sidebar-scrim { top: 0; }
}
