body {
    min-height: 100vh;
}

.mobile-navbar {
    min-height: 56px;
}

.desktop-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
}

.desktop-sidebar .nav-link,
.offcanvas .nav-link {
    padding: 0.7rem 0;
    font-size: 1rem;
}

.main-content {
    min-height: 100vh;
}

.project-movements-scroll {
    height: 360px !important;
    max-height: 360px !important;
    overflow-y: auto !important;
    overflow-x: auto !important;
    display: block !important;
    border: 1px solid #dee2e6;
}

.project-movements-scroll table {
    width: 100%;
    margin-bottom: 0;
}

.project-movements-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8f9fa;
}

@media (max-width: 767.98px) {
    .main-content {
        padding-top: 1rem !important;
    }

    h1,
    .h1 {
        font-size: 2rem;
    }

    h2,
    .h2 {
        font-size: 1.6rem;
    }

    .card {
        margin-bottom: 1rem;
    }

    .offcanvas {
        max-width: 85%;
    }

    .project-movements-scroll {
        height: 300px;
        max-height: 300px;
    }
}