/* ═══════════════════════════════════════════════════════════════════════
   BỘ ÁO CHUNG CHO BẢNG ĐIỀU KHIỂN — dashboard.pos.29son.com
   Anh Sơn chốt 28/08/2026: *"làm nó giao diện chuyên nghiệp như trang letan,
   font chữ và kích thước như vậy cho dễ dùng"*.

   Lấy đúng chuẩn của letan.pos.29son.com:
     · chữ hệ thống Segoe UI / Roboto 14px/1.5 — không tải phông ngoài
     · xanh dương công sở #12457c, nền #eef1f5, thẻ trắng, viền #c9d3de
     · góc vuông 4px, không đổ bóng, kẻ ô rõ
     · chữ trong bảng nhỏ 11–13px, số căn phải

   File này NẠP SAU css gốc của từng app nên chỉ đè phần hình thức,
   không đụng gì tới cách chạy. Sửa một chỗ này là cả hai trang đổi theo.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── 1. Bảng màu và cỡ chữ chuẩn letan ───────────────────────────────── */
:root{
  --l-nen:#eef1f5; --l-the:#ffffff; --l-nen2:#f3f6f9;
  --l-vien:#c9d3de; --l-vien-nhat:#dde4ec;
  --l-chu:#1a2733; --l-mo:#5a6b7d; --l-mo-nhat:#8494a4;
  --l-chinh:#12457c; --l-chinh-dam:#0d3560; --l-chinh-nhat:#e8eef6;
  --l-xanh:#146c43; --l-xanh-nhat:#eaf5ef;
  --l-do:#a4231b; --l-do-nhat:#fcf3f6;
  --l-vang:#8a6100; --l-vang-nhat:#fdf7e8;
  --l-r:4px;
  --l-font:'Segoe UI',Roboto,'Helvetica Neue',Arial,'Liberation Sans',sans-serif;
}

/* ── 2. Thanh đầu chung (do thanh-dau.js chèn vào đầu trang) ──────────── */
/* 🔴 Anh Sơn 28/08/2026: "các trang chuyển giữa các tab chưa mượt".
   Gốc bệnh đo được: thanh đầu KHÔNG nằm trong HTML, nó do thanh-dau.js chèn vào đầu
   body sau khi trang đã vẽ xong. Thanh nằm trong luồng (sticky) nên lúc chèn vào nó
   ĐẨY TOÀN BỘ nội dung xuống 57px — mỗi lần đổi trang là thấy giật một nhịp.
   Cách chữa: chừa sẵn đúng 57px ngay từ khi trang bắt đầu vẽ, rồi cho thanh nổi đè
   lên chỗ đã chừa. Thanh xuất hiện không đẩy gì nữa.
   ⚠️ Trang đăng nhập (.login-shell) KHÔNG có thanh đầu nên phải trả lại 0. */
body{padding-top:57px}
body:has(.login-shell){padding-top:0}
.dash-bar{position:fixed;top:0;left:0;right:0;z-index:120;display:flex;align-items:center;gap:14px;
  height:54px;padding:0 16px;background:var(--l-chinh);color:#fff;
  border-bottom:3px solid var(--l-chinh-dam);
  font:14px/1.5 var(--l-font);-webkit-font-smoothing:antialiased}
.dash-bar .dash-hieu{font-weight:700;font-size:15px;letter-spacing:.2px;white-space:nowrap;
  padding-right:14px;border-right:1px solid rgba(255,255,255,.22);line-height:1.15;
  color:#fff;text-decoration:none;cursor:pointer;border-radius:var(--l-r);
  padding-left:8px;margin-left:-8px;transition:background .12s}
.dash-bar a.dash-hieu:hover{background:rgba(255,255,255,.14)}
.dash-bar .dash-hieu small{display:block;font-weight:400;font-size:10px;opacity:.8;
  letter-spacing:1.4px;text-transform:uppercase;margin-top:1px}
.dash-bar nav{display:flex;gap:2px;align-items:center;overflow-x:auto;flex:1}
.dash-bar nav a{color:rgba(255,255,255,.86);text-decoration:none;white-space:nowrap;
  font-size:13px;font-weight:600;padding:7px 9px;border-radius:var(--l-r);line-height:1.2}
