/* Chép từ bộ thành phần tg2 (mẫu đã duyệt 25/10/2026), đổi họ màu sang tím App Cán bộ — dung_phan_chep.py */
/* ═══════════════════════════════════════════════════════════════════════════════════════════
   NV-VP-GD-2B (đổi cách làm 25/10/2026) — BỘ THÀNH PHẦN tg2 cho Văn phòng số.
   Nguồn: CHÉP NGUYÊN cấu trúc + giá trị CSS từ ~/nhiem-vu/NV-VP-GD-2B/mau-html/*.html, chỉ đổi tên lớp sang tiền tố tg2-.
   Ngoại lệ có chủ đích (ghi trong báo cáo): chữ < 12px trong mẫu (10.5 / 11 / 11.5) nâng lên 12px theo quy tắc chữ ≥ 12px;
   màu chấm tiến độ đậm hơn mẫu (#25787a, #8a5212) để chữ số trắng trong chấm đạt tương phản 4,5:1.
   Một phông duy nhất: Inter tự lưu ở font/ (font/inter.css). Thang cỡ chữ: 12 · 12.5–13 · 13.5–14 · 15 · 17 · 19 · 22.
   Lớp tg2-* KHÔNG dùng chung với lớp cũ; vùng đã chuyển không mang lớp cũ.
   ═══════════════════════════════════════════════════════════════════════════════════════════ */
:root{--tg2-pl:#4c1d95;--tg2-pl2:#6331b8;--tg2-pld:#36126e;--tg2-plt:#f3effb;--tg2-plb:#ddd3f1;--tg2-tx:#1d151c;--tg2-mu:#5a4d57;--tg2-line:#ebe3e8;--tg2-line2:#f3eef1;--tg2-bg:#f6f3f5;
  --tg2-phong:Inter,sans-serif}
