/* Catalog navigation — one typography, interaction and responsive system. */
.app-sidebar { position: fixed; z-index: 1050; inset: 0 auto 0 0; width: 16.5rem; flex-direction: column; padding: 0 1rem 1rem; border-right: 1px solid var(--scm-border); background: #fff; }
.sidebar-brand.platform-brand { width: calc(100% + 2rem); min-height: 5.5rem; flex: 0 0 auto; margin: 0 -1rem .6rem; padding: 1.1rem 1rem; border-bottom: 1px solid var(--scm-border); text-decoration: none; }
.desktop-navigation-region { min-height: 0; flex: 1 1 auto; overflow-y: auto; overflow-x: hidden; }
.sidebar-navigation { display: grid; grid-auto-rows: max-content; gap: .4rem; min-width: 0; padding: .4rem 0; }
.nav-container { min-width: 0; }
.nav-container.nav-level-1 + .nav-container.nav-level-1 { margin-top: .8rem; }
.sidebar-link, [data-nav-toggle] { position: relative; display: flex; align-items: center; gap: .55rem; min-width: 0; padding: .55rem .65rem; border-radius: .5rem; color: var(--scm-ink); text-decoration: none; cursor: pointer; transition: color .16s ease, background-color .16s ease; }
[data-nav-toggle] { list-style: none; }
[data-nav-toggle]::-webkit-details-marker { display: none; }
[data-nav-toggle]::after { content: ""; flex: 0 0 .35rem; width: .35rem; height: .35rem; margin-left: auto; border-right: 1.5px solid #87938f; border-bottom: 1.5px solid #87938f; transform: rotate(-45deg); transition: transform .16s ease; }
.nav-container[open] > [data-nav-toggle]::after { transform: rotate(45deg); }
.nav-level-1 > [data-nav-toggle], .sidebar-link.nav-level-1 { min-height: 46px; font-size: 16px; font-weight: 650; }
.nav-level-2 > [data-nav-toggle], .sidebar-link.nav-level-2 { min-height: 44px; font-size: 15px; font-weight: 600; }
.sidebar-link.nav-level-3 { min-height: 40px; font-size: 14px; font-weight: 500; }
.nav-children { display: grid; grid-auto-rows: max-content; gap: .15rem; padding: .3rem 0 .4rem .75rem; }
.sidebar-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-icon { display: grid; place-items: center; flex: 0 0 1.35rem; width: 1.35rem; height: 1.35rem; color: #657770; }
.sidebar-icon .app-icon { width: 1.1rem; height: 1.1rem; }
.nav-level-1 > [data-nav-toggle] .sidebar-icon { color: var(--scm-orange); }
.sidebar-link.nav-level-3 .sidebar-icon { display: none; }
.sidebar-link:hover, [data-nav-toggle]:hover { color: var(--scm-teal-dark); background: #f4f6f5; }
.sidebar-link.active { color: var(--scm-teal-dark); background: var(--scm-teal-soft); box-shadow: inset 3px 0 0 var(--scm-orange); font-weight: 600; }
.nav-container.active > [data-nav-toggle] { color: var(--scm-teal-dark); }
.sidebar-link:focus-visible, [data-nav-toggle]:focus-visible { outline: 2px solid var(--scm-teal); outline-offset: 2px; }
.sidebar-version { flex: 0 0 auto; padding: .85rem .2rem 0; margin-top: .6rem; border-top: 1px solid var(--scm-border); color: #81908b; font-size: .72rem; text-align: center; white-space: nowrap; }
.sidebar-collapse-toggle { position: static; align-self: flex-end; flex: 0 0 auto; display: grid; place-items: center; width: 1.8rem; height: 1.8rem; margin-bottom: .2rem; padding: 0; border: 1px solid var(--scm-border); border-radius: .4rem; background: #fff; color: #6b7974; }
.sidebar-collapse-toggle .app-icon { width: .95rem; height: .95rem; }
.mobile-navigation { width: min(88vw, 20rem); }
.mobile-navigation .offcanvas-header { flex: 0 0 auto; border-bottom: 1px solid var(--scm-border); }
.mobile-navigation .offcanvas-title { min-width: 0; }
.mobile-navigation .offcanvas-body { display: flex; flex-direction: column; overflow-x: hidden; }
.mobile-navigation .sidebar-navigation { flex: 1 0 auto; }
.app-attention-badge { display: inline-flex; height: 20px; min-width: 20px; width: auto; padding-inline: 6px; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 999px; font-size: 11px; font-weight: 600; line-height: 1; white-space: nowrap; }
.app-action-button { display: inline-flex; align-items: center; flex: 0 0 auto; }
.app-action-button > .app-icon, .app-user-menu { flex-shrink: 0; }
@media (min-width: 992px) {
  html.scm-sidebar-collapsed .app-sidebar { width: 5.25rem; padding-inline: .72rem; }
  html.scm-sidebar-collapsed .app-content { margin-left: 5.25rem; }
  html.scm-sidebar-collapsed .app-topbar { left: 5.25rem; }
  html.scm-sidebar-collapsed .sidebar-brand.platform-brand { width: 100%; margin: 0; padding: .9rem 0; justify-content: center; }
  html.scm-sidebar-collapsed .platform-brand-copy,
  html.scm-sidebar-collapsed .sidebar-label,
  html.scm-sidebar-collapsed [data-nav-toggle]::after,
  html.scm-sidebar-collapsed .nav-children,
  html.scm-sidebar-collapsed .sidebar-version { display: none; }
  html.scm-sidebar-collapsed .sidebar-link.nav-level-1,
  html.scm-sidebar-collapsed .nav-level-1 > [data-nav-toggle] { justify-content: center; }
  html.scm-sidebar-collapsed .sidebar-collapse-toggle { transform: rotate(180deg); }
}
@media (max-width: 991.98px) {
  .mobile-navigation .sidebar-link, .mobile-navigation [data-nav-toggle] { min-height: 44px; }
  .app-user-actions { flex-shrink: 0; }
}
