.dx-widget, .dx-widget {
    font-family: inherit !important;
    color: var(--body-color);
}

.dx-datagrid {
    color: var(--body-color);
    background-color: var(--card-background);
}

.dx-gridbase-container {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--card-shadow);
}

.dx-datagrid-header-panel,
.dx-datagrid-headers,
.dx-datagrid-headers td,
.dx-datagrid .dx-row-lines > td,
.dx-datagrid-filter-panel {
    border-color: var(--border-color) !important;
}
.dx-datagrid-headers {
    border-bottom: 1px solid var(--border-color);
}
.dx-datagrid-headers + .dx-datagrid-rowsview, .dx-datagrid-pager {
    border-top: 1px solid var(--border-color);
}

.dx-datagrid-headers {
    color: var(--gray-soft)
}

.dx-datagrid-headers .dx-header-row td .dx-datagrid-text-content {
    text-transform: uppercase;
    font-weight: 600;
    font-size: .75rem;
    margin-top: 1px;
}
.dx-datagrid-headers .dx-header-row td .dx-header-filter {
    font-size: .75rem;
    color: var(--orange);
}
.dx-datagrid-headers .dx-header-row td .dx-header-filter.dx-header-filter-empty {
    color: var(--gray-soft);
    opacity: .4;
}
.dx-datagrid-headers .dx-header-row td .dx-sort {
    font-size: .75rem;
    font-weight: 600;
}

.dx-datagrid.dx-filter-menu .dx-menu-item-has-icon .dx-icon, 
.dx-datagrid-group-panel .dx-group-panel-message,
.dx-placeholder,
.dx-searchbox .dx-icon-search::before,
.dx-dropdowneditor-icon,
.dx-button-mode-contained .dx-icon,
.dx-button-mode-text .dx-icon,
.dx-datagrid-column-chooser-list .dx-empty-message,
.dx-filterbuilder-overlay.dx-filterbuilder-operations .dx-treeview-item .dx-icon,
.dx-datagrid-filter-panel .dx-datagrid-filter-panel-clear-filter {
    color: var(--gray-600);
}

.dx-editor-cell .dx-texteditor .dx-texteditor-input {
    background-color: var(--card-background);
    color: var(--body-color);
}

.dx-datagrid-header-panel .dx-toolbar{
    margin-top: 10px;
    padding-right: 10px;
    padding-left: 10px;
    background-color: transparent;
}

.dx-texteditor-input {
    color: var(--gray-600);
    font-family: inherit !important;
}

.dx-texteditor.dx-editor-outlined {
    background-color: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
}

.dx-button-mode-contained{
    background-color: transparent;
    border-color: var(--border-color);
}
.dx-button-mode-contained.dx-state-hover, .dx-button-mode-contained.dx-state-focused{
    background-color: var(--table-hover-background);
    border-color: var(--border-color);
}

.dx-dropdowneditor.dx-state-hover:not(.dx-custom-button-hovered) .dx-dropdowneditor-icon {
    background-color: var(--input-disabled-background);
}
.dx-dropdowneditor.dx-dropdowneditor-active .dx-dropdowneditor-icon {
    background-color: var(--table-hover-background);
    color: var(--gray-600);
}
.dx-texteditor.dx-state-focused.dx-editor-outlined {
    border-color: var(--primary) !important;
}

.dx-datagrid-focus-overlay{
    border-color: var(--primary);
}

.dx-datagrid-columns-separator{
    background-color: var(--primary);
    opacity: .5;
}
.dx-datagrid-columns-separator-transparent{
    background-color: transparent !important;
}

