/* --- BRAND CONFIGURATION --- */
:root {
    --brand-green: #2ca58d;
    --brand-green-hover: #258c78;
    --brand-green-active: #238471;
    --brand-green-soft: rgba(44, 165, 141, 0.1);
}

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

/* --- BUTTON CUSTOMIZATION --- */

.btn-primary,
.btn-success {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--brand-green);
    --bs-btn-border-color: var(--brand-green);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--brand-green-hover);
    --bs-btn-hover-border-color: var(--brand-green-active);
    --bs-btn-focus-shadow-rgb: 44, 165, 141;
    /* rgb version of #2ca58d */
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: var(--brand-green-active);
    --bs-btn-active-border-color: #217c6a;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: var(--brand-green);
    --bs-btn-disabled-border-color: var(--brand-green);

    background-color: var(--bs-btn-bg) !important;
    border-color: var(--bs-btn-border-color) !important;
    color: var(--bs-btn-color) !important;
}

.btn-primary:focus,
.btn-primary.focus,
.btn-success:focus,
.btn-success.focus,
.btn-primary:active,
.btn-primary.active,
.btn-success:active,
.btn-success.active,
[data-kt-menu-trigger="click"].show,
[data-kt-menu-trigger="click"].active {
    box-shadow: 0 0 0 0.25rem rgba(44, 165, 141, 0.25) !important;
}

.btn-primary:hover,
.btn-success:hover,
.btn.btn-primary:hover:not(.btn-active),
.btn.btn-primary:active:not(.btn-active),
.btn-primary.show,
.btn-success.show,
.show > .btn-primary,
.show > .btn-success,
.btn-active-primary.active,
.btn-active-primary.active:focus,
[data-kt-menu-trigger="click"].show,
[data-kt-menu-trigger="click"].active,
.btn-active-bg-primary.active,
.btn-active-bg-primary:active,
.btn-active-color-primary.active,
.btn-active-color-primary:active {
    background-color: var(--bs-btn-hover-bg) !important;
    border-color: var(--bs-btn-hover-border-color) !important;
    color: var(--bs-btn-hover-color) !important;
}

.btn-primary:active,
.btn-primary.active,
.btn-success:active,
.btn-success.active,
.btn-primary.show,
.btn-success.show,
.show > .btn-primary,
.show > .btn-success,
[data-kt-menu-trigger="click"].show,
[data-kt-menu-trigger="click"].active,
.btn-active-bg-primary.active,
.btn-active-bg-primary:active,
.btn-active-color-primary.active,
.btn-active-color-primary:active {
    background-color: var(--bs-btn-active-bg) !important;
    border-color: var(--bs-btn-active-border-color) !important;
    color: var(--bs-btn-active-color) !important;
    box-shadow: var(--bs-btn-active-shadow) !important;
}

/* Light Button Variants */
.btn-light-primary {
    color: var(--brand-green) !important;
    background-color: var(--brand-green-soft) !important;
}

.btn-light-primary:hover {
    color: #ffffff !important;
    background-color: var(--brand-green) !important;
}

.btn-active-light-primary.active,
.btn-active-light-primary:active,
.show>.btn-active-light-primary.dropdown-toggle {
    color: var(--brand-green) !important;
    background-color: var(--brand-green-soft) !important;
}

/* --- LINKS & HOVERS --- */
a[href]:not(.btn),
.link-primary {
    color: var(--brand-green) !important;
}

a:hover,
.text-hover-primary:hover,
.link-primary:hover {
    color: var(--brand-green-hover) !important;
    transition: color 0.2s ease !important;
}

.text-primary,
.text-success,
.text-active-primary {
    color: var(--brand-green) !important;
}

/* --- NAVIGATION & SIDEBAR --- */
/* 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(--brand-green-soft) !important;
    color: var(--brand-green) !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(--brand-green) !important;
}

[data-kt-app-layout=light-sidebar] .menu-item .menu-link:hover:not(.active) {
    background-color: #f9f9f9 !important;
    color: var(--brand-green) !important;
}

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

[data-kt-app-layout=dark-sidebar] .menu-item .menu-link.active {
    background: linear-gradient(112.14deg, var(--brand-green) 0%, var(--brand-green-active) 100%);
    color: #ffffff;
}

.app-sidebar .menu>.menu-item .menu-sub .menu-item .menu-link .menu-title {
    color: #f0f3f8;
}

/* Menu Highlights & Active States */
.menu-item:hover > .menu-link,
.menu-item.hover > .menu-link,
.menu-item.show > .menu-link,
.menu-link.active,
.menu-link:hover:not(.active) {
    color: var(--brand-green) !important;
}

.menu-state-bg .menu-item:hover:not(.here) > .menu-link:not(.disabled):not(.active),
.menu-state-bg .menu-item.hover:not(.here) > .menu-link:not(.disabled):not(.active) {
    background-color: var(--brand-green-soft) !important;
}

.menu-state-color .menu-item:hover:not(.here) > .menu-link:not(.disabled):not(.active),
.menu-state-color .menu-item.hover:not(.here) > .menu-link:not(.disabled):not(.active) {
    color: var(--brand-green) !important;
}

/* Breadcrumb Styling */
.breadcrumb-item a,
.breadcrumb-item.active,
.breadcrumb-item.text-dark {
    color: var(--brand-green) !important;
}

.breadcrumb-item a:hover {
    color: var(--brand-green-hover) !important;
}

.breadcrumb-item,
.breadcrumb-item.text-muted {
    color: #7e8299 !important;
}

.breadcrumb-item a.text-muted:hover {
    color: var(--brand-green-hover) !important;
}

/* Nav Pills */
.nav-pills .nav-link.active,
.nav-pills .nav-link.active:focus,
.nav-pills .show>.nav-link {
    background-color: var(--brand-green) !important;
    color: #ffffff !important;
}

.nav-pills .nav-link {
    color: var(--brand-green);
}

.nav-pills {
    --bs-nav-pills-link-active-bg: var(--brand-green);
}

/* --- DATATABLES & FORMS --- */
.page-item.active .page-link {
    background-color: var(--brand-green) !important;
    border-color: var(--brand-green) !important;
    color: #ffffff !important;
}

.page-link:hover {
    color: var(--brand-green) !important;
    background-color: var(--brand-green-soft) !important;
    border-color: var(--brand-green) !important;
}

.page-link {
    color: #5e6278;
}

.form-check-input:checked {
    background-color: var(--brand-green);
}

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

/* Symbol Labels / Stat Icons */
.symbol-label {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

/* Stepper Customization */
.stepper.stepper-pills .stepper-item.current .stepper-icon {
    background-color: var(--brand-green) !important;
    border-color: var(--brand-green) !important;
}

.stepper.stepper-pills .stepper-item .stepper-icon {
    background-color: var(--brand-green-soft);
    border-color: var(--brand-green-soft);
}

.stepper.stepper-pills .stepper-item.completed .stepper-icon {
    background-color: var(--brand-green-soft);
}

.stepper.stepper-pills .stepper-item.current.mark-completed:last-child .stepper-icon .stepper-check,
.stepper.stepper-pills .stepper-item.completed .stepper-icon .stepper-check {
    color: var(--brand-green);
}

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

.btn-check:checked + .btn.btn-primary,
.btn-check:active + .btn.btn-primary,
.btn.btn-primary:focus:not(.btn-active),
.btn.btn-primary:hover:not(.btn-active),
.btn.btn-primary:active:not(.btn-active),
.btn.btn-primary.active,
.btn.btn-primary.show,
.show > .btn.btn-primary {
    background-color: var(--brand-green) !important;
}
