/* Sidebar shares the existing dialog lifecycle, with isolated visual rules. */
html body.mh-nav-custom #master-header#master-header .mh-sidebar-trigger-wrap {
    display: flex !important; align-items: center !important; justify-content: flex-end !important;
    min-width: 0 !important; overflow: visible !important;
}
html body.mh-nav-custom #master-header#master-header .mh-sidebar-trigger {
    display: inline-flex !important; align-items: center !important; gap: 10px !important;
    position: relative !important; min-height: 44px !important; width: auto !important;
    padding: 10px 16px !important; margin: 0 !important; border: 1px solid var(--mh-nd-sub-border) !important;
    border-radius: 10px !important; background: var(--mh-nd-sub-bg) !important; color: var(--mh-nd-sub-text) !important;
    font: 600 15px/1.3 system-ui !important; cursor: pointer; box-shadow: none !important;
    transition: background .18s ease, color .18s ease !important;
}
html body.mh-nav-custom #master-header#master-header .mh-sidebar-trigger svg { width: 21px !important; height: 21px !important; }
html body.mh-nav-custom #master-header#master-header .mh-sidebar-trigger:is(:hover,:focus-visible) {
    color: var(--mh-nd-main-hover-text) !important; background: var(--mh-nd-main-hover-bg) !important;
}
html body.mh-nav-custom .mh-nav-sidebar.mh-nav-sidebar {
    --mh-sb-top: 0px; --mh-sb-inset: 0px; --mh-sb-direction: 1;
    box-sizing: border-box !important; position: fixed !important; display: flex !important;
    flex-direction: column !important; left: auto !important; right: var(--mh-sb-inset) !important;
    top: calc(var(--mh-sb-top) + var(--mh-sb-inset)) !important; bottom: var(--mh-sb-inset) !important;
    width: min(var(--mh-nd-sidebar-width, 380px), calc(100vw - 24px - 2 * var(--mh-sb-inset))) !important;
    min-width: 0 !important; max-width: none !important;
    height: calc(100vh - var(--mh-sb-top) - 2 * var(--mh-sb-inset)) !important;
    height: calc(100dvh - var(--mh-sb-top) - 2 * var(--mh-sb-inset)) !important;
    min-height: 0 !important; max-height: none !important; padding: 0 !important; margin: 0 !important;
    border: 1px solid var(--mh-nd-sub-border) !important; border-radius: 0 !important;
    background: var(--mh-nd-sub-bg) !important; color: var(--mh-nd-sub-text) !important;
    box-shadow: 0 16px 70px #0f172a33 !important; overflow: hidden !important;
    opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
    transform: translateX(calc(var(--mh-sb-direction) * 105%)) !important;
    clip-path: none; z-index: 2147483647 !important;
    transition: transform var(--mh-nd-duration,240ms) cubic-bezier(.2,.8,.2,1), opacity var(--mh-nd-duration,240ms) ease, clip-path var(--mh-nd-duration,240ms) ease !important;
}
html body.mh-nav-custom.admin-bar .mh-nav-sidebar.mh-nav-sidebar { --mh-sb-top: 32px; }
@media (max-width: 782px) { html body.mh-nav-custom.admin-bar .mh-nav-sidebar.mh-nav-sidebar { --mh-sb-top: 46px; } }
html body.mh-nav-custom.mh-nd-sidebar-side-left .mh-nav-sidebar.mh-nav-sidebar {
    --mh-sb-direction: -1; right: auto !important; left: var(--mh-sb-inset) !important;
}
html body.mh-nav-custom.mh-nd-sidebar-style-floating .mh-nav-sidebar.mh-nav-sidebar { --mh-sb-inset: 12px; border-radius: var(--mh-nd-radius) !important; }
html body.mh-nav-custom.mh-nd-sidebar-style-glass .mh-nav-sidebar.mh-nav-sidebar {
    background: color-mix(in srgb,var(--mh-nd-sub-bg) 88%,transparent) !important;
    backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px);
}
html body.mh-nav-custom.mh-nd-sidebar-animation-fade .mh-nav-sidebar.mh-nav-sidebar,
html body.mh-nav-custom.mh-nd-sidebar-animation-reveal .mh-nav-sidebar.mh-nav-sidebar { transform: none !important; }
html body.mh-nav-custom.mh-nd-sidebar-animation-zoom .mh-nav-sidebar.mh-nav-sidebar { transform: scale(.95) !important; }
html body.mh-nav-custom.mh-nd-sidebar-animation-reveal .mh-nav-sidebar.mh-nav-sidebar { clip-path: inset(0 0 0 100%); }
html body.mh-nav-custom.mh-nd-sidebar-animation-reveal.mh-nd-sidebar-side-left .mh-nav-sidebar.mh-nav-sidebar { clip-path: inset(0 100% 0 0); }
html body.mh-nav-custom .mh-nav-sidebar.mh-nav-sidebar.is-open {
    visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; transform: none !important; clip-path: none !important;
}
html body.mh-nav-custom.mh-nd-sidebar-animation-reveal .mh-nav-sidebar.mh-nav-sidebar.is-open { clip-path: inset(-80px) !important; }
html body.mh-nav-custom.mh-nd-sidebar-animation-none .mh-nav-sidebar.mh-nav-sidebar { transition: none !important; }
html body.mh-nav-custom .mh-nav-sidebar :is(.mh-sidebar-head,.mh-sidebar-content,.mh-sidebar-foot) { box-sizing: border-box; min-width: 0; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 26px 22px 22px; border-bottom: 1px solid var(--mh-nd-sub-border); flex: 0 0 auto; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-eyebrow { font: 600 10px/1.4 system-ui; letter-spacing: .16em; color: var(--mh-nd-sub-text); opacity: .65; }
html body.mh-nav-custom .mh-nav-sidebar h2 { margin: 5px 0 0 !important; font: 650 25px/1.2 system-ui !important; color: inherit !important; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-close { display: inline-flex !important; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; min-height: 44px; padding: 0; border: 1px solid var(--mh-nd-sub-border); border-radius: 50%; color: var(--mh-nd-sub-text); background: transparent; font: 300 28px/1 system-ui; cursor: pointer; box-shadow: none; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-content { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 20px 16px; scrollbar-width: thin; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-foot { flex: 0 0 auto; margin: 0; padding: 16px 22px max(16px,env(safe-area-inset-bottom)); border-top: 1px solid var(--mh-nd-sub-border); font: 12px/1.5 system-ui; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list,
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list ul { list-style: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list:empty { display: none !important; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list li { display: block !important; position: relative !important; margin: 0 0 5px !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list li > a {
    box-sizing: border-box !important; position: relative !important; display: block !important;
    min-height: 44px !important; padding: var(--mh-nd-padding) 14px !important; margin: 0 !important;
    width: 100% !important; border: 0 !important; border-radius: max(0px,calc(var(--mh-nd-radius) - 6px)) !important;
    color: var(--mh-nd-sub-text) !important; background: transparent !important;
    text-decoration: none !important; font: 500 16px/1.45 system-ui !important;
    overflow-wrap: anywhere !important; white-space: normal !important; transform: none !important;
}
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list li.mh-sb-parent > a { padding-inline-end: 54px !important; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list li > a:is(:hover,:focus-visible) { color: var(--mh-nd-sub-hover-text) !important; background: var(--mh-nd-sub-hover-bg) !important; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list li:is(.current-menu-item,.current_page_item) > a,
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list a[aria-current="page"] { color: var(--mh-nd-sub-active-text) !important; background: var(--mh-nd-sub-active-bg) !important; font-weight: 700 !important; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list li:is(.current-menu-ancestor,.current_page_ancestor) > a { font-weight: 700 !important; }
html body.mh-nav-custom.mh-nd-sidebar-style-cards .mh-nav-sidebar .mh-sidebar-list > li { margin-bottom: 9px !important; }
html body.mh-nav-custom.mh-nd-sidebar-style-cards .mh-nav-sidebar .mh-sidebar-list > li > a { box-shadow: inset 0 0 0 1px var(--mh-nd-sub-border); }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list .sub-menu {
    display: none !important; position: static !important; transform: none !important; opacity: 1 !important;
    visibility: visible !important; pointer-events: auto !important; width: auto !important; min-width: 0 !important;
    margin: 8px 0 10px 13px !important; padding: 0 0 0 8px !important; background: transparent !important;
    border: 0 !important; border-inline-start: 1px solid var(--mh-nd-sub-border) !important;
    box-shadow: none !important; overflow: visible !important; max-height: none !important;
}
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list li.mh-sb-open > .sub-menu { display: block !important; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-list .sub-menu a { font-size: 14px !important; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-toggle { position: absolute !important; right: 3px !important; top: 1px !important; left: auto !important; width: 44px !important; height: 44px !important; min-height: 44px !important; padding: 12px !important; margin: 0 !important; display: flex !important; align-items: center; justify-content: center; background: transparent !important; color: var(--mh-nd-sub-text) !important; border: 0 !important; border-radius: 8px !important; box-shadow: none !important; cursor: pointer; transform: none !important; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-toggle svg { width: 16px; height: 16px; transition: transform .18s ease; }
html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
html body.mh-nav-custom .mh-nav-sidebar :is(button,a):focus-visible,
html body.mh-nav-custom #master-header#master-header .mh-sidebar-trigger:focus-visible { outline: 2px solid currentColor !important; outline-offset: -3px !important; }
@media (max-height: 480px) {
    html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-head { padding: 10px 16px; }
    html body.mh-nav-custom .mh-nav-sidebar .mh-sidebar-foot { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    html body.mh-nav-custom .mh-nav-sidebar.mh-nav-sidebar,
    html body.mh-nav-custom .mh-nav-sidebar *,
    html body.mh-nav-custom #master-header#master-header .mh-sidebar-trigger { transition: none !important; animation: none !important; }
}