/* Scroll bar */
.dx-scrollable-scroll-content {
    background-color: var(--gray-600);   
    opacity: .5; 
}
.dx-scrollbar-hoverable.dx-scrollable-scrollbar-active .dx-scrollable-scroll-content {
    background-color: var(--gray-600);   
    opacity: .8;
}
.dx-state-hover .dx-scrollable-scroll-content {   
    opacity: .7; 
}
.dx-scrollbar-hoverable.dx-scrollable-scrollbar-active, .dx-scrollbar-hoverable.dx-state-hover {
    background-color: var(--border-color);
    opacity: .6;
}
.dx-scrollbar-vertical.dx-scrollbar-hoverable {
    transition: width .2s linear .15s,background-color .2s linear .15s,opacity .2s linear;
}
.dx-scrollbar-vertical.dx-scrollbar-hoverable .dx-scrollable-scroll.dx-state-invisible {
    transition: background-color .5s linear 1s,width .2s linear .15s,opacity .5s linear;
}
.dx-scrollbar-vertical.dx-scrollbar-hoverable .dx-scrollable-scroll.dx-state-invisible .dx-scrollable-scroll-content {
    transition: box-shadow .5s linear 1s,background-color .5s linear 1s,-webkit-box-shadow .5s linear 1s,opacity .5s linear;
}

/* Pager */
.dx-pager{
    padding-left: 10px;
}
.dx-navigate-button{
    font-size: .95rem !important;
    color:var(--gray-soft);
}
.dx-button-disable.dx-navigate-button{
    color:var(--input-border-color);
    opacity: 1 !important;
}

/* Selection */
.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused) > td {
    background-color: var(--table-accent-background);
    color: var(--body-color);
}
.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > td {
    background-color: var(--table-hover-background);
    color: var(--body-color);
}

/* Row alternate */
.dx-datagrid .dx-row-alt > td {
    background-color: var(--table-accent-background);
}

/* Hover */
.dx-datagrid-table .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > td:not(.dx-focused) {
    background-color: var(--table-hover-background);
    color: var(--body-color);   
}

/* Checkbox */
.dx-checkbox-icon {
    border: 1px solid var(--input-border-color);
    background-color: transparent;
}
.dx-checkbox.dx-state-hover .dx-checkbox-icon, 
.dx-list.dx-list-select-decorator-enabled .dx-list-select-all.dx-state-hover .dx-checkbox-icon,
.dx-list.dx-list-select-decorator-enabled .dx-list-select-all.dx-state-focused .dx-checkbox-icon {
    border: 1px solid var(--primary);
}
.dx-checkbox-indeterminate .dx-checkbox-icon, .dx-checkbox-checked .dx-checkbox-icon {
    color: var(--primary);
}
.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active {
    background-color: var(--primary);
    color: white;
}

/* Popup */
.dx-popup-wrapper > .dx-overlay-content, .dx-popup-wrapper .dx-state-focused.dx-overlay-content {
    border-color: var(--border-color);
    background-color: var(--card-background);
    box-shadow: var(--dropdown-shadow);
}
.dx-list-item {
    color: var(--body-color);
    border-color: var(--border-color) !important;
}
.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-list-item-selected {
    color: var(--body-color);
    background-color: var(--input-border-color);
}
.dx-selectbox-popup-wrapper .dx-list {
    background-color: var(--card-background);
}
.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-hover {
    background-color: var(--table-hover-background);
    color: var(--body-color);
}
.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-list-item-selected.dx-state-hover:not(.dx-state-focused) {
    color: var(--body-color);
    background-color: var(--input-border-color);

}

/* Popup filter */
.dx-header-filter-menu .dx-popup-content{
    padding: 0;
}
.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-hover .dx-checkbox-icon {
    border-color: var(--primary);
}
.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-focused .dx-checkbox-icon {
    border-color: var(--gray-soft);
}
.dx-checkbox-indeterminate .dx-checkbox-icon::before {
    background-color: var(--primary);
}
.dx-button-mode-contained.dx-state-active {
    background-color: var(--input-border-color);
    border-color: var(--input-border-color) !important;
    color: var(--body-color);
}

