/* =====================================================================
   GIAO DIỆN V2 — bản màu sắc, dịu mắt (chốt 29/10/2026)
   Nạp sau style.css. Chỉ đổi phần hiển thị; muốn quay về giao diện cũ:
   khôi phục index.html / app.js / campaign.js từ bản .bak-giaodien-*.
   Quy tắc: chữ nhỏ nhất 12px, tương phản chữ ≥ 4.5:1 ở cả nền sáng và nền tối.
   ===================================================================== */
:root{
  --se-navy:#1F4E78;--se-navy-tx:#1F4E78;--se-navy-d:#143651;--se-navy-l:#E3EBF5;--se-navy-xl:#F1F5FA;
  --se-bg:#EEF1F5;--se-card:#fff;--se-card2:#F8FAFC;--se-line:#DCE2E9;--se-line2:#E9EDF2;
  --se-tx:#1B2430;--se-tx2:#3E4957;--se-tx3:#596473;
  --se-g1:#B00000;--se-g1b:#FCE8E8;--se-g2a:#A3470F;--se-g2ab:#FCEDE2;--se-g2b:#367320;--se-g2bb:#E6F2DE;
  --se-g3a:#6A2C99;--se-g3ab:#F0E8F8;--se-g3b:#1C6A6A;--se-g3bb:#DDF0F0;--se-gx:#4F5966;--se-gxb:#ECEEF2;
  --se-ok:#2F6F1C;--se-due:#A3470F;--se-need:#6A2C99;
  --se-q359b:#E3EAF5;--se-q359t:#24507E;--se-q447b:#FCE8E8;--se-q447t:#981B1B;--se-qbmb:#E4F4E2;--se-qbmt:#256A1F;
  --se-bidb:#FCEDE2;--se-bidt:#93400E;--se-noplb:#FFF3CC;--se-noplt:#6E5000;--se-batchb:#E6E9FB;--se-batcht:#3730A3;
  --se-handb:#FFF0C2;--se-handt:#6E5000;--se-newb:#F0E8F8;--se-newt:#6A2C99;--se-paidb:#DCEBFA;--se-paidt:#0B4F8A;--se-unasb:#FCE4E4;--se-unast:#981B1B;
  --se-s0b:#ECEEF2;--se-s0t:#4F5966;--se-s1b:#FFF0D6;--se-s1t:#7A4E00;--se-s2b:#FFE7C7;--se-s2t:#8A4600;--se-s3b:#E0EDFB;--se-s3t:#1A5596;
  --se-s4b:#E2F2DA;--se-s4t:#2C6418;--se-s5b:#FCE4E4;--se-s5t:#981B1B;--se-s6b:#EDE3F8;--se-s6t:#5E2890;
  --se-camp1:#1F4E78;--se-camp2:#2C6A9E;
  --se-side:#143651;--se-side-tx:#DCE6F0;--se-side-mut:#9CB2C8;
  --se-sh:0 1px 2px rgba(20,54,81,.06),0 2px 8px rgba(20,54,81,.05);
  --se-sh-lg:0 12px 40px rgba(20,54,81,.18);
  --se-r:12px;--se-side-w:240px;--se-top-h:60px;
}
[data-theme="dark"]{
  --se-navy:#2F6297;--se-navy-tx:#94BCE6;--se-navy-d:#0F151C;--se-navy-l:#22344A;--se-navy-xl:#1E2733;
  --se-bg:#12171D;--se-card:#1A2028;--se-card2:#1F262F;--se-line:#2D3642;--se-line2:#262E38;
  --se-tx:#E4E9EE;--se-tx2:#C3CBD4;--se-tx3:#9EA9B5;
  --se-g1:#F28C8C;--se-g1b:#3F2326;--se-g2a:#F2A877;--se-g2ab:#3E2B1F;--se-g2b:#A2D57E;--se-g2bb:#25351F;
  --se-g3a:#C6A6EE;--se-g3ab:#31263F;--se-g3b:#7ED2CF;--se-g3bb:#1C3634;--se-gx:#AAB4BF;--se-gxb:#272E37;
  --se-ok:#93D07F;--se-due:#F2A877;--se-need:#C6A6EE;
  --se-q359b:#22344A;--se-q359t:#9DC1E8;--se-q447b:#3F2326;--se-q447t:#F2A3A3;--se-qbmb:#25351F;--se-qbmt:#A9D18E;
  --se-bidb:#3E2B1F;--se-bidt:#F2A877;--se-noplb:#3A3217;--se-noplt:#E8CD80;--se-batchb:#2A2D4A;--se-batcht:#B9BDF5;
  --se-handb:#3A3217;--se-handt:#E8CD80;--se-newb:#31263F;--se-newt:#C6A6EE;--se-paidb:#1F3349;--se-paidt:#97C0EC;--se-unasb:#3F2326;--se-unast:#F2A3A3;
  --se-s0b:#272E37;--se-s0t:#B3BDC8;--se-s1b:#3A2F17;--se-s1t:#EBC67E;--se-s2b:#3E2B1F;--se-s2t:#F2A877;--se-s3b:#1F3349;--se-s3t:#97C0EC;
  --se-s4b:#25351F;--se-s4t:#A2D57E;--se-s5b:#3F2326;--se-s5t:#F2A3A3;--se-s6b:#31263F;--se-s6t:#C6A6EE;
  --se-camp1:#1C3854;--se-camp2:#244B70;
  --se-side:#0F151C;--se-side-tx:#C9D3DD;--se-side-mut:#8C9AA9;
  --se-sh:none;--se-sh-lg:0 12px 40px rgba(0,0,0,.55);
  color-scheme:dark;
}

/* ---------- Nền chung ---------- */
body{background:var(--se-bg);color:var(--se-tx);font-size:14px;line-height:1.45}
body.se-noscroll{overflow:hidden}
#app{min-height:100vh}
.se-ic{display:inline-flex;width:18px;height:18px;flex:none}
.se-ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.se-sp{flex:1}
.mut{color:var(--se-tx3)}
.ok{color:var(--se-ok)}

