/* Shared public, administrator, and menu preview navigation. */
.managed-nav {
    --menu-surface: #0f172a;
    --menu-text: #dbeafe;
    --menu-hover: rgba(94, 234, 212, .14);
    --menu-focus: #5eead4;
}
.managed-nav, .managed-nav ul { list-style: none; }
.managed-nav .nav-tree-item { position: relative; margin: 0; padding: 0; }
.managed-nav .nav-item-row { display: flex; align-items: stretch; width: 100%; }
.managed-nav .nav-tree-link, .managed-nav .nav-parent-label {
    display: flex; align-items: center; gap: .35rem; flex: 1; min-width: 0;
    min-height: 44px; padding: .65rem .75rem; border: 0; border-radius: .3rem;
    background: transparent; color: var(--menu-text); text-decoration: none;
    font: inherit; font-size: .9rem; font-weight: 600; text-align: left;
}
.managed-nav .nav-submenu-toggle {
    min-width: 44px; min-height: 44px; padding: .6rem; border: 0;
    border-radius: .3rem; background: transparent; color: var(--menu-text);
    font: inherit; cursor: pointer; touch-action: manipulation;
}
.managed-nav .nav-submenu-arrow { flex: 0 0 44px; }
.managed-nav .nav-parent-label { font-size: .9rem; font-weight: 600; }
.public-nav-toggle { min-width: 44px; min-height: 44px; }
.managed-nav .nav-submenu-arrow span { display: inline-block; transition: transform .15s; }
.managed-nav .nav-submenu-arrow[aria-expanded="true"] span { transform: rotate(180deg); }
.managed-nav .nav-tree-link:hover, .managed-nav .nav-submenu-toggle:hover,
.managed-nav .nav-tree-link.active { background: var(--menu-hover); color: var(--menu-focus); }
.managed-nav :is(a, button):focus-visible { outline: 2px solid var(--menu-focus); outline-offset: -2px; }
.managed-nav .nav-submenu {
    position: static; display: block; min-width: 0; margin: 0 0 0 .75rem; padding: .25rem;
    border: 0; border-left: 2px solid rgba(148, 163, 184, .4); border-radius: 0; box-shadow: none;
    background: var(--menu-surface); color: var(--menu-text);
}
@media (max-width: 991px), (hover: none), (pointer: coarse) {
    .admin-site-header .admin-navigation-menus { width: 100%; flex-direction: column; align-items: stretch !important; }
    .admin-site-header .managed-nav { width: 100%; flex-direction: column; align-items: stretch; }
    .admin-site-header .admin-public-nav-wrapper { width: 100%; }
    .admin-site-header .navbar-collapse.show { max-height: calc(100dvh - 90px); overflow-y: auto; overscroll-behavior: contain; }
    .admin-site-header .managed-nav .nav-tree-link, .admin-site-header .managed-nav .nav-submenu-toggle { min-height: 48px; }
    .admin-site-header .managed-nav .nav-submenu-arrow { flex-basis: 48px; }
}
.managed-nav.nav-enhanced .nav-submenu { display: none; }
.managed-nav.nav-enhanced .is-expanded > .nav-submenu { display: block; }
.managed-nav .nav-submenu .nav-tree-link { white-space: normal; overflow-wrap: anywhere; }
@media (min-width: 901px) and (hover: hover) and (pointer: fine) {
    .site-header .managed-nav.nav-enhanced > li > .nav-submenu {
        position: absolute; top: 100%; left: 0; z-index: 1050;
        width: 270px; max-width: calc(100vw - 2rem); max-height: calc(100dvh - 110px);
        overflow-y: auto; overscroll-behavior: contain; margin: 0; padding: .4rem;
        border: 1px solid rgba(148,163,184,.35); border-radius: .4rem;
        box-shadow: 0 12px 28px rgba(15,23,42,.22);
    }
    .site-header .managed-nav.nav-enhanced > li > .nav-submenu.opens-left { left: auto; right: 0; }
}
@media (min-width: 992px) and (hover: hover) and (pointer: fine) {
    .admin-site-header .managed-nav.nav-enhanced > li > .nav-submenu {
        position: absolute; top: 100%; left: 0; z-index: 1050;
        width: 270px; max-width: calc(100vw - 2rem); max-height: calc(100dvh - 110px);
        overflow-y: auto; overscroll-behavior: contain; margin: 0; padding: .4rem;
        border: 1px solid rgba(148,163,184,.35); border-radius: .4rem;
        box-shadow: 0 12px 28px rgba(15,23,42,.22);
    }
    .admin-site-header .managed-nav.nav-enhanced > li > .nav-submenu.opens-left { left: auto; right: 0; }
}
@media (max-width: 900px), (hover: none), (pointer: coarse) {
    .site-header .site-menu { width: 100%; align-items: stretch; flex-direction: column; }
    .site-header .site-menu > li { width: 100%; }
    .site-header .main-nav { align-items: stretch; flex-direction: column; }
    .site-header .main-nav.is-open { max-height: calc(100dvh - 90px); overflow-y: auto; overscroll-behavior: contain; }
    .site-header .user-menu { flex-wrap: wrap; }
    .managed-nav .nav-tree-link, .managed-nav .nav-submenu-toggle { min-height: 48px; }
    .managed-nav .nav-submenu-arrow { flex-basis: 48px; }
}
.menu-manager-preview-nav.managed-nav { --menu-surface: #f1f5f9; --menu-text: #0f172a; --menu-focus: #0f766e; align-items: flex-start; }
.menu-manager-preview-nav.managed-nav > li { min-width: 150px; }
@media (prefers-reduced-motion: reduce) {
    .managed-nav .nav-submenu-arrow span { transition: none; }
}
