/* ═══════════════════════════════════════════════════════════════════════════════════════════
   cb.css — App Cán bộ mới (NV-CB-NS-2). Thành phần chính lấy từ tg2/tg2.css (bộ mẫu đã duyệt, đổi họ màu tím #4c1d95);
   tệp này chỉ thêm: phông Inter tự lưu, nút và ô KPI kiểu 3D gradient (chốt 5), bố cục riêng của App Cán bộ
   (hồ sơ một trang cuộn, biểu mẫu, hộp thoại, ô gõ tìm, bảng Tạo mới), lớp dùng chung cho khối cũ Chuyển đơn vị / Cơ cấu.
   Chữ ≥ 12px · tương phản ≥ 4,5:1 · cảnh báo nền nhạt · không emoji.
   ═══════════════════════════════════════════════════════════════════════════════════════════ */
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(tg2/font/inter-vietnamese-400-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(tg2/font/inter-vietnamese-500-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(tg2/font/inter-vietnamese-600-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(tg2/font/inter-vietnamese-700-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(tg2/font/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(tg2/font/inter-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(tg2/font/inter-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(tg2/font/inter-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(tg2/font/inter-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+1E00-1EFF}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(tg2/font/inter-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+1E00-1EFF}
@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(tg2/font/inter-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+1E00-1EFF}

:root{--tg2-pl:#4c1d95;--tg2-pl2:#6331b8;--tg2-pld:#36126e;--tg2-plt:#f3effb;--tg2-plb:#ddd3f1;--tg2-bg:#f6f4f9;
  /* biến của khối cũ Chuyển đơn vị / Cơ cấu (cu/cb-cu.css) */
  --accent:#4c1d95;--accent-2:#6331b8;--accent-light:#f3effb;--copper:#8a5212;--copper-light:#fdf6ec;--blue-light:#e6eef9;
  --bg:#f6f4f9;--card:#fff;--border:#e4dcef;--text:#1d151c;--text-secondary:#4a3e48}
*{box-sizing:border-box}
html,body{margin:0}
body.tg2{background:var(--tg2-bg)}
[hidden]{display:none!important}
.cb-an{display:none!important}

/* ── 3D gradient (chốt 5): nút chính, nút phụ, ô KPI — hợp tông, không chói, viền nét ── */
.tg2-pri{background:linear-gradient(180deg,#6a35bd 0%,#4c1d95 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 2px 0 #2e0f62,0 5px 12px -6px rgba(46,15,98,.6)}
.tg2-pri:hover{background:linear-gradient(180deg,#7440c6 0%,#552199 100%)}
.tg2-pri:active,.tg2-sec:active,.tg2-warn:active,.tg2-ok:active{transform:translateY(1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 0 rgba(0,0,0,.25)}
.tg2-sec{background:linear-gradient(180deg,#fff 0%,#f6f2fb 100%);border:1px solid #c6b8dc;box-shadow:0 1px 0 #c6b8dc,inset 0 1px 0 #fff;color:#2e1f45}
.tg2-warn{background:linear-gradient(180deg,#fff 0%,#fdf3f5 100%)}
.tg2-k{border-width:1.5px;box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 2px 0 var(--bd),0 8px 18px -14px var(--c)}
.tg2-k .tg2-ic{box-shadow:0 3px 7px -2px var(--c),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 0 rgba(0,0,0,.12)}
.tg2-k:hover{filter:brightness(1.015)}
.tg2-c1{--a:#f6f2fd;--b:#ebe3f8;--bd:#d3c5ef;--c:#4c1d95;--gi:linear-gradient(135deg,#7a4cc9,#4c1d95)}
.tg2-k-ngang{display:flex!important;gap:12px;align-items:center;padding:11px 14px}
.tg2-k-ngang .tg2-ic{margin:0;flex:none}
.tg2-k-ngang .tg2-n{font-size:20px}.tg2-k-ngang .tg2-l{margin:2px 0 0;font-size:12.5px}

/* ── khung ── */
.cb-wrap .tg2-main{padding:0}
.cb-noi{padding:20px 24px 40px;min-width:0}
.tg2-ph{margin-bottom:14px}.tg2-ph .cb-ph-nut{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.cb-dong-dau{display:flex;gap:10px;align-items:center}
.cb-lui{width:34px;height:34px;border-radius:10px;border:1px solid #c6b8dc;background:#fff;display:grid;place-items:center;cursor:pointer;color:#3d2f3a;flex:none}
.cb-khoi{margin-bottom:16px}
.cb-luoi-2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}
.cb-luoi-2b{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.cb-luoi-o{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px}
.cb-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 18px;padding:0 18px 14px}
.cb-dl>div{padding:7px 0;border-bottom:1px solid var(--tg2-line2);min-width:0}
.cb-dl dt{font-size:12px;color:#4a3e48;font-weight:600;margin:0}
.cb-dl dd{margin:2px 0 0;font-size:13.5px;font-weight:500;color:#1d151c;word-break:break-word}
.cb-dl dd.cb-trong{color:#8a5212;font-weight:500}
.mut,.tg2-mut{color:#4a3e48!important;font-size:12.5px}
.cb-so{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.cb-ma{font-size:12.5px;font-weight:700;color:#3d2f3a;white-space:nowrap}
.cb-cuon-x{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tg2-tbg th{color:#4a3e48}
.tg2-tbg td.c,.tg2-tbg th.c{text-align:center}
.tg2-tbg tr.cb-chon td{background:var(--tg2-plt)!important}
.tg2-tbg td .cb-dong2{display:block;color:#4a3e48;font-size:12.5px;margin-top:2px}
.cb-bar{height:7px;border-radius:9px;background:#ece6f3;overflow:hidden;width:64px;display:inline-block;vertical-align:middle}
.cb-bar i{display:block;height:100%;background:linear-gradient(90deg,#48a4a2,#25787a)}
.cb-bar.am i{background:linear-gradient(90deg,#d39c52,#a8661f)}.cb-bar.ro i{background:linear-gradient(90deg,#d16a7e,#b03d55)}
.cb-chan{padding:12px 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--tg2-line2)}
.cb-chan .mut{margin-right:auto}
.cb-loc{display:flex;gap:8px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--tg2-line2);flex-wrap:wrap}
.cb-tim{flex:1;min-width:180px;display:flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid #c6b8dc;border-radius:10px;background:#fff;color:#4a3e48}
.cb-tim input{flex:1;min-width:0;border:0;outline:0;font:500 13.5px var(--tg2-phong);color:#1d151c;background:none;padding:0}
.cb-tim input::placeholder{color:#5a4d57}
.cb-o-dv{position:relative;width:240px;max-width:100%}
.cb-trong-khoi{padding:22px 18px;text-align:center;color:#4a3e48}
.cb-trong-khoi b{display:block;color:#1d151c;margin-bottom:6px}
.cb-bao{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border-radius:11px;font-size:13px;line-height:1.45;margin:0 0 12px}
.cb-bao.vang{background:#fdf6ec;border:1px solid #f0dcc0;color:#6b3f0e}
.cb-bao.ro{background:#fdf1f2;border:1px solid #f1d0d5;color:#8c2c40}
.cb-bao.xanh{background:#eef7f6;border:1px solid #cde6e3;color:#1a5e5a}
.cb-bao.tim{background:#f3effb;border:1px solid #ddd3f1;color:#36126e}
.cb-the-ds{display:none}

/* ── nhắc việc ── */
.cb-nv{display:flex;gap:10px;align-items:center;padding:10px 18px;border-bottom:1px solid var(--tg2-line2);cursor:pointer}
.cb-nv:hover{background:#fbf9fd}
.cb-nv .cb-nv-c{width:9px;height:9px;border-radius:50%;flex:none}
.cb-nv .qua_han{background:#8c2c40;box-shadow:0 0 0 3px #f8e1e4}.cb-nv .do{background:#b03d55}.cb-nv .vang{background:#c9852f}
.cb-nv .cb-nv-t{flex:1;min-width:0}.cb-nv .cb-nv-t b{font-weight:600}.cb-nv .cb-nv-t span{display:block;color:#4a3e48;font-size:12.5px;margin-top:1px}
.cb-nv .cb-nv-h{font-size:12.5px;font-weight:700;white-space:nowrap}
.cb-nv .cb-nv-h.qua_han,.cb-nv .cb-nv-h.do{color:#8c2c40;background:none;box-shadow:none}.cb-nv .cb-nv-h.vang{color:#8a5212;background:none}

/* ── hồ sơ một trang cuộn ── */
.cb-hs-dau{display:flex;gap:16px;align-items:center;padding:16px 18px}
.cb-anh{width:72px;height:96px;border-radius:12px;background:#ede7f8;border:1.5px solid #d3c8ea;display:grid;place-items:center;color:#4c1d95;font-weight:800;font-size:22px;overflow:hidden;flex:none;position:relative;cursor:default}
.cb-anh img{width:100%;height:100%;object-fit:cover;display:block}
.cb-anh.doi{cursor:pointer}
.cb-hs-ten{font-size:20px;font-weight:700;margin:0}
.cb-hs-phu{display:flex;gap:6px 14px;flex-wrap:wrap;margin-top:6px;color:#3d2f3a;font-size:13px}
.cb-muc{scroll-margin-top:80px}
.cb-muc-nav{display:flex;gap:6px;flex-wrap:wrap;padding:0 18px 14px}
.cb-muc-nav a{font-size:12.5px;font-weight:600;color:#36126e;background:#f3effb;border:1px solid #ddd3f1;padding:4px 10px;border-radius:20px;text-decoration:none}

/* ── biểu mẫu ── */
.cb-form{padding:4px 18px 16px}
.cb-form h4{font-size:13.5px;margin:16px 0 8px;color:#36126e}
.cb-o{display:flex;flex-direction:column;gap:5px;min-width:0;position:relative}
.cb-o>label{font-size:12.5px;font-weight:600;color:#3d2f3a}
.cb-o>label em{color:#b03d55;font-style:normal}
.cb-o input,.cb-o textarea{font:500 13.5px var(--tg2-phong);color:#1d151c;border:1px solid #c6b8dc;border-radius:9px;padding:9px 11px;background:#fff;outline:0;width:100%}
.cb-o input:focus,.cb-o textarea:focus{border-color:#6331b8;box-shadow:0 0 0 3px #ece4f8}
.cb-o input[readonly]{background:#f6f3f9;color:#3d2f3a}
.cb-o textarea{min-height:64px;resize:vertical}
.cb-o .cb-o-phu{font-size:12px;color:#4a3e48}
.cb-o.cb-rong{grid-column:1/-1}
.cb-o.cb-loi input,.cb-o.cb-loi textarea{border-color:#b03d55;background:#fffafb}
.cb-tich{display:flex;gap:8px;align-items:center;font-size:13.5px;cursor:pointer;padding:6px 0}
.cb-tich input{width:18px;height:18px;accent-color:#4c1d95}
.cb-goi-y{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid #c6b8dc;border-radius:10px;box-shadow:0 14px 28px -14px rgba(40,16,80,.45);max-height:260px;overflow-y:auto;z-index:95;display:none}
.cb-goi-y.mo{display:block}
.cb-goi-y div{padding:9px 12px;font-size:13.5px;cursor:pointer;border-bottom:1px solid #f3eef7}
.cb-goi-y div:hover,.cb-goi-y div.on{background:#f3effb}
.cb-goi-y div small{display:block;color:#4a3e48;font-size:12px}
.cb-goi-y .cb-gy-trong{color:#4a3e48;cursor:default}

/* ── hộp thoại của app (thay alert / confirm) ── */
.cb-mo-nen{position:fixed;inset:0;background:rgba(36,20,56,.48);z-index:120;display:flex;align-items:center;justify-content:center;padding:16px}
.cb-hop{background:#fff;border-radius:16px;width:560px;max-width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 30px 60px -20px rgba(30,10,60,.55);overflow:hidden}
.cb-hop.rong{width:880px}.cb-hop.rat-rong{width:1120px}
.cb-hop-dau{display:flex;gap:10px;align-items:center;padding:16px 18px 12px;border-bottom:1px solid var(--tg2-line2)}
.cb-hop-dau h3{font-size:16px;margin:0;flex:1;min-width:0}
.cb-hop-x{width:34px;height:34px;border-radius:9px;border:0;background:none;color:#3d2f3a;cursor:pointer;display:grid;place-items:center}
.cb-hop-than{padding:14px 18px;overflow-y:auto;font-size:13.5px;line-height:1.5;color:#1d151c}
.cb-hop-chan{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--tg2-line2);flex-wrap:wrap}
.cb-loi-hop{white-space:pre-line}
.cb-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#2b1748;color:#fff;padding:10px 18px;border-radius:12px;font-weight:600;font-size:13.5px;z-index:140;box-shadow:0 12px 26px -10px rgba(0,0,0,.45)}
.cb-hd h4{font-size:14px;margin:14px 0 4px;color:#36126e}.cb-hd h4:first-child{margin-top:0}.cb-hd p{margin:0}

/* ── tiến độ đợt quyết định: MỘT dòng ── */
.cb-tien-do{display:flex;align-items:center;gap:0;padding:10px 18px;overflow-x:auto}
.cb-td-b{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px;font-weight:600;color:#3d2f3a}
.cb-td-b i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700;background:#ece6f3;color:#4a3e48;flex:none}
.cb-td-b.xong i{background:#25787a;color:#fff}.cb-td-b.dang i{background:#c9852f;color:#fff;box-shadow:0 0 0 4px #f8ead6}.cb-td-b.bo_qua{opacity:.55}
.cb-td-b.dang{color:#6b3f0e}
.cb-td-noi{flex:1;min-width:24px;height:2px;background:#ddd3e8;margin:0 8px}.cb-td-noi.xong{background:#9fd3cf}

/* ── bảng Tạo mới ── */
.cb-tm{display:grid;grid-template-columns:190px 1fr;min-height:0}
.cb-tm-nhom{border-right:1px solid var(--tg2-line2);padding:8px;background:#fcfafd}
.cb-tm-nhom button{display:flex;justify-content:space-between;width:100%;border:0;background:none;padding:9px 10px;border-radius:9px;font:600 13px var(--tg2-phong);color:#3d2f3a;cursor:pointer;text-align:left}
.cb-tm-nhom button.on{background:#fff;color:#4c1d95;box-shadow:0 0 0 1px var(--tg2-line)}
.cb-tm-nhom em{font-style:normal;font-size:12px;color:#4a3e48}
.cb-tm-ds{padding:10px 14px;overflow-y:auto;max-height:60vh}
.cb-tm-ds h5{font-size:12.5px;color:#4a3e48;margin:8px 0 6px}
.cb-tm-luoi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}
.cb-tm-o{display:flex;gap:10px;align-items:center;padding:10px 11px;border:1px solid #ddd3ea;border-radius:11px;background:#fff;cursor:pointer;text-align:left;font:600 13px var(--tg2-phong);color:#1d151c}
.cb-tm-o:hover{border-color:#a993d3;background:#faf8fd}
.cb-tm-o .tg2-i{color:#4c1d95;flex:none}
.cb-tm-o small{display:block;font-weight:500;color:#4a3e48;font-size:12px;margin-top:1px}

/* ── đăng nhập ── */
.cb-dn{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,#36126e,#4c1d95 55%,#6331b8);padding:16px}
.cb-dn-hop{background:#fff;border-radius:18px;padding:26px 24px;width:380px;max-width:100%;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.cb-dn-hop h1{font-size:20px;margin:10px 0 2px}.cb-dn-hop p{margin:0 0 18px;color:#4a3e48;font-size:13px}
.cb-dn-logo{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#7a4cc9,#4c1d95);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 3px 0 #2e0f62}
.cb-dn-hop .cb-o{margin-bottom:12px}

/* ── lớp dùng chung cho khối cũ (Chuyển đơn vị, Cơ cấu) ── */
.autocomplete-wrap{position:relative}
.autocomplete-list{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid #c6b8dc;border-radius:10px;box-shadow:0 14px 28px -14px rgba(40,16,80,.45);max-height:240px;overflow-y:auto;z-index:130;display:none;margin-top:4px}
.autocomplete-list.visible{display:block}
.autocomplete-item{padding:9px 12px;font-size:13.5px;cursor:pointer;border-bottom:1px solid #f3eef7}
.autocomplete-item:hover{background:#f3effb}
.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.form-group label{font-size:12.5px;font-weight:600;color:#3d2f3a}
.form-group input,.form-group textarea{font:500 13.5px var(--tg2-phong);border:1px solid #c6b8dc;border-radius:9px;padding:9px 11px;color:#1d151c;width:100%}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.section-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin:4px 0 10px}
.info-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--tg2-line2)}
.info-label{color:#4a3e48;font-size:12.5px}.info-value{font-weight:600;font-size:13.5px}
.loading,.empty{padding:20px;text-align:center;color:#4a3e48}
.guide-btn{width:28px;height:28px;border-radius:50%;border:1px solid #c6b8dc;background:#fff;color:#3d2f3a;font-weight:700;cursor:pointer;flex:none}
.guide-overlay{position:fixed;inset:0;background:rgba(36,20,56,.48);z-index:135;display:flex;align-items:center;justify-content:center;padding:16px}
.guide-modal{background:#fff;border-radius:16px;width:560px;max-width:100%;max-height:90vh;overflow:auto}
.gm-head{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--tg2-line2)}.gm-head h3{flex:1;margin:0;font-size:16px}
.gm-dong{border:0;background:none;cursor:pointer;color:#3d2f3a;width:32px;height:32px;display:grid;place-items:center}
.gm-body{padding:14px 18px;font-size:13.5px;line-height:1.55}.gm-body h4{margin:12px 0 4px;color:#36126e}
#cocauView{display:block!important}
#cocauView .header{display:none}
#cocauView .cc-the{display:none}
body.cc-rong{max-width:none}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;border:1px solid #c6b8dc;background:#fff;font-weight:600;font-size:13px;color:#3a2a36;cursor:pointer}
.chip.active{background:#4c1d95;border-color:#4c1d95;color:#fff}

/* ── iPad (≤ 1199px): ẩn panel nhóm (chốt 12), giữ các cột chính ── */
@media (max-width:1199px){
  .cb-luoi-2,.cb-luoi-2b{grid-template-columns:1fr}
  .cb-an-ipad{display:none!important}
  .cb-noi{padding:18px 16px 36px}
}
/* ── điện thoại ── */
@media (max-width:767px){
  .cb-noi{padding:12px 12px 100px}
  .tg2-ph h1{font-size:19px}
  .tg2-ph .cb-ph-nut .tg2-btn .tg2-nhan{display:none}
  .tg2-kp{grid-template-columns:1fr 1fr!important;gap:8px}
  .tg2-k{padding:9px 11px!important;display:flex!important;gap:10px;align-items:center;min-height:56px}
  .tg2-k .tg2-ic{width:32px;height:32px;margin:0!important;flex:none}
  .tg2-k .tg2-n{font-size:20px!important}.tg2-k .tg2-l{font-size:12.5px!important;margin:1px 0 0!important}.tg2-k .tg2-s2{display:none}
  .cb-an-dt{display:none!important}
  .cb-bang-dt thead{display:none}
  .cb-bang-dt,.cb-bang-dt tbody,.cb-bang-dt tr,.cb-bang-dt td{display:block;width:100%}
  .cb-bang-dt tr{padding:10px 14px;border-bottom:1px solid var(--tg2-line2)}
  .cb-bang-dt td{padding:2px 0!important;border:0!important;background:none!important;text-align:left!important}
  .cb-bang-dt td[data-nhan]:before{content:attr(data-nhan) ': ';color:#4a3e48;font-size:12px;font-weight:600}
  .cb-hs-dau{flex-wrap:wrap}
  .cb-tm{grid-template-columns:1fr}.cb-tm-nhom{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--tg2-line2)}
  .cb-tm-nhom button{white-space:nowrap;width:auto}.cb-tm-luoi{grid-template-columns:1fr}
  .cb-hop{border-radius:16px 16px 0 0;align-self:flex-end;max-height:94vh}.cb-mo-nen{padding:0;align-items:flex-end}
  .cb-o-dv{width:100%}
  .form-row{grid-template-columns:1fr}
}

/* ── Khuôn 3 — màn có bước trình / duyệt (đề nghị sửa lý lịch, đợt quyết định): khung xem văn bản TO bên trái, cột phải 360px
   (thông tin, nút, TRAO ĐỔI chiếm phần còn lại) — sẵn chỗ để nối ký số như các màn trình ký của Văn phòng số. ── */
.cb-k3{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;height:calc(100vh - 64px - 112px);min-height:520px}
.cb-k3-xem{background:#fff;border:1px solid var(--tg2-line);border-radius:14px;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.cb-k3-tabs{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid var(--tg2-line2);overflow-x:auto;flex:none;align-items:center;min-height:46px}
.cb-k3-the{display:inline-flex;gap:6px;align-items:center;padding:6px 11px;border-radius:9px;border:1px solid #ddd3ea;background:#fff;font:600 12.5px var(--tg2-phong);color:#3d2f3a;cursor:pointer;white-space:nowrap}
.cb-k3-the.on{background:#f3effb;border-color:#a993d3;color:#36126e}
.cb-k3-khung{flex:1;min-height:0;overflow:auto;background:#f1edf5;position:relative}
.cb-k3-khung .xl{height:100%}
.cb-k3-anh{display:block;max-width:100%;margin:12px auto;border-radius:8px;box-shadow:0 6px 18px -10px rgba(0,0,0,.4)}
.cb-k3-phai{display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden}
.cb-k3-o{flex:none;max-height:46%;overflow:auto}
.cb-k3-o-dau{padding:12px 14px 8px;font-weight:700;font-size:14px}
.cb-k3-dong{display:flex;gap:10px;align-items:flex-start;padding:9px 14px;border-top:1px solid var(--tg2-line2);cursor:pointer;font-size:13px}
.cb-k3-dong input{width:18px;height:18px;accent-color:#4c1d95;margin-top:2px;flex:none}
.cb-k3-chat{flex:1;min-height:220px;display:flex;flex-direction:column}
.cb-k3-chat-than{flex:1;min-height:0;display:flex;flex-direction:column}
.cb-k3-chat-than>*{flex:1;min-height:0}
@media (max-width:1199px){.cb-k3{grid-template-columns:minmax(0,1fr) 320px}}
@media (max-width:767px){.cb-k3{display:block;height:auto}.cb-k3-xem{height:62vh;margin-bottom:12px}.cb-k3-phai{overflow:visible}.cb-k3-o{max-height:none}.cb-k3-chat{min-height:360px}}
.cb-k3-cc{display:flex;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--tg2-line2);flex-wrap:wrap}
.cb-k3-khung>.cb-cuon-x,.cb-k3-khung>.cb-trong-khoi{background:#fff;min-height:100%}
.cb-td-b i .tg2-i{stroke:#fff}
/* NV-CB-NS-3 — Cơ cấu tổ chức, Chuyển đơn vị (cb-man-cc.js) */
.cc-mo-ta{margin:0 0 12px;font-size:13.5px;color:#3d2f3a}
.cc-tieu-phu{margin:14px 18px 6px;font-size:13.5px;font-weight:700;color:#1d151c;display:flex;align-items:center;gap:6px}
#cdvLichSu .cc-tieu-phu{margin:4px 0 8px}
.cc-radio{padding:0;border:0}
.cc-nhieu{display:flex;flex-wrap:wrap;gap:6px}
.cc-the-chon{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border:1px solid #cbb8c4;border-radius:999px;font-size:12.5px;font-weight:600;color:#3a2a36;background:#fff}
.cc-the-chon button{border:0;background:transparent;cursor:pointer;color:#76666f;display:inline-flex;padding:2px;border-radius:50%}
.cc-chon-dau{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 6px;font-size:13px}
.cc-chon-dau label{display:flex;align-items:center;gap:6px;font-weight:600}
.cc-chon-ds{max-height:300px;overflow-y:auto;border:1px solid var(--tg2-line2,#eee4ec);border-radius:10px}
.cc-chon-ds label{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid #f3eef1;font-size:13.5px;cursor:pointer;min-height:44px}
.cc-chon-ds label .mut{margin-left:auto;text-align:right}
.cc-chon-ds label.co{color:#76666f;cursor:default}

/* NV-TAOMOI-LOC-1 (27/10/2026): bảng Tạo mới — nhóm = LỌC; nhóm đang chọn nổi rõ; nhóm 0 kết quả mờ, không bấm; câu không có kết quả nền nhạt */
.cb-tm-nhom button{align-items:center;gap:8px}
.cb-tm-nhom button.on{background:#ede5f7;color:#4c1d95;font-weight:700;box-shadow:inset 3px 0 0 #4c1d95}
.cb-tm-nhom button.on em{color:#4c1d95;font-weight:700}
.cb-tm-nhom button:disabled{opacity:.45;cursor:default}
.cb-tm-ds h5{display:flex;align-items:center;gap:6px}.cb-tm-ds h5 em{font-style:normal;font-weight:600;color:#5a4d57}
.cb-tm-khong{margin:6px 0;padding:14px 16px;border-radius:10px;background:#faf8fd;border:1px solid #e6dff0;color:#3d2f3a;font-size:13.5px;line-height:1.5}
@media (max-width:767px){ .cb-tm-nhom{gap:6px;padding:8px 2px} .cb-tm-nhom button{flex:none;border:1px solid #ddd3ea;padding:6px 12px} .cb-tm-nhom button.on{box-shadow:none;background:#4c1d95;color:#fff;border-color:#4c1d95} .cb-tm-nhom button.on em{color:#fff} }

/* ═══ NV-POPUP-TIM-1 (27/10/2026): khuôn hộp thoại theo loại; ô tìm-chọn dùng /chung/o-tim (lớp nổi, ⛔ trong vùng cuộn của hộp) ═══ */
.cb-mo-nen{align-items:flex-start;padding:7.5vh 16px 16px}
.cb-hop{max-width:92vw;max-height:85vh}
.cb-hop.co-nho{width:480px}.cb-hop.co-vua{width:640px}.cb-hop.co-lon{width:760px}
.cb-hop-dau h3{overflow-wrap:anywhere;line-height:1.3}
.cb-hop-dau,.cb-hop-chan{flex:none}
.cb-hop-than{flex:1 1 auto;min-height:0;overscroll-behavior:contain}
.cb-hop.co-lon .cb-hop-than{padding-bottom:24px}
@media (max-width:767px){
  .cb-mo-nen{padding:8px 0 0;align-items:flex-end}
  .cb-hop,.cb-hop.rong,.cb-hop.rat-rong,.cb-hop[class*="co-"]{width:100%;max-width:100%;max-height:calc(100dvh - 8px);border-radius:16px 16px 0 0}
  .cb-hop:not(.co-nho){height:calc(100dvh - 8px)}
  /* hàng nút ngay dưới tiêu đề, luôn hiện khi cuộn (⛔ sát đáy — Safari che) */
  .cb-hop:not(.co-nho) .cb-hop-dau{order:0}.cb-hop:not(.co-nho) .cb-hop-chan{order:1;border-top:0;border-bottom:1px solid var(--tg2-line2);padding:8px 12px}
  .cb-hop:not(.co-nho) .cb-hop-than{order:2}
  .cb-hop-chan .tg2-btn{min-height:44px;flex:1 1 auto}
  .cb-hop-than{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  .cb-hop.co-nho .cb-hop-chan{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
}
/* ═══ NV-POPUP-TIM-1 HET ═══ */
