.custom-justify-drawer {
    border-inline-end: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
}

.custom-justify-drawer > .mud-drawer-content {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.sidebar-navigation {
    --nav-accent: var(--BM-Primary-Navy);
    --nav-active-bg: color-mix(in srgb, var(--nav-accent) 8%, var(--bg-card));
    --nav-hover-bg: color-mix(in srgb, var(--text-primary) 5%, transparent);

    flex: 1 1 auto;
    min-height: 0;
    padding: 16px 8px 10px;
    overflow-x: hidden;
    overflow-y: auto;
    font-family: var(--mud-typography-body2-family) !important;
    scrollbar-color: transparent transparent;
    scrollbar-width: thin;
}

.sidebar-navigation.dark {
    --nav-accent: #80b3e0;
}

.sidebar-navigation:hover,
.sidebar-navigation:focus-within {
    scrollbar-color: color-mix(in srgb, var(--text-muted) 38%, transparent) transparent;
}

.sidebar-navigation::-webkit-scrollbar {
    width: 6px;
}

.sidebar-navigation::-webkit-scrollbar-track {
    background: transparent;
}

.sidebar-navigation::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 999px;
}

.sidebar-navigation:hover::-webkit-scrollbar-thumb,
.sidebar-navigation:focus-within::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--text-muted) 38%, transparent);
}

.sidebar-navigation__list,
.sidebar-subnav__group {
    min-width: 0;
    padding: 0;
    margin: 0;
    list-style: none;
}

.sidebar-navigation__list {
    display: grid;
    gap: 3px;
}

.sidebar-navigation__list > li,
.sidebar-navigation__section {
    min-width: 0;
}

.sidebar-navigation__item {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) 14px;
    column-gap: 10px;
    align-items: center;
    width: 100%;
    min-height: 44px;
    padding: 8px 10px;
    color: var(--text-primary);
    background: transparent;
    border: 0;
    border-radius: 9px;
    box-shadow: none;
    font: 500 0.9375rem/1.25rem var(--mud-typography-body2-family);
    letter-spacing: -0.005em;
    text-align: start;
    text-decoration: none;
    cursor: pointer;
    transition: color 120ms ease, background-color 120ms ease;
}

.sidebar-navigation__disclosure {
    appearance: none;
    -webkit-appearance: none;
}

.sidebar-navigation__icon {
    display: block;
    width: 18px;
    height: 18px;
    color: var(--text-muted);
    transition: color 120ms ease;
}

.sidebar-navigation__label,
.sidebar-subnav__label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-navigation__chevron {
    display: block;
    width: 14px;
    height: 14px;
    color: var(--text-muted);
    transform-origin: center;
    transition: color 120ms ease, transform 140ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.sidebar-navigation__item.is-current {
    color: var(--nav-accent);
    background: var(--nav-active-bg);
    font-weight: var(--font-semibold);
}

.sidebar-navigation__item.is-current .sidebar-navigation__icon,
.sidebar-navigation__disclosure.is-context-current .sidebar-navigation__icon {
    color: var(--nav-accent);
}

.sidebar-navigation__disclosure.is-context-current {
    color: var(--nav-accent);
    font-weight: var(--font-semibold);
}

.sidebar-navigation__disclosure.is-expanded:not(.is-context-current) {
    color: var(--text-primary);
    font-weight: var(--font-semibold);
}

.sidebar-navigation__disclosure.is-expanded .sidebar-navigation__chevron {
    color: currentColor;
    transform: rotate(180deg);
}

.sidebar-navigation__item:focus-visible,
.sidebar-subnav__item:focus-visible {
    outline: 2px solid var(--nav-accent);
    outline-offset: -2px;
}

.sidebar-subnav {
    display: grid;
    min-width: 0;
    padding: 3px 8px 8px 30px;
}

.sidebar-subnav[hidden] {
    display: none;
}

.sidebar-subnav__group {
    display: grid;
    gap: 1px;
}

.sidebar-subnav__group + .sidebar-subnav__group {
    padding-block-start: 6px;
    margin-block-start: 6px;
    border-block-start: 1px solid color-mix(in srgb, var(--border) 68%, transparent);
}

.sidebar-subnav__group > li {
    min-width: 0;
}

.sidebar-subnav__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 16px;
    column-gap: 8px;
    align-items: center;
    width: 100%;
    min-height: 36px;
    padding: 7px 10px;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
    border-radius: 7px;
    box-shadow: none;
    font: 440 0.875rem/1.25rem var(--mud-typography-body2-family);
    letter-spacing: 0;
    text-align: start;
    text-decoration: none;
    cursor: pointer;
    transition: color 120ms ease, background-color 120ms ease;
}

