/* FFC Orbit + GAW v3.0.1 — responsive sidebar correction.
   One scroll container only; menu labels remain visible and clickable. */
:root { --ffc-sidebar-width: 304px; }

/* The supplied MaterialM theme sets a second scrolling area on .scroll-sidebar.
   Keep the brand fixed and scroll all sidebar content inside one region. */
.page-wrapper .left-sidebar {
  width: var(--ffc-sidebar-width) !important;
  height: 100vh !important;
  height: 100dvh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  overscroll-behavior: contain;
}
.left-sidebar > .brand-logo {
  width: 100%;
  min-height: 82px;
  flex: 0 0 auto;
  padding: 18px 20px !important;
  box-sizing: border-box;
  overflow: hidden;
}
.left-sidebar .orbit-brand { flex: 1 1 auto; min-width: 0; }
.left-sidebar .orbit-brand > span:last-child { min-width: 0; }
.left-sidebar .orbit-brand-logo { flex: 0 0 auto; }
.left-sidebar .sidebar-scroll-region {
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  padding: 0 13px 24px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #c1d0df transparent;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}
.left-sidebar .sidebar-scroll-region::-webkit-scrollbar { width: 7px; }
.left-sidebar .sidebar-scroll-region::-webkit-scrollbar-thumb { background: #c1d0df; border-radius: 20px; }
.left-sidebar .sidebar-scroll-region::-webkit-scrollbar-track { background: transparent; }
.left-sidebar .sidebar-scroll-region:focus-visible { outline: 2px solid #91d7ff; outline-offset: -2px; }
.left-sidebar .sidebar-section-kicker { padding: 10px 14px 4px !important; }
.left-sidebar .sidebar-nav {
  width: 100%;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
}
.left-sidebar .sidebar-nav ul { width: 100%; min-width: 0; margin: 0; padding: 0; }
.left-sidebar .sidebar-nav ul .sidebar-item { width: 100%; min-width: 0; margin: 3px 0; padding: 0 4px; }
.left-sidebar .sidebar-nav ul .sidebar-item .sidebar-link {
  display: flex;
  align-items: center;
  gap: 12px !important;
  padding: 11px 13px !important;
  margin: 0 !important;
  min-width: 0;
  width: 100%;
  min-height: 46px;
  box-sizing: border-box;
  white-space: normal !important;
  overflow: visible;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.38;
  text-align: left;
}
.left-sidebar .sidebar-nav ul .sidebar-item .sidebar-link > .demo-svg-icon {
  display: block;
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  margin: 0 !important;
}
.left-sidebar .sidebar-nav ul .sidebar-item .sidebar-link > .hide-menu {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: normal;
  text-overflow: clip;
  overflow: visible;
}
.left-sidebar .sidebar-nav ul .sidebar-item .sidebar-link > .nav-count { flex: 0 0 auto; margin-left: auto; }
.left-sidebar .sidebar-nav ul .nav-small-cap { margin: 21px 0 8px; padding: 0 17px; white-space: normal; }
.left-sidebar .sidebar-feature { margin: 22px 5px 16px; }
.left-sidebar .sidebar-note { margin: 12px 8px 5px; line-height: 1.5; }

/* Align page and header precisely with the larger, readable desktop sidebar. */
@media (min-width: 1200px) {
  .page-wrapper .body-wrapper { margin-left: var(--ffc-sidebar-width) !important; }
  .page-wrapper .app-header {
    left: var(--ffc-sidebar-width) !important;
    width: calc(100% - var(--ffc-sidebar-width)) !important;
  }
}

/* Small screens: accessible slide-in panel, with a single scroll and room to close it. */
@media (max-width: 1199px) {
  .page-wrapper .left-sidebar {
    width: min(var(--ffc-sidebar-width), calc(100vw - 22px)) !important;
    max-width: calc(100vw - 22px);
  }
  .page-wrapper .body-wrapper { margin-left: 0 !important; }
  .page-wrapper .app-header { left: 0 !important; width: 100% !important; }
  .left-sidebar > .brand-logo { padding-right: 15px !important; }
  .page-wrapper.show-sidebar .mobile-sidebar-backdrop { z-index: 99; }
}
@media (max-width: 375px) {
  .left-sidebar .sidebar-nav ul .sidebar-item .sidebar-link { padding: 10px !important; gap: 10px !important; }
  .left-sidebar .sidebar-scroll-region { padding-inline: 10px; }
  .left-sidebar .brand-logo .orbit-brand strong { font-size: 16px; }
  .left-sidebar .brand-logo .orbit-brand small { font-size: 9px; }
}
@media print { .page-wrapper .left-sidebar { display: none !important; } }