/* Search popup */
.dx-menu .dx-menu-item-expanded, 
.dx-datagrid-filter-row .dx-menu-item-has-submenu.dx-menu-item-expanded.dx-state-hover, 
.dx-context-menu-content-delimiter {
    background-color: var(--body-background);
}
.dx-context-menu-container-border {
    border-color: var(--border-color);
}
.dx-menu-item {
    color: var(--body-color);
}
.dx-menu-item.dx-state-hover {
    color: var(--body-color);
    background-color: var(--border-color);
}
.dx-context-menu .dx-submenu {
    background-color: var(--body-background);
    border: 1px solid var(--border-color);
    box-shadow: var(--dropdown-shadow);
}
.dx-menu-item-selected {
    background-color: var(--border-color);
    color: var(--body-color);
}

/* Loading panel */
.dx-loadpanel-content {
    border: 1px solid var(--border-color);
    background: var(--body-background);
}
.dx-loadindicator-icon .dx-loadindicator-segment{
    background-color: var(--gray-600);   
}

/* Filter panel */
.dx-filterbuilder {
    background-color: var(--card-background);
}
.dx-datagrid-filter-panel .dx-icon-filter, 
.dx-datagrid-filter-panel .dx-datagrid-filter-panel-text {
    color: var(--gray-600);
}
.dx-popup-title {
    border-bottom: 1px solid var(--border-color);
}
.dx-overlay-shader{
    background-color: var(--loader-background);
}
.dx-treeview-item.dx-state-hover {
    color: var(--body-color);
    background-color: var(--table-hover-background);
}
.dx-treeview-item-without-checkbox.dx-state-focused > .dx-treeview-item {
    color: var(--body-color);
    background-color: var(--table-hover-background);
}
.dx-treeview-item-without-checkbox.dx-state-selected > .dx-treeview-item {
    color: white;
    background-color: var(--primary) !important;
}
.dx-treeview-item-without-checkbox.dx-state-selected > .dx-treeview-item .dx-icon {
    color: white;
}

.dx-filterbuilder-item-field, .dx-filterbuilder-item-operation, .dx-filterbuilder-item-value, .dx-filterbuilder-group-operation,
.dx-filterbuilder-item-field.dx-state-active:hover, .dx-filterbuilder-item-operation.dx-state-active:hover, .dx-filterbuilder-item-value.dx-state-active:hover, .dx-filterbuilder-group-operation.dx-state-active:hover {
    opacity: .85;
    color: white !important;
}
.dx-filterbuilder-item-field:hover, .dx-filterbuilder-item-operation:hover, .dx-filterbuilder-item-value:hover, .dx-filterbuilder-group-operation:hover {
    opacity: .7;
}
.dx-filterbuilder-item-field.dx-state-active, .dx-filterbuilder-item-operation.dx-state-active, .dx-filterbuilder-item-value.dx-state-active, .dx-filterbuilder-group-operation.dx-state-active {
    opacity: 1;
}

.dx-filterbuilder-item-field {
    background-color: var(--primary) !important;
}
.dx-filterbuilder-item-operation {
    background-color: var(--green) !important;
}
.dx-filterbuilder-item-value {
    background-color: var(--gray-600) !important;
}
.dx-filterbuilder-group-operation {
    background-color: var(--red) !important;
}

.dx-filterbuilder-item-value .dx-texteditor.dx-editor-outlined {
    background-color: var(--card-background);
    border-color: var(--input-border-color);
    color: var(--body-color);
}
.dx-filterbuilder-item-value .dx-texteditor.dx-editor-outlined input {
    color: var(--body-color);
}

.dx-filterbuilder .dx-filterbuilder-group .dx-icon-plus,
.dx-filterbuilder .dx-filterbuilder-group .dx-icon-remove {
    opacity: .6;
}
.dx-filterbuilder .dx-filterbuilder-group .dx-icon-plus:hover,
.dx-filterbuilder .dx-filterbuilder-group .dx-icon-remove:hover {
    opacity: 1;
}
.dx-filterbuilder .dx-filterbuilder-group .dx-icon-plus {
    color: var(--green) !important;
}
.dx-filterbuilder .dx-filterbuilder-group .dx-icon-remove {
    color: var(--red) !important;
}