.sidebar-subnav__button {
    appearance: none;
    -webkit-appearance: none;
}

.sidebar-subnav__action {
    display: block;
    width: 14px;
    height: 14px;
    color: var(--text-muted);
    opacity: 0.78;
}

.sidebar-subnav__item.is-current {
    color: var(--nav-accent);
    background: var(--nav-active-bg);
    font-weight: var(--font-semibold);
}

@media (hover: hover) and (pointer: fine) {
    .sidebar-navigation__item:not(.is-current):hover,
    .sidebar-subnav__item:not(.is-current):hover {
        color: var(--text-primary);
        background: var(--nav-hover-bg);
    }

    .sidebar-navigation__item:hover .sidebar-navigation__chevron,
    .sidebar-navigation__item:hover .sidebar-navigation__icon,
    .sidebar-subnav__item:hover .sidebar-subnav__action {
        color: currentColor;
        opacity: 1;
    }
}

.sidebar-navigation__item:active,
.sidebar-subnav__item:active {
    background: color-mix(in srgb, var(--nav-accent) 12%, var(--bg-card));
}

.sidebar-utility-navigation {
    --nav-accent: var(--BM-Primary-Navy);
    --nav-active-bg: color-mix(in srgb, var(--nav-accent) 8%, var(--bg-card));
    --nav-hover-bg: color-mix(in srgb, var(--text-primary) 5%, transparent);

    flex: 0 0 auto;
    padding: 10px 8px 12px;
    border-block-start: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
    font-family: var(--mud-typography-body2-family) !important;
}

.sidebar-utility-navigation.dark {
    --nav-accent: #80b3e0;
}

.sidebar-utility-navigation__list {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 0;
    margin: 0;
    list-style: none;
}

.sidebar-utility-navigation__list > li {
    min-width: 0;
}

.sidebar-utility-navigation__item {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    column-gap: 10px;
    align-items: center;
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
    border-radius: 9px;
    box-shadow: none;
    font: 500 0.9375rem/1.25rem var(--mud-typography-body2-family);
    letter-spacing: -0.005em;
    text-align: start;
    text-decoration: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: color 120ms ease, background-color 120ms ease;
}

.sidebar-utility-navigation__icon {
    display: block;
    width: 18px;
    height: 18px;
    color: var(--text-muted);
    transition: color 120ms ease;
}

.sidebar-utility-navigation__label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-utility-navigation__item.is-current {
    color: var(--nav-accent);
    background: var(--nav-active-bg);
    font-weight: var(--font-semibold);
}

.sidebar-utility-navigation__item.is-current .sidebar-utility-navigation__icon {
    color: var(--nav-accent);
}

.sidebar-utility-navigation__item:focus-visible {
    outline: 2px solid var(--nav-accent);
    outline-offset: -2px;
}

@media (hover: hover) and (pointer: fine) {
    .sidebar-utility-navigation__item:not(.is-current):hover {
        color: var(--text-primary);
        background: var(--nav-hover-bg);
    }

    .sidebar-utility-navigation__item:hover .sidebar-utility-navigation__icon {
        color: currentColor;
    }
}

.sidebar-utility-navigation__item:active {
    background: color-mix(in srgb, var(--nav-accent) 12%, var(--bg-card));
}

@media (pointer: coarse) {
    .sidebar-navigation__item {
        min-height: 48px;
    }

    .sidebar-subnav__item,
    .sidebar-utility-navigation__item {
        min-height: 44px;
        padding-block: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sidebar-navigation__item,
    .sidebar-navigation__icon,
    .sidebar-navigation__chevron,
    .sidebar-subnav__item,
    .sidebar-utility-navigation__item,
    .sidebar-utility-navigation__icon {
        transition: none;
    }
}

@media (forced-colors: active) {
    .sidebar-navigation__item.is-current,
    .sidebar-subnav__item.is-current,
    .sidebar-utility-navigation__item.is-current {
        color: HighlightText !important;
        background: Highlight !important;
    }

    .sidebar-navigation__item:focus-visible,
    .sidebar-subnav__item:focus-visible,
    .sidebar-utility-navigation__item:focus-visible {
        outline-color: Highlight;
    }

    .sidebar-subnav__group + .sidebar-subnav__group,
    .sidebar-utility-navigation {
        border-color: CanvasText;
    }
}
