@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

body, html, input, button, select, textarea, kbd, table, th, td, span, p, h1, h2, h3, h4, div, a, label, strong {
    font-family: 'Be Vietnam Pro', sans-serif;
    -webkit-tap-highlight-color: transparent;
}

.fa, .fas, .fa-solid {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}
.far, .fa-regular {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

.tabular-nums, .cell-num, .cell-stt {
    font-variant-numeric: tabular-nums;
}

.table-container::-webkit-scrollbar {
    height: 6px;
    width: 6px;
}
.table-container::-webkit-scrollbar-thumb {
    background: #a3a3a3;
    border-radius: 9999px;
}
.table-container::-webkit-scrollbar-track {
    background: rgba(245, 245, 245, 0.8);
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.sticky-col {
    position: sticky;
    left: 0;
    z-index: 15;
}
.sticky-col::after {
    content: '';
    position: absolute;
    top: 0;
    right: -5px;
    bottom: 0;
    width: 5px;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.08), transparent);
    pointer-events: none;
}

.excel-table {
    border-collapse: collapse;
    border: 1px solid #d4d4d8;
}
.excel-table thead tr,
.excel-table thead th {
    background-color: #FFD400 !important;
    color: #181818 !important;
    border: 1px solid #cca800 !important;
    vertical-align: middle;
    user-select: none;
    font-size: 12px !important;
}
.excel-table thead th:hover {
    background-color: #F5C800 !important;
}
.excel-table td {
    border: 1px solid #d4d4d8;
    vertical-align: middle;
}
.dark .excel-table {
    border-color: #3f3f46;
}
.dark .excel-table td {
    border-color: #3f3f46;
}

/* CÂN BẰNG CỠ CHỮ & ĐỘ ĐỀU GIỮA CỘT CHƯƠNG TRÌNH VÀ CÁC CỘT SỐ LIỆU */
.excel-table tbody td.cell-program {
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}
/* Tô đỏ chữ tên Ngành hàng chính khi lọc */
.excel-table tbody td.cell-program.main-category-red,
.excel-table tbody td.cell-program.main-category-red .cell-text {
    color: #DC2626 !important;
}
.dark .excel-table tbody td.cell-program.main-category-red,
.dark .excel-table tbody td.cell-program.main-category-red .cell-text {
    color: #F87171 !important;
}

.excel-table tbody td.cell-stt,
.excel-table tbody td.cell-num,
.excel-table tbody td.cell-pct {
    font-size: 12.2px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em;
}

@media (max-width: 640px) {
    .excel-table thead th {
        font-size: 11px !important;
    }
    .excel-table tbody td.cell-program {
        font-size: 12px !important;
    }
    .excel-table tbody td.cell-stt,
    .excel-table tbody td.cell-num,
    .excel-table tbody td.cell-pct {
        font-size: 11.2px !important;
    }
}

/* MÀU SẮC NHÓM ĐỎ - VÀNG - XANH CHO CỘT % HT & % DỰ KIẾN */
.status-red {
    background-color: #FEE2E2 !important;
    color: #DC2626 !important;
    font-weight: 400 !important;
}
.status-yellow {
    background-color: #FEF3C7 !important;
    color: #B45309 !important;
    font-weight: 400 !important;
}
.status-green {
    background-color: #DCFCE7 !important;
    color: #15803D !important;
    font-weight: 400 !important;
}
.status-neutral {
    color: #737373 !important;
    font-weight: 400 !important;
}

.dark .status-red {
    background-color: rgba(153, 27, 27, 0.35) !important;
    color: #F87171 !important;
}
.dark .status-yellow {
    background-color: rgba(146, 64, 14, 0.35) !important;
    color: #FBBF24 !important;
}
.dark .status-green {
    background-color: rgba(22, 101, 52, 0.35) !important;
    color: #4ADE80 !important;
}

/* CHẾ ĐỘ CHỤP ẢNH: Giữ nguyên màu tô Đỏ/Vàng/Xanh & màu chữ Đỏ của Ngành hàng chính */
.capturing-mode {
    background-color: #ffffff !important;
    color: #181818 !important;
    padding: 16px !important;
    width: max-content !important;
    max-width: none !important;
}
.capturing-mode .sticky-col,
.capturing-mode thead {
    position: static !important;
}
.capturing-mode .sticky-col::after,
.capturing-mode .sort-icon-ui,
.capturing-mode .edit-title-icon {
    display: none !important;
}
.capturing-mode .excel-table {
    border: 1px solid #a1a1aa !important;
}
.capturing-mode .excel-table thead th {
    background-color: #FFD400 !important;
    color: #181818 !important;
    font-size: 12px !important;
    padding-top: 4px !important;
    padding-bottom: 11px !important;
    line-height: 1.25 !important;
    border: 1px solid #b89600 !important;
    vertical-align: middle !important;
}
.capturing-mode .excel-table td {
    padding-top: 3px !important;
    padding-bottom: 10px !important;
    line-height: 1.25 !important;
    border: 1px solid #d4d4d8 !important;
    vertical-align: middle !important;
}
.capturing-mode .excel-table tbody td.cell-program {
    font-size: 13px !important;
    font-weight: 400 !important;
}
.capturing-mode .excel-table tbody td.cell-stt,
.capturing-mode .excel-table tbody td.cell-num,
.capturing-mode .excel-table tbody td.cell-pct {
    font-size: 12.2px !important;
    font-weight: 400 !important;
}
.capturing-mode .th-text,
.capturing-mode .cell-text,
.capturing-mode .capture-lift {
    display: inline-block !important;
    position: relative !important;
    top: -3.5px !important;
}
.capturing-mode .row-even {
    background-color: #ffffff !important;
}
.capturing-mode .row-odd {
    background-color: #fafafa !important;
}
.capturing-mode .cell-program {
    background-color: inherit !important;
    color: #181818 !important;
    white-space: nowrap !important;
    max-width: none !important;
}
/* Giữ chữ màu đỏ cho ngành hàng chính khi xuất ảnh PNG */
.capturing-mode .cell-program.main-category-red,
.capturing-mode .cell-program.main-category-red .cell-text {
    color: #DC2626 !important;
}
.capturing-mode .cell-num,
.capturing-mode .cell-stt {
    background-color: inherit !important;
    color: #181818 !important;
}
.capturing-mode .status-red {
    background-color: #FEE2E2 !important;
    color: #DC2626 !important;
    font-weight: 400 !important;
}
.capturing-mode .status-yellow {
    background-color: #FEF3C7 !important;
    color: #B45309 !important;
    font-weight: 400 !important;
}
.capturing-mode .status-green {
    background-color: #DCFCE7 !important;
    color: #15803D !important;
    font-weight: 400 !important;
}
.capturing-mode .status-neutral {
    background-color: inherit !important;
    color: #737373 !important;
    font-weight: 400 !important;
}

.drag-over {
    background-color: rgba(255, 212, 0, 0.15) !important;
    border-color: #181818 !important;
    transform: scale(1.005);
}