/* HỆ GIAO DIỆN CHUNG (bản 1.16.0, anh Việt giao 27/10/2026) — nạp SAU chung.css và excel.css nên đè lên kiểu cũ.
   Nền xám rất nhạt trung tính, thẻ trắng bo 12px viền 1px bóng rất nhẹ, khoảng cách bội số 8px. Màu đỏ cờ (--chon, --dau2) CHỈ cho thanh trên cùng,
   nút chính và mục đang chọn ở thanh bên. Màu tình trạng thống nhất, luôn đi kèm chữ. Phông Be Vietnam Pro có sẵn trong phần mềm (Segoe UI dự phòng). */
:root{
  --nen:#F4F5F7;--the:#FFFFFF;--chu:#1F2937;--mo:#6B7280;--vien:#E3E6EA;--vien-nhat:#EDEFF2;--nen-phu:#F8F9FA;--hover:#F3F5F8;
  --bong:0 1px 2px rgba(16,24,40,.05);--bo:12px;--k1:8px;--k2:16px;--k3:24px;--k4:32px;
  /* màu tình trạng: Vượt, Đạt xanh lá; Đang thực hiện xanh dương; Chậm đỏ; Chưa có số xám; Chỉ theo dõi xám nhạt */
  --tt-dat:#16803C;--tt-dat-nhat:#E7F5EC;--tt-dat-vien:#BFE3CB;
  --tt-dang:#2563EB;--tt-dang-nhat:#EAF1FE;--tt-dang-vien:#C3D5FB;
  --tt-cham:#C62828;--tt-cham-nhat:#FDECEC;--tt-cham-vien:#F4C7C7;
  --tt-chua:#6B7280;--tt-chua-nhat:#EEF0F3;--tt-chua-vien:#D6DAE0;
  --tt-td:#9CA3AF;--tt-td-nhat:#F5F6F8;--tt-td-vien:#E3E6EA;
  --xanh:var(--tt-dat);--xanh-nhat:var(--tt-dat-nhat);--xanh-chu:#0F6A31;--xanh-vien:var(--tt-dat-vien);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="sang"]){
  --nen:#121418;--the:#1B1E24;--chu:#E8E9EC;--mo:#A0A6B1;--vien:#2C3038;--vien-nhat:#262A31;--nen-phu:#20232A;--hover:#242830;--bong:0 1px 2px rgba(0,0,0,.4);
  --tt-dat:#4ADE80;--tt-dat-nhat:#13301E;--tt-dat-vien:#1F4D30;--tt-dang:#7AA7FF;--tt-dang-nhat:#14233F;--tt-dang-vien:#233A66;
  --tt-cham:#F87171;--tt-cham-nhat:#3A1A1A;--tt-cham-vien:#5C2626;--tt-chua:#A0A6B1;--tt-chua-nhat:#262A31;--tt-chua-vien:#353A43;
  --tt-td:#7C8290;--tt-td-nhat:#1F2228;--tt-td-vien:#2C3038;--xanh-chu:#86EFAC}}
:root[data-theme="toi"]{
  --nen:#121418;--the:#1B1E24;--chu:#E8E9EC;--mo:#A0A6B1;--vien:#2C3038;--vien-nhat:#262A31;--nen-phu:#20232A;--hover:#242830;--bong:0 1px 2px rgba(0,0,0,.4);
  --tt-dat:#4ADE80;--tt-dat-nhat:#13301E;--tt-dat-vien:#1F4D30;--tt-dang:#7AA7FF;--tt-dang-nhat:#14233F;--tt-dang-vien:#233A66;
  --tt-cham:#F87171;--tt-cham-nhat:#3A1A1A;--tt-cham-vien:#5C2626;--tt-chua:#A0A6B1;--tt-chua-nhat:#262A31;--tt-chua-vien:#353A43;
  --tt-td:#7C8290;--tt-td-nhat:#1F2228;--tt-td-vien:#2C3038;--xanh-chu:#86EFAC}

main{font:14px/1.5 "Be Vietnam Pro","Segoe UI",system-ui,Arial,sans-serif}
h1{font-size:22px;font-weight:700;margin:0 0 4px}
.sub{font-size:13px}

/* Thanh trên cùng và thanh bên (menu trái): giữ đúng hình thức bản 1.15.0 (chung.css) — anh Việt giao 27/10/2026, bản 1.17.0.
   Giao diện mới chỉ áp dụng bên trong khung nội dung (main). */

/* ---------- Nội dung, thẻ ---------- */
main{padding:24px 24px 48px}
.the,.card{border-radius:var(--bo);border:1px solid var(--vien);box-shadow:var(--bong);animation:none}
.tieude{padding:16px 16px 8px}.tieude h2{font-size:15px;font-weight:600}
.tieude a,.tieude button{color:var(--chon)}
h2{font-size:16px}

/* ---------- Nút: chính (đỏ đặc), phụ (viền), chữ; cao 36px ---------- */
.btn,.btn2,.nut-chu{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 16px;border-radius:8px;font:inherit;font-size:13.5px;
  font-weight:600;cursor:pointer;text-decoration:none;box-shadow:none;white-space:nowrap}
.btn{background:var(--chon);color:var(--chu-chon);border:1px solid var(--chon)}
.btn2{background:var(--the);color:var(--chu);border:1px solid var(--vien);font-weight:500}
.btn2:hover{background:var(--hover)}
.nut-chu{background:none;border:0;color:var(--chon);padding:0 8px}
.nut-chu:hover{background:var(--hover)}
.btn .bt,.btn2 .bt,.nut-chu .bt{width:16px;height:16px}
.btn2.nho,.btn.nho{min-height:28px;padding:0 10px;font-size:12.5px}
.btn.rong{width:100%}
.o{border-radius:8px;min-height:36px;padding:6px 10px;background:var(--the)}
.chip{border-radius:999px;padding:0 12px;min-height:32px;display:inline-flex;align-items:center;gap:6px;font-size:13px;background:var(--the);border:1px solid var(--vien)}
.chip.on{background:var(--chu);border-color:var(--chu);color:var(--the)}
.chip .so-nho,.chip b{font-weight:600;opacity:.75}

/* ---------- Nhãn tình trạng: mỗi màu đi kèm chữ ---------- */
.nhan{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}
.n-xanh,.p-dat,.n-vuot,.tt-dat,.tt-vuot{background:var(--tt-dat-nhat);color:var(--tt-dat);border-color:var(--tt-dat-vien)}
.n-cam,.p-dang,.tt-dang{background:var(--tt-dang-nhat);color:var(--tt-dang);border-color:var(--tt-dang-vien)}
.n-do,.p-cham,.tt-cham{background:var(--tt-cham-nhat);color:var(--tt-cham);border-color:var(--tt-cham-vien)}
.n-tim,.tt-chua_co{background:var(--tt-chua-nhat);color:var(--tt-chua);border-color:var(--tt-chua-vien)}
.p-td,.tt-theo_doi{background:var(--tt-td-nhat);color:var(--tt-td);border-color:var(--tt-td-vien)}
:root[data-theme="toi"] .n-vuot{background:var(--tt-dat-nhat);color:var(--tt-dat);border-color:var(--tt-dat-vien)}
/* cảnh báo không phải tình trạng chỉ tiêu (chưa tách, cần rà…) giữ cam riêng */
.nhan-chua-tach,.lstt-cam-nhan,.gy-moi{background:#FFF4E0;color:#9A5B00;border-color:#F2D3A0}
.thanh,.thanh-td{background:var(--vien-nhat)}.thanh-td{height:6px;border-radius:3px}

/* ---------- Bảng: nền trắng, tiêu đề dính khi cuộn cả trang, số canh phải ---------- */
html[data-bang="excel"]{--ke-o:var(--vien);--xen-ke:var(--nen-phu)}
html[data-bang="excel"] .bang,.bang{border:0;border-collapse:separate;border-spacing:0;font-size:13.5px}
html[data-bang="excel"] .bang thead th,.bang thead th{background:var(--nen-phu);color:var(--mo);font-weight:600;font-size:12.5px;border-bottom:1px solid var(--vien);
  position:sticky;top:56px;z-index:3}
html[data-bang="excel"] .bang th,html[data-bang="excel"] .bang td{border-right:0;border-bottom:1px solid var(--vien-nhat);padding:8px 12px}
html[data-bang="excel"] .bang tbody tr:hover td{box-shadow:none;background:var(--hover)}
.bang .so,.bang td.so,.bang th.so{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.bang thead tr.loc-cot th{top:104px;background:var(--the)}
.bang tfoot td{background:var(--nen-phu);border-top:1px solid var(--vien)}
/* không còn khung cuộn lồng trong trang: chỉ cuộn cả trang (máy tính); điện thoại: bảng cuộn ngang trong khung riêng */
@media (min-width:901px){
  .cuon,html[data-bang="excel"] .cuon,.the.cuon{overflow:visible;max-height:none}
  .cn-ds{max-height:none;overflow:visible}
  .the{overflow:visible}
}
@media (max-width:900px){
  .cuon,html[data-bang="excel"] .cuon,.khung-cuon{overflow-x:auto;max-height:none}
  .bang thead th,html[data-bang="excel"] .bang thead th{position:static}
}

/* ---------- Góp ý: biểu tượng tròn nhỏ, không che nội dung ---------- */
.nut-gop-y{width:40px;height:40px;padding:0;justify-content:center;border-radius:50%;right:auto;left:16px;bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.2);opacity:.9}
/* máy tính: góc dưới bên trái (trên thanh bên, không che nội dung); điện thoại: nằm trên thanh trên cùng, cạnh chuông */

.nut-gop-y span{display:none}.nut-gop-y .bt{width:20px;height:20px}
.nut-gop-y:hover{opacity:1}
main{padding-bottom:80px}

/* ---------- Hàng công cụ chung: ô tìm, chip, nút Bộ lọc, Thẻ/Bảng, Xuất ---------- */
.hang-cong-cu{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0}
.hang-cong-cu .o-tim{flex:1 1 240px;max-width:360px;margin:0}
.hang-cong-cu .chips{margin:0}
.hang-cong-cu .day-phai{margin-left:auto;display:flex;gap:8px;align-items:center}
.nhom-nut{display:inline-flex;border:1px solid var(--vien);border-radius:8px;overflow:hidden}
.nhom-nut button{border:0;background:var(--the);color:var(--mo);min-height:34px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;cursor:pointer}
.nhom-nut button+button{border-left:1px solid var(--vien)}
.nhom-nut button.on{background:var(--chu);color:var(--the)}
.nhom-nut .bt{width:16px;height:16px}
.ngan-loc{border:1px solid var(--vien);border-radius:var(--bo);background:var(--the);padding:16px;margin:0 0 16px;display:grid;gap:8px 16px;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.ngan-loc label{margin:0;font-size:12.5px;color:var(--mo)}.ngan-loc .o{margin-top:4px;color:var(--chu)}
.ngan-loc .hang-nut{grid-column:1/-1;margin:0}
.menu-xuat{position:relative}.menu-xuat .ds-xuat{position:absolute;right:0;top:calc(100% + 4px);min-width:240px;background:var(--the);border:1px solid var(--vien);
  border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:4px;z-index:20}
.menu-xuat .ds-xuat a,.menu-xuat .ds-xuat button{display:block;width:100%;text-align:left;padding:8px 12px;border:0;background:none;color:var(--chu);font:inherit;
  font-size:13.5px;border-radius:6px;text-decoration:none;cursor:pointer}
.menu-xuat .ds-xuat a:hover,.menu-xuat .ds-xuat button:hover{background:var(--hover)}

/* ---------- Ô số lớn dùng chung (Bảng điều hành, Ngân sách, Công việc) ---------- */
.o-lon{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:16px 0}
.o-lon.bon{grid-template-columns:repeat(4,minmax(0,1fr))}.o-lon.ba{grid-template-columns:repeat(3,minmax(0,1fr))}
.o-so-lon{position:relative;display:block;padding:16px;text-decoration:none;color:var(--chu);overflow:hidden;min-height:104px}
a.o-so-lon:hover{border-color:color-mix(in srgb,var(--chu) 25%,var(--vien))}
.o-so-lon .nhan-o{font-size:12.5px;color:var(--mo);display:flex;align-items:center;gap:6px}
.o-so-lon .gt{font-size:28px;font-weight:700;line-height:1.2;margin-top:4px;font-variant-numeric:tabular-nums}
.o-so-lon .gt small{font-size:13px;font-weight:500;color:var(--mo)}
.o-so-lon .phu{font-size:12px;color:var(--mo);margin-top:2px}
.o-so-lon .spark{position:absolute;right:8px;bottom:8px;width:84px;height:28px;opacity:.9}
.o-so-lon .thanh-td{margin-top:8px}
.cham-tt{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}
.c-dat{background:var(--tt-dat)}.c-dang{background:var(--tt-dang)}.c-cham{background:var(--tt-cham)}.c-chua_co{background:var(--tt-chua)}.c-theo_doi{background:var(--tt-td)}
.gt.tt-chu-dat{color:var(--tt-dat)}.gt.tt-chu-cham{color:var(--tt-cham)}.gt.tt-chu-chua_co{color:var(--tt-chua)}.gt.tt-chu-dang{color:var(--tt-dang)}
@media (max-width:1100px){.o-lon,.o-lon.bon{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.o-lon,.o-lon.bon,.o-lon.ba{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.o-so-lon{padding:12px;min-height:92px}
  .o-so-lon .gt{font-size:22px}.o-so-lon .spark{width:64px;height:22px}}

/* ---------- Bảng điều hành ---------- */
/* băng chào đỏ đầu Bảng điều hành (giữ như bản 1.15.0) */
.bdh2-chao{margin:0 0 16px}.bdh2-chao-gon h1{margin:0}
.chao.bdh2-chao{padding:20px 26px}
.chao.bdh2-chao h1{margin:0 0 2px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.85;color:inherit}
.chao.bdh2-chao .chao-loi{margin:0 0 4px;font-size:24px;font-weight:700;opacity:1;line-height:1.25}
@media (max-width:600px){.chao.bdh2-chao{padding:16px 18px}.chao.bdh2-chao .chao-loi{font-size:20px}}
.bdh2-hang{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px;align-items:start}
.bdh2-hang.deu{grid-template-columns:3fr 2fr}
.bdh2-the{padding:0 0 8px}
.bdh2-lv{display:block;padding:8px 16px;text-decoration:none;color:var(--chu);border-radius:8px}
.bdh2-lv:hover{background:var(--hover)}
.bdh2-lv-dau{display:flex;justify-content:space-between;gap:8px;font-size:13.5px;margin-bottom:4px}
.bdh2-lv-dau b{font-weight:600}.bdh2-lv-dau span{color:var(--mo);font-size:12.5px;white-space:nowrap}
.thanh-chong{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--vien-nhat)}.thanh-chong i{display:block;height:100%}
.chu-giai2{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:var(--mo);padding:8px 16px 0}
.chu-giai2 span{display:inline-flex;align-items:center;gap:6px}
.bdh2-tc{padding:8px 16px}
.bdh2-tc-dong{padding:8px 0;border-top:1px solid var(--vien-nhat)}.bdh2-tc-dong:first-child{border-top:0}
.bdh2-tc-dau{display:flex;justify-content:space-between;gap:8px;font-size:13.5px}.bdh2-tc-dau b{font-variant-numeric:tabular-nums}
.bdh2-tc-dong small{color:var(--mo);font-size:12px;display:block;margin-top:2px}
.bdh2-tc-dong .thanh-td{margin-top:6px}
.bdh2-ds{list-style:none;margin:0;padding:0 8px}
.bdh2-ds li{display:grid;grid-template-columns:minmax(0,1fr) 140px 120px;gap:8px 16px;align-items:center;padding:8px;border-top:1px solid var(--vien-nhat);font-size:13.5px}
.bdh2-ds li:first-child{border-top:0}
.bdh2-ds a{color:var(--chu);text-decoration:none;font-weight:500}.bdh2-ds a:hover{text-decoration:underline}
.bdh2-ds small{color:var(--mo);font-size:12px;display:block}
.bdh2-pt{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--mo);white-space:nowrap}.bdh2-pt .thanh-td{flex:1}
.bdh2-cb li{grid-template-columns:minmax(0,1fr) auto auto}
.bdh2-cb .nhan{font-variant-numeric:tabular-nums}
.bdh2-gap{margin-bottom:16px}.bdh2-gap>summary{list-style:none;cursor:pointer;padding:16px;font-weight:600;font-size:15px;display:flex;align-items:center;gap:8px}
.bdh2-gap>summary::-webkit-details-marker{display:none}.bdh2-gap>summary::before{content:"▸";color:var(--mo);width:12px}
.bdh2-gap[open]>summary::before{content:"▾"}.bdh2-gap>summary small{color:var(--mo);font-weight:400;font-size:12.5px}
.bdh2-gap .luu-y-tien{margin:0;border:0;box-shadow:none}
.bdh2-vb li{grid-template-columns:auto minmax(0,1fr) auto}
@media (max-width:1100px){.bdh2-hang,.bdh2-hang.deu{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.bdh2-ds li{grid-template-columns:minmax(0,1fr) 110px}.bdh2-ds li .an-dt{display:none}
  .bdh2-cb li{grid-template-columns:minmax(0,1fr) auto auto}.bdh2-vb li{grid-template-columns:minmax(0,1fr) auto}.bdh2-vb li .an-dt{display:none}}

/* ---------- Danh sách chỉ tiêu: thẻ gọn, lưới 3/2/1 cột ---------- */
.ds-ct{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:1280px){.ds-ct{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.ds-ct{grid-template-columns:minmax(0,1fr);gap:8px}}
.the-ct{padding:16px;gap:4px;position:relative}
.the-ct .ma{font-size:11.5px;color:var(--mo);font-weight:500}
.the-ct .ten-ct{font-size:14px;font-weight:600;line-height:1.35;padding-right:96px;min-height:38px}
.the-ct .nhan-goc{position:absolute;top:12px;right:12px}
.the-ct .so-lon{font-size:24px;font-weight:700;margin-top:4px}.the-ct .so-lon small{font-size:13px;color:var(--mo);font-weight:500}
.the-ct .thanh-td{height:6px;margin:4px 0}
.the-ct .dong-ct{font-size:12.5px;color:var(--mo)}.the-ct .dong-ct b{color:var(--chu);font-weight:600}

/* ---------- Công việc: xem theo cán bộ dạng cột ---------- */
.cv-cot{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:16px;align-items:start;overflow-x:auto;padding-bottom:8px}
.cv-cot-the{padding:0}.cv-cot-dau{padding:12px 16px;border-bottom:1px solid var(--vien-nhat);display:flex;justify-content:space-between;gap:8px;align-items:center}
.cv-cot-dau b{font-size:14px}.cv-cot-ds{list-style:none;margin:0;padding:8px}
.cv-cot-ds li{padding:8px;border-radius:8px;font-size:13px;border:1px solid var(--vien-nhat);margin-bottom:8px;background:var(--the)}
.cv-cot-ds li small{display:block;color:var(--mo);font-size:12px;margin-top:4px}
.cv-cot-ds li.bam{cursor:pointer}.cv-cot-ds li.bam:hover{background:var(--hover)}
.bang tr.cv-dong:hover td{background:var(--hover)}.bang tr.cv-dong:focus-visible td{outline:2px solid var(--chon);outline-offset:-2px}
.cv-chu-tri{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.cv-chu-tri select{max-width:260px}
.cv-de-xuat{padding:12px 16px;margin:12px 0;border-left:4px solid var(--tt-chua)}.cv-de-xuat h3{margin:0 0 8px;font-size:15px}
.cv-de-xuat ol{margin:8px 0;padding-left:22px}.cv-de-xuat li{margin-bottom:8px}.cv-de-xuat select{max-width:220px;display:inline-block}
.cv-tieu-de{font-size:16px;margin:16px 0 8px}.cv-ds-chon{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0}.cv-phoi-hop{margin:8px 0}
@media (min-width:901px){.cv-cot{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));overflow:visible}}

/* ---------- Ngân sách, Cửa nhận: gọn ---------- */
.tc-tong{gap:16px}.tc-o{padding:16px}.tc-o .lon{font-size:24px}.tc-o .thanh i{background:var(--tt-dang)}
.tc-thanh{background:var(--the);color:var(--chu);border:1px solid var(--vien);border-left:4px solid #E0A100;border-radius:8px}
.cn-luoi{grid-template-columns:minmax(0,1fr)}
.cn-bang .bang td{vertical-align:middle}.cn-bang tr.on td{background:var(--hover)}
.cn-bang .ten-tep{font-weight:500;word-break:break-word}
.cn-chitiet-hop{margin-top:16px}

/* ---------- Điện thoại ---------- */
@media (max-width:900px){
  main{padding:16px 12px 80px}
  .hang-cong-cu .day-phai{margin-left:0}
  .hang-cong-cu .o-tim{max-width:none}
}
.chips-mot-hang{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;max-width:100%}.chips-mot-hang .chip{flex:none}
.hang-cong-cu .day-phai{flex-wrap:wrap}
@media (max-width:900px){.bdh2-lv-dau{flex-direction:column;gap:0}.bdh2-lv-dau span{white-space:normal}}

/* nút Góp ý trên thanh trên cùng */
.nut-gop-y.tren-dau{position:static;width:36px;height:36px;background:rgba(255,255,255,.16);color:#fff;box-shadow:none;opacity:1}
.nut-gop-y.tren-dau:hover{background:rgba(255,255,255,.28)}
@media (max-width:900px){.nut-gop-y.tren-dau{position:static}}
.tc-dau-trang>div:first-child{flex:1 1 420px;min-width:0}
.o-lon.bon .o-so-lon .gt{font-size:24px}
.o-so-lon .gt small{white-space:nowrap}
@media (max-width:900px){.cuon .bang,.cn-bang .bang{min-width:720px}.cuon .bang td:first-child{min-width:200px}}

/* ---------- Cửa nhận (bản 1.17.0): khung kéo thả lớn, tiến độ từng tệp, hai cột như bản 1.15 ---------- */
.cn-tha{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:24px;margin:0 0 16px;border:2px dashed var(--vien);border-radius:var(--bo);background:var(--the);transition:background .15s,border-color .15s}
.cn-tha>.bt{width:40px;height:40px;color:var(--mo)}.cn-tha>div:nth-child(2){flex:1 1 280px}.cn-tha b{font-size:16px}
.cn-tha.dang-keo{border-color:var(--chon);background:color-mix(in srgb,var(--chon) 8%,var(--the))}
.cn-tien-do{background:var(--the);border:1px solid var(--vien);border-radius:var(--bo);padding:8px 16px;margin:0 0 16px}
.cn-tep{display:grid;grid-template-columns:minmax(0,2fr) 1fr minmax(0,2fr);gap:12px;align-items:center;padding:6px 0;border-top:1px solid var(--vien-nhat);font-size:13px}
.cn-tep:first-child{border-top:0}.cn-tep-ten{word-break:break-word}
.cn-luoi{display:grid;grid-template-columns:minmax(360px,1fr) minmax(0,1.4fr);gap:16px;align-items:start}
@media (max-width:1200px){.cn-luoi{grid-template-columns:minmax(0,1fr)}}
.cn-bang tr.cn-dong.on td{background:color-mix(in srgb,var(--chon) 7%,var(--the))}
.tha-toan-trang{position:fixed;inset:0;z-index:80;background:rgba(17,24,39,.45);display:grid;place-items:center;pointer-events:none}
.tha-toan-trang>div{background:var(--the);color:var(--chu);border:2px dashed var(--chon);border-radius:16px;padding:32px 40px;text-align:center;font-size:15px}
.tha-toan-trang b{font-size:18px}
@media (max-width:700px){.cn-tep{grid-template-columns:minmax(0,1fr)}}

/* ---------- Ngân sách (bản 1.17.0): dãy nút mục lớn, mỗi nút một biểu tượng và màu ---------- */
.tc-muc-lon{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.tc-nut-muc{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1.5px solid var(--mau-muc);border-radius:10px;background:var(--the);
  color:var(--mau-muc);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.tc-nut-muc .bt{width:18px;height:18px}
.tc-nut-muc:hover{background:color-mix(in srgb,var(--mau-muc) 8%,var(--the))}
.tc-nut-muc.on{background:var(--mau-muc);color:#fff}
.tc-mo-ta-muc{margin:0 0 16px;font-size:13px;color:var(--mo)}.tc-mo-ta-muc b{color:var(--chu)}
.tc-ds-canh-bao li{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}
.tc-ds-canh-bao li .btn2{flex:none}
@media (max-width:700px){.tc-nut-muc{flex:1 1 calc(50% - 8px);min-height:40px;padding:0 10px;font-size:13px}}

/* ---------- Giải ngân – Công trình, CT MTQG, Hỗ trợ nhà ở (bản 1.17.0) ---------- */
.gn-so-khung{overflow:auto;max-height:calc(100vh - 230px);padding:0}
.gn-so{border-collapse:separate;border-spacing:0;min-width:100%}
/* tiêu đề Sổ dính sát đỉnh khung cuộn (không theo 68px của bảng cả trang); hàng tiêu đề thứ hai dính ngay dưới hàng thứ nhất */
html .gn-so-khung .bang.gn-so thead th,html[data-bang="excel"] .gn-so-khung .bang.gn-so thead th{position:sticky;top:0;z-index:3;background:var(--nen-phu);white-space:nowrap;font-size:12px}
html .gn-so-khung .bang.gn-so thead tr:first-child th{height:36px;box-sizing:border-box}
html .gn-so-khung .bang.gn-so thead tr:nth-child(2) th,html[data-bang="excel"] .gn-so-khung .bang.gn-so thead tr:nth-child(2) th{top:36px}
.gn-so td,.gn-so th{border-bottom:1px solid var(--vien-nhat);border-right:1px solid var(--vien-nhat)}
.gn-so .gn-c1{position:sticky;left:0;z-index:2;background:var(--the);min-width:52px;white-space:nowrap}
.gn-so .gn-c2{position:sticky;left:52px;z-index:2;background:var(--the);min-width:280px;max-width:380px;box-shadow:2px 0 0 var(--vien-nhat)}
html .gn-so-khung .bang.gn-so thead th.gn-c1,html .gn-so-khung .bang.gn-so thead th.gn-c2,
html[data-bang="excel"] .gn-so-khung .bang.gn-so thead th.gn-c1,html[data-bang="excel"] .gn-so-khung .bang.gn-so thead th.gn-c2{z-index:5;background:var(--nen-phu)}
html[data-bang="excel"] .gn-so-khung .bang.gn-so thead th.gn-c2,html .gn-so-khung .bang.gn-so thead th.gn-c2{left:52px}
html .gn-so-khung .bang.gn-so thead th.gn-c1{left:0}
.gn-so tr.gn-nhom td,.gn-so tr.gn-nhom .gn-c1,.gn-so tr.gn-nhom .gn-c2{background:var(--nen-phu)}
.gn-so tr.gn-tong td,.gn-so tr.gn-tong .gn-c1,.gn-so tr.gn-tong .gn-c2{background:color-mix(in srgb,var(--tt-dang) 8%,var(--the));font-weight:600}
.gn-so td.gn-o{min-width:96px}
.gn-so td.gn-o.sua-duoc{cursor:cell}
.gn-so td.gn-o.sua-duoc:hover{background:var(--hover)}
.gn-so td.gn-o:focus{outline:2px solid var(--chon);outline-offset:-2px}
.gn-so td.gn-o .gn-nhap{width:100%;min-width:90px;min-height:28px;padding:2px 6px;text-align:right}
.gn-mui{min-width:22px;padding:0 4px;min-height:0;display:inline-block}
.gn-dl{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:6px 12px;margin:8px 0}
.gn-dl dt{color:var(--mo);font-size:13px}.gn-dl dd{margin:0}
.gn-moc{display:flex;flex-wrap:wrap;gap:6px}
.gn-lan{padding:10px 12px;margin:6px 0 14px}.gn-lan-dau{margin-top:8px}
.ct-bang .ct-cap-1 td{font-weight:600}
.ct-tien-do{max-width:320px;min-width:200px}
.c-chu-cham{color:var(--tt-cham);font-weight:600}
.gn-so tbody tr{scroll-margin-top:84px}.gn-so tbody td{scroll-margin-left:340px}  /* cuộn tới ô không bị tiêu đề, cột tên dính che */
html .gn-so.ct-bang td.gn-c2,html .gn-so-khung .bang.gn-so.ct-bang thead th.gn-c2,html[data-bang="excel"] .gn-so-khung .bang.gn-so.ct-bang thead th.gn-c2{left:0}  /* bảng CT MTQG không có cột STT */
