.site-sidebar {
    position: fixed;

    top: var(--header-height);
    left: 0;
    bottom: 0;

    width: var(--sidebar-width);

    padding: 12px;

    overflow-y: auto;
    overflow-x: hidden;

    background: var(--bg-primary);

    border-right: 1px solid var(--border-color);

    z-index: 900;

    scrollbar-width: thin;

    transition:
        width 0.2s ease,
        padding 0.2s ease;
}


/*
|--------------------------------------------------------------------------
| Sidebar Section
|--------------------------------------------------------------------------
*/

.sidebar-section {
    padding-bottom: 14px;
    margin-bottom: 14px;

    border-bottom: 1px solid var(--border-color);
}


/*
|--------------------------------------------------------------------------
| Section Title
|--------------------------------------------------------------------------
*/

.sidebar-title {
    padding: 8px 12px;

    color: var(--text-primary);

    font-size: 15px;
    font-weight: 700;

    white-space: nowrap;
}


/*
|--------------------------------------------------------------------------
| Sidebar Link
|--------------------------------------------------------------------------
*/

.sidebar-link {
    display: flex;
    align-items: center;

    gap: 16px;

    width: 100%;
    min-height: 42px;

    padding: 8px 12px;

    border-radius: 8px;

    color: var(--text-primary);

    text-decoration: none;

    transition:
        background-color 0.15s ease,
        color 0.15s ease,
        padding 0.2s ease;
}


.sidebar-link:hover {
    background: var(--hover-bg);
}


.sidebar-link.active {
    background: var(--bg-tertiary);

    font-weight: 600;
}


/*
|--------------------------------------------------------------------------
| Sidebar Icon
|--------------------------------------------------------------------------
*/

.sidebar-icon {
    width: 24px;

    flex: 0 0 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--text-primary);

    font-size: 18px;
}


/*
|--------------------------------------------------------------------------
| Sidebar Label
|--------------------------------------------------------------------------
*/

.sidebar-label {
    overflow: hidden;

    white-space: nowrap;

    text-overflow: ellipsis;

    opacity: 1;

    transition:
        opacity 0.15s ease;
}


/*
|--------------------------------------------------------------------------
| Collapsed Sidebar
|--------------------------------------------------------------------------
*/

body.sidebar-collapsed .site-sidebar {

    width: 72px;

    padding-left: 8px;
    padding-right: 8px;
}


body.sidebar-collapsed .sidebar-link {

    justify-content: center;

    gap: 0;

    padding-left: 8px;
    padding-right: 8px;
}


body.sidebar-collapsed .sidebar-icon {

    width: 32px;

    flex: 0 0 32px;

    font-size: 20px;
}


body.sidebar-collapsed .sidebar-label {

    display: none;
}


body.sidebar-collapsed .sidebar-title {

    display: none;
}


body.sidebar-collapsed .sidebar-section {

    padding-bottom: 10px;
    margin-bottom: 10px;
}


/*
|--------------------------------------------------------------------------
| Scrollbar
|--------------------------------------------------------------------------
*/

.site-sidebar::-webkit-scrollbar {
    width: 6px;
}


.site-sidebar::-webkit-scrollbar-thumb {
    background: var(--bg-tertiary);

    border-radius: 10px;
}


/*
|--------------------------------------------------------------------------
| Tablet
|--------------------------------------------------------------------------
*/

@media (max-width: 1100px) {

    :root {
        --sidebar-width: 210px;
    }

    .site-sidebar {
        padding: 10px 8px;
    }

    .sidebar-link {
        gap: 12px;

        padding: 8px 10px;
    }

}


/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media (max-width: 700px) {

    .site-sidebar {
        display: none;
    }

}

/*
|--------------------------------------------------------------------------
| Sidebar Footer
|--------------------------------------------------------------------------
*/

.sidebar-footer {
    padding: 8px 12px 24px;

    color: var(--text-secondary);

    font-size: 12px;
    line-height: 1.5;
}


.sidebar-footer-links {
    display: flex;

    flex-wrap: wrap;

    column-gap: 8px;
    row-gap: 4px;
}


.sidebar-footer-links a {
    color: var(--text-secondary);

    text-decoration: none;

    white-space: nowrap;
}


.sidebar-footer-links a:hover {
    color: var(--text-primary);

    text-decoration: underline;
}


.sidebar-copyright {
    margin-top: 14px;

    color: var(--text-secondary);

    font-size: 12px;
}


/*
|--------------------------------------------------------------------------
| Hide Footer When Sidebar Is Collapsed
|--------------------------------------------------------------------------
*/

body.sidebar-collapsed .sidebar-footer {
    display: none;
}

/*
|--------------------------------------------------------------------------
| YouTube Style Sidebar
|--------------------------------------------------------------------------
*/

.sidebar-section {
    padding: 8px 0 12px;
    margin: 0 0 8px;

    border-bottom: 1px solid var(--border-color);
}


.sidebar-title {
    min-height: 40px;

    display: flex;
    align-items: center;

    padding: 8px 12px;

    color: var(--text-primary);

    font-size: 15px;
    font-weight: 700;
}


/*
|--------------------------------------------------------------------------
| Sidebar Links
|--------------------------------------------------------------------------
*/

.sidebar-link {
    box-sizing: border-box;

    display: flex;
    align-items: center;

    width: 100%;
    min-height: 40px;

    padding: 8px 12px;

    gap: 20px;

    border: 0;
    border-radius: 8px;

    background: transparent;

    color: var(--text-primary);

    text-decoration: none;

    font-size: 14px;

    cursor: pointer;

    transition:
        background-color 0.15s ease,
        color 0.15s ease;
}


.sidebar-link:hover {
    background: var(--hover-bg);
}


.sidebar-link.active {
    background: var(--bg-tertiary);

    font-weight: 600;
}


/*
|--------------------------------------------------------------------------
| Icons
|--------------------------------------------------------------------------
*/

.sidebar-icon {
    width: 24px;
    height: 24px;

    flex: 0 0 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--text-primary);

    font-size: 19px;

    line-height: 1;
}


/*
|--------------------------------------------------------------------------
| Labels
|--------------------------------------------------------------------------
*/

.sidebar-label {
    flex: 1;

    overflow: hidden;

    white-space: nowrap;

    text-overflow: ellipsis;

    line-height: 20px;
}


/*
|--------------------------------------------------------------------------
| Show More Button
|--------------------------------------------------------------------------
*/

.sidebar-show-more {
    appearance: none;

    text-align: left;

    font-family: inherit;
}


/*
|--------------------------------------------------------------------------
| Sidebar Footer
|--------------------------------------------------------------------------
*/

.sidebar-footer {
    padding: 12px;

    color: var(--text-secondary);

    font-size: 12px;
}


/*
|--------------------------------------------------------------------------
| Collapsed Sidebar
|--------------------------------------------------------------------------
*/

body.sidebar-collapsed .sidebar-link {
    justify-content: center;

    gap: 0;

    padding-left: 8px;
    padding-right: 8px;
}


body.sidebar-collapsed .sidebar-icon {
    width: 32px;
    height: 32px;

    flex: 0 0 32px;

    font-size: 20px;
}


body.sidebar-collapsed .sidebar-title {
    display: none;
}


body.sidebar-collapsed .sidebar-label {
    display: none;
}


body.sidebar-collapsed .sidebar-section {
    padding-bottom: 8px;
    margin-bottom: 8px;
}


body.sidebar-collapsed .sidebar-footer {
    display: none;
}