/*
 * FluxCertify - Syncfusion Grid popup overrides
 * Verified against the DOM rendered by Syncfusion Blazor 34.2.3.
 * This file must stay loaded after the Syncfusion Bootstrap 5.3 theme and
 * after the remaining FluxCertify styles.
 */

/* -------------------------------------------------------------------------
   Shared popup shell
   ------------------------------------------------------------------------- */
body .e-grid .e-excelfilter.e-dialog,
body .e-grid .e-checkboxfilter.e-dialog,
body .e-grid .e-filter-popup.e-dialog,
body .e-grid .e-ccdlg.e-dialog {
    font-family: inherit !important;
    color: var(--fc-text) !important;
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius) !important;
    box-shadow: var(--fc-shadow-dialog) !important;
}

body .e-grid .e-excelfilter .e-dlg-content,
body .e-grid .e-checkboxfilter .e-dlg-content,
body .e-grid .e-filter-popup .e-dlg-content,
body .e-grid .e-ccdlg .e-dlg-header-content,
body .e-grid .e-ccdlg .e-dlg-content,
body .e-grid .e-ccdlg .e-footer-content {
    color: var(--fc-text) !important;
    background: var(--fc-surface) !important;
}

/* -------------------------------------------------------------------------
   Excel / checkbox filter - selectors verified in browser DOM
   ------------------------------------------------------------------------- */
body .e-grid .e-excelfilter .e-searchcontainer,
body .e-grid .e-checkboxfilter .e-searchcontainer,
body .e-grid .e-filter-popup .e-searchcontainer {
    padding: 8px 10px !important;
    color: var(--fc-text) !important;
    background: var(--fc-surface) !important;
    font-family: inherit !important;
    font-size: 0.8rem !important;
    line-height: 1.35 !important;
}

body .e-grid .e-excelfilter .e-searchbox,
body .e-grid .e-checkboxfilter .e-searchbox,
body .e-grid .e-filter-popup .e-searchbox,
body .e-grid .e-excelfilter .e-searchbox.e-input-group,
body .e-grid .e-checkboxfilter .e-searchbox.e-input-group,
body .e-grid .e-filter-popup .e-searchbox.e-input-group {
    min-height: 30px !important;
    height: 30px !important;
    border-color: var(--fc-border) !important;
    border-radius: var(--fc-radius-sm) !important;
    background: var(--fc-surface) !important;
}

body .e-grid .e-excelfilter input.e-searchinput.e-input,
body .e-grid .e-checkboxfilter input.e-searchinput.e-input,
body .e-grid .e-filter-popup input.e-searchinput.e-input {
    height: 28px !important;
    min-height: 28px !important;
    padding: 4px 8px !important;
    font-family: inherit !important;
    font-size: 0.8rem !important;
    line-height: 1.25 !important;
    color: var(--fc-text) !important;
    background: var(--fc-surface) !important;
}

    body .e-grid .e-excelfilter input.e-searchinput.e-input::placeholder,
    body .e-grid .e-checkboxfilter input.e-searchinput.e-input::placeholder,
    body .e-grid .e-filter-popup input.e-searchinput.e-input::placeholder {
        color: var(--fc-text-secondary) !important;
        opacity: 1 !important;
    }

body .e-grid .e-excelfilter .e-checkboxlist,
body .e-grid .e-checkboxfilter .e-checkboxlist,
body .e-grid .e-filter-popup .e-checkboxlist {
    color: var(--fc-text) !important;
    background: var(--fc-surface) !important;
    font-family: inherit !important;
    font-size: 0.8rem !important;
}

    body .e-grid .e-excelfilter .e-checkboxlist .e-ftrchk,
    body .e-grid .e-checkboxfilter .e-checkboxlist .e-ftrchk,
    body .e-grid .e-filter-popup .e-checkboxlist .e-ftrchk {
        min-height: 30px !important;
        padding: 4px 10px !important;
        color: var(--fc-text) !important;
        background: var(--fc-surface) !important;
        font-size: 0.8rem !important;
    }

        body .e-grid .e-excelfilter .e-checkboxlist .e-ftrchk:hover,
        body .e-grid .e-checkboxfilter .e-checkboxlist .e-ftrchk:hover,
        body .e-grid .e-filter-popup .e-checkboxlist .e-ftrchk:hover {
            background: var(--fc-primary-soft) !important;
        }

