/**
 * E-Budgeting — Bootstrap 5 shell theme (replaces legacy pcoded + style.css layering).
 * Dark mode: html[data-bs-theme="dark"]
 */
:root {
    --ebg-sidebar-w: 296px;
    --ebg-sidebar-rail: 76px;
    /* Typography scale (rem) */
    --ebg-fs-body: 0.9375rem;
    --ebg-fs-sm: 0.8125rem;
    --ebg-fs-xs: 0.75rem;
    --ebg-leading: 1.55;
    --ebg-radius-btn: 0.5rem;
}

/* --- Theme: light — slate neutrals + indigo primary + subtle cool accents --- */
[data-bs-theme='light'] {
    color-scheme: light;
    --bs-blue: #4f46e5;
    --bs-primary: #4f46e5;
    --bs-primary-rgb: 79, 70, 229;
    --bs-link-color: #4338ca;
    --bs-link-hover-color: #3730a3;
    --bs-body-bg: #f3f5fb;
    --bs-body-color: #1e293b;
    --bs-secondary-color: #64748b;
    --bs-secondary-bg: #e8ecf4;
    --bs-tertiary-bg: #eef1f8;
    --bs-border-color: rgba(15, 23, 42, 0.1);
    --bs-border-color-translucent: rgba(15, 23, 42, 0.09);
    --bs-emphasis-color: #0f172a;
    --bs-success: #059669;
    --bs-success-rgb: 5, 150, 105;
    --bs-info: #0891b2;
    --bs-info-rgb: 8, 145, 178;
}

/* --- Theme: dark — deep blue-slate (not flat gray) + soft indigo light --- */
[data-bs-theme='dark'] {
    color-scheme: dark;
    --bs-blue: #818cf8;
    --bs-primary: #818cf8;
    --bs-primary-rgb: 129, 140, 248;
    --bs-link-color: #a5b4fc;
    --bs-link-hover-color: #c7d2fe;
    --bs-body-bg: #0c101b;
    --bs-body-color: #e8edf5;
    --bs-secondary-color: #94a3b8;
    --bs-secondary-bg: #151b2e;
    --bs-tertiary-bg: #1a2235;
    --bs-border-color: rgba(148, 163, 184, 0.18);
    --bs-border-color-translucent: rgba(148, 163, 184, 0.14);
    --bs-emphasis-color: #f1f5f9;
    --bs-success: #34d399;
    --bs-success-rgb: 52, 211, 153;
    --bs-info: #22d3ee;
    --bs-info-rgb: 34, 211, 238;
}

body.ebg-sidebar-collapsed {
    --ebg-sidebar-w: var(--ebg-sidebar-rail);
}

