/* Khối thông tin bệnh nhân DÙNG CHUNG (chuẩn Khám bệnh) — nạp trong _MainLayout cho MỌI module iframe.
   Trước đây định nghĩa cục bộ ở lamviec.css; tách ra đây để mọi màn (CLS/Dược/PTTT/Nhà thuốc/Tiếp đón...) dùng CHUNG,
   sửa 1 chỗ áp mọi màn. Markup chuẩn: xem BacSi.cshtml / lam-bacsi.js.

   RESPONSIVE: khối luôn 1 HÀNG NGANG, CAO CỐ ĐỊNH. Khi hẹp -> KHÔNG xuống dòng, KHÔNG tràn sang bên kia;
   ẩn dần cột từ phải (ĐT -> Ngày vào -> Ngày sinh -> Địa chỉ) và cắt "…". Đo bằng @container (bề rộng CHÍNH khối),
   nên nhúng vào cột hẹp (cạnh sinh tồn / trong modal) vẫn co đúng. (Dòng dị ứng .kb-ident-allergy vẫn được nở khi có.) */
.kb-ident { container-type:inline-size; background:#fff; border:1px solid #cfe3db; border-left:4px solid #1d6f5c; border-radius:2px; padding:10px 16px; margin-bottom:8px; min-height:60px; display:flex; flex-wrap:nowrap; align-items:center; gap:8px 16px; }
.kb-ident-ticket { background:linear-gradient(90deg,#f7fbf9 0,#fff 42%); }
.kb-ident-ledger { background:#fff; border-left-width:8px; box-shadow:inset 0 -1px 0 #edf4f1; }
.kb-ident-band { background:#f8fbfa; border-left-width:0; border-top:4px solid #1d6f5c; }
.kb-ident-band .kb-id-side { border-right-style:dashed; }
.kb-id-side { flex:0 1 auto; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; column-gap:16px; row-gap:7px; align-items:center; padding-right:16px; border-right:1px solid #cfe3db; }
.kb-makcb-wrap { grid-column:1; grid-row:1; display:flex; align-items:center; gap:8px; min-width:0; max-width:100%; }
.kb-makcb-wrap > label { flex:0 0 auto; font-size:11.5px; font-weight:700; color:#13503f; text-transform:uppercase; letter-spacing:.03em; }
/* meta 1 dòng, không wrap; item dài cắt "…" + mờ nhẹ mép phải nếu tràn */
.kb-id-meta { display:contents; font-size:12.5px; color:#5b7168; }
.kb-id-meta > span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kb-id-meta > span:nth-child(1) { grid-column:2; grid-row:1; justify-self:start; }
.kb-id-meta > span:nth-child(2) { grid-column:1; grid-row:2; }
.kb-id-meta b { color:#101828; font-weight:700; }
.kb-id-meta > .kb-room-meta { grid-column:2; grid-row:2; color:#52665f; justify-self:start; }
.kb-id-meta .kb-room-meta:empty { display:none; }
/* Bố cục GỌN 2 dòng (user chốt 2026-07-23): dòng 1 = tên + chip; dòng 2 = địa chỉ + dị ứng cùng hàng.
   Dùng grid 2 cột: name(col1)+chips(col2) ở dòng 1; addr(col1)+allergy(col2) ở dòng 2. */
.kb-id-main { flex:1 1 0; min-width:0; display:grid; grid-template-columns:minmax(60px,auto) 1fr; gap:4px 14px; align-content:center; }
/* fb-20260724-090146-689: tên BN ở header IN HOA cho đồng nhất với ô nhập Họ tên + hàng đợi (chỉ hiển thị). */
.kb-id-name { grid-column:1; font-size:18px; font-weight:800; color:#13503f; line-height:1.1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-transform:uppercase; }
.kb-id-name .muted { color:#98a2b3; font-weight:600; }
/* chip 1 dòng, không wrap -> không đội chiều cao; tràn thì mờ dần mép phải */
.kb-chips { grid-column:2; grid-row:1; display:flex; flex-wrap:nowrap; gap:6px; min-width:0; overflow:hidden; align-items:center; -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 18px),transparent 100%); mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 18px),transparent 100%); }
.kb-chips .chip { flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; padding:2px 9px; border-radius:4px; background:#eef3f1; color:#5b7168; border:1px solid #e3e7ec; white-space:nowrap; }
.kb-chips .chip.nam { background:#e6f0fb; color:#1456a0; border-color:#cfe0f5; }
.kb-chips .chip.nu { background:#fbe9f3; color:#a1266f; border-color:#f3cfe4; }
.kb-chips .chip.age { background:#eef2ff; color:#3730a3; border-color:#c7d2fe; }
.kb-chips .chip.phone { background:#ecfdf3; color:#166534; border-color:#bbf7d0; }
.kb-chips .chip.room { background:#fff7ed; color:#9a3412; border-color:#fed7aa; }
.kb-chips .chip i { font-size:11px; opacity:.85; }
.kb-addr { grid-column:1; grid-row:2; display:flex; align-items:center; gap:6px; color:#5b7168; font-size:12.5px; min-width:0; white-space:nowrap; overflow:hidden; }
.kb-addr span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kb-addr i { flex:0 0 auto; color:#1d6f5c; }
/* Card BN 2 dòng (bám HIS6) */
.kb-id-row { display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; font-size:13px; color:#475467; margin-top:3px; }
.kb-id-row b { color:#344054; font-weight:600; }
.kb-id-f.kb-id-name span { font-weight:700; color:#13503f; }
.kb-makcb { min-width:0; width:178px; border:1.5px solid #1d6f5c; border-radius:5px; padding:6px 10px; font-size:13.5px; }
.kb-makcb:focus { outline:2px solid #1d6f5c; outline-offset:1px; }
html[data-theme="dark"] .kb-makcb { background:#242427; color:#e8e8ea; border-color:#4a9d80; }
/* Dị ứng: nằm CÙNG DÒNG với địa chỉ (col2, dòng 2) — gọn header 2 dòng. */
.kb-ident-allergy { grid-column:2; grid-row:2; font-size:12px; min-width:0; overflow:hidden; align-self:center; }
.kb-ident-allergy:empty { display:none; }
.kb-ident-allergy .al { display:inline-flex; align-items:center; background:#fef3f2; color:#b42318; border:1px solid #fecdc9; border-radius:4px; padding:2px 8px; margin-right:5px; font-weight:600; }
.kb-ident-note { flex:0 0 180px; max-width:180px; border-left:1px solid #cfe3db; padding-left:12px; color:#667085; font-size:12px; line-height:1.35; }
.kb-ident-note:empty { display:none; }
html[data-theme="dark"] .kb-ident { background:#242427; border-color:#3a3a3e; color:#e8e8ea; }

/* ===== Ẩn dần TỪ PHẢI khi khối hẹp — CHIỀU CAO GIỮ NGUYÊN (đo theo bề rộng .kb-ident) ===== */
@container (max-width:900px) { .kb-chips .chip.phone { display:none; } }          /* bỏ chip Điện thoại */
@container (max-width:760px) { .kb-id-meta .kb-room-meta { display:none; } }       /* bỏ meta "Ngày vào" */
/* (Chip Ngày sinh đã bỏ hẳn ở benhnhan-head.js — chỉ giữ Tuổi.) */
@container (max-width:520px) { .kb-addr { display:none; } .kb-makcb { width:132px; } } /* bỏ địa chỉ, ô Mã KCB co */
@container (max-width:430px) { .kb-makcb { width:108px; } .kb-id-name { font-size:17px; } }