body .e-grid .e-excelfilter .e-checkbox-wrapper,
body .e-grid .e-checkboxfilter .e-checkbox-wrapper,
body .e-grid .e-filter-popup .e-checkbox-wrapper,
body .e-grid .e-excelfilter .e-checkbox-wrapper .e-label.e-fltrcheck,
body .e-grid .e-checkboxfilter .e-checkbox-wrapper .e-label.e-fltrcheck,
body .e-grid .e-filter-popup .e-checkbox-wrapper .e-label.e-fltrcheck {
    font-family: inherit !important;
    font-size: 0.8rem !important;
    line-height: 1.35 !important;
    color: var(--fc-text) !important;
}

    body .e-grid .e-excelfilter .e-checkbox-wrapper .e-frame,
    body .e-grid .e-checkboxfilter .e-checkbox-wrapper .e-frame,
    body .e-grid .e-filter-popup .e-checkbox-wrapper .e-frame {
        width: 16px !important;
        height: 16px !important;
        line-height: 14px !important;
        border-color: var(--fc-border) !important;
    }

        body .e-grid .e-excelfilter .e-checkbox-wrapper .e-frame.e-check,
        body .e-grid .e-checkboxfilter .e-checkbox-wrapper .e-frame.e-check,
        body .e-grid .e-filter-popup .e-checkbox-wrapper .e-frame.e-check,
        body .e-grid .e-excelfilter .e-checkbox-wrapper .e-frame.e-stop,
        body .e-grid .e-checkboxfilter .e-checkbox-wrapper .e-frame.e-stop,
        body .e-grid .e-filter-popup .e-checkbox-wrapper .e-frame.e-stop {
            color: #fff !important;
            background: var(--fc-primary) !important;
            border-color: var(--fc-primary) !important;
        }

/* Operator/menu area of Excel filter. */
body .e-grid .e-excelfilter .e-menu-item,
body .e-grid .e-filter-popup .e-menu-item,
body .e-grid .e-excelfilter .e-menu-item .e-menu-text,
body .e-grid .e-filter-popup .e-menu-item .e-menu-text {
    font-family: inherit !important;
    font-size: 0.8rem !important;
    color: var(--fc-text) !important;
}

    body .e-grid .e-excelfilter .e-menu-item:hover,
    body .e-grid .e-excelfilter .e-menu-item.e-focused,
    body .e-grid .e-filter-popup .e-menu-item:hover,
    body .e-grid .e-filter-popup .e-menu-item.e-focused {
        color: var(--fc-primary) !important;
        background: var(--fc-primary-soft) !important;
    }

/* Filter footer buttons. */
body .e-grid .e-excelfilter .e-footer-content,
body .e-grid .e-checkboxfilter .e-footer-content,
body .e-grid .e-filter-popup .e-footer-content {
    padding: 8px 10px !important;
    border-top: 1px solid var(--fc-divider) !important;
    background: var(--fc-surface) !important;
}

    body .e-grid .e-excelfilter .e-footer-content .e-btn,
    body .e-grid .e-checkboxfilter .e-footer-content .e-btn,
    body .e-grid .e-filter-popup .e-footer-content .e-btn {
        min-height: 30px !important;
        padding: 4px 10px !important;
        font-family: inherit !important;
        font-size: 0.8rem !important;
    }

/* -------------------------------------------------------------------------
   Column chooser - selectors verified in browser DOM
   ------------------------------------------------------------------------- */
body .e-grid .e-ccdlg .e-dlg-header-content {
    padding: 10px 14px !important;
    border-bottom: 1px solid var(--fc-divider) !important;
}

body .e-grid .e-ccdlg .e-dlg-header,
body .e-grid .e-ccdlg .e-dlg-header * {
    font-family: inherit !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: var(--fc-text) !important;
}

body .e-grid .e-ccdlg .e-dlg-content {
    padding: 10px 14px !important;
    font-family: inherit !important;
    font-size: 0.8rem !important;
    line-height: 1.35 !important;
    color: var(--fc-text) !important;
}

