body {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100vh;
    margin: 0;
}
.main-container {
    grid-row: 3;
    display: flex;
    background: linear-gradient(
        to right,
        var(--gray-light) 279px,
        var(--gray) 279px,
        var(--gray) 280px,
        transparent 280px
    );
    padding-bottom: 5rem;
}

.content {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-width: 0;
    padding: 2rem;
}

.sidebar {
    width: 280px;
    position: sticky;
    top: 0;
    max-height: 100vh;
    overflow-y: auto;
    background-color: transparent;
    padding: 1.5rem 1rem;
}

.sidebar .nav-link {
    font-family: var(--main-font-book);
    font-size: 1rem;
    color: var(--blue);
    padding: 0.75rem 1rem;
    border-radius: 6px;
    margin-bottom: 0.25rem;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

.sidebar .nav-link:hover {
    background-color: var(--gray);
    color: var(--redhover) !important
}

.sidebar .nav-link.active {
    background-color: transparent;
    color: var(--blue);
    font-family: var(--main-font-bold);
    border-left: 3px solid var(--yellow);
    padding-left: calc(1rem - 3px);
}

.sidebar .collapse .nav-link {
    font-size: 0.9rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}