body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background-color: #f8f9fa;
    overflow-x: hidden;
}

a {
    text-decoration: none !important;
}

a:hover {
    text-decoration: underline;
}

/* Sidebar styles */
.d-flex-wrapper {
    display: flex;
    width: 100%;
    min-height: 100vh;
}

:root {
    --sidebar-width: 280px;
}

#sidebar-wrapper {
    width: var(--sidebar-width);
    position: fixed;
    height: 100vh;
    z-index: 1000;
    transition: margin 0.25s ease-out;
    background-color: #fff;
    border-right: 1px solid #dee2e6;
    flex-shrink: 0;
}

#page-content-wrapper {
    width: 100%;
    margin-left: var(--sidebar-width);
    transition: margin 0.25s ease-out;
}

.sidebar-heading {
    padding: 2rem 1.5rem;
    font-size: 1.5rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 10px;
}

.top-header {
    height: 80px;
    display: flex;
    align-items: center;
    padding: 0 2rem;
    position: sticky;
    background-color: #fff;
    border-bottom: 1px solid #dee2e6;
    top: 0;
    z-index: 999;
}

#sidebar-wrapper .dropdown-menu.show {
    position: static !important;
    transform: none !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    background: transparent;
    border: 0;
    box-shadow: none;
    float: none;
}

#sidebar-wrapper .nav-item {
    width: 100%;
    overflow-x: hidden;
}

#sidebar-wrapper .dropdown-item,
#sidebar-wrapper .list-group-item {
    white-space: normal !important;
    word-wrap: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    width: 100%;
    max-width: 280px; 
    box-sizing: border-box;
    border-bottom: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
    border-top: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
    border-right: none;
    border-left: none;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-top-left-radius: 0 !important;
}


#sidebar-wrapper .dropdown-toggle::after {
    margin-left: auto;
    transition: transform 0.2s;
}

#sidebar-wrapper .dropdown-toggle[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

@media (max-width: 768px) {
    #sidebar-wrapper {
        margin-left: calc(-1 * var(--sidebar-width));
    }
    #page-content-wrapper {
        margin-left: 0;
    }
    body.sb-sidenav-toggled #sidebar-wrapper {
        margin-left: 0;
    }
}