:root {
    --rz-primary: #2E3387 !important;
    --rz-primary-light: #4a4fa3 !important;
    --rz-primary-dark: #1e2266 !important;
    --rz-primary-lighter: #E8EAF6 !important;
}

html, body {
    --rz-primary: #2E3387 !important;
}

.ess-grid-container {
    --rz-primary: #2E3387 !important;
}

.rz-datatable {
    --rz-primary: #2E3387 !important;
}

.ess-grid-container {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

.ess-grid-container .rz-datatable,
.ess-grid-container .rz-grid,
.ess-grid-container .rz-datatable-data,
.ess-grid-container .rz-datatable-scrollable-body,
.ess-grid-container tbody {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

.ess-grid-container table {
    table-layout: auto !important;
    width: 100% !important;
    max-width: 100% !important;
}

.ess-grid-container *,
.ess-grid-container *::before,
.ess-grid-container *::after {
    border-top: none !important;
    border-top-color: transparent !important;
    border-top-width: 0 !important;
}

.ess-grid-container [style*="rgb(255, 152, 0)"],
.ess-grid-container [style*="#ff9800"],
.ess-grid-container [style*="orange"],
.ess-grid-container [style*="border-top"] {
    border-top: none !important;
    background-image: none !important;
}

html body .ess-grid-container th,
html body .ess-grid-container .rz-datatable th,
html body .ess-grid-container .rz-datatable thead th,
html body .ess-grid-container .rz-datatable-scrollable-header th,
html body .ess-grid-container table thead th,
html body .rz-datatable th,
html body .rz-datatable thead th,
html body .rz-datatable-scrollable-header th,
html body table thead th.rz-sortable-column,
html body th.rz-sortable-column,
html body th.rz-unselectable-text {
    border-bottom: 4px solid #2E3387 !important;
    border-bottom-color: #2E3387 !important;
}

html body .ess-grid-container .rz-datatable .rz-datatable-scrollable-header,
html body .ess-grid-container .rz-datatable .rz-datatable-scrollable-header-wrapper,
html body .ess-grid-container .rz-datatable-scrollable-header,
html body .ess-grid-container .rz-datatable-scrollable-header-wrapper,
html body .ess-grid-container .rz-data-grid .rz-datatable-scrollable-header,
html body .ess-grid-container .rz-grid .rz-datatable-scrollable-header {
    border-bottom: 3px solid #2E3387 !important;
    border-bottom-color: #2E3387 !important;
}

html body .ess-grid-container .rz-datatable-scrollable-header table,
html body .ess-grid-container .rz-datatable-scrollable-header-wrapper table,
html body .ess-grid-container .rz-datatable thead,
html body .ess-grid-container .rz-grid thead,
html body .ess-grid-container table thead {
    border-bottom: 3px solid #2E3387 !important;
    border-bottom-color: #2E3387 !important;
}

html body .ess-grid-container .rz-datatable-scrollable-header tr,
html body .ess-grid-container .rz-datatable-scrollable-header-wrapper tr,
html body .ess-grid-container thead tr,
html body .ess-grid-container table thead tr {
    border-bottom: 3px solid #2E3387 !important;
    border-bottom-color: #2E3387 !important;
}

html body .ess-grid-container [style*="border-bottom"][style*="rgb(255, 152, 0)"],
html body .ess-grid-container [style*="border-bottom"][style*="#ff9800"],
html body .ess-grid-container [style*="border-bottom"][style*="orange"],
html body .ess-grid-container [style*="border"][style*="rgb(255, 152, 0)"],
html body .ess-grid-container [style*="border"][style*="#ff9800"],
html body .ess-grid-container [style*="border"][style*="orange"] {
    border-color: #2E3387 !important;
    border-bottom-color: #2E3387 !important;
}

html body .ess-grid-container .rz-datatable-scrollable-header::after,
html body .ess-grid-container .rz-datatable-scrollable-header-wrapper::after,
html body .ess-grid-container thead::after,
html body .ess-grid-container table thead::after {
    background: #2E3387 !important;
    background-color: #2E3387 !important;
    border-color: #2E3387 !important;
}

.ess-grid-container .rz-datatable-scrollable-header,
.ess-grid-container .rz-grid-table-wrapper > table > thead,
.ess-grid-container thead,
.ess-grid-container .rz-datatable thead {
    background: linear-gradient(
        to bottom,
        var(--ess-color-primary-50),
        var(--ess-color-surface-primary)
    ) !important;
    border-bottom: 3px solid var(--ess-color-primary) !important;
    border-top: none !important;
    padding: var(--ess-spacing-2) 0 !important;
    position: sticky;
    top: 0;
    z-index: 100;
}

.ess-grid-container .rz-datatable-scrollable-header::before,
.ess-grid-container .rz-datatable-scrollable-header::after,
.ess-grid-container .rz-grid-table-wrapper > table > thead::before,
.ess-grid-container .rz-grid-table-wrapper > table > thead::after,
.ess-grid-container thead::before,
.ess-grid-container thead::after {
    content: none !important;
    display: none !important;
    background: none !important;
    border: none !important;
    height: 0 !important;
    width: 0 !important;
}

.ess-grid-container .rz-datatable-scrollable-header th,
.ess-grid-container .rz-grid-table-wrapper > table > thead > tr > th,
.ess-grid-container thead th,
.ess-grid-container th {
    color: var(--ess-color-primary) !important;
    font-weight: var(--ess-font-weight-bold) !important;
    background: transparent !important;
    border-top: none !important;
    text-transform: uppercase;
    font-size: var(--ess-font-size-sm);
    padding: var(--ess-spacing-3) var(--ess-spacing-2) !important;
    letter-spacing: var(--ess-letter-spacing-wide);
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: var(--ess-line-height-normal);
    min-height: 48px;
    vertical-align: middle;
}

.ess-grid-container th::before,
.ess-grid-container th::after {
    content: none !important;
    display: none !important;
}

.ess-grid-container th:hover {
    background: var(--ess-color-primary-50) !important;
    border-radius: var(--ess-radius-sm);
}

.ess-grid-container .rz-datatable-data tr,
.ess-grid-container .rz-grid-table-wrapper > table > tbody > tr,
.ess-grid-container tbody > tr,
.ess-grid-container tr {
    background: var(--ess-color-surface-primary) !important;
    background-color: var(--ess-color-surface-primary) !important;
    transition: var(--ess-transition-all);
    border-bottom: 1px solid var(--ess-color-border-subtle) !important;
    border-left: none !important;
    border-top: none !important;
}

.ess-grid-container .rz-datatable-data tr:nth-child(odd),
.ess-grid-container .rz-datatable-data tr:nth-child(even),
.ess-grid-container tbody > tr:nth-child(odd),
.ess-grid-container tbody > tr:nth-child(even),
.ess-grid-container tr:nth-child(odd),
.ess-grid-container tr:nth-child(even) {
    background: var(--ess-color-surface-primary) !important;
    background-color: var(--ess-color-surface-primary) !important;
}

.ess-grid-container tr::before,
.ess-grid-container tr::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

.ess-grid-container tr:hover {
    background: var(--ess-color-primary-50) !important;
    box-shadow: inset 4px 0 0 var(--ess-color-primary) !important;
    cursor: pointer;
}

[dir="rtl"] .ess-grid-container tr:hover {
    box-shadow: inset -4px 0 0 var(--ess-color-primary) !important;
}

.ess-grid-container tr.draft {
    border-left: 3px solid var(--ess-color-gray-300) !important;
    background: var(--ess-color-surface-primary) !important;
}

.ess-grid-container tr.inReview {
    border-left: 3px solid var(--ess-color-info) !important;
    background: var(--ess-color-surface-primary) !important;
}

.ess-grid-container tr.approved {
    border-left: 3px solid var(--ess-color-success) !important;
    background: var(--ess-color-surface-primary) !important;
    background-color: var(--ess-color-surface-primary) !important;
}

.ess-grid-container tr.rejected {
    border-left: 3px solid var(--ess-color-error) !important;
    background: var(--ess-color-surface-primary) !important;
}

.ess-grid-container tr.pending {
    border-left: 3px solid var(--ess-color-warning) !important;
    background: var(--ess-color-surface-primary) !important;
}

.ess-grid-container td {
    background: var(--ess-color-surface-primary) !important;
    background-color: var(--ess-color-surface-primary) !important;
    padding: var(--ess-spacing-4);
    color: var(--ess-color-text-primary);
    font-size: var(--ess-font-size-base);
}

.ess-grid-container .rz-sortable-column-icon {
    color: var(--ess-color-primary);
    opacity: 0.5;
    transition: var(--ess-transition-all);
}

.ess-grid-container .rz-sortable-column-icon.rz-sort-asc,
.ess-grid-container .rz-sortable-column-icon.rz-sort-desc {
    opacity: 1;
}

.ess-grid-container .rz-frozen-cell {
    font-weight: var(--ess-font-weight-semibold);
    color: var(--ess-color-primary);
    background: var(--ess-color-surface-primary) !important;
}

.ess-grid-container *:not(tr):not(th) {
    border-top-color: transparent !important;
}

.ess-grid-container [class*="rz-"] {
    border-image: none !important;
    background-image: none !important;
}
