.card-header,
.standard-card-header,
.standard-grid-header,
.kt-portlet__head {
    background-color: #FFFFFF !important;
    border-color: #E0E0E0 !important;
    color: #333 !important;
}

/* 2. DevExtreme DataGrid Overrides */
.dx-datagrid {
    font-size: 14px !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.dx-datagrid,
.dx-datagrid-headers,
.dx-datagrid-rowsview,
.dx-datagrid-header-panel,
.dx-datagrid-pager {
    background-color: #FFFFFF !important;
    color: #333 !important;
}

.dx-datagrid-headers {
    border-top: 1px solid #e2e8f0 !important;
    border-left: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.dx-datagrid-headers .dx-header-row > td,
.dx-datagrid-headers .dx-datagrid-text-content {
    background-color: #f8f9fa !important;
    color: #475569 !important;
    font-weight: bold !important;
    border-right: none !important; /* Remove vertical lines */
}

.dx-datagrid-rowsview {
    border-left: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.dx-datagrid-rowsview .dx-data-row > td {
    border-right: none !important; /* Remove vertical lines */
    border-left: none !important;
}

.dx-datagrid .dx-header-filter,
.dx-datagrid .dx-header-filter::before {
    font-size: 11px !important;
}

.dx-datagrid-rowsview .dx-row-alt>td {
    background-color: #fafafa !important;
}

.dx-datagrid-filter-panel {
    border-left: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-top: none !important;
}

/* 3. Kendo UI Grid Overrides */
.k-grid,
.k-grid-header,
.k-grid-header th.k-header,
.k-grid-header th.k-header>.k-link {
    background-color: #FFFFFF !important;
    color: #333 !important;
    font-weight: 700 !important;
}

.k-grid-header th.k-header {
    border-bottom: 1px solid #E0E0E0 !important;
}

.k-grid tr.k-alt {
    background-color: #f9f9f9 !important;
}

/* 4. High-Density Layout Standards */
.dx-datagrid-rowsview .dx-data-row td,
.k-grid td {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

/* 5. Global Row Hover Effects (All Rows, including Alternate) */
/* DevExtreme Hover */
.dx-datagrid-rowsview .dx-data-row:hover>td,
.dx-datagrid-rowsview .dx-data-row.dx-state-hover>td,
.dx-datagrid-rowsview .dx-row-alt:hover>td {
    background-color: #f1f5f9 !important;
    transition: background-color 0.1s ease;
}

/* Kendo UI Hover */
.k-grid tr:hover,
.k-grid .k-grid-content tr:hover,
.k-grid tr.k-alt:hover {
    background-color: #f5f5f5 !important;
    transition: background-color 0.1s ease;
}


/* 6. Clean Utility Classes */
.bg-pure-white {
    background-color: #FFFFFF !important;
}


/* 7. Standardized Filter Button (Pill Style) */
.filter-button {
    background-color: #fff;
    border: 1px solid #ced4da;
    padding: 10px 20px;
    border-radius: 30px;
    color: #4b5563;
    font-weight: 500;
    transition: all 0.3s ease;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    white-space: nowrap;
}

.filter-button:hover {
    background-color: #FFFFFF;
    border-color: #25d366;
    color: #25d366;
}

/* 8. Pager Style Overrides */
.dx-pager .dx-page-sizes .dx-selection,
.dx-pager .dx-pages .dx-selection {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: normal !important;
    padding: 0 !important;
}

.dx-datagrid-pager {
    border-left: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-top: none !important;
}

.dx-pager .dx-page-size,
.dx-pager .dx-page {
    transition: background-color 0.2s ease;
}

/* 10. Header Filter Select All Bold */
.dx-header-filter-menu .dx-list-select-all {
    font-weight: bold !important;
}

/* 11. High-Density Header Adjustments - Improved Specificity */
body .standard-card-header,
.card .standard-card-header,
.kt-portlet__head.standard-card-header {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    min-height: auto !important;
}

/* Remove margins from header items to collapse vertical space */
.standard-card-header h3, 
.standard-card-header h4,
.standard-card-header .col-md-3,
.standard-card-header .col-md-2,
.standard-card-header .col-lg-2,
.standard-card-header div[style*="flex: 1"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Tighten DateBox and error labels */
.standard-card-header .dx-datebox,
.standard-card-header label {
    margin-bottom: 0 !important;
}

/* Ensure empty error labels take no space */
.standard-card-header label[id^="lbl"]:empty {
    display: none !important;
}

/* Reduce top padding of the main container to pull grid up */
.card-body {
    padding-top: 0 !important;
}

/* Force summary rows to be compact */
.card-body .row.mb-1,
.card-body .row.mb-2,
.card-body .row.mb-4 {
    margin-bottom: 0 !important;
}

/* 12. Grid Header Panel (Search/Export Area) Overhaul */
.dx-datagrid-header-panel {
    padding: 0 !important;
    border-bottom: none !important;
    margin-top: 10px !important;    /* Required top margin */
    margin-bottom: 8px !important;  /* Required bottom margin */
}

/* Container for Export and Search */
.dx-datagrid-header-panel .dx-toolbar {
    margin: 0 !important;
    padding: 0 !important;
    background-color: transparent !important;
}

.dx-datagrid-header-panel .dx-toolbar-items-container {
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    padding-right: 12px !important;
}

/* Gap between Export and Search */
.dx-datagrid-header-panel .dx-toolbar-after .dx-toolbar-item {
    padding-left: 14px !important; /* 14px spacing between items */
}

/* Specific Search Box Styling */
.dx-datagrid-search-panel {
    width: 300px !important; /* Required 300px width */
    margin: 0 !important;
}

.dx-datagrid-search-panel.dx-show-invalid-badge .dx-texteditor-input {
    height: 40px !important;
}

.dx-datagrid-header-panel .dx-textbox {
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
}

/* Specific Export Button Styling */
.custom-export-btn {
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.custom-export-btn .dx-button-content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 15px !important;
}

/* Vertical centering for grouping text with the 40px toolbar */
body .dx-datagrid-group-panel {
    padding: 0 10px !important;
    height: 40px !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    border: none !important;
    background-color: transparent !important;
    margin-top: 10px !important; /* Match toolbar margin-top */
}

body .dx-datagrid-group-panel .dx-group-panel-message {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 40px !important;
    vertical-align: middle !important;
}

/* Pull the entire grid instance up to collapse parent card-body space if needed */
#gridContainer {
    margin-top: 0 !important;
}