body {
    background-color: #f8f9fa;
    overflow-x: hidden;
}

/* Sidebar Styles */
#wrapper {
    display: flex;
    width: 100%;
}

#sidebar-wrapper {
    min-height: 100vh;
    margin-left: -15rem;
    transition: margin .25s ease-out;
    background-color: #343a40;
    color: #fff;
}

#sidebar-wrapper .sidebar-heading {
    padding: 0.875rem 1.25rem;
    font-size: 1.2rem;
    color: #fff;
    background-color: #1a252f;
    border-bottom: 1px solid #2c3e50;
}

#sidebar-wrapper .list-group {
    width: 15rem;
}

/* Sidebar Submenu */
.list-group-item {
    background-color: #2c3e50;
    color: #fff;
    border: none;
    border-bottom: 1px solid #34495e;
}

.list-group-item:hover {
    background-color: #34495e;
    color: #fff;
}

.list-group-item.active {
    background-color: #1abc9c;
    border-color: #1abc9c;
}

.sidebar-sub-link {
    padding-left: 2.5rem;
    background-color: #34495e;
    font-size: 0.9rem;
    color: #bdc3c7;
    text-decoration: none;
    display: block;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #2c3e50;
}

.sidebar-sub-link:hover {
    background-color: #2c3e50;
    color: #fff;
}

.sidebar-category {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sidebar-category::after {
    content: '\f107';
    /* FontAwesome Down Arrow */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    transition: transform 0.3s;
}

.sidebar-category[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

#page-content-wrapper {
    width: 100%;
}

body.sb-sidenav-toggled #sidebar-wrapper {
    margin-left: 0;
}

@media (min-width: 768px) {
    #sidebar-wrapper {
        margin-left: 0;
    }

    #page-content-wrapper {
        min-width: 0;
        width: 100%;
    }

    body.sb-sidenav-toggled #sidebar-wrapper {
        margin-left: -15rem;
    }
}

/* 3D Button Styles */
.btn-3d {
    transition: all 0.1s;
    box-shadow: 0px 5px 0px 0px rgba(0, 0, 0, 0.2);
    transform: translateY(0);
    margin-bottom: 5px;
    /* Space for shadow */
}

.btn-3d:active {
    transform: translateY(3px);
    box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
}

.btn-primary.btn-3d {
    border-bottom: 1px solid #0056b3;
}

.btn-success.btn-3d {
    border-bottom: 1px solid #1e7e34;
}

.btn-danger.btn-3d {
    border-bottom: 1px solid #bd2130;
}

.btn-warning.btn-3d {
    border-bottom: 1px solid #d39e00;
}

/* Card Styles */
.card {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    border: none;
    margin-bottom: 1.5rem;
    border-radius: 0.5rem;
}

.card-header {
    background-color: #fff;
    border-bottom: 1px solid #eee;
    font-weight: bold;
}

/* Print Styles */
@media print {

    .no-print,
    #sidebar-wrapper {
        display: none !important;
    }

    #page-content-wrapper {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .card {
        box-shadow: none;
        border: 1px solid #ddd;
    }

    body {
        background-color: #fff;
    }
}