.ebgting-root {
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    font-size: var(--ebg-fs-body);
    line-height: var(--ebg-leading);
    letter-spacing: -0.015em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Typography hierarchy (main shell + legacy content) */
.ebgting-root h1,
.ebgting-root .h1 {
    font-size: clamp(1.35rem, 2vw, 1.6rem);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.25;
}

.ebgting-root h2,
.ebgting-root .h2 {
    font-size: clamp(1.2rem, 1.6vw, 1.4rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.3;
}

.ebgting-root h3,
.ebgting-root .h3 {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.35;
}

.ebgting-root h4,
.ebgting-root .h4,
.ebgting-root h5,
.ebgting-root .h5,
.ebgting-root h6,
.ebgting-root .h6 {
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.4;
}

.ebgting-content .card-title {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--bs-emphasis-color);
}

/* Buttons: smaller default, proportional lg/sm (elegant / professional) */
.ebgting-root .btn {
    --bs-btn-padding-y: 0.35rem;
    --bs-btn-padding-x: 0.875rem;
    --bs-btn-font-size: var(--ebg-fs-sm);
    --bs-btn-font-weight: 500;
    --bs-btn-line-height: 1.45;
    --bs-btn-border-radius: var(--ebg-radius-btn);
}

.ebgting-root .btn-lg {
    --bs-btn-padding-y: 0.45rem;
    --bs-btn-padding-x: 1.05rem;
    --bs-btn-font-size: 0.875rem;
    --bs-btn-border-radius: 0.55rem;
}

.ebgting-root .btn-sm,
.ebgting-root .btn-group-sm > .btn {
    --bs-btn-padding-y: 0.28rem;
    --bs-btn-padding-x: 0.55rem;
    --bs-btn-font-size: var(--ebg-fs-xs);
    --bs-btn-border-radius: 0.4rem;
}

.ebgting-root .btn-mini {
    padding: 0.22rem 0.4rem;
    font-size: var(--ebg-fs-xs);
}

/* Form controls: align with compact buttons */
.ebgting-content .form-control,
.ebgting-content .form-select {
    font-size: var(--ebg-fs-sm);
    padding: 0.35rem 0.65rem;
    min-height: calc(1.45em + 0.7rem + 2px);
    border-radius: 0.45rem;
}

.ebgting-content .input-group-sm .form-control,
.ebgting-content .input-group-sm .form-select {
    font-size: var(--ebg-fs-xs);
}

[data-bs-theme='dark'] .ebgting-content .form-control:not([readonly]):not([disabled]),
[data-bs-theme='dark'] .ebgting-content .form-select:not([disabled]) {
    background-color: var(--bs-tertiary-bg);
    color: var(--bs-emphasis-color);
    border-color: rgba(148, 163, 184, 0.28);
}

[data-bs-theme='dark'] .ebgting-content .form-control::placeholder {
    color: var(--bs-secondary-color);
    opacity: 1;
}

[data-bs-theme='light'] .ebgting-content .form-control:not([readonly]):not([disabled]),
[data-bs-theme='light'] .ebgting-content .form-select:not([disabled]) {
    color: var(--bs-emphasis-color);
}

/* --- Sidebar (legacy pcoded markup inside offcanvas) --- */
.ebgting-sidebar-offcanvas {
    --bs-offcanvas-width: min(100vw, var(--ebg-sidebar-w));
    background: var(--bs-body-bg);
    border-right: 1px solid var(--bs-border-color);
}

[data-bs-theme='light'] .ebgting-sidebar-offcanvas {
    background: linear-gradient(165deg, #ffffff 0%, #f5f7ff 42%, #eef2ff 100%);
    box-shadow: 6px 0 32px rgba(79, 70, 229, 0.07);
}

[data-bs-theme='dark'] .ebgting-sidebar-offcanvas {
    background: linear-gradient(165deg, #121a2e 0%, #0c101b 55%, #0a0e18 100%);
    box-shadow: 8px 0 40px rgba(0, 0, 0, 0.55);
}

/* Sidebar column: top strip aligns with main navbar (56px) */
.ebgting-sidebar-offcanvas .offcanvas-body.ebg-sidebar-body {
    min-height: 100%;
}

@media (min-width: 992px) {
    .ebgting-sidebar-offcanvas.offcanvas-lg .offcanvas-body.ebg-sidebar-body {
        min-height: 100vh;
        max-height: 100vh;
    }
}

.ebg-sidebar-topbar-sync {
    min-height: 56px;
    height: 56px;
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color) !important;
    box-sizing: border-box;
}

[data-bs-theme='light'] .ebg-sidebar-topbar-sync {
    background: linear-gradient(100deg, #ffffff 0%, #f4f6ff 100%);
}

.ebg-sidebar-brand {
    font-size: 1rem;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

body.ebg-sidebar-collapsed .ebg-sidebar-brand {
    display: none !important;
}

body.ebg-sidebar-collapsed .ebg-sidebar-topbar-sync {
    justify-content: center;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

.ebg-sidebar-scroll {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

@media (min-width: 992px) {
    .ebgting-sidebar-offcanvas.offcanvas-lg {
        position: relative;
        transform: none !important;
        visibility: visible !important;
        flex: 0 0 var(--ebg-sidebar-w);
        max-width: var(--ebg-sidebar-w);
        min-width: var(--ebg-sidebar-w);
        height: 100vh;
        border-right: 1px solid var(--bs-border-color);
        transition: flex-basis 0.28s ease, max-width 0.28s ease, min-width 0.28s ease;
    }
}

/* Reset lists + markers (submenu was showing bullets in some browsers) */
.ebgting-sidebar-wrap ul,
.ebgting-sidebar-wrap ol,
.ebgting-sidebar-wrap li {
    list-style: none !important;
    list-style-type: none !important;
}

.ebgting-sidebar-wrap ul,
.ebgting-sidebar-wrap ol {
    margin: 0;
    padding-left: 0;
}

/* Bootstrap 5 `a` reboot → blue underline; submenu links had no override */
.ebgting-sidebar-wrap nav a,
.ebgting-sidebar-wrap .pcoded-navbar a {
    color: var(--bs-body-color) !important;
    text-decoration: none !important;
}

.ebgting-sidebar-wrap nav a:hover,
.ebgting-sidebar-wrap .pcoded-navbar a:hover {
    color: var(--bs-body-color) !important;
}

.ebgting-sidebar-wrap nav a:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

/* Hide legacy mobile close inside sidebar (we use offcanvas header) */
.ebgting-sidebar-wrap .sidebar_toggle {
    display: none !important;
}

.ebgting-sidebar-wrap .pcoded-navbar {
    width: 100%;
    background: transparent !important;
    box-shadow: none !important;
}

.ebgting-sidebar-wrap .ebg-sidebar-scroll .pcoded-inner-navbar {
    max-height: none !important;
    overflow: visible;
    padding-bottom: 2rem;
}

.ebgting-sidebar-wrap .pcoded-inner-navbar {
    overflow-x: hidden;
}

.ebgting-sidebar-wrap .pcoded-navigatio-lavel {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bs-secondary-color) !important;
    padding: 1rem 1rem 0.35rem !important;
    margin: 0 !important;
}

.ebgting-sidebar-wrap .pcoded-item > li {
    padding: 0 0.4rem;
}

.ebgting-sidebar-wrap .pcoded-item > li > a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    box-sizing: border-box;
    padding: 0.52rem 0.7rem !important;
    border-radius: var(--bs-border-radius);
    color: inherit !important;
    text-decoration: none;
    margin: 3px 0;
    font-weight: 500;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.ebgting-sidebar-wrap .pcoded-item > li > a:hover {
    background: rgba(var(--bs-primary-rgb), 0.08);
    transform: translateX(1px);
}

.ebgting-sidebar-wrap .pcoded-item > li.active > a,
.ebgting-sidebar-wrap .pcoded-submenu li.active > a {
    background: rgba(var(--bs-primary-rgb), 0.14);
    color: var(--bs-primary) !important;
    font-weight: 600;
}

.ebgting-sidebar-wrap .pcoded-submenu li.active > a .pcoded-mtext {
    color: var(--bs-primary) !important;
}

.ebgting-sidebar-wrap .pcoded-mtext {
    flex: 1;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.ebgting-sidebar-wrap .pcoded-micon {
    flex-shrink: 0;
    width: 1.5rem;
    text-align: center;
    color: var(--bs-secondary-color);
}

.ebgting-sidebar-wrap .pcoded-micon b {
    display: none;
}

.ebgting-sidebar-wrap .pcoded-submenu {
    padding: 0.2rem 0 0.3rem 0.25rem !important;
}

.ebgting-sidebar-wrap .pcoded-submenu .pcoded-mtext {
    font-size: 0.82rem;
    color: var(--bs-secondary-color);
}

.ebgting-sidebar-wrap .pcoded-submenu {
    border-left: 1px solid var(--bs-border-color);
    margin-left: 0.85rem !important;
    padding: 0.25rem 0 0.35rem 0.5rem !important;
}

.ebgting-sidebar-wrap .pcoded-submenu > li {
    padding: 0 0.35rem;
}

.ebgting-sidebar-wrap .pcoded-submenu > li > a {
    display: flex !important;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    padding: 0.42rem 0.6rem !important;
    margin: 2px 0 !important;
    border-radius: var(--bs-border-radius);
    line-height: 1.35;
    word-break: break-word;
}

.ebgting-sidebar-wrap .pcoded-submenu .pcoded-micon {
    width: 0.85rem;
}

.ebgting-sidebar-wrap .pcoded-submenu .pcoded-micon i {
    display: none;
}

.ebgting-sidebar-wrap .pcoded-submenu .pcoded-mcaret {
    display: none;
}

.ebgting-sidebar-wrap .pcoded-submenu li:hover > a .pcoded-mtext {
    color: var(--bs-body-color);
}

/* Submenu open state (JS toggles .pcoded-trigger on .pcoded-hasmenu) */
.ebgting-sidebar-wrap .pcoded-hasmenu .pcoded-submenu {
    display: none;
}

.ebgting-sidebar-wrap .pcoded-hasmenu.pcoded-trigger .pcoded-submenu {
    display: block;
}

.ebgting-sidebar-wrap .pcoded-hasmenu > a .pcoded-mcaret {
    margin-left: auto;
    opacity: 0.65;
    width: 0.75rem;
    min-width: 0.75rem;
    height: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
}

.ebgting-sidebar-wrap .pcoded-hasmenu > a .pcoded-mcaret::before {
    content: '';
    width: 0.42rem;
    height: 0.42rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
    margin-top: -2px;
}

.ebgting-sidebar-wrap .pcoded-hasmenu.pcoded-trigger > a .pcoded-mcaret {
    transform: rotate(90deg);
}

/* --- Top header (match sidebar top strip in light mode) --- */
.ebgting-header {
    background: var(--bs-body-bg) !important;
    min-height: 56px;
    z-index: 1020;
}

[data-bs-theme='light'] .ebgting-header {
    background: linear-gradient(100deg, #ffffff 0%, #f3f5ff 100%) !important;
    box-shadow: 0 1px 0 rgba(79, 70, 229, 0.06);
}

[data-bs-theme='dark'] .ebgting-header {
    background: linear-gradient(100deg, var(--bs-secondary-bg) 0%, var(--bs-body-bg) 100%) !important;
    box-shadow: 0 1px 0 rgba(129, 140, 248, 0.12);
}

.ebgting-header .navbar-brand {
    font-weight: 700;
    letter-spacing: -0.03em;
    font-size: 1rem;
}

/* --- Main content: full-bleed background --- */
.ebgting-main {
    background: var(--bs-body-bg);
    min-width: 0;
}

[data-bs-theme='light'] .ebgting-main {
    background: radial-gradient(1200px 600px at 12% -10%, rgba(79, 70, 229, 0.06) 0%, transparent 55%),
        radial-gradient(900px 500px at 88% 0%, rgba(8, 145, 178, 0.05) 0%, transparent 50%),
        var(--bs-body-bg);
}

[data-bs-theme='dark'] .ebgting-main {
    background: radial-gradient(1000px 500px at 10% -8%, rgba(129, 140, 248, 0.09) 0%, transparent 50%),
        radial-gradient(800px 400px at 92% 5%, rgba(34, 211, 238, 0.06) 0%, transparent 48%),
        var(--bs-body-bg);
}

.ebgting-content {
    min-height: calc(100vh - 56px);
}

.ebgting-content .page-wrapper {
    margin: 0;
    max-width: 100%;
}

/* Dashboard: kartu sambutan — rapat, sejajar tema, tidak ada area kosong besar */
.ebgting-content .ebg-dashboard-welcome {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color-translucent) !important;
}

[data-bs-theme='light'] .ebgting-content .ebg-dashboard-welcome {
    background: #ffffff;
    border-color: rgba(79, 70, 229, 0.1) !important;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05), 0 1px 3px rgba(79, 70, 229, 0.05) !important;
}

[data-bs-theme='dark'] .ebgting-content .ebg-dashboard-welcome {
    background: var(--bs-secondary-bg);
    border-color: rgba(148, 163, 184, 0.12) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28) !important;
}

.ebgting-content .ebg-dashboard-welcome-icon {
    width: 3rem;
    height: 3rem;
    font-size: 1.35rem;
    color: var(--bs-primary);
    background: rgba(var(--bs-primary-rgb), 0.12);
    border: 1px solid rgba(var(--bs-primary-rgb), 0.2);
}

[data-bs-theme='dark'] .ebgting-content .ebg-dashboard-welcome-icon {
    background: rgba(var(--bs-primary-rgb), 0.15);
    color: var(--bs-primary);
}

/* Tabel ringkas widget dashboard (RKAP / investasi / produksi): kolom rapi */
.ebgting-content .ebg-dash-metric-table {
    width: 100%;
    font-size: var(--ebg-fs-sm);
    font-weight: 600;
    --ebg-metric-label: 44%;
}

.ebgting-content .ebg-dash-metric-table td:first-child {
    width: var(--ebg-metric-label);
    padding-right: 0.5rem;
    vertical-align: middle;
}

.ebgting-content .ebg-dash-metric-table td:nth-child(2) {
    width: 1.25rem;
    text-align: center;
    opacity: 0.55;
    vertical-align: middle;
}

.ebgting-content .ebg-dash-metric-table td:last-child {
    text-align: right;
    font-variant-numeric: tabular-nums;
    vertical-align: middle;
}

/* Cards & tables inherit BS5 */
.ebgting-content .card {
    border-radius: var(--bs-border-radius-xl);
    border: 1px solid var(--bs-border-color-translucent);
    box-shadow: 0 2px 16px rgba(15, 23, 42, 0.06);
    background: var(--bs-body-bg);
}

[data-bs-theme='light'] .ebgting-content .card {
    background: #ffffff;
    border-color: rgba(79, 70, 229, 0.1);
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05), 0 1px 3px rgba(79, 70, 229, 0.04);
}

[data-bs-theme='dark'] .ebgting-content .card {
    background: var(--bs-secondary-bg);
    border-color: rgba(148, 163, 184, 0.12);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

/* DataTables processing overlay */
.dataTables_processing {
    background: var(--bs-body-bg) !important;
    border: 1px solid var(--bs-border-color) !important;
    border-radius: var(--bs-border-radius) !important;
    color: var(--bs-body-color) !important;
    padding: 0.75rem 1rem !important;
}

/* Theme toggle — ikon (header), selaras login */
.ebgting-header .ebg-theme-icon-btn {
    width: 2.375rem;
    height: 2.375rem;
    padding: 0;
    border-radius: 50%;
}

.ebgting-header .ebg-theme-icon-btn i {
    font-size: 1.1rem;
    line-height: 1;
}

/* Theme switch (slider) — legacy, tidak dipakai di layout utama */
.ebg-theme-label {
    font-size: var(--ebg-fs-xs);
    font-weight: 500;
    opacity: 0.88;
    letter-spacing: 0.02em;
}

.ebg-theme-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    margin: 0;
    cursor: pointer;
}

.ebg-theme-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.ebg-theme-slider {
    position: absolute;
    inset: 0;
    background: var(--bs-secondary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    transition: background 0.2s;
}

.ebg-theme-slider:before {
    content: '';
    position: absolute;
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 2px;
    background: var(--bs-body-bg);
    border-radius: 50%;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.ebg-theme-switch input:checked + .ebg-theme-slider {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
}

.ebg-theme-switch input:checked + .ebg-theme-slider:before {
    transform: translateX(20px);
}

/* --------------------------------------------------------------------------
 * Select2 — tema penuh (dropdown di-append ke body; pakai html[data-bs-theme])
 * Perbaiki kontras: dark mode tidak boleh teks terang di atas latar putih default.
 * -------------------------------------------------------------------------- */
.ebgting-root .select2-container {
    width: 100% !important;
}

.ebgting-root .select2-container--default .select2-selection--single {
    min-height: 34px;
    height: auto !important;
    padding: 0.2rem 0.45rem;
    border-radius: var(--ebg-radius-btn);
    border: 1px solid var(--bs-border-color);
    background-color: var(--bs-body-bg);
}

.ebgting-root .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--bs-emphasis-color);
    line-height: 1.45;
    padding-left: 2px;
}

.ebgting-root .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--bs-secondary-color);
}

.ebgting-root .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
}

