:root {
    /* Màu sắc chủ đạo và các biến CSS */
    --bs-primary: #2b7c51; /* Màu xanh chủ đạo mới */
    --bs-link-color: #2b7c51; /* Link màu xanh chủ đạo mới */
    --bs-link-hover-color: #225f40; /* Hover đậm hơn của #2b7c51 */

    /* Màu sắc chữ */
    --bs-body-color: #212529; /* Có thể giữ nguyên nếu không cần đổi */
    --bs-secondary-color: #6c757d; /* Màu chữ phụ */
    --bs-emphasis-color: #1a4f35; /* Đậm hơn của #2b7c51 */
    --bs-primary-rgb: 43, 124, 81; /* RGB của #2b7c51 */

    --bs-secondary: #1a4f35; /* Giữ nguyên hoặc tùy chỉnh */
    --bs-secondary-bg: #f7f7fc;
    --bs-tertiary-bg: #eafaf1;
    --bs-body-bg: #ffffff;
    --bs-footer-bg: #f9f9f9;

    --bs-border-color: #b2e0c1; /* Có thể cân nhắc dùng phiên bản nhạt của #2b7c51 */
    --bs-border-color-translucent: rgba(43, 124, 81, 0.12); /* Viền mờ mới */
    --bs-box-shadow: 0 0.75rem 1.5rem rgba(43, 124, 81, 0.08); /* Bóng đổ mới */

    --bs-success: #2b7c51;
    --bs-danger: #f46a6a;
    --bs-warning: #f1b44c;
    --bs-info: #50a5f1;
    --bs-light: #eff2f7;
    --bs-dark: #212529;
}

/* ========================= */
/* 🔗 LIÊN KẾT (LINK STYLING) */
/* ========================= */
a,
.link-primary {
    color: var(--bs-link-color); /* Màu link */
}
a:hover,
.link-primary:hover {
    color: var(--bs-link-hover-color); /* Khi hover link */
}

/* ========================== */
/* 🔘 NÚT BUTTON PRIMARY STYLE */
/* ========================== */
.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}
.btn-primary:hover {
    background-color: var(--bs-link-hover-color);
    border-color: var(--bs-link-hover-color);
}

/* ================================= */
/* 📋 TABLE HOVER VÀ DÒNG ZEBRA STYLE */
/* ================================= */
.table-hover tbody tr:hover {
    background-color: rgba(var(--bs-primary-rgb), 0.05); /* Hover row table */
    color: var(--bs-body-color);
}

.table th,
.table td {
    border-color: var(--bs-border-color); /* Viền bảng */
    color: var(--bs-body-color); /* Màu chữ */
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--bs-secondary-bg); /* Zebra style */
}

/* ============================= */
/* 📍 NAV LINK ACTIVE/HOVER STATE */
/* ============================= */
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: var(--bs-link-hover-color); /* Màu nav khi hover hoặc active */
}

/* =============================== */
/* ✅ TOAST THÔNG BÁO (SUCCESS/FAIL) */
/* =============================== */
.toast-success {
    border-color: var(--bs-success);
    background-color: rgba(52, 195, 143, 0.8);
}
.toast-danger {
    border-color: var(--bs-danger);
    background-color: rgba(244, 106, 106, 0.8);
}

/* ========================================== */
/* ☑️ CHECKBOX / RADIO - MÀU NHẤN CHỦ ĐẠO */
/* ========================================== */
.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}
.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25); /* Khi focus */
}
/* =================================================== */
/* 🎛️ TOPBAR: HORIZONTAL LAYOUT + COLORED TOPBAR STYLE */
/* =================================================== */
body[data-layout="horizontal"][data-topbar="colored"] #page-topbar {
    background-color: var(--bs-primary);
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* ===================================================================== */
/* 🧭 TOPNAV: HORIZONTAL LAYOUT + COLORED (ĐIỀU KIỆN MÀN HÌNH ≥ 992PX) */
/* ===================================================================== */
@media (min-width: 992px) {
    body[data-layout="horizontal"][data-topbar="colored"] .topnav {
        background-color: var(--bs-primary);
    }
}

/* Dropzone */
.dropzone {
    border: 2px dashed var(--bs-primary);
    background: var(--bs-tertiary-bg);
}
.dropzone .dz-message {
    color: var(--bs-emphasis-color);
}

/* Table Hover & Zebra */
.table-hover tbody tr:hover {
    background-color: rgba(var(--bs-primary-rgb), 0.08);
}
.table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--bs-tertiary-bg);
}

/* Checkbox & Table Control */
.table-rep-plugin .checkbox-row input[type="checkbox"]:checked + label::before,
.table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

/* Dropdown highlight */
.select2-results__option--highlighted[aria-selected] {
    background-color: var(--bs-primary) !important;
    color: #fff;
}

.page-item.active .page-link,
.pagination .active > .page-link {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff !important;
}

/* Đổi màu text active về xanh Vietcombank */
.sidebar-menu li.active > a,
.sidebar-menu a.active,
.dropdown-menu .dropdown-item.active,
.dropdown-menu .dropdown-item:active,
.list-group-item.active {
    color: var(--bs-primary) !important;
    background: #eafaf1 !important;
    font-weight: 600;
    border-radius: 6px;
}

.sidebar-menu li.active > a,
.sidebar-menu a.active,
.sidebar-menu li:hover > a,
.sidebar-menu a:hover,
.dropdown-menu .dropdown-item.active,
.dropdown-menu .dropdown-item:active,
.dropdown-menu .dropdown-item:hover,
.list-group-item.active,
.list-group-item:hover {
    color: var(--bs-primary) !important;
    background: #eafaf1 !important;
    font-weight: 600;
    border-radius: 6px;
}

@media (max-width: 768px) {
    .topnav .dropdown-menu {
        margin-left: 10px; /* hoặc padding-left */
    }

    .topnav .navbar-nav > li > a {
        padding-left: 15px;
    }
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-primary); /* đỏ chủ đạo */
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-link-hover-color); /* đỏ đậm hơn */
    --bs-btn-hover-border-color: var(--bs-link-hover-color);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-link-hover-color);
    --bs-btn-active-border-color: var(--bs-link-hover-color);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}

.text-success {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}
