.dxbl-grid,
.dxbl-grid-header,
.dxbl-grid-data-row,
.dxbl-toolbar,
.dxbl-popup,
.dxbl-btn,
.dxbl-edit-form,
.dxbl-combobox,
.dxbl-textbox,
.dxbl-dateedit {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}

.dxbl-btn-primary,
.btn-primary {
    background-color: var(--main-color) !important;
    border-color: var(--main-color) !important;
}

.dxbl-btn-primary:hover,
.btn-primary:hover {
    background-color: var(--selected-menu) !important;
    border-color: var(--selected-menu) !important;
}

.dxbl-grid a,
a {
    color: var(--bs-link-color);
}

.dxbl-grid a:hover,
a:hover {
    color: var(--bs-link-hover-color);
}

.dxbl-grid-data-row-selected {
    background-color: rgba(var(--main-color-rgb), 0.15) !important;
}

.dxbl-edit-cell:focus-within,
.form-control:focus,
.dxbl-textbox:focus {
    border-color: var(--main-color) !important;
    box-shadow: 0 0 0 0.25rem rgba(var(--main-color-rgb), 0.25) !important;
}

[data-dx-theme*="Dark"] .dxbl-grid-header {
    background-color: var(--bg-dark-grey);
}

[data-dx-theme*="Dark"] .dxbl-grid-data-row:hover {
    background-color: rgba(var(--main-color-rgb), 0.1);
}

[data-dx-theme="FluentLight"] .dxbl-grid-header {
    background-color: var(--bg-dark-grey);
    border-bottom: 0.25rem solid var(--main-color);
}

.modal-content,
.dxbl-popup-content {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
}

.modal-header,
.modal-footer {
    border-color: var(--bs-border-color);
}

.sidebar {
    background-color: var(--bg-menu);
    color: var(--text-light);
    border-right: 1px solid var(--bs-border-color);
}

.app-header {
    background-color: var(--bg-nav-menu);
    color: var(--text-light);
    border-bottom: 1px solid var(--bs-border-color);
}

.app-footer {
    background-color: var(--bg-nav-menu);
    color: var(--text-light);
    border-top: 1px solid var(--bs-border-color);
}

.main-content {
    background-color: var(--bg-dark);
}

.card {
    background-color: var(--bg-dark-grey);
    border-color: var(--bs-border-color);
}

.card-header {
    background-color: rgba(var(--main-color-rgb), 0.05);
    border-bottom-color: var(--bs-border-color);
}

* {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