/* ---------- Thanh bên ---------- */
.se-side{position:fixed;left:0;top:0;bottom:0;width:var(--se-side-w);background:var(--se-side);color:var(--se-side-tx);display:flex;flex-direction:column;overflow-y:auto;z-index:150}
.se-brand{display:flex;align-items:center;gap:10px;padding:16px 16px 12px}
.se-logo{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#3C79B0,#1F4E78);display:grid;place-items:center;font-weight:700;color:#fff;font-size:14px;flex:none}
.se-logo.sm{width:30px;height:30px;font-size:12px;border-radius:8px}
.se-brand .brand-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.se-brand .brand-name{font-weight:600;color:#fff;font-size:14.5px;letter-spacing:0}
.se-brand .brand-sub{font-size:12.5px;color:var(--se-side-mut);opacity:1;margin:0}
.se-bld{margin:2px 12px 8px}
.se-bld .building-select{width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:9px;padding:8px 10px;font-size:13.5px}
.se-bld .building-select option{color:#1B2430;background:#fff}
.se-nav{display:flex;flex-direction:column}
.se-nav-h{font-size:12px;letter-spacing:.6px;color:var(--se-side-mut);font-weight:600;padding:14px 18px 6px}
.se-nav a{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:1px 8px;border-radius:8px;color:var(--se-side-tx);text-decoration:none;font-size:14px}
.se-nav a:hover{background:rgba(255,255,255,.07)}
.se-nav a.on{background:#fff;color:#143651;font-weight:600}
[data-theme="dark"] .se-nav a.on{background:#22344A;color:#fff}
.se-n{margin-left:auto;font-size:12px;background:rgba(255,255,255,.14);padding:1px 7px;border-radius:20px}
.se-nav a.on .se-n{background:var(--se-navy-l);color:var(--se-navy-tx)}
.se-n.alert{background:#C4363E;color:#fff}
.se-side-foot{margin-top:auto;padding:10px;border-top:1px solid rgba(255,255,255,.1)}
.se-side .se-user.header-user{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;border-radius:9px;padding:6px;color:#fff;text-align:left}
.se-side .se-user.header-user:hover{background:rgba(255,255,255,.08)}
.se-side .header-user-avatar{width:32px;height:32px;border-radius:50%;background:#CFE0F1;color:#143651;display:grid;place-items:center;font-size:16px;flex:none}
.se-side .header-user-name{font-size:14px;font-weight:600;display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}
.se-side .header-user-name .role-badge{font-size:12px;padding:0 6px;border-radius:4px}

/* ---------- Khung chính + thanh trên ---------- */
.se-main{margin-left:var(--se-side-w);min-height:100vh;display:flex;flex-direction:column}
.se-top{position:sticky;top:0;z-index:120;background:var(--se-card);border-bottom:1px solid var(--se-line);height:var(--se-top-h);display:flex;align-items:center;gap:14px;padding:0 24px}
.se-title{font-weight:600;font-size:17px;white-space:nowrap;color:var(--se-tx)}
.se-title small{font-weight:400;color:var(--se-tx3);font-size:13.5px;margin-left:8px}
.se-top-m{display:none}
.se-search.search-wrap{flex:1;max-width:560px;margin-left:auto;position:relative}
.se-search .search-input{width:100%;height:40px;border-radius:10px;border:1px solid var(--se-line);background:var(--se-card2);color:var(--se-tx);padding:0 38px 0 38px;font-size:14.5px;box-shadow:none}
.se-search .search-input::placeholder{color:var(--se-tx3)}
.se-search .search-input:focus{background:var(--se-card);border-color:#7FA6CC;box-shadow:0 0 0 3px rgba(31,78,120,.14);outline:none}
.se-search .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--se-tx3);display:flex;font-size:0}
.se-search .search-clear{right:8px;width:26px;height:26px;font-size:12px;background:var(--se-card2);color:var(--se-tx2)}
/* Lịch sử tìm kiếm — danh sách căn đã xem gần đây dưới ô tìm */
.se-rc{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:130;background:var(--se-card);color:var(--se-tx);border:1px solid var(--se-line);border-radius:var(--se-r);box-shadow:var(--se-sh-lg);max-height:min(62vh,440px);overflow-y:auto;overscroll-behavior:contain;padding:4px 0}
.se-rc[hidden]{display:none}
.se-rc-h{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 14px;font-size:12.5px;font-weight:600;color:var(--se-tx3);border-bottom:1px solid var(--se-line2)}
.se-rc-h span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.se-rc-clear{border:0;background:none;color:var(--se-navy-tx);font-size:12.5px;font-weight:600;padding:4px 6px;border-radius:6px;cursor:pointer;white-space:nowrap}
.se-rc-clear:hover{background:var(--se-navy-xl)}
.se-rc-i{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 8px 6px 14px;cursor:pointer}
.se-rc-i.on{background:var(--se-navy-xl)}
.se-rc-ic{color:var(--se-tx3);display:flex}
.se-rc-ic .se-ic{width:16px;height:16px}
.se-rc-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.se-rc-t{display:flex;align-items:baseline;gap:8px;font-size:14px;white-space:nowrap}
.se-rc-t b{font-weight:600;color:var(--se-navy-tx)}
.se-rc-hd{font-size:12.5px;color:var(--se-tx3);overflow:hidden;text-overflow:ellipsis}
.se-rc-n{font-size:13px;color:var(--se-tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.se-rc-x{flex:none;border:0;background:none;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--se-tx3);font-size:12px;cursor:pointer}
.se-rc-x:hover{background:var(--se-unasb);color:var(--se-unast)}
[data-theme="dark"] .se-rc-i.on,[data-theme="dark"] .se-rc-clear:hover{background:var(--se-navy-l)}
.se-top-r{display:flex;align-items:center;gap:6px}
.se-ib{border:0;background:none;width:38px;height:38px;border-radius:9px;display:grid;place-items:center;color:var(--se-tx2);position:relative;cursor:pointer}
.se-ib:hover{background:var(--se-card2)}
.se-dot{position:absolute;top:3px;right:2px;min-width:18px;height:18px;border-radius:10px;background:#C4363E;color:#fff;font-size:12px;font-weight:600;display:grid;place-items:center;padding:0 4px;line-height:1}
.sync-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#9AA4B1;margin:0 4px}
.sync-dot.online{background:#2F9E44}.sync-dot.syncing{background:#3B82C4}.sync-dot.offline{background:#D9822B}.sync-dot.error{background:#C4363E}

.se-content{padding:18px 24px 40px;display:flex;flex-direction:column;gap:14px;flex:1}

/* ---------- Tổng quan + chiến dịch ---------- */
.se-kpi{background:var(--se-card);border:1px solid var(--se-line);border-radius:var(--se-r);box-shadow:var(--se-sh);padding:14px 18px}
.se-kpi-h{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.se-kpi-t{font-weight:600;font-size:15px;color:var(--se-tx)}
.se-seg{display:inline-flex;background:var(--se-card2);border:1px solid var(--se-line);border-radius:8px;padding:2px}
.se-seg button{border:0;background:none;padding:4px 11px;border-radius:6px;font-size:13px;color:var(--se-tx2);cursor:pointer}
.se-seg button.on{background:var(--se-card);color:var(--se-navy-tx);font-weight:600;box-shadow:0 0 0 1px var(--se-line)}
.se-link{border:0;background:none;color:var(--se-navy-tx);font-size:13.5px;font-weight:600;cursor:pointer;padding:0}
.se-kpi-tg{display:none;margin-left:auto}
.se-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.se-kc{padding:2px 16px;border-left:1px solid var(--se-line2);min-width:0}
.se-kc:first-child{border-left:0;padding-left:0}
.se-kc .l{font-size:12px;color:var(--se-tx3);font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.se-kc .v{font-size:20px;font-weight:600;margin-top:2px;white-space:nowrap;color:var(--se-tx);font-variant-numeric:tabular-nums}
.se-kc .v.ok{color:var(--se-ok)}.se-kc .v.due{color:var(--se-due)}.se-kc .v.need{color:var(--se-need)}
.se-kc .s{font-size:12.5px;color:var(--se-tx3)}
.se-mini{height:5px;background:var(--se-line2);border-radius:5px;margin-top:6px;overflow:hidden}
.se-mini i{display:block;height:100%;background:var(--se-ok);border-radius:5px}

.se-camp{margin-left:auto;display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,var(--se-camp1),var(--se-camp2));color:#fff;border-radius:9px;padding:5px 6px 5px 12px;font-size:13px;min-width:0}
.se-camp-ic{font-size:14px}
.se-camp-name{font-weight:600}
.se-camp-mut{color:#DCE7F2;white-space:nowrap}
.se-camp-bar{width:120px;height:6px;background:rgba(255,255,255,.22);border-radius:6px;overflow:hidden;flex:none}
.se-camp-bar i{display:block;height:100%;background:#FFB347}
.se-camp-btn{background:rgba(255,255,255,.18);border:0;color:#fff;padding:4px 10px;border-radius:7px;font-size:13px;white-space:nowrap;cursor:pointer}
.se-camp-btn:hover{background:rgba(255,255,255,.28)}

/* ---------- Thanh bộ lọc ---------- */
.se-toolbar{position:sticky;top:var(--se-top-h);z-index:100;background:var(--se-bg);margin:0 -24px;padding:8px 24px 6px;display:flex;flex-direction:column;gap:10px}
.se-tabs.filter-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0;flex-wrap:nowrap}
.se-tabs.filter-row::-webkit-scrollbar{display:none}
.se-toolbar .se-tabs .chip{flex:none;border:1px solid var(--se-line);background:var(--se-card);border-radius:9px;padding:6px 12px;font-size:13.5px;display:flex;align-items:center;gap:7px;color:var(--se-tx2);font-weight:500}
.se-toolbar .se-tabs .chip::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--se-gx);display:none}
.se-toolbar .se-tabs .chip.g-1::before{display:block;background:var(--se-g1)}
.se-toolbar .se-tabs .chip.g-2a::before{display:block;background:var(--se-g2a)}
.se-toolbar .se-tabs .chip.g-2b::before{display:block;background:var(--se-g2b)}
.se-toolbar .se-tabs .chip.g-3a::before{display:block;background:var(--se-g3a)}
.se-toolbar .se-tabs .chip.g-3b::before{display:block;background:var(--se-g3b)}
.se-toolbar .se-tabs .chip.active{background:var(--se-navy);border-color:var(--se-navy);color:#fff;font-weight:600}
.se-toolbar .chip-count{background:none;color:var(--se-tx3);font-size:12.5px;font-weight:600;padding:0}
.se-toolbar .chip.active .chip-count{background:none;color:#D6E3F0}

.se-ctrls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.se-fs-head,.se-fs-foot{display:none}
.se-mbar{display:none}
.se-dd{border:1px solid var(--se-line);background:var(--se-card);border-radius:8px;height:36px;padding:0 11px;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--se-tx2);cursor:pointer;white-space:nowrap}
.se-dd:hover{border-color:#8DB0D3}
.se-dd .se-ic{width:16px;height:16px}
.se-dd .se-ic.chev{width:14px;height:14px;color:var(--se-tx3)}
.se-ddw{position:relative}
.se-ddw.act>.se-dd{border-color:#8DB0D3;background:var(--se-navy-xl);color:var(--se-navy-tx);font-weight:600}
.se-ddp{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:130;background:var(--se-card);border:1px solid var(--se-line);border-radius:10px;box-shadow:var(--se-sh-lg);padding:8px;min-width:250px;max-height:60vh;overflow:auto}
.se-ddw.open .se-ddp{display:block}
.se-ddp-h{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--se-tx3);font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:4px 6px 8px}
.se-ddp-h .chip-action{text-transform:none;letter-spacing:0;font-size:12.5px;padding:4px 10px;border-radius:7px}
.se-toolbar .se-ddp .filter-row{display:flex;flex-direction:column;gap:2px;margin:0}
.se-toolbar .se-ddp .chip{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-radius:7px;padding:8px 9px;font-size:14px;color:var(--se-tx);font-weight:400}
.se-toolbar .se-ddp .chip:hover{background:var(--se-card2)}
.se-toolbar .se-ddp .chip.active{background:var(--se-navy-l);color:var(--se-navy-tx);font-weight:600}
.se-toolbar .se-ddp .chip.active .chip-count{color:var(--se-navy-tx)}
.se-toolbar .pct-filter{display:flex;align-items:center;gap:6px;padding:4px 6px;font-size:14px;color:var(--se-tx2);flex-wrap:wrap}
.se-toolbar .pct-filter input{width:70px;border:1px solid var(--se-line);border-radius:7px;padding:6px 8px;background:var(--se-card);color:var(--se-tx);font-size:14px}
.se-toolbar .pct-clear{font-size:13px;color:var(--se-g1);background:none;border:0;cursor:pointer}
.se-toolbar .pct-filter{margin:0}
.se-toolbar .pct-filter.on input{border-color:var(--se-navy-tx);background:var(--se-navy-l);color:var(--se-navy-tx);font-weight:600}
.se-sort.sort-wrap{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--se-line);background:var(--se-card);border-radius:8px;height:36px;padding:0 4px 0 10px;color:var(--se-tx3);margin:0}
.se-sort .sort-select{border:0;background:transparent;color:var(--se-tx2);font-size:13.5px;padding:4px;min-height:0;height:32px}
.se-sort .sort-select option{color:#1B2430;background:#fff}
.se-view{display:flex;border:1px solid var(--se-line);border-radius:8px;overflow:hidden;background:var(--se-card)}
.se-view button{border:0;background:none;width:36px;height:34px;display:grid;place-items:center;color:var(--se-tx3);cursor:pointer}
.se-view button.on{background:var(--se-navy-l);color:var(--se-navy-tx)}
.se-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:13px}
.se-chips:empty{display:none}
.se-chips .lbl{color:var(--se-tx3)}
.se-chip{display:inline-flex;align-items:center;gap:6px;background:var(--se-navy-l);color:var(--se-navy-tx);border-radius:20px;padding:3px 10px;font-weight:600;border:0;font-size:13px;cursor:pointer}
.se-clear{border:0;background:none;color:var(--se-g1);font-size:13px;font-weight:600;cursor:pointer}
.se-fs-bg{display:none}
.se-b{background:var(--se-navy);color:#fff;border-radius:10px;font-size:12px;padding:0 6px;font-weight:600}
.se-btn{border:1px solid var(--se-line);background:var(--se-card);border-radius:9px;height:40px;padding:0 14px;font-size:14px;font-weight:600;color:var(--se-tx);cursor:pointer}
.se-btn.pri{background:var(--se-navy);border-color:var(--se-navy);color:#fff}

/* ---------- Kết quả + phân trang ---------- */
.se-res.results-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0;font-size:13.5px;color:var(--se-tx2);max-width:none;margin:0}
.se-res .results-count{color:var(--se-tx);font-size:15px;font-weight:600}
.se-res-sum{color:var(--se-due);font-weight:600}
.se-main .pagination-bar{max-width:none;padding:6px 0 0;margin:0;color:var(--se-tx2)}
.se-main .pager-summary{color:var(--se-tx3);font-size:13px}
.se-main .pager-btn{background:var(--se-card);border-color:var(--se-line);color:var(--se-navy-tx);font-size:13.5px}
.se-main .pager-btn:hover:not(:disabled){background:var(--se-navy-xl);border-color:#8DB0D3}
.se-main .pager-btn.active{background:var(--se-navy);border-color:var(--se-navy);color:#fff}
.se-main .pager-ellipsis{color:var(--se-tx3)}
.se-main .empty{color:var(--se-tx3)}

/* ---------- Thẻ căn ---------- */
.se-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;padding:0;margin:0;max-width:none}
.se-grid.as-table{display:block}
.se-card{--gc:var(--se-gx);--gb:var(--se-gxb);background:var(--se-card);border:1px solid var(--se-line);border-top:3px solid var(--gc);border-radius:var(--se-r);box-shadow:var(--se-sh);padding:13px 15px 0;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:box-shadow .15s,transform .15s;min-width:0;color:var(--se-tx)}
.se-card:hover{box-shadow:0 10px 26px rgba(20,54,81,.13);transform:translateY(-1px)}
.gx-1{--gc:var(--se-g1);--gb:var(--se-g1b)}.gx-2a{--gc:var(--se-g2a);--gb:var(--se-g2ab)}.gx-2b{--gc:var(--se-g2b);--gb:var(--se-g2bb)}
.gx-3a{--gc:var(--se-g3a);--gb:var(--se-g3ab)}.gx-3b{--gc:var(--se-g3b);--gb:var(--se-g3bb)}.gx-x{--gc:var(--se-gx);--gb:var(--se-gxb)}
.se-card.mine{box-shadow:0 0 0 2px var(--se-navy-l),var(--se-sh)}
.se-c-top{display:flex;align-items:flex-start;gap:8px}
.se-c-id{font-weight:600;font-size:15.5px;color:var(--se-navy-tx);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.se-pct{margin-left:auto;font-weight:600;font-size:13.5px;padding:2px 9px;border-radius:20px;background:var(--gb);color:var(--gc);white-space:nowrap}
.se-c-unit{font-size:12.5px;color:var(--se-tx3);margin-top:-6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.se-c-name{font-size:14.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.se-c-tags{display:flex;gap:5px;flex-wrap:wrap}
.se-tg{font-size:12px;font-weight:600;padding:1px 7px;border-radius:5px;background:var(--se-gxb);color:var(--se-gx);white-space:nowrap}
.se-tg.q359{background:var(--se-q359b);color:var(--se-q359t)}.se-tg.q447{background:var(--se-q447b);color:var(--se-q447t)}.se-tg.qbm{background:var(--se-qbmb);color:var(--se-qbmt)}
.se-tg.bid{background:var(--se-bidb);color:var(--se-bidt)}.se-tg.nopl{background:var(--se-noplb);color:var(--se-noplt)}.se-tg.batch{background:var(--se-batchb);color:var(--se-batcht)}
.se-tg.hand{background:var(--se-handb);color:var(--se-handt)}.se-tg.new{background:var(--se-newb);color:var(--se-newt)}.se-tg.paid{background:var(--se-paidb);color:var(--se-paidt)}.se-tg.unas{background:var(--se-unasb);color:var(--se-unast)}
.se-bar{position:relative;height:6px;background:var(--se-line2);border-radius:6px;margin-bottom:14px}
.se-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:var(--gc)}
.se-bar b{position:absolute;top:-3px;width:2px;height:12px;background:#9AA4B1;border-radius:2px}
.se-bar b::after{content:attr(data-l);position:absolute;top:12px;left:50%;transform:translateX(-50%);font-size:12px;color:var(--se-tx3);font-weight:400}
.se-c-money{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:5px;margin:0}
.se-c-money div{background:var(--se-navy-xl);border-radius:7px;padding:5px 7px;min-width:0}
.se-c-money dt{font-size:12px;color:var(--se-tx3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.se-c-money dd{margin:0;font-weight:600;font-size:14.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.se-c-money dd.ok{color:var(--se-ok)}.se-c-money dd.due{color:var(--se-due)}.se-c-money dd.need{color:var(--se-need)}
.se-conv{font-size:12px}
.se-c-foot{display:flex;align-items:center;gap:8px;border-top:1px solid var(--se-line2);margin:auto -15px 0;padding:9px 15px;font-size:13px;color:var(--se-tx2);background:var(--se-card2);border-radius:0 0 var(--se-r) var(--se-r)}
.se-note{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.se-note.se-empty{color:var(--se-tx3);font-style:italic}
.se-av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:12.5px;flex:none;background:var(--se-navy-l);color:var(--se-navy-tx)}
.se-av.s{width:25px;height:25px;font-size:12px}
.se-av.me{background:var(--se-navy);color:#fff}
.se-av.none{background:var(--se-card2);color:var(--se-tx3);border:1px solid var(--se-line)}
.se-st{font-size:12px;font-weight:600;padding:2px 9px;border-radius:20px;white-space:nowrap;background:var(--se-s0b);color:var(--se-s0t)}
.se-st.s-da-lien-he{background:var(--se-s1b);color:var(--se-s1t)}.se-st.s-dam-phan{background:var(--se-s2b);color:var(--se-s2t)}.se-st.s-da-ky-pl{background:var(--se-s3b);color:var(--se-s3t)}
.se-st.s-da-thu{background:var(--se-s4b);color:var(--se-s4t)}.se-st.s-tu-choi{background:var(--se-s5b);color:var(--se-s5t)}.se-st.s-can-ho-tro{background:var(--se-s6b);color:var(--se-s6t)}

/* ---------- Dạng bảng ---------- */
.se-tbl-wrap{background:var(--se-card);border:1px solid var(--se-line);border-radius:var(--se-r);overflow:auto;box-shadow:var(--se-sh)}
.se-tbl{border-collapse:collapse;width:100%;font-size:13.5px;white-space:nowrap;color:var(--se-tx)}
.se-tbl th{position:sticky;top:0;background:var(--se-card2);text-align:left;font-size:12px;color:var(--se-tx3);font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:10px 12px;border-bottom:1px solid var(--se-line)}
.se-tbl td{padding:10px 12px;border-bottom:1px solid var(--se-line2)}
.se-tbl tbody tr{cursor:pointer;--gc:var(--se-gx);--gb:var(--se-gxb)}
.se-tbl tbody tr:hover td{background:var(--se-navy-xl)}
.se-tbl .n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.se-tbl td.ok{color:var(--se-ok)}.se-tbl td.due{color:var(--se-due)}.se-tbl td.need{color:var(--se-need)}
.se-tbl .se-hd{color:var(--se-navy-tx);font-weight:600}
.se-tbl .nm{max-width:220px;overflow:hidden;text-overflow:ellipsis}
.se-tbl .nt{max-width:260px;overflow:hidden;text-overflow:ellipsis;color:var(--se-tx2)}
.se-tbar{display:flex;align-items:center;gap:8px}
.se-tbar .se-bar{width:70px;margin:0}
.se-tbar .se-bar b::after{display:none}
.se-tbar .se-pct{margin:0}
.se-who{display:inline-flex;align-items:center;gap:7px}

/* ---------- Thanh dưới (điện thoại) ---------- */
.se-bottom{display:none}

/* ---------- Menu Tiện ích ---------- */
.menu-danger-h{font-size:12px;font-weight:600;color:#B00000;padding:14px 18px 4px;border-top:1px solid var(--border,#E1E4E8);margin-top:6px;letter-spacing:.3px;text-transform:uppercase}
.menu-label-sub{font-size:12px}
[data-theme="dark"] .menu-content{background:var(--se-card);color:var(--se-tx)}
[data-theme="dark"] .menu-header{border-color:var(--se-line)}
[data-theme="dark"] .menu-title{color:var(--se-navy-tx)}
[data-theme="dark"] .menu-item{color:var(--se-tx)}
[data-theme="dark"] .menu-item:hover{background:var(--se-card2)}
[data-theme="dark"] .menu-label-sub,[data-theme="dark"] .menu-version{color:var(--se-tx3)}
[data-theme="dark"] .menu-danger-h{color:#F28C8C;border-color:var(--se-line)}
[data-theme="dark"] .modal-close{background:var(--se-card2);color:var(--se-tx2)}

/* ---------- Chi tiết căn: ngăn bên phải trên máy tính ---------- */
#modalBackdrop .modal{background:var(--se-card);color:var(--se-tx)}
#modalBackdrop .modal-header{background:var(--se-card);border-color:var(--se-line)}
#modalBackdrop .modal-title{color:var(--se-navy-tx);font-size:20px}
#modalBackdrop .modal-title .card-unit{background:var(--se-card2);color:var(--se-tx3);font-size:13px;font-weight:500;padding:2px 8px;border-radius:6px}
#modalBackdrop .modal-title .card-pct{font-size:13.5px;padding:2px 9px;border-radius:20px}
#modalBackdrop .modal-subtitle{color:var(--se-tx2);font-size:14px}
#modalBackdrop .modal-tabs{gap:2px}
#modalBackdrop .modal-tab{flex:none;min-width:0;padding:11px 12px;font-size:14px;background:transparent;color:var(--se-tx2);border-bottom-width:2px}
#modalBackdrop .modal-tab:hover{background:var(--se-card2);color:var(--se-navy-tx)}
#modalBackdrop .modal-tab.active{color:var(--se-navy-tx);border-bottom-color:var(--se-navy-tx);background:transparent}
#modalBackdrop .modal-body{background:var(--se-card2)}
@keyframes seSlideIn{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
@media (min-width:1024px){
  #modalBackdrop.modal-backdrop{align-items:stretch;justify-content:flex-end;-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(16,24,36,.38)}
  #modalBackdrop .modal{width:min(720px,94vw);max-width:none;height:100vh;max-height:none;border-radius:0;box-shadow:var(--se-sh-lg);animation:seSlideIn .22s ease}
  #modalBackdrop.modal-wide .modal{width:min(1150px,96vw)}
  #modalBackdrop .modal-header{padding:18px 22px 0}
  #modalBackdrop .modal-body{padding:18px 22px 28px}
  #modalBackdrop .modal-close{width:36px;height:36px;font-size:18px}
  #tabInfo .detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
}

/* Tab Tổng quan: các khối, số tiền đầy đủ, bấm để sao chép */
#tabInfo{--grey-bg:var(--se-card);--border:var(--se-line)}
#tabInfo .detail-section{margin-bottom:20px}
#tabInfo .detail-section-title{font-size:12.5px;color:var(--se-tx3);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#tabInfo .detail-row{background:var(--se-card);border:1px solid var(--se-line);border-radius:9px}
#tabInfo .detail-label{font-size:12.5px;color:var(--se-tx3)}
#tabInfo .detail-value{font-size:15px;color:var(--se-tx);font-variant-numeric:tabular-nums}
#tabInfo .detail-value.big{font-size:17px;color:var(--se-navy-tx)}
#tabInfo .detail-value.big.conv{color:var(--se-need)}
#tabInfo .detail-value.paid{color:var(--se-ok)}
#tabInfo .detail-value.due{color:var(--se-due)}
#tabInfo .detail-value.due-red{color:var(--se-g1)}
#tabInfo [data-copy]{cursor:copy;border-radius:4px}
#tabInfo [data-copy]:hover{background:var(--se-navy-l)}
#tabInfo .se-hl-90{border-color:#E9B783;background:#FFF6EA}
#tabInfo .se-hl-70{border-color:#F0CFA0;background:#FFF8EE}
#tabInfo .se-hl-conv{background:var(--se-g3ab);border-color:transparent}
#tabInfo .se-copy-hint{text-transform:none;letter-spacing:0;font-weight:400;font-size:12px;color:var(--se-tx3);margin-left:auto}
#tabInfo .se-hint{font-size:12.5px;color:var(--se-tx3);margin-top:6px}
#tabInfo .se-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
#tabInfo .tag{font-size:12px}
#tabInfo .se-group-box{padding:10px 12px;background:var(--se-card);border:1px solid var(--se-line);border-left:4px solid var(--se-navy-tx);border-radius:8px}
#tabInfo .se-group-name{font-weight:600;color:var(--se-navy-tx);font-size:14.5px}
#tabInfo .se-group-act{font-size:13px;color:var(--se-tx2);margin-top:3px}
#tabInfo .se-strong{color:var(--se-navy-tx)}
#tabInfo .se-diff{font-size:12px}
#tabInfo .se-diff.up{color:var(--se-due)}#tabInfo .se-diff.down{color:var(--se-g3b)}
#tabInfo .se-cdt-note{padding:10px 12px;background:var(--se-navy-l);border-radius:8px;font-size:14px;line-height:1.5;color:var(--se-tx)}
#tabInfo .se-notes-first .notes-section{margin-top:0}
#tabInfo .se-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#tabInfo .status-label,#tabInfo .field-label{font-size:12.5px;color:var(--se-tx3)}
#tabInfo .save-indicator.saved{color:var(--se-ok)}
#tabInfo .notes-meta{color:var(--se-tx3)}
#tabInfo .tag{font-weight:600}
#tabInfo .tag.luong-359{background:var(--se-q359b);color:var(--se-q359t)}
#tabInfo .tag.luong-447{background:var(--se-q447b);color:var(--se-q447t)}
#tabInfo .tag.quy-ban-moi{background:var(--se-qbmb);color:var(--se-qbmt)}
#tabInfo .tag.no-pl{background:var(--se-noplb);color:var(--se-noplt)}
#tabInfo .tag.bid{background:var(--se-bidb);color:var(--se-bidt)}
#tabInfo .tag.handover{background:var(--se-handb);color:var(--se-handt)}
#tabInfo .tag.new{background:var(--se-newb);color:var(--se-newt)}
#tabInfo .tag.batch{background:var(--se-batchb);color:var(--se-batcht)}
#tabInfo .status-option{font-size:13px;padding:5px 11px}
#tabInfo .field-input,#tabInfo .field-textarea{font-size:14.5px}
#tabInfo .notes-meta,#tabInfo .moilv-addr,#tabInfo .btn-clear-note{font-size:12.5px}
#tabInfo .edit-record-btn,#tabInfo .override-indicator,#tabInfo .edit-record-reset,#tabInfo .permission-banner{font-size:12.5px}
/* Các tab khác giữ kiểu cũ trên nền sáng (cả khi bật nền tối) */
#modalBackdrop .tab-content:not(#tabInfo){background:#fff;color:#212529;border-radius:10px;padding:14px;margin:-4px -4px 0}

/* Nền tối cho tab Tổng quan (các khối kiểu cũ) */
[data-theme="dark"] #tabInfo .notes-section{background:var(--se-card);border-color:var(--se-line)}
[data-theme="dark"] #tabInfo .notes-section.locked{background:var(--se-card2)}
[data-theme="dark"] #tabInfo .status-label,[data-theme="dark"] #tabInfo .field-label,[data-theme="dark"] #tabInfo .notes-meta{color:var(--se-tx3)}
[data-theme="dark"] #tabInfo .status-option{background:var(--se-card2);border-color:var(--se-line);color:var(--se-tx2)}
[data-theme="dark"] #tabInfo .status-option.active{color:#fff}
[data-theme="dark"] #tabInfo .field-input,[data-theme="dark"] #tabInfo .field-textarea{background:var(--se-card2);border-color:var(--se-line);color:var(--se-tx)}
[data-theme="dark"] #tabInfo .field-input[disabled],[data-theme="dark"] #tabInfo .field-textarea[disabled]{background:var(--se-bg);color:var(--se-tx3)}
[data-theme="dark"] #tabInfo .field-input option{background:#fff;color:#1B2430}
[data-theme="dark"] #tabInfo .save-indicator.saved{color:var(--se-ok)}
[data-theme="dark"] #tabInfo .moilv-addr{color:#D8C08F}
[data-theme="dark"] #tabInfo .btn-clear-note{color:#F28C8C}
[data-theme="dark"] #tabInfo .assignment-section{background:#2C2717;border-color:#5A4E24}
[data-theme="dark"] #tabInfo .assignment-title{color:#E8CD80}
[data-theme="dark"] #tabInfo .assignment-current{background:var(--se-card2);color:var(--se-tx2)}
[data-theme="dark"] #tabInfo .assignment-current.has{background:#25351F;color:#A2D57E}
[data-theme="dark"] #tabInfo .assignment-select{background:var(--se-card2);border-color:#5A4E24;color:var(--se-tx)}
[data-theme="dark"] #tabInfo .edit-record-bar{background:#2C2717;border-color:#5A4E24}
[data-theme="dark"] #tabInfo .se-hl-90{background:#33291D;border-color:#5A4528}
[data-theme="dark"] #tabInfo .se-hl-70{background:#2E261B;border-color:#54412A}
[data-theme="dark"] #tabInfo .phone-actions .db-phone-item{background:var(--se-card2)}

/* ---------- Màn hình vừa (máy tính bảng ngang) ---------- */
@media (max-width:1180px){
  .se-camp .se-camp-money{display:none}
}

/* ================= ĐIỆN THOẠI / MÀN HÌNH HẸP ================= */
@media (max-width:899px){
  .se-side{display:none}
  .se-main{margin-left:0;padding-bottom:64px}
  :root{--se-top-h:auto}
  .se-top{flex-wrap:wrap;height:auto;padding:8px 12px 10px;gap:8px;background:var(--se-side);border:0;color:#fff}
  .se-title,.se-top-r .se-d,#btnMenu{display:none}
  .se-top-r{position:absolute;right:52px;top:14px}
  .se-top-m{display:flex;align-items:center;gap:8px;width:100%}
  .se-top-m-title{font-weight:600;font-size:15.5px;color:#fff}
  .se-top-m .se-ib{color:#fff}
  .se-top-m .se-ib:hover{background:rgba(255,255,255,.1)}
  .se-search.search-wrap{max-width:none;width:100%;margin:0}
  .se-search .search-input{background:var(--se-card);border:0;height:42px}
  .se-content{padding:12px 12px 20px;gap:12px}
  .se-kpi{padding:12px 14px}
  .se-kpi-tg{display:block}
  .se-camp{order:9;flex-basis:100%;margin:0;flex-wrap:wrap;gap:6px 10px}
  .se-camp-bar{flex:1;width:auto;min-width:60px}
  .se-kpi-grid{grid-template-columns:1fr 1fr;gap:12px}
  .se-kc{border:0;padding:0}
  .se-kc .v{font-size:18px}
  .se-kpi:not(.open) .se-kc:not(.m-main){display:none}
  .se-toolbar{position:static;margin:0;padding:0;background:none}
  .se-mbar{display:flex;gap:8px}
  .se-mbar .se-dd{flex:1;justify-content:center}
  .se-ctrls{display:none}
  .se-toolbar.fs-open .se-ctrls{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;position:fixed;left:0;right:0;bottom:0;max-height:86vh;overflow:auto;background:var(--se-card);border-radius:18px 18px 0 0;z-index:400;box-shadow:var(--se-sh-lg);padding:0 16px}
  .se-toolbar.fs-open + .se-fs-bg{display:block;position:fixed;inset:0;background:rgba(16,24,36,.45);z-index:399}
  .se-toolbar.fs-open .se-fs-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--se-card);padding:14px 0 8px;font-weight:600;font-size:16px;color:var(--se-tx);z-index:1}
  .se-toolbar.fs-open .se-fs-foot{display:flex;gap:8px;position:sticky;bottom:0;background:var(--se-card);padding:10px 0 14px;border-top:1px solid var(--se-line);margin-top:6px}
  .se-toolbar.fs-open .se-fs-foot .se-btn{flex:1}
  .se-toolbar.fs-open .se-ddw{border-bottom:1px solid var(--se-line2);padding:10px 0}
  .se-toolbar.fs-open .se-ddw>.se-dd{display:none}
  .se-toolbar.fs-open .se-ddp{display:block;position:static;box-shadow:none;border:0;padding:0;max-height:none;min-width:0;background:transparent}
  .se-toolbar.fs-open .se-ddp .filter-row{flex-direction:row;flex-wrap:wrap;gap:7px}
  .se-toolbar.fs-open .se-ddp .chip{width:auto;border:1px solid var(--se-line);border-radius:20px;padding:6px 12px;background:var(--se-card)}
  .se-toolbar.fs-open .se-ddp .chip.active{background:var(--se-navy);border-color:var(--se-navy);color:#fff}
  .se-toolbar.fs-open .se-ddp .chip.active .chip-count{color:#D6E3F0}
  .se-toolbar.fs-open .se-sp,.se-toolbar.fs-open .se-view{display:none}
  .se-toolbar.fs-open .se-sort{margin:12px 0 4px;height:42px}
  .se-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .se-main .pagination-bar{justify-content:center}
  .se-bottom{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:140;background:var(--se-card);border-top:1px solid var(--se-line);padding:6px 4px calc(8px + env(safe-area-inset-bottom))}
  .se-bottom a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;color:var(--se-tx3);text-decoration:none;position:relative}
  .se-bottom a .se-ic{width:23px;height:23px}
  .se-bottom a.on{color:var(--se-navy-tx);font-weight:600}
  .se-bottom .se-dot{top:-3px;right:auto;left:calc(50% + 5px)}
  #tabInfo .se-two{grid-template-columns:1fr}
  #tabInfo .se-copy-hint{margin-left:0;flex-basis:100%}
  .toast{bottom:84px}
}
@media print{
  .se-side,.se-top,.se-toolbar,.se-bottom,.se-kpi{display:none!important}
  .se-main{margin:0}
}

/* ===== 29/10/2026 · Tab Tổng quan bố cục mới (Thông tin theo Excel → Ghi chú → nhóm khác) ===== */
#tabInfo .se-sub-title{font-size:12.5px;color:var(--se-tx3);margin:14px 0 6px}
#tabInfo .se-need-grid{margin-top:8px}
#tabInfo .se-hl-100{border-color:#E7BDBD;background:#FFF4F4}
#tabInfo .se-xl{margin-top:12px}
#tabInfo .se-xl>summary{cursor:pointer;font-size:12.5px;color:var(--se-tx2);padding:6px 0}
#tabInfo .se-xl .detail-grid{margin-top:6px}
#tabInfo .se-notes .edit-record-bar{margin-top:10px}
[data-theme="dark"] #tabInfo .se-hl-100{background:#352224;border-color:#5A3236}
/* Thanh Gọi / Zalo: chỉ hiện trên điện thoại, luôn nổi ở mép dưới khi cuộn */
#tabInfo .se-callbar{display:none}
@media (max-width:899px){
  /* Mỗi số một hàng (số chính luôn hiện, số khác mở bằng "▾ N số khác") — không cuộn ngang */
  #tabInfo .se-callbar{display:flex;flex-direction:column;align-items:stretch;gap:8px;position:sticky;bottom:0;z-index:6;margin:14px -6px 0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--se-card);border:1px solid var(--se-line);border-radius:14px;box-shadow:0 -4px 18px rgba(16,24,36,.16)}
  #tabInfo .se-cb-item{display:flex;align-items:center;gap:6px;min-width:0}
  #tabInfo .se-cb-item.extra{display:none}
  #tabInfo .se-callbar.open .se-cb-item.extra{display:flex}
  #tabInfo .se-cb-num{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:14px;color:var(--se-tx);font-variant-numeric:tabular-nums}
  #tabInfo .se-cb-btn{display:inline-flex;align-items:center;gap:4px;padding:9px 13px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;color:#fff}
  #tabInfo .se-cb-btn.call{background:#1A7F3F}
  #tabInfo .se-cb-btn.zalo{background:#0068FF}
  #tabInfo .se-cb-empty{font-size:13.5px;color:var(--se-tx3)}
  #tabInfo .se-cb-add{margin-left:auto;padding:8px 12px;border-radius:10px;border:1px solid var(--se-line);background:var(--se-card2);color:var(--se-navy-tx);font-weight:600;font-size:13.5px;font-family:inherit}
  #tabInfo .se-cb-more{align-self:flex-start;border:0;background:none;padding:2px 0;font:inherit;font-size:13px;font-weight:600;color:var(--se-navy-tx);cursor:pointer}
}

/* ===================== Nền tối · tab Chuyển đổi & Ưu đãi (29/10/2026) =====================
   Tờ A4 xem trước (.ud-doc trong .calc-sheet) giữ nền trắng chữ đen như bản in. */
/* Đè quy tắc "#modalBackdrop .tab-content:not(#tabInfo)" (giữ nền sáng cho tab khác) — tab này theo nền tối.
   Không đổi biến --navy vì nút (btn-primary, calc-btn-seal) dùng nó làm màu nền; màu chữ navy đặt riêng bên dưới. */
[data-theme="dark"] #modalBackdrop #tabConv{
  --card:var(--se-card);--border:var(--se-line);--bg:var(--se-bg);--grey-bg:var(--se-card2);
  --grey:var(--se-tx2);--grey-2:var(--se-tx3);--grey-3:#6B7684;
  background:transparent;color:var(--se-tx)
}
[data-theme="dark"] #tabConv .conv-section-header{background:var(--se-navy-l);color:var(--se-navy-tx)}
[data-theme="dark"] #tabConv .conv-mark{background:var(--se-navy-l);color:var(--se-navy-tx)}
[data-theme="dark"] #tabConv .conv-area-card-val,[data-theme="dark"] #tabConv .pay-table td.amount,
[data-theme="dark"] #tabConv .cu-sum-i b,[data-theme="dark"] #tabConv .cu-navbtn{color:var(--se-navy-tx)}
[data-theme="dark"] #tabConv .cu-arrow{color:var(--se-tx3)}
[data-theme="dark"] #tabConv .cu-flow{background:var(--se-card2)}
[data-theme="dark"] #tabConv .btn-secondary{background:var(--se-card);color:var(--se-tx);border-color:var(--se-line)}
[data-theme="dark"] #tabConv .pay-table td{color:var(--se-tx)}
[data-theme="dark"] #tabConv .pay-table tr.total td{color:#fff}
[data-theme="dark"] #tabConv .permission-banner{background:var(--se-card2);color:var(--se-tx2)}
[data-theme="dark"] .ud-dlg-h{color:var(--se-navy-tx)}
[data-theme="dark"] #tabConv .conv-section,[data-theme="dark"] #tabConv .conv-area-card,[data-theme="dark"] #tabConv .calc-console,
[data-theme="dark"] #tabConv .cu-step,[data-theme="dark"] #tabConv .cu-navbtn,[data-theme="dark"] #tabConv .cu-sum-i,
[data-theme="dark"] #tabConv .calc-seg{background:var(--se-card);border-color:var(--se-line)}
[data-theme="dark"] #tabConv .conv-area-card.old{background:var(--se-card2)}
[data-theme="dark"] #tabConv .conv-area-card.new{background:#2A2238;border-color:#4A3A63}
[data-theme="dark"] #tabConv .conv-area-card.new .conv-area-card-label,[data-theme="dark"] #tabConv .conv-area-card.new .conv-area-card-val{color:#C6A6EE}
[data-theme="dark"] #tabConv .conv-area-note{background:#2A2238;color:#D9C4F5}
[data-theme="dark"] #tabConv .conv-label,[data-theme="dark"] #tabConv .conv-area-card-val.sub{color:var(--se-tx)}
[data-theme="dark"] #tabConv .conv-row{border-bottom-color:var(--se-line2)}
[data-theme="dark"] #tabConv .conv-input{background:var(--se-card2);border-color:var(--se-line);color:var(--se-tx)}
[data-theme="dark"] #tabConv .conv-input.editable{background:#2E2A1A;border-color:#7A6524;color:#F3E6B8}
[data-theme="dark"] #tabConv .conv-input[disabled]{background:var(--se-bg);color:var(--se-tx3)}
[data-theme="dark"] #tabConv .conv-basis{background:#2E2A1A;border-color:#7A6524;color:#F3E6B8}
[data-theme="dark"] #tabConv .conv-value.calc{background:#1F3349;color:#B9D4F2}
[data-theme="dark"] #tabConv .conv-value.highlight{background:#3A3217;color:#F0D78A;border-left-color:#B8860B}
[data-theme="dark"] #tabConv .conv-summary{background:#2E2A1A;border-color:#7A6524}
[data-theme="dark"] #tabConv .conv-summary-label,[data-theme="dark"] #tabConv .conv-summary-sub{color:#D9C27A}
[data-theme="dark"] #tabConv .conv-summary-value{color:#F3E6B8}
[data-theme="dark"] #tabConv .pay-table th{background:#22344A}
[data-theme="dark"] #tabConv .pay-table tr:nth-child(even){background:var(--se-card2)}
[data-theme="dark"] #tabConv .pay-table tr.maintenance{background:#33291D !important}
[data-theme="dark"] #tabConv .pay-table tr.total{background:#22344A !important}
[data-theme="dark"] #tabConv .pay-table tr[style*="FFF8DC"],[data-theme="dark"] #tabConv .pay-table tr[style*="EAF4FF"]{background:#2E2A1A !important}
[data-theme="dark"] #tabConv .cu-step.on{background:var(--se-navy-l);border-color:var(--se-navy-tx);color:var(--se-navy-tx)}
[data-theme="dark"] #tabConv .cu-step.on span{background:var(--se-navy)}
[data-theme="dark"] #tabConv .cu-sum-i.hl{background:#2E2A1A;border-color:#5A4E24}
[data-theme="dark"] #tabConv .cu-sum-i.ok b{color:var(--se-ok)}
[data-theme="dark"] #tabConv .calc-console h2{color:#F2A3A3;border-bottom-color:#7A3A35}
[data-theme="dark"] #tabConv .calc-fld input,[data-theme="dark"] #tabConv .calc-fld select,[data-theme="dark"] #tabConv .calc-fld textarea{background:var(--se-card2);border-color:var(--se-line);color:var(--se-tx)}
[data-theme="dark"] #tabConv .calc-fld input:disabled,[data-theme="dark"] #tabConv .calc-fld select:disabled{background:var(--se-bg);color:var(--se-tx3)}
[data-theme="dark"] #tabConv .calc-fld select option{background:#fff;color:#1B2430}
[data-theme="dark"] #tabConv .calc-seg button{color:var(--se-tx2)}
[data-theme="dark"] #tabConv .calc-seg button.on{background:#9A2C22;color:#fff}
[data-theme="dark"] #tabConv .calc-btn-ghost{background:var(--se-card2);border-color:var(--se-line);color:var(--se-navy-tx)}
[data-theme="dark"] #tabConv .calc-btn-ghost:hover{background:var(--se-navy-l)}
[data-theme="dark"] #tabConv .ud-status.ok{background:#25351F;color:#A2D57E;border-color:#3D5A30}
[data-theme="dark"] #tabConv .ud-status.warn{background:#3A3217;color:#E8CD80;border-color:#5A4E24}
[data-theme="dark"] #tabConv .ud-status.bad{background:#3F2326;color:#F2A3A3;border-color:#6A3A3E}
[data-theme="dark"] #tabConv .calc-sheet{background:#fff;border-color:var(--se-line)}
[data-theme="dark"] #tabConv .calc-sheet .ud-doc{color:#000}
[data-theme="dark"] #tabConv .ud-edbar{background:var(--se-card2);border-color:var(--se-line);color:var(--se-tx2)}
[data-theme="dark"] #tabConv .ud-edbar.on{background:#3A3217;color:#E8CD80;border-color:#5A4E24}
[data-theme="dark"] #tabConv .ud-edbar.stale{background:#3F2326;color:#F2A3A3;border-color:#6A3A3E}
[data-theme="dark"] #tabConv .conv-note{background:var(--se-card2);color:var(--se-tx3)}
[data-theme="dark"] .ud-dlg{background:var(--se-card);color:var(--se-tx)}
[data-theme="dark"] .ud-dlg-t th{background:var(--se-card2);color:var(--se-navy-tx)}
[data-theme="dark"] .ud-dlg-t tr.lech td{background:#3A2F17}
[data-theme="dark"] .ud-dlg input,[data-theme="dark"] .ud-dlg select{background:var(--se-card2);border-color:var(--se-line);color:var(--se-tx)}
[data-theme="dark"] .ud-use{background:var(--se-card2);color:var(--se-navy-tx);border-color:var(--se-line)}
[data-theme="dark"] .ud-dlg-sum.ok{background:#25351F;color:#A2D57E}
[data-theme="dark"] .ud-dlg-sum.bad{background:#3E2B1F;color:#F2A877}
/* Tab Chuyển đổi: chọn cơ sở đơn giá ① thông thuỷ / ② tim tường */
.conv-section-sub{font-weight:400;text-transform:none;letter-spacing:0;opacity:.85;font-size:11.5px}
.conv-dim{color:var(--grey-2);font-size:11px}
.conv-row-basis .conv-label>span:last-child{display:flex;flex-direction:column;gap:4px}
.conv-basis-wrap{display:block}
.conv-basis{font:inherit;font-size:12.5px;font-weight:600;padding:4px 8px;border:1px solid #E6C547;background:#FFFCEF;border-radius:6px;color:#1B2430;max-width:100%}
.conv-basis[disabled]{background:var(--grey-bg);border-color:var(--border);color:var(--grey-2)}
.conv-hint{color:var(--grey-2);font-size:11px;font-weight:400;line-height:1.35}
.pay-table .pay-calc{font-size:11px;color:var(--grey-2);font-weight:400;margin-top:2px;font-family:'SF Mono',Consolas,monospace}@media (max-width:599px){
  .conv-label{display:block;line-height:1.45}
  .conv-label .conv-mark{margin-right:4px}
  .conv-row-basis{grid-template-columns:auto minmax(0,1fr)}
  .conv-row-basis .conv-label{grid-column:1/-1}
  .conv-basis{font-size:13.5px;padding:6px 8px}
}

/* ===== Tab "Bản vẽ căn" trong thẻ chi tiết (nối HĐ với hồ sơ Sơ đồ tầng) ===== */
#tabBanve .bv{display:flex;flex-direction:column;gap:10px}
#tabBanve .bv-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#tabBanve .bv-id{display:flex;flex-direction:column;flex:1;min-width:0}
#tabBanve .bv-id b{font-size:17px;color:var(--se-navy-tx)}
#tabBanve .bv-id span{font-size:13px;color:var(--se-tx3)}
#tabBanve .bv-head .se-btn{text-decoration:none;white-space:nowrap}
#tabBanve .bv-specs{display:flex;flex-wrap:wrap;gap:6px}
#tabBanve .bv-specs span{background:var(--se-card2);border:1px solid var(--se-line);border-radius:8px;padding:5px 9px;font-size:13px;color:var(--se-tx2)}
#tabBanve .bv-specs b{color:var(--se-tx)}
#tabBanve .bv-note{background:var(--se-noplb);color:var(--se-noplt);border-radius:8px;padding:7px 10px;font-size:13px;line-height:1.4}
#tabBanve .bv-tabs,#tabBanve .bv-lvl{display:flex;gap:4px;flex-wrap:wrap}
#tabBanve .bv-tabs button,#tabBanve .bv-lvl button{border:1px solid var(--se-line);background:var(--se-card);color:var(--se-tx2);border-radius:8px;padding:7px 12px;font-size:13.5px;cursor:pointer;font-family:inherit}
#tabBanve .bv-lvl button{padding:4px 10px;font-size:12.5px}
#tabBanve .bv-tabs button:hover:not(:disabled),#tabBanve .bv-lvl button:hover{border-color:var(--se-navy-tx);color:var(--se-navy-tx)}
#tabBanve .bv-tabs button.on,#tabBanve .bv-lvl button.on{background:var(--se-navy-l);border-color:var(--se-navy-tx);color:var(--se-navy-tx);font-weight:600}
#tabBanve .bv-tabs button:disabled{opacity:.45;cursor:not-allowed}
#tabBanve .bv-img{display:block;width:100%;background:#fff;border:1px solid var(--se-line);border-radius:10px;padding:6px;cursor:zoom-in;font:inherit;text-align:left}
#tabBanve .bv-img:hover{border-color:var(--se-navy-tx)}
#tabBanve .bv-frame{position:relative;display:block}
#tabBanve .bv-frame img{display:block;width:100%;height:auto;max-height:68vh;object-fit:contain}
#tabBanve .bv-spot{position:absolute;border:3px solid #E0322B;background:rgba(224,50,43,.18);border-radius:4px;box-shadow:0 0 0 3px rgba(255,255,255,.7);pointer-events:none}
#tabBanve .bv-src{font-size:12px;color:var(--se-tx3);word-break:break-word}
#tabBanve .bv-rooms{border:1px solid var(--se-line);border-radius:10px;background:var(--se-card)}
#tabBanve .bv-rooms summary{padding:8px 12px;cursor:pointer;font-weight:600;font-size:13.5px;color:var(--se-tx2)}
#tabBanve .bv-rooms table{width:100%;border-collapse:collapse;font-size:13px}
#tabBanve .bv-rooms td{padding:5px 12px;border-top:1px solid var(--se-line2);color:var(--se-tx)}
#tabBanve .bv-rooms td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
#tabBanve .bv-retry{margin-top:10px;display:inline-flex;text-decoration:none}
/* Khung xem bản vẽ cỡ lớn (thay cho mở file ảnh gốc) */
.bv-lb{position:fixed;inset:0;z-index:9800;background:rgba(10,16,24,.88);display:flex;flex-direction:column}
.bv-lb-bar{display:flex;align-items:center;gap:6px;padding:10px 12px;color:#fff}
.bv-lb-bar b{flex:1;min-width:0;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bv-lb-bar button{width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;font-size:18px;cursor:pointer}
.bv-lb-bar button:hover{background:rgba(255,255,255,.22)}
.bv-lb-view{position:relative;flex:1;overflow:hidden;cursor:grab;touch-action:none;background:#fff;margin:0 12px 12px;border-radius:10px}
.bv-lb-view.drag{cursor:grabbing}
.bv-lb-stage{position:absolute;left:0;top:0;transform-origin:0 0}
.bv-lb-stage img{display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.bv-lb .bv-spot{position:absolute;border:3px solid #E0322B;background:rgba(224,50,43,.18);border-radius:4px;box-shadow:0 0 0 3px rgba(255,255,255,.7);pointer-events:none}