.sidebar__surface {
    overflow-x: hidden;
    overflow-y: hidden;
}

.brand {
    height: 112px;
    min-height: 112px;
}

.brand__mark {
    width: 56px;
    height: 56px;
}

.nav {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 0 8px;
    scrollbar-color: #aebabb transparent;
    scrollbar-width: thin;
    overscroll-behavior: contain;
}

.nav::-webkit-scrollbar {
    width: 7px;
}

.nav::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 8px;
    background: #aebabb;
    background-clip: padding-box;
}

.nav__section-label {
    display: block;
    padding: 12px 24px 6px;
    color: #758386;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.nav__item {
    min-height: 44px;
}

.nav__group {
    position: relative;
}

.nav__group > .nav__item {
    padding-right: 48px;
}

.nav__group-toggle {
    position: absolute;
    z-index: 2;
    top: 4px;
    right: 7px;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #687678;
    cursor: pointer;
    transition: transform .16s ease;
}

.nav__group-toggle:hover {
    background: #e9eeed;
}

.nav__group-toggle:focus-visible {
    outline: 3px solid rgba(8, 115, 122, .38);
    outline-offset: 1px;
}

.nav__item:focus-visible,
.sidebar-toggle:focus-visible {
    outline: 3px solid rgba(8, 115, 122, .38);
    outline-offset: -3px;
}

.nav__group.is-open .nav__group-toggle {
    transform: rotate(180deg);
}

.nav__subitems {
    display: none;
    padding-top: 1px;
    padding-bottom: 6px;
}

.nav__group.is-open .nav__subitems {
    display: block;
}

.nav__plan {
    margin-left: auto;
    padding: 2px 6px;
    border-radius: 10px;
    background: #f0f2f1;
    color: #727f81;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.nav__item--planned,
.nav__item--planned:disabled {
    color: #687477;
    opacity: 1;
    cursor: default;
}

.nav__item--planned:hover {
    background: transparent;
}

.sidebar__footer {
    flex: 0 0 auto;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 -1px 0 var(--line);
}

.app-shell.is-collapsed .sidebar:not(:hover) .nav__section-label,
.app-shell.is-collapsed .sidebar:not(:hover) .nav__plan,
.app-shell.is-collapsed .sidebar:not(:hover) .nav__group-toggle {
    display: none;
}

.app-shell.is-collapsed .sidebar:not(:hover) .nav__group .nav__subitems {
    display: none;
}

.sidebar.is-role-preview [data-module].is-role-hidden {
    display: none;
}

@media (max-width: 760px) {
    html,
    body {
        min-width: 0;
    }

    .app-shell {
        --sidebar-width: 64px !important;
    }

    .sidebar,
    .app-shell.is-collapsed .sidebar:hover {
        width: 64px !important;
    }

    .sidebar__surface {
        overflow-x: hidden;
        overflow-y: hidden;
    }

    .brand {
        height: 82px;
        min-height: 82px;
    }

    .brand__mark {
        width: 38px;
        height: 38px;
    }

    .brand__name,
    .nav__label,
    .badge,
    .nav__subitems,
    .nav__section-label,
    .nav__plan,
    .nav__group-toggle,
    .sidebar-toggle__text {
        display: none !important;
    }

    .nav__item,
    .nav__group > .nav__item,
    .app-shell.is-collapsed .sidebar:not(:hover) .nav__item {
        min-height: 48px;
        padding: 0 20px;
    }

    .icon {
        width: 24px;
        flex-basis: 24px;
    }

    .sidebar__footer {
        padding: 4px 0 60px;
    }

    .sidebar-toggle {
        position: fixed;
        z-index: 30;
        left: 8px;
        bottom: 0;
        width: 48px;
        background: #fff;
    }

    .workspace {
        margin-left: 64px;
    }

    .sidebar.is-mobile-open,
    .app-shell.is-collapsed .sidebar.is-mobile-open:hover {
        width: 224px !important;
        filter: drop-shadow(10px 0 24px rgba(25, 42, 45, .2));
    }

    .sidebar.is-mobile-open .nav__label,
    .sidebar.is-mobile-open .nav__section-label,
    .sidebar.is-mobile-open .nav__plan,
    .sidebar.is-mobile-open .sidebar-toggle__text { display: block !important; opacity: 1; visibility: visible; }

    .sidebar.is-mobile-open .nav__group-toggle {
        display: grid !important;
    }

    .sidebar.is-mobile-open .sidebar__surface {
        background: #fff;
    }

    .sidebar.is-mobile-open .nav__group.is-open .nav__subitems {
        display: block !important;
    }

    .sidebar.is-mobile-open .nav__item,
    .sidebar.is-mobile-open .nav__group > .nav__item {
        padding: 0 20px;
    }
}