.dash-bar nav a:hover{background:rgba(255,255,255,.12);color:#fff}
.dash-bar nav a.dang-o{background:#fff;color:var(--l-chinh-dam)}
.dash-bar .dash-cuoi{margin-left:auto;font-size:11px;opacity:.85;white-space:nowrap}

/* ═══ 3. BỘ MÁY AI (bo-may-ai-yana) — đè bảng màu kem/vàng ═══ */
:root{
  --small:12px;--base:14px;--medium:15px;--large:17px;--title:20px;--hero:26px;
  --radius-small:4px;--radius:4px;--radius-large:4px;
  --shadow-small:none;--shadow-large:none;
  --cream:var(--l-nen);--cream-2:var(--l-nen2);--card:var(--l-the);
  --brown:var(--l-chu);--brown-2:var(--l-chinh-dam);
  --gold:var(--l-chinh);--gold-light:#cfe0f2;--gold-dark:var(--l-chinh-dam);
  --muted:var(--l-mo);--border:var(--l-vien);
  --green:var(--l-xanh);--green-soft:var(--l-xanh-nhat);
  --red:var(--l-do);--red-soft:var(--l-do-nhat);
  --blue:var(--l-chinh);--blue-soft:var(--l-chinh-nhat);
  --sidebar:0px;--motion:120ms;
}
html{font-family:var(--l-font);font-size:14px;background:var(--l-nen);color:var(--l-chu)}
body{font:14px/1.5 var(--l-font)}
h1,h2,h3{font-family:var(--l-font);font-weight:600;letter-spacing:0}
h1{font-size:20px}h2{font-size:16px}h3{font-size:14px}

/* thanh ngăn dọc bên trái → hàng tab ngang như letan */
.app-shell{padding-left:0}
.sidebar{position:sticky;top:54px;inset:auto;width:auto;height:auto;z-index:29;
  display:flex;flex-direction:row;align-items:stretch;gap:0;padding:0 10px;
  background:var(--l-the);color:var(--l-chu);border-bottom:1px solid var(--l-vien);
  overflow-x:auto}
.sidebar .brand,.sidebar .signed-user{display:none}
.nav-list{display:flex;gap:0;padding:0;align-items:stretch}
.nav-item{min-height:38px;height:38px;border-radius:0;padding:0 12px;gap:6px;
  font-size:13px;color:var(--l-mo);border-bottom:2px solid transparent}
.nav-item span{font-size:13px;width:auto}
.nav-item b{font-weight:600}
.nav-item i{background:var(--l-do);color:#fff;font-size:10px;min-width:18px;height:18px}
.nav-item:hover{background:var(--l-nen2);color:var(--l-chinh)}
.nav-item.is-active{background:transparent;color:var(--l-chinh-dam);
  border-bottom-color:var(--l-chinh);font-weight:700}
.side-foot{margin:0 0 0 auto;display:flex;flex-direction:row;align-items:center;gap:8px}
.danger-button{min-height:28px;height:28px;padding:0 10px;font-size:12px;border-radius:var(--l-r);
  border:1px solid var(--l-vien);color:var(--l-do);background:var(--l-the)}
.danger-button:hover,.danger-button.is-stopped{background:var(--l-do);color:#fff;border-color:var(--l-do)}
.main-area{padding:14px 16px}
.topbar{min-height:auto;margin-bottom:12px;align-items:flex-end}
.eyebrow{font-size:10px;letter-spacing:1.4px;color:var(--l-mo);font-weight:700;margin-bottom:2px}

/* thẻ, ô nhập, nút — vuông vắn kiểu sổ */
.metric-card,.field-card,.sec-card,.songay-tong div,.songay-row,.may-row,
.approval-card,.workflow-card,.timeline-panel,.org-panel,.home-chat-panel,
.knowledge-status,.version-row,.brain-model-item{border-radius:var(--l-r);box-shadow:none}
.metric-card,.field-card,.sec-card{border:1px solid var(--l-vien);background:var(--l-the)}
input,select,textarea{border-radius:var(--l-r);border:1px solid var(--l-vien);
  background:var(--l-the);font-size:13px;padding:6px 8px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--l-chinh-nhat);border-color:var(--l-chinh)}
label{font-size:12px;color:var(--l-mo)}
.primary-button{background:var(--l-chinh);color:#fff;border:1px solid var(--l-chinh-dam);
  border-radius:var(--l-r);height:32px;padding:0 14px;font-size:13px;font-weight:600;box-shadow:none}
.primary-button:hover{background:var(--l-chinh-dam)}
.secondary-button{background:var(--l-the);color:var(--l-chu);border:1px solid var(--l-vien);
  border-radius:var(--l-r);height:32px;padding:0 12px;font-size:13px;font-weight:600;box-shadow:none}
.secondary-button:hover{border-color:var(--l-chinh);color:var(--l-chinh-dam);background:var(--l-nen2)}
.chip-button{height:26px;padding:0 10px;font-size:12px;border-radius:var(--l-r);
  border:1px solid var(--l-vien);background:var(--l-the)}
.chip-button.is-active{background:var(--l-chinh);border-color:var(--l-chinh-dam);color:#fff}
.sec-head{padding:8px 12px}
.sec-name{font-size:13px}
.sec-name small{font-size:11px}
.sec-tag span{border-radius:var(--l-r);font-size:10px}
.tag-gold{background:var(--l-chinh-nhat);color:var(--l-chinh-dam)}
.tag-red{background:var(--l-do-nhat);color:var(--l-do)}
.tag-grey{background:var(--l-nen2);color:var(--l-mo)}
.sec-body{padding:12px}
.field-help{font-size:11px;color:var(--l-mo)}

/* bảng số — kẻ ô rõ, chữ nhỏ, số căn phải */
.songay-row,.may-row{border-color:var(--l-vien-nhat)}
.songay-row.songay-head{font-size:10px;text-transform:uppercase;letter-spacing:.4px}
.songay-row span,.may-info b{font-size:12.5px}
.songay-row small,.may-info small,.may-nhip small,.may-so small{font-size:10.5px}
.songay-row .so{font-size:13px}
.songay-tong b{font-size:17px}
.may-tomtat{border-radius:var(--l-r);background:var(--l-nen2);border:1px solid var(--l-vien-nhat)}
.may-tomtat b{font-size:17px}

/* sơ đồ tổ chức: bớt tròn trịa cho hợp bảng biểu */
.agent-card{border-radius:var(--l-r);box-shadow:none;border:1px solid var(--l-vien)}
.agent-card.is-involved{border-color:var(--l-chinh)}

/* ═══ 4. BUỒNG LÁI (cockpit) — đè bảng màu giấy/vàng ═══ */
:root,:root[data-theme="light"],:root[data-theme="dark"]{
  --plane:var(--l-nen);--surface:var(--l-the);--surface-2:var(--l-nen2);
  --ink:var(--l-chu);--ink-2:var(--l-mo);--muted:var(--l-mo-nhat);
  --hair:var(--l-vien);
  --gold:var(--l-chinh);--gold-soft:var(--l-chinh);--gold-bg:var(--l-chinh-nhat);
  --good:var(--l-xanh);--good-ink:var(--l-xanh);--warn:var(--l-vang);
  --font:var(--l-font);--serif:var(--l-font);
}
.mark{font-family:var(--l-font)!important;font-size:15px!important;letter-spacing:.2px!important;
  font-weight:700!important;color:var(--l-chinh)!important}

@media(max-width:900px){
  /* điện thoại: hàng tab vẫn nằm ngang ngay dưới thanh đầu, không rơi xuống đáy */
  .app-shell{padding:0}
  .sidebar{position:sticky;top:54px;inset:auto;height:auto;display:flex;padding:0 8px}
  .nav-list{display:flex;grid-template-columns:none;gap:0}
  .nav-item{display:flex;min-width:auto;font-size:12px;padding:0 10px;min-height:36px;height:36px}
  .nav-item span{position:static;transform:none}
  .nav-item i{position:static;transform:none}
  .main-area{padding:10px}
  .dash-bar{padding:0 10px;gap:10px}
  .dash-bar .dash-cuoi{display:none}
}

/* ── 5. Vá nốt vệt vàng/nâu còn sót của Buồng Lái (đo bằng máy 28/08/2026) ── */
/* Trang Buồng Lái viết thẳng mã màu vàng vào từng chỗ chứ không qua biến,
   nên phải gọi đích danh. Danh sách này lấy từ bài soi máy, không đoán. */
.card{border-top-color:var(--l-chinh)!important}
button.on,.seg button.on,#seg button.on,#viewseg button.on{
  background:var(--l-chinh)!important;border-color:var(--l-chinh-dam)!important;color:#fff!important}
span.hhchip,span.hv,span.rk{
  border-color:var(--l-vien)!important;color:var(--l-chinh-dam)!important;background:var(--l-chinh-nhat)!important}
a[href*="workflow"]{border-color:var(--l-vien)!important}
/* nút nổi "Máy chạy nền — bật/tắt" ở góc trên nay trùng với thanh đầu chung */
body > div:first-of-type > a[href="/workflow.html"]{display:none}
/* chấm màu trạng thái giữ nguyên ý nghĩa, chỉ bớt chói */
i[style*="ed a100"],i[style*="eb6834"]{filter:saturate(.85)}

/* chữ và cỡ chữ của Buồng Lái theo đúng letan */
body{font:14px/1.5 var(--l-font)!important;background:var(--l-nen)!important;color:var(--l-chu)!important}
.mark{color:var(--l-chinh)!important}
h1,h2,h3{font-family:var(--l-font)!important}
h2{font-size:15px!important}
.card{border-radius:var(--l-r)!important;box-shadow:none!important}

/* nút nổi cũ "Máy chạy nền — bật/tắt": thanh đầu chung đã có mục này rồi */
body > div:has(> a[href="/workflow.html"]){display:none}
a[href="/workflow.html"][style*="background"]{display:none}

/* ── 6. Trang "Máy chạy nền" (workflow.html) vốn nền tối, đổi sang nền sáng
      cho khớp hai trang kia. Lớp lấy từ bài soi máy 28/08/2026. ── */
div.gh{background:var(--l-chinh)!important;color:#fff!important;border-radius:var(--l-r)!important}
div.gh *{color:#fff!important}
div.mg{background:var(--l-the)!important;color:var(--l-chu)!important;border:1px solid var(--l-vien)!important}
div.lo{background:var(--l-do-nhat)!important;color:var(--l-do)!important;border:1px solid var(--l-do)!important}
button.btn#quet,button.btn{background:var(--l-the)!important;color:var(--l-chu)!important;
  border:1px solid var(--l-vien)!important;border-radius:var(--l-r)!important}
button.btn:hover{border-color:var(--l-chinh)!important;color:var(--l-chinh-dam)!important;background:var(--l-nen2)!important}
span.chip.on{background:var(--l-chinh)!important;color:#fff!important;border-color:var(--l-chinh-dam)!important}
span.chip{border-radius:var(--l-r)!important}
/* công tắc bật/tắt: xanh = đang chạy, xám = đã tắt (thay vàng cho đỡ chói) */
div.sw{background:var(--l-mo-nhat)!important;border-radius:999px!important}
div.sw.on{background:var(--l-xanh)!important}
div.sw.lock{background:var(--l-mo)!important}

/* ── 7. Thanh đầu: tên người + nút đăng xuất (28/08/2026) ── */
.dash-bar .dash-nguoi{margin-left:auto;display:flex;align-items:center;gap:10px;white-space:nowrap}
.dash-bar .dash-ten{font-size:12px;opacity:.9}
.dash-bar .dash-thoat{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);
  border-radius:var(--l-r);height:26px;padding:0 10px;font-size:12px;font-weight:600;cursor:pointer;
  font-family:var(--l-font)}
.dash-bar .dash-thoat:hover{background:rgba(255,255,255,.14);border-color:#fff}
.dash-bar .dash-cuoi{display:none}

/* ── 8. Chỗ còn sót nền tối trong Buồng Lái (đo lại 28/08/2026) ── */
/* dải "SỐ THẬT · Nguồn ..." trước là chữ tối trên nền tối, không đọc được */
[class*="src"],#srcbar,#srcbar *{background:var(--l-xanh-nhat)!important;color:var(--l-chu)!important;
  border-color:var(--l-xanh)!important}
#srcbar a,[class*="src"] a{color:var(--l-chinh)!important;text-decoration:underline}
/* chip "Quay lại 47%" */
[class*="chip"]:not(.chip-button){background:var(--l-chinh-nhat)!important;color:var(--l-chinh-dam)!important;
  border:1px solid var(--l-vien)!important}
/* nút Sáng/Tối: trang nay chỉ dùng một tông sáng cho khớp letan */
button[id*="theme"],#tg{display:none!important}  /* 29/08: bo bat .dash-theme, xem chu thich cuoi file */

/* ── 9. Trang đăng nhập chung: khoác áo letan ── */
body.login-shell,.login-shell{background:var(--l-nen)!important;font-family:var(--l-font)!important}
.login-card{background:var(--l-the)!important;border:1px solid var(--l-vien)!important;
  border-radius:var(--l-r)!important;box-shadow:none!important;color:var(--l-chu)!important}
.login-card h1{font-family:var(--l-font)!important;font-size:19px!important;color:var(--l-chu)!important}
.login-card .eyebrow{color:var(--l-mo)!important;font-size:10px!important;letter-spacing:1.4px!important}
.login-card .intro{color:var(--l-mo)!important;font-size:12.5px!important}
.login-card .brand-mark{background:var(--l-chinh)!important;color:#fff!important;
  border-radius:var(--l-r)!important;font-family:var(--l-font)!important}
.login-card label{color:var(--l-mo)!important;font-size:12px!important}
.login-card input{background:var(--l-the)!important;border:1px solid var(--l-vien)!important;
  border-radius:var(--l-r)!important;color:var(--l-chu)!important;font-size:13px!important}
.login-card button[type=submit]{background:var(--l-chinh)!important;color:#fff!important;
  border:1px solid var(--l-chinh-dam)!important;border-radius:var(--l-r)!important;
  font-family:var(--l-font)!important;font-weight:600!important}
.login-card button[type=submit]:hover{background:var(--l-chinh-dam)!important}
.login-card .safety{color:var(--l-mo)!important;font-size:11px!important}

/* ── 10. Sổ chi công ty (28/08/2026) ── */
.sochi-nhap .sochi-hang{display:grid;grid-template-columns:130px 200px 110px 90px 150px 1fr auto;gap:var(--k3);align-items:end}
.sochi-nhap .sochi-hang label{display:grid;gap:3px}
.sochi-nhap .sochi-hang label.rong{grid-column:auto}
.sochi-tong{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--k3);margin:var(--k3) 0}
.sochi-tong div{background:var(--l-the);border:1px solid var(--l-vien);border-radius:var(--l-r);padding:var(--k3);display:grid;gap:2px}
.sochi-tong b{font-size:17px}
.sochi-tong small{font-size:var(--small);color:var(--l-mo)}
.sochi-nhom{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-bottom:var(--k3)}
.sochi-nhom-o{background:var(--l-the);border:1px solid var(--l-vien-nhat);border-radius:var(--l-r);padding:8px 10px;display:grid;gap:1px}
.sochi-nhom-o b{font-size:15px;font-variant-numeric:tabular-nums}
.sochi-nhom-o span{font-size:11.5px}
.sochi-nhom-o small{font-size:10.5px;color:var(--l-mo)}
@media(max-width:900px){.sochi-nhap .sochi-hang{grid-template-columns:1fr 1fr}.sochi-nhap .sochi-hang label.rong{grid-column:1/-1}.sochi-tong{grid-template-columns:1fr}}

/* ── 11. Vá nốt màu chế độ Tối — anh Sơn chỉ ảnh 28/08/2026 chiều ──
   Bệnh: chip trạng thái thợ («🏖️ Nghỉ phép», «⚠️ Vắng», «🟢 Đang làm») nền đen
   chữ nâu, không đọc được. Đo ở chế độ Tối màn Team thợ:
     .tbadge.warn  nền rgb(42,33,9)  chữ rgb(138,97,0)  — chênh sáng 65
     .tbadge.good  nền rgb(20,36,15) chữ rgb(20,108,67) — chênh sáng 48
   Lần vá trước em ép --good/--warn/--crit nhưng BỎ SÓT bộ biến nền `*-bg`,
   nên chip vẫn lấy nền tối của chế độ Tối. Lần soi trước cũng chỉ soi trang chủ,
   không bấm sang màn Team thợ — chip chỉ nằm ở đó, nên báo "hết ô đen" là SAI.
   Nay ép luôn cả bộ nền cho mọi chế độ. */
:root,
:root[data-theme="light"],
:root[data-theme="dark"]{
  --good-bg:#eaf5ef;
  --warn-bg:#fdf7e8;
  --crit-bg:#fcf3f6;
  --gold-bg:#e8eef6;
  --crit:#a4231b;
  --good-ink:#146c43;
}
/* nói cho chắc: chip trạng thái luôn nền nhạt chữ đậm, đọc được ở mọi chế độ */
.tbadge{border:1px solid transparent}
.tbadge.good{background:var(--l-xanh-nhat)!important;color:var(--l-xanh)!important;border-color:var(--l-xanh)}
.tbadge.warn{background:var(--l-vang-nhat)!important;color:var(--l-vang)!important;border-color:var(--l-vang)}
.tbadge.crit,.tbadge.bad{background:var(--l-do-nhat)!important;color:var(--l-do)!important;border-color:var(--l-do)}

/* ── 12. Công tắc bật/tắt máy chạy nền — anh Sơn chỉ ảnh 28/08/2026 chiều ──
   Bệnh: lần vá trước chỉ đổi RÃNH công tắc sang xanh, quên cái NÚM.
   Núm khi bật vẫn là `#17140c` (đen) từ bản nền tối cũ, nên ra cảnh
   rãnh xanh đậm + núm đen, nhìn như hỏng.
   🪤 Bài soi màu của em bỏ sót chỗ này vì công tắc KHÔNG CÓ CHỮ — em lọc
   phần tử rỗng chữ để khỏi báo oan, hoá ra lọc luôn cả lỗi thật.
   Chuẩn: rãnh đổi màu, núm luôn TRẮNG như công tắc điện thoại. */
.sw{background:var(--l-vien)!important;border-color:var(--l-vien-nhat)!important}
.sw::after{background:#fff!important;box-shadow:0 1px 2px rgba(16,24,32,.28)}
.sw.on{background:var(--l-xanh)!important;border-color:var(--l-xanh)!important}
.sw.on::after{background:#fff!important}
.sw.lock{opacity:.45}
/* chấm trạng thái đầu dòng: cho rõ ba mức, không để xám lẫn vào nền */
.dot{border:1px solid rgba(16,24,32,.14)}
.dot.tat{background:var(--l-mo-nhat)!important}

/* Công tắc lúc TẮT: rãnh xám nhạt quá thì núm trắng chìm vào (đo: chênh sáng 46).
   Làm rãnh đậm thêm một nấc để nhìn phát ra ngay đang tắt hay đang bật. */
.sw{background:#9fb0c2!important;border-color:#8ea1b5!important}

/* ═══════════════════════════════════════════════════════════════════
   5. CHẾ ĐỘ TỐI — anh Sơn 29/08/2026: *"cho tôi giao diện sáng tối như
   trang HR, ban đêm mở trang này ra đau mắt lắm"*.

   🔴 Vì sao trước đây nút Sáng/Tối của Buồng Lái bấm mà không đổi:
   hai khối ở mục 4 và mục cuối CỐ Ý ép cả `[data-theme="dark"]` về màu
   sáng. Khối này nạp SAU nên thắng, và CHỈ ăn khi người dùng tự bật.

   Tông màu lấy đúng chuẩn trang HR (hr.yanadubai.com) để hai nhà giống
   nhau: nền #101923, thẻ #172535, viền #36506c, chữ #eef5fb.
   ═══════════════════════════════════════════════════════════════════ */
:root[data-theme="dark"]{
  --l-nen:#101923; --l-the:#172535; --l-nen2:#1d3146;
  --l-vien:#36506c; --l-vien-nhat:#29435d;
  --l-chu:#eef5fb; --l-mo:#a8b7c5; --l-mo-nhat:#8296a8;
  --l-chinh:#5fa8e8; --l-chinh-dam:#4a94d4; --l-chinh-nhat:#203b58;
  --l-xanh:#5cc98c; --l-xanh-nhat:#16351f;
  --l-do:#f08a82;  --l-do-nhat:#3a1e1e;
  --l-vang:#e7c489; --l-vang-nhat:#33280f;
}

/* đè lại bảng màu của Buồng Lái — phải nhắc lại vì mục 4 đã ép về sáng */
:root[data-theme="dark"]{
  --plane:#101923; --surface:#172535; --surface-2:#1d3146;
  --ink:#eef5fb; --ink-2:#a8b7c5; --muted:#8296a8;
  --hair:#36506c;
  --gold:#5fa8e8; --gold-soft:#5fa8e8; --gold-bg:#203b58;
  --good:#5cc98c; --good-ink:#5cc98c; --warn:#e7c489; --crit:#f08a82;
  --good-bg:#16351f; --warn-bg:#33280f; --crit-bg:#3a1e1e;
  --shadow:0 2px 10px rgba(0,0,0,.4);
  color-scheme:dark;
}

/* thân trang và thẻ */
:root[data-theme="dark"] body{background:#101923;color:#eef5fb}
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .bt-card,
:root[data-theme="dark"] table{background:#172535;border-color:#36506c}
:root[data-theme="dark"] th{background:#1d3146;color:#a8b7c5;border-color:#36506c}
:root[data-theme="dark"] td{border-color:#29435d}
:root[data-theme="dark"] tr:hover td{background:#1d3146}

/* ô nhập, nút, thẻ chọn */
:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea{background:#1d3146;color:#eef5fb;border-color:#36506c}
:root[data-theme="dark"] .seg,
:root[data-theme="dark"] .seg button,
:root[data-theme="dark"] .toggle,
:root[data-theme="dark"] .bt-btn{background:#1d3146;color:#eef5fb;border-color:#36506c}
:root[data-theme="dark"] .seg button.on{background:#12457c;color:#fff;border-color:#12457c}

/* thanh đầu chung: nền đậm hơn cho đỡ chói */
:root[data-theme="dark"] .dash-bar{background:#0b1420;border-bottom-color:#29435d}

/* thanh nguồn số liệu (nền xanh lá nhạt ở chế độ sáng) */
:root[data-theme="dark"] .srcbar{background:#16351f;border-color:#2c6b45;color:#eef5fb}

/* nút chuyển sáng/tối trên thanh đầu */
.dash-theme{background:transparent;border:1px solid rgba(255,255,255,.28);color:#fff;
  border-radius:4px;padding:4px 9px;font-size:13px;cursor:pointer;line-height:1.4;
  font-family:inherit;margin-right:8px}
.dash-theme:hover{background:rgba(255,255,255,.12)}

/* nut tab dang chon: nen xanh nhat + chu trang chi duoc 2,54 do tuong phan
   (do that 29/08, can toi thieu 3). Ep ve xanh dam cho doc ro. */
:root[data-theme="dark"] button.on,
:root[data-theme="dark"] #viewseg button.on,
:root[data-theme="dark"] #seg button.on,
:root[data-theme="dark"] .seg button.on{background:#12457c!important;color:#fff!important;border-color:#2b6cae!important}

/* ── Trang MÁY CHẠY NỀN: 3 nhóm màu đóng cứng làm chữ chìm ở chế độ tối.
   Đo thật 29/08/2026 bằng thước độ tương phản: 66 chỗ dưới mức 3.
     · .gh và .chip.on — nền xanh sáng + chữ trắng, chỉ được 2,54
     · .grp và .st — chữ xám #5a5a60 đóng cứng, nằm trên thẻ tối             */
:root[data-theme="dark"] .gh,
:root[data-theme="dark"] .chip.on{background:#12457c!important;color:#fff!important;border-color:#2b6cae!important}
:root[data-theme="dark"] .grp,
:root[data-theme="dark"] .grp *,
:root[data-theme="dark"] .st{color:#a8b7c5!important}
:root[data-theme="dark"] .grp b,
:root[data-theme="dark"] .grp strong{color:#eef5fb!important}
:root[data-theme="dark"] .st.tat,
:root[data-theme="dark"] .st.tat *{color:#9fb0c0!important}

/* ── Trang BỘ MÁY AI: 5 chỗ màu đóng cứng làm chữ chìm ở chế độ tối
   (đo thật 29/08/2026, thước độ tương phản dưới 3):
     · .agent-card.executive nền vàng kem #fff9e9 · .icon-button nền kem #fbf6f1
     · .chat-switch.is-active nền trắng · .primary-button nền xanh sáng + chữ trắng
     · .agent-card.control-card chữ be #cbbfb1 trên nền xanh                      */
:root[data-theme="dark"] .agent-card.executive{background:#33280f!important;border-color:#5a4a1e!important}
:root[data-theme="dark"] .icon-button{background:#1d3146!important;color:#eef5fb!important}
:root[data-theme="dark"] .chat-switch.is-active{background:#12457c!important;color:#fff!important}
:root[data-theme="dark"] .primary-button{background:#12457c!important;color:#fff!important;border-color:#2b6cae!important}
:root[data-theme="dark"] .agent-card.control-card,
:root[data-theme="dark"] .agent-card.control-card *{color:#fff!important}
/* bong bóng chat: nền xanh sáng + chữ trắng chỉ được 2,54 */
:root[data-theme="dark"] .chat-bong-bong,
:root[data-theme="dark"] .chat-bong-bong *{background:#12457c!important;color:#fff!important}
/* huy hiệu đếm số trên thanh điều hướng: nền đỏ nhạt + chữ trắng chỉ được 2,x */
:root[data-theme="dark"] .nav-item i{background:#a4231b!important;color:#fff!important}

/* 🔴 29/08/2026 — nut Sang/Toi tren thanh dau chung PHAI HIEN.
   Ban 28/08 dat luat an MOI nut co chu "theme" (dong 223) vi luc do che do toi
   bi ep ve sang nen nut vo dung. Nut moi .dash-theme dinh dung luat do → bi an
   IM LANG: bam bang lenh van chay nen bai kiem qua, ma mat nguoi dung khong
   thay gi. Anh Son phat hien: "lam gi co dau".
   🔑 Bai hoc: do nut phai do BE RONG THAT (getBoundingClientRect), khong duoc
   chi do click() — click() chay duoc ca khi phan tu display:none. */
.dash-theme{display:inline-block!important}

/* ═══════════════════════════════════════════════════════════════════
   31/08/2026 — THANH ĐẦU TRÊN ĐIỆN THOẠI
   Anh Sơn: "hiển thị quá bé trên điện thoại, các tab gần như bị che kín".
   Đo thật trên iPhone 390px: logo + tên + nút Đăng xuất ăn hết bề ngang,
   phần <nav> chỉ còn ~90px nên 9 mục menu bị cuộn giấu gần hết.
   Cách chữa: cho <nav> XUỐNG DÒNG RIÊNG chiếm trọn bề ngang.
   Chiều cao thanh do thanh-dau.js tự đo và ghi vào --dash-h (không gõ số chết).
   ═══════════════════════════════════════════════════════════════════ */
@media(max-width:900px){
  .dash-bar{position:static;flex-wrap:wrap;height:auto;min-height:0;padding:7px 12px 0;gap:8px 10px;align-items:center}
  /* 31/08: KHONG dan cung tren dinh o dien thoai — 3 hang tab cao 143px se an
     17% man hinh vinh vien. Cho no cuon theo trang: keo len dau la thay du menu. */
  .dash-bar .dash-hieu{border-right:none;padding-right:0;font-size:14px}
  .dash-bar .dash-hieu small{font-size:9px;letter-spacing:1px}
  .dash-bar .dash-nguoi{margin-left:auto;gap:8px}
  .dash-bar .dash-ten{font-size:11.5px}
  .dash-bar .dash-thoat{font-size:12px;padding:5px 10px}

  /* hàng menu: dòng riêng, XUỐNG 2 HÀNG cho hiện đủ — cuộn ngang anh Sơn bỏ sót mục */
  /* 🔴 Viet 'body .dash-bar nav' chu KHONG phai '.dash-bar nav': trang Marketing
     nap ao-mkt-page.css SAU file nay va ep flex:1 !important — cung do uu tien thi
     file nap sau thang, hang menu bi bop hep roi cac muc roi thanh COT DOC (anh Son
     bao 31/08). Them mot bac 'body' la do uu tien cao hon nen thang bat ke thu tu nap. */
  body .dash-bar nav{order:3 !important;flex:0 0 100% !important;width:100% !important;
    max-width:100% !important;margin:0 -12px !important;padding:1px 12px 7px !important;
    gap:4px 3px !important;flex-wrap:wrap !important;
    overflow:visible !important;height:auto !important}
  body .dash-bar nav a{font-size:12.5px !important;padding:6px 10px !important}

  /* trang Bộ máy AI: hàng tab của nó phải nằm ngay dưới thanh đầu thật */
  /* thanh dau da cuon di roi nen hang tab trang Bo may AI dinh tu dinh man hinh */
  .sidebar{top:0}
}

/* 31/08/2026 — MAY TINH: cho lot du 10 muc menu.
   Do that 1280px: can 999px ma cho chi co 951px nen muc "🤖 Bo may AI" bi giau
   ben phai. Bot dem hai ben tu 12px xuong 9px la du cho.
   Viet "body ..." + !important vi trang Marketing (ao-mkt-page.css nap sau)
   dang ep padding:7px 12px !important — khong nang bac thi no thang. */
@media(min-width:901px){
  body .dash-bar nav a{padding:7px 9px !important}
}
