/* --- BRAND CONFIGURATION (Metronic Variable Overrides) --- */
:root, [data-bs-theme="light"], [data-bs-theme="dark"] {
    /* Bootstrap Standard Tokens */
    --bs-primary: #2ca58d;
    --bs-primary-active: #238471;
    --bs-primary-light: rgba(44, 165, 141, 0.1);
    --bs-primary-inverse: #ffffff;
    --bs-primary-rgb: 44, 165, 141;

    /* Metronic Specific Tokens */
    --kt-primary: #2ca58d;
    --kt-primary-active: #238471;
    --kt-primary-light: rgba(44, 165, 141, 0.1);
    --kt-primary-inverse: #ffffff;
}

body {
    font-family: 'Cairo', 'Inter', sans-serif;
    background-color: #f8f9fa !important;
}

/* --- BUTTON CUSTOMIZATION (Using BS Native Variables) --- */
.btn-primary, 
.btn-success {
    --bs-btn-color: var(--bs-primary-inverse) !important;
    --bs-btn-bg: var(--bs-primary) !important;
    --bs-btn-border-color: var(--bs-primary) !important;
    --bs-btn-hover-color: var(--bs-primary-inverse) !important;
    --bs-btn-hover-bg: var(--bs-primary-active) !important;
    --bs-btn-hover-border-color: var(--bs-primary-active) !important;
    --bs-btn-active-color: var(--bs-primary-inverse) !important;
    --bs-btn-active-bg: var(--bs-primary-active) !important;
    --bs-btn-active-border-color: var(--bs-primary-active) !important;
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb) !important;
}

.btn.btn-active-color-primary:hover,
.btn.btn-active-color-primary.active,
.btn.btn-active-color-primary:active,
.show > .btn.btn-active-color-primary {
    color: var(--bs-primary) !important;
}

.btn-light-primary {
    color: var(--bs-primary) !important;
    background-color: var(--bs-primary-light) !important;
}

.btn-light-primary:hover,
.btn-light-primary:focus,
.btn-light-primary.active {
    color: var(--bs-primary-inverse) !important;
    background-color: var(--bs-primary) !important;
}

/* Ensure SVG icons in primary/success buttons use the correct color without breaking bounding boxes */
.btn-primary svg path[fill]:not([fill="none"]),
.btn-success svg path[fill]:not([fill="none"]),
.btn-primary svg use[fill]:not([fill="none"]),
.btn-success svg use[fill]:not([fill="none"]) {
    fill: currentColor !important;
}

.btn-active-light-primary.active, 
.btn-active-light-primary:active,
.btn-active-light-primary:hover {
    color: var(--bs-primary) !important;
    background-color: var(--bs-primary-light) !important;
}

/* --- LINKS & PRESET UTILITIES --- */
a[href]:not(.btn),
.text-primary,
.text-success,
.text-active-primary,
.link-primary {
    color: var(--bs-primary) !important;
}

a:hover:not(.btn),
.text-hover-primary:hover,
.link-primary:hover {
    color: var(--bs-primary-active) !important;
    transition: color 0.2s ease !important;
}

/* --- NAVIGATION & SIDEBAR COMPATIBILITY --- */
/* Sidebar Light Theme */
[data-kt-app-layout=light-sidebar] .app-sidebar {
    background-color: #ffffff !important;
    border-right: 1px solid #eff2f5 !important;
}

[data-kt-app-layout=light-sidebar] .menu-item .menu-link.active {
    background-color: var(--bs-primary-light) !important;
    color: var(--bs-primary) !important;
}

[data-kt-app-layout=light-sidebar] .menu-item .menu-link.active .menu-icon i,
[data-kt-app-layout=light-sidebar] .menu-item .menu-link.active .menu-title {
    color: var(--bs-primary) !important;
}

/* Sidebar Dark Theme */
[data-kt-app-layout=dark-sidebar] .app-sidebar {
    background-color: #002822 !important;
    border-right: 0 !important;
}

[data-kt-app-layout=dark-sidebar] .menu-item .menu-link.active {
    background: linear-gradient(112.14deg, var(--bs-primary) 0%, var(--bs-primary-active) 100%) !important;
    color: var(--bs-primary-inverse) !important;
}

/* Menu Hover — Light Sidebar */
[data-kt-app-layout=light-sidebar] .menu-item:hover > .menu-link:not(.active),
[data-kt-app-layout=light-sidebar] .menu-item.hover > .menu-link:not(.active),
[data-kt-app-layout=light-sidebar] .menu-item.show > .menu-link:not(.active) {
    background-color: var(--bs-primary-light) !important;
    color: var(--bs-primary) !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

[data-kt-app-layout=light-sidebar] .menu-item:hover > .menu-link:not(.active) .menu-icon i,
[data-kt-app-layout=light-sidebar] .menu-item:hover > .menu-link:not(.active) .menu-icon svg,
[data-kt-app-layout=light-sidebar] .menu-item:hover > .menu-link:not(.active) .menu-title,
[data-kt-app-layout=light-sidebar] .menu-item:hover > .menu-link:not(.active) .menu-arrow {
    color: var(--bs-primary) !important;
}

/* Menu Hover — Dark Sidebar */
[data-kt-app-layout=dark-sidebar] .menu-item:hover > .menu-link:not(.active),
[data-kt-app-layout=dark-sidebar] .menu-item.hover > .menu-link:not(.active),
[data-kt-app-layout=dark-sidebar] .menu-item.show > .menu-link:not(.active) {
    background-color: rgba(44, 165, 141, 0.15) !important;
    color: #ffffff !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

[data-kt-app-layout=dark-sidebar] .menu-item:hover > .menu-link:not(.active) .menu-icon i,
[data-kt-app-layout=dark-sidebar] .menu-item:hover > .menu-link:not(.active) .menu-icon svg,
[data-kt-app-layout=dark-sidebar] .menu-item:hover > .menu-link:not(.active) .menu-title,
[data-kt-app-layout=dark-sidebar] .menu-item:hover > .menu-link:not(.active) .menu-arrow {
    color: #ffffff !important;
}

/* Generic Menu Active/Hover Text Color */
.menu-link.active,
.menu-link:hover:not(.active) {
    color: var(--bs-primary) !important;
}

/* --- UI COMPONENTS --- */
.card {
    border: none !important;
    box-shadow: 0 0.1rem 1rem 0.25rem rgba(0, 0, 0, 0.05) !important;
    border-radius: 12px !important;
}

.page-item.active .page-link {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: var(--bs-primary-inverse) !important;
}

.form-check-input:checked {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

#alertContainer.inactive {
    display: none !important;
    transition: 1s ease-in-out;
}

/* --- STAT CARD GRADIENTS --- */
.stat-card-gradient {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.stat-card-gradient:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
}

.bg-gradient-primary {
    background: linear-gradient(135deg, #2ca58d 0%, #1e7060 100%) !important;
}

.bg-gradient-success {
    background: linear-gradient(135deg, #50cd89 0%, #3cae6e 100%) !important;
}

.bg-gradient-warning {
    background: linear-gradient(135deg, #ffc700 0%, #e1af00 100%) !important;
}

.bg-gradient-danger {
    background: linear-gradient(135deg, #f1416c 0%, #d9214e 100%) !important;
}

.stat-card-gradient .text-white-op-75 {
    color: rgba(255, 255, 255, 0.75) !important;
}

.stat-card-gradient .symbol-label-custom {
    background-color: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(4px);
}

.stat-card-gradient .card-title span, 
.stat-card-gradient .card-title div {
    color: #ffffff !important;
}