body.tg2{font-family:var(--tg2-phong);font-size:14px;color:var(--tg2-tx);background:var(--tg2-bg);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0}
body.tg2 button,body.tg2 input,body.tg2 select,body.tg2 textarea{font-family:var(--tg2-phong)}
.tg2-i{flex:none;display:inline-block;vertical-align:middle}
.tg2-an{display:none!important}
.tg2-cdoc{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── nút (mẫu .btn .b-pri .b-sec .b-ok .b-warn .sm .full .big .two) ── */
.tg2-btn{display:inline-flex;gap:7px;align-items:center;justify-content:center;padding:9px 15px;font-weight:600;font-size:13.5px;border-radius:10px;white-space:nowrap;border:0;cursor:pointer;text-decoration:none;font-family:var(--tg2-phong);line-height:1.2;box-sizing:border-box}
.tg2-btn:disabled,.tg2-btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.tg2-pri{background:linear-gradient(180deg,#5a27a8,#45198a);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 0 #321066,0 4px 10px -5px rgba(50,16,102,.55)}
.tg2-sec{background:#fff;color:#3a2a36;border:1px solid #cbb8c4;box-shadow:0 1px 0 #cbb8c4;font-weight:600}
.tg2-ok{background:linear-gradient(180deg,#2f9a8f,#23807a);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 2px 0 #1a625d,0 4px 10px -5px rgba(26,98,93,.55)}
.tg2-warn{background:#fff;color:#9b3349;border:1px solid #e3b5c0;box-shadow:0 1px 0 #e3b5c0;font-weight:600}
.tg2-sm{padding:7px 12px;font-size:13px}
.tg2-full{width:100%}.tg2-big{padding:12px;font-size:15px}.tg2-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
/* ── nhãn trạng thái (mẫu .bd .b-*) ── */
.tg2-bd{display:inline-flex;gap:5px;align-items:center;font-size:12px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap;flex:none}
.tg2-bd i{width:6px;height:6px;border-radius:50%;background:currentColor}
.tg2-b-pl{background:#efe9fa;color:#4c1d95}.tg2-b-vi{background:#ece8fa;color:#5a45b0}.tg2-b-bl{background:#e6eef9;color:#3b62a6}.tg2-b-te{background:#e3f2f1;color:#25787a}.tg2-b-ro{background:#fbe6ea;color:#b03d55}.tg2-b-am{background:#fbefdc;color:#985b16}.tg2-b-gr{background:#f1edf0;color:#6b5c66}
/* ── chip (mẫu .chips .chip) ── */
.tg2-chips{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.tg2-chip{display:inline-flex;gap:7px;align-items:center;padding:7px 14px;border-radius:10px;font-weight:600;font-size:13px;background:#fff;border:1px solid #cbb8c4;color:#3a2a36;box-shadow:0 1px 0 #cbb8c4;cursor:pointer;font-family:var(--tg2-phong)}
.tg2-chip.on{background:var(--tg2-pl);border-color:var(--tg2-pl);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 0 #321066}
.tg2-chip em{font-style:normal;font-size:12px;padding:0 7px;border-radius:20px;background:#ece6f7;color:var(--tg2-pl)}.tg2-chip.on em{background:rgba(255,255,255,.22);color:#fff}
.tg2-mut{color:var(--tg2-mu);font-size:12.5px}
.tg2-lnk{color:var(--tg2-pl);font-weight:600;text-decoration:none;cursor:pointer;background:none;border:0;padding:0;font-family:var(--tg2-phong);font-size:inherit}

/* ═══ KHUNG APP — đầu trang (.hd), rail (.rail), panel (.pnl2) ═══ */
.tg2-hd{height:64px;background:linear-gradient(90deg,#36126e,#4c1d95);display:flex;align-items:center;gap:14px;padding:0 22px;color:#fff;position:sticky;top:0;z-index:40;box-sizing:border-box}
.tg2-logo{width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 0 0 2px rgba(255,255,255,.35);overflow:hidden;flex:none}
.tg2-logo img{width:100%;height:100%;display:block}
.tg2-hd .tg2-nd{display:flex;gap:14px;align-items:center;color:#fff;text-decoration:none;min-width:0}
.tg2-hd small{display:block;font-size:12px;opacity:.8;font-weight:500;white-space:nowrap}.tg2-hd .tg2-nd b{font-size:19px;letter-spacing:.01em;white-space:nowrap}
.tg2-hd .tg2-s{margin-left:auto;width:420px;display:flex;gap:9px;align-items:center;padding:9px 14px;border-radius:11px;background:rgba(255,255,255,.12);font-size:13px;color:#e6dcf6;min-width:0;box-sizing:border-box}
.tg2-hd .tg2-s input{flex:1;min-width:0;border:0;outline:0;background:none;color:#fff;font:400 13px var(--tg2-phong);padding:0}
.tg2-hd .tg2-s input::placeholder{color:#e6dcf6;opacity:1}
.tg2-hd .tg2-s .tg2-x{display:none;border:0;background:none;color:inherit;cursor:pointer;padding:0}
.tg2-bell{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.1);color:#fff;border:0;cursor:pointer;position:relative;flex:none}
.tg2-bell .tg2-so{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#e8365d;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;line-height:1;box-sizing:border-box}
.tg2-bell .tg2-cham{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:#f43f5e;border:2px solid #4c1d95}
.tg2-me{display:flex;gap:9px;align-items:center;padding:4px 12px 4px 4px;border-radius:30px;background:rgba(255,255,255,.12);font-weight:600;font-size:13.5px;color:#fff;border:0;cursor:pointer;font-family:var(--tg2-phong);flex:none;max-width:260px}
.tg2-me>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tg2-me>i{width:30px;height:30px;border-radius:50%;background:#fff;color:var(--tg2-pl);display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:800;flex:none}
.tg2-hd .tg2-ib{display:none;width:38px;height:38px;place-items:center;border-radius:10px;background:none;color:#fff;border:0;cursor:pointer;flex:none}
.tg2-hd .tg2-r{display:contents}
.tg2-tk{position:relative;flex:none}
.tg2-tkm{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:#fff;border:1px solid var(--tg2-line);border-radius:12px;box-shadow:0 16px 32px -14px rgba(40,16,80,.45);padding:6px;z-index:60;color:var(--tg2-tx)}
.tg2-tkm .tg2-tkt{padding:8px 10px;font-weight:700;font-size:13.5px;border-bottom:1px solid var(--tg2-line2);margin-bottom:4px}
.tg2-tkm a,.tg2-tkm button{display:flex;gap:10px;align-items:center;width:100%;padding:9px 10px;border-radius:9px;border:0;background:none;font:500 13.5px var(--tg2-phong);color:#3d2f3a;text-decoration:none;cursor:pointer;text-align:left;box-sizing:border-box}
.tg2-tkm a:hover,.tg2-tkm button:hover{background:var(--tg2-plt)}

.tg2-wrap{display:grid;grid-template-columns:76px var(--tg2-pw,232px) minmax(0,1fr);min-height:calc(100vh - 64px)}
.tg2-wrap>.tg2-rail{grid-column:1;grid-row:1}.tg2-wrap>.tg2-pnl{grid-column:2;grid-row:1}.tg2-wrap>.tg2-main{grid-column:3;grid-row:1}
.tg2-wrap.tg2-khong-pn{--tg2-pw:0px}
.tg2-rail{background:#fff;border-right:1px solid var(--tg2-line);padding:12px 6px;display:flex;flex-direction:column;gap:4px;align-items:stretch;position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto;z-index:46;box-sizing:border-box}
.tg2-ra{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 2px;white-space:nowrap;border-radius:12px;font-size:12px;font-weight:600;color:#4a3c47;text-align:center;line-height:1.2;position:relative;border:0;background:none;cursor:pointer;text-decoration:none;font-family:var(--tg2-phong);touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex:none}
.tg2-ra .tg2-i{color:#5f4f5b}.tg2-ra.on{background:#e9e1f8;color:#3f1780}.tg2-ra.on .tg2-i{color:#3f1780}
.tg2-ra .tg2-dt{position:absolute;top:4px;right:10px;min-width:16px;height:16px;padding:0 4px;border-radius:10px;background:var(--tg2-pl);color:#fff;font-size:12px;display:grid;place-items:center;line-height:1;box-sizing:border-box}
.tg2-plus{margin-bottom:8px;width:52px;height:52px;align-self:center;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(180deg,#5a27a8,#45198a);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 0 #321066,0 6px 12px -6px rgba(50,16,102,.6);border:0;cursor:pointer;flex:none}
.tg2-pnl{background:#fcfafb;border-right:1px solid var(--tg2-line);padding:16px 12px;position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto;z-index:30;box-sizing:border-box}
.tg2-pnl h3{font-size:15px;margin:2px 8px 4px;color:var(--tg2-tx)}.tg2-pnl p{font-size:12px;color:var(--tg2-mu);margin:0 8px 14px}
.tg2-pnl a,.tg2-sh .tg2-mi{-webkit-tap-highlight-color:transparent}
.tg2-pnl a{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:9px;font-weight:500;font-size:13.5px;color:#3d2f3a;margin-bottom:2px;text-decoration:none}
.tg2-pnl a .tg2-i{color:#5f4f5b}.tg2-pnl a.on{background:#fff;color:var(--tg2-pl);font-weight:600;box-shadow:0 1px 0 var(--tg2-line),0 0 0 1px var(--tg2-line)}.tg2-pnl a.on .tg2-i{color:var(--tg2-pl)}
.tg2-pnl a .tg2-ct{margin-left:auto;font-size:12px;font-weight:700;padding:1px 7px;border-radius:20px;background:var(--tg2-pl);color:#fff}
.tg2-nw{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#d39a4a;flex:none}
.tg2-pnl .tg2-sep{height:1px;background:var(--tg2-line);margin:10px 8px}
.tg2-pnl .tg2-g{font-size:12px;font-weight:700;color:#5a4d57;margin:12px 10px 5px}
.tg2-pnl .tg2-dk{display:flex;gap:10px;align-items:center;padding:9px 10px;font-size:13.5px;color:#5a4d57}
.tg2-pnl .tg2-dk small{margin-left:auto;font-size:12px}
.tg2-pn-nhom{display:none}.tg2-pn-nhom.on{display:block}
.tg2-main{min-width:0;display:flex;flex-direction:column}
.tg2-main:focus{outline:0}
/* ≤ 1199px hoặc màn chi tiết: panel nổi đè, mở cạnh rail; bấm mục ⇒ chuyển màn và tự đóng; bấm ngoài / Esc ⇒ đóng (Phần 0) */
.tg2-wrap.tg2-khong-pn .tg2-pnl{position:fixed;left:76px;top:64px;bottom:0;width:232px;height:auto;transform:translateX(-110%);visibility:hidden;transition:transform .16s,visibility .16s;box-shadow:12px 0 28px -16px rgba(40,16,80,.45);z-index:45}
.tg2-wrap.tg2-khong-pn.tg2-bay .tg2-pnl{transform:none;visibility:visible}
@media (max-width:1199px){.tg2-wrap{--tg2-pw:0px}.tg2-wrap .tg2-pnl{position:fixed;left:76px;top:64px;bottom:0;width:232px;height:auto;transform:translateX(-110%);visibility:hidden;transition:transform .16s,visibility .16s;box-shadow:12px 0 28px -16px rgba(40,16,80,.45);z-index:45}
  .tg2-wrap.tg2-bay .tg2-pnl{transform:none;visibility:visible}}
@media (max-width:1100px){.tg2-hd .tg2-s{width:auto;flex:1;max-width:420px}.tg2-me>span{display:none}.tg2-me{padding:4px}}

/* ═══ ĐIỆN THOẠI — đầu trang (.mh), thanh đáy (.tab), tấm Menu (.sh) ═══ */
.tg2-day{display:none}
@media (max-width:767px){
  .tg2-hd{height:56px;padding:10px 14px;gap:10px}
  .tg2-hd .tg2-logo{width:36px;height:36px}
  .tg2-hd .tg2-nd{gap:10px}.tg2-hd .tg2-nd b{font-size:17px;letter-spacing:0}.tg2-hd small{font-size:12px;opacity:.85}
  .tg2-hd .tg2-s,.tg2-hd .tg2-tk{display:none}
  .tg2-hd .tg2-ib{display:grid}.tg2-hd .tg2-r{margin-left:auto;display:flex;gap:4px}
  .tg2-hd .tg2-bell{background:none}
  .tg2-hd.tg2-tim-mo .tg2-s{display:flex;position:absolute;left:8px;right:8px;top:8px;width:auto;max-width:none;height:40px;background:#fff;color:#5a4d57;z-index:2}
  .tg2-hd.tg2-tim-mo .tg2-s input{color:#1d151c;font-size:16px}.tg2-hd.tg2-tim-mo .tg2-s input::placeholder{color:#5a4d57}
  .tg2-hd.tg2-tim-mo .tg2-s .tg2-x{display:grid}
  .tg2-wrap{display:block;min-height:0}
  .tg2-rail,.tg2-pnl{display:none!important}
  .tg2-main{padding-bottom:90px}
  .tg2-day{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #ddd6ea;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 4px calc(18px + env(safe-area-inset-bottom,0px));font-size:12px;text-align:center;color:#4a3c47;font-weight:600;z-index:40}
  .tg2-day a,.tg2-day button{display:block;color:#4a3c47;text-decoration:none;border:0;background:none;font:600 12px var(--tg2-phong);cursor:pointer;padding:0;position:relative}
  .tg2-day .tg2-i{display:block;margin:0 auto 3px;color:#5f4f5b}.tg2-day .on,.tg2-day .on .tg2-i{color:#3f1780}
  .tg2-day .tg2-mid span{width:50px;height:50px;border-radius:50%;margin:-20px auto 0;display:grid;place-items:center;color:#fff;background:linear-gradient(180deg,#5a27a8,#45198a);box-shadow:0 3px 0 #321066,0 8px 14px -6px rgba(0,0,0,.4)}
  .tg2-day .tg2-mid .tg2-i{color:#fff!important;margin:0}
  .tg2-day .tg2-dso{position:absolute;top:-4px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:10px;background:var(--tg2-pl);color:#fff;font-size:12px;line-height:16px;box-sizing:border-box}
}
/* tấm Menu (mẫu dien-thoai-menu.html) — điện thoại; 768–1023 cũng dùng khi bấm ☰ */
.tg2-shn{position:fixed;inset:0;background:rgba(58,42,54,.55);z-index:80;display:none}
.tg2-shn.mo{display:block}
.tg2-sh{position:fixed;left:0;right:0;bottom:0;max-height:calc(100vh - 60px);overflow-y:auto;background:#fff;border-radius:20px 20px 0 0;z-index:81;transform:translateY(105%);visibility:hidden;transition:transform .18s,visibility .18s;padding-bottom:env(safe-area-inset-bottom,0px);max-width:560px;margin:0 auto}
.tg2-sh.mo{transform:none;visibility:visible}
.tg2-shh{display:flex;align-items:center;gap:10px;padding:16px 16px 12px;border-bottom:1px solid var(--tg2-line)}
.tg2-shh .tg2-logo{width:38px;height:38px;box-shadow:0 0 0 1.5px #d3c8ea}
.tg2-shh b{font-size:17px;color:#1d151c}.tg2-shh small{display:block;font-size:12px;color:#4a3e48}
.tg2-shh .tg2-x{margin-left:auto;color:#3a2a36;width:40px;height:40px;display:grid;place-items:center;border:0;background:none;cursor:pointer}
.tg2-shs{margin:12px 16px 0;display:flex;gap:8px;align-items:center;padding:10px 12px;border:1.5px solid #cbb8c4;border-radius:11px;color:#5a4d57}
.tg2-shs input{flex:1;min-width:0;border:0;outline:0;background:none;font:400 16px var(--tg2-phong);color:#1d151c;padding:0}.tg2-shs input::placeholder{color:#5a4d57}
.tg2-gg{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px 14px 10px}
.tg2-g{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 2px;border-radius:12px;border:0;background:#fff;font:600 13px var(--tg2-phong);color:#2e2230;position:relative;cursor:pointer;text-decoration:none;text-align:center}
.tg2-g .tg2-ic2{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#ede7f8;color:#2e1360;border:1.5px solid #d3c8ea;box-sizing:border-box}
.tg2-g.on{color:#3f1780}.tg2-g.on .tg2-ic2{background:linear-gradient(135deg,#6331b8,#4c1d95);color:#fff}
.tg2-g .tg2-ct{position:absolute;top:2px;right:10px;min-width:18px;height:18px;border-radius:10px;background:#4c1d95;color:#fff;font-size:12px;display:grid;place-items:center;padding:0 4px;box-sizing:border-box}
.tg2-msec{padding:6px 16px 4px;border-top:1px solid var(--tg2-line)}.tg2-msec h4{font-size:15px;color:#1d151c;margin:8px 0 4px}
.tg2-mi{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--tg2-line2);font-size:15px;color:#1d151c;font-weight:500;text-decoration:none}
.tg2-mi .tg2-i{color:#5f4f5b}.tg2-mi .tg2-nw{width:8px;height:8px;background:#c9852f}
.tg2-mi .tg2-ct{margin-left:auto;font-size:12px;font-weight:700;padding:1px 8px;border-radius:20px;background:var(--tg2-pl);color:#fff}
.tg2-mi.tg2-dk{color:#5a4d57}.tg2-mi.tg2-dk small{margin-left:auto;font-size:12px}
.tg2-mg2{font-size:12.5px;font-weight:700;color:#4a3e48;margin:10px 0 2px}
.tg2-acc{display:flex;gap:8px;padding:12px 16px}.tg2-acc .tg2-btn{flex:1}

/* ═══ ĐẦU PHIẾU + TIẾN ĐỘ (mẫu khuon3: .dh2 .r1 .tt .acts .prog .s4 .bo) ═══ */
.tg2-k3{display:flex;flex-direction:column;height:calc(100vh - 64px);overflow:hidden}
.tg2-dh{background:#fff;border-bottom:1px solid var(--tg2-line);padding:10px 18px 8px;flex:none}
.tg2-r1{display:flex;align-items:center;gap:12px}
.tg2-tt{min-width:0;flex:1}.tg2-tt h1{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1d151c;margin:0;font-weight:700;line-height:1.3}
.tg2-tt .tg2-sub{font-size:13px;color:#4a3e48;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg2-tt .tg2-sub b{color:#1d151c}
.tg2-acts{display:flex;gap:8px;flex:none}
.tg2-prog{display:flex;align-items:center;gap:12px;margin-top:8px;height:40px;padding:0 12px;border-radius:10px;background:#faf7f9;border:1px solid var(--tg2-line);box-sizing:border-box}
.tg2-pl{font-size:12.5px;font-weight:700;color:#4a3e48;flex:none}.tg2-pr{font-size:12.5px;font-weight:700;color:#8a5212;flex:none}
.tg2-trk{flex:1;display:flex;align-items:center;min-width:0}
.tg2-s4{display:flex;align-items:center;gap:6px;flex:1;min-width:0;position:relative;padding-right:8px}
.tg2-s4:after{content:"";flex:1;height:2px;background:#ddd6ea;min-width:8px;margin-left:4px}.tg2-s4:last-child:after{display:none}.tg2-s4.d:after{background:#7cc6c2}
.tg2-s4 i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700;flex:none;background:#efe9ed;color:#5a4d57}
.tg2-s4.d i{background:#25787a;color:#fff}.tg2-s4.c i{background:#8a5212;color:#fff;box-shadow:0 0 0 3px #f6e0c2}.tg2-s4.r i{background:#b03d55;color:#fff}
.tg2-s4 span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;color:#3d323b}.tg2-s4 b{font-weight:600}.tg2-s4.c b{color:#8a5212}.tg2-s4 em{font-style:normal;color:#8a5212;margin-left:4px}
.tg2-s4.c{flex:2.2}
.tg2-bo{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid #cbb8c4;border-radius:10px;font-size:13px;color:#3a2a36;flex:none}
.tg2-bo .tg2-x{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:#f4eef2;border:0;cursor:pointer;color:#3a2a36;padding:0}.tg2-bo .tg2-x:disabled{opacity:.4;cursor:default}.tg2-bo b{color:#1d151c}

/* ═══ THÂN 2 CỘT: khung xem (.vw2 .tabs .tb .vt2 .stage) + cột phải (.rp2 .wt2 .inf2 .kbox .chat2) ═══ */
.tg2-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;padding:12px 18px 14px;flex:1;min-height:0}
.tg2-vw{background:#fff;border:1px solid var(--tg2-line);border-radius:14px;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.tg2-tabs{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid var(--tg2-line);flex-wrap:wrap;flex:none}
.tg2-tb{white-space:nowrap;flex:none;display:inline-flex;gap:7px;align-items:center;padding:6px 11px;border-radius:9px;font:600 13px var(--tg2-phong);color:#3d323b;border:1px solid var(--tg2-line);background:#fff;cursor:pointer;max-width:280px;text-decoration:none}
.tg2-tb>span{overflow:hidden;text-overflow:ellipsis}
.tg2-tb em{font-style:normal;font-size:12px;font-weight:600;color:#1f6e6c;background:#e3f2f1;padding:1px 7px;border-radius:20px}
.tg2-tb em.tg2-chua{color:#8a5212;background:#fbefdc}
.tg2-tb.on{background:var(--tg2-plt);border-color:var(--tg2-plb);color:var(--tg2-pl)}.tg2-tb.add{border-style:dashed;color:var(--tg2-pl)}
.tg2-tb.kt{background:#faf7f9}.tg2-tb.kt.on{background:var(--tg2-plt)}
.tg2-tb input[type=file]{display:none}
.tg2-gl{font-size:12px;font-weight:700;color:#4a3e48;align-self:center;padding:0 2px 0 4px;white-space:nowrap}
.tg2-sd{width:8px;height:8px;border-radius:50%;background:#c9b9c4;flex:none}.tg2-sd.y{background:#25787a}
.tg2-vt{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--tg2-line);font-size:13px;flex:none;flex-wrap:nowrap;min-width:0}
.tg2-vt .tg2-x{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--tg2-line);border-radius:8px;font-weight:700;color:#3d323b;background:#fff;cursor:pointer;flex:none;font-family:var(--tg2-phong);font-size:14px;padding:0}
.tg2-vt .tg2-x:disabled{opacity:.45;cursor:default}
.tg2-vt b{font-weight:600;color:#1d151c;white-space:nowrap}.tg2-sepv{width:1px;height:20px;background:var(--tg2-line);flex:none}.tg2-vt .tg2-r{margin-left:auto;display:flex;gap:6px}
.tg2-vt .tg2-lnk{white-space:nowrap}
.tg2-vt .tg2-r .tg2-btn{padding:7px 12px;font-size:13px}
.tg2-tbl{display:inline}
.tg2-stage{flex:1;background:#e4dde2;overflow:auto;display:flex;justify-content:center;padding:16px;min-height:0;position:relative}
.tg2-stage>*{max-width:100%}
.tg2-rp{display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto}
.tg2-wt{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:#fdf6ec;border:1px solid #f0dcc0;color:#6b3f0e;font-size:13px;line-height:1.45;flex:none}.tg2-wt b{color:#4f2d06}
.tg2-wt>.tg2-i{margin-top:1px}
.tg2-wt.tg2-loi{background:#fdf1f2;border-color:#f1d0d5;color:#8c2c40}.tg2-wt.tg2-loi b{color:#6e1f30}
.tg2-wt.tg2-xong{background:#eaf6f4;border-color:#c3e4e0;color:#1a5e5a}.tg2-wt.tg2-xong b{color:#124643}
.tg2-wt.tg2-tin{background:#f0f5fb;border-color:#d4e1f2;color:#2c4a7e}.tg2-wt.tg2-tin b{color:#1e3560}
.tg2-wt p{margin:4px 0 0}
.tg2-inf{background:#fff;border:1px solid var(--tg2-line);border-radius:12px;padding:10px 14px;font-size:13.5px;font-weight:600;color:#1d151c;flex:none}
.tg2-inf summary{display:flex;align-items:center;list-style:none;cursor:pointer;gap:8px}.tg2-inf summary::-webkit-details-marker{display:none}
.tg2-inf summary small{font-weight:500;color:var(--tg2-mu);font-size:12.5px;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg2-inf summary>.tg2-i{margin-left:auto}.tg2-inf summary small+.tg2-i{margin-left:0}
.tg2-inf[open] summary>.tg2-i{transform:rotate(180deg)}
.tg2-inf .tg2-inb{font-weight:400;margin-top:10px;font-size:13px;color:#1d151c}
.tg2-dl{display:grid;grid-template-columns:minmax(92px,auto) 1fr;gap:6px 12px;margin:0}
.tg2-dl dt{font-size:12.5px;color:var(--tg2-mu);font-weight:500}.tg2-dl dd{margin:0;font-size:13px;color:#1d151c;min-width:0;overflow-wrap:anywhere}
.tg2-dl dd .tg2-mut{display:block;font-size:12px}
.tg2-h4{font-size:13px;font-weight:700;color:#4a3e48;margin:14px 0 6px}
.tg2-ttb{width:100%;border-collapse:collapse;font-size:13px}
.tg2-ttb th{text-align:left;font-size:12px;font-weight:600;color:#5a4d57;background:#faf7f9;padding:7px 8px;border-bottom:1px solid var(--tg2-line);white-space:nowrap}
.tg2-ttb td{padding:7px 8px;border-bottom:1px solid var(--tg2-line2);vertical-align:middle}
.tg2-ttb .so{text-align:right;font-variant-numeric:tabular-nums}
.tg2-ttb .tg2-btn{padding:5px 9px;font-size:12.5px}
.tg2-tep{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--tg2-line2);font-size:13px}
.tg2-tep>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tg2-tep .tg2-btn{padding:5px 9px;font-size:12.5px}
.tg2-kbox{background:#fff;border:1px solid var(--tg2-line);border-radius:14px;padding:12px;display:grid;gap:8px;flex:none}
.tg2-ok3{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;background:#eaf6f4;border:1px solid #c3e4e0;color:#1a5e5a;font-size:13px;font-weight:600}
.tg2-ok3.tg2-cho{background:#fdf6ec;border-color:#f0dcc0;color:#6b3f0e}
.tg2-chat{flex:1;min-height:200px;background:#fff;border:1px solid var(--tg2-line);border-radius:14px;display:flex;flex-direction:column;overflow:hidden}
.tg2-ch{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--tg2-line2);font-size:14px;color:#1d151c;flex:none}.tg2-ch span{font-size:12.5px;color:#5a4d57}.tg2-ch .tg2-lnk{margin-left:auto;font-size:13px}
.tg2-ms{flex:1;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:8px;min-height:0}
.tg2-ev{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#3d323b}.tg2-ev i{width:8px;height:8px;border-radius:50%;background:#a99aa4;flex:none}.tg2-ev.ok i{background:#3d9a97}.tg2-ev.wt i{background:#c9852f}.tg2-ev.ro i{background:#b03d55}
.tg2-ev time{margin-left:auto;font-size:12px;color:#5a4d57;white-space:nowrap}
.tg2-av{width:28px;height:28px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;flex:none}
.tg2-in{border-top:1px solid var(--tg2-line2);padding:10px 12px;display:flex;flex-direction:column;gap:8px;flex:none}
.tg2-row2{display:flex;justify-content:space-between;gap:8px}
@media (max-width:1200px){
  .tg2-s4.d span{display:none}.tg2-s4.d{flex:.5}.tg2-s4.c{flex:4}
  .tg2-body{grid-template-columns:minmax(0,1fr) 320px}
  .tg2-tbl{display:none}
  .tg2-tabs{flex-wrap:nowrap;overflow-x:auto}.tg2-tb em{display:none}
}
/* hàng tiêu đề ≥ 4 nút (anh chốt 25/10): chỉ nút chính giữ chữ, nút khác chỉ icon có chú thích (title) — tên phiếu đọc được */
.tg2-acts.tg2-nhieu .tg2-btn:not(.tg2-pri):not(.tg2-ok){padding:7px 9px}
.tg2-acts.tg2-nhieu .tg2-btn:not(.tg2-pri):not(.tg2-ok) .tg2-nhan{display:none}
@media (max-width:1200px){.tg2-acts.tg2-ba .tg2-btn:not(.tg2-pri):not(.tg2-ok){padding:7px 9px}.tg2-acts.tg2-ba .tg2-btn:not(.tg2-pri):not(.tg2-ok) .tg2-nhan{display:none}}
/* điện thoại: phiếu / màn ký (mẫu dien-thoai-man-ky.html: .top2 .pr2 .bar .tabs2 .pg2 .pgn .chatm) — giữ bố cục cũ, chỉ gọn */
.tg2-bar{display:none}
.tg2-pgn{display:none}
@media (max-width:767px){
  .tg2-k3{height:auto;overflow:visible}
  .tg2-dh{position:sticky;top:56px;z-index:20;padding:10px 12px}
  .tg2-r1{align-items:flex-start;gap:8px}
  .tg2-tt h1{font-size:15px;line-height:1.35;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .tg2-tt .tg2-sub{font-size:12px}
  .tg2-r1>.tg2-bd,.tg2-r1>.tg2-bo,.tg2-r1>.tg2-acts{display:none}
  .tg2-r1>.tg2-lui{padding:6px;flex:none;margin-top:1px}.tg2-r1>.tg2-lui .tg2-nhan{display:none}
  .tg2-prog{height:auto;padding:0;border:0;background:none;margin-top:8px;gap:6px}
  .tg2-prog .tg2-pl{display:none}
  .tg2-s4,.tg2-s4.c,.tg2-s4.d{flex:1;padding-right:4px;gap:4px}.tg2-s4 span{display:none}.tg2-s4 i{width:16px;height:16px}.tg2-s4 i svg,.tg2-s4 i b{display:none}.tg2-s4 i{font-size:0}
  .tg2-s4:last-child{flex:none}
  .tg2-pr{white-space:nowrap;font-size:12px;margin-left:6px}
  .tg2-bar{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:8px}
  .tg2-bar.tg2-ba{grid-template-columns:auto auto 1fr}
  .tg2-bar.tg2-mot{grid-template-columns:1fr}
  .tg2-bar .tg2-btn{padding:10px 12px}
  .tg2-body{display:block;padding:0}
  .tg2-vw{border:0;border-radius:0;background:none;overflow:visible}
  .tg2-tabs{padding:10px 12px 0;border:0;flex-wrap:nowrap;overflow-x:auto}
  .tg2-tb{font-size:12.5px;padding:6px 10px;border-color:#cbb8c4;color:#3a2a36}.tg2-tb.on{background:#e9e1f8;border-color:#4c1d95;color:#3f1780}
  .tg2-tb .tg2-sd,.tg2-gl{display:none}
  .tg2-vt{display:none}
  .tg2-stage{margin:10px 12px;padding:0;background:#fff;box-shadow:0 4px 14px rgba(40,16,80,.15);overflow:hidden;min-height:420px;display:block;border-radius:2px}
  .tg2-pgn{display:flex;justify-content:center;align-items:center;gap:8px;font-size:12.5px;color:#3d323b;font-weight:600}
  .tg2-pgn button{width:36px;height:36px;border:0;background:none;color:#3d323b;display:grid;place-items:center;cursor:pointer}
  .tg2-rp{display:flex;padding:10px 12px 12px;overflow:visible}
  .tg2-chat{min-height:0}
  .tg2-chat .trd-ds{max-height:60vh}
  .tg2-kbox{display:none}
}

/* ═══ KPI (mẫu .kp .k c1–c6; điện thoại .km) ═══ */
.tg2-kp{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:18px}
.tg2-k{border-radius:14px;padding:13px 14px;border:1px solid var(--bd);background:linear-gradient(135deg,var(--a),var(--b));position:relative;overflow:hidden;text-align:left;font-family:var(--tg2-phong);cursor:pointer;color:var(--tg2-tx);box-sizing:border-box;display:block;width:100%}
.tg2-k:after{content:"";position:absolute;right:-26px;top:-26px;width:84px;height:84px;border-radius:50%;background:var(--bd);opacity:.45}
.tg2-k>*{position:relative;z-index:1}.tg2-k .tg2-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;background:var(--gi);box-shadow:0 3px 8px -3px var(--c),inset 0 1px 0 rgba(255,255,255,.3);margin-bottom:10px}
.tg2-k .tg2-n{font-size:24px;font-weight:700;color:var(--c);line-height:1}.tg2-k .tg2-n small{font-size:13px;color:var(--tg2-mu);font-weight:600}.tg2-k .tg2-l{font-weight:600;font-size:13px;margin-top:4px}.tg2-k .tg2-s2{font-size:12px;color:var(--tg2-mu);margin-top:2px}
.tg2-k.on{box-shadow:0 0 0 2px var(--c)}
.tg2-k .tg2-n.tg2-dai{font-size:17px;padding:4px 0 3px}
.tg2-c1{--a:#f7f3fd;--b:#ece4f8;--bd:#dccff1;--c:#4c1d95;--gi:linear-gradient(135deg,#7a4cc9,#4c1d95)}
.tg2-c2{--a:#f4f2fc;--b:#e9e4f8;--bd:#ddd5f3;--c:#5a45b0;--gi:linear-gradient(135deg,#8670d8,#5a45b0)}
.tg2-c3{--a:#f0f5fb;--b:#e2ebf7;--bd:#d4e1f2;--c:#3b62a6;--gi:linear-gradient(135deg,#5e86cc,#3b62a6)}
.tg2-c4{--a:#eef7f6;--b:#ddefed;--bd:#cde6e3;--c:#1f6c6e;--gi:linear-gradient(135deg,#48a4a2,#25787a)}
.tg2-c5{--a:#fdf1f2;--b:#f8e1e4;--bd:#f1d0d5;--c:#b03d55;--gi:linear-gradient(135deg,#d16a7e,#b03d55)}
.tg2-c6{--a:#fdf6ec;--b:#f8ead6;--bd:#f0dcc0;--c:#8a5212;--gi:linear-gradient(135deg,#d39c52,#a8661f)}
@media (max-width:1199px){.tg2-kp{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){
  .tg2-kp{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
  .tg2-k{display:flex;gap:10px;align-items:center;padding:9px 11px;border:1.5px solid var(--bd);border-radius:12px;min-height:58px}.tg2-k:after{display:none}
  .tg2-k .tg2-ic{width:32px;height:32px;border-radius:10px;margin:0;flex:none}.tg2-k .tg2-ic svg{width:14px;height:14px}
  .tg2-k .tg2-n,.tg2-k .tg2-n.tg2-dai{font-size:20px;padding:0}.tg2-k .tg2-n small{font-size:12px}.tg2-k .tg2-l{font-size:12.5px;color:#1d151c;font-weight:600;margin-top:1px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg2-k>div:last-child{min-width:0}
  .tg2-k .tg2-s2{display:none}
}
/* ═══ THẺ (mẫu .card .cdh .cb) · bảng (table th td) · thanh tiến độ (.pbx) ═══ */
.tg2-card{background:#fff;border:1px solid var(--tg2-line);border-radius:14px;box-shadow:0 6px 18px -15px rgba(54,18,110,.45);overflow:hidden;position:relative}
.tg2-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--st,linear-gradient(90deg,#7a4cc9,#4c1d95))}
.tg2-cdh{display:flex;align-items:center;gap:10px;padding:15px 18px 11px;flex-wrap:wrap}.tg2-cdh h2{font-size:15px;margin:0;color:var(--tg2-tx)}
.tg2-cdh .tg2-ti{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--tb,#efe9fa);color:var(--tc,#4c1d95);flex:none}
.tg2-cdh .tg2-r{margin-left:auto;display:flex;gap:8px;align-items:center}.tg2-cdh .tg2-btn{padding:6px 12px;font-size:12.5px}
.tg2-cb{padding:0 18px 16px}
.tg2-tbg{width:100%;border-collapse:collapse}
.tg2-tbg th{text-align:left;font-size:12px;font-weight:600;color:#5a4d57;background:#faf7f9;padding:10px 10px;border-bottom:1px solid var(--tg2-line);white-space:nowrap}
.tg2-tbg td{padding:11px 10px;border-bottom:1px solid var(--tg2-line2);vertical-align:middle;font-size:13.5px}.tg2-tbg tbody tr:nth-child(even) td{background:#fdfbfc}
.tg2-tbg .c{text-align:center}.tg2-tbg .rt{text-align:right}
.tg2-tbg tr[data-href]{cursor:pointer}.tg2-tbg tr[data-href]:hover td{background:var(--tg2-plt)}
.tg2-tbg td b{font-weight:600}.tg2-tbg td .tg2-mut{display:block;margin-top:2px}
.tg2-pbx{height:7px;border-radius:7px;background:#f1eaee;overflow:hidden}.tg2-pbx span{display:block;height:100%;border-radius:7px}
.tg2-trong{padding:22px 10px;text-align:center;color:var(--tg2-mu);font-size:13.5px}
.tg2-trong .tg2-btn{margin-top:10px}
/* ═══ TRANG CHỦ (mẫu khuon1 .ct2 .ph .qb .seg .wk; điện thoại .wrapm .hi .hs .cardm .it3) ═══ */
.tg2-ct2{padding:22px 26px 30px;min-width:0}
.tg2-ph{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}.tg2-ph h1{font-size:22px;letter-spacing:-.01em;margin:0;color:var(--tg2-tx)}.tg2-ph p{color:var(--tg2-mu);font-size:13px;margin:3px 0 0}
.tg2-qb{width:30px;height:30px;border-radius:50%;border:1px solid #e3d6de;display:grid;place-items:center;color:#5f4f5b;background:#fff;cursor:pointer;flex:none;padding:0}
.tg2-seg{display:flex;background:#fff;border:1px solid var(--tg2-line);border-radius:11px;padding:3px}.tg2-seg button{padding:7px 16px;border-radius:8px;font:600 13px var(--tg2-phong);color:#5a4d57;border:0;background:none;cursor:pointer}.tg2-seg button.on{background:var(--tg2-plt);color:var(--tg2-pl);box-shadow:inset 0 0 0 1px var(--tg2-plb)}
.tg2-wk{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--tg2-line);border-radius:11px;padding:3px 4px;font-weight:700;font-size:13.5px;box-sizing:border-box}.tg2-wk .tg2-x{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#5f4f5b;border:0;background:none;cursor:pointer;padding:0;flex:none}.tg2-wk b{padding:0 8px;white-space:nowrap}
.tg2-kyc{margin-left:auto;display:flex;gap:10px;align-items:center}
.tg2-luoi2{display:grid;grid-template-columns:1.55fr 1fr;gap:16px}
.tg2-luoi2>.tg2-card:first-child{grid-row:span 2}
@media (max-width:1199px){.tg2-ct2{padding:22px 24px 30px}.tg2-luoi2{grid-template-columns:1fr}.tg2-luoi2>.tg2-card:first-child{grid-row:auto}.tg2-kyc{margin-left:0}}
.tg2-wrapm{padding:12px 12px 90px}
.tg2-hi{font-size:18px;font-weight:700;color:#1d151c;display:flex;align-items:center;gap:8px}.tg2-hs{font-size:12.5px;color:#4a3e48;margin:2px 0 10px}
.tg2-cardm{background:#fff;border:1px solid var(--tg2-line);border-radius:14px;overflow:hidden;margin-bottom:12px}.tg2-cardm h3{display:flex;align-items:center;gap:8px;padding:12px 14px 8px;font-size:15px;color:#1d151c;margin:0}.tg2-cardm h3 span{margin-left:auto;font-size:12.5px;color:#4a3e48;font-weight:500}
.tg2-it3{display:flex;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--tg2-line2);text-decoration:none;color:inherit}.tg2-it3 b{display:block;font-size:13.5px;color:#1d151c;line-height:1.35;font-weight:600}.tg2-it3 .tg2-m{font-size:12px;color:#4a3e48;margin-top:2px}.tg2-it3 .tg2-bd{margin-left:auto;flex:none}
.tg2-cardm .tg2-chips{padding:0 14px 8px;margin-bottom:0;gap:6px}
@media (max-width:767px){.tg2-chips{gap:6px;margin-bottom:10px}.tg2-chip{padding:6px 12px;border-radius:9px}.tg2-chip.on{box-shadow:0 2px 0 #321066}}
/* hàng chọn kỳ gọn trên điện thoại (anh chốt: ‹ Tuần 43 · 19/10 – 25/10 › + Tuần/Tháng/Quý + Hôm nay, cả hàng ≤ 44px) */
.tg2-kym{display:flex;gap:6px;align-items:center;height:40px;margin-bottom:10px;position:relative}
.tg2-kym .tg2-wk{flex:1;min-width:0;height:40px;justify-content:space-between;font-size:13px;padding:3px}
.tg2-kym .tg2-wk b{padding:0;overflow:hidden;text-overflow:ellipsis}
.tg2-kym .tg2-wk .tg2-x{width:28px;height:32px}
.tg2-kym>.tg2-btn{height:40px;padding:0 10px;font-size:13px;gap:4px}
.tg2-kyds{position:absolute;right:64px;top:44px;z-index:30;display:flex;flex-direction:column;background:#fff;border:1px solid #cbb8c4;border-radius:12px;box-shadow:0 12px 28px -12px rgba(40,16,80,.4);padding:4px}
.tg2-kyds button{min-height:40px;padding:0 18px;text-align:left;border:0;background:none;border-radius:8px;font:600 13.5px var(--tg2-phong);color:#3a2a36;cursor:pointer}.tg2-kyds button.on{background:var(--tg2-plt);color:var(--tg2-pl)}
.tg2-ghi{font-size:12.5px;color:#4a3e48;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid var(--tg2-line);margin:-4px 0 12px}

/* ═══ BẢNG TẠO MỚI (mẫu bang-chon-loai-*: .sheet .sh1 .sr .tabs3 .t3 .lst .gp .gh .gl2 .it .wrapg .side3) ═══ */
.tg2-cln{position:fixed;inset:0;background:rgba(58,42,54,.72);z-index:90;display:flex;justify-content:center;align-items:flex-start;padding-top:60px;box-sizing:border-box}
.tg2-sheet{background:#fff;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;width:860px;max-width:calc(100vw - 32px);font-family:var(--tg2-phong);max-height:calc(100vh - 90px)}
.tg2-sh1{display:flex;align-items:center;gap:10px;padding:14px 16px 10px;flex:none}.tg2-sh1 h2{font-size:18px;color:#1d151c;margin:0;white-space:nowrap}
.tg2-sh1 .tg2-x{margin-left:auto;width:36px;height:36px;border-radius:10px;border:1px solid #cbb8c4;display:grid;place-items:center;color:#3a2a36;background:#fff;cursor:pointer;flex:none;padding:0}
.tg2-sr{display:flex;gap:8px;align-items:center;padding:10px 12px;border:1.5px solid #cbb8c4;border-radius:11px;color:#5a4d57;font-size:14px;box-sizing:border-box}
.tg2-sh1 .tg2-sr{flex:1;margin:0 0 0 16px}
.tg2-sr input{flex:1;min-width:0;border:0;outline:0;background:none;font:400 14px var(--tg2-phong);color:#1d151c;padding:0}.tg2-sr input::placeholder{color:#5a4d57}
.tg2-wrapg{display:grid;grid-template-columns:200px 1fr;min-height:0;flex:1;overflow:hidden}
.tg2-side3{border-right:1px solid #ebe3e8;padding:10px;overflow-y:auto}
.tg2-side3 button{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;font:600 13.5px var(--tg2-phong);color:#3a2a36;width:100%;border:0;background:none;cursor:pointer;text-align:left}
.tg2-side3 button .tg2-i{color:#5f4f5b}.tg2-side3 button em{margin-left:auto;font-style:normal;font-size:12px;color:#5a4d57}.tg2-side3 button.on{background:#e9e1f8;color:#3f1780}.tg2-side3 button.on .tg2-i{color:#3f1780}
.tg2-tabs3{display:none;gap:6px;padding:10px 16px;overflow-x:auto;border-bottom:1px solid #ebe3e8;flex:none}
.tg2-t3{white-space:nowrap;padding:6px 12px;border-radius:9px;font:600 13px var(--tg2-phong);border:1px solid #cbb8c4;color:#3a2a36;background:#fff;cursor:pointer}.tg2-t3.on{background:#4c1d95;color:#fff;border-color:#4c1d95}
.tg2-lst{overflow-y:auto;padding:4px 18px 16px;min-height:0}
.tg2-gp{margin-top:10px}.tg2-gh{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:#4a3e48;padding:4px 2px 6px}.tg2-gh span{font-size:12px;font-weight:600;color:#5a4d57;background:#ede7f8;padding:0 7px;border-radius:20px}
.tg2-gl2{display:grid;grid-template-columns:var(--cols,1fr 1fr 1fr);gap:6px}
.tg2-gp.tg2-hd2 .tg2-gl2{--cols:1fr 1fr}
.tg2-it{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid #e3d6de;border-radius:10px;background:#fff;font:600 14px var(--tg2-phong);color:#1d151c;min-height:44px;cursor:pointer;text-align:left;text-decoration:none;width:100%;min-width:0;box-sizing:border-box}
.tg2-it .tg2-nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tg2-it .tg2-ii{width:28px;height:28px;border-radius:8px;background:#ede7f8;color:#5a2a4c;display:grid;place-items:center;flex:none}
.tg2-it em{white-space:nowrap;margin-left:auto;font-style:normal;font-size:12px;font-weight:600;color:#5a4d57;background:#f6f1f4;padding:1px 8px;border-radius:20px}
.tg2-it:hover{border-color:#cbb8c4;background:#fdfafc}
.tg2-it.tg2-dk{color:#5a4d57;cursor:default}
.tg2-sheet>.tg2-sr{display:none}
@media (max-width:767px){
  .tg2-cln{padding-top:50px;align-items:flex-end}
  .tg2-sheet{width:100%;max-width:none;border-radius:18px 18px 0 0;max-height:calc(100vh - 50px);height:calc(100vh - 50px)}
  .tg2-sh1{flex-wrap:wrap}
  .tg2-sh1 .tg2-sr{order:3;flex-basis:100%;margin:2px 0 0}
  .tg2-wrapg{display:flex;flex-direction:column;overflow:hidden}
  .tg2-side3{display:none}
  .tg2-tabs3{display:flex}
  .tg2-lst{padding:4px 16px 14px;flex:1}
  .tg2-gl2{--cols:1fr;gap:0;border:1px solid #e3d6de;border-radius:12px;overflow:hidden}
  .tg2-gp.tg2-hd2 .tg2-gl2{display:flex;flex-wrap:wrap;gap:6px;border:0;overflow:visible}
  .tg2-it{border:0;border-radius:0;border-top:1px solid #ede8f6;min-height:46px;font-size:14.5px}.tg2-gl2 .tg2-it:first-child{border-top:0}.tg2-it em{display:none}
  .tg2-gp.tg2-hd2 .tg2-it{border:1px solid #cbb8c4;border-radius:20px;min-height:0;padding:6px 12px 6px 6px;font-size:13.5px;width:auto}.tg2-gp.tg2-hd2 .tg2-it .tg2-ii{width:24px;height:24px;border-radius:50%}
}

/* ═══ TRAO ĐỔI dùng chung (/chung/trao-doi — KHÔNG sửa tệp chung). tg2TrdKhop() đổi cấu trúc từng tin sang đúng mẫu
   (.mg2 = ảnh tắt + bóng có tên, giờ) và chen dòng nhật ký (.ev2); CSS dưới đây đặt giá trị mẫu .chat2 cho phần còn lại. ═══ */
.tg2-chat .tg2-trd{flex:1;min-height:0;display:flex;flex-direction:column}
.tg2-chat .tg2-trd>.trd{flex:1;min-height:0;display:flex;flex-direction:column}
.tg2-chat .trd-dau{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--tg2-line2);font-size:14px;color:#1d151c;flex-wrap:wrap}
.tg2-chat .trd-dau>span{display:flex;align-items:center;gap:8px;min-width:0}.tg2-chat .trd-dau>span span{font-size:12.5px;color:#5a4d57}
.tg2-chat .trd-dau button{margin-left:auto;border:0;background:none;color:var(--tg2-pl);font:600 13px var(--tg2-phong);cursor:pointer;padding:2px 0}
.tg2-chat .trd-dau button[data-trd-lk]{margin-left:0}
.tg2-chat .trd-tv{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px;color:#3d323b}
.tg2-chat .trd-ds{flex:1;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:8px;min-height:0;max-height:none;background:#fff}
.tg2-chat .trd-ngay{align-self:center;font-size:12px;color:#5a4d57;background:#fff;border:1px solid var(--tg2-line);border-radius:11px;padding:2px 10px}
.tg2-chat .trd-moi{align-self:stretch;text-align:center;font-size:12px;font-weight:700;color:var(--tg2-pl);border-top:1px solid var(--tg2-pl);padding-top:4px}
.tg2-chat .trd-rong{margin:auto;color:#5a4d57;font-size:13px;text-align:center;padding:16px}
.tg2-chat .trd-tin{display:flex;gap:8px;max-width:100%;align-self:stretch}
.tg2-chat .trd-tin .tg2-av{width:28px;height:28px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;flex:none}
.tg2-chat .trd-bong{background:#f4eff2;border:0;border-radius:4px 12px 12px 12px;padding:8px 11px;font-size:13px;line-height:1.5;color:#1d151c;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}
.tg2-chat .trd-bong>b:first-child{display:block;font-size:12.5px;white-space:normal}.tg2-chat .trd-bong>b:first-child time{font-weight:400;color:#5a4d57;font-size:12px;margin-left:4px}
.tg2-chat .trd-tin.toi .trd-bong{background:#f3effb}
.tg2-chat .trd-ai{display:none}
.tg2-chat .trd-tep{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;white-space:normal}
.tg2-chat .trd-tep button{display:inline-flex;gap:6px;align-items:center;padding:5px 10px;border-radius:9px;border:1px solid #cbb8c4;background:#fff;font:600 12.5px var(--tg2-phong);color:#3a2a36;cursor:pointer}
.tg2-chat .trd-soan{border-top:1px solid var(--tg2-line2);padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:#fff;flex:none;position:relative}
.tg2-chat .trd-soan textarea{padding:10px 12px;border:1px solid #d9ccd4;border-radius:10px;color:#1d151c;font:400 13px/1.45 var(--tg2-phong);min-height:44px;height:60px;resize:none;width:100%;box-sizing:border-box;outline:0}
.tg2-chat .trd-soan textarea::placeholder{color:#6f5f6b}.tg2-chat .trd-soan textarea:focus{border-color:var(--tg2-pl);height:72px}
.tg2-chat .trd-hang{display:flex;justify-content:space-between;gap:8px;align-items:center}
.tg2-chat .trd-hang .gdc-nut{display:inline-flex;gap:7px;align-items:center;justify-content:center;padding:7px 12px;font:600 13px var(--tg2-phong);border-radius:10px;white-space:nowrap;cursor:pointer;min-height:0;height:auto;line-height:1.2}
.tg2-chat .trd-hang .gdc-nut:not(.chinh){background:#fff;color:#3a2a36;border:1px solid #cbb8c4;box-shadow:0 1px 0 #cbb8c4}
.tg2-chat .trd-hang .gdc-nut.chinh{background:linear-gradient(180deg,#5a27a8,#45198a);color:#fff;border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 0 #321066,0 4px 10px -5px rgba(50,16,102,.55)}
.tg2-chat .trd-hang .gdc-nut svg{width:14px;height:14px}
.tg2-chat .trd-cho{display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px}
.tg2-chat .trd-loi{background:#fdf1f2;color:#8c2c40;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}
.tg2-chat .trd-chi-xem{padding:10px 14px;border-top:1px solid var(--tg2-line2);font-size:13px;color:#5a4d57}
.tg2-chat .tg2-ev{flex:none}
/* tìm chức năng trong tấm Menu: đang tìm ⇒ hiện mọi nhóm có mục khớp */
.tg2-sh.tg2-dang-tim .tg2-gg{display:none}
.tg2-sh.tg2-dang-tim .tg2-pn-nhom.tg2-co-tim{display:block}
.tg2-sh.tg2-dang-tim .tg2-mg2,.tg2-sh.tg2-dang-tim .tg2-sep{display:none}
/* khung xem lật trang dùng chung trong vùng xem tg2: bỏ thanh công cụ, dải trang, mũi tên của XemLat (thanh tg2 điều khiển) */
.tg2-stage .tg2-xl{flex:1;min-width:0;display:flex;flex-direction:column;border:0;border-radius:0;background:transparent;height:100%;max-width:none}
.tg2-stage .tg2-xl .xl-thanh,.tg2-stage .tg2-xl .xl-dai,.tg2-stage .tg2-xl .xl-mui,.tg2-stage .tg2-xl .xl-chu{display:none!important}
.tg2-stage .tg2-xl .xl-khung{background:transparent;min-height:0}
.tg2-stage:has(.tg2-xl){padding:0}
.tg2-stage .tg2-xl .xl-giay{box-shadow:0 8px 24px rgba(40,16,80,.18)}
.tg2-cuon-x{overflow-x:auto}
.tg2-pnl a .so:not(.tg2-ct),.tg2-mi .so:not(.tg2-ct){margin-left:auto;font-size:12px;font-weight:700;padding:1px 7px;border-radius:20px;background:var(--tg2-pl);color:#fff}
@media (max-width:767px){.tg2-stage .tg2-xl{min-height:420px}}
/* một phông cho cả app (vùng chưa chuyển cũng dùng Inter) */
:root{--phong:Inter,sans-serif;--gdc-phong:Inter,sans-serif}
.tg2-nd{min-width:0}
.tg2-nd:focus{outline:0}
.tg2-s4{border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;padding-top:0;padding-bottom:0;padding-left:0}
.tg2-bar{flex-wrap:wrap;gap:8px}
@media (max-width:767px){.tg2-bar{display:flex}.tg2-bar .tg2-btn{flex:none}.tg2-bar .tg2-pri,.tg2-bar .tg2-ok{flex:1}}
/* điện thoại: hàng Trao đổi gọn (mẫu .chatm) thay khung trao đổi */
.tg2-chatm{display:none}
@media (max-width:767px){
  .tg2-rp>.tg2-chat{display:none}
  .tg2-chatm{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--tg2-line);border-radius:14px;padding:10px 12px;font-size:13px;color:#1d151c}
  .tg2-chatm .tg2-lnk{margin-left:auto;padding:6px 4px}
}
.tg2-chi-dt{display:none!important}
@media (max-width:767px){.tg2-chi-dt{display:block!important}.tg2-an-dt{display:none!important}}
.tg2-inf .tg2-ms{padding:0;max-height:none;overflow:visible}
/* ═══ MÀN KÝ (mẫu khuon3-man-ky.html · dien-thoai-man-ky.html): tg2 bao quanh màn ký dùng chung /chung/ky (không sửa tệp chung) ═══ */
.tg2-ky-giu{display:none!important}
#nd.tg2-nd.kyc{padding:0;max-width:none;display:block}
.tg2-kyk .tg2-stage{padding:0;display:flex;flex-direction:column;overflow:hidden}
.tg2-kyk #kyBo{flex:1;display:flex!important;flex-direction:column;align-items:stretch!important;width:100%;max-width:none;min-height:0;margin:0;gap:0;grid-template-columns:none;border:0;background:none;box-shadow:none;padding:0}
.tg2-kyk #kyBo>.ky-dsto,.tg2-kyk #kyBo>#kyDuoi,.tg2-kyk #kyBo>.ky-ben-ngoai{display:none!important}
.tg2-kyk #kyBo .ky-xem,.tg2-kyk #kyXem{flex:1;width:100%;max-width:none;display:flex!important;flex-direction:column;min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none;margin:0;padding:0;position:relative}
.tg2-kyk #kyCong{display:none!important}
.tg2-kyk #kyCuon{flex:1;overflow:auto;background:#e4dde2;padding:16px;min-height:0;max-height:none;height:auto;border:0;border-radius:0}
.tg2-kyk #kyCuon .ky-trang{margin:0 auto;box-shadow:0 8px 24px rgba(40,16,80,.18)}
.tg2-kyk:not(.tg2-ky-xem) .tg2-kbox{display:none}
.tg2-kyk:not(.tg2-ky-xem) #tg2KyCt>summary{display:none}
.tg2-kyk:not(.tg2-ky-xem) #tg2KyCt{padding-top:12px}
.tg2-kyk.tg2-ky-xem #kyBen .ky-k-chinh,.tg2-kyk.tg2-ky-xem #kyBen .ky-hai-nut{display:none!important}
.tg2-kyk:not(.tg2-ky-co-chat) #tg2KyChat,.tg2-kyk:not(.tg2-ky-co-chat) #tg2KyChatM{display:none!important}
.tg2-kyk #kyChat{flex:1;display:flex;flex-direction:column;min-height:0;margin:0;border:0;padding:0;background:none;box-shadow:none;border-radius:0}
.tg2-kyk #kyChat>.khoi-dau{display:none}
.tg2-kyk #kyChat .ky-chat-than{flex:1;min-height:0;display:flex;flex-direction:column;padding:0}
.tg2-kyk #kyChat .ky-chat-than>.trd{flex:1;min-height:0;display:flex;flex-direction:column}
.tg2-kbox .tg2-mut{margin:0;font-size:12.5px}
/* phần chi tiết của màn chung trong ô "Vị trí chữ ký, chứng thư" (khối cũ của tệp chung — chỉ đặt cỡ chữ, khoảng cách theo tg2) */
#tg2KyBen #kyBen{display:flex;flex-direction:column;gap:10px;font-size:13px;font-weight:400}
#tg2KyBen .khoi{border:0;box-shadow:none;padding:0;margin:0;background:none;border-radius:0}
#tg2KyBen .khoi-dau{padding:0;margin:0 0 6px;border:0;background:none}#tg2KyBen .khoi-dau h2{font-size:13px;font-weight:700;color:#4a3e48;margin:0}
#tg2KyBen .than-khoi{padding:0}
#tg2KyBen .bao{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:10px;font-size:12.5px;line-height:1.45;margin:0;background:#f0f5fb;border:1px solid #d4e1f2;color:#2c4a7e}
#tg2KyBen .bao.canh-bao{background:#fdf6ec;border-color:#f0dcc0;color:#6b3f0e}#tg2KyBen .bao.xong{background:#eaf6f4;border-color:#c3e4e0;color:#1a5e5a}#tg2KyBen .bao.loi{background:#fdf1f2;border-color:#f1d0d5;color:#8c2c40}
#tg2KyBen .nut{display:inline-flex;gap:7px;align-items:center;justify-content:center;padding:7px 12px;font:600 13px var(--tg2-phong);border-radius:10px;background:#fff;color:#3a2a36;border:1px solid #cbb8c4;box-shadow:0 1px 0 #cbb8c4;min-height:0;height:auto;cursor:pointer}
#tg2KyBen .nut.chinh{background:linear-gradient(180deg,#2f9a8f,#23807a);color:#fff;border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 2px 0 #1a625d}
#tg2KyBen .nut.rong{width:100%}
#tg2KyBen .ky-luat{margin:6px 0 8px 18px;padding:0;font-size:12.5px;color:#3d323b;line-height:1.5}
#tg2KyBen .c13,#tg2KyBen .c12,#tg2KyBen .chu-phu{font-size:12.5px}
#tg2KyBen .dem-nguoc{font-size:22px;font-weight:700;color:#4c1d95;text-align:center}
.tg2-chi-dt-in{display:none}
@media (max-width:767px){
  .tg2-chi-dt-in{display:inline}
  .tg2-kyk .tg2-stage{margin:10px 12px;display:block;overflow:visible;background:#fff}
  .tg2-kyk #kyCuon{background:#fff;padding:0;overflow:visible}
  .tg2-kyk #kyCuon .ky-trang{box-shadow:none}
  .tg2-kyk #tg2KyChat{display:none}
  .tg2-kyk #tg2KyChat.mo{display:flex;min-height:380px}
  .tg2-kyk .tg2-bar .tg2-chi-ic{padding:10px}.tg2-kyk .tg2-bar .tg2-chi-ic .tg2-nhan{display:none}
  .tg2-kyk .tg2-tabs[hidden]{display:none}
}
/* ═══ TRANG CHỦ — phần riêng (theo thang mẫu: khoảng cách 16 giữa khối, thẻ .card, bảng .tbg) ═══ */
.tg2-tch .tg2-tam{margin-left:auto}
.tg2-tch-phan{margin-top:16px}
.tg2-tch-phan:first-of-type{margin-top:0}
.tg2-luoi2b{margin-top:16px;grid-template-columns:1fr 1fr}.tg2-luoi2b>.tg2-card:first-child{grid-row:auto}
.tg2-tch-sec{display:flex;align-items:center;gap:10px;margin:8px 0 12px;flex-wrap:wrap}.tg2-tch-sec h2{font-size:17px;margin:0;color:var(--tg2-tx)}.tg2-tch-sec .tg2-r{margin-left:auto;display:flex;gap:8px}
.tg2-kp5{grid-template-columns:repeat(5,1fr)}.tg2-kp4{grid-template-columns:repeat(4,1fr)}
.tg2-tch .tg2-card{margin-bottom:0}
.tg2-tch .tg2-card+.tg2-luoi2b,.tg2-tch .tg2-kp+.tg2-card{margin-top:0}
.tg2-tch .tg2-tch-phan>.tg2-card{margin-bottom:16px}
.tg2-tip{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--tg2-line2);font-size:13.5px;color:#1d151c;line-height:1.45}.tg2-tip:first-child{border-top:0}
.tg2-tip>div{flex:1;min-width:0}.tg2-tip>.tg2-btn{flex:none}
.tg2-lich{padding:8px 0;border-top:1px solid var(--tg2-line2);font-size:13px}.tg2-lich:first-child{border-top:0}.tg2-lich>span{flex:1;min-width:0}.tg2-lich .tg2-bd{margin-left:auto}
.tg2-lich.tg2-qua{color:#5a4d57}
.tg2-xl{display:grid;grid-template-columns:130px 1fr 32px;gap:10px;align-items:center;padding:6px 0;font-size:13px}.tg2-xl b{text-align:right}
.tg2-tv{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none}.tg2-tv b{display:block}
.tg2-sap{border:0;background:none;padding:0;font:600 12px var(--tg2-phong);color:#5a4d57;cursor:pointer}.tg2-sap.on{color:var(--tg2-pl)}
.tg2-tbg td .tg2-mut{display:block;margin-top:2px}
.tg2-tbg .tg2-pbx{margin-bottom:4px}
.tg2-gon{margin:10px 0 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tg2-chon-dv{max-width:420px;margin:0 0 12px;background:#fff}.tg2-chon-dv select{flex:1;min-width:0;border:0;outline:0;background:none;font:500 14px var(--tg2-phong);color:#1d151c}
.tg2-it3-ds{margin:0 -14px}
.tg2-it3-ds>.tg2-it3:first-child{border-top:0}
button.tg2-it3{width:100%;border:0;border-top:1px solid var(--tg2-line2);background:none;text-align:left;font-family:var(--tg2-phong);cursor:pointer}
.tg2-it3>div{flex:1;min-width:0}
@media (max-width:1199px){.tg2-kp5{grid-template-columns:repeat(3,1fr)}.tg2-kp4{grid-template-columns:repeat(2,1fr)}.tg2-luoi2b{grid-template-columns:1fr}}
@media (max-width:767px){
  .tg2-tch.tg2-ct2{padding:12px 12px 90px}
  .tg2-tch .tg2-tam{display:none}
  .tg2-tch .tg2-card{border-radius:14px;box-shadow:none}.tg2-tch .tg2-card:before{display:none}
  .tg2-tch .tg2-cdh{padding:12px 14px 8px}.tg2-tch .tg2-cdh .tg2-ti{display:none}.tg2-tch .tg2-cdh>.tg2-mut{margin-left:auto}
  .tg2-tch .tg2-cb{padding:0 14px 12px}
  .tg2-luoi2,.tg2-luoi2b{gap:12px;margin-top:12px}
  .tg2-tch-phan{margin-top:12px}
  .tg2-kp5,.tg2-kp4{grid-template-columns:1fr 1fr}
  .tg2-tch .tg2-hi .tg2-qb{width:28px;height:28px}
  .tg2-xl{grid-template-columns:110px 1fr 28px}
}
@media (max-width:767px){
  .tg2-kym{gap:6px}.tg2-kym .tg2-wk{padding:3px 2px}.tg2-kym .tg2-wk .tg2-x{width:24px}
  .tg2-kym>.tg2-btn{padding:0 9px}
  .tg2-k .tg2-n.tg2-dai{white-space:nowrap}
}
/* ô gõ tìm của bảng Tạo mới / chọn đơn vị: bỏ khung ô nhập cũ, viền nhấn nằm ở cả ô (mẫu .sr) */
.tg2-sr input,.tg2-sr select{border:0!important;box-shadow:none!important;outline:0!important;height:auto;min-height:0;padding:0;background:none;border-radius:0}
.tg2-sr:focus-within{border-color:#4c1d95;box-shadow:0 0 0 3px #f3effb}
.tg2-it .tg2-nm{flex:1 1 auto;min-width:40%}
.tg2-it em{flex:0 1 auto;min-width:0;max-width:55%;overflow:hidden;text-overflow:ellipsis}
.tg2-side3 button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* ═══ chỉnh theo bộ so số đo mẫu (so-mau2.js) ═══ */
/* mẫu không đặt line-height (mặc định "normal" của Inter); thân trang cũ đặt var(--dong) ⇒ vùng tg2 trả về normal */
.tg2-hd,.tg2-rail,.tg2-pnl,.tg2-k3,.tg2-ct2,.tg2-sheet,.tg2-sh,.tg2-day,.tg2-cln{line-height:normal}
.tg2-tt h1{line-height:normal}
.tg2-chat .trd-dau button{height:auto;min-height:0;border:0;border-radius:0;padding:0;background:none;line-height:normal}
.tg2-chat .trd-dau button:hover{background:none;text-decoration:underline}
.tg2-chat .trd-dau{line-height:normal}
@media (max-width:767px){.tg2-bar .tg2-btn{font-size:13.5px}}
/* trang chủ máy tính giữ lưới mẫu (6 ô KPI, 2 cột thẻ) từ 1024 trở lên; chỉ dưới 1024 mới xếp lại */
@media (max-width:1199px) and (min-width:1024px){.tg2-kp{grid-template-columns:repeat(6,1fr)}.tg2-kp5{grid-template-columns:repeat(5,1fr)}.tg2-kp4{grid-template-columns:repeat(4,1fr)}
  .tg2-luoi2{grid-template-columns:1.55fr 1fr}.tg2-luoi2>.tg2-card:first-child{grid-row:span 2}.tg2-luoi2b{grid-template-columns:1fr 1fr}.tg2-ct2{padding:22px 26px 30px}.tg2-kyc{margin-left:auto}}
/* biểu đồ tự vẽ (bieu-do.js) trong thẻ tg2: chú thích theo mẫu (12px, chữ phụ) */
.tg2-cb .bd{display:block;overflow:visible;max-width:100%}
.tg2-cb .bd-chu-thich{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px;font-size:12px;color:#5a4d57}
.tg2-cb .bd-chu-thich span{display:inline-flex;align-items:center;gap:6px}
.tg2-cb .bd-chu-thich i{display:inline-block;width:14px;height:3px;border-radius:2px}
.tg2-cb .bd-chu-thich i.cot{width:10px;height:10px;border-radius:3px}
.tg2-cb .bd-chu-thich i.dut{background:repeating-linear-gradient(90deg,var(--c) 0 4px,transparent 4px 7px)!important}
/* bảng Việc của tôi: dưới 1200px bỏ cột nút (bấm cả dòng mở đúng màn của nút) — tên việc đủ chỗ như mẫu */
@media (max-width:1199px){.tg2-tbg .tg2-cot-nut{display:none}}
.tg2-acc{flex-wrap:wrap}.tg2-acc .tg2-btn{flex:1 1 auto;min-width:0}
.tg2-stage .tg2-xl{align-items:stretch!important}.tg2-stage .tg2-xl .xl-khung{width:100%;flex:1 1 auto}.tg2-stage .tg2-xl .xl-bao-o:empty{display:none}
/* tương phản (bộ đo tiêu chí 3): số chuông, nút Ký chữ trắng ≥ 4,5:1 */
.tg2-bell .tg2-so{background:#c21d44}
.tg2-ok{background:linear-gradient(180deg,#24807a,#1c6b66)}
#tg2KyBen .tt{font-size:12px}
/* ô số trang gõ được (mẫu "Trang 1 / 1" đậm) */
.tg2-so-o{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:#1d151c;white-space:nowrap}
.tg2-so-o input{width:auto;min-width:1.4em;max-width:3.5em;border:1px solid transparent;border-radius:6px;background:none;font:600 13px var(--tg2-phong);color:#1d151c;text-align:center;padding:2px 2px;height:auto;min-height:0;box-shadow:none}
.tg2-so-o input:hover,.tg2-so-o input:focus{border-color:#cbb8c4;outline:0;background:#fff}
.tg2-dh .tg2-qb{flex:none}
/* khối cũ đã chuyển nằm trong ô thu gọn (tg2Chuyen): bỏ khung, chỉ giữ tiêu đề nhỏ */
.tg2-khoi{margin:0 0 12px}.tg2-khoi:last-child{margin-bottom:0}
.tg2-khoi-dau{display:flex;align-items:center;gap:8px;margin:0 0 6px;flex-wrap:wrap}.tg2-khoi-dau h2,.tg2-khoi-dau h3{font-size:13px;font-weight:700;color:#4a3e48;margin:0}
.tg2-inb h3{font-size:13px;font-weight:700;color:#4a3e48;margin:12px 0 4px}
.tg2-inb p{margin:4px 0}
.tg2-tep-ds .tg2-tep:last-child{border-bottom:0}
.tg2-tep .tt-ic{color:#5f4f5b}.tg2-tep .tt-chu{flex:1;min-width:0;display:flex;flex-direction:column}.tg2-tep .tt-ten{border:0;background:none;padding:0;text-align:left;font:600 13px var(--tg2-phong);color:#1d151c;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tg2-tep .tt-phu{font-size:12px;color:#5a4d57}.tg2-tep .tt-nut{display:flex;gap:6px;flex-wrap:wrap}
.tg2-k3-trai{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px}
.tg2-k3-khong-xem .tg2-body{grid-template-columns:minmax(0,1fr) 360px}
@media (max-width:1200px){.tg2-k3-khong-xem .tg2-body{grid-template-columns:minmax(0,1fr) 320px}}
@media (max-width:767px){.tg2-k3-trai{padding:10px 12px;overflow:visible}}
/* điện thoại: thanh nút ≥ 3 nút ⇒ nút phụ chỉ icon (có chú thích), một hàng; nút chính và nút trả lại / yêu cầu sửa giữ chữ */
@media (max-width:767px){.tg2-bar-gon{flex-wrap:nowrap}.tg2-bar-gon .tg2-btn:not(.tg2-pri):not(.tg2-ok):not(.tg2-warn){padding:10px}.tg2-bar-gon .tg2-btn:not(.tg2-pri):not(.tg2-ok):not(.tg2-warn) .tg2-nhan{display:none}
  .tg2-bar-gon .tg2-warn{flex:none}}
/* ô nhập (mẫu .tx2: viền #d9ccd4, bo 10, chữ 13–14) — dùng cho ô nhập của các màn đã chuyển */
.tg2-o{padding:9px 12px;border:1px solid #d9ccd4;border-radius:10px;color:#1d151c;font:400 14px var(--tg2-phong);background:#fff;min-height:40px;box-sizing:border-box;max-width:100%}
textarea.tg2-o{min-height:72px;line-height:1.45;width:100%}
.tg2-o:focus{outline:0;border-color:var(--tg2-pl);box-shadow:0 0 0 3px var(--tg2-plt)}
.tg2-o.sai,.tg2-o[aria-invalid="true"]{border-color:#b03d55;box-shadow:0 0 0 3px #fbe6ea}
.tg2-tt-ds{display:flex;gap:6px;flex:none;flex-wrap:wrap}.tg2-tt-ds a.tg2-bd{text-decoration:none}
@media (max-width:767px){.tg2-r1>.tg2-tt-ds{display:none}}
.tg2-ms .tg2-ev .tg2-bd{margin-left:auto}
/* ô viết trao đổi (mẫu .tx2) */
.tg2-tx{padding:10px 12px;border:1px solid #d9ccd4;border-radius:10px;color:#1d151c;font:400 13px/1.45 var(--tg2-phong);min-height:44px;resize:vertical;width:100%;box-sizing:border-box;outline:0}
.tg2-tx::placeholder{color:#6f5f6b}.tg2-tx:focus{border-color:var(--tg2-pl);box-shadow:0 0 0 3px var(--tg2-plt)}
.tg2-mg{display:flex;gap:8px}.tg2-bb{background:#f4eff2;border-radius:4px 12px 12px 12px;padding:8px 11px;font-size:13px;line-height:1.5;color:#1d151c;min-width:0;overflow-wrap:anywhere}.tg2-bb b{display:block;font-size:12.5px}.tg2-bb time{font-weight:400;color:#5a4d57;font-size:12px;margin-left:4px}
.tg2-mg.me .tg2-bb{background:#f3effb}
.tg2-cv .tg2-k3-trai>.tg2-card,.tg2-cv .tg2-rp>.tg2-card{flex:none}
.tg2-cv .tg2-cv-td .tg2-cb{padding:0}.tg2-cv .tg2-cv-td .tg2-in{border-top:1px solid var(--tg2-line2)}
.tg2-cv .tg2-cv-td .tg2-ms{max-height:360px}
@media (max-width:767px){.tg2-cv .tg2-k3-trai{padding:10px 12px 0}.tg2-cv .tg2-rp{padding:10px 12px}}
/* câu báo của trình xem chung trên nền khung xem sáng (mẫu .stage #e4dde2): chữ tối, nút phụ mẫu */
.tg2-stage .tg2-xl .xl-tb{color:#1d151c}.tg2-stage .tg2-xl .xl-tb b{color:#1d151c}
.tg2-stage .tg2-xl .xl-tb .xl-nut,.tg2-stage .tg2-xl .xl-tb button{color:#3a2a36;background:#fff;border:1px solid #cbb8c4;box-shadow:0 1px 0 #cbb8c4;border-radius:10px;padding:7px 12px;font:600 13px var(--tg2-phong);cursor:pointer}
/* ═══ KHUNG TRANG + THÀNH PHẦN DANH SÁCH (mẫu khuon2-danh-sach.html, khuon2b-bang-tien-trinh.html) ═══ */
/* Phần 3: mọi màn cùng một khung — lề 24 (máy tính) / 16 (iPad) / 12 (điện thoại), không giới hạn bề ngang, không tràn ngang */
#nd.tg2-trang{padding:20px 24px 30px;max-width:none;margin:0;min-width:0;box-sizing:border-box;overflow-x:clip}
@media (max-width:1199px){#nd.tg2-trang{padding:20px 16px 30px}}
@media (max-width:767px){#nd.tg2-trang{padding:12px 12px 90px}}
#nd.tg2-trang > *{max-width:100%;box-sizing:border-box}
#nd.tg2-trang table{max-width:100%}
.tg2-cuon-x{overflow-x:auto;max-width:100%}
/* đầu màn (mẫu .ph): tên 22px + "?" + mô tả 13px; nút bên phải */
.tg2-ph.tg2-dau-man{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap;background:none;border:0;padding:0;box-shadow:none}
.tg2-ph-chu{min-width:0;flex:1 1 auto}
.tg2-ph h1{font-size:22px;letter-spacing:-.01em;margin:0;color:var(--tg2-tx);display:flex;gap:10px;align-items:center;font-weight:700;line-height:1.25}
.tg2-ph p{color:var(--tg2-mu);font-size:13px;margin:3px 0 0}
.tg2-phai{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tg2-phai:empty{display:none}
@media (max-width:767px){.tg2-ph h1{font-size:18px}.tg2-ph.tg2-dau-man{gap:8px;margin-bottom:12px}.tg2-phai{margin-left:0;width:100%}.tg2-ph p{font-size:12.5px}}
/* ô KPI gọn kiêm lọc (mẫu khuon2: .k hàng ngang, đệm 11/14, số 20, nhãn 12.5) */
.tg2-kp.tg2-kp-gon{grid-template-columns:repeat(var(--tg2-kn,4),minmax(0,1fr));margin-bottom:16px}
.tg2-kp-gon .tg2-k{display:flex;gap:12px;align-items:center;padding:11px 14px;min-height:0}
.tg2-kp-gon .tg2-k .tg2-ic{margin:0}.tg2-kp-gon .tg2-k .tg2-n{font-size:20px}.tg2-kp-gon .tg2-k .tg2-l{margin:0;font-size:12.5px;font-weight:600;line-height:1.25}
.tg2-kp-gon .tg2-k>div:last-child{min-width:0}
.tg2-k.tinh{cursor:default}
@media (max-width:1023px){.tg2-kp.tg2-kp-gon{grid-template-columns:repeat(min(var(--tg2-kn,4),3),minmax(0,1fr))}}
@media (max-width:767px){.tg2-kp.tg2-kp-gon{grid-template-columns:1fr 1fr}}
/* thanh lọc (mẫu .fbar2) — nằm ở đầu khối bảng: nền trắng, viền, bo trên */
.tg2-loc{display:flex;gap:8px;align-items:center;padding:12px 14px;background:#fff;border:1px solid var(--tg2-line);border-radius:14px 14px 0 0;border-bottom-color:var(--tg2-line2);flex-wrap:wrap;position:relative}
.tg2-loc + *{margin-top:0}
.tg2-loc-dau{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.tg2-loc-dau .tg2-chips{margin:0}
.tg2-loc-tim{flex:1 1 220px;min-width:180px;padding:8px 12px;border:1px solid var(--tg2-line);font-size:13px}
.tg2-loc-gian{flex:1}
.tg2-loc .nut-loc em.dem,.tg2-loc em.dem{font-style:normal;font-size:12px;padding:0 7px;border-radius:20px;background:var(--tg2-pl);color:#fff}
.tg2-loc-them{display:none;position:absolute;right:14px;top:calc(100% + 6px);z-index:35;width:min(560px,calc(100vw - 32px));background:#fff;border:1px solid var(--tg2-line);border-radius:14px;box-shadow:0 16px 32px -14px rgba(40,16,80,.45)}
.tg2-loc-them.mo{display:block}
.tg2-loc-than{padding:0 16px 8px;display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto}
.tg2-loc-nhom{display:flex;flex-direction:column;gap:6px}.tg2-loc-nhan{font-size:12.5px;font-weight:700;color:#4a3e48}
.tg2-loc-nhom .tg2-chips{margin:0}
.tg2-loc-ngay{flex-direction:row;gap:12px;flex-wrap:wrap}.tg2-loc-o{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;color:#4a3e48}
.tg2-loc-nen{display:none}
.tg2-hop-chan{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--tg2-line2)}
@media (max-width:767px){
  .tg2-loc{padding:10px;border-radius:14px 14px 0 0}
  .tg2-loc-dau{flex-wrap:nowrap;overflow-x:auto;width:100%}.tg2-loc-dau .tg2-chips{flex-wrap:nowrap}
  .tg2-loc-tim{min-width:0;flex:1 1 auto}
  .tg2-loc .nut-dat-lai .tg2-nhan{display:none}
  .tg2-loc-them{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;border-radius:18px 18px 0 0;z-index:85;max-height:80vh}
  .tg2-loc-them.mo ~ .tg2-loc-nen{display:block;position:fixed;inset:0;background:rgba(58,42,54,.55);z-index:84}
}
/* chip gọn (mẫu .chip) — dùng cho hàng chip của bộ dựng chung */
.tg2-chips-gon{margin-bottom:0}
.tg2-chip em.sl{font-style:normal;font-size:12px;padding:0 7px;border-radius:20px;background:#ece6f7;color:var(--tg2-pl)}.tg2-chip.on em.sl{background:rgba(255,255,255,.22);color:#fff}
/* dòng danh sách (mẫu hàng bảng .card table tr) */
.tg2-ds-khung{border-radius:0 0 14px 14px;border-top:0}
.tg2-ds-khung:before{display:none}
.tg2-loc + .tg2-ds-khung,.tg2-loc + * > .tg2-ds-khung:first-child{border-top:0}
*:not(.tg2-loc) + .tg2-ds-khung,.tg2-ds-khung:first-child{border-radius:14px;border-top:1px solid var(--tg2-line)}
.tg2-dhs{display:grid;grid-template-columns:32px minmax(min(240px,45%),1fr) auto auto;gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--tg2-line2);font-size:13.5px;color:#1d151c;background:#fff}
.tg2-dhs:nth-child(even){background:#fdfbfc}
.tg2-dhs[role=link]{cursor:pointer}.tg2-dhs[role=link]:hover{background:var(--tg2-plt)}
.tg2-dhs:last-child{border-bottom:0}
.tg2-dhs.co-xc{grid-template-columns:auto 32px minmax(min(240px,45%),1fr) auto auto}
.tg2-dhs-ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#efe9fa;color:#4c1d95}
.tg2-dhs-ten{min-width:0}.tg2-dhs-d1{display:flex;gap:8px;align-items:center;min-width:0}.tg2-dhs-d1 b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tg2-dhs-phu{font-size:12.5px;color:var(--tg2-mu);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg2-ma{font-size:12.5px;font-weight:700;color:#5a4d57;white-space:nowrap}
.tg2-dhs-nhan{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.tg2-dhs-nut{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.tg2-pg2{padding:12px 16px;border-top:1px solid var(--tg2-line2);font-size:12.5px;color:var(--tg2-mu);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media (max-width:767px){
  .tg2-dhs{grid-template-columns:32px minmax(0,1fr);gap:4px 10px;padding:10px 12px}
  .tg2-dhs.co-xc{grid-template-columns:auto 32px minmax(0,1fr)}
  .tg2-dhs-nhan,.tg2-dhs-nut{grid-column:2 / -1;justify-content:flex-start}
  .tg2-dhs.co-xc .tg2-dhs-nhan,.tg2-dhs.co-xc .tg2-dhs-nut{grid-column:3}
  .tg2-dhs-d1 b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}
/* bảng tiến trình 2b (mẫu .tt) */
.tg2-tt2 th{vertical-align:bottom}
.tg2-tt2 th.tg2-tc,.tg2-tt2 td.tg2-tc{width:70px;text-align:center;padding-left:0;padding-right:0;position:relative}
.tg2-cotn{display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:5px 4px;border-radius:9px;width:66px;border:0;background:none;cursor:pointer;font-family:var(--tg2-phong)}
.tg2-cotn b{font-size:16px;color:#3d2f3a}.tg2-cotn span{white-space:normal;line-height:1.2;text-align:center;font-size:12px;font-weight:600;color:#5a4d57}
.tg2-cotn.sel{background:var(--tg2-plt);box-shadow:inset 0 0 0 1px var(--tg2-plb)}.tg2-cotn.sel b,.tg2-cotn.sel span{color:var(--tg2-pl)}
.tg2-ln{position:absolute;left:0;right:50%;top:50%;height:2px;background:#ece3e8;transform:translateY(-50%)}.tg2-ln.first{display:none}.tg2-ln.on{background:#8ccfcb}
.tg2-dt{position:relative;z-index:1;display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #ddd6ea;color:#fff;vertical-align:middle;box-sizing:border-box}
.tg2-dt.d{background:#25787a;border-color:#25787a;width:16px;height:16px}.tg2-dt.c{width:20px;height:20px;background:#a8661f;border-color:#fff;box-shadow:0 0 0 3px #f6dfbf}.tg2-dt.r{width:20px;height:20px;background:#b03d55;border-color:#fff;box-shadow:0 0 0 3px #f6d3da}
.tg2-cl1{display:flex;gap:8px;align-items:center;margin-bottom:4px}.tg2-cd{font-size:12px;font-weight:700;color:#5a4d57;white-space:nowrap}.tg2-nd2{font-weight:600;display:block}.tg2-mn{font-weight:700;white-space:nowrap}
.tg2-go{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--tg2-line);color:#5a4d57;background:#fff;cursor:pointer}
.tg2-who{font-weight:600;font-size:13px;white-space:nowrap}.tg2-wt2{font-size:12px;color:var(--tg2-mu)}.tg2-wt2.w-ro{color:#b03d55;font-weight:600}.tg2-wt2.w-me{color:var(--tg2-pl);font-weight:600}.tg2-wt2.w-late{color:#8a5212;font-weight:600}
.tg2-tbg tr.hl td{background:#fdf7fa}
.tg2-dots{display:inline-flex;gap:4px}.tg2-dots i{width:9px;height:9px;border-radius:50%;background:#e7dde3}.tg2-dots i.d{background:#48a4a2}.tg2-dots i.c{background:#d39c52;box-shadow:0 0 0 3px #f8ead6}.tg2-dots i.r{background:#b03d55}
/* bảng tg2-ds điện thoại: mỗi hàng thành dòng gọn có nhãn cột */
@media (max-width:767px){
  .tg2-ds thead{display:none}.tg2-ds,.tg2-ds tbody,.tg2-ds tr,.tg2-ds td{display:block;width:auto}
  .tg2-ds tr{padding:10px 12px;border-bottom:1px solid var(--tg2-line2)}.tg2-ds td{padding:2px 0;border:0;text-align:left!important;background:none!important}
  .tg2-ds td[data-nh]:not(:nth-child(-n+2))::before{content:attr(data-nh) ": ";color:var(--tg2-mu);font-size:12px}
}
/* ô chọn đơn vị gõ tìm */
.tg2-dv{position:relative;max-width:420px;background:#fff}.tg2-dv input{flex:1;min-width:0}
.tg2-dv-ds{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;background:#fff;border:1px solid var(--tg2-line);border-radius:12px;box-shadow:0 16px 32px -14px rgba(40,16,80,.45);max-height:320px;overflow-y:auto;padding:4px}
.tg2-dv-muc{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:8px 10px;border:0;background:none;border-radius:8px;font:500 13.5px var(--tg2-phong);color:#1d151c;cursor:pointer;text-align:left}
.tg2-dv-muc small{font-size:12px;color:var(--tg2-mu)}.tg2-dv-muc.on,.tg2-dv-muc.tro{background:var(--tg2-plt);color:var(--tg2-pl)}
/* hộp thoại tg2 */
.tg2-hopn{position:fixed;inset:0;background:rgba(58,42,54,.55);z-index:95;display:flex;justify-content:center;align-items:flex-start;padding:60px 16px 16px;box-sizing:border-box;overflow-y:auto}
.tg2-hop{background:#fff;border-radius:18px;width:560px;max-width:100%;display:flex;flex-direction:column;font-family:var(--tg2-phong);color:var(--tg2-tx);line-height:normal;max-height:calc(100vh - 80px)}
.tg2-hop.rong{width:860px}
.tg2-hop-than{padding:4px 16px 16px;overflow-y:auto;font-size:13.5px;line-height:1.5;display:flex;flex-direction:column;gap:10px}
.tg2-hop-than p{margin:0}
.tg2-hop-than .tg2-o{width:100%}
@media (max-width:767px){.tg2-hopn{padding:50px 0 0;align-items:flex-end}.tg2-hop,.tg2-hop.rong{width:100%;border-radius:18px 18px 0 0;max-height:calc(100vh - 50px)}}
/* thông báo nổi */
.tg2-noi{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:120;display:flex;gap:9px;align-items:flex-start;max-width:min(560px,calc(100vw - 32px));padding:10px 14px;border-radius:12px;background:#eaf6f4;border:1px solid #c3e4e0;color:#1a5e5a;font:500 13.5px/1.45 var(--tg2-phong);box-shadow:0 12px 28px -14px rgba(40,16,80,.45);transition:opacity .3s}
.tg2-noi.tg2-loi{background:#fdf1f2;border-color:#f1d0d5;color:#8c2c40}
@media (max-width:767px){.tg2-noi{bottom:92px}}
/* nút đang chờ máy chủ */
.tg2-quay{width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tg2q .8s linear infinite;flex:none}
@keyframes tg2q{to{transform:rotate(360deg)}}
/* khung đang tải, khối rỗng, danh sách nhật ký */
.tg2-xuong .tg2-cb{padding:18px;display:flex;flex-direction:column;gap:12px}.tg2-xuong i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#f1eaee,#f8f4f6,#f1eaee);background-size:200% 100%;animation:tg2x 1.2s linear infinite}
@keyframes tg2x{to{background-position:-200% 0}}
.tg2-trong-khoi{background:#fff;border:1px solid var(--tg2-line);border-radius:14px;padding:22px 16px}
.tg2-trong-khoi b{display:block;font-size:15px;color:var(--tg2-tx);margin-bottom:4px}.tg2-trong-khoi p{margin:0 0 10px}
.tg2-ls{list-style:none;margin:0;padding:0;font-size:13px}.tg2-ls li{padding:6px 0;border-bottom:1px solid var(--tg2-line2)}.tg2-ls li:last-child{border-bottom:0}
.tg2-loi-o{color:#8c2c40;font-size:12.5px}
/* khối cũ đổi tại chỗ ở màn chưa dựng riêng: thẻ mẫu */
#nd .tg2-khoi:not(.tg2-inb .tg2-khoi){background:#fff;border:1px solid var(--tg2-line);border-radius:14px;box-shadow:0 6px 18px -15px rgba(54,18,110,.45);padding:0;margin:0 0 16px;overflow:hidden}
#nd .tg2-khoi:not(.tg2-inb .tg2-khoi) > .tg2-khoi-dau{padding:15px 18px 11px;margin:0}
#nd .tg2-khoi:not(.tg2-inb .tg2-khoi) > .tg2-khoi-dau h2{font-size:15px;color:var(--tg2-tx)}
#nd .tg2-khoi:not(.tg2-inb .tg2-khoi) > .tg2-khoi-than{padding:0 18px 16px}
#nd .tg2-khoi:not(.tg2-inb .tg2-khoi) > .tg2-cuon-x{padding:0 0 4px}
.tg2-ttb .tg2-btn{padding:5px 9px;font-size:12.5px}
/* ═══ Phần 4c — Ô SỐ LIỆU trong nội dung (mẫu dien-thoai-o-so-lieu.html: .cd .sum .rw .note) — mọi khổ ═══ */
.tg2-cd{background:#fff;border:1px solid #e3d6de;border-radius:14px;overflow:hidden;margin-bottom:12px;position:relative}
.tg2-cd:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#6331b8,#4c1d95)}
.tg2-cd h3{display:flex;align-items:center;gap:8px;padding:13px 14px 9px;font-size:15px;color:#1d151c;margin:0}.tg2-cd h3 .tg2-i{color:#4c1d95}
.tg2-sum{display:flex;align-items:center;gap:12px;margin:0 14px 10px;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,#f7f3fd,#ece4f8);border:1.5px solid #dccff1}
.tg2-so-lon{font-size:30px;font-weight:800;color:#4c1d95;line-height:1}.tg2-so-lon small{font-size:14px;color:#5a4d57;font-weight:600}.tg2-sum .tg2-bd{margin-left:auto}
.tg2-lb{font-size:12.5px;color:#4a3e48;font-weight:600}
.tg2-rw{display:flex;align-items:center;padding:10px 14px;border-top:1px solid #ede8f6;font-size:14px;color:#1d151c}.tg2-rw span{color:#3d323b}.tg2-rw b{margin-left:auto;font-size:15px;font-variant-numeric:tabular-nums}
.tg2-rw em{font-style:normal;font-size:12px;color:#5a4d57;margin-left:8px;min-width:64px;text-align:right}
.tg2-rw.tot{background:#faf6f8;font-weight:700}.tg2-rw.tot b{color:#4c1d95;font-size:17px}
.tg2-note{padding:10px 14px 13px;font-size:12.5px;color:#4a3e48;line-height:1.5;border-top:1px solid #ede8f6}
@media (min-width:1024px){.tg2-so{max-width:720px}}
/* đường dẫn thư mục (Kho văn bản…) — cách ô tìm phía trên, chữ 13px */
#nd.tg2-trang .duong-dan{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:12px 0 10px;font-size:13px;color:var(--tg2-mu);line-height:normal}
#nd.tg2-trang .duong-dan b{color:var(--tg2-tx);font-weight:600}
/* chân danh sách cũ (htmlChan: .chan-khoi.chan-trang) nằm trong .tg2-pg2 ⇒ bỏ khung/đường kẻ riêng, trải hết bề ngang */
.tg2-pg2 > .chan-khoi{flex:1 1 100%;border:0;padding:0;margin:0;font-size:12.5px;color:var(--tg2-mu);display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.tg2-pg2 .trang-nut{display:flex;gap:6px;align-items:center}
/* khung cuộn ngang phải là khối định vị: nhãn ẩn cho trình đọc màn hình (.an-dt, position:absolute) trong bảng rộng không còn đẩy cả trang tràn ngang */
.tg2-cuon-x,.cvdm-cuon,.cvnn-bang-khung,.cvth-bang-bao{position:relative}
/* bảng chọn loại KIỂU 2 (một nhóm, không cột nhóm bên trái — vd "Lập giấy đề nghị") ⇒ danh sách chiếm cả bề ngang */
.tg2-wrapg > .tg2-lst:first-child,.tg2-wrapg > .tg2-trong:first-child{grid-column:1 / -1}
/* lời nhắc "Đến lượt thầy/cô" (Hồ sơ) đặt trong ô nhắc tg2: tên khâu một dòng, câu hướng dẫn dòng dưới */
.tg2-wt .loi-nhac > b,.tg2-rp .loi-nhac > b{display:block;margin-bottom:2px}
/* Cây việc (chi tiết công việc) — cột trái hẹp (≤ 700px, máy tính 1024 có cột Thông tin bên phải) ⇒ mỗi việc 3 dòng:
   tên việc | trạng thái · người nhận | hạn · thanh tiến độ cả dòng. Đủ cột như cũ khi khung rộng. */
:has(> .cv-cay-dau){container-type:inline-size}
@container (max-width:700px){
  .cv-cay-dau{display:none}
  .cv-cay-dong{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
  .cv-cay-dong > .cv-cay-ten{grid-column:1;grid-row:1}
  .cv-cay-dong > :nth-child(4){grid-column:2;grid-row:1;justify-self:end}
  .cv-cay-dong > .cv-cay-nhan{grid-column:1;grid-row:2;font-size:12.5px;color:var(--tg2-mu)}
  .cv-cay-dong > .cv-cay-han{grid-column:2;grid-row:2;justify-self:end;font-size:12.5px;color:var(--tg2-mu)}
  .cv-cay-dong > :nth-child(5){grid-column:1 / -1;grid-row:3;display:flex;align-items:center;gap:8px}
}
/* hàng chip lọc trạng thái (thanh lọc danh sách): mỗi chip một dòng chữ, hàng chip cuộn ngang — không bóp chip thành ô cao nhiều dòng ở điện thoại */
.tg2-chips-gon > .tg2-chip,.tg2-loc .tg2-chips > .tg2-chip{white-space:nowrap;flex:none}
.tg2-loc-dau > .tg2-chips{min-width:0;overflow-x:auto;scrollbar-width:none}.tg2-loc-dau > .tg2-chips::-webkit-scrollbar{display:none}
/* bảng nhiều cột ở điện thoại (trong khung cuộn ngang): mỗi cột tối thiểu 96px, đầu cột không ngắt dòng ⇒ cuộn ngang thay vì bóp chữ thành cột dọc */
@media (max-width:767px){
  .tg2-cuon-x > .tg2-ttb td,.tg2-cuon-x > .tg2-ttb th{min-width:96px}
  .tg2-cuon-x > .tg2-ttb th{white-space:nowrap}
}

/* nút "Vừa khung" (xem cả trang) — anh chốt có ở mọi khổ máy tính ≥ 1024 (mẫu ẩn ≤ 1200); điện thoại ẩn (trình xem luôn vừa bề ngang) */
@media (max-width:767px){.tg2-vt .tg2-lnk[data-tg2x=vua]{display:none}}
/* thanh lọc: nhóm "chính" (vd ‹ Tháng 10/2026 › ở Tổng hợp công việc) đứng ngay hàng chính */
.tg2-loc-chinh{display:flex;align-items:center;gap:8px;flex:none;min-width:0}
.tg2-loc-chinh .cvth-buoc{display:flex;align-items:center;gap:6px}.tg2-loc-chinh .cvth-buoc b{font-size:13.5px;white-space:nowrap}
.tg2-loc-chinh .cvth-tc{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
@media (max-width:767px){.tg2-loc-chinh{width:100%;order:2}}
/* bộ đo Đợt 1: chữ ≥ 12px và tương phản ≥ 4,5:1 */
.cv-dai li span{font-size:12px}                                   /* dải trạng thái công việc (điện thoại) */
.tg2-rp .trd small,.tg2-chat .trd small,.trd .trd-tep small{color:var(--tg2-mu)}   /* cỡ tệp đính kèm trong Trao đổi */
.tg-badge{font-size:12px}                                          /* nhãn loại phiếu ở bảng danh sách Mua hàng */
.tg-code{color:#6b5a66}
/* cột phải Khuôn 3 (máy tính): ô nhắc dài tự cuộn trong ô (tối đa 132px) để ô soạn Trao đổi luôn thấy ngay */
@media (min-width:768px){.tg2-rp > .tg2-wt{max-height:132px;overflow-y:auto;flex:none}}
@media (min-width:768px){
  .tg2-rp > details.tg2-inf[open]{max-height:26vh;overflow-y:auto;flex:none}            /* ô mở dài (vd Biên bản cuộc họp) cuộn trong ô */
  .tg2-rp > details.tg2-inf[open] > summary{position:sticky;top:0;z-index:1;background:#fff}
}
/* ════ Đợt 2 — thanh kỳ · khối có đầu · thẻ mục · trường nhập (nhóm Kế hoạch / Công việc) ════ */
.tg2-kybar{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:16px;flex-wrap:wrap}
.tg2-kybar:before{display:none}
.tg2-kybar-giua{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}
.tg2-kybar-ten{display:flex;flex-direction:column;gap:4px;min-width:0}.tg2-kybar-ten b{font-size:17px;color:var(--tg2-pl);font-weight:700;line-height:1.25}
.tg2-kybar-nhan{display:flex;gap:6px;flex-wrap:wrap}
.tg2-kybar-phai{display:flex;gap:8px;align-items:center;margin-left:auto;flex-wrap:wrap}
.tg2-phan{margin-bottom:16px}
.tg2-phan .tg2-cdh h2{display:flex;align-items:center;gap:6px}.tg2-phan-so{font-style:normal;font-size:12px;font-weight:700;color:var(--tg2-pl);background:var(--tg2-plt);border-radius:20px;padding:1px 8px}
.tg2-phan-mt{margin:-4px 18px 10px;font-size:13px;color:var(--tg2-mu)}
.tg2-cb.tg2-cb-mo{padding:0}
.tg2-mc{border:1px solid var(--tg2-line);border-radius:12px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--tg2-tx)}
.tg2-mc + .tg2-mc{margin-top:10px}
.tg2-mc.tg2-mc-tra{border-color:#f0c2cc;background:#fff8f9}
.tg2-mc-dau{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.tg2-mc-ten{flex:1 1 220px;min-width:0}.tg2-mc-ten b{font-size:14px;font-weight:700}
.tg2-mc-ten .ma,.tg2-mc-ten a.ma{font-size:12.5px;font-weight:600;color:var(--tg2-pl);background:var(--tg2-plt);border-radius:6px;padding:1px 6px;margin-left:4px;white-space:nowrap}
.tg2-mc-nhan{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tg2-mc-dong{display:flex;gap:6px 14px;align-items:center;flex-wrap:wrap;color:#3a2a36}
.tg2-mc-dong .tg2-mut,.tg2-mc-dong .chu-phu{font-size:12.5px}
.tg2-mc-chan{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;padding-top:4px}
.tg2-mc-o{border-top:1px dashed var(--tg2-line);margin-top:4px;padding-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 14px}
.tg2-mc-o .tg2-truong-rong{grid-column:1 / -1}
.tg2-truong{display:flex;flex-direction:column;gap:5px;min-width:0}
.tg2-truong .tg2-o{width:100%}
.tg2-truong-gy{font-size:12px}
.tg2-hang-nut{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tg2-tep-hang{display:flex;flex-direction:column;gap:6px}
.tg2-tep-hang .tg2-tep{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--tg2-line);border-radius:10px;background:#fdfbfc;min-width:0}
.tg2-tep-hang .tg2-tep > span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:767px){
  .tg2-kybar{padding:10px 12px;gap:8px;margin-bottom:12px}.tg2-kybar-chu{display:none}.tg2-kybar-ten b{font-size:15px}
  .tg2-kybar-phai{margin-left:0;width:100%}
  .tg2-phan{margin-bottom:12px}.tg2-phan-mt{margin:-4px 14px 8px}
  .tg2-mc{padding:10px 12px}.tg2-mc-nhan{justify-content:flex-start}.tg2-mc-chan{justify-content:flex-start}
}
/* vùng nội dung màn Đợt 2: khoảng cách giữa các khối con */
.tg2-dot2 > .tg2-wt{margin-bottom:12px}
.tg2-dot2 > .uc-thanh{margin-bottom:12px}
.tg2-dot2 > .tg2-card:not(.tg2-phan):not(.tg2-kybar){margin-bottom:16px}
.tg2-dot2 .tg2-tbg td[data-nh] .tg2-bd + .tg2-bd{margin-left:4px}
.vtu-ls-the .tg2-inf{border:0;border-radius:0}
.tg2-mc.tg2-mc-mo{background:#fbf9fa;border-style:dashed}
.tg2-mc .tg2-cuon-x{border:1px solid var(--tg2-line2);border-radius:10px;margin-top:4px}
.tg2-mc .tg2-tbg td{padding:8px 10px;font-size:13px}
/* công tắc chạy tự động */
.tg2-ct-ds{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.tg2-ct-dong{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--tg2-line2);font-weight:500;cursor:pointer}
.tg2-ct-dong span{flex:1;min-width:0;display:flex;flex-direction:column}.tg2-ct-dong b{font-size:13.5px;font-weight:600}.tg2-ct-dong small{font-size:12.5px;color:var(--tg2-mu)}
.tg2-ct-dong input{width:18px;height:18px;accent-color:var(--tg2-pl)}
.kth-ct-the,.vtu-ls-the{margin-bottom:16px}
.tg2-kybar-ten span b{font-size:inherit;color:inherit;font-weight:700}
.tg2-mc-o.tg2-mc-o-trang{border-top:0;margin-top:0;padding-top:0}
/* bảng danh mục: hàng nhóm theo đơn vị, dòng ngừng áp dụng, cột chữ dài */
.tg2-tbg tr.tg2-tbg-nhom td{background:#f6eef3;font-size:13px;padding:8px 10px;border-bottom:1px solid var(--tg2-line)}
.tg2-tbg tr.tg2-tbg-mo td{color:#6b5d68;background:#faf8f9}
.tg2-tbg td.tg2-tbg-chu{min-width:220px;white-space:normal}
.tg2-dl + .tg2-dl{margin-top:0}
.ksp-bang2 td:first-child,.ksp-bang2 th:first-child{white-space:nowrap}
#kspKq.tg2-dot2{margin-top:12px}
/* biểu mẫu Đợt 2 (Giao việc mới, Chia việc…) */
.tg2-tich-ds{display:flex;flex-direction:column;gap:6px}
.tg2-tich-ds .tg2-mut{display:flex;gap:6px;align-items:center;margin:0 0 0 26px}
.tg2-dm-hang{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.tg2-dm-hang > .goi-y{flex:1 1 240px;min-width:0}
@media (max-width:767px){.tg2-dm-hang > .goi-y{flex-basis:100%}}
.tg2-truong .cv-han-o{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:flex-end}.tg2-truong .cv-han-o > div{display:flex;flex-direction:column;gap:5px;flex:1 1 160px}
.tg2-truong .cv-keo{display:flex;gap:8px;align-items:center;justify-content:center;padding:16px;border:1.5px dashed #cbb8c4;border-radius:12px;color:var(--tg2-mu);cursor:pointer;background:#fdfbfc}
.cv-luoi-form.tg2-dot2 > .tg2-phan{margin-bottom:16px}
.tg2-cv-chia-them{margin:12px 18px 4px}
.tg2-cv-ly{margin:8px 18px}
.tg2-phan .tg2-wt.tg2-loi{margin:8px 18px}
.tg2-cv-td{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tg2-cv-td > b{font-size:17px;color:var(--tg2-pl)}.tg2-cv-td > :first-child{flex:1 1 200px}
.tg2-bd.tg2-ma{font-variant-numeric:tabular-nums}
/* Nhóm việc — cột danh sách nhóm + khối chi tiết */
.tg2-cvnv-trai{padding:12px;display:flex;flex-direction:column;gap:10px}.tg2-cvnv-trai:before{display:none}
.tg2-cvnv-loc{display:flex;flex-direction:column;gap:8px}
.tg2-cvnv-loc .tg2-sr input{flex:1;min-width:0;border:0;outline:0;background:none;font:400 14px var(--tg2-phong);color:var(--tg2-tx)}
#cvnvDs{display:flex;flex-direction:column;gap:8px}
.tg2-cvnv-the{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--tg2-line);border-radius:12px;text-decoration:none;color:var(--tg2-tx);background:#fff}
.tg2-cvnv-the b{font-size:13.5px;font-weight:600;line-height:1.35}.tg2-cvnv-the:hover{background:var(--tg2-plt)}
.tg2-cvnv-the.on{border-color:var(--tg2-pl);background:var(--tg2-plt);box-shadow:inset 3px 0 0 var(--tg2-pl)}
.tg2-cvnv-the .tg2-mut{font-size:12.5px}
.tg2-cvnv-td{display:flex;align-items:center;gap:8px}.tg2-cvnv-td > :first-child{flex:1}.tg2-cvnv-td b{font-size:12.5px;color:var(--tg2-pl)}
.tg2-cvnv-trong{padding:8px 4px}
.tg2-cvnv-ct .tg2-cb{display:flex;flex-direction:column;gap:12px}
.tg2-cvnv-mt{margin:0;color:#3a2a36;font-size:13.5px}
.tg2-cvnv-dem b{font-weight:800}
.tg2-cvnv-thanh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--tg2-line2);padding-top:12px}
.tg2-cvnv-xoa{color:#8c2c40}
.tg2-phan .tg2-cdh h2{flex:1 1 240px;min-width:0;line-height:1.35}
/* HDC-1 (NV-CB-NS-3, 26/10/2026) — ĐẦU TRANG DÙNG CHUNG: nút "Hệ sinh thái số" kiểu A (bên trái) · logo trường thật · khối chữ cách thoáng.
   Khuôn chung cho mọi app (skill tcntn-giao-dien §3.1a). Màu nút cố định (trắng ⇒ tím nhạt), không theo màu app. */
.tg2-hd .tg2-hst{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 5px;border-radius:999px;flex:none;box-sizing:border-box;
  background:linear-gradient(180deg,#ffffff 0%,#f0eafb 100%);border:1.5px solid #fff;color:#2f1a5c;font:700 13px var(--tg2-phong);text-decoration:none;white-space:nowrap;
  box-shadow:0 3px 0 rgba(30,10,60,.30),0 8px 16px -6px rgba(20,0,40,.55),inset 0 1px 0 #fff;transition:transform .08s,box-shadow .08s}
.tg2-hd .tg2-hst img{width:30px;height:30px;border-radius:50%;display:block;box-shadow:0 0 0 1px rgba(60,30,110,.18)}
.tg2-hd .tg2-hst:hover{background:linear-gradient(180deg,#ffffff 0%,#e8e0fa 100%)}
.tg2-hd .tg2-hst:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(30,10,60,.30),0 4px 10px -6px rgba(20,0,40,.5)}
.tg2-hd .tg2-hst:focus-visible,.tg2-hd .tg2-logo-truong:focus-visible{outline:2px solid #fff;outline-offset:2px}
.tg2-hd .tg2-hst-dt{display:none}
.tg2-hd .tg2-logo-truong{flex:none;width:44px;height:44px;margin-left:6px;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 0 0 2px rgba(255,255,255,.45)}
.tg2-hd .tg2-logo-truong img{width:41px;height:41px;object-fit:contain;display:block}
.tg2-hd .tg2-nd.tg2-nd-chu{margin-left:6px;margin-right:18px}
@media (max-width:767px){
  .tg2-hd .tg2-hst{height:36px;padding:0 10px 0 4px;gap:6px;font-size:12px}
  .tg2-hd .tg2-hst img{width:26px;height:26px}
  .tg2-hd .tg2-hst-mt{display:none}.tg2-hd .tg2-hst-dt{display:inline}
  .tg2-hd .tg2-logo-truong{width:36px;height:36px;margin-left:0}.tg2-hd .tg2-logo-truong img{width:34px;height:34px}
  .tg2-hd .tg2-nd.tg2-nd-chu{margin-left:2px;margin-right:0;min-width:0}
  .tg2-hd .tg2-nd-chu>span{min-width:0}.tg2-hd .tg2-nd-chu small{overflow:hidden;text-overflow:ellipsis}
}
/* HDC-1 HET */
/* HDC-2 (NV-CB-NS-3, 26/10/2026 tối) — ĐIỆN THOẠI: [☰] [biểu tượng tcntn tròn, vùng bấm 40px] [logo trường 34px] [tên trường / tên app] … [tìm] [chuông].
   Không phần tử nào đè nhau: khối chữ co theo chỗ còn lại; tên trường rút "Trường TCN Thái Nguyên" khi hẹp; tên app luôn đủ.
   Đầu trang tự cao theo nội dung (không cao cố định) ⇒ không tràn xuống che nội dung. Nhãn ô KPI xuống dòng, không cắt "…". Máy tính / iPad giữ HDC-1. */
@media (max-width:767px){
  .tg2-hd{height:auto;min-height:56px;gap:6px;padding:8px}
  .tg2-hd .tg2-ib{width:36px;height:40px}
  .tg2-hd .tg2-bell{width:36px;height:40px}
  .tg2-hd .tg2-r{gap:0;flex:none}
  .tg2-hd .tg2-hst{width:40px;height:40px;padding:0;gap:0;justify-content:center;border-radius:50%;background:none;border:0;box-shadow:none}
  .tg2-hd .tg2-hst:hover{background:none}
  .tg2-hd .tg2-hst:active{transform:none;box-shadow:none}
  .tg2-hd .tg2-hst img{width:30px;height:30px;box-sizing:border-box;border:2px solid #fff;background:#fff;
    box-shadow:0 2px 0 rgba(30,10,60,.35),0 5px 10px -4px rgba(20,0,40,.6);transition:transform .08s}
  .tg2-hd .tg2-hst:active img{transform:translateY(1px)}
  .tg2-hd .tg2-hst-mt,.tg2-hd .tg2-hst-dt{display:none}
  .tg2-hd .tg2-logo-truong{width:34px;height:34px;margin-left:0}.tg2-hd .tg2-logo-truong img{width:32px;height:32px}
  .tg2-hd .tg2-nd.tg2-nd-chu{flex:1 1 0;min-width:0;margin:0;gap:0;overflow:hidden}
  .tg2-hd .tg2-nd-chu>span{display:block;min-width:0;overflow:hidden}
  .tg2-hd .tg2-nd-chu b{display:block;white-space:nowrap;font-size:16px;line-height:1.2}
  .tg2-hd .tg2-nd-chu small{display:block;white-space:nowrap;overflow:visible;text-overflow:clip;line-height:1.25}
  .tg2-k .tg2-l{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2}
}
@media (max-width:479px){
  .tg2-hd .tg2-nd-chu small,.tg2-hd .tg2-nd-chu small *{font-size:0!important}
  .tg2-hd .tg2-nd-chu small::before{content:"Trường TCN Thái Nguyên";font-size:12px}
}
@media (max-width:374px){
  .tg2-hd{gap:4px;padding:8px 6px}
  .tg2-hd .tg2-nd-chu b{font-size:15px}
}
/* HDC-2 HET */

/* NV-CC-4: ô soạn tự giãn — chiều cao do /chung/trao-doi tính (style), lớp này chỉ giữ cỡ chữ, mức thấp nhất; ⛔ đặt lại height, max-height ở đây */
.tg2-chat .trd-soan textarea,.tg2-chat .trd-soan textarea:focus{height:auto;min-height:76px;max-height:none;font-size:15px;line-height:1.5;overflow-y:hidden;resize:none;display:block}
.tg2-chat .trd-hang{flex-wrap:nowrap}
.tg2-chat .trd-ghi-phim{margin-left:auto;margin-right:0}
@media (max-width:767px){.tg2-chat .trd-soan textarea,.tg2-chat .trd-soan textarea:focus{font-size:16px}}
