:root {
    --sidebar-width: 260px;
    --collapsed-sidebar-width: 40px;
    --sidebar-collapse-button-size: 24px;
}

.service-sidebar {
    flex: 1 1 auto;

    box-sizing: border-box;
    width: var(--sidebar-width);
    min-width: var(--sidebar-width);
    max-width: var(--sidebar-width);
    min-height: 100%;
    padding: 36px 16px;

    background-color: #f7f7f7;
}

.service-sidebar__header {
    display: flex;
    align-items: center;

    margin-bottom: 10px;
}

.service-sidebar__controls {
    font-size: 0;
}

.service-sidebar__title {
    flex: 1;

    margin-right: 1em;

    font-weight: 500;
    line-height: 1.3;
}

.service-sidebar__collapse-button {
    overflow: hidden;

    width: var(--sidebar-collapse-button-size);
    min-width: var(--sidebar-collapse-button-size);
    max-width: var(--sidebar-collapse-button-size);
    height: var(--sidebar-collapse-button-size);

    cursor: pointer;
}

.service-sidebar__collapse-button .icon {
    width: var(--sidebar-collapse-button-size);
    height: var(--sidebar-collapse-button-size);
}

.service-sidebar_collapsed {
    width: var(--collapsed-sidebar-width);
    min-width: var(--collapsed-sidebar-width);
    max-width: var(--collapsed-sidebar-width);
    padding: 36px 4px;
}

.service-sidebar_collapsed .service-sidebar__header {
    justify-content: center;
}

.service-sidebar_collapsed .service-sidebar__title {
    display: none;
}

.service-sidebar__menu-item {
    display: flex;
    align-items: center;

    margin-bottom: 5px;
    padding: 7px 9px;

    text-decoration: none;

    color: #555;
    border-radius: 4px;
}

.service-sidebar__menu-item:hover {
    background-color: #eee;
}

.service-sidebar__menu-item.link_theme_sidebar {
    color: #555;
}

.service-sidebar__menu-item_active {
    color: #000;
    background-color: #dcdcdc;
}

.service-sidebar__menu-item_active:hover {
    background-color: #dcdcdc;
}

.service-sidebar__menu-item_active.link_theme_sidebar {
    color: #000;
}

.service-sidebar__menu-icon {
    flex-shrink: 0;

    width: 13px;
    height: 13px;
}

.service-sidebar__menu-icon .icon {
    width: 13px;
    height: 13px;

    background-size: 13px;
}

.service-sidebar__menu-title {
    overflow: hidden;

    margin-left: 10px;

    font-size: .85rem;
    line-height: 1;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.service-sidebar_collapsed .service-sidebar__menu-title {
    display: none;
}
