html { font-size: 14px; }
body { background: #f5f7fa; }
.card { border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.table-sm td, .table-sm th { vertical-align: middle; }
.table thead th { background: #e9eef6; white-space: nowrap; position: sticky; top: 0; z-index: 1; }
.tbl-wrap { max-height: 72vh; overflow: auto; }
.num { text-align: right; white-space: nowrap; }
.stat { font-size: 1.8rem; font-weight: 600; }
.bc td, .bc th { padding: 2px 4px !important; font-size: 12px; text-align: center; }
.bc td.name { text-align: left; white-space: nowrap; }
.kh-V { color: #c00; font-weight: 600; } .kh-I, .kh-O { color: #d97706; font-weight: 600; } .kh-Tr, .kh-Sm { color: #2563eb; }
.we { background: #f1f1f1; }
@media print { .no-print { display: none !important; } body { background: #fff; } .card { box-shadow: none; } .tbl-wrap { max-height: none; overflow: visible; } }