body .e-grid .e-ccdlg .e-main-div,
body .e-grid .e-ccdlg .e-cc-searchdiv,
body .e-grid .e-ccdlg .e-cc-contentdiv,
body .e-grid .e-ccdlg .e-innerdiv,
body .e-grid .e-ccdlg .e-ccul-ele {
    font-family: inherit !important;
    font-size: 0.8rem !important;
    color: var(--fc-text) !important;
    background: var(--fc-surface) !important;
}

body .e-grid .e-ccdlg .e-cc-searchdiv {
    margin: 0 0 8px 0 !important;
}

    body .e-grid .e-ccdlg .e-cc-searchdiv .e-input-group,
    body .e-grid .e-ccdlg .e-cc-searchdiv .e-control-wrapper {
        min-height: 30px !important;
        height: 30px !important;
        border-color: var(--fc-border) !important;
        border-radius: var(--fc-radius-sm) !important;
        background: var(--fc-surface) !important;
    }

    body .e-grid .e-ccdlg .e-cc-searchdiv input,
    body .e-grid .e-ccdlg .e-cc-searchdiv .e-input {
        height: 28px !important;
        min-height: 28px !important;
        padding: 4px 8px !important;
        font-family: inherit !important;
        font-size: 0.8rem !important;
        line-height: 1.25 !important;
        color: var(--fc-text) !important;
        background: var(--fc-surface) !important;
    }

        body .e-grid .e-ccdlg .e-cc-searchdiv input::placeholder {
            color: var(--fc-text-secondary) !important;
            opacity: 1 !important;
        }

body .e-grid .e-ccdlg .e-cclist,
body .e-grid .e-ccdlg .e-cclist .e-cc,
body .e-grid .e-ccdlg .e-cclist .e-label,
body .e-grid .e-ccdlg .e-cclist .e-checkbox-wrapper,
body .e-grid .e-ccdlg .e-ccul-ele li {
    font-family: inherit !important;
    font-size: 0.8rem !important;
    line-height: 1.35 !important;
    color: var(--fc-text) !important;
}

body .e-grid .e-ccdlg .e-ccul-ele li {
    min-height: 30px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    background: var(--fc-surface) !important;
}

    body .e-grid .e-ccdlg .e-ccul-ele li:hover,
    body .e-grid .e-ccdlg .e-ccul-ele li.e-hover,
    body .e-grid .e-ccdlg .e-ccul-ele li.e-focused {
        color: var(--fc-primary) !important;
        background: var(--fc-primary-soft) !important;
    }

body .e-grid .e-ccdlg .e-checkbox-wrapper .e-frame {
    width: 16px !important;
    height: 16px !important;
    line-height: 14px !important;
    border-color: var(--fc-border) !important;
}

    body .e-grid .e-ccdlg .e-checkbox-wrapper .e-frame.e-check,
    body .e-grid .e-ccdlg .e-checkbox-wrapper .e-frame.e-stop {
        color: #fff !important;
        background: var(--fc-primary) !important;
        border-color: var(--fc-primary) !important;
    }

body .e-grid .e-ccdlg .e-footer-content {
    padding: 8px 14px !important;
    border-top: 1px solid var(--fc-divider) !important;
}

    body .e-grid .e-ccdlg .e-footer-content .e-btn {
        min-height: 30px !important;
        padding: 4px 10px !important;
        font-family: inherit !important;
        font-size: 0.8rem !important;
    }

/* Focus treatment shared by search fields. */
body .e-grid .e-excelfilter .e-input-group.e-input-focus,
body .e-grid .e-excelfilter .e-input-group:focus-within,
body .e-grid .e-checkboxfilter .e-input-group.e-input-focus,
body .e-grid .e-checkboxfilter .e-input-group:focus-within,
body .e-grid .e-filter-popup .e-input-group.e-input-focus,
body .e-grid .e-filter-popup .e-input-group:focus-within,
body .e-grid .e-ccdlg .e-input-group.e-input-focus,
body .e-grid .e-ccdlg .e-input-group:focus-within {
    border-color: var(--fc-primary) !important;
    box-shadow: var(--fc-focus-ring) !important;
}

/* -------------------------------------------------------------------------
   2026-09-30: Exact selectors verified in Chrome DevTools.
   Syncfusion renders the Excel-filter operator menu as:
     div.e-contextmenu-container ...
       ul.e-grid-filter-menu.e-menu-parent
         li.e-menu-item
   Therefore e-grid-filter-menu must be matched on the UL, not on the
   container. Bootstrap 5.3 applies font-size directly to li.e-menu-item.
   ------------------------------------------------------------------------- */