.ebgting-root .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--bs-secondary-color) transparent transparent transparent;
}

.ebgting-root .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--bs-secondary-color) transparent;
}

[data-bs-theme='dark'] .ebgting-root .select2-container--default .select2-selection--single {
    background-color: var(--bs-tertiary-bg);
    border-color: rgba(148, 163, 184, 0.28);
}

/* Dropdown panel (di luar .ebgting-root — scope ke html) */
.select2-container--open .select2-dropdown {
    z-index: 1065;
}

.select2-dropdown {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--ebg-radius-btn);
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.18);
}

html[data-bs-theme='light'] .select2-dropdown {
    background-color: #ffffff;
    color: #0f172a;
}

html[data-bs-theme='dark'] .select2-dropdown {
    background-color: var(--bs-secondary-bg);
    color: var(--bs-body-color);
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.55);
}

/* Daftar opsi */
.select2-results__option {
    color: inherit;
    font-size: var(--ebg-fs-sm);
    padding: 0.45rem 0.65rem;
}

html[data-bs-theme='light'] .select2-container--default .select2-results__option--selectable,
html[data-bs-theme='light'] .select2-container--default .select2-results__option[role='option']:not(.select2-results__option--loading) {
    color: #0f172a;
}

html[data-bs-theme='dark'] .select2-container--default .select2-results__option--selectable,
html[data-bs-theme='dark'] .select2-container--default .select2-results__option[role='option']:not(.select2-results__option--loading) {
    color: var(--bs-body-color);
}

