/* Be Vietnam Pro — SIL Open Font License 1.1 (https://openfontlicense.org) */
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/bvp-400-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/bvp-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/bvp-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/bvp-500-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/bvp-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/bvp-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/bvp-600-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/bvp-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/bvp-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/bvp-700-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/bvp-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/bvp-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:800;font-display:swap;src:url(/static/fonts/bvp-800-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:800;font-display:swap;src:url(/static/fonts/bvp-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:800;font-display:swap;src:url(/static/fonts/bvp-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* =========================================================================
   Return Intelligence — giao diện bản chốt 30/09/2026 (Bluezon)
   Nguồn: gói Return_Intelligence_BanChot (tokens.css + mockup).
   Font Be Vietnam Pro lưu trên NAS (/static/fonts, giấy phép SIL OFL 1.1) —
   không phụ thuộc Google Fonts, máy chỉ có mạng LAN vẫn hiện đúng font.
   Quy ước: .bz-* là thành phần mới. Các class cũ (.khoi, .the, .tag...) vẫn
   giữ cho những trang chưa thiết kế lại.
   ========================================================================= */
:root{
  /* ---- Thương hiệu ---- */
  --bz-tham:#253b6e; --bz-xanh:#2b8fd0; --bz-luc:#2fc0b5; --bz-cam:#f0932b;
  /* ---- Nền & bề mặt ---- */
  --nen:#f4f6fa; --the-nen:#fff; --the-vien:#e6ebf2; --duong-ke:#eaecf0;
  --o-phu:#f9fafb; --ray:#f2f4f7; --o-nhap-vien:#e4e7ec;
  /* ---- Chữ ---- */
  --chu-1:#101828; --chu-2:#475467; --chu-3:#667085; --chu-nhan:#344054; --lien-ket:#1d4ed8;
  /* ---- Trạng thái (tách khỏi màu thương hiệu) ---- */
  --do-cham:#d92d20; --do-nen:#fee4e2; --do-chu:#b42318; --do-o:#fef3f2;
  --vang-cham:#eab308; --vang-nen:#fef3c7; --vang-chu:#7a5b00; --vang-o:#fffbeb;
  --td-vien:#98a2b3; --td-nen:#f2f4f7; --td-chu:#475467;
  --khoe-cham:#17b26a; --khoe-nen:#dcfae6; --khoe-chu:#067647; --khoe-o:#f0fdf4;
  --soc-chua-chin:repeating-linear-gradient(135deg,#c9d1de 0 3px,#eef1f6 3px 7px);
  /* ---- Ngưỡng ---- */
  --nguong:#c99a00; --nguong-chu:#8a6a00;
  /* ---- Cảnh báo / thông tin ---- */
  --canh-nen:#fffaeb; --canh-vien:#fedf89; --canh-chu:#93370d; --canh-icon:#dc6803;
  --tin-nen:#eef4ff; --tin-chu:#1d4ed8;
  /* ---- 7 nhãn: vệt dữ liệu / nền nhạt / chữ trên nền nhạt ----
     Vệt Chất lượng #34539a (không phải #253b6e): #253b6e tối quá dải sáng của
     validator palette. Chữ vẫn dùng xanh thẫm thương hiệu. */
  --n-CHAT_LUONG:#34539a;        --n-CHAT_LUONG-nen:#e6eaf4;        --n-CHAT_LUONG-chu:#253b6e;
  --n-KICH_THUOC:#2b8fd0;        --n-KICH_THUOC-nen:#e2f0fb;        --n-KICH_THUOC-chu:#145f93;
  --n-VAN_HANH:#2fc0b5;          --n-VAN_HANH-nen:#dcf5f2;          --n-VAN_HANH-chu:#0f6a64;
  --n-MAU_SAC_ANH:#7c5cdb;       --n-MAU_SAC_ANH-nen:#eee9fb;       --n-MAU_SAC_ANH-chu:#5a3bb0;
  --n-GIAO_SAI_BIEN_THE:#c07a2c; --n-GIAO_SAI_BIEN_THE-nen:#f7ecdf; --n-GIAO_SAI_BIEN_THE-chu:#7a4a14;
  --n-DO_KHACH:#c3cad6;          --n-DO_KHACH-nen:#eef0f4;          --n-DO_KHACH-chu:#4a5468;
  --n-CHUA_PHAN_DINH:#9aa3b3;    --n-CHUA_PHAN_DINH-nen:#eef0f4;    --n-CHUA_PHAN_DINH-chu:#4a5468;
  /* ---- Hình khối ---- */
  --bo-the:16px; --bo-o:12px; --bo-the-mau:14px; --bo-nut:10px;
  --bong-the:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.06);
  --bong-the-mobile:0 1px 2px rgba(16,24,40,.04),0 6px 18px rgba(16,24,40,.06);
  --le-trang:32px; --khe:20px;
  --font:'Be Vietnam Pro',system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* =========================================================================
   MỚI V2 — token thêm cho Theo sản phẩm · Chi tiết ASIN · Rà nhãn ·
   Nạp dữ liệu · Báo cáo tuần · Header 2 vai trò · Đăng nhập.
   Mọi token dưới đây đều MỚI (V1 chưa có). Không đổi token V1 nào.
   ========================================================================= */
:root {
  /* ---- [MỚI] Vai trò trên header ---- */
  --vai-quan-tri-nen: #253b6e;  --vai-quan-tri-chu: #ffffff;   /* chip "Quản trị" */
  --vai-xem-nen: #f2f4f7;       --vai-xem-chu: #475467;        /* chip "Người xem" */
  --tab-active-nen: #ffffff;    --tab-active-bong: 0 1px 3px rgba(16,24,40,.1);
  --tab-nhom-nen: #f2f4f7;      /* nền cụm tab */

  /* ---- [MỚI] Bảng: dòng đang chọn, cột đang sắp, dòng cảnh báo ---- */
  --dong-chon-nen: #f5f9ff;     --dong-chon-vach: #2b8fd0;     /* box-shadow: inset 3px 0 0 var(--dong-chon-vach) */
  --cot-sap-chu: #1d4ed8;       /* tiêu đề cột đang sắp + ▼/▲ */
  --cot-sap-mui-ten-nhat: #c3cad6; /* ↕ của cột chưa sắp */
  --dong-canh-nen: #fff7f5;     /* dòng return 0 dòng mới trong nhật ký, dòng có canh[] trên lưới */
  --dong-thu-soc: repeating-linear-gradient(135deg, #ffffff 0 10px, #fafbfd 10px 20px); /* chỉ dùng trên canvas cho dòng thử chuỗi dài */

  /* ---- [MỚI] Ô lưới Nạp dữ liệu — 6 trạng thái ---- */
  --o-ok-nen: #ecfdf3;       --o-ok-chu: #067647;                                     /* ok: đủ */
  --o-thap-nen: #fffaeb;     --o-thap-chu: #93370d;                                   /* thấp: <70% trung vị */
  --o-trong-nen: #fef3f2;    --o-trong-chu: #b42318;  --o-trong-vien: #fda29b;        /* trống: hổng dữ liệu (viền liền) */
  --o-mot-phan-soc: repeating-linear-gradient(135deg, #ecfdf3 0 4px, #ffffff 4px 8px);
  --o-mot-phan-chu: #067647; --o-mot-phan-vien: #75e0a7;                              /* một phần: sọc xanh + viền nét đứt */
  --o-chua-tai-nen: #f9fafb; --o-chua-tai-chu: #98a2b3; --o-chua-tai-vien: #d0d5dd;   /* chưa tải tới: viền nét đứt */
  --o-dang-soc: repeating-linear-gradient(135deg, #eef4ff 0 4px, #ffffff 4px 8px);
  --o-dang-chu: #1d4ed8;                                                              /* tuần đang chạy: sọc xanh dương + chữ nghiêng */

  /* ---- [MỚI] Log bộ nạp (khung terminal) ---- */
  --log-nen: #0f172a;  --log-chu: #e2e8f0;  --log-phu: #98a2b3;  --log-ok: #75e0a7;  --log-canh: #fda29b;

  /* ---- [MỚI] Rà nhãn: khoá / mở khoá ---- */
  --mo-khoa-nen: #f6fef9;  --mo-khoa-vien: #abefc6;  --mo-khoa-icon-nen: #dcfae6;  --mo-khoa-icon: #067647;
  --khoa-nen: #fffdf5;     --khoa-vien: #fedf89;     --khoa-icon-nen: #fef0c7;     --khoa-icon: #b54708;
  --kbd-vien: #d0d5dd;     --kbd-nen: #ffffff;       /* phím tắt: viền dưới 2px */

  /* ---- [MỚI] Trạng thái khiếu nại CSKH (pill) ---- */
  --kn-moi-nen: #eef4ff;   --kn-moi-chu: #1d4ed8;
  --kn-dang-nen: #fffaeb;  --kn-dang-chu: #b54708;
  --kn-xong-nen: #ecfdf3;  --kn-xong-chu: #067647;

  /* ---- [MỚI] VOC · CX health (pill) ---- */
  --cx-poor-nen: #fee4e2;  --cx-poor-chu: #b42318;
  --cx-fair-nen: #fef3c7;  --cx-fair-chu: #7a5b00;
  --cx-good-nen: #dcfae6;  --cx-good-chu: #067647;

  /* ---- [MỚI] Review: thanh phân bố sao ---- */
  --sao-thap: #d92d20;  /* 1–2★ */  --sao-vua: #eab308;  /* 3★ */  --sao-cao: #17b26a;  /* 4–5★ */

  /* ---- [MỚI] Báo cáo tuần: 3 trạng thái + loại điều kiện ---- */
  --bc-dat-nen: #ecfdf3;       --bc-dat-chu: #067647;        /* DAT — tự gửi */
  --bc-cho-nen: #fffaeb;       --bc-cho-chu: #b54708;        /* CHO_XAC_NHAN */
  --bc-chua-du-nen: #fef3f2;   --bc-chua-du-chu: #b42318;    /* CHUA_DU */
  --dk-chan-nen: #fee4e2;      --dk-chan-chu: #b42318;       /* điều kiện "chặn gửi" */
  --dk-giu-nen: #fef3c7;       --dk-giu-chu: #7a5b00;        /* điều kiện "giữ chờ xác nhận" */
  --dk-ghi-chu-nen: #f2f4f7;   --dk-ghi-chu-chu: #475467;    /* điều kiện "ghi chú" */

  /* ---- [MỚI] Xem trước tin Telegram ---- */
  --tg-nen: #d7e3ec;           /* nền khung chat (+ chấm radial rgba(255,255,255,.35) 1px / 14px) */
  --tg-bong-bong: #ffffff;     --tg-bo: 14px 14px 14px 4px;  --tg-bong: 0 1px 1px rgba(0,0,0,.12);
  --tg-ten-bot: #2481cc;       --tg-link: #2481cc;           --tg-chu: #000000;

  /* ---- [MỚI] Bảng nhiệt "Cơ cấu nhãn theo tháng" (mỗi hàng một thang) ----
     alpha = a0 + a1 × (giá trị / max hàng trong các tháng ĐÃ CHÍN), nền = rgba(màu nhãn, alpha)
     Nhãn thường: a0 .10, a1 .80 · Do khách & Chưa phân định: a0 .08, a1 .45 (nhạt hơn, không hành động)
     Chữ trắng khi alpha > .52 (trừ Vận hành, Do khách, Chưa phân định: luôn chữ đậm). */
  --hm-a0: .10;  --hm-a1: .80;  --hm-a0-nhat: .08;  --hm-a1-nhat: .45;
  --hm-chua-chin-soc: repeating-linear-gradient(135deg, rgba(255,255,255,.55) 0 2px, rgba(255,255,255,0) 2px 6px);

  /* ---- [MỚI] Thiếu Master Data / brand chưa gán ---- */
  --md-thieu-vien: #f79009;    --md-thieu-chu: #93370d;      /* tag nét đứt "Chưa có Master Data" / "Chưa đồng bộ" */
  --md-co-nen: #ecfdf3;        --md-co-chu: #067647;         /* tag "Master Data · dd/mm" */

  /* ---- [MỚI] Nút ---- */
  --nut-chinh-nen: #253b6e;    --nut-chinh-chu: #ffffff;
  --nut-phu-nen: #ffffff;      --nut-phu-vien: #e4e7ec;
  --nut-tat-nen: #f2f4f7;      --nut-tat-chu: #98a2b3;       /* disabled */
}

/* ------------------------------------------------------------ nền chung */
body.bz{margin:0;background:var(--nen);color:var(--chu-1);font:14px/1.45 var(--font);
  font-variant-numeric:tabular-nums}
body.bz select,body.bz input,body.bz button{font-family:inherit}
body.bz a{color:var(--lien-ket)}
.bz-an{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ------------------------------------------------------------- header */
.bz-top{position:sticky;top:0;z-index:30;height:76px;display:flex;align-items:center;gap:20px;
  padding:0 var(--le-trang);background:#fff;border-bottom:1px solid var(--duong-ke)}
.bz-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none!important;color:var(--chu-1)!important}
.bz-logo img{width:38px;height:38px;object-fit:contain;display:block}
.bz-logo b{display:block;font-size:19px;font-weight:700;line-height:1.2;white-space:nowrap}
.bz-logo small{display:block;font-size:11.5px;color:var(--chu-3)}
.bz-nav{display:flex;align-items:center;gap:2px;padding:4px;border-radius:var(--bo-nut);background:var(--ray);
  overflow-x:auto;scrollbar-width:none}
.bz-nav a{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:8px;
  font-size:13.5px;font-weight:500;color:var(--chu-2)!important;white-space:nowrap;text-decoration:none!important}
.bz-nav a:hover{background:rgba(255,255,255,.6)}
.bz-nav a.on{background:#fff;color:var(--chu-1)!important;font-weight:600;box-shadow:0 1px 3px rgba(16,24,40,.1)}
.bz-badge{padding:0 7px;border-radius:999px;background:var(--tin-nen);color:var(--tin-chu);font-size:11px;
  font-weight:700;line-height:18px}
.bz-cham{width:8px;height:8px;border-radius:4px;background:var(--vang-cham);display:inline-block}
.bz-gian{flex-grow:1}
.bz-nut-o{width:40px;height:40px;border:1px solid var(--o-nhap-vien);border-radius:var(--bo-nut);background:#fff;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:var(--chu-2)}
.bz-nut-o:hover{background:var(--o-phu)}
.bz-tim{position:relative}
.bz-tim form{display:none;position:absolute;right:0;top:48px;background:#fff;border:1px solid var(--o-nhap-vien);
  border-radius:var(--bo-o);box-shadow:var(--bong-the);padding:10px;gap:8px;width:300px}
.bz-tim.mo form{display:flex}
.bz-tim input{flex-grow:1;height:36px;border:1px solid var(--o-nhap-vien);border-radius:8px;padding:0 10px;font-size:13px}
.bz-tim form button{height:36px;border:0;border-radius:8px;background:var(--bz-tham);color:#fff;padding:0 12px;font-weight:600;cursor:pointer}
.bz-avatar{position:relative;flex-shrink:0}
/* V2: nut avatar = vong tron + chip vai tro (luon hien) + mui ten */
.bz-avatar>button{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 6px 0 4px;border:0;
  background:transparent;cursor:pointer;border-radius:22px}
.bz-avatar>button:hover{background:var(--ray)}
.bz-avatar .tron{width:40px;height:40px;border-radius:20px;background:var(--bz-tham);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.bz-vai{padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;white-space:nowrap;line-height:16px}
.bz-vai.qt{background:var(--vai-quan-tri-nen);color:var(--vai-quan-tri-chu)}
.bz-vai.xem{background:var(--vai-xem-nen);color:var(--vai-xem-chu)}
.bz-menu{display:none;position:absolute;right:0;top:52px;width:280px;background:#fff;border:1px solid var(--the-vien);
  border-radius:14px;box-shadow:var(--bong-the);padding:8px;z-index:40;flex-direction:column;gap:2px}
.bz-avatar.mo .bz-menu{display:flex}
.bz-menu .ai{display:flex;align-items:center;gap:10px;padding:10px 12px 12px;border-bottom:1px solid var(--duong-ke);margin-bottom:6px}
.bz-menu .ai .tron{width:36px;height:36px;border-radius:18px}
.bz-menu .ai b{display:block;font-size:13.5px}
.bz-menu .ai small{display:block;font-size:11.5px;color:var(--chu-3);line-height:1.35}
.bz-menu a{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;border-radius:8px;font-size:13.5px;
  color:var(--chu-1)!important;text-decoration:none!important}
.bz-menu a:hover,.bz-menu a:focus-visible{background:var(--ray)}
.bz-menu a.on{font-weight:600;background:var(--ray)}
.bz-menu a.thoat{color:var(--do-chu)!important}
.bz-menu hr{border:0;height:1px;background:var(--duong-ke);margin:6px 4px}

/* ------------------------------------------------------------- khung trang */
body.bz main{max-width:1600px;margin:0 auto;padding:22px var(--le-trang) 40px}
.bz-trang{display:flex;flex-direction:column;gap:22px}

/* ------------------------------------------------------------- thanh lọc */
.bz-loc{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.bz-loc.an{display:none}
.bz-f{display:flex;align-items:center;gap:8px;height:38px;padding:0 6px 0 14px;border:1px solid var(--o-nhap-vien);
  border-radius:var(--bo-nut);background:#fff}
.bz-f label{font-size:12.5px;color:var(--chu-3);white-space:nowrap}
.bz-f select{height:30px;border:0;background:transparent;font-size:13px;font-weight:600;color:var(--chu-1);cursor:pointer;max-width:150px}
.bz-f select.thang{width:88px}
.bz-f .mui{color:var(--chu-3);font-size:12px}
.bz-f.asin{padding:0 12px;width:170px}
.bz-f.asin input{border:0;outline:0;width:100%;font-size:13px;background:transparent;color:var(--chu-1)}
.bz-f.dang{border-color:#b2ccff;background:#f5f8ff}
.bz-xoa{font-size:12.5px;font-weight:600;color:var(--chu-2)!important;padding:0 6px;white-space:nowrap;flex-shrink:0}
.bz-canh{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:var(--bo-nut);
  background:var(--canh-nen);border:1px solid var(--canh-vien);font-size:12.5px;font-weight:600;color:var(--canh-chu)!important;
  white-space:nowrap;text-decoration:none!important;max-width:520px;overflow:hidden;text-overflow:ellipsis;
  min-width:0;flex:0 1 auto}
/* Du rong (>=1440) thi mot hang; hep hon thi chip canh bao xuong dong, khong bi cat chu */
@media (min-width:1440px){.bz-loc{flex-wrap:nowrap}.bz-loc>.bz-f{flex-shrink:0}}
.bz-canh .cat{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.bz-banner{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:var(--bo-o);
  background:var(--canh-nen);border:1px solid var(--canh-vien);color:var(--canh-chu);font-size:13px;margin-bottom:18px}
.bz-banner a{white-space:nowrap;font-weight:600}

/* ------------------------------------------------------------- lưới + thẻ */
.bz-luoi{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--khe);align-items:stretch}
.bz-luoi.tren{align-items:start}
.c3{grid-column:span 3}.c4{grid-column:span 4}.c6{grid-column:span 6}.c8{grid-column:span 8}.c12{grid-column:span 12}
.bz-cot{display:flex;flex-direction:column;gap:var(--khe)}
.bz-the{background:var(--the-nen);border:1px solid var(--the-vien);border-radius:var(--bo-the);box-shadow:var(--bong-the);
  display:flex;flex-direction:column;overflow:hidden;min-width:0}
.bz-the.dem{padding:20px 22px;gap:12px}
.bz-the.gian{flex-grow:1}
.bz-dau{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 14px}
.bz-dau h2{margin:0;font-size:18px;font-weight:600;color:var(--chu-1);line-height:1.35;display:flex;align-items:center;gap:8px}
.bz-dau p{margin:2px 0 0;font-size:13px;color:var(--chu-3)}
.bz-dau-nho{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bz-nhan-the{font-size:14.5px;font-weight:600;color:var(--chu-nhan)}
.bz-pv{padding:4px 10px;border-radius:999px;background:var(--ray);font-size:11.5px;font-weight:600;color:var(--chu-2);white-space:nowrap}
.bz-pv.khoe{background:var(--khoe-nen);color:var(--khoe-chu);font-weight:700}
.bz-mui{display:inline-flex;color:var(--chu-2)!important}
.bz-nut{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--o-nhap-vien);
  border-radius:var(--bo-nut);font-size:13px;font-weight:600;color:var(--chu-1)!important;white-space:nowrap;
  text-decoration:none!important;background:#fff}
.bz-nut:hover{background:var(--o-phu)}
.bz-so-lon{font-size:40px;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--chu-1)}
.bz-mo{color:var(--chu-3)}
.bz-chan{margin-top:auto;padding-top:10px;border-top:1px solid var(--duong-ke);font-size:11.5px;color:var(--chu-3);
  display:flex;flex-direction:column;gap:3px}
.bz-rong{padding:22px;color:var(--chu-3);font-size:13px}
.bz-ghi{margin:14px 22px 20px;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;
  background:var(--o-phu);font-size:12.5px;color:var(--chu-2)}

/* ------------------------------------------------------------- pill mức */
.bz-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;
  white-space:nowrap;line-height:16px}
.bz-pill i{width:7px;height:7px;border-radius:4px;display:inline-block}
.bz-pill.do{background:var(--do-nen);color:var(--do-chu)}.bz-pill.do i{background:var(--do-cham)}
.bz-pill.vang{background:var(--vang-nen);color:var(--vang-chu)}.bz-pill.vang i{background:var(--vang-cham)}
.bz-pill.td{background:var(--td-nen);color:var(--td-chu);border:1px dashed var(--td-vien);padding:2px 8px}
.bz-pill.khoe{background:var(--khoe-nen);color:var(--khoe-chu)}
.bz-pill.lon{font-size:12px}
.chu-do{color:var(--do-chu)}.chu-vang{color:var(--vang-chu)}.chu-khoe{color:var(--khoe-chu)}

/* chip chênh lệch: |Δ| >= 0,5 điểm mới tô màu */
.bz-d{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;background:var(--ray);
  color:var(--chu-2);font-size:12px;font-weight:700;white-space:nowrap}
.bz-d.xau{background:var(--do-nen);color:var(--do-chu)}
.bz-d.tot{background:var(--khoe-nen);color:var(--khoe-chu)}

/* ------------------------------------------------------------- thanh cơ cấu nhãn */
.bz-cc{display:flex;gap:2px;height:8px}
.bz-cc.m7{height:7px}.bz-cc.m6{height:6px}
.bz-cc i{flex-basis:0;border-radius:3px;display:block}
.bz-cc i.rong{flex-grow:1;background:var(--ray)}
.n-CHAT_LUONG{background:var(--n-CHAT_LUONG)}.n-KICH_THUOC{background:var(--n-KICH_THUOC)}
.n-VAN_HANH{background:var(--n-VAN_HANH)}.n-MAU_SAC_ANH{background:var(--n-MAU_SAC_ANH)}
.n-GIAO_SAI_BIEN_THE{background:var(--n-GIAO_SAI_BIEN_THE)}.n-DO_KHACH{background:var(--n-DO_KHACH)}
.n-CHUA_PHAN_DINH{background:var(--n-CHUA_PHAN_DINH)}
.bz-cc-chu{font-size:11px;color:var(--chu-3)}
.bz-chu-giai{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 22px;border-top:1px solid var(--duong-ke);
  background:var(--o-phu);font-size:11.5px;color:var(--chu-3);margin-top:auto}
.bz-chu-giai b{font-weight:600;color:var(--chu-2)}
.bz-chu-giai span{display:inline-flex;align-items:center;gap:5px}
.bz-chu-giai span i{width:9px;height:9px;border-radius:3px;display:inline-block}

/* ------------------------------------------------------------- hàng 1 */
.bz-dh{display:flex;align-items:center;gap:22px}
.bz-dh-trai{display:flex;flex-direction:column;align-items:center;width:286px;flex-shrink:0}
.bz-dh-trai svg{display:block;overflow:visible}
.bz-dh-so{margin-top:2px;font-size:46px;font-weight:700;letter-spacing:-.03em;line-height:1}
.bz-dh-phai{display:flex;flex-direction:column;gap:12px;flex-grow:1;min-width:0}
.bz-o{border:1px solid var(--duong-ke);border-radius:var(--bo-o);background:var(--o-phu);padding:14px 16px;
  display:flex;flex-direction:column;gap:6px}
.bz-o .t{font-size:12px;color:var(--chu-3)}
.bz-o .s{font-size:24px;font-weight:700}
.bz-o .p{font-size:11.5px;line-height:1.45;color:var(--chu-3)}
.bz-thanh-muc{display:flex;gap:3px;height:8px}
.bz-thanh-muc i{flex-basis:0;border-radius:4px;display:block}
.bz-thanh-muc .do{background:var(--do-cham)}.bz-thanh-muc .vang{background:var(--vang-cham)}
.bz-thanh-muc .td{background-image:var(--soc-chua-chin);border:1px dashed var(--td-vien)}
.bz-thanh-muc .khoe{background:var(--khoe-cham)}
.bz-o4{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bz-o4>div{border-radius:var(--bo-o);border:1px solid var(--duong-ke);padding:10px 12px;display:flex;align-items:center;
  justify-content:space-between;gap:6px}
.bz-o4>div b{font-size:22px;font-weight:700}
.bz-o4 .do{background:var(--do-o)}.bz-o4 .vang{background:var(--vang-o)}.bz-o4 .td{background:var(--o-phu)}.bz-o4 .khoe{background:var(--khoe-o)}
.bz-vong-hang{display:flex;justify-content:space-around;gap:10px;padding-top:6px}
.bz-vong{display:flex;flex-direction:column;align-items:center;gap:8px}
.bz-vong .v{position:relative;flex-shrink:0}
.bz-vong svg{display:block;transform:rotate(-90deg)}
.bz-vong .giua{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.bz-vong .giua b{font-size:17px;font-weight:700;line-height:1}
.bz-vong .giua small{font-size:10.5px;color:var(--chu-3)}
.bz-vong .nh{font-size:12px;font-weight:600;color:var(--chu-2);text-align:center}

/* ------------------------------------------------------------- Top ASIN */
.bz-top3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 22px 16px}
.bz-tc{border-radius:var(--bo-the-mau);padding:16px;display:flex;flex-direction:column;gap:9px;min-width:0;border:1px solid transparent}
.bz-tc.do{background:var(--do-o);border-color:#fde2df}
.bz-tc.vang{background:var(--vang-o);border-color:#fdecc8}
.bz-tc .hang{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--do-chu)}
.bz-tc .ten{font-size:14px;font-weight:700;line-height:1.3;color:var(--chu-1)!important;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bz-tc .ma{font-size:11.5px;color:var(--chu-3)}
.bz-tc .tl{font-size:24px;font-weight:700;letter-spacing:-.02em}
.bz-tc .thua{font-size:12px;color:var(--chu-2)}.bz-tc .thua b{font-size:16px;color:var(--chu-1)}
.bz-tc .hop{margin-top:auto;border-radius:10px;background:rgba(255,255,255,.8);padding:10px 12px;display:flex;
  justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;color:var(--chu-2);white-space:nowrap}
.bz-tc .hop a{font-weight:700;white-space:nowrap}
.bz-bang-dau,.bz-hang{display:grid;grid-template-columns:32px minmax(0,1fr) 64px 62px 150px 150px;gap:14px;align-items:center}
.bz-bang-dau{padding:0 22px 8px}
.bz-bang-dau span{font-size:11.5px;font-weight:600;color:var(--chu-3)}
.bz-hangs{display:flex;flex-direction:column;padding:0 22px}
.bz-hang{padding:15px 0;border-top:1px solid var(--duong-ke)}
.bz-hang .so{font-size:15px;font-weight:700;color:var(--chu-3)}
.bz-hang .ten{font-size:13.5px;font-weight:600;color:var(--chu-1)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.bz-hang .ma{font-size:11px;color:var(--chu-3)}
.bz-hang .tl{font-size:14px;font-weight:700;text-align:right}
.bz-hang .th{display:flex;align-items:center;gap:8px}
.bz-hang .th b{font-size:14px;font-weight:700;width:48px;flex-shrink:0}
.bz-hang .th div{flex-grow:1}
.bz-hang .thap{font-size:11.5px;color:var(--chu-3);white-space:nowrap}
.bz-hang .thap b{color:var(--chu-2)}
.r{text-align:right}

/* ------------------------------------------------------------- product group */
.bz-nhom{display:flex;flex-direction:column;gap:7px;padding:13px 22px;border-top:1px solid var(--duong-ke)}
.bz-nhom .d1{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.bz-nhom .d1 .tr{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;min-width:0}
.bz-nhom .d1 .tr b{font-size:14px;font-weight:700}
.bz-nhom .d1 .tr small{font-size:11.5px;color:var(--chu-3);white-space:nowrap}
.bz-nhom .d1 .ph{display:flex;align-items:baseline;gap:8px;flex-shrink:0}
.bz-nhom .d1 .ph .thua{font-size:12px;font-weight:700;color:var(--do-chu)}
.bz-nhom .d1 .ph .tl{font-size:15px;font-weight:700}
.bz-chips{display:flex;flex-wrap:wrap;gap:5px}
.bz-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;border:1px solid var(--duong-ke);
  background:#fff;font-size:11px;color:var(--chu-2)!important;white-space:nowrap;text-decoration:none!important}
.bz-chip i{width:7px;height:7px;border-radius:4px;display:inline-block;background:var(--td-vien)}
.bz-chip i.do{background:var(--do-cham)}.bz-chip i.vang{background:var(--vang-cham)}.bz-chip i.khoe{background:var(--khoe-cham)}
.bz-chip b{color:var(--chu-1)}
.bz-chip .tang{color:var(--do-chu);font-weight:700}
.bz-nhom .cc-chu{font-size:11.5px;color:var(--chu-3)}

/* ------------------------------------------------------------- cần chú ý */
.bz-cy{display:flex;gap:12px;padding:12px 22px;border-top:1px solid var(--duong-ke)}
.bz-cy .ic{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.bz-cy .ic.canh{background:var(--canh-nen)}.bz-cy .ic.do{background:var(--do-o)}.bz-cy .ic.ok{background:var(--khoe-o)}
.bz-cy .nd{display:flex;flex-direction:column;gap:2px;min-width:0;flex-grow:1}
.bz-cy .nd b{font-size:13.5px;font-weight:600}
.bz-cy .nd span{font-size:12px;color:var(--chu-3)}
.bz-cy .loai{font-size:11px;font-weight:600;color:var(--chu-3);white-space:nowrap}

/* ------------------------------------------------------------- biểu đồ tháng */
.bz-chu-giai-bd{display:flex;align-items:center;gap:18px;padding:0 22px;font-size:12.5px;color:var(--chu-2);flex-wrap:wrap}
.bz-chu-giai-bd span{display:inline-flex;align-items:center;gap:7px}
.bz-chu-giai-bd .l1{width:18px;height:3px;border-radius:2px;background:var(--bz-xanh)}
.bz-chu-giai-bd .l2{width:18px;border-top:2.5px dashed var(--td-vien)}
.bz-chu-giai-bd .l3{width:18px;border-top:1.5px dashed var(--nguong)}
.bz-bd{position:relative;height:340px;padding:16px 22px 0}
.bz-duoi-truc{display:grid;padding:4px 22px 0 58px}
.bz-duoi-truc div{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--chu-3)}
.bz-chon{height:36px;padding:0 12px;border:1px solid var(--o-nhap-vien);border-radius:var(--bo-nut);background:#fff;
  font-size:13px;font-weight:600;color:var(--chu-1)}

/* ------------------------------------------------------------- phòng ban */
.bz-pb{display:grid;grid-template-columns:32px minmax(0,1fr) 54px 64px;gap:12px;align-items:center;padding:10px 22px}
.bz-pb .ic{width:32px;height:32px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center}
.bz-pb .ten{display:flex;align-items:baseline;gap:6px;min-width:0}
.bz-pb .ten b{font-size:13.5px;font-weight:600;white-space:nowrap}
.bz-pb .ten small{font-size:11.5px;color:var(--chu-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-pb .bz-thanh{height:8px;border-radius:4px;background:var(--ray);margin-top:6px}
.bz-pb .bz-thanh i{display:block;height:8px;border-radius:4px}
.bz-pb .n{font-size:14px;font-weight:700;text-align:right}
.bz-pb .pc{font-size:12px;font-weight:600;color:var(--chu-3);text-align:right}
.bz-hop-net{margin:12px 22px 20px;padding:14px 16px;border-radius:var(--bo-o);background:var(--o-phu);border:1px dashed #d0d5dd;
  display:flex;flex-direction:column;gap:8px}
.bz-hop-net .d1{display:flex;align-items:center;justify-content:space-between}
.bz-hop-net .d1 b{font-size:13px;font-weight:700;color:var(--chu-nhan)}
.bz-hop-net .d1 span{font-size:15px;font-weight:700;color:var(--chu-nhan)}
.bz-hop-net p{margin:0;font-size:12px;line-height:1.5;color:var(--chu-2)}
.bz-hop-net a{font-size:12.5px;font-weight:700}

/* ------------------------------------------------------------- brand / khoẻ / khiếu nại */
.bz-br{display:grid;grid-template-columns:minmax(0,1fr) 64px 92px;gap:10px;align-items:center;padding:16px 22px;border-top:1px solid var(--duong-ke)}
.bz-br .ten{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.bz-br .ten b{font-size:14px;font-weight:700}
.bz-br .ten small{font-size:11px;color:var(--chu-3)}
.bz-br .tag{padding:1px 7px;border-radius:999px;background:#e0f2f1;color:#0f6a64;font-size:10.5px;font-weight:700;border:0}
.bz-br .th{position:relative;height:6px;border-radius:3px;background:var(--ray)}
.bz-br .th i{display:block;height:6px;border-radius:3px;background:var(--bz-xanh)}
.bz-br .th u{position:absolute;top:-3px;width:2px;height:12px;background:var(--nguong)}
.bz-br .tl{font-size:14px;font-weight:700;text-align:right}
.bz-hoi{margin:6px 22px 20px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px dashed #d0d5dd;border-radius:10px;
  font-size:12px;color:var(--chu-2)}
.bz-hoi .q{width:26px;height:26px;border-radius:13px;border:1.5px dashed var(--chu-3);display:inline-flex;align-items:center;
  justify-content:center;font-size:13px;font-weight:700;color:var(--chu-2);flex-shrink:0}
.bz-kh{display:flex;align-items:center;gap:12px;padding:11px 22px;border-top:1px solid var(--duong-ke)}
.bz-kh .ic{width:32px;height:32px;border-radius:16px;background:var(--khoe-nen);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.bz-kh .nd{display:flex;flex-direction:column;gap:1px;min-width:0;flex-grow:1}
.bz-kh .nd a{font-size:13.5px;font-weight:600;color:var(--chu-1)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-kh .nd span{font-size:11.5px;color:var(--chu-3)}
.bz-kh .ph{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.bz-kh .ph b{font-size:13px;font-weight:700;color:var(--khoe-chu)}
.bz-chu-nho{margin:0;padding:12px 22px 20px;font-size:11.5px;color:var(--chu-3);border-top:1px solid var(--duong-ke)}
.bz-loi{display:flex;flex-direction:column;gap:8px;padding:14px 22px 20px;border-top:1px solid var(--duong-ke)}
.bz-loi>span{font-size:12px;font-weight:600;color:var(--chu-3)}
.bz-loi .h{display:grid;grid-template-columns:minmax(0,1fr) 90px 26px;gap:10px;align-items:center}
.bz-loi .h span{font-size:12px;color:var(--chu-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-loi .h div{height:6px;border-radius:3px;background:var(--ray)}
.bz-loi .h div i{display:block;height:6px;border-radius:3px;background:var(--chu-3)}
.bz-loi .h b{font-size:12px;text-align:right}

/* ------------------------------------------------------------- màn nhỏ hơn 1280 */
@media (max-width:1279px){
  .bz-top{gap:12px;padding:0 20px}
  .bz-logo small{display:none}
  body.bz main{padding:18px 20px 36px}
  .bz-dh-trai{width:240px}
  .bz-dh-trai svg{width:232px;height:auto}
  .bz-dh-so{font-size:40px}
  .bz-bang-dau,.bz-hang{grid-template-columns:28px minmax(0,1fr) 60px 58px 130px 120px;gap:10px}
}
@media (max-width:1100px){
  .c3,.c4,.c6,.c8{grid-column:span 12}
  .bz-top3{grid-template-columns:1fr}
  .bz-nav{max-width:52vw}
}
@media (max-width:760px){
  :root{--le-trang:16px}
  .bz-top{height:auto;flex-wrap:wrap;padding:10px 16px;gap:8px}
  .bz-logo b{font-size:16px}.bz-logo img{width:32px;height:32px}
  .bz-nut-o{width:36px;height:36px}
  .bz-avatar .tron{width:36px;height:36px}
  .bz-avatar .bz-vai{display:none}
  .bz-nav{order:3;max-width:100%;width:100%}
  .bz-dh{flex-direction:column}
  .bz-bang-dau{display:none}
  .bz-hang{grid-template-columns:28px minmax(0,1fr) 70px}
  .bz-hang>:nth-child(n+4){grid-column:2 / -1}
}

/* ------------------------------------------------------------- lớp cũ: đổi màu theo token */
body.bz .tag.do{background:var(--do-nen);border-color:#fecdca;color:var(--do-chu)}
body.bz .tag.vang{background:var(--vang-nen);border-color:#fde68a;color:var(--vang-chu)}
body.bz .tag.theodoi{background:var(--td-nen);border:1px dashed var(--td-vien);color:var(--td-chu)}
body.bz .khoi,body.bz .the .o,body.bz .loc{border-color:var(--the-vien);border-radius:12px}
body.bz th{background:var(--o-phu)}

/* ===== V2 GHEP (sinh tu bz_v2.css) ===== */
/* =========================================================================
   V2 — thành phần cho Theo sản phẩm · Chi tiết ASIN · Nạp dữ liệu · Báo cáo tuần
   (gói Return_Intelligence_BanChot_V2, áp 01/10/2026). Token ở khối "MỚI V2" trên.
   ========================================================================= */
/* thanh cơ cấu rỗng: viền nét đứt, không màu */
.bz-cc i.rong{flex-grow:1;background:transparent;border:1px dashed var(--td-vien);box-sizing:border-box;border-radius:3px}

/* ---- đầu trang + toggle chế độ ---- */
.bz-dau-trang{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.bz-dau-trang h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em;color:var(--chu-1)}
.bz-dau-trang p{margin:4px 0 0;font-size:13.5px;color:var(--chu-3)}
.bz-seg{display:flex;gap:2px;padding:4px;border-radius:var(--bo-nut);background:var(--tab-nhom-nen)}
.bz-seg a{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:8px;font-size:13.5px;
  font-weight:500;color:var(--chu-2)!important;text-decoration:none!important;white-space:nowrap}
.bz-seg a.on{background:var(--tab-active-nen);color:var(--chu-1)!important;font-weight:600;box-shadow:var(--tab-active-bong)}

/* ---- chip mức (đếm) ---- */
.bz-mhang{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bz-mchips{display:flex;gap:8px;flex-wrap:wrap}
.bz-mchip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--o-nhap-vien);
  background:#fff;font-size:12.5px;font-weight:700;color:var(--chu-1)!important;text-decoration:none!important;white-space:nowrap}
.bz-mchip i{width:7px;height:7px;border-radius:4px;display:inline-block}
.bz-mchip span{font-weight:600;color:var(--chu-2)}
.bz-mchip.on{background:var(--bz-tham);border-color:var(--bz-tham);color:#fff!important}
.bz-mchip.on span{color:#fff}
.bz-mchip:hover:not(.on){background:var(--o-phu)}
.bz-mdem{font-size:13px;color:var(--chu-2)}
.bz-mdem b{color:var(--chu-1)}

/* ---- tag Master Data / brand chưa gán ---- */
.bz-md-thieu{display:inline-flex;align-items:center;padding:0 6px;border-radius:999px;border:1px dashed var(--md-thieu-vien);
  color:var(--md-thieu-chu);font-size:10.5px;font-weight:700;line-height:16px;white-space:nowrap}
.bz-md-co{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--md-co-nen);
  color:var(--md-co-chu);font-size:11.5px;font-weight:600;white-space:nowrap}
.bz-chua-gan{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--chu-2);white-space:nowrap}
.bz-chua-gan i{width:15px;height:15px;border-radius:8px;border:1px dashed var(--td-vien);display:inline-flex;align-items:center;
  justify-content:center;font-style:normal;font-size:10px;font-weight:700;color:var(--chu-3)}

/* ---- bảng Theo sản phẩm (grid) ---- */
.tsp{--cot:34px minmax(0,2.1fr) 84px minmax(0,1.15fr) 66px 60px 66px 80px 84px minmax(0,1.3fr) 128px 80px}
.tsp .h,.tsp .l,.tsp .d{display:grid;grid-template-columns:var(--cot);column-gap:10px;align-items:center;padding:0 22px}
.tsp .h{padding-top:10px;padding-bottom:8px;background:var(--o-phu);border-top:1px solid var(--duong-ke)}
.tsp .h>*{display:block;line-height:1.25;font-size:11.5px;font-weight:600;color:var(--chu-3)!important;text-decoration:none!important}
.tsp .h a:hover{color:var(--chu-1)!important}
.tsp .h .sap{color:var(--cot-sap-chu)!important;font-weight:700}
.tsp .h .mt{color:var(--cot-sap-mui-ten-nhat)}
.tsp .h .sap .mt{color:var(--cot-sap-chu)}
.tsp .r{text-align:right}
.tsp .l{padding-bottom:10px;background:var(--o-phu)}
.tsp .l input,.tsp .l select{width:100%;box-sizing:border-box;height:30px;padding:0 6px;border:1px solid var(--o-nhap-vien);
  border-radius:8px;background:#fff;font-size:12px;color:var(--chu-1);min-width:0}
.tsp .l input.r{text-align:right}
.tsp .l .dang{border-color:#b2ccff;background:#f5f8ff;font-weight:600}
.tsp .d{min-height:46px;border-top:1px solid var(--duong-ke)}
.tsp .d:hover{background:var(--o-phu)}
.tsp .hg{font-size:12.5px;font-weight:700;color:var(--chu-1)}
.tsp .ten{display:flex;flex-direction:column;gap:1px;min-width:0}
.tsp .ten a{font-size:13px;font-weight:600;color:var(--chu-1)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tsp .ten .ma{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--chu-3);min-width:0}
.tsp .br{display:flex;flex-direction:column;gap:1px;min-width:0}
.tsp .br b{font-size:12.5px;font-weight:700}
.tsp .br small{font-size:11px;color:var(--chu-3)}
.tsp .ng{font-size:12.5px;line-height:1.3;color:var(--chu-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.tsp .ng.khong{font-style:italic;color:var(--chu-3)}
.tsp .so{font-size:13px;text-align:right}
.tsp .tl{font-size:13.5px;font-weight:700;text-align:right}
.tsp .tt{font-size:13.5px;font-weight:700;text-align:right;color:var(--chu-1)}
.tsp .tt.am{font-weight:500;color:var(--chu-3)}
.tsp .nh{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--chu-1);min-width:0;max-width:100%}
.tsp .nh i{width:8px;height:8px;border-radius:2px;flex-shrink:0}
.tsp .nh span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tsp .thap{font-size:12px;color:var(--chu-2);text-align:right}
.tsp .gach{color:var(--chu-3)}
/* chế độ nhóm */
.tsp.nhom{--cot:30px minmax(0,1.7fr) 56px minmax(0,1fr) 66px 60px 68px 84px 150px 140px 80px}
.tsp.nhom .d{min-height:48px}
.tsp.nhom .d.mo{background:#f5f8ff}
.tsp .bung{width:26px;height:26px;border:1px solid var(--o-nhap-vien);border-radius:6px;background:#fff;display:inline-flex;
  align-items:center;justify-content:center;cursor:pointer;padding:0}
.tsp .bung svg{transition:transform .15s;transform:rotate(-90deg)}
.tsp .bung[aria-expanded="true"] svg{transform:none}
.tsp .tn{display:flex;align-items:center;gap:8px;min-width:0}
.tsp .tn small{font-size:12px;font-weight:600;color:var(--chu-3)}
.tsp .tn b{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tsp .con{display:none}
.tsp .con.mo{display:grid}
.tsp .con{min-height:40px;border-top:1px solid var(--duong-ke);background:#fff}
.tsp .con .ten{padding-left:20px;border-left:2px solid var(--o-nhap-vien);margin-left:0}
.tsp .con .ten a{font-size:12.5px}
.tsp .dm{display:flex;flex-wrap:wrap;gap:8px}
.tsp .dm span{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--chu-2)}
.tsp .dm i{width:8px;height:8px;border-radius:4px}
.tsp .bt{font-size:12px;color:var(--chu-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- chip lọc đang bật ---- */
.bz-loc-dang{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 22px 12px}
.bz-loc-dang a.c{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;background:var(--tin-nen);
  color:var(--tin-chu)!important;font-size:12px;font-weight:600;text-decoration:none!important}
.bz-loc-dang a.x{font-size:12px;font-weight:600;color:var(--chu-2)!important}

/* ---- phân trang ---- */
.bz-pt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;border-top:1px solid var(--duong-ke);
  background:var(--o-phu);flex-wrap:wrap}
.bz-pt>span{font-size:12.5px;color:var(--chu-2)}
.bz-pt nav{display:flex;align-items:center;gap:6px}
.bz-pt nav a,.bz-pt nav span{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;
  font-size:13px;font-weight:600;text-decoration:none!important;color:var(--chu-2)!important;border:1px solid var(--o-nhap-vien);background:#fff;box-sizing:border-box}
.bz-pt nav a[aria-current]{background:var(--bz-tham);border-color:var(--bz-tham);color:#fff!important}
.bz-pt nav span.tat{opacity:.45}
.bz-pt nav span.ba{border:0;background:transparent;min-width:18px}

/* ---- empty state ---- */
.bz-trong{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:36px 22px 40px}
.bz-trong .ic{width:44px;height:44px;border-radius:22px;background:var(--ray);display:inline-flex;align-items:center;justify-content:center;color:var(--chu-3)}
.bz-trong b{font-size:15px;color:var(--chu-1)}
.bz-trong p{margin:0;font-size:13px;color:var(--chu-3);max-width:520px}
.bz-trong .bz-nut{margin-top:6px}
.bz-trong.nho{padding:22px 16px 24px}
.bz-trong.nho .ic{width:36px;height:36px}
.bz-trong.nho b{font-size:13.5px}

/* ---- bảng nhiệt tháng × nhãn ---- */
.hm{display:flex;flex-direction:column;gap:4px;padding:0 22px 8px;overflow-x:auto}
.hm .g{display:grid;grid-template-columns:230px repeat(var(--n),minmax(46px,1fr)) 70px;gap:4px;align-items:center;min-width:0}
.hm .g.dau{align-items:end;padding-bottom:4px}
.hm .g.dau span{text-align:center;font-size:12.5px;font-weight:700;color:var(--chu-1)}
.hm .g.dau span.chua{color:var(--chu-3)}
.hm .g.dau span.tg{text-align:right;font-size:11.5px;font-weight:600;color:var(--chu-3)}
.hm .nl{display:flex;align-items:center;gap:8px;min-width:0}
.hm .nl i{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.hm .nl b{display:block;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm .nl small{display:block;font-size:10.5px;color:var(--chu-3)}
.hm .o{height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:12.5px;font-weight:600;color:var(--chu-1)}
.hm .o.w{color:#fff;font-weight:700}
.hm .o.cc{background-image:var(--hm-chua-chin-soc);font-style:italic}
.hm .tg{text-align:right;font-size:13px;font-weight:700}
.hm .g.cuoi{border-top:1px solid var(--duong-ke);padding-top:8px;margin-top:4px}
.hm .g.cuoi span{text-align:center;font-size:13px;font-weight:700}
.hm .g.cuoi span.chua{color:var(--chu-3);font-weight:600}
.hm .g.cuoi span.tg{text-align:right}
.hm-ghi{padding:6px 22px 18px;font-size:11.5px;color:var(--chu-3)}

@media (max-width:1279px){
  .tsp{--cot:30px minmax(0,2fr) 78px minmax(0,1fr) 56px 52px 62px 64px 80px minmax(0,1.2fr) 104px 66px}
  .tsp .h,.tsp .l,.tsp .d{column-gap:8px;padding:0 18px}
  .tsp .h{padding-top:10px;padding-bottom:8px}
  .tsp .l{padding-bottom:10px}
  .tsp.nhom{--cot:28px minmax(0,1.5fr) 50px minmax(0,1fr) 60px 54px 62px 72px 120px 110px 66px}
  .hm .g{grid-template-columns:190px repeat(var(--n),minmax(40px,1fr)) 60px}
}
.bz-chin-chip{font-size:12px;font-weight:700;color:var(--khoe-chu);white-space:nowrap}
.bz-pv-hang{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
.bz-cg-ngang{display:inline-flex;gap:10px;font-size:11.5px;flex-wrap:wrap;vertical-align:middle}
.bz-cg-ngang span{display:inline-flex;align-items:center;gap:5px}
.bz-cg-ngang i{width:9px;height:9px;border-radius:3px;display:inline-block}

/* ======================= Chi tiết ASIN ======================= */
.c5{grid-column:span 5}.c7{grid-column:span 7}
.ct-dau{padding:20px 22px 18px;display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:16px}
.ct-dau .lui{font-size:12.5px;font-weight:600;text-decoration:none!important}
.ct-dau h1{margin:6px 0 2px;font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.3}
.ct-dau .en{font-size:13px;color:var(--chu-3);margin:0 0 10px}
.ct-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ct-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:8px;background:var(--ray);font-size:12px;color:var(--chu-3);white-space:nowrap}
.ct-chip b{color:var(--chu-1);font-weight:700}
.ct-ghi{margin:10px 0 0;font-size:12.5px;color:var(--chu-2);white-space:pre-line}
.ct-ghi code{font-size:11.5px;background:var(--ray);padding:0 4px;border-radius:4px}
.ct-phai{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;text-align:right}
.ct-phai small{font-size:12px;color:var(--chu-3)}
.ct-kpi{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.ct-k{background:#fff;border:1px solid var(--the-vien);border-radius:14px;box-shadow:var(--bong-the);padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.ct-k .t{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12.5px;font-weight:600;color:var(--chu-nhan)}
.ct-k .t span{padding:1px 8px;border-radius:999px;background:var(--ray);font-size:11px;font-weight:600;color:var(--chu-2)}
.ct-k .v{font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.ct-k small{font-size:11.5px;color:var(--chu-3);line-height:1.35}
.ct-bd{position:relative;height:260px;padding:0 18px 8px}
.ct-cg{display:flex;gap:14px;flex-wrap:wrap;padding:0 22px 6px;font-size:11.5px;color:var(--chu-2)}
.ct-cg span{display:inline-flex;align-items:center;gap:6px}
.ct-cg i{display:inline-block;width:16px;height:0;border-top:2px solid var(--bz-xanh)}
.ct-cg i.dut{border-top:2px dashed var(--td-vien)}
.ct-cg i.nho{width:10px;height:10px;border:1.5px dashed var(--bz-xanh);border-radius:5px}
/* thanh ngang nhãn / lý do */
.ct-th{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) 40px;gap:12px;align-items:center;padding:4px 0}
.ct-th .n b{display:block;font-size:12.5px;font-weight:600;line-height:1.3}
.ct-th .n small{display:block;font-size:10.5px;color:var(--chu-3)}
.ct-th .th{height:8px;border-radius:4px;background:var(--ray)}
.ct-th .th i{display:block;height:8px;border-radius:4px}
.ct-th>span{font-size:13px;font-weight:700;text-align:right}
.ct-cc{padding:0 22px 18px;display:flex;flex-direction:column;gap:10px}
.ct-cc .dn{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:700;color:var(--chu-nhan)}
.ct-cc .dn span{font-size:14px}
.ct-thap{border:1px dashed #d0d5dd;border-radius:var(--bo-o);padding:12px 14px;
  background:repeating-linear-gradient(135deg,#fff 0 8px,#fafbfd 8px 16px)}
.ct-thap .th i{opacity:.55}
.ct-loi-cfg{color:var(--canh-chu);font-size:10.5px;font-weight:600}
.ct-ld{padding:0 22px 18px}
.ct-ld .ct-th{grid-template-columns:minmax(0,150px) minmax(0,1fr) 40px}
.ct-ma{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:600;color:var(--chu-2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}
.ct-them{font-size:12px;color:var(--chu-3);margin-top:4px}
/* bảng nhỏ trong thẻ (VOC, khiếu nại) */
.ct-bang{width:100%;border-collapse:collapse;font-size:12.5px}
.ct-bang th{position:static;background:var(--o-phu);font-size:11px;font-weight:600;color:var(--chu-3);text-transform:none;letter-spacing:0;
  padding:8px 10px;border-top:1px solid var(--duong-ke);border-bottom:1px solid var(--duong-ke);text-align:left;white-space:normal}
.ct-bang td{padding:10px;border-bottom:1px solid var(--duong-ke);vertical-align:middle}
.ct-bang th:first-child,.ct-bang td:first-child{padding-left:22px}
.ct-bang th:last-child,.ct-bang td:last-child{padding-right:22px}
.ct-bl-ds{max-height:760px;overflow-y:auto;border-top:1px solid var(--duong-ke)}
.ct-bl-ds .ct-bl:first-child{border-top:0}
.ct-bang tr:last-child td{border-bottom:0}
.ct-bang .r{text-align:right}
.ct-bang tbody tr:hover{background:transparent}
.bz-pl{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;line-height:16px}
.bz-pl.poor{background:var(--cx-poor-nen);color:var(--cx-poor-chu)}.bz-pl.fair{background:var(--cx-fair-nen);color:var(--cx-fair-chu)}
.bz-pl.good{background:var(--cx-good-nen);color:var(--cx-good-chu)}
.bz-pl.kn-moi{background:var(--kn-moi-nen);color:var(--kn-moi-chu)}.bz-pl.kn-dang{background:var(--kn-dang-nen);color:var(--kn-dang-chu)}
.bz-pl.kn-xong{background:var(--kn-xong-nen);color:var(--kn-xong-chu)}
.bz-pl.cao{background:var(--tin-nen);color:var(--tin-chu)}
.bz-pl.tb{background:#fff;color:var(--tin-chu);border:1px solid #b2ccff;padding:1px 7px}
.bz-pl.thap{background:var(--ray);color:var(--chu-2)}
/* lời khách */
.ct-bl-loc{display:flex;gap:8px;flex-wrap:wrap;padding:0 22px 12px}
.ct-bl-loc .bz-f{height:38px}
.ct-bl-loc .bz-f select{width:84px}
.ct-bl-loc .bz-f.tk{flex:1 1 180px;padding:0 12px}
.ct-bl-loc .bz-f.tk input{border:0;outline:0;width:100%;font-size:13px;background:transparent}
.ct-bl-loc button{height:38px;border:0;border-radius:var(--bo-nut);background:var(--nut-chinh-nen);color:#fff;padding:0 16px;font-weight:700;font-size:13px;cursor:pointer}
.ct-bl{display:grid;grid-template-columns:44px minmax(0,130px) minmax(0,1fr) 150px;gap:10px;align-items:start;padding:10px 22px;border-top:1px solid var(--duong-ke)}
.ct-bl .ng{font-size:12px;color:var(--chu-3)}
.ct-bl .lk{font-size:13px;color:var(--chu-1);border-left:2px solid var(--o-nhap-vien);padding-left:10px;word-break:break-word}
.ct-bl .nh{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:12px}
.ct-bl .nh span.t{display:inline-flex;align-items:center;gap:6px}
.ct-bl .nh span.t i{width:8px;height:8px;border-radius:2px}
/* review */
.ct-rv-dau{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:center;padding:0 22px 14px}
.ct-rv-dau .tb{text-align:center}
.ct-rv-dau .tb b{display:block;font-size:34px;font-weight:700;line-height:1.1}
.ct-rv-dau .tb small{font-size:11.5px;color:var(--chu-3)}
.ct-sao{display:grid;grid-template-columns:26px minmax(0,1fr) 30px;gap:8px;align-items:center;font-size:11.5px;font-weight:600;padding:1px 0}
.ct-sao .th{height:6px;border-radius:3px;background:var(--ray)}
.ct-sao .th i{display:block;height:6px;border-radius:3px}
.ct-sao>span:last-child{text-align:right}
.ct-rv{padding:10px 22px;border-top:1px solid var(--duong-ke);display:flex;flex-direction:column;gap:4px}
.ct-rv .d1{display:flex;align-items:center;gap:8px}
.ct-rv .d1 b{font-size:13px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-rv .d1 small{font-size:11.5px;color:var(--chu-3)}
.ct-rv p{margin:0;font-size:12.5px;color:var(--chu-2);word-break:break-word}
.ct-rv .anh{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.ct-rv .anh img{width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--duong-ke)}
.ct-sao-chip{display:inline-flex;align-items:center;padding:1px 6px;border-radius:6px;font-size:11px;font-weight:700;color:#fff}
/* khiếu nại */
.ct-anh{display:flex;gap:4px;align-items:center}
.ct-anh a,.ct-anh span.o{width:28px;height:28px;border-radius:6px;border:1px solid var(--o-nhap-vien);background:var(--o-phu);
  display:inline-flex;align-items:center;justify-content:center;overflow:hidden}
.ct-anh img{width:100%;height:100%;object-fit:cover}
.ct-anh small{font-size:11.5px;color:var(--chu-3)}
@media (max-width:1279px){
  .ct-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ct-bl{grid-template-columns:40px minmax(0,110px) minmax(0,1fr) 130px}
}
@media (max-width:1100px){.c5,.c7{grid-column:span 12}}
@media (max-width:760px){.ct-kpi{grid-template-columns:1fr 1fr}.ct-dau{flex-direction:column}.ct-phai{align-items:flex-start;text-align:left}
  .ct-bl{grid-template-columns:40px minmax(0,1fr)}.ct-bl .lk,.ct-bl .nh{grid-column:1/-1}}

/* ======================= Nạp dữ liệu ======================= */
.nap-ban{align-items:center}
.nap-ban span{flex:1;min-width:0}
.nap-luoi{padding:0 22px 6px;overflow-x:auto;display:flex;flex-direction:column;gap:4px}
.nap-luoi .g{display:grid;grid-template-columns:92px repeat(var(--n),minmax(42px,1fr)) minmax(300px,2.4fr);gap:5px;align-items:center;
  border-radius:10px;padding:6px}
.nap-luoi .g.dau{padding-top:0;padding-bottom:0}
.nap-luoi .g.dau span{text-align:center;line-height:1.2}
.nap-luoi .g.dau b{display:block;font-size:12.5px}
.nap-luoi .g.dau small{display:block;font-size:10.5px;color:var(--chu-3)}
.nap-luoi .g.dau .tt{text-align:left;font-size:11.5px;font-weight:600;color:var(--chu-3)}
.nap-luoi .g.canh{background:var(--dong-canh-nen)}
.nap-luoi .ten b{display:block;font-size:12.5px}
.nap-luoi .ten small{display:block;font-size:11px;color:var(--chu-3)}
.nap-luoi .o,.nap-cg i.o{height:34px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:2px;font-size:12.5px;
  font-weight:600;box-sizing:border-box;cursor:default}
.o.ok{background:var(--o-ok-nen);color:var(--o-ok-chu)}
.o.thap{background:var(--o-thap-nen);color:var(--o-thap-chu);font-weight:700}
.o.trong{background:var(--o-trong-nen);color:var(--o-trong-chu);border:1px solid var(--o-trong-vien);font-weight:700}
.o.mot_phan{background:var(--o-mot-phan-soc);color:var(--o-mot-phan-chu);border:1px dashed var(--o-mot-phan-vien)}
.o.chua_tai{background:var(--o-chua-tai-nen);color:var(--o-chua-tai-chu);border:1px dashed var(--o-chua-tai-vien)}
.o.dang{background:var(--o-dang-soc);color:var(--o-dang-chu);font-style:italic}
.nap-luoi .o i{font-style:normal;font-size:10px;color:var(--do-chu)}
.nap-luoi .tt{display:flex;flex-direction:column;gap:1px;font-size:11.5px;color:var(--chu-2);line-height:1.35}
.nap-luoi .tt .do,.nap-nk .do{color:var(--do-chu);font-weight:600}
.nap-cg{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:10px 22px 16px;font-size:11.5px;color:var(--chu-2);border-top:1px solid var(--duong-ke);margin-top:6px}
.nap-cg span{display:inline-flex;align-items:center;gap:6px}
.nap-cg i.o{width:26px;height:16px;border-radius:4px;display:inline-block}
.nap-chay{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border:0;border-radius:var(--bo-nut);
  background:var(--nut-chinh-nen);color:#fff;font-size:13.5px;font-weight:700;cursor:pointer;flex-shrink:0}
.nap-chay:disabled{background:var(--nut-tat-nen);color:var(--nut-tat-chu);cursor:not-allowed}
.nap-chon{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:0 22px 12px}
.nap-log{margin:0 22px 8px;background:var(--log-nen);color:var(--log-chu);border-radius:12px;padding:12px 14px;
  font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;max-height:260px;min-height:96px;overflow:auto;word-break:break-all}
.nap-log span{white-space:pre-wrap}
.nap-log span{display:block}
.nap-log .phu{color:var(--log-phu)}.nap-log .ok{color:var(--log-ok)}.nap-log .canh{color:var(--log-canh)}
.nap-imp{margin:0;padding:0 22px 16px;font-size:11.5px;color:var(--chu-3)}
.nap-imp code{font-size:11px;background:var(--ray);padding:1px 5px;border-radius:4px}
.nap-nk tr.canh td{background:var(--dong-canh-nen)}

/* ======================= Báo cáo tuần ======================= */
.bct-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bct-tt{border-radius:12px;padding:10px 14px;border:1px dashed var(--o-nhap-vien);opacity:.55;background:#fff}
.bct-tt b{display:block;font-size:12.5px;font-weight:700}
.bct-tt small{display:block;font-size:11.5px;color:var(--chu-2)}
.bct-tt.on{opacity:1;border-style:solid;border-width:2px}
.bct-tt.DAT b{color:var(--bc-dat-chu)}.bct-tt.DAT.on{background:var(--bc-dat-nen);border-color:var(--bc-dat-chu)}
.bct-tt.CHO_XAC_NHAN b{color:var(--bc-cho-chu)}.bct-tt.CHO_XAC_NHAN.on{background:var(--bc-cho-nen);border-color:var(--bc-cho-chu)}
.bct-tt.CHUA_DU b{color:var(--bc-chua-du-chu)}.bct-tt.CHUA_DU.on{background:var(--bc-chua-du-nen);border-color:var(--bc-chua-du-chu)}
.bz-pl.dk-chan{background:var(--dk-chan-nen);color:var(--dk-chan-chu)}.bz-pl.dk-giu{background:var(--dk-giu-nen);color:var(--dk-giu-chu)}
.bz-pl.dk-ghi_chu{background:var(--dk-ghi-chu-nen);color:var(--dk-ghi-chu-chu)}
.bz-pl.dat{background:var(--bc-dat-nen);color:var(--bc-dat-chu)}.bz-pl.truot{background:var(--bc-chua-du-nen);color:var(--bc-chua-du-chu)}
.bz-pl.truot.giu{background:var(--bc-cho-nen);color:var(--bc-cho-chu)}
.tg-khung{margin:0 22px 22px;border-radius:14px;padding:18px 18px 18px 64px;background-color:var(--tg-nen);
  background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1px);background-size:14px 14px;position:relative;min-height:120px}
.tg-bb{background:var(--tg-bong-bong);border-radius:var(--tg-bo);box-shadow:var(--tg-bong);padding:10px 14px 12px;max-width:380px;
  font-size:13.5px;line-height:1.5;color:var(--tg-chu);word-break:break-word}
.tg-bb .bot{display:block;font-size:12.5px;font-weight:700;color:var(--tg-ten-bot);margin-bottom:2px}
.tg-bb a{color:var(--tg-link)!important}
.tg-av{position:absolute;left:18px;bottom:18px;width:36px;height:36px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--tg-bong)}
.tg-av img{width:24px;height:24px;object-fit:contain}
.bct-gui{padding:0 22px 20px;display:flex;flex-direction:column;gap:12px}
.bct-gui .nhan{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--chu-3);text-transform:uppercase}
.bct-hop{border-radius:12px;padding:12px 14px;font-size:12.5px;line-height:1.5;display:flex;gap:8px;align-items:flex-start}
.bct-hop.loi{background:#fef3f2;border:1px solid #fecdca;color:var(--do-chu)}
.bct-hop.ok{background:var(--bc-dat-nen);border:1px solid #abefc6;color:var(--bc-dat-chu)}
.bct-hop.cho{background:var(--bc-cho-nen);border:1px solid var(--canh-vien);color:var(--bc-cho-chu)}
.bct-hop code{font-size:11.5px}
.bct-nut{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.bct-nut button{height:38px;padding:0 16px;border-radius:var(--bo-nut);font-size:13px;font-weight:700;cursor:pointer;border:1px solid var(--nut-phu-vien);background:#fff;color:var(--chu-1)}
.bct-nut button.chinh{background:var(--nut-chinh-nen);border-color:var(--nut-chinh-nen);color:#fff}
.bct-nut button:disabled{background:var(--nut-tat-nen);border-color:var(--nut-tat-nen);color:var(--nut-tat-chu);cursor:not-allowed}
.bct-nut small{font-size:12px;color:var(--chu-3)}
.bct-cot{padding:0 22px 6px}
.bct-cot svg{display:block;width:100%;height:auto}
.bct-cot-chan{display:flex;gap:18px;flex-wrap:wrap;padding:10px 22px 18px;border-top:1px solid var(--duong-ke);font-size:12.5px;color:var(--chu-2)}
.bct-cot-chan b{color:var(--chu-1)}
.bct-tb{padding:10px 14px;border-radius:12px;font-size:13px}
.bct-tb.ok{background:var(--bc-dat-nen);color:var(--bc-dat-chu);border:1px solid #abefc6}
.bct-tb.loi{background:#fef3f2;color:var(--do-chu);border:1px solid #fecdca}
@media (max-width:1279px){.nap-luoi .g{grid-template-columns:84px repeat(var(--n),minmax(38px,1fr)) minmax(250px,2fr)}}
@media (max-width:1100px){.bct-3{grid-template-columns:1fr}}

/* ======================= Popup xem ảnh review ======================= */
.ct-rv .anh a{display:block;border-radius:6px;cursor:zoom-in}
.ct-rv .anh a:focus-visible{outline:2px solid var(--bz-xanh);outline-offset:2px}
.ct-rv .anh a.them{width:56px;height:56px;border:1px solid var(--duong-ke);background:var(--o-phu);display:inline-flex;align-items:center;
  justify-content:center;font-size:12px;font-weight:700;color:var(--chu-2)!important;text-decoration:none!important}
.lb-mo-tat{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--o-nhap-vien);
  background:#fff;font-size:11.5px;font-weight:700;color:var(--chu-1);cursor:pointer;white-space:nowrap}
.lb-mo-tat:hover{background:var(--o-phu)}
dialog.lb{width:min(1100px,calc(100vw - 32px));max-width:none;height:min(860px,calc(100vh - 32px));max-height:none;padding:0;border:0;
  border-radius:16px;background:#0b1220;color:#e2e8f0;box-shadow:0 24px 64px rgba(0,0,0,.45);overflow:hidden}
dialog.lb[open]{display:flex;flex-direction:column}
dialog.lb::backdrop{background:rgba(8,12,20,.78)}
.lb-dau{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.lb-tt{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.lb-tt b{font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.lb-tt small{font-size:12px;color:#98a2b3;white-space:nowrap}
.lb-dem{font-size:12.5px;font-weight:700;color:#e2e8f0;white-space:nowrap}
.lb-goc{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;border-radius:8px;color:#cbd5e1!important;
  font-size:12px;font-weight:600;text-decoration:none!important;border:1px solid rgba(255,255,255,.14)}
.lb-goc:hover{background:rgba(255,255,255,.08)}
.lb-x{width:36px;height:36px;border-radius:10px;border:0;background:rgba(255,255,255,.08);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.lb-x:hover{background:rgba(255,255,255,.16)}
.lb-khung{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;padding:12px 64px}
.lb-khung img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;display:block;user-select:none;touch-action:pan-y}
.lb-mui{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:22px;border:0;background:rgba(255,255,255,.12);
  color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.lb-mui:hover{background:rgba(255,255,255,.24)}
.lb-mui:focus-visible,.lb-x:focus-visible,.lb-dai button:focus-visible{outline:2px solid var(--bz-luc);outline-offset:2px}
.lb-mui.trai{left:12px}.lb-mui.phai{right:12px}
.lb-dai{display:flex;gap:6px;padding:10px 14px 14px;overflow-x:auto;border-top:1px solid rgba(255,255,255,.08);scrollbar-width:thin}
.lb-dai button{flex:0 0 auto;width:60px;height:60px;padding:0;border-radius:8px;border:2px solid transparent;background:#1e293b;cursor:pointer;overflow:hidden;opacity:.55}
.lb-dai button.on{border-color:var(--bz-luc);opacity:1}
.lb-dai button:hover{opacity:1}
.lb-dai img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:760px){
  dialog.lb{width:100vw;height:100dvh;border-radius:0}
  .lb-khung{padding:8px}
  .lb-mui{width:38px;height:38px;background:rgba(0,0,0,.45)}
  .lb-mui.trai{left:6px}.lb-mui.phai{right:6px}
  .lb-goc span,.lb-tt small{display:none}
  .lb-dai button{width:52px;height:52px}
}