body .e-contextmenu-container ul.e-grid-filter-menu.e-menu-parent,
body .e-contextmenu-wrapper ul.e-grid-filter-menu.e-menu-parent {
    padding: 4px 0 !important;
    font-family: inherit !important;
    font-size: 0.8rem !important;
    color: var(--fc-text) !important;
    background: var(--fc-surface) !important;
}

    body .e-contextmenu-container ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item,
    body .e-contextmenu-wrapper ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item {
        min-height: 30px !important;
        height: 30px !important;
        padding: 4px 10px !important;
        font-family: inherit !important;
        font-size: 0.8rem !important;
        line-height: 1.35 !important;
        color: var(--fc-text) !important;
        background: var(--fc-surface) !important;
    }

/* Separatoren auch in Untermenüs des Excel-Filters kompakt darstellen */
body .e-contextmenu-container li.e-separator,
body .e-contextmenu-wrapper li.e-separator {
    min-height: 0 !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 4px 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--fc-divider) !important;
    background: transparent !important;
    line-height: 0 !important;
}

body .e-contextmenu-container ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item:not(.e-separator),
body .e-contextmenu-wrapper ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item:not(.e-separator) {
    min-height: 30px !important;
    height: 30px !important;
    padding: 4px 10px !important;
    font-family: inherit !important;
    font-size: 0.8rem !important;
    line-height: 1.35 !important;
    color: var(--fc-text) !important;
    background: var(--fc-surface) !important;
}

        body .e-contextmenu-container ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item > .e-menu-icon,
        body .e-contextmenu-container ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item > .e-menu-text,
        body .e-contextmenu-container ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item > .e-icons,
        body .e-contextmenu-container ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item > .e-menu-caret-icon,
        body .e-contextmenu-wrapper ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item > .e-menu-icon,
        body .e-contextmenu-wrapper ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item > .e-menu-text,
        body .e-contextmenu-wrapper ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item > .e-icons,
        body .e-contextmenu-wrapper ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item > .e-menu-caret-icon {
            font-family: inherit !important;
            font-size: inherit !important;
            line-height: inherit !important;
            color: inherit !important;
        }

        body .e-contextmenu-container ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item:hover,
        body .e-contextmenu-container ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item.e-focused,
        body .e-contextmenu-container ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item.e-selected,
        body .e-contextmenu-wrapper ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item:hover,
        body .e-contextmenu-wrapper ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item.e-focused,
        body .e-contextmenu-wrapper ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item.e-selected {
            color: var(--fc-primary) !important;
            background: var(--fc-primary-soft) !important;
        }

        body .e-contextmenu-container ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item.e-disabled,
        body .e-contextmenu-wrapper ul.e-grid-filter-menu.e-menu-parent > li.e-menu-item.e-disabled {
            color: var(--fc-text-disabled) !important;
            background: var(--fc-surface) !important;
            opacity: 1 !important;
        }

/* Exact filter-list elements seen in the rendered DOM. */
body .e-grid .e-excelfilter .e-checkboxlist.e-fields > .e-ftrchk,
body .e-grid .e-checkboxfilter .e-checkboxlist.e-fields > .e-ftrchk,
body .e-grid .e-filter-popup .e-checkboxlist.e-fields > .e-ftrchk,
body .e-grid .e-excelfilter .e-checkboxlist.e-fields > .e-ftrchk .e-label.e-fltrcheck,
body .e-grid .e-checkboxfilter .e-checkboxlist.e-fields > .e-ftrchk .e-label.e-fltrcheck,
body .e-grid .e-filter-popup .e-checkboxlist.e-fields > .e-ftrchk .e-label.e-fltrcheck {
    font-family: "Trebuchet MS", Aptos, "Segoe UI", sans-serif !important;
    /*font-size: 0.4rem !important;*/
    /*font-size: 0.65rem !important;*/
    line-height: 1.35 !important;
    color: var(--fc-text) !important;
}