/* Select2 4.0.x / 4.1+ — kelas highlighted */
.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
}

.select2-container--default .select2-results__option[aria-selected='true'] {
    background-color: rgba(var(--bs-primary-rgb), 0.14);
    color: var(--bs-emphasis-color) !important;
}

html[data-bs-theme='dark'] .select2-container--default .select2-results__option[aria-selected='true'] {
    background-color: rgba(var(--bs-primary-rgb), 0.22);
    color: var(--bs-emphasis-color) !important;
}

.select2-container--default .select2-results__option[aria-disabled='true'] {
    color: var(--bs-secondary-color) !important;
    opacity: 0.75;
}

/* Field pencarian di dalam dropdown */
.select2-search--dropdown {
    padding: 0.5rem;
    border-bottom: 1px solid var(--bs-border-color);
    background-color: inherit;
}

.select2-search--dropdown .select2-search__field {
    width: 100% !important;
    margin: 0 !important;
    padding: 0.4rem 0.55rem !important;
    font-size: var(--ebg-fs-sm) !important;
    line-height: 1.45 !important;
    border: 1px solid var(--bs-border-color) !important;
    border-radius: 0.4rem !important;
    outline: none !important;
}

html[data-bs-theme='light'] .select2-search--dropdown .select2-search__field {
    background-color: #ffffff !important;
    color: #0f172a !important;
}

html[data-bs-theme='dark'] .select2-search--dropdown .select2-search__field {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-emphasis-color) !important;
    border-color: rgba(148, 163, 184, 0.35) !important;
}

.select2-container--default .select2-results > .select2-results__options {
    max-height: 280px;
}

/* Bootstrap 4 input-group append/prepend: markup still present in some forms */
.ebgting-content .input-group > .input-group-append,
.ebgting-content .input-group > .input-group-prepend,
.ebgting-content .input-group .input-group-append,
.ebgting-content .input-group .input-group-prepend {
    display: flex;
}

