/* Shared color contract for B2B Razor views. Component layout stays in each panel. */
:is(.b2b-home, .b2bf-filter, .b2bfiyat, .bfsa, .b2b-cari-panel, .b2br-panel, .b2bs-panel, .b2sa-panel) {
    --b2b-bg: #ffffff;
    --b2b-bg-soft: #f8fafc;
    --b2b-bg-muted: #f1f5f9;
    --b2b-text: #0f172a;
    --b2b-text-muted: #64748b;
    --b2b-border: #d7dee8;
    --b2b-focus: #2563eb;
    color: var(--b2b-text);
    color-scheme: light;
}

:is(.b2b-home, .b2bf-filter, .b2bfiyat, .bfsa, .b2b-cari-panel, .b2br-panel, .b2bs-panel, .b2sa-panel)
    :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    background-color: var(--b2b-bg);
    border-color: var(--b2b-border);
    color: var(--b2b-text);
}

:is(.b2b-home, .b2bf-filter, .b2bfiyat, .bfsa, .b2b-cari-panel, .b2br-panel, .b2bs-panel, .b2sa-panel)
    :is(input, select, textarea, button):focus-visible {
    outline: 2px solid var(--b2b-focus);
    outline-offset: 2px;
}

@media (prefers-color-scheme: dark) {
    :is(.b2b-home, .b2bf-filter, .b2bfiyat, .bfsa, .b2b-cari-panel, .b2br-panel, .b2bs-panel, .b2sa-panel) {
        --b2b-bg: #292d32;
        --b2b-bg-soft: #22262b;
        --b2b-bg-muted: #343a41;
        --b2b-text: #edf2f7;
        --b2b-text-muted: #aab6c5;
        --b2b-border: #46515f;
        --b2b-focus: #6ea8fe;
        color-scheme: dark;
    }

    /* DevExpress grids otherwise retain light cells when only Windows is dark. */
    :is(.b2b-home, .b2bfiyat, .bfsa, .b2b-cari-panel, .b2br-panel, .b2bs-panel, .b2sa-panel)
        :is(.dxbl-grid, dxbl-grid, .dxbl-grid-table, .dxbl-grid-empty-data-area, .dxbl-grid-footer, .dxbl-grid-pager) {
        background-color: var(--b2b-bg) !important;
        border-color: var(--b2b-border) !important;
        color: var(--b2b-text) !important;
    }

    :is(.b2b-home, .b2bfiyat, .bfsa, .b2b-cari-panel, .b2br-panel, .b2bs-panel, .b2sa-panel)
        .dxbl-grid-table > thead > tr > th {
        background-color: var(--b2b-bg-muted) !important;
        border-color: var(--b2b-border) !important;
        color: var(--b2b-text) !important;
    }

    :is(.b2b-home, .b2bfiyat, .bfsa, .b2b-cari-panel, .b2br-panel, .b2bs-panel, .b2sa-panel)
        .dxbl-grid-table > tbody > tr > td {
        background-color: var(--b2b-bg) !important;
        border-color: var(--b2b-border) !important;
        color: var(--b2b-text) !important;
    }

    :is(.b2b-home, .b2bfiyat, .bfsa, .b2b-cari-panel, .b2br-panel, .b2bs-panel, .b2sa-panel)
        .dxbl-grid-table > tbody > tr:hover > td {
        background-color: var(--b2b-bg-muted) !important;
    }

    :is(.b2b-home, .b2bf-filter, .b2bfiyat, .bfsa, .b2b-cari-panel, .b2br-panel, .b2bs-panel, .b2sa-panel)
        :is(.dxbl-text-edit, .dxbl-dropdown-edit, .dxbl-date-edit, .dxbl-spin-edit, .dxbl-combobox) {
        background-color: var(--b2b-bg-soft) !important;
        border-color: var(--b2b-border) !important;
        color: var(--b2b-text) !important;
    }

    :is(.b2b-home, .b2bf-filter, .b2bfiyat, .bfsa, .b2b-cari-panel, .b2br-panel, .b2bs-panel, .b2sa-panel)
        :is(.dxbl-text-edit-input, input, select, textarea) {
        background-color: var(--b2b-bg-soft) !important;
        border-color: var(--b2b-border) !important;
        color: var(--b2b-text) !important;
    }

    :is(.b2b-home, .b2bf-filter, .b2bfiyat, .bfsa, .b2b-cari-panel, .b2br-panel, .b2bs-panel, .b2sa-panel)
        :is(input, textarea)::placeholder {
        color: var(--b2b-text-muted) !important;
        opacity: 1;
    }

    /* B2B popups are rendered in a portal, outside the component root. */
    .dxbl-modal-content:has(:is(.b2b-password-box, .b2b-popup-summary, .b2bs-detail-content)) {
        background-color: #292d32 !important;
        border-color: #46515f !important;
        color: #edf2f7 !important;
        color-scheme: dark;
    }

    .dxbl-modal-content:has(:is(.b2b-password-box, .b2b-popup-summary, .b2bs-detail-content))
        :is(.dxbl-modal-header, .dxbl-modal-body, .dxbl-modal-footer) {
        background-color: #292d32 !important;
        border-color: #46515f !important;
        color: #edf2f7 !important;
    }
}

@media (prefers-contrast: more) {
    :is(.b2b-home, .b2bf-filter, .b2bfiyat, .bfsa, .b2b-cari-panel, .b2br-panel, .b2bs-panel, .b2sa-panel) {
        --b2b-border: currentColor;
    }
}