/* Export */
.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected) {
    background-color: transparent;
}
.dx-buttongroup-item.dx-button.dx-button-mode-contained.dx-button-normal.dx-state-hover,
.dx-buttongroup-item.dx-button.dx-button-mode-contained.dx-button-normal.dx-state-focused,
.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused {
    background-color: var(--table-hover-background);
} 
.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item .dx-icon,
.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-hover .dx-icon,
.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused {
    color: var(--body-color);    
}

/* Calendar filter */
.dx-calendar-navigator-previous-month.dx-button .dx-icon, .dx-calendar-navigator-previous-view.dx-button .dx-icon,
.dx-calendar-navigator-next-month.dx-button .dx-icon, .dx-calendar-navigator-next-view.dx-button .dx-icon,
.dx-calendar-navigator .dx-calendar-caption-button.dx-button .dx-button-content {
    color: var(--primary);
}
.dx-calendar-navigator .dx-button {
    border-color: var(--border-color);
}
.dx-calendar-cell {
    color: var(--body-color);
}
.dx-calendar-cell.dx-calendar-contoured-date:not(.dx-calendar-empty-cell){
    box-shadow: inset 0 0 0 1px var(--input-border-color);
}
.dx-calendar-cell.dx-state-active:not(.dx-calendar-empty-cell):not(.dx-calendar-selected-date) {
    box-shadow: inset 0 -1px 0 1000px var(--table-hover-background);
}
.dx-calendar-cell.dx-state-hover {
    color: var(--body-color);
    box-shadow: inset 0 -1px 0 1000px var(--table-hover-background);
}
.dx-calendar-cell.dx-calendar-selected-date.dx-calendar-contoured-date, .dx-calendar-cell.dx-calendar-selected-date.dx-calendar-today.dx-calendar-contoured-date {
    box-shadow: inset 0 0 0 1px var(--primary), inset 0 0 0 1000px var(--primary);
    color: white;
}
.dx-calendar-cell.dx-calendar-empty-cell:not(.dx-calendar-selected-date), .dx-calendar-cell.dx-calendar-empty-cell:not(.dx-calendar-selected-date).dx-state-active, .dx-calendar-cell.dx-calendar-empty-cell:not(.dx-calendar-selected-date).dx-state-hover, .dx-calendar-cell.dx-calendar-other-view:not(.dx-calendar-selected-date), .dx-calendar-cell.dx-calendar-other-view:not(.dx-calendar-selected-date).dx-state-active, .dx-calendar-cell.dx-calendar-other-view:not(.dx-calendar-selected-date).dx-state-hover {
    color: var(--gray-600)
}
.dx-calendar-body thead tr th {
    box-shadow: inset 0 -1px 0 var(--border-color);
    color: var(--gray-600);
}
.dx-calendar {
    background-color: var(--card-background);
}
.dx-datebox-datetime-time-side {
    background-color: var(--table-hover-background);
}
.dx-datebox-datetime-time-side .dx-texteditor.dx-editor-outlined{
    border-color: var(--input-border-color);
}

/* Grouping */
.dx-datagrid-drag-header {
    border: 1px solid var(--input-border-color);
    background-color: var(--card-background);
    box-shadow: var(--dropdown-shadow);
    border-radius: var(--border-radius-sm);
}
.dx-datagrid-group-panel .dx-block-separator {
    color: var(--gray-600);
    background-color: var(--table-hover-background);
}
.dx-datagrid-group-panel .dx-group-panel-item {
    border: 1px solid var(--input-border-color);
    color: var(--gray-600);
}
.dx-datagrid-group-panel .dx-sort {
    color: var(--gray-600);
    font-size: .75rem;
}
.dx-datagrid .dx-header-filter-empty {
    font-size: .75rem;
    color: var(--gray-soft);
    opacity: .4;
}
.dx-datagrid-rowsview .dx-row.dx-group-row:not(.dx-row-focused) {
    color: var(--gray-600);
    background-color: var(--table-accent-background);
}
.dx-datagrid-rowsview .dx-row.dx-group-row td {
    border-bottom-color: var(--border-color);
}
.dx-datagrid-group-closed,
.dx-datagrid-group-opened {
    color: var(--gray-600);
}