.ebgting-content .input-group > .input-group-append .btn,
.ebgting-content .input-group > .input-group-append .input-group-text {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.ebgting-content .input-group > .input-group-prepend .btn,
.ebgting-content .input-group > .input-group-prepend .input-group-text {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* --- Sidebar collapsed (desktop): icon rail + flyout submenu --- */
@media (min-width: 992px) {
    body.ebg-sidebar-collapsed .ebgting-sidebar-offcanvas.offcanvas-lg {
        overflow: visible;
        z-index: 1035;
    }

    body.ebg-sidebar-collapsed .ebg-sidebar-scroll {
        overflow-x: visible !important;
        overflow-y: visible !important;
    }

    body.ebg-sidebar-collapsed .ebgting-sidebar-wrap .pcoded-inner-navbar {
        overflow-x: visible !important;
        max-height: calc(100vh - 56px);
        overflow-y: auto;
        padding-left: 0.15rem;
        padding-right: 0.15rem;
    }

    /* Sembunyikan label hanya pada baris menu utama (bukan isi flyout) */
    body.ebg-sidebar-collapsed .ebgting-sidebar-wrap .pcoded-item > li > a .pcoded-mtext,
    body.ebg-sidebar-collapsed .ebgting-sidebar-wrap .pcoded-navigatio-lavel {
        display: none !important;
    }

    body.ebg-sidebar-collapsed .ebgting-sidebar-wrap .pcoded-item > li > a .pcoded-mcaret {
        display: none !important;
    }

    body.ebg-sidebar-collapsed .ebgting-sidebar-wrap .pcoded-item > li > a {
        justify-content: center;
        margin-left: 0.35rem !important;
        margin-right: 0.35rem !important;
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    body.ebg-sidebar-collapsed .ebgting-sidebar-wrap .pcoded-hasmenu {
        position: relative;
    }

    /* Submenu sebagai panel di kanan rail */
    /*
     * Flyout pakai position:fixed + koordinat dari JS (getBoundingClientRect).
     * absolute + overflow-y:auto pada .pcoded-inner-navbar memotong submenu di pinggir rail.
     */
    body.ebg-sidebar-collapsed .ebgting-sidebar-wrap .pcoded-hasmenu .pcoded-submenu {
        display: none !important;
        position: fixed;
        min-width: 220px;
        max-height: min(70vh, 28rem);
        overflow-y: auto;
        margin: 0 !important;
        padding: 0.4rem 0 !important;
        border: 1px solid var(--bs-border-color);
        border-radius: var(--bs-border-radius-lg);
        background: var(--bs-body-bg);
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.14);
        z-index: 1060;
    }

    [data-bs-theme='dark'] body.ebg-sidebar-collapsed .ebgting-sidebar-wrap .pcoded-hasmenu .pcoded-submenu {
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55);
    }

    body.ebg-sidebar-collapsed .ebgting-sidebar-wrap .pcoded-hasmenu.ebg-flyout-open .pcoded-submenu {
        display: block !important;
    }

    /* Teks submenu di flyout harus tampil */
    body.ebg-sidebar-collapsed .ebgting-sidebar-wrap .pcoded-hasmenu .pcoded-submenu .pcoded-mtext {
        display: inline !important;
        color: var(--bs-body-color) !important;
        font-size: 0.875rem !important;
    }

    body.ebg-sidebar-collapsed .ebgting-sidebar-wrap .pcoded-hasmenu .pcoded-submenu > li > a {
        padding: 0.45rem 0.85rem !important;
        margin: 2px 0.35rem !important;
        width: auto;
    }

    body.ebg-sidebar-collapsed .ebgting-sidebar-wrap .pcoded-hasmenu .pcoded-submenu {
        border-left: none !important;
    }
}

.ebg-sidebar-collapse-btn {
    width: 2.125rem;
    height: 2.125rem;
    padding: 0;
    border-radius: var(--ebg-radius-btn);
}

/* --- Tables & DataTables: readable text (light + dark) --- */
.ebgting-content .table {
    --bs-table-color: var(--bs-body-color);
    --bs-table-bg: var(--bs-body-bg);
    --bs-table-striped-color: var(--bs-body-color);
    --bs-table-striped-bg: var(--bs-secondary-bg);
    --bs-table-hover-color: var(--bs-body-color);
    --bs-table-hover-bg: rgba(var(--bs-primary-rgb), 0.06);
}

[data-bs-theme='dark'] .ebgting-content .table {
    --bs-table-striped-bg: rgba(255, 255, 255, 0.04);
    --bs-table-hover-bg: rgba(var(--bs-primary-rgb), 0.12);
}

.ebgting-content .table td,
.ebgting-content .table th {
    color: var(--bs-table-color);
    border-color: var(--bs-border-color-translucent);
}

.ebgting-content .dataTables_wrapper .dataTables_length,
.ebgting-content .dataTables_wrapper .dataTables_filter,
.ebgting-content .dataTables_wrapper .dataTables_info,
.ebgting-content .dataTables_wrapper .dataTables_paginate {
    color: var(--bs-body-color) !important;
}

.ebgting-content .dataTables_wrapper .dataTables_filter input {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}

/* DataTables legacy skin (cdn jquery.dataTables.min.css) - dark mode fix */
[data-bs-theme='dark'] .ebgting-content table.dataTable:not(.table-report),
[data-bs-theme='dark'] .ebgting-content table.dataTable:not(.table-report) > thead > tr > th,
[data-bs-theme='dark'] .ebgting-content table.dataTable:not(.table-report) > tbody > tr > td {
    background-color: var(--bs-secondary-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme='dark'] .ebgting-content table.dataTable:not(.table-report) > thead > tr > th,
[data-bs-theme='dark'] .ebgting-content .table thead.thead-light th,
[data-bs-theme='dark'] .ebgting-content .table .thead-light th {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-emphasis-color) !important;
}

[data-bs-theme='dark'] .ebgting-content table.dataTable.stripe:not(.table-report) > tbody > tr.odd > *,
[data-bs-theme='dark'] .ebgting-content table.dataTable.display:not(.table-report) > tbody > tr.odd > *,
[data-bs-theme='dark'] .ebgting-content .table-striped:not(.table-report) > tbody > tr:nth-of-type(odd) > * {
    background-color: rgba(255, 255, 255, 0.03) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme='dark'] .ebgting-content table.dataTable.hover:not(.table-report) > tbody > tr:hover > *,
[data-bs-theme='dark'] .ebgting-content table.dataTable.display:not(.table-report) > tbody > tr:hover > * {
    background-color: rgba(var(--bs-primary-rgb), 0.14) !important;
    color: var(--bs-emphasis-color) !important;
}

[data-bs-theme='dark'] .ebgting-content .dataTables_wrapper .dataTables_length select,
[data-bs-theme='dark'] .ebgting-content .dataTables_wrapper .dataTables_filter input {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-emphasis-color) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme='dark'] .ebgting-content .dataTables_wrapper .dataTables_paginate .paginate_button {
    color: var(--bs-body-color) !important;
}

[data-bs-theme='dark'] .ebgting-content .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: rgba(var(--bs-primary-rgb), 0.2) !important;
    border-color: rgba(var(--bs-primary-rgb), 0.35) !important;
    color: var(--bs-emphasis-color) !important;
}