/* Exact Column Chooser structure rendered by Syncfusion 34.2.3. */
body .e-grid .e-ccdlg.e-dialog .e-main-div.e-cc,
body .e-grid .e-ccdlg.e-dialog .e-cc-contentdiv,
body .e-grid .e-ccdlg.e-dialog .e-innerdiv.e-cc,
body .e-grid .e-ccdlg.e-dialog ul.e-ccul-ele.e-cc {
    font-family: inherit !important;
    font-size: 0.8rem !important;
    color: var(--fc-text) !important;
    background: var(--fc-surface) !important;
}

    body .e-grid .e-ccdlg.e-dialog ul.e-ccul-ele.e-cc > li.e-cclist.e-cc,
    body .e-grid .e-ccdlg.e-dialog ul.e-ccul-ele.e-cc > li.e-cclist.e-cc .e-checkbox-wrapper,
    body .e-grid .e-ccdlg.e-dialog ul.e-ccul-ele.e-cc > li.e-cclist.e-cc .e-label {
        font-family: inherit !important;
        font-size: 0.8rem !important;
        line-height: 1.35 !important;
        color: var(--fc-text) !important;
    }

    body .e-grid .e-ccdlg.e-dialog ul.e-ccul-ele.e-cc > li.e-cclist.e-cc {
        min-height: 30px !important;
        padding: 4px 8px !important;
        background: var(--fc-surface) !important;
    }

        body .e-grid .e-ccdlg.e-dialog ul.e-ccul-ele.e-cc > li.e-cclist.e-cc:hover,
        body .e-grid .e-ccdlg.e-dialog ul.e-ccul-ele.e-cc > li.e-cclist.e-cc.e-hover,
        body .e-grid .e-ccdlg.e-dialog ul.e-ccul-ele.e-cc > li.e-cclist.e-cc.e-focused {
            color: var(--fc-primary) !important;
            background: var(--fc-primary-soft) !important;
        }

/* The indeterminate 'select all' checkbox is blue in the Bootstrap theme.
   Keep checked and indeterminate states consistently Petrol. */
body .e-grid .e-ccdlg.e-dialog .e-checkbox-wrapper .e-frame.e-check,
body .e-grid .e-ccdlg.e-dialog .e-checkbox-wrapper .e-frame.e-stop,
body .e-grid .e-ccdlg.e-dialog .e-checkbox-wrapper .e-frame.e-selectall.e-check,
body .e-grid .e-ccdlg.e-dialog .e-checkbox-wrapper .e-frame.e-selectall.e-stop,
body .e-grid .e-excelfilter .e-checkbox-wrapper .e-frame.e-check,
body .e-grid .e-excelfilter .e-checkbox-wrapper .e-frame.e-stop {
    color: #fff !important;
    background-color: var(--fc-primary) !important;
    border-color: var(--fc-primary) !important;
}

/* "Aktuelle Auswahl zum Filter hinzufügen" exakt wie normale Checkbox-Zeile ausrichten */
.e-checkboxlist.e-fields > .e-ftrchk:has(.e-add-current) {
    padding: 4px 10px !important;
    min-height: 30px !important;
    box-sizing: border-box !important;
    font-family: "Trebuchet MS", Aptos, "Segoe UI", sans-serif !important;
    font-size: 0.65rem !important;
    line-height: 1.35 !important;
    color: var(--fc-text) !important;
}

    /* Wrapper nicht von Syncfusion verschieben lassen */
    /*.e-checkboxlist.e-fields > .e-ftrchk:has(.e-add-current) > .e-checkbox-wrapper {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        margin-left: 28px !important;
    }*/

    /* Sonder-Checkbox an dieselbe Stelle wie normale Checkboxen */
    /*.e-checkboxlist.e-fields > .e-ftrchk:has(.e-add-current) .e-frame.e-add-current {
        position: static !important;
        transform: none !important;
        width: 16px !important;
        height: 16px !important;
        min-width: 16px !important;
        margin: 0 8px 0 0 !important;
        padding: 0 !important;
        flex: 0 0 16px !important;
    }*/

    /* Text direkt hinter Checkbox */
    /*.e-checkboxlist.e-fields > .e-ftrchk:has(.e-add-current) .e-label.e-checkboxfiltertext {
        margin: 0 !important;
        padding: 0 !important;
        font-family: "Trebuchet MS", Aptos, "Segoe UI", sans-serif !important;
        font-size: 0.65rem !important;
        line-height: 1.35 !important;
        color: var(--fc-text) !important;
    }*/