/* ======================
   SIDEBAR BASE
====================== */
.main-sidebar {
    width: 250px;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background: #1f2d3d;
    color: #fff;
    transition: 0.3s;
    z-index: 1000;
}

/* menu link */
.main-sidebar a {
    display: block;
    padding: 12px 20px;
    color: #cfd8dc;
    text-decoration: none;
}

.main-sidebar a:hover {
    background: rgba(255,255,255,0.1);
    color: #fff;
}

/* active menu */
.main-sidebar .active {
    background: #0d6efd;
    color: #fff;
}

/* ======================
   CONTENT SHIFT
====================== */
.content {
    margin-left: 250px;
    padding: 15px;
}

/* ======================
   MOBILE
====================== */
@media (max-width: 768px) {

    .main-sidebar {
        left: -250px;
    }

    body.sidebar-open .main-sidebar {
        left: 0;
    }

    .content {
        margin-left: 0;
        width: 100%;
    }

    body.sidebar-open::after {
        content: '';
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.4);
        z-index: 999;
    }
}