/* ==========================================================================
   MAURICE - DevExpress Component Overrides mapped to Design Tokens
   ========================================================================== */

/* Popups / Modals */
.dxbs-popup .modal-content,
.dxbl-popup .dxbl-popup-content,
.dxbl-popup,
.dx-popup-content,
.modal-content {
    background-color: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-xl) !important;
    color: var(--text) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25) !important;
}

.dxbs-popup .modal-header,
.dxbl-popup .dxbl-popup-header,
.modal-header {
    background-color: var(--surface-subtle) !important;
    border-bottom: 1px solid var(--divider) !important;
    color: var(--text-strong) !important;
    padding: 16px 20px !important;
}

.dxbs-popup .modal-header .modal-title,
.dxbl-popup .dxbl-popup-header-text,
.modal-title {
    color: var(--text-strong) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    font-family: var(--font-sans) !important;
}

.dxbs-popup .modal-body,
.dxbl-popup .dxbl-popup-body,
.modal-body {
    background-color: var(--surface) !important;
    color: var(--text) !important;
    padding: 20px !important;
    font-family: var(--font-sans) !important;
}

.dxbs-popup .modal-footer,
.dxbl-popup .dxbl-popup-footer,
.modal-footer {
    background-color: var(--surface-subtle) !important;
    border-top: 1px solid var(--divider) !important;
    padding: 14px 20px !important;
}

.dxbl-popup .btn-close,
.modal-header .btn-close {
    filter: invert(var(--color-scheme-invert, 0.6));
    opacity: 0.7;
}

:root[data-theme="dark"] .dxbl-popup .btn-close,
:root[data-theme="dark"] .modal-header .btn-close {
    filter: invert(1);
    opacity: 0.8;
}

/* Form Controls: Inputs, TextBoxes, Memos, ComboBoxes */
.dxbl-text-edit,
.dxbl-memo,
.dxbl-combobox {
    background-color: var(--surface-input) !important;
    border: 1px solid var(--border-control) !important;
    border-radius: var(--radius-sm) !important;
    color: var(--text) !important;
    font-family: var(--font-sans) !important;
    font-size: 13.5px !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.dxbl-text-edit:hover,
.dxbl-memo:hover,
.dxbl-combobox:hover {
    border-color: var(--border-hover) !important;
}

.dxbl-text-edit:focus-within,
.dxbl-memo:focus-within,
.dxbl-combobox:focus-within {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 1px var(--accent) !important;
}

.dxbl-text-edit input,
.dxbl-memo textarea,
.dxbl-combobox input {
    color: var(--text-strong) !important;
    background: transparent !important;
}

.dxbl-text-edit input::placeholder,
.dxbl-memo textarea::placeholder,
.dxbl-combobox input::placeholder {
    color: var(--text-muted) !important;
}

/* ComboBox Dropdown Popups */
.dxbl-combobox-dropdown,
.dxbl-dropdown-popup {
    background-color: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
}

.dxbl-list-box-item {
    color: var(--text) !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
    transition: background-color 0.1s ease;
}

.dxbl-list-box-item:hover,
.dxbl-list-box-item.dxbl-focused {
    background-color: var(--surface-hover) !important;
    color: var(--text-strong) !important;
}

.dxbl-list-box-item.dxbl-selected {
    background-color: var(--nav-active-bg) !important;
    color: var(--text-strong) !important;
    font-weight: 600 !important;
}

/* Buttons */
.dxbl-btn-primary,
.btn-primary {
    background-color: var(--accent) !important;
    border-color: var(--accent) !important;
    color: var(--on-accent) !important;
    font-weight: 600 !important;
    border-radius: var(--radius-sm) !important;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.dxbl-btn-primary:hover,
.btn-primary:hover {
    background-color: var(--accent) !important;
    border-color: var(--accent) !important;
    color: var(--on-accent) !important;
    opacity: 0.92;
    transform: translateY(-1px);
}

.dxbl-btn-secondary,
.btn-secondary {
    background-color: var(--surface-input) !important;
    border-color: var(--border-control) !important;
    color: var(--text) !important;
    font-weight: 500 !important;
    border-radius: var(--radius-sm) !important;
}

.dxbl-btn-secondary:hover,
.btn-secondary:hover {
    background-color: var(--surface-hover) !important;
    border-color: var(--border-hover) !important;
    color: var(--text-strong) !important;
}

/* Global scrollbar and base fixes */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--border-hover);
}
