/* Common submenu readability; navigation targets and permissions stay intact. */
@media (min-width: 761px) {
  .portal-sidebar .sidebar-group > nav,
  .portal-sidebar .sidebar-group.is-expanded > nav {
    min-width: 260px;
    width: max-content;
    max-width: min(360px, calc(100vw - 24px));
    max-height: min(70vh, 640px);
    padding: 8px;
    gap: 4px;
    overflow-y: auto;
    overscroll-behavior: contain;
    white-space: normal;
    box-shadow: 0 12px 28px #10283a24;
  }
  .portal-sidebar .sidebar-group:nth-last-child(-n+2) > nav,
  .portal-sidebar .sidebar-group:nth-last-child(-n+2).is-expanded > nav {
    left: auto;
    right: 0;
  }
  .portal-sidebar .sidebar-group nav a {
    display: flex;
    align-items: center;
    min-height: 46px;
    margin: 0;
    padding: 10px 14px;
    border-inline-start: 3px solid transparent;
    border-radius: 7px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    overflow-wrap: break-word;
  }
  .portal-sidebar .sidebar-group nav a::before {
    content: none;
  }
  .portal-sidebar .sidebar-group nav a.active-subnav {
    background: var(--design-subtle, #edf3f7);
    border-inline-start-color: var(--design-action, #234b68);
    box-shadow: none;
    font-weight: 650;
  }
  .portal-sidebar .sidebar-group nav a:hover {
    background: var(--design-subtle, #edf3f7);
  }
  .portal-sidebar .sidebar-group nav a:focus-visible {
    outline: 2px solid var(--design-action, #234b68);
    outline-offset: -2px;
  }
}

/* These desktop pages already expose the same destinations as page tabs.
   Keep the submenu available below that breakpoint and when tabs are absent. */
@media (min-width: 901px) {
  body:has(#accounting-context-tabs:not(.portal-page-hidden):not([hidden]))
    .portal-sidebar .sidebar-group:has(> .sidebar-main[href="#accounting-section"]) > nav,
  body:has(#import-export-context-tabs:not(.portal-page-hidden):not([hidden]))
    .portal-sidebar .sidebar-group:has(> .sidebar-main[href="#data-export-section"]) > nav {
    display: none !important;
  }
}
