/* BAM Layout Fixes - Global CSS */
/* Higher specificity to override existing AdminLTE styles */

/* Main content wrapper fixes */
body .content-wrapper {
    margin-left: 250px !important;
    padding: 20px !important;
    width: calc(100% - 250px) !important;
    max-width: calc(100% - 250px) !important;
    min-height: calc(100vh - 120px);
    transition: margin-left 0.3s ease-in-out;
    box-sizing: border-box !important;
}

/* Collapsed sidebar state */
body.sidebar-collapse .content-wrapper {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Container fluid adjustments */
.content-wrapper .container-fluid {
    max-width: 1200px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

/* Content header fixes */
.content-header .container-fluid {
    margin-left: 250px !important;
    width: calc(100% - 250px) !important;
    max-width: calc(100% - 250px) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

body.sidebar-collapse .content-header .container-fluid {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* AdminLTE wrapper fixes */
.wrapper .content-wrapper {
    margin-left: 250px !important;
    width: calc(100% - 250px) !important;
    max-width: calc(100% - 250px) !important;
}

.wrapper.sidebar-collapse .content-wrapper {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Additional layout constraints */
.main-content {
    max-width: calc(100vw - 250px) !important;
    overflow-x: hidden !important;
}

body.sidebar-collapse .main-content {
    max-width: 100vw !important;
}

/* Prevent horizontal scrolling */
body {
    overflow-x: hidden !important;
}

/* Table responsiveness */
.table-responsive {
    overflow-x: auto !important;
    max-width: 100% !important;
}

/* Card adjustments */
.card {
    max-width: 100% !important;
    overflow: hidden !important;
}

/* Responsive breakpoints */
@media (max-width: 1200px) {
    body .content-wrapper {
        margin-left: 0 !important;
        padding: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .content-header .container-fluid {
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    .content-wrapper .container-fluid {
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

@media (max-width: 768px) {
    body .content-wrapper {
        margin-left: 0 !important;
        padding: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .content-header .container-fluid {
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    
    .content-wrapper .container-fluid {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    
    .table-responsive {
        font-size: 0.875rem;
    }
}

/*
 * Scrollable Bootstrap modals: without min-height:0 on the body flex item,
 * tall forms expand the body and the footer is clipped (overflow:hidden on .modal-content).
 */
.modal-dialog-scrollable .modal-content {
    min-height: 0;
}
.modal-dialog-scrollable .modal-body {
    min-height: 0;
    overflow-y: auto;
}
.modal-dialog-scrollable .modal-footer {
    flex-shrink: 0;
}

/* Trip assignment modal: keep one footer and reliable body scrolling on all screens */
#tripModal .modal-content {
    max-height: calc(100vh - 3.5rem);
}
#tripModal .modal-body {
    overflow-y: auto;
    max-height: calc(100vh - 14rem);
}
#tripModal .modal-footer {
    flex-shrink: 0;
    background: #fff;
}

/* Print optimizations */
@media print {
    .content-wrapper {
        margin-left: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .content-header .container-fluid {
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}
