/* Bootstrap 5 Responsive Fixes - Override redundant utility classes */

/* CRITICAL FIX: Prevent horizontal scroll */
* {
    max-width: 100%;
}

/* Fix header positioning for impersonation banner */
.impersonation-active .header-area-one {
    top: 60px !important;
}
.impersonation-active .dash-board-main-wrapper {
    margin-top: 60px !important;
}
.impersonation-active .aireports-container {
    height: calc(100vh - 160px) !important;
}

/* CRITICAL FIX: Override fixed widths causing horizontal scroll */
.header-area-one,
.container-30 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: unset !important;
}

.header-inner-one {
    width: 98% !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    min-width: unset !important;
}

.search-opoup,
.notification_main_wrapper,
.user_information_main_wrapper {
    min-width: 280px !important;
    max-width: calc(100vw - 40px) !important;
}

/* Mobile-first responsive utilities */
@media (max-width: 767.98px) {
    .header-area-one .left-side-open-clouse {
        display: flex !important;
    }
    
    .action-interactive-area__header {
        gap: 0.25rem !important;
        flex-wrap: wrap !important;
    }
    
    .single_action__haeader {
        height: 35px !important;
        width: 35px !important;
        min-width: 35px !important;
    }
    
    .header-inner-one {
        flex-wrap: wrap !important;
    }
}

/* Responsive dropdowns */
@media (max-width: 575.98px) {
    .search-opoup,
    .notification_main_wrapper,
    .user_information_main_wrapper {
        right: -10px !important;
        left: auto !important;
        position: fixed !important;
        top: 60px !important;
        max-width: calc(100vw - 20px) !important;
    }
}

/* CRITICAL FIX: Sidebar responsive width */
.left-side-bar {
    width: 100% !important;
    max-width: 280px !important;
    min-width: 200px !important;
}

@media (max-width: 767.98px) {
    .left-side-bar {
        position: fixed !important;
        transform: translateX(-100%) !important;
        transition: transform 0.3s ease !important;
        z-index: 1040 !important;
        height: 100vh !important;
        max-width: 80px !important;
        min-width: 80px !important;
        padding-left: 0 !important;
    }
    
    .dash-board-main-wrapper .left-side-bar .single-menu {
        justify-content: center !important;
        margin: 0 auto !important;
    }

    .left-side-bar .single-menu-title,
    .left-side-bar div[style*="text-transform: uppercase"] {
        display: none !important;
    }

    .main-center-content-m-left.collapsed {
        margin-left: 0 !important;
        transform: none !important;
    }

    .dash-board-main-wrapper .left-side-bar .single-menu-wrapper {
        margin-right: 0 !important;
        padding-left: 0 !important;
    }
    
    .left-side-bar.active {
        transform: translateX(0) !important;
    }
}

/* Overlay for mobile menu */
.main-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1039; /* Just below the sidebar (1040) */
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.main-overlay.show {
    display: block;
    opacity: 1;
}