/* -------------------------------------------------------------------------- */
/* Laporan (legacy table-report) - pastikan terbaca di dark mode              */
/* Banyak view laporan masih pakai inline background-color pastel.             */
/* -------------------------------------------------------------------------- */
.ebgting-content .table-report {
    font-size: 0.78rem;
}

.ebgting-content .table-report th,
.ebgting-content .table-report td {
    color: var(--bs-body-color);
    border-color: var(--bs-border-color-translucent) !important;
}

/* Kontainer scroll laporan: ikut permukaan gelap, bukan blok putih */
[data-bs-theme='dark'] .ebgting-content .table-container {
    background: var(--bs-secondary-bg);
    border-radius: 0.5rem;
    border: 1px solid var(--bs-border-color);
}

/*
 * Laporan .table.table-report — dark mode: selaras dengan shell (bukan kertas putih).
 * Pakai variabel tema agar teks/sel/border konsisten dengan Bootstrap dark.
 */
[data-bs-theme='dark'] .ebgting-content .table.table-report {
    --bs-table-color: var(--bs-emphasis-color);
    --bs-table-bg: var(--bs-secondary-bg);
    --bs-table-striped-color: var(--bs-emphasis-color);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.045);
    --bs-table-hover-color: var(--bs-emphasis-color);
    --bs-table-hover-bg: rgba(var(--bs-primary-rgb), 0.16);
    --bs-table-border-color: var(--bs-border-color);
    background-color: var(--bs-secondary-bg) !important;
    color: var(--bs-emphasis-color) !important;
}

[data-bs-theme='dark'] .ebgting-content .table.table-report > :not(caption) > * > * {
    color: var(--bs-emphasis-color) !important;
    border-color: var(--bs-border-color) !important;
}

/* Kalahkan style inline view (.table-report th { background #f8f9fa }) */
[data-bs-theme='dark'] .ebgting-content .table.table-report thead th {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-emphasis-color) !important;
}

[data-bs-theme='dark'] .ebgting-content .table.table-report tbody td {
    color: var(--bs-emphasis-color) !important;
}

[data-bs-theme='dark'] .ebgting-content .table.table-report.table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: rgba(255, 255, 255, 0.04);
    background-color: rgba(255, 255, 255, 0.04) !important;
    color: var(--bs-emphasis-color) !important;
}

[data-bs-theme='dark'] .ebgting-content .table.table-report.table-hover > tbody > tr:hover > * {
    background-color: rgba(var(--bs-primary-rgb), 0.18) !important;
    color: var(--bs-emphasis-color) !important;
}

[data-bs-theme='dark'] .ebgting-content .table-report .sticky-column,
[data-bs-theme='dark'] .ebgting-content .table-report .sticky-column-2,
[data-bs-theme='dark'] .ebgting-content .table-report .sticky-column-3 {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-emphasis-color) !important;
    border-right: 2px solid var(--bs-border-color) !important;
}

/* Header kuning/biru legacy: tampilan gelap yang harmonis (kalahkan warna terang dari view) */
[data-bs-theme='dark'] .ebgting-content .table.table-report th.header-yellow,
[data-bs-theme='dark'] .ebgting-content .table.table-report td.header-yellow {
    background-color: rgba(234, 179, 8, 0.22) !important;
    color: #fde68a !important;
    border-color: rgba(234, 179, 8, 0.35) !important;
}

[data-bs-theme='dark'] .ebgting-content .table.table-report th.header-blue,
[data-bs-theme='dark'] .ebgting-content .table.table-report td.header-blue {
    background-color: rgba(59, 130, 246, 0.22) !important;
    color: #bfdbfe !important;
    border-color: rgba(59, 130, 246, 0.35) !important;
}

/* Inline background-color di HTML: timpa jadi permukaan gelap + teks terang */
[data-bs-theme='dark'] .ebgting-content .table-report th[style*='background-color'],
[data-bs-theme='dark'] .ebgting-content .table-report td[style*='background-color'] {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-emphasis-color) !important;
}

/* Judul blok RKAP baris pertama */
[data-bs-theme='dark'] .ebgting-content .table.table-report thead tr:first-child th {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-emphasis-color) !important;
}

/* Angka success/danger tetap terbaca di atas gelap */
[data-bs-theme='dark'] .ebgting-content .table.table-report .text-success {
    color: var(--bs-success) !important;
}

[data-bs-theme='dark'] .ebgting-content .table.table-report .text-danger {
    color: var(--bs-danger) !important;
}

/* Legacy BS3/4 badges from older server-rendered rows */
.ebgting-content .badge.badge-success,
.ebgting-content t.badge-success {
    color: #fff !important;
    background-color: var(--bs-success) !important;
}

.ebgting-content .badge.badge-danger,
.ebgting-content t.badge-danger {
    color: #fff !important;
    background-color: var(--bs-danger) !important;
}

.ebgting-content .badge.badge-warning,
.ebgting-content t.badge-warning {
    color: var(--bs-dark) !important;
    background-color: var(--bs-warning) !important;
}

.ebgting-content .badge.badge-info,
.ebgting-content t.badge-info {
    color: var(--bs-dark) !important;
    background-color: var(--bs-info) !important;
}

.ebgting-content .badge.badge-secondary,
.ebgting-content t.badge-secondary {
    color: #fff !important;
    background-color: var(--bs-secondary) !important;
}

.ebgting-content .badge.badge-inverse,
.ebgting-content .badge.badge-inverse-info,
.ebgting-content t.badge-inverse-info {
    color: var(--bs-light) !important;
    background-color: var(--bs-info) !important;
}

/* Card header: jangan timpa utility Bootstrap (bg-primary, bg-default legacy, dll.) */
.ebgting-content .card-header:not(.bg-primary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-dark):not(.bg-secondary):not(.bg-default):not([class*='bg-']) {
    background: transparent;
    color: var(--bs-body-color);
    border-bottom-color: var(--bs-border-color-translucent);
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}

[data-bs-theme='light'] .ebgting-content .card-header:not(.bg-primary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-dark):not(.bg-secondary):not(.bg-default):not([class*='bg-']) {
    background: linear-gradient(180deg, rgba(79, 70, 229, 0.04) 0%, transparent 100%);
}

[data-bs-theme='dark'] .ebgting-content .card-header:not(.bg-primary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-dark):not(.bg-secondary):not(.bg-default):not([class*='bg-']) {
    background: linear-gradient(180deg, rgba(129, 140, 248, 0.08) 0%, transparent 100%);
}

/* Header berwarna (form pilih tahun, dll.) — tetap kontras di dark mode */
.ebgting-content .card-header.bg-primary.text-white,
.ebgting-content .card-header.bg-primary .card-title {
    color: #fff !important;
}

.ebgting-content .card-header.bg-primary {
    background: linear-gradient(90deg, rgb(var(--bs-primary-rgb)) 0%, rgba(var(--bs-primary-rgb), 0.88) 100%) !important;
    border-bottom: none;
}

/* Legacy style.css: bg-default = abu terang + teks putih (sangat buruk). Pakai primary. */
.ebgting-content .bg-default {
    background-color: rgb(var(--bs-primary-rgb)) !important;
    color: #fff !important;
}

.ebgting-content .card-header.bg-default.text-white {
    background: linear-gradient(90deg, rgb(var(--bs-primary-rgb)) 0%, rgba(var(--bs-primary-rgb), 0.85) 100%) !important;
    border-bottom: none;
}

/* Judul di header berwarna harus selalu jelas */
.ebgting-content .card-header.text-white .card-title,
.ebgting-content .card-header.bg-default .card-title,
.ebgting-content .card-header.bg-primary .card-title {
    color: #ffffff !important;
    font-size: 0.98rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.35;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.ebgting-content .card-header.text-white .card-title i,
.ebgting-content .card-header.bg-default .card-title i,
.ebgting-content .card-header.bg-primary .card-title i {
    color: rgba(255, 255, 255, 0.95) !important;
}

/* Nested card bg-light — di dark mode jangan “kartu putih mengilap” */
[data-bs-theme='dark'] .ebgting-content .card.bg-light,
[data-bs-theme='dark'] .ebgting-content .bg-light {
    background-color: var(--bs-secondary-bg) !important;
    color: var(--bs-body-color) !important;
    border: 1px solid var(--bs-border-color) !important;
}

[data-bs-theme='dark'] .ebgting-content .card.bg-light .card-body,
[data-bs-theme='dark'] .ebgting-content .bg-light .card-body {
    color: var(--bs-body-color);
}

[data-bs-theme='dark'] .ebgting-content .card.bg-light label,
[data-bs-theme='dark'] .ebgting-content .bg-light label,
[data-bs-theme='dark'] .ebgting-content .card.bg-light .fw-bold {
    color: var(--bs-emphasis-color) !important;
}

[data-bs-theme='dark'] .ebgting-content .card.bg-light .text-muted,
[data-bs-theme='dark'] .ebgting-content .bg-light .text-muted {
    color: var(--bs-secondary-color) !important;
    opacity: 1;
}

/* Form besar di halaman pilih tahun: turunkan sedikit ukuran tombol */
.ebgting-content form .btn-lg.subtmbl,
.ebgting-content .forms-sample .btn-lg {
    --bs-btn-padding-y: 0.45rem;
    --bs-btn-padding-x: 1.25rem;
    --bs-btn-font-size: 0.9rem;
}

/* Pageloader legacy (putih menyilaukan di dark mode) */
[data-bs-theme='dark'] #pageloader {
    background: rgba(12, 16, 27, 0.88) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme='dark'] #pageloader h4 {
    color: var(--bs-emphasis-color);
}

/* Utility teks abu di atas permukaan gelap */
[data-bs-theme='dark'] .ebgting-content .text-muted {
    color: var(--bs-secondary-color) !important;
}

/* View lama: card-header hanya .text-white tanpa bg-* — beri latar primary */
.ebgting-content .card-header.text-white:not([class*='bg-']) {
    background: linear-gradient(90deg, rgb(var(--bs-primary-rgb)) 0%, rgba(var(--bs-primary-rgb), 0.88) 100%) !important;
    color: #fff !important;
    border-bottom: none;
}

/* Legacy filter pages (forms-sample) */
.ebgting-content .forms-sample .form-label {
    font-size: var(--ebg-fs-xs);
    font-weight: 600;
    color: var(--bs-secondary-color);
}

.ebgting-content .forms-sample .row.g-3 {
    --bs-gutter-x: 0.85rem;
    --bs-gutter-y: 0.85rem;
}

.ebgting-content .forms-sample .btn.subtmbl {
    min-height: calc(1.45em + 0.7rem + 2px);
}

.ebgting-content .card-block {
    padding: 1rem;
}

/* Opsi placeholder select legacy (==Pilih Tahun==) */
.ebgting-content select option[value=''] {
    color: var(--bs-secondary-color);
    font-weight: 500;
}

[data-bs-theme='dark'] .ebgting-content select option {
    background-color: var(--bs-secondary-bg);
    color: var(--bs-body-color);
}

/* -------------------------------------------------------------------------
   Tombol outline gelap/hijau di card header ber-warna (gradient primary,
   bg-default, bg-primary + text-white): teks & border bentrok dengan ungu.
   Pakai gaya setara btn-outline-light agar seluruh modul ter-cover tanpa
   mengubah ratusan view.
   ------------------------------------------------------------------------- */
.ebgting-content .card-header.text-white .btn-outline-success,
.ebgting-content .card-header.text-white .btn-outline-primary,
.ebgting-content .card-header.text-white .btn-outline-secondary,
.ebgting-content .card-header.text-white .btn-outline-dark,
.ebgting-content .card-header.text-white .btn-outline-info,
.ebgting-content .card-header.text-white .btn-outline-warning,
.ebgting-content .card-header.text-white .btn-outline-danger,
.ebgting-content .card-header.bg-primary .btn-outline-success,
.ebgting-content .card-header.bg-primary .btn-outline-primary,
.ebgting-content .card-header.bg-primary .btn-outline-secondary,
.ebgting-content .card-header.bg-primary .btn-outline-dark,
.ebgting-content .card-header.bg-primary .btn-outline-info,
.ebgting-content .card-header.bg-default .btn-outline-success,
.ebgting-content .card-header.bg-default .btn-outline-primary,
.ebgting-content .card-header.bg-default .btn-outline-secondary,
.ebgting-content .card-header.bg-default .btn-outline-dark,
.ebgting-content .card-header.bg-default .btn-outline-info {
    --bs-btn-color: #ffffff;
    --bs-btn-border-color: rgba(255, 255, 255, 0.92);
    --bs-btn-bg: rgba(255, 255, 255, 0.12);
    --bs-btn-hover-color: rgb(var(--bs-primary-rgb));
    --bs-btn-hover-bg: #ffffff;
    --bs-btn-hover-border-color: #ffffff;
    --bs-btn-active-color: rgb(var(--bs-primary-rgb));
    --bs-btn-active-bg: #f1f3f5;
    --bs-btn-active-border-color: #ffffff;
    --bs-btn-focus-shadow-rgb: 255, 255, 255;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.92) !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
}

.ebgting-content .card-header.text-white .btn-outline-success:hover,
.ebgting-content .card-header.text-white .btn-outline-primary:hover,
.ebgting-content .card-header.text-white .btn-outline-secondary:hover,
.ebgting-content .card-header.text-white .btn-outline-dark:hover,
.ebgting-content .card-header.text-white .btn-outline-info:hover,
.ebgting-content .card-header.text-white .btn-outline-warning:hover,
.ebgting-content .card-header.text-white .btn-outline-danger:hover,
.ebgting-content .card-header.bg-primary .btn-outline-success:hover,
.ebgting-content .card-header.bg-primary .btn-outline-primary:hover,
.ebgting-content .card-header.bg-primary .btn-outline-secondary:hover,
.ebgting-content .card-header.bg-primary .btn-outline-dark:hover,
.ebgting-content .card-header.bg-primary .btn-outline-info:hover,
.ebgting-content .card-header.bg-default .btn-outline-success:hover,
.ebgting-content .card-header.bg-default .btn-outline-primary:hover,
.ebgting-content .card-header.bg-default .btn-outline-secondary:hover,
.ebgting-content .card-header.bg-default .btn-outline-dark:hover,
.ebgting-content .card-header.bg-default .btn-outline-info:hover {
    color: rgb(var(--bs-primary-rgb)) !important;
    background-color: #ffffff !important;
    border-color: #ffffff !important;
}

/* -------------------------------------------------------------------------
   jQuery Confirm modal readability (Login As flow) — dark & light
   ------------------------------------------------------------------------- */
.jconfirm .jconfirm-box {
    border-radius: 0.6rem !important;
    border: 1px solid var(--bs-border-color) !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28) !important;
}

.jconfirm .jconfirm-title-c {
    font-weight: 700 !important;
    letter-spacing: -0.01em;
}

.jconfirm .jconfirm-content {
    color: var(--bs-body-color) !important;
}

.jconfirm .jconfirm-content label {
    color: var(--bs-emphasis-color) !important;
    font-size: 0.78rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.jconfirm .jconfirm-content .form-control {
    min-height: calc(1.45em + 0.7rem + 2px);
    border-radius: 0.45rem;
    border: 1px solid var(--bs-border-color);
    background-color: var(--bs-body-bg);
    color: var(--bs-emphasis-color);
}

.jconfirm .jconfirm-content .form-control::placeholder {
    color: var(--bs-secondary-color);
    opacity: 1;
}

.jconfirm .jconfirm-buttons .btn {
    border-radius: 0.45rem !important;
    font-weight: 600 !important;
}

[data-bs-theme='light'] .jconfirm .jconfirm-box {
    background: #ffffff !important;
    color: #1e293b !important;
    border-color: rgba(79, 70, 229, 0.16) !important;
}

[data-bs-theme='light'] .jconfirm .jconfirm-title-c {
    color: #0f172a !important;
}

[data-bs-theme='light'] .jconfirm .jconfirm-content .form-control {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: rgba(15, 23, 42, 0.14) !important;
}

[data-bs-theme='dark'] .jconfirm .jconfirm-box {
    background: var(--bs-secondary-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: rgba(148, 163, 184, 0.26) !important;
    box-shadow: 0 20px 56px rgba(0, 0, 0, 0.6) !important;
}

[data-bs-theme='dark'] .jconfirm .jconfirm-title-c {
    color: var(--bs-emphasis-color) !important;
}

[data-bs-theme='dark'] .jconfirm .jconfirm-content {
    color: var(--bs-body-color) !important;
}

[data-bs-theme='dark'] .jconfirm .jconfirm-content .form-control {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-emphasis-color) !important;
    border-color: rgba(148, 163, 184, 0.36) !important;
}

[data-bs-theme='dark'] .jconfirm .jconfirm-content .form-control:focus {
    border-color: rgba(var(--bs-primary-rgb), 0.65) !important;
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.2) !important;
}

[data-bs-theme='dark'] .jconfirm .jconfirm-buttons .btn-default,
[data-bs-theme='dark'] .jconfirm .jconfirm-buttons button.btn-default {
    color: var(--bs-emphasis-color) !important;
    background-color: var(--bs-tertiary-bg) !important;
    border: 1px solid rgba(148, 163, 184, 0.3) !important;
}

/* Legacy white utility in content area: keep readable in dark mode */
[data-bs-theme='dark'] .ebgting-content .bg-white {
    background-color: var(--bs-secondary-bg) !important;
    color: var(--bs-body-color) !important;
}

/* Alert contrast tuning for light + dark */
.ebgting-content .alert {
    border-width: 1px;
}

[data-bs-theme='dark'] .ebgting-content .alert-warning {
    color: #fde68a;
    background-color: rgba(234, 179, 8, 0.18);
    border-color: rgba(234, 179, 8, 0.38);
}

[data-bs-theme='dark'] .ebgting-content .alert-success {
    color: #86efac;
    background-color: rgba(34, 197, 94, 0.16);
    border-color: rgba(34, 197, 94, 0.34);
}

[data-bs-theme='dark'] .ebgting-content .alert-danger {
    color: #fca5a5;
    background-color: rgba(239, 68, 68, 0.16);
    border-color: rgba(239, 68, 68, 0.34);
}
