/* Giao diện tùy chỉnh nhẹ trên nền Bootstrap */

.stat-card {
    border: 1px solid var(--bs-border-color);
    border-radius: .75rem;
    background: var(--bs-body-bg);
}
.stat-card .stat-label {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--bs-secondary-color);
}
.stat-card .stat-value {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.1;
}

.kpi-icon {
    width: 44px; height: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: .6rem; font-size: 1.3rem;
}

table.dataTable td, table.dataTable th { vertical-align: middle; }

.clickable-row { cursor: pointer; }
.clickable-row:hover { background: var(--bs-tertiary-bg); }

.login-wrap {
    max-width: 380px;
    margin: 8vh auto;
}

.num { text-align: right; font-variant-numeric: tabular-nums; }

.badge-soft-secondary { background: var(--bs-secondary-bg); color: var(--bs-secondary-color); }

.table-bom td.num, .table-bom th.num { white-space: nowrap; }

/* Dòng header bảng BOM căn giữa ô */
.table-bom thead th { text-align: center; vertical-align: middle; }
