/* Thông tin thị trường (gói M3-CL, 13/10/2026) — js/ui-thitruong.js và khối [THI-TRUONG M3-CL] của js/ui-bantin.js.
   Nạp SAU bantin-mau.css. Chỉ dùng biến màu theme sẵn có (--primary, --ink, --line, --card, --bg, --warn, --danger, --success ...).
   Không nạp ảnh, phông hay tệp CSS nào khác: không tải tài nguyên tên miền ngoài (T06). Chạy được ở bề rộng 375 px (bảng cuộn ngang, lưới một cột).
   Hộp nạp và hộp hỏi dùng lại khung .bti-man / .bti-hp của bantin.css (vị trí theo --bti-tren, --bti-trai, --bti-phai). */

/* ---- Thanh thẻ tạm "Quy định | Thị trường" (đầu lớp phủ #btiTrang) và chip trên điện thoại ---- */
.tht-the-thanh { display: flex; gap: 4px; padding: 8px 16px 0; background: var(--card, #fff); border-bottom: 1px solid var(--line); }
.tht-the { appearance: none; border: 1px solid transparent; border-bottom: 0; border-radius: 8px 8px 0 0; background: transparent; color: var(--ink-2, var(--ink));
  font: inherit; font-weight: 600; padding: 7px 16px; cursor: pointer; margin-bottom: -1px; }
.tht-the:hover { background: var(--primary-soft); }
.tht-the[aria-selected="true"] { background: var(--bg); color: var(--primary); border-color: var(--line); }
.tht-the:focus-visible, .tht-chip-mb:focus-visible, .tht-the-kv:focus-visible, .tht-chip-loc:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.tht-mb-chips { display: flex; gap: 8px; padding: 8px 12px 0; }
.tht-chip-mb { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 14px; border-radius: 18px; border: 1px solid var(--line);
  background: var(--card, #fff); color: var(--ink); font: inherit; font-weight: 600; cursor: pointer; }
.tht-chip-mb.on { background: var(--primary); border-color: var(--primary); color: var(--primary-ink, #fff); cursor: default; }

/* ---- Khung chung ---- */
.tht-vung, .tht-mb { color: var(--ink); font-size: var(--fs-sm, 13px); }
.tht-mb { padding: 10px 12px 40px; }
/* Điện thoại: nền màn là gradient theo theme (mobile.css --mbg-grad, có theme tối) nên chữ nằm thẳng trên nền dùng token --mink/--msub; thẻ nền sáng giữ --ink */
.tht-mb { color: var(--mink, var(--ink)); }
.tht-mb .tht-meta, .tht-mb .tht-goiy { color: var(--msub, var(--ink-2, var(--ink))); }
.tht-mb .tht-muc, .tht-mb .tht-bao, .tht-mb .tht-the-kv { color: var(--ink); }
.tht-mb .tht-kv-tt, .tht-mb .tht-tieu-luoi { color: var(--mink, var(--primary)); }
/* TT-CL2: chữ phụ nằm TRONG thẻ nền sáng (mục, bảng, KPI) giữ --ink-2; --msub chỉ dành cho chữ nằm thẳng trên nền màn (theme tối navy) */
.tht-mb .tht-muc .tht-goiy, .tht-mb .tht-muc .tht-meta, .tht-mb .tht-the-kv .tht-goiy { color: var(--ink-2, var(--ink)); }
.tht-goc { display: grid; gap: 12px; min-width: 0; }
.tht-cong-cu, .tht-hang { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tht-sp { flex: 1 1 auto; }
.tht-chon-ky { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.tht-chon-ky select { font: inherit; padding: 4px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--card, #fff); color: var(--ink); max-width: 100%; }
button.tht-nho { padding: 3px 9px; font-size: var(--fs-xs, 12px); }
.tht-meta { color: var(--ink-2, var(--ink)); font-size: var(--fs-xs, 12px); }
.tht-goiy { color: var(--ink-3, var(--ink-2)); font-size: var(--fs-xs, 12px); }
.tht-trong { padding: 24px 12px; text-align: center; color: var(--ink-2, var(--ink)); background: var(--card, #fff); border: 1px dashed var(--line); border-radius: 10px; }
.tht-bao { padding: 8px 12px; border-radius: 8px; border: 1px solid var(--line); background: var(--card, #fff); }
.tht-bao-vang { border-color: var(--warn); border-left-width: 4px; }
.tht-bao-loi { border-color: var(--danger); border-left-width: 4px; color: var(--ink); }
.tht-bao-chu { color: var(--danger); font-size: var(--fs-xs, 12px); }
.tht-ds { margin: 4px 0 0; padding-left: 20px; display: grid; gap: 2px; }
.tht-dl { display: grid; grid-template-columns: minmax(120px, max-content) minmax(0, 1fr); gap: 4px 12px; margin: 0; }
.tht-dl dt { font-weight: 600; color: var(--ink-2, var(--ink)); }
.tht-dl dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.tht-sha code { font-size: var(--fs-xs, 12px); word-break: break-all; }
.tht-muc { background: var(--card, #fff); border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; min-width: 0; }
.tht-muc > h3 { margin: 0 0 8px; font-size: var(--fs-md, 14px); color: var(--primary); }
.tht-muc p { margin: 6px 0; }
.tht-kv-dau { display: grid; gap: 4px; }
.tht-kv-tt { margin: 0; font-size: var(--fs-lg, 16px); color: var(--primary); }

/* ---- Chip ---- */
.tht-chip { display: inline-block; padding: 1px 8px; border-radius: 10px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); font-size: var(--fs-xs, 12px); line-height: 18px; white-space: nowrap; }
.tht-tc-cao { border-color: var(--success); }
.tht-tc-tb { border-color: var(--warn); }
.tht-tc-thap { border-color: var(--danger); }
.tht-td-dat { background: var(--success); border-color: var(--success); color: #fff; }
.tht-td-sua { background: var(--danger); border-color: var(--danger); color: #fff; }
.tht-td-cho { border-style: dashed; }
.tht-loai { font-weight: 600; }
.tht-loai-rao { border-color: var(--warn); border-style: dashed; }
.tht-loai-giaodich { border-color: var(--success); }
.tht-loai-thue { border-color: var(--primary); }
.tht-ghi-rao { color: var(--danger); font-size: var(--fs-xs, 12px); font-style: italic; }

/* ---- Màn kỳ: lưới thẻ khu vực ---- */
.tht-luoi { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.tht-the-kv { display: grid; gap: 4px; text-align: left; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--card, #fff);
  color: var(--ink); font: inherit; cursor: pointer; min-width: 0; }
.tht-the-kv:hover { border-color: var(--primary); background: var(--primary-soft); }
.tht-the-dau { font-size: var(--fs-md, 14px); overflow-wrap: anywhere; }
.tht-the-dau b { color: var(--primary); }
.tht-the-so, .tht-the-gia { color: var(--ink-2, var(--ink)); overflow-wrap: anywhere; }

/* ---- Màn khu vực: sơ đồ SVG (hình dạng phân biệt ký hiệu, không chỉ màu) ---- */
.tht-sodo-khung { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; }
.tht-sodo { width: 100%; max-width: 360px; height: auto; display: block; }
.tht-sd-nen { fill: var(--bg); stroke: var(--line); }
.tht-sd-r { fill: none; stroke: var(--primary); stroke-width: 1.5; stroke-dasharray: 6 4; }
.tht-sd-truc { stroke: var(--line); stroke-width: 1; }
.tht-sd-chu, .tht-sd-so { fill: var(--ink-2, var(--ink)); font-size: 11px; font-weight: 600; }
.tht-sd-ct rect { fill: var(--primary); stroke: var(--card, #fff); stroke-width: 1.5; }
.tht-sd-da { fill: var(--ink); stroke: var(--card, #fff); stroke-width: 1.5; }
.tht-sd-uoc { fill: var(--card, #fff); stroke: var(--ink); stroke-width: 2; }
.tht-sodo a:focus .tht-sd-da, .tht-sodo a:focus .tht-sd-uoc, .tht-sodo a:hover .tht-sd-da, .tht-sodo a:hover .tht-sd-uoc { stroke: var(--primary); stroke-width: 3; }
.tht-chu-giai { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: var(--fs-xs, 12px); color: var(--ink-2, var(--ink)); flex: 1 1 200px; }
.tht-kh { display: inline-block; width: 12px; height: 12px; vertical-align: -1px; margin-right: 4px; box-sizing: border-box; }
.tht-kh-ct { background: var(--primary); }
.tht-kh-da { background: var(--ink); border-radius: 50%; }
.tht-kh-uoc { border: 2px solid var(--ink); border-radius: 50%; }
.tht-kh-r { border: 1.5px dashed var(--primary); border-radius: 50%; }
.tht-chua-dv { margin-top: 6px; }

/* ---- Bảng lân cận + bảng chung ---- */
.tht-loc { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.tht-chip-loc { padding: 3px 10px; border-radius: 14px; border: 1px solid var(--line); background: var(--card, #fff); color: var(--ink); font: inherit; font-size: var(--fs-xs, 12px); cursor: pointer; }
.tht-chip-loc.on { background: var(--primary); border-color: var(--primary); color: var(--primary-ink, #fff); }
.tht-cuon-ngang { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }
/* Sửa L4: bảng còn rộng hơn khung thì phải nhìn thấy — bóng mép phải/trái (lớp nền "local" che bóng khi đã cuộn tới mép) + thanh cuộn luôn hiện */
.tht-cuon-ngang { background: linear-gradient(to right, var(--card, #fff) 30%, transparent) left / 32px 100% no-repeat local,
  linear-gradient(to left, var(--card, #fff) 30%, transparent) right / 32px 100% no-repeat local,
  radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, .3), transparent) left / 14px 100% no-repeat scroll,
  radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, .3), transparent) right / 14px 100% no-repeat scroll; }
.tht-cuon-ngang > .tht-bang { background: transparent; }   /* app.css cho table nền trắng sẽ che bóng mép */
.tht-cuon-ngang::-webkit-scrollbar { height: 8px; }
.tht-cuon-ngang::-webkit-scrollbar-thumb { background: var(--line); border-radius: 4px; }
.tht-cuon-ngang::-webkit-scrollbar-track { background: transparent; }
.tht-bang { width: 100%; border-collapse: collapse; font-size: var(--fs-xs, 12px); }
.tht-bang th, .tht-bang td { border-bottom: 1px solid var(--line); padding: 6px 8px; text-align: left; vertical-align: top; }
.tht-bang th { background: var(--bg); color: var(--ink-2, var(--ink)); font-weight: 600; white-space: nowrap; }
.tht-bang-lc { min-width: 620px; }   /* sửa L4: vừa vùng TT ~680 px khi có cột phải; hẹp hơn thì cuộn có bóng mép */
.tht-bang-lc td:nth-child(2) { min-width: 120px; }
.tht-bang-lc td:nth-child(4) { min-width: 64px; }
.tht-bang-lc td:nth-child(5) { min-width: 200px; }
.tht-bang-lc td:nth-child(6) { min-width: 110px; }
.tht-bang-lc thead th, .tht-bang-ss thead th { white-space: normal; }
.tht-so, .tht-bang .tht-so { text-align: right; white-space: nowrap; }   /* .tht-bang td đặt text-align: left, cần độ ưu tiên 0,2,0 */
.tht-bang tr.tht-dong-sang td { background: var(--primary-soft); }
.tht-bang tr:target td { background: var(--primary-soft); }
.tht-gia + .tht-gia { margin-top: 6px; padding-top: 6px; border-top: 1px dashed var(--line); }
.tht-nguon-dong { margin-top: 2px; overflow-wrap: anywhere; }
.tht-nguon-dong a { color: var(--link, var(--primary)); }
.tht-canh { color: var(--ink-2, var(--ink)); font-weight: 700; }
.tht-hang-nguon { color: var(--ink-2, var(--ink)); }
.tht-trich { display: block; margin-top: 2px; color: var(--ink-2, var(--ink)); font-style: italic; }

/* ---- Giá từng dự án (gộp dải giá), diễn biến: SVG co giãn theo viewBox, không cuộn ngang ---- */
.tht-dai, .tht-db, .tht-cot { width: 100%; max-width: 100%; height: auto; display: block; }
.tht-dg-khung { fill: var(--primary-soft); }
.tht-dg-vach { stroke: var(--primary); stroke-width: 1.5; stroke-dasharray: 5 3; }
.tht-dg-tv { stroke: var(--danger); stroke-width: 1.5; }
.tht-dg-dai { stroke: var(--primary); stroke-width: 10; stroke-linecap: round; opacity: .3; }
.tht-dg-giua { fill: var(--primary); stroke: var(--card, #fff); stroke-width: 2; }
.tht-dg-vn { stroke: var(--ink); stroke-width: 2; }
.tht-dg-luoi { stroke: var(--line); stroke-width: 1; }
.tht-dg-ten, .tht-dg-truc, .tht-dg-chu, .tht-dg-km, .tht-dg-so { fill: var(--ink-2, var(--ink)); font-size: 11px; }
.tht-dg-ten { fill: var(--ink); font-size: 12px; font-weight: 600; }
.tht-dg-km { font-size: 10.5px; }
.tht-dg-so { fill: var(--ink); font-size: 12px; font-weight: 700; }
.tht-dg-chu { font-weight: 600; }
.tht-dg-chu-tv { fill: var(--danger); }
.tht-db-duong { fill: none; stroke: var(--primary); stroke-width: 2; }
.tht-db-diem { fill: var(--primary); stroke: var(--card, #fff); stroke-width: 1.5; }

/* ---- TT-CL2 (14/10/2026): trình bày kiểu báo cáo — KPI, tóm tắt điều hành, biểu đồ cột so sánh, bảng so sánh, hạng nguồn A–E ---- */
.tht-so, .tht-so-gia, .tht-kpi-so, .tht-bang td, .tht-cot text, .tht-dai text, .tht-db text { font-variant-numeric: tabular-nums; }
.tht-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 8px; margin: 0 0 4px; }   /* sửa L8: 5 thẻ một hàng ở ~680 px */
.tht-kpi { min-width: 0; padding: 10px; border: 1px solid var(--line); border-top: 3px solid var(--primary); border-radius: 8px; background: var(--card, #fff); color: var(--ink); }
.tht-kpi-nhan { color: var(--ink-2, var(--ink)); font-size: var(--fs-xs, 12px); font-weight: 600; text-transform: uppercase; letter-spacing: .02em; }
.tht-kpi-so { margin-top: 2px; font-size: var(--fs-xl, 20px); font-weight: 700; line-height: 1.2; color: var(--ink); overflow-wrap: anywhere; }
.tht-kpi-dv { display: inline-block; white-space: nowrap; font-size: var(--fs-xs, 12px); font-weight: 600; color: var(--ink-2, var(--ink)); }   /* sửa L7: đơn vị không gãy giữa chừng, dài thì xuống dòng riêng */
.tht-kpi-phu { margin-top: 2px; color: var(--ink-2, var(--ink)); font-size: var(--fs-xs, 12px); overflow-wrap: anywhere; }
.tht-kpi-tc-cao { border-top-color: var(--success); }
.tht-kpi-tc-tb { border-top-color: var(--warn); }
.tht-kpi-tc-thap { border-top-color: var(--danger); }
.tht-tomtat { margin: 8px 0 0; padding-left: 20px; display: grid; gap: 4px; line-height: 1.5; }
.tht-tomtat li::marker { color: var(--primary); }
.tht-tomtat-khoi { border-left: 4px solid var(--primary); }
.tht-tieu-luoi { margin: 4px 0 0; font-size: var(--fs-md, 14px); color: var(--primary); }
.tht-hinh { margin: 0 0 10px; min-width: 0; }
.tht-hinh figcaption { font-weight: 600; margin-bottom: 4px; }
.tht-cot-thanh { fill: var(--primary); }
.tht-cot-dong:hover .tht-cot-thanh { opacity: .8; }
.tht-cot-luoi { stroke: var(--line); stroke-width: 1; }
.tht-cot-ten { fill: var(--ink); font-size: 12px; font-weight: 600; }
.tht-cot-so { fill: var(--ink); font-size: 12px; font-weight: 700; }
.tht-cot-truc { fill: var(--ink-2, var(--ink)); font-size: 11px; }
.tht-mb .tht-cot-ten, .tht-mb .tht-dg-ten { font-size: 11px; }
/* Sửa L6 (máy tính): viewBox 720 co về vùng ~680 px ⇒ chữ SVG hiển thị ≥ 11 px; trần 900 px để màn rất rộng không phóng chữ quá to */
.tht-vung .tht-cot-ten, .tht-vung .tht-cot-so, .tht-vung .tht-dg-ten, .tht-vung .tht-dg-so { font-size: 13px; }
.tht-vung .tht-cot-truc, .tht-vung .tht-dg-truc, .tht-vung .tht-dg-chu, .tht-vung .tht-dg-km { font-size: 12px; }
.tht-vung .tht-cot, .tht-vung .tht-dai { max-width: 900px; }
.tht-cg-ngang { flex: none; display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 6px 0 0; }
.tht-kh-dai { width: 18px; height: 8px; vertical-align: 1px; border-radius: 4px; background: var(--primary); opacity: .35; }
.tht-kh-vn { width: 2px; height: 12px; margin: 0 9px 0 5px; background: var(--ink); }
.tht-kh-tv { width: 2px; height: 12px; margin: 0 9px 0 5px; background: var(--danger); }
.tht-kh-kg { width: 18px; background: var(--primary-soft); border-left: 1.5px dashed var(--primary); border-right: 1.5px dashed var(--primary); }
.tht-cg-ngang .tht-kh-da { background: var(--primary); }
.tht-bang-ss { min-width: 560px; }   /* sửa L4: bỏ cột đơn vị (ghi dưới trung vị), thẩm định chip ngắn, cho xuống dòng ⇒ đủ cột ở ~680 px */
.tht-bang-ss th[scope="row"] { white-space: normal; overflow-wrap: anywhere; min-width: 64px; background: transparent; }
.tht-bang-ss .tht-lk { white-space: nowrap; }
.tht-dv-o { font-size: 11px; font-weight: 400; color: var(--ink-2, var(--ink)); white-space: normal; }
.tht-lk { appearance: none; border: 0; background: none; padding: 0; font: inherit; font-weight: 700; color: var(--link, var(--primary)); cursor: pointer; text-decoration: underline; }
.tht-lk:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
/* Chip hạng nguồn: A–C viền màu theme; D, E (tham khảo) màu trung tính, viền đứt */
.tht-hg { font-weight: 600; }
.tht-hg-A { border-color: var(--success); color: var(--success); }
.tht-hg-B { border-color: var(--primary); color: var(--primary); }
.tht-hg-C { border-color: var(--ink-2, var(--ink)); }
.tht-hg-tk { border-style: dashed; border-color: var(--ink-3, var(--ink-2)); background: var(--grey, #f4f4f4); color: var(--ink-2, var(--ink)); font-weight: 500; }
.tht-tk-chu { color: var(--ink-2, var(--ink)); font-size: var(--fs-xs, 12px); font-style: italic; }
.tht-ng-phu { color: var(--ink-2, var(--ink)); font-size: var(--fs-xs, 12px); }
.tht-mien { font-weight: 600; }
.tht-nguon-ds { margin: 0; padding-left: 22px; display: grid; gap: 8px; }
.tht-ng { overflow-wrap: anywhere; }
.tht-ng-dau a { color: var(--link, var(--primary)); font-weight: 600; }
.tht-trich-mo { margin-top: 2px; }
.tht-trich-mo > summary { cursor: pointer; color: var(--link, var(--primary)); font-size: var(--fs-xs, 12px); width: max-content; max-width: 100%; }
.tht-trich-mo > summary:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.tht-trich-mo[open] .tht-trich { padding-left: 8px; border-left: 2px solid var(--line); }

/* ---- Thẩm định ---- */
.tht-td-form { display: grid; gap: 6px; margin-top: 8px; padding-top: 8px; border-top: 1px dashed var(--line); }
.tht-td-form label { display: inline-flex; align-items: center; gap: 4px; }
.tht-td-form textarea { width: 100%; min-width: 0; box-sizing: border-box; font: inherit; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; resize: vertical; }
.tht-ghi-td { border-left: 3px solid var(--danger); padding-left: 8px; }

/* ---- Hộp nạp kỳ / hộp hỏi ghi đè (khung .bti-hp của bantin.css) ---- */
.tht-hp .bti-hp-than, .tht-hp-hoi .bti-hp-than { font-size: var(--fs-sm, 13px); }
.tht-hp h4 { margin: 8px 0 4px; font-size: var(--fs-sm, 13px); }
.tht-loai-ds { max-height: 220px; overflow-y: auto; font-size: var(--fs-xs, 12px); }
.tht-hoi-lop .bti-man { z-index: 175; }
.tht-hoi-lop .bti-hp { z-index: 180; width: min(460px, calc(100vw - var(--bti-trai, 0px) - var(--bti-phai, 0px) - 16px)); }

/* ---- Điện thoại / màn hẹp (375 px) ---- */
@media (max-width: 600px) {
  .tht-the-thanh { padding: 6px 10px 0; }
  .tht-the { padding: 7px 12px; }
  .tht-luoi { grid-template-columns: minmax(0, 1fr); }
  .tht-muc { padding: 10px; }
  .tht-sodo { max-width: none; }
  .tht-dl { grid-template-columns: minmax(0, 1fr); }
  .tht-cong-cu .tht-chon-ky { flex: 1 1 100%; }
  .tht-chon-ky select { flex: 1 1 auto; }
}

/* ---- Màn rất hẹp (≤ 420 px): biểu đồ co theo viewBox, bảng cuộn trong khung, KPI hai cột; trang không cuộn ngang ---- */
@media (max-width: 420px) {
  .tht-vung, .tht-mb, .tht-goc, .tht-muc { max-width: 100%; overflow-wrap: anywhere; }
  .tht-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .tht-kpi { padding: 8px; }
  .tht-kpi-so { font-size: var(--fs-lg, 16px); }
  .tht-cg-ngang { display: grid; gap: 4px; }
  .tht-bang-ss th[scope="row"] { white-space: normal; }
  .tht-bang-ss { min-width: 600px; }   /* bảng so sánh cuộn trong khung (có bóng mép); chữ ô xuống dòng theo từ, không gãy giữa từ */
  .tht-bang-ss td, .tht-bang-ss thead th { overflow-wrap: normal; }
  /* Sửa L3: bảng "Dự án lân cận" thành thẻ — mỗi dự án một khối: số · tên · km ở đầu, loại hình, rồi "Giá và nguồn", thanh toán cuối; không cuộn ngang.
     Nhãn mục lấy từ data-label (JS sinh qua hx). */
  .tht-bang-lc, .tht-bang-lc tbody { display: block; min-width: 0; }
  .tht-bang-lc thead { display: none; }
  .tht-bang-lc tr { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--line); }
  .tht-bang-lc td { display: block; min-width: 0 !important; padding: 0; border: 0; }
  .tht-bang-lc td:nth-child(1) { grid-column: 1; grid-row: 1; font-weight: 700; color: var(--primary); }
  .tht-bang-lc td:nth-child(2) { grid-column: 2; grid-row: 1; }
  .tht-bang-lc td:nth-child(3) { grid-column: 3; grid-row: 1; }
  .tht-bang-lc td:nth-child(4) { grid-column: 2 / 4; grid-row: 2; margin-top: 2px; }
  .tht-bang-lc td:nth-child(4) div { display: inline; }
  .tht-bang-lc td:nth-child(4) div::before { content: " · "; }
  .tht-bang-lc td:nth-child(5), .tht-bang-lc td:nth-child(6) { grid-column: 1 / -1; margin-top: 8px; }
  .tht-bang-lc td:nth-child(5)::before, .tht-bang-lc td:nth-child(6)::before { content: attr(data-label); display: block; margin-bottom: 2px; color: var(--ink-2, var(--ink)); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
  .tht-bang-lc tr:target, .tht-bang-lc tr.tht-dong-sang { background: var(--primary-soft); }
}

/* ---- In (báo cáo giấy / PDF): ẩn nút, công cụ, hộp nạp; nền trắng chữ đen; không ngắt giữa biểu đồ, thẻ KPI ---- */
@media print {
  /* Sửa L1 — CHỈ khi lớp phủ Bảng tin đang mở thẻ Thị trường (body > #btiTrang chứa .tht-vung): ẩn vỏ (thanh trái, đầu trang, cột phải, lớp khác),
     bỏ đệm hai bên của body (shell-v4), lớp phủ thành khối tĩnh rộng đủ trang, khung cuộn trong mở hết ⇒ in đủ mục 1–9 qua nhiều trang. Màn khác in như cũ. */
  body:has(> #btiTrang .tht-vung) > :not(#btiTrang) { display: none !important; }
  html:has(> body > #btiTrang .tht-vung), body:has(> #btiTrang .tht-vung) { height: auto !important; min-height: 0 !important; overflow: visible !important; background: #fff !important; }
  body:has(> #btiTrang .tht-vung) { margin: 0 !important; padding: 0 !important; }
  body:has(> #btiTrang .tht-vung) > #btiTrang { position: static !important; inset: auto !important; display: block !important; width: auto !important; height: auto !important;
    max-height: none !important; overflow: visible !important; z-index: auto !important; background: #fff !important; color: #000 !important; }
  #btiTrang:has(.tht-vung) .bti-tr-than { overflow: visible !important; height: auto !important; max-height: none !important; padding: 0 !important; }
  #btiTrang:has(.tht-vung) .bti-tr-dau { padding: 0 0 6px !important; margin-bottom: 8px; background: #fff !important; border-bottom: 2px solid #000 !important; }
  #btiTrang:has(.tht-vung) .bti-tr-dau button { display: none !important; }
  #btiTrang:has(.tht-vung) .bti-tr-dau, #btiTrang:has(.tht-vung) .bti-tr-dau * { color: #000 !important; }
  .tht-cuon-ngang { background: none !important; }
  .tht-the-thanh, .tht-mb-chips, .tht-cong-cu, .tht-loc, .tht-td-form, .tht-nap-lop, .tht-hoi-lop, .tht-vung button[data-tht="thuLai"] { display: none !important; }
  .tht-vung, .tht-mb, .tht-muc, .tht-kpi, .tht-the-kv, .tht-bao, .tht-trong, .tht-bang th, .tht-chip, .tht-sd-nen { background: #fff !important; color: #000 !important; box-shadow: none !important; }
  .tht-vung *, .tht-mb * { color: #000 !important; }
  .tht-muc, .tht-kpi, .tht-the-kv, .tht-chip { border-color: #999 !important; }
  .tht-chip { white-space: normal; }
  .tht-bang { font-size: 11px; }
  .tht-bang th, .tht-bang td { padding: 4px 5px; }
  .tht-cuon-ngang { overflow: visible !important; }
  .tht-bang-lc, .tht-bang-ss { min-width: 0 !important; }
  .tht-hinh, .tht-kpis, .tht-kpi, .tht-sodo-khung, .tht-the-kv, .tht-bang tr, svg.tht-cot, svg.tht-dai, svg.tht-db, svg.tht-sodo { break-inside: avoid; page-break-inside: avoid; }
  .tht-muc > h3, .tht-tieu-luoi, .tht-hinh figcaption { break-after: avoid; page-break-after: avoid; }
}
