/*
 * Accessible primary-action states.
 *
 * Variables are generated from the selected application theme on initial render
 * and refreshed by setThemeColor() when a user switches themes. The higher body
 * specificity intentionally wins over legacy preset files that force white text.
 */
body .btn-primary,
body .rpt-filter-btn:not(.dropdown-toggle) {
    background-color: var(--dc-primary-bg, #6690f4) !important;
    border-color: var(--dc-primary-border, #6690f4) !important;
    color: var(--dc-primary-text, #fff) !important;
    opacity: 1 !important;
}

body .btn-primary:hover,
body .btn-primary:focus,
body .rpt-filter-btn:not(.dropdown-toggle):hover,
body .rpt-filter-btn:not(.dropdown-toggle):focus {
    background-color: var(--dc-primary-hover-bg, #4076f2) !important;
    border-color: var(--dc-primary-hover-border, #4076f2) !important;
    color: var(--dc-primary-text, #fff) !important;
    opacity: 1 !important;
}

body .btn-primary:active,
body .btn-primary.active,
body .btn-primary.show,
body .show > .btn-primary.dropdown-toggle,
body .btn-check:checked + .btn-primary,
body .rpt-filter-btn:not(.dropdown-toggle):active,
body .rpt-filter-btn:not(.dropdown-toggle).active {
    background-color: var(--dc-primary-active-bg, #4076f2) !important;
    border-color: var(--dc-primary-active-border, #4076f2) !important;
    color: var(--dc-primary-text, #fff) !important;
}

body .btn-primary:focus-visible,
body .rpt-filter-btn:not(.dropdown-toggle):focus-visible {
    box-shadow: none !important;
    outline: 2px solid var(--dc-primary-focus-ring, #2563eb);
    outline-offset: 2px;
}

body .btn-primary:disabled,
body .btn-primary.disabled,
body fieldset:disabled .btn-primary,
body .rpt-filter-btn:not(.dropdown-toggle):disabled,
body .rpt-filter-btn:not(.dropdown-toggle).disabled {
    background-color: var(--dc-primary-disabled-bg, #f1f5fa) !important;
    border-color: var(--dc-primary-disabled-border, #e8ecf1) !important;
    color: var(--dc-primary-disabled-text, #1e293b) !important;
    cursor: not-allowed;
    opacity: 1;
}

body .btn-primary svg,
body .btn-primary i,
body .rpt-filter-btn:not(.dropdown-toggle) svg,
body .rpt-filter-btn:not(.dropdown-toggle) i {
    color: inherit !important;
    stroke: currentColor;
}

/* Explicitly secondary report controls must not inherit the primary Filter treatment. */
body .rpt-filter-btn.rpt-filter-btn-secondary {
    background-color: #fff !important;
    border-color: #dde1e7 !important;
    color: #495057 !important;
}

body .rpt-filter-btn.rpt-filter-btn-secondary:hover,
body .rpt-filter-btn.rpt-filter-btn-secondary:focus,
body .rpt-filter-btn.rpt-filter-btn-secondary:active {
    background-color: #f1f5f9 !important;
    border-color: #b8c2cc !important;
    color: #1e293b !important;
}

body .rpt-filter-btn.rpt-filter-btn-secondary:focus-visible {
    box-shadow: none !important;
    outline: 2px solid var(--dc-primary-focus-ring, #2563eb);
    outline-offset: 2px;
}

body[data-color="1E202D"] .rpt-filter-btn.rpt-filter-btn-secondary {
    background-color: #2B2E3B !important;
    border-color: #4e5e6a !important;
    color: #f1f5fa !important;
}

body[data-color="1E202D"] .rpt-filter-btn.rpt-filter-btn-secondary:hover,
body[data-color="1E202D"] .rpt-filter-btn.rpt-filter-btn-secondary:focus,
body[data-color="1E202D"] .rpt-filter-btn.rpt-filter-btn-secondary:active {
    background-color: #1e293b !important;
    border-color: #7b8190 !important;
    color: #fff !important;
}

/* Report Actions is secondary: keep it neutral and legible on the native dark surface. */
body[data-color="1E202D"] .rpt-filter-btn.dropdown-toggle {
    background-color: #2B2E3B !important;
    border-color: #4e5e6a !important;
    color: #f1f5fa !important;
}

body[data-color="1E202D"] .rpt-filter-btn.dropdown-toggle:hover,
body[data-color="1E202D"] .rpt-filter-btn.dropdown-toggle:focus,
body[data-color="1E202D"] .rpt-filter-btn.dropdown-toggle:active,
body[data-color="1E202D"] .rpt-filter-btn.dropdown-toggle.show {
    background-color: #1e293b !important;
    border-color: #7b8190 !important;
    color: #fff !important;
}

body[data-color="1E202D"] .rpt-filter-btn.dropdown-toggle:focus-visible {
    box-shadow: none !important;
    outline: 2px solid #6690F4;
    outline-offset: 2px;
}
