/* ===== OneCAD Portal — Hệ nhận diện BEI Nexus P0, khung theo BEI Nexus (nexus.dssvn.com) =====
   Phông Be Vietnam Pro (kèm máy chủ, SIL OFL). Thanh trên 56px, cột menu 240px và dải tiêu đề cùng nền navy
   #0d2542 → #12355d có lưới bản vẽ 24px (#ffffff0e), nền cố định nên liền một khối. Nội dung nền #f2f5f9,
   thẻ trắng bo 10 viền #dce5ef không bóng, KHÔNG đè lên đầu màn. ≤850px menu thu thành thanh biểu tượng 64px,
   ≤600px menu là ngăn kéo mở bằng nút trên thanh trên. */
@font-face{font-family:"Be Vietnam Pro";src:url(/fonts/BeVietnamPro-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Be Vietnam Pro";src:url(/fonts/BeVietnamPro-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Be Vietnam Pro";src:url(/fonts/BeVietnamPro-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Be Vietnam Pro";src:url(/fonts/BeVietnamPro-700.woff2) format("woff2");font-weight:700 900;font-display:swap}

:root{
  --navy:#0d2542; --navy-2:#12355d; --mint:#8ee0b8;
  --blue:#0665ed; --blue-hover:#0753bc;
  --bg:#f2f5f9; --card:#fff; --card-border:#edf1f6; --line:#dde5ef;
  --ink:#20334d; --muted:#56687f;
  --danger:#b42318; --danger-bg:#fdecea; --danger-line:#f3c9c4;
  --warn:#8a5a00; --warn-bg:#fff5df;
  --ok:#167548; --ok-bg:#e8f5ee;
  --design:#6941c6; --design-bg:#f4f0ff;
  --build:#0665ed; --build-bg:#edf4ff;
  --neutral:#56687f; --neutral-bg:#eef2f7;
  --fs-title:27px; --fs-section:16px; --fs-body:14.5px; --fs-sub:12.5px; --fs-label:11.5px;
  --radius:10px; --radius-sm:12px;
  --shadow:0 1px 2px rgba(13,37,66,.04),0 6px 20px rgba(13,37,66,.06);
  --sky:#8fd3ff; --card-edge:#dce5ef; --hair:#eef2f7;
  --blueprint:linear-gradient(#ffffff0e 1px,transparent 1px) 0 0/24px 24px,
              linear-gradient(90deg,#ffffff0e 1px,transparent 1px) 0 0/24px 24px,
              linear-gradient(135deg,var(--navy),var(--navy-2));
  --topbar:56px; --sidebar:240px;
  --font:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--fs-body)/1.5 var(--font)}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.hidden{display:none!important}
.mb-12{margin-bottom:12px}
.num,table td.num,table th.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.muted{color:var(--muted)}
.nowrap{white-space:nowrap}
.mt-4{margin-top:4px} .mt-12{margin-top:12px}
.pill svg,th svg{width:13px;height:13px;vertical-align:-2px}
table.data.kv{margin-top:12px} table.data.kv td{padding:9px 0;border-bottom:1px solid var(--card-border)} table.data.kv td:first-child{padding-left:0;width:42%} table.data.kv tbody tr:hover{background:none}
.checklist{display:grid;gap:2px}
.checklist .check{min-height:40px;gap:10px} .checklist .pill{margin-left:auto}
.tnum{font-variant-numeric:tabular-nums}
.sub{font-size:var(--fs-sub);color:var(--muted)}
.label{font-size:var(--fs-label);font-weight:700;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Khung: thanh trên + cột menu + nội dung ---------- */
.blueprint{background:var(--blueprint);background-color:var(--navy);background-attachment:fixed}
.topbar{position:sticky;top:0;z-index:40;height:var(--topbar);display:flex;align-items:center;gap:12px;padding:0 22px;color:#fff}
.topbar .sp{flex:1}
.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:600;letter-spacing:-.2px;color:#fff;white-space:nowrap}
.brand:hover{text-decoration:none}
/* Logo bản nền tối (chữ "cad viet nam" trắng) đặt thẳng lên navy, vạch mảnh ngăn với chữ Portal */
.brand-logo{display:block;height:38px;width:auto;flex:none}
.brand-name{padding-left:12px;border-left:1px solid #ffffff38;line-height:22px;color:#e6eef8}
.login-logo{display:block;height:84px;width:auto;margin-bottom:20px;align-self:flex-start}
.demo-flag{font-size:var(--fs-label);font-weight:700;color:var(--navy);background:var(--mint);border-radius:999px;padding:4px 12px;white-space:nowrap}
.icon-btn{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;background:none;color:#fff;cursor:pointer;flex:none}
.icon-btn:hover{background:#ffffff24;text-decoration:none}
.icon-btn svg{width:22px;height:22px}
.icon-btn i{position:absolute;top:3px;right:1px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#e8590c;font:700 10.5px/17px var(--font);font-style:normal;text-align:center}
.me{display:flex;align-items:center;gap:9px;padding:3px 10px 3px 3px;border-radius:22px;color:#fff;min-width:0}
.me:hover{background:#ffffff24;text-decoration:none}
.avatar{width:32px;height:32px;border-radius:50%;background:#2b7be9;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}
.avatar.has-img{background:#fff;overflow:hidden}.avatar.has-img img{width:100%;height:100%;object-fit:cover;display:block}
.me b{display:block;font-size:13px;font-weight:600;line-height:1.15;white-space:nowrap}
.me small{display:block;font-size:11px;opacity:.75;white-space:nowrap;max-width:230px;overflow:hidden;text-overflow:ellipsis}
.menu-btn{display:none}

.shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:calc(100vh - var(--topbar))}
.sidebar{color:#fff;font-size:14px;z-index:30}
.sidebar-inner{position:sticky;top:var(--topbar);max-height:calc(100vh - var(--topbar));overflow-y:auto;padding:10px 10px 12px;display:flex;flex-direction:column;gap:2px}
.nav-section{font-size:10.5px;letter-spacing:.6px;color:#7f95b1;font-weight:700;padding:16px 12px 6px;text-transform:uppercase}
.nav-item{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:var(--radius-sm);color:#b8c6d8;line-height:1.2;white-space:nowrap}
.nav-item svg{width:20px;height:20px;flex:none;stroke:#9fb2ca}
.nav-item:hover{background:#ffffff12;color:#fff;text-decoration:none}
.nav-item:hover svg,.nav-item.active svg{stroke:#fff}
.nav-item.active{background:#ffffff1a;color:#fff;font-weight:600;box-shadow:inset 3px 0 var(--sky)}
.nav-item .badge{margin-left:auto;background:#e5484d;color:#fff;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.5}
/* Menu phương án A (góp ý 003 mục 3): nút "Lập đề nghị chi", nhóm Quản trị thu gọn */
.nav-cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;margin:6px 2px 2px;border-radius:var(--radius-sm);background:var(--blue);color:#fff;font-weight:600;white-space:nowrap}
.nav-cta svg{width:19px;height:19px;stroke:#fff;flex:none}.nav-cta:hover{background:var(--blue-hover);text-decoration:none;color:#fff}
.nav-cta.active{box-shadow:0 0 0 2px #8fd3ff}
.nav-group{display:flex;flex-direction:column;gap:2px}
.nav-toggle{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:10.5px;letter-spacing:.6px;color:#7f95b1;font-weight:700;padding:16px 12px 6px;text-transform:uppercase;border-radius:8px}
.nav-toggle:hover{color:#fff}.nav-toggle:focus-visible{outline:2px solid var(--sky)}
.nav-count{display:inline-flex;align-items:center;gap:4px;text-transform:none;letter-spacing:0;font-weight:600;font-size:11.5px}
.nav-count svg{width:14px;height:14px;stroke:currentColor;transition:transform .15s}
.nav-group:not(.closed) .nav-count svg{transform:rotate(90deg)}
.nav-group.closed .nav-item{display:none}

.scrim{display:none}
.main{min-width:0;display:flex;flex-direction:column}
/* Dải tiêu đề phẳng liền thanh trên */
.page-head{color:#fff;display:flex;align-items:flex-end;gap:14px 20px;flex-wrap:wrap;padding:12px 28px 16px}
.page-head .crumbs{width:100%;font-size:var(--fs-label);color:#8fa4bf;margin-bottom:-6px;overflow-wrap:anywhere}
.page-head .head-text{min-width:0;flex:1 1 360px}
.page-head h1{font-size:var(--fs-title);font-weight:650;line-height:1.25;margin:0;letter-spacing:-.3px}
.page-head .summary{color:#a9bad0;max-width:760px;margin:4px 0 0;font-size:14px}
.page-head .summary b{color:#fff;font-weight:600}
.page-head .head-actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.page-body{padding:20px 28px 40px;display:flex;flex-direction:column;gap:20px;position:relative}
.page-tools+.page-body{padding-top:12px}

/* ---------- Bộ lọc dạng chip, trên nền sáng dưới dải tiêu đề ---------- */
.page-tools{padding:20px 28px 0;display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center}
.chip-bar{display:inline-flex;gap:8px;flex-wrap:wrap}
.chip-bar button{height:30px;padding:0 12px;border:1px solid var(--card-edge);border-radius:15px;background:#fff;color:var(--ink);font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.chip-bar button:hover{border-color:#b9cde8}
.chip-bar button.on{border-color:var(--blue);background:var(--build-bg);color:var(--blue);font-weight:600}
.chip-bar .count{font-size:11px;opacity:.75}
.filter-input{height:34px;border-radius:10px;border:1px solid var(--card-edge);background:#fff;padding:0 12px;min-width:220px;font-size:13.5px}
.filter-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,101,237,.15)}
.filter-date{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted,#5b6b7d)}
.filter-date input{height:34px;border-radius:10px;border:1px solid var(--card-edge);background:#fff;padding:0 8px;font-size:13px}
@media (pointer:coarse){.chip-bar button{height:40px;border-radius:20px;padding:0 14px;font-size:13px}.filter-input{height:44px}}

/* ---------- Thẻ ---------- */
.card{background:var(--card);border:1px solid var(--card-edge);border-radius:var(--radius);padding:18px 20px;position:relative;overflow:hidden;min-width:0}
.card.flush{padding:0}
/* Việc cần xử lý: vạch màu 6px ở mép trên thẻ (như thẻ dự án Nexus) */
.card.todo{padding-top:24px}
.card.todo::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--accent,var(--blue))}
.card.todo.danger{--accent:var(--danger)} .card.todo.warn{--accent:var(--warn)} .card.todo.ok{--accent:var(--ok)}
.card-head{display:flex;align-items:center;gap:8px 12px;margin-bottom:14px;flex-wrap:wrap}
.card.flush .card-head{padding:18px 22px 0}
.card-head h2{font-size:var(--fs-section);font-weight:700;margin:0}
.card-head .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.grid{display:grid;gap:20px;align-items:start}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}

/* Ô biểu tượng màu nhạt */
.icon-tile{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--build-bg);color:var(--build)}
.icon-tile svg{width:22px;height:22px}
.icon-tile.danger{background:var(--danger-bg);color:var(--danger)} .icon-tile.warn{background:var(--warn-bg);color:var(--warn)}
.icon-tile.ok{background:var(--ok-bg);color:var(--ok)} .icon-tile.design{background:var(--design-bg);color:var(--design)}
.icon-tile.navy{background:#e8edf4;color:var(--navy)}

/* Chỉ số */
.stat{display:flex;gap:14px;align-items:flex-start}
.stat .value{font-size:26px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}
.stat .value small{font-size:14px;font-weight:600;color:var(--muted)}
.stat .caption{font-size:var(--fs-sub);color:var(--muted);margin-top:2px}

/* ---------- Nhãn trạng thái viên thuốc ---------- */
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 10px;font-size:var(--fs-label);font-weight:700;line-height:18px;white-space:nowrap;background:var(--neutral-bg);color:var(--neutral)}
.pill.danger{background:var(--danger-bg);color:var(--danger)} .pill.warn{background:var(--warn-bg);color:var(--warn)}
.pill.ok{background:var(--ok-bg);color:var(--ok)} .pill.design{background:var(--design-bg);color:var(--design)}
.pill.build{background:var(--build-bg);color:var(--build)} .pill.navy{background:#e8edf4;color:var(--navy)}
.pill.lock{background:var(--navy);color:#fff}
.pill.wrap{white-space:normal;line-height:1.35;padding-top:3px;padding-bottom:3px}

/* ---------- Nút ---------- */
.btn{min-height:44px;padding:0 18px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;white-space:nowrap;text-decoration:none!important}
.btn:hover{background:#f7f9fc}
.btn svg{width:18px;height:18px}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 4px 12px rgba(6,101,237,.25)}
.btn.primary:hover{background:var(--blue-hover)}
.btn.reject{background:#fff;border-color:var(--danger-line);color:var(--danger)}
.btn.reject:hover{background:var(--danger-bg)}
.btn.locked{opacity:.55}
.btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.ghost-light{background:transparent;border-color:#ffffff40;color:#fff;min-height:40px}
.btn.ghost-light:hover{background:#ffffff14}
.btn.sm{min-height:36px;padding:0 12px;border-radius:10px;font-size:13.5px}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-row{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- Bảng ---------- */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.data{width:100%;border-collapse:collapse;font-size:14px}
table.data th{font-size:var(--fs-label);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);text-align:left;padding:12px 14px;border-bottom:1px solid var(--card-border);background:#fafbfd;white-space:nowrap}
table.data td{padding:12px 14px;border-bottom:1px solid var(--card-border);vertical-align:middle}
table.data tr:last-child td{border-bottom:0}
table.data tbody tr:hover{background:#fafcff}
table.data tr.clickable{cursor:pointer}
table.data td:first-child,table.data th:first-child{padding-left:22px}
table.data td:last-child,table.data th:last-child{padding-right:22px}
.cell-strong{font-weight:600;white-space:nowrap}
table.data td .btn-row{flex-wrap:nowrap;gap:6px}
.empty{padding:36px 22px;text-align:center;color:var(--muted)}

/* ---------- Biểu mẫu ---------- */
.form{display:grid;gap:14px}
.form.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field.span-2{grid-column:1/-1}
.field>span{font-size:var(--fs-label);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.input,.field input,.field select,.field textarea{min-height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;padding:10px 14px;width:100%}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus,.input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,101,237,.15)}
.field .hint{font-size:var(--fs-sub);color:var(--muted)}
.check{display:flex;align-items:center;gap:10px;min-height:44px}
.check input{width:20px;height:20px}
.alert{border-radius:12px;padding:12px 14px;font-size:14px;background:var(--build-bg);color:var(--build)}
.alert.danger{background:var(--danger-bg);color:var(--danger)} .alert.warn{background:var(--warn-bg);color:var(--warn)} .alert.ok{background:var(--ok-bg);color:var(--ok)}

/* ---------- Hộp thoại + thông báo ---------- */
dialog.modal{border:0;border-radius:20px;padding:0;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:hidden;box-shadow:0 24px 64px rgba(13,37,66,.3);color:var(--ink)}
dialog.modal::backdrop{background:rgba(13,37,66,.45)}
/* Thân hộp tự cuộn; tiêu đề (có ✕) và thanh nút đáy luôn thấy — góp ý 003 mục 1 */
dialog.modal>form{display:flex;flex-direction:column;max-height:calc(100dvh - 24px)}
.modal-head{padding:20px 22px 0;display:flex;align-items:center;gap:12px;flex:none}
.modal-head h3{margin:0;font-size:18px;flex:1;min-width:0}
.modal-x{flex:none;width:34px;height:34px;margin:-4px -8px -4px 0;border:0;border-radius:10px;background:none;color:var(--muted);display:grid;place-items:center;cursor:pointer}
.modal-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.modal-x:hover{background:var(--card-edge);color:var(--ink)}
.modal-x:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.modal-body{padding:18px 22px;overflow:auto;min-height:0;flex:1 1 auto}
.modal-foot{padding:12px 22px 16px;display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;flex:none;border-top:1px solid var(--card-edge)}
.modal-discard{flex:1 1 100%;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:var(--warn-bg);color:var(--warn);font-size:13.5px}
.modal-discard span{flex:1;min-width:150px;font-weight:600}
.toast-host{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;z-index:100;pointer-events:none}
.toast{background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 8px 24px rgba(13,37,66,.3);font-weight:500;pointer-events:auto;max-width:min(520px,calc(100vw - 32px))}
.toast.danger{background:var(--danger)}

/* ---------- Phân trang ---------- */
.pager{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--card-border)}

/* ---------- Trang đăng nhập ---------- */
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,520px)}
.login-hero{color:#fff;padding:48px 56px;display:flex;flex-direction:column}
.login-hero .eyebrow{font-size:var(--fs-sub);font-weight:600;color:var(--mint);letter-spacing:.02em}
.login-hero h1{font-size:36px;line-height:1.2;margin:auto 0 12px;max-width:520px}
.login-hero p{color:rgba(255,255,255,.78);max-width:520px;margin:0 0 8px}
.login-panel{background:var(--bg);display:flex;align-items:center;justify-content:center;padding:32px 20px}
.login-card{width:100%;max-width:420px}
.demo-box{margin-top:18px}
.demo-list{display:grid;gap:6px;margin-top:10px;max-height:340px;overflow-y:auto}
.demo-list button{display:flex;align-items:center;gap:10px;text-align:left;min-height:44px;padding:6px 12px;border-radius:12px;border:1px solid var(--card-border);background:#fff;cursor:pointer}
.demo-list button:hover{border-color:var(--blue)}
.demo-list b{font-weight:600;font-size:13.5px;display:block}
.demo-list small{color:var(--muted);font-size:var(--fs-sub)}
.demo-list .pill{margin-left:auto}

/* ---------- Điện thoại ---------- */
@media (max-width:1300px){.grid.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1100px){
  .grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid.cols-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Menu thu thành thanh biểu tượng 64px */
@media (max-width:850px){
  .shell{grid-template-columns:64px minmax(0,1fr)}
  .sidebar-inner{padding:10px 6px}
  .nav-item{justify-content:center;padding:0 2px;position:relative}
  .nav-item span,.nav-section{display:none}
  .nav-item .badge{display:block;position:absolute;top:2px;right:2px;padding:0 5px;font-size:10px}
  .nav-cta{padding:0;margin:4px 0}.nav-cta span{display:none}
  .nav-group.closed .nav-item{display:flex}
  .me>span:last-child{display:none}
  .me{padding:3px}
}
/* Điện thoại: menu là ngăn kéo dưới thanh trên, mở bằng nút ☰ */
@media (max-width:600px){
  .topbar{padding:0 8px 0 4px;gap:4px}
  .brand{font-size:16px;gap:9px}.brand-logo{height:32px}.brand-name{padding-left:9px}
  .demo-flag{display:none}
  .menu-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;border:0;background:none;color:#fff;flex:none;cursor:pointer}
  .menu-btn svg{width:24px;height:24px}
  .shell{grid-template-columns:minmax(0,1fr)}
  .sidebar{position:fixed;left:0;top:var(--topbar);bottom:0;width:min(280px,84vw);transform:translateX(-102%);transition:transform .2s ease;box-shadow:0 0 40px rgba(0,0,0,.35);overflow-y:auto}
  .sidebar-inner{position:static;max-height:none;padding:10px 10px 24px}
  .nav-item{justify-content:flex-start;padding:0 12px}
  .nav-item span,.nav-section{display:block}
  .nav-toggle{display:flex}.nav-cta{padding:0 12px;margin:6px 2px 2px}.nav-cta span{display:inline}
  .nav-group.closed .nav-item{display:none}
  .nav-item .badge{position:static;margin-left:auto;padding:1px 8px;font-size:11px}
  .shell.nav-open .sidebar{transform:none}
  .scrim{position:fixed;inset:var(--topbar) 0 0 0;background:rgba(13,37,66,.45);z-index:20}
  .shell.nav-open .scrim{display:block}
}
@media (max-width:900px){
  .page-head{padding:12px 16px 14px}
  .page-head h1{font-size:22px}
  .page-head .head-text{flex-basis:100%}
  .page-head .head-actions{margin-left:0}
  .page-tools{padding:16px 16px 0}
  .page-body{padding:16px 16px 32px;gap:14px}
  .card{padding:16px}
  .card.todo{padding-top:22px}
  .card.flush .card-head{padding:14px 16px 0}
  table.data td:first-child,table.data th:first-child{padding-left:16px}
  table.data td:last-child,table.data th:last-child{padding-right:16px}
  .grid,.grid.cols-2,.grid.cols-3{grid-template-columns:1fr;gap:14px}
  .grid.cols-4,.grid.cols-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .form.cols-2{grid-template-columns:1fr}
  .filter-input{min-width:0;width:100%}
  .chip-bar{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
  .chip-bar button{flex:none}
  .login-page{grid-template-columns:1fr}
  .login-hero{padding:28px 20px 24px}
  .login-hero h1{font-size:26px;margin-top:24px}
  .stat .value{font-size:22px}
  /* Bảng dạng thẻ trên điện thoại: mỗi dòng là một khối */
  table.data.stack thead{display:none}
  table.data.stack,table.data.stack tbody,table.data.stack tr,table.data.stack td{display:block;width:100%}
  table.data.stack tr{padding:12px 16px;border-bottom:1px solid var(--card-border)}
  table.data.stack td{border:0;padding:3px 0!important;text-align:left}
  table.data.stack td[data-label]::before{content:attr(data-label);display:inline-block;min-width:110px;font-size:var(--fs-label);font-weight:700;color:var(--muted);text-transform:uppercase}
}

/* ---------- Nhập Excel ---------- */
.steps{display:flex;gap:8px;flex-wrap:wrap}
.step{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--muted);padding:6px 12px 6px 6px;border-radius:999px;background:var(--bg)}
.step span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-size:12.5px}
.step.on{background:var(--build-bg);color:var(--blue)} .step.on span{background:var(--blue);color:#fff;border-color:var(--blue)}
.step.done{color:var(--ok)} .step.done span{background:var(--ok-bg);color:var(--ok);border-color:transparent}
.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:180px;border:2px dashed var(--line);border-radius:16px;background:#fafbfd;cursor:pointer;text-align:center;padding:20px;margin-bottom:12px}
.dropzone svg{width:32px;height:32px;color:var(--blue)}
.dropzone input{position:absolute;opacity:0;width:1px;height:1px}
.dropzone.over{border-color:var(--blue);background:var(--build-bg)}
.dropzone.busy{opacity:.6;pointer-events:none}
table.mapping select{min-width:220px}
.text-danger{color:var(--danger)} .text-warn{color:var(--warn)}

/* ---------- Duyệt chi ---------- */
.sub>svg{width:13px;height:13px;vertical-align:-2px}
.amount{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap}
.amount.lg{font-size:30px}
.req-list{display:grid;gap:14px}
.req-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:start}
.req-card .req-main{min-width:0}
.req-card h3{margin:6px 0 2px;font-size:var(--fs-section);font-weight:700;line-height:1.35}
.req-card h3 a{color:var(--ink)}
.req-card .req-side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.req-card .req-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end;margin-top:8px;padding-top:12px;border-top:1px solid var(--card-border)}
.req-meta{display:flex;gap:6px 10px;flex-wrap:wrap;align-items:center}
.timeline{list-style:none;margin:0;padding:0;display:grid}
.timeline li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;position:relative;padding-bottom:18px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--line)}
.timeline li:last-child::before{display:none}
.timeline .dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--neutral-bg);color:var(--muted);border:2px solid #fff;box-shadow:0 0 0 1px var(--line);z-index:1}
.timeline .dot svg{width:15px;height:15px}
.timeline li.done .dot{background:var(--ok-bg);color:var(--ok);box-shadow:0 0 0 1px transparent}
.timeline li.done::before{background:var(--ok)}
.timeline li.current .dot{background:var(--blue);color:#fff;box-shadow:0 0 0 4px rgba(6,101,237,.18)}
.timeline li.rejected .dot{background:var(--danger);color:#fff;box-shadow:none}
.timeline li.skipped .dot{background:#fff;color:var(--muted)}
.timeline li.pending .t-label{color:var(--muted);font-weight:500}
.timeline .t-label{font-weight:600}
.timeline .t-note{margin-top:6px;padding:8px 12px;border-radius:10px;background:var(--bg);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.timeline li.rejected .t-note{background:var(--danger-bg);color:var(--danger)}
.files{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.files li{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 8px 6px 12px;border:1px solid var(--card-border);border-radius:12px}
.files .f-name{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.files .f-name small{display:block;font-weight:400;color:var(--muted);font-size:var(--fs-sub)}
.files li>svg{width:20px;height:20px;color:var(--muted);flex:none}
.preview-box{min-height:200px;display:grid;place-items:center}
.preview-box img{max-width:100%;max-height:70vh;border-radius:8px}
.preview-box iframe{width:100%;height:70vh;border:0;border-radius:8px;background:var(--bg)}
.prose{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.action-bar{position:sticky;bottom:0;z-index:5;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding:12px 16px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--card-border);border-radius:16px;box-shadow:var(--shadow)}
.action-bar .grow{margin-right:auto;align-self:center}
@media (max-width:900px){
  .req-card{grid-template-columns:minmax(0,1fr)}
  .req-card .req-actions{flex-wrap:wrap}
  .req-card .req-actions a.btn{flex-basis:100%;order:2}
  .req-card .req-side{text-align:left;align-items:flex-start;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}
  .req-card .req-actions .btn,.action-bar .btn{flex:1}
  .action-bar{bottom:8px}
  .action-bar .grow{flex-basis:100%}
  .amount.lg{font-size:26px}
}

/* ---------- Dashboard ---------- */
.card.stat-card{padding:16px 18px}
.bars{display:grid;gap:12px}
.bar-row{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr) auto;gap:12px;align-items:center;font-size:14px}
.bar-row .b-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-row .b-val{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;text-align:right;min-width:28px}
.bar-row .b-val small{font-weight:400;color:var(--muted);font-size:var(--fs-sub)}
.bar-track{display:block;height:10px;border-radius:999px;background:var(--neutral-bg);overflow:hidden}
.bar-fill{display:block;height:100%;width:0;border-radius:999px;background:var(--blue)}
.bar-fill.design{background:var(--design)} .bar-fill.ok{background:var(--ok)} .bar-fill.warn{background:#d39a1c} .bar-fill.navy{background:var(--navy)}
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:stretch}
.flow-step{border:1px solid var(--card-border);border-radius:12px;padding:12px 14px;background:#fafbfd;display:flex;flex-direction:column;gap:2px;min-width:0}
.flow-step .f-count{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}
.flow-step.has{background:var(--warn-bg);border-color:transparent} .flow-step.has .f-count{color:var(--warn)}
.flow-step.pay.has{background:var(--build-bg)} .flow-step.pay.has .f-count{color:var(--build)}
.flow-step.done{background:var(--ok-bg);border-color:transparent} .flow-step.done .f-count{color:var(--ok)}
.flow-split{display:grid;gap:10px}
.mini-list{list-style:none;margin:0;padding:0;display:grid}
.mini-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--card-border);min-width:0}
.mini-list li:last-child{border-bottom:0}
.mini-list .m-date{flex:none;min-width:48px;font-weight:700;font-variant-numeric:tabular-nums}
.mini-list .m-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.tile{border:1px solid var(--card-border);border-radius:12px;padding:12px 14px;min-width:0}
.tile b{display:block;font-size:20px;font-variant-numeric:tabular-nums;line-height:1.3}
@media (max-width:900px){
  .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow-split{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
  .tiles{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .bar-row{grid-template-columns:minmax(0,42%) minmax(0,1fr) auto;gap:8px}
}

/* ---------- Ký số: hợp đồng (giống bản Word: Times New Roman 13, khổ A4) ---------- */
.fp{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;letter-spacing:.02em;overflow-wrap:anywhere}
.contract-card{padding:24px}
.contract-doc{max-width:820px;margin:0 auto;font:400 15px/1.55 "Times New Roman",Times,serif;color:#111;text-align:justify}
.contract-doc h1{font-size:19px;text-align:center;margin:18px 0 4px;letter-spacing:.02em}
.contract-doc h2{font-size:15.5px;margin:16px 0 6px}
.contract-doc h3{font-size:15px;margin:10px 0 4px;font-style:italic}
.contract-doc p{margin:6px 0}
.contract-doc ul{margin:4px 0 8px;padding-left:26px}
.contract-doc li{margin:2px 0}
.c-head{display:flex;justify-content:space-between;gap:16px;text-align:center}
.c-head>div{display:flex;flex-direction:column}
.c-head small{font-size:13px}
.c-no,.c-sub{text-align:center}
.c-salary{white-space:nowrap}
.c-sigs{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0 8px;text-align:center}
.c-sig{display:flex;flex-direction:column;align-items:center;gap:2px}
.c-sig small{font-style:italic}
.c-sig-box{min-height:96px;width:100%;max-width:260px;display:grid;place-items:center;margin:8px 0}
.c-annex{margin-top:36px;padding-top:24px;border-top:1px dashed var(--line)}
.stamp{border:2px solid #b42318;color:#b42318;border-radius:8px;padding:6px 10px;display:flex;flex-direction:column;gap:1px;
  font:600 12.5px/1.35 var(--font);transform:rotate(-2deg);background:#fff}
.stamp b{font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.stamp .fp{font-size:11px;color:#b42318}
@media (max-width:600px){
  .contract-card{padding:14px 12px}
  .contract-doc{font-size:14px;text-align:left}
  .c-head{flex-direction:column}
  .c-sigs{grid-template-columns:1fr}
}
/* In: chỉ in nội dung hợp đồng */
@media print{
  @page{size:A4;margin:18mm 16mm}
  body{background:#fff}
  /* Ảnh 189: trang in qua printPage (body.in189-in — Sơ đồ tổ chức, Hồ sơ pháp nhân, Kho tài sản) không bị luật ẩn chung này xoá trắng */
  .topbar,.sidebar,.scrim,.page-head,.page-tools,.action-bar,.no-print,body:not(.in189-in) .page-body>:not(.contract-card):not(.es-lay){display:none!important}
  .shell{display:block}.page-body{padding:0}
  .contract-card{border:0;padding:0}
  .contract-doc{max-width:none;font-size:13pt}
  .c-annex{break-before:page;border-top:0}
}

/* ---------- Ô số bấm được (dashboard → danh sách đã lọc) ---------- */
a.link-card{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}
a.link-card:hover{border-color:#9fbde6;box-shadow:0 0 0 3px rgba(6,101,237,.08);text-decoration:none}
a.link-card:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.stat-card.link-card{position:relative}
.stat-card .go{position:absolute;right:14px;bottom:12px;color:#9fb2ca;transition:color .15s,transform .15s}
.stat-card .go svg{width:16px;height:16px}
.stat-card.link-card:hover .go{color:var(--blue);transform:translateX(2px)}
.tile.link-card:hover b{color:var(--blue)}
.filter-note{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.filter-note .btn{margin-left:auto}
a.flow-step.link-card{display:flex}


/* ===== Thiết kế góp ý 001 (anh Tâm duyệt 01/10/2026): hồ sơ nhân sự, lập đề nghị chi, trường thông tin ===== */
.muted-val{color:#9aa8ba;font-style:italic}
.add-link{font-size:12.5px;font-weight:600;margin-left:6px}

/* ---------- Hồ sơ: đầu trang ---------- */
.profile-band{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.avatar-xl{width:88px;height:88px;border-radius:50%;flex:none;display:grid;place-items:center;font:700 30px/1 var(--font);color:#fff;
  background:linear-gradient(135deg,#2b7be9,#2bd0dc);box-shadow:0 0 0 4px #ffffff26;position:relative}
.avatar-xl .cam{position:absolute;right:-2px;bottom:-2px;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.avatar-xl .cam svg{width:16px;height:16px}
.profile-band .who h1{margin:0}
.profile-band .meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;color:#a9bad0;font-size:13.5px}
.profile-band .meta span{display:inline-flex;align-items:center;gap:6px}
.profile-band .meta svg{width:15px;height:15px}
.profile-band .pills{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.pill.on-dark{background:#ffffff1f;color:#fff}
.pill.on-dark.ok{background:#167548;color:#fff}
.pill.on-dark.warn{background:#d39a1c;color:#20334d}

/* ---------- Hồ sơ: bố cục 2 cột ---------- */
.profile-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}
.side-col{display:flex;flex-direction:column;gap:20px;position:sticky;top:76px}
.id-card{text-align:center;padding:20px}
.id-card .qr{width:168px;height:168px;display:block;margin:4px auto 10px;padding:10px;background:#fff;border:1px solid var(--card-edge);border-radius:10px}
.id-card .caption{font-size:12.5px;color:var(--muted)}
.id-card .btn-row{justify-content:center;margin-top:12px}
.facts{list-style:none;margin:0;padding:0}
.facts li{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--hair);font-size:13.5px;align-items:flex-start}
.facts li:first-child{border-top:0;padding-top:0}
.facts svg{width:16px;height:16px;color:#7f95b1;flex:none;margin-top:2px}
.facts .k{color:var(--muted);font-size:12px;display:block}
.facts .v{font-weight:600;overflow-wrap:anywhere}

.tabs{display:flex;gap:2px;border-bottom:1px solid var(--card-edge);margin:-4px 0 18px;overflow-x:auto;scrollbar-width:none}
/* Ảnh 123b (anh Tâm duyệt 05/10/2026): thẻ chuyển mục chuẩn chung — chữ 15px · đậm 600 · cao 48px · gạch 2.5px · biểu tượng 18px cách chữ 8px */
.tabs a{min-height:48px;padding:0 14px;font-weight:600;font-size:15px;color:var(--muted);border-bottom:2.5px solid transparent;white-space:nowrap;display:inline-flex;gap:8px;align-items:center}
.tabs a:hover{color:var(--ink);text-decoration:none}
.tabs a.on{color:var(--blue);border-bottom-color:var(--blue)}
.tabs a .pill{padding:0 7px;line-height:17px}
.tabs svg{width:18px;height:18px;flex:none}
.tabs .cnt{min-width:22px;height:22px;border-radius:11px;background:var(--hair);color:var(--muted);font-size:12.5px;font-weight:700;display:inline-grid;place-items:center;padding:0 7px}
.tabs .cnt.warn{background:var(--warn-bg,#fdf0dc);color:var(--warn,#b45309)}.tabs a.on .cnt{background:rgba(6,101,237,.1);color:var(--blue)}

.todo-strip{display:grid;gap:10px}
.todo-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid var(--card-edge);background:#fff}
.todo-item.danger{border-color:var(--danger-line);background:#fff8f7}
.todo-item.warn{border-color:#f0d9a6;background:#fffbf1}
.todo-item .t{flex:1;min-width:0}
.todo-item .t b{display:block}
.todo-item .t span{font-size:12.5px;color:var(--muted)}

.dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--hair);font-size:14px}
.dl dt{color:var(--muted);margin:0}
.dl dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}
.section-title{display:flex;align-items:center;gap:10px;margin:22px 0 4px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.section-title:first-child{margin-top:0}
.section-title .line{flex:1;height:1px;background:var(--hair)}

/* Hợp đồng hiện tại: thanh thời gian */
.term{margin-top:6px}
.term-bar{height:8px;border-radius:999px;background:var(--neutral-bg);overflow:hidden;margin:10px 0 6px}
.term-bar i{display:block;height:100%;border-radius:999px;background:var(--blue)}
.term-bar i.over{background:var(--danger)}
.w-100{width:100%}.w-62{width:62%}.w-35{width:35%}.w-58{width:58%}
.term-legend{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted)}

/* Mức độ hoàn thiện hồ sơ */
.ring{width:92px;height:92px;flex:none}
.ring circle{fill:none;stroke-width:9}
.ring .bg{stroke:var(--neutral-bg)}
.ring .fg{stroke:#d39a1c;stroke-linecap:round}
.ring text{font:700 20px var(--font);fill:var(--ink)}
.completion{display:flex;gap:18px;align-items:center}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.chip-missing{font-size:12px;font-weight:600;color:var(--warn);background:var(--warn-bg);border-radius:999px;padding:3px 10px}
.chip-done{font-size:12px;font-weight:600;color:var(--ok);background:var(--ok-bg);border-radius:999px;padding:3px 10px}
.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mini-stat{border:1px solid var(--card-edge);border-radius:10px;padding:12px 14px}
.mini-stat b{display:block;font-size:20px;line-height:1.25;font-variant-numeric:tabular-nums}
.mini-stat span{font-size:12.5px;color:var(--muted)}

/* ---------- Lập đề nghị chi ---------- */
.form-types{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.form-type{border:1px solid var(--card-edge);border-radius:10px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:6px;cursor:pointer;min-width:0}
.form-type:hover{border-color:#9fbde6}
.form-type.on{border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,101,237,.12);background:#f7faff}
.form-type .no{font-size:11.5px;font-weight:700;color:var(--muted)}
.form-type b{font-size:14px;line-height:1.3}
.form-type span{font-size:12px;color:var(--muted);line-height:1.4}
.form-type .icon-tile{width:34px;height:34px;border-radius:10px}
.form-type .icon-tile svg{width:18px;height:18px}

.exp-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.summary-col{position:sticky;top:76px;display:flex;flex-direction:column;gap:20px}
.lines{width:100%;border-collapse:collapse;font-size:14px}
.lines th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);text-align:left;padding:8px 6px;border-bottom:1px solid var(--card-edge)}
.lines td{padding:6px;border-bottom:1px solid var(--hair);vertical-align:middle}
.lines input,.lines select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:#fff;font-size:13.5px}
.lines .num input{text-align:right;font-variant-numeric:tabular-nums}
.lines .stt{width:34px;color:var(--muted);text-align:center}
.lines .inv{width:56px;text-align:center}
.lines .del{width:40px}
.lines .del button{border:0;background:none;color:#9aa8ba;cursor:pointer;width:32px;height:32px;border-radius:8px}
.lines .del svg{width:16px;height:16px}
.lines tfoot td{border-bottom:0;padding-top:12px}
.total-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.in-words{font-size:13px;color:var(--muted);font-style:italic}
.payee-toggle{display:inline-flex;border:1px solid var(--card-edge);border-radius:10px;padding:3px;gap:3px;margin-bottom:12px}
.payee-toggle span{padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--muted)}
.payee-toggle .on{background:var(--build-bg);color:var(--blue)}
.custom-tag{font-size:10.5px;font-weight:700;color:var(--design);background:var(--design-bg);border-radius:6px;padding:1px 6px;margin-left:6px;text-transform:none;letter-spacing:0}
.route{list-style:none;margin:0;padding:0}
.route li{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--hair);font-size:13.5px}
.route li:first-child{border-top:0}
.route .n{width:22px;height:22px;border-radius:50%;background:var(--neutral-bg);color:var(--muted);display:grid;place-items:center;font-size:11.5px;font-weight:700;flex:none}
.route b{display:block;font-size:13.5px}
.route small{color:var(--muted)}
.req-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13.5px}
.req-list li{display:flex;gap:8px;align-items:center}
.req-list svg{width:16px;height:16px;flex:none}
.req-list .ok{color:var(--ok)}.req-list .no{color:#c0cad6}
.big-total{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}

/* ---------- Trường thông tin tự tạo ---------- */
.field-list{width:100%;border-collapse:collapse;font-size:14px}
.field-list th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);text-align:left;padding:10px 14px;background:#fafbfd;border-bottom:1px solid var(--card-border)}
.field-list td{padding:11px 14px;border-bottom:1px solid var(--card-border);vertical-align:middle}
.field-list .grp td{background:#f7f9fc;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 14px}
.field-list .drag{color:#c0cad6;width:28px}
.field-list .drag svg{width:16px;height:16px}
.type-pill{font-size:11.5px;font-weight:600;border-radius:6px;padding:2px 8px;background:var(--neutral-bg);color:var(--neutral);white-space:nowrap}
.switch{display:inline-block;width:36px;height:20px;border-radius:999px;background:#cfd8e3;position:relative;vertical-align:middle}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.switch.on{background:var(--blue)}
.switch.on::after{left:18px}
.suggest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.suggest{border:1px dashed #c6d3e3;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;background:#fbfcfe}
.suggest b{font-size:14px}
.suggest span{font-size:12.5px;color:var(--muted)}
.suggest .btn{align-self:flex-start;margin-top:6px}
.mock-dialog .modal-body{display:grid;gap:14px}
.type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.type-opt{border:1px solid var(--card-edge);border-radius:10px;padding:10px;text-align:center;font-size:12.5px;font-weight:600;color:var(--muted)}
.type-opt svg{width:18px;height:18px;display:block;margin:0 auto 4px}
.type-opt.on{border-color:var(--blue);color:var(--blue);background:var(--build-bg)}
.note-box{border-left:3px solid var(--design);background:var(--design-bg);border-radius:8px;padding:10px 14px;font-size:13.5px}

@media (max-width:1100px){
  .profile-layout,.exp-layout{grid-template-columns:minmax(0,1fr)}
  .side-col,.summary-col{position:static}
  .form-types{grid-template-columns:repeat(3,minmax(0,1fr))}
  .suggest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .dl{grid-template-columns:minmax(0,1fr)}
  .form-types{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mini-stats{grid-template-columns:minmax(0,1fr)}
  .suggest-grid{grid-template-columns:minmax(0,1fr)}
  .type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lines thead{display:none}
  .lines tr{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 0;border-bottom:1px solid var(--hair)}
  .lines td{border:0;padding:0}
  .lines .stt,.lines .del{display:none}
}
@media (max-width:1100px) and (min-width:701px){
  .side-col{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:stretch}
  .id-card .qr{width:150px;height:150px}
}
.facts .v.mail{font-size:12.5px;word-break:break-all}
.lines .inv input{width:20px;height:20px;min-height:0;padding:0;accent-color:var(--blue)}
.lines td:nth-child(4){min-width:240px}
.suggest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.switch-btn{border:0;background:none;padding:4px;cursor:pointer;border-radius:999px}
.switch-btn:disabled{cursor:not-allowed;opacity:.6}
.field-list tr.inactive td{opacity:.55}
.field-list tr.sys td{background:#fcfdfe}
.field-list tr[draggable="true"] .drag{cursor:grab}
.field-list tr.dragging{opacity:.5;background:var(--build-bg)}
label.type-opt{cursor:pointer}
label.type-opt:has(input:disabled){cursor:not-allowed}
/* Bảng trường thông tin trên màn hẹp: mỗi trường một khối */
@media (max-width:1200px){
  .field-list thead{display:none}
  .field-list tr{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:10px 14px;border-bottom:1px solid var(--card-border)}
  .field-list td{border:0;padding:0}
  .field-list td:nth-child(2){flex:1 1 calc(100% - 40px);order:1}
  .field-list td.drag{order:0}
  .field-list td:nth-child(n+3){order:2}
  .field-list td:last-child{margin-left:auto}
  .field-list tr.grp{padding:8px 14px}
  .field-list tr.grp td{background:none;padding:0;flex:1 1 100%;order:0;margin:0}
  .field-list tr.sys td[colspan]{display:none}
}
/* Hồ sơ: ảnh đại diện, nút đổi ảnh, in thẻ */
.avatar-xl.has-img{background:#fff}
.avatar-xl img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.avatar-xl button.cam{border:0;cursor:pointer;padding:0}
.avatar-xl button.cam:hover{background:var(--build-bg)}
.page-head .head-text:has(.profile-band){flex-basis:100%}
.ring .fg.done{stroke:var(--ok)}
.term-bar i{width:0}
.name-card .nc-face{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;border-radius:10px}
.name-card .nc-face img{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 6px 18px rgba(13,37,66,.16)}
.name-card .btn-row{justify-content:center;margin-top:14px;flex-wrap:wrap}
.seg{display:inline-flex;background:var(--build-bg);border-radius:8px;padding:2px}
.seg button{border:0;background:none;font:inherit;font-size:12px;font-weight:600;color:var(--muted);padding:3px 10px;border-radius:6px;cursor:pointer}
.seg button.on{background:var(--card);color:var(--blue);box-shadow:0 1px 2px rgba(13,37,66,.12)}
.qr-big .qr{width:min(320px,70vw);height:auto;display:block;margin:0 auto 8px}
.center{text-align:center}
/* Lập đề nghị: thẻ chọn mẫu và nút người nhận là <button> */
button.form-type{font:inherit;color:inherit;text-align:left;cursor:pointer}
.payee-toggle button{border:0;background:none;font:inherit;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer}
.payee-toggle button.on{background:var(--build-bg);color:var(--blue)}
.req-side .in-words{max-width:260px;text-align:right}
@media (max-width:900px){.req-side .in-words{text-align:left}}
.lines{min-width:760px}
.lines select{min-width:120px}
@media (max-width:700px){.lines{min-width:0}}

/* ===== Tổng quan (theo phác thảo đã duyệt public/design/tong-quan.html) ===== */
.kpi{display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:16px 18px 0;color:inherit}
.kpi .stat{gap:12px}
.kpi-main{min-width:0;flex:1}
.kpi .caption{font-size:12.5px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 2px}
.kpi .value{font-size:26px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}
.kpi-foot{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}
.kpi .spark{display:block;width:calc(100% + 36px);height:34px;margin:4px -18px 0}
.kpi-row{align-items:stretch}
.delta{font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap}
.delta.up-good,.delta.down-good{background:var(--ok-bg);color:var(--ok)}
.delta.up-bad,.delta.down-bad{background:var(--danger-bg);color:var(--danger)}
.delta.neutral{background:var(--neutral-bg);color:var(--muted)}
.legend{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin:-4px 0 8px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.l-ok{background:#167548}.l-danger{background:#b42318}.l-build{background:#0665ed}.l-design{background:#6941c6}.l-navy{background:#0d2542}.l-mint{background:#8ee0b8}
.l-f01{background:#0665ed}.l-f02{background:#6941c6}.l-f03{background:#8ee0b8}.l-f04{background:#0d2542}.l-f05{background:#d39a1c}
.legend i.l-line{height:3px;width:16px;background:#0665ed}
.legend i.l-dash{height:12px;width:0;border-left:2px dashed #20334d;border-radius:0}
.card>svg:not(.spark){display:block;width:100%;height:auto}
.insights{list-style:none;margin:0;padding:0}
.insights li{position:relative;padding:11px 0 11px 20px;border-top:1px solid var(--hair);font-size:14px;line-height:1.5}
.insights li:first-child{border-top:0;padding-top:2px}
.insights li::before{content:"";position:absolute;left:2px;top:19px;width:8px;height:8px;border-radius:50%;background:var(--muted)}
.insights li:first-child::before{top:10px}
.insights li.bad::before{background:#b42318}.insights li.warn::before{background:#d39a1c}.insights li.good::before{background:#167548}
.page-tools .tools-right{margin-left:auto}
.mini-list .m-name{white-space:normal}
@media (max-width:1100px){.kpi-row.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Góp ý 002 — hộp thoại kéo được (ui.js draggable) */
.modal-head.drag-handle{cursor:move;user-select:none;touch-action:none}
.modal-head .grip{width:10px;height:16px;flex:none;background:radial-gradient(circle,#a3b1c4 1.2px,transparent 1.6px) 0 0/5px 5px;opacity:.9}
dialog.modal.dragging{box-shadow:0 30px 80px rgba(13,37,66,.38)}
/* Thanh tab có công cụ bên phải (Nhóm chi & dự án) */
.tab-bar{display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--card-edge);flex-wrap:wrap}
.tab-bar .tabs{border-bottom:0;margin:0}
.tab-tools{margin-left:auto;display:flex;gap:8px;align-items:center;padding:8px 0}
.tab-tools .filter-input{min-width:240px}
.w-grip{width:28px;color:#a3b1c4}
td.drag{cursor:grab}
tr.dragging{opacity:.5;background:var(--build-bg)}
.card-foot{padding:10px 16px;margin:0;border-top:1px solid var(--card-edge);display:flex;gap:6px;align-items:center}
.card-foot svg{width:14px;height:14px}
.budget-bar{height:5px;border-radius:3px;background:#e8edf4;overflow:hidden;margin-left:auto;max-width:140px}
.budget-bar i{display:block;height:100%;background:var(--blue)}.budget-bar i.warn{background:var(--warn)}.budget-bar i.bad{background:var(--danger)}
.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:600px){.tab-tools{width:100%;margin-left:0}.tab-tools .filter-input{flex:1;min-width:0}}
/* Quản trị › Pháp nhân */
.co-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.co-card{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;color:var(--ink)}
.co-card:hover{text-decoration:none;border-color:#b9cbe3}
.co-card.on{border:2px solid var(--blue);padding:11px 13px}
.co-card.off{opacity:.65}
.co-card .row{display:flex;gap:6px;flex-wrap:wrap}
.co-card b{font-size:13px;line-height:1.3}
.co-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:16px;align-items:start}
.co-hero{display:flex;gap:16px;align-items:center;padding:18px 20px;background:linear-gradient(120deg,#f4f8ff,#fff);border-radius:12px 12px 0 0;flex-wrap:wrap}
.co-hero h2{margin:0;font-size:17px}
.co-hero .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.co-hero .grow{flex:1;min-width:220px}
.co-logo{width:56px;height:56px;border-radius:14px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;letter-spacing:.5px;flex:none}
.co-age{text-align:right}
.co-age b{display:block;font-size:26px;color:var(--blue);letter-spacing:-.8px;line-height:1.1}
.co-alert{margin:0 20px 6px}
.co-tabs{padding:0 14px;margin:0}
.co-body{padding:6px 20px 18px}
/* Ảnh 134 (06/10/2026): dải mốc ngang chỉ cho hồ sơ pháp nhân (.co-body) — trước đây áp lên MỌI .timeline (Các bước duyệt, bổ nhiệm, lịch sử…) làm bước bị cắt / chữ chồng */
.co-body .timeline{list-style:none;display:flex;gap:0;padding:0;margin:8px 0 0;overflow-x:auto}
.co-body .timeline li{flex:1;min-width:120px;position:relative;padding-top:22px;display:flex;flex-direction:column;gap:1px}
.co-body .timeline li::before{content:"";position:absolute;top:7px;left:8px;right:-8px;height:3px;width:auto;background:#cfe0fb}
.co-body .timeline li:last-child::before{display:none}
.co-body .timeline li i{position:absolute;top:0;left:0;width:17px;height:17px;border-radius:50%;background:#fff;border:3px solid var(--blue);box-sizing:border-box}
.co-body .timeline li span{font-size:13px}.co-body .timeline li small{color:var(--muted);font-size:11.5px}
.co-body .timeline .icon-btn{position:absolute;top:-4px;left:22px;opacity:0}
.co-body .timeline li:hover .icon-btn{opacity:1}
.stat-box{display:flex;flex-direction:column;gap:2px;background:#f7f9fc;border-radius:10px;padding:10px;text-align:center;color:var(--ink)}
.stat-box b{font-size:20px}.stat-box span{font-size:12px;color:var(--muted)}
a.stat-box:hover{text-decoration:none;background:var(--build-bg)}
.stat-box.warn b{color:var(--warn)}
.danger-zone{border-color:var(--danger-line)}
button.link{background:none;border:0;padding:0;font:inherit;color:var(--blue);cursor:pointer;text-align:left}
button.link:hover{text-decoration:underline}
@media (max-width:1000px){.co-layout{grid-template-columns:minmax(0,1fr)}.co-age{text-align:left}}
.co-side{display:flex;flex-direction:column;gap:16px}
.signer-list{list-style:none;margin:10px 0 0;padding:0}
.signer-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--hair)}
.signer-list .pill.navy{min-width:52px;justify-content:center}
.signer-list .grow{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
/* Tổng quan — thời tiết + câu mỗi ngày (góp ý 002 mục 11) */
/* Thời tiết + Câu mỗi ngày: rộng bằng nhau, cao bằng nhau (anh Tâm góp ý 01/10/2026) */
.widget-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.widget-row>.weather-card{display:flex;flex-direction:column}.widget-row>.weather-card>.wx-main{flex:1}
.widget-row>.quote-card .quote-kinds{margin-top:auto}
.widget-row:has(.weather-card.hidden){grid-template-columns:minmax(0,1fr)}
.weather-card{padding:0;overflow:hidden;background:linear-gradient(135deg,#1e6fe0,#0d3a7a);color:#fff;border:0}
.wx-main{display:flex;gap:20px;padding:16px 20px;align-items:center;flex-wrap:wrap}
.wx-city{display:inline-flex;align-items:center;gap:6px;color:#cfe0fb;font-size:12.5px}
.wx-city svg{width:15px;height:15px}
.wx-city select{background:transparent;border:0;color:#fff;font:inherit;font-weight:600;padding:0;cursor:pointer}
.wx-city select option{color:var(--ink)}
.wx-now{display:flex;align-items:center;gap:14px;margin-top:6px}
.wx-ico svg{width:54px;height:54px;color:#ffd166}
.wx-temp{font-size:44px;font-weight:700;line-height:1;letter-spacing:-2px}
.wx-text{color:#cfe0fb;white-space:nowrap}
.wx-facts{list-style:none;margin:0 0 0 auto;padding:0;display:grid;grid-template-columns:repeat(2,auto);gap:8px 20px;font-size:12.5px}
.wx-facts li{display:flex;gap:7px;align-items:center}
.wx-facts svg{width:15px;height:15px}.wx-facts span{color:#cfe0fb}
.wx-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(0,0,0,.14)}
.wx-days li{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;border-left:1px solid rgba(255,255,255,.1);text-align:center}
.wx-days li:first-child{border-left:0}
.wx-days span{font-size:12px;color:#cfe0fb}.wx-days svg{width:20px;height:20px}.wx-days small{font-size:11px;color:#cfe0fb}
.wx-tip{display:flex;gap:8px;align-items:center;padding:8px 20px;font-size:12.5px;background:rgba(0,0,0,.2)}
.wx-tip svg{width:16px;height:16px;flex:none}.wx-tip small{margin-left:auto;color:#cfe0fb;white-space:nowrap}
.wx-tip.quiet{background:transparent;padding-top:0}
.quote-card{background:linear-gradient(160deg,#fffaf0,#fff);border-color:#f1e2c0;display:flex;flex-direction:column}
.icon-tile.lotus{background:#fdf1d6;color:#a16207}
.quote-kind{background:#fdf1d6;color:#a16207}
/* BG-0016: Georgia trên Windows thiếu chữ Việt dựng sẵn (ế, ồ…) nên dấu bị tách "đê´n rô`i" — dùng Times New Roman (đủ chữ Việt), Mac/Windows đều có */
.quote-card blockquote{margin:6px 2px 8px;font-family:"Times New Roman",Times,serif;font-size:20px;line-height:1.45;color:#3b2a0a}
.quote-src{color:var(--muted);font-size:12.5px;margin-left:2px}
.quote-kinds{display:flex;gap:6px;margin-top:auto;padding-top:14px}
.quote-kinds button{border:1px solid #ecdcb8;background:#fff;border-radius:999px;padding:3px 11px;font:inherit;font-size:12px;font-weight:600;color:#7a5410;cursor:pointer}
.quote-kinds button.on{background:#a16207;border-color:#a16207;color:#fff}
.icon-btn.on{color:#be185d}
@media (max-width:900px){.widget-row{grid-template-columns:minmax(0,1fr)}.wx-facts{margin-left:0}}
@media (max-width:600px){.wx-days{grid-template-columns:repeat(3,1fr)}.wx-days li:nth-child(n+4){display:none}.quote-card blockquote{font-size:17px}}
.signer-list .grow .pill{align-self:flex-start}
.w-grip svg{width:16px;height:16px;display:block}
@media (max-width:900px){table.data.stack td.w-grip{display:none}}
/* Quản trị › Khối & phòng (cây + khung sửa) */
/* Khối & phòng: các khối nằm ngang thành hàng cột ở trên, ô sửa phòng/khối rộng bên dưới (bố cục duyệt 01/10/2026) */
.org-layout{display:flex;flex-direction:column;gap:16px}
#org-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;align-items:start}
#org-list .org-div{margin-bottom:0}
.org-tools .filter-input{max-width:320px}
.org-tree{padding:12px}
.org-tools{padding:2px 4px 10px}.org-tools .filter-input{width:100%}
.org-div{border:1px solid var(--card-edge);border-radius:10px;margin-bottom:8px;overflow:hidden;background:#fff}
.org-div.on{border-color:var(--blue)}
.org-div.dragging,.org-dept.dragging{opacity:.5}
.org-div-head{display:flex;align-items:center;gap:8px;padding:9px 10px;background:#f7f9fc}
.org-div-name{font-weight:700;color:var(--ink)}
.org-depts{list-style:none;margin:0;padding:0;min-height:8px}
.org-dept{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 30px;border-top:1px solid var(--hair);cursor:pointer}
.org-dept:hover{background:#f8fbff}
.org-dept.on{background:#eef5ff;box-shadow:inset 3px 0 var(--blue)}
.org-empty{padding:8px 30px;border-top:1px dashed var(--card-edge)}
.org-tree .grow,.people .grow{flex:1;min-width:0}
.drag{color:#a3b1c4;cursor:grab;display:inline-flex}.drag svg{width:15px;height:15px}
.org-off{padding:6px 6px 0}.org-off ul{list-style:none;padding:6px 0 0;margin:0;display:grid;gap:4px}
.dchip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--c,var(--blue));background:color-mix(in srgb,var(--c,var(--blue)) 10%,#fff);border-radius:6px;padding:2px 8px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.dchip i{width:7px;height:7px;border-radius:2px;background:var(--c,var(--blue));flex:none}
.org-panel .card-head h2{margin-left:4px}
.swatches{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.swatch{width:28px;height:28px;border-radius:8px;border:0;background:var(--c);cursor:pointer}
.swatch.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--c)}
.motifs{display:flex;gap:8px;flex-wrap:wrap}
.motif{width:40px;height:40px;border-radius:9px;border:1px solid var(--card-edge);background:#fff;color:var(--c,var(--navy));display:grid;place-items:center;cursor:pointer;padding:6px}
.motif svg{width:26px;height:26px}
.motif.on{background:var(--c,var(--navy));color:#fff;border-color:transparent}
.people{list-style:none;margin:0;padding:0}
.people li{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--hair)}
.people li:first-child{border-top:0}
.people .grow{display:flex;flex-direction:column}
.avatar-sm{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
.btn-row.end{justify-content:flex-end}
@media (max-width:700px){#org-list{grid-template-columns:minmax(0,1fr)}}
/* Cài đặt của tôi — cỡ chữ, mật độ (áp toàn Portal qua thuộc tính trên <html>) */
html[data-font="sm"] body{zoom:.93}
html[data-font="lg"] body{zoom:1.08}
html[data-density="compact"] table.data td{padding-top:6px;padding-bottom:6px}
html[data-density="compact"] .card{padding:14px 16px}
/* Cài đặt của tôi: thanh mục nằm ngang ở trên (dính khi cuộn), nội dung rộng bên dưới (bố cục duyệt 01/10/2026) */
.settings-layout{display:flex;flex-direction:column;gap:16px}
.settings-nav{padding:6px;position:sticky;top:calc(var(--topbar) + 8px);z-index:5;display:flex;flex-direction:row;flex-wrap:wrap;gap:2px}
.settings-nav a{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:8px;color:var(--ink);font-weight:600;font-size:13.5px}
.settings-nav a:hover{background:var(--build-bg);text-decoration:none}
.settings-nav svg{width:16px;height:16px;color:var(--muted)}
.settings-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.settings-main>section{scroll-margin-top:80px}
.set-row{display:flex;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--hair);flex-wrap:wrap}
.set-row>div:first-child{flex:1;min-width:200px;display:flex;flex-direction:column;gap:2px}
.set-select{height:34px;border-radius:9px;border:1px solid var(--card-edge);padding:0 10px;font:inherit;min-width:200px;background:#fff}
.seg-ctl{display:inline-flex;background:var(--hair);border-radius:9px;padding:3px;gap:2px;flex-wrap:wrap}
/* Ảnh 123b: nút chọn nhỏ (Ngày/Tuần, Đang làm/Đã nghỉ…) 14.5px, cao ~40px */
.seg-ctl button{border:0;background:none;font:inherit;font-size:14.5px;font-weight:600;color:var(--muted);padding:7px 14px;border-radius:7px;cursor:pointer;display:inline-flex;gap:7px;align-items:center}
.seg-ctl button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(13,37,66,.12)}
.theme-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:6px}
.theme-card{border:1px solid var(--card-edge);border-radius:10px;padding:10px;background:#fff;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px}
.theme-card.on{border:2px solid var(--blue);padding:9px}
.theme-card i{display:block;width:100%;height:44px;border-radius:7px;border:1px solid var(--card-edge);background:#f1f4f9}
.theme-card.t-dark i{background:#0f1b2d}
.theme-card.t-auto i{background:linear-gradient(90deg,#f1f4f9 50%,#0f1b2d 50%)}
.theme-card svg{width:16px;height:16px}
.deleg-list{list-style:none;margin:0;padding:0}
.deleg-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--hair)}
.deleg-list li:first-child{border-top:0}
.deleg-list .grow{flex:1;display:flex;flex-direction:column;min-width:0}
.forced-pw{max-width:520px}
@media (max-width:700px){.settings-nav{flex-wrap:nowrap;overflow-x:auto}.settings-nav a{white-space:nowrap}}
/* Không gian OneCAD */
.ws-kpis{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.ws-kpis .caption{display:flex;gap:8px;align-items:center}.ws-kpis .caption svg{width:16px;height:16px;color:var(--muted)}
.ws-kpis .value small{font-size:14px;color:var(--muted);font-weight:600}
.ws-kpis .value.sm{font-size:17px}
.ws-bar{max-width:none;margin:6px 0 4px}
.ws-main{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.ws-todo{list-style:none;margin:0;padding:0}
.ws-todo li{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--hair)}
.ws-todo li:first-child{border-top:0}
.ws-todo .grow{flex:1;display:flex;flex-direction:column;gap:2px}
.ws-todo a{font-weight:600;font-size:13px}
.ws-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.ws-tile{display:flex;gap:10px;border:1px solid var(--card-edge);border-radius:10px;padding:12px;color:var(--ink)}
.ws-tile:hover{text-decoration:none;border-color:#b9cbe3;background:#f8fbff}
.ws-tile>span:last-child{display:flex;flex-direction:column;gap:2px}
.rules-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}
.rules-grid .rule{background:#f7f9fc;border-radius:10px;padding:12px}
.rules-grid .rule.wide{grid-column:span 2}
.rule-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.input-unit{display:flex;align-items:center;gap:8px}.input-unit input{flex:1;min-width:0}.input-unit span{color:var(--muted);font-size:12.5px;white-space:nowrap}
@media (max-width:1100px){.ws-main{grid-template-columns:minmax(0,1fr)}.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.rules-grid{grid-template-columns:minmax(0,1fr)}.rules-grid .rule.wide{grid-column:auto}}
/* Bản in A4 đúng mẫu TCKT (exp-print.js) */
.a4{position:relative;width:794px;min-height:1123px;background:#fff;color:#111;font-family:"Be Vietnam Pro",Arial,sans-serif;font-size:13px;line-height:1.5;padding:40px 46px 70px;box-shadow:0 10px 30px rgba(13,37,66,.18);overflow:hidden}
.a4 p{margin:5px 0}
.a4 .watermark{position:absolute;inset:0;display:grid;place-items:center;font-size:110px;font-weight:800;color:rgba(13,37,66,.05);transform:rotate(-28deg);pointer-events:none}
.a4-foot{position:absolute;left:46px;right:46px;bottom:22px;border-top:1px solid #e3e9f1;padding-top:7px;font-size:9.5px;color:#56687f}
/* Bản in số hoá đề nghị chi (duyệt 02/10/2026): logo + QR, dấu duyệt điện tử */
.p-band{position:absolute;left:0;top:0;right:0;height:6px;background:linear-gradient(90deg,#0a7bd8,#2fa66f 55%,#38b1a6);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.p-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}
.p-brand{display:flex;gap:14px;align-items:center;min-width:0}
.p-brand img{height:56px;width:auto}
.p-co{border-left:1px solid #d5deea;padding-left:14px;font-size:11px;line-height:1.45;color:#3d4b5c}
.p-co b{display:block;color:#0d2542;font-size:12.5px;letter-spacing:.02em}
.p-qr{display:flex;gap:10px;align-items:center;border:1px solid #d5deea;border-radius:10px;padding:7px 10px 7px 7px;min-width:210px}
.p-qr.empty{justify-content:center;flex-direction:column;align-items:flex-end;min-height:60px;border-style:dashed}
.p-qr-img{width:82px;height:82px;flex:none}.p-qr-img svg{width:100%;height:100%;display:block}
.p-qr small{display:block;font-size:9px;color:#56687f;line-height:1.35}
.p-qr b{display:block;font-family:ui-monospace,Menlo,monospace;font-size:13px;color:#0d2542;margin:2px 0}
.p-qr .p-url{word-break:break-all;max-width:150px}
.p-nation{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:12px;padding-top:9px;border-top:1px solid #edf1f6;font-size:11px;color:#3d4b5c}
.p-nation .m{text-align:center;color:#111;display:flex;flex-direction:column}.p-nation .m b{font-size:11.5px}.p-nation .m u{font-size:11.5px}
.p-title{text-align:center;margin:18px 0 2px}
.p-title h1{margin:0;font-family:inherit;font-size:20px;letter-spacing:.03em;color:#0d2542}
.p-meta{font-size:11px;color:#56687f;margin-top:3px}
.p-st{display:inline-block;padding:1px 9px;border-radius:10px;font-weight:700;margin-left:6px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.p-st.ok{background:#e8f5ee;color:#167548}.p-st.wait{background:#fff5df;color:#8a5a00}.p-st.bad{background:#fdecea;color:#b42318}
.p-kv{display:grid;grid-template-columns:1fr 1fr;gap:4px 26px;margin-top:14px;font-size:12.5px}
.p-kv>div{display:flex;gap:8px;border-bottom:1px dotted #c9d6e6;padding:4px 0}
.p-kv span{color:#56687f;white-space:nowrap}.p-kv b{font-weight:600}.p-kv .full{grid-column:1/3}
.p-part{font-weight:700;margin-top:12px!important;color:#0d2542}
.p-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:12px;color:#111}
.p-table th{background:#0d2542;color:#fff;font-weight:600;padding:6px 8px;text-align:left;font-size:11px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.p-table td{border-bottom:1px solid #e3e9f1;padding:6px 8px;height:16px}
.p-table .r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.p-table .c{text-align:center}
.p-table tr.sum td{border-top:2px solid #0d2542;border-bottom:0;font-weight:700;font-size:13px}
.p-total{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-top:12px;background:#f2f6fb;border-radius:10px;padding:10px 14px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.p-total small{display:block;color:#56687f;font-size:11px}.p-total i{font-size:12px}
.p-total .big{font-size:21px;font-weight:700;color:#0d2542;font-variant-numeric:tabular-nums;white-space:nowrap}
.p-pay{margin-top:10px;font-size:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.p-pay>div{border:1px solid #e3e9f1;border-radius:8px;padding:5px 10px;min-width:0;overflow-wrap:anywhere}.p-pay small{display:block;color:#56687f;font-size:10px}
.p-note{font-size:11.5px;font-style:italic;color:#3d4b5c}.p-desc{font-size:12px}
.p-signs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;margin-top:18px}
.p-sg{border:1px solid #e3e9f1;border-radius:10px;padding:8px 6px 9px;text-align:center;min-height:112px;display:flex;flex-direction:column;align-items:center;break-inside:avoid}
.p-sg h4{margin:0;font-size:10px;letter-spacing:.03em;color:#3d4b5c;text-transform:uppercase}
.p-seal{margin:8px 0 6px;width:86px;min-height:44px;border:2px solid #167548;border-radius:8px;color:#167548;font-size:8.5px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2;transform:rotate(-4deg)}
.p-seal b{font-size:10px}
.p-seal.bad{border-color:#b42318;color:#b42318}
.p-seal.wait{border:1.5px dashed #c9d6e6;color:#9aa8ba;transform:none;font-weight:600}
.p-seal.skip{border:1.5px solid #d5deea;color:#9aa8ba;transform:none;font-weight:600}
.p-sg .nm{font-size:11px;font-weight:600;margin-top:auto}.p-sg .tm{font-size:9.5px;color:#56687f}
.p-att{margin-top:12px;font-size:11px;color:#3d4b5c}.p-att b{color:#0d2542}
.p-foot{display:flex;justify-content:space-between;gap:16px}.p-foot>span:last-child{white-space:nowrap}.p-foot .mono{font-family:ui-monospace,Menlo,monospace;color:#0d2542}
.a4-wrap{background:#e9eef5;border-radius:12px;padding:12px;overflow:hidden}
.a4-wrap.mini .a4{zoom:.48;box-shadow:0 6px 16px rgba(13,37,66,.14)}
.a4-wrap.big{display:flex;justify-content:center;overflow:auto;max-height:calc(100vh - 220px)}
.a4-wrap.big .a4{zoom:.9;flex:none}
#print-root{display:none}
@media print{
  @page{size:A4;margin:10mm}
  body.printing>*:not(#print-root){display:none!important}
  body.printing #print-root{display:block}
  body.printing #print-root .a4{zoom:1;box-shadow:none;width:auto;min-height:0;padding:8px 0 0}
  body.printing #print-root .a4-foot{position:static;margin-top:20px}
}
/* Lập đề nghị v2 (góp ý 002 mục 8) */
.stepper{list-style:none;margin:0;padding:10px 14px;display:flex;gap:6px;flex-wrap:wrap}
.stepper li{flex:1;min-width:150px;display:flex;gap:10px;align-items:center;padding:4px}
.stepper .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--hair);color:#8a99ad;flex:none}
.stepper .n svg{width:14px;height:14px}
.stepper li>span:last-child{display:flex;flex-direction:column;line-height:1.25}
.stepper small{color:var(--muted);font-size:11.5px}
.stepper .done .n{background:var(--ok);color:#fff}
.stepper .warn .n{background:var(--warn-bg);color:var(--warn)}
.stepper .ready .n{background:var(--blue);color:#fff}
.stepper .ready b{color:var(--blue)}
.exp-layout.v2{grid-template-columns:minmax(0,1fr) 400px}
.exp-layout.v2 .summary-col{position:sticky;top:76px}
.form.cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}
.total-box{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.total-box .big-total{color:var(--blue)}
.total-row .btn-row{align-self:flex-start}
.docs-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px}
.preview-card{padding:12px 14px}
button.a4-wrap{border:0;width:100%;cursor:zoom-in;display:block;text-align:left;padding:10px}
.a4-wrap.mini{max-height:520px}
.check-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.check-list li{display:flex;gap:8px;align-items:center;font-size:13.5px}
.check-list svg{width:16px;height:16px;flex:none}
.check-list .ok svg{color:var(--ok)}.check-list .warn svg{color:var(--warn)}.check-list .bad{color:var(--danger);font-weight:600}
@media (max-width:1200px){.exp-layout.v2{grid-template-columns:minmax(0,1fr)}.exp-layout.v2 .summary-col{position:static}.a4-wrap.mini .a4{zoom:.6}.a4-wrap.mini{max-height:420px}}
@media (max-width:700px){.form.cols-3,.docs-grid{grid-template-columns:minmax(0,1fr)}.stepper li{min-width:45%}.a4-wrap.mini .a4,.a4-wrap.big .a4{zoom:.42}
  table.stack-lines thead{display:none}table.stack-lines,table.stack-lines tbody,table.stack-lines tr,table.stack-lines td{display:block;width:100%}
  table.stack-lines tr{border:1px solid var(--card-edge);border-radius:10px;padding:8px;margin-bottom:8px;position:relative}
  table.stack-lines td{padding:3px 0;border:0}table.stack-lines td.stt{font-weight:700}
  table.stack-lines td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}
  table.stack-lines td.del{position:absolute;top:6px;right:6px;width:auto}}
/* Bảng điều khiển Duyệt chi + Ký số (góp ý 002 mục 5, 9) */
.exp-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.exp-kpis .kpi,.ws-kpis .kpi{padding:14px 16px;justify-content:flex-start;gap:4px}
.exp-kpis .caption svg{width:15px;height:15px}
.exp-kpis .value small{font-size:14px;color:var(--muted);font-weight:600}
.kpi.accent{background:linear-gradient(135deg,#0a5bd3,#0d2542);color:#fff;border:0}
.kpi.accent .caption,.kpi.accent .sub,.kpi.accent .value small{color:#c8d8f0}
.kpi.warn{border-color:#f0d8a8;background:#fffaf0}
.text-danger{color:var(--danger)}
.exp-main{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.exp-main.rev{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.stack-col{display:flex;flex-direction:column;gap:20px;min-width:0}
.w-check{width:32px}
.person-cell{display:flex;align-items:center;gap:10px}
.person-cell>span:last-child{display:flex;flex-direction:column;line-height:1.3}
.avatar-sm[data-c]{background:var(--c)}
.pie-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.legend-list{list-style:none;margin:0;padding:0;flex:1;min-width:180px;display:flex;flex-direction:column;gap:7px;font-size:13px}
.legend-list li{display:flex;gap:8px;align-items:center}
.legend-list i{width:10px;height:10px;border-radius:3px;background:var(--c);flex:none}
.legend-list span{flex:1}
.bar-fill[data-c]{background:var(--c)}
.track-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.track-list>li>a{display:block;border:1px solid var(--card-edge);border-radius:10px;padding:12px;color:var(--ink)}
.track-list>li>a:hover{text-decoration:none;border-color:#b9cbe3;background:#f8fbff}
.track-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.track-head .sub{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.track{list-style:none;display:flex;margin:12px 0 6px;padding:0}
.track li{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;text-align:center}
.track li::before{content:"";position:absolute;top:10px;left:-50%;right:50%;height:2px;background:var(--card-edge)}
.track li:first-child::before{display:none}
.track li.done::before,.track li.now::before{background:var(--ok)}
.track li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--hair);color:#8a99ad;position:relative;z-index:1}
.track li span svg{width:12px;height:12px}
.track li.done span{background:var(--ok);color:#fff}
.track li.now span{background:#fff;color:var(--blue);box-shadow:0 0 0 2px var(--blue)}
.track small{font-size:11px;color:var(--muted)}
@media (max-width:1200px){.exp-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.exp-main,.exp-main.rev{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.exp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pipe{display:flex;gap:6px;flex-wrap:wrap}
.pipe-step{flex:1;min-width:110px;display:flex;flex-direction:column;gap:2px;padding:10px 18px 10px 12px;border-left:4px solid var(--c);background:color-mix(in srgb,var(--c) 9%,#fff);color:var(--ink);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%)}
.pipe-step:hover{text-decoration:none;background:color-mix(in srgb,var(--c) 15%,#fff)}
.pipe-step.on{background:color-mix(in srgb,var(--c) 20%,#fff)}
.pipe-step span{font-size:12px;font-weight:600;color:var(--c)}.pipe-step b{font-size:22px}
.pipe-trend{display:flex;gap:14px;align-items:flex-end;margin-top:14px;height:84px}
.pipe-trend>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;width:36px;height:100%}
.pipe-trend i{display:block;width:16px;border-radius:4px 4px 0 0;background:#15803d;opacity:.75}
.pipe-trend b{font-size:11px}.pipe-trend small{font-size:10.5px;color:var(--muted)}
.pipe-trend>.sub{align-self:center;margin-left:8px}
.track.mini{margin:0;min-width:120px}.track.mini li span{width:18px;height:18px;font-size:10px}.track.mini li::before{top:8px}
/* Hồ sơ nhân sự — thẻ bìa theo màu phòng (góp ý 002 mục 10) */
.cover-card{padding:0;overflow:hidden;margin-bottom:20px}
.cover{height:104px;position:relative;overflow:hidden;background:linear-gradient(110deg,var(--c,#0a5bd3),#0d2542 72%)}
.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px) 0 0/20px 20px,linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px) 0 0/20px 20px}
.cover-motif{position:absolute;right:48px;top:-24px;width:170px;height:170px;opacity:.28}
.cover-main{display:flex;gap:20px;align-items:center;padding:10px 24px 12px;flex-wrap:wrap}
.cover-main .avatar-xl{margin-top:-62px;border:5px solid #fff;box-shadow:0 6px 16px rgba(13,37,66,.2);flex:none;background:var(--c,#0a5bd3)}
.cover-who{flex:1;min-width:260px}
.cover-who .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cover-who h2{margin:0;font-size:22px}
.cover-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:6px;color:var(--muted);font-size:13.5px}
.cover-stats{display:flex;gap:22px;align-items:center;text-align:center}
.cover-stats>div{display:flex;flex-direction:column}
.cover-stats b{font-size:16px}.cover-stats span{font-size:12px;color:var(--muted)}
.ring.sm{width:64px;height:64px}
.cover-tabs{padding:0 18px;margin:0;border-top:1px solid var(--hair)}
/* 09/10/2026 (anh Tâm báo thẻ «Danh thiếp & chữ ký» bị cắt ở mép phải): hồ sơ có tới 9 thẻ — màn máy tính không đủ rộng thì xuống hàng thay vì cắt; điện thoại vẫn vuốt ngang */
@media (min-width:901px){.cover-tabs{flex-wrap:wrap;overflow-x:visible;row-gap:0}}
.info-cards{display:flex;flex-direction:column;gap:16px}
.info-card .card-head{flex-wrap:wrap}
.miss-list{list-style:none;margin:0;padding:0}
.miss-list li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--hair);font-size:13.5px}
.miss-list li:first-child{border-top:0}
.peers{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-top:6px}
.peer{width:34px;height:34px;border-radius:50%;border:2px solid #fff;margin-left:-8px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;overflow:hidden}
.peer:first-child{margin-left:0}.peer img{width:100%;height:100%;object-fit:cover}
.peer:hover{text-decoration:none;transform:translateY(-2px)}
.peers .sub{margin-left:8px}
@media (max-width:900px){.cover-stats{width:100%;justify-content:space-between}.cover-motif{right:8px}}
/* Danh sách nhân sự (góp ý 002 mục 10) */
.hr-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
.seg-ctl a{display:inline-flex;gap:7px;align-items:center;font-size:14.5px;font-weight:600;color:var(--muted);padding:7px 14px;border-radius:7px}
.seg-ctl a:hover{text-decoration:none;color:var(--ink)}
.seg-ctl a.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(13,37,66,.12)}
.seg-ctl :is(a,button) svg{width:16px;height:16px;flex:none}
.avatar-sm.has-img{background:none;overflow:hidden}.avatar-sm img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.person-cell small{display:block}
.pct-bar{display:inline-flex;align-items:center;gap:8px;min-width:120px}
.pct-bar .budget-bar{flex:1;margin:0;max-width:none;height:6px}
.pct-bar b{font-size:12px;width:36px}
.budget-bar i.ok{background:var(--ok)}
.contact-icons{display:inline-flex;gap:10px}.contact-icons a{color:var(--muted)}.contact-icons a:hover{color:var(--blue)}.contact-icons svg{width:16px;height:16px}
.emp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.emp-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 14px 14px;text-align:center;color:var(--ink);overflow:hidden}
.emp-card:hover{text-decoration:none;border-color:#b9cbe3}
.emp-band{display:block;height:44px;margin:0 -14px 0;width:calc(100% + 28px);background:linear-gradient(110deg,var(--c),#0d2542)}
.emp-card .avatar-sm{width:58px;height:58px;font-size:18px;margin-top:-30px;border:3px solid #fff}
.emp-foot{display:flex;flex-direction:column;gap:6px;align-items:center;margin-top:4px;width:100%}
.org-chart{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;align-items:start}
.org-col{display:flex;flex-direction:column;gap:10px}
.org-box{border:1px solid var(--card-edge);border-left:4px solid var(--c);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.org-box-head{display:flex;justify-content:space-between;gap:8px}
.org-box .peer{background:var(--c)}
.bulk-bar{position:sticky;bottom:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--navy);color:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 10px 30px rgba(13,37,66,.3);z-index:5}
.bulk-bar #bulk-n{margin-right:auto;font-weight:600}
@media (max-width:1300px){.hr-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.hr-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Giao diện tối (Cài đặt của tôi › Giao diện — góp ý 002). Bật bằng html[data-mode="dark"] (app.js: "Tối" hoặc "Theo máy" khi máy để tối).
   Bản in A4 và danh thiếp giữ nền trắng như giấy. */
html[data-mode="dark"]{color-scheme:dark;
  --bg:#0b1524; --card:#111e31; --card-border:#1d2c43; --line:#24354f; --ink:#e3ebf5; --muted:#93a4bb;
  --danger:#f87171; --danger-bg:#3a1a1a; --danger-line:#5c2a2a; --warn:#f0b754; --warn-bg:#36290f; --ok:#4ade80; --ok-bg:#10301f;
  --design:#a78bfa; --design-bg:#251b3d; --build:#5aa2ff; --build-bg:#12294a; --neutral:#93a4bb; --neutral-bg:#1a2a40;
  --blue:#4d94ff; --blue-hover:#6aa6ff; --card-edge:#22334d; --hair:#1a2a40;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25)}
html[data-mode="dark"] :is(.chip-bar button,.filter-input,.input,.field input,.field select,.field textarea,.demo-list button,.todo-item,.form-type,
  .lines input,.lines select,.co-card,.quote-kinds button,.org-div,.motif,.set-select,.theme-card,.track li.now span,.files li,.ws-tile,.emp-card,.org-box,.dropzone){background:var(--card);color:var(--ink);border-color:var(--card-edge)}
html[data-mode="dark"] :is(.btn:hover,.field-list .grp td,.stat-box,.org-div-head,.rules-grid .rule,table.data th){background:#0f1c2e}
html[data-mode="dark"] :is(.org-dept:hover,.ws-tile:hover,.track-list>li>a:hover,.org-dept.on){background:#13243c}
html[data-mode="dark"] :is(.seg-ctl button.on,.seg-ctl a.on,.seg button.on,.payee-toggle button.on){background:#24395a;color:var(--ink)}
html[data-mode="dark"] .btn{background:var(--card);color:var(--ink);border-color:var(--card-edge)}
html[data-mode="dark"] .btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}
html[data-mode="dark"] .btn.reject{background:var(--card);color:var(--danger);border-color:var(--danger-line)}
html[data-mode="dark"] .btn.ghost-light{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.2)}
html[data-mode="dark"] dialog.modal{background:var(--card);color:var(--ink)}
html[data-mode="dark"] .co-hero{background:linear-gradient(120deg,#13243c,var(--card))}
html[data-mode="dark"] .quote-card{background:linear-gradient(160deg,#241b0a,var(--card));border-color:#3d2f12}
html[data-mode="dark"] .quote-card blockquote{color:#f3e6c8}
html[data-mode="dark"] .kpi.warn{background:#2a200c;border-color:#4a3a14}
html[data-mode="dark"] .a4-wrap{background:#0b1524}
html[data-mode="dark"] .dchip{background:color-mix(in srgb,var(--c,var(--blue)) 22%,var(--card));color:color-mix(in srgb,var(--c,var(--blue)) 55%,#fff)}
html[data-mode="dark"] .cover-main .avatar-xl,html[data-mode="dark"] .peer,html[data-mode="dark"] .emp-card .avatar-sm{border-color:var(--card)}
html[data-mode="dark"] .ring text{fill:var(--ink)}
html[data-mode="dark"] svg text[fill="#16273d"]{fill:var(--ink)}
html[data-mode="dark"] .pipe-step{background:color-mix(in srgb,var(--c) 18%,var(--card))}
html[data-mode="dark"] .theme-card.on{border-color:var(--blue)}
html[data-mode="dark"] .alert{background:#13243c;color:var(--ink)}
html[data-mode="dark"] .alert.warn{background:var(--warn-bg);color:#f5d9a0}
html[data-mode="dark"] .alert.danger{background:var(--danger-bg);color:#fbc4c4}
.hr-table .person-cell{min-width:230px}.hr-table td[data-label="Phòng"] .dchip{max-width:220px}
/* Quản trị › Pháp nhân v2 (thiết kế duyệt 01/10/2026) */
.pn{display:flex;flex-direction:column;gap:18px}
.pn-strip .filter-input{width:260px;max-width:100%}
.tcard.pn-co{flex-direction:row;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.tcard.pn-co:hover{text-decoration:none}
.tstrip-row .tcard.add{min-height:72px}
.pn-rail{padding:12px;position:sticky;top:76px}
.pn-rail .filter-input{width:100%;margin-bottom:10px}
.pn-list{display:flex;flex-direction:column;gap:2px}
.pn-co .t{flex:1;min-width:0;display:flex;flex-direction:column}.pn-co b{font-size:12.5px;line-height:1.3}.pn-co small{color:var(--muted);font-size:11.5px}
.pn-mono{display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 60%,#000));color:#fff;font-weight:800;letter-spacing:.4px;flex:none;width:40px;height:40px;font-size:11px}
.pn-mono.lg{width:68px;height:68px;border-radius:14px;font-size:18px}
.pn-ring .bg{fill:none;stroke:var(--hair);stroke-width:3.5}.pn-ring .fg{fill:none;stroke:var(--blue);stroke-width:3.5;stroke-linecap:round}
.pn-ring .fg.ok{stroke:var(--ok)}.pn-ring .fg.warn{stroke:#d39a1c}
.pn-ring text{font:700 9px var(--font);fill:var(--ink);text-anchor:middle}
.pn-rail-foot{border-top:1px solid var(--card-edge);margin-top:10px;padding:10px 6px 2px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
.pn-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.pn-hero{padding:0}
.pn-hero-top{display:flex;gap:18px;align-items:center;padding:22px 24px 18px;background:radial-gradient(120% 140% at 100% 0%,var(--build-bg) 0%,var(--card) 55%);flex-wrap:wrap}
.pn-hero-top h2{margin:0;font-size:21px;letter-spacing:-.2px}
.pn-hero-top .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pn-hero-top .grow{flex:1;min-width:260px}
.pn-sub{margin-top:4px;display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.pn-hero-top .acts{display:flex;gap:8px;align-self:flex-start;flex-wrap:wrap;max-width:100%}
.pn-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--card-edge)}
.pn-facts>div{padding:14px 24px;border-left:1px solid var(--card-edge);display:flex;flex-direction:column;gap:2px;min-width:0}
.pn-facts>div:first-child{border-left:0}
.pn-facts span{color:var(--muted);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.pn-facts b{font-size:18px;letter-spacing:-.3px}.pn-facts small{color:var(--muted);font-size:12px}
.pn-complete{display:flex;gap:18px;align-items:center;border:1px solid #f1e2c0;background:linear-gradient(90deg,#fffaf0,var(--card));border-radius:var(--radius);padding:14px 18px;flex-wrap:wrap}
.pn-complete .pn-ring .fg{stroke:#d39a1c}
.pn-complete-t{display:flex;flex-direction:column;gap:3px;min-width:260px}
.pn-bar{display:block;height:8px;border-radius:5px;background:#f3e7cc;overflow:hidden;width:220px;margin-top:4px}.pn-bar i{display:block;height:100%;background:linear-gradient(90deg,#d39a1c,#e8b64a)}
.pn-needs{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.pn-need{display:inline-flex;align-items:center;gap:5px;border:1px dashed #d8b868;color:#7a5410;background:var(--card);border-radius:999px;padding:4px 10px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.pn-need:hover{background:#fff5df}.pn-need svg{width:13px;height:13px}
.pn-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.pn-kv{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid var(--hair);font-size:13.5px}
.pn-kv>span:first-child{width:150px;flex:none;color:var(--muted)}.pn-kv b{flex:1;font-weight:600;overflow-wrap:anywhere}
.pn-kv .icon-btn{width:26px;height:26px}
.pn-kv .add{color:#93a3b8;display:inline-flex;gap:5px;align-items:center;font-size:13px}.pn-kv .add:hover{color:var(--blue)}.pn-kv .add svg{width:13px;height:13px}
.pn-addr{display:flex;gap:10px;padding:10px 12px;background:#f7f9fc;border-radius:10px;margin:2px 0 8px;font-size:13.5px;line-height:1.45;width:100%;border:0;text-align:left;font-family:inherit;color:var(--ink)}
.pn-addr>svg{width:16px;height:16px;color:var(--blue);margin-top:2px;flex:none}
.pn-addr small{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
button.pn-addr.blank{cursor:pointer;border:1px dashed var(--card-edge);color:#93a3b8}
.pn-people{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.pn-person{display:flex;gap:12px;align-items:center;border:1px solid var(--card-edge);border-radius:12px;padding:14px}
.pn-person .grow{flex:1;display:flex;flex-direction:column;min-width:0}
.pn-person small{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.pn-person b{font-size:14px}
.avatar-sm.big{width:44px;height:44px;font-size:14px}.avatar-sm.none{background:var(--hair);color:#93a3b8}.avatar-sm.none svg{width:18px;height:18px}
.pn-banks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.pn-bank{border-radius:12px;padding:14px;color:#fff;min-height:118px;display:flex;flex-direction:column;position:relative}
.pn-bank .bn{font-weight:700;font-size:13px;padding-right:70px}
.pn-bank .tag{font-size:10px;font-weight:700;background:rgba(255,255,255,.18);border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:1px}
.pn-bank .no{font-family:ui-monospace,Menlo,monospace;font-size:17px;letter-spacing:1.5px;margin-top:auto}
.pn-bank .nm{font-size:11.5px;opacity:.82;margin-top:3px}
.pn-bank .bacts{position:absolute;top:10px;right:8px;display:flex;gap:2px;opacity:.75}
.pn-bank .bacts button{border:0;background:none;color:#fff;cursor:pointer;padding:3px}.pn-bank .bacts svg{width:15px;height:15px}
.pn-bank:hover .bacts{opacity:1}
.pn-empty{width:100%;border:1.5px dashed var(--card-edge);border-radius:12px;background:none;padding:18px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;font:inherit;color:var(--muted)}
.pn-empty svg{width:22px;height:22px}
.pn-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.pn-doc{display:flex;gap:10px;align-items:center;border:1px solid var(--card-edge);border-radius:10px;padding:10px 12px;min-width:0}
.pn-doc .ft{width:34px;height:40px;border-radius:6px;background:#fde8e8;color:#b42318;display:grid;place-items:center;font-size:9.5px;font-weight:800;flex:none}
.pn-doc .ft.img{background:#e6f0ff;color:var(--blue)}.pn-doc .ft.doc{background:#e8f0fb;color:#1d4f8f}
.pn-doc .grow{flex:1;min-width:0;display:flex;flex-direction:column;color:var(--ink)}.pn-doc b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pn-doc small{color:var(--muted);font-size:11.5px}
.pn-doc.add{border:1.5px dashed var(--card-edge);color:var(--muted);justify-content:center;font-weight:600;cursor:pointer;min-height:62px}
.pn-doc.add svg{width:16px;height:16px}
.pn-tl{list-style:none;display:flex;margin:6px 0 0;padding:0;overflow-x:auto}
.pn-tl li{flex:1;min-width:120px;position:relative;padding-top:24px;display:flex;flex-direction:column}
.pn-tl li::before{content:"";position:absolute;top:8px;left:9px;right:-9px;height:2px;background:#d6e4fb}.pn-tl li:last-child::before{display:none}
.pn-tl i{position:absolute;top:0;left:0;width:18px;height:18px;border-radius:50%;background:var(--card);border:3px solid var(--blue);box-sizing:border-box}
.pn-tl li.now i{background:var(--blue)}
.pn-tl b{font-size:13px}.pn-tl span{font-size:12px;color:var(--muted)}
.pn-tl .icon-btn{position:absolute;top:-4px;left:22px;opacity:0}.pn-tl li:hover .icon-btn{opacity:1}
.pn-quiet{display:flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid var(--card-edge);border-radius:var(--radius);background:var(--card);font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.pn-quiet>svg{width:16px;height:16px;flex:none}.pn-quiet .grow{flex:1;min-width:240px}
@media print{body.print-company #sidebar,body.print-company #topbar,body.print-company .pn-strip,body.print-company .pn-quiet,body.print-company .acts,body.print-company .pn-need,body.print-company .head-actions{display:none!important}
}

@media (max-width:900px){.pn-two,.pn-people{grid-template-columns:minmax(0,1fr)}.pn-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.pn-facts>div:nth-child(3){border-left:0}}
html[data-mode="dark"] .pn-addr{background:#13243c}
html[data-mode="dark"] .pn-complete{background:linear-gradient(90deg,#2a200c,var(--card));border-color:#4a3a14}
html[data-mode="dark"] .pn-need{color:#f0c674;border-color:#7a5f22}
/* Lập đề nghị — Quy trình phê duyệt đầu trang */
.appr-card{padding:14px 18px}
.appr-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.appr-head h2{margin:0;font-size:15px}
.appr-head .sub{margin-left:auto}
.appr{list-style:none;margin:0;padding:0;display:flex;gap:0;overflow-x:auto}
.appr li{flex:1;min-width:170px;display:flex;gap:10px;align-items:flex-start;position:relative;padding-right:22px}
.appr li::after{content:"";position:absolute;right:6px;top:13px;width:10px;height:10px;border-top:2px solid #b9c6d8;border-right:2px solid #b9c6d8;transform:rotate(45deg)}
.appr li:last-child::after{display:none}
.appr .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:700;font-size:13px;background:var(--build-bg);color:var(--blue);border:2px solid var(--blue)}
.appr .n svg{width:15px;height:15px}
.appr .t{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.appr small{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.appr b{font-size:13.5px}
.appr .sub{font-size:12px}
.appr .me .n{background:var(--ok);border-color:var(--ok);color:#fff}
.appr .final .n{background:var(--blue);color:#fff}
.appr .pay .n{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}
.appr .skip{opacity:.55}.appr .skip .n{border-style:dashed;background:none;color:var(--muted);border-color:var(--muted)}
.appr .warn .n{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}
.appr .miss{color:var(--warn)}
.appr .deleg{display:inline-flex;gap:4px;align-items:center;font-size:11.5px;color:var(--design);margin-top:2px}.appr .deleg svg{width:12px;height:12px}
@media (max-width:900px){.appr{flex-direction:column;gap:10px}.appr li::after{display:none}.appr-head .sub{margin-left:0;width:100%}}
/* Hàng thẻ chọn nằm ngang ở trên + vùng làm việc rộng bên dưới (anh Tâm duyệt 01/10/2026, áp cho các màn danh sách + chi tiết) */
.tstrip{padding:14px 16px}
.tstrip-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.tstrip-head h2{margin:0;font-size:var(--fs-section);display:flex;gap:8px;align-items:center}.tstrip-head h2 svg{width:18px;height:18px}
.tstrip-head .sub{margin-left:auto}
.tstrip-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.tcard{display:flex;flex-direction:column;align-items:stretch;gap:2px;text-align:left;border:1px solid var(--card-edge);border-radius:12px;padding:12px;background:var(--card);cursor:pointer;font:inherit;color:inherit;min-width:0}
.tcard:hover{border-color:#b9c9de}
.tcard.on{border:2px solid var(--blue);padding:11px;background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.tcard.off{opacity:.7}
.tcard-top{display:flex;gap:8px;align-items:center;justify-content:space-between}.tcard-top{align-items:flex-start}.tcard-top b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.35}.tcard-top .pill{flex:none}
.tcard .sub{font-size:12px}
.tcard-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--muted)}.tcard-meta span{display:inline-flex;gap:4px;align-items:center}.tcard-meta svg{width:14px;height:14px}
/* Thẻ quy trình: nút xoá góc dưới phải, hiện rõ khi rê chuột / chọn (góp ý 003 mục 11) */
.qt-card{position:relative;padding-bottom:12px}
.qt-card:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.qt-card-del{position:absolute;right:8px;bottom:8px;width:30px;height:30px;border:1px solid transparent;border-radius:8px;background:none;color:var(--muted);display:grid;place-items:center;cursor:pointer;opacity:.55}
.qt-card-del svg{width:16px;height:16px}
.qt-card:hover .qt-card-del,.qt-card.on .qt-card-del,.qt-card-del:focus-visible{opacity:1}
.qt-card-del:hover{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}
.qt-card-del.locked:hover{background:var(--neutral-bg);border-color:var(--card-edge);color:var(--muted)}
.qt-card .tcard-meta{padding-right:34px}
.tcard.add{border:1.5px dashed #c9d3e0;align-items:center;justify-content:center;text-align:center;color:var(--muted);min-height:110px}
.tcard.add b{color:var(--ink)}.tcard.add svg{width:18px;height:18px}
@media (max-width:700px){.tstrip-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.tstrip-row .tcard{min-width:240px;scroll-snap-align:start}.tstrip-head .sub{margin-left:0}}

/* Duyệt chi › Quy trình duyệt */
.qt-forms{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}
.qt-forms i{font-style:normal;font-size:10.5px;font-weight:700;border-radius:5px;padding:2px 6px;background:var(--neutral-bg);color:var(--muted)}
.qt-forms i.on{background:var(--build-bg);color:var(--blue)}
.qt{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start;margin-top:18px}
.qt-side{display:flex;flex-direction:column;gap:18px;position:sticky;top:76px}
.qt-canvas{overflow:hidden}
.qt-head{display:flex;gap:12px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--card-edge);flex-wrap:wrap}
.qt-head h2{margin:0;font-size:17px}.qt-head .grow{flex:1;min-width:200px}.qt-head .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.qt-scope{display:flex;gap:6px 18px;padding:11px 20px;background:var(--hair);border-bottom:1px solid var(--card-edge);font-size:12.5px;flex-wrap:wrap}
.qt-flow{padding:18px 20px 22px;display:flex;flex-direction:column}
.qt-node{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;background:var(--card);position:relative}
.qt-node .grow{flex:1;min-width:0}.qt-node b{font-size:14px}.qt-node .sub{display:block;margin-top:2px}
.qt-n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;flex:none;background:var(--build-bg);color:var(--blue);border:2px solid var(--blue)}
.qt-n svg{width:16px;height:16px}
.qt-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.qt-tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;border-radius:6px;padding:2px 8px;background:var(--neutral-bg);color:var(--muted)}
.qt-tag svg{width:12px;height:12px}
.qt-tag.cond{background:var(--warn-bg);color:var(--warn)}.qt-tag.sla{background:var(--build-bg);color:var(--blue)}.qt-tag.skip{background:var(--design-bg);color:var(--design)}.qt-tag.ok{background:var(--ok-bg);color:var(--ok)}
.qt-who{display:flex;align-items:center;gap:8px;margin:0 96px 0 auto;align-self:center;font-size:12.5px;color:var(--muted);max-width:260px}
.qt-who .avatar-sm{background:var(--blue)}
.qt-tools{position:absolute;right:8px;top:6px;display:flex;gap:2px;align-items:center;color:#a3b1c4}
.qt-tools .icon-btn{width:30px;height:30px;color:var(--muted)}.qt-tools .icon-btn:hover{background:var(--hair);color:var(--ink)}.qt-tools svg{width:15px;height:15px}
.qt-grip{cursor:grab;display:grid;place-items:center;width:22px}.qt-grip svg{width:15px;height:15px}
.qt-node.dragging{opacity:.45}.qt-node.drop{outline:2px dashed var(--blue);outline-offset:2px}
.qt-node.start,.qt-node.end{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 25%,transparent)}
.qt-node.start .qt-n{background:var(--ok);border-color:var(--ok);color:#fff}.qt-node.end .qt-n{background:var(--card);border-color:var(--ok);color:var(--ok)}
.qt-node.branch{border-style:dashed;border-color:#e6c27a;background:color-mix(in srgb,var(--warn-bg) 55%,var(--card))}
.qt-link{display:flex;align-items:center;justify-content:center;height:34px;position:relative}
.qt-link::before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:2px dashed var(--line)}
.qt-add{position:relative;z-index:1;width:26px;height:26px;border-radius:50%;background:var(--card);border:1.5px solid #b9c6d8;display:grid;place-items:center;color:var(--muted);cursor:pointer;padding:0}
.qt-add:hover{border-color:var(--blue);color:var(--blue)}.qt-add svg{width:13px;height:13px}
.qt-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.qt-lab{font-size:11px;font-weight:800;color:var(--warn);letter-spacing:.4px;margin:0 0 6px 4px;text-transform:uppercase}
.qt-sim .form{margin-top:4px}
.qt-sim-out{margin-top:12px;border-top:1px solid var(--card-edge);padding-top:8px}
.qt-sim-out ol{list-style:none;margin:0;padding:0}
.qt-sim-out li{display:flex;gap:10px;align-items:center;padding:7px 0}
.qt-sim-out .k{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--build-bg);color:var(--blue);flex:none}
.qt-sim-out .k svg{width:13px;height:13px}.qt-sim-out .grow{flex:1;min-width:0}.qt-sim-out b{display:block;font-size:13px}.qt-sim-out small{color:var(--muted);font-size:11.5px}
.qt-sum{display:flex;justify-content:space-between;gap:8px;background:var(--hair);border-radius:10px;padding:10px 12px;margin-top:8px;font-size:12.5px}
.qt-ver ul{list-style:none;margin:0;padding:0}
.qt-ver li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--hair);font-size:12.5px}.qt-ver li:first-child{border-top:0}
.qt-ver .grow{flex:1;min-width:0}.qt-ver .sub{display:block}
.qt-note{font-size:12px;background:var(--build-bg);border:1px solid color-mix(in srgb,var(--blue) 20%,transparent);color:var(--ink);border-radius:10px;padding:9px 12px;display:flex;gap:8px;margin-top:10px}
.qt-note svg{width:16px;height:16px;flex:none;color:var(--blue)}
/* hộp Sửa bước */
.qt-dlg{display:flex;flex-direction:column;gap:16px}
.qt-lbl{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.4px;text-transform:uppercase;margin-bottom:6px}
.qt-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.qt-opt{border:1px solid var(--card-edge);border-radius:10px;padding:10px 12px;display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.qt-opt.on{border:2px solid var(--blue);padding:9px 11px;background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.qt-opt input{margin-top:3px;accent-color:var(--blue)}.qt-opt b{display:block;font-size:13px}.qt-opt small{color:var(--muted);font-size:11.5px;line-height:1.35;display:block}
.qt-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.qt-cond{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.qt-cond-body{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.qt-cond-body select,.qt-cond-body input[name=value]{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--card)}
.qt-cond-body input[name=value]{flex:1;min-width:200px}
.qt-cond-body.qt-users{display:grid}
.qt-users{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 12px;max-height:220px;overflow:auto}
.qt-users.row{max-height:none}
.qt-users .check{min-height:36px;font-size:13px;line-height:1.3}.qt-users .check small{display:block}.qt-users .check input{width:16px;height:16px}
.qt-checks{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.qt-checks .check{align-items:flex-start;font-size:13px;min-height:0;padding:4px 0}.qt-checks .check input{width:16px;height:16px;margin-top:2px;accent-color:var(--blue)}
.qt-checks small,.form .check small{display:block;color:var(--muted);font-size:11.5px}
.qt-dlg-del{border-top:1px solid var(--card-edge);padding-top:12px}
@media (max-width:1200px){.qt{grid-template-columns:minmax(0,1fr)}.qt-side{position:static;display:grid;grid-template-columns:1fr 1fr}}
@media (max-width:760px){.qt-side{grid-template-columns:1fr}.qt-who{display:none}.qt-opts,.qt-grid3,.qt-checks{grid-template-columns:1fr}.qt-node{padding-right:96px}}
html[data-mode="dark"] :is(.tcard.add,.qt-add){border-color:var(--card-edge)}
html[data-mode="dark"] .qt-node.branch{border-color:#5a4718}
.settings-main>section{scroll-margin-top:calc(var(--topbar) + 72px)}
/* HĐ ký số chia trang A4 cố định + QR từng trang (duyệt 01/10/2026 — ảnh 15). 1 trang = 210 × 297 mm (794 × 1123 px). */
.es-lay{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.es-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:76px}
.es-viewer .c-pages{background:#e9edf3;border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:16px;overflow:hidden}
.c-page{width:794px;height:1123px;background:#fff;box-shadow:0 2px 10px rgba(13,37,66,.18);position:relative;padding:76px 57px 0 113px;overflow:hidden;flex:none;color:#111}
.c-page-body.contract-doc{max-width:none;font-size:13pt;line-height:1.55}
.c-page-body.contract-doc>:first-child{margin-top:0}
.c-page-body ul.c-cont{margin:0;padding-left:26px}.c-page-body ul.c-cont+:not(ul){margin-top:8px}
.c-page-mark{position:absolute;right:46px;top:26px;font:700 11px var(--font);color:var(--ok);border:1.5px solid var(--ok);border-radius:5px;padding:2px 7px;background:#f3fbf6}
.c-page-foot{position:absolute;left:113px;right:57px;bottom:14px;height:86px;border-top:1px solid #cfd6df;display:flex;gap:12px;align-items:center;padding:8px 0 0;font-family:var(--font)}
.c-page-foot .qr{width:72px;height:72px;flex:none}
/* Logo OneCAD ở chân mỗi trang HĐ (bản in số hoá 02/10/2026) — nằm ngoài nội dung đã khoá nên không ảnh hưởng mã trang / chữ ký */
.c-page-foot .c-foot-logo{height:34px;width:auto;flex:none;padding-right:12px;border-right:1px solid #cfd6df}
.c-page-foot .t{flex:1;min-width:0;font-size:10.5px;color:#41556f;line-height:1.5}.c-page-foot .t b{color:#0d2542;font-size:11.5px}
.c-page-foot .pg{font-size:14px;font-weight:800;color:#0d2542;text-align:right;white-space:nowrap}.c-page-foot .pg small{display:block;font-size:10px;font-weight:600;color:#5d6f86}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;letter-spacing:.4px}
.es-pages{list-style:none;margin:0;padding:0}
.es-pages li{display:flex;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--hair);font-size:13px}.es-pages li:first-child{border-top:0}
.es-pages .k{width:26px;height:26px;border-radius:6px;background:var(--build-bg);color:var(--blue);display:grid;place-items:center;font-weight:800;font-size:11.5px;flex:none}
.es-pages .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1200px){.es-lay{grid-template-columns:minmax(0,1fr)}.es-side{position:static}}
@media print{
  body.print-paged{background:#fff}
  @page{size:A4;margin:0}
  body.print-paged .es-lay{display:block}
  body.print-paged .es-viewer{border:0;padding:0;box-shadow:none}
  body.print-paged .es-viewer .c-pages{background:none;padding:0;gap:0;border-radius:0;display:block}
  /* Không dư trang trắng (anh Tâm báo 02/10/2026): khổ A4 khi in rộng ~794px nên quy tắc màn hẹp (≤850px) cho .page-body thêm đệm
     phía trên → trang A4 bị đẩy tràn sang trang 2. Khi in bỏ mọi đệm / viền / chiều cao tối thiểu của khung web; trang cao 296mm;
     ngắt trang TRƯỚC mỗi trang từ trang 2, không ngắt sau trang cuối. Kiểm bằng Chrome in PDF: 1 trang → 1, 2 trang → 2. */
  body.print-paged,body.print-paged .shell,body.print-paged .main,body.print-paged .page-body,body.print-paged .es-lay,body.print-paged .es-viewer,body.print-paged .c-pages{min-height:0!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;gap:0!important}
  body.print-paged .c-page{zoom:1!important;width:210mm;height:296mm;box-shadow:none;break-after:auto;page-break-after:auto;break-inside:avoid;padding:18mm 16mm 0}
  body.print-paged .c-page+.c-page{break-before:page;page-break-before:always}
  body.print-paged .c-page-foot{height:26mm;padding:3mm 12mm 3mm 10mm}
  body.print-paged .c-page-foot .qr{width:20mm;height:20mm}
  body.print-paged .c-page-foot .c-foot-logo{height:9mm}
  .c-page-mark,.c-page-foot{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
html[data-mode="dark"] .es-viewer .c-pages{background:#0b1524}
/* Hồ sơ nhân sự › Hợp đồng: thẻ HĐ ký số đã ký (ảnh 18) */
.hd-signed{border:1px solid var(--card-edge);border-radius:12px;padding:14px;margin:0 16px 12px}
.hd-signed.on{border-color:color-mix(in srgb,var(--ok) 30%,transparent);background:color-mix(in srgb,var(--ok-bg) 45%,var(--card))}
.hd-signed .hl{display:flex;gap:12px;align-items:center}.hd-signed .hl b{display:block;font-size:14px}.hd-signed .hl small{color:var(--muted)}
.hd-signed .hm,.hd-signed .hb{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0 52px;align-items:center}
@media (max-width:600px){.hd-signed .hm,.hd-signed .hb{margin-left:0}}
.tcard-meta.ar-n b{font-size:15px;color:var(--ink)}.mono.sm{font-size:12px}
.c-page-body p.c-ln{margin:0}.c-page-body p.c-ln.end{margin-bottom:6px}.c-page-body p.c-ln+p:not(.c-ln){margin-top:6px}
.hd-hint{margin:0 16px 12px;display:flex;gap:6px;align-items:flex-start}.hd-hint svg{width:15px;height:15px;flex:none;margin-top:2px}.signer-box .form{margin-top:8px}

/* Yêu cầu cập nhật hồ sơ (góp ý 003 mục 7) */
.chg-card{margin-bottom:12px}.chg-card.on{border:2px solid var(--blue)}
.chg-card h2 a{color:inherit}
.req-note{display:flex;gap:8px;align-items:flex-start;margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--neutral-bg);font-size:14px}
.req-note svg{width:16px;height:16px;flex:none;margin-top:2px}
.req-acts{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px}
/* Chức vụ (góp ý 003 mục 5) */
.pos-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pos-list li{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--card-edge);border-radius:12px}
.pos-list li .grow{display:flex;flex-direction:column;gap:2px;min-width:0}
.pos-list small{font-size:12.5px;color:var(--muted)}.pos-list small.text-ok{color:var(--ok)}
.cover-meta .pill svg{width:13px;height:13px}
/* Việc chờ tôi (góp ý 003 mục 3) */
.todo-sec{margin-bottom:14px}
.todo-rows{display:flex;flex-direction:column}
.todo-row{display:flex;align-items:center;gap:12px;padding:11px 18px;border-top:1px solid var(--hair);color:var(--ink)}
.todo-row:hover{background:#f6f9ff;text-decoration:none}
.todo-row .grow{flex:1;display:flex;flex-direction:column;min-width:0}.todo-row .grow b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.todo-row small{color:var(--muted);font-size:12.5px}
.todo-side{display:flex;flex-direction:column;align-items:flex-end;text-align:right;flex:none}
.todo-row>svg{width:16px;height:16px;stroke:#a5b3c5;flex:none}
.todo-empty{padding:0 18px 16px}
@media (max-width:600px){.todo-row{flex-wrap:wrap}.todo-side{align-items:flex-start;text-align:left;width:100%;padding-left:46px}}
/* Danh sách nhân sự v2 (góp ý 003 mục 4 + 9, ảnh 20) */
.hr-kpis-v2{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.hr-kpis-v2 .kpi{flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;padding:12px 14px}
.hr-kpis-v2 .kpi .value{font-size:21px}.hr-kpis-v2 .kpi .value small{font-size:13px;font-weight:600}
.hr-kpis-v2 .kpi.accent{flex-direction:column;align-items:flex-start;gap:0}
.hr-kpis-v2 .kpi .sub{font-size:12px}
@media (max-width:1300px){.hr-kpis-v2{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.hr-kpis-v2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hr-v2{overflow:visible}
.list-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--hair)}
.list-tools .tools-right{margin-left:auto}
.grow-input{flex:1 1 240px;min-width:200px;max-width:360px}
.toggle-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--card-edge);border-radius:10px;padding:6px 10px;font-size:13px;font-weight:600;cursor:pointer;background:var(--card)}
.toggle-chip svg{width:16px;height:16px}.toggle-chip input{accent-color:var(--blue)}
.menu-wrap{position:relative;display:inline-flex}
.drop-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:230px;background:var(--card);color:var(--ink);border:1px solid var(--card-edge);border-radius:12px;box-shadow:0 18px 40px rgba(13,37,66,.2);padding:6px;display:flex;flex-direction:column}
.drop-menu a{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:9px;color:var(--ink)}
.drop-menu a:hover{background:var(--hair);text-decoration:none}.drop-menu a svg{width:18px;height:18px;margin-top:2px;flex:none}
.drop-menu a span{display:flex;flex-direction:column}.drop-menu small{color:var(--muted);font-size:12px;font-weight:400}
.cols-menu{left:0;right:auto;min-width:180px;padding:8px 10px;gap:4px}.cols-menu .check{padding:4px 2px}
.chip-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 16px;background:#f8fafc;border-bottom:1px solid var(--hair)}
.chip-count{margin-left:auto}
.fchip{display:inline-flex;gap:6px;align-items:center;background:var(--card);border:1px solid #bcd3f5;color:#0b3f8f;border-radius:999px;padding:3px 4px 3px 11px;font-size:12.5px;font-weight:600}
.fchip button{width:20px;height:20px;border-radius:50%;border:0;background:#e3edfc;color:#0b3f8f;display:grid;place-items:center;cursor:pointer;padding:0}
.fchip button svg{width:12px;height:12px}
.fchip.pend{border-style:dashed;border-color:#e0a23a;color:#8a5a00;background:#fff8ec}
.fchip.pend button{background:#fdebc8;color:#8a5a00}
.hr-table th{position:relative;white-space:nowrap}
.th-in{display:inline-flex;align-items:center;gap:2px}
.th-sort,.th-filter{border:0;background:none;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:3px 4px;border-radius:6px}
.th-sort:hover,.th-filter:hover{background:var(--hair)}
.th-sort svg,.th-filter svg{width:13px;height:13px;opacity:.4}
th.sorted,th.sorted .th-sort svg{color:var(--blue);opacity:1}
th.filtered .th-filter{color:var(--blue)}th.filtered .th-filter svg{opacity:1;fill:#cfe0fb}
.th-pop{position:absolute;left:0;top:calc(100% + 4px);z-index:40;width:310px;background:var(--card);border:1px solid var(--card-edge);border-radius:12px;box-shadow:0 18px 40px rgba(13,37,66,.22);padding:12px;
  text-transform:none;letter-spacing:0;font-size:14px;font-weight:500;color:var(--ink);white-space:normal;cursor:default}
.pop-sort{display:flex;gap:6px;margin-bottom:8px}
.pop-sort button{flex:1;white-space:nowrap;display:inline-flex;gap:5px;align-items:center;justify-content:center;border:1px solid var(--card-edge);background:var(--card);border-radius:8px;padding:6px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--ink)}
.pop-sort button.on{border-color:var(--blue);color:var(--blue);background:#edf4ff}.pop-sort svg{width:14px;height:14px}
.pop-search{width:100%;margin-bottom:6px}
.pop-list{max-height:320px;overflow:auto;display:flex;flex-direction:column}
.pop-group{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.5px;text-transform:uppercase;padding:8px 4px 2px}
.pop-opt{display:flex;gap:9px;align-items:center;padding:6px 4px;border-radius:8px;cursor:pointer}
.pop-opt:hover{background:var(--hair)}.pop-opt input{accent-color:var(--blue);width:16px;height:16px}
.pop-opt span{flex:1}.pop-opt small{color:var(--muted)}
.pop-foot{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--hair);margin-top:8px;padding-top:10px}
.hr-table td{padding-top:9px;padding-bottom:9px}
.hr-table .d2{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.doc-ok{display:inline-flex;gap:4px;align-items:center;color:var(--ok);font-weight:600;font-size:13px}.doc-ok svg{width:15px;height:15px}
.doc-ring{display:inline-flex;gap:7px;align-items:center;font-size:13px}
.doc-ring svg{width:22px;height:22px;fill:none;stroke-width:5}.doc-ring .bg{stroke:#e6ecf3}.doc-ring .fg{stroke:var(--blue);stroke-linecap:round}.doc-ring .fg.low{stroke:#c2410c}
.row-end{width:1%;white-space:nowrap;text-align:right}
.row-end>svg{width:16px;height:16px;stroke:#a5b3c5;vertical-align:middle}
.row-qa{display:inline-flex;gap:4px;margin-right:6px;opacity:0;transition:opacity .12s}
.hr-table tr:hover .row-qa,.row-qa:focus-within{opacity:1}
.row-qa a,.row-qa button{width:30px;height:30px;border-radius:8px;border:0;background:#edf4ff;color:var(--blue);display:inline-grid;place-items:center;cursor:pointer;padding:0}
.row-qa svg{width:16px;height:16px}
.grp-row td{background:#f3f6fa;padding:7px 16px!important;border-bottom:1px solid var(--card-edge)}
.grp-btn{border:0;background:none;font:inherit;display:inline-flex;gap:10px;align-items:center;cursor:pointer;color:var(--ink);padding:0}
.grp-btn>svg{width:16px;height:16px;color:var(--muted);transition:transform .15s}.grp-row.closed .grp-btn>svg{transform:rotate(-90deg)}
.list-foot{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;padding:12px 16px;color:var(--muted);font-size:12.5px}
html[data-mode="dark"] :is(.chip-row,.grp-row td){background:#0f1c2e}
html[data-mode="dark"] .fchip{background:var(--card);color:#9cc0f5;border-color:#2b4a74}
html[data-mode="dark"] .fchip.pend{color:#f2c36b;border-color:#8a6420;background:var(--card)}
@media (max-width:600px){
  .row-qa{opacity:1}
  .grow-input{max-width:none}
  .chip-count{margin-left:0;width:100%}
  .th-pop{position:fixed;left:0!important;right:0;top:auto;bottom:0;width:auto;border-radius:16px 16px 0 0;max-height:75vh;overflow:auto}
}
.mobile-only{display:none}
@media (max-width:600px){.mobile-only{display:inline-flex}.list-tools .toggle-chip,.list-tools .menu-wrap{display:none}}
/* Hồ sơ · Tổng quan v2 (góp ý 003 mục 10, ảnh 21): bỏ cột trái, lưới 3 cột cân đối */
.profile-main{min-width:0}
.cover-contact{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.cover-contact .btn svg{width:15px;height:15px;color:var(--blue)}
.ov-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px;align-items:stretch}
.ov-grid-b{grid-template-columns:1fr 1fr 1.15fr;margin-top:16px}
.ov-grid>.card{margin:0;min-width:0}
.ov-need .ring.sm{width:44px;height:44px}
.ov-ban{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;margin-bottom:10px;font-size:13.5px}
.ov-ban>svg{width:18px;height:18px;flex:none}.ov-ban>span{flex:1}
.ov-ban.danger{background:var(--danger-bg);color:var(--danger)}.ov-ban.warn{background:var(--warn-bg);color:var(--warn)}
.ov-todo{list-style:none;margin:0;padding:0}
.ov-todo li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--hair);font-size:14px}.ov-todo li:last-child{border-bottom:0}
.ov-todo .k{font-size:11.5px;color:var(--muted);width:70px;flex:none}.ov-todo .t{flex:1;min-width:0}
.kv-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--hair);font-size:13.5px}
.kv-row span{color:var(--muted)}.kv-row b{text-align:right;font-weight:600}
.ov-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.ov-stat{display:flex;gap:12px;align-items:center;padding:14px 16px;margin:0;color:var(--ink)}
.ov-stat:hover{text-decoration:none;border-color:#bcd3f5}
.ov-stat b{display:block;font-size:17px}.ov-stat small{color:var(--muted);font-size:12.5px}
.ov-mgr{display:flex;gap:10px;align-items:center}.ov-mgr>span:last-child{display:flex;flex-direction:column}
.ov-tl{list-style:none;margin:0;padding:0}
.ov-tl li{display:flex;gap:10px;padding:7px 0;font-size:13.5px}.ov-tl i{width:9px;height:9px;border-radius:50%;background:var(--blue);margin-top:6px;flex:none}
.ov-tl small{display:block;color:var(--muted);font-size:12px}
.nc-tpl{display:flex;justify-content:space-between;align-items:center;margin:8px 0}
.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.tpl-opt{display:flex;flex-direction:column;gap:6px;padding:8px;border:2px solid var(--card-edge);border-radius:12px;cursor:pointer}
.tpl-opt:has(input:checked){border-color:var(--blue);background:#edf4ff}
.tpl-opt input{position:absolute;opacity:0;pointer-events:none}
.tpl-opt img{width:100%;aspect-ratio:450/275;border-radius:8px;background:var(--hair);box-shadow:0 4px 12px rgba(13,37,66,.15)}
.tpl-name{display:flex;justify-content:space-between;align-items:center}
.tpl-sw{display:inline-flex;gap:3px}.tpl-sw i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}
html[data-mode="dark"] .tpl-opt:has(input:checked){background:#0f1c2e}
@media (max-width:1100px){.ov-grid,.ov-grid-b{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.ov-grid,.ov-grid-b,.ov-mini{grid-template-columns:minmax(0,1fr)}}
/* Nhận định trên Tổng quan: mỗi dòng bấm được → danh sách đúng nhóm đang đếm */
.insights li.has-link{display:flex;gap:12px;align-items:baseline}
.insights .ins-t{flex:1;min-width:0}
.insights .ins-t a{color:inherit}.insights .ins-t a:hover{color:var(--blue)}
.insights a.ins-sub{color:var(--blue);font-weight:600}
.insights .ins-go{flex:none;display:inline-flex;align-items:center;gap:2px;font-size:12.5px;font-weight:600;color:var(--blue);white-space:nowrap}
.insights .ins-go svg{width:14px;height:14px}

/* Thể thức NĐ 30/2020/NĐ-CP trong trang HĐ: quốc hiệu, tiêu ngữ, địa danh ngày tháng, ý liệt kê "-", số trang từ trang 2 */
.c-page-body.contract-doc{font-size:13pt;line-height:1.4;text-align:justify}
.c-page-body .c-head{display:grid;grid-template-columns:42% 58%;gap:0;text-align:center;margin:0}
.c-page-body .c-head>div{display:flex;flex-direction:column;align-items:center}
.c-page-body .c-org b,.c-page-body .c-nation b:first-child{font-size:12.5pt;line-height:1.3}
.c-page-body .c-nation b.u{font-size:13.5pt;line-height:1.35}
.c-page-body .c-head .u{display:inline-block;padding-bottom:1px;border-bottom:1px solid #111}
.c-page-body .c-date{text-align:right;font-style:italic;margin:8px 0 0}
.c-page-body h1{font-size:14pt;margin:14px 0 0}
.c-page-body .c-no{margin:0 0 8px}
.c-page-body ul,.c-page-body ul.c-cont{list-style:none;margin:0;padding:0}
.c-page-body li{text-indent:1cm;margin:0 0 2px}.c-page-body li::before{content:"- "}
.c-page-body h2{font-size:13pt;margin:8px 0 3px}.c-page-body h3{font-size:13pt;margin:6px 0 2px}
.c-page-body p{margin:0 0 4px}
.c-page-no{position:absolute;top:38px;left:113px;right:57px;text-align:center;font:13pt "Times New Roman",Times,serif;color:#111}
.c-page-wm{position:absolute;inset:0;display:grid;place-items:center;font:700 92px var(--font);color:rgba(180,35,24,.07);transform:rotate(-30deg);pointer-events:none;letter-spacing:.06em}
@media print{
  body.print-paged .c-page{padding:20mm 15mm 0 30mm}
  body.print-paged .c-page-foot{left:30mm;right:15mm;bottom:4mm;height:22mm;padding:2mm 0 0}
  body.print-paged .c-page-foot .qr{width:19mm;height:19mm}
  body.print-paged .c-page-no{top:10mm;left:30mm;right:15mm}
  .c-page-wm{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* Soạn HĐ ký số › Người ký phía công ty: 2 lựa chọn rõ ràng (ảnh 22) */
.sg-opt{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;margin-top:8px;cursor:pointer}
.sg-opt.on{border:2px solid var(--blue);padding:11px 13px;background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.sg-opt.off{opacity:.55;cursor:not-allowed}
.sg-opt>input{margin-top:3px;accent-color:var(--blue)}.sg-opt b{display:block}.sg-opt small{display:block;color:var(--muted)}.sg-opt .grow{flex:1;min-width:0}.sg-opt>.pill{margin-left:auto}
/* Hộp Gửi điền lương: chọn đích danh một người */
.pp-list{display:grid;gap:8px}
.pp-opt{display:flex;gap:12px;align-items:center;border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px;cursor:pointer}
.pp-opt.on{border:2px solid var(--blue);padding:9px 11px;background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.pp-opt.off{opacity:.5;cursor:not-allowed}.pp-opt>input{accent-color:var(--blue)}
.pp-opt .grow{flex:1;min-width:0}.pp-opt b{display:block}.pp-opt small{color:var(--muted)}
/* Hồ sơ › Danh thiếp: dải mẫu dưới thẻ (ảnh 24; từ 09/10/2026 còn 4 mẫu — số cột ở .nc-strip.new bên dưới) */
.nc-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.nc-tp{border:1px solid var(--card-edge);border-radius:9px;padding:4px;background:var(--card);cursor:pointer;display:flex;flex-direction:column;gap:3px;align-items:stretch;font:600 10.5px var(--font);color:var(--muted)}
.nc-tp img{width:100%;height:auto;aspect-ratio:450/275;object-fit:cover;border-radius:5px;background:var(--hair)}
.nc-tp.on{border:2px solid var(--blue);padding:3px;color:var(--blue)}
.nc-tp:hover{border-color:var(--blue)}
.alert.no-number{display:flex;gap:10px;align-items:flex-start}.alert.no-number svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--blue)}

/* Lương che sẵn — bấm Xem (quy tắc lương 01/10/2026) */
.salary-reveal,#salary-box{display:flex;gap:12px;align-items:center;flex-wrap:wrap}

/* App 1.0 — vùng làm việc: bảng rộng + khung chi tiết bên phải (dưới hàng thẻ .tstrip) */
.ws{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}
.ws.has-detail{grid-template-columns:minmax(0,1fr) minmax(320px,420px)}
.ws-detail{position:sticky;top:72px;max-height:calc(100vh - 88px);overflow:auto}
table.data tr.on td{background:color-mix(in srgb,var(--blue) 6%,transparent)}
.clip-cell{max-width:420px}
@media (max-width:1100px){.ws.has-detail{grid-template-columns:minmax(0,1fr)}.ws-detail{position:static;max-height:none;order:-1}}
/* Trao đổi (góp ý, phiếu IT) */
.thread{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.msg{max-width:88%;border:1px solid var(--card-edge);border-radius:12px;padding:8px 12px;background:var(--card)}
.msg.mine{align-self:flex-end;background:color-mix(in srgb,var(--blue) 7%,var(--card))}
.msg.theirs{align-self:flex-start}
.msg.sys{align-self:center;border-style:dashed;font-size:12.5px;color:var(--muted)}
.msg-meta{font-size:11.5px;color:var(--muted);margin-bottom:3px}
.msg-body{white-space:pre-wrap;word-break:break-word}
.fb-reply{display:flex;gap:8px;align-items:flex-end}.fb-reply textarea{flex:1;min-width:0;border:1px solid var(--card-edge);border-radius:10px;padding:8px 10px;font:inherit;background:var(--card);color:var(--ink)}
.fb-list{list-style:none;margin:0;padding:0}.fb-list li{border-bottom:1px solid var(--card-border);padding:10px 0}.fb-list summary{cursor:pointer;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.secret-box{padding:12px;border:1px dashed var(--blue);border-radius:10px;word-break:break-all;user-select:all;font-size:15px}
/* Hỗ trợ IT */
.stars{color:#d39a1c;letter-spacing:1px;white-space:nowrap}
.att-list{list-style:none;margin:8px 0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.file-btn{cursor:pointer}
.rate{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--card-border);padding-top:12px}
.star-pick{display:flex;gap:6px;flex-wrap:wrap}.star-pick label{cursor:pointer}.star-pick input{position:absolute;opacity:0}
.star-pick span{display:inline-block;padding:4px 10px;border:1px solid var(--card-edge);border-radius:14px;font-size:13px}
.star-pick input:checked+span{border-color:#d39a1c;background:#fdf3dc;color:#8a5a00;font-weight:700}
.star-pick input:focus-visible+span{outline:2px solid var(--blue)}
/* Tài sản: nhập phiếu khai, in tem QR (decal A4 24 tem 70×37 mm, 3 × 8) */
tr.row-bad td{background:color-mix(in srgb,var(--danger) 4%,transparent)}
.btn-row.pad{padding:12px 22px}
.tem-lay{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}
@media (max-width:1100px){.tem-lay{grid-template-columns:minmax(0,1fr)}}
.tem-pick{max-height:70vh;overflow:auto}
.tem-preview{margin-top:14px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;overflow:auto}
.tem-preview .tem-sheet{zoom:.5;box-shadow:0 4px 16px rgba(13,37,66,.18);background:#fff}
.tem-sheet{width:210mm;height:297mm;box-sizing:border-box;padding:0.5mm 0;display:grid;grid-template-columns:repeat(3,70mm);grid-template-rows:repeat(8,37mm);background:#fff;color:#0d2542}
.tem{box-sizing:border-box;padding:2.5mm 3mm;display:flex;gap:2.5mm;align-items:center;overflow:hidden;border:0.2mm dashed #d5deea}
.tem.empty{border-color:#eef2f7}
.tem-qr{flex:none;width:30mm;height:30mm}.tem-qr svg{width:30mm;height:30mm;display:block}
.tem-text{display:flex;flex-direction:column;min-width:0;gap:0.6mm;font-family:Arial,Helvetica,sans-serif}
.tem-brand{font-size:6.5pt;font-weight:700;letter-spacing:.6pt;color:#0665ed}
.tem-code{font-size:17pt;line-height:1.05;font-weight:800;letter-spacing:.4pt}
.tem-type{font-size:7pt;line-height:1.2;color:#20334d;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tem-holder{font-size:7pt;font-weight:700;color:#20334d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tem-root{display:none}
@page tem{size:A4;margin:0}
@media print{
  body.printing-tem>*:not(#tem-root){display:none!important}
  body.printing-tem{background:#fff}
  body.printing-tem #tem-root{display:block}
  body.printing-tem .tem-sheet{page:tem;break-after:page;page-break-after:always}
  body.printing-tem .tem-sheet:last-child{break-after:auto;page-break-after:auto}
  body.printing-tem .tem{border:0}
  .tem-sheet{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* Giấy tờ nhân sự tự nộp — HR / trưởng phòng xác nhận (ảnh 25) */
.mb-16{margin-bottom:16px}
.ef-prog{display:flex;gap:10px;align-items:center;margin:2px 0 10px}.ef-prog .bar-track{flex:1;height:8px;border-radius:5px;background:var(--hair);overflow:hidden}.ef-prog .bar-fill{display:block;height:100%;background:var(--blue);border-radius:5px}
.ef-list{list-style:none;margin:0;padding:0}
.ef-list li{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--hair)}.ef-list li:first-child{border-top:0}
.ef-list .grow{flex:1;min-width:0}.ef-list b{display:block;font-size:13.5px}.ef-list small{color:var(--muted);font-size:12px;display:block;overflow-wrap:anywhere}
.ef-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none}.ef-ic svg{width:17px;height:17px}
.ef-ic.ok{background:var(--ok-bg);color:var(--ok)}.ef-ic.wait{background:var(--warn-bg);color:var(--warn)}.ef-ic.bad{background:var(--danger-bg);color:var(--danger)}.ef-ic.none{background:var(--hair);color:var(--muted)}
.ef-rej{display:block;font-size:12px;color:var(--danger);margin-top:2px}
.ef-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ef-hint{display:flex;gap:6px;align-items:flex-start;margin:10px 0 0}.ef-hint svg{width:15px;height:15px;flex:none;margin-top:2px}
.ef-card .section-title .btn{margin-left:10px}
.ef-frame{width:100%;height:70vh;border:1px solid var(--line);border-radius:8px;background:#fff}.ef-img{max-width:100%;max-height:70vh;display:block;margin:0 auto;border-radius:8px}
@media (max-width:700px){.ef-list li{flex-wrap:wrap}.ef-acts{width:100%;justify-content:flex-start}}
/* Giấy tờ chờ duyệt */
.fr-lay{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}
.fr-list{display:flex;flex-direction:column;max-height:76vh;overflow:auto}
.fr-it{display:flex;gap:10px;align-items:center;padding:11px 14px;border:0;border-bottom:1px solid var(--hair);background:none;text-align:left;cursor:pointer;font:inherit;color:inherit}
.fr-it.on{background:color-mix(in srgb,var(--blue) 6%,var(--card));box-shadow:inset 3px 0 var(--blue)}.fr-it .grow{flex:1;min-width:0}.fr-it b{display:block}.fr-it small{color:var(--muted)}
.fr-pv{height:56vh;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;background:var(--hair);overflow:hidden}
.fr-pv iframe{width:100%;height:100%;border:0;background:#fff}.fr-pv img{max-width:100%;max-height:100%}
.fr-acts{justify-content:flex-end}
@media (max-width:900px){.fr-lay{grid-template-columns:minmax(0,1fr)}.fr-list{max-height:none}}

/* Bổ nhiệm chức vụ (ảnh 26) */
.ap-who{display:flex;align-items:center;gap:10px;padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid var(--card-edge)}.ap-who .sub{margin-left:2px}
.ap-sec{display:grid;grid-template-columns:28px 1fr;gap:10px;margin-bottom:16px}.ap-sec h4{margin:2px 0 10px;font-size:14px}.ap-sec h4 .sub{font-weight:500}
.ap-n{width:24px;height:24px;border-radius:50%;background:var(--build-bg);color:var(--blue);font-weight:800;font-size:12px;display:grid;place-items:center}
.ap-eff{display:flex;gap:10px;align-items:flex-start;margin-top:10px;background:color-mix(in srgb,var(--blue) 7%,var(--card));border:1px solid color-mix(in srgb,var(--blue) 22%,transparent);border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.45}
.ap-eff svg{width:16px;height:16px;flex:none;color:var(--blue);margin-top:2px}
.ap-opts{display:flex;gap:8px;flex-wrap:wrap}.ap-opts .sg-opt{margin-top:0;flex:1 1 140px;padding:9px 12px}.ap-opts .sg-opt.on{padding:8px 11px}
.ap-err{color:var(--danger);font-size:12px;font-weight:600}
.field input.invalid{border-color:var(--danger-line);background:var(--danger-bg)}
/* D-1 (nghiệm thu Đợt 1): ô tiền tự chấm báo lỗi ngay tại ô (public/js/tien.js baoTaiO) — cả ô nằm ngoài .field (dòng của bảng đề nghị chi…) */
input.invalid[aria-invalid="true"]{border-color:var(--danger)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 28%,transparent)!important}
.ap-chips{margin-top:8px}.ap-chips button{height:26px;font-size:12px}
.mt-8{margin-top:8px}
.ap-sum{margin:4px 0 0;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--muted) 8%,var(--card));font-size:13px;font-weight:600}.ap-sum.bad{color:var(--danger);background:var(--danger-bg)}
.field .ap-opts input[type=radio]{width:auto;min-height:0;padding:0;margin-top:3px;flex:none}

/* Chức vụ lãnh đạo (ảnh 27): Ban Giám Đốc vàng · quản lý khối/phòng navy · quản lý nhóm xám */
:root{--ld-gold:#b8893b;--ld-gold-ink:#7a5717;--ld-gold-bg:#f7ecd6;--ld-gold-soft:#fffaf0;--ld-navy:#0d2542;--ld-navy-bg:#e3e9f3;--ld-navy-soft:#f4f7fb}
:root[data-mode=dark]{--ld-gold:#d6a85a;--ld-gold-ink:#f0d39c;--ld-gold-bg:#3a2e17;--ld-gold-soft:#2a2316;--ld-navy:#a9c1e6;--ld-navy-bg:#1d2b40;--ld-navy-soft:#172233}
.ld-stars{display:inline-flex;gap:1px}.ld-stars svg{width:11px;height:11px;fill:var(--ld-gold);stroke:var(--ld-gold)}
.ld-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.ld-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;border-radius:6px;padding:2px 8px;letter-spacing:.1px;white-space:nowrap;background:var(--ld-navy-bg);color:var(--ld-navy)}
.ld-badge>svg{width:11px;height:11px}.ld-badge.bgd{background:var(--ld-gold-bg);color:var(--ld-gold-ink)}.ld-badge.nhom{background:color-mix(in srgb,var(--muted) 12%,var(--card));color:var(--muted)}
.ld-ring{display:inline-flex;border-radius:50%;flex:none}.ld-ring.bgd{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ld-gold)}.ld-ring.ql{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ld-navy)}
.hr-table tr.ld-row.bgd>td{background:linear-gradient(90deg,var(--ld-gold-soft),transparent 55%)}.hr-table tr.ld-row.bgd>td:first-child{box-shadow:inset 3px 0 var(--ld-gold)}
.hr-table tr.ld-row.ql>td{background:linear-gradient(90deg,var(--ld-navy-soft),transparent 55%)}.hr-table tr.ld-row.ql>td:first-child{box-shadow:inset 3px 0 var(--ld-navy)}
.hr-table tr.ld-grp>td{padding:7px 14px;font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--ld-navy);background:var(--ld-navy-soft)}
.hr-table tr.ld-grp.bgd>td{color:var(--ld-gold-ink);background:var(--ld-gold-soft)}.hr-table tr.ld-grp.ns>td{color:var(--muted);background:color-mix(in srgb,var(--muted) 6%,var(--card))}
.hr-table tr.ld-grp td svg{width:12px;height:12px;fill:var(--ld-gold);stroke:var(--ld-gold);margin-right:6px;vertical-align:-1px}.hr-table tr.ld-grp .sub{margin-left:8px;text-transform:none;letter-spacing:0;font-weight:600}
/* hồ sơ */
.cover-card.lead-bgd .avatar-xl{box-shadow:0 0 0 3px var(--card),0 0 0 6px var(--ld-gold)}.cover-card.lead-ql .avatar-xl{box-shadow:0 0 0 3px var(--card),0 0 0 6px var(--ld-navy)}
.ld-crest{position:absolute;right:18px;top:14px;display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#f3dfb5;background:#0d254299;border:1px solid #f3dfb544;border-radius:999px;padding:4px 11px;z-index:1}
.ld-crest svg{width:12px;height:12px;fill:#e7c27a;stroke:#e7c27a}.cover-card.lead-ql .ld-crest{color:#dbe6f7}.cover-card.lead-ql .ld-crest svg{fill:none;stroke:#dbe6f7}
.cover-ranks{margin:4px 0 6px}.cover-ranks .ld-badge{font-size:12.5px;padding:3px 10px}
.ld-tile.bgd{background:var(--ld-gold-bg);color:var(--ld-gold-ink)}.ld-tile.bgd svg{fill:var(--ld-gold);stroke:var(--ld-gold)}.ld-tile.ql{background:var(--ld-navy-bg);color:var(--ld-navy)}
/* hộp bổ nhiệm */
.ap-held{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--muted) 7%,var(--card));margin-bottom:14px}
.pc-tier{margin-bottom:12px}.pc-th{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px;color:var(--muted)}
.pc-th svg{width:14px;height:14px}.pc-th .ln{flex:1;height:1px;background:linear-gradient(90deg,currentColor,transparent);opacity:.3}
.pc-th.bgd{color:var(--ld-gold-ink)}.pc-th.bgd svg{fill:var(--ld-gold);stroke:var(--ld-gold)}.pc-th.ql{color:var(--ld-navy)}
.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.pc{position:relative;text-align:left;display:flex;flex-direction:column;gap:5px;align-items:flex-start;border:1.5px solid var(--card-edge);border-radius:12px;padding:11px 12px;background:var(--card);color:var(--ink);cursor:pointer;font:inherit}
.pc:hover:not(:disabled){border-color:color-mix(in srgb,var(--ld-navy) 45%,var(--card-edge))}
.pc b{font-size:13.5px;color:var(--ld-navy)}.pc small{font-size:11.5px;color:var(--muted);line-height:1.35}
.pc-tag{font-size:10.5px;font-weight:700;border-radius:6px;padding:1px 7px;background:var(--ld-navy-bg);color:var(--ld-navy)}
.pc-hold{font-size:11px;color:var(--muted)}
.pc.bgd{background:linear-gradient(160deg,var(--ld-gold-soft),var(--card) 60%);border-color:color-mix(in srgb,var(--ld-gold) 40%,var(--card-edge))}.pc.bgd .pc-tag{background:var(--ld-gold-bg);color:var(--ld-gold-ink)}
.pc.on{border:2px solid var(--ld-navy);padding:10.5px 11.5px;box-shadow:0 6px 16px color-mix(in srgb,var(--ld-navy) 18%,transparent)}
.pc.bgd.on{border-color:var(--ld-gold);box-shadow:0 6px 16px color-mix(in srgb,var(--ld-gold) 25%,transparent)}
.pc.on::after{content:'✓';position:absolute;top:9px;right:10px;width:20px;height:20px;border-radius:50%;background:var(--ld-navy);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}.pc.bgd.on::after{background:var(--ld-gold)}
.pc.held{border-style:dashed}.pc.off{opacity:.5;cursor:not-allowed}
.pc.add{border-style:dashed;align-items:center;justify-content:center;flex-direction:row;color:var(--blue);font-weight:700;font-size:12.5px;min-height:80px}.pc.add svg{width:15px;height:15px}
.pc-lock{display:flex;gap:6px;align-items:center;margin:6px 0 0;font-size:11.5px;color:var(--ld-gold-ink)}.pc-lock svg{width:12px;height:12px}
.ap-eff.gold{background:var(--ld-gold-soft);border-color:color-mix(in srgb,var(--ld-gold) 35%,transparent)}.ap-eff.gold svg{color:var(--ld-gold)}
/* thư chúc mừng */
.an-letter{position:relative;border-radius:14px;padding:18px 20px;background:linear-gradient(150deg,var(--ld-gold-soft),var(--card));border:1px solid color-mix(in srgb,var(--ld-gold) 35%,transparent)}
.an-letter.ql,.an-letter.nhom{background:linear-gradient(150deg,var(--ld-navy-soft),var(--card));border-color:var(--ld-navy-bg)}
.an-letter h3{margin:0 0 6px;font-size:19px;color:var(--ld-navy);padding-right:70px}.an-letter p{margin:6px 0;line-height:1.55;max-width:520px}
.an-kicker{font-size:11px!important;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--ld-gold-ink);margin:0 0 4px!important}
.an-seal{position:absolute;right:18px;top:16px;width:58px;height:58px;border-radius:50%;border:2px solid var(--ld-gold);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--ld-gold-ink);font-size:9px;font-weight:800;line-height:1.1}
.an-letter .sub svg{width:13px;height:13px;vertical-align:-2px}
.pos-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.an-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ap-scope{margin:-2px 0 14px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--ld-navy);background:var(--ld-navy-soft)}.ap-scope .field>span{color:var(--ld-navy)}
.qd-signbox{border:1.5px solid var(--ld-gold);border-radius:12px;padding:12px 14px;background:var(--ld-gold-soft)}.qd-signbox p{margin:6px 0 10px}
/* Quyết định bổ nhiệm (ảnh 28) — thể thức NĐ 30/2020: số ký hiệu dưới tên cơ quan, địa danh ngày tháng dưới tiêu ngữ, trích yếu có gạch ngắn */
.qd-no{font-size:13pt;margin-top:6px;font-weight:400}
.qd-date{font-size:13pt;margin-top:6px;white-space:nowrap}
.c-page-body .c-head:has(.qd-no){grid-template-columns:40% 60%}
.c-page-body .qd-sub{text-align:center;margin:0 0 4px}.c-page-body .qd-sub::after{content:'';display:block;width:30%;margin:4px auto 0;border-bottom:1px solid #111}
.c-page-body .qd-auth{text-align:center;margin:14px 0 6px}
.c-page-body .qd-cc{font-style:italic;text-indent:1cm;margin:0 0 2px}
.c-page-body .qd-qd{text-align:center;margin:8px 0 6px}
.c-page-body .qd-art{text-indent:1cm;margin:0 0 4px}
.c-page-body:has(.qd-art) .c-cont{margin-top:0;margin-bottom:2px}
.c-page-body .qd-sigs{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 0;text-align:left}
.c-page-body .qd-nn{font-size:12pt;line-height:1.35}.c-page-body .qd-nn b{font-style:italic;font-size:12pt}
.c-page-body .qd-sigs .c-sig{text-align:center}
.qd-wait{margin-bottom:10px}.qd-wait li{border-style:dashed;border-color:color-mix(in srgb,var(--warn,#b45309) 45%,var(--card-edge))}

/* ===== Sổ tài xế (02/10/2026) ===== */
.drv-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
.mini-stat.ok{background:var(--ok-bg);border-color:transparent}.mini-stat.ok b{color:var(--ok)}
.mini-stat.warn{background:var(--warn-bg);border-color:transparent}.mini-stat.warn b{color:var(--warn)}
.drv-trip{padding:2px 0}.drv-trip+.drv-trip{border-top:1px dashed var(--card-border);margin-top:4px;padding-top:6px}
.btn.flip svg{transform:rotate(180deg)}
.drv-confirm{border-top:1px solid var(--card-border);padding:14px 22px}
.drv-confirm-lines{margin:8px 0;display:grid;gap:4px;font-size:13.5px}
.drv-confirm-lines div{display:flex;justify-content:space-between;gap:12px}
.drv-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.p-signs.three{grid-template-columns:repeat(3,1fr);grid-auto-flow:row}
.drv-sum{margin-top:12px}
.drv-rules{margin:10px 0 0;padding-left:18px;font-size:11.5px;color:#3d4b5c}
@media (max-width:850px){.drv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pin-mask{-webkit-text-security:disc;font-family:text-security-disc,inherit;letter-spacing:.15em}

/* Tài sản (ảnh 29): ô đếm theo loại, xem theo người giữ (thẻ thiết bị), bảng theo thiết bị, chi tiết bên phải */
.as-ti{width:34px;height:34px;border-radius:10px;display:inline-grid;place-items:center;flex:none;--c:#475569;background:color-mix(in srgb,var(--c) 12%,var(--card));color:var(--c)}
.as-ti svg{width:18px;height:18px}
.as-ti.t-LT{--c:#0a5bd3}.as-ti.t-MH{--c:#0f766e}.as-ti.t-WS{--c:#7c3aed}.as-ti.t-MI{--c:#b45309}.as-ti.t-TB{--c:#0369a1}.as-ti.t-DT{--c:#be185d}
.as-ti.t-MG{--c:#4d7c0f}.as-ti.t-NAS{--c:#9333ea}.as-ti.t-PK{--c:#64748b}.as-ti.t-PM{--c:#334155}.as-ti.t-warn{--c:#b45309}.as-ti.t-bad{--c:#b42318}
.as-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:12px}
.as-kpi{display:flex;gap:11px;align-items:center;text-align:left;font:inherit;color:inherit;background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:12px 14px;cursor:pointer;box-shadow:0 4px 14px color-mix(in srgb,#0d2542 6%,transparent)}
.as-kpi:hover{border-color:color-mix(in srgb,var(--blue) 40%,var(--card-edge))}.as-kpi.on{border:2px solid var(--blue);padding:11px 13px}
.as-kpi b{display:block;font-size:20px;line-height:1.15}.as-kpi small{color:var(--muted);font-size:11.8px;line-height:1.3}
.as-kpi.alert{background:color-mix(in srgb,#f59e0b 7%,var(--card));border-color:color-mix(in srgb,#f59e0b 35%,var(--card-edge))}
.as-main{overflow:hidden}
.as-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--card-edge)}
.as-bar .seg-ctl button{border:0;background:none;font:inherit;display:inline-flex;gap:6px;align-items:center;cursor:pointer;color:var(--muted);font-weight:600;padding:7px 12px;border-radius:8px}
.as-bar .seg-ctl button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #0002}.as-bar .seg-ctl svg{width:15px;height:15px}
.as-bar .grow-input{flex:1 1 220px;max-width:360px}
.as-flt{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--card-edge);border-radius:999px;padding:3px 4px 3px 12px;font-size:12.3px;font-weight:600;color:var(--muted);background:var(--card)}
.as-flt select{border:0;background:transparent;font:inherit;font-weight:700;color:var(--ink);padding:4px 6px;max-width:190px;cursor:pointer}
.as-flt.on{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 6%,var(--card))}.as-flt.on select{color:var(--blue)}
.as-count{margin-left:auto}
.as-dept{display:flex;align-items:center;gap:8px;padding:9px 16px;background:color-mix(in srgb,var(--muted) 6%,var(--card));border-top:1px solid var(--card-edge);font-weight:800;font-size:12px;letter-spacing:.3px;text-transform:uppercase}
.as-dept i{width:9px;height:9px;border-radius:3px;background:var(--blue)}.as-dept .sub{font-weight:500;text-transform:none;letter-spacing:0}
.as-pr{display:grid;grid-template-columns:minmax(200px,250px) 1fr 104px;gap:14px;align-items:center;padding:11px 16px;border-top:1px solid var(--hair,#eef2f7)}
.as-pr.on{background:color-mix(in srgb,var(--blue) 5%,var(--card));box-shadow:inset 3px 0 var(--blue)}
.as-who{display:flex;gap:10px;align-items:center;min-width:0}.as-who b{font-size:13.5px}.as-who small{display:block;color:var(--muted);font-size:11.8px}
.as-who .avatar-sm.muted{background:#64748b}.as-who .avatar-sm svg{width:16px;height:16px}
.as-dvs{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
.as-dv{position:relative;display:inline-flex;gap:8px;align-items:center;border:1px solid var(--card-edge);border-radius:10px;padding:4px 10px 4px 4px;background:var(--card);font:inherit;color:inherit;cursor:pointer;text-align:left}
.as-dv:hover{border-color:color-mix(in srgb,var(--blue) 45%,var(--card-edge))}.as-dv.on{border:2px solid var(--blue);padding:3px 9px 3px 3px}
.as-dv .as-ti{width:28px;height:28px;border-radius:8px}.as-dv .as-ti svg{width:15px;height:15px}
.as-dv b{display:block;font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:11.5px}.as-dv small{display:block;color:var(--muted);font-size:11px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.as-dv.warn{border-color:color-mix(in srgb,#f59e0b 45%,var(--card-edge));background:color-mix(in srgb,#f59e0b 6%,var(--card))}
.as-dv.bad{border-color:color-mix(in srgb,#dc2626 40%,var(--card-edge));background:color-mix(in srgb,#dc2626 5%,var(--card))}
.as-cd{position:absolute;top:-4px;right:-4px;width:11px;height:11px;border-radius:50%;border:2px solid var(--card)}.as-cd.warn{background:#f59e0b}.as-cd.bad{background:#dc2626}
.as-pv{text-align:right}.as-pv b{display:block;font-size:17px}.as-pv small{color:var(--muted);font-size:11px}.as-pv .pill{margin-top:3px}
.as-table td{vertical-align:middle}.as-table .w-ico{width:44px}.as-table td small{display:block}
.as-hd{display:inline-flex;gap:8px;align-items:center}.as-hd b{display:block;font-size:13px}
.as-dot{display:inline-flex;align-items:center;gap:6px;font-weight:600}.as-dot i{width:8px;height:8px;border-radius:50%;background:#16a34a}.as-dot.warn i{background:#f59e0b}.as-dot.bad i{background:#dc2626}
.as-detail .as-dh{display:flex;gap:12px;align-items:flex-start}.as-detail .as-dh .as-ti{width:46px;height:46px;border-radius:13px}.as-detail .as-dh .as-ti svg{width:24px;height:24px}
.as-detail h2{margin:2px 0 0;font-size:16px}.as-code{font-weight:800;font-size:13px}.as-pills{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0}
.as-kv{display:grid;grid-template-columns:104px 1fr;gap:8px 10px;margin:14px 0 0;font-size:13px}.as-kv dt{color:var(--muted)}.as-kv dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}
.as-qr{display:flex;gap:12px;align-items:center;margin-top:14px;padding:10px;border:1px dashed var(--card-edge);border-radius:12px;background:color-mix(in srgb,var(--blue) 3%,var(--card))}
.as-qr svg{width:76px;height:76px;flex:none;background:#fff;border-radius:6px}.as-qr b{font-size:12.8px}.as-qr small{display:block;color:var(--muted);font-size:11.5px;line-height:1.4;margin-top:2px}
@media (max-width:900px){.as-pr{grid-template-columns:1fr}.as-pv{text-align:left;display:flex;gap:8px;align-items:baseline}.as-count{margin-left:0}}
.as-table td.mono,.as-table td[data-label="Bảo hành"]{white-space:nowrap}.as-kv dd .muted-val{font-family:var(--font);font-weight:500}
/* Biểu tượng trong khung thông báo luôn cỡ chữ (anh Tâm báo 03/10/2026: đồng hồ phóng to cả khung "yêu cầu cập nhật hồ sơ") */
.alert svg{width:16px;height:16px;flex:none;vertical-align:-3px}
.alert.filter-note>span>svg:first-child{margin-right:6px}

/* ===== Hồ sơ nhân sự › tab Tài sản (03/10/2026) ===== */
.ea-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.ea-kpi{display:flex;gap:12px;align-items:center}.ea-kpi b{font-size:21px}.ea-kpi span span{display:block}
.ea-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}
.ea-side{display:flex;flex-direction:column;gap:18px}
.ea-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;padding:14px 20px;border-top:1px solid var(--hair);align-items:start}
.ea-row.bad{background:color-mix(in srgb,var(--danger) 4%,transparent)}
.ea-main{min-width:0;display:flex;flex-direction:column;gap:8px}
.ea-title{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.ea-title b{font-size:15px}
.ea-code{background:var(--hair);padding:2px 7px;border-radius:6px;font-size:13.5px;color:var(--navy)}
.ea-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 16px}
.ea-facts span{display:block;font-size:11.5px;color:var(--muted)}.ea-facts b{font-size:13.5px;font-weight:600;overflow-wrap:anywhere}
.ea-pills{display:flex;gap:6px;flex-wrap:wrap}.ea-pills .pill svg{width:13px;height:13px}
.ea-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:260px}
.ea-empty{padding:4px 20px 18px}
.ea-shared{list-style:none;margin:0;padding:0}.ea-shared li{display:flex;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--hair)}
.ea-shared li:first-child{border-top:0}.ea-shared b{display:block;font-size:13.5px}.ea-shared small{color:var(--muted);font-size:12px}
.ea-note{display:flex;gap:10px;align-items:flex-start;font-size:12.5px}
.ea-alert{border-color:var(--danger-line)}
.p-signs.two{grid-template-columns:repeat(2,1fr);grid-auto-flow:row}
@media (max-width:1100px){.ea-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:850px){.ea-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ea-row{grid-template-columns:40px minmax(0,1fr)}.ea-acts{grid-column:1/-1;justify-content:flex-start;max-width:none}}
.ea-note svg{width:18px;height:18px;flex:none;margin-top:1px}
.ea-hist{list-style:none;margin:0;padding:0}
.ea-hist li{display:flex;gap:12px;padding:8px 0}.ea-hist i{width:10px;height:10px;border-radius:50%;background:var(--blue);margin-top:5px;flex:none}
.ea-hist li.out i{background:#8a99ad}.ea-hist b{display:block;font-size:13.5px;font-weight:600}.ea-hist small{display:block;font-size:12px;color:var(--muted)}

/* Hồ sơ › Tài sản › Đang giữ (ảnh 30): mỗi thiết bị một dòng, xổ chi tiết, thao tác phụ trong ⋯ */
.ea-card .card-head{flex-wrap:wrap}
.ea-sum{display:flex;gap:6px;flex-wrap:wrap}.ea-sum span{font-size:11.8px;font-weight:600;color:var(--muted);background:color-mix(in srgb,var(--muted) 9%,var(--card));border-radius:999px;padding:3px 9px}
.ea-sum span.w{background:var(--warn-bg);color:var(--warn)}
.ea-row2{display:grid;grid-template-columns:34px 84px minmax(0,1fr) auto 76px auto;gap:12px;align-items:center;padding:9px 16px;border-top:1px solid var(--card-edge);cursor:pointer}
.ea-item:first-child .ea-row2{border-top:0}
.ea-row2:hover{background:color-mix(in srgb,var(--blue) 3%,var(--card))}.ea-row2.open{background:color-mix(in srgb,var(--blue) 5%,var(--card));box-shadow:inset 3px 0 var(--blue)}
.ea-row2.bad{box-shadow:inset 3px 0 var(--danger)}
.ea-code2{font-weight:800;font-size:12.3px;background:color-mix(in srgb,var(--muted) 9%,var(--card));border-radius:7px;padding:4px 8px;text-align:center;white-space:nowrap}
.ea-nm{min-width:0}.ea-nm b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.6px}.ea-nm small{display:block;color:var(--muted);font-size:11.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ea-st{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ea-st .pill svg{width:12px;height:12px}
.ea-dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
.ea-pr{text-align:right;font-weight:700;white-space:nowrap}.ea-pr small{display:block;color:var(--muted);font-weight:500;font-size:11px}
.ea-acts2{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.ea-ib{width:32px;height:32px;padding:0;display:inline-grid;place-items:center}.ea-ib svg{width:16px;height:16px}
.ea-row2.open .ea-chev svg{transform:rotate(180deg)}
.ea-acts2 .menu-wrap{position:relative}
.ea-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:210px;padding:6px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--card-edge);border-radius:12px;box-shadow:0 14px 34px color-mix(in srgb,#0d2542 18%,transparent)}
.ea-menu.hidden{display:none}
.ea-mi{display:flex;gap:9px;align-items:center;padding:8px 10px;border-radius:8px;font:inherit;font-weight:600;font-size:12.8px;color:var(--ink);background:none;border:0;text-align:left;cursor:pointer;text-decoration:none}
.ea-mi:hover{background:color-mix(in srgb,var(--muted) 9%,var(--card))}.ea-mi svg{width:15px;height:15px}.ea-mi.danger{color:var(--danger)}
.ea-menu hr{border:0;border-top:1px solid var(--card-edge);margin:4px 0}
.ea-ex{padding:2px 16px 14px 146px;background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.ea-exg{display:grid;grid-template-columns:2.2fr repeat(auto-fit,minmax(120px,1fr));gap:14px;background:var(--card);border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;align-items:start}
.ea-f span{display:block;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.3px;text-transform:uppercase;margin-bottom:3px}.ea-f b{font-size:13px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}
.ea-f.mono b{font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:12.5px}
.ea-qr{display:flex;flex-direction:column;align-items:center;gap:4px;border-left:1px solid var(--card-edge);padding-left:12px}.ea-qr svg{width:80px;height:80px;background:#fff;border-radius:6px}.ea-qr small{color:var(--muted);font-size:11px}
.ea-got{margin:10px 0 0;display:flex;gap:6px;align-items:center}.ea-got svg{width:14px;height:14px}
@media (max-width:900px){.ea-row2{grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"i n a" "i s s"}.ea-row2>.as-ti{grid-area:i}.ea-code2{display:none}.ea-nm{grid-area:n}.ea-st{grid-area:s;justify-content:flex-start}.ea-pr{display:none}.ea-acts2{grid-area:a}
  .ea-ex{padding:2px 12px 12px}.ea-exg{grid-template-columns:1fr 1fr}.ea-f.wide{grid-column:1/-1}.ea-qr{border-left:0;padding-left:0}}
/* Ảnh 30: danh sách rộng hết trang, các khung phụ xuống hàng dưới */
.ea-grid{grid-template-columns:minmax(0,1fr)!important}
.ea-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}
.ea-exg{grid-template-columns:minmax(0,2.2fr) repeat(4,minmax(0,1fr)) auto}
.ea-exg:not(:has(.ea-qr)){grid-template-columns:minmax(0,2.2fr) repeat(4,minmax(0,1fr))}
@media (max-width:900px){.ea-exg,.ea-exg:not(:has(.ea-qr)){grid-template-columns:1fr 1fr}}
/* Thiệp chúc mừng tự động (ảnh thiết kế 03/10/2026) */
.gc{--gc-bg:#0d2542;background:#fff;color:#20334d;border-radius:20px;overflow:hidden;box-shadow:0 14px 34px rgba(13,37,66,.14);border:1px solid #e3e9f1}
.gc-ky-niem{--gc-bg:#0b3a7e}.gc-bo-nhiem{--gc-bg:#1a1440}.gc-chao-mung{--gc-bg:#0a5b4a}.gc-hd-chinh-thuc{--gc-bg:#134e6f}.gc-ket-hon{--gc-bg:#7a1f3d}
.gc-em-be{--gc-bg:#2c5e8a}.gc-chia-tay{--gc-bg:#3a4a5e}.gc-le-8-3,.gc-le-20-10{--gc-bg:#7a1f4f}.gc-tet{--gc-bg:#8a1c1c}
.gc-top{position:relative;height:230px;overflow:hidden;color:#fff;background-color:var(--gc-bg);
  background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px}
.gc-confetti{position:absolute;inset:0;width:100%;height:100%}
.gc-logo{position:absolute;left:24px;top:20px;height:30px;width:auto}
.gc-gift{position:absolute;right:20px;top:20px;display:inline-flex;gap:6px;align-items:center;background:var(--mint);color:var(--navy);font-weight:700;font-size:12px;border-radius:999px;padding:5px 11px}
.gc-gift svg{width:14px;height:14px}
.gc-art{position:absolute;right:28px;bottom:58px;opacity:.95}.gc-art svg{width:78px;height:78px;stroke-width:1.3}
.gc-ring{position:absolute;right:22px;top:24px;width:150px;height:150px}.gc-ring text{font-family:inherit}
.gc-bo-nhiem .gc-art{width:104px;height:104px;border-radius:50%;background:radial-gradient(circle,#f6d77c,#c9971d);display:grid;place-items:center;box-shadow:0 0 0 8px rgba(233,185,73,.25);top:40px;bottom:auto}
.gc-bo-nhiem .gc-art svg{width:56px;height:56px}
.gc-tet .gc-art{color:#f6d77c}
.gc-title{position:absolute;left:24px;right:24px;bottom:54px}
.gc-kicker{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mint)}
.gc-title h3{margin:6px 0 0;font-size:28px;line-height:1.18;font-weight:800;max-width:78%;color:#fff}
.gc-body{padding:0 26px 22px;position:relative}
.gc-who{display:flex;align-items:flex-start;gap:14px}
.gc-av{width:84px;height:84px;flex:none;border-radius:50%;background:var(--blue);border:5px solid #fff;box-shadow:0 0 0 3px #e9b949;display:grid;place-items:center;color:#fff;font-size:27px;font-weight:800;margin-top:-42px;position:relative}
.gc-who b{display:block;font-size:20px;color:var(--navy)}.gc-who div span{font-size:13px;color:#56687f}.gc-who>div{padding-top:8px;min-width:0}
.gc-msg{margin:16px 0 0;font-size:15px;line-height:1.65}
.gc-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.gc-info div{background:#f6f8fb;border-radius:12px;padding:9px 12px}.gc-info span{display:block;font-size:11.5px;color:#56687f}.gc-info b{font-size:13.5px}
.gc-sign{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:20px;padding-top:14px;border-top:1px solid #eef2f7}
.gc-sign span{font-size:12px;color:#56687f;display:block}.gc-sign i{display:block;font-family:'Brush Script MT','Segoe Script','Snell Roundhand',cursive;font-style:normal;font-size:30px;color:var(--navy);line-height:1.15}
.gc-sign b{font-size:13px}.gc-sign img{height:36px;width:auto}
.gn-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.gn-wrap.solo{grid-template-columns:1fr}
.gn-side{display:flex;flex-direction:column;gap:12px;min-width:0}.gn-side h4{margin:0;font-size:17px;color:var(--navy);display:flex;gap:8px;align-items:center}
.gn-wishes{max-height:340px;overflow:auto}
.gn-thanks{display:flex;gap:8px}.gn-thanks input{flex:1;min-width:0}
.gw-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.gw-list li{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:12px}
.gw-list li>div{flex:1;min-width:0}.gw-list li b small{font-weight:500;color:var(--muted)}.gw-list p{margin:4px 0;line-height:1.55;font-size:13.8px;overflow-wrap:anywhere}
.gw-list li.is-hidden{opacity:.55;border-style:dashed}
.gw-av{width:34px;height:34px;flex:none;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}
.gt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.gt-list li{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--card-edge)}.gt-list li:first-child{border-top:0}
.gt-ic{--gc-bg:#0d2542;width:38px;height:38px;flex:none;border-radius:12px;display:grid;place-items:center;color:var(--gc-bg);background:color-mix(in srgb,var(--gc-bg) 12%,var(--card))}
.gt-ic svg{width:19px;height:19px}
.gt-who{flex:1;min-width:0;color:inherit;text-decoration:none}.gt-who b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt-who small{display:block;color:var(--muted);font-size:12.3px}.gt-who:hover b{color:var(--blue)}
.gt-home{margin-bottom:16px}
.gp-lay{display:grid;grid-template-columns:minmax(0,600px) minmax(0,1fr);gap:20px;align-items:start}.gp-lay.solo{grid-template-columns:minmax(0,600px)}
.gp-side{display:flex;flex-direction:column;gap:14px}
.gp-form{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--card-edge);padding-top:12px}
.gp-thanks{display:flex;gap:10px;background:var(--ok-bg);color:var(--ok);border-radius:12px;padding:12px}.gp-thanks svg{width:18px;height:18px;flex:none}.gp-thanks p{margin:2px 0 0;color:var(--ink)}
.ga-kpis{margin-bottom:16px}.ga-kpis .kpi{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:14px 16px}
.ga-lay{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start;margin-bottom:16px}
.ga-side{display:flex;flex-direction:column;gap:16px}
.ga-kind{display:grid;grid-template-columns:40px minmax(0,1.5fr) minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--card-edge)}
.ga-kind.off .ga-kn,.ga-kind.off .ga-who{opacity:.5}
.ga-kn b{display:block}.ga-kn small{display:block;color:var(--muted);font-size:12.3px}.ga-kn .ga-msg{color:var(--ink);margin-top:2px}
.ga-who{font-size:12.8px;color:var(--muted)}
.ga-up{list-style:none;margin:0;padding:0}.ga-up li{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--card-edge)}.ga-up li:first-child{border-top:0}
.ga-up b{width:44px;flex:none}.ga-up small{display:block;color:var(--muted);font-size:12px}
.ga-rules ul{margin:0;padding-left:18px;line-height:1.6;font-size:13.4px}
.ga-edit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:20px;align-items:start}.ga-edit>div:first-child{display:flex;flex-direction:column;gap:10px}
.ga-pv .gc{box-shadow:none}
@media (max-width:1000px){.ga-lay,.ga-edit,.gp-lay,.gn-wrap{grid-template-columns:minmax(0,1fr)}.ga-kind{grid-template-columns:40px minmax(0,1fr) auto;}.ga-kind .ga-who{display:none}.ga-kind [data-edit]{grid-column:2/-1;justify-self:start}}
@media (max-width:600px){.gc-top{height:210px}.gc-title h3{font-size:23px;max-width:100%}.gc-ring{width:110px;height:110px}.gc-art svg{width:56px;height:56px}.gc-body{padding:0 18px 18px}.gc-info{grid-template-columns:1fr}}
@media (max-width:1360px){.ga-lay{grid-template-columns:minmax(0,1fr)}.ga-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}}
.gc-ky-niem .gc-title h3{max-width:calc(100% - 150px)}
@media (max-width:600px){.gc-ky-niem .gc-title h3{max-width:calc(100% - 100px)}}
@media (max-width:1360px){.gp-lay{grid-template-columns:minmax(0,640px)}}
/* Nhập phiếu khai — chống trùng (ảnh 31) */
.im-prev{margin:0 16px 12px;display:flex;gap:10px;align-items:flex-start}.im-prev svg{margin-top:2px}
.im-sum{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 12px}
.im-sum span{display:inline-flex;gap:6px;align-items:center;border-radius:999px;padding:5px 12px;font-weight:700;font-size:12.3px;background:color-mix(in srgb,var(--muted) 10%,var(--card));color:var(--muted)}
.im-sum span svg{width:14px;height:14px}.im-sum .ok{background:var(--ok-bg);color:var(--ok)}.im-sum .warn{background:var(--warn-bg);color:var(--warn)}.im-sum .bad{background:var(--danger-bg);color:var(--danger)}
.im-table tr.im-skip td{color:var(--muted);background:color-mix(in srgb,var(--muted) 4%,var(--card))}.im-table tr.im-skip td.mono{text-decoration:line-through}
.im-table tr.im-maybe td{background:color-mix(in srgb,#f59e0b 6%,var(--card))}
.im-force{margin-top:6px;font-size:12.5px;font-weight:600}
.as-sus{margin-top:12px;display:flex;gap:10px;align-items:flex-start;line-height:1.6}.as-sus-g{display:inline-flex;gap:6px;align-items:center;margin:0 10px 0 4px;white-space:nowrap}.as-sus-g .link{font-weight:700}
.as-ti.t-NT{--c:#b45309}
/* Nghi trùng (ảnh 33) */
.as-sus2{margin-top:12px;padding:0;overflow:hidden;border-color:color-mix(in srgb,#f59e0b 35%,var(--card-edge))}
.as-sus-h{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(90deg,color-mix(in srgb,#f59e0b 9%,var(--card)),var(--card) 65%)}
.as-sus2:not(.closed) .as-sus-h{border-bottom:1px solid color-mix(in srgb,#f59e0b 20%,var(--card-edge))}
.as-sus-h h2{margin:0;font-size:15px}.as-sus-h small{display:block;color:var(--muted);font-size:12.3px;margin-top:2px}.as-sus-h .btn{margin-left:auto}
.as-sus-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,#f59e0b 18%,var(--card));color:#b45309}.as-sus-ic svg{width:18px;height:18px}
.as-sus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;padding:12px 16px 16px}
.as-sus-g2{border:1px solid var(--card-edge);border-radius:13px;overflow:hidden;background:var(--card)}
.as-sus-gh{display:flex;align-items:center;gap:8px;padding:8px 12px;background:color-mix(in srgb,var(--muted) 5%,var(--card));border-bottom:1px solid var(--card-edge)}.as-sus-gh small{color:var(--muted);font-size:11.8px}
.as-lc{font-weight:800;font-size:12px;background:color-mix(in srgb,#f59e0b 16%,var(--card));color:#8a5300;border-radius:6px;padding:2px 8px}
.as-sus-it{display:flex;gap:10px;align-items:center;padding:8px 12px;border-top:1px solid var(--card-edge)}.as-sus-it:first-of-type{border-top:0}
.as-sus-it .as-ti{width:30px;height:30px;border-radius:9px}.as-sus-it .as-ti svg{width:15px;height:15px}
.as-sus-it b{font-size:12.8px}.as-sus-it small{display:block;color:var(--muted);font-size:11.4px}
.as-jump{font-weight:800;font-size:12.5px}.as-sus-acts{display:flex;gap:5px}.as-sus-acts .reject{color:var(--danger)}
.as-sus-f{padding:8px 12px;border-top:1px solid var(--card-edge);background:color-mix(in srgb,var(--muted) 3%,var(--card))}
.as-ok{width:100%;justify-content:center;color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--card-edge))}
.as-detail .as-ok{width:auto}.as-sus-d{margin-top:10px;display:flex;gap:8px;align-items:flex-start}
@keyframes asFlash{0%,100%{box-shadow:0 0 0 0 transparent}20%,60%{box-shadow:0 0 0 5px color-mix(in srgb,var(--blue) 30%,transparent)}}
.as-flash{border-color:var(--blue)!important;animation:asFlash 1.3s ease 2;background:color-mix(in srgb,var(--blue) 7%,var(--card))!important}
tr.as-flash>td{background:color-mix(in srgb,var(--blue) 8%,var(--card))!important}
/* Nút ▾ xem chi tiết đặt ngay sau tên thiết bị (anh Tâm 03/10/2026); bấm cả dòng vẫn xổ */
.ea-nt{display:flex;align-items:center;gap:6px;min-width:0}.ea-nt b{min-width:0}
.ea-chev{flex:none;width:24px;height:24px;padding:0;border:1px solid var(--card-edge);border-radius:7px;background:var(--card);color:var(--muted);display:grid;place-items:center;cursor:pointer}
.ea-chev:hover{color:var(--blue);border-color:var(--blue)}.ea-chev svg{width:14px;height:14px;transition:transform .15s}
.ea-row2.open .ea-chev{color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,var(--card))}
/* Hồ sơ › Tài sản — chi tiết xổ ra (ảnh 34): thông số trái, tem QR cố định phải */
.ea-box{display:grid;grid-template-columns:minmax(0,1fr) 210px;background:var(--card);border:1px solid var(--card-edge);border-radius:14px;overflow:hidden}
.ea-box.soft{grid-template-columns:minmax(0,1fr)}
.ea-spec{padding:14px 16px;min-width:0}
.ea-lbl{display:flex;gap:6px;align-items:center;font-size:10.8px;font-weight:800;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}.ea-lbl svg{width:13px;height:13px;opacity:.75}
.ea-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}.ea-chips span{background:color-mix(in srgb,var(--muted) 9%,var(--card));border-radius:7px;padding:3px 9px;font-size:12.3px;font-weight:600}
.ea-cfg{margin:6px 0 0;font-weight:600;line-height:1.5}.ea-miss{color:var(--muted)!important;font-weight:500!important;font-style:italic;margin:6px 0 0}
.ea-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--card-edge)}
.ea-f2 b{display:block;margin-top:3px;font-size:13.2px;font-weight:700;overflow-wrap:anywhere}.ea-f2 small{display:block;color:var(--muted);font-size:11.5px;margin-top:1px}
.ea-f2.mono b{font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:12.5px}
.ea-qr2{border-left:1px solid var(--card-edge);background:color-mix(in srgb,var(--blue) 3%,var(--card));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:14px}
.ea-qr2>svg{width:104px;height:104px;background:#fff;border-radius:8px;padding:4px;border:1px solid var(--card-edge)}.ea-qr2>b{font-size:13px}.ea-qr2 .pill svg{width:12px;height:12px}
.ea-qr2 .btn{width:100%;justify-content:center}
.ea-foot{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--muted);font-size:12.3px}.ea-foot>span{display:inline-flex;gap:6px;align-items:center}.ea-foot svg{width:14px;height:14px}.ea-foot .btn{margin-left:auto}
.ea-inv{display:inline-flex;gap:4px;align-items:center;margin-left:8px;color:var(--warn);font-size:11.5px;font-weight:700;white-space:nowrap}.ea-inv svg{width:13px;height:13px}
@media (max-width:900px){.ea-box{grid-template-columns:1fr}.ea-qr2{border-left:0;border-top:1px solid var(--card-edge);flex-direction:row;flex-wrap:wrap}.ea-qr2 .btn{width:auto}.ea-facts{grid-template-columns:1fr 1fr}}
/* Nhân sự: gõ tìm ẩn / hiện dòng tại chỗ (03/10/2026) */
.hr-table tr[hidden],.emp-card[hidden],.q-empty[hidden]{display:none!important}

/* Email thông báo trên trang quyết định (ảnh 35) */
.qm-card .card-head h2 small{display:block;font-weight:400;font-size:12px;margin-top:1px}
.qm-card .alert{margin-bottom:10px}
.qm-note{display:flex;gap:8px;align-items:flex-start;background:#f6f9ff;border:1px solid #dbe7fb;border-radius:10px;padding:9px 11px;font-size:12.5px;color:#1e3a66;margin-bottom:6px}
.qm-note svg{width:16px;height:16px;flex:none;color:var(--blue);margin-top:1px}
.qm-list{list-style:none;margin:0;padding:0}
.qm-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #eef2f7}
.qm-list .qm-row:first-child{border-top:0}
.qm-side{margin-top:4px;border-top:1px dashed #e1e7ef}
.qm-av{width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:11px}
.qm-av.hr{background:#7c3aed}.qm-av.tp{background:#0f766e}
.qm-who{min-width:0}.qm-who b{display:block;font-size:13px}
.qm-who small{display:block;color:var(--muted);font-size:11.6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qm-who .mono{font-size:11.3px}
.qm-st{text-align:right;max-width:150px}.qm-st small{display:block;color:var(--muted);font-size:11px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qm-ft{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:8px;padding-top:9px;border-top:1px solid #eef2f7;font-size:12px}

/* Đầu trang hồ sơ (ảnh 36): mã NV cạnh tên, chức vụ dạng danh sách, Công ty › Khối › Phòng, SĐT + email + Zalo */
.cv-code{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono,'JetBrains Mono',Menlo,monospace);font-size:12px;color:var(--muted);background:color-mix(in srgb,var(--muted) 10%,var(--card));border-radius:7px;padding:2px 8px}
.cv-code svg{width:12px;height:12px}
.cv-roles{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.cv-roles li{display:flex;align-items:center;gap:8px;font-size:14px;min-width:0}.cv-roles b{color:var(--ld-navy)}
.cv-roles small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-rk{width:22px;height:22px;border-radius:7px;flex:none;display:grid;place-items:center;background:var(--ld-navy);color:#e7c27a}
.cv-rk svg{width:12px;height:12px}.cv-rk.bgd{background:linear-gradient(135deg,#d6a85a,#9a6b22);color:#fff}.cv-rk.bgd svg{fill:currentColor}
.cv-rk.nhom{background:color-mix(in srgb,var(--muted) 14%,var(--card));color:var(--muted)}
.cv-rk.nv{background:color-mix(in srgb,var(--muted) 14%,var(--card));color:var(--muted)}
.cv-roles li.cv-main b{font-size:16px}.cv-roles li.cv-sub{font-size:13px}.cv-roles li.cv-sub b{font-weight:600;color:var(--ok)}
.cv-org{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-size:13px}
.cv-org>svg{width:15px;height:15px}.cv-org .cv-sep{display:inline-flex;opacity:.5}.cv-org .cv-sep svg{width:13px;height:13px}.cv-job{margin-left:6px;padding-left:10px;border-left:1px solid var(--hair)}
.cv-contact{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.cv-cb{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--card-edge);border-radius:11px;background:var(--card);color:var(--ink);font-weight:600;font-size:13px;text-decoration:none}
.cv-cb a{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}.cv-cb a:hover{color:var(--blue)}
.cv-cb svg{width:16px;height:16px;color:var(--blue);flex:none}
.cv-cb:has(.cv-cp){padding-right:5px}
.cv-cp{width:26px;height:26px;border:0;border-radius:8px;background:none;display:grid;place-items:center;cursor:pointer;color:var(--muted)}
.cv-cp:hover{background:color-mix(in srgb,var(--blue) 10%,var(--card))}.cv-cp svg{width:14px;height:14px;color:var(--muted)}
.cv-cb.add{border-style:dashed;border-color:#9fbbe6;color:var(--blue);background:color-mix(in srgb,var(--blue) 5%,var(--card));cursor:pointer;font:inherit;font-weight:700;font-size:13px}
.cv-cb.none{color:var(--muted);font-weight:500}.cv-cb.none svg{color:var(--muted)}
.cv-cb.zl svg{color:#0068ff}.cv-cb.zl:hover{border-color:#0068ff}
.cover-stats>.cv-stats{flex-direction:row}
.cv-stats{display:flex;border:1px solid var(--hair);border-radius:14px;overflow:hidden}
.cv-stats>div{display:flex;flex-direction:column;padding:10px 16px;border-left:1px solid var(--hair);min-width:96px}.cv-stats>div:first-child{border-left:0}
.cv-stats b{white-space:nowrap}
@media (max-width:900px){.cv-stats{flex:1}.cv-stats>div{flex:1;min-width:0;padding:10px 6px}.cv-stats b{white-space:normal}}
/* Xe & tài xế (ảnh 36–38, 03/10/2026) */
.vx-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px}.vx-kpi{flex-direction:row!important;align-items:center;justify-content:flex-start!important;gap:12px;padding:14px 16px!important}
.vx-kpi .value{font-size:22px}
.vx-tabs{margin:4px 0 16px}
.vx-lay{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.vx-lay.solo{grid-template-columns:minmax(0,1fr)}
.vc-wrap{overflow-x:auto;border:1px solid var(--card-edge);border-radius:12px}
.vc{display:grid;grid-template-columns:190px repeat(7,minmax(120px,1fr));min-width:1040px}
.vc-h{padding:9px 10px;font-size:12px;font-weight:700;color:var(--muted);background:color-mix(in srgb,var(--muted) 5%,var(--card));border-bottom:1px solid var(--card-edge);border-left:1px solid var(--card-edge)}
.vc-h.vc-corner{border-left:0;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.vc-h.today{color:var(--blue)}
.vc-veh{display:flex;flex-direction:column;gap:4px;padding:12px;border-bottom:1px solid var(--card-edge);align-items:flex-start}.vc-veh .pill{font-size:11px}
.vc-lane{grid-column:2/-1;position:relative;border-bottom:1px solid var(--card-edge);background:repeating-linear-gradient(transparent 0 43px,color-mix(in srgb,var(--muted) 7%,transparent) 43px 44px)}
.vc-day{position:absolute;top:0;bottom:0;width:1px;background:var(--card-edge)}
.vc-b{position:absolute;text-align:left;border:0;border-left:3px solid var(--blue);border-radius:7px;padding:4px 7px;overflow:hidden;background:color-mix(in srgb,var(--blue) 10%,var(--card));cursor:pointer;font:inherit;color:var(--ink)}
.vc-b b{display:block;font-size:12px;line-height:1.25;color:var(--blue-ink,#0b4fb3)}.vc-b span{display:block;font-size:11px;color:var(--muted);line-height:1.3}
.vc-b.warn{border-color:#d39a1c;background:color-mix(in srgb,#d39a1c 12%,var(--card))}.vc-b.warn b{color:var(--warn)}
.vc-b.gray{border-color:#8a99ad;background:color-mix(in srgb,#8a99ad 12%,var(--card))}.vc-b.gray b{color:var(--ink)}
.vc-b.red{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--card))}.vc-b.red b{color:var(--danger)}
.vc-b.pending{outline:1.5px dashed currentColor;outline-offset:-2px;opacity:.85}.vc-b:hover{filter:brightness(.97);z-index:2}
.vc-empty{grid-column:1/-1;padding:24px;text-align:center;color:var(--muted)}
.icon-tile.sm{width:30px;height:30px;border-radius:9px}.icon-tile.sm svg{width:16px;height:16px}
.vx-pends{display:flex;flex-direction:column;gap:10px}.vx-pends.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.vx-pend{border:1px solid var(--card-edge);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:7px}
.vx-pend .who-row{display:flex;gap:10px;align-items:center}.vx-pend .who-row>span:nth-child(2){flex:1;min-width:0}.vx-pend .who-row small{display:block}
.vx-line{display:flex;gap:7px;align-items:center;font-size:13.3px}.vx-line svg{width:15px;height:15px;color:var(--muted);flex:none}
.vx-pend .pill{align-self:flex-start;white-space:normal}.vx-assign{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vx-assign select{height:36px}
.btn-row .grow{flex:1;justify-content:center}
.vx-veh-list{list-style:none;margin:0;padding:0}.vx-veh-list li{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--card-edge)}.vx-veh-list li:first-child{border-top:0}
.vx-veh-list .grow{flex:1;min-width:0}.vx-veh-list small{display:block}.vx-tags{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.vx-add-driver{display:flex;gap:10px;align-items:flex-end}.vx-add-driver .field{flex:1}
.vx-foot{padding:10px 18px 14px;margin:0}
.money-in{display:flex;align-items:center;border:1px solid var(--input-edge,#dce5ef);border-radius:10px;background:var(--card);padding-right:12px}
.money-in input{border:0!important;box-shadow:none!important;flex:1;min-width:0;font-weight:600;font-variant-numeric:tabular-nums;background:transparent}.money-in i{font-style:normal;color:var(--muted);font-size:12.5px;white-space:nowrap}
.money-in:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 15%,transparent)}
.form.cols-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.vx-hol{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.vx-hol-add{display:inline-flex;gap:6px;align-items:center}.vx-hol-add input{height:32px}
.vx-rates .label{font-size:var(--fs-label);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.vb-form{display:flex;flex-direction:column;gap:12px}.vb-kind{width:100%}.vb-kind button{flex:1}
.vp-field{position:relative}.vp-dd{position:absolute;left:0;right:0;top:100%;margin-top:4px;z-index:30;background:var(--card);border:1px solid var(--card-edge);border-radius:12px;box-shadow:0 14px 30px rgba(13,37,66,.16);max-height:300px;overflow:auto;padding:4px 0}
.vp-g{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:8px 12px 4px}
.vp-it{display:flex;gap:10px;align-items:center;width:100%;padding:7px 12px;border:0;background:none;text-align:left;font:inherit;cursor:pointer;color:var(--ink)}.vp-it:hover{background:color-mix(in srgb,var(--blue) 7%,var(--card))}
.vp-it b{display:block;font-size:13.5px}.vp-it small{display:block;font-size:12px;color:var(--muted)}
.vb-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.vb-chips:empty{display:none}
.vb-avail{border-radius:10px;padding:9px 12px;font-size:13px;font-weight:600}.vb-avail:empty{display:none}.vb-avail.ok{background:var(--ok-bg);color:var(--ok)}.vb-avail.warn{background:var(--warn-bg);color:var(--warn)}
.vb-dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:0}.vb-dl dt{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.vb-dl dd{margin:2px 0 0}.vb-dl .span-2{grid-column:1/-1}
.vb-list{list-style:none;margin:0;padding:0}.vb-list li{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--card-edge);cursor:pointer}.vb-list li:first-child{border-top:0}.vb-list .grow{flex:1;min-width:0}.vb-list small{display:block}
@media (max-width:1100px){.vx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vx-lay{grid-template-columns:minmax(0,1fr)}.form.cols-4{grid-template-columns:1fr 1fr}}

/* Đường dẫn thông minh (ảnh 37) */
.page-head .crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:2px;margin:0 0 -4px -8px;font-size:13px;font-weight:600;color:#8fa4bf}
.crumbs .cr-sep{display:inline-flex;color:#5d7192}.crumbs .cr-sep svg{width:13px;height:13px}
.crumbs .cr-a,.crumbs .cr-t,.crumbs .cr-dd{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:8px;color:#b9c8df;text-decoration:none;white-space:nowrap}
.crumbs .cr-a svg{width:14px;height:14px}
.crumbs .cr-a:hover,.crumbs .cr-a:focus-visible{background:rgba(255,255,255,.08);color:#fff;text-decoration:underline;text-underline-offset:3px}
.crumbs .cr-t.cur{color:#fff}
.crumbs .cr-dd{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);font:inherit;font-weight:600;cursor:pointer;max-width:min(420px,80vw)}
.crumbs .cr-dd.cur{color:#fff}
.crumbs .cr-dd svg{width:13px;height:13px;opacity:.8;flex:none;transition:transform .15s}
.crumbs .cr-dd:hover{background:rgba(255,255,255,.12)}
.crumbs .cr-dd.on{background:#fff;color:var(--navy);border-color:#fff}.crumbs .cr-dd.on svg{transform:rotate(180deg)}
.cr-menu{position:fixed;z-index:60;background:var(--card);color:var(--ink);border:1px solid var(--card-edge);border-radius:14px;box-shadow:0 18px 44px rgba(5,15,35,.32);overflow:hidden;display:flex;flex-direction:column;max-height:min(480px,70vh)}
.cr-sr{display:flex;align-items:center;gap:8px;margin:10px;height:38px;border:1.5px solid var(--blue);border-radius:10px;padding:0 10px;color:var(--muted);flex:none}
.cr-sr svg{width:16px;height:16px;flex:none}.cr-sr input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:14px;color:var(--ink)}
.cr-sr kbd{font-size:10.5px;background:color-mix(in srgb,var(--muted) 12%,var(--card));border-radius:5px;padding:1px 6px;color:var(--muted);font-family:inherit}
.cr-list{overflow:auto;padding-bottom:4px}
.cr-grp[hidden],.cr-it[hidden]{display:none!important}
.cr-gt{font-size:10.5px;font-weight:800;letter-spacing:.5px;color:var(--muted);opacity:.8;padding:8px 14px 4px}
.cr-it{display:flex;align-items:center;gap:10px;padding:7px 14px;color:inherit;text-decoration:none}
.cr-it:hover,.cr-it.sel{background:color-mix(in srgb,var(--blue) 9%,var(--card))}
.cr-tx{min-width:0;flex:1}.cr-tx b{font-weight:600}.cr-tx small{display:block;color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-badge{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:800;color:var(--ld-gold-ink);background:var(--ld-gold-bg);border-radius:5px;padding:0 6px;margin-left:6px;vertical-align:1px}
.cr-badge svg{width:10px;height:10px}
.cr-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10.5px;font-weight:700;flex:none;background:var(--navy)}
.cr-dot{width:9px;height:9px;border-radius:3px;flex:none}
.cr-n{font-size:11.5px;color:var(--muted);background:color-mix(in srgb,var(--muted) 10%,var(--card));border-radius:999px;padding:1px 8px}
.cr-ck{color:var(--blue);display:inline-flex}.cr-ck svg{width:16px;height:16px}
.cr-ft{border-top:1px solid var(--hair);padding:10px 14px;color:var(--blue);font-weight:700;display:flex;align-items:center;gap:6px;font-size:12.5px;text-decoration:none;flex:none}
.cr-ft svg{width:14px;height:14px}.cr-ft .k{margin-left:auto;color:var(--muted);font-weight:500;font-size:11px}
.cr-empty{padding:14px;color:var(--muted);margin:0}
@media (max-width:700px){.cr-ft .k{display:none}}
/* Đo km + Google Maps (đợt 3, 03/10/2026) */
.vb-route{display:flex;gap:9px;align-items:center;border-radius:10px;padding:9px 12px;font-size:13px;background:color-mix(in srgb,var(--blue) 8%,var(--card));color:var(--ink)}.vb-route svg{width:18px;height:18px;color:var(--blue);flex:none}
.vp-foot{font-size:11px;color:var(--muted);padding:6px 12px 4px;border-top:1px solid var(--card-edge);margin-top:4px}
.icon-tile.gray{background:color-mix(in srgb,var(--muted) 10%,var(--card));color:var(--muted)}
.km-card{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.km-card .km-n b{display:block;font-size:20px;color:var(--navy)}.km-card .km-n{min-width:120px}
.odo-list{list-style:none;margin:8px 0 0;padding:0}.odo-list li{display:flex;gap:10px;align-items:center;padding:6px 0;border-top:1px solid var(--card-edge)}

/* Gắn tài khoản với hồ sơ (ảnh 38) */
.lk-card{max-width:760px;padding:0}
.lk-hero{padding:26px 26px 16px;display:flex;gap:18px;align-items:flex-start}
.lk-hero h2{margin:2px 0 6px;font-size:19px}.lk-hero p{margin:0;color:var(--muted);line-height:1.55}
.lk-ill{width:76px;height:76px;border-radius:22px;background:linear-gradient(135deg,#e6f0ff,#f3ecff);display:grid;place-items:center;color:var(--blue);position:relative;flex:none}
.lk-ill>svg{width:34px;height:34px}
.lk-badge{position:absolute;right:-6px;bottom:-6px;width:30px;height:30px;border-radius:50%;background:var(--card);border:2px solid var(--card-edge);display:grid;place-items:center;color:#a35d00}.lk-badge svg{width:15px;height:15px}
.lk-acc{display:flex;gap:10px;align-items:center;margin:0 26px 16px;background:color-mix(in srgb,var(--muted) 7%,var(--card));border-radius:12px;padding:10px 14px;font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.lk-acc b{color:var(--ink)}.lk-acc svg{width:16px;height:16px;flex:none}
.lk-pad{margin:0 26px 16px}.lk-row.lk-pad{margin:0;padding:0 26px 22px}
.lk-form{padding:0 26px 22px;display:flex;flex-direction:column;gap:12px}
.lk-to{display:flex;align-items:center;gap:10px;border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px}
.lk-to b{display:block}.lk-to small{color:var(--muted)}
.lk-av{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px;box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ld-gold);flex:none}
.lk-row{display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.lk-row .sub{margin-right:auto}
.lk-steps{list-style:none;margin:0;padding:4px 26px 18px}
.lk-steps li{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:8px 0}
.lk-steps .d{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--muted) 10%,var(--card));color:var(--muted)}.lk-steps .d svg{width:14px;height:14px}
.lk-steps li.done .d{background:var(--ok-bg);color:var(--ok)}.lk-steps li.now .d{background:var(--warn-bg);color:var(--warn)}
.lk-steps b{display:block}.lk-steps small{color:var(--muted)}
.lk-who{display:flex;gap:12px;align-items:center;margin-bottom:12px}.lk-who b{display:block;font-size:14px}.lk-who small{color:var(--muted);overflow-wrap:anywhere}
.lk-quote{background:color-mix(in srgb,var(--muted) 7%,var(--card));border-radius:10px;padding:9px 12px;font-size:12.5px;margin-bottom:12px}
.lk-lbl{font-weight:800;font-size:11px;letter-spacing:.4px;color:var(--muted);margin:4px 0 6px}
.lk-opts{display:flex;flex-direction:column;gap:8px}
.lk-opt{display:flex;align-items:center;gap:10px;border:1px solid var(--card-edge);border-radius:12px;padding:9px 12px;cursor:pointer}
.lk-opt:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.lk-opt input{order:3;width:18px;height:18px;accent-color:var(--blue);margin:0}
.lk-opt b{display:block}.lk-opt small{color:var(--muted)}
.lk-oav{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;flex:none;background:#0f766e}
.lk-oav.hr{background:#7c3aed;width:40px;height:40px;font-size:13px}.lk-oav.nw{background:#9a6424;font-size:16px}.lk-oav.gr{background:#64748b}.lk-oav svg{width:15px;height:15px}
.lk-find{margin-top:8px}.lk-find input[type=search]{width:100%;height:38px;border:1px solid var(--card-edge);border-radius:10px;padding:0 12px;font:inherit;background:var(--card);color:var(--ink)}
.lk-res{max-height:220px;overflow:auto;margin-top:6px;display:flex;flex-direction:column}
.lk-hit{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;cursor:pointer}.lk-hit:hover{background:color-mix(in srgb,var(--blue) 7%,var(--card))}
.lk-hit input{margin:0;accent-color:var(--blue)}.lk-hit small{margin-left:auto;color:var(--muted)}

/* ===== Góp ý 004 — Ghi chú nhanh + thẻ nhắc (ảnh 004-3, duyệt 03/10/2026) ===== */
kbd{font:600 11px/1 ui-monospace,Menlo,monospace;border:1px solid var(--card-edge);border-bottom-width:2px;border-radius:5px;padding:2px 5px;background:var(--bg);color:var(--ink)}
.qn-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;border-radius:10px;border:1px solid #8ee0b8;background:#8ee0b8;color:#0d2542;font-weight:700;font-size:13px;cursor:pointer;flex:none}
.qn-btn svg{width:17px;height:17px}.qn-btn kbd{background:#ffffff80;border-color:#0d254233;color:#0d2542}
.qn-btn:hover{background:#a6e9c8}
@media (max-width:850px){.qn-btn span,.qn-btn kbd{display:none}.qn-btn{width:40px;padding:0;justify-content:center;border-radius:50%}}
.qn-pop{position:fixed;top:calc(var(--topbar) + 6px);right:max(12px,calc(50vw - 640px));width:min(480px,calc(100vw - 24px));z-index:90;background:var(--card);color:var(--ink);border:1px solid var(--card-edge);border-radius:14px;box-shadow:0 18px 50px rgba(13,37,66,.28);padding:14px}
.qn-row{display:flex;gap:8px;align-items:flex-start}
.qn-row textarea{flex:1;resize:none;border:2px solid var(--blue);border-radius:10px;padding:10px 12px;font-size:15px;background:var(--card);color:var(--ink);min-height:48px}
.qn-row textarea:focus{outline:none;box-shadow:0 0 0 3px rgba(6,101,237,.15)}
.qn-mic{width:40px;height:40px;border-radius:50%;border:1px solid var(--card-edge);background:var(--card);color:var(--blue);display:grid;place-items:center;cursor:pointer;flex:none}
.qn-mic svg{width:19px;height:19px}.qn-mic.on{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-line);animation:qnPulse 1s infinite}
@keyframes qnPulse{50%{box-shadow:0 0 0 6px rgba(180,35,24,.12)}}
.qn-chips{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--card-edge);border-radius:15px;background:var(--card);color:var(--ink);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.chip svg{width:15px;height:15px}.chip.on{border-color:var(--blue);background:var(--build-bg);color:var(--blue)}
.qn-when{display:flex;gap:8px;align-items:center;margin:0 0 10px}.qn-when input{flex:1;height:36px;border:1px solid var(--card-edge);border-radius:9px;padding:0 10px;background:var(--card);color:var(--ink)}
.qn-foot{display:flex;gap:8px;align-items:center}.qn-foot .sub{flex:1;font-size:12px}.qn-foot kbd{background:#ffffff30;border-color:#ffffff50;color:#fff}
@media (max-width:600px){.qn-pop{left:12px;right:12px;width:auto}.qn-foot .sub,.qn-foot kbd{display:none}.qn-foot #qn-cancel{margin-left:auto}}
.rm-host{position:fixed;right:18px;bottom:18px;z-index:95;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 24px))}
.rm-card{background:var(--navy);color:#fff;border-radius:14px;padding:14px;box-shadow:0 12px 30px rgba(13,37,66,.35);animation:rmIn .25s ease-out}
@keyframes rmIn{from{transform:translateY(12px);opacity:0}}
.rm-top{display:flex;gap:11px;align-items:flex-start}.rm-top b{display:block;font-size:14px;line-height:1.35}.rm-top small{display:block;opacity:.75;font-size:12px;margin-top:2px;white-space:pre-line;max-height:60px;overflow:hidden}
.rm-top>div{flex:1;min-width:0}
.rm-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#ffffff18;color:#8ee0b8;flex:none}.rm-ic svg{width:18px;height:18px}
.rm-x{background:none;border:0;color:#ffffffa0;cursor:pointer;padding:2px}.rm-x svg{width:16px;height:16px}
.rm-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.rm-acts button{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 11px;border-radius:9px;border:1px solid #ffffff33;background:#ffffff14;color:#fff;font-weight:600;font-size:12.5px;cursor:pointer}
.rm-acts button:hover{background:#ffffff26}.rm-acts svg{width:14px;height:14px}
/* Trang Ghi chú của tôi */
.nt-kps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.nt-kp{display:flex;gap:12px;align-items:center;padding:14px 16px}.nt-kp b{display:block;font-size:22px;line-height:1.1}.nt-kp small{color:var(--muted);font-size:12.5px}
.nt-lay{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.nt-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--hair)}
.nt-sec{font-size:11.5px;font-weight:800;letter-spacing:.4px;color:var(--muted);text-transform:uppercase;padding:14px 16px 0}
.nt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:10px 16px 16px}
.nt-card{border:1px solid var(--card-edge);border-radius:12px;padding:12px 13px;background:var(--card);display:flex;flex-direction:column;gap:6px;min-width:0}
.nt-card.pin{background:color-mix(in srgb,#f5c542 10%,var(--card));border-color:color-mix(in srgb,#e0b13b 45%,var(--card-edge))}
.nt-card header{display:flex;gap:8px;align-items:flex-start}.nt-card h3{margin:0;font-size:14px;line-height:1.4;flex:1;min-width:0;overflow-wrap:anywhere}
.nt-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.nt-card.done h3{text-decoration:line-through;color:var(--muted)}
.nt-card footer{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:4px}.nt-card footer .sp{flex:1}
.nt-card.flash{animation:ntFlash 1.6s ease-out}@keyframes ntFlash{0%,40%{box-shadow:0 0 0 3px var(--blue)}}
.nt-pin{color:#b45309}.nt-pin svg{width:15px;height:15px}
.nt-check{width:18px;height:18px;border:1.8px solid #94a3b8;border-radius:5px;background:var(--card);flex:none;display:grid;place-items:center;cursor:pointer;padding:0;margin-top:1px;color:#fff}
.nt-check.on{background:var(--ok);border-color:var(--ok)}.nt-check svg{width:12px;height:12px}.nt-check.sm{width:16px;height:16px}
.nt-ck{list-style:none;margin:0;padding:0}.nt-ck li{display:flex;gap:7px;align-items:center;font-size:13px;padding:2px 0}
.nt-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--design)}.nt-link svg{width:13px;height:13px}
.icon-mini{width:28px;height:28px;border-radius:8px;border:0;background:none;color:var(--muted);display:inline-grid;place-items:center;cursor:pointer}
.icon-mini:hover{background:var(--neutral-bg);color:var(--ink)}.icon-mini svg{width:15px;height:15px}
.nt-side{display:flex;flex-direction:column;gap:14px}
.nt-ch{list-style:none;margin:10px 0;padding:0}.nt-ch li{display:flex;gap:9px;align-items:center;padding:8px 0;border-top:1px solid var(--hair);font-size:13px}.nt-ch li:first-child{border-top:0}
.nt-ch li span:first-of-type{flex:1}.nt-ch svg{width:16px;height:16px;color:var(--muted)}.nt-ch select{height:32px;border:1px solid var(--card-edge);border-radius:8px;background:var(--card);color:var(--ink);padding:0 8px}
.nt-tips{margin:0;padding-left:18px;font-size:13px;line-height:1.9}
.nt-empty{padding:30px 22px}
@media (max-width:1100px){.nt-lay{grid-template-columns:1fr}.nt-kps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.nt-grid{grid-template-columns:1fr;padding:10px 12px 14px}.nt-bar .filter-input{flex:1 1 100%;min-width:0}.nt-kp{padding:12px}.nt-kps{gap:10px}}

/* ===== Góp ý 004 — Công việc (ảnh 004-4, duyệt 03/10/2026) ===== */
.tk-filters{margin-left:4px}
.tk-kps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}
.tk-kp{display:flex;gap:12px;align-items:center;padding:13px 14px;text-align:left;cursor:pointer;font:inherit;color:inherit}
.tk-kp b{display:block;font-size:21px;line-height:1.1}.tk-kp small{color:var(--muted);font-size:12px}
.tk-people{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;margin-bottom:6px;scrollbar-width:thin}
.tk-person{min-width:190px;display:flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:10px 12px;color:var(--ink);text-decoration:none!important;flex:none}
.tk-person.on{border:2px solid var(--blue);background:color-mix(in srgb,var(--blue) 6%,var(--card))}
.tk-person b{display:block;font-size:13px;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.tk-person small{display:flex;gap:4px;margin-top:3px}
.tk-av{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-weight:700;font-size:12px;flex:none;background:#0d2542}
.tk-av.s{width:24px;height:24px;font-size:9.5px}.tk-av svg{width:17px;height:17px}
.tk-av[data-c="0"]{background:#0f8a6a}.tk-av[data-c="1"]{background:#b45309}.tk-av[data-c="2"]{background:#7c3aed}.tk-av[data-c="3"]{background:#0a5bd3}
.tk-av[data-c="4"]{background:#9a6b3c}.tk-av[data-c="5"]{background:#64748b}.tk-av[data-c="6"]{background:#be185d}.tk-av[data-c="7"]{background:#0891b2}
.tk-lay{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.tk-lay.has-detail{grid-template-columns:minmax(0,1fr) 420px}
.tk-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px}
.tk-col{background:var(--bg);border-radius:12px;padding:10px;min-width:0}
.tk-col h3{margin:0 0 8px;font-size:12.5px;display:flex;align-items:center;gap:6px;color:var(--ink)}
.tk-col h3 em{font-style:normal;background:var(--card);border-radius:99px;padding:0 7px;font-size:11px;color:var(--muted)}
.tk-none{color:var(--muted);text-align:center;margin:8px 0}
.tk-card{display:block;background:var(--card);border:1px solid var(--card-edge);border-radius:11px;padding:10px 11px;margin-bottom:8px;color:var(--ink);text-decoration:none!important}
.tk-card:hover{border-color:#b9cde8}.tk-card.on{border:2px solid var(--blue)}.tk-card.late{border-left:4px solid var(--danger)}
.tk-card>b{display:block;font-size:13px;line-height:1.4;margin-bottom:7px;overflow-wrap:anywhere}
.tk-meta{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.tk-prog{display:block;height:5px;border-radius:9px;background:var(--hair);margin-top:8px;overflow:hidden}.tk-prog i{display:block;height:100%;background:var(--blue);border-radius:9px}
.tk-det{position:sticky;top:calc(var(--topbar) + 12px);max-height:calc(100vh - var(--topbar) - 24px);overflow:auto}
.tk-det-top{display:flex;gap:8px;align-items:center}.tk-det-top .icon-mini{margin-left:auto}
.tk-det h2{margin:8px 0 2px;font-size:17px;line-height:1.35}
.tk-desc{white-space:pre-line;line-height:1.55;margin:8px 0}
.tk-kv{display:grid;grid-template-columns:90px 1fr;gap:7px 10px;margin:12px 0;font-size:13px}.tk-kv dt{color:var(--muted)}.tk-kv dd{margin:0;font-weight:600}
.tk-h{display:block;font-size:13px;margin:10px 0 4px}
.tk-ck{list-style:none;margin:0;padding:0}.tk-ck li{display:flex;gap:8px;align-items:center;padding:4px 0;font-size:13px}
.tk-files{list-style:none;margin:0;padding:0}.tk-files li{display:flex;gap:6px;align-items:center;font-size:13px;padding:3px 0}.tk-files svg{width:14px;height:14px;color:var(--muted)}
.tk-thread{margin-top:10px;border-top:1px solid var(--hair)}
.tk-msg{display:flex;gap:9px;padding:8px 0;border-bottom:1px solid var(--hair);font-size:13px;line-height:1.5}.tk-msg>div{min-width:0;overflow-wrap:anywhere}
.tk-msg.ev{font-size:12px}.tk-dot{width:8px;height:8px;border-radius:50%;background:var(--card-edge);margin:6px 8px 0;flex:none}
.tk-say{display:flex;gap:6px;align-items:center;margin:10px 0}.tk-say input{flex:1;min-width:0;height:38px;border:1px solid var(--card-edge);border-radius:10px;padding:0 11px;background:var(--card);color:var(--ink)}
.tk-say label.icon-mini{cursor:pointer}
.tk-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.tk-appr{flex:1 1 100%;border:1px solid color-mix(in srgb,var(--blue) 30%,var(--card-edge));background:color-mix(in srgb,var(--blue) 6%,var(--card));border-radius:12px;padding:11px 12px}
.tk-appr b{display:block}.tk-appr small{display:block;color:var(--muted);margin:2px 0 10px}.tk-appr .btn-row{display:flex;gap:8px}.tk-appr .btn{flex:1}
.btn.ok-btn{background:var(--ok);border-color:var(--ok);color:#fff}.btn.ok-btn:hover{filter:brightness(1.08);background:var(--ok)}
.tk-dir-banner{display:flex;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--warn) 40%,var(--card-edge));background:var(--warn-bg);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.tk-dir-banner>div{flex:1;min-width:0}.tk-dir-banner b{display:block}.tk-dir-banner small{display:block;color:var(--muted)}
.tk-dirs{margin-top:16px}
.tk-dir-row{display:grid;grid-template-columns:minmax(0,1fr) auto 160px auto auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--hair);color:var(--ink);text-decoration:none!important}
.tk-readbar{display:block;height:8px;border-radius:9px;background:var(--hair);overflow:hidden}.tk-readbar i{display:block;height:100%;background:var(--ok)}.tk-readbar.big{height:10px;margin:4px 0 12px}
.tk-unread{margin:6px 0 0;padding-left:18px;line-height:1.8;font-size:13px;columns:2}
.tk-gap{margin-top:18px}
@media (max-width:1280px){.tk-lay.has-detail{grid-template-columns:minmax(0,1fr) 360px}.tk-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1100px){.tk-kps{grid-template-columns:repeat(3,minmax(0,1fr))}.tk-lay.has-detail{grid-template-columns:1fr}.tk-det{position:static;max-height:none}}
@media (max-width:600px){.tk-kps{grid-template-columns:repeat(2,minmax(0,1fr))}.tk-board{grid-template-columns:1fr;padding:10px}.tk-dir-row{grid-template-columns:1fr auto}.tk-dir-row .tk-readbar{display:none}.tk-unread{columns:1}.tk-dir-banner{flex-wrap:wrap}}
.rm-more{align-self:flex-end;background:var(--navy);color:#fff;border-radius:99px;padding:5px 12px;font-size:12px;font-weight:700;box-shadow:0 6px 16px rgba(13,37,66,.3)}

/* ===== Góp ý 004 — Kho tài sản (ảnh 004-1, duyệt 03/10/2026) ===== */
.tk-kp.on{border:2px solid var(--blue)}
.st-tabs{display:flex;gap:4px;margin:-4px 0 14px;border-bottom:1px solid var(--card-edge);overflow-x:auto}
.st-tabs a{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none!important}
.st-tabs a svg{width:16px;height:16px}.st-tabs a.on{color:var(--ink);border-color:var(--blue)}
.st-tabs em{font-style:normal;background:var(--neutral-bg);border-radius:99px;padding:0 7px;font-size:11px}
.st-suggest{display:flex;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--design) 30%,var(--card-edge));background:var(--design-bg);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.st-suggest>div{flex:1;min-width:0}.st-suggest b{display:block}.st-suggest small{display:block;color:var(--muted)}
.st-lay{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.st-type{min-width:150px}
.st-table td{vertical-align:middle}
.st-table tr.st-grp td{background:var(--bg);font-weight:700;font-size:12px;color:var(--ink);padding:8px 14px}
.st-table tr.st-check td{background:color-mix(in srgb,var(--warn) 7%,var(--card))}
.st-dev{display:flex;gap:10px;align-items:center}.st-dev b{display:block;font-size:13.5px}.st-dev small{display:block}.st-dev .mono{font-size:12px}
.st-src{display:inline-flex;gap:6px;align-items:center;font-size:12.5px}.st-src svg{width:14px;height:14px;color:var(--muted)}
.st-shelf{border:1px dashed var(--card-edge);background:none;border-radius:8px;padding:3px 9px;cursor:pointer;color:var(--ink);font:inherit}
.st-shelf:hover{border-color:var(--blue)}
.st-act{text-align:right;white-space:nowrap}
.st-slips{list-style:none;margin:0;padding:0}.st-slips li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--hair);font-size:13px}
.st-slips li:first-child{border-top:0}.st-slips li>div{flex:1;min-width:0}.st-slips small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.st-slips .icon-tile{width:30px;height:30px;border-radius:9px}.st-slips .icon-tile svg{width:16px;height:16px}
.st-pick{max-height:260px;overflow:auto;border:1px solid var(--card-edge);border-radius:10px;padding:6px 10px;display:flex;flex-direction:column;gap:4px}
@media (max-width:1100px){.st-lay{grid-template-columns:1fr}}
@media (max-width:600px){.st-suggest,.tk-dir-banner{flex-wrap:wrap}.st-act{text-align:left}}
@media print{.st-tabs,.st-suggest,.st-lay>aside,.st-act,.tk-dir-banner,.nt-bar{display:none!important}.st-lay{grid-template-columns:1fr}}

/* ===== Góp ý 004 — Báo sự cố 3 bước (ảnh 004-2, duyệt 03/10/2026) ===== */
.ic-wrap{max-width:620px;margin:0 auto}
.ic-card{padding:20px 22px}
.ic-card h2{margin:2px 0 10px;font-size:20px}
.ic-steps{display:flex;gap:6px;margin:0 0 16px}.ic-steps i{flex:1;height:5px;border-radius:9px;background:var(--card-edge)}.ic-steps i.on{background:var(--blue)}
.ic-lbl{margin:16px 0 8px;font-size:11.5px;font-weight:800;letter-spacing:.4px;color:var(--muted)}
.ic-picked{display:flex;gap:11px;align-items:center;border:1px solid var(--card-edge);border-radius:14px;padding:11px 12px;background:var(--card)}
.ic-picked>div{flex:1;min-width:0}.ic-picked b{display:block}.ic-picked small{display:block;color:var(--muted)}
.ic-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ic-opt{display:flex;gap:10px;align-items:center;text-align:left;border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px;background:var(--card);color:var(--ink);cursor:pointer;font:inherit}
.ic-opt:hover{border-color:var(--blue)}.ic-opt svg{width:20px;height:20px;color:var(--blue);flex:none}.ic-opt b{display:block;font-size:13px}.ic-opt small{display:block;color:var(--muted)}
.ic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.ic-sub{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:1px solid var(--card-edge);border-radius:12px;padding:12px 8px;background:var(--card);color:var(--ink);cursor:pointer;font:600 12.5px/1.3 var(--font);min-height:84px;justify-content:center}
.ic-sub svg{width:24px;height:24px;color:var(--muted)}.ic-sub:hover{border-color:#b9cde8}
.ic-sub.on{border:2px solid var(--blue);background:var(--build-bg)}.ic-sub.on svg{color:var(--blue)}
.ic-select{width:100%;height:44px;border:1px solid var(--card-edge);border-radius:12px;padding:0 12px;background:var(--card);color:var(--ink);font:inherit}
.ic-dup{margin-top:14px;border:1px solid color-mix(in srgb,var(--warn) 40%,var(--card-edge));background:var(--warn-bg);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.ic-dup b{display:block}.ic-dup small{display:block;color:var(--muted);margin:2px 0 8px}
.ic-photos{display:flex;gap:8px;flex-wrap:wrap}
.ic-ph{position:relative;width:84px;height:84px;border-radius:12px;background:var(--neutral-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);font-size:10.5px}
.ic-ph svg{width:22px;height:22px}.ic-ph.add{border:1.5px dashed var(--card-edge);background:var(--card);cursor:pointer}
.ic-ph button{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;border:0;background:var(--navy);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}.ic-ph button svg{width:12px;height:12px}
.ic-lv{display:flex;gap:12px;align-items:center;width:100%;text-align:left;border:1px solid var(--card-edge);border-radius:14px;padding:13px 14px;margin-bottom:8px;background:var(--card);color:var(--ink);cursor:pointer;font:inherit}
.ic-lv i{width:14px;height:14px;border-radius:50%;background:var(--card-edge);flex:none}.ic-lv.danger i{background:var(--danger)}.ic-lv.warn i{background:#f59e0b}
.ic-lv b{display:block}.ic-lv small{display:block;color:var(--muted)}.ic-lv.on{border:2px solid var(--blue);background:var(--build-bg)}
.ic-foot{display:flex;gap:10px;margin-top:20px}.ic-foot .ic-next,.ic-foot .btn.primary{flex:1}
.ic-done{text-align:center}.ic-ok{width:64px;height:64px;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center;margin:6px auto 12px}.ic-ok svg{width:32px;height:32px}
.ic-track{list-style:none;margin:16px 0 0;padding:12px 14px;border:1px solid var(--card-edge);border-radius:12px;text-align:left}
.ic-track li{display:flex;gap:10px;align-items:center;padding:5px 0;font-size:13px}.ic-track i{width:10px;height:10px;border-radius:50%;background:var(--card-edge);flex:none}
.ic-track li.on i{background:var(--ok)}.ic-track li.cur i{background:var(--blue);box-shadow:0 0 0 3px var(--build-bg)}
.loc-list{list-style:none;margin:10px 0 14px;padding:0;max-height:280px;overflow:auto;border:1px solid var(--card-edge);border-radius:10px}
.loc-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;border-top:1px solid var(--hair)}.loc-list li:first-child{border-top:0}
.loc-list li.off span{color:var(--muted);text-decoration:line-through}
@media (max-width:600px){.ic-card{padding:16px}.ic-opts{grid-template-columns:1fr}.ic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.rm-host{left:12px;right:12px;bottom:12px;width:auto}.rm-card{padding:11px 12px}.rm-top small{display:none}.rm-acts{margin-top:8px}}
/* Khối & phòng (ảnh 40): hàng trên sơ đồ khối, khung phòng rộng, cột phải việc cần hoàn thiện */
.og-lay{display:flex;flex-direction:column;gap:16px}
.og-tools{display:flex;align-items:center;gap:12px;margin-bottom:10px}.og-tools .filter-input{max-width:300px}
.og-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;align-items:start}
.og-k{background:var(--card);border:1px solid var(--card-edge);border-top:4px solid var(--c,#64748b);border-radius:14px;padding:11px 12px 9px}
.og-k.on{box-shadow:0 0 0 2px var(--blue)}.og-k.dragging{opacity:.5}
.og-kt{display:flex;align-items:center;gap:6px;min-width:0}.og-kt .drag{color:var(--muted);cursor:grab;display:inline-flex}.og-kt .drag svg{width:14px;height:14px}
.og-kn{border:0;background:none;padding:0;font:inherit;font-weight:700;font-size:14px;color:var(--ink);cursor:pointer;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.og-kn:hover{color:var(--blue);text-decoration:underline}
.og-code{font-family:var(--mono,'JetBrains Mono',Menlo,monospace);font-size:10.5px;color:var(--muted);background:color-mix(in srgb,var(--muted) 10%,var(--card));border-radius:5px;padding:1px 6px;white-space:nowrap}
.og-gd{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted);margin:4px 0 6px}.og-gd svg{width:12px;height:12px;color:#b8893b;flex:none}
.og-gd.miss{color:var(--warn)}.og-gd.miss svg{color:var(--warn)}
.og-ps{list-style:none;margin:0;padding:0;min-height:10px}
.og-p{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:9px;border:1px solid transparent;cursor:pointer;margin-top:2px}
.og-p:hover{background:color-mix(in srgb,var(--blue) 6%,var(--card))}.og-p.on{background:color-mix(in srgb,var(--blue) 9%,var(--card));border-color:var(--blue)}
.og-p.dragging{opacity:.5}.og-p.drop{border:2px dashed var(--blue);background:color-mix(in srgb,var(--blue) 7%,var(--card))}
.og-dropping .og-p:not(.on){outline:1px dashed color-mix(in srgb,var(--blue) 35%,transparent)}
.og-p[hidden]{display:none}
.og-dot{width:8px;height:8px;border-radius:3px;background:var(--c);flex:none}.og-dot.lg{width:12px;height:12px;border-radius:4px}
.og-pn{flex:1;min-width:0;font-weight:600;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.og-warn{width:7px;height:7px;border-radius:50%;background:#f59e0b;flex:none}
.og-n{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.og-empty{padding:8px;border:1px dashed var(--card-edge);border-radius:9px;text-align:center}
.og-sum{font-size:11px;color:var(--muted);opacity:.85;margin-top:7px;padding-top:6px;border-top:1px solid var(--hair)}
.og-main{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.og-panel{padding:0;overflow:hidden}
.og-dh{padding:16px 18px;border-bottom:1px solid var(--hair)}
.og-r1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.og-name{display:flex;align-items:center;gap:8px;min-width:0}.og-name h2{margin:0;font-size:20px}
.og-name-in{height:38px;border:1.5px solid var(--blue);border-radius:10px;padding:0 12px;font:inherit;font-size:16px;font-weight:700;width:min(380px,60vw);background:var(--card);color:var(--ink)}
.og-acts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.og-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:12px}
.og-mf{border:1px solid var(--hair);border-radius:11px;padding:7px 10px;display:flex;flex-direction:column;gap:3px;min-width:0}
.og-mf small{font-size:11px;color:var(--muted)}.og-mf b{font-size:14px}
.og-mf select{border:0;background:none;font:inherit;font-weight:600;color:var(--ink);padding:0;width:100%;cursor:pointer}
.og-mf.miss{border-color:#f5d48a;background:color-mix(in srgb,#f59e0b 7%,var(--card))}.og-mf.miss select{color:var(--warn)}
.og-more{margin-top:12px}.og-more summary{cursor:pointer;color:var(--muted);font-size:12.5px;font-weight:600}
.og-tb{display:flex;align-items:center;gap:10px;padding:12px 18px;flex-wrap:wrap}.og-tb h3{margin:0;font-size:14px}.og-tb .filter-input{margin-left:auto;max-width:220px}
.og-bulk{display:flex;align-items:center;gap:10px;margin:0 18px 10px;background:var(--navy);color:#fff;border-radius:12px;padding:8px 10px 8px 14px;flex-wrap:wrap}
.og-bulk span{color:#a9bad0}.og-bulk select{margin-left:auto;height:30px;border-radius:8px;border:0;padding:0 8px;font:inherit;font-weight:600;min-width:200px}
.og-x{border:0;background:none;color:#a9bad0;cursor:pointer;display:inline-flex}.og-x svg{width:16px;height:16px}
.og-mem th.og-ck,.og-mem td.og-ck{width:34px;padding-left:18px}.og-mem input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue)}
.og-grip{width:22px;color:var(--muted);cursor:grab}.og-grip svg{width:14px;height:14px}
.og-mem tr.ck td{background:color-mix(in srgb,var(--blue) 5%,var(--card))}.og-mem tr.dragging{opacity:.5}.og-mem tr[hidden]{display:none}
.og-who{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none}.og-who b{display:block}.og-who small{color:var(--muted);font-size:11.5px}.og-who:hover b{color:var(--blue)}
.og-row-act{text-align:right;padding-right:18px}
.og-pad{padding:0 18px 16px}
.og-side{display:flex;flex-direction:column;gap:12px}
.og-h{margin:0 0 8px;font-size:13.5px;display:flex;align-items:center;gap:6px}.og-h svg{width:16px;height:16px;color:var(--warn)}.og-h.muted{color:var(--muted)}
.og-todo{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--hair);font-size:12.5px}.og-todo:first-of-type{border-top:0}.og-todo span{flex:1}
.og-off{display:flex;flex-wrap:wrap;gap:6px}.og-off button{border:1px dashed var(--card-edge);background:none;border-radius:8px;padding:3px 8px;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}
.og-mv{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--muted) 7%,var(--card));border-radius:12px;padding:10px 12px;margin-bottom:10px}
.og-mv>div{flex:1;border:1px solid var(--card-edge);background:var(--card);border-radius:10px;padding:7px 10px;min-width:0}.og-mv small{display:block;color:var(--muted);font-size:11px}
.og-mv select{border:0;background:none;font:inherit;font-weight:700;color:var(--ink);padding:0;width:100%}.og-mv>svg{width:18px;height:18px;color:var(--blue);flex:none}
.og-dl{padding-left:18px;margin:0 0 10px;font-size:12.5px}.og-dl li{margin:3px 0}
.og-pick{max-height:320px;overflow:auto;margin-top:8px;display:flex;flex-direction:column;border:1px solid var(--hair);border-radius:10px}
.og-pick label{display:flex;align-items:center;gap:8px;padding:7px 10px;border-top:1px solid var(--hair);cursor:pointer}.og-pick label:first-child{border-top:0}.og-pick label[hidden]{display:none}
@media (max-width:1000px){.og-main{grid-template-columns:minmax(0,1fr)}}
/* Thao tác ngay trên thẻ khối (ảnh 41) */
.og-more-btn{margin-left:auto;width:28px;height:28px;border-radius:8px;border:1px solid var(--card-edge);background:var(--card);display:grid;place-items:center;color:var(--muted);cursor:pointer;flex:none}
.og-more-btn:hover{color:var(--blue);border-color:var(--blue)}.og-more-btn svg{width:16px;height:16px}
.og-gd-pick{margin-left:auto;font-size:11.5px;font-weight:700}
.og-hov{display:none;align-items:center;gap:8px;margin-left:auto}.og-hov .link{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700}
.og-hov svg{width:12px;height:12px}.og-hov .danger{color:var(--danger)}
.og-p:hover .og-hov,.og-p:focus-within .og-hov{display:inline-flex}.og-p:hover .og-n{display:none}
@media (hover:none){.og-hov{display:inline-flex}.og-p .og-n{display:none}}
.og-add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:8px;height:34px;border:1.5px dashed #9fbbe6;border-radius:9px;color:var(--blue);font:inherit;font-weight:700;font-size:12.5px;background:color-mix(in srgb,var(--blue) 5%,var(--card));cursor:pointer}
.og-add:hover{border-color:var(--blue)}.og-add svg{width:14px;height:14px}
.og-menu{position:fixed;z-index:60;width:230px;background:var(--card);border:1px solid var(--card-edge);border-radius:12px;box-shadow:0 14px 34px rgba(13,37,66,.2);padding:5px;display:flex;flex-direction:column}
.og-menu button{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;background:none;border-radius:8px;font:inherit;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}
.og-menu button:hover{background:color-mix(in srgb,var(--blue) 8%,var(--card))}.og-menu svg{width:15px;height:15px;color:var(--muted)}
.og-menu .danger,.og-menu .danger svg{color:var(--danger)}.og-menu-note{font-size:11.5px;color:var(--muted);padding:8px 10px;border-top:1px solid var(--hair);margin-top:3px}
.og-pick-g{font-size:10.5px;font-weight:800;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;padding:8px 10px 4px;background:color-mix(in srgb,var(--muted) 5%,var(--card))}
.og-pick label .og-r{margin-left:auto}
/* Khung khối đang mở (ảnh 42) */
.og-kh{display:flex;gap:16px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--hair);border-left:5px solid var(--c,#64748b);flex-wrap:wrap}
.og-ktile{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--muted) 10%,var(--card));color:var(--ink);display:grid;place-items:center;flex:none}.og-ktile svg{width:24px;height:24px}
.og-kmain{min-width:0}.og-ey{font-size:11px;font-weight:800;letter-spacing:.6px;color:var(--muted);display:flex;gap:8px;align-items:center}
.og-kmain .og-name h2{font-size:24px}
.og-tip{font-size:11.5px;color:var(--muted);display:inline-flex;align-items:center;gap:4px}.og-tip svg{width:12px;height:12px}
.og-kstats{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:12px;padding:16px 20px}
.og-big select{font-size:14px;font-weight:700}.og-hint{font-size:11px}.og-mf.miss .og-hint{color:var(--warn)}
.og-num{font-size:20px}.og-num.warn{color:var(--warn)}
.og-tb-r{margin-left:auto}
.og-kt-tbl td:first-child,.og-kt-tbl th:first-child{padding-left:20px}
.og-dn{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.og-miss{color:var(--warn);display:inline-flex;align-items:center;gap:4px;font-weight:600}.og-miss svg{width:13px;height:13px}
.og-row-act .btn+.btn{margin-left:6px}
.og-ft{display:flex;align-items:center;gap:6px;padding:12px 20px;margin:0}.og-ft svg{width:13px;height:13px}
@media (max-width:900px){.og-kstats{grid-template-columns:1fr 1fr}}
.og-row-act{white-space:nowrap;width:1%}
/* Xoá phòng còn dữ liệu (ảnh 43) */
.og-usage{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.og-u{border:1px solid var(--hair);border-radius:10px;padding:7px 10px}.og-u small{display:block;font-size:11px;color:var(--muted)}.og-u b{font-size:15px;color:var(--muted)}
.og-u.has{border-color:#f5d48a;background:color-mix(in srgb,#f59e0b 7%,var(--card))}.og-u.has b{color:var(--warn)}
.og-step{border:1.5px solid var(--blue);border-radius:12px;padding:12px 14px;background:color-mix(in srgb,var(--blue) 4%,var(--card));margin-top:10px}
.og-step .t{display:flex;align-items:center;gap:8px;font-weight:700}.og-step p{margin:6px 0 10px 30px;color:var(--muted);font-size:12.5px}
.og-step select{margin-left:30px;width:calc(100% - 30px);height:40px;border:1px solid var(--card-edge);border-radius:10px;padding:0 10px;font:inherit;font-weight:600;background:var(--card);color:var(--ink)}
.og-step .n,.og-step2 .n{width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}
.og-step2{margin-top:10px;border:1px solid var(--hair);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:8px;font-weight:700}.og-step2 .n{background:var(--danger)}
.og-step2 small{font-weight:500;color:var(--muted)}
/* Quyền hạn & nhiệm vụ chức vụ (ảnh 44) */
.duty-field textarea{min-height:190px;line-height:1.6;font-size:14px;resize:vertical;width:100%}
.duty-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.duty-meta small{font-size:12px;text-transform:none;letter-spacing:0;font-weight:500}
.pc small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.ap-duty{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--hair);border-radius:12px;padding:10px 12px;margin-top:10px}
.ap-duty small{font-size:11.5px;color:var(--muted);font-weight:700}.ap-duty p{margin:3px 0 0;white-space:pre-line;font-size:13px;max-height:7.5em;overflow:auto}
/* Kiêm nhiệm (ảnh 004-5) */
.og-mem tr.og-kn-row td{background:var(--design-bg)}
/* Quyết định: khoảng cách gọn hơn để quyết định ngắn nằm 1 trang (đo lại 03/10/2026, chia trang v3) */
.c-page-body:has(.qd-art) h1{margin-top:8px}
.c-page-body:has(.qd-art) .qd-auth{margin:8px 0 4px}
.c-page-body:has(.qd-art) .qd-qd{margin:4px 0 4px}
.c-page-body:has(.qd-art) ul.c-cont+:not(ul){margin-top:2px}
.c-page-body .qd-sigs{margin-top:8px}

/* ===== Góp ý 004 Đợt 2 — Kiến trúc & vị trí (ảnh 004-8), Cơ điện (ảnh 004-7) ===== */
.lc-lay{display:grid;grid-template-columns:260px minmax(0,1fr) 340px;gap:16px;align-items:start}
.lc-left{padding:6px 0}.lc-toa{padding:10px 14px;font-weight:700;display:flex;gap:7px;align-items:center}.lc-toa svg{width:16px;height:16px}
.lc-tree{list-style:none;margin:0 0 8px;padding:0}.lc-tree li{display:flex;gap:7px;align-items:center;padding:7px 14px;font-size:13px;cursor:pointer}
.lc-tree li:hover{background:var(--bg)}.lc-tree li.on{background:var(--build-bg);color:var(--blue);font-weight:700}.lc-tree li.off{opacity:.5}
.lc-tree .lc-f{font-weight:600}.lc-tree .lc-r{padding-left:30px}.lc-tree svg{width:14px;height:14px;color:var(--muted)}.lc-tree em{margin-left:auto;font-style:normal;font-size:11px;color:var(--muted)}
.lc-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);flex:none}.lc-dot.w{background:#f59e0b}
.lc-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--hair)}.lc-bar .sp{flex:1}
.lc-plan{position:relative;margin:14px 16px 6px;border:1px solid var(--card-edge);border-radius:8px;overflow:hidden;user-select:none;touch-action:none}
.lc-plan img{display:block;width:100%;height:auto}.lc-plan.drawing{cursor:crosshair;outline:2px dashed var(--blue)}
.lc-rm{position:absolute;border:2px solid #0665ed80;background:#0665ed14;border-radius:4px;display:grid;place-items:center;cursor:pointer;padding:2px;font:700 11px/1.2 var(--font);color:#0a3d8f}
.lc-rm span{background:#ffffffd0;border-radius:4px;padding:1px 4px}.lc-rm.on{border-color:var(--blue);background:#0665ed33}
.lc-pin{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--danger);box-shadow:0 2px 5px #0004}.lc-pin.w{background:#f59e0b}
.lc-ghost{position:absolute;border:2px dashed var(--blue);background:#0665ed1f;pointer-events:none}
.lc-note{padding:0 16px 14px}
.lc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;padding:14px 16px}
.lc-cell{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;border:1px solid var(--card-edge);border-radius:12px;padding:12px;background:var(--card);color:var(--ink);cursor:pointer;font:inherit}
.lc-cell svg{width:18px;height:18px;color:var(--muted)}.lc-cell small{color:var(--muted);font-size:11.5px}.lc-cell.on{border:2px solid var(--blue);background:var(--build-bg)}
.lc-det h3{margin:2px 0 4px;font-size:17px}.lc-h{margin:16px 0 6px;font-size:11.5px;font-weight:800;letter-spacing:.3px;color:var(--muted);display:flex;gap:8px;align-items:center}.lc-h .link{margin-left:auto}
.lc-hm{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid var(--hair);font-size:12.8px}
.lc-hist{list-style:none;margin:0;padding:0}.lc-hist li{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-top:1px solid var(--hair);font-size:12.6px}.lc-hist li:first-child{border-top:0}
.lc-items td{padding:6px 8px}.lc-items input,.lc-items select{width:100%;height:32px;border:1px solid var(--card-edge);border-radius:8px;padding:0 8px;background:var(--card);color:var(--ink)}
.fc-lay{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}
.fc-grp{padding:9px 16px;background:var(--bg);border-top:1px solid var(--hair);font-weight:700;font-size:12px}
.fc-row{display:grid;grid-template-columns:40px 1.3fr 1fr 1.2fr 130px;gap:12px;align-items:center;width:100%;text-align:left;padding:10px 16px;border:0;border-top:1px solid var(--hair);background:var(--card);color:var(--ink);cursor:pointer;font:inherit}
.fc-row:hover{background:var(--bg)}.fc-row.on{background:var(--build-bg);box-shadow:inset 3px 0 var(--blue)}
.fc-row b{display:block;font-size:13px}.fc-row small{display:block;color:var(--muted);font-size:11.5px}.fc-row .icon-tile{width:36px;height:36px;border-radius:10px}.fc-row .icon-tile svg{width:18px;height:18px}
.fc-bar{display:block;height:6px;border-radius:9px;background:var(--hair);overflow:hidden;width:120px;margin-top:4px}.fc-bar i{display:block;height:100%;border-radius:9px;background:var(--ok)}
.fc-bar.warn i{background:#f59e0b}.fc-bar.danger i{background:var(--danger)}
.fc-dh{display:flex;gap:12px;align-items:flex-start}.fc-dh h3{margin:2px 0 0;font-size:17px}.fc-dh .icon-mini{margin-left:auto}
.fc-plan{display:flex;gap:10px;align-items:center;border:1px solid var(--card-edge);border-radius:12px;padding:9px 11px;margin-top:8px}.fc-plan>div{flex:1}.fc-plan b{display:block;font-size:13px}.fc-plan small{color:var(--muted);font-size:11.5px}
.fc-plan.danger{border-color:var(--danger-line);background:var(--danger-bg)}.fc-plan .icon-tile{width:32px;height:32px}.fc-plan .icon-tile svg{width:16px;height:16px}
.fc-qr{display:flex;gap:12px;align-items:center;margin-top:14px;padding:10px;border:1px dashed var(--card-edge);border-radius:12px}.fc-qr>span{width:84px;flex:none}.fc-qr svg{width:84px;height:84px}
@media (max-width:1280px){.lc-lay{grid-template-columns:240px minmax(0,1fr)}.lc-lay>aside{grid-column:1/-1}}
@media (max-width:1100px){.fc-lay{grid-template-columns:1fr}.fc-row{grid-template-columns:40px 1fr 1fr}.fc-row .fc-p,.fc-row .fc-s{grid-column:2/-1}}
@media (max-width:850px){.lc-lay{grid-template-columns:1fr}}
/* ===== Góp ý 004 Đợt 2 — Phòng họp (ảnh 004-9), Lịch lãnh đạo (ảnh 004-10) ===== */
.mt-legend{display:inline-flex;gap:6px;align-items:center;margin-left:8px;font-size:12px}.mt-legend .lg{width:10px;height:10px;border-radius:3px;display:inline-block;margin-left:6px}
.lg.in,.mt-bk.in{background:#dbe8ff;border-color:#0665ed}.lg.cus,.mt-bk.cus{background:#fdf0d9;border-color:#d97706}.lg.out,.mt-bk.out{background:#ede9fe;border-color:#7c3aed}
.lg.bz,.mt-bk.bz{background:repeating-linear-gradient(45deg,#e6ebf2 0 6px,#f1f4f8 6px 12px);border-color:#94a3b8}
.lg.hold,.mt-bk.hold{background:repeating-linear-gradient(45deg,#fdf0d9 0 6px,#fff8eb 6px 12px);border-color:#d97706;border-style:dashed;cursor:default}
.mt-kps{grid-template-columns:repeat(4,minmax(0,1fr))}
.mt-lay{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.mt-lay.has-detail{grid-template-columns:minmax(0,1fr) 400px}
.mt-board{overflow-x:auto}
.mt-grid{display:grid;grid-template-columns:200px minmax(560px,1fr);min-width:760px}.mt-grid+.mt-grid{border-top:2px solid var(--card-edge)}
.mt-h{padding:9px 14px;font-size:11px;font-weight:800;color:var(--muted);border-bottom:1px solid var(--card-edge)}
.mt-hours{display:grid;grid-template-columns:repeat(10,1fr);border-bottom:1px solid var(--card-edge)}.mt-hours span{padding:9px 4px;font-size:11.5px;font-weight:700;color:var(--muted);border-left:1px dashed var(--hair)}
.mt-rn{padding:9px 14px;border-top:1px solid var(--hair);display:flex;flex-direction:column;justify-content:center;min-height:56px}.mt-rn b{font-size:13px}.mt-rn small{color:var(--muted);font-size:11px}
.mt-lane{position:relative;border-top:1px solid var(--hair);min-height:56px;cursor:copy;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),var(--hair) calc(10% - 1px) 10%)}
.mt-bk{position:absolute;top:6px;bottom:6px;border-radius:8px;border-left:4px solid;padding:4px 7px;overflow:hidden;color:#0d2542;text-decoration:none!important;cursor:pointer;z-index:2;min-width:12px}
.mt-bk b{display:block;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mt-bk small{display:block;font-size:10.5px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-bk.on{box-shadow:0 0 0 2px var(--blue)}
.mt-now{position:absolute;top:0;bottom:0;width:2px;background:var(--danger);z-index:3;pointer-events:none}
.mt-noroom,.mt-hint{padding:10px 14px}.mt-det h2{margin:8px 0 2px;font-size:17px}
.mt-att{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--neutral-bg);color:var(--ink);font-size:10px;font-weight:700;margin:0 2px 2px 0;border:2px solid transparent}
.mt-att.DONG_Y{border-color:var(--ok)}.mt-att.TU_CHOI{border-color:var(--danger);opacity:.6}
.mt-agenda{white-space:pre-line;background:var(--bg);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.6}
.mt-act{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--hair);font-size:13px}
.lcal-lay{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}
.lcal-grp{grid-column:1/-1;padding:7px 14px;background:var(--bg);font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.3px;border-top:1px solid var(--hair)}
.lcal-who{flex-direction:row;align-items:center;gap:9px}.lcal-who b{display:block}.lcal .mt-lane{cursor:default}
.fd-slot{display:flex;gap:10px;align-items:center;border:1px solid #9bd3b4;background:color-mix(in srgb,var(--ok) 6%,var(--card));border-radius:12px;padding:9px 11px;margin-top:8px}
.fd-slot.warn{border-color:#f3d39b;background:var(--warn-bg)}.fd-slot>div{flex:1}.fd-slot b{display:block;font-size:13px}
@media (max-width:1100px){.mt-lay.has-detail,.lcal-lay{grid-template-columns:1fr}.mt-kps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bk-att{margin-bottom:12px}.bk-lbl{display:block;font-size:var(--fs-label);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}
.bk-att .filter-input{width:100%;margin-bottom:6px}.bk-att .og-pick{max-height:200px}
/* Lưu trữ quyết định (ảnh 45) */
.c-page-wm.arch{color:rgba(71,85,105,.11);font-size:78px}
.qd-arch{display:flex;gap:10px;align-items:flex-start;background:color-mix(in srgb,var(--muted) 9%,var(--card));border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px;margin:0 16px 12px;font-size:13px}
.qd-arch>svg{width:16px;height:16px;flex:none;margin-top:1px;color:var(--muted)}
.qdl-arch{background:#fff1d6;border-color:#f5d48a;color:#7a4a00}.qdl-arch:hover{border-color:#d9a43a}
.qdl-tools{padding:14px 18px 8px}.qdl-tools .filter-input{max-width:340px}
.qdl-tbl td:first-child,.qdl-tbl th:first-child{padding-left:18px}
.qdl-no{font-weight:700;font-size:12.5px;white-space:nowrap}
.qdl-why{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qdl-tbl tr.ck td{background:color-mix(in srgb,var(--blue) 5%,var(--card))}.qdl-tbl tr[hidden]{display:none}
.chip-bar button svg{width:13px;height:13px}
/* Lịch lãnh đạo thiết kế lại (ảnh 46) */
.lc-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:14px}
.lc-nav{display:flex;align-items:center;gap:4px}
.lc-ib{width:34px;height:34px;border:1px solid var(--card-edge);border-radius:9px;display:grid;place-items:center;background:var(--card)}.lc-ib svg{width:16px;height:16px}.lc-ib.prev svg{transform:rotate(180deg)}
.lc-date{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:10px;border:1.5px solid var(--blue);background:color-mix(in srgb,var(--blue) 5%,var(--card));font:inherit;font-weight:800;font-size:14px;color:var(--ink);cursor:pointer}
.lc-date svg{width:16px;height:16px;color:var(--blue)}
.lc-seg{display:inline-flex;border:1px solid var(--card-edge);border-radius:10px;overflow:hidden}.lc-seg button{border:0;background:var(--card);padding:7px 14px;font:inherit;font-weight:700;color:var(--muted);cursor:pointer}
.lc-seg button.on{background:var(--navy);color:#fff}
.lc-who-btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--card-edge);background:var(--card);font:inherit;font-weight:700;color:var(--ink);cursor:pointer}
.lc-who-btn small{color:var(--muted);font-weight:500}.lc-who-btn svg{width:16px;height:16px}
.lc-legend{margin-left:auto}.lg.off{background:repeating-linear-gradient(45deg,#e6ebf2 0 5px,#d5dce6 5px 10px);border-color:#94a3b8}
.lc-pop{position:absolute;z-index:70;width:340px;background:var(--card);border:1px solid var(--card-edge);border-radius:14px;box-shadow:0 18px 40px rgba(13,37,66,.22);padding:12px;max-height:520px;overflow:auto}
.lc-mh{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.lc-mh .lc-ib{width:30px;height:30px}
.lc-mg{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.lc-mg .w{font-size:10.5px;color:var(--muted);font-weight:800;padding:3px 0}
.lc-mg .d{height:40px;border-radius:9px;border:0;background:none;font:inherit;font-weight:600;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}
.lc-mg .d:hover{background:color-mix(in srgb,var(--blue) 8%,var(--card))}.lc-mg .d.o{color:#cbd5e1}.lc-mg .d.sun{color:var(--danger)}
.lc-mg .d.today{box-shadow:inset 0 0 0 1.5px var(--blue)}.lc-mg .d.sel{background:var(--blue);color:#fff}
.lc-mg .dots{display:flex;gap:2px;height:5px;margin-top:2px}
.lc-mg .dots i,.lc-mn i{width:5px;height:5px;border-radius:50%;display:inline-block}
.lc-pop i.r{background:#dc2626}.lc-pop i.g{background:#64748b}.lc-pop i.a{background:#f59e0b}.lc-pop i.b{background:#0a5bd3}
.lc-mn{display:flex;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-top:8px;padding-top:8px;border-top:1px solid var(--hair)}.lc-mn i{margin-right:4px;vertical-align:1px}
.lc-mi{margin-top:6px;min-height:2.6em;font-size:12px}
.lc-ph{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;font-weight:800;color:var(--muted);letter-spacing:.4px;margin:10px 0 4px}
.lc-pi{display:flex;align-items:center;gap:8px;padding:5px 2px;cursor:pointer}.lc-pi small{margin-left:auto;font-size:11px}.lc-pi[hidden]{display:none}.lc-pi input{accent-color:var(--blue);width:16px;height:16px;margin:0}
.lc-pf{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--hair)}.lc-pf .primary{margin-left:auto}
.lc-addl{max-height:300px;overflow:auto;margin-top:6px}
.lc-lbl{font-size:10.5px;font-weight:800;letter-spacing:.4px;color:var(--muted);margin:12px 0 5px}
.lc-chipx{display:inline-flex;align-items:center;gap:4px;padding-right:4px}.lc-chipx button{border:0;background:none;color:inherit;display:inline-flex;cursor:pointer;padding:2px}.lc-chipx svg{width:12px;height:12px}
.lc-add{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border:1.5px dashed #9fbbe6;border-radius:15px;background:none;color:var(--blue);font:inherit;font-weight:700;font-size:12px;cursor:pointer}.lc-add svg{width:13px;height:13px}
.lc-days{display:flex;gap:5px;flex-wrap:wrap}
.lc-dd{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 9px;border-radius:9px;border:1px solid var(--blue);background:color-mix(in srgb,var(--blue) 6%,var(--card));color:var(--blue);font:inherit;font-weight:700;font-size:12px;cursor:pointer}
.lc-dd svg{width:12px;height:12px}.lc-dd.add{border-style:dashed;background:none}
.lc-warn{display:flex;gap:7px;align-items:flex-start;background:var(--danger-bg);color:var(--danger);border-radius:10px;padding:8px 10px;font-size:12.3px;margin-top:10px;line-height:1.45}.lc-warn svg{width:14px;height:14px;flex:none;margin-top:1px}
.lc-long{position:absolute;inset:7px 6px;border-radius:8px;display:flex;align-items:center;gap:6px;padding:0 10px;font-size:12px;overflow:hidden;white-space:nowrap;z-index:2}
.lc-long svg{width:14px;height:14px;flex:none}.lc-long small{font-weight:500;opacity:.85}
.lc-long.out{background:repeating-linear-gradient(135deg,#fde4e1 0 8px,#fbd0cb 8px 16px);color:#9b1c13;border:1px solid #f3b3ac}
.lc-long.off,.lc-long.bz{background:repeating-linear-gradient(135deg,#eef2f7 0 8px,#e2e8f0 8px 16px);color:#334155;border:1px solid #cbd5e1}
.mt-bk.off{background:repeating-linear-gradient(45deg,#e6ebf2 0 6px,#d5dce6 6px 12px);border-color:#64748b}
.lc-week{display:grid;grid-template-columns:200px repeat(6,minmax(96px,1fr));min-width:820px}
.lc-wh{padding:9px 14px;font-size:11px;font-weight:800;color:var(--muted);border-bottom:1px solid var(--card-edge)}
.lc-wd{border:0;border-bottom:1px solid var(--card-edge);border-left:1px dashed var(--hair);background:none;font:inherit;font-weight:700;font-size:12px;color:var(--muted);cursor:pointer;padding:9px 6px}
.lc-wd:hover{color:var(--blue)}.lc-wd.today{color:var(--blue);box-shadow:inset 0 -2px var(--blue)}
.lc-wc{border-top:1px solid var(--hair);border-left:1px dashed var(--hair);padding:5px;display:flex;flex-direction:column;gap:3px;min-height:56px}
.lc-chip{font-size:11px;font-weight:600;border-radius:6px;padding:2px 6px;border-left:3px solid;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#dbe8ff;border-color:#0665ed;color:#0d2542}
.lc-chip.cus{background:#fdf0d9;border-color:#d97706}.lc-chip.out{background:#fde4e1;border-color:#dc2626;color:#9b1c13}.lc-chip.off,.lc-chip.bz{background:#eef2f7;border-color:#64748b;color:#334155}
.lc-plans{list-style:none;margin:0;padding:0}.lc-plans li{display:flex;gap:8px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--hair);font-size:12.6px}.lc-plans li:first-child{border-top:0}
.lc-plans .grow{flex:1;min-width:0}.lc-plans small{display:block}

/* ---------- Trợ lý AI của TGĐ (ảnh 004-11) ---------- */
.ai-kps{grid-template-columns:repeat(4,minmax(0,1fr))}
.ai-off{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin-bottom:14px;background:var(--design-bg);border-color:#ddd2fb}
.ai-off.warn{background:var(--warn-bg);border-color:#f3dfb1}
.card.ai-off>svg{width:20px;height:20px;flex:none;color:var(--design)}.ai-off.warn svg{color:var(--warn)}
.ai-lay{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;align-items:start}
.ai-main,.ai-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.ai-ask{display:flex;gap:16px;align-items:center;padding:16px 18px;border:2px solid #8b6cf0}
.ai-mic{flex:none;width:68px;height:68px;border-radius:50%;border:0;cursor:pointer;color:#fff;background:linear-gradient(135deg,#5b3fd6,#2f5bea);box-shadow:0 0 0 8px #ede7ff;display:grid;place-items:center}
.ai-mic svg{width:28px;height:28px}
.ai-mic.on{animation:ai-pulse 1.2s infinite}
@keyframes ai-pulse{50%{box-shadow:0 0 0 14px #ddd2fb}}
.ai-ask-b{flex:1;min-width:0}
.ai-said-h{font-size:12px;font-weight:700;letter-spacing:.04em;color:#6d4fe0}
.ai-said{margin:4px 0;font-size:17px;line-height:1.5}
.ai-form{display:flex;gap:10px;align-items:flex-end;margin-top:6px}
.ai-form textarea{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:9px 12px;resize:vertical}
.ai-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ai-steps:empty{display:none}
.ai-step{display:flex;gap:8px;align-items:center;padding:12px 14px;border-radius:10px;background:var(--ok-bg);color:var(--ok);font-size:13px;font-weight:600;min-width:0}
.ai-step svg{width:16px;height:16px;flex:none}.ai-step span{overflow-wrap:anywhere}
.ai-step.warn{background:var(--warn-bg);color:var(--warn)}.ai-step.ai{background:var(--design-bg);color:var(--design)}
.ai-step.wait{background:var(--neutral-bg);color:var(--muted)}.ai-step.run{background:var(--build-bg);color:var(--blue)}
.ai-spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ai-rot .8s linear infinite;flex:none;display:inline-block}
@keyframes ai-rot{to{transform:rotate(360deg)}}
.ai-wait{display:flex;gap:10px;align-items:center;padding:18px;color:var(--blue)}
.ai-draft{overflow:hidden}
.ai-hdr{display:grid;grid-template-columns:76px minmax(0,1fr);gap:6px 12px;margin:0;padding:14px 18px;border-bottom:1px solid var(--card-border);font-size:14px}
.ai-hdr dt{color:var(--muted)}.ai-hdr dd{margin:0;min-width:0;overflow-wrap:anywhere}
.ai-to{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ai-to input{min-width:200px;flex:1;max-width:320px;border:1px solid var(--line);border-radius:8px;padding:5px 9px}
.ai-preview{display:block;width:100%;height:900px;border:0;background:#eef2f7}
.ai-revise{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--card-border);background:#fafbfd}
.ai-revise.busy{opacity:.55;pointer-events:none}
.ai-rv{display:flex;gap:6px;flex:1;min-width:220px}
.ai-rv input{flex:1;min-width:0;border:1px solid var(--line);border-radius:15px;padding:4px 12px;height:30px}
.ai-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--card-border)}
.ai-foot .sub{flex:1;min-width:200px}
.ai-safe{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;background:#f7f5ff;border-color:#e3dcfb;font-size:13.5px}
.card.ai-safe>svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--design)}
.ai-sh{display:flex;justify-content:space-between;align-items:center}
.ai-list{list-style:none;margin:0;padding:0}
.ai-list li{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:11px 18px;border-top:1px solid var(--card-border)}
.ai-list li>div:first-child{min-width:0}.ai-list b{display:block;overflow-wrap:anywhere}.ai-list small{display:block}
.ai-li-r{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;flex:none;max-width:60%}
.ai-sit td{font-size:13px;vertical-align:top}.ai-sit td:first-child{width:38%}
.ai-kv{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px 12px;margin:0 0 12px}.ai-kv dt{color:var(--muted)}.ai-kv dd{margin:0}
.ai-acc{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.ai-acc input,.ai-acc select{border:1px solid var(--line);border-radius:8px;padding:5px 8px}
.ai-acc input[id=rep-note]{flex:1;min-width:200px}
.ai-slot-row{display:grid;grid-template-columns:1fr 110px 1fr;gap:8px;margin-bottom:8px}
.ai-slot-row input,.ai-slot-row select{border:1px solid var(--line);border-radius:8px;padding:7px 9px;min-width:0}
.ai-ppl{max-height:160px;overflow:auto}
@media (max-width:1100px){.ai-lay{grid-template-columns:1fr}}
@media (max-width:700px){.ai-kps{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-steps{grid-template-columns:1fr 1fr}.ai-ask{flex-direction:column;align-items:stretch}.ai-mic{align-self:center}
  .ai-form{flex-direction:column;align-items:stretch}.ai-li-r{max-width:none}.ai-list li{flex-direction:column;align-items:flex-start}.ai-slot-row{grid-template-columns:1fr 1fr}.ai-slot-row select{grid-column:1/-1}}

/* ---------- Quản lý màn hình TV (ảnh 004-15) ---------- */
.tva-lay{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.tva-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.tva-list{list-style:none;margin:0;padding:0}
.tva-list li{display:flex;gap:10px;align-items:center;padding:10px 18px;border-top:1px solid var(--card-border)}
.tva-list li>div{flex:1;min-width:0}.tva-list b{display:block;overflow-wrap:anywhere}.tva-list small{display:block}
.tva-ic{width:30px;height:30px;border-radius:8px;background:var(--neutral-bg);color:var(--muted);display:grid;place-items:center;flex:none}.tva-ic svg{width:16px;height:16px}
.tva-up .tva-ic{background:var(--build-bg);color:var(--blue)}
.tva-dot{width:10px;height:10px;border-radius:50%;background:#cbd5e1;flex:none}.tva-dot.on{background:#16a34a;box-shadow:0 0 0 4px #dcfce7}
.tv-tg{border:0;cursor:pointer;flex:none}
.tva-th{width:52px;height:34px;object-fit:cover;border-radius:6px;flex:none}
.tva-foot{padding:10px 18px;border-top:1px solid var(--card-border)}
.tva-note{margin-top:14px}
.tva-video{width:100%;max-height:60vh;background:#000;border-radius:8px}
.tva-code{font-size:24px;letter-spacing:4px;font-variant-numeric:tabular-nums}
@media (max-width:1000px){.tva-lay{grid-template-columns:1fr}}
/* Công dụng phòng + thiết bị phòng họp (ảnh 48) */
.lu-lbl{font-size:12px;font-weight:800;letter-spacing:.4px;color:var(--muted);text-transform:uppercase;margin:12px 0 8px}
.lu-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.lu-o{border:1.5px solid var(--card-edge);border-radius:14px;padding:11px 13px;display:flex;gap:10px;align-items:flex-start;cursor:pointer;position:relative}
.lu-o input{position:absolute;opacity:0;pointer-events:none}.lu-o>svg{width:20px;height:20px;color:var(--muted);flex:none;margin-top:2px}
.lu-o b{display:block;font-size:14px}.lu-o small{display:block;color:var(--muted);font-size:12px;margin-top:2px;line-height:1.4}
.lu-o.on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:color-mix(in srgb,var(--blue) 5%,var(--card))}.lu-o.on>svg{color:var(--blue)}
.lu-o:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
.lu-more{margin-top:12px;border:1px solid #dbe7fb;background:color-mix(in srgb,var(--blue) 4%,var(--card));border-radius:14px;padding:12px 14px}
.lu-t{display:flex;gap:8px;align-items:center;font-weight:700;margin-bottom:8px}.lu-t svg{width:18px;height:18px;color:var(--blue)}
.lu-lbl2{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}
.lu-chips{display:flex;flex-wrap:wrap;gap:7px}
.lu-cp{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 12px;border-radius:16px;border:1.5px solid var(--card-edge);background:var(--card);font:inherit;font-weight:600;font-size:12.5px;color:var(--ink);cursor:pointer}
.lu-cp svg{width:14px;height:14px}.lu-cp.on{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--card));color:var(--blue)}
.lu-cp.add{border-style:dashed;border-color:#9fbbe6;color:var(--blue)}
.lu-new{display:inline-flex;gap:6px;align-items:center}.lu-new input{height:32px;border:1.5px solid var(--blue);border-radius:9px;padding:0 10px;font:inherit;width:170px;background:var(--card);color:var(--ink)}
@media (max-width:700px){.lu-opts{grid-template-columns:1fr}}
/* Sửa nội dung quyết định trước khi ký (ảnh 49) */
.de-top{display:flex;align-items:center;gap:12px;background:var(--navy);color:#fff;border-radius:14px;padding:10px 14px;margin-bottom:14px;flex-wrap:wrap}
.de-ti{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.de-ti svg{width:16px;height:16px}.de-ti b{font-size:15px}.de-ti small{color:#a9bad0;font-size:12px}
.de-acts{display:flex;gap:8px;flex-wrap:wrap}
.de-lay{display:grid;grid-template-columns:minmax(380px,560px) minmax(0,1fr);gap:16px;align-items:start}
.de-ed{display:flex;flex-direction:column;gap:10px}
.de-sec{background:var(--card);border:1px solid var(--card-edge);border-radius:14px;overflow:hidden}.de-sec.open{border-color:var(--blue)}
.de-sh{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;border:0;background:none;font:inherit;font-weight:800;color:var(--ink);cursor:pointer;text-align:left}
.de-sh>svg{width:16px;height:16px;color:var(--muted);transition:transform .15s}.de-sec.open .de-sh>svg{transform:rotate(180deg)}
.de-n{width:24px;height:24px;border-radius:7px;background:color-mix(in srgb,var(--blue) 12%,var(--card));color:var(--blue);display:grid;place-items:center;font-size:12px;flex:none}
.de-tag{margin-left:auto;font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px;background:color-mix(in srgb,var(--muted) 10%,var(--card));color:var(--muted)}
.de-tag.ch{background:var(--warn-bg);color:var(--warn)}
.de-sb{padding:4px 14px 14px;border-top:1px solid var(--hair);display:flex;flex-direction:column;gap:8px}
.de-lbl{font-size:12px;font-weight:700;color:var(--muted);margin-top:6px}
.de-list{display:flex;flex-direction:column;gap:6px}
.de-li{display:flex;align-items:flex-start;gap:6px;border:1px solid var(--card-edge);border-radius:10px;padding:5px 6px;background:var(--card)}
.de-li textarea{flex:1;border:0;resize:none;font:inherit;font-size:13px;line-height:1.45;padding:4px 2px;background:none;color:var(--ink);min-height:28px;overflow:hidden}
.de-li textarea:focus{outline:none}.de-li:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 20%,transparent)}
.de-ord{display:flex;flex-direction:column}.de-ord .icon-mini{width:22px;height:16px}.de-ord .icon-mini svg{width:12px;height:12px}.de-ord .icon-mini:first-child svg{transform:rotate(180deg)}
.de-add{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;border:0;background:none;color:var(--blue);font:inherit;font-weight:700;font-size:12.5px;cursor:pointer;padding:4px 0}.de-add svg{width:14px;height:14px}
.de-chips{display:flex;flex-wrap:wrap;gap:6px}
.de-cp{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 11px;border-radius:15px;border:1.5px solid var(--card-edge);background:var(--card);font:inherit;font-weight:600;font-size:12.5px;color:var(--ink);cursor:pointer}
.de-cp svg{width:13px;height:13px}.de-cp.on{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--card));color:var(--blue)}.de-cp.add{border-style:dashed;color:var(--blue)}
.de-new{display:inline-flex;gap:6px}.de-new input{height:30px;border:1.5px solid var(--blue);border-radius:9px;padding:0 10px;font:inherit;width:200px;background:var(--card);color:var(--ink)}
.de-ck{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.de-pv{background:color-mix(in srgb,var(--muted) 18%,var(--bg));border-radius:14px;padding:14px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
.de-pvh{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:10px;flex-wrap:wrap}.de-pvh svg{width:16px;height:16px}.de-pvh .sub:last-child{margin-left:auto}
mark.qd-chg{background:#fff1b8;color:inherit;padding:0 2px;border-radius:3px}
@media (max-width:1100px){.de-lay{grid-template-columns:1fr}.de-pv{position:static;max-height:none}}
@media print{mark.qd-chg{background:none}}
/* Báo sự cố thiết kế lại (ảnh 50) */
.icx{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.icx .ic-card{padding:0;overflow:hidden}
.ic-bd{padding:18px 20px 20px}.ic-bd h2{margin:0 0 4px;font-size:20px}.ic-lead{margin:0 0 12px}
.ic-stp{display:flex;align-items:center;gap:0;padding:14px 18px;border-bottom:1px solid var(--hair)}
.ic-stp .st{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:700;flex:none}.ic-stp .st b{display:block;font-size:13px}.ic-stp .st small{display:block;font-weight:500;font-size:11.5px;color:var(--muted)}
.ic-stp .n{width:28px;height:28px;border-radius:50%;border:2px solid var(--card-edge);display:grid;place-items:center;font-size:13px;flex:none}.ic-stp .n svg{width:14px;height:14px}
.ic-stp .st.on{color:var(--ink)}.ic-stp .st.on .n{background:var(--blue);border-color:var(--blue);color:#fff}
.ic-stp .st.done .n{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}
.ic-stp .ln{flex:1;height:2px;background:var(--card-edge);margin:0 12px;min-width:20px}.ic-stp .ln.on{background:var(--ok)}
.ic-quick{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:10px}
.ic-qk{display:flex;gap:12px;align-items:center;text-align:left;border:1.5px solid var(--card-edge);border-radius:14px;padding:11px 13px;background:var(--card);color:var(--ink);font:inherit;cursor:pointer}
.ic-qk .t{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 12%,var(--card));color:var(--blue);flex:none}.ic-qk .t svg{width:20px;height:20px}
.ic-qk b{display:block;font-size:14px}.ic-qk small{display:block;color:var(--muted);font-size:12px}
.ic-qk:hover:not(.scan):not(:disabled){border-color:var(--blue)}.ic-qk.on{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 5%,var(--card))}.ic-qk:disabled{opacity:.6;cursor:default}
.ic-qk.scan{background:var(--navy);border-color:var(--navy);color:#fff;cursor:default}.ic-qk.scan .t{background:rgba(255,255,255,.12);color:#fff}.ic-qk.scan small{color:#a9bad0}
.ic-gh{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.4px;margin:18px 0 8px}.ic-gh i{width:10px;height:10px;border-radius:3px;background:currentColor}
.ic-gh small{font-weight:600;color:var(--muted);letter-spacing:0;text-transform:none}.ic-gh.it{color:var(--blue)}.ic-gh.vh{color:var(--ok)}
.ic-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ic-tile{border:1.5px solid var(--card-edge);border-radius:14px;padding:14px 10px 12px;text-align:center;background:var(--card);color:var(--ink);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px}
.ic-tile .t{width:44px;height:44px;border-radius:12px;display:grid;place-items:center}.ic-tile .t svg{width:22px;height:22px}
.ic-tiles.it .t{background:color-mix(in srgb,var(--blue) 12%,var(--card));color:var(--blue)}.ic-tiles.vh .t{background:var(--ok-bg);color:var(--ok)}
.ic-tile b{font-size:13px;line-height:1.3}.ic-tile small{color:var(--muted);font-size:11px}
.ic-tile:hover{border-color:#b9cde8}.ic-tile.on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue),0 6px 16px rgba(10,91,211,.12);background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.ic-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:12px}
.ic-side .card{padding:16px}.ic-side h3{margin:0 0 10px;font-size:15px;display:flex;gap:8px;align-items:center}.ic-side h3 svg{width:18px;height:18px;color:var(--blue)}
.ic-sum{display:flex;flex-direction:column;gap:10px}.ic-sum .sr{display:flex;gap:10px;align-items:flex-start}
.ic-sum .k{width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--muted) 10%,var(--card));color:var(--muted);display:grid;place-items:center;flex:none}.ic-sum .k svg{width:16px;height:16px}
.ic-sum small{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.3px}.ic-sum b{font-size:13.5px}.ic-sum b.m{color:var(--muted);font-weight:600}
.ic-tk{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--hair);color:inherit;text-decoration:none}.ic-tk:first-of-type{border-top:0}
.ic-tk span:first-child{flex:1;min-width:0}.ic-tk b{display:block;font-size:12.8px}.ic-tk small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1000px){.icx{grid-template-columns:1fr}.ic-side{position:static}.ic-quick{grid-template-columns:1fr}.ic-stp .st small{display:none}}
/* Báo sự cố bước 2–3 (ảnh 51) */
.ic-ctx{display:inline-flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--muted) 9%,var(--card));border-radius:999px;padding:4px 12px 4px 5px;font-weight:700;margin-bottom:10px;max-width:100%}
.ic-ctx .t{width:26px;height:26px;border-radius:50%;background:var(--card);display:grid;place-items:center;color:var(--blue);flex:none}.ic-ctx .t svg{width:14px;height:14px}
.ic-ctx .link{margin-left:4px;font-weight:700}
.ic-lbl small{font-weight:500;letter-spacing:0;color:var(--muted);text-transform:none;margin-left:6px;opacity:.85}
.ic-sy{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.ic-s{position:relative;display:flex;align-items:center;gap:10px;text-align:left;border:1.5px solid var(--card-edge);border-radius:14px;padding:12px;background:var(--card);color:var(--ink);font:inherit;cursor:pointer;min-height:60px}
.ic-s .t{width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--muted) 10%,var(--card));color:var(--muted);display:grid;place-items:center;flex:none}.ic-s .t svg{width:18px;height:18px}
.ic-s b{font-size:13.5px}.ic-s:hover{border-color:#b9cde8}
.ic-s.on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:color-mix(in srgb,var(--blue) 5%,var(--card))}.ic-s.on .t{background:var(--blue);color:#fff}
.ic-s .ck,.ic-lv .ck{position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center}.ic-s .ck svg,.ic-lv .ck svg{width:11px;height:11px}
.ic-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ic-ph.img{background-size:cover;background-position:center;color:#fff;justify-content:flex-end;padding-bottom:5px}.ic-ph.img small{background:rgba(13,37,66,.6);border-radius:5px;padding:1px 5px}
.ic-ph.add{color:var(--blue);border-color:#9fbbe6;background:color-mix(in srgb,var(--blue) 4%,var(--card))}.ic-ph.add b{font-size:11px}
.ic-ph{width:92px;height:92px}
.ic-note{position:relative}.ic-note textarea{width:100%;min-height:110px;border:1.5px solid var(--card-edge);border-radius:12px;padding:10px 12px 46px;font:inherit;resize:vertical;background:var(--card);color:var(--ink)}
.ic-note textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent)}
.ic-mic{position:absolute;right:8px;bottom:10px;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--card-edge);background:var(--card);color:var(--ink);font:inherit;font-weight:700;font-size:12px;cursor:pointer}
.ic-mic svg{width:14px;height:14px}.ic-mic.on{background:var(--danger);border-color:var(--danger);color:#fff}
.ic-lvs{display:flex;flex-direction:column;gap:8px;margin-top:6px}.ic-lv{position:relative;margin-bottom:0}
@media (max-width:800px){.ic-two{grid-template-columns:1fr}.ic-sy{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Phân việc & người nhận + Gửi yêu cầu (ảnh 54–55, 04/10/2026) */
.rt-table td{vertical-align:top}.rt-table small.sub,.data small.sub.rq-sub{display:block;font-size:12.5px}.rt-table tr.rt-bad{background:color-mix(in srgb,var(--danger-bg) 55%,transparent)}
.rt-note{display:block;margin-top:4px;font-size:12.5px}.rt-note.danger{color:var(--danger);font-weight:600}.rt-note.warn{color:var(--warn);font-weight:600}
.rt-acts{text-align:right}.rt-acts .btn{vertical-align:middle}#rt-addf{justify-self:start}.rt-foot{padding:12px 16px;margin:0}
.rt-subj{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.ppick{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ppick .pp-chips{display:contents}.ppick select{flex:1;min-width:160px}
.rt-field{display:grid;grid-template-columns:minmax(0,1fr) 130px auto auto;gap:8px;align-items:center;margin-bottom:6px}
.rt-eta{display:flex;gap:8px;align-items:center;margin-top:12px;padding:10px 14px;border-radius:10px;background:var(--ok-bg);color:var(--ok);font-size:13.5px}
.rt-eta svg{width:16px;height:16px;flex:none}
.rt-due{display:inline-block;margin-top:6px;white-space:normal;line-height:1.35}
.rt-nudge{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.rt-nudge .grow{flex:1}
.rq-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:6px 0 10px}
.rq-type{display:flex;flex-direction:column;gap:3px;text-align:left;padding:12px 14px;border:1px solid var(--card-edge);border-radius:12px;background:var(--card);color:inherit;cursor:pointer;font:inherit}
.rq-type:hover{border-color:var(--blue)}.rq-type small{color:var(--muted);font-size:12.5px}
.rq-route{padding:12px 14px;border:1px solid var(--card-edge);border-radius:12px}
.rq-steps{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}.rq-steps li{display:flex;gap:10px;align-items:flex-start}
.rq-steps .n{width:26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.rq-steps small{display:block}
.rq-bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.rq-bar span{display:block;height:100%;background:var(--blue);border-radius:3px}
.rq-comment{display:flex;gap:8px}.rq-comment input{flex:1}
@media (max-width:600px){.rt-field{grid-template-columns:1fr 1fr}.rt-acts{text-align:left}}
.form>.span-2{grid-column:1/-1}.rt-duties-box{border-top:1px solid var(--line);padding-top:12px}.rt-duties-box:empty{display:none}
.rt-duties{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;font-size:13.5px}.rt-duties li{display:flex;gap:6px;align-items:flex-start}
.rt-duties svg{width:14px;height:14px;color:var(--ok);flex:none;margin-top:3px}
.rq-track{list-style:none;margin:0;padding:0;display:grid}
.rq-track li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;position:relative;padding-bottom:16px}
.rq-track li:last-child{padding-bottom:0}
.rq-track li::before{content:"";position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--line)}
.rq-track li:last-child::before{display:none}
.rq-track .dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--neutral-bg);color:var(--muted)}
.rq-track .dot svg{width:16px;height:16px}
.rq-track li.done .dot{background:var(--ok);color:#fff}.rq-track li.done::before{background:var(--ok)}
.rq-track li.current .dot{background:var(--blue);color:#fff;box-shadow:0 0 0 4px rgba(6,101,237,.16)}.rq-track li.current .t-label{color:var(--blue)}
.rq-track li.rejected .dot{background:var(--danger);color:#fff}
.rq-track .t-label{font-weight:700}
/* Phiếu đã gửi (ảnh 52) */
.pt-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.pt-f{display:inline-flex;align-items:center;gap:6px;height:36px;white-space:nowrap;padding:0 14px;border-radius:18px;border:1px solid var(--card-edge);background:var(--card);font:inherit;font-weight:700;color:var(--ink);cursor:pointer}
.pt-f .n{background:color-mix(in srgb,var(--muted) 12%,var(--card));border-radius:999px;padding:0 7px;font-size:11.5px}.pt-f svg{width:14px;height:14px}
.pt-f.on{background:var(--navy);color:#fff;border-color:var(--navy)}.pt-f.on .n{background:rgba(255,255,255,.18)}
.pt-f.wait-rate{border-color:#f5d48a;background:color-mix(in srgb,#f59e0b 8%,var(--card));color:var(--warn)}.pt-f.wait-rate.on{background:var(--warn);border-color:var(--warn);color:#fff}
.pt-q{margin-left:auto;display:flex;align-items:center;gap:6px;height:36px;border:1px solid var(--card-edge);border-radius:10px;padding:0 10px;background:var(--card);width:min(280px,100%)}
.pt-q svg{width:16px;height:16px;color:var(--muted)}.pt-q input{border:0;outline:0;background:none;font:inherit;flex:1;color:var(--ink);min-width:0}
.pt-lay{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.pt-lay.has-detail{grid-template-columns:minmax(320px,480px) minmax(0,1fr)}
.pt-list{display:flex;flex-direction:column;gap:10px}
.pt-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;text-align:left;background:var(--card);border:1.5px solid var(--card-edge);border-radius:16px;padding:13px 14px;font:inherit;color:var(--ink);cursor:pointer}
.pt-card:hover{border-color:#b9cde8}.pt-card.on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.pt-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center}.pt-ic svg{width:22px;height:22px}.pt-ic.lg{width:48px;height:48px;border-radius:14px}
.pt-ic.it{background:color-mix(in srgb,var(--blue) 12%,var(--card));color:var(--blue)}.pt-ic.vh{background:var(--ok-bg);color:var(--ok)}
.pt-mid{min-width:0}.pt-code{font-size:11px;color:var(--muted)}.pt-mid b{display:block;font-size:14px;margin:1px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-mid small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-mini{display:flex;align-items:center;gap:4px;margin-top:8px}.pt-mini i{height:5px;flex:1;max-width:60px;border-radius:3px;background:var(--card-edge)}.pt-mini i.on{background:var(--blue)}.pt-mini i.ok{background:var(--ok)}
.pt-mini em{font-style:normal;font-size:11px;color:var(--muted);margin-left:6px;white-space:nowrap}
.pt-rt{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.pt-rt small{font-size:11.5px;color:var(--muted)}
.pt-av{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:9.5px;font-weight:700}
.pt-empty{padding:24px;text-align:center}
.pt-det{padding:0;overflow:hidden;position:sticky;top:12px}
.pt-dh{display:flex;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--hair)}.pt-dh h2{margin:0;font-size:17px}.pt-dh .grow{flex:1;min-width:0}
.pt-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.pt-pad{margin:12px 16px}
.pt-trk{display:flex;padding:16px 18px;border-bottom:1px solid var(--hair)}
.pt-ts{flex:1;text-align:center;position:relative;min-width:0}.pt-ts .d{width:30px;height:30px;border-radius:50%;margin:0 auto 6px;display:grid;place-items:center;border:2px solid var(--card-edge);background:var(--card);position:relative;z-index:1;color:var(--muted)}
.pt-ts .d svg{width:14px;height:14px}.pt-ts::before{content:"";position:absolute;top:15px;left:-50%;right:50%;height:2px;background:var(--card-edge)}.pt-ts:first-child::before{display:none}
.pt-ts.done::before,.pt-ts.cur::before{background:var(--ok)}.pt-ts.done .d{background:var(--ok);border-color:var(--ok);color:#fff}
.pt-ts.cur .d{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 20%,transparent)}
.pt-ts b{display:block;font-size:12.5px}.pt-ts small{display:block;color:var(--muted);font-size:11px;padding:0 4px}
.pt-rate{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 16px 0;border:1.5px solid #f5d48a;background:color-mix(in srgb,#f59e0b 7%,var(--card));border-radius:14px;padding:12px 14px}
.pt-rate b{display:block}.pt-rate .filter-input{flex:1;min-width:160px}
.pt-stars{display:flex;flex-direction:row-reverse;gap:2px}.pt-stars input{position:absolute;opacity:0}.pt-stars label{cursor:pointer;color:#cbd5e1}.pt-stars svg{width:24px;height:24px}
.pt-stars label:has(input:checked) svg,.pt-stars label:has(input:checked)~label svg,.pt-stars label:hover svg,.pt-stars label:hover~label svg{color:#f59e0b;fill:#f59e0b}
.pt-body{display:grid;grid-template-columns:minmax(0,1fr) 230px}
.pt-chat{padding:16px;border-right:1px solid var(--hair);display:flex;flex-direction:column;gap:10px;min-width:0}
.pt-m{max-width:80%;border-radius:14px;padding:9px 12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.pt-m small{display:block;font-size:11px;margin-bottom:2px;opacity:.75}
.pt-m.me{align-self:flex-end;background:var(--blue);color:#fff}.pt-m.th{align-self:flex-start;background:color-mix(in srgb,var(--muted) 10%,var(--card))}
.pt-sys{align-self:center;font-size:11.5px;color:var(--muted);border:1px dashed var(--card-edge);border-radius:999px;padding:3px 10px;text-align:center}
.pt-phs{display:flex;gap:6px;flex-wrap:wrap}.pt-phs.me{align-self:flex-end}
.pt-ph{width:72px;height:72px;border-radius:10px;border:1px solid var(--card-edge);background:color-mix(in srgb,var(--muted) 10%,var(--card)) center/cover;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:var(--muted);font:inherit}
.pt-ph svg{width:18px;height:18px}.pt-ph small{font-size:9.5px}
.pt-qr{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.pt-cmp{display:flex;gap:8px;align-items:flex-end;border:1.5px solid var(--card-edge);border-radius:12px;padding:6px 6px 6px 12px}
.pt-cmp textarea{flex:1;border:0;outline:0;resize:none;font:inherit;background:none;color:var(--ink);min-height:30px;padding:5px 0}
.pt-cmp:focus-within{border-color:var(--blue)}
.pt-inf{padding:16px;display:flex;flex-direction:column;gap:12px}.pt-inf small{display:block;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.3px;margin-bottom:2px}.pt-inf b{font-size:13px}
@media (max-width:1100px){.pt-body{grid-template-columns:1fr}.pt-chat{border-right:0;border-bottom:1px solid var(--hair)}}
@media (max-width:1000px){.pt-lay.has-detail{grid-template-columns:1fr}.pt-det{position:static}.pt-q{margin-left:0}}
/* Hàng đợi dạng thẻ (ảnh 56) */
.pt-areas{display:inline-flex;gap:6px;margin-right:6px;padding-right:12px;border-right:1px solid var(--card-edge)}
.pt-f.area svg{width:15px;height:15px}.pt-f.area.on{background:color-mix(in srgb,var(--blue) 10%,var(--card));color:var(--blue);border-color:var(--blue)}
.pt-f.late{border-color:#f3c9c4;background:color-mix(in srgb,var(--danger) 6%,var(--card));color:var(--danger)}.pt-f.late.on{background:var(--danger);border-color:var(--danger);color:#fff}
.pt-f.late svg{width:14px;height:14px}
.pt-card.late{border-left:4px solid var(--danger);padding-left:11px}
@media (max-width:900px){.pt-areas{border-right:0;padding-right:0;width:100%}}

/* ---------- Phân việc & người nhận (ảnh 70) ---------- */
.pv-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.pv-kpi{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:14px 16px}
.pv-kpi b{display:block;font-size:24px;line-height:1.1;color:var(--ink)}.pv-kpi small{color:var(--muted);font-size:13px}
.pv-ki{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--blue) 12%,var(--card));color:var(--blue)}
.pv-ki svg{width:20px;height:20px}
.pv-kpi.ok .pv-ki{background:var(--ok-bg);color:var(--ok)}.pv-kpi.warn .pv-ki{background:var(--warn-bg);color:var(--warn)}.pv-kpi.bad .pv-ki{background:var(--danger-bg);color:var(--danger)}
.pv-kpi:not(.ok):not(.warn):not(.bad):nth-child(n+3) .pv-ki{background:var(--neutral-bg);color:var(--muted)}
.pv-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.pv-chips{display:flex;gap:8px;flex-wrap:wrap;flex:1}
.pv-chip{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--card-edge);background:var(--card);color:var(--ink);border-radius:999px;padding:7px 14px;font:600 14px var(--font);cursor:pointer}
.pv-chip span{background:var(--neutral-bg);border-radius:999px;padding:0 8px;font-size:12px}
.pv-chip svg{width:15px;height:15px}
.pv-chip.warn{border-color:color-mix(in srgb,var(--warn) 45%,transparent);color:var(--warn)}
.pv-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.pv-chip.on span{background:rgba(255,255,255,.18)}
.pv-search{display:flex;gap:8px;align-items:center;border:1px solid var(--card-edge);background:var(--card);border-radius:10px;padding:0 12px;min-width:260px}
.pv-search svg{width:16px;height:16px;color:var(--muted)}.pv-search input{border:0;background:none;outline:0;padding:9px 0;flex:1;font:14px var(--font);color:var(--ink)}
.pv-gh{display:flex;gap:8px;align-items:center;margin:18px 4px 8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pv-gh svg{width:16px;height:16px}.pv-gh small{text-transform:none;letter-spacing:0;font-weight:400;font-size:12px}
.pv-row{background:var(--card);border:1px solid var(--card-edge);border-radius:14px;margin-bottom:10px;overflow:hidden}
.pv-row.warn{border-left:4px solid var(--warn)}.pv-row.bad{border-left:4px solid var(--danger)}
.pv-main{display:grid;grid-template-columns:44px minmax(180px,1.1fr) minmax(0,2.2fr) 130px auto;gap:14px;align-items:center;padding:14px 16px}
.pv-ic{width:44px;height:44px;border-radius:12px;background:var(--neutral-bg);color:var(--muted);display:grid;place-items:center}.pv-ic svg{width:20px;height:20px}
.pv-name b{display:block;font-size:15px}.pv-name small,.pv-wt small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.pv-who{display:flex;gap:10px;align-items:flex-start;min-width:0}
.pv-avs{display:flex;flex:none}.pv-av{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid var(--card)}
.pv-av+.pv-av{margin-left:-8px}.pv-av.more{background:var(--neutral-bg);color:var(--muted)}
.pv-wt{min-width:0}.pv-wt>b{display:block;font-size:14.5px}.pv-none{color:var(--danger)}
.pv-b{display:inline-flex;gap:4px;align-items:center;margin-top:5px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--neutral-bg);color:var(--muted)}
.pv-b svg{width:13px;height:13px}.pv-b.ok{background:var(--ok-bg);color:var(--ok)}.pv-b.warn{background:var(--warn-bg);color:var(--warn)}.pv-b.bad{background:var(--danger-bg);color:var(--danger)}
.pv-sla{display:flex;gap:6px;align-items:center;font-weight:600;font-size:14px;white-space:nowrap}.pv-sla svg{width:15px;height:15px;color:var(--muted)}
.pv-acts{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.pv-warn{margin:0 16px 14px 74px;border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);background:var(--warn-bg);border-radius:12px;padding:10px 14px}
.pv-warn.bad{border-color:var(--danger-line);background:var(--danger-bg)}
.pv-warn summary{cursor:pointer;font-weight:600;color:var(--warn);display:flex;gap:6px;align-items:center;list-style:none}.pv-warn.bad summary{color:var(--danger)}
.pv-warn summary::-webkit-details-marker{display:none}.pv-warn summary svg{width:14px;height:14px;transition:transform .15s}.pv-warn[open] summary svg{transform:rotate(90deg)}
.pv-wl{margin:8px 0 0;font-size:13.5px}
.pv-dl{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pv-dc{display:inline-flex;gap:6px;align-items:center;background:var(--card);border:1px solid var(--card-edge);border-radius:9px;padding:5px 10px;font-size:13.5px}
.pv-dc a{color:var(--blue);font-weight:600}
.pv-foot{margin:14px 4px 0}
@media (max-width:1100px){.pv-main{grid-template-columns:44px minmax(0,1fr) auto}.pv-who{grid-column:2/-1}.pv-sla{grid-column:2}.pv-acts{grid-column:3;grid-row:3}}
@media (max-width:760px){.pv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-search{min-width:0;flex:1 1 100%}.pv-warn{margin-left:16px}
  .pv-main{grid-template-columns:44px minmax(0,1fr)}.pv-who,.pv-sla,.pv-acts{grid-column:1/-1;grid-row:auto}.pv-acts{justify-content:flex-start}}

/* GL-1 (04/10/2026): dòng nhập lương có cảnh báo */
table.data tr.row-warn td:last-child{background:var(--warn-bg)}
/* GL-3 (04/10/2026): bên xử lý sự cố cơ điện & kiến trúc (Kiến trúc & vị trí, chỉ TGĐ) */
.fac-card{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.fac-card .fac-txt{flex:1;min-width:280px} .fac-card h2{margin:0 0 4px;font-size:17px}
.fac-card .fac-pick{min-width:340px;margin:0}
@media (max-width:600px){.fac-card .fac-pick{min-width:0;width:100%}}
/* GL-5 (04/10/2026): đổi mật khẩu — tuỳ chọn gỡ Face ID / vân tay trên các máy khác (mặc định không tick) */
.pw-pk{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--surface-2,var(--bg))}
.pw-pk .check{display:flex;gap:10px;align-items:flex-start;font-weight:600}
.pw-pk .check input{margin-top:3px} .pw-pk .check small{display:block;font-weight:400}
/* GL-6 (04/10/2026): cảnh báo ngày nghỉ trong hộp Đặt xe chiếm cả hàng */
.alert.span-2{grid-column:1/-1}
/* Kiến trúc & vị trí — thêm tầng / phòng nhanh (ảnh 58, 04/10/2026) */
.qz-head{display:flex;align-items:center;gap:8px;padding:14px 14px 8px}.qz-head b{display:flex;gap:8px;align-items:center;font-size:15.5px;flex:1;min-width:0}
.qz-head b svg{width:18px;height:18px;flex:none}
.qz-btn{display:inline-flex;gap:5px;align-items:center;height:28px;padding:0 10px;border-radius:8px;border:1px solid var(--card-edge);background:var(--card);font:inherit;font-size:12.5px;font-weight:600;color:var(--blue);cursor:pointer;flex:none}
.qz-btn svg{width:13px;height:13px}.qz-btn:hover{border-color:var(--blue)}
.qz-list{list-style:none;margin:0;padding:0 8px 8px}
.qz-f{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;font-weight:600;cursor:pointer}
.qz-f:hover{background:var(--neutral-bg)}.qz-f.on{background:color-mix(in srgb,var(--blue) 9%,var(--card));color:var(--blue)}
.qz-f.off,.qz-r.off{opacity:.5}
.qz-f>svg{width:15px;height:15px;color:var(--muted);flex:none}
.qz-chev{display:grid;place-items:center;width:16px;height:16px;color:var(--muted);flex:none;transition:transform .15s}.qz-chev svg{width:14px;height:14px}.qz-chev.open{transform:rotate(90deg)}
.qz-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qz-f em{font-style:normal;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}
.qz-plus{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:var(--card);border:1px solid #bcd3f5;color:var(--blue);cursor:pointer;padding:0;flex:none;opacity:0}
.qz-plus svg{width:13px;height:13px}.qz-f:hover .qz-plus,.qz-f.on .qz-plus,.qz-plus:focus-visible{opacity:1}
@media (hover:none){.qz-plus{opacity:1}}
.qz-r{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 34px;font-size:13.5px;border-radius:8px;cursor:pointer}
.qz-r:hover{background:var(--neutral-bg)}.qz-r.on{background:color-mix(in srgb,var(--blue) 9%,var(--card));color:var(--blue);font-weight:600}
.qz-r>svg{width:14px;height:14px;color:var(--muted);flex:none}
.qz-in{margin:4px 6px 6px 30px;display:flex;align-items:center;gap:6px;border:1.5px dashed #9cc0f5;border-radius:9px;padding:5px 8px;background:color-mix(in srgb,var(--blue) 4%,var(--card))}
.qz-in:focus-within{border-style:solid;border-color:var(--blue);background:var(--card);box-shadow:0 0 0 3px rgba(6,101,237,.12)}
.qz-in input{flex:1;border:0;background:transparent;font:inherit;font-size:13.5px;outline:none;min-width:0;padding:3px 0;color:inherit}
.qz-in kbd{font:600 11px/1 ui-monospace,monospace;border:1px solid var(--card-edge);border-bottom-width:2px;border-radius:5px;padding:3px 6px;color:var(--muted);background:var(--card)}
.qz-hint{margin:0 8px 8px 32px;font-size:12px;color:var(--muted)}.qz-hint b{color:var(--blue)}
.qz-sep{height:1px;background:var(--line);margin:6px 4px}
.qz-add{margin:6px 0 4px}.qz-add .qz-in{margin:0}
.qz-prev{margin:8px 2px 0;display:flex;flex-wrap:wrap;gap:6px}.qz-prev:empty{display:none}
.qz-prev span{font-size:12px;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--blue) 10%,var(--card));color:var(--blue);font-weight:600}
.qz-go{display:flex;gap:8px;margin:10px 2px 4px}.qz-go .btn{flex:1;justify-content:center}
.qz-foot{display:flex;gap:6px;align-items:center;width:100%;border:0;border-top:1px solid var(--line);background:transparent;padding:11px 16px;font:inherit;font-size:13px;color:var(--blue);font-weight:600;cursor:pointer;text-align:left}
.qz-foot svg{width:14px;height:14px}.qz-foot:hover{background:var(--neutral-bg)}
.qz-cell-add{border:1.5px dashed #9cc0f5!important;background:color-mix(in srgb,var(--blue) 4%,var(--card))!important;color:var(--blue)}
.qz-bulk{margin:0 16px 16px;border:1px solid #bcd3f5;border-radius:14px;background:var(--card);box-shadow:0 10px 30px rgba(11,63,143,.12);padding:16px}
.qz-bulk h4{margin:0 0 4px;font-size:15px}.qz-bulk p{margin:0 0 10px;font-size:12.5px}
.qz-bulk textarea{width:100%;box-sizing:border-box;border:1px solid var(--card-edge);border-radius:10px;padding:10px;font:inherit;font-size:13.5px;resize:vertical;background:var(--card);color:inherit}
.qz-bulk-row{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}.qz-bulk-row .sp{flex:1}
.qz-bulk-row select{height:34px;border:1px solid var(--card-edge);border-radius:8px;padding:0 8px;font:inherit;font-size:13px;background:var(--card);color:inherit}
.lc-lay{grid-template-columns:290px minmax(0,1fr) 320px}
@media (max-width:1280px){.lc-lay{grid-template-columns:270px minmax(0,1fr)}}
@media (max-width:850px){.lc-lay{grid-template-columns:1fr}}

/* Giả lập vòng 2 (H22): khối chuyến trên lịch xe mỗi dòng một hàng, dài thì "…" (E2-7); bảng "Chờ tôi duyệt" rộng hết hàng (E2-9) */
.vc-b b,.vc-b span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exp-main>.exp-queue,.exp-main>.exp-queue~section{grid-column:1/-1}
/* Câu 16A: trưởng phòng đặt người duyệt thay của phòng (Cài đặt › Uỷ quyền khi vắng) */
.dep-form{display:flex;align-items:flex-end;gap:10px;margin-top:10px}.dep-form .field{flex:1;min-width:0}

/* ---------- Ký & ban hành quyết định (ảnh 71) ---------- */
mark.qd-add{background:#dcfce7;color:inherit;padding:0 2px;border-radius:3px;box-shadow:inset 0 -2px 0 #16a34a}
@media print{mark.qd-add{background:none;box-shadow:none}}
.ks-sub{margin:0 0 12px;color:var(--muted)}.ks-sub b{color:var(--ink)}
.ks-sec{border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.ks-st{display:flex;gap:8px;align-items:center;font-weight:700;font-size:14.5px;margin-bottom:8px;flex-wrap:wrap}
.ks-st .k{width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;display:grid;place-items:center;flex:none}
.ks-pill{font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 9px;background:var(--neutral-bg);color:var(--muted)}
.ks-pill.warn{background:var(--warn-bg);color:var(--warn)}.ks-pill.ok{background:var(--ok-bg);color:var(--ok)}.ks-pill.info{background:color-mix(in srgb,var(--blue) 12%,var(--card));color:var(--blue)}
.ks-hl{margin-left:auto;display:inline-flex;gap:6px;align-items:center;font-weight:500;font-size:13px;color:var(--blue);cursor:pointer}.ks-hl svg{width:15px;height:15px}
.ks-chg{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 10px;padding:8px 0;border-top:1px dashed var(--card-edge);font-size:13.5px}.ks-chg:first-of-type{border-top:0}
.ks-chg .f{font-weight:600;color:var(--muted)}.ks-chg small{grid-column:2;color:var(--muted);font-size:12px}
.ks-del{color:var(--danger);text-decoration:line-through;background:var(--danger-bg);padding:0 3px;border-radius:3px}
.ks-ins{color:var(--ok);background:var(--ok-bg);padding:0 3px;border-radius:3px}
.ks-same{display:flex;gap:6px;align-items:center;margin:2px 0}.ks-same svg{width:15px;height:15px;color:var(--ok)}
.ks-mini{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:8px}.ks-mini .sub{font-size:12.5px}
.ks-sec .field textarea{min-height:56px}
.ks-rc{display:flex;gap:10px;align-items:center;padding:7px 2px;border-top:1px solid var(--hair)}#ks-list .ks-rc:first-child{border-top:0}
.ks-rc.off{opacity:.5}.ks-rc>input{accent-color:var(--blue);width:17px;height:17px;flex:none}.ks-rc .g{flex:1;min-width:0}
.ks-rc b{display:block;font-size:13.5px}.ks-rc small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.ks-av{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;flex:none}.ks-av.new{background:#7c3aed}
.ks-find{position:relative;margin-top:8px}
.ks-search{display:flex;gap:8px;align-items:center;border:1px dashed var(--card-edge);border-radius:9px;padding:0 11px}.ks-search svg{width:15px;height:15px;color:var(--muted)}
.ks-search input{border:0;background:none;outline:0;flex:1;padding:8px 0;font:13.5px var(--font);color:var(--ink)}
.ks-res{border:1px solid var(--card-edge);border-radius:10px;margin-top:4px;max-height:220px;overflow:auto;background:var(--card)}.ks-res .sub{padding:8px 12px;margin:0}
.ks-hit{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 12px;cursor:pointer;font:inherit;color:var(--ink)}.ks-hit:hover{background:var(--neutral-bg)}
.ks-hit b{display:block;font-size:13.5px}.ks-hit small{color:var(--muted);font-size:12px}
.ks-note{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--muted);background:var(--neutral-bg);border-radius:8px;padding:7px 10px;margin:8px 0 0}.ks-note svg{width:14px;height:14px;flex:none}
.ks-sign{border-top:1px solid var(--card-edge);padding-top:12px}
@media (max-width:640px){.ks-chg{grid-template-columns:1fr}.ks-chg small{grid-column:1}.ks-hl{margin-left:0}}
/* Ô xác nhận + PIN ghim ở đáy vùng cuộn của hộp ký */
.ks-sign{position:sticky;bottom:-18px;z-index:2;background:var(--card);margin:0 -22px -18px;padding:12px 22px 14px;box-shadow:0 -8px 16px -10px rgba(15,30,60,.25);display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:10px 16px;align-items:end}
.ks-sign .field{margin:0}
@media (max-width:640px){.ks-sign{grid-template-columns:1fr}}
/* ---------- Phân quyền: trang tài khoản (ảnh PQ-1) + mẫu quyền (ảnh PQ-2) ---------- */
.pq-lay{display:grid;grid-template-columns:320px minmax(0,1fr) 290px;gap:16px;align-items:start}
.pq-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.pq-ch{display:flex;align-items:center;gap:9px;padding:13px 16px;border-bottom:1px solid var(--card-border)}.pq-ch h2{margin:0;font-size:14.5px;white-space:nowrap}.pq-ch>.pill:last-child{margin-left:auto}.pq-ch .sp{flex:1}.pq-ch svg{width:16px;height:16px;color:var(--muted)}
.pq-n{width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;display:inline-grid;place-items:center;flex:none}
.pq-kv{display:grid;grid-template-columns:116px minmax(0,1fr);gap:9px 10px;margin:0;padding:13px 16px;font-size:13px}.pq-kv dt{color:var(--muted)}.pq-kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.pq-hint{display:flex;gap:8px;margin:0 16px 14px;background:#f6f8fb;border-radius:10px;padding:10px 12px;font-size:12.3px;color:#475569;line-height:1.5}.pq-hint svg{width:16px;height:16px;flex:none;margin-top:2px}
.pq-foot{padding:0 16px 14px}
.pq-role{display:flex;gap:10px;padding:10px 16px;border-top:1px solid var(--card-border);align-items:flex-start;cursor:pointer}
.pq-role input{margin-top:3px;width:16px;height:16px;accent-color:var(--blue);flex:none}.pq-role.on{background:#f3f8ff}
.pq-role b{display:flex;gap:5px;align-items:center;font-size:13px}.pq-role b svg{width:13px;height:13px}.pq-role small{display:block;color:var(--muted);font-size:12px;line-height:1.45}.pq-role.lk{opacity:.6;cursor:default}
.pq-menu{overflow:hidden}
.pq-leg{display:flex;gap:14px;padding:11px 16px;border-bottom:1px solid var(--card-border);font-size:12px;color:#475569;flex-wrap:wrap}.pq-leg>span{display:inline-flex;gap:6px;align-items:center}
.pq-sw{width:32px;height:18px;border-radius:99px;background:#cbd5e1;position:relative;border:0;padding:0;cursor:pointer;flex:none}
.pq-sw::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .15s}
.pq-sw.on{background:var(--blue)}.pq-sw.on::after{left:16px}.pq-sw:disabled{cursor:default;opacity:.55}
.pq-sec{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:#f6f8fb;border:0;border-top:1px solid var(--card-border);font:inherit;font-size:11.5px;font-weight:800;color:#475569;letter-spacing:.04em;text-align:left}
.pq-sec .sp{flex:1}.pq-sec small{font-weight:600;letter-spacing:0;color:var(--muted);font-size:11.5px;text-align:right}
.pq-row{display:grid;grid-template-columns:36px minmax(170px,1.2fr) 120px 170px minmax(140px,1fr) 96px;gap:10px;align-items:center;padding:9px 16px;border-top:1px solid var(--card-border);font-size:13px}
.pq-row b{font-weight:600}.pq-row small{display:block;color:var(--muted);font-size:11.5px}.pq-row.off{color:#94a3b8}.pq-row.off b{font-weight:500}
.pq-row.add{background:#effaf3}.pq-row.rm{background:#fff3f2}.pq-row.lk{background:#fafbfc;color:#94a3b8}.pq-row.lk b{display:flex;gap:5px;align-items:center}.pq-row.lk svg{width:13px;height:13px}
.pq-row select{width:100%;border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:12.5px;background:#fff}
.pq-th{font-size:10.8px;font-weight:800;color:#64748b;letter-spacing:.03em;padding-top:8px;padding-bottom:8px}
.pq-scope{font-size:12.3px}.pq-tabs{display:flex;gap:5px;flex-wrap:wrap}
.pq-tg{border:1px solid #cfe0fb;background:#f3f8ff;color:var(--blue);border-radius:7px;padding:2px 8px;font-size:11.5px;font-weight:600;cursor:pointer;display:inline-flex;gap:4px;align-items:center}
.pq-tg.off{border-color:#e2e8f0;background:#fff;color:#94a3b8;text-decoration:line-through}.pq-tg.lk{border-color:#e2e8f0;background:#f6f8fb;color:#94a3b8;cursor:default}.pq-tg svg{width:11px;height:11px}.pq-tg:disabled{cursor:default}
.pq-tag{font-style:normal;font-size:10.8px;font-weight:800;border-radius:6px;padding:2px 7px;text-align:center;white-space:nowrap;display:inline-block}
.pq-tag.d{background:#eef2f7;color:#64748b}.pq-tag.a{background:#dcf5e5;color:#167548}.pq-tag.m{background:#fde4e1;color:#b42318}.pq-tag.l{background:#f1f5f9;color:#64748b}
.pq-side{background:var(--navy);border-radius:14px;padding:12px 10px;color:#fff}.pq-side h4{margin:4px 6px 10px;font-size:12.5px;color:#c9d6ea;font-weight:600;display:flex;gap:6px;align-items:center}.pq-side h4 svg{width:15px;height:15px}.pq-side h4 small{color:#8ee0b8}
.pq-side .g{font-size:9.5px;letter-spacing:.06em;color:#7f95b1;font-weight:700;padding:9px 8px 4px}
.pq-side .it{display:flex;gap:8px;align-items:center;padding:4px 8px;border-radius:7px;font-size:12.3px;color:#dbe6f5}.pq-side .it.new{background:#1f7a4c55;color:#b6f3cf}.pq-side .it.gone{color:#ff9b93;text-decoration:line-through;opacity:.85}
.pq-side .d{width:5px;height:5px;border-radius:50%;background:#7f95b1;flex:none}.pq-side .it.new .d{background:#8ee0b8}
.pq-diff{padding:12px 16px;display:flex;gap:6px;flex-wrap:wrap}
.pq-li{display:flex;gap:9px;padding:9px 16px;border-top:1px solid var(--card-border);font-size:12.6px;align-items:flex-start}.pq-li svg{width:15px;height:15px;color:var(--ok);flex:none;margin-top:1px}.pq-li.warn svg{color:var(--warn)}
.pq-pad{padding:10px 16px;margin:0}
.pq-hist{padding:4px 16px 12px;font-size:12.3px;color:#475569}.pq-hist p{margin:8px 0 0;line-height:1.45}.pq-hist b{color:var(--ink)}
@media (max-width:1700px){.pq-lay{grid-template-columns:300px minmax(0,1fr);grid-template-areas:"a b" "c b"}.pq-lay>.pq-col:first-child{grid-area:a}.pq-lay>.pq-menu{grid-area:b}.pq-lay>.pq-col:last-child{grid-area:c}}
@media (max-width:1100px){.pq-row{grid-template-columns:36px minmax(150px,1fr) 150px 84px}.pq-row>.pq-scope{display:none}.pq-row>.pq-tabs{grid-column:2/4}.pq-th>:nth-child(3),.pq-th>:nth-child(5){display:none}}
@media (max-width:900px){.pq-lay{grid-template-columns:1fr;grid-template-areas:"a" "b" "c"}.pq-row{grid-template-columns:36px 1fr auto;row-gap:6px}.pq-row>:nth-child(3),.pq-row>:nth-child(5){grid-column:2/-1}.pq-row>:nth-child(4){grid-column:2/-1}.pq-th{display:none}}
.pm-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.pm-flow>div{background:var(--card);border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px}.pm-flow>div.lk{background:#fff8eb;border-color:#f3dfb1}
.pm-flow b{font-size:13.5px;margin-left:6px}.pm-flow p{margin:6px 0 0;font-size:12.3px;color:#475569;line-height:1.5}
.pm-leg{display:flex;gap:14px;padding:12px 16px;font-size:12.3px;color:#475569;border-bottom:1px solid var(--card-border);flex-wrap:wrap;align-items:center}.pm-leg>span{display:inline-flex;gap:6px;align-items:center}.pm-leg .sp{flex:1}
.pm-chg{border-left:3px solid #7c3aed;padding-left:6px}
.pm-table{border-collapse:collapse;width:100%;font-size:12.6px;min-width:960px}
.pm-table th,.pm-table td{border-top:1px solid var(--card-border);padding:7px 6px;text-align:center}
.pm-table th{font-size:11px;color:#475569;font-weight:800;background:#f6f8fb;vertical-align:bottom}.pm-table th small{display:block;font-weight:600;color:#94a3b8;margin-top:2px}
.pm-table td:first-child,.pm-table th:first-child{text-align:left;padding-left:16px;min-width:230px}
.pm-table .g td{background:#f6f8fb;font-size:11px;font-weight:800;color:#64748b;letter-spacing:.04em;text-align:left;padding-left:16px}
.pm-table .tab td:first-child{padding-left:30px;color:#475569}.pm-table .cnt td{font-size:11px;color:var(--muted);font-weight:600}
.pm-table .pos{background:#f3f8ff}
.pm-btn{border:0;background:none;padding:0;cursor:pointer}
.pm-c{display:inline-flex;gap:4px;align-items:center;border-radius:7px;padding:3px 8px;font-style:normal;font-weight:700;font-size:11.3px;white-space:nowrap;border:2px solid transparent}
.pm-c.c0{color:#cbd5e1}.pm-c.c2{background:var(--build-bg);color:var(--blue)}.pm-c.c3{background:#dcf5e5;color:#167548}.pm-c.cl{background:#f6f8fb;color:#94a3b8;border:1px dashed #cbd5e1}.pm-c svg{width:11px;height:11px}
.pm-c.chg{border-color:#c4b5fd}.pm-c.pend{border-color:var(--blue);box-shadow:0 0 0 2px #bfdbfe}
.pm-btn:hover .pm-c{filter:brightness(.95);text-decoration:underline}
.pm-rules{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.pm-ul{margin:0;padding:12px 16px 12px 34px;font-size:12.8px;line-height:1.6}
@media (max-width:900px){.pm-flow,.pm-rules{grid-template-columns:1fr}}

/* ---------- Khung Email thông báo (ảnh 72) ---------- */
.em-card{padding:0;overflow:hidden}
.em-hd{display:flex;gap:10px;align-items:center;padding:14px 16px 10px}.em-hd .t{min-width:0;flex:1}.em-hd h2{margin:0;font-size:15.5px}.em-hd small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.em-pill{display:inline-flex;gap:4px;align-items:center;white-space:nowrap;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 9px;background:var(--neutral-bg);color:var(--muted)}
.em-pill svg{width:12px;height:12px}.em-pill.ok{background:var(--ok-bg);color:var(--ok)}.em-pill.warn{background:var(--warn-bg);color:var(--warn)}.em-pill.bad{background:var(--danger-bg);color:var(--danger)}
.em-pill.info{background:color-mix(in srgb,var(--blue) 12%,var(--card));color:var(--blue)}
.em-warn{margin:0 16px 10px;display:flex;gap:8px;align-items:flex-start;background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);border-radius:10px;padding:8px 10px;color:var(--warn);font-size:12.5px;line-height:1.45}
.em-warn svg{width:15px;height:15px;flex:none;margin-top:1px}
.em-note{margin:0 16px 10px;display:flex;gap:8px;align-items:flex-start;background:color-mix(in srgb,var(--blue) 8%,var(--card));border-radius:10px;padding:8px 10px;color:var(--blue);font-size:12.5px;line-height:1.45}.em-note svg{width:14px;height:14px;flex:none;margin-top:2px}
.em-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 16px 10px}.em-sum div{background:var(--neutral-bg);border-radius:10px;padding:7px 10px}
.em-sum b{display:block;font-size:18px;line-height:1.2}.em-sum small{color:var(--muted);font-size:11.5px}.em-sum .ok b{color:var(--ok)}.em-sum .wait b{color:var(--warn)}.em-sum .bad b{color:var(--danger)}
.em-bar{height:6px;border-radius:3px;background:var(--neutral-bg);margin:0 16px 12px;display:flex;overflow:hidden}.em-bar i{display:block}.em-bar .ok{background:var(--ok)}.em-bar .wait{background:#f59e0b}.em-bar .bad{background:var(--danger)}
.em-grp{padding:8px 16px 4px;border-top:1px solid var(--hair)}
.em-gt{display:flex;gap:6px;align-items:center;font-weight:700;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 4px}.em-gt svg{width:13px;height:13px}
.em-gt .n{margin-left:auto;font-weight:600}
.em-list{list-style:none;margin:0;padding:0}
.em-row{display:flex;gap:10px;align-items:center;padding:7px 0;border-top:1px dashed var(--hair)}.em-row:first-child{border-top:0}
.em-av{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;flex:none}
.em-av.own{background:#0f766e}.em-av.add{background:#7c3aed}.em-av.hr{background:#1e3a5f}.em-av.tp{background:#334155}
.em-w{flex:1;min-width:0}.em-w .l1{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.em-w b{font-size:13.5px}
.em-role{font-size:11px;font-weight:600;color:var(--muted);background:var(--neutral-bg);border-radius:5px;padding:1px 6px}
.em-mail{display:block;font-family:ui-monospace,Menlo,monospace;font-size:11.5px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
.em-st{text-align:right;flex:none;max-width:120px}.em-st .p{display:inline-block;white-space:nowrap;font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 8px;background:var(--neutral-bg);color:var(--muted)}
.em-st small{display:block;font-size:11px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.em-st.ok .p{background:var(--ok-bg);color:var(--ok)}.em-st.wait .p{background:var(--warn-bg);color:var(--warn)}.em-st.bad .p{background:var(--danger-bg);color:var(--danger)}.em-st.bad small{color:var(--danger)}
.em-st.plan .p{background:color-mix(in srgb,var(--blue) 12%,var(--card));color:var(--blue)}
.em-empty{margin:0;padding:4px 16px 14px}
.em-ft{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 16px 14px;border-top:1px solid var(--hair);font-size:12px;color:var(--muted)}
.em-ft>span{display:inline-flex;gap:5px;align-items:center}.em-ft svg{width:13px;height:13px}

/* ---------- Khai báo toà nhà nhanh (ảnh VT-1, duyệt 04/10/2026) ---------- */
.qz-hbtns{display:flex;gap:6px;flex:none}.qz-btn.pri{background:var(--blue);border-color:var(--blue);color:#fff}.qz-btn.pri:hover{background:var(--blue-hover)}
.qz-in .btn.sm{min-height:28px;padding:0 10px;font-size:12.5px}.qz-in .btn svg{width:13px;height:13px}
.qz-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 8px 8px 32px;list-style:none}
.qz-chip{display:inline-flex;gap:4px;align-items:center;border:1px dashed #b9c9de;border-radius:999px;padding:3px 10px;font:inherit;font-size:12px;font-weight:600;color:#334155;background:var(--card);cursor:pointer}
.qz-chip svg{width:12px;height:12px;color:var(--blue)}.qz-chip:hover{border-color:var(--blue);border-style:solid;color:var(--blue)}
.qz-acts{margin:0 8px 10px 32px;list-style:none}.qz-acts .btn svg{width:13px;height:13px}
.qz-prev span.ex{background:#f1f5f9;color:#94a3b8;text-decoration:line-through}
.qz-t{font-style:normal;font-size:10.5px;font-weight:800;border-radius:5px;padding:0 5px;margin-left:3px;background:#eef2f7;color:#475569}.qz-t.m{background:var(--design-bg);color:var(--design)}.qz-t.n{background:var(--ok-bg);color:var(--ok)}
.qz-flr{display:flex;flex-wrap:wrap;gap:6px}
.qz-cprev{margin-top:12px;max-height:46vh;overflow:auto}
.qz-pf{padding:8px 0;border-top:1px solid var(--card-border)}.qz-pf>b{font-size:13px;margin-right:6px}.qz-pf .qz-prev{margin-top:6px}
.qz-quick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.qz-quick textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:13px/1.8 ui-monospace,Menlo,monospace;resize:vertical;background:#fbfcfe;color:inherit}
.qz-how{margin:8px 0 0;line-height:1.55}
.qz-qprev{border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px;max-height:56vh;overflow:auto;min-height:120px}
.qz-qh{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}
.qz-err{display:flex;gap:6px;align-items:center;color:var(--danger);font-size:12.5px;margin:8px 0 0}.qz-err svg{width:14px;height:14px}
@media (max-width:760px){.qz-quick{grid-template-columns:1fr}}
.qz-head{flex-wrap:wrap}.qz-head .qz-hbtns{width:100%;justify-content:flex-start}.qz-head .qz-hbtns .qz-btn.pri{margin-left:auto}

/* ---------- Nhóm trong phòng (ảnh 74) ---------- */
.og-teams{margin-top:6px}
.tm-list{display:grid;gap:8px;padding:0 16px 12px}
.tm-team{border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px}
.tm-tt{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tm-tt b{font-size:14px}.tm-acts{margin-left:auto;display:flex;gap:6px}
.tm-head{display:flex;gap:9px;align-items:center;margin:8px 0;font-size:12.5px}.tm-head b{display:block;font-size:13px}.tm-head small{color:var(--muted)}
.tm-head.none{justify-content:space-between}
.tm-av{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;flex:none}.tm-av.lead{background:#0f766e}
.tm-qd{display:inline-flex;gap:4px;align-items:center;font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap;text-decoration:none}
.tm-qd svg{width:12px;height:12px}.tm-qd.ok{background:var(--ok-bg);color:var(--ok)}.tm-qd.wait{background:var(--warn-bg);color:var(--warn)}.tm-qd.none{background:var(--danger-bg);color:var(--danger)}
.tm-warn{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--warn);background:var(--warn-bg);border-radius:8px;padding:6px 9px;margin:0 0 8px}.tm-warn svg{width:13px;height:13px}
.tm-mem{display:flex;flex-wrap:wrap;gap:6px}
.tm-chip{display:inline-flex;gap:6px;align-items:center;background:var(--neutral-bg);border-radius:999px;padding:3px 6px 3px 3px;font-size:12.5px}
.tm-chip .tm-av{width:22px;height:22px;font-size:9px}.tm-chip small{color:var(--muted);font-size:11px}
.tm-x{border:0;background:none;cursor:pointer;color:var(--muted);display:grid;place-items:center;padding:2px}.tm-x svg{width:12px;height:12px}
.tm-empty,.tm-free{margin:0}
.tm-pick{display:grid;gap:6px;max-height:360px;overflow:auto;margin-top:8px}
.tm-opt{display:flex;gap:10px;align-items:center;border:1px solid var(--card-edge);border-radius:10px;padding:7px 10px;cursor:pointer}.tm-opt input{accent-color:var(--blue)}
.tm-opt b{display:block;font-size:13.5px}.tm-opt small{color:var(--muted);font-size:12px}
/* Danh mục chức danh (ảnh 74) */
.jt-g{margin-bottom:12px}.jt-list{list-style:none;margin:0;padding:0 16px 10px}
.jt-list li{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--hair)}.jt-list li:first-child{border-top:0}
.jt-list li b{flex:1}.jt-list li.off{opacity:.55}
/* Tài khoản: Cấp quản lý · Chức danh · Nghiệp vụ (ảnh 74) */
.pq-ladder{display:grid;gap:5px;padding:0 16px}
.pq-lv{display:flex;gap:9px;align-items:center;border:1px solid var(--card-edge);border-radius:10px;padding:6px 10px;color:var(--muted)}
.pq-lv .d{width:24px;height:24px;border-radius:7px;background:var(--neutral-bg);display:grid;place-items:center;flex:none}.pq-lv .d svg{width:13px;height:13px}
.pq-lv b{display:block;font-size:13px;color:var(--ink)}.pq-lv small{display:block;font-size:11px}
.pq-lv.on{border:2px solid #d97706;background:#fffbeb;padding:5px 9px}.pq-lv.on b{color:#7c4a00}.pq-lv.on .d{background:#f59e0b;color:#fff}
.pq-lv em{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:700;background:#f59e0b;color:#fff;border-radius:999px;padding:2px 8px;white-space:nowrap}
.pq-scope{margin:10px 16px 0;background:var(--neutral-bg);border-radius:10px;padding:8px 11px;font-size:13px;line-height:1.5}
.pq-jt{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin:0 16px 14px;border:1px solid var(--card-edge);background:var(--neutral-bg);border-radius:9px;padding:8px 11px}
.pq-jt b{font-size:14px}.pq-jt small{color:var(--muted)}.pq-jt em{margin-left:auto;font-style:normal;font-size:11.5px;color:var(--muted)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pq-lv.on{background:color-mix(in srgb,#f59e0b 14%,var(--card))}:root:not([data-theme="light"]) .pq-lv.on b{color:#fcd34d}}
:root[data-theme="dark"] .pq-lv.on{background:color-mix(in srgb,#f59e0b 14%,var(--card))}:root[data-theme="dark"] .pq-lv.on b{color:#fcd34d}
/* Phân quyền › Luật chơi (ảnh 74) */
.pm-tabs{display:flex;gap:4px;border-bottom:1px solid var(--card-edge);margin-bottom:14px}
.pm-tabs a{display:inline-flex;gap:6px;align-items:center;padding:9px 14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;text-decoration:none}
.pm-tabs a.on{color:var(--blue);border-color:var(--blue)}.pm-tabs svg{width:15px;height:15px}
.pm-rl{margin:0 16px 14px;padding-left:20px;display:grid;gap:7px;line-height:1.55}
.pm-h3{margin:14px 16px 8px;font-size:14px}.pm-lt td{vertical-align:top;line-height:1.45}.pm-foot{margin:12px 16px 14px}
/* ---------- Xoá phòng nhanh (ảnh VT-2, duyệt 04/10/2026) ---------- */
.qz-ra{display:none;gap:4px;margin-left:auto;flex:none}.qz-r:hover .qz-ra,.qz-r:focus-within .qz-ra{display:inline-flex}
.qz-ib{width:26px;height:26px;border-radius:7px;display:inline-grid;place-items:center;color:var(--muted);border:1px solid var(--card-edge);background:var(--card);cursor:pointer;padding:0}
.qz-ib svg{width:14px;height:14px}.qz-ib.d{color:var(--danger);border-color:var(--danger-line);background:#fff5f4}.qz-ib:hover{filter:brightness(.95)}
.qz-r.pick{background:#eaf2ff}
.qz-pk{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer}.qz-pk input,.qz-pickall input{width:16px;height:16px;accent-color:var(--blue);flex:none}
.qz-pickall{display:inline-flex;align-items:center;margin-left:6px;cursor:pointer}
.qz-mbar{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;margin:8px;padding:9px 12px;border-radius:10px;background:var(--navy);color:#fff;font-size:13px;flex-wrap:wrap}
.qz-mbar .sp{flex:1}.qz-mbar .btn{min-height:30px}.qz-mbar .btn svg{width:13px;height:13px}
.lc-cell{position:relative}.lc-cdel{position:absolute;top:8px;right:8px;display:none}.lc-cell:hover .lc-cdel,.lc-cell:focus-within .lc-cdel{display:inline-grid}
.lc-undo{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:90;display:flex;align-items:center;gap:14px;background:var(--navy);color:#fff;border-radius:12px;padding:11px 14px;box-shadow:0 10px 28px rgba(13,37,66,.35);font-size:13.5px;max-width:min(560px,calc(100vw - 32px))}
.lc-undo-t{flex:1;min-width:0}.lc-undo-bar{display:block;height:3px;background:#8ee0b8;border-radius:2px;margin-top:6px;animation:lc-undo 8s linear forwards}
@keyframes lc-undo{from{width:100%}to{width:0}}
.lc-undo .btn{background:#ffffff1a;border-color:#ffffff33;color:#fff;flex:none}.lc-undo .btn svg{width:13px;height:13px}
@media (hover:none){.qz-ra{display:inline-flex}.lc-cdel{display:inline-grid}}
.qz-head .qz-hbtns{flex-wrap:wrap}

/* ---------- Loại phòng có biểu tượng + hộp Sửa phòng gọn (ảnh VT-3 / VT-4, duyệt 04/10/2026) ---------- */
.rt-ic{display:inline-grid;place-items:center;flex:none;border-radius:8px;background:#f1f5f9}
.rt-ic.sm{width:26px;height:26px}.rt-ic.sm svg{width:15px;height:15px}
.rt-ic.lg{width:38px;height:38px;border-radius:11px}.rt-ic.lg svg{width:21px;height:21px}
.qz-r .rt-ic{margin-right:2px}.lc-cell .rt-ic{margin-bottom:4px}
.lc-dh{display:flex;align-items:center;gap:8px}
.lu-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:6px 0 14px}
.lu-type{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--card-edge);border-radius:11px;padding:9px 6px;background:var(--card);font:inherit;font-size:12.3px;font-weight:600;color:#334155;cursor:pointer;text-align:center}
.lu-type:hover{border-color:#9cc0f5}.lu-type.on{border:2px solid var(--blue);padding:8px 5px;background:#f3f8ff;color:var(--blue)}
.lu-name{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:4px 10px;background:var(--card)}
.lu-name:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,101,237,.12)}.lu-name input{flex:1;border:0;outline:none;background:transparent;font:inherit;padding:6px 0;min-width:0;color:inherit}
.lu-tg{display:flex;gap:12px;align-items:center;border:1px solid var(--card-edge);border-radius:12px;padding:11px 14px;cursor:pointer;margin-top:4px}
.lu-tg input{position:absolute;opacity:0;pointer-events:none}.lu-tg b{display:block;font-size:13.5px}.lu-tg small{color:var(--muted);font-size:12px}
.lu-sw{width:36px;height:20px;border-radius:99px;background:#cbd5e1;position:relative;flex:none;transition:background .15s}
.lu-sw::after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .15s}
.lu-tg.on{border-color:var(--blue);background:#f3f8ff}.lu-tg.on .lu-sw{background:var(--blue)}.lu-tg.on .lu-sw::after{left:18px}
.lu-tg:focus-within{box-shadow:0 0 0 3px rgba(6,101,237,.15)}
.lu-codeh{display:inline-flex;gap:8px;align-items:center;margin-left:12px;font-size:12.5px;font-weight:600}.lu-codeh .mono{background:#eef2f7;border-radius:6px;padding:2px 7px}
.modal-head h3 .rt-ic{margin-right:8px;vertical-align:middle}
.lu-cap{max-width:140px}
@media (max-width:600px){.lu-types{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Nghiệp vụ hai lớp (ảnh 75–76) */
.pq-sub{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:10px 16px 4px}
.pq-duty{align-items:flex-start}.pq-di{width:24px;height:24px;border-radius:7px;background:var(--neutral-bg);color:var(--muted);display:grid;place-items:center;flex:none}.pq-di svg{width:13px;height:13px}
.pq-duty.on .pq-di{background:color-mix(in srgb,var(--blue) 14%,var(--card));color:var(--blue)}

/* ---------- Dự án (ảnh 75–76) ---------- */
.pj-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.pj-kpi{background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:12px 14px}.pj-kpi b{display:block;font-size:22px}.pj-kpi small{color:var(--muted)}
.pj-kpi.warn b{color:var(--warn)}.pj-kpi.bad b{color:var(--danger)}
.pj-bar0{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.pj-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}
.pj-table tr[data-pj]{cursor:pointer}.pj-table tr.sel td{background:color-mix(in srgb,var(--blue) 7%,var(--card))}.pj-table small.sub{display:block}
.pj-bar{display:inline-block;width:110px;height:7px;border-radius:4px;background:var(--neutral-bg);overflow:hidden;vertical-align:middle}.pj-bar i{display:block;height:100%;background:var(--ok)}
.pj-bar.warn i{background:#f59e0b}.pj-bar.bad i{background:var(--danger)}.pj-pc{margin-left:6px;font-size:12.5px}
.pj-late{color:var(--danger)}
.pj-st{font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap;background:var(--neutral-bg);color:var(--muted)}.pj-st.DANG_CHAY{background:var(--ok-bg);color:var(--ok)}.pj-st.TAM_DUNG{background:var(--warn-bg);color:var(--warn)}
.pj-side{padding:14px 16px;position:sticky;top:12px}.pj-side h3{margin:0 0 2px;font-size:15.5px}.pj-side p.sub{margin:0 0 8px}
.pj-big{display:flex;justify-content:space-between;align-items:baseline;margin:8px 0 6px}.pj-big b{font-size:17px}
b.ok{color:var(--ok)}b.warn{color:var(--warn)}b.bad{color:var(--danger)}
.pj-lg{height:9px;border-radius:5px;background:var(--neutral-bg);overflow:hidden;display:flex}.pj-lg.big{height:12px;margin:4px 16px 0}.pj-lg i{display:block}.pj-lg i.ok{background:var(--blue)}.pj-lg i.warn{background:#f59e0b}
.pj-leg{display:flex;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin:6px 0 8px}
.pj-kv{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px dashed var(--hair);font-size:13px}.pj-kv span{color:var(--muted)}.pj-kv.bad b{color:var(--danger)}
.pj-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.pj-box{margin-bottom:14px}.pj-kvs{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:0 16px 10px}
.pj-kvs div{background:var(--neutral-bg);border-radius:10px;padding:8px 10px}.pj-kvs b{display:block;font-size:17px}.pj-kvs small{color:var(--muted);font-size:11.5px}
.pj-kvs .ok b{color:var(--ok)}.pj-kvs .warn b{color:var(--warn)}.pj-kvs .bad b{color:var(--danger)}
.pj-pad{margin:8px 16px 14px}.pj-pad svg{width:13px;height:13px;vertical-align:-2px}
.pj-tag{font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap;background:var(--neutral-bg);color:var(--muted)}
.pj-tag.ok{background:var(--ok-bg);color:var(--ok)}.pj-tag.warn{background:var(--warn-bg);color:var(--warn)}.pj-tag.bad{background:var(--danger-bg);color:var(--danger)}.pj-tag.wait{background:color-mix(in srgb,var(--blue) 12%,var(--card));color:var(--blue)}
.pj-tl{list-style:none;margin:0;padding:0 16px 12px}.pj-tl li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px dashed var(--hair)}.pj-tl li:first-child{border-top:0}.pj-tl small{display:block}
.pj-fs{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.05em;border-top:1px solid var(--card-edge);padding-top:10px}
@media (max-width:1100px){.pj-grid,.pj-two{grid-template-columns:1fr}.pj-side{position:static}}
@media (max-width:700px){.pj-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Sức khoẻ hệ thống (ảnh AI-9, duyệt 04/10/2026) ---------- */
.sh-sts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 16px}
.sh-st{display:flex;gap:10px;align-items:center;border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px;position:relative;min-width:0}
.sh-st b{display:block;font-size:13px}.sh-st small{color:var(--muted);font-size:11.8px}.sh-st>div{min-width:0;flex:1}.sh-st .pill{position:absolute;top:8px;right:8px}
.sh-st.warn{border-color:#f3dfb1;background:#fffaf0}.sh-st.bad{border-color:var(--danger-line);background:#fff5f4}.sh-st.off{opacity:.7}
.sh-lay{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:16px;align-items:start;margin-top:16px}
.sh-bars{display:flex;align-items:flex-end;gap:6px;height:64px;padding:12px 16px 4px}.sh-bars i{flex:1;background:#cbd5e1;border-radius:3px 3px 0 0}.sh-bars i.o{background:#f59e0b}.sh-bars i.r{background:#dc2626}
.sh-bl{display:flex;justify-content:space-between;padding:0 16px 10px;font-size:11px;color:#94a3b8}
.sh-er{padding:11px 16px;border-top:1px solid var(--card-border);font-size:13px}.sh-erh{display:flex;gap:10px;align-items:flex-start}.sh-erh .sp{flex:1;min-width:0}.sh-erh b{display:block;overflow-wrap:anywhere}.sh-erh small{display:block;overflow-wrap:anywhere}
.sh-ai{margin:7px 0 0;background:#fbfaff;border-radius:9px;padding:8px 10px;font-size:12.6px;line-height:1.55;color:#334155}
.sh-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.sh-pill{border:0;cursor:pointer;flex:none}.sh-note{padding:10px 16px 14px;margin:0}
.bug-auto{line-height:1.6}.bug-auto svg{width:13px;height:13px;vertical-align:-2px}
@media (max-width:1100px){.sh-sts{grid-template-columns:repeat(2,minmax(0,1fr))}.sh-lay{grid-template-columns:1fr}}

/* Trợ lý AI › Hôm nay + Hỏi Portal (ảnh AI-1, AI-4) */
.at-lay{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:16px;align-items:start;margin-top:14px}
.at-lay.ask{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
.at-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.at-sum{margin:0 18px 6px;padding:12px 14px;border-radius:10px;background:var(--design-bg);font-size:14px;line-height:1.6}
.at-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;padding:6px 18px 4px}
.at-sec{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--muted);margin:12px 0 4px}
.at-sec svg{width:14px;height:14px}
.at-li{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;color:inherit;text-decoration:none;font-size:13.5px}
.at-li:hover{background:var(--bg)}
.at-li span{display:flex;flex-direction:column;min-width:0}
.at-n{min-width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--design-bg);color:var(--design)}
.at-tl{display:flex;gap:10px;padding:6px 8px;font-size:13.5px}.at-tl b{min-width:42px;color:var(--design)}
.at-dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--muted)}
.at-dot.danger{background:var(--danger)}.at-dot.warn{background:var(--warn)}.at-dot.ok{background:var(--ok)}.at-dot.build{background:var(--build)}
.at-pad{padding:4px 18px 12px;margin:0}
.at-ask{margin:0}.at-ask .ai-mic{width:56px;height:56px}
.at-res{padding:0;overflow:hidden}.at-res.at-wait{padding:14px 16px;display:flex;gap:10px;align-items:center}
.at-rh{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px}
.at-rh .sub{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50%}
.at-kv{display:grid;grid-template-columns:96px 1fr;gap:8px 12px;margin:0;padding:12px 16px;font-size:13.5px;align-items:center}
.at-kv dt{color:var(--muted)}.at-kv dd{margin:0;min-width:0}
.at-kv input:not([type=radio]),.at-kv select,.at-kv textarea{width:100%}
.at-kv input[type=date],.at-kv input[type=time]{width:auto}
.at-slot{display:flex;align-items:center;gap:8px;padding:3px 0}
.at-ft{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--line);background:var(--bg)}
.at-ok{display:flex;gap:8px;align-items:center;padding:12px 16px;color:var(--ok)}
.at-res.done{border-color:var(--ok)}
.ak-msg{display:flex;padding:6px 18px}.ak-msg.me{justify-content:flex-end}
.ak-msg.me span{background:#5b3fd6;color:#fff;padding:8px 13px;border-radius:14px 14px 4px 14px;max-width:75%;font-size:13.5px}
.ak-ans{background:var(--bg);border:1px solid var(--line);padding:11px 14px;border-radius:14px 14px 14px 4px;max-width:92%;font-size:13.5px;line-height:1.55}
.ak-big{font-size:22px;font-weight:700;margin:8px 0 4px}
.ak-bars{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.ak-bar{display:grid;grid-template-columns:minmax(0,38%) 1fr auto;gap:4px 10px;align-items:center;font-size:12.8px}
.ak-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ak-bar i{height:9px;border-radius:5px;background:linear-gradient(90deg,#5b3fd6,#2f5bea);display:block}
.ak-bar small{grid-column:1/-1;margin-top:-4px}
.ak-inp{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--line);align-items:center}.ak-inp input{flex:1}
@media (max-width:1100px){.at-lay,.at-lay.ask{grid-template-columns:1fr}}
@media (max-width:700px){.at-grid{grid-template-columns:1fr}.at-kv{grid-template-columns:1fr}.ak-bar{grid-template-columns:1fr auto}.ak-bar i{grid-column:1/-1;order:3}}
.at-ask .ai-ask-b{flex:1;min-width:0}.at-ask .ai-form{display:flex;flex-direction:column;align-items:stretch;gap:8px}.at-ask .ai-form textarea{width:100%}.at-ask .ai-form .btn{align-self:flex-end}
.at-lay > .card,.at-side{margin-top:0}
.ak-ans > svg,.at-lay .card-head > svg,.at-side .note-box svg,.at-ok svg{width:16px;height:16px;vertical-align:-3px;flex:none}
.ak-inp .icon-mini svg{width:16px;height:16px}

/* Duyệt chi thông minh + đọc hoá đơn (ảnh AI-3) */
.ai-ins{overflow:hidden}
.ai-ins-sum{margin:0 18px 10px;padding:12px 14px;border-radius:10px;background:var(--design-bg);font-size:13.5px;line-height:1.6}
.ai-ins-sum p{margin:6px 0 0}.ai-ins-sum .pill svg{width:12px;height:12px;vertical-align:-2px;margin-right:3px}
.ai-ins-pad{padding:0 18px 14px;margin:6px 0 0}
.ai-flag{display:flex;gap:10px;align-items:flex-start;margin:0 18px 8px;padding:10px 12px;border-radius:10px;font-size:13.3px;line-height:1.55;border:1px solid var(--line)}
.ai-flag>svg{width:17px;height:17px;flex:none;margin-top:2px}
.ai-flag.warn{background:var(--warn-bg);border-color:transparent}.ai-flag.warn>svg{color:var(--warn)}
.ai-flag.danger{background:var(--danger-bg);border-color:var(--danger-line)}.ai-flag.danger>svg{color:var(--danger)}
.ai-flag.ok{background:var(--ok-bg);border-color:transparent}.ai-flag.ok>svg{color:var(--ok)}
.ai-flag-note{color:var(--muted)}
.ai-flag-refs{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;font-size:12.5px}
.btn.ai-scan{border-color:var(--design);color:var(--design)}
.inv-scan{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}
.inv-drop{min-height:220px;display:flex;flex-direction:column;justify-content:center;text-align:center;cursor:pointer}
.inv-drop #inv-prev{display:flex;flex-direction:column;align-items:center;gap:6px}
.inv-drop img{max-width:100%;max-height:300px;border-radius:8px;object-fit:contain}
.inv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.inv-grid .span-2{grid-column:1/-1}
.field.unsure input,.field.unsure select,.check.unsure{background:var(--warn-bg);border-color:#f3d39b}
.unsure-key{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--warn-bg);border:1px solid #f3d39b;vertical-align:-2px}
.ai-wait-row{display:flex;gap:10px;align-items:center;padding:12px 0;color:var(--muted)}
.inv-no{display:flex;align-items:center;gap:4px;margin-top:3px}.inv-no svg{width:12px;height:12px}
@media (max-width:700px){.inv-scan{grid-template-columns:1fr}.inv-drop{min-height:120px}.inv-grid{grid-template-columns:1fr}}

/* Hỏi nội quy (ảnh AI-5) */
.hq-lay{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;align-items:start}
.hq-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.hq-doc{display:flex;gap:10px;align-items:center;padding:10px 18px;border-top:1px solid var(--line);font-size:13px}
.hq-doc .sp{flex:1;min-width:0;color:inherit;text-decoration:none}.hq-doc .sp b{font-weight:600}
.hq-doc small{display:block;color:var(--muted);font-size:11.8px}
.hq-doc.off{opacity:.6}
.hq-tg{cursor:pointer;border:0}
.hq-pad{padding:8px 18px 12px;margin:0}
.hq-li{display:flex;gap:10px;align-items:center;padding:9px 18px;border-top:1px solid var(--line);font-size:13px}
.hq-li .sp{flex:1;min-width:0}.hq-li small{display:block}
.hq-pend-h{display:flex;gap:8px;align-items:center;padding:10px 18px;border-top:1px solid var(--line);font-size:12.8px;font-weight:600;color:var(--danger);background:var(--danger-bg)}
.hq-pend-h svg{width:15px;height:15px}
.hq-chat{min-height:420px;display:flex;flex-direction:column}
.hq-chat #hq-list{flex:1;padding:6px 0;max-height:62vh;overflow:auto}
.hq-empty{padding:18px}
.hq-cite{display:inline-flex;align-items:center;gap:4px;margin:0 4px;padding:1px 8px;border-radius:999px;background:var(--build-bg);color:var(--build);font-size:11.8px;font-weight:600;text-decoration:none;white-space:nowrap;vertical-align:1px}
.hq-cite svg{width:12px;height:12px}
.hq-hr{display:flex;gap:8px;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--ok-bg)}.hq-hr svg{width:16px;height:16px;flex:none;color:var(--ok);margin-top:2px}
.hq-up svg{width:15px;height:15px}
@media (max-width:1000px){.hq-lay{grid-template-columns:1fr}.hq-chat{order:-1}}

/* Biên bản họp bằng AI (ảnh AI-2) */
.mm-lay{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}
.mm-pad{padding:4px 18px 12px}
.mm-chips{margin:0 0 10px}.mm-chips .chip svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px}
.mm-chips .chip.on{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}
.mm-tx{width:100%;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;line-height:1.7;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;resize:vertical}
.mm-min{width:100%;font-size:13.3px;line-height:1.6;border:1px solid var(--line);border-radius:10px;padding:10px 12px;resize:vertical}
.mm-note{margin:8px 0 0}
.mm-live{animation:mm-blink 1.4s infinite}@keyframes mm-blink{50%{opacity:.55}}
.mm-acts{border-top:1px solid var(--line);padding:6px 0 4px}
.mm-acts-h{font-size:10.8px;font-weight:800;color:var(--muted);letter-spacing:.03em;padding:6px 18px}
.mm-act{display:grid;grid-template-columns:22px minmax(0,1fr) 140px;gap:6px 8px;align-items:center;padding:8px 18px;border-top:1px solid var(--line)}
.mm-act .mm-t{grid-column:2/4}.mm-act select{grid-column:2;min-width:0}.mm-act input[type=date]{grid-column:3}
.mm-act .mm-note2{grid-column:2/4;justify-self:start;font-size:11.5px}
.mm-act input:not([type=checkbox]),.mm-act select{width:100%}
.mm-act.off>*:not(input[type=checkbox]){opacity:.5}
.mm-add{margin:8px 18px}.mm-add svg{width:14px;height:14px;vertical-align:-2px;margin-right:3px}
.mm-tag{display:inline-block;margin-top:4px;font-size:11.5px}
.mt-ai{margin-left:10px;display:inline-flex;align-items:center;gap:4px}.mt-ai svg{width:13px;height:13px}
@media (max-width:1000px){.mm-lay{grid-template-columns:1fr}}

/* Dự báo hỏng hóc cơ điện (ảnh AI-7) */
.rk-lay{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:16px;align-items:start;margin-top:14px}
.rk-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.rk-row{display:grid;grid-template-columns:34px minmax(0,1fr) 120px 170px;gap:12px;align-items:center;padding:11px 18px;border-top:1px solid var(--line);font-size:13px}
.rk-row small{display:block;color:var(--muted);font-size:11.8px}
.rk-th{font-size:10.8px;font-weight:800;color:var(--muted);letter-spacing:.03em;padding-top:8px;padding-bottom:8px}
.rk-meter{height:8px;border-radius:4px;background:var(--bg);overflow:hidden}.rk-meter i{display:block;height:100%}
.rk-meter i.r{background:var(--danger)}.rk-meter i.o{background:#f59e0b}.rk-meter i.g{background:var(--ok)}
.rk-adv{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.rk-why{padding:2px 18px 12px 64px;font-size:12.8px;line-height:1.55;background:var(--design-bg)}
.rk-why>div:first-child{padding-top:8px}
.rk-parts{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.rk-parts .pill{font-size:11px}
.rk-note{margin:0 16px 14px}.rk-pad{padding:4px 16px 14px;margin:0;font-size:12.8px;line-height:1.6}
@media (max-width:1000px){.rk-lay{grid-template-columns:1fr}}
@media (max-width:700px){.rk-row{grid-template-columns:34px 1fr}.rk-row>div:nth-child(3),.rk-row>.rk-adv{grid-column:2}.rk-why{padding-left:18px}.rk-th{display:none}}

/* Báo cáo dự án tuần (ảnh AI-6) */
.pr-lay{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}
.pr-set{padding:6px 16px 16px;display:flex;flex-direction:column;gap:10px}
.pr-set .label{margin-top:4px}
.pr-set hr{border:0;border-top:1px solid var(--line);margin:4px 0}
.pr-src summary{cursor:pointer;list-style:none}.pr-src summary::-webkit-details-marker{display:none}
.pr-src summary .check{pointer-events:none}
.pr-it{display:flex;gap:8px;align-items:flex-start;margin:6px 0 0 22px;font-size:12.6px;line-height:1.45}
.pr-src .sub{margin:6px 0 0 22px;font-size:11.8px}
.pr-dis{opacity:.75}
.pr-body{padding:14px 20px;font-size:13.3px;line-height:1.6}
.pr-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:6px}
.pr-kpis div{border:1px solid var(--line);border-radius:10px;padding:8px 10px}.pr-kpis b{display:block;font-size:20px}.pr-kpis small{color:var(--muted);font-size:11.5px}
.pr-grid{display:grid;grid-template-columns:1fr;gap:4px 18px}.pr-grid.two{grid-template-columns:1fr 1fr}
.pr-grid h3{margin:14px 0 6px;font-size:12.5px;color:var(--build);letter-spacing:.03em}
.pr-grid textarea{width:100%;font-size:13px;line-height:1.55;border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.pr-en{color:var(--muted);font-style:italic;font-size:12.8px}
.pr-refs{font-size:11.5px;color:var(--muted);margin-top:2px}.pr-grid.two .pr-refs{grid-column:1/-1}
.pr-pad{margin:0 18px 10px}
.pr-hist{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 18px;border-top:1px solid var(--line)}
.pr-print{padding:10mm 12mm}.pr-ph{display:flex;gap:14px;align-items:center;border-bottom:2px solid #0665ed;padding-bottom:10px;margin-bottom:12px;font-size:13px}.pr-ph img{height:34px}
@media (max-width:1000px){.pr-lay{grid-template-columns:1fr}}
@media (max-width:700px){.pr-grid.two{grid-template-columns:1fr}.pr-kpis{grid-template-columns:repeat(2,1fr)}}

/* Nhận xét công việc cuối tháng (ảnh AI-8) */
.tr-lay{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px;align-items:start}
.tr-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.tr-sel{display:flex;gap:8px;padding:0 16px}.tr-sel select{flex:1;min-width:0}
.tr-k4{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:10px;padding:12px 16px}
.tr-lay .card-head>svg{width:16px;height:16px;flex:none}
.tr-k4 div{border:1px solid var(--line);border-radius:10px;padding:8px 10px}.tr-k4 b{display:block;font-size:20px}.tr-k4 small{color:var(--muted);font-size:11.5px}
.tr-pad{padding:0 16px 14px;margin:0;font-size:12.8px;line-height:1.55}
.tr-pp{padding:12px 16px;border-top:1px solid var(--line);font-size:13px;line-height:1.55}
.tr-pp textarea{width:100%;margin-top:6px;font-size:13px;line-height:1.55;border:1px solid var(--line);border-radius:8px;padding:8px 10px;resize:vertical}
.tr-team{background:var(--design-bg);border-top:0}
.tr-hd{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tr-hd .sp{flex:1}
.tr-av{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
@media (max-width:1000px){.tr-lay{grid-template-columns:1fr}}

/* ---------- Tài khoản chia tab (ảnh 77) ---------- */
.ak-formula{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-weight:600}
.ak-f{border-radius:10px;padding:6px 11px;font-size:13px;line-height:1.3}.ak-f small{display:block;font-size:10.5px;font-weight:600;opacity:.75;text-transform:uppercase;letter-spacing:.04em}
.ak-f.f1{background:#fde68a;color:#7c4a00}.ak-f.f2{background:#dbeafe;color:#1d4ed8}.ak-f.f3{background:#ccfbf1;color:#115e59}.ak-eq{color:var(--muted);font-weight:700}
.ak-dirty{display:inline-flex;gap:5px;align-items:center;color:var(--warn);font-size:12.5px;margin-left:auto}.ak-dirty svg{width:14px;height:14px}
.ak-tabs{margin-bottom:14px}.ak-n{font-size:10.5px;font-weight:700;background:color-mix(in srgb,var(--blue) 12%,var(--card));color:var(--blue);border-radius:999px;padding:0 7px;margin-left:4px}
.ak-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.ak-tc{background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.ak-tc .t{display:flex;gap:5px;align-items:center;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.ak-tc .t svg{width:13px;height:13px}
.ak-tc b{font-size:15px;margin-top:4px}.ak-tc small{color:var(--muted);font-size:12px}.ak-tc a{display:inline-flex;gap:4px;align-items:center;color:var(--blue);font-weight:600;font-size:12.5px;margin-top:6px}.ak-tc a svg{width:13px;height:13px}
.ak-two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:start}.ak-two.wide{grid-template-columns:minmax(0,1fr) 300px}
.ak-can{padding:0 16px 12px;display:grid;gap:2px}.ak-gt{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:10px 0 2px}
.ak-li{display:flex;gap:8px;align-items:flex-start;padding:3px 0;font-size:13.5px}.ak-li small{display:block;color:var(--muted);font-size:12px}
.ak-li .ok,.ak-li .no{flex:none;margin-top:2px}.ak-li svg{width:15px;height:15px}.ak-li .ok{color:var(--ok)}.ak-li .no{color:var(--danger)}
.ak-note{display:flex;gap:7px;align-items:flex-start;font-size:12.5px;color:var(--muted);background:var(--neutral-bg);border-radius:10px;padding:9px 12px;margin:12px 0 0}.ak-note svg{width:14px;height:14px;flex:none;margin-top:2px}
.pq-menu .ak-note{margin:12px 16px 14px}
.ak-leg{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--muted);padding:0 16px 8px}
.ak-src{display:inline-flex;gap:4px;align-items:center;font-style:normal;font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px;white-space:nowrap}.ak-src svg{width:11px;height:11px}
.ak-src.s1{background:#fef3c7;color:#92400e}.ak-src.s2{background:#dbeafe;color:#1d4ed8}.ak-src.s3{background:var(--ok-bg);color:var(--ok)}.ak-src.s4{background:var(--danger-bg);color:var(--danger)}.ak-src.s0{background:var(--neutral-bg);color:var(--muted)}
.ak-row{display:grid;grid-template-columns:44px minmax(0,1fr) 8px auto;gap:10px;align-items:center;padding:9px 16px;border-top:1px solid var(--hair)}
.ak-row b{font-size:13.5px}.ak-row small{display:block;color:var(--muted);font-size:12px}.ak-row.off b{color:var(--muted);font-weight:600}.ak-row.lk{opacity:.7}
.ak-ex{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;align-items:center}.ak-ex select{font-size:12.5px;padding:4px 8px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ak-f.f1,:root:not([data-theme="light"]) .ak-src.s1{background:#4a3a10;color:#fcd34d}:root:not([data-theme="light"]) .ak-f.f2,:root:not([data-theme="light"]) .ak-src.s2{background:#1e3a6e;color:#bfdbfe}:root:not([data-theme="light"]) .ak-f.f3{background:#134e4a;color:#99f6e4}}
:root[data-theme="dark"] .ak-f.f1,:root[data-theme="dark"] .ak-src.s1{background:#4a3a10;color:#fcd34d}:root[data-theme="dark"] .ak-f.f2,:root[data-theme="dark"] .ak-src.s2{background:#1e3a6e;color:#bfdbfe}:root[data-theme="dark"] .ak-f.f3{background:#134e4a;color:#99f6e4}
@media (max-width:1000px){.ak-three,.ak-two,.ak-two.wide{grid-template-columns:1fr}}
/* ===== Trợ lý AI — giao diện mới (ảnh 80–82, duyệt 04/10/2026) ===== */
.ax-seg{display:flex;gap:4px;padding:4px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.ax-seg a{display:flex;gap:7px;align-items:center;padding:8px 14px;border-radius:9px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.78);text-decoration:none;white-space:nowrap}
.ax-seg a svg{width:16px;height:16px}.ax-seg a:hover{color:#fff;background:rgba(255,255,255,.08)}
.ax-seg a.on{background:#fff;color:#0f2747;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.ax-seg em{font-style:normal;font-size:11px;font-weight:700;background:#7c5cff;color:#fff;border-radius:99px;padding:1px 7px}
.ax-orb{width:40px;height:40px;border-radius:12px;flex:none;display:grid;place-items:center;color:#fff;background:conic-gradient(from 210deg,#7c5cff,#3b82f6,#22d3ee,#7c5cff);box-shadow:0 0 18px rgba(124,92,255,.45)}
.ax-orb svg{width:20px;height:20px}.ax-orb.sm{width:32px;height:32px;border-radius:10px}.ax-orb.sm svg{width:16px;height:16px}
.ax-orb.lg{width:60px;height:60px;border-radius:18px}.ax-orb.lg svg{width:28px;height:28px}
/* ô lệnh */
.ax-cmd{border-radius:18px;border:1.5px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(90deg,#7c5cff,#3b82f6,#22d3ee) border-box;box-shadow:0 14px 40px rgba(15,39,71,.12);margin-bottom:20px}
.ax-cmd.listening{box-shadow:0 0 0 4px rgba(124,92,255,.18),0 14px 40px rgba(15,39,71,.12)}
.ax-cmd-in{display:flex;align-items:center;gap:12px;padding:14px 14px 12px 16px}
.ax-cmd-in textarea{flex:1;min-width:0;border:0;outline:none;resize:none;background:transparent;font:inherit;font-size:16px;line-height:1.5;color:inherit;padding:8px 0;max-height:160px}
.ax-cmd-in textarea::placeholder{color:var(--muted)}
.ax-mic{width:44px;height:44px;border-radius:13px;border:0;display:grid;place-items:center;background:color-mix(in srgb,#7c5cff 12%,var(--card));color:#6d4cff;cursor:pointer;flex:none}
.ax-mic svg{width:19px;height:19px}.ax-mic.on{background:#e11d48;color:#fff;animation:ax-pulse 1.2s infinite}
@keyframes ax-pulse{50%{box-shadow:0 0 0 8px rgba(225,29,72,.15)}}
.ax-go{height:44px;padding:0 18px;border-radius:13px;border:0;background:linear-gradient(90deg,#6d4cff,#2f6bff);color:#fff;font:inherit;font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:8px;cursor:pointer;flex:none}
.ax-go svg{width:17px;height:17px}.ax-go:disabled{opacity:.5;cursor:not-allowed}.ax-go:hover:not(:disabled){filter:brightness(1.08)}
.ax-go kbd{font:600 11px ui-monospace,monospace;background:rgba(255,255,255,.2);border-radius:5px;padding:2px 6px}
.ax-go.sq{width:44px;padding:0;justify-content:center}
.ax-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:0 16px 14px}
.ax-chip{display:inline-flex;gap:7px;align-items:center;padding:6px 12px;border-radius:10px;border:1px solid var(--card-edge);background:var(--neutral-bg);font:inherit;font-size:13px;font-weight:600;color:inherit;cursor:pointer}
.ax-chip svg{width:15px;height:15px;color:#6d4cff}.ax-chip:hover{border-color:#a78bfa}
.ax-note{margin-left:auto;display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--muted)}.ax-note svg{width:13px;height:13px}
.ax-cmd.done .ax-cmd-in{padding:14px 16px}
.ax-said{flex:1;font-size:15.5px;font-style:italic}.ax-said small{display:block;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--muted)}
/* bố cục */
.ax-c2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;align-items:start}
.ax-side{display:flex;flex-direction:column;gap:20px;min-width:0}
.ax-pad{padding:20px 22px}
.ax-eyb{font-size:11.5px;font-weight:800;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;display:flex;align-items:center;gap:8px;margin-bottom:6px}
.ax-live{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px color-mix(in srgb,#22c55e 20%,transparent)}
.ax-res:empty{display:none}.ax-res{margin-bottom:20px;display:grid;gap:12px}
.ax-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none}.ax-ic svg{width:17px;height:17px}
.ax-ic.v,.ax-st.v .ax-ic{background:color-mix(in srgb,#7c5cff 13%,var(--card));color:#6d4cff}
.ax-ic.b,.ax-st.b .ax-ic{background:color-mix(in srgb,#2f6bff 12%,var(--card));color:#2f6bff}
.ax-ic.a,.ax-st.a .ax-ic{background:var(--warn-bg);color:var(--warn)}
.ax-ic.g,.ax-st.g .ax-ic{background:var(--ok-bg);color:var(--ok)}
.ax-ic.r{background:var(--danger-bg);color:var(--danger)}
/* bản tin */
.ax-brief{padding:22px 24px}
.ax-brief h2{margin:4px 0 10px;font-size:23px;letter-spacing:-.3px}
.ax-sum{margin:0;font-size:15.5px;line-height:1.7}.ax-sum b{background:linear-gradient(transparent 58%,color-mix(in srgb,#7c5cff 22%,transparent) 58%)}
.ax-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.ax-st{border:1px solid var(--card-edge);border-radius:14px;padding:13px 14px;display:flex;flex-direction:column;gap:6px;position:relative;color:inherit;text-decoration:none}
.ax-st b{font-size:26px;letter-spacing:-.5px;line-height:1}.ax-st small{color:var(--muted);font-size:12.5px}
.ax-st.hot.v{border-color:#c4b5fd;background:linear-gradient(180deg,color-mix(in srgb,#7c5cff 6%,var(--card)),var(--card))}
.ax-st.hot.a{border-color:#f5d48a}
a.ax-st:hover{border-color:#a78bfa;text-decoration:none}
.ax-lnk{position:absolute;right:12px;top:14px;font-size:12px;font-weight:700;color:#6d4cff}
.ax-foot{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12.5px;margin-top:16px}.ax-foot svg{width:15px;height:15px}.ax-foot .sp{flex:1}
.ax-todo{list-style:none;margin:6px 0 0;padding:0}
.ax-todo li{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.ax-todo li:first-child{border-top:0}
.ax-todo .t{flex:1;min-width:0}.ax-todo .t b{display:block;font-size:14px}.ax-todo .t small{color:var(--muted);font-size:12.5px}
.ax-tl{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.ax-tl li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;padding:8px 10px;border-radius:10px;border-left:3px solid #2f6bff;background:var(--neutral-bg)}
.ax-tl li.cus{border-left-color:#f59e0b}.ax-tl li.rem{border-left-color:#7c5cff}.ax-tl li.own{border-left-color:#16a34a}
.ax-tl b{font-variant-numeric:tabular-nums}.ax-tl .t{display:block;font-weight:600}.ax-tl small{color:var(--muted);font-size:12px}
.ax-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px 6px;text-align:center;color:var(--muted);font-size:13px}
.ax-empty b{color:var(--ink);font-size:14px}.ax-empty.sm{flex-direction:row;justify-content:center;padding:10px}.ax-empty.sm svg{width:16px;height:16px;color:var(--ok)}
.ax-big{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,#7c5cff 12%,var(--card));color:#6d4cff}.ax-big svg{width:24px;height:24px}
/* thư mời */
.ax-kps{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.ax-kp{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--muted);padding:6px 12px;border-radius:99px;background:var(--card);border:1px solid var(--card-edge)}
.ax-kp b{color:var(--ink);font-size:14px}.ax-kp svg{width:14px;height:14px}
.ax-kp.v svg{color:#6d4cff}.ax-kp.g svg{color:var(--ok)}.ax-kp.b svg{color:#2f6bff}.ax-kp.r{border-color:#fecaca}.ax-kp.r svg,.ax-kp.r b{color:var(--danger)}
.ax-pipe{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.ax-col{background:color-mix(in srgb,var(--ink) 4%,var(--bg, #f3f5f9));border-radius:16px;padding:12px;display:grid;gap:10px;min-height:140px;align-content:start}
.ax-col h4{margin:2px 4px 0;font-size:13px;display:flex;align-items:center;gap:8px}
.ax-col h4 em{font-style:normal;margin-left:auto;background:var(--card);border-radius:99px;padding:1px 9px;font-size:12px;color:var(--muted)}
.ax-col h4 i{width:8px;height:8px;border-radius:50%;background:#94a3b8}.ax-col h4 i.v{background:#6d4cff}.ax-col h4 i.g{background:#16a34a}.ax-col h4 i.n{background:#0f2747}
.ax-ph{border:1.5px dashed var(--card-edge);border-radius:12px;padding:14px;text-align:center;color:var(--muted);font-size:12.5px;line-height:1.5}
.ax-inv{background:var(--card);border-radius:12px;padding:12px;border:1px solid var(--card-edge);box-shadow:0 1px 3px rgba(15,39,71,.05)}
.ax-inv.warn{border-color:#f5d48a}
.ax-inv .r{display:flex;gap:10px;align-items:center}.ax-inv .n{flex:1;min-width:0}.ax-inv .n b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ax-inv .n small{display:block;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ax-av{width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,#7c5cff 15%,var(--card));color:#5b3fd9;font-weight:800;font-size:13px;display:grid;place-items:center;flex:none}
.ax-slots{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.ax-slots span{display:inline-flex;gap:5px;align-items:center;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:7px;background:var(--neutral-bg);border:1px solid var(--card-edge)}
.ax-slots span svg{width:12px;height:12px}.ax-slots .ok{color:var(--ok);background:var(--ok-bg);border-color:transparent}.ax-slots .warn{color:var(--warn);background:var(--warn-bg);border-color:transparent}
.ax-inv .ft{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--muted)}
.ax-cxl{margin:10px 4px 0}
.ax-flowcard{margin-top:20px}
.ax-flow{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:10px}
.ax-fl{border:1px solid var(--card-edge);border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start}
.ax-fl small{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--muted)}.ax-fl b{display:block;font-size:14px;margin:2px 0}.ax-fl .sub{font-size:12.5px;line-height:1.5}
/* hỏi portal */
.ax-chat{display:flex;flex-direction:column;min-height:540px;padding:0;overflow:hidden}
.ax-msgs{flex:1;padding:22px 24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;max-height:68vh}
.ax-hello{margin:auto;max-width:440px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.ax-hello h2{margin:6px 0 0;font-size:21px}
.ax-me{align-self:flex-end;background:#0f2747;color:#fff;padding:11px 15px;border-radius:16px 16px 4px 16px;font-size:15px;max-width:75%}
.ax-bot{display:flex;gap:10px;max-width:92%}
.ax-ans{background:var(--card);border:1px solid var(--card-edge);border-radius:4px 16px 16px 16px;padding:14px 16px;flex:1;min-width:0}
.ax-ans p{margin:6px 0 10px;font-size:14.5px;line-height:1.6}
.ax-bignum{font-size:28px;font-weight:800;letter-spacing:-.6px;line-height:1.15}.ax-bignum small{font-size:13.5px;color:var(--muted);font-weight:600;margin-left:8px}
.ax-bars{display:flex;flex-direction:column;gap:7px;margin-top:4px}
.ax-bar{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px}
.ax-bar>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ax-bar .tr{height:10px;border-radius:99px;background:var(--neutral-bg);overflow:hidden}
.ax-bar .tr i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#6d4cff,#2f6bff)}
.ax-bar b{font-variant-numeric:tabular-nums;text-align:right}.ax-bar small{grid-column:2/-1;margin-top:-4px}
.ax-src{margin-top:12px}.ax-src a{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:8px;background:color-mix(in srgb,#7c5cff 10%,var(--card));color:#5b3fd9;text-decoration:none}
.ax-src a svg{width:14px;height:14px}
.ax-inbar{margin:0 16px 16px;border:1.5px solid var(--card-edge);border-radius:16px;display:flex;gap:8px;align-items:center;padding:6px}
.ax-inbar:focus-within{border-color:#a78bfa;box-shadow:0 0 0 3px rgba(124,92,255,.12)}
.ax-inbar input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;font-size:15px;color:inherit;padding:6px 4px}
.ax-inbar .ax-mic,.ax-inbar .ax-go{height:40px;width:40px}
.ax-qgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.ax-q{border:1px solid var(--card-edge);border-radius:12px;padding:11px 12px;display:flex;flex-direction:column;gap:7px;font:inherit;font-size:13px;font-weight:600;line-height:1.4;text-align:left;background:var(--card);color:inherit;cursor:pointer}
.ax-q:hover{border-color:#a78bfa;background:color-mix(in srgb,#7c5cff 4%,var(--card))}
.ax-tag{display:inline-flex;gap:5px;align-items:center;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ax-tag svg{width:13px;height:13px}
.ax-tag.b{color:#2f6bff}.ax-tag.r{color:#c2410c}.ax-tag.v{color:#6d4cff}.ax-tag.g{color:var(--ok)}.ax-tag.a{color:#b26b00}.ax-tag.n{color:var(--ink)}
.ax-safe{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--muted);background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:12px 14px}
.ax-safe svg{width:18px;height:18px;color:var(--ok);flex:none}
@media (max-width:1100px){.ax-c2{grid-template-columns:1fr}.ax-pipe{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ax-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ax-pipe,.ax-qgrid{grid-template-columns:1fr}
  .ax-go kbd,.ax-note{display:none}.ax-go{padding:0 14px}.ax-seg{overflow-x:auto;max-width:100%}.ax-seg a{padding:7px 10px}.ax-bar{grid-template-columns:90px minmax(0,1fr) auto}}
@media (max-width:640px){.ax-cmd-in{flex-wrap:wrap;gap:10px}.ax-cmd-in .ax-orb{display:none}.ax-cmd-in textarea{flex:1 1 100%;font-size:15.5px}
  .ax-cmd-in .ax-go{flex:1;justify-content:center}.ax-chips{padding:0 14px 14px}.ax-chip{padding:6px 10px}.ax-brief,.ax-pad{padding:18px}}

/* ---------- Phân quyền theo vị trí (ảnh 78) ---------- */
.pm-lay{display:grid;grid-template-columns:290px minmax(0,1fr);gap:16px;align-items:start}
.pm-pos{padding:10px;position:sticky;top:12px}.pm-gt{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:10px 6px 6px}.pm-gt:first-child{margin-top:4px}
.pm-p{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;margin-bottom:3px;color:var(--ink);text-decoration:none}
.pm-p .i{width:28px;height:28px;border-radius:8px;background:var(--neutral-bg);color:var(--muted);display:grid;place-items:center;flex:none}.pm-p .i svg{width:14px;height:14px}
.pm-p b{display:block;font-size:13.5px}.pm-p small{display:block;color:var(--muted);font-size:11.5px}.pm-p .n{margin-left:auto;font-size:11px;font-weight:700;color:var(--muted);background:var(--neutral-bg);border-radius:999px;padding:1px 8px}
.pm-p:hover{background:var(--neutral-bg)}.pm-p.on{background:var(--navy);color:#fff}.pm-p.on .i{background:#f59e0b;color:#fff}.pm-p.on small{color:#b8c6dc}.pm-p.on .n{background:rgba(255,255,255,.15);color:#fff}
.pm-p .dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;flex:none}.pm-p .dot.g{background:#7c3aed}.pm-p.fx{opacity:.75;cursor:default}.pm-p.fx:hover{background:none}
.pm-ph{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.pm-ph h2{margin:0;font-size:18px}.pm-ph small{display:block;color:var(--muted);margin-top:2px}.pm-acts{margin-left:auto;display:flex;gap:8px}
.pm-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.pm-sum div{background:var(--card);border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px}
.pm-sum b{display:block;font-size:19px}.pm-sum small{color:var(--muted)}.pm-sum .p b{color:#7c3aed}
.pm-sec{background:var(--card);border:1px solid var(--card-edge);border-radius:14px;margin-bottom:12px;overflow:hidden}
.pm-sh{display:flex;align-items:center;gap:8px;padding:10px 14px;font-weight:700;border-bottom:1px solid var(--hair)}.pm-sh small{margin-left:auto;color:var(--muted);font-weight:600;font-size:12px}
.pm-mr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--hair)}.pm-mr:first-of-type{border-top:0}.pm-mr b{font-size:13.5px}
.pm-seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--card-edge);border-radius:9px;overflow:hidden;background:var(--card)}.pm-seg.chg{box-shadow:0 0 0 2px #c4b5fd}
.pm-seg button{border:0;border-left:1px solid var(--card-edge);background:none;padding:6px 11px;font:600 12px var(--font);color:var(--muted);cursor:pointer;white-space:nowrap}.pm-seg button:first-child{border-left:0}
.pm-seg button.on{background:var(--blue);color:#fff}.pm-seg button.on.off{background:var(--neutral-bg);color:var(--ink)}.pm-seg button:disabled{cursor:not-allowed}.pm-seg button:not(.on):not(:disabled):hover{background:var(--neutral-bg)}
.pm-tch{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.pm-chip{display:inline-flex;gap:4px;align-items:center;border:1px solid var(--card-edge);background:var(--card);border-radius:999px;padding:2px 10px;font:600 11.5px var(--font);color:var(--muted);cursor:pointer}
.pm-chip.on{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 30%,transparent);color:var(--ok)}.pm-chip.chg{box-shadow:0 0 0 2px #c4b5fd}.pm-chip.lk{border-style:dashed;cursor:default}.pm-chip svg{width:11px;height:11px}.pm-chip:disabled{opacity:.6;cursor:not-allowed}
.pm-lk{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--muted);background:var(--neutral-bg);border-radius:10px;padding:9px 12px}.pm-lk svg{width:14px;height:14px;flex:none}
.pm-cmp th{text-align:center;font-size:11px}.pm-cmp th a{color:var(--ink);text-decoration:none}.pm-cmp th a:hover{color:var(--blue)}.pm-cmp th small{display:block;color:var(--muted);font-weight:500}
.pm-cmp td{text-align:center}.pm-cmp td:first-child,.pm-cmp th:first-child{text-align:left}.pm-cmp tr.g td{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;background:var(--neutral-bg)}.pm-cmp tr.tab td:first-child{padding-left:22px;color:var(--muted)}
.pm-d{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:middle}.pm-d.d3{background:var(--ok)}.pm-d.d2{background:#38bdf8}.pm-d.d0{background:var(--card-edge)}.pm-d.dl{border:1.5px dashed var(--muted)}
@media (max-width:1000px){.pm-lay{grid-template-columns:1fr}.pm-pos{position:static}.pm-mr{grid-template-columns:1fr}}

/* Màn hình TV — tổng quan (ảnh TV-1) */
.tvo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}
.tvo-card{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:10px;min-width:0;box-shadow:var(--shadow)}
.tvo-wrap{position:relative;border-radius:10px;overflow:hidden}
.tvo-scr{width:100%}
.tvo-off{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:#9ca3af;background:repeating-linear-gradient(135deg,#1f2937,#1f2937 10px,#232f40 10px,#232f40 20px)}
.tvo-off svg{width:26px;height:26px}.tvo-off b{color:#fca5a5;font-size:14px}.tvo-off small{font-size:11.5px}
.tvo-live{position:absolute;left:8px;top:8px;display:flex;gap:6px;align-items:center;background:#000a;color:#fff;border-radius:99px;padding:3px 10px 3px 8px;font-weight:700;font-size:11.5px;z-index:2}
.tvo-live i{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px #34d39944;animation:mm-blink 1.4s infinite}
.tvo-prog{position:absolute;left:0;right:0;bottom:0;height:4px;background:#ffffff33;z-index:2}.tvo-prog b{display:block;height:100%;width:0;background:#8ee0b8;transition:width 1s linear}
.tvo-nm{display:flex;align-items:center;gap:8px;margin:10px 4px 2px}.tvo-nm b{font-size:14.5px}.tvo-nm .sp{flex:1}
.tvo-dot{width:9px;height:9px;border-radius:50%;flex:none}.tvo-dot.on{background:#16a34a;box-shadow:0 0 0 3px #16a34a22}.tvo-dot.off{background:#dc2626}
.tvo-meta{margin:0 4px 8px;display:flex;gap:5px;align-items:center;flex-wrap:wrap}.tvo-meta svg{width:13px;height:13px}
.tvo-now{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;margin:0 4px 10px;font-size:12.6px;background:var(--bg);border-radius:9px;padding:8px 10px}
.tvo-now>span:nth-child(odd){color:var(--muted)}.tvo-now.bad{background:var(--danger-bg)}.tvo-now.bad>span:first-child,.tvo-now.bad b{color:var(--danger)}
.tvo-act{display:flex;gap:6px;margin:0 4px 4px;flex-wrap:wrap;align-items:center}.tvo-act .sp{flex:1}
.tvo-alert{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;margin-bottom:14px;background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}
.tvo-alert>svg{width:18px;height:18px;flex:none;margin-top:3px}.tvo-alert p{margin:0 0 4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--ink)}
.tvo-lib{margin-top:16px}
.tvo-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 12px;border-bottom:1px solid var(--line)}
.tvo-tabs button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:9px;padding:7px 12px;font:inherit;font-weight:600;font-size:12.6px;cursor:pointer;color:var(--ink)}
.tvo-tabs button svg{width:14px;height:14px}.tvo-tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.tvo-assets{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:14px 16px}
.tvo-assets figure{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative}.tvo-assets img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#000}
.tvo-assets figcaption{padding:6px 8px;font-size:12px}.tvo-assets figcaption b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tvo-assets .icon-mini{position:absolute;top:6px;right:6px;background:var(--card)}
.tvo-addimg{border:2px dashed var(--line);border-radius:10px;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:140px;cursor:pointer;font:inherit;color:var(--ink)}
.tvo-addimg svg{width:20px;height:20px}.tvo-addimg small{color:var(--muted);font-size:11.5px}
.tvo-set{padding:14px 16px;font-size:13px}.tvo-set p{margin:0 0 8px}
.tvo-full{width:100%}

/* Màn hình TV — soạn kịch bản kéo thả (ảnh TV-2) */
.pl-lay{display:grid;grid-template-columns:270px minmax(0,1fr) 400px;gap:16px;align-items:start}
.pl-lib{padding-bottom:6px}.pl-grp{font-size:10.8px;font-weight:800;color:var(--muted);letter-spacing:.05em;padding:12px 14px 7px}
.pl-blk{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:7px 8px 7px 6px;margin:0 12px 7px;background:var(--card);cursor:grab;font-size:12.6px}
.pl-blk:hover{border-color:var(--blue)}.pl-blk b{display:block;font-weight:600}.pl-blk small{display:block;color:var(--muted);font-size:11px;line-height:1.3}.pl-blk>div{flex:1;min-width:0}
.pl-grip{color:#b6c3d4;display:flex}.pl-grip svg{width:14px;height:14px}
.pl-bi,.pl-mini{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex:none}.pl-bi svg,.pl-mini svg{width:15px;height:15px}
.pl-mini{width:64px;height:36px;color:#fff}.pl-mini.sm{width:28px;height:28px}
.pl-tabs{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap}
.pl-tab{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:7px 12px;font:inherit;font-weight:600;font-size:12.4px;background:var(--card);color:var(--ink);cursor:pointer}
.pl-tab svg{width:14px;height:14px}.pl-tab.on{background:var(--navy);color:#fff;border-color:var(--navy)}.pl-tab.add{border-style:dashed}
.pl-slotedit{margin-left:auto;display:inline-flex;gap:4px;align-items:center}.pl-slotedit svg{width:13px;height:13px}
.pl-list{min-height:120px;padding:4px 0}
.pl-it{display:grid;grid-template-columns:16px 18px 64px minmax(0,1fr) auto auto 34px 22px 26px;gap:9px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line);font-size:12.8px;background:var(--card);cursor:pointer}
.pl-it .pl-grip{cursor:grab}.pl-no{font-weight:800;color:#94a3b8;text-align:center}.pl-txt{min-width:0}.pl-txt b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-txt small{display:block;color:var(--muted);font-size:11.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-it.sel{background:color-mix(in srgb,var(--blue) 7%,var(--card));box-shadow:inset 3px 0 0 var(--blue)}.pl-it.dim>*:not(.pl-sw):not(.icon-mini){opacity:.5}.pl-it.dragging{opacity:.4}
.pl-dur{border:1px solid var(--line);border-radius:8px;padding:4px 8px;font-weight:700;font-size:11.8px;display:inline-flex;gap:4px;align-items:center;white-space:nowrap}.pl-dur svg{width:12px;height:12px}
/* Ảnh 122 (anh Tâm duyệt 05/10/2026): thời lượng chỉnh ngay trên dòng — − / + và bảng chọn nhanh */
.pl-step{position:relative;display:inline-flex;align-items:stretch;border:1.5px solid var(--line);border-radius:9px;background:var(--card);height:30px;flex:none}
.pl-step>button{border:0;background:none;font:inherit;cursor:pointer;height:27px;padding:0;margin:0;display:grid;place-items:center;line-height:1;box-shadow:none;min-height:0}
.pl-step>button[data-dec],.pl-step>button[data-inc]{width:26px;font-size:16px;font-weight:800;color:var(--blue);background:color-mix(in srgb,var(--blue) 6%,transparent)}
.pl-step>button[data-dec]{border-radius:8px 0 0 8px;border-right:1px solid var(--line)}.pl-step>button[data-inc]{border-radius:0 8px 8px 0;border-left:1px solid var(--line)}
.pl-step>button:disabled{color:#b6c2d1;cursor:default}
.pl-step>button:not(:disabled):hover{background:color-mix(in srgb,var(--blue) 14%,transparent)}
.pl-stv{min-width:60px;padding:0 6px!important;font-weight:800!important;font-size:12px;color:var(--ink);text-decoration:underline dotted #9fb2c9;text-underline-offset:3px;white-space:nowrap}
.pl-quick{position:absolute;top:38px;right:-6px;z-index:30;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(16,24,40,.16);padding:10px;width:252px;cursor:default}
.pl-quick p{margin:0 0 8px;font-size:11px;font-weight:700;color:var(--muted)}
.pl-qg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pl-qg button{border:1px solid var(--line);border-radius:8px;padding:6px 0;font:inherit;font-size:12px;font-weight:700;background:var(--card);color:var(--ink);cursor:pointer;white-space:nowrap}
.pl-qg button.on,.pl-qg button:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.pl-qown{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:11.5px;color:var(--muted)}.pl-qown input{width:72px;padding:4px 8px;border:1px solid var(--line);border-radius:7px;font:inherit;font-weight:700;color:var(--ink);background:var(--card)}
.pl-barrow{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:10px 16px 14px;border-top:1px dashed var(--line);font-size:12.6px;color:var(--muted)}
.pl-sw{width:34px;height:20px;border-radius:99px;background:#cbd5e1;position:relative;border:0;padding:0;cursor:pointer}.pl-sw:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .15s}
.pl-sw.on{background:var(--blue)}.pl-sw.on:after{left:16px}
.pl-mv{display:flex;flex-direction:column}.pl-mv button{border:0;background:none;font-size:9px;line-height:1.1;color:var(--muted);cursor:pointer;padding:1px}
.pl-drop{margin:4px 14px;border:2px dashed var(--blue);border-radius:10px;background:color-mix(in srgb,var(--blue) 8%,var(--card));color:var(--blue);font-weight:700;font-size:12.3px;padding:10px 16px}
.pl-empty{margin:16px;border:2px dashed var(--line);border-radius:12px;padding:30px;text-align:center;color:var(--muted)}
.pl-blank{display:flex;gap:12px;align-items:flex-start;padding:24px 18px}.pl-blank svg{width:22px;height:22px;flex:none}.pl-blank p{margin:4px 0 0}
.pl-sum{display:flex;gap:10px;align-items:center;padding:12px 16px;font-size:12.6px;color:var(--muted);flex-wrap:wrap}.pl-sum svg{width:14px;height:14px}.pl-sum .sp{flex:1}.pl-sum b{color:var(--ink)}
.pl-chip{border:1px solid var(--line);border-radius:7px;padding:3px 9px;font:inherit;font-size:11.8px;font-weight:600;background:var(--card);color:var(--ink);cursor:pointer}.pl-chip.on{background:var(--blue);border-color:var(--blue);color:#fff}
.pl-chips{display:flex;gap:5px;flex-wrap:wrap}
.pl-side{display:flex;flex-direction:column;gap:16px;min-width:0;position:sticky;top:12px}
.pl-pv{padding:0 12px 12px;position:relative}.pl-pv>div:first-child{width:100%;border-radius:10px}
.pl-pvbar{height:4px;background:var(--line);border-radius:2px;margin-top:6px;overflow:hidden}.pl-pvbar b{display:block;height:100%;width:0;background:var(--blue)}
.pl-props{padding:6px 16px 16px;font-size:12.6px}.pl-props .r{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;align-items:center;margin-bottom:11px}.pl-props .r.top{align-items:start}
.pl-props .r>span:first-child{color:var(--muted);font-weight:600}.pl-props input:not([type=range]),.pl-props select,.pl-props textarea{width:100%}.pl-props .r small{grid-column:2}
.pl-rng{display:flex;gap:10px;align-items:center}.pl-rng input{flex:1}.pl-rng b{min-width:60px;text-align:right}
.pl-lock{display:inline-flex;gap:6px;align-items:center;color:var(--ok);font-weight:600}.pl-lock svg{width:14px;height:14px}
.pl-assets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pl-assets button{border:2px solid transparent;border-radius:8px;padding:0;overflow:hidden;cursor:pointer;background:#000;aspect-ratio:16/9}
.pl-assets button.on{border-color:var(--blue)}.pl-assets img{width:100%;height:100%;object-fit:cover;display:block}
.pl-upimg{background:var(--bg)!important;border:1px dashed var(--line)!important;font:inherit;font-size:11.5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink)}.pl-upimg svg{width:14px;height:14px}
.btn.pulse{animation:mm-blink 1.4s infinite}
@media (max-width:1300px){.pl-lay{grid-template-columns:240px minmax(0,1fr)}.pl-side{grid-column:1/-1;position:static;display:grid;grid-template-columns:1fr 1fr}}
@media (max-width:800px){.pl-lay{grid-template-columns:1fr}.pl-side{grid-template-columns:1fr}.pl-it{grid-template-columns:16px 64px minmax(0,1fr) 34px 22px 26px}.pl-it .pl-no,.pl-it>.pill,.pl-it .pl-dur,.pl-it .pl-step{display:none}.pl-blk{cursor:default}}
/* ---------- Tài khoản — danh sách (ảnh 79) ---------- */
.au-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.au-kpis div{background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:12px 16px;display:flex;gap:10px;align-items:center}.au-kpis b{font-size:22px}.au-kpis small{color:var(--muted)}
.au-kpis .w b{color:var(--warn)}.au-kpis .d b{color:var(--danger)}
.au-todo{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);border-radius:12px;padding:10px 14px;margin-bottom:12px;color:var(--warn)}
.au-todo svg{width:16px;height:16px;flex:none}.au-todo .r{margin-left:auto;display:flex;gap:6px}
.au-bar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;align-items:center;background:var(--card);border:1px solid var(--card-edge);border-radius:16px;padding:14px 16px;margin-bottom:12px;box-shadow:0 2px 10px rgba(15,30,60,.05)}
.au-bar .bl{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.au-bar .bc{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.au-chip{display:inline-flex;gap:8px;align-items:center;border:1.5px solid var(--card-edge);background:var(--card);border-radius:12px;padding:9px 16px;font:700 14.5px var(--font);color:var(--ink);cursor:pointer}
.au-chip svg{width:16px;height:16px;color:var(--muted)}.au-chip span{background:var(--neutral-bg);border-radius:999px;padding:1px 9px;font-size:12.5px}
.au-chip:hover{border-color:var(--blue)}.au-chip.on{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 4px 12px rgba(19,41,75,.25)}.au-chip.on svg{color:#fff}.au-chip.on span{background:rgba(255,255,255,.18)}
.au-chip.w{border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:var(--warn-bg);color:var(--warn)}.au-chip.w.on{background:var(--warn);color:#fff}
.au-srch{display:flex;gap:8px;align-items:center;border:1.5px solid var(--card-edge);background:var(--neutral-bg);border-radius:12px;padding:0 14px;flex:1;min-width:240px}.au-srch svg{width:16px;height:16px;color:var(--muted)}
.au-srch input{border:0;background:none;outline:0;flex:1;padding:10px 0;font:14px var(--font);color:var(--ink)}
.au-list{background:var(--card);border:1px solid var(--card-edge);border-radius:16px;overflow:hidden}
.au-gt{display:flex;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:9px 16px;background:var(--neutral-bg);border-bottom:1px solid var(--hair)}.au-gt small{margin-left:auto}
.au-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(260px,1.6fr) minmax(150px,.8fr) 140px 44px;gap:14px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--hair);cursor:pointer}
.au-row:hover{background:color-mix(in srgb,var(--blue) 4%,var(--card))}.au-row.off{opacity:.6}
.au-who{display:flex;gap:10px;align-items:center;min-width:0}.au-who a{display:block;font-weight:700;font-size:14px}.au-who small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.au-av{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:12px;display:grid;place-items:center;flex:none;position:relative}
.au-av i{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;border:2px solid var(--card)}.au-av i.on{background:var(--ok)}.au-av i.never{background:#f59e0b}.au-av i.lk{background:var(--danger)}
.au-f{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.au-t{font-style:normal;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700;white-space:nowrap}
.au-t.c1{background:#fef3c7;color:#92400e}.au-t.c2{background:#dbeafe;color:#1d4ed8}.au-t.c0{background:var(--neutral-bg);color:var(--muted)}.au-x{color:var(--muted);font-size:11px}
.au-dp{font-size:13px}.au-dp small,.au-st small{display:block;color:var(--muted);font-size:11.5px}.au-st{font-size:12.5px}.au-st .ok{color:var(--ok)}.au-st .never{color:var(--warn)}.au-st .lk{color:var(--danger)}
.au-act{display:flex;justify-content:flex-end}.au-more{width:32px;height:32px;border:1px solid var(--card-edge);background:var(--card);border-radius:8px;display:grid;place-items:center;cursor:pointer;color:var(--muted)}.au-more svg{width:15px;height:15px}
.au-menu{position:absolute;z-index:50;width:230px;background:var(--card);border:1px solid var(--card-edge);border-radius:12px;box-shadow:0 10px 30px rgba(15,30,60,.18);padding:6px}
.au-menu a,.au-menu button{display:flex;gap:8px;align-items:center;width:100%;padding:8px 10px;border-radius:8px;border:0;background:none;font:13.5px var(--font);color:var(--ink);text-decoration:none;cursor:pointer;text-align:left}
.au-menu a:hover,.au-menu button:hover{background:var(--neutral-bg)}.au-menu svg{width:15px;height:15px;color:var(--muted)}.au-menu .d,.au-menu .d svg{color:var(--danger)}.au-menu hr{border:0;border-top:1px solid var(--hair);margin:4px 0}.au-menu p{margin:4px 10px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .au-t.c1{background:#4a3a10;color:#fcd34d}:root:not([data-theme="light"]) .au-t.c2{background:#1e3a6e;color:#bfdbfe}}
:root[data-theme="dark"] .au-t.c1{background:#4a3a10;color:#fcd34d}:root[data-theme="dark"] .au-t.c2{background:#1e3a6e;color:#bfdbfe}
@media (max-width:1100px){.au-row{grid-template-columns:minmax(0,1fr) auto}.au-f,.au-dp,.au-st{grid-column:1}.au-act{grid-row:1;grid-column:2}.au-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.au-bar{grid-template-columns:1fr}}
/* ===== Ghi chú — thiết kế lại (ảnh 83–84, duyệt 04/10/2026) ===== */
.nq-lay{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}
.nq-side{padding:12px;position:sticky;top:76px}
.nq-nav{display:grid;gap:2px}
.nq-nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none}
.nq-nav a:hover{background:var(--neutral-bg);text-decoration:none}
.nq-nav a em{margin-left:auto;font-style:normal;font-size:12px;font-weight:700;color:var(--muted)}
.nq-nav a.on{background:color-mix(in srgb,var(--blue) 10%,var(--card));color:var(--blue)}.nq-nav a.on em{color:var(--blue)}
.nq-nav a.red em{background:var(--danger-bg);color:var(--danger);border-radius:99px;padding:1px 8px}
.nq-nav hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
.nq-nic{display:grid;place-items:center;width:20px;color:var(--muted)}.nq-nic svg{width:17px;height:17px}
.nq-nic.r{color:var(--danger)}.nq-nic.b{color:var(--blue)}.nq-nic.v{color:#6d4cff}.nq-nic.a{color:#c98a00}.nq-nic.ok{color:var(--ok)}
.nq-mail{margin:10px 2px 2px;padding:12px;border-radius:12px;background:var(--neutral-bg);display:grid;gap:6px;font-size:12.5px}
.nq-mail b{font-size:13px}.nq-mail select{height:34px;border:1px solid var(--card-edge);border-radius:9px;padding:0 8px;font:inherit;font-size:13px;font-weight:600;background:var(--card);color:inherit}
.nq-main{min-width:0}
/* ô ghi nhanh */
.nq-comp{border:1.5px solid var(--card-edge);border-radius:14px;background:var(--card)}
.nq-comp:focus-within{border-color:#a78bfa;box-shadow:0 0 0 3px rgba(124,92,255,.12)}
.nq-comp.full{border-radius:18px;box-shadow:0 1px 2px rgba(15,39,71,.04);margin-bottom:6px}
.nq-in{display:flex;align-items:center;gap:10px;padding:10px 12px}
.nq-comp.full .nq-in{padding:14px 16px}
.nq-in>svg{width:18px;height:18px;color:#6d4cff;flex:none}
.nq-in textarea{flex:1;min-width:0;border:0;outline:none;resize:none;background:transparent;font:inherit;font-size:14.5px;line-height:1.5;color:inherit;padding:2px 0}
.nq-comp.full .nq-in textarea{font-size:16px}
.nq-in kbd,.nq-save kbd{font:600 11px ui-monospace,monospace;border:1px solid var(--card-edge);border-bottom-width:2px;border-radius:5px;padding:2px 6px;color:var(--muted);background:var(--card)}
.nq-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0 12px 10px}
.nq-comp:not(.full) .nq-bar:has(.nq-parse:empty){display:none}
.nq-comp.full .nq-bar{padding:0 16px 12px}
.nq-parse{display:inline-flex;gap:6px;align-items:center;font-size:12px}.nq-parse:empty{display:none}
.nq-tool{display:inline-flex;gap:6px;align-items:center;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);padding:5px 10px;border-radius:8px;border:1px solid var(--card-edge);background:var(--card);cursor:pointer}
.nq-tool svg{width:14px;height:14px}.nq-tool:hover,.nq-tool.on{color:#6d4cff;border-color:#c4b5fd}
.nq-dt{height:30px;border:1px solid var(--card-edge);border-radius:8px;padding:0 8px;font:inherit;font-size:12.5px;background:var(--card);color:inherit}
.nq-hint{font-size:12px;color:var(--muted)}
.nq-save{margin-left:auto;height:36px;padding:0 16px;border-radius:10px;border:0;background:var(--blue);color:#fff;font:inherit;font-weight:700;font-size:13.5px;display:flex;gap:8px;align-items:center;cursor:pointer}
.nq-save kbd{background:rgba(255,255,255,.2);border:0;color:#fff}
.nq-x{width:22px;height:22px;border:0;border-radius:6px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;padding:0}.nq-x svg{width:13px;height:13px}
.nq-cklist{display:block;width:calc(100% - 32px);margin:0 16px 14px;box-sizing:border-box;border:1px solid var(--card-edge);border-radius:10px;padding:8px 10px;font:inherit;font-size:13.5px;background:var(--card);color:inherit;resize:vertical}
/* giờ nhắc */
.nq-tc{display:inline-flex;gap:5px;align-items:center;font:inherit;font-weight:700;font-size:12px;padding:3px 9px;border-radius:8px;white-space:nowrap;border:0;background:var(--neutral-bg);color:var(--muted)}
.nq-tc svg{width:13px;height:13px}
.nq-tc.b{background:color-mix(in srgb,var(--blue) 11%,var(--card));color:var(--blue)}.nq-tc.r{background:var(--danger-bg);color:var(--danger)}
.nq-tc.v{background:color-mix(in srgb,#7c5cff 12%,var(--card));color:#6d4cff}
button.nq-tc{cursor:pointer}
/* danh sách */
.nq-lhead{display:flex;align-items:center;gap:10px;margin:18px 4px 10px;flex-wrap:wrap}.nq-lhead h2{margin:0;font-size:18px}.nq-lhead .sp{flex:1}
.nq-search{display:flex;gap:8px;align-items:center;border:1px solid var(--card-edge);background:var(--card);border-radius:10px;padding:0 12px;width:260px;max-width:100%;color:var(--muted)}
.nq-search svg{width:15px;height:15px}.nq-search input{flex:1;border:0;outline:none;background:transparent;font:inherit;font-size:13.5px;height:36px;color:inherit;min-width:0}
.nq-grp{margin-bottom:14px}
.nq-gh{display:flex;align-items:center;gap:8px;padding:4px 6px 8px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.nq-gh svg{width:14px;height:14px}.nq-gh em{font-style:normal;background:var(--neutral-bg);border-radius:99px;padding:0 8px;letter-spacing:0}
.nq-gh.r{color:var(--danger)}.nq-gh.r em{background:var(--danger-bg)}
.nq-rows{padding:0;overflow:hidden}
.nq-row{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border-top:1px solid var(--line);position:relative;transition:background .15s,opacity .2s}
.nq-rows .nq-row:first-child{border-top:0}
.nq-row:hover{background:color-mix(in srgb,var(--blue) 3%,var(--card))}
.nq-row.late::before,.nq-row.pin::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:#c98a00}
.nq-row.late::before{background:var(--danger)}
.nq-row.leaving{opacity:.35}
.nq-ck{width:20px;height:20px;border-radius:6px;border:1.8px solid #b8c3d1;background:var(--card);display:grid;place-items:center;flex:none;cursor:pointer;padding:0;margin-top:1px;color:transparent}
.nq-ck svg{width:13px;height:13px;stroke-width:3}.nq-ck:hover{border-color:var(--ok);color:color-mix(in srgb,var(--ok) 50%,transparent)}
.nq-ck.on{background:var(--ok);border-color:var(--ok);color:#fff}.nq-row.late .nq-ck{border-color:#e57373}
.nq-ck.sm{width:16px;height:16px;border-radius:5px}.nq-ck.sm svg{width:11px;height:11px}
.nq-t{flex:1;min-width:0;cursor:pointer}.nq-t b{display:block;font-size:14.5px;font-weight:600;line-height:1.45}
.nq-t p{margin:3px 0 0;font-size:13px;color:var(--muted);line-height:1.5;white-space:pre-line}
.nq-t small{color:var(--muted);font-size:12px}
.nq-row.done .nq-t b{color:var(--muted);text-decoration:line-through}
.nq-pin{display:inline-grid;margin-left:6px;color:#c98a00;vertical-align:-2px}.nq-pin svg{width:14px;height:14px}
.nq-sub{margin-top:6px}.nq-sub summary{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);cursor:pointer;list-style:none}
.nq-sub summary::-webkit-details-marker{display:none}
.nq-prog{width:80px;height:5px;border-radius:99px;background:var(--neutral-bg);overflow:hidden;display:inline-block}.nq-prog i{display:block;height:100%;background:var(--ok);border-radius:99px}
.nq-sub ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.nq-sub li{display:flex;gap:8px;align-items:center;font-size:13px}
.nq-r{display:flex;flex-direction:row-reverse;align-items:center;gap:8px;flex:none}
.nq-acts{display:flex;gap:4px;opacity:0;transition:opacity .15s}
.nq-row:hover .nq-acts,.nq-row:focus-within .nq-acts{opacity:1}
@media (hover:none){.nq-acts{opacity:1}}
.nq-ib{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--ink);border:1px solid var(--card-edge);background:var(--card);cursor:pointer;padding:0;text-decoration:none}
.nq-ib svg{width:15px;height:15px}.nq-ib:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}.nq-ib.on{color:#c98a00}
.nq-empty{padding:30px 10px}
.nq-foot{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--muted);margin:10px 4px}.nq-foot svg{width:14px;height:14px;color:var(--ok)}
.nq-snz{display:grid;gap:8px}.nq-snz .btn{justify-content:flex-start}
/* thẻ Tổng quan */
.nq-home{display:flex;flex-direction:column}
.nq-home .card-head{padding:16px 18px 10px}
.nq-lock{display:inline-flex;gap:5px;align-items:center;font-size:11.5px;font-weight:700;color:var(--muted);background:var(--neutral-bg);border-radius:99px;padding:3px 9px}
.nq-lock svg{width:12px;height:12px}
.nq-home .nq-comp{margin:0 18px 4px;background:var(--neutral-bg)}.nq-home .nq-comp:focus-within{background:var(--card)}
.nq-hlist{padding:4px 8px 8px;flex:1}
.nq-gh.sm{font-size:11px;padding:10px 10px 2px}
.nq-hlist .nq-row{border-top:0;border-radius:10px;padding:8px 10px}
.nq-hlist .nq-row.late::before,.nq-hlist .nq-row.pin::before{display:none}
.nq-hlist .nq-t b{font-size:14px}
.nq-hempty{padding:14px 12px}
.nq-hfoot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:11px 18px;font-size:13px}
.nq-hfoot a{font-weight:700}
@media (max-width:900px){.nq-lay{grid-template-columns:1fr;gap:12px}.nq-side{display:contents}
  .nq-nav{order:0;display:flex;gap:6px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none}.nq-nav::-webkit-scrollbar{display:none}
  .nq-nav a{flex:none;border:1px solid var(--card-edge);background:var(--card);border-radius:99px;padding:7px 12px;font-size:13px}.nq-nav a em{margin-left:4px}.nq-nav hr{display:none}
  .nq-main{order:1}.nq-mail{order:2;margin:0;background:var(--card);border:1px solid var(--card-edge)}}
@media (max-width:600px){.nq-hint{display:none}.nq-search{width:100%}.nq-row{padding:12px;flex-wrap:wrap}.nq-tc{font-size:11.5px}
  .nq-rows .nq-r{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:6px;padding-left:32px}.nq-ib{width:28px;height:28px}}

/* ---------- Nghiệp vụ tự tạo (ảnh 85) ---------- */
dialog.modal.dt-dlg{width:min(1040px,calc(100vw - 24px))!important}
.dt-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}
.dt-lab{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 6px}
.dt-icons{display:flex;gap:6px;flex-wrap:wrap}.dt-icons button{width:36px;height:36px;border:1px solid var(--card-edge);background:var(--card);border-radius:9px;display:grid;place-items:center;color:var(--muted);cursor:pointer}
.dt-icons button svg{width:16px;height:16px}.dt-icons button.on{border:2px solid var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--card));color:var(--blue)}
.dt-sec{border:1px solid var(--card-edge);border-radius:12px;margin-bottom:10px;overflow:hidden}.dt-sh{display:flex;font-weight:700;font-size:12.5px;padding:8px 12px;background:var(--neutral-bg);border-bottom:1px solid var(--hair)}.dt-sh small{margin-left:auto;color:var(--muted)}
.dt-mr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 12px;border-top:1px solid var(--hair)}.dt-mr:first-of-type{border-top:0}.dt-mr b{font-size:13px;display:inline-flex;gap:4px;align-items:center}.dt-mr b svg{width:12px;height:12px}.dt-mr.lk{opacity:.55}
.dt-pv{background:var(--navy);color:#fff;border-radius:12px;padding:12px 14px;position:sticky;top:0}.dt-pv h4{margin:0 0 6px;font-size:13px;display:flex;gap:6px;align-items:center}.dt-pv h4 svg{width:14px;height:14px}
.dt-pv .g{font-size:10.5px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-top:8px}.dt-pv .it{display:flex;gap:6px;align-items:center;padding:3px 0;font-size:12.5px;color:#86efac}.dt-pv .it svg{width:12px;height:12px}.dt-pv .it small{margin-left:auto;color:#94a3b8;font-size:11px}.dt-pv .sub{color:#94a3b8}
.dt-note{display:flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--muted);background:var(--neutral-bg);border-radius:9px;padding:8px 10px;margin:10px 0 0}.dt-note svg{width:13px;height:13px;flex:none;margin-top:1px}
.pq-own{font-size:10.5px;font-weight:700;background:#ede9fe;color:#6d28d9;border-radius:999px;padding:1px 7px;margin-left:6px}
.pq-duty .pq-ed{margin-left:auto;display:flex;gap:6px;align-items:center;flex:none}.pq-duty .pq-ed small{color:var(--muted);font-size:11px}
.pq-add{display:flex;gap:8px;align-items:center;justify-content:center;width:calc(100% - 32px);margin:8px 16px 14px;border:1.5px dashed color-mix(in srgb,var(--blue) 45%,transparent);background:color-mix(in srgb,var(--blue) 6%,var(--card));color:var(--blue);border-radius:12px;padding:11px;font:700 13.5px var(--font);cursor:pointer}.pq-add svg{width:16px;height:16px}
.dt-list{display:grid;gap:10px}.dt-card{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:12px 14px}
.dt-card .i{width:36px;height:36px;border-radius:10px;background:var(--neutral-bg);color:var(--muted);display:grid;place-items:center;flex:none}.dt-card .i svg{width:17px;height:17px}.dt-card b{display:block;font-size:14px}.dt-card small{color:var(--muted)}.dt-card .r{margin-left:auto;display:flex;gap:6px;align-items:center}
@media (max-width:900px){.dt-grid{grid-template-columns:1fr}}
/* Ghi chú quá giờ: chớp báo động (anh Tâm 04/10/2026) — tắt khi người dùng chọn giảm chuyển động */
@keyframes nq-alarm{0%,100%{background:color-mix(in srgb,var(--danger) 4%,var(--card))}50%{background:color-mix(in srgb,var(--danger) 16%,var(--card))}}
@keyframes nq-blink{0%,100%{opacity:1;box-shadow:0 0 0 0 color-mix(in srgb,var(--danger) 45%,transparent)}50%{opacity:.55;box-shadow:0 0 0 5px color-mix(in srgb,var(--danger) 0%,transparent)}}
.nq-row.late{animation:nq-alarm 1.4s ease-in-out infinite}
.nq-row.late .nq-tc.r,.nq-alarm-pill{animation:nq-blink 1s ease-in-out infinite}
.nq-row.late .nq-ck{border-color:var(--danger);animation:nq-blink 1s ease-in-out infinite}
.nq-nav a.red em{animation:nq-blink 1s ease-in-out infinite}
.nq-gh.r>svg{animation:nq-blink 1s ease-in-out infinite;border-radius:50%}
@media (prefers-reduced-motion:reduce){.nq-row.late,.nq-row.late .nq-tc.r,.nq-alarm-pill,.nq-row.late .nq-ck,.nq-nav a.red em,.nq-gh.r>svg{animation:none}}
/* Biểu tượng nằm trong câu chữ của ô trống (VD "bấm biểu tượng 🐞 để báo") — không cho phóng to cả khung */
.empty svg{width:1.15em;height:1.15em;vertical-align:-.2em;display:inline-block}
/* ===== Menu rút gọn (ảnh 95, duyệt 04/10/2026): Hay dùng + nhóm thu gọn + Tìm chức năng ⌘K ===== */
.mn-find{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;margin:8px 2px 2px;padding:8px 12px;border-radius:10px;background:#ffffff10;border:1px solid #ffffff1f;color:#8aa0bb;font-size:13.5px}
.mn-find svg{width:17px;height:17px;stroke:#9fb2ca;flex:none}.mn-find span{flex:1}
.mn-find:hover{background:#ffffff1a;color:#fff}.mn-find:focus-visible{outline:2px solid var(--sky)}
.mn-find kbd,.mn-pal kbd{font:600 10.5px ui-monospace,monospace;border:1px solid #ffffff30;border-radius:5px;padding:1px 5px;color:#b8c6d8}
.mn-sec{display:flex;align-items:center}
.mn-edit{all:unset;cursor:pointer;margin-left:auto;display:inline-flex;gap:4px;align-items:center;text-transform:none;letter-spacing:0;font-weight:600;font-size:11.5px;color:#7dd3fc}
.mn-edit svg{width:12px;height:12px;stroke:currentColor}.mn-edit:hover{color:#fff}
.mn-grp{display:flex;flex-direction:column}
.mn-head{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:42px;padding:0 12px;border-radius:var(--radius-sm);color:#dbe5f1;font-weight:600;white-space:nowrap}
.mn-head>svg{width:19px;height:19px;stroke:#9fb2ca;flex:none}.mn-head>svg:last-child{width:15px;height:15px;margin-left:2px;transition:transform .15s}
.mn-head .mn-l{flex:1;overflow:hidden;text-overflow:ellipsis}.mn-head small{color:#7f95b1;font-size:11.5px;font-weight:600}
.mn-head .badge{background:#e5484d;color:#fff;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.5}
.mn-head:hover{background:#ffffff12;color:#fff}.mn-head:focus-visible{outline:2px solid var(--sky)}
.mn-grp.open>.mn-head{background:#ffffff0d}.mn-grp.open>.mn-head>svg:last-child{transform:rotate(90deg)}
.mn-grp.has-active:not(.open)>.mn-head{box-shadow:inset 3px 0 var(--sky)}
/* Mục thẳng (không có nhóm bọc ngoài): "Dự án" */
a.mn-head.mn-flat{text-decoration:none}a.mn-head.mn-flat.active{background:#ffffff14;color:#fff;box-shadow:inset 3px 0 var(--sky)}a.mn-head.mn-flat.active>svg{stroke:#fff}
.mn-kids{margin:2px 0 6px 21px;padding-left:8px;border-left:1px solid #2b4568;display:flex;flex-direction:column;gap:1px}
.nav-item.mn-kid{min-height:36px;font-size:13.5px}.nav-item.mn-kid svg{width:17px;height:17px}
/* ghim ★ (ảnh 96) */
.mn-sec>svg{width:12px;height:12px;stroke:#fbbf24;margin-right:4px}.mn-sec b{margin-left:auto;color:#fbbf24;letter-spacing:0;font-weight:700}
.mn-hint{margin:2px 12px 8px;font-size:12px;color:#7f95b1;line-height:1.45}
.nav-item{position:relative}
.mn-star{all:unset;box-sizing:border-box;cursor:pointer;display:none;place-items:center;width:24px;height:24px;border-radius:6px;margin-left:auto;flex:none}
.mn-star svg{width:15px;height:15px;stroke:#9fb2ca;fill:none}
.nav-item:hover .mn-star,.nav-item:focus-visible .mn-star,.mn-star:focus-visible{display:grid}
.nav-item .badge+.mn-star{margin-left:6px}
.mn-star:hover{background:#ffffff1a}.mn-star:hover svg{stroke:#fbbf24}
.mn-star.on svg{fill:#fbbf24;stroke:#fbbf24}
.nav-item.mn-pin{cursor:grab}.nav-item.mn-pin.dragging{opacity:.4}.nav-item.drop-above{box-shadow:inset 0 2px #fbbf24}
.mn-more{padding:4px 12px 6px;font-size:12px;color:#7f95b1}.mn-more button{all:unset;cursor:pointer;color:#7dd3fc;font-weight:600}.mn-more button:hover{text-decoration:underline}
@media (hover:none){.nav-item.mn-pin .mn-star{display:none}}
.mn-ctx{position:fixed;z-index:210;min-width:210px;background:var(--card);color:var(--ink);border:1px solid var(--card-edge);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.3);padding:6px}
.mn-ctx-h{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 8px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mn-ctx button{display:flex;align-items:center;gap:9px;width:100%;padding:8px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:13.5px;color:inherit;text-align:left;cursor:pointer}
.mn-ctx button svg{width:16px;height:16px;color:var(--muted);flex:none}.mn-ctx button span{flex:1}
.mn-ctx button:hover:not(:disabled),.mn-ctx button:focus-visible{background:var(--neutral-bg)}
.mn-ctx button.hl svg{fill:#fbbf24;stroke:#d99a00}.mn-ctx button:disabled{opacity:.4;cursor:default}
.mn-ctx kbd{font:600 11px ui-monospace,monospace;border:1px solid var(--card-edge);border-radius:5px;padding:0 6px;color:var(--muted)}
/* ô tìm chức năng (ảnh 96) */
.mn-pal-wrap{position:fixed;inset:0;z-index:200;background:rgba(10,20,36,.45);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:flex-start;padding:11vh 16px 16px}
.mn-pal{width:min(600px,100%);background:var(--card);color:var(--ink);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden;display:flex;flex-direction:column;max-height:78vh}
.mn-pal-in{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line)}
.mn-pal-in svg{width:20px;height:20px;color:#6d4cff;flex:none}
.mn-pal-in input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;font-size:16px;font-weight:500;color:inherit}
.mn-pal-in input::-webkit-search-cancel-button{display:none}
.mn-pal kbd{font:600 11px ui-monospace,monospace;border:1px solid var(--card-edge);border-bottom-width:2px;border-radius:5px;padding:1px 6px;color:var(--muted);background:var(--card)}
.mn-pal-body{overflow-y:auto;padding:4px 0 8px}
.mn-pq{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 4px}
.mn-qa{display:inline-flex;gap:7px;align-items:center;padding:7px 11px;border-radius:10px;background:var(--neutral-bg);border:1px solid var(--card-edge);font:inherit;font-size:13px;font-weight:600;color:inherit;cursor:pointer}
.mn-qa svg{width:15px;height:15px;color:#6d4cff}.mn-qa:hover{border-color:#a78bfa}.mn-qa kbd{padding:0 5px}
.mn-pg{display:flex;gap:6px;align-items:center;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:12px 18px 6px}
.mn-pg svg{width:13px;height:13px}.mn-pg span{letter-spacing:0;color:#c98a00}
.mn-pr{display:flex;align-items:center;gap:12px;margin:0 8px;padding:7px 10px;border-radius:10px;cursor:pointer}
.mn-pr.on{background:color-mix(in srgb,#7c5cff 10%,var(--card))}
.mn-pt{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none}.mn-pt svg{width:17px;height:17px}
.mn-pt.v{background:color-mix(in srgb,#7c5cff 13%,var(--card));color:#6d4cff}.mn-pt.b{background:color-mix(in srgb,#2f6bff 12%,var(--card));color:#2f6bff}
.mn-pt.g{background:var(--ok-bg);color:var(--ok)}.mn-pt.a{background:var(--warn-bg);color:var(--warn)}.mn-pt.c{background:color-mix(in srgb,#0ea5a4 13%,var(--card));color:#0f8584}
.mn-pt.n{background:var(--neutral-bg);color:var(--ink)}.mn-pt.s{background:color-mix(in srgb,#64748b 14%,var(--card));color:#475569}
.mn-pl{flex:1;min-width:0;display:flex;flex-direction:column}.mn-pl b{font-size:14px;font-weight:600}.mn-pl small{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mn-pl mark{background:#fde68a;color:inherit;border-radius:3px;padding:0 1px}
.mn-pstar{width:30px;height:30px;border:0;border-radius:8px;background:transparent;display:grid;place-items:center;cursor:pointer;flex:none}
.mn-pstar svg{width:16px;height:16px;fill:none;stroke:#b8c3d1}.mn-pstar:hover{background:var(--neutral-bg)}.mn-pstar:hover svg{stroke:#d99a00}
.mn-pstar.on svg{fill:#fbbf24;stroke:#fbbf24}
.mn-pins{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 6px}
.mn-pin-chip{font:inherit;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:99px;background:#fff7e0;color:#8a5a00;border:1px solid #f5d48a;cursor:pointer}
.mn-pin-chip:hover{background:#ffefc2}
.mn-tip{display:flex;gap:8px;align-items:center;margin:10px 16px 4px;padding:9px 12px;border-radius:10px;background:#fff7e0;color:#7a5200;font-size:12.5px}
.mn-tip svg{width:15px;height:15px;fill:#fbbf24;stroke:#d99a00;flex:none}
.mn-pal-none{padding:24px;color:var(--muted);text-align:center}
.mn-pal-foot{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);background:color-mix(in srgb,var(--neutral-bg) 50%,var(--card));flex-wrap:wrap}
html[data-mode="dark"] .mn-pin-chip,html[data-mode="dark"] .mn-tip{background:#3a2e10;color:#fcd34d;border-color:#6b5317}
@media (max-width:600px){.mn-pal-wrap{padding-top:6vh}.mn-pal-foot{display:none}}
@media (hover:none){.mn-find kbd{display:none}}
/* Nghỉ phép (web ảnh 86–89, anh Tâm duyệt 04/10/2026) — tiền tố np- */
.np-kps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.np-kp{display:flex;gap:12px;align-items:center;padding:13px 14px}.np-kp>span:last-child{flex:1;min-width:0}
.np-kp b{display:block;font-size:21px;line-height:1.1}.np-kp small{color:var(--muted);font-size:12px}
.np-bar{height:8px;border-radius:4px;background:var(--hair);display:flex;overflow:hidden;margin-top:8px}.np-bar i{display:block;height:8px}
.np-bar .u{background:#a78bfa}.np-bar .p{background:#fbbf24}
.np-warn{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:var(--radius);background:var(--warn-bg);border:1px solid #f0d9a8;color:#6b4700;margin-bottom:14px}
.np-warn svg{width:18px;height:18px;flex:none;color:#b7791f}
.np-info{display:flex;gap:10px;padding:12px 16px;border-radius:var(--radius);background:var(--build-bg);border:1px solid #c9dcfb;color:#0b4fb3;margin-bottom:14px;line-height:1.5}.np-info svg{width:18px;height:18px;flex:none;margin-top:2px}
.np-lay{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:14px;align-items:start}
.np-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.np-seg{display:flex;gap:4px;padding:4px;border-radius:10px;background:var(--hair);margin-bottom:12px}
.np-seg button{flex:1;border:0;background:none;padding:8px 6px;border-radius:8px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer}
.np-seg button.on{background:var(--card);color:var(--design);box-shadow:0 1px 3px rgba(16,44,75,.12)}
.np-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;font-size:12.5px;margin-bottom:12px}
.np-cal .h{font-size:11px;color:var(--muted);font-weight:600}
.np-cal .mh{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:4px}
.np-cal .mh button{border:1px solid var(--card-edge);background:var(--card);border-radius:8px;width:30px;height:28px;cursor:pointer}
.np-cal button.d{height:34px;border-radius:8px;border:1px solid transparent;background:none;font-weight:600;cursor:pointer;position:relative;color:var(--ink)}
.np-cal button.d:hover{border-color:var(--card-edge)}.np-cal button.d:disabled{cursor:default;color:#b3bfcd}
.np-cal .off{color:#b3bfcd}.np-cal .sel{background:var(--design);color:#fff}.np-cal .rng{background:var(--design-bg);color:var(--design)}.np-cal .td{border-color:var(--design)}
.np-cal .dt::after{content:"";position:absolute;bottom:4px;left:50%;margin-left:-2.5px;width:5px;height:5px;border-radius:3px;background:#e8a317}
.np-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.np-parts{display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 10px}
.np-parts button{padding:5px 12px;border-radius:16px;border:1px solid var(--card-edge);background:var(--card);font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}
.np-parts button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.np-ok,.np-bad{display:flex;gap:10px;padding:11px 13px;border-radius:var(--radius);font-size:13px;line-height:1.5;margin:4px 0 12px}
.np-ok{background:var(--ok-bg);border:1px solid #bfe3cf;color:#0f5132}.np-bad{background:var(--warn-bg);border:1px solid #f0d9a8;color:#6b4700}
.np-ok svg,.np-bad svg{width:17px;height:17px;flex:none;margin-top:2px}
.np-table{width:100%;border-collapse:collapse;font-size:13.5px}
.np-table th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:9px 12px;border-bottom:1px solid var(--card-edge);background:#f7f9fc}
.np-table td{padding:10px 12px;border-bottom:1px solid var(--hair);vertical-align:top}.np-table tr:last-child td{border-bottom:0}
.np-table .sub{display:block;font-size:12px;color:var(--muted);margin-top:2px}.np-table .n{text-align:right;white-space:nowrap}
.np-table tr.click{cursor:pointer}.np-table tr.click:hover td{background:#f7f9fc}
.np-zero{color:var(--danger)}.np-many{color:var(--warn)}
.np-hol{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--hair)}.np-hol:last-child{border:0}.np-hol span{color:var(--muted)}
.np-band{display:flex;gap:14px;align-items:center;margin-bottom:12px}.np-band h2{margin:0;font-size:19px}
.np-av{width:48px;height:48px;border-radius:50%;background:var(--build);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.np-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.np-fact{border:1px solid var(--card-edge);border-radius:var(--radius);padding:10px 12px}.np-fact small{display:block;font-size:12px;color:var(--muted)}.np-fact b{font-size:15px}
.np-det{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start;margin-top:14px}
.np-act{display:flex;flex-direction:column;gap:8px}.np-act textarea{width:100%;min-height:72px;border:1px solid var(--card-edge);border-radius:var(--radius);padding:10px;resize:vertical}
.np-act .btn{width:100%;justify-content:center}
.btn.np-go{background:var(--design);border-color:var(--design);color:#fff}
.np-mini{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--hair);font-size:13px}.np-mini:last-child{border:0}.np-mini b{display:block;font-size:13.5px}.np-mini small{color:var(--muted)}
/* Lưới lịch nghỉ: người × ngày */
.np-grid{display:grid;gap:3px;font-size:11px;overflow-x:auto}
.np-grid .gh{display:flex;flex-direction:column;align-items:center;color:var(--muted);font-weight:600;font-size:10px;padding-bottom:3px}.np-grid .gh b{color:var(--ink);font-size:12.5px;min-width:20px;text-align:center}
.np-grid .gh.off,.np-grid .gh.off b{color:#b3bfcd}.np-grid .gh.td b{color:#fff;background:var(--blue);border-radius:6px}
.np-grid .gg{grid-column:1/-1;font-weight:700;font-size:13px;padding:10px 0 4px;border-top:1px solid var(--hair);margin-top:4px}.np-grid .gg span{font-weight:500;color:var(--muted);font-size:12px}
.np-grid .gn{font-size:13px;font-weight:600;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.np-grid .gc{height:26px;border-radius:5px;background:var(--hair);border:0;padding:0;font:inherit;font-weight:700;font-size:10px;color:#fff;cursor:default}
.np-grid .gc.off{background:repeating-linear-gradient(135deg,#eef2f7 0 4px,#f7f9fc 4px 8px)}
.np-grid .gc.PHEP_NAM{background:#a78bfa}.np-grid .gc.OM{background:#60a5fa}.np-grid .gc.KHONG_LUONG{background:#94a3b8}.np-grid .gc.CHE_DO{background:#f472b6}.np-grid .gc.NGHI{background:#a78bfa}
.np-grid .gc.wait{background:var(--card);border:2px dashed #fbbf24}.np-grid .gc.cur{background:var(--design)}
.np-grid .gc.half{background-image:linear-gradient(90deg,transparent 50%,rgba(255,255,255,.55) 50%)}
.np-grid .gc[data-id]{cursor:pointer}
.np-leg{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:10px}.np-leg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-2px}
.np-leg .PHEP_NAM{background:#a78bfa}.np-leg .OM{background:#60a5fa}.np-leg .KHONG_LUONG{background:#94a3b8}.np-leg .CHE_DO{background:#f472b6}.np-leg .wait{border:2px dashed #fbbf24}.np-leg .off{background:#eef2f7}.np-leg .cur{background:var(--design)}
.tstrip-row.np-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
@media (max-width:1100px){.np-kps{grid-template-columns:repeat(2,minmax(0,1fr))}.np-lay,.np-det{grid-template-columns:1fr}.np-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.np-row{grid-template-columns:1fr}.np-kps{grid-template-columns:1fr 1fr}}
.np-grid.d14{grid-template-columns:180px repeat(14,minmax(24px,1fr))}.np-grid.d28{grid-template-columns:170px repeat(28,minmax(22px,1fr))}
.np-grid.d29{grid-template-columns:170px repeat(29,minmax(22px,1fr))}.np-grid.d30{grid-template-columns:170px repeat(30,minmax(22px,1fr))}.np-grid.d31{grid-template-columns:170px repeat(31,minmax(22px,1fr))}
.np-cal button.d.off{color:#b3bfcd}.np-cal button.d.sel{background:var(--design);color:#fff}.np-cal button.d.rng{background:var(--design-bg);color:var(--design)}

/* Phiếu lương (web ảnh 90–92, anh Tâm duyệt 04/10/2026) — tiền tố pl- */
.pl-lock{display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:700;color:#fff;background:var(--danger);border-radius:8px;padding:5px 10px}.pl-lock svg{width:13px;height:13px}
.pl-lay{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:14px;align-items:start}
.pl-full{width:100%;justify-content:center;margin:10px 0}
.pl-help{font-size:12.5px;color:var(--muted);line-height:1.55;margin:0;padding-left:18px}.pl-help li{margin:2px 0}
.pl-q{padding:12px 16px;border-top:1px solid var(--hair)}
.pl-qtop{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--muted);flex-wrap:wrap}.pl-qtop b{color:var(--ink);font-size:13.5px}
.pl-av{width:26px;height:26px;border-radius:50%;background:var(--build);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none}
.pl-q p{margin:6px 0 8px;font-size:13.5px}
.pl-ans{display:flex;gap:8px;margin-top:8px}.pl-ans input{flex:1;min-width:0;border:1px solid var(--card-edge);border-radius:8px;padding:8px 10px}
.pl-done{border-left:3px solid var(--ok);padding-left:10px;font-size:13px}.pl-done small{display:block;color:var(--ok);font-weight:700;font-size:11.5px}
.pl-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
.pl-step{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--card-edge);border-radius:var(--radius);background:var(--card)}
.pl-step i{width:26px;height:26px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;font-size:12px;background:var(--hair);color:var(--muted);flex:none}.pl-step i svg{width:14px;height:14px}
.pl-step.done i{background:var(--ok-bg);color:var(--ok)}.pl-step.cur{border:2px solid var(--blue);padding:11px 13px}.pl-step.cur i{background:var(--blue);color:#fff}
.pl-step b{display:block;font-size:13.5px}.pl-step small{color:var(--muted);font-size:12px}
.pl-cols{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 12px}.pl-cols span{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}
.pl-cols .p{background:var(--ok-bg);color:var(--ok)}.pl-cols .m{background:var(--danger-bg);color:var(--danger)}.pl-cols .x{background:var(--hair);color:var(--muted)}
.pl-t tr.err td{background:#fff8f7}.pl-t tr.warn td{background:#fffcf2}.pl-t .n{font-variant-numeric:tabular-nums}
.pl-more{text-align:center;margin:10px 0;font-size:13px}
.pl-foot{display:flex;gap:12px;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap;padding:14px 16px;border-top:1px solid var(--card-edge);background:#f7f9fc;border-radius:0 0 var(--radius) var(--radius)}
.pl-chk{display:flex;gap:8px;align-items:center;font-size:13px;margin-right:auto}
.pl-pay{max-width:180px}
.pl-scroll{max-height:60vh;overflow:auto}
.pl-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:start}
.pl-months{margin-bottom:12px}
.pl-net{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding:14px 16px;border-radius:12px;background:var(--blueprint);color:#fff;margin-bottom:12px}
.pl-net small{display:block;color:#b9cbe2;font-size:12px}.pl-net b{font-size:28px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.pl-kv{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--hair);font-size:13.5px}.pl-kv span{color:var(--muted)}.pl-kv b{font-variant-numeric:tabular-nums}
.pl-lbl{font-size:11.5px;font-weight:700;color:var(--muted);letter-spacing:.03em;margin:10px 0 2px}
.pl-tot{display:flex;justify-content:space-between;padding:10px 0 0;margin-top:6px;border-top:1.5px dashed var(--card-edge);font-weight:700}.pl-tot b{color:var(--design);font-size:18px}
.pl-qa{border-left:3px solid var(--card-edge);padding:2px 0 2px 10px;margin:8px 0;font-size:13px}.pl-qa small{display:block;color:var(--muted);font-size:11.5px}
.pl-qa.a{border-color:var(--ok)}.pl-qa.a small{color:var(--ok);font-weight:700}
.mt-12{margin-top:12px}
@media (max-width:1100px){.pl-lay,.pl-grid{grid-template-columns:1fr}.pl-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* TV: mẫu kịch bản + nội dung nhân viên gửi (ảnh 97–98) */
.tvt-list{display:grid;gap:6px}.tvt-opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--card-edge);border-radius:10px;padding:8px 11px;cursor:pointer}.tvt-opt input{margin-top:3px;accent-color:var(--blue)}
.tvt-opt b{display:block;font-size:13.5px}.tvt-opt small{color:var(--muted);font-size:12px}.tvt-opt:has(input:checked){border:2px solid var(--blue);padding:7px 10px}
.tvp-card{margin-bottom:14px}.tvp-list{list-style:none;margin:0;padding:0 16px 10px}.tvp-list li{display:flex;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--hair)}.tvp-list li:first-child{border-top:0}
.tvp-list li>div{flex:1;min-width:0}.tvp-list b{display:block;font-size:13.5px}.tvp-th{width:72px;height:44px;border-radius:8px;object-fit:cover;flex:none;background:var(--neutral-bg)}.tvp-th.i{display:grid;place-items:center;color:var(--muted)}.tvp-th.i svg{width:18px;height:18px}
.tvp-act{display:flex;gap:6px;align-items:center;flex:none}.tvp-empty{margin:0 16px 14px}
/* TV trong phòng khi họp (ảnh 98) */
.mtv{border-top:1px solid var(--hair);margin-top:12px;padding-top:4px}.mtv .lc-h{display:flex;gap:6px;align-items:center}.mtv .lc-h svg{width:14px;height:14px}
.mtv-logo{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mtv-logo img,.mtv-ph{width:64px;height:40px;border-radius:7px;object-fit:contain;background:var(--neutral-bg);display:grid;place-items:center;color:var(--muted)}
.mtv-ck{align-self:end;margin-bottom:10px}.mtv-pv{background:#0b1730;color:#fff;border-radius:10px;padding:10px 12px;margin:6px 0}.mtv-pv small{display:block;color:#93c5fd;font-size:10.5px;letter-spacing:.05em}.mtv-pv b{display:block;font-size:15px;margin:2px 0}.mtv-pv span{font-size:12px;color:#cbd5e1}
.mtv-note{display:flex;gap:6px;align-items:center;margin:6px 0}.mtv-note svg{width:13px;height:13px}
/* Gửi lên TV (ảnh 98) */
.tvg{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width:900px){.tvg{grid-template-columns:1fr}}
.tvg .card-h h3{display:flex;gap:8px;align-items:center}.tvg .card-h svg{width:16px;height:16px}
.tvg-kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.tvg-kind{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border:1.5px solid var(--card-edge);border-radius:12px;background:var(--card);font-weight:600;cursor:pointer;color:var(--ink)}
.tvg-kind svg{width:22px;height:22px}.tvg-kind.on{border-color:var(--blue);color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,transparent)}
.tvg-file{display:flex;gap:10px;align-items:center}.tvg-tvs{display:flex;flex-wrap:wrap;gap:8px}
.tvg-tvs .chip{display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border:1.5px solid var(--card-edge);border-radius:999px;background:var(--card);cursor:pointer;font-weight:600;color:var(--ink)}
.tvg-tvs .chip svg{width:14px;height:14px}.tvg-tvs .chip small{color:var(--muted);font-weight:500}.tvg-tvs .chip.on{border-color:var(--blue);background:var(--blue);color:#fff}.tvg-tvs .chip.on small{color:#dbeafe}
.tvg-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.tvg-list li{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--hair)}
.tvg-list li>div{display:flex;flex-direction:column;min-width:0}.tvg-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--neutral-bg);color:var(--muted)}.tvg-ic svg{width:16px;height:16px}
.tvg-why{color:var(--danger,#b91c1c)}
/* Hôm nay của đồng nghiệp: nút X ẩn dòng / tắt thẻ (04/10/2026) */
.gt-list li .gt-x{flex:none;color:var(--muted);opacity:.55}.gt-list li:hover .gt-x,.gt-x:focus-visible{opacity:1}
.gt-x:hover{color:var(--danger)}
@media (hover:none){.gt-list li .gt-x{opacity:1}}

/* Hướng dẫn sử dụng (ảnh HD-1…HD-3): trái danh sách bài theo nhóm, phải bài từng bước kèm ảnh */
.gd-find{min-width:min(420px,100%)}
.gd-lay{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}
.gd-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:12px;max-height:calc(100vh - var(--topbar) - 24px);overflow:auto}
.gd-side .card-head{padding:12px 14px 0;margin-bottom:6px}
.gd-side .card-head h2{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}
.gd-grp{padding-bottom:6px}
.gd-li{display:flex;gap:10px;align-items:center;padding:8px 14px;color:var(--ink);border-left:3px solid transparent}
.gd-li:hover{background:var(--hair);text-decoration:none}
.gd-li.on{background:var(--build-bg);border-left-color:var(--blue)}
.gd-li .icon-tile{width:30px;height:30px;flex:none}
.gd-li b{display:block;font-size:13.5px;font-weight:600}
.gd-li small{display:block;color:var(--muted);font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-li .sp{min-width:0}
.gd-hero{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,var(--design-bg),var(--card))}
.gd-hero h2{margin:0 0 4px;font-size:18px}.gd-hero p{margin:0;color:var(--muted)}
.gd-start{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:12px}
.gd-tile{position:relative;display:flex;flex-direction:column;gap:6px;color:var(--ink);transition:border-color .15s}
.gd-tile:hover{border-color:var(--blue);text-decoration:none}
.gd-tile b{font-size:15px}.gd-tile small{color:var(--muted);flex:1}
.gd-n{position:absolute;top:12px;right:14px;font-weight:800;color:var(--card-edge);font-size:22px}
.gd-go{display:inline-flex;align-items:center;gap:4px;color:var(--blue);font-weight:600;font-size:13px}
.gd-go svg{width:14px;height:14px}
.gd-back{display:none;margin-bottom:8px;font-weight:600}
.gd-art-h{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.gd-art-h h2{margin:0;font-size:21px}.gd-art-h .sp{flex:1;min-width:200px}.gd-art-h p{margin:2px 0 0}
.gd-where{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 4px;padding:8px 12px;background:var(--hair);border-radius:8px;font-size:13px;color:var(--muted)}
.gd-where span{display:inline-flex;align-items:center;gap:6px}.gd-where svg{width:14px;height:14px}.gd-where b{color:var(--ink)}
.gd-steps{list-style:none;counter-reset:gd;padding:0;margin:16px 0 0}
.gd-steps li{counter-increment:gd;position:relative;padding:0 0 18px 44px}
.gd-steps li::before{content:counter(gd);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;display:grid;place-items:center;font-size:14px}
.gd-steps li:not(:last-child)::after{content:"";position:absolute;left:13.5px;top:32px;bottom:4px;width:1px;background:var(--line)}
.gd-steps p{margin:3px 0 0;line-height:1.6}
.gd-steps kbd{font:600 12px var(--font);border:1px solid var(--card-edge);border-bottom-width:2px;border-radius:5px;padding:0 5px;background:var(--card)}
.gd-shot{display:block;margin-top:10px;padding:0;border:1px solid var(--card-edge);border-radius:10px;overflow:hidden;cursor:zoom-in;background:var(--hair);max-width:min(820px,100%);width:fit-content}
.gd-shot img{display:block;max-width:100%;height:auto}
.gd-tips{margin-top:4px;padding:12px 16px;border-radius:10px;background:var(--warn-bg);font-size:13.5px}
.gd-tips b{display:inline-flex;align-items:center;gap:6px;color:var(--warn)}.gd-tips b svg{width:15px;height:15px}
.gd-tips ul{margin:6px 0 0;padding-left:20px}.gd-tips li{margin:3px 0}.gd-tips li b{color:inherit}
.gd-nav{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid var(--hair);font-weight:600;font-size:13.5px}
.gd-zoom{border:0;padding:0;background:transparent;max-width:96vw;max-height:94vh}
.gd-zoom::backdrop{background:rgba(9,20,36,.75)}
.gd-zoom img{display:block;max-width:96vw;max-height:94vh;border-radius:10px}
.gd-zoom .icon-btn{position:fixed;top:14px;right:14px;background:#fff;border-radius:50%}
@media (max-width:850px){
  .gd-lay{grid-template-columns:1fr}
  .gd-side{position:static;max-height:none}
  .gd-lay.reading .gd-side{display:none}
  .gd-lay.reading .gd-back{display:inline-block}
  .gd-steps li{padding-left:38px}
  .gd-lay:not(.reading) .gd-main{order:-1}
}
/* Điện thoại: thanh trên chật — Hướng dẫn mở qua menu */
@media (max-width:600px){#help-btn{display:none}}
.tvo-now.warn{background:var(--warn-bg)}.tvo-now.warn>span:first-child,.tvo-now.warn b{color:var(--warn)}
/* Nút Lưu & phát lên TV — 4 trạng thái (ảnh 99) */
#pl-save{transition:background .25s,opacity .25s,box-shadow .25s}
#pl-save.pl-saving{opacity:.85;cursor:progress}
#pl-save.pl-done{background:#16a34a;border-color:#16a34a;box-shadow:0 0 0 5px rgba(22,163,74,.25);opacity:1}
#pl-save.pl-done svg{animation:pl-pop .45s cubic-bezier(.3,1.6,.5,1)}
#pl-save.pl-saved{opacity:.45;cursor:default;box-shadow:none}
.pl-spin{width:15px;height:15px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:pl-rot .7s linear infinite}
@keyframes pl-rot{to{transform:rotate(360deg)}}
@keyframes pl-pop{0%{transform:scale(.3)}60%{transform:scale(1.35)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){#pl-save.pl-done svg,.pl-spin{animation:none}}

/* Hành trình số hoá OneCAD (ảnh CM-1..4) */
.jr-tabs{margin-bottom:14px}
.jr-hero{position:relative;overflow:hidden;border-radius:18px;padding:26px 30px;color:#fff;display:flex;gap:24px;align-items:center;
  background:radial-gradient(circle at 80% 20%,#2f5bea55,transparent 45%),radial-gradient(circle at 8% 90%,#16a34a40,transparent 40%),linear-gradient(120deg,#0d2542,#132f55 60%,#1b3f72)}
.jr-hero>div:first-child{flex:1;min-width:0}.jr-eb{display:inline-flex;gap:8px;align-items:center;background:#ffffff14;border:1px solid #ffffff2a;border-radius:99px;padding:5px 12px;font-size:11.5px;font-weight:800;color:#8ee0b8;letter-spacing:.05em}
.jr-eb svg{width:14px;height:14px}.jr-hero h1{font-size:34px;line-height:1.12;margin:12px 0 8px}.jr-hero h1 em{font-style:normal;color:#8ee0b8}.jr-hero p{margin:0;opacity:.85;font-size:14px;line-height:1.6;max-width:760px}
.jr-day{text-align:center;background:#ffffff10;border:1px solid #ffffff26;border-radius:20px;padding:16px 24px;flex:none}.jr-day b{display:block;font-size:56px;line-height:1;color:#8ee0b8}.jr-day span{font-size:12px;opacity:.8}
.jr-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:14px 0}
.jr-st{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:12px 14px}.jr-ii{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 13%,var(--card));color:var(--c);margin-bottom:6px}.jr-ii svg{width:16px;height:16px}
.jr-st b{display:block;font-size:24px;line-height:1.1}.jr-st small{color:var(--muted);font-size:11.8px}
.jr-lay{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr);gap:16px;align-items:start}
.jr-side,.jr-acol{display:flex;flex-direction:column;gap:16px;min-width:0}
.jr-tl{position:relative;padding:16px 18px 6px}
.jr-ms{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;position:relative;margin-bottom:14px}
.jr-ms:not(:last-child)::before{content:"";position:absolute;left:23px;top:48px;bottom:-14px;width:3px;background:var(--ok);border-radius:2px}
.jr-ms.next::before,.jr-ms.now+.next::before{background:var(--line)}
.jr-dot{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#16a34a;color:#fff;box-shadow:0 0 0 5px var(--ok-bg);z-index:1}.jr-dot svg{width:20px;height:20px}
.jr-ms.next .jr-dot{background:var(--card);color:var(--blue);border:3px dashed #93b7f5;box-shadow:none}.jr-ms.now .jr-dot{background:linear-gradient(135deg,#f59e0b,#ea580c);box-shadow:0 0 0 5px var(--warn-bg)}
.jr-mc{border:1px solid var(--line);border-radius:14px;padding:11px 14px;background:var(--card)}.jr-ms.now .jr-mc{border:2px solid #f59e0b;background:var(--warn-bg)}.jr-ms.next .jr-mc{border-style:dashed;background:var(--bg)}
.jr-dt{font-size:11.3px;font-weight:800;color:var(--ok);letter-spacing:.04em}.jr-ms.next .jr-dt{color:var(--blue)}.jr-ms.now .jr-dt{color:var(--warn)}
.jr-mc h3{margin:3px 0 4px;font-size:15.5px}.jr-mc p{margin:0;font-size:12.8px;color:var(--muted);line-height:1.55}
.jr-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.jr-tags span{font-size:11px;font-weight:700;border-radius:7px;padding:3px 8px;background:var(--bg)}
.jr-bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden;margin:8px 0 4px}.jr-bar b{display:block;height:100%;background:linear-gradient(90deg,#0665ed,#22c3ee)}
.jr-prog{display:flex;justify-content:space-between;font-size:11.8px;color:var(--muted)}.jr-prog b{color:var(--ink)}
.jr-quote{padding:18px 20px;background:linear-gradient(135deg,#0d2542,#1e4778);color:#fff;border-radius:16px}.jr-quote small{color:#8ee0b8;font-weight:800;letter-spacing:.06em;font-size:11px}
.jr-quote p{font-size:14.5px;line-height:1.6;margin:10px 0 12px}.jr-who{display:flex;gap:10px;align-items:center;font-size:12.5px}.jr-who .avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#8ee0b8;color:#0d2542;font-weight:800;font-size:12px}.jr-who small{opacity:.75}
.jr-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 14px}.jr-badges>div{text-align:center;border:1px solid var(--line);border-radius:12px;padding:10px 4px}
.jr-bi{width:42px;height:42px;border-radius:50%;margin:0 auto 6px;display:grid;place-items:center;background:linear-gradient(135deg,#fde68a,#f59e0b);color:#7c2d12}.jr-bi svg{width:18px;height:18px}
.jr-badges .off .jr-bi{background:var(--bg);color:#94a3b8}.jr-badges b{display:block;font-size:12px}.jr-badges small{font-size:10.8px;color:var(--muted)}
.jr-pad{padding:4px 16px 14px;margin:0}
.jr-msg{padding:10px 16px;border-top:1px solid var(--line);font-size:13px}.jr-msg p{margin:0 0 3px;line-height:1.55}
.jr-mod{display:flex;gap:10px;align-items:center;padding:8px 16px;border-top:1px solid var(--line);font-size:12.8px}.jr-mod .sp{flex:1}.jr-mod .icon-tile svg{width:15px;height:15px}
/* Trợ lý TGĐ */
.jr-alay{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);gap:16px;align-items:start}
.jr-ast{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:linear-gradient(120deg,#f5f3ff,#eef6ff);border-bottom:1px solid var(--line)}
:root[data-theme="dark"] .jr-ast{background:var(--design-bg)}
.jr-ast>div{flex:1;min-width:0}.jr-ast>div>b{display:block;font-size:15px}.jr-ast p{margin:6px 0 0;font-size:13.3px;line-height:1.55}
.jr-ava{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#6d4fe0,#2f5bea);display:grid;place-items:center;color:#fff;flex:none}.jr-ava svg{width:24px;height:24px}
.jr-ac{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;padding:12px 18px;border-top:1px solid var(--line);align-items:start}
.jr-ac h4{margin:0 0 3px;font-size:14px}.jr-ac p{margin:0;font-size:12.6px;color:var(--muted);line-height:1.5}.jr-ac.done{opacity:.7}.jr-ac.auto{background:var(--bg)}.jr-ac.auto h4{color:var(--ok)}
.jr-no{width:30px;height:30px;border-radius:50%;background:var(--design-bg);color:var(--design);display:grid;place-items:center;font-weight:800;font-size:13px}.jr-no svg{width:15px;height:15px}
.jr-why{margin-top:6px;font-size:11.8px;color:var(--design)}.jr-why svg{width:12px;height:12px;vertical-align:-2px}
.jr-res{margin-top:6px;font-size:12.3px;color:var(--ok);font-weight:600}.jr-res svg{width:13px;height:13px;vertical-align:-2px}
.jr-draft{width:100%;margin-top:8px;border:1px dashed #c4b5fd;background:var(--design-bg);border-radius:10px;padding:8px 10px;font-size:12.6px;line-height:1.5}
.jr-bt{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.jr-rev{padding:12px 18px;background:var(--design-bg);border-bottom:1px solid var(--line);font-size:13px}.jr-rev p{margin:4px 0 0;line-height:1.55}
.jr-care{padding:10px 18px;border-top:1px solid var(--line);font-size:12.8px}.jr-care p{margin:4px 0 0;line-height:1.5}.jr-care.sent{opacity:.65}
.jr-ch{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.jr-ch .sp{flex:1}
.jr-goal{padding:10px 18px;border-top:1px solid var(--line)}.jr-goal .r{display:flex;justify-content:space-between;font-size:13px}
.jr-wk{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:10px;padding:9px 18px;border-top:1px solid var(--line);font-size:12.6px;align-items:center}.jr-wk b{color:var(--design)}.jr-wk.done{opacity:.6}.jr-wk.now{background:var(--warn-bg)}
.jr-spark{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:12px 18px 14px;height:150px;align-items:end}
.jr-spark>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:3px;font-size:11px}.jr-spark i{display:block;width:100%;border-radius:4px 4px 0 0;background:linear-gradient(#93c5fd,#2f5bea)}.jr-spark small{color:var(--muted)}
.jr-cal{padding:6px 18px 12px;font-size:12.8px}.jr-cal p{margin:6px 0}
.jr-mrow{display:flex;gap:10px;align-items:center;padding:10px 16px;border-top:1px solid var(--line);font-size:13px}.jr-mrow .sp{flex:1;min-width:0}.jr-mrow small{display:block}.jr-mrow .icon-tile svg{width:15px;height:15px}
.jr-mv{display:flex;flex-direction:column}.jr-mv button{border:0;background:none;font-size:9px;line-height:1.1;color:var(--muted);cursor:pointer;padding:1px}
.jr-mailframe{width:100%;height:480px;border:1px solid var(--line);border-radius:10px;margin-top:8px;background:#fff}
/* Thẻ chúc mừng Tổng quan */
.jr-cele{position:relative;overflow:hidden;border-radius:16px;padding:18px 22px;margin-bottom:16px;background:linear-gradient(120deg,#0d2542,#1e4778 60%,#16a34a);color:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:16px;align-items:center}
.jr-cele>*:not(.jr-cf){position:relative;z-index:1}.jr-cf{position:absolute;inset:0}.jr-cf i{position:absolute;width:8px;height:14px;border-radius:2px;opacity:.5;background:#fde68a}.jr-cf i:nth-child(4n+1){background:#8ee0b8}.jr-cf i:nth-child(4n+2){background:#93c5fd}.jr-cf i:nth-child(4n+3){background:#f9a8d4}
.jr-big{width:64px;height:64px;border-radius:50%;background:#ffffff1a;display:grid;place-items:center;border:2px solid #8ee0b8}.jr-big svg{width:30px;height:30px;color:#fde68a}
.jr-cele small{color:#8ee0b8;font-weight:800;letter-spacing:.06em;font-size:11px}.jr-cele h3{margin:4px 0;font-size:19px}.jr-cele p{margin:0;opacity:.85;font-size:12.8px}
.jr-cele .btn{background:#8ee0b8;border-color:#8ee0b8;color:#0d2542}.jr-x{border:0;background:#ffffff1a;color:#fff;border-radius:8px;width:30px;height:30px;display:grid;place-items:center;cursor:pointer}.jr-x svg{width:14px;height:14px}
@media (max-width:1100px){.jr-lay,.jr-alay{grid-template-columns:1fr}.jr-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.jr-hero{flex-direction:column;align-items:flex-start;padding:20px}.jr-hero h1{font-size:24px}.jr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.jr-cele{grid-template-columns:auto minmax(0,1fr) auto}.jr-cele .btn{grid-column:1/-1}.jr-ac{grid-template-columns:28px minmax(0,1fr)}.jr-bt{grid-column:2;flex-direction:row;align-items:center}}
/* Mọi nút Lưu 4 trạng thái (ảnh 99, 05/10/2026) */
.btn.sv-saving,.btn.sv-done,.btn.sv-saved{transition:background .25s,opacity .25s,box-shadow .25s}
.btn.sv-saving{opacity:.85;cursor:progress}
.btn.sv-done{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important;box-shadow:0 0 0 5px rgba(22,163,74,.25);opacity:1}
.btn.sv-done svg{animation:pl-pop .45s cubic-bezier(.3,1.6,.5,1)}
.btn.sv-saved{opacity:.45;cursor:default;box-shadow:none}
.sv-spin{display:inline-block;width:14px;height:14px;border:2.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pl-rot .7s linear infinite;opacity:.8;flex:none}
@media (prefers-reduced-motion:reduce){.btn.sv-done svg,.sv-spin{animation:none}}

/* ---------- Thanh trên mới (ảnh 100, anh Tâm duyệt 05/10/2026): Báo lỗi · Góp ý, Sáng / Tối, menu tài khoản ---------- */
.topbar{gap:8px}
.fb-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px 0 10px;border-radius:10px;border:1.5px solid #f5b98f;background:#f5b98f14;color:#ffd9bf;font-weight:700;font-size:13px;cursor:pointer;flex:none;white-space:nowrap}
.fb-btn svg{width:18px;height:18px;color:#f7a56b}.fb-btn:hover{background:#f5b98f2e}
.tb-theme{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:#ffffff14;flex:none}
.tb-theme button{width:30px;height:30px;border:0;border-radius:7px;background:none;color:#bcd0ea;display:grid;place-items:center;cursor:pointer}
.tb-theme button svg{width:17px;height:17px}.tb-theme button:hover{background:#ffffff1c;color:#fff}
.tb-theme button.on{background:#fff;color:var(--navy)}
.tb-mode{display:none}
button.me{border:0;background:none;font:inherit;cursor:pointer;text-align:left}
.me>svg{width:16px;height:16px;opacity:.7;transition:transform .15s}
.me.open{background:#ffffff1c;box-shadow:inset 0 0 0 1px #ffffff30}.me.open>svg{transform:rotate(180deg)}
.am{position:fixed;z-index:100;width:340px;max-width:calc(100vw - 16px);max-height:calc(100vh - 80px);overflow:auto;background:var(--card);color:var(--ink);border:1px solid var(--card-edge);
  border-radius:16px;box-shadow:0 18px 50px #0d254238,0 2px 6px #0d25421a;animation:am-in .12s ease-out}
@keyframes am-in{from{opacity:0;transform:translateY(-4px)}}
.am-head{display:flex;gap:12px;align-items:center;padding:16px 16px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 5%,var(--card)),var(--card))}
.am-head .avatar{width:44px;height:44px;font-size:15px}.am-head b{display:block;font-size:15px}.am-head small{display:block;color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}
.am-sec{padding:8px 10px;border-top:1px solid var(--hair)}
.am-sec h4{margin:4px 6px 7px;font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}
.am-tri{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 6px 8px}
.am-tri button,.am-fs button{border:1.5px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);cursor:pointer;font:600 12.5px var(--font)}
.am-tri button{padding:8px 4px;display:grid;justify-items:center;gap:4px}.am-tri svg{width:18px;height:18px}
.am-fs{display:flex;gap:6px;margin:0 6px 6px}.am-fs button{flex:1;padding:5px 0;font-weight:700}
.am-fs .f-sm{font-size:12px}.am-fs .f-md{font-size:14px}.am-fs .f-lg{font-size:17px}
.am-tri button.on,.am-fs button.on{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,var(--card));color:var(--blue)}
.am-sec>button{display:flex;align-items:center;gap:11px;width:100%;padding:8px 8px;border:0;border-radius:9px;background:none;color:var(--ink);font:500 14px var(--font);cursor:pointer;text-align:left}
.am-sec>button:hover,.am-sec>button:focus-visible{background:var(--hair)}
.am-sec>button svg{width:18px;height:18px;color:var(--muted);flex:none}
.am-sec>button em{margin-left:auto;font-style:normal;color:var(--muted);font-size:12px;white-space:nowrap}
.am-sec>button.am-fb{color:#b4520f;font-weight:700}.am-sec>button.am-fb svg{color:#e57a2e}
.am-sec>button.am-out{color:var(--danger)}.am-sec>button.am-out svg{color:var(--danger)}
.am-keys{padding:4px 18px 12px;font-size:12.5px;color:var(--muted)}.am-keys p{margin:4px 0}
html[data-mode="dark"] .am-sec>button.am-fb{color:#ffb27a}
@media (max-width:1100px){.fb-btn span{display:none}.fb-btn{width:40px;padding:0;justify-content:center}.tb-help{display:none}}
@media (max-width:700px){.tb-theme{display:none}.tb-mode{display:inline-grid}}
@media (max-width:600px){.fb-btn{border:0;background:none;width:40px}.fb-btn svg{width:22px;height:22px}}

/* ---------- Hộp Báo lỗi · Góp ý (ảnh 101) ---------- */
.br-lead{margin:0 0 12px}
.br-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.br-tab{display:flex;gap:10px;align-items:flex-start;text-align:left;border:1.5px solid var(--line);border-radius:12px;padding:11px;background:var(--card);color:var(--ink);cursor:pointer;font:inherit}
.br-tab svg{width:20px;height:20px;margin-top:1px;color:var(--muted)}.br-tab b{display:block}.br-tab small{color:var(--muted);font-size:12px}
.br-tab.on{border-color:#e57a2e;background:color-mix(in srgb,#e57a2e 8%,var(--card))}.br-tab.on svg{color:#e57a2e}
.br-tab.g.on{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,var(--card))}.br-tab.g.on svg{color:var(--ok)}
.br-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.br-chip{border:1px solid var(--line);border-radius:999px;padding:3px 11px;font:500 12.5px var(--font);color:var(--muted);background:var(--card);cursor:pointer}
.br-chip.on{border-color:#e57a2e;color:#b4520f;background:color-mix(in srgb,#e57a2e 9%,var(--card))}
html[data-mode="dark"] .br-chip.on{color:#ffb27a}
.br-drop{margin-top:10px;border:1.5px dashed var(--line);border-radius:12px;padding:11px 12px;display:flex;align-items:center;gap:12px;cursor:pointer;background:color-mix(in srgb,var(--blue) 3%,var(--card))}
.br-drop:hover,.br-drop.over{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,var(--card))}
.br-drop>svg{width:24px;height:24px;color:var(--blue);flex:none}.br-drop b{display:block}.br-drop small{color:var(--muted);font-size:12px}
.br-files{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.br-files:empty{display:none}
.br-file{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:4px 4px 4px 9px;font-size:12.5px;max-width:100%}
.br-file svg{width:15px;height:15px;color:var(--muted);flex:none}.br-file b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.br-file i{font-style:normal;color:var(--muted)}
.br-file button{border:0;background:none;color:var(--muted);cursor:pointer;width:24px;height:24px;border-radius:6px;display:grid;place-items:center}.br-file button:hover{background:var(--hair);color:var(--danger)}
.br-ai{margin-top:12px;border-radius:12px;padding:10px 12px;display:flex;gap:11px;background:linear-gradient(135deg,color-mix(in srgb,#6941c6 8%,var(--card)),color-mix(in srgb,var(--blue) 6%,var(--card)));border:1px solid color-mix(in srgb,#6941c6 22%,var(--card))}
.br-ai>svg{width:22px;height:22px;color:#6941c6;flex:none}.br-ai b{display:block;color:#4a2a9e}.br-ai span{font-size:12.5px;color:var(--muted)}
html[data-mode="dark"] .br-ai b{color:#c4b5fd}html[data-mode="dark"] .br-ai>svg{color:#a78bfa}
.br-auto{margin:10px 0 0;font-size:12px}.br-auto svg{width:13px;height:13px;vertical-align:-2px}
@media (max-width:560px){.br-tabs{grid-template-columns:1fr}}
/* Sức khoẻ hệ thống › Báo lỗi · Góp ý (ảnh 101): người dùng báo | AI đề xuất, anh duyệt hướng xử lý */
#sh-reports{margin-top:16px}
.sh-rep{border-top:1px solid var(--card-border)}
.sh-rep>summary{display:flex;align-items:center;gap:10px;padding:11px 16px;cursor:pointer;list-style:none;font-size:13.5px}
.sh-rep>summary::-webkit-details-marker{display:none}
.sh-rep>summary .sp{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh-rep>summary small{white-space:nowrap}
.sh-rep[open]>summary{background:color-mix(in srgb,var(--blue) 3%,var(--card))}
.sh-flow{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:10px 16px 0}
.sh-fs{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;background:var(--neutral-bg);color:var(--muted)}
.sh-fs.done{background:var(--ok-bg);color:var(--ok)}.sh-fs.on{background:var(--design-bg);color:var(--design);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--design) 40%,transparent)}
.sh-arr{color:var(--muted)}
.sh-rgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px;padding:12px 16px}
.sh-rb{border:1px solid var(--card-border);border-radius:12px;padding:12px 14px;font-size:13px;min-width:0}
.sh-rb h4{margin:0 0 8px;font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);display:flex;gap:6px;align-items:center}
.sh-rb h4 svg{width:15px;height:15px}
.sh-rb.ai{border-color:color-mix(in srgb,var(--design) 28%,var(--card));background:linear-gradient(180deg,color-mix(in srgb,var(--design) 5%,var(--card)),var(--card))}
.sh-rb.ai h4{color:var(--design)}
.sh-rb p{margin:6px 0}.sh-rb ol{margin:4px 0 6px;padding-left:20px}.sh-rb li{margin:3px 0}
.sh-rtags{display:flex;gap:6px;flex-wrap:wrap}
.sh-kv{display:grid;grid-template-columns:96px minmax(0,1fr);gap:3px 10px}.sh-kv>span:nth-child(odd){color:var(--muted)}.sh-kv .mono{overflow-wrap:anywhere}
.sh-quote{background:var(--hair);border-radius:10px;padding:9px 11px;margin-top:9px;white-space:pre-wrap;overflow-wrap:anywhere}
.sh-rb .br-files{margin-top:9px}.sh-rb a.br-file{color:var(--ink);text-decoration:none;padding:4px 10px}.sh-rb a.br-file:hover{border-color:var(--blue)}
.sh-dn{margin:0;padding:0 16px 12px}.sh-dn svg{width:14px;height:14px;vertical-align:-2px;color:var(--ok)}
.sh-decide{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 16px 14px;border-top:1px solid var(--hair)}
.sh-decide .input{flex:1;min-width:220px}
@media (max-width:900px){.sh-rgrid{grid-template-columns:1fr}.sh-rep>summary small{display:none}}
.sh-decide .btn.approve{background:var(--ok);border-color:var(--ok);color:#fff}.sh-decide .btn.approve:hover{filter:brightness(1.08)}
@media (max-width:850px){.me>svg,.me>span:not(.avatar){display:none}}
@media (max-width:600px){.topbar{gap:2px}.brand-name{display:none}.brand-logo{height:30px}.qn-btn{width:36px;height:36px}.topbar .icon-btn,.fb-btn{width:36px}}
/* Cài đặt của tôi thiết kế lại (ảnh 102, 05/10/2026): menu dọc + thẻ tên, mỗi mục một trang */
.st-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}
.st-layout .card.st-side{padding:0;overflow:hidden;position:sticky;top:calc(var(--topbar) + 12px)}
.st-me{display:flex;gap:12px;align-items:center;padding:18px;border-bottom:1px solid var(--hair);background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 7%,var(--card)),var(--card))}
.st-av{width:50px;height:50px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:17px;flex:none}
.st-me b{display:block;font-size:15.5px}.st-me div>span{font-size:12.5px;color:var(--muted)}
.st-nav{padding:8px;display:grid;gap:2px}
.st-nav a{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;color:var(--ink);font-weight:600;font-size:14.5px;text-decoration:none}
.st-nav a:hover{background:var(--build-bg);text-decoration:none}
.st-nav a svg{width:18px;height:18px;color:var(--muted);flex:none}
.st-nav a small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.st-nav a.on{background:var(--blue);color:#fff}.st-nav a.on svg,.st-nav a.on small{color:#dbeafe}
.st-main,.st-panel{display:grid;gap:16px;min-width:0}
.st-layout .card.st-card{padding:22px 26px;position:relative}
.st-card h2{margin:0 0 4px;font-size:18px}.st-desc{margin:0 0 16px;color:var(--muted);font-size:13.5px}
.st-h{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.st-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.st-theme{border:2px solid var(--card-edge);border-radius:14px;padding:10px;background:var(--card);font:inherit;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}
.st-theme:hover{border-color:#b9cde8}
.st-theme.on{border-color:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 14%,transparent)}
.st-pv{position:relative;height:88px;border-radius:9px;display:grid;grid-template-columns:28% 1fr;overflow:hidden;border:1px solid var(--card-edge)}
.st-pv i{display:block}.st-pv .s{background:#16233f}.st-pv .c{padding:9px;display:grid;gap:6px;align-content:start;background:#f4f7fb}
.st-pv .c i{height:8px;border-radius:4px;background:#dbe3ef}.st-pv .c i:first-child{background:#2563eb;width:45%}
.t-dark .st-pv .c{background:#0f172a}.t-dark .st-pv .c i{background:#26334d}.t-dark .st-pv .c i:first-child{background:#3b82f6}
.st-pv .half{position:absolute;inset:0 0 0 50%;background:#0f172a}
.st-tn{display:flex;align-items:center;gap:8px;margin-top:10px}.st-tn b{font-size:14.5px}.st-tn small{color:var(--muted);font-size:12px;margin-left:auto}
.st-ck{width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;display:none;place-items:center;flex:none}.st-ck svg{width:13px;height:13px;stroke-width:3}
.st-theme.on .st-ck{display:grid}.st-theme.on .st-tn small{display:none}.st-theme.on .st-ck{margin-left:auto}
.st-card .set-row{padding:15px 0;position:relative}
.st-card .set-row b{font-size:15px}
.st-card .seg-ctl{background:var(--build-bg);border-radius:12px;padding:4px}
.st-card .seg-ctl button{padding:8px 15px;border-radius:9px;font-size:13.5px;color:var(--muted)}
.st-card .seg-ctl button.on{color:var(--blue);box-shadow:0 1px 4px rgba(15,27,51,.12)}
.st-card .set-select{height:40px;border-radius:11px;min-width:240px}
.st-saved{display:inline-flex;gap:5px;align-items:center;color:#16a34a;font-size:13px;font-weight:600;opacity:0;transition:opacity .3s;pointer-events:none}
.st-saved svg{width:15px;height:15px;stroke-width:2.6}.st-saved.on{opacity:1}.st-saved.on svg{animation:pl-pop .45s cubic-bezier(.3,1.6,.5,1)}
.st-card .set-row>*{order:2}.st-card .set-row>div:first-child{order:0}.st-card .set-row>.st-saved{order:1}
.st-card>.st-saved{position:absolute;top:24px;right:26px}
.st-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}.st-dl div{background:var(--build-bg);border-radius:12px;padding:12px 14px}
.st-dl dt{font-size:12px;color:var(--muted)}.st-dl dd{margin:3px 0 0;font-weight:600;overflow-wrap:anywhere}
@media (max-width:900px){.st-layout{grid-template-columns:1fr}.st-side{position:static}.st-nav{display:flex;overflow-x:auto}.st-nav a{white-space:nowrap}.st-nav a small{display:none}.st-themes{grid-template-columns:1fr 1fr 1fr;gap:8px}.st-tn small{display:none}}
html[data-mode="dark"] .st-theme{background:var(--card)}
/* Thư mời tài khoản (ảnh 104) */
.iv-frame{border:1px solid var(--card-edge);border-radius:12px;overflow:hidden;margin:12px 0 8px;background:#060b16}
.iv-frame iframe{display:block;width:100%;height:440px;border:0}
.iv-note{display:flex;gap:10px;align-items:flex-start;background:color-mix(in srgb,var(--blue) 8%,var(--card));border:1px solid color-mix(in srgb,var(--blue) 25%,transparent);border-radius:12px;padding:11px 13px;font-size:13.5px;line-height:1.5}
.iv-note svg{width:18px;height:18px;color:var(--blue);flex:none;margin-top:1px}
/* Đổi email đăng nhập (ảnh 105) */
.ec-who{display:flex;gap:12px;align-items:center;margin-bottom:16px}.ec-who b{display:block}.ec-who small{color:var(--muted);font-size:12.5px}
.ec-av{width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.ec-swap{display:grid;grid-template-columns:1fr 30px 1fr;gap:10px;align-items:start}
.ec-swap .label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin:0 0 6px}
.ec-old{height:40px;border-radius:10px;background:var(--build-bg);border:1px solid var(--card-edge);display:flex;align-items:center;padding:0 12px;font-family:'SF Mono',Menlo,monospace;font-size:13px;color:var(--muted);text-decoration:line-through;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ec-arrow{margin-top:24px;height:40px;display:grid;place-items:center;color:var(--blue);font-size:19px}
.ec-swap .field{margin:0}.ec-swap input{font-family:'SF Mono',Menlo,monospace;font-size:13px}
.ec-hint{display:block;min-height:16px;font-size:12px;color:var(--muted);margin-top:4px}.ec-hint.ok{color:#16a34a}
.ec-after{margin-top:14px;background:var(--build-bg);border:1px solid var(--card-edge);border-radius:14px;padding:13px 15px}
.ec-after p{margin:0 0 9px;font-size:11.5px;font-weight:700;letter-spacing:.8px;color:var(--muted)}
.ec-after ul{margin:0;padding:0;list-style:none}.ec-after li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;margin:0 0 8px}
.ec-after li i{font-style:normal;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;flex:none;font-size:12px}.ec-after li i svg{width:13px;height:13px}
.ec-after .b1{background:#e8f0fe;color:#0a5bd3}.ec-after .b2{background:#fef3c7;color:#b45309}.ec-after .b3{background:#dcfce7;color:#15803d}.ec-after .b4{background:#eef2f7;color:#475569}
@media (max-width:600px){.ec-swap{grid-template-columns:1fr}.ec-arrow{display:none}}
/* Xem thử TV + ngang / dọc (ảnh 106) */
.tp{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
@media (max-width:1100px){.tp{grid-template-columns:1fr}}
.tp-stage{padding:16px 18px}
.tp-sh{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.tp-sh h3{margin:0;font-size:16px}
.tp-live{font-size:11px;font-weight:700;color:#15803d;background:#dcfce7;border-radius:99px;padding:4px 9px}
.tp-seg{display:inline-flex;background:var(--build-bg);border-radius:11px;padding:3px;gap:2px;margin-left:auto}
.tp-seg button{border:0;background:none;font:inherit;padding:7px 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--muted);display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.tp-seg button.on{background:var(--card);color:var(--blue);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.tp-ic{display:inline-block;border:2px solid currentColor;border-radius:3px}.tp-ic.h{width:18px;height:11px}.tp-ic.v{width:11px;height:18px}
.tp-screens{display:flex;gap:22px;align-items:flex-end;justify-content:center;background:repeating-linear-gradient(45deg,var(--build-bg) 0 12px,transparent 12px 24px);border-radius:14px;padding:18px;flex-wrap:wrap}
.tp-tv{margin:0;text-align:center}.tp-tv figcaption{font-size:12px;color:var(--muted);margin-top:8px}
.tp-frame{background:#111827;border-radius:14px;padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.tp-tv.h .tp-frame{width:min(680px,62vw)}.tp-tv.v .tp-frame{width:min(250px,30vw)}
.tp-tv .tvx-box{border-radius:6px}
.tp-ctrl{display:flex;align-items:center;gap:10px;margin-top:14px}
.tp-pb{width:42px;height:42px;border-radius:50%;border:0;background:var(--blue);color:#fff;font-size:14px;cursor:pointer;flex:none}
.tp-sb{width:36px;height:36px;border-radius:10px;border:1px solid var(--card-edge);background:var(--card);color:var(--ink);font-size:20px;line-height:1;cursor:pointer;flex:none}
.tp-tl{flex:1;display:flex;gap:4px;min-width:0}
.tp-tl div{flex:1;min-width:0;border-radius:8px;padding:6px 8px;font-size:11.5px;font-weight:600;background:var(--build-bg);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.tp-tl div small{display:block;font-weight:400;font-size:10.5px;opacity:.85;overflow:hidden;text-overflow:ellipsis}
.tp-tl div.now{background:var(--blue);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 22%,transparent)}
.tp-spd{display:flex;gap:4px}.tp-spd button{border:0;font:inherit;font-size:12.5px;padding:6px 9px;border-radius:7px;background:var(--build-bg);color:var(--muted);cursor:pointer}.tp-spd button.on{background:var(--ink);color:var(--card)}
.tp-slot{margin:10px 0 0}
.tp-side{display:grid;gap:14px}
.tp-card{padding:16px 18px}.tp-card h4{margin:0 0 4px;font-size:14.5px}.tp-card>.sub{margin:0 0 12px;font-size:12.5px}
.tp-lbl{font-size:11.5px;font-weight:700;color:var(--muted);letter-spacing:.4px;margin:12px 0 6px}
.tp-chips{display:flex;flex-wrap:wrap;gap:7px}
.tp-chips button{border:1.5px solid var(--card-edge);background:var(--card);border-radius:99px;padding:7px 11px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}
.tp-chips button.on{border-color:var(--blue);background:var(--blue);color:#fff}
.tp-chips.sm button{border-radius:8px;padding:6px 9px}
.tp-or{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tp-or button{border:2px solid var(--card-edge);background:var(--card);border-radius:12px;padding:12px;font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.tp-or button.on{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent)}
.tp-or i{display:block;margin:0 auto 8px;background:#0b1426;border:4px solid #111827;border-radius:5px}.tp-or .h i{width:72px;height:42px}.tp-or .v i{width:30px;height:52px}
.tp-or small{display:block;font-weight:400;color:var(--muted);font-size:11.5px;margin-top:3px}
.tp-hint{margin:10px 0 0;font-size:12px}
/* E3-4 (vòng 3): dòng việc được giao của tài xế là nút (mở chi tiết chuyến) */
button.todo-row{width:100%;background:none;border:0;border-top:1px solid var(--hair);text-align:left;font:inherit;cursor:pointer}

/* Tin nội bộ trên web (ảnh TN-2, 05/10/2026) */
.tn-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.tn-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:16px}
.tn-comp{padding:16px 18px;margin-bottom:16px}.tn-crow{display:flex;gap:12px;align-items:center}
.tn-in{flex:1;text-align:left;border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--muted);font:inherit;font-size:14px;background:var(--bg);cursor:pointer}.tn-in:hover{border-color:var(--blue)}
.tn-ctools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;padding-left:44px}
.tn-chip{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:5px 10px;font-weight:600;font-size:12.5px;color:var(--muted)}.tn-chip svg{width:15px;height:15px}
.tn-go{margin-left:auto}.btn.primary.tn-go{background:#f59e0b;border-color:#f59e0b;color:#fff}.btn.primary.tn-go:hover{background:#d97706;border-color:#d97706}
.tn-post{margin-bottom:16px;overflow:hidden;padding:0}.tn-post.pin{border:2px solid #f59e0b}
.tn-cover{height:150px;position:relative;display:flex;align-items:flex-end;padding:14px 18px;background:radial-gradient(circle at 80% 20%,#2f5bea88,transparent 50%),linear-gradient(120deg,#0d2542,#1e4778 60%,#16a34a)}
.tn-cover.img{height:auto;max-height:320px;padding:0;background:#0d2542}.tn-cover.img img{width:100%;max-height:320px;object-fit:cover;display:block}.tn-cover.img .tn-pinb{position:absolute;left:18px;bottom:14px}
.tn-cover-ic{position:absolute;right:24px;top:22px;width:80px;height:80px;border-radius:22px;background:#ffffff1c;border:1px solid #ffffff33;display:grid;place-items:center;color:#fde68a}.tn-cover-ic svg{width:40px;height:40px}
.tn-pinb{display:inline-flex;gap:5px;align-items:center;background:#f59e0b;color:#1a1200;font-weight:800;font-size:11px;border-radius:7px;padding:4px 9px;letter-spacing:.04em}.tn-pinb svg{width:13px;height:13px}
.tn-pb{padding:16px 20px}
.tn-au{display:flex;gap:10px;align-items:center;margin-bottom:10px}.tn-au b{display:block;font-size:13.5px}.tn-au small{color:var(--muted);font-size:12px}
.tn-mn{margin-left:auto;display:flex;gap:6px;align-items:center}
.tn-title{margin:0 0 8px;font-size:21px;line-height:1.3;color:var(--ink)}
.tn-tx{font-size:14.5px;line-height:1.7;color:var(--ink);overflow-wrap:anywhere}.tn-tx p{margin:0 0 8px}.tn-tx ol,.tn-tx ul{margin:0 0 8px;padding-left:24px}.tn-tx li{margin:2px 0}.tn-tx a{color:var(--blue)}
.tn-tx.clamp{max-height:230px;overflow:hidden;position:relative}.tn-tx.clamp:after{content:"";position:absolute;left:0;right:0;bottom:0;height:60px;background:linear-gradient(transparent,var(--card))}
.tn-more{border:0;background:none;color:var(--blue);font:inherit;font-weight:700;padding:4px 0;cursor:pointer}
.tn-acts{display:flex;gap:16px;align-items:center;border-top:1px solid var(--line);margin-top:12px;padding-top:12px;color:var(--muted);font-weight:600;flex-wrap:wrap}.tn-acts .sp{flex:1}
.tn-act{display:inline-flex;gap:6px;align-items:center;border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:4px 2px}.tn-act:hover{color:var(--blue)}.tn-act.on{color:#e11d48}.tn-act svg{width:17px;height:17px}
.tn-views{display:inline-flex;gap:6px;align-items:center;font-size:12.5px}.tn-views svg{width:16px;height:16px}.tn-views b{color:var(--ink)}
.tn-vbar{display:inline-block;width:90px;height:7px;border-radius:4px;background:var(--line);overflow:hidden;vertical-align:middle}.tn-vbar>i{display:block;height:100%;background:linear-gradient(90deg,#16a34a,#4ade80)}
.tn-cms{margin-top:12px;display:flex;flex-direction:column;gap:10px}.tn-cm{display:flex;gap:10px}.tn-cm .avatar{width:30px;height:30px;font-size:10.5px;background:#7c3aed}
.tn-bub{background:var(--bg);border-radius:4px 14px 14px 14px;padding:8px 12px;font-size:13px;color:var(--ink)}.tn-bub b{display:block;font-size:12.5px}.tn-bub small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.tn-cin{display:flex;gap:8px}.tn-cin input{flex:1;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font:inherit;background:var(--card);color:var(--ink)}
.tn-sm{padding:14px 18px}.tn-sm h3{margin:0 0 8px;font-size:14px;display:flex;gap:8px;align-items:center}.tn-sm h3 svg{width:17px;height:17px}
.tn-it{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:13px;color:inherit;text-decoration:none}.tn-it:first-of-type{border:0}.tn-it b{display:block}.tn-it small{display:block;color:var(--muted);font-size:12px}.tn-it .tn-vbar{width:100%;margin:5px 0 3px}
.tn-ii{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff4e0;color:#b45309;flex:none}.tn-ii.k{background:#fde7ee;color:#e11d48}.tn-ii svg{width:17px;height:17px}
.tn-tabs{display:inline-flex;gap:4px;background:var(--bg);border-radius:10px;padding:3px;margin-bottom:12px}.tn-tabs button{border:0;background:none;padding:6px 16px;border-radius:8px;font:inherit;font-weight:700;font-size:12.5px;color:var(--muted);cursor:pointer}.tn-tabs .on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #0002}
.tn-tb{display:flex;gap:6px;align-items:center;margin:4px 0 6px;flex-wrap:wrap}.tn-tb button{min-width:34px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.tn-tb small{color:var(--muted);font-size:11.5px}
.tn-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.tn-opt{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:11px;padding:10px 12px;cursor:pointer}.tn-opt>span{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.tn-opt svg{width:17px;height:17px;grid-row:span 2;color:#b45309}
.tn-opt b{font-size:13px}.tn-opt small{color:var(--muted);font-size:11.5px}.tn-opt input{width:18px;height:18px}.tn-note{grid-column:2;margin:0;align-self:center}
.tn-prev{margin:0;border:1px solid var(--line)}
@media (max-width:1100px){.tn-grid{grid-template-columns:1fr}.tn-side{position:static}}
@media (max-width:700px){.tn-au{flex-wrap:wrap}.tn-mn{margin-left:0;width:100%;padding-left:42px}.tn-ctools{padding-left:0}.tn-opts{grid-template-columns:1fr}.tn-note{grid-column:auto}.tn-mn .btn{padding:6px 8px}.tn-title{font-size:18px}.tn-cover{height:110px}.tn-cover-ic{width:56px;height:56px;top:16px;right:16px}}
/* Dashboard TV — chọn cách chiếu + bố cục (ảnh 107 / 107b, kiểu công nghệ nền tối) */
.pl-dash{margin:12px 14px 4px;border-radius:16px;padding:12px 14px;background:var(--build-bg);border:1px solid var(--card-edge)}
.pl-dash.on{color:#e6eefc;border-color:#1f2e4a;box-shadow:0 14px 40px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.05);
  background:radial-gradient(circle at 10% 0%,rgba(10,91,211,.35),transparent 45%),radial-gradient(circle at 95% 100%,rgba(60,207,154,.16),transparent 45%),
  linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/28px 28px,#0a1324}
.pl-mk{display:block;font-family:'SF Mono',Menlo,monospace;font-size:10.5px;font-weight:700;letter-spacing:1.6px;color:#7aa7ff;margin:12px 0 7px}
.pl-mode{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pl-mode .pl-mk{margin:0 6px 0 0;color:var(--muted)}.pl-dash.on .pl-mode .pl-mk{color:#7aa7ff}
.pl-mode button{display:inline-flex;gap:7px;align-items:center;border:1.5px solid var(--card-edge);background:var(--card);color:var(--ink);border-radius:11px;padding:8px 13px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.pl-mode button svg{width:15px;height:15px}
.pl-dash.on .pl-mode button{background:#0f1b31;border-color:#24324a;color:#cbd5e1}
.pl-mode button.on,.pl-dash.on .pl-mode button.on{background:linear-gradient(90deg,#0a5bd3,#1f7bff 55%,#22b28a);border-color:transparent;color:#fff;box-shadow:0 6px 18px rgba(10,91,211,.4)}
.pl-sz{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:10px}.pl-sz .pl-mk{margin:0 6px 0 0}
.pl-sz button{border:1.5px solid #24324a;background:#0f1b31;color:#cbd5e1;border-radius:9px;padding:6px 10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.pl-sz button.on{background:#e6eefc;color:#0a1324;border-color:#e6eefc}.pl-sz em{font-style:normal;font-family:'SF Mono',Menlo,monospace;font-size:11px;color:#7ee2b8;margin-left:6px}
.pl-lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.pl-lt{border:1.5px solid #1f2e4a;background:#0f1b31;color:#e6eefc;border-radius:12px;padding:7px;font:inherit;font-size:11.5px;font-weight:700;text-align:center;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.pl-lt:hover{border-color:#3b5a8c}
.pl-lt.on{border:2px solid transparent;background:linear-gradient(#0f1b31,#0f1b31) padding-box,linear-gradient(120deg,#0a5bd3,#3ccf9a) border-box;box-shadow:0 0 20px rgba(10,91,211,.35)}
.pl-lt.warn small{color:#fbbf24}.pl-lt.cust{border-style:dashed;border-color:#2a3a56}
.pl-lt b{display:block;margin-top:6px}.pl-lt small{display:block;font-weight:500;color:#64748b;font-size:10.5px;font-family:'SF Mono',Menlo,monospace}
.pl-lmini{display:grid;gap:3px;aspect-ratio:16/9;background:#060b16;border:1px solid #24324a;border-radius:7px;padding:4px}
.pl-lmini b{border-radius:2px;background:#1f6feb}.pl-lmini b.m{background:#2563eb}.pl-lmini b.c1{background:#7c3aed}.pl-lmini b.c2{background:#0891b2}.pl-lmini b.c3{background:#9333ea}.pl-lmini b.c4{background:#14b8a6}.pl-lmini b.c5{background:#db2777}
.pl-warn{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:12.5px;color:#fcd34d;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.35);border-radius:10px;padding:8px 10px}.pl-warn svg{width:15px;height:15px;flex:none}
.pl-zones{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.pl-zones span{font-size:12px;border-radius:99px;padding:4px 10px;background:#0f1b31;border:1px solid #24324a;color:#cbd5e1}.pl-zones em{font-style:normal;color:#64748b}
.pl-dhint{margin:10px 0 0;color:#8fa1b9!important;font-size:12px}
.pl-zb{border:0;border-radius:99px;padding:4px 9px;font:inherit;font-size:11px;font-weight:800;color:#fff;cursor:pointer;white-space:nowrap}
.pl-zb.z0,.pl-pens .z0,.pl-cgrid .z0{background:#2563eb}.pl-zb.z1,.pl-pens .z1,.pl-cgrid .z1{background:#7c3aed}.pl-zb.z2,.pl-pens .z2,.pl-cgrid .z2{background:#0891b2}
.pl-zb.z3,.pl-pens .z3,.pl-cgrid .z3{background:#9333ea}.pl-zb.z4,.pl-pens .z4,.pl-cgrid .z4{background:#0d9488}.pl-zb.z5,.pl-pens .z5,.pl-cgrid .z5{background:#db2777}
.pl-zones .z0{border-color:#2563eb}.pl-zones .z1{border-color:#7c3aed}.pl-zones .z2{border-color:#0891b2}.pl-zones .z3{border-color:#9333ea}.pl-zones .z4{border-color:#0d9488}.pl-zones .z5{border-color:#db2777}
.pl-pens{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}.pl-pens button{width:34px;height:34px;border:0;border-radius:9px;color:#fff;font:inherit;font-weight:800;cursor:pointer;opacity:.55}.pl-pens button.on{opacity:1;box-shadow:0 0 0 3px #fff,0 0 0 5px #2563eb}
.pl-cgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:6px;aspect-ratio:16/9;background:#060b16;border-radius:12px;padding:8px}
.pl-cgrid button{border:0;border-radius:7px;color:#fff;font:inherit;font-size:20px;font-weight:800;cursor:pointer}.pl-cgrid button.e{background:#13213a;border:1px dashed #2a3a56}
.pl-cur{display:flex;gap:12px;align-items:center;margin-top:12px}.pl-cur .pl-lmini{width:96px;flex:none}.pl-cur b{display:block;font-size:14px}.pl-cur small{color:#8fa1b9;font-family:'SF Mono',Menlo,monospace;font-size:11px}
.pl-lbtn{margin-left:auto;border:1.5px solid #24324a;background:#0f1b31;color:#e6eefc;border-radius:10px;padding:7px 12px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.pl-it.dz{grid-template-columns:16px 18px 64px minmax(0,1fr) auto auto auto 34px 22px 26px}
@media (max-width:800px){.pl-it.dz{grid-template-columns:16px 64px minmax(0,1fr) auto 34px 22px 26px}}
/* Trợ lý AI dựng kịch bản TV (ảnh 108) — nền tối công nghệ */
.btn.ai-btn{background:linear-gradient(90deg,#7c3aed,#0a5bd3 55%,#22b28a);border-color:transparent;color:#fff;box-shadow:0 6px 18px rgba(124,58,237,.35)}
.btn.ai-btn svg{color:#fff}
dialog.modal.ai-dlg{width:min(1180px,calc(100vw - 24px))!important;background:#0a1324;color:#e6eefc;border:1px solid #1f2e4a}
.ai-dlg .modal-head{border-color:#1c2a44;background:#0b1529}.ai-dlg .modal-head h3{color:#fff}.ai-dlg .modal-x{color:#cbd5e1}
.ai-dlg .modal-foot{background:#0b1529;border-color:#1c2a44}.ai-dlg .modal-foot .btn:not([type=submit]){background:#0f1b31;border-color:#24324a;color:#cbd5e1}
.ai-dlg .modal-foot button[type=submit]{background:linear-gradient(90deg,#0a5bd3,#1f7bff 55%,#22b28a);border-color:transparent}
.ai-dlg .modal-body{background:radial-gradient(circle at 10% 0%,rgba(124,58,237,.22),transparent 40%),radial-gradient(circle at 95% 100%,rgba(60,207,154,.14),transparent 40%),
  linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/28px 28px,#0a1324}
.ai-tv{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:18px}
@media (max-width:900px){.ai-tv{grid-template-columns:1fr}}
.ai-hd{display:flex;gap:12px;align-items:center;margin-bottom:12px}.ai-hd i,.ai-empty{font-style:normal}
.ai-hd i{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#7c3aed,#0a5bd3 55%,#22b28a);display:grid;place-items:center;font-size:20px;color:#fff;box-shadow:0 0 22px rgba(124,58,237,.5);flex:none}
.ai-hd b{display:block;font-size:15px;color:#fff}.ai-hd small{color:#8fa1b9;font-size:12.5px}
.ai-box{border-radius:16px;padding:1.5px;background:linear-gradient(120deg,#7c3aed,#0a5bd3 50%,#3ccf9a)}
.ai-box textarea{display:block;width:100%;border:0;border-radius:15px;background:#0a1324;color:#fff;font:inherit;font-size:14.5px;line-height:1.6;padding:12px 14px;resize:vertical;outline:none}
.ai-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:10px}.ai-row .sp{flex:1}
.ai-mk{display:block;font-family:'SF Mono',Menlo,monospace;font-size:10.5px;font-weight:700;letter-spacing:1.6px;color:#7aa7ff;margin:14px 0 7px}.ai-row .ai-mk{margin:0 4px 0 0}
.ai-sz{border:1.5px solid #24324a;background:#0f1b31;color:#cbd5e1;border-radius:9px;padding:5px 9px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.ai-sz.on{background:#e6eefc;color:#0a1324;border-color:#e6eefc}
.ai-go{border:0;border-radius:12px;padding:10px 16px;background:linear-gradient(90deg,#7c3aed,#0a5bd3 55%,#22b28a);color:#fff;font:inherit;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 8px 24px rgba(10,91,211,.45)}.ai-go:disabled{opacity:.6;cursor:progress}
.ai-chips,.ai-hist{display:flex;flex-wrap:wrap;gap:7px}
.ai-chips button,.ai-hist button{border:1px solid #24324a;background:#0f1b31;color:#cbd5e1;border-radius:99px;padding:7px 11px;font:inherit;font-size:12.5px;cursor:pointer;text-align:left}
.ai-hist button{border-radius:10px;color:#8fa1b9;width:100%}
.ai-r{background:rgba(13,23,42,.7);border:1px solid #1f2e4a;border-radius:18px;padding:16px;min-height:320px}
.ai-empty{height:100%;min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:#8fa1b9;font-size:30px}
.ai-empty p{font-size:13.5px;max-width:380px;margin:0;line-height:1.55}.ai-think{animation:ai-pulse 1.2s ease-in-out infinite}@keyframes ai-pulse{50%{opacity:.5}}
.ai-rh{display:flex;gap:10px;align-items:center}.ai-rh b{font-size:16px;color:#fff}.ai-rh span{font-size:11px;font-weight:700;color:#7ee2b8;border:1px solid rgba(126,226,184,.4);border-radius:99px;padding:3px 9px}
.ai-why{margin:8px 0 12px;font-size:13px;color:#a9bbd8;line-height:1.55}
.ai-g{display:grid;grid-template-columns:1.15fr 1fr;gap:14px}@media (max-width:900px){.ai-g{grid-template-columns:1fr}}
.ai-pv{border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px #24324a}
.ai-zs{display:grid;gap:7px;align-content:start}.ai-zs div{background:#0f1b31;border:1px solid #1c2a44;border-radius:11px;padding:8px 10px}
.ai-zs b{font-size:12.5px;color:#fff}.ai-zs b i{font-style:normal;display:inline-block;min-width:20px;height:20px;border-radius:6px;text-align:center;margin-right:6px;font-size:11px;line-height:20px;color:#fff}
.ai-zs i.z0{background:#2563eb}.ai-zs i.z1{background:#7c3aed}.ai-zs i.z2{background:#0891b2}.ai-zs i.z3{background:#9333ea}.ai-zs i.z4{background:#0d9488}.ai-zs i.z5{background:#db2777}
.ai-zs small{display:block;color:#8fa1b9;font-size:12px;margin-top:2px}
.ai-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.ai-meta span{font-size:11.5px;border-radius:8px;padding:5px 9px;background:#0f1b31;border:1px solid #24324a;color:#a9bbd8;font-family:'SF Mono',Menlo,monospace}
.ai-warn{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:12.5px;color:#fcd34d;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.35);border-radius:10px;padding:8px 10px}.ai-warn svg{width:15px;height:15px;flex:none}

/* Màn hình TV: xoay ngang / dọc trên thẻ (ảnh TV-4) + tạo phòng khi ghép TV (ảnh TV-3), 05/10/2026 */
.pill.tvr-or{display:inline-flex;gap:6px;align-items:center;border:1.5px solid var(--blue);background:var(--card);color:var(--blue);font:inherit;font-weight:700;cursor:pointer}
.pill.tvr-or:hover{background:rgba(6,101,237,.08)}.tvr-car{font-size:10px}
.tvr-sh{display:inline-block;border:2px solid currentColor;border-radius:3px}.tvr-sh.h{width:15px;height:10px}.tvr-sh.v{width:10px;height:15px}
.tvr-pop{position:absolute;z-index:100;width:330px;max-width:calc(100vw - 24px);background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 48px rgba(13,37,66,.25);padding:14px}
.tvr-pop h4{margin:0 0 2px;font-size:14px}.tvr-pop>.sub{margin:0 0 10px;font-size:12px}
.tvr-ors{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tvr-ors button{border:1.5px solid var(--line);border-radius:12px;padding:10px 6px;background:var(--card);color:var(--muted);font:inherit;font-size:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}
.tvr-ors b{font-size:13.5px;color:var(--ink);margin-top:4px}.tvr-ors .on{border-color:var(--blue);background:rgba(6,101,237,.08);color:var(--blue)}.tvr-ors .on b{color:var(--blue)}
.tvr-big{display:block;border:3px solid var(--muted);border-radius:5px;background:var(--bg)}.tvr-big.h{width:46px;height:28px}.tvr-big.v{width:28px;height:46px}.tvr-ors .on .tvr-big{border-color:var(--blue)}
.tvr-lb{font-size:10.8px;font-weight:800;color:var(--muted);letter-spacing:.05em;margin:12px 0 6px}
.tvr-chips{display:flex;gap:6px;flex-wrap:wrap}.tvr-chips button{border:1px solid var(--line);border-radius:9px;padding:6px 10px;font:inherit;font-size:12px;font-weight:600;background:var(--card);color:var(--ink);cursor:pointer}
.tvr-chips .on{background:var(--navy);border-color:var(--navy);color:#fff}
.tvr-ft{display:flex;gap:8px;align-items:center;margin-top:12px}.tvr-ft small{flex:1;font-size:11.5px}
.tvr-new{border:1.5px dashed #93b7f5;background:rgba(6,101,237,.05);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.tvr-new h4{margin:0;font-size:13.5px;color:var(--blue)}.tvr-chk{margin:0;font-size:12.3px}.tvr-ba{display:flex;gap:8px;justify-content:flex-end}
.tvr-ok{background:var(--ok-bg);color:var(--ok);border-radius:10px;padding:8px 12px;font-size:12.8px;font-weight:700}
/* Đặt lại mật khẩu (ảnh 111, anh Tâm duyệt 05/10/2026) */
.rp-who{display:flex;gap:12px;align-items:center;background:var(--hair);border-radius:12px;padding:10px 12px;margin-bottom:12px}
.rp-who .avatar{width:38px;height:38px;font-size:13px}.rp-who b{display:block}.rp-who small{color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}
.rp-opts{display:grid;gap:9px;margin-bottom:8px}
.rp-opt{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--line);border-radius:13px;padding:12px 14px;cursor:pointer}
.rp-opt input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--blue);flex:none}
.rp-opt.on{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 6%,var(--card))}
.rp-opt b{display:block;font-size:14.5px}.rp-opt small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px;line-height:1.45}
.rp-opt em{font-style:normal;font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px;margin-left:6px;background:var(--neutral-bg);color:var(--muted);white-space:nowrap;vertical-align:1px}
.rp-opt em.g{background:var(--ok-bg);color:var(--ok)}
.rp-chk{align-items:flex-start;min-height:0;margin:8px 0 0;font-size:13.5px}.rp-chk input{margin-top:1px;flex:none}.rp-chk small{display:block;font-size:12px}
.rp-note{display:flex;gap:6px;margin:10px 0 0;font-size:12.5px}.rp-note svg{width:15px;height:15px;flex:none;margin-top:2px}
.rp-temp{display:flex;align-items:center;gap:10px;border:1.5px dashed color-mix(in srgb,var(--blue) 45%,var(--card));background:color-mix(in srgb,var(--blue) 5%,var(--card));border-radius:12px;padding:14px 16px;margin:10px 0}
.rp-temp code{font:700 22px/1 ui-monospace,Menlo,monospace;letter-spacing:1.5px;color:var(--ink);flex:1;user-select:all}
.modal .alert svg{width:16px;height:16px;vertical-align:-3px;margin-right:4px}
.tp-unsaved{color:#b45309;font-weight:600;font-size:12.5px;margin:10px 0 0}
/* Ký với bên ngoài (ảnh 112, anh Tâm duyệt 05/10/2026) — văn bản (vb-*) trong css/ky.css */
.xs-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.xs-kpi{background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:12px 14px}.xs-kpi b{display:block;font-size:24px}.xs-kpi span{color:var(--muted);font-size:12.5px}
.xs-kpi.v b{color:var(--design)}.xs-kpi.w b{color:#c2410c}.xs-kpi.g b{color:var(--ok)}
.xs-chips{display:flex;gap:6px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--hair)}
.xs-chips .chip{border:1px solid var(--line);border-radius:999px;padding:3px 12px;font-size:12.5px;font-weight:600;color:var(--muted);text-decoration:none}.xs-chips .chip.on{background:var(--build-bg);color:var(--blue);border-color:transparent}
.xs-table tr{cursor:pointer}.xs-table td small{display:block;color:var(--muted);font-size:12px}
.xs-dots{display:flex;gap:4px}.xs-dots i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:800 9.5px var(--font);font-style:normal;color:#fff;background:#cbd5e1}
.xs-dots i.ok{background:var(--ok)}.xs-dots i.now{background:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 25%,transparent)}.xs-dots i.no{background:var(--danger)}
.xs-form{display:grid;gap:16px}.xs-h{font-size:15px;margin:0 0 10px}.xs-h small{font-weight:400;color:var(--muted)}
.xs-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.xs-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.xs-type{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}.xs-type input{position:absolute;opacity:0;pointer-events:none}
.xs-type b{display:block;font-size:14px}.xs-type small{color:var(--muted);font-size:12px}.xs-type.on{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 6%,var(--card))}
.xs-items input{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:var(--card);color:var(--ink)}.xs-items .xs-sm{max-width:90px}.xs-items input.num{text-align:right}
.xs-sig{display:flex;gap:8px;align-items:center;border:1px solid var(--card-border);border-radius:12px;padding:8px 10px;margin-bottom:7px;flex-wrap:wrap}
.xs-sig .n{width:24px;height:24px;border-radius:50%;background:var(--hair);display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}
.xs-sig input,.xs-sig select{flex:1;min-width:140px;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:var(--card);color:var(--ink)}
.xs-sig-act{display:flex;gap:2px}.xs-add{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.xs-foot{display:flex;gap:8px;align-items:center;position:sticky;bottom:0;background:var(--bg);padding:10px 0}.xs-foot .sp{flex:1}
.xs-detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.xs-doc{padding:26px 24px;overflow:auto;background:#fff}
.xs-side{display:grid;gap:12px;position:sticky;top:calc(var(--topbar) + 12px)}.xs-side h3{margin:0 0 8px;font-size:15px}
.xs-steps{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.xs-steps li{display:flex;gap:10px;align-items:flex-start;font-size:13px}.xs-steps .n{width:24px;height:24px;border-radius:50%;background:var(--hair);display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}
.xs-steps li.ok .n{background:var(--ok);color:#fff}.xs-steps li.now .n{background:var(--blue);color:#fff}.xs-steps li.no .n{background:var(--danger);color:#fff}
.xs-steps b{display:block}.xs-steps small{display:block;color:var(--muted);font-size:12px}
.xs-acts{display:grid;gap:7px}.xs-acts .btn{justify-content:center}.xs-acts .btn.approve{background:var(--ok);border-color:var(--ok);color:#fff}
.xs-file{margin:4px 0}.xs-file a{display:inline-flex;gap:6px;align-items:center}.xs-file svg{width:15px;height:15px}
.ok-t{color:var(--ok);font-size:13px}.bad-t{color:var(--danger);font-size:13px}
@media (max-width:1000px){.xs-detail{grid-template-columns:1fr}.xs-side{position:static}.xs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.xs-types{grid-template-columns:1fr 1fr}}
html[data-mode="dark"] .xs-doc{background:#fff;color:#111}
/* Xe là tài sản (ảnh 114a) */
.va{display:grid;gap:16px}
.va-list{display:flex;gap:10px;flex-wrap:wrap;padding:14px 16px}
.va-chip{border:1.5px solid var(--card-edge);border-radius:12px;padding:8px 12px;background:var(--card);color:var(--ink);text-decoration:none;font:inherit;cursor:pointer;text-align:left}
.va-chip:hover{text-decoration:none;border-color:#b9cde8}.va-chip b{display:block;font-size:14px}.va-chip small{display:block;font-size:11.5px;color:var(--muted)}
.va-chip.on{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent)}.va-chip.off small{color:#b45309}.va-chip.add{border-style:dashed;color:var(--muted);font-weight:700}
.va-g{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px;align-items:start}@media (max-width:1000px){.va-g{grid-template-columns:1fr}}
.va-r{display:grid;gap:16px}
.va-car{border-radius:16px;background:linear-gradient(135deg,#0b1d36,#173b6a);color:#fff;padding:18px;position:relative}
.va-plate{display:inline-block;background:#fff;color:#0f1b33;border:3px solid #0f1b33;border-radius:8px;padding:5px 13px;font-size:24px;font-weight:800;letter-spacing:1px}
.va-qr{position:absolute;right:16px;top:16px;background:#fff;color:#0f1b33;border-radius:10px;padding:6px 9px;font-size:12px;font-weight:800}
.va-car h2{margin:14px 0 4px;font-size:19px;color:#fff}.va-car>small{color:#b9c8e2}
.va-kv{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.va-kv div{background:rgba(255,255,255,.08);border-radius:10px;padding:9px 11px}
.va-kv b{display:block;font-size:15px}.va-kv span{font-size:11.5px;color:#b9c8e2}
.va-rows{margin-top:12px}.va-rows>div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--hair);font-size:13.5px}.va-rows span{color:var(--muted)}
.va-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;padding:0 16px 4px}
.va-doc{border:1px solid var(--card-edge);border-radius:14px;padding:12px 13px;display:grid;grid-template-columns:50px minmax(0,1fr);gap:12px;align-items:start}
.va-thumb{width:50px;height:62px;border-radius:8px;background:var(--build-bg);border:1px solid var(--card-edge);display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--blue);text-decoration:none}
.va-thumb.empty{color:var(--muted)}.va-doc b{display:block;font-size:14px}.va-doc small{display:block;color:var(--muted);font-size:12px;margin:2px 0 6px}
.va-act{display:flex;gap:10px;margin-top:6px;font-size:12px}.va-note{margin:10px 16px 14px;font-size:12.5px}
/* Đặt xe tự chọn xe + tài xế (ảnh 114b) */
.vb-pick{margin:12px 0 4px}
.vb-step{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.5px;color:var(--muted);margin:12px 0 8px}.vb-step b{width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:12px}
.vb-step small{font-weight:500;letter-spacing:0}
.vb-cars{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:9px}
.vb-car,.vb-drv{border:2px solid var(--card-edge);border-radius:13px;padding:10px 11px;background:var(--card);font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.vb-car.on,.vb-drv.on{border-color:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 14%,transparent)}
.vb-car.off,.vb-drv.off{opacity:.55;cursor:not-allowed;background:var(--build-bg)}
.vb-plate{display:inline-block;font:800 14px 'SF Mono',Menlo,monospace;border:2px solid var(--ink);border-radius:6px;padding:1px 7px}
.vb-car b{display:block;margin:7px 0 2px;font-size:13px}.vb-car small,.vb-drv small{display:block;font-size:11.5px;color:var(--muted)}
.vb-car:not(.off) small{color:#15803d}.vb-car.off small,.vb-drv.off small{color:#b91c1c}
.vb-drvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px}
.vb-drv{display:flex;gap:9px;align-items:center}.vb-drv i{width:34px;height:34px;border-radius:50%;background:#0f766e;color:#fff;font-style:normal;font-size:12px;font-weight:700;display:grid;place-items:center;flex:none}
.vb-drv b{display:block;font-size:13px}
/* Điều xe gấp (ảnh ĐX-1 / ĐX-2, duyệt 08/10/2026): thẻ bận của Tổng Giám đốc — phần trên mờ như thẻ bận, chân thẻ có nút Điều gấp / số gọi tài xế / dòng lịch cố định */
.vb-car.dx,.vb-drv.dx{display:flex;flex-direction:column;align-items:stretch;gap:0;cursor:default;opacity:1;padding:0;overflow:hidden}
.dx .dx-top{padding:10px 11px;opacity:.78}
.vb-drv.dx .dx-top{display:flex;gap:9px;align-items:center;flex:1}.vb-drv.dx .dx-top i{opacity:.7}
.dx .dx-who{display:block;font-size:11.5px;line-height:1.45;color:var(--muted);padding:0 11px 9px;overflow-wrap:anywhere}.dx .dx-who.dx-fix{padding-bottom:11px}
.dx .dx-act{padding:8px 10px 10px;border-top:1px dashed #e6d3a6;background:#fffaf0;margin-top:auto}
.dx-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;height:32px;border-radius:9px;border:1px solid #e3c47c;background:var(--warn-bg);color:var(--warn);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.dx-btn svg{width:14px;height:14px}.dx-btn:hover{background:#ffedc2}.dx-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.dx .dx-tel{padding:8px 11px 10px;border-top:1px dashed var(--card-edge);display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink);margin-top:auto;background:#f8fafc}
.dx .dx-tel svg{width:14px;height:14px;color:var(--blue);flex:none}.dx .dx-tel a{display:block;font-size:13px;font-weight:700;color:var(--blue);text-decoration:none}.dx .dx-tel a:hover{text-decoration:underline}
dialog.modal.dx-dlg{width:min(620px,calc(100vw - 24px))}
.dx-dlg .modal-ic{background:var(--warn-bg);color:var(--warn)}
.dx-dlg .modal-foot .btn svg{width:16px;height:16px}
.dx-panel{border:1px solid #ecd9aa;background:#fffaf0;border-radius:13px;padding:12px 14px 4px}
.dx-panel h4{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.5px;color:var(--warn);text-transform:uppercase;display:flex;align-items:center;gap:7px}.dx-panel h4 svg{width:15px;height:15px}
.dx-kv{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid #f1e5c6;font-size:13.5px}.dx-kv:first-of-type{border-top:0}
.dx-kv span{color:var(--muted)}.dx-kv b{font-weight:700;overflow-wrap:anywhere}
.dx-eff{display:flex;gap:9px;align-items:flex-start;margin:14px 0 12px;font-size:14px;line-height:1.45}.dx-eff svg{width:17px;height:17px;flex:none;margin-top:2px;color:#dc2626}
.dx-tell{margin-bottom:16px}.dx-tell h5{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.dx-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--card-border);font-size:13.5px}
.dx-row>span:last-child{flex:1;min-width:0}.dx-row b{font-weight:700}.dx-row small{display:block;font-size:12px;color:var(--muted);margin-top:1px}
.dx-ic{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--build-bg);color:var(--blue)}.dx-ic svg{width:16px;height:16px}
.dx-dlg .field textarea{min-height:68px}
.dx-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.vb-list small.vb-why{color:var(--danger);overflow-wrap:anywhere}
.fx-cf{list-style:none;margin:10px 0;padding:0;border:1px solid var(--card-edge);border-radius:12px}.fx-cf li{display:grid;gap:1px;padding:9px 12px;border-top:1px solid var(--card-edge);font-size:13.5px}.fx-cf li:first-child{border-top:0}.fx-cf span{color:var(--muted);font-size:12.5px}
html[data-mode="dark"] .dx .dx-act,html[data-mode="dark"] .dx-panel{background:color-mix(in srgb,#f0a020 9%,var(--card));border-color:color-mix(in srgb,#f0a020 35%,transparent)}
html[data-mode="dark"] .dx-btn{background:color-mix(in srgb,#f0a020 18%,var(--card));border-color:color-mix(in srgb,#f0a020 45%,transparent);color:#f2c36b}html[data-mode="dark"] .dx-btn:hover{background:color-mix(in srgb,#f0a020 28%,var(--card))}
html[data-mode="dark"] .dx-kv{border-top-color:color-mix(in srgb,#f0a020 22%,transparent)}html[data-mode="dark"] .dx-panel h4{color:#f2c36b}
html[data-mode="dark"] .dx .dx-tel{background:var(--card)}html[data-mode="dark"] .dx-dlg .modal-ic{background:color-mix(in srgb,#f0a020 18%,var(--card));color:#f2c36b}
@media (max-width:600px){
  .dx-btn{height:40px;font-size:13.5px}.dx .dx-tel{min-height:40px}
  .dx-kv{grid-template-columns:104px minmax(0,1fr)}
  .dx-chips .chip{height:36px}
  .dx-dlg .modal-foot .btn{flex:1}
}
/* Người đồng hành (ảnh 114c) */
.vb-who{display:flex;flex-wrap:wrap;gap:6px}.vb-resp{display:inline-flex;gap:6px;align-items:center;background:var(--build-bg);border-radius:99px;padding:4px 10px;font-size:12.5px;font-weight:600}
.vb-resp small{font-weight:700;font-size:11px;color:var(--muted)}.vb-resp.di small{color:#15803d}.vb-resp.khong{text-decoration:line-through;opacity:.7}.vb-resp.khong small{color:#b91c1c}
.vb-ask{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;background:color-mix(in srgb,var(--blue) 7%,var(--card));border:1px solid color-mix(in srgb,var(--blue) 25%,transparent);border-radius:12px;padding:10px 12px;font-size:13px}
.vb-ask span{flex:1;min-width:200px}

/* Ký với bên ngoài đợt 2 (ảnh 116): đợt thanh toán hợp đồng, tệp ký số */
.xs-pays{display:grid;gap:6px}.xs-pay{display:flex;gap:6px;align-items:center}.xs-pay input{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:var(--card);color:var(--ink)}
.xs-pay input:not(.xs-sm){flex:1}.xs-pay .xs-sm{width:70px;text-align:right}
.xs-dl{display:inline-flex;gap:5px;align-items:center;font-size:12px}.xs-dl svg{width:13px;height:13px}

/* Câu 58A (vòng 5): Sổ tài xế — việc được giao tách Hôm nay / Sắp tới */
.drv-jobs-h{display:flex;align-items:baseline;gap:8px;padding:10px 16px 4px;border-top:1px solid var(--hair)}
.drv-jobs-h:first-of-type{border-top:0}
.drv-jobs-h b{font-size:13px;letter-spacing:.02em}
.drv-jobs-empty{padding:4px 16px 12px;margin:0}

/* E5-5 (vòng 5): chế độ tối — các khối còn màu cứng của chế độ sáng */
html[data-mode="dark"] .np-warn{border-color:#5a4417;color:#f5d58a}
html[data-mode="dark"] .np-warn svg{color:var(--warn)}
html[data-mode="dark"] .np-info{border-color:#24477a;color:#a9cbff}
html[data-mode="dark"] .field-list th{background:var(--neutral-bg)}
html[data-mode="dark"] .field-list .grp td{background:var(--neutral-bg)}
html[data-mode="dark"] .sh-st.warn{border-color:#5a4417;background:var(--warn-bg)}
html[data-mode="dark"] .sh-st.bad{background:var(--danger-bg)}
html[data-mode="dark"] .km-card .km-n b{color:var(--ink)}
/* E5-6 (vòng 5): Hỗ trợ IT ở màn hẹp — chip khu vực xuống dòng, đầu chi tiết phiếu xếp dọc (nút xuống hàng riêng) */
@media (max-width:640px){
  .pt-areas{display:flex;flex-wrap:wrap;border-right:0;padding-right:0;margin:0 0 6px;width:100%}
  .pt-dh{flex-wrap:wrap;align-items:flex-start}
  .pt-dh .grow{flex:1 1 calc(100% - 60px)}
  .pt-acts{flex:1 1 100%;justify-content:flex-start}
}
/* E5-7 (vòng 5): điện thoại — khi có thẻ nhắc nổi, trang chừa khoảng trống cuối bằng chiều cao chồng thẻ để cuộn được nút Duyệt / Từ chối
   lên trên thẻ; chồng thẻ không cao quá 40% màn hình */
@media (max-width:640px){
  .rm-host{max-height:40vh;overflow:auto}
  body:has(.rm-host .rm-card) .page-body{padding-bottom:calc(42vh + 12px)}
}
html[data-mode="dark"] .np-table th{background:var(--neutral-bg)}
html[data-mode="dark"] .np-table tr.click:hover td{background:var(--neutral-bg)}
html[data-mode="dark"] .np-grid .gc.off{background:repeating-linear-gradient(135deg,#16243a 0 4px,#1a2a40 4px 8px)}

/* ===== Duyệt chi cho Phòng Kế toán (ảnh 119a–d) ===== */
.kt-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}
.kt-kpi{display:block;background:var(--card);border:1px solid var(--card-border);border-top:4px solid var(--line);border-radius:var(--radius);padding:12px 14px;color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}
.kt-kpi:hover{text-decoration:none;border-color:#b9cde8}
.kt-kpi small{display:block;font-size:12px;font-weight:600;color:var(--muted)}.kt-kpi b{display:block;font-size:24px;margin:2px 0}.kt-kpi span{font-size:12px;color:var(--muted)}
.kt-kpi.info{border-top-color:#3b82f6}.kt-kpi.warn{border-top-color:#f59e0b}.kt-kpi.teal{border-top-color:#14b8a6}.kt-kpi.ok{border-top-color:#16a34a}.kt-kpi.design{border-top-color:#8b5cf6}
.kt-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 16px 0}
.kt-bar input[type=search]{min-width:220px}.kt-foot{padding:10px 16px 14px;margin:0}
@media (max-width:1100px){.kt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.supp-card{border:1.5px solid #f59e0b;background:linear-gradient(90deg,var(--warn-bg),var(--card))}
.supp-head{display:flex;gap:14px;align-items:flex-start}.supp-head b{font-size:15.5px}.supp-head p{margin:3px 0 0;color:var(--ink)}
.supp-ic{width:42px;height:42px;border-radius:12px;background:#f59e0b;color:#fff;display:grid;place-items:center;flex:none}
.supp-items{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.supp-body{margin-top:14px;display:grid;gap:10px}
.supp-drop{display:flex;gap:10px;align-items:center;justify-content:center;border:2px dashed #93c5fd;background:var(--neutral-bg);border-radius:12px;padding:14px;color:var(--blue);font-weight:600;cursor:pointer}
.supp-drop input{position:absolute;width:1px;height:1px;opacity:0}
.supp-foot{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.unc-card{display:flex;gap:12px;align-items:center;background:linear-gradient(90deg,#052e2b,#064e3b);color:#d1fae5;border:0}
.unc-card b{display:block;color:#fff;font-size:15px}.unc-card small{color:#a7f3d0}
.unc-ic{width:44px;height:50px;border-radius:8px;background:#dc2626;color:#fff;display:grid;place-items:center;font-weight:800;font-size:11px;flex:none}
.att-lay{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:14px;align-items:start}
.att-group+.att-group{margin-top:12px}.att-list li.on{outline:2px solid var(--blue);outline-offset:-2px;border-radius:10px}
.att-list li.is-new .f-name small{color:#7c3aed;font-weight:600}
.att-view{background:#1e293b;border-radius:12px;min-height:420px;padding:10px;display:flex;flex-direction:column;gap:8px}
.att-view .sub{color:#cbd5e1;margin:auto}.att-bar{display:flex;gap:8px;align-items:center;color:#fff}.att-bar b{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.att-view iframe{width:100%;height:560px;border:0;border-radius:8px;background:#fff}.att-view img{max-width:100%;max-height:600px;object-fit:contain;margin:auto;border-radius:6px;background:#fff}
@media (max-width:900px){.att-lay{grid-template-columns:1fr}.att-view{min-height:0}.att-view iframe{height:420px}}
.chk-list{list-style:none;margin:0;padding:0}.chk-list li{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px dashed var(--line)}.chk-list li:last-child{border:0}
.chk-list small{display:block;color:var(--muted);font-size:12px}
.chk-seg{display:inline-flex;border:1px solid var(--card-edge);border-radius:9px;overflow:hidden;flex:none}
.chk-seg button{border:0;background:var(--card);color:var(--ink);font:inherit;font-size:12px;font-weight:600;padding:5px 9px;cursor:pointer}
.chk-seg button+button{border-left:1px solid var(--card-edge)}
.chk-seg button.on.ok{background:var(--ok);color:#fff}.chk-seg button.on.danger{background:var(--danger);color:#fff}.chk-seg button.on{background:var(--neutral);color:#fff}
.chk-pick{display:grid;gap:6px;margin-top:4px}
.supp-thread{display:grid;gap:8px}.supp-thread .msg{border-radius:12px;padding:10px 12px;line-height:1.5}
.supp-thread .msg small{display:block;font-size:11.5px;color:var(--muted);font-weight:600;margin-bottom:2px}
.supp-thread .msg.k{background:var(--warn-bg);border:1px solid #fde68a}.supp-thread .msg.u{background:var(--neutral-bg);border:1px solid var(--line)}.supp-thread .msg.w{border:1px dashed var(--line)}
.btn.warn-btn{background:var(--warn-bg);border-color:#f59e0b;color:#92400e}
.stack-16{display:grid;gap:16px;align-content:start}
.supp-drop svg,.supp-ic svg,.unc-ic svg{width:20px;height:20px;flex:none}
.unc-card .btn{background:#fff;color:#065f46;border-color:#fff}
.att-list .files li>.btn{flex:none}.att-list .f-name{flex:1 1 180px;min-width:0}.att-list .f-name small{white-space:normal}
/* Lịch xe theo Tuần / Ngày (ảnh VX-1, 05/10/2026) */
.vx-cal{--vx-line:var(--line);--vx-soft:var(--bg);--vx-col:220px}
.vx-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.vx-bar h2{margin:0;font-size:17px;display:flex;gap:8px;align-items:center}.vx-bar h2 svg{width:20px;height:20px;color:var(--blue)}.vx-bar .sp{flex:1}
.vx-seg{display:inline-flex;background:var(--bg);border-radius:10px;padding:3px}.vx-seg button{border:0;background:none;padding:7px 16px;border-radius:8px;font:inherit;font-weight:600;font-size:14.5px;color:var(--muted);cursor:pointer}
.vx-seg .on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.vx-nav{display:inline-flex;align-items:center;gap:6px}.vx-ar{width:40px;padding:0;justify-content:center}.vx-bar>.btn,.vx-ar{height:40px}.vx-rg{font-size:15px;font-weight:700;padding:0 6px;min-width:210px;text-align:center;white-space:nowrap}
.vx-leg{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--muted);margin:12px 0}.vx-leg .q{margin-left:auto}.vx-leg span{display:inline-flex;gap:6px;align-items:center}
.vx-leg i{width:18px;height:12px;border-radius:3px;display:inline-block;background:var(--bg-t);border:1.5px solid var(--c)}.vx-leg i.cho{border-style:dashed}.vx-leg .now{color:#e11d48;font-weight:700}
.vx-cal .cho{--c:#d97706;--bg-t:rgba(217,119,6,.10)}.vx-cal .xep{--c:#0665ed;--bg-t:rgba(6,101,237,.09)}.vx-cal .chay{--c:#16a34a;--bg-t:rgba(22,163,74,.10)}
.vx-cal .xong{--c:#64748b;--bg-t:rgba(100,116,139,.10)}.vx-cal .bd{--c:#dc2626;--bg-t:rgba(220,38,38,.09)}.vx-cal .lim{--c:#94a3b8;--bg-t:rgba(148,163,184,.12)}
.vx-wk-wrap,.vx-gt-wrap{overflow-x:auto;border:1px solid var(--vx-line);border-radius:12px}
.vx-wk{display:grid;grid-template-columns:var(--vx-col) repeat(7,minmax(128px,1fr));min-width:1120px}
.vx-hd{background:var(--vx-soft);padding:9px 10px;font:inherit;font-size:12.5px;font-weight:800;color:var(--ink);border:0;border-bottom:1px solid var(--vx-line);border-left:1px solid var(--vx-line);text-align:left;cursor:pointer}
.vx-hd small{display:block;font-weight:600;color:var(--muted);font-size:11px;min-height:14px}.vx-hd.corner{border-left:0;cursor:default;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.vx-hd.today{background:var(--blue);color:#fff}.vx-hd.today small{color:rgba(255,255,255,.8)}.vx-hd:not(.corner):hover{text-decoration:underline}
.vx-vh{display:flex;gap:10px;padding:12px;border-bottom:1px solid var(--vx-line);font-size:12px;min-width:0}.vx-vh b{font-size:13.5px}.vx-vh small{display:block;color:var(--muted);margin-top:2px}.vx-vh small b{font-size:12px}
.vx-vi{width:34px;height:34px;border-radius:10px;background:rgba(6,101,237,.1);color:var(--blue);display:grid;place-items:center;flex:none}.vx-vi svg{width:18px;height:18px}
.vx-vh.un{background:rgba(217,119,6,.07)}.vx-vh.un .vx-vi{background:rgba(217,119,6,.15);color:#b45309}
.vx-wp{display:inline-block;margin-top:5px;font-size:11px;font-weight:700;border-radius:6px;padding:2px 6px;color:#b45309;background:rgba(217,119,6,.12)}.vx-wp.danger{color:#b91c1c;background:rgba(220,38,38,.1)}
.vx-cell{border-left:1px solid var(--vx-line);border-bottom:1px solid var(--vx-line);padding:6px;display:flex;flex-direction:column;gap:6px;min-height:92px;min-width:0}
.vx-cell.today{background:rgba(6,101,237,.04)}.vx-cell.we{background:var(--vx-soft)}.vx-cell.un{background:rgba(217,119,6,.04)}
.vx-cell.lock,.vx-ln.lock{background:repeating-linear-gradient(135deg,rgba(220,38,38,.05) 0 7px,rgba(220,38,38,.11) 7px 14px)}
.vx-free{margin:auto;color:var(--muted);opacity:.55;font-size:11.5px;font-weight:600;text-align:center}.vx-free.lk{opacity:1;color:#b91c1c;font-weight:800}.vx-free small{display:block;font-weight:600}
.vx-tr{display:block;text-align:left;font:inherit;cursor:pointer;border-radius:9px;padding:7px 8px 7px 10px;background:var(--bg-t);border:1px solid var(--c);border-left:4px solid var(--c);font-size:11.5px;line-height:1.35;color:var(--ink);min-width:0}
.vx-tr.cho{border-style:dashed;border-left-style:solid}.vx-tr.lim{background:repeating-linear-gradient(135deg,var(--bg-t) 0 6px,transparent 6px 12px)}
.vx-tr:hover{filter:brightness(.97);box-shadow:0 2px 8px rgba(13,37,66,.12)}
.vx-tr .tm{display:block;font-size:13px;color:var(--c);font-weight:800}.vx-tr .ds{display:block;font-weight:700;overflow-wrap:anywhere}.vx-tr .wh{display:block;color:var(--muted)}
.vx-tr .st{display:inline-block;margin-top:4px;font-size:10px;font-weight:800;border-radius:5px;padding:1px 6px;color:var(--c);border:1px solid var(--c);background:var(--card)}
.vx-tr.lim .tm{color:var(--muted)}
.vx-gt{display:grid;grid-template-columns:var(--vx-col) 1fr;min-width:980px;position:relative}
.vx-rl{position:relative;height:36px;background:var(--vx-soft);border-bottom:1px solid var(--vx-line);border-left:1px solid var(--vx-line)}
.vx-rl span{position:absolute;top:10px;transform:translateX(-50%);font-size:11px;font-weight:700;color:var(--muted)}.vx-rl span:first-child{transform:none;padding-left:4px}.vx-rl span:last-child{transform:translateX(-100%);padding-right:4px}
.vx-ln{position:relative;min-height:80px;border-bottom:1px solid var(--vx-line);border-left:1px solid var(--vx-line);cursor:copy}.vx-ln.lock{cursor:not-allowed}
.vx-ln>i{position:absolute;top:0;bottom:0;width:1px;background:var(--vx-line)}
.vx-ln .vx-free.lk{position:absolute;inset:0;display:grid;place-items:center}
.vx-hint{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);opacity:.6;font-size:12px;pointer-events:none}
.vx-gb{position:absolute;top:10px;bottom:10px;z-index:1;text-align:left;font:inherit;cursor:pointer;border-radius:9px;background:var(--bg-t);border:1.5px solid var(--c);border-left:5px solid var(--c);padding:5px 8px;font-size:12px;color:var(--ink);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background-color:var(--card)}
.vx-gb{background-image:linear-gradient(var(--bg-t),var(--bg-t))}.vx-gb.cho{border-style:dashed;border-left-style:solid}.vx-gb b{color:var(--c)}.vx-gb small{display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis}
.vx-gb.lim{background-image:repeating-linear-gradient(135deg,var(--bg-t) 0 6px,transparent 6px 12px)}
.vx-now{position:absolute;top:36px;bottom:0;width:2px;background:#e11d48;z-index:2;pointer-events:none}
.vx-gt .vx-now span{position:absolute;top:-30px;left:50%;transform:translateX(-50%);background:#e11d48;color:#fff;font-size:10.5px;font-weight:800;border-radius:6px;padding:2px 6px;white-space:nowrap}
.vx-empty{grid-column:1/-1;padding:24px;text-align:center;color:var(--muted)}
.vx-note{margin:8px 0 0}
@media (max-width:700px){.vx-cal{--vx-col:150px}.vx-bar h2{width:100%}.vx-wk{grid-template-columns:var(--vx-col) repeat(7,minmax(118px,1fr))}.vx-gt{min-width:880px}.vx-vh{padding:10px 8px}.vx-vi{display:none}}

/* Ảnh 122: lịch cố định của tài xế — khối sọc xám */
.vx-cal .fx{--c:#64748b;--bg-t:rgba(100,116,139,.13)}
.vx-tr.fx,.vx-gb.fx{background-image:repeating-linear-gradient(135deg,var(--bg-t) 0 6px,transparent 6px 12px)}.vx-leg i.fx{background-image:repeating-linear-gradient(135deg,var(--bg-t) 0 3px,transparent 3px 6px)}
.vb-ack{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(6,101,237,.07);border:1px solid rgba(6,101,237,.25)}.vb-ack span{flex:1 1 220px}
.vb-ack.warn{background:rgba(217,119,6,.08);border-color:rgba(217,119,6,.3)}
.vb-pick{display:grid;gap:10px}.vb-pick .bad{color:var(--danger,#b42318);font-size:12.5px}
.dv-fx{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.dv-fx span{font-size:12px;font-weight:600;border-radius:8px;padding:2px 8px;border:1px solid var(--line);background:repeating-linear-gradient(135deg,rgba(100,116,139,.10) 0 6px,transparent 6px 12px)}
.fx-days{display:flex;gap:4px;flex-wrap:wrap}.fx-days label{display:inline-flex}.fx-days input{position:absolute;opacity:0;pointer-events:none}
.fx-days span{min-width:34px;height:30px;border-radius:8px;border:1.5px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:700;cursor:pointer;padding:0 4px}
.fx-days input:checked+span{border-color:var(--primary,#0665ed);background:rgba(6,101,237,.08);color:var(--primary,#0665ed)}.fx-days input:focus-visible+span{outline:2px solid var(--primary,#0665ed)}
.fx-blk{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:8px}.fx-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fx-row input[type=time]{width:auto}.fx-row input.note{flex:1 1 160px}
.fx-list{display:grid;gap:8px}
/* E6-4 (vòng 6): chế độ tối — hàng Trường hệ thống, ô gợi ý */
html[data-mode="dark"] .field-list tr.sys td{background:var(--neutral-bg)}
html[data-mode="dark"] div.suggest{background:var(--card);color:var(--ink)}
/* E6-9 (vòng 6): ô số tiền trên điện thoại không bị cắt chữ số cuối — thu cỡ chữ, cho xuống dòng */
@media (max-width:600px){.np-kp b{font-size:16px;white-space:nowrap}.np-kp{min-width:0}.np-kp span{min-width:0}}
/* Xem chứng từ trên điện thoại + Excel xem nhanh (góp ý Phòng Kế toán 05/10/2026) */
.att-sheet{background:var(--card);color:var(--ink);border-radius:8px;max-height:560px;overflow:auto;padding:8px}
.xl-sheet+.xl-sheet{margin-top:12px}.xl-table td{white-space:nowrap;font-size:12px;padding:4px 8px;border:1px solid var(--line)}
@media (max-width:600px){.att-list .files li{flex-wrap:wrap}.att-list .f-name{flex:1 1 100%}.att-bar{flex-wrap:wrap}.att-view iframe{height:70vh}}

/* Ảnh 124 — một tài xế phụ trách nhiều xe: hộp chọn xe (★ tài xế chính / lái thay) + chip xe trên thẻ Tài xế */
.dvx-lab { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.dvx-lab small { font-weight: 600; color: var(--blue, #0665ed); text-transform: none; letter-spacing: 0; }
.dvx-list { border: 1px solid var(--line, #dce5ef); border-radius: 14px; overflow: hidden; max-height: 46vh; overflow-y: auto; }
.dvx-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-top: 1px solid var(--line, #eef1f5); }
.dvx-row:first-child { border-top: 0; }
.dvx-row.on { background: color-mix(in srgb, var(--blue, #0665ed) 6%, transparent); }
.dvx-pick { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; cursor: pointer; }
.dvx-pick input { width: 20px; height: 20px; flex: none; accent-color: var(--blue, #0665ed); }
.dvx-pick .grow { min-width: 0; }
.dvx-who { display: block; margin-top: 2px; color: var(--muted, #56687f); font-size: 12.5px; }
.dvx-who.warn { color: var(--warn-ink, #8a5a00); font-weight: 600; }
.dvx-chief { flex: none; cursor: pointer; }
.dvx-chief input { position: absolute; opacity: 0; pointer-events: none; }
.dvx-chief span { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--line, #dce5ef); border-radius: 999px; padding: 6px 11px; font-size: 13px; font-weight: 700; color: var(--muted, #56687f); background: var(--card, #fff); white-space: nowrap; }
.dvx-chief span i { font-style: normal; opacity: .45; }
.dvx-chief input:checked + span { background: #fff5df; border-color: #f0c36d; color: #8a5a00; }
.dvx-chief input:checked + span i { opacity: 1; }
.dvx-chief input:focus-visible + span { outline: 2px solid var(--blue, #0665ed); outline-offset: 2px; }
.dvx-row:not(.on) .dvx-chief { opacity: .55; }
.dvx-sum { margin-top: 10px; padding: 10px 12px; border-radius: 12px; background: color-mix(in srgb, var(--blue, #0665ed) 9%, transparent); color: var(--blue-ink, #0b4fb3); font-size: 13.5px; }
.dvx-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.dvx-chip { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--line, #dce5ef); border-radius: 9px; padding: 3px 8px; font-size: 12.5px; font-weight: 600; }
.dvx-chip small { font-weight: 500; color: var(--muted, #56687f); }
.dvx-chip.main { background: #fff5df; border-color: #f0c36d; color: #6b4600; }
html[data-mode="dark"] :is(.dvx-chief input:checked + span, .dvx-chip.main) { background: #3a2e12; border-color: #5a4a1e; color: #f2c14e; }
html[data-mode="dark"] .dvx-who.warn { color: #f2c14e; }
.vx-fleet{display:grid;gap:16px}
@media (max-width:700px){.vx-bar .sp{display:none}.vx-bar>[data-go-today]{order:1;margin-left:auto}.vx-bar .vx-nav{order:2;width:100%;justify-content:space-between}.vx-rg{min-width:0}}
/* Chi gấp / chi theo đợt (ảnh 125) */
.kt-runs{display:flex;gap:12px;align-items:center;margin-bottom:16px}.kt-runs b{display:block}.kt-runs small{color:var(--muted)}
.kt-run td{background:var(--neutral-bg);padding:8px 12px!important}.kt-run.urg td{background:var(--danger-bg)}
.kt-run-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pm-opts{display:grid;gap:8px}
.pm-opt{display:flex;gap:10px;align-items:flex-start;border:2px solid var(--card-edge);border-radius:12px;padding:10px 12px;cursor:pointer}
.pm-opt input{margin-top:3px}.pm-opt small{display:block;color:var(--muted);margin-top:2px}
.pm-opt.on{border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,91,211,.1)}.pm-opt.urg.on{border-color:var(--danger);box-shadow:0 0 0 3px rgba(220,38,38,.1)}
.chk-pick.row{display:flex;gap:12px;flex-wrap:wrap}

/* Ảnh 126: hàng công cụ Danh sách nhân sự một hàng — mọi ô cao 40px, chữ 14.5px; nút Hiển thị gom sắp xếp / nhóm / cột */
.list-tools .filter-input{height:40px;font-size:14.5px}.list-tools .grow-input{max-width:none}
.view-btn{height:40px;font-size:14.5px;gap:7px}.view-btn svg{width:16px;height:16px}.view-btn[aria-expanded="true"]{border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,101,237,.15)}
.view-btn .cnt{min-width:20px;height:20px;border-radius:10px;background:rgba(6,101,237,.1);color:var(--blue);font-size:12px;font-weight:700;display:inline-grid;place-items:center;padding:0 6px}
.view-menu{left:auto;right:0;min-width:300px;padding:8px}.view-menu .check{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:9px;font-size:14.5px;cursor:pointer}
.view-menu .check:hover{background:var(--hair)}.view-menu .check svg{width:16px;height:16px;color:var(--muted)}.view-menu input{accent-color:var(--blue);width:17px;height:17px;margin:0}
.vm-h{font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);padding:6px 8px 2px}.vm-sep{border-top:1px solid var(--hair);margin:6px 0}
.vm-cols{display:grid;grid-template-columns:1fr 1fr}.vm-reset{border:0;background:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--blue);padding:6px 8px;cursor:pointer}
/* Tình hình chi (anh Tâm 05/10/2026): Đang chờ duyệt · Đã duyệt · Chờ chi · Đã chi theo Tuần / Tháng / Quý / Năm */
.sum-card{margin-top:16px}
.sum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.sum-t{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border-radius:12px;border:1px solid var(--card-edge);background:var(--card);color:inherit;text-decoration:none;border-left-width:4px}
.sum-t small{font-size:12px;color:var(--muted);font-weight:600}.sum-t b{font-size:24px;letter-spacing:-.01em}.sum-t span{font-size:12px;color:var(--muted)}
.sum-t.wait{border-left-color:#d97706}.sum-t.ok{border-left-color:#0a5bd3}.sum-t.pay{border-left-color:#c2410c}.sum-t.paid{border-left-color:#047857}.sum-t.back{border-left-color:#7c3aed} /* C12: Đã thu lại */
a.sum-t:hover{background:var(--build-bg)}
.sum-chart{margin-top:14px}.sum-chart svg{width:100%;height:auto;max-height:170px;display:block}
.sum-foot .sum-leg{white-space:nowrap;margin-right:10px}
.sb-ok{fill:#0a5bd3}.sb-paid{fill:#10b981}
.sum-k{display:inline-block;width:10px;height:10px;border-radius:2px;margin:0 4px 0 2px;vertical-align:-1px}.sum-k.ok{background:#0a5bd3}.sum-k.paid{background:#10b981}
@media (max-width:760px){.sum-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sum-t b{font-size:20px}}
html[data-mode="dark"] .sum-chart text{fill:var(--muted)}

/* Tab Xe — mỗi xe một thẻ (ảnh 127, anh Tâm duyệt 05/10/2026) */
.xc-wrap{padding:18px}
.xc-banner{display:flex;align-items:center;gap:12px;background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 28%,transparent);border-radius:14px;padding:12px 14px;margin-bottom:14px}
.xc-banner small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}.xc-banner .grow{flex:1;min-width:0}
.xc-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.xc-bar .grow{flex:1}
.xc-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:var(--card);flex:0 1 300px;min-width:200px}
.xc-search svg{width:16px;height:16px;color:var(--muted)}.xc-search input{border:0;background:none;font:inherit;padding:9px 0;flex:1;min-width:0;color:var(--ink);outline:none}
.xc-chips{display:flex;flex-wrap:wrap;gap:6px}
.xc-chip{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.xc-chip em{font-style:normal;opacity:.6;margin-left:5px}.xc-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.xc-chip.warn:not(.on){background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}
.xc-seg button{padding:6px 12px;font-size:13px}
.xc-lay{display:grid;gap:16px}.xc-lay.with{grid-template-columns:minmax(0,1fr) 380px;align-items:start}
.xc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.xc-lay.with .xc-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.xc-car{border:1px solid var(--card-edge);border-radius:16px;background:var(--card);overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column}
.xc-car:hover{border-color:color-mix(in srgb,var(--blue) 40%,var(--card-edge));box-shadow:0 4px 14px rgba(13,37,66,.08)}
.xc-car.on{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 25%,transparent)}
.xc-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 8px}
.xc-plate{display:inline-block;border:2px solid var(--ink);border-radius:7px;padding:2px 9px 1px;font-weight:700;font-size:17px;letter-spacing:.4px;background:var(--hair);color:var(--ink);white-space:nowrap;line-height:1.25;text-align:center}
.xc-plate small{display:block;font-size:8.5px;letter-spacing:1.4px;color:var(--muted);font-weight:600}
.xc-plate.sm{font-size:13px;padding:1px 6px;border-width:1.5px}
.xc-nm{padding:0 14px 10px;min-width:0}.xc-nm b{display:block;font-size:15.5px}.xc-nm small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.xc-st{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 10px;font-weight:700;font-size:12px;white-space:nowrap}
.xc-st svg{width:12px;height:12px}
.xc-st.run{background:var(--ok-bg);color:var(--ok)}.xc-st.free{background:var(--hair);color:var(--muted)}.xc-st.book{background:var(--build-bg);color:var(--blue)}.xc-st.lock{background:var(--danger-bg);color:var(--danger)}
.xc-now{display:flex;gap:8px;align-items:flex-start;margin:0 14px 10px;background:var(--hair);border-radius:10px;padding:8px 10px;font-size:13px;color:var(--muted)}
.xc-now svg{width:15px;height:15px;flex:0 0 15px;margin-top:1px}.xc-now b{color:var(--ink)}.xc-now.bad{background:var(--danger-bg);color:var(--danger)}.xc-now.bad b{color:var(--danger)}
.xc-drv{display:flex;align-items:center;gap:9px;padding:0 14px 12px;font-size:13px;color:var(--muted)}.xc-drv b{color:var(--ink)}
.xc-drv .avatar-sm.empty{background:var(--line);color:var(--muted)}
.xc-link{border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--blue);cursor:pointer;padding:0;margin-left:auto}
.xc-drv .xc-link{margin-left:4px}
.xc-docs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hair);margin-top:auto}
.xc-doc{padding:10px 12px;border-right:1px solid var(--hair);min-width:0}.xc-doc:last-child{border-right:0}
.xc-doc span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xc-doc b{display:block;font-size:13px;margin-top:2px;white-space:nowrap}
.xc-doc i{display:block;height:5px;border-radius:4px;background:var(--hair);margin-top:6px;overflow:hidden}.xc-doc i em{display:block;height:100%;border-radius:4px;width:0}
.xc-doc .ok,.xc-t.ok,.xc-kv .ok{color:var(--ok)}.xc-doc .warn,.xc-t.warn,.xc-kv .warn{color:#a15c00}.xc-doc .bad,.xc-t.bad,.xc-kv .bad{color:var(--danger)}.xc-doc .miss,.xc-t.miss,.xc-kv .miss{color:#a15c00}
.xc-doc em.ok{background:var(--ok)}.xc-doc em.warn{background:#e59a1a}.xc-doc em.bad{background:var(--danger)}
.xc-ft{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:9px 14px;border-top:1px solid var(--hair);background:color-mix(in srgb,var(--hair) 45%,var(--card));font-size:12.5px;color:var(--muted)}.xc-ft b{color:var(--ink)}
.xc-add{align-items:center;justify-content:center;gap:4px;text-align:center;border-style:dashed;min-height:240px;color:var(--muted);font:inherit;padding:20px}
.xc-add span svg{width:26px;height:26px}.xc-add b{color:var(--blue);font-size:15px}.xc-add small{font-size:12.5px;max-width:240px}
.xc-drawer{border:1px solid var(--card-edge);border-radius:16px;padding:16px;background:var(--card);position:sticky;top:12px}
.xc-dh{display:flex;align-items:center;gap:6px}.xc-dh .grow{flex:1}
.xc-drawer h3{font-size:17px;margin:12px 0 2px}.xc-drawer h4{font-size:14px;margin:14px 0 6px}
.xc-kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--hair);font-size:13px}.xc-kv span{color:var(--muted)}.xc-kv b{text-align:right}
.xc-tl{list-style:none;margin:0;padding:0}.xc-tl li{display:flex;gap:9px;padding:5px 0;font-size:13px}
.xc-tl i{width:9px;height:9px;border-radius:50%;flex:0 0 9px;margin-top:5px;background:var(--blue)}.xc-tl i.run{background:var(--ok)}.xc-tl i.bad{background:var(--danger)}.xc-tl i.warn{background:#e59a1a}
.xc-table td{vertical-align:middle}
@media (max-width:1100px){.xc-lay.with{grid-template-columns:1fr}.xc-drawer{position:static}}
@media (max-width:640px){.xc-wrap{padding:12px}.xc-grid{grid-template-columns:1fr}.xc-search{flex:1 1 100%}.xc-bar .grow{display:none}}
.xc-drv .avatar-sm{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:inline-grid;place-items:center;font-size:11.5px;font-weight:700;background:var(--navy-2);color:#fff;padding:0}
/* Lịch xe theo giờ + kéo thả (ảnh 129 / 129b, anh Tâm duyệt 05/10/2026) */
.vx-cal .oh{--c:#93c5fd}.vx-leg i.oh{background:var(--card);border:2px solid #93c5fd}.vx-leg i.gp{background:rgba(34,197,94,.12);border:1.5px dashed #22c55e}
.vx-flt{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 2px}.vx-flt button{border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;padding:5px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.vx-flt button.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.vx-ln{background:repeating-linear-gradient(135deg,transparent 0 7px,rgba(100,116,139,.06) 7px 14px)}
.vx-oh{position:absolute;top:0;bottom:0;background:var(--card);box-shadow:inset 2px 0 0 #93c5fd,inset -2px 0 0 #93c5fd;pointer-events:none}
.vx-ohl{position:absolute;bottom:0;height:5px;background:#93c5fd;border-radius:4px 4px 0 0}
.vx-gap{position:absolute;top:12px;bottom:12px;z-index:0;border:1.5px dashed #22c55e;border-radius:9px;background:rgba(34,197,94,.08);color:#15803d;font:inherit;font-size:11.5px;font-weight:700;padding:0 8px;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
button.vx-gap{cursor:pointer}button.vx-gap:hover{background:rgba(34,197,94,.16)}
.vx-gb.busy{--c:#94a3b8;--bg-t:rgba(148,163,184,.14);cursor:default}
.vx-gb.mv,.vx-tr.mv{cursor:grab}.vx-gb.dragging,.vx-tr.dragging{opacity:.4}
.vx-ghost{position:absolute;top:6px;bottom:6px;z-index:3;border-radius:9px;background:#0665ed;color:#fff;font-size:11.5px;font-weight:700;padding:6px 9px;box-shadow:0 10px 24px rgba(6,101,237,.4);pointer-events:none;white-space:nowrap;overflow:hidden}
.vx-sel{position:absolute;top:10px;bottom:10px;z-index:3;border-radius:9px;background:rgba(6,101,237,.14);border:2px solid #0665ed;color:#0a3d91;font-size:11.5px;font-weight:700;padding:5px 8px;pointer-events:none;white-space:nowrap;overflow:hidden}
.vx-drop-ok{outline:2.5px dashed #0665ed;outline-offset:-3px;background:rgba(6,101,237,.07)!important}
.vx-mb{position:relative;display:block;height:12px;border-radius:6px;background:rgba(34,197,94,.18);box-shadow:inset 0 0 0 1px rgba(34,197,94,.45);overflow:hidden;flex:none}
.vx-mb i{position:absolute;top:0;bottom:0;background:var(--c)}.vx-mb i.fx{background:repeating-linear-gradient(135deg,#94a3b8 0 3px,#cbd5e1 3px 6px)}
.vx-mb s{position:absolute;top:0;bottom:0;width:2px;background:#e11d48}
.vx-fr{font-size:11.5px;font-weight:700;color:#15803d}.vx-fr.full{color:var(--muted)}
.vx-add{border:1.5px dashed var(--line);background:none;border-radius:8px;padding:4px 6px;font:inherit;font-size:11.5px;color:var(--muted);cursor:pointer;margin-top:auto}.vx-add:hover{border-color:var(--blue);color:var(--blue)}
.vx-sep{background:var(--vx-soft);border-bottom:1px solid var(--vx-line);padding:7px 12px;font-size:11.5px;font-weight:800;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.vx-sep.sp{border-left:1px solid var(--vx-line)}
.vx-vh.drv{padding:8px 12px}.vx-cell.drv{min-height:0;justify-content:center}.vx-ln.drv{min-height:54px;cursor:default}.vx-ln.drv .vx-gb{top:8px;bottom:8px}.vx-ln.drv .vx-gap{top:10px;bottom:10px}
.vx-dch{align-self:flex-start;font-size:11.5px;font-weight:700;color:#15803d;background:rgba(34,197,94,.14);border-radius:99px;padding:3px 9px}.vx-dch.no{color:#b91c1c;background:rgba(220,38,38,.1)}
.vx-mw{display:grid;gap:8px}.vx-mw-cars{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.vx-mw-cars button{flex:none;border:1.5px solid var(--line);background:var(--card);border-radius:8px;padding:6px 10px;font:800 13px 'SF Mono',Menlo,monospace;color:var(--ink);cursor:pointer}
.vx-mw-cars button.on{border-color:var(--blue);color:var(--blue);box-shadow:0 0 0 3px rgba(6,101,237,.12)}
.vx-mw-day{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:6px;background:var(--card)}.vx-mw-day.today{border-color:var(--blue)}
.vx-mw-h{display:flex;justify-content:space-between;align-items:center;border:0;background:none;font:inherit;color:var(--ink);padding:0;cursor:pointer}.vx-mw-h svg{width:16px;height:16px;color:var(--muted)}
.vx-ln.lock .vx-oh{display:none}

/* Mức dùng Portal (ảnh MD-1…MD-3) */
.md-dept{min-width:200px;max-width:280px}
.md-phases{display:grid;gap:6px;margin-bottom:16px;padding:14px 16px}
.md-ph-track{position:relative;display:grid;grid-template-columns:7fr 7fr 7fr 9fr;gap:4px}
.md-ph{border-radius:8px;padding:8px 10px;background:var(--hair);display:grid;gap:1px;min-width:0}
.md-ph b{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.md-ph span{font-weight:600;font-size:13.5px;line-height:1.3}
.md-ph small{font-size:11.5px;color:var(--muted)}
.md-ph.done{background:var(--ok-bg)}.md-ph.done b{color:var(--ok)}
.md-ph.now{background:var(--build-bg);box-shadow:inset 0 0 0 1.5px var(--blue)}.md-ph.now b{color:var(--blue)}
.md-ph-now{position:absolute;left:0;bottom:-10px;height:7px;border-right:3px solid var(--danger);pointer-events:none}
.md-ph-track{margin-bottom:6px}
.md-ph-dates{display:flex;justify-content:space-between}
.md-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}
@media (max-width:1380px){.md-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
.md-kpi{display:grid;gap:8px;padding:14px 16px;border-top:4px solid var(--card-edge)}
.md-kpi.ok{border-top-color:var(--ok)}.md-kpi.miss{border-top-color:var(--warn)}
.md-kpi-h{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);line-height:1.3}
.md-kpi-h .icon-tile{width:28px;height:28px;flex:none}
.md-kpi-v{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
.md-kpi-v small{font-size:14px;font-weight:600;color:var(--muted);margin-left:2px}
.md-kpi-f{display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap}
.md-meter{position:relative;height:8px;border-radius:99px;background:var(--hair);overflow:visible}
.md-meter i{display:block;height:100%;border-radius:99px;background:var(--blue)}
.md-kpi.ok .md-meter i{background:var(--ok)}.md-kpi.miss .md-meter i{background:var(--warn)}
.md-meter em{position:absolute;left:0;top:-3px;bottom:-3px;border-right:2px solid var(--ink);pointer-events:none}
.md-meter.sm{height:6px;flex:1;min-width:70px}
.md-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;margin-bottom:16px;align-items:start}
.md-row.even{grid-template-columns:repeat(2,minmax(0,1fr))}
.md-chart-wrap{overflow-x:auto}
.md-chart{width:100%;min-width:520px;height:auto;display:block;font:11px var(--font)}
.md-chart .md-grid{stroke:var(--hair)}.md-chart .md-axis{stroke:var(--line)}
.md-chart .md-ax{fill:var(--muted)}.md-chart .md-ax.off{opacity:.45}
.md-web{fill:var(--blue);background:var(--blue)}.md-both{fill:#6941c6;background:#6941c6}.md-app{fill:var(--mint);background:var(--mint)}
.md-chart rect.off{opacity:.35}
.md-chart .md-target{stroke:var(--danger);stroke-dasharray:5 4;stroke-width:1.5}
.md-chart .md-target-t{fill:var(--danger);font-weight:600}
.md-legend{display:inline-flex;gap:6px 12px;align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap}
.md-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:-6px;vertical-align:-1px}
.md-insights{display:grid;gap:8px;align-content:start}
.md-ins{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border-radius:8px;font-size:13.5px;line-height:1.45;border-left:3px solid var(--line);background:var(--hair)}
.md-ins svg{width:16px;height:16px;flex:none;margin-top:2px}
.md-ins.danger{border-left-color:var(--danger);background:var(--danger-bg)}.md-ins.danger svg{color:var(--danger)}
.md-ins.warn{border-left-color:var(--warn);background:var(--warn-bg)}.md-ins.warn svg{color:var(--warn)}
.md-ins.ok{border-left-color:var(--ok);background:var(--ok-bg)}.md-ins.ok svg{color:var(--ok)}
.md-ins.info{border-left-color:var(--blue);background:var(--build-bg)}.md-ins.info svg{color:var(--blue)}
.md-ins a{font-weight:600;white-space:nowrap}
.md-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:900px}
.md-table th{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.md-table td{padding:9px 12px;border-bottom:1px solid var(--hair);vertical-align:middle}
.md-table th.num,.md-table td.num{text-align:right}
.md-table tr.best td:first-child{box-shadow:inset 3px 0 var(--ok)}
.md-table tr.low td:first-child{box-shadow:inset 3px 0 var(--danger)}
.md-table .warn-t{color:var(--warn);font-weight:600}
.md-cell-bar{display:flex;align-items:center;gap:8px;min-width:150px}
.md-cell-bar b{min-width:46px;text-align:right}
.md-spark{width:90px;height:24px;display:block}
.md-spark polyline{fill:none;stroke:var(--blue);stroke-width:1.8}
.md-spark circle{fill:var(--blue)}
.md-feats,.md-steps{display:grid;gap:10px}
.md-feat{display:grid;grid-template-columns:120px minmax(0,1fr) 34px 92px;gap:10px;align-items:center;font-size:13.5px}
.md-feat .delta{justify-self:start}
.md-fbars{display:grid;gap:3px}
.md-fbars i{display:block;height:7px;border-radius:99px;min-width:2px}
.md-now{background:var(--blue)}.md-prev{background:var(--card-edge)}
.md-legend .md-now,.md-legend .md-prev{width:10px}
.md-step{display:grid;grid-template-columns:130px minmax(0,1fr) 70px 46px;gap:10px;align-items:center;font-size:13.5px}
.md-step span small{display:block}
.md-sbar{position:relative;height:12px;border-radius:99px;background:var(--hair)}
.md-sbar i{display:block;height:100%;border-radius:99px;background:var(--ok)}
.md-step.late .md-sbar i{background:var(--warn)}
.md-sbar em{position:absolute;left:0;top:-4px;bottom:-4px;border-right:2px solid var(--ink)}
.md-remind{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.md-rcol{padding:14px 22px 18px;border-right:1px solid var(--hair);min-width:0}
.md-rcol:last-child{border-right:0}
.md-rhead{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.md-rhead .btn{margin-left:auto}
.md-rcol ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:13.5px}
.md-rcol li{display:flex;justify-content:space-between;gap:8px}
.md-none{display:flex;gap:6px;align-items:center}.md-none svg{width:15px;height:15px;color:var(--ok)}
@media (max-width:1100px){.md-row,.md-row.even{grid-template-columns:1fr}}
@media (max-width:700px){
  .md-ph-track{grid-template-columns:1fr 1fr}
  .md-remind{grid-template-columns:1fr}.md-rcol{border-right:0;border-bottom:1px solid var(--hair)}
  .md-feat{grid-template-columns:96px minmax(0,1fr) 30px}.md-feat .delta{display:none}
  .md-step{grid-template-columns:100px minmax(0,1fr) 64px}.md-step > span:last-child{display:none}
}
@media (max-width:700px){.md-ph-now{display:none}.md-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.md-kpi{padding:12px}.md-kpi-v{font-size:23px}}
/* Chấm công › Bảng công tháng (ảnh GB-13, anh Tâm duyệt 06/10/2026) — tiền tố cc- */
.cc-card .card-head{flex-wrap:wrap}
.cc-leg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted)}.cc-leg span{display:inline-flex;align-items:center;gap:5px}
.cc-leg i,.cc-c i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:19px;padding:0 2px;border-radius:5px;font-size:11px;font-weight:700}
.cc-scroll{overflow-x:auto;border-top:1px solid var(--hair)}
.cc-table{border-collapse:collapse;font-size:12.5px;min-width:100%}
.cc-table th{background:#f7f9fc;color:var(--muted);font-weight:600;padding:6px 1px;font-size:11px;border-bottom:1px solid var(--card-edge);text-align:center}
.cc-table th.cc-name,.cc-table td.cc-name{text-align:left;padding:6px 10px;position:sticky;left:0;background:var(--card);z-index:1;min-width:150px;max-width:170px}
.cc-table th.cc-name{background:#f7f9fc}
.cc-table td.cc-name b{display:block;color:var(--blue);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-table td.cc-name small{color:var(--muted);font-size:11.5px}
.cc-d b{display:block;color:var(--ink);font-size:12px}.cc-d small{font-size:10px}.cc-d.off{background:#f1f4f8}.cc-d.td b{color:#fff;background:var(--blue);border-radius:5px;padding:0 3px}
.cc-table td{border-bottom:1px solid var(--hair);padding:4px 1px;text-align:center}
.cc-c{min-width:22px;width:22px}.cc-c.wk{background:#f6f8fb}
.cc-c.ok i,.cc-leg i.ok{color:var(--ok)}
.cc-c.p i,.cc-leg i.p{background:var(--design-bg);color:var(--design)}
.cc-c.ct i,.cc-leg i.ct{background:#e3f5f6;color:#0e7c86}
.cc-c.l i,.cc-leg i.l{background:var(--warn-bg);color:#a86b00}
.cc-c.m i,.cc-leg i.m{background:#fff0e6;color:#c2410c}
.cc-c.v i,.cc-leg i.v{background:var(--danger-bg);color:var(--danger)}
.cc-c.n i,.cc-leg i.n{background:#e8f1fd;color:#2563eb}
.cc-c.q i,.cc-leg i.q{border:1.5px solid var(--danger);color:var(--danger);background:none}
.cc-table .cc-t{padding:4px 5px;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums;border-left:1px solid var(--hair)}.cc-table td.cc-t b{font-size:14px}.cc-table td.bad{color:var(--danger);font-weight:700}
.cc-g td{text-align:left;background:#fbfcfe;padding:8px 12px;font-size:12.5px;position:sticky;left:0}
.cc-foot{padding:10px 16px}
html[data-mode="dark"] .cc-table th,html[data-mode="dark"] .cc-table th.cc-name,html[data-mode="dark"] .cc-g td{background:var(--neutral-bg)}
html[data-mode="dark"] .cc-d.off,html[data-mode="dark"] .cc-c.wk{background:color-mix(in srgb,var(--neutral-bg) 60%,var(--card))}
/* Nghỉ phép › Ngày lễ (ảnh GB-14) — tiền tố hl- */
.hl-table{width:100%;border-collapse:collapse;font-size:13.5px}
.hl-table th{text-align:left;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:9px 14px;background:#f7f9fc;border-bottom:1px solid var(--card-edge)}
.hl-table td{padding:12px 14px;border-bottom:1px solid var(--hair);vertical-align:middle}.hl-table td .sub{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.hl-days{display:flex;gap:4px;flex-wrap:wrap}.hl-days span{display:inline-flex;flex-direction:column;align-items:center;min-width:30px;padding:3px 4px;border-radius:7px;background:var(--warn-bg);color:#a86b00;font-weight:700;font-size:13px;line-height:1.1}
.hl-days span small{font-size:10px;font-weight:600}.hl-days span.wk{background:var(--hair);color:var(--muted)}
.hl-act{display:flex;gap:6px;justify-content:flex-end;flex-wrap:nowrap;white-space:nowrap}.hl-row .pill{margin-left:6px}
.hl-note{padding:10px 16px;font-size:12.5px;color:var(--muted)}
.hl-lay{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;align-items:start;margin-top:14px}
.hl-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--hair)}.hl-row span{color:var(--muted)}
.hl-sum{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.hl-bar{flex:1;min-width:120px;height:8px;border-radius:4px;background:var(--hair);overflow:hidden}.hl-bar i{display:block;height:8px;background:#d39a1c}
.hl-off{color:var(--muted)}.hl-off .pill{margin-left:6px}
@media (max-width:900px){.hl-lay{grid-template-columns:1fr}.hl-table th:nth-child(3),.hl-table td:nth-child(3){display:none}}
/* Tổng quan kỳ Năm (ảnh GB-15) — tiền tố yr- */
.yr-bars{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;align-items:end;height:220px;padding:20px 4px 0;border-bottom:1px solid var(--axis,#dde5ef)}
.yr-bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px;font-size:11.5px;color:var(--muted)}
.yr-bar b{font-size:11.5px;color:var(--ink);font-weight:600}.yr-bar i{display:block;width:100%;max-width:44px;border-radius:6px 6px 0 0;background:var(--navy)}
.yr-bar.empty i{height:56px;background:repeating-linear-gradient(135deg,#eef2f7 0 5px,#f7f9fc 5px 10px);border:1px dashed var(--card-edge)}
.yr-lbl{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;text-align:center;font-size:12px;color:var(--muted);padding:6px 4px 0}
.yr-dept{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,1.3fr) auto;gap:6px 14px;align-items:center;font-size:13.5px}
.yr-dept .tr{height:8px;border-radius:4px;background:var(--hair);overflow:hidden}.yr-dept .tr i{display:block;height:8px;background:var(--navy);border-radius:4px}
.yr-dept b{text-align:right;white-space:nowrap}.yr-dept small{display:block;font-size:11px;color:var(--muted);font-weight:500}
.yr-rep{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--hair)}.yr-rep h3{margin:0;font-size:16px;flex:1}
.yr-rep ul{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin:8px 0 0;padding:0;list-style:none;font-size:13px;width:100%}
.yr-rep li{display:flex;gap:6px;align-items:center}.yr-rep li svg{width:15px;height:15px;color:var(--ok)}
select.chip-select{border:1px solid var(--card-edge);border-radius:18px;padding:6px 12px;background:var(--card);font:inherit;font-size:13px;color:var(--ink)}
select.chip-select.on{border-color:var(--blue);background:var(--build-bg);color:var(--blue);font-weight:600}
/* Chỉ đạo: sửa / thu hồi (cùng ý ảnh GB-7) */
.tk-dir-acts{display:flex;flex-direction:column;border-top:1px solid var(--hair);margin-top:14px}
.tk-dir-act{display:flex;gap:12px;align-items:center;padding:12px 2px;border:0;border-bottom:1px solid var(--hair);background:none;text-align:left;font:inherit;cursor:pointer;color:var(--ink)}
.tk-dir-act:last-child{border-bottom:0}.tk-dir-act>svg{width:18px;height:18px;flex:none;color:var(--muted)}.tk-dir-act .grow{min-width:0}.tk-dir-act b{display:block;font-size:14px}.tk-dir-act small{color:var(--muted);font-size:12.5px}.tk-dir-act .grow{flex:1}
.tk-dir-act.danger b{color:var(--danger)}.tk-dir-act:hover{background:color-mix(in srgb,var(--neutral-bg) 50%,transparent)}
.tk-edited{font-size:12.5px;color:var(--muted);border-top:1px solid var(--hair);margin-top:12px;padding-top:10px}

/* N10-03 (giả lập web): thanh báo phiên hết khi đang nhập dở */
.session-lost{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:200;background:#7a1f1f;color:#fff;padding:10px 14px;border-radius:10px;font-size:13.5px;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:calc(100vw - 24px)}
.session-lost a{color:#fff;font-weight:700;text-decoration:underline}.session-lost button{background:none;border:0;color:#fff;font-size:18px;margin-left:8px;cursor:pointer}
/* BG-0002 (ảnh 130): nộp nhiều giấy tờ cùng lúc */
.bu-drop{display:flex;gap:10px;align-items:center;justify-content:center;border:2px dashed #93c5fd;background:var(--neutral-bg);border-radius:12px;padding:16px;color:var(--blue);font-weight:600;cursor:pointer;text-align:center}
.bu-drop.on{background:rgba(6,101,237,.08);border-color:var(--blue)}.bu-drop svg{width:20px;height:20px;flex:none}.bu-drop input{position:absolute;width:1px;height:1px;opacity:0}
.bu-list{display:grid;gap:8px;margin:12px 0 6px}
.bu-row{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(180px,240px) 74px 24px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--card)}
.bu-row.bad{border-color:#fecaca;background:rgba(220,38,38,.05)}.bu-row.done{border-color:#bbf7d0;background:rgba(34,197,94,.06)}
.bu-ic{width:34px;height:40px;border-radius:7px;display:grid;place-items:center;font-size:10px;font-weight:800;color:#fff;background:#0891b2}.bu-row .bu-ic:first-child{background:#0891b2}
.bu-n{min-width:0}.bu-n b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bu-n small{color:var(--muted)}
.bu-sel{display:grid;gap:6px}.bu-sel select,.bu-sel input{width:100%;height:34px;border-radius:9px;border:1px solid var(--card-edge);padding:0 8px;font:inherit;font-size:12.5px;background:var(--card);color:var(--ink)}
.bu-sel select.auto{border-color:#86efac;background:rgba(34,197,94,.08)}.bu-sel select.need{border-color:#f59e0b;background:rgba(245,158,11,.08)}
.bu-st{font-size:11.5px;font-weight:700}.bu-st.ok{color:#15803d}.bu-st.need{color:#b45309}.bu-st.no{color:#b91c1c}
@media (max-width:640px){.bu-row{grid-template-columns:34px minmax(0,1fr) 24px}.bu-sel{grid-column:1/-1}.bu-st{grid-column:2}}
/* Danh sách nhân sự trên điện thoại (≤600px): trạng thái 4 nút đều một hàng · Tìm + Lọc chung hàng · Bảng/Thẻ/Sơ đồ đều một hàng; tên phòng không bị cắt */
@media (max-width:600px){
  .list-tools{gap:8px}
  .list-tools>.seg-ctl:first-child,.list-tools .tools-right{display:flex;width:100%;flex-wrap:nowrap;margin-left:0}
  .list-tools>.seg-ctl:first-child a,.list-tools .tools-right a{flex:1;justify-content:center;padding:7px 6px;white-space:nowrap}
  .list-tools .grow-input{flex:1 1 0;min-width:0}
  .list-tools [data-filter]{height:40px;font-size:14.5px}
  .hr-table td[data-label="Phòng"] .dchip{max-width:100%;white-space:normal;overflow:visible}
}
/* Ảnh 132 (anh Tâm duyệt 06/10/2026): chứng từ đính kèm — danh sách rộng, nhãn loại tệp, tên đủ; khung xem lớn khi bấm */
.att-card .card-head h2 .cnt{min-width:22px;height:22px;border-radius:11px;background:var(--hair);color:var(--muted);font-size:12.5px;font-weight:700;display:inline-grid;place-items:center;padding:0 7px;margin-left:6px;vertical-align:2px}
.att-files{display:grid;gap:8px}.att-files li{gap:12px;padding:10px 12px;min-height:0}.att-files li.is-new{border-color:#c4b5fd;background:rgba(124,58,237,.04)}
.att-files .f-name{white-space:normal;overflow:visible}.att-files .f-name b,.f-link{display:block;font-weight:600;font-size:14.5px;line-height:1.35;overflow-wrap:anywhere;color:var(--ink)}
.f-link{border:0;background:none;padding:0;text-align:left;font-family:inherit;cursor:pointer}.f-link:hover{color:var(--blue);text-decoration:underline}
.att-files .f-name small{white-space:normal;font-size:13px}.att-files .btn{height:38px;flex:none}.att-files .att-dl{width:38px;padding:0;justify-content:center}
.ft{width:40px;height:48px;border-radius:8px;flex:none;position:relative;display:grid;place-items:end center;padding-bottom:6px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.3px;background:#64748b}
.ft::before{content:"";position:absolute;top:0;right:0;width:11px;height:11px;border-radius:0 8px 0 4px;background:linear-gradient(225deg,var(--card,#fff) 50%,rgba(0,0,0,.2) 50%)}
.ft.pdf{background:#e5484d}.ft.xls{background:#1f9d55}.ft.img{background:#3b82f6}.ft.doc{background:#2b579a}
dialog.att-viewer{width:min(1200px,calc(100vw - 32px));height:calc(100vh - 32px);max-width:none;max-height:none;padding:0;border:0;border-radius:14px;background:#1b2433;color:#fff;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.5)}
dialog.att-viewer[open]{display:flex;flex-direction:column}dialog.att-viewer::backdrop{background:rgba(9,20,38,.66)}
.av-head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#111a28;flex:none}.av-head .ft{width:30px;height:36px;font-size:8px;padding-bottom:4px}.av-head .ft::before{background:linear-gradient(225deg,#111a28 50%,rgba(0,0,0,.25) 50%)}
.av-t{flex:1;min-width:0}.av-t b{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.av-t small{color:#9fb0c8;font-size:12.5px}
.av-b{height:36px;background:transparent;color:#fff;border-color:rgba(255,255,255,.22)}.av-b:hover{background:rgba(255,255,255,.08)}.av-b:disabled{opacity:.45}.av-b svg{width:17px;height:17px}
.av-nav{display:inline-flex;align-items:center;gap:6px}.av-nav .av-b,[data-av="close"]{width:36px;padding:0;justify-content:center}.av-pg{color:#c9d6e8;font-weight:700;font-size:13.5px;min-width:44px;text-align:center}
.av-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#2a3446}
.av-body iframe{width:100%;height:100%;border:0;background:#fff}.av-body img{max-width:100%;max-height:100%;object-fit:contain}
.av-body .att-sheet{width:100%;height:100%;max-height:none;border-radius:0}.av-wait{color:#cbd5e1;margin:auto}
@media (max-width:700px){dialog.att-viewer{width:100vw;height:100dvh;border-radius:0}.av-b span{display:none}.av-b:not(.flip):not([data-av="next"]){padding:0 9px}.av-t small{display:none}
  .att-files li{flex-wrap:wrap}.att-files .f-name{flex:1 1 calc(100% - 56px)}}
.att-card .att-list{display:block;margin:0}.att-card .att-group{width:100%}
@media (max-width:700px){dialog.att-viewer [data-av="tab"]{display:none}.av-head{gap:6px;padding:8px}}

/* Ảnh 133 — Danh sách đề nghị chi (Của tôi / Phòng / Toàn công ty) */
.xl-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}
.xl-kp{all:unset;box-sizing:border-box;cursor:pointer;background:#fff;border-radius:14px;padding:11px 14px;box-shadow:0 4px 18px rgba(15,27,51,.06);border-top:4px solid #cbd5e1;display:flex;flex-direction:column;min-width:0}
.xl-kp small{color:var(--muted);font-size:12px;font-weight:600}.xl-kp b{font-size:22px;line-height:1.25;color:#0f1b33}.xl-kp span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xl-kp.a{border-color:#f59e0b}.xl-kp.b{border-color:#14b8a6}.xl-kp.c{border-color:#16a34a}.xl-kp.d{border-color:#ef4444}.xl-kp.e{border-color:#8b5cf6}
.xl-kp:hover{box-shadow:0 6px 22px rgba(15,27,51,.12)}.xl-kp.on{outline:2px solid var(--blue);outline-offset:-2px}
.xl-kp:focus-visible{outline:2px solid var(--blue)}
.xl-card{padding:14px 16px 10px}
.xl-tb{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.xl-seg{display:inline-flex;border:1px solid var(--card-edge);border-radius:10px;overflow:hidden;flex:none}
.xl-seg button{border:0;background:#fff;padding:0 14px;height:36px;font-weight:700;font-size:13px;color:var(--ink);cursor:pointer}.xl-seg button.on{background:#0f1b33;color:#fff}
.xl-search{flex:1;min-width:240px;height:36px;border:1px solid var(--card-edge);border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff;color:var(--muted)}
.xl-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,101,237,.15)}
.xl-search input{border:0;outline:0;flex:1;min-width:0;font-size:13.5px;background:transparent;color:var(--ink)}
.xl-sel{min-width:0;height:36px;font-weight:600}
.xl-tabs{display:flex;gap:2px;border-bottom:1px solid var(--hair);margin:12px 0 2px;overflow-x:auto;scrollbar-width:none}
.xl-tabs button{border:0;background:none;padding:10px 12px;font-size:13.5px;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap}
.xl-tabs button.on{color:var(--blue);border-color:var(--blue)}
.xl-tabs em{font-style:normal;background:#f1f5f9;border-radius:99px;padding:1px 7px;margin-left:5px;font-size:11.5px;color:var(--ink)}
.xl-tabs button.on em{background:var(--build-bg);color:var(--blue)}
.xl-grp{display:flex;align-items:baseline;gap:8px;padding:14px 4px 6px;font-size:14px}.xl-grp b{font-weight:800}
.xl-grp small{color:var(--muted);font-weight:600}.xl-grp span{margin-left:auto;font-weight:800;font-size:13px;white-space:nowrap}
.xl-grp::before{content:'';width:10px;height:10px;border-radius:50%;background:#cbd5e1;align-self:center;flex:none}
.xl-grp.wait::before{background:#f59e0b}.xl-grp.pay::before{background:#14b8a6}.xl-grp.paid::before{background:#16a34a}.xl-grp.rej::before{background:#ef4444}
.xl-head,.xl-row{display:grid;grid-template-columns:130px minmax(0,1fr) 120px minmax(300px,340px);gap:12px;align-items:center}
.xl-head.wide,.xl-list.wide .xl-row{grid-template-columns:130px minmax(0,1fr) 180px 120px minmax(300px,340px)}
.xl-head{padding:2px 14px 4px 18px;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);font-weight:700}.xl-head .r{text-align:right}
.xl-list{display:grid;gap:6px}
.xl-row{position:relative;background:#fff;border:1px solid var(--hair);border-radius:12px;padding:10px 14px 10px 18px;color:inherit;text-decoration:none;overflow:hidden}
.xl-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:#cbd5e1}
.xl-row.wait::before{background:#f59e0b}.xl-row.pay::before{background:#14b8a6}.xl-row.paid::before{background:#16a34a}.xl-row.rej::before{background:#ef4444}
.xl-row:hover{border-color:#b9cde8;box-shadow:0 4px 14px rgba(15,27,51,.07)}
.xl-row b{display:block}.xl-row small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.xl-code b{font:800 13px 'SF Mono',Menlo,monospace;color:#0f1b33}
.xl-main>b{font-size:13.5px;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.xl-main small{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.xl-main small span{display:inline-flex;align-items:center;gap:3px}
.xl-main small svg{width:13px;height:13px;flex:none}
.xl-search svg{width:16px;height:16px;flex:none}
.xl-gap{display:inline-block!important;background:#dc2626;color:#fff;border-radius:6px;padding:1px 6px;font-size:10.5px;font-weight:800;margin-right:6px;vertical-align:1px}
.xl-who b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xl-who small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xl-amt{text-align:right;white-space:nowrap}.xl-amt b{font-size:14px;color:#0f1b33}
.xl-stp{display:flex;align-items:center;gap:3px;flex-wrap:nowrap}
.xl-stp span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:800;background:#f1f5f9;color:#94a3b8;border:1.5px solid #e2e8f0;flex:none}
.xl-stp span svg{width:11px;height:11px}
.xl-stp span.d{background:#16a34a;color:#fff;border-color:#16a34a}
.xl-stp span.c{background:#fff7e6;color:#b45309;border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.18)}
.xl-stp span.x{background:#dc2626;color:#fff;border-color:#dc2626}
.xl-stp small{display:inline!important;margin:0 2px 0 1px!important;font-size:10.5px!important;font-weight:700;color:#94a3b8!important}
.xl-stp small.d{color:#15803d!important}.xl-stp small.c{color:#b45309!important}.xl-stp small.x{color:#b91c1c!important}
.xl-stp i{width:12px;height:2px;background:#e2e8f0;flex:none}.xl-stp i.d{background:#16a34a}
.xl-wt{font-size:12px;color:var(--muted);margin-top:5px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.xl-wt b{display:inline!important;color:#0f1b33}.xl-wt.warn{color:#b45309;font-weight:700}.xl-wt.bad{color:#b91c1c;font-weight:600}.xl-wt.ok{color:#15803d}
.xl-more{margin:8px auto 0;display:flex}
.xl-empty{padding:36px 10px;text-align:center}
/* OI-02: nền tối — thẻ số liệu, thẻ đề nghị, ô tìm, công tắc dùng màu của giao diện (trước: nền trắng viết cứng, chữ gần trắng không đọc được) */
html[data-mode="dark"] :is(.xl-kp,.xl-row,.xl-seg button,.xl-search){background:var(--card);color:var(--ink)}
html[data-mode="dark"] :is(.xl-kp b,.xl-code b,.xl-amt b,.xl-wt b){color:var(--ink)}
html[data-mode="dark"] .xl-seg button.on{background:#24395a;color:var(--ink)}
html[data-mode="dark"] .xl-search{color:var(--muted)}
html[data-mode="dark"] .xl-row:hover{border-color:var(--line);box-shadow:none}
html[data-mode="dark"] .xl-tabs em{background:var(--neutral-bg)}
html[data-mode="dark"] .xl-stp span:not(.d):not(.c):not(.x){background:var(--neutral-bg);border-color:var(--card-edge);color:var(--muted)}
html[data-mode="dark"] .xl-stp span.c{background:var(--warn-bg);color:var(--warn)}
html[data-mode="dark"] .xl-stp i:not(.d){background:var(--card-edge)}
html[data-mode="dark"] .xl-stp small.c,html[data-mode="dark"] .xl-wt.warn{color:var(--warn)!important}
html[data-mode="dark"] .xl-stp small.d,html[data-mode="dark"] .xl-wt.ok{color:var(--ok)!important}
html[data-mode="dark"] .xl-stp small.x,html[data-mode="dark"] .xl-wt.bad{color:var(--danger)!important}
@media (max-width:900px){.xl-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1200px){.xl-head,.xl-head.wide{display:none}
  .xl-row,.xl-list.wide .xl-row{grid-template-columns:110px minmax(0,1fr) auto;grid-template-areas:"code main amt" "code who prog";row-gap:6px}
  .xl-row .xl-code{grid-area:code;align-self:start}.xl-row .xl-main{grid-area:main}.xl-row .xl-amt{grid-area:amt;align-self:start}
  .xl-row .xl-who{grid-area:who}.xl-row .xl-prog{grid-area:prog;justify-self:end;max-width:360px}}
@media (max-width:760px){.xl-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.xl-kp{padding:9px 12px}.xl-kp b{font-size:19px}
  .xl-kp.e{grid-column:span 2}
  .xl-card{padding:10px}.xl-search{min-width:100%;order:-1}.xl-sel{flex:1 1 30%}
  .xl-row,.xl-list.wide .xl-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main main" "code amt" "who who" "prog prog";padding:10px 12px 10px 16px}
  .xl-row .xl-code{display:flex;gap:8px;align-items:baseline}.xl-row .xl-code small{margin:0}
  .xl-row .xl-prog{justify-self:stretch;max-width:none}.xl-row .xl-who{display:flex;gap:6px;align-items:baseline;min-width:0}.xl-row .xl-who b{flex:none;max-width:60%}.xl-row .xl-who small{margin:0;min-width:0}
  .xl-grp{flex-wrap:wrap}.xl-grp small{order:3;flex-basis:100%;padding-left:18px}}
/* Ảnh 134: thẻ nhắc nổi không che thanh Duyệt / Từ chối / Chi tiền (action-bar dính đáy) */
body:has(.action-bar) .rm-host{bottom:96px}
@media (max-width:600px){body:has(.action-bar) .rm-host{bottom:136px}
  /* Chi tiết khoản chi trên điện thoại: mỗi dòng một thẻ — khoản chi + số tiền cùng hàng, nhóm / dự án / hoá đơn dòng nhỏ dưới */
  table.data.stack.exp-lines tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:2px;padding:12px 16px}
  table.data.stack.exp-lines td{padding:0!important}table.data.stack.exp-lines td[data-label]::before{display:none}
  table.data.stack.exp-lines td[data-label="#"]{display:none}
  table.data.stack.exp-lines td.l-desc{grid-column:1;grid-row:1;font-weight:600}
  table.data.stack.exp-lines td.num{grid-column:2;grid-row:1;text-align:right;white-space:nowrap}
  table.data.stack.exp-lines td[data-label="Nhóm chi"],table.data.stack.exp-lines td[data-label="Dự án"],table.data.stack.exp-lines td[data-label="Hoá đơn"]{grid-column:1 / -1;font-size:13px;color:var(--muted)}
  table.data.stack.exp-lines td[data-label="Nhóm chi"]::before,table.data.stack.exp-lines td[data-label="Dự án"]::before,table.data.stack.exp-lines td[data-label="Hoá đơn"]::before{display:inline;content:attr(data-label) ": ";min-width:0;font-size:13px;text-transform:none;font-weight:600}
}
/* Ảnh 135 (anh Tâm duyệt 06/10/2026): xem một đề nghị trong khung danh sách — dải thẻ ngang + chi tiết rộng bên dưới */
.xl-tabs .xd-back{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--blue);border-bottom-color:transparent!important}.xl-tabs .xd-back svg{width:17px;height:17px}
.xd-bar{display:flex;align-items:center;gap:8px;padding:12px 0 10px}
.xd-nb{width:38px;height:38px;padding:0;border-radius:50%;justify-content:center;flex:none}.xd-nb svg{width:17px;height:17px}
.xd-pos{font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap;min-width:44px;text-align:right}
.xd-strip{flex:1;min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,calc((100% - 30px)/4));gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding:2px 2px 6px}
.xd-it{display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 12px;border:1px solid var(--card-edge);border-left:4px solid var(--c,#94a3b8);border-radius:11px;background:var(--card);color:var(--ink);scroll-snap-align:start}
.xd-it:hover{text-decoration:none;border-color:var(--blue);border-left-color:var(--c,#94a3b8)}
.xd-it.wait{--c:#f59e0b}.xd-it.pay{--c:#14b8a6}.xd-it.paid{--c:#16a34a}.xd-it.rej{--c:#ef4444}
.xd-it.on{border-color:var(--blue);border-left-color:var(--blue);background:rgba(6,101,237,.06);box-shadow:0 0 0 3px rgba(6,101,237,.14)}
.xd-ih{display:flex;align-items:center;gap:6px;font-size:13.5px}.xd-ih .xl-gap{margin:0}
.xd-ti{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xd-if{display:flex;justify-content:space-between;gap:8px;font-size:13px}.xd-if b{white-space:nowrap}.xd-if small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xd-it.wait .xd-if small{color:#b45309;font-weight:600}
.xd-detail{margin-top:6px;border-top:1px solid var(--hair);padding-top:14px}
.xd-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.xd-ht{flex:1;min-width:240px;display:flex;flex-direction:column;gap:2px}.xd-ht small{font-size:12.5px;font-weight:700;color:var(--muted);letter-spacing:.3px}.xd-ht b{font-size:20px;line-height:1.3}.xd-ht span{color:var(--muted);font-size:14px}
.xd-ha{display:flex;gap:8px;flex-wrap:wrap}.xd-ha .btn.ghost-light{background:var(--card);color:var(--ink);border:1px solid var(--card-edge)}.xd-ha a[href^="/duyet-chi"]{display:none}
@media (max-width:700px){.xd-strip{grid-auto-columns:78%}.xd-pos{display:none}.xd-nb{display:none}.xd-ht b{font-size:17px}}
.xd-body{display:flex;flex-direction:column;gap:16px;position:relative}@media (max-width:700px){.xd-body{gap:12px}}
/* Ảnh 135 — cột phải chi tiết đề nghị (anh Tâm duyệt 06/10/2026): số tiền · tiến trình duyệt · nút, dính theo khi cuộn */
.ed-lay{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.ed-main{display:flex;flex-direction:column;gap:20px;min-width:0}.xd-body .ed-main{gap:16px}
.ed-side{min-width:0;align-self:stretch}
.ed-stick{position:sticky;top:76px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 92px);overflow:auto;scrollbar-width:thin}
.ed-amt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px}.ed-amt .amount.lg{font-size:30px;line-height:1.2}.ed-amt .in-words{text-align:left;max-width:none;font-size:13px}
.ed-steps{padding:14px 16px}.ed-steps .card-head{margin-bottom:8px}.ed-steps .timeline li{padding-bottom:12px}.ed-steps .rt-nudge{flex-wrap:wrap}
.ed-side .action-bar{position:static;display:flex;flex-wrap:wrap;gap:10px;padding:14px;border:1px solid var(--card-edge);border-radius:14px;background:var(--card);box-shadow:0 4px 14px rgba(13,37,66,.06);backdrop-filter:none}
.ed-side .action-bar .grow{flex:1 1 100%;margin:0}.ed-side .action-bar .btn{flex:1 1 calc(50% - 5px);justify-content:center}
body:has(.ed-side .action-bar) .rm-host{bottom:18px}
@media (max-width:1100px){
  .ed-lay{display:flex;flex-direction:column;gap:16px}.ed-side,.ed-stick{display:contents}
  .ed-amt{order:-1}.ed-main{order:0}.ed-steps{order:1}
  .ed-side .action-bar{order:2;position:sticky;bottom:0;z-index:5;border-radius:0;border-width:1px 0 0;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);box-shadow:0 -6px 18px rgba(13,37,66,.08)}
  .ed-side .action-bar .btn{flex:1 1 0}
  body:has(.ed-side .action-bar) .rm-host{bottom:96px}
}
@media (max-width:600px){body:has(.ed-side .action-bar) .rm-host{bottom:136px}}
html[data-mode="dark"] .ed-side .action-bar{background:var(--card)}
.xl-card:has(#xd-detail){overflow:clip}

/* Giả lập web đợt 3 (06/10/2026) */
/* T10-16: nhãn trên nền tối dễ đọc (nhãn navy dùng nền sáng cố định) */
html[data-mode="dark"] .pill.navy{background:#1a2a40;color:#c9d6e8}
html[data-mode="dark"] .pill{font-weight:600}
@media (max-width:640px){
  /* T10-07: nút tải mẫu phiếu lương xuống dòng, không cắt chữ */
  .pl-full{white-space:normal;text-align:center;height:auto;min-height:40px;line-height:1.3}
  /* T10-19: vùng bấm đủ lớn trên điện thoại */
  .btn.sm,.chip-bar button,select.input,.field select{min-height:36px}
}
/* T10-12: Báo sự cố trên điện thoại — chỉ hiện bước đang làm (+ số bước), không cắt mất bước 3 */
@media (max-width:640px){
  .ic-stp .st:not(.on),.ic-stp .ln{display:none}
  .ic-stp .st.on{flex:1}
}
.kpi .sub.warn{color:var(--warn);font-weight:600} /* T10-14 */
a.att-inline{display:inline-flex;align-items:center;gap:4px;margin-right:8px}a.att-inline svg{width:14px;height:14px;flex:none} /* T1-10 */
/* Ảnh 137 (anh Tâm duyệt 06/10/2026): Báo lỗi · Góp ý — thẻ trang, thẻ trạng thái, dải phiếu, phiếu rộng + cột quyết định (dùng chung .xd-* / .ed-* của ảnh 135) */
.sh-ptabs{margin:0}
.br-panel{padding:12px 16px 0}
.br-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.br-tools .filter-input{height:40px;font-size:14.5px;min-width:160px}
.br-search{flex:1 1 260px;display:flex;align-items:center;gap:8px;height:40px;border:1px solid var(--card-edge);border-radius:10px;padding:0 12px;background:var(--card)}.br-search svg{width:17px;height:17px;color:var(--muted)}
.br-search input{border:0;outline:0;background:none;flex:1;min-width:0;font:inherit;font-size:14.5px;color:var(--ink)}
.br-stabs{margin:10px 0 0}
.br-it.gy{--c:#16a34a}.br-it.bl{--c:#e5484d}.br-it.on{--c:var(--blue)}
.br-k{font-size:11px;font-weight:800;border-radius:5px;padding:0 6px}.br-k.gy{background:#e8f5ee;color:#167548}.br-k.bl{background:#fdecea;color:#b42318}
.br-sv{font-size:11px;font-weight:700;border-radius:5px;padding:0 6px;background:var(--hair);color:var(--muted)}.br-sv.TB{background:#fff3dc;color:#b45309}.br-sv.CAO,.br-sv.KHAN{background:#fdecea;color:#b42318}
.xd-ih .br-k{margin-left:auto}
.br-card{padding:16px 18px}
.br-th{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.br-th small{font-size:12.5px;font-weight:700;color:var(--muted)}.br-th h3{margin:2px 0 0;font-size:20px;line-height:1.35}
.br-sh{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.br-sh svg{width:16px;height:16px}.br-sh.ai{color:#7c3aed}.br-sh.sub2{margin-top:12px;text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--ink)}
.br-reai{margin-left:auto;text-transform:none;letter-spacing:0}
.br-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.br-meta>*{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--card-edge);border-radius:9px;padding:3px 10px;font-size:13.5px;color:var(--ink)}
.br-meta svg{width:15px;height:15px;color:var(--muted)}.br-meta .mono{font-family:ui-monospace,Menlo,monospace;font-size:13px}.br-meta .warn{color:var(--warn);border-color:#f3d7a8}
.br-quote{background:var(--bg);border-left:4px solid var(--c,#94a3b8);border-radius:0 10px 10px 0;padding:12px 14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.br-quote.gy{--c:#16a34a}.br-quote.bl{--c:#e5484d}
.br-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.br-sec{border-top:1px solid var(--hair);margin-top:14px;padding-top:12px}
.br-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.br-tags span{border-radius:8px;padding:2px 10px;font-size:13px;background:var(--hair)}.br-tags b{font-weight:600;color:var(--muted)}.br-tags .warn{background:var(--warn-bg)}.br-tags .danger{background:var(--danger-bg)}
.br-verdict{background:rgba(124,58,237,.06);border:1px solid rgba(124,58,237,.2);border-radius:12px;padding:10px 14px}.br-verdict b{color:#7c3aed}
.br-plan{list-style:none;margin:0;padding:0;display:grid;gap:8px}.br-plan li{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--card-edge);border-radius:10px;padding:8px 12px}
.br-plan .n{width:24px;height:24px;border-radius:50%;background:rgba(124,58,237,.1);color:#7c3aed;font-weight:800;font-size:12.5px;display:grid;place-items:center;flex:none}
.br-flow{padding:14px 16px}.br-st{display:flex;gap:10px;align-items:flex-start;padding:6px 0}.br-st .dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--hair);color:var(--muted);font-weight:700;font-size:12.5px}.br-st .dot svg{width:14px;height:14px}
.br-st.ok .dot{background:var(--ok-bg);color:var(--ok)}.br-st.cur .dot{background:var(--blue);color:#fff;box-shadow:0 0 0 4px rgba(6,101,237,.18)}.br-st b{display:block;font-size:14px}.br-st small{display:block;color:var(--muted);font-size:12.5px}.br-st:not(.ok):not(.cur) b{color:var(--muted);font-weight:600}
.br-dec{padding:14px 16px;display:flex;flex-direction:column;gap:8px}.br-dec h3{margin:0;font-size:15.5px}.br-dec textarea{width:100%;resize:vertical}
.br-dec .btn{height:42px;justify-content:center;font-weight:700}.br-ok{background:var(--ok,#167548);border-color:var(--ok,#167548);color:#fff}.br-rp{color:var(--blue);border-color:#bcd3fb}.br-no{color:var(--danger);border-color:var(--danger-line,#f3c9c4)}
.br-row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.br-dec .sub{margin:0}.br-dec.done p{margin:0}.br-dec.done svg{width:15px;height:15px;color:var(--ok);vertical-align:-2px}
.br-reply{margin:0;padding:10px 12px;border-left:4px solid var(--blue);background:rgba(6,101,237,.05);border-radius:0 10px 10px 0;white-space:pre-wrap}
.br-man{font-size:13px;align-self:flex-start}
.br-mailpv{border:1px solid var(--card-edge);border-radius:12px;overflow:hidden;margin-top:10px}.br-mailpv .h{background:var(--navy,#0d2542);color:#fff;font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:8px 12px}.br-mailpv .b{padding:10px 12px;font-size:13.5px}.br-mailpv .b p{margin:6px 0 0}
@media (max-width:700px){.br-row2{grid-template-columns:1fr}.br-th h3{font-size:17px}}
.br-dec .btn.br-ok{background:#167548;border-color:#167548;color:#fff}.br-dec .btn.br-ok:hover{filter:brightness(1.06)}
.br-dec .btn.br-rp{color:var(--blue);border-color:rgba(6,101,237,.35)}.br-dec .btn.br-no{color:var(--danger);border-color:rgba(220,38,38,.3)}
.br-row2 .btn{padding:0 8px;font-size:14px;white-space:nowrap;min-width:0}.br-row2 .btn svg{width:16px;height:16px}

/* Ảnh 138 — Thông báo 3 mức: chuông (số đỏ + chấm xám), hộp 3 thẻ, thẻ gộp việc cần làm, dòng nhỏ 5 giây, menu tài khoản › Thông báo */
.nt-bell .nt-gray{position:absolute;bottom:7px;right:7px;width:7px;height:7px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 2px var(--navy)}
.nt-panel{position:fixed;z-index:100;width:430px;max-width:calc(100vw - 16px);max-height:calc(100vh - 80px);display:flex;flex-direction:column;background:var(--card);color:var(--ink);
  border:1px solid var(--card-edge);border-radius:16px;box-shadow:0 22px 60px #0d254240,0 2px 6px #0d25421a;overflow:hidden;animation:am-in .12s ease-out}
.nt-ph{display:flex;align-items:center;padding:12px 16px 0}.nt-ph b{font-size:15px}
.nt-link{margin-left:auto;border:0;background:none;color:var(--blue);font:700 12.5px var(--font);cursor:pointer;padding:4px}
.nt-tabs{display:flex;gap:2px;padding:6px 10px 0;border-bottom:1px solid var(--hair)}
.nt-tabs button{border:0;background:none;padding:9px 10px;font:700 13px var(--font);color:var(--muted);border-bottom:3px solid transparent;display:flex;gap:6px;align-items:center;cursor:pointer}
.nt-tabs button.on{color:var(--blue);border-color:var(--blue)}
.nt-tabs em{font-style:normal;font-size:11px;border-radius:99px;padding:0 6px;background:var(--danger-bg);color:var(--danger)}.nt-tabs em.m{background:var(--neutral-bg);color:var(--muted)}
.nt-list{overflow:auto;flex:1;min-height:80px}
.nt-it{display:flex;gap:10px;align-items:flex-start;width:100%;padding:10px 16px;border:0;border-bottom:1px solid var(--hair);background:none;color:inherit;text-align:left;cursor:pointer;font:inherit}
.nt-it:hover{background:color-mix(in srgb,var(--blue) 5%,var(--card))}.nt-it.un{background:color-mix(in srgb,var(--blue) 3%,var(--card))}
.nt-it.read .nt-tx b{font-weight:600;color:var(--muted)}
.nt-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:none}.nt-ic svg{width:17px;height:17px}
.nt-ic.c1{background:#fff1e6;color:#c2410c}.nt-ic.c2{background:var(--build-bg);color:var(--blue)}.nt-ic.c3{background:var(--neutral-bg);color:var(--muted)}.nt-ic.c4{background:var(--ok-bg);color:var(--ok)}
.nt-tx{flex:1;min-width:0}.nt-tx b{display:block;font-size:13px;line-height:1.35}.nt-tx small{display:block;color:var(--muted);font-size:12px;margin-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nt-t{color:#94a3b8;font-size:11.5px;white-space:nowrap}.nt-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);align-self:center;flex:none}
.nt-todo{background:color-mix(in srgb,#f59e0b 8%,var(--card))}.nt-todo>svg{width:16px;height:16px;align-self:center;color:var(--muted)}
.nt-urg{font-style:normal;background:#dc2626;color:#fff;border-radius:5px;padding:0 5px;font-size:10px;font-weight:800;margin-right:5px;vertical-align:1px}
.nt-empty{padding:26px 16px;text-align:center;color:var(--muted);font-size:13px;margin:0}
.nt-pf{display:flex;gap:8px;align-items:center;padding:10px 16px;font-size:12px;color:var(--muted);background:var(--bg);border-top:1px solid var(--hair)}.nt-pf svg{width:15px;height:15px}.nt-pf .nt-link{font-size:12px}
.nt-grp{background:var(--card);color:var(--ink);border-radius:16px;box-shadow:0 18px 50px rgba(13,37,66,.22);border:1px solid var(--card-edge);border-left:5px solid #f59e0b;overflow:hidden;animation:rmIn .25s ease-out}
.nt-gh{display:flex;align-items:center;gap:9px;padding:12px 12px 6px 14px}.nt-gh>svg{width:18px;height:18px;color:#d97706}.nt-gh b{font-size:14.5px}
.nt-x{margin-left:auto;border:0;background:none;color:#94a3b8;cursor:pointer;padding:2px;display:grid}.nt-x svg{width:16px;height:16px}
.nt-grp ul{margin:0;padding:0 14px;list-style:none}.nt-grp li{border-top:1px dashed var(--hair)}
.nt-grp li button{display:flex;gap:8px;align-items:center;width:100%;padding:7px 0;border:0;background:none;color:inherit;font:500 12.5px var(--font);cursor:pointer;text-align:left}
.nt-grp li button span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nt-grp li button:hover span{color:var(--blue)}
.nt-grp li small{color:#b45309;font-weight:700;font-size:11.5px;white-space:nowrap}
.nt-more{margin:2px 14px 0;font-size:12px;color:var(--muted)}
.nt-ga{display:flex;gap:8px;padding:10px 14px 12px}
.nt-snack{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:96;max-width:min(560px,calc(100vw - 24px));background:#0f1b33;border:1px solid #ffffff1f;color:#e2e8f0;border-radius:99px;
  padding:8px 8px 8px 16px;display:flex;gap:10px;align-items:center;font-size:13px;box-shadow:0 10px 30px rgba(13,37,66,.35);animation:ntUp .2s ease-out;overflow:hidden}
@keyframes ntUp{from{opacity:0;transform:translate(-50%,8px)}}
.nt-snack>svg{width:16px;height:16px;color:#4ade80;flex:none}.nt-snack.digest>svg{color:var(--sky)}
.nt-snack>span{min-width:0}.nt-snack b{display:block;color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nt-snack small{display:block;font-size:11.5px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nt-open{border:0;background:#ffffff1f;border-radius:99px;padding:5px 12px;font:700 12.5px var(--font);color:var(--sky);cursor:pointer;flex:none}
.nt-snack .nt-x{color:#ffffff90;margin-left:0}
.nt-snack .nt-bar{position:absolute;left:18px;right:18px;bottom:3px;height:2px;padding:0;margin:0;background:#8fd3ff80;border-radius:2px;transform-origin:left;animation:ntBar var(--nt-ms,5s) linear forwards}
.nt-snack:hover .nt-bar{animation-play-state:paused}
@keyframes ntBar{to{transform:scaleX(0)}}
body:has(.action-bar) .nt-snack{bottom:96px}
.am-nt{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 6px 8px}
.am-nt button{border:1.5px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);cursor:pointer;font:700 12.5px var(--font);padding:7px 4px;line-height:1.25}
.am-nt button small{display:block;font-weight:500;font-size:10.5px;color:var(--muted);margin-top:2px}
.am-nt button.on{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,var(--card));color:var(--blue)}
.am-quiet{display:flex;gap:9px;align-items:flex-start;margin:0 6px 4px;font-size:13px;cursor:pointer}.am-quiet input{margin-top:3px}
.am-quiet small{display:block;color:var(--muted);font-size:11.5px;margin-top:1px}
@media (max-width:600px){.nt-panel{left:8px;right:8px!important;width:auto}.nt-snack{bottom:14px;border-radius:16px}.nt-snack small{display:none}}
/* Nghiệm thu Đợt 1 (N-1): thẻ nổi "N việc đang chờ bạn" đang hiện → vùng nội dung của MỌI trang có đệm đáy bằng chiều cao thẻ (notify-ui.js đo, --nt-card-h)
   để cuộn nút cuối trang (Bảng lương › "Gửi KTT kiểm"…) lên khỏi thẻ; thẻ ẩn thì đệm trở lại như cũ. Không đổi kiểu dáng thẻ. */
body:has(.rm-host .nt-grp) .page-body{padding-bottom:calc(var(--nt-card-h,300px) + 24px)}
@media (max-width:640px){body:has(.rm-host .nt-grp) .page-body{padding-bottom:calc(42vh + 12px)}.nt-grp li:nth-child(n+3){display:none}}
/* Ảnh 139 (anh Tâm duyệt 06/10/2026, BG-0013): thứ 7 đi làm & ngày làm bù */
.wd-card .card-head h2{flex:1}
.wd-mons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}
.wd-mon{border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px}.wd-mh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.wd-mh span{color:var(--muted);font-size:13px}
.wd-sats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding-top:6px}
.wd-sat{position:relative;border:1.5px solid var(--card-edge);background:var(--card);border-radius:10px;padding:6px 4px;text-align:center;font:inherit;color:var(--muted);cursor:pointer}
.wd-sat b{display:block;font-size:14.5px;color:var(--ink)}.wd-sat small{font-size:12px;font-weight:600}.wd-sat:hover:not(:disabled){border-color:var(--blue)}
.wd-sat.w{border-color:var(--blue);background:rgba(6,101,237,.08);color:var(--blue)}.wd-sat.past{opacity:.55}.wd-sat.hol{border-style:dashed}.wd-sat:disabled{cursor:default}
.wd-sat i{position:absolute;top:-9px;right:-6px;font-style:normal;font-size:10.5px;font-weight:700;background:var(--warn-bg);color:var(--warn);border-radius:6px;padding:0 5px;border:1px solid rgba(180,83,9,.25);white-space:nowrap}
.wd-leg{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:13px;color:var(--muted)}.wd-leg span{display:inline-flex;gap:6px;align-items:center}
.wd-leg u{width:16px;height:12px;border-radius:3px;border:1.5px solid var(--card-edge)}.wd-leg u.w{border-color:var(--blue);background:rgba(6,101,237,.08)}
.wd-list{list-style:none;margin:0;padding:0}.wd-list li{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--hair)}.wd-list b{display:block}.wd-list small{color:var(--muted)}
@media (max-width:900px){.wd-mons{grid-template-columns:1fr}}
.wd-home{margin-bottom:0}
/* Ảnh 141 (anh Tâm duyệt 06/10/2026): thư ngỏ trên Tổng quan */
.thn-ban{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:22px;align-items:center;background:linear-gradient(135deg,var(--card) 0%,rgba(6,101,237,.04) 60%,rgba(6,101,237,.08) 100%);border:1px solid rgba(6,101,237,.22);border-radius:18px;padding:20px 24px 18px 28px;box-shadow:0 8px 24px rgba(13,37,66,.08);overflow:hidden}
.thn-ban::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(#0665ed,#7c3aed)}
.thn-x{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:1px solid var(--card-edge);background:var(--card);display:grid;place-items:center;color:var(--muted);cursor:pointer}.thn-x svg{width:16px;height:16px}
.thn-kick{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--blue)}.thn-kick svg{width:16px;height:16px}
.thn-ban h2{margin:6px 0;font-size:22px;line-height:1.3}.thn-ban p{margin:0 0 8px;max-width:780px}.thn-lead{font-weight:500}
.thn-pts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 14px}.thn-pts>div{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px}
.thn-pts>div>span:first-child{width:32px;height:32px;border-radius:9px;background:rgba(6,101,237,.08);color:var(--blue);display:grid;place-items:center;flex:none}.thn-pts svg{width:17px;height:17px}
.thn-pts b{display:block;font-size:14px}.thn-pts small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}
.thn-acts{display:flex;gap:10px;flex-wrap:wrap}.thn-sig{display:block;margin-top:10px;color:var(--muted);font-style:italic}
.thn-qr{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;background:#fff;border:1px solid var(--card-edge);border-radius:16px;padding:14px;color:#20334d}.thn-qr svg{width:160px;height:160px;display:block}.thn-qr b{font-size:14px;line-height:1.35}.thn-qr small{color:#56687f;font-size:12px}
@media (max-width:1100px){.thn-pts{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.thn-ban{grid-template-columns:1fr;padding:16px 16px 16px 20px}.thn-qr{display:none}.thn-pts{grid-template-columns:1fr}.thn-ban h2{font-size:19px;padding-right:30px}.thn-acts{flex-direction:column}.thn-acts .btn{justify-content:center}}

/* Ảnh 142 — Chi tiết chuyến xe: tuyến đường, tiến trình 5 bước, dải đang chờ ai, thẻ lộ trình / xe · tài xế / người trên xe */
dialog.vd-dlg{width:min(760px,calc(100vw - 24px))}
.vd-dlg .modal-head h3{font-size:19px;line-height:1.3}.vd-arr{font-style:normal;color:#94a3b8;margin:0 8px}
.vd-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13px;color:var(--muted);margin:-4px 0 12px}
.vd-meta>span{display:inline-flex;gap:5px;align-items:center}.vd-meta svg{width:15px;height:15px}
.vd-kind{background:var(--build-bg);color:var(--blue);font-weight:800;font-size:11px;letter-spacing:.3px;text-transform:uppercase;border-radius:99px;padding:3px 10px}
.vd-kind.k-warn{background:#fff3e0;color:#b45309}.vd-kind.k-gray{background:var(--neutral-bg);color:var(--muted)}.vd-kind.k-red{background:var(--danger-bg);color:var(--danger)}
.vd-steps{display:flex;align-items:flex-start;padding:12px 10px;background:var(--bg);border:1px solid var(--hair);border-radius:14px}
.vd-steps>i{flex:1;height:2px;background:var(--line);margin-top:13px;min-width:12px}.vd-steps>i.d{background:#16a34a}
.vd-st{display:flex;flex-direction:column;align-items:center;gap:4px;width:86px;text-align:center;font-size:11.5px;font-weight:700;color:#94a3b8;flex:none}
.vd-st>b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--line);color:#fff;font-size:11.5px}.vd-st>b svg{width:14px;height:14px}
.vd-st small{font-weight:500;color:var(--muted);font-size:10.5px}
.vd-st.d{color:#15803d}.vd-st.d>b{background:#16a34a}
.vd-st.c{color:#b45309}.vd-st.c>b{background:var(--card);border:2px solid #f59e0b;color:#b45309;box-shadow:0 0 0 4px rgba(245,158,11,.18)}
.vd-st.x{color:var(--danger)}.vd-st.x>b{background:#dc2626}
.vd-bn{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;border-radius:14px;padding:11px 14px;font-size:13px;border:1px solid}
.vd-bn>svg{width:18px;height:18px;flex:none}.vd-bn>span:not(.vd-bt){flex:1 1 260px}
.vd-bn{--c:#d97706;background:color-mix(in srgb,var(--c) 11%,var(--card));border-color:color-mix(in srgb,var(--c) 38%,transparent);color:var(--ink)}
.vd-bn>svg{color:var(--c)}.vd-bn.ok{--c:#16a34a}.vd-bn.bad{--c:#dc2626}.vd-bn.drv{--c:#2563eb}.vd-bn.cmp{--c:#7c3aed}
.vd-bn b{color:inherit;font-weight:700}.vd-bt{display:flex;gap:8px;margin-left:auto}
.vd-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;margin-top:14px}.vd-grid .span-2{grid-column:1/-1}
.vd-cd{border:1px solid var(--card-edge);border-radius:14px;padding:13px 14px;min-width:0}
.vd-cd h4{margin:0 0 10px;font-size:11px;letter-spacing:.6px;color:var(--muted);text-transform:uppercase;display:flex;gap:6px;align-items:center}.vd-cd h4 svg{width:14px;height:14px}
.vd-rt{position:relative;padding-left:26px;display:grid;gap:12px}.vd-rt::before{content:'';position:absolute;left:8px;top:10px;bottom:10px;border-left:2px dashed var(--line)}
.vd-rt>div{position:relative}.vd-rt>div::before{content:'';position:absolute;left:-23px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--card);border:3px solid var(--blue)}
.vd-rt>div.e::before{border-color:#16a34a;background:#16a34a}
.vd-rt small{display:block;font-size:11.5px;color:var(--muted);font-weight:700}.vd-rt b{font-size:14.5px;line-height:1.35}
.vd-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.vd-links .btn svg{width:14px;height:14px}
.vd-car{display:flex;gap:12px;align-items:center}.vd-car b{display:block;font-size:14px}.vd-car small{display:block;color:var(--muted);font-size:12px}
.vd-plate{border:2px solid var(--ink);border-radius:7px;padding:4px 9px;font:800 15px 'SF Mono',Menlo,monospace;letter-spacing:.5px;background:var(--card);box-shadow:inset 0 0 0 2px var(--card),inset 0 0 0 3px var(--line);white-space:nowrap}
.vd-hr{height:1px;background:var(--hair);margin:11px 0}
.vd-none{margin:0;color:var(--muted);font-size:13px}
.vd-pp{display:flex;gap:10px;align-items:center;padding:5px 0;min-width:0}.vd-pp>span:not(.vd-av){min-width:0;flex:1}
.vd-pp b{display:block;font-size:13.5px}.vd-pp small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vd-pp.off{opacity:.6}.vd-pp.off b{text-decoration:line-through}
.vd-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:12.5px;flex:none;background:#64748b}
.vd-tg{font-style:normal;margin-left:auto;font-size:11.5px;font-weight:700;border-radius:99px;padding:2px 9px;white-space:nowrap;background:var(--neutral-bg);color:var(--muted)}
.vd-tg.ok{background:var(--ok-bg);color:var(--ok)}.vd-tg.warn{background:var(--warn-bg);color:var(--warn)}.vd-tg.bad{background:var(--danger-bg);color:var(--danger)}.vd-tg.blue{background:var(--build-bg);color:var(--blue)}
.vd-people{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px}
.vd-ex{display:flex;flex-wrap:wrap;gap:8px 22px;margin:12px 2px 0;font-size:13px}.vd-ex dt{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.vd-ex dd{margin:2px 0 0}
.vd-dlg .modal-foot{display:flex;align-items:center}
.vd-dlg .modal-foot .vd-cancel{margin-right:auto;border-color:transparent;background:none;color:#dc2626;padding-left:6px}
html[data-mode="dark"] .vd-dlg .modal-foot .vd-cancel{color:#f87171}.vd-dlg .vd-cancel:hover{background:var(--danger-bg)}
.vd-dlg .modal-foot .btn svg{width:15px;height:15px}
@media (max-width:640px){.vd-grid,.vd-people{grid-template-columns:1fr}.vd-st{width:58px;font-size:10.5px}.vd-st small{display:none}.vd-steps{padding:10px 4px}
  .vd-bt{margin-left:0;width:100%}.vd-bt .btn{flex:1}.vd-dlg .modal-head h3{font-size:16.5px}
  .vd-dlg .modal-foot{flex-wrap:nowrap;gap:6px}.vd-dlg .modal-foot .btn{padding:0 10px;font-size:13px}}

/* Người duyệt theo sơ đồ (ảnh SD-2, 06/10/2026) */
.nd-table tr.nd-grp>td{background:color-mix(in srgb,var(--muted) 6%,var(--card));font-size:11.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ld-navy);padding:7px 14px}
.nd-why{display:block;margin-top:2px}
.nd-rule{display:inline-flex;align-items:center;gap:6px;color:var(--design);background:var(--design-bg);border-radius:8px;padding:3px 9px}.nd-rule svg{width:14px;height:14px}
.nd-foot{padding:10px 16px 14px;margin:0}
/* Sơ đồ tổ chức sống (ảnh SD-1 bản 2, 06/10/2026) */
.oc-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.oc-search{display:inline-flex;align-items:center;gap:8px;height:40px;border:1px solid var(--card-edge);border-radius:10px;background:var(--card);padding:0 12px;min-width:min(320px,100%);color:var(--muted)}
.oc-search svg{width:16px;height:16px}.oc-search input{border:0;background:none;outline:none;font:inherit;font-size:14.5px;color:var(--ink);flex:1;min-width:0}
.oc-wrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}
@media (max-width:1280px){.oc-wrap{grid-template-columns:minmax(0,1fr)}.oc-panel{order:-1;scroll-margin-top:70px}.oc-hint{display:none}.oc-panel .card{position:static}}
.oc-canvas{padding:18px;background-image:radial-gradient(color-mix(in srgb,var(--muted) 22%,transparent) 1px,transparent 1px);background-size:18px 18px}
.oc-bgd{position:relative;border:1.5px dashed color-mix(in srgb,var(--muted) 45%,transparent);border-radius:14px;padding:22px 14px 14px;margin:6px auto 22px;max-width:760px;display:flex;flex-direction:column;align-items:center;gap:12px}
.oc-lbl{position:absolute;top:-11px;left:16px;background:var(--navy);color:#fff;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;border-radius:6px;padding:2px 9px}
.oc-bgd-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.oc-p{position:relative;min-width:190px;text-align:center;border:1px solid var(--card-edge);background:var(--card);border-radius:10px;padding:9px 14px}
.oc-p small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--muted)}.oc-p b{font-size:14.5px}
.oc-p.top{background:var(--navy);border-color:var(--navy);color:#fff;min-width:230px}.oc-p.top small{color:#8fd3ff}
.oc-kn{position:absolute;top:-10px;right:8px;display:inline-flex;gap:4px;align-items:center;font-size:10.5px;font-weight:700;color:var(--design);background:var(--design-bg);border-radius:6px;padding:1px 7px;white-space:nowrap}.oc-kn svg{width:11px;height:11px}
.oc-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;align-items:start}
.oc-div{position:relative;background:#1b2a3f;color:#fff;border-radius:10px;padding:10px 12px;text-align:center}
.oc-div small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#9fb3cc}.oc-div b{display:block;font-size:15px}.oc-div>span{font-size:12px;color:#c7d3e3}
.oc-cross{position:absolute;top:-10px;left:10px;font-size:10.5px;font-weight:700;color:var(--design);background:var(--design-bg);border-radius:6px;padding:1px 7px}
.oc-stack{display:flex;flex-direction:column;gap:10px;margin:12px 0 0 10px;padding-left:12px;border-left:2px solid var(--card-edge)}
.oc-dept{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;border:1px solid var(--card-edge);border-top:4px solid #1f2a8a;background:var(--card);color:var(--ink);border-radius:10px;padding:10px 12px;font:inherit;cursor:pointer}
.oc-dept:hover{border-color:var(--blue)}.oc-dept.on{outline:3px solid var(--blue);outline-offset:2px}
.oc-dn{font-size:14.5px}
.oc-hd{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.35}.oc-hd b{font-size:13px}.oc-hd small{display:block;color:var(--muted)}.oc-hd.none{color:var(--muted)}
.oc-av{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:inline-grid;place-items:center;font-size:10.5px;font-weight:700;flex:none}.oc-hd.none .oc-av{background:var(--card-edge)}
.oc-ql{display:inline-flex;align-items:center;gap:3px;color:var(--ok);font-weight:700;font-size:11px}.oc-ql svg{width:12px;height:12px}
.oc-rows{display:flex;flex-direction:column;gap:3px}
.oc-row{display:flex;align-items:center;gap:8px;font-size:12.5px}.oc-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oc-t em,.oc-legend em{font-style:normal;color:var(--design);font-weight:700;font-size:11px}
.oc-m{display:inline-block;width:44px;height:6px;border-radius:4px;background:var(--hair);overflow:hidden;flex:none;vertical-align:middle}.oc-m i{display:block;height:100%;background:var(--ok)}
.oc-m.warn i{background:#e0a100}.oc-m.bad i{background:var(--danger)}
.oc-q{font-weight:700;font-size:12.5px;min-width:30px;text-align:right}.oc-q.warn{color:var(--warn)}.oc-q.bad{color:var(--danger)}
.oc-more{font-size:12px;color:var(--muted)}
.oc-today{display:flex;flex-wrap:wrap;gap:5px}.oc-today.p{padding:0 16px 12px}
.oc-foot{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;padding-top:6px;border-top:1px dashed var(--card-edge);color:var(--muted)}
.oc-legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px;font-size:12px;color:var(--muted)}
.oc-dim{opacity:.25}
.oc-panel .card{position:sticky;top:72px}
.oc-hint{display:flex;gap:12px;align-items:center;padding:16px}.oc-hint p{margin:0;color:var(--muted)}
.oc-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 16px}
.oc-kpi div{background:color-mix(in srgb,var(--muted) 8%,var(--card));border-radius:9px;padding:8px 10px}.oc-kpi b{display:block;font-size:22px;line-height:1.2}.oc-kpi b.warn{color:var(--warn)}.oc-kpi span{font-size:12px;color:var(--muted)}
.oc-pl{padding:0 16px 8px}
.oc-pr{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--hair);font-size:14px}.oc-pr small{display:block;font-size:12.5px;color:var(--muted)}.oc-pr small.text-ok{color:var(--ok)}
.oc-acts{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px 16px}
.oc-warn ul{margin:0;padding:6px 18px 14px 36px;font-size:14px;line-height:1.7}.oc-warn li.warn{color:var(--warn)}
.oc-warn{margin-top:16px}
.oc-qlist{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.oc-qrow{display:grid;grid-template-columns:1fr 90px;gap:8px}.oc-qrow input{height:38px;border:1px solid var(--card-edge);border-radius:8px;padding:0 10px;font:inherit;background:var(--card);color:var(--ink)}
.oc-qrow input[readonly]{background:color-mix(in srgb,var(--muted) 8%,var(--card))}
@media print{#sidebar,#topbar,.oc-bar,.oc-panel,.oc-warn,.head-actions,#page-tools{display:none!important}.oc-wrap{display:block}.oc-canvas{background:none;border:0}.oc-dept{break-inside:avoid}}
/* Lịch sử sơ đồ + bản nháp tái cơ cấu (ảnh SD-3, 06/10/2026) */
.oh-track{display:flex;gap:6px;overflow-x:auto;padding:14px 16px 16px;position:relative}
.oh-pt{flex:1;min-width:150px;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}
.oh-pt::before{content:"";position:absolute;top:21px;left:-6px;right:-6px;height:3px;background:var(--card-edge)}
.oh-pt>button:first-child{position:relative;border:0;background:none;font:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.oh-pt i{width:16px;height:16px;border-radius:50%;background:var(--card);border:3px solid var(--navy);margin:5px 0}
.oh-pt.on i{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 5px rgba(6,101,237,.18)}.oh-pt.cmp i{border-color:var(--design);background:var(--design-bg)}
.oh-pt.now i{border-style:dashed}.oh-pt b{font-size:13px}.oh-pt span{font-size:12px;color:var(--muted);max-width:180px}
.oh-diff{margin:0;padding:6px 18px 14px;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px}.oh-diff li{display:flex;gap:8px;align-items:center}.oh-diff .pill svg{width:12px;height:12px}
.oc-dept.static{cursor:default}.oc-dept[draggable=true]{cursor:grab}.oc-dept.dragging{opacity:.4}
.oc-stack.drop-on{background:color-mix(in srgb,var(--blue) 8%,transparent);border-left-color:var(--blue);border-radius:8px}
.oc-dept{position:relative}.oc-badge{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.3px;border-radius:6px;padding:1px 7px;color:#fff;background:var(--muted)}
.oc-dept>.oc-badge{position:absolute;top:-10px;left:10px}
.oc-badge.mk-add,.oc-dept.mk-add{--mk:var(--ok)}.oc-badge.mk-mv,.oc-dept.mk-mv{--mk:var(--blue)}.oc-badge.mk-ap,.oc-dept.mk-ap{--mk:#b8893b}
.oc-badge.mk-add,.oc-badge.mk-mv,.oc-badge.mk-ap{background:var(--mk)}.oc-dept.mk-add,.oc-dept.mk-mv,.oc-dept.mk-ap{border:2px solid var(--mk);border-top-width:4px}.oc-dept.mk-add{border-style:dashed}
.dr-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--design-bg);color:var(--design);border:1px solid color-mix(in srgb,var(--design) 25%,transparent);border-radius:10px;padding:10px 16px;margin-bottom:14px}.dr-banner svg{width:18px;height:18px}.dr-banner .pill{margin-left:auto}
.dr-wrap{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:16px;align-items:start}@media (max-width:1200px){.dr-wrap{grid-template-columns:minmax(0,1fr)}}
.dr-side{display:flex;flex-direction:column;gap:14px}
.dr-list{margin:0;padding:6px 16px 12px;list-style:none;display:flex;flex-direction:column}.dr-list li{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--hair);font-size:14px}.dr-list li>span:nth-child(2){flex:1}
.dr-list .ib{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex:none;background:var(--hair);color:var(--muted)}.dr-list .ib svg{width:15px;height:15px}
.dr-list .ib.ok{background:var(--ok-bg);color:var(--ok)}.dr-list .ib.build{background:var(--build-bg);color:var(--build)}.dr-list .ib.gd{background:#f7ecd6;color:#7a5717}.dr-list .ib.danger{background:var(--danger-bg);color:var(--danger)}
.dr-imp{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px}.dr-imp div{background:color-mix(in srgb,var(--muted) 8%,var(--card));border-radius:9px;padding:9px 11px;font-size:12.5px;color:var(--muted)}
.dr-imp b{display:block;font-size:20px;color:var(--ink)}.dr-imp div.w{background:var(--warn-bg,#fff5df)}.dr-imp div.w b{color:var(--warn)}
.dr-note{padding:0 16px;margin:6px 0 10px;font-size:13.5px}.dr-note svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px}
.dr-det{padding:0 16px 10px;font-size:13.5px}.dr-det ul{margin:6px 0 0;padding-left:18px}.dr-res{margin:0;padding:6px 18px 12px 34px;font-size:14px;line-height:1.7}
.dr-acts{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px}.dr-acts .dr-note{width:100%;padding:0;margin:0 0 4px}
/* Lộ trình nghề nghiệp (ảnh SD-4, 06/10/2026) */
.cr-wrap{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:16px;align-items:start}@media (max-width:1200px){.cr-wrap{grid-template-columns:minmax(0,1fr)}}
.cr-side{display:flex;flex-direction:column;gap:14px}
.cr-ladder{padding:20px 18px 14px;display:flex;flex-direction:column;gap:18px;overflow-x:auto}
.cr-trk{display:flex;align-items:center}.cr-lb{width:96px;flex:none;font-size:11.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.cr-rung{position:relative;min-width:150px;flex:1;border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;background:var(--card);display:flex;flex-direction:column;gap:2px}
.cr-rung small{font-size:10.5px;font-weight:800;color:var(--muted);letter-spacing:.3px}.cr-rung b{font-size:15px}.cr-rung span{font-size:12.5px;color:var(--muted)}
.cr-rung.cur{background:var(--navy);border-color:var(--navy);color:#fff}.cr-rung.cur small,.cr-rung.cur span{color:#a9c1e6}
.cr-rung.next{border:2px solid var(--blue)}.cr-rung.far{opacity:.65}
.cr-tag{position:absolute;top:-11px;left:12px;font-size:10.5px;font-weight:800;border-radius:6px;padding:1px 8px}.cr-tag.here{background:#8ee0b8;color:var(--navy)}.cr-tag.nxt{background:var(--blue);color:#fff}
.cr-con{width:28px;flex:none;height:3px;background:var(--card-edge)}.cr-con.on{background:var(--blue)}
.cr-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}@media (max-width:900px){.cr-two{grid-template-columns:1fr}}
.cr-req{margin:0;padding:4px 16px 12px;list-style:none}.cr-req li{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--hair)}
.cr-req .ck{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none}.cr-req .ck svg{width:14px;height:14px}
.cr-req .ck.y{background:var(--ok-bg);color:var(--ok)}.cr-req .ck.p{background:var(--warn-bg,#fff5df);color:var(--warn)}.cr-req .ck.n{background:var(--hair);color:var(--muted)}
.cr-req .tx{flex:1;min-width:0}.cr-req .tx b{font-weight:600;font-size:14px;display:block}.cr-req .tx small{color:var(--muted);font-size:12.5px}
.cr-bar{display:inline-block;width:120px;height:8px;border-radius:5px;background:var(--hair);overflow:hidden;vertical-align:middle}.cr-bar i{display:block;height:100%;background:var(--blue)}
.cr-comp{padding:8px 16px 14px}.cr-cr{display:grid;grid-template-columns:minmax(0,1fr) auto 52px;gap:10px;align-items:center;padding:6px 0;font-size:14px}
.cr-dots{display:flex;gap:4px}.cr-dots i,.cr-leg i{display:inline-block;width:24px;height:9px;border-radius:3px;background:var(--hair)}.cr-dots i.f,.cr-leg i.f{background:var(--blue)}.cr-dots i.t,.cr-leg i.t{box-shadow:inset 0 0 0 2px var(--blue);background:none}
.cr-leg{margin:8px 0 0}.cr-leg i{width:14px;vertical-align:-1px}
.cr-jd{padding:10px 16px 14px;font-size:14px;line-height:1.6}.cr-txt{white-space:pre-line;margin:6px 0}
.cr-tips,.cr-open{margin:0;padding:6px 18px 14px 34px;font-size:13.5px;line-height:1.6}.cr-open small{display:block;color:var(--muted)}
.cr-empty{display:flex;gap:14px;align-items:flex-start;padding:18px}.cr-empty p{margin:4px 0 0}
.cr-bar2{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.cr-rate{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.cs-h{margin:16px 0 8px;font-size:14px}.cs-row{display:grid;grid-template-columns:1.4fr 1.2fr 1fr 34px;gap:6px;margin-bottom:6px}.cs-row.cs-c{grid-template-columns:1fr 90px 34px}
.cs-row input,.cs-row select{height:36px;border:1px solid var(--card-edge);border-radius:8px;padding:0 8px;font:inherit;font-size:13.5px;background:var(--card);color:var(--ink);min-width:0}
@media (max-width:640px){.cs-row{grid-template-columns:1fr 34px}.cs-row select,.cs-row input[name=rv]{grid-column:1}}
/* Tiêu đề phụ trong thẻ của các trang Sơ đồ / Bản nháp / Lịch sử / Lộ trình / Người duyệt */
.oc-panel .card-head h2 small.sub,.oc-canvas .card-head h2 small.sub,.oh-tl .card-head h2 small.sub,.dr-side .card-head h2 small.sub,.cr-wrap .card-head h2 small.sub,.oc-warn .card-head h2 small.sub,.oc-quota-scope .card-head h2 small.sub{display:block;font-weight:400;font-size:12.5px;margin-top:1px}
.cr-rung .cr-tag.here{color:var(--navy);font-size:10.5px}.cr-rung .cr-tag.nxt{color:#fff;font-size:10.5px}

/* Giả lập vòng 7 T01-02: nhãn "N đơn nghỉ" trên điện thoại nằm gọn trong ô (không đè ô bên) */
@media (max-width:700px){.wd-sats{gap:8px}.wd-sat{padding-top:16px}.wd-sat i{top:2px;right:auto;left:50%;transform:translateX(-50%);font-size:9.5px;padding:0 4px;max-width:calc(100% - 4px);overflow:hidden;text-overflow:ellipsis}}

/* Giả lập vòng 7 T07-01 + T06-02 (mốc 1 cột 1100px như các trang khác): máy tính ≥1100px — thẻ nhắc nổi sang trái cột phải, không che nút Duyệt / Từ chối / Chi */
@media (min-width:1101px){body:has(.ed-side .action-bar) .rm-host{right:388px;bottom:18px}}
@media (max-width:700px){.wd-card .card-head{flex-wrap:wrap}.wd-card .card-head h2{flex:1 1 calc(100% - 60px)}.wd-card .card-head .actions{width:100%}.wd-card .card-head .seg-ctl{width:100%;display:flex}.wd-card .card-head .seg-ctl button{flex:1;justify-content:center}}

/* Ảnh 144 — Sơ đồ tổ chức sống động: nền xanh đậm lưới mờ, cây có đường nối, khối nhiều màu, ảnh + chồng ảnh, hôm nay, định biên, tìm người */
.oz-stage{position:relative;border-radius:22px;padding:16px 20px 22px;color:#e2e8f0;background:radial-gradient(circle at 50% 0,#14325a 0,#0b1a33 62%);overflow:hidden}
.oz-stage::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(143,211,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(143,211,255,.06) 1px,transparent 1px);background-size:28px 28px}
.oz-stage>*{position:relative}
.oz-tb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.oz-srch{flex:0 1 360px;min-width:220px;height:36px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(143,211,255,.25);display:flex;align-items:center;gap:8px;padding:0 12px;color:#cbd5e1}
.oz-srch:focus-within{border-color:#8fd3ff;box-shadow:0 0 0 3px rgba(143,211,255,.2)}.oz-srch svg{width:16px;height:16px;flex:none}
.oz-srch input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;font:500 14px var(--font)}.oz-srch input::placeholder{color:#94a3b8}
#oz-hit{font-size:11.5px;color:#fbbf24;white-space:nowrap}
.oz-seg{display:inline-flex;gap:4px}.oz-seg button{height:30px;border-radius:99px;padding:0 14px;font:700 12.5px var(--font);background:rgba(255,255,255,.08);color:#cbd5e1;border:1px solid rgba(255,255,255,.12);cursor:pointer}
.oz-seg button.on{background:#fff;color:#0f1b33;border-color:#fff}.oz-sp{flex:1}
.oz-kp{display:flex;gap:16px;font-size:11.5px;color:#94a3b8}.oz-kp b{display:block;color:#fff;font-size:17px;line-height:1.1}
.oz-wrap{display:block;position:relative}
.oz-tree{position:relative;min-width:0;container-type:inline-size}
.oz-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.oz-lines path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.oz-lines .ln{stroke:rgba(143,211,255,.35);stroke-width:2}
.oz-lines .glow{stroke:rgba(56,189,248,.35);stroke-width:6;filter:blur(4px)}
.oz-lines .flow{stroke:#bae6fd;stroke-width:2.5;stroke-dasharray:10 34;filter:drop-shadow(0 0 4px #38bdf8) drop-shadow(0 0 10px rgba(56,189,248,.8));animation:ozFlow 1.6s linear infinite}
.oz-lines .hot{stroke:#fbbf24;stroke-width:3;filter:drop-shadow(0 0 6px rgba(251,191,36,.8))}
.oz-lines .hotflow{stroke:#fff7d6;stroke-width:3;stroke-dasharray:8 18;filter:drop-shadow(0 0 6px #fbbf24);animation:ozFlow .9s linear infinite}
@keyframes ozFlow{from{stroke-dashoffset:44}to{stroke-dashoffset:0}}
.oz-ceo{animation:ozPulse 3.2s ease-in-out infinite}
@keyframes ozPulse{0%,100%{box-shadow:0 12px 30px rgba(14,116,144,.35),inset 0 0 0 1px rgba(255,255,255,.15)}50%{box-shadow:0 12px 40px rgba(56,189,248,.55),0 0 0 4px rgba(56,189,248,.18),inset 0 0 0 1px rgba(255,255,255,.25)}}
@media (prefers-reduced-motion:reduce){.oz-lines .flow,.oz-lines .hotflow,.oz-ceo{animation:none}}
@media print{.oz-lines .glow,.oz-lines .flow,.oz-lines .hotflow{display:none}}
/* Anh Tâm 09/10/2026: Ban TGĐ ba tầng — TGĐ, hàng Phó TGĐ (ô bằng nhau, đường trục đi giữa), trợ lý / kiêm nhiệm treo bên phải đường trục */
.oz-bgd{display:flex;flex-direction:column;align-items:center;gap:26px;margin:2px 0 30px;position:relative}
.oz-dep{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 64px;max-width:100%}.oz-dep .oz-vp{flex:0 1 250px;width:250px}
.oz-aid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;margin-top:-6px}.oz-aidr{grid-column:2;display:flex;flex-wrap:wrap;gap:8px 20px;padding-left:46px;min-width:0}
.oz-ceo{display:flex;gap:10px;align-items:center;padding:8px 16px 8px 8px;border-radius:15px;background:linear-gradient(135deg,#1d4ed8,#0e7490);box-shadow:0 12px 30px rgba(14,116,144,.35),inset 0 0 0 1px rgba(255,255,255,.15)}
.oz-ceo small,.oz-vp small{display:block;font-size:9.5px;letter-spacing:.6px;font-weight:800;text-transform:uppercase;opacity:.85}.oz-ceo b{color:#fff;font-size:15px}
.oz-vp{display:flex;gap:8px;align-items:center;padding:6px 11px 6px 6px;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);flex:0 1 auto;min-width:0;max-width:260px}
.oz-vp>span:last-child{min-width:0}.oz-vp b,.oz-vp em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oz-vp b{color:#fff;font-size:13px;display:block}.oz-vp small{color:#a5b4fc}.oz-vp em{display:block;font-style:normal;font-size:10.5px;color:#c4b5fd;margin-top:1px}
.oz-av{position:relative;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;font-size:17px;border:3px solid rgba(255,255,255,.9);flex:none;background:#475569}
.oz-av img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.oz-av.s{width:40px;height:40px;font-size:13px;border-width:2px}.oz-av.xs{width:28px;height:28px;font-size:10.5px;border-width:2px}
.oz-av.none{background:rgba(255,255,255,.12)!important;color:#94a3b8;border-style:dashed;border-color:rgba(255,255,255,.4)}
.oz-av i{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;border:2px solid #0b1a33}
.oz-av.xs i{width:9px;height:9px}
.st-lam{background:#22c55e}.st-nghi{background:#f59e0b}.st-congTac{background:#38bdf8}
.oz-divs{display:grid;grid-template-columns:var(--cols,repeat(var(--n,4),minmax(0,1fr)));gap:12px;align-items:start}
.oz-dv{container:ozdv/inline-size}
@container (max-width:740px){.oz-divs{grid-template-columns:repeat(min(var(--n,4),2),minmax(0,1fr))}}
@container (max-width:620px){.oz-divs{grid-template-columns:minmax(0,1fr)}}
.oz-dv{border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);padding-bottom:10px;min-width:0}
.oz-dvh{display:flex;gap:9px;align-items:center;padding:10px 12px;color:#fff;border-radius:15px 15px 0 0;background:linear-gradient(135deg,var(--c,#0a5bd3),var(--c2,#1e3a8a))}
.oz-dvh small{display:block;font-size:9.5px;font-weight:800;letter-spacing:.6px;opacity:.85}.oz-dvh b{display:block;font-size:14.5px;line-height:1.25}.oz-dvh span>span{font-size:11px;opacity:.9}
.oz-dvh .oz-av.s{width:34px;height:34px;font-size:12px}
.oz-dvh>span:nth-child(2){min-width:0;flex:1}
.oz-n{text-align:right;font-size:10.5px;opacity:.9;flex:none}.oz-n b{font-size:19px}
.oz-dps{display:grid;gap:8px;padding:10px 10px 0;position:relative}
.oz-dps::before{content:'';position:absolute;left:19px;top:0;bottom:30px;border-left:2px solid rgba(255,255,255,.12)}
.oz-dp{position:relative;margin-left:18px;text-align:left;font:inherit;cursor:pointer;background:var(--card);color:var(--ink);border:0;border-left:4px solid var(--c,#0a5bd3);border-radius:12px;padding:8px 10px;box-shadow:0 5px 14px rgba(0,0,0,.25);display:block;width:auto;min-width:0;box-sizing:border-box;transition:transform .12s,box-shadow .12s}
.oz-dp::before{content:'';position:absolute;left:-22px;top:22px;width:18px;border-top:2px solid rgba(255,255,255,.18)}
.oz-dp:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.32)}
.oz-dp.on{box-shadow:0 0 0 3px #8fd3ff,0 10px 24px rgba(0,0,0,.32)}
.oz-dp.hl{box-shadow:0 0 0 3px #fbbf24,0 0 0 9px rgba(251,191,36,.18),0 6px 18px rgba(0,0,0,.25)}
.oz-h{display:flex;align-items:center;gap:8px}.oz-h .oz-av.s{width:30px;height:30px;font-size:11px}.oz-h .oz-av{border-color:var(--card)}
.oz-hn{flex:1;min-width:0}.oz-hn b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oz-hn small{display:block;font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oz-dp.nohead .oz-av.none{background:var(--neutral-bg)!important;color:var(--muted);border-color:var(--line)}
.oz-cnt{font-weight:800;font-size:11.5px;background:var(--neutral-bg);border-radius:99px;padding:1px 8px;flex:none}
.oz-face{display:flex;align-items:center;margin-top:6px;min-height:22px}.oz-face .oz-av.xs{width:22px;height:22px;font-size:9px;border-width:1.5px}.oz-face .oz-av.xs i{width:7px;height:7px;border-width:1.5px}.oz-face .oz-av{margin-left:-6px;border-color:var(--card)}.oz-face .oz-av:first-child{margin-left:0}
.oz-face .oz-av i{border-color:var(--card)}
.oz-more{margin-left:-6px;width:22px;height:22px;border-radius:50%;background:var(--neutral-bg);color:var(--ink);font-size:9px;font-weight:800;display:grid;place-items:center;border:2px solid var(--card)}
.oz-td{margin-left:auto;display:flex;gap:6px;font-size:10px;color:var(--muted);font-weight:600}.oz-td span{display:inline-flex;gap:4px;align-items:center}
.oz-td i{width:7px;height:7px;border-radius:50%}.oz-td i.lam{background:#22c55e}.oz-td i.nghi{background:#f59e0b}.oz-td i.congTac{background:#38bdf8}
.oz-qb{display:block;height:5px;border-radius:5px;background:var(--hair);margin-top:9px;overflow:hidden}.oz-qb i{display:block;height:100%;background:var(--c,#0a5bd3);border-radius:5px}
.oz-qt{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:4px}.oz-qt b{color:#b45309}.oz-qt .ok{color:var(--ok);font-weight:700}
.oz-panel{position:absolute;right:0;top:0;width:360px;max-width:calc(100% - 16px);z-index:6;transform:translateX(calc(100% + 40px));opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s}
.oz-panel.open{transform:none;opacity:1;pointer-events:auto}
.oz-wrap{min-height:480px}.oz-panel{max-height:100%;display:flex;flex-direction:column}
.oz-panel .oz-pn{box-shadow:-20px 0 60px rgba(0,0,0,.45);display:flex;flex-direction:column;min-height:0;max-height:100%}.oz-panel .oz-pt{flex:none}.oz-panel .oz-ml{max-height:none;flex:1 1 auto;min-height:0}
/* Ảnh 163: khối chỉ có 1 phòng cùng tên — một dòng gọn */
.oz-dp.oz-solo{margin-left:0;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);color:#cbd5e1;border:1px dashed rgba(255,255,255,.22);box-shadow:none}
.oz-dp.oz-solo::before{display:none}.oz-solo .oz-face{margin-top:0}.oz-solo .oz-face .oz-av{border-color:#13284a}.oz-solo .oz-face .oz-av i{border-color:#13284a}
.oz-sl{font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.oz-solo .oz-td{color:#94a3b8}
.oz-dps:has(.oz-solo)::before{display:none}
@media (prefers-reduced-motion:reduce){.oz-panel{transition:none}}
.oz-hint{display:flex;gap:10px;align-items:center;padding:14px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#cbd5e1;font-size:13px}.oz-hint svg{width:22px;height:22px;flex:none;color:#8fd3ff}.oz-hint p{margin:0}
.oz-pn{background:var(--card);color:var(--ink);border-radius:18px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.oz-pt{position:relative;padding:14px 46px 14px 16px;color:#fff}.oz-pt small{font-size:10.5px;font-weight:800;opacity:.85;letter-spacing:.4px}.oz-pt b{display:block;font-size:17px}.oz-pt span{font-size:12px;opacity:.9}
.oz-x{position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:9px;border:0;background:rgba(255,255,255,.16);color:#fff;display:grid;place-items:center;cursor:pointer}.oz-x svg{width:15px;height:15px}
.oz-kpi{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--hair)}.oz-kpi div{padding:10px;text-align:center}.oz-kpi b{display:block;font-size:18px}.oz-kpi b.warn{color:#b45309}.oz-kpi span{font-size:11.5px;color:var(--muted)}
.oz-ml{max-height:46vh;overflow:auto}
.oz-mr{display:flex;gap:9px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--hair);font-size:13px}.oz-mr.hit{background:#fffbeb}
.oz-mr>span:nth-child(2){flex:1;min-width:0}.oz-mr b{display:block}.oz-mr small{display:block;color:var(--muted);font-size:11.5px}
.oz-mr .oz-av{border-color:var(--card)}
.oz-mr em{font-style:normal;font-size:11px;font-weight:700;border-radius:99px;padding:1px 8px;white-space:nowrap}
.oz-mr em.st-lam{background:var(--ok-bg);color:var(--ok)}.oz-mr em.st-nghi{background:var(--warn-bg);color:var(--warn)}.oz-mr em.st-congTac{background:#e0f2fe;color:#0369a1}.oz-mr em.kiem{background:var(--design-bg);color:var(--design)}
.oz-qs{padding:10px 14px;border-bottom:1px solid var(--hair);font-size:12.5px}.oz-qs h4{margin:0 0 6px;font-size:11px;letter-spacing:.5px;color:var(--muted);text-transform:uppercase}
.oz-qs div{display:flex;justify-content:space-between;padding:2px 0}.oz-qs b.warn{color:#b45309}
.oz-ap{margin:0;padding:10px 14px;font-size:12.5px;color:var(--muted)}.oz-ap b{color:var(--ink)}
.oz-pn .oc-acts{padding:0 14px 14px;display:flex;gap:8px;flex-wrap:wrap}
.oz-stage .oc-dim{opacity:.28}
@media (max-width:900px){.oz-wrap{min-height:0}.oz-panel{position:fixed;left:0;right:0;top:auto;bottom:0;width:auto;max-width:none;max-height:80vh;transform:translateY(105%)}.oz-panel.open{transform:none}.oz-panel .oz-pn{border-radius:18px 18px 0 0}.oz-ml{max-height:52vh}}
/* Ảnh 189: chỉ cho MÀN HÌNH hẹp — khi in, Chrome coi khổ giấy như màn hình hẹp nên các khối bị dồn một cột; bản in giữ bố cục máy tính (print-web.js giữ bề rộng đang xem) */
@media screen and (max-width:900px){.oz-stage{padding:14px 12px 18px;border-radius:16px}.oz-bgd{margin-bottom:14px;display:grid;grid-template-columns:1fr;gap:8px}.oz-dep,.oz-aid,.oz-aidr{display:contents}.oz-kp{gap:12px;width:100%;justify-content:space-between}.oz-srch{flex:1 1 100%}
  .oz-ceo,.oz-vp,.oz-dep .oz-vp{min-width:0;width:100%;max-width:none}.oz-divs{grid-template-columns:1fr}}
@media print{.oz-stage{background:#fff!important;color:#0f1b33}.oz-stage::before,.oz-tb,.oz-panel{display:none!important}.oz-wrap{grid-template-columns:1fr}
  .oz-vp,.oz-dv,.oz-hint{background:#fff!important;border-color:#cbd5e1}.oz-vp b,.oz-vp small,.oz-vp em{color:#0f1b33!important}
  .oz-lines .ln{stroke:#94a3b8}.oz-dp{box-shadow:none;border:1px solid #cbd5e1;border-left-width:4px;break-inside:avoid}.oz-dv{break-inside:avoid}
  .oz-dvh,.oz-ceo{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* Ảnh 144 — nhánh nối trong cột khối cũng phát sáng nhẹ */
.oz-dps::before{border-left-color:rgba(56,189,248,.45);box-shadow:0 0 8px rgba(56,189,248,.45)}
.oz-dp::before{border-top-color:rgba(56,189,248,.5);box-shadow:0 0 6px rgba(56,189,248,.5)}
.oz-dp.hl::before{border-top-color:#fbbf24;box-shadow:0 0 8px rgba(251,191,36,.8)}
@media print{.oz-dps::before,.oz-dp::before{box-shadow:none;border-color:#cbd5e1}}
/* Ảnh 144 — khối có phòng đang chọn: đầu khối viền vàng sáng */
.oz-dvh.hot{box-shadow:inset 0 0 0 2px #fbbf24,0 0 18px rgba(251,191,36,.45)}
/* Ảnh 163: cột khối hẹp (≤ 250px) — bỏ đường ray, tên phòng xuống 2 dòng */
@container ozdv (max-width:250px){.oz-dvh{padding:9px 10px;gap:7px}.oz-dvh>.oz-av{display:none}.oz-dps{padding:8px 8px 0}.oz-dps::before,.oz-dp::before{display:none}.oz-dp{margin-left:0}
  .oz-hn b{white-space:normal;line-height:1.25}.oz-hn small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.oz-h .oz-av.s{width:26px;height:26px;font-size:10px}}
/* Phân việc: phòng chưa có trưởng phòng nhưng quản lý khối duyệt thay — ghi chú nhẹ, không cảnh báo (06/10/2026) */
.pv-note{margin:0 16px 14px 74px;border:1px solid var(--card-edge);background:var(--neutral-bg);border-radius:12px;padding:9px 14px}
.pv-note summary{cursor:pointer;font-weight:600;color:var(--muted);display:flex;gap:6px;align-items:center;list-style:none;font-size:13.5px}
.pv-note summary::-webkit-details-marker{display:none}.pv-note summary svg{width:14px;height:14px;transition:transform .15s}.pv-note[open] summary svg{transform:rotate(90deg)}
@media (max-width:760px){.pv-note{margin-left:16px}}

/* Biểu tượng nằm trần trong đầu thẻ (không bọc icon-tile) không phóng to hết khung */
.card-head > svg{width:18px;height:18px;flex:none}
.nd-table tr.nd-self td{background:color-mix(in srgb,var(--design) 5%,var(--card));font-size:13px}
/* Giả lập 10 tester (T7-10): ghi chức vụ hàng loạt */
.oc-tlist{max-height:52vh;overflow:auto;display:grid;gap:6px;margin-top:8px}
.oc-tlist .oc-qrow{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center}
.oc-tlist .oc-qrow span{display:flex;flex-direction:column;font-weight:600;font-size:13.5px}
.oc-tlist .oc-qrow small{font-weight:400;color:var(--muted);font-size:12px}

/* Ảnh 145 (anh Tâm duyệt 06/10/2026): chấm sao chuyến xe, hiệu suất tài xế, bảng điểm cuối năm */
.rt-stars{display:flex;gap:6px;justify-content:center;margin:10px 0 2px}.rt-star{border:0;background:none;padding:2px;cursor:pointer;color:#cbd5e1}.rt-star svg{width:34px;height:34px}
.rt-star.on{color:#f59e0b}.rt-star.on svg{fill:#f59e0b}.rt-lbl{text-align:center;font-weight:600;margin:0 0 10px;color:var(--muted)}
.rt-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.rt-tags label{display:inline-flex}.rt-tags input{position:absolute;opacity:0;pointer-events:none}
.rt-tags span{border:1px solid var(--card-edge);border-radius:999px;padding:5px 12px;font-size:13.5px;font-weight:600;cursor:pointer}.rt-tags input:checked+span{border-color:var(--blue);background:rgba(6,101,237,.08);color:var(--blue)}.rt-tags input:focus-visible+span{outline:2px solid var(--blue)}
.rt-list{list-style:none;margin:0;padding:0}.rt-list li{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--hair)}.rt-list b{display:block}.rt-list small{color:var(--muted)}
.rt-card .card-head h2 .cnt{min-width:22px;height:22px;border-radius:11px;background:var(--warn-bg);color:var(--warn);font-size:12.5px;font-weight:700;display:inline-grid;place-items:center;padding:0 7px;margin-left:6px;vertical-align:2px}

.dp-kps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}.dp-kp{border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px;min-width:0}
.dp-kp small{display:block;color:var(--muted);font-weight:600;font-size:12.5px}.dp-kp b{display:block;font-size:22px;line-height:1.25}.dp-kp span{display:block;font-size:12.5px;color:var(--muted)}.dp-kp.w b{color:var(--warn)}
.dp-alerts{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:4px}.dp-alerts li{display:flex;gap:8px;align-items:center;color:var(--warn);font-size:13.5px}.dp-alerts svg{width:15px;height:15px}
.dp-tbl td.warn{color:var(--warn);font-weight:700}.dp-tbl tr.off{opacity:.6}
.dp-sv{display:inline-flex;gap:4px;align-items:center;font-weight:700;color:#b45309}.dp-sv svg{width:15px;height:15px;fill:#f59e0b;stroke:#f59e0b}.dp-sv.bad{color:var(--danger)}.dp-sv.bad svg{fill:var(--danger);stroke:var(--danger)}
.dp-h3{font-size:15px;margin:18px 0 8px}
.dp-grid{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 10px;align-items:center}.dp-grid>b{font-size:13.5px}.dp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;font-size:12px;color:var(--muted)}
.dp-day{display:grid;grid-template-columns:repeat(12,1fr);gap:2px}.dp-day i{height:20px;border-radius:3px;background:var(--hair)}.dp-day.off i:not([class*=a]):not([class*=o]):not([class*=f]){opacity:.45}
.dp-day i.a,.dp-leg i.a{background:#93c5fd}.dp-day i.o,.dp-leg i.o{background:#f59e0b}.dp-day i.f,.dp-leg i.f{background:repeating-linear-gradient(135deg,#94a3b8 0 3px,#cbd5e1 3px 6px)}
.dp-leg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--muted);margin-top:8px}.dp-leg i{display:inline-block;width:14px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px;background:var(--hair)}
.dp-low{list-style:none;margin:0;padding:0}.dp-low li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--hair)}
.ds-tiers{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px;align-items:center}.ds-tiers>div{border:1px solid var(--card-edge);border-radius:12px;padding:8px 12px;min-width:150px}.ds-tiers b{display:block}.ds-tiers small{color:var(--muted)}
.ds-tiers .t-A{background:rgba(22,117,72,.07)}.ds-tiers .t-B{background:rgba(6,101,237,.06)}.ds-tiers .t-C{background:rgba(217,119,6,.07)}.ds-tiers .t-D{background:rgba(220,38,38,.05)}
.ds-score{font-size:18px}.ds-g{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:8px;font-weight:800;background:var(--hair)}.ds-g.g-A{background:var(--ok-bg);color:var(--ok)}.ds-g.g-B{background:var(--build-bg);color:var(--blue)}.ds-g.g-C{background:var(--warn-bg);color:var(--warn)}
.ds-tbl b.ok{color:var(--ok)}.ds-tbl b.bad{color:var(--danger)}
.ms-kps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ms-kps>div{border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px}.ms-kps small{display:block;color:var(--muted);font-weight:600;font-size:12.5px}.ms-kps b{display:block;font-size:20px}.ms-kps span{font-size:12.5px;color:var(--muted)}
.ms-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ms-tags span{border:1px solid var(--card-edge);border-radius:999px;padding:3px 10px;font-size:13px}
.ms-good{list-style:none;margin:10px 0 0;padding:0}.ms-good li{display:flex;gap:10px;padding:6px 0;border-top:1px solid var(--hair)}
@media (max-width:900px){.dp-kps{grid-template-columns:1fr 1fr}.dp-grid{grid-template-columns:1fr}.ms-kps{grid-template-columns:1fr}}
.dp-tbl td small,.ds-tbl td small{display:block;margin-top:1px}.dp-tbl .dp-sv{justify-content:flex-end}
/* Tìm chức năng ⌘K trên thanh trên, cạnh Ghi chú nhanh (ảnh TK-1, 07/10/2026) — menu trái bỏ ô tìm */
.tb-find{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:9px;height:36px;width:300px;padding:0 8px 0 12px;border-radius:10px;
  background:#ffffff12;border:1px solid #ffffff30;color:#c9d6ea;font-size:13.5px;flex:0 1 300px;min-width:0}
.tb-find svg{width:17px;height:17px;stroke:#c9d6ea;flex:none}.tb-find span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.tb-find kbd{font:600 10.5px ui-monospace,monospace;border:1px solid #ffffff30;border-radius:5px;padding:1px 5px;color:#b8c6d8;flex:none}
.tb-find:hover{background:#ffffff1f;border-color:#8ee0b8;color:#fff}.tb-find:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
@media (max-width:1280px){.tb-find{width:220px;flex-basis:220px}}
@media (max-width:1050px){.tb-find{width:150px;flex-basis:150px}.tb-find kbd{display:none}}
@media (max-width:850px){.tb-find{width:40px;flex:none;padding:0;justify-content:center;border-radius:50%}.tb-find span{display:none}}
@media (max-width:600px){.tb-find{width:36px;height:36px}}
@media (hover:none){.tb-find kbd{display:none}}

/* Ảnh 147a: Học vấn trên hồ sơ + gán chức danh hàng loạt */
.edu-empty{margin:4px 0 8px}
.jb-card .card-head .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.jb-table{display:flex;flex-direction:column}
.jb-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 36px;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--hair)}
.jb-headrow{border-top:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:2px}
.jb-who b{display:block;font-size:13.5px}.jb-who small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.jb-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.jb-title input{flex:1;min-width:140px}
.jb-title small{flex-basis:100%}
.jb-ai{font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:6px;background:color-mix(in srgb,#7c3aed 14%,transparent);color:#7c3aed}
.jb-row.skip{opacity:.45}.jb-row.skip input{pointer-events:none}
.jb-foot{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--hair)}
.jb-foot .sub{margin:0;flex:1;min-width:220px}
@media (max-width:700px){.jb-row{grid-template-columns:minmax(0,1fr) 36px}.jb-row .jb-title{grid-column:1/-1;grid-row:2}.jb-headrow{display:none}}
/* Ảnh 146 (07/10/2026): ô chọn có tìm nhanh — select-search.js. Làm lại theo ảnh 198 (anh Tâm duyệt 13/10/2026): bảng ngay dưới ô, mã trong ô xám,
   tên một dòng, dòng phụ, nhóm dính, dòng «Tạo … mới», nút bỏ chọn ở chân bảng. Mọi lớp đều có tiền tố ss- (kể cả lớp trạng thái). */
.ss-pop{position:fixed;inset:auto;margin:0;padding:0;z-index:2000;display:flex;flex-direction:column;background:var(--card,#fff);color:var(--ink);border:1px solid var(--card-edge,#d5deea);border-radius:14px;box-shadow:0 14px 34px rgba(13,37,66,.2);overflow:hidden;font-size:14px;--ss-soft:#f8fafc;--ss-chip:#e9eef5;--ss-chip-ink:#33506f;--ss-mark:#fff0b8;--ss-mark-ink:#1f2937}
:root[data-mode=dark] .ss-pop{--ss-soft:#0f1b2d;--ss-chip:#1d2c43;--ss-chip-ink:#b8c9e0;--ss-mark:#7a5a00;--ss-mark-ink:#fff7da;box-shadow:0 14px 34px rgba(0,0,0,.5)}
.ss-pop .ss-grab,.ss-pop .ss-sh{display:none}
.ss-sr{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--hair,#eef2f7);flex:none}
.ss-sr>svg{width:17px;height:17px;flex:none;color:var(--muted)}
.ss-q{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:14.5px;padding:3px 0;color:inherit}.ss-q::-webkit-search-cancel-button{display:none}
.ss-x{border:0;background:none;color:var(--muted);cursor:pointer;padding:2px;display:grid;place-items:center;border-radius:6px}.ss-x[hidden]{display:none}.ss-x svg{width:16px;height:16px}.ss-x:hover{color:var(--ink);background:var(--hair)}
.ss-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1 auto;min-height:0;overscroll-behavior:contain}
.ss-gh{position:sticky;top:0;z-index:1;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:8px 12px 5px;background:var(--ss-soft);border-bottom:1px solid var(--hair)}
.ss-op{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;line-height:1.3;border-top:1px solid var(--hair);min-height:40px}
.ss-list>.ss-op:first-child,.ss-gh+.ss-op{border-top:0}
.ss-op.ss-hl,.ss-new.ss-hl{background:color-mix(in srgb,var(--blue) 9%,var(--card,#fff))}
.ss-code{font:600 11.5px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--ss-chip);color:var(--ss-chip-ink);border-radius:6px;padding:5px 7px;white-space:nowrap;flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis}
.ss-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.ss-nm{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-op.ss-cur .ss-nm{color:var(--blue)}
.ss-tick{flex:none;color:var(--blue);display:grid}.ss-tick svg{width:16px;height:16px}
.ss-op.ss-hl:not(.ss-cur)::after{content:'↵';flex:none;color:var(--muted);font-size:13px}
.ss-av{width:28px;height:28px;border-radius:50%;background:var(--ss-chip);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--ss-chip-ink);flex:none}
.ss-pop mark{background:var(--ss-mark);color:var(--ss-mark-ink);border-radius:3px;padding:0 1px}
.ss-none{padding:18px 12px;color:var(--muted);text-align:center;font-size:13.5px}
.ss-new{position:sticky;bottom:0;display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;color:var(--blue);font-weight:600;font-size:13.5px;background:color-mix(in srgb,var(--blue) 4%,var(--card,#fff));border-top:1px solid var(--hair)}
.ss-new>i{width:26px;height:26px;border-radius:8px;background:var(--blue);color:#fff;display:grid;place-items:center;flex:none}.ss-new>i svg{width:15px;height:15px}
.ss-new>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:var(--muted);padding:7px 12px;border-top:1px solid var(--hair);background:var(--ss-soft);flex:none}
.ss-fl{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.ss-pop.ss-narrow .ss-kw{display:none}.ss-cnt{white-space:nowrap}
.ss-clr{border:0;background:none;padding:1px 4px;margin:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;border-radius:5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-clr[hidden]{display:none}.ss-clr::before{content:'· ';display:inline-block;text-decoration:none;margin-right:3px}
.ss-clr:hover,.ss-clr.ss-hl{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent)}
.ss-keys{white-space:nowrap;flex:none}
.ss-foot kbd{font:600 10.5px ui-monospace,Menlo,monospace;border:1px solid var(--card-edge,#d5deea);border-radius:4px;padding:1px 5px;background:var(--card,#fff)}
@media (hover:none),(pointer:coarse){.ss-keys{display:none}.ss-op.ss-hl:not(.ss-cur)::after{content:none}}
/* Điện thoại: bảng trượt từ dưới lên, ô tìm lớn */
.ss-pop.ss-sheet{left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;height:min(82dvh,640px);border-radius:18px 18px 0 0;border:0;box-shadow:0 -8px 30px rgba(0,0,0,.2)}
.ss-pop.ss-sheet::backdrop{background:rgba(13,37,66,.38)}
.ss-pop.ss-sheet .ss-grab{display:block;width:40px;height:4px;border-radius:2px;background:var(--line,#cbd5e1);margin:8px auto 2px;flex:none}
.ss-pop.ss-sheet .ss-sh{display:flex;justify-content:space-between;align-items:center;padding:4px 16px 8px;font-size:16px;flex:none}
.ss-pop.ss-sheet .ss-close{border:0;background:none;color:var(--blue);font:inherit;font-weight:600;cursor:pointer}
.ss-pop.ss-sheet .ss-sr{margin:0 12px 8px;border:1.5px solid var(--blue);border-radius:12px;padding:11px 12px}
.ss-pop.ss-sheet .ss-q{font-size:16px}.ss-pop.ss-sheet .ss-op{padding:11px 16px;min-height:48px}.ss-pop.ss-sheet .ss-gh{padding-left:16px}.ss-pop.ss-sheet .ss-new{padding:13px 16px}
.ss-pop.ss-sheet .ss-keys{display:none}.ss-pop.ss-sheet .ss-op::after{content:none}
.ss-pop.ss-sheet .ss-foot{padding:9px 16px max(9px,env(safe-area-inset-bottom));font-size:13px}
/* Ảnh 198: hộp «Tạo nhanh dự án» mở từ ô chọn Dự án — project-quick.js */
.pq-form .pq-err{display:block;margin-top:4px;font-size:12.5px;color:var(--danger)}.pq-form .pq-err[hidden]{display:none}
.pq-form input.pq-bad{border-color:var(--danger)}
.pq-form .pq-note{margin:12px 0 0}
.pq-done{margin:8px 0 0;padding:9px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);background:var(--ok-bg);color:var(--ink);font-size:13px;line-height:1.45}.pq-done a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.toast.pq-toast{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toast.pq-toast a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.jb-card h2 small{margin-left:8px;font-weight:500}
.jb-card #jb-dept{width:auto;min-width:200px;min-height:40px;padding:6px 12px}
.jb-title .input{min-height:40px;padding:6px 12px}
@media (max-width:700px){.jb-card #jb-dept{width:100%;min-width:0;max-width:100%}.jb-card .card-head .actions{width:100%}}

/* Ảnh 148: đề xuất bổ nhiệm của Phó TGĐ */
.qd-reason{border-left:3px solid var(--blue);background:var(--hair);border-radius:0 10px 10px 0;padding:8px 12px}
.qd-reason small{display:block;color:var(--muted);font-size:12px;font-weight:600}.qd-reason p{margin:2px 0 0;font-size:13.5px;white-space:pre-wrap}
.qd-prop{display:block;font-size:12px}
/* Ảnh 147b: Khung lộ trình theo ngành */
.ld-tabs .ld-new{color:var(--blue)}
.ld-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:16px;align-items:start}
.ld-side{display:flex;flex-direction:column;gap:16px;min-width:0}.ld-main{min-width:0}
.ld-fh{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}.ld-acts{display:flex;gap:6px}
.ld-h{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:4px 0 8px}
.ld-lad{margin-bottom:14px}
.ld-path{display:flex;align-items:stretch;gap:6px;overflow-x:auto;padding:8px 2px 4px}
.ld-arr{align-self:center;color:var(--muted);font-weight:700}
.ld-step{position:relative;flex:1 0 160px;max-width:240px;text-align:left;border:1px solid var(--card-edge);border-radius:12px;background:var(--card);color:var(--ink);padding:14px 12px 10px;cursor:pointer;font:inherit}
.ld-step b{display:block;font-size:14px}.ld-step small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.ld-step.on{border:2px solid var(--blue);box-shadow:0 0 0 3px rgba(6,101,237,.12)}
.ld-b{position:absolute;top:-9px;left:10px;background:#0f172a;color:#fff;font-size:11px;font-weight:800;border-radius:6px;padding:1px 7px}
.ld-brs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.ld-br{border-radius:12px;padding:10px 12px;font-size:13px}.ld-br b{display:block;font-size:14px;margin-bottom:2px}
.ld-br.ql{background:rgba(6,101,237,.08);color:var(--blue)}.ld-br.cg{background:rgba(124,58,237,.09);color:#7c3aed}
.ld-br .link{color:inherit;font:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline dotted}.ld-br .link.on{font-weight:800;text-decoration:underline}
.ld-detail{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid var(--hair);padding-top:12px;margin-top:6px}
.ld-req{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ld-req li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px}
.ld-chip{flex:none;font-size:12px;font-weight:700;border-radius:8px;padding:2px 9px;min-width:74px;text-align:center}
.ld-chip.blue{background:rgba(6,101,237,.1);color:var(--blue)}.ld-chip.violet{background:rgba(124,58,237,.1);color:#7c3aed}.ld-chip.green{background:var(--ok-bg);color:var(--ok)}
.ld-chip.amber{background:var(--warn-bg);color:var(--warn)}.ld-chip.gray{background:var(--hair);color:var(--muted)}
.ld-desc{border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px;font-size:13.5px}.ld-desc p{margin:0 0 6px}.ld-desc p:last-child{margin:0}
.ld-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ld-tpl{list-style:none;margin:0 0 8px;padding:0}.ld-tpl li{display:flex;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--hair)}.ld-tpl li:first-child{border-top:0}
.ld-tpl .grow{flex:1;min-width:0}.ld-tpl b{display:block;font-size:13.5px}.ld-tpl small{color:var(--muted);font-size:12px}
.ld-sum td,.ld-sum th{font-size:13px}
.cs-hint{margin:-4px 0 8px;font-size:12px}
@media (max-width:1100px){.ld-grid{grid-template-columns:1fr}}
@media (max-width:700px){.ld-detail,.ld-brs{grid-template-columns:1fr}.ld-step{flex-basis:140px}}
.ld-side h2 small{margin-left:8px;font-weight:500}

/* Ảnh 147c: đề xuất lộ trình cá nhân */
.cp-card{border:1px solid rgba(124,58,237,.25)}
.cp-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.cp-ai{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13px;color:#7c3aed;background:rgba(124,58,237,.1);border-radius:99px;padding:3px 10px}.cp-ai svg{width:15px;height:15px}
.cp-prog{display:flex;align-items:center;gap:10px;font-size:13.5px;margin-bottom:12px}.cp-prog .cr-bar{flex:1}.cp-prog b:first-child{color:var(--blue)}
.cp-why{border:1px solid rgba(124,58,237,.3);border-radius:12px;padding:10px 14px;margin-bottom:12px}.cp-why b{display:flex;align-items:center;gap:6px;color:#7c3aed}.cp-why b svg{width:15px;height:15px}.cp-why p{margin:4px 0 0;font-size:13.5px;line-height:1.5}
.cp-h{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:4px 0 8px}
.cp-plan{list-style:none;margin:0 0 12px;padding:0 0 0 18px;border-left:2px dashed rgba(124,58,237,.35)}
.cp-plan li{position:relative;padding:0 0 10px 6px}.cp-plan li::before{content:'';position:absolute;left:-25px;top:4px;width:11px;height:11px;border-radius:50%;background:#7c3aed}
.cp-plan b{display:block;font-size:13.5px}.cp-plan span{font-size:12.5px;color:var(--muted)}
.cp-note{background:var(--hair);border-radius:10px;padding:8px 12px;margin-bottom:10px}.cp-note small{color:var(--muted);font-weight:600}.cp-note p{margin:2px 0 0}
.cp-act .cp-btns{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin:8px 0}.cp-act .sub{margin:0}
.cp-priv{display:flex;gap:6px;align-items:flex-start;font-size:12px;margin:10px 0 0}.cp-priv svg{width:14px;height:14px;flex:none;margin-top:2px}
.cp-empty p{margin:8px 0 12px;font-size:13.5px}
.cp-row{grid-template-columns:160px 1fr 34px}
.cp-team ul{list-style:none;margin:0;padding:0}.cp-team li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--hair)}.cp-team li:first-child{border-top:0}
.cp-team li b{display:block;font-size:13.5px}.cp-team li small{color:var(--muted);font-size:12px}
.cp-card{margin-bottom:16px}.cp-team{margin-bottom:16px}
.cp-act .btn.approve{background:var(--ok);border-color:var(--ok);color:#fff}
.hr-table td.hr-title{font-size:13.5px;font-weight:500;max-width:240px}
/* Góp ý Phó TGĐ đợt 4 mục A3: nút bút ghi chức danh ngay trong ô (chỉ hiện với người trong phạm vi được ghi) */
.hr-title-in{display:flex;align-items:center;gap:6px}.hr-title-in>span{min-width:0}
.hr-title-edit{flex:none;width:28px;height:28px;border-radius:8px;border:0;background:#edf4ff;color:var(--blue);display:inline-grid;place-items:center;cursor:pointer;padding:0;opacity:.55;transition:opacity .12s}
.hr-title-edit svg{width:15px;height:15px}.hr-table tr:hover .hr-title-edit,.hr-title-edit:focus-visible{opacity:1}
.ps .ps-title{width:100%;justify-content:center;margin-bottom:8px}.tt-who{margin:0}

/* Ảnh 150: danh sách nhân sự gọn trên điện thoại + thẻ nhân sự trượt lên */
table.hr-table .person-cell small.hr-m-sub{display:none}
@media (max-width:700px){
  .hr-table td.w-check,.hr-table td[data-label]:not([data-label="Nhân sự"]){display:none!important}
  .hr-table tbody tr[data-id]{display:flex!important;align-items:center;gap:8px;padding:10px 14px}
  .hr-table tbody tr[data-id]:not([hidden]){display:flex!important}.hr-table tbody tr[hidden]{display:none!important}
  .hr-table td[data-label="Nhân sự"]{flex:1;min-width:0}.hr-table td[data-label="Nhân sự"]::before{display:none}
  table.hr-table .person-cell small.hr-d-sub{display:none}table.hr-table .person-cell small.hr-m-sub{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hr-table td.row-end{width:auto!important;flex:none;padding:0!important}.hr-table td.row-end>svg,.hr-table .row-qa a:not([href^="tel:"]),.hr-table .row-qa button{display:none}
  .hr-table .row-qa a[href^="tel:"]{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(6,101,237,.12);color:var(--blue)}
  .hr-table .ld-badges{display:none}
}
.ps-card{border-radius:14px;overflow:hidden;box-shadow:0 8px 22px rgba(13,37,66,.18);margin-bottom:12px;background:#fff;min-height:120px}.ps-card img{display:block;width:100%}
.ps-acts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.ps-a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:14px;background:var(--hair);color:var(--blue);font-size:12.5px;font-weight:700;text-decoration:none}
.ps-a svg{width:20px;height:20px}.ps-a.call{background:var(--ok);color:#fff}.ps-a.off{color:var(--muted);grid-column:span 3}
.ps-kv{border:1px solid var(--card-edge);border-radius:14px;padding:2px 12px}.ps-kv>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--hair);font-size:13.5px}
.ps-kv>div:first-child{border-top:0}.ps-kv span{color:var(--muted);flex:none}.ps-kv b{text-align:right;font-weight:600;min-width:0;overflow-wrap:anywhere}
.ps-open{display:flex;justify-content:center;margin-top:12px;width:100%}
@media (max-width:700px){
  table.data.stack.hr-table td[data-label="Nhân sự"]::before{display:none}
  table.data.stack.hr-table td[data-label="Nhân sự"]{padding:0!important}
  .hr-table .person-cell{min-width:0}.hr-table .person-cell>span:last-child{min-width:0;overflow:hidden}
  .hr-table .person-cell b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* C13 (giả lập 20): % ngân sách dự án trong hộp duyệt / chi — CSP không cho style nội dòng nên độ rộng theo lớp bw-0…bw-100 (bước 5%) */
.bud-list{display:grid;gap:8px;margin-top:8px}.bud{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--card)}
.bud-h{display:flex;gap:6px;align-items:baseline;font-size:13.5px}.bud-h span{margin-left:auto;font-size:12px;color:var(--muted)}
.bud-bar{position:relative;height:8px;border-radius:6px;background:var(--line);margin:6px 0 4px;overflow:hidden}.bud-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:6px}
.bud-bar i.u{background:#0a5bd3}.bud-bar i.m{background:#93c5fd}.bud.near .bud-bar i.m{background:#f59e0b}.bud.over .bud-bar i.m{background:#dc2626}.bud.over{border-color:#fca5a5}
.bud.over .bud-h span{color:#dc2626;font-weight:600}.bud-n{font-size:12.5px;color:var(--muted)}
.bw-0{width:0%}.bw-5{width:5%}.bw-10{width:10%}.bw-15{width:15%}.bw-20{width:20%}.bw-25{width:25%}.bw-30{width:30%}.bw-35{width:35%}.bw-40{width:40%}.bw-45{width:45%}.bw-50{width:50%}.bw-55{width:55%}.bw-60{width:60%}.bw-65{width:65%}.bw-70{width:70%}.bw-75{width:75%}.bw-80{width:80%}.bw-85{width:85%}.bw-90{width:90%}.bw-95{width:95%}.bw-100{width:100%}

/* Q01 (giả lập 20): thay đổi cấu hình chờ TGĐ duyệt */
.cc-list{display:grid;gap:0}.cc-item{padding:16px 22px;border-top:1px solid var(--line)}.cc-h{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cc-diff{margin:8px 0 10px 18px;padding:0;font-size:14px;line-height:1.6}.cc-diff li{margin:2px 0}
.cc-strip{display:flex;gap:8px;align-items:center;margin-bottom:12px;text-decoration:none}
/* Ảnh 152a: Thu tiền & công nợ */
.ar-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.ar-k{border:1px solid var(--card-edge);border-radius:14px;padding:12px 14px}.ar-k span{display:block;font-size:12.5px;color:var(--muted)}.ar-k b{display:block;font-size:22px;margin:2px 0}.ar-k small{font-size:12px;color:var(--muted)}
.ar-k.warn b{color:var(--warn)}.ar-k.bad b{color:var(--danger)}.ar-k.ok b{color:var(--ok)}
.ar-ag-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px;font-size:12.5px}
.ar-ag{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--hair);margin-bottom:12px}.ar-ag i{display:block;height:100%}
.ar-ag .a0{background:#86b7ff}.ar-ag .a1{background:#fbbf24}.ar-ag .a2{background:#f97316}.ar-ag .a3{background:#dc2626}
.ar-table td small{display:block}.ar-foot{margin:10px 0 0;font-size:12.5px}
.ar-d .sub{line-height:1.6}.ar-inst td small{display:block}.ar-inst .btn{margin-left:4px}
.ar-rc{list-style:none;margin:0;padding:0}.ar-rc li{padding:6px 0;border-top:1px solid var(--hair);font-size:13.5px}.ar-rc li.void{opacity:.55;text-decoration:line-through}.ar-rc li.void .pill{text-decoration:none}
.ar-acts{display:flex;gap:8px;margin-top:12px}
.ar-row{grid-template-columns:1.2fr 1fr 150px 34px}
@media (max-width:700px){.ar-kpis{grid-template-columns:1fr 1fr}.ar-row{grid-template-columns:1fr 1fr 34px}.ar-row [type=date]{grid-column:1/3}}
/* Ảnh 166a: Tài chính › Việc tài chính — ô tổng + thẻ trang trong một thẻ, các nhóm việc như Việc chờ tôi */
.fd-card{padding-bottom:0;margin-bottom:14px}.fd-card .tabs{margin-bottom:0;border-bottom:0}.fd-foot{margin:6px 4px 0}
@media (min-width:701px){.ar-kpis.fd-k3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ar-inst{list-style:none;margin:8px 0 0;padding:0}.ar-inst li{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--hair)}
.ar-i1{flex:1;min-width:180px}.ar-i1 b,.ar-i1 span{display:block}.ar-i2{text-align:right;min-width:150px}.ar-i2 span,.ar-i2 b{display:block}.ar-i3{display:flex;gap:6px}
.ar-i3 .btn.approve{background:var(--ok);border-color:var(--ok);color:#fff}
/* Ảnh 152c: Sổ quỹ & ngân hàng */
.cb-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1.9fr);gap:16px;align-items:start}
.cb-total{border:1px solid var(--card-edge);border-radius:14px;padding:12px 14px;margin-bottom:10px;background:var(--hair)}.cb-total span,.cb-total small{display:block;font-size:12.5px;color:var(--muted)}.cb-total b{font-size:24px;display:block}
.cb-accs{list-style:none;margin:0;padding:0}.cb-accs li{display:flex;gap:10px;align-items:center;padding:10px 8px;border-top:1px solid var(--hair);cursor:pointer;border-radius:10px}.cb-accs li:first-child{border-top:0}
.cb-accs li.on{background:rgba(6,101,237,.08)}.cb-accs li.off{opacity:.55}.cb-accs .grow{flex:1;min-width:0}.cb-accs b,.cb-accs small{display:block}.cb-accs small{font-size:12px;color:var(--muted)}
.cb-bal{text-align:right}.cb-bal b{display:block;margin-bottom:3px}
.cb-table td small{display:block}.cb-in{color:var(--ok)}.cb-out{color:var(--danger)}.cb-table tr.void{opacity:.5}.cb-table tr.void b{text-decoration:line-through}
.cb-m{border:0;cursor:pointer;font:inherit;font-size:12px}.cb-open td{background:var(--hair)}.cb-note{font-size:12.5px;margin:10px 0 0}
.cb-prev{list-style:none;margin:8px 0 0;padding:0;max-height:300px;overflow:auto}.cb-prev li{display:flex;gap:10px;align-items:center;padding:6px 0;border-top:1px solid var(--hair);font-size:13px}.cb-prev .grow{flex:1;min-width:0}
@media (max-width:1100px){.cb-grid{grid-template-columns:1fr}}
@media (min-width:701px){.cb-table td[data-label="Nội dung"]{min-width:260px;width:40%}.cb-table td[data-label="Ngày"]{width:64px}}
.cb-grid h2 small{margin-left:8px;font-weight:500}
/* Ảnh 153: Báo xong + bằng chứng + chấm sao */
.tk-result{border:1px solid color-mix(in srgb,var(--green,#16a34a) 35%,var(--card-edge));background:color-mix(in srgb,var(--green,#16a34a) 5%,var(--card));border-radius:12px;padding:10px 12px;margin:10px 0}
.tk-result p{margin:4px 0;font-size:13.5px;white-space:pre-wrap}
.tk-shots{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tk-shots img{width:84px;height:84px;object-fit:cover;border-radius:10px;border:1px solid var(--card-edge);display:block}
.tk-rated{margin-top:10px;padding-top:8px;border-top:1px dashed var(--card-edge);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tk-rated p{flex:1 1 100%;margin:2px 0 0}
.tk-stars{color:#f59e0b;font-size:17px;letter-spacing:2px}.tk-stars i{font-style:normal;color:var(--card-edge)}
.tk-rate{display:flex;flex-direction:row-reverse;justify-content:center;gap:6px;margin:6px 0 0}.tk-rate input{position:absolute;opacity:0;pointer-events:none}
.tk-rate label{font-size:38px;line-height:1;color:var(--card-edge);cursor:pointer;transition:color .12s}
.tk-rate input:checked~label,.tk-rate label:hover,.tk-rate label:hover~label{color:#f59e0b}
.tk-rate input:focus-visible+label{outline:2px solid var(--blue);border-radius:6px}
.tk-rate-name{text-align:center;font-weight:700;color:#b45309;margin:4px 0 10px}
.tk-tags{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:8px}
.bo-alert b{display:flex;gap:6px;align-items:center}.bo-alert div{margin-top:4px;font-size:13.5px}.bo-alert small{display:block;margin-top:4px;opacity:.85}
/* Ảnh 152b: Ngân sách & lãi lỗ */
.bs-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;align-items:start}
.bs-ctl{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bs-table td small{display:block}.bs-table tr.on{background:rgba(6,101,237,.07)}.bs-table tr.muted-row{opacity:.6}.bs-total td{background:var(--hair)}
.bs-pos{color:var(--ok)}.bs-neg{color:var(--danger)}
.bs-bar{display:inline-block;width:120px;height:8px;border-radius:4px;background:var(--hair);overflow:hidden;vertical-align:middle;margin-right:6px}.bs-bar i{display:block;height:100%}
.bs-bar i.ok{background:var(--ok)}.bs-bar i.warn{background:#f59e0b}.bs-bar i.bad{background:var(--danger)}
.bs-note{font-size:12.5px}.bs-h{font-size:15px;margin:16px 0 8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.bs-list{list-style:none;margin:0 0 10px;padding:0}.bs-list a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--hair);color:var(--ink);text-decoration:none}.bs-list li:first-child a{border-top:0}
.bg-wrap{overflow-x:auto}.bg-table{border-collapse:collapse;font-size:12.5px;min-width:1100px;width:100%}
.bg-table th,.bg-table td{padding:4px 4px;border-bottom:1px solid var(--hair);text-align:right;white-space:nowrap}
.bg-table th[scope=row],.bg-table thead th:first-child{text-align:left;position:sticky;left:0;background:var(--card);min-width:190px;font-weight:600}
.bg-table thead th{font-size:11.5px;color:var(--muted)}.bg-act th,.bg-act td{color:var(--muted);font-size:11.5px;border-bottom:1px solid var(--card-edge)}.bg-act th[scope=row]{font-weight:400;padding-left:14px}
.bg-in{width:70px;height:30px;border:1px solid var(--card-edge);border-radius:6px;padding:0 6px;text-align:right;font:inherit;background:var(--card);color:var(--ink)}
.bg-in.invalid{border-color:var(--danger-line);background:var(--danger-bg)}
.bg-sum{font-weight:700}.bg-sep td{text-align:left;font-weight:700;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding-top:12px}
@media (max-width:1100px){.bs-grid{grid-template-columns:1fr}}
.bs-grid h2 small,.bg-wrap~* h2 small,.card-head h2 small.sub{margin-left:8px;font-weight:500}
/* Ảnh 152d: Bàn vận hành */
.od-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:16px;align-items:start}
.od-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
.od-k{border:1px solid var(--card-edge);border-radius:14px;padding:10px 12px;color:var(--ink);text-decoration:none}.od-k span,.od-k small{display:block;font-size:12px;color:var(--muted)}.od-k b{display:block;font-size:22px}
.od-k.warn b{color:var(--warn)}.od-k.bad b{color:var(--danger)}
.od-list,.od-steps{list-style:none;margin:0;padding:0}.od-list li,.od-steps li{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--hair)}.od-list li:first-child,.od-steps li:first-child{border-top:0}
.od-list .grow,.od-steps .grow{flex:1;min-width:0}.od-list b,.od-list small,.od-steps b,.od-steps small{display:block}.od-list small,.od-steps small{font-size:12px;color:var(--muted)}.od-own{color:var(--blue)!important}
.od-dot{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:none}.od-dot svg{width:16px;height:16px}
.od-dot.bad{background:var(--danger-bg);color:var(--danger)}.od-dot.warn{background:var(--warn-bg);color:var(--warn)}.od-dot.info{background:rgba(6,101,237,.1);color:var(--blue)}
.od-n{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--hair);font-weight:800;font-size:13px}.od-n.ok{background:var(--ok-bg);color:var(--ok)}.od-n svg{width:15px;height:15px}
.od-acts{display:flex;gap:4px}
@media (max-width:1100px){.od-grid{grid-template-columns:1fr}.od-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.od-kpis{grid-template-columns:1fr 1fr}}

/* Quy trình nhân sự (07/10/2026): dải hồ sơ ngang + chi tiết rộng */
.hf-tabs{margin-bottom:12px}
.hf-strip{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:12px}
.hf-card{flex:0 0 240px;text-align:left;display:grid;gap:4px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font:inherit}
.hf-card.on{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.25)}.hf-card.late{border-left:4px solid #dc2626}
.hf-k{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.hf-k svg{width:14px;height:14px}
.hf-date{font-size:13px}.hf-bar{height:6px;border-radius:4px;background:var(--line);position:relative;overflow:hidden;margin-top:4px}.hf-bar i{position:absolute;left:0;top:0;bottom:0;background:#22c55e;border-radius:4px}
.hf-detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
@media (max-width:980px){.hf-detail{grid-template-columns:1fr}}
.hf-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 18px;padding:4px 0 14px;border-bottom:1px solid var(--line);margin-bottom:6px}
.hf-facts small{display:block;font-size:12px;color:var(--muted)}.hf-facts b{font-size:14px}
.hf-steps{list-style:none;margin:0;padding:0}.hf-steps li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.hf-steps li:last-child{border-bottom:0}.hf-steps .dot{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--line);color:var(--muted)}
.hf-steps .dot svg{width:15px;height:15px}.hf-steps li.done .dot{background:#dcfce7;color:#15803d}.hf-steps li.late .dot{background:#fee2e2;color:#b91c1c}
.hf-steps li.mine .dot{background:#dbeafe;color:#1d4ed8}.hf-steps li.skip{opacity:.55}.hf-st{flex:1;min-width:0}.hf-t{font-weight:600;font-size:14.5px;line-height:1.4}
.hf-steps li.done .hf-t{color:var(--muted);font-weight:500}.hf-st .sub{margin-top:3px}
.hf-law ul{margin:0 0 10px 18px;padding:0;font-size:13.5px;line-height:1.6}

.hf-detail>.hf-cands{grid-column:1}.hf-cands .card-foot{padding:10px 22px 16px}
.hf-choose{display:grid;gap:10px}.hf-opt{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.hf-opt:has(input:checked){border-color:#3b82f6;background:rgba(59,130,246,.08)}.hf-opt input{accent-color:#3b82f6}.hf-opt small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.hf-score td,.hf-score th{padding:6px 8px}.hf-score input{width:18px;height:18px;accent-color:#3b82f6}
.hf-detail>.hf-law{grid-column:2;grid-row:1 / span 2}@media (max-width:980px){.hf-detail>.hf-law{grid-column:1;grid-row:auto}}
.hf-cands .btn-row{flex-wrap:wrap;gap:6px}.hf-cands td:last-child{min-width:170px}
/* Trò chuyện: toàn bộ CSS (.tc-…, .tcq…, .chip-mat, .tag-guest, .tag-doc, .on-dot, .pchip, .inp.chips, .wp-…, .bb-…) đã dời sang /chat-core/chat.css — lõi dùng chung với Nexus (11/10/2026). Tệp đó nạp NGAY SAU p0.css trong index.html; thêm / sửa CSS chat thì sửa ở đó. */
/* Ảnh 154a: tăng ca */
.ot-lay{display:flex;flex-direction:column;gap:14px}
.ot-big{display:flex;gap:12px}.ot-big div{flex:1}.ot-big b{display:block;font-size:24px}.ot-big small{color:var(--muted);font-size:12.5px}
.ot-bar{height:8px;border-radius:5px;background:color-mix(in srgb,var(--muted) 15%,var(--card));overflow:hidden;margin:10px 0 6px}.ot-bar i{display:block;height:100%;background:var(--blue)}
.ot-bar.near i{background:#f59e0b}.ot-bar.over i{background:var(--danger)}
.ot-month{margin-top:8px}.ot-sum p{margin:0}
.ot-acts{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:12px 16px;flex-wrap:wrap}.ot-acts .sub{flex:1;min-width:220px}
tr.ot-over td{background:color-mix(in srgb,var(--danger) 6%,transparent)}
.block{display:block}
#ot-form .span-4{grid-column:1/-1}#ot-form .span-3{grid-column:span 3;align-self:center}
@media (max-width:760px){#ot-form .span-3{grid-column:1/-1}}
/* Ảnh 154b: bảng lương đề nghị */
.pr-cos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:14px}
.pr-co .pr-big{display:block;font-size:26px;margin:2px 0}.pr-co .sub{display:block}.pr-co .btn-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.pr-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pr-head h2{margin:0}
.pr-steps{display:flex;gap:6px;flex-wrap:wrap}.pr-st{font-size:12.5px;padding:5px 10px;border-radius:20px;background:color-mix(in srgb,var(--muted) 12%,var(--card));color:var(--muted)}
.pr-st.on{background:var(--blue);color:#fff;font-weight:700}.pr-st.done{background:var(--ok-bg);color:var(--ok)}
.pr-scroll{overflow-x:auto}.pr-table{min-width:1180px}.pr-table td,.pr-table th{white-space:nowrap;vertical-align:top}.pr-table td:first-child{white-space:normal;min-width:170px}
.pr-grp td{background:color-mix(in srgb,var(--blue) 8%,var(--card));color:var(--blue);font-weight:800;font-size:12px;letter-spacing:.03em;text-transform:uppercase}
tr.pr-flag td:first-child{box-shadow:inset 3px 0 var(--danger)}
/* CT-6c: cờ "đã có báo cáo công tác tháng này" dưới ô Công tác phí */
.pr-trip{display:flex;gap:6px;align-items:flex-start;margin-top:6px;padding:7px 9px;border-radius:8px;background:var(--warn-bg);border:1px solid color-mix(in srgb,#e8a317 45%,var(--card));font-size:12.5px;line-height:1.45;max-width:280px;min-width:210px;white-space:normal;text-align:left}
.pr-trip>svg{width:14px;height:14px;flex:none;color:var(--warn);margin-top:2px}.pr-trip>div{display:grid;gap:1px;min-width:0}.pr-trip>div>b{color:var(--warn)}.pr-trip a{font-weight:600}.pr-trip small{color:var(--muted);font-size:12px}
.pr-in{width:120px;border:1.5px solid color-mix(in srgb,var(--blue) 45%,var(--card-edge));background:color-mix(in srgb,var(--blue) 5%,var(--card));border-radius:8px;padding:4px 8px;font:inherit;font-weight:700;color:var(--ink);text-align:right}
.pr-in.note{display:block;width:140px;margin-top:4px;font-weight:500;text-align:left;font-size:12px}
.pill.xs{font-size:10.5px;padding:1px 6px;margin:3px 3px 0 0}.btn.xs{font-size:11px;padding:2px 7px;margin-top:4px;display:block}
.danger-text{color:var(--danger)}
.pr-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;flex-wrap:wrap}.pr-foot .sub{flex:1;min-width:260px}.pr-foot .btn-row{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- Hộp thoại kiểu mới (ảnh G20-23, áp dụng mọi hộp thoại) ----------
   Tiêu đề trắng + ô biểu tượng + dòng mô tả; nhãn chữ thường đậm vừa, * đỏ nhỏ; ô nhập 42px bo 10px; ghi chú có vạch màu bên trái; đáy nền nhạt */
dialog.modal{border-radius:16px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 28px 70px rgba(13,37,66,.28),0 4px 14px rgba(13,37,66,.08)}
dialog.modal::backdrop{background:rgba(13,37,66,.38);backdrop-filter:blur(2px)}
.modal-head{background:var(--card);border-bottom:1px solid var(--card-border);padding:16px 18px 14px 22px;border-radius:16px 16px 0 0;gap:12px;align-items:center}
.modal-head .grip{position:absolute;left:7px;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .15s}
.modal-head{position:relative}.modal-head:hover .grip{opacity:.7}
.modal-tt{flex:1;min-width:0}
.modal-head h3{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.3}
.modal-tt p{margin:2px 0 0;font-size:13px;color:var(--muted);line-height:1.4}
.modal-ic{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--build-bg);color:var(--blue)}
.modal-ic svg{width:20px;height:20px}
.modal-body{padding:20px 22px 22px}
:where(dialog.modal) .form{gap:16px 14px}
:where(dialog.modal) .field{gap:6px}
:where(dialog.modal) .field>span{font-size:13px;font-weight:600;color:#34465e;text-transform:none;letter-spacing:0;line-height:1.35}
:where(dialog.modal) .field>span small{font-weight:500;color:var(--muted)}
.req{font-style:normal;color:#e5484d;margin-left:3px;font-weight:700}
:where(dialog.modal) :is(.field input:where(:not([type=checkbox]):not([type=radio])),.field select,.field textarea,.input){min-height:42px;border-radius:10px;border:1px solid #d6dfea;background:#fff;padding:9px 12px;font-size:14.5px;color:var(--ink);transition:border-color .12s,box-shadow .12s}
:where(dialog.modal) :is(.field input,.field select,.field textarea):hover{border-color:#b7c5d8}
:where(dialog.modal) :is(.field input,.field select,.field textarea,.input):focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,101,237,.13)}
:where(dialog.modal) .field input::placeholder,:where(dialog.modal) .field textarea::placeholder{color:#9aa9bc}
:where(dialog.modal) .field select{appearance:none;-webkit-appearance:none;padding-right:36px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356687f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/16px}
:where(dialog.modal) .field input[type=date]{font-variant-numeric:tabular-nums}
:where(dialog.modal) .field input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}
:where(dialog.modal) .field textarea{min-height:84px;line-height:1.5}
:where(dialog.modal) .alert{display:block;border-radius:10px;padding:11px 14px;font-size:13.5px;line-height:1.5;background:#f2f7ff;color:#294260;border-left:3px solid var(--blue)}
:where(dialog.modal) .alert b{color:var(--ink)}
:where(dialog.modal) .alert.danger{background:#fff4f4;color:#9b1c1c;border-left-color:#e5484d}
:where(dialog.modal) .alert.warn{background:#fff8ec;color:#7a4b00;border-left-color:#f0a020}
:where(dialog.modal) .alert.ok{background:#effaf3;color:#14532d;border-left-color:#22a05a}
.modal-foot{background:#fafbfd;border-top:1px solid var(--card-border);padding:12px 22px;border-radius:0 0 16px 16px}
.modal-foot .btn{min-height:40px;padding:0 18px;border-radius:10px}
.modal-foot .btn.primary{min-width:112px}
/* Nhóm lựa chọn dạng thẻ (thay ô chọn khi ít lựa chọn) */
.opt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.opt-card{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d6dfea;border-radius:10px;cursor:pointer;background:#fff;font-size:14px;font-weight:600;color:var(--ink);transition:border-color .12s,background .12s}
.opt-card input{position:absolute;opacity:0;pointer-events:none}
.opt-card svg{width:18px;height:18px;flex:none;color:var(--muted)}
.opt-card small{display:block;font-size:12px;font-weight:500;color:var(--muted)}
.opt-card:hover{border-color:#b7c5d8}
.opt-card:has(input:checked){border-color:var(--blue);background:#f2f7ff;box-shadow:0 0 0 1px var(--blue) inset}
.opt-card:has(input:checked) svg{color:var(--blue)}
.opt-card:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
/* Khoảng ngày: hai ô + mũi tên + tổng số ngày */
.date-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end}
.date-range .dr-arrow{height:42px;display:grid;place-items:center;color:#9aa9bc}.date-range .dr-arrow svg{width:18px;height:18px}
.dr-sum{grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:-4px}
.dr-sum b{color:var(--ink)}
.dr-sum .chip-q{border:1px solid #d6dfea;background:#fff;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600;color:var(--blue);cursor:pointer}
.dr-sum .chip-q:hover{background:#f2f7ff;border-color:var(--blue)}
:where(html[data-mode="dark"]) .modal-head{background:var(--card)}
:where(html[data-mode="dark"]) .modal-foot{background:#0f1c2e}
html[data-mode="dark"] :where(dialog.modal) .field>span{color:#c9d6e8}
html[data-mode="dark"] :where(dialog.modal) :is(.field input:where(:not([type=checkbox]):not([type=radio])),.field select,.field textarea,.input),html[data-mode="dark"] .opt-card,html[data-mode="dark"] .dr-sum .chip-q{background-color:#0f1c2e;border-color:#2a3b55;color:var(--ink)}
html[data-mode="dark"] :where(dialog.modal) .alert{background:#13243c;color:#cfe0f7}
html[data-mode="dark"] .opt-card:has(input:checked){background:#13243c}
@media (max-width:600px){.date-range{grid-template-columns:1fr}.date-range .dr-arrow{display:none}}

/* ---------- Quy trình nhân sự · Dashboard đầu trang (ảnh G20-24) ---------- */
.hf-dash{display:grid;gap:14px;margin-bottom:18px}
.hf-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.hf-kpi{position:relative;display:grid;gap:2px;text-align:left;padding:14px 14px 12px;border-radius:14px;border:1px solid var(--card-border);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.hf-kpi:hover{border-color:#b7c5d8;box-shadow:0 4px 14px rgba(13,37,66,.06)}
.hf-kpi.on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset}
.hf-kpi-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--build-bg);color:var(--blue);margin-bottom:6px}
.hf-kpi-ic svg{width:17px;height:17px}
.hf-kpi small{font-size:12.5px;font-weight:600;color:var(--muted);line-height:1.3;min-height:2.6em;display:flex;align-items:flex-end}
.hf-kpi b{font-size:26px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}
.hf-kpi .sub{font-size:12px;line-height:1.35}
.hf-kpi.warn .hf-kpi-ic{background:var(--warn-bg);color:var(--warn)}.hf-kpi.warn b{color:var(--warn)}
.hf-dash-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:start}
.hf-upc{list-style:none;margin:0;padding:0 18px 8px}
.hf-upc li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--hair)}
.hf-upc li:first-child{border-top:0}
.hf-day{flex:none;width:76px;white-space:nowrap;display:grid;text-align:center;border-radius:10px;background:#f4f7fb;padding:5px 0}
.hf-day b{font-size:15px;font-variant-numeric:tabular-nums}.hf-day small{font-size:11px;color:var(--muted)}
.hf-day.soon{background:var(--warn-bg)}.hf-day.soon small{color:var(--warn);font-weight:600}
.hf-upc-ic{flex:none;color:var(--muted)}.hf-upc-ic svg{width:18px;height:18px}
.hf-upc-t{flex:1;min-width:0;display:grid}.hf-upc-t b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hf-upc-t .sub{font-size:12.5px}
.hf-move{display:block;width:calc(100% - 36px);height:auto;margin:0 18px 6px}
.hf-move .ax{stroke:var(--line);stroke-width:1}.hf-move .bj{fill:#0665ed}.hf-move .bl{fill:#e5484d}.hf-move .tx{fill:var(--muted);font-size:11px}
.hf-dash-grid .legend{padding:0 18px;margin:0 0 6px}
.hf-od{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:10px 18px 14px;border-top:1px solid var(--hair)}.hf-od small{width:100%;font-weight:600;color:var(--muted)}
.hf-funnel{display:grid;gap:10px;padding:4px 18px 0}
.hf-fn{display:grid;grid-template-columns:96px minmax(0,1fr) 32px;gap:10px;align-items:center;font-size:13.5px}
.hf-fn b{text-align:right;font-variant-numeric:tabular-nums}
.hf-fn-bar{height:22px;border-radius:6px;background:#f1f4f9;overflow:hidden}.hf-fn-bar i{display:block;height:100%;border-radius:6px;background:var(--blue)}
.hf-fn-bar i.f1{opacity:.85}.hf-fn-bar i.f2{opacity:.7}.hf-fn-bar i.f3{background:#6941c6}.hf-fn-bar i.f4{background:#167548}
.hf-funnel+.sub{padding:0 18px 14px}
.hf-sec{display:flex;align-items:baseline;gap:10px;margin:4px 0 10px}.hf-sec h2{font-size:16px;margin:0}
.hf-empty{flex:1;display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px dashed #cdd8e6;border-radius:14px;background:var(--card)}
.hf-empty>svg{width:28px;height:28px;color:#9aa9bc;flex:none}.hf-empty>div{flex:1;display:grid;gap:2px}
html[data-mode="dark"] .hf-day{background:#13243c}html[data-mode="dark"] .hf-fn-bar{background:#13243c}html[data-mode="dark"] .hf-empty{border-color:#2a3b55}
@media (max-width:1280px){.hf-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.hf-dash-grid{grid-template-columns:1fr}.hf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Ảnh 155 (07/10/2026): Ngân sách & lãi lỗ thiết kế lại — thẻ trang chuẩn, hàng thẻ khối, vùng làm việc rộng */
.ns-tool{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.ns-tool .filter-input{width:auto;min-width:0}.ns-sp{flex:1}
.ns-period{border:1px solid var(--card-edge);background:var(--card);border-radius:9px;padding:7px 12px;font-size:14px;font-weight:500;color:var(--muted)}
.ns-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.ns-kpi{display:flex;gap:12px;align-items:center;padding:14px 16px;margin:0}.ns-kpi b{display:block;font-size:22px;line-height:1.2}.ns-kpi small{font-size:12.5px;color:var(--muted)}
.ns-kpi .pos,.ns-pnl.pos{color:var(--ok)}.ns-kpi .neg,.ns-pnl.neg{color:var(--danger)}
.ns-help{display:flex;gap:10px;align-items:flex-start;background:color-mix(in srgb,var(--blue) 6%,var(--card));border:1px solid color-mix(in srgb,var(--blue) 25%,var(--card-edge));border-radius:12px;padding:10px 14px;font-size:13.5px;margin-bottom:14px}
.ns-help.warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 30%,var(--card-edge));color:var(--ink)}.ns-help svg{width:18px;height:18px;flex:none;margin-top:1px}
.ns-cards{display:grid;gap:12px;margin-bottom:16px}
.ns-lbl{font-size:12px;font-weight:800;letter-spacing:.07em;color:var(--muted);text-transform:uppercase;margin:2px 0 8px}.ns-lbl span{text-transform:none;letter-spacing:0;font-weight:600}
.ns-rowc{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px}
.ns-dc{margin:0;padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:2px;text-align:left;transition:border-color .12s,box-shadow .12s}
.ns-dc:hover{border-color:color-mix(in srgb,var(--blue) 40%,var(--card-edge))}.ns-dc.on{border:2px solid var(--blue);box-shadow:0 0 0 4px rgba(6,101,237,.08);padding:13px 15px}
.ns-dc.sm{background:color-mix(in srgb,var(--hair) 35%,var(--card))}
.ns-ch{display:flex;justify-content:space-between;align-items:center;gap:8px}.ns-ch b{font-size:15.5px}.ns-ch .pill{white-space:nowrap}
.ns-pnl{font-size:26px;font-weight:800;margin:8px 0 2px}.ns-chi{font-size:13px;color:var(--muted);margin:10px 0 6px}.ns-chi b{font-size:20px;color:var(--ink)}
.ns-row{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-bottom:8px}.ns-row b{color:var(--ink)}
.ns-bar{display:block;height:7px;border-radius:4px;background:var(--hair);overflow:hidden;margin:4px 0 4px}.ns-bar i{display:block;height:100%}
.ns-bar i.ok{background:var(--ok)}.ns-bar i.warn{background:#f59e0b}.ns-bar i.bad{background:var(--danger)}
.ns-none{font-size:12.5px;color:var(--muted);margin-top:8px}.ns-none a{font-weight:700}
.ns-work{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}.ns-work .card{margin:0}
.ns-work .card-head h2 small{margin-left:8px;font-weight:500}.ns-work .card-head select{margin-left:auto;width:auto}
.ns-chart{display:flex;gap:8px;align-items:flex-end;height:210px;border-bottom:1px solid var(--card-edge);padding:0 2px}
.ns-mcol{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.ns-mcol small{font-size:11.5px;color:var(--muted)}
.ns-mb{display:flex;gap:3px;align-items:flex-end;justify-content:center;height:172px;width:100%}.ns-mb i{width:40%;max-width:22px;border-radius:4px 4px 0 0;display:block}
.ns-mb .t{background:var(--ok)}.ns-mb .c{background:#94a3b8}
.ns-mcol.fut .ns-mb i{background:repeating-linear-gradient(45deg,#cbd5e1 0 4px,#e2e8f0 4px 8px)}
.ns-leg{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:10px}.ns-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.ns-leg i.t{background:var(--ok)}.ns-leg i.c{background:#94a3b8}.ns-leg i.p{background:repeating-linear-gradient(45deg,#cbd5e1 0 3px,#e2e8f0 3px 6px)}
.ns-note{background:color-mix(in srgb,var(--blue) 6%,var(--card));border:1px solid color-mix(in srgb,var(--blue) 22%,var(--card-edge));border-radius:10px;padding:9px 12px;font-size:13px;margin:12px 0 0}
.ns-groups td{vertical-align:middle}.ns-gb{display:flex;gap:10px;align-items:center}.ns-gb .ns-bar{flex:1;min-width:60px;margin:0}
.ns-blist{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-bottom:14px}
.ns-bcard{margin:0;padding:16px;display:flex;flex-direction:column;gap:4px;color:var(--ink)}.ns-bcard:hover{text-decoration:none;border-color:color-mix(in srgb,var(--blue) 40%,var(--card-edge))}
.ns-bnums{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--muted);margin-top:8px}.ns-bnums b{color:var(--ink)}
.ns-open{margin-top:10px;font-weight:700;color:var(--blue);font-size:13.5px}
@media (max-width:1100px){.ns-cards{grid-template-columns:1fr!important}.ns-work{grid-template-columns:1fr}.ns-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.ns-rowc{grid-auto-flow:row;grid-template-columns:1fr}.ns-kpis{grid-template-columns:1fr}.ns-tool .seg-ctl{width:100%}}
.ns-ch{flex-wrap:wrap;row-gap:4px}.ns-ch b{min-width:0}.ns-dc.sm .ns-ch{flex-direction:column;align-items:flex-start}
.ns-groups td:first-child{min-width:170px}.ns-groups .ns-gb .ns-bar{min-width:40px}

/* Quy trình nhân sự · phiếu chấm 1–5, giao việc tuần đầu (ảnh G20-25…27) */
.sc-grid{display:grid;gap:6px}
.sc-row{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:6px 10px;border-radius:10px;background:var(--lane-bg,#f7f9fc)}
.sc-row>span{font-size:14px;font-weight:500;min-width:0}
.sc-pick{display:flex;gap:6px;flex:none}
.sc-pick label{position:relative;cursor:pointer}
.sc-pick input{position:absolute;opacity:0;pointer-events:none}
.sc-pick b{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid #d6dfea;background:var(--card);font-weight:700;font-size:14px;color:var(--muted);transition:background .12s,border-color .12s}
.sc-pick label:hover b{border-color:var(--blue);color:var(--blue)}
.sc-pick input:checked+b{background:var(--blue);border-color:var(--blue);color:#fff}
.sc-pick input:focus-visible+b{outline:2px solid var(--blue);outline-offset:2px}
.sc-result{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:10px;border:1px dashed #cdd8e6;font-size:14px;color:var(--muted)}
.sc-avg{font-size:20px;color:var(--ink)}
.w1-list{display:grid;gap:6px}
.w1-row{display:flex;gap:8px;align-items:center}
.w1-n{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--build-bg);color:var(--blue);font-weight:700;font-size:13px}
html[data-mode="dark"] .sc-row{background:#13243c}html[data-mode="dark"] .sc-pick b{background:#0f1c2e;border-color:#2a3b55}
@media (max-width:600px){.sc-row{flex-direction:column;align-items:flex-start}}
/* Ảnh 156 (07/10/2026): ghi chú trong hộp thoại chỉ dàn ngang khi có biểu tượng đầu dòng (trước đây chữ + chữ đậm bị tách thành nhiều cột) */
:where(dialog.modal) .alert:has(> svg){display:flex;gap:10px;align-items:flex-start}
:where(dialog.modal) .alert > svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--blue)}
:where(dialog.modal) .alert.warn > svg{color:#c27a00}:where(dialog.modal) .alert.danger > svg{color:#e5484d}
/* Lập thủ tục nghỉ việc: thẻ người, 3 ô số, thẻ hình thức, các bước */
.dlg-who{display:flex;gap:12px;align-items:center;background:#f6f8fc;border:1px solid #e3e8f1;border-radius:12px;padding:10px 14px}
.dlg-who b{font-size:15.5px}.dlg-who small{display:block;color:var(--muted);font-size:13px;margin-top:1px}.dlg-who .pill{margin-left:auto;white-space:nowrap}
.dlg-av{width:40px;height:40px;border-radius:50%;background:#7c3aed;color:#fff;font-weight:800;font-size:14px;display:grid;place-items:center;flex:none}
.dlg-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.dlg-fact{display:flex;gap:10px;align-items:center;border:1px solid #e3e8f1;border-radius:12px;padding:10px 12px}
.dlg-fact .icon-tile{width:34px;height:34px;flex:none}.dlg-fact b{display:block;font-size:17px;line-height:1.25}.dlg-fact small{font-size:12px;color:var(--muted);line-height:1.3;display:block}
.opt-cards.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.opt-card.tall{align-items:flex-start;padding:11px 13px}.opt-card.tall svg{margin-top:2px}.opt-card.tall small{font-size:12.5px;line-height:1.35;margin-top:2px}
.opt-card.off{opacity:.45;cursor:not-allowed}
.dlg-steps{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.dlg-steps span{font-size:12px;font-weight:600;color:var(--blue);background:#fff;border:1px solid #c7d7f5;border-radius:20px;padding:2px 9px}
.field .dr-sum{margin-top:6px}
html[data-mode="dark"] .dlg-who,html[data-mode="dark"] .dlg-fact{background:#0f1c2e;border-color:#2a3b55}html[data-mode="dark"] .dlg-steps span{background:#0f1c2e;border-color:#2a4a7a}
@media (max-width:640px){.dlg-facts,.opt-cards.cols-3{grid-template-columns:1fr}.dlg-who{flex-wrap:wrap}.dlg-who .pill{margin-left:0}}
dialog.modal.is-danger .modal-ic{background:var(--danger-bg);color:var(--danger)}
dialog.modal.is-danger .modal-foot .btn.reject[type=submit]{background:var(--danger);border-color:var(--danger);color:#fff}
dialog.modal.is-danger .modal-foot .btn.reject[type=submit]:hover{filter:brightness(.95)}
/* Ảnh 158 (anh Tâm duyệt 07/10/2026): form nhập liệu trong hộp thoại — nhóm có tiêu đề nhỏ, đơn vị trong ô, nút tăng giảm, thẻ 4 cột */
.dlg-sec{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}
.dlg-sec::after{content:"";flex:1;height:1px;background:#e8edf4}.dlg-sec:first-child{margin-top:2px}.dlg-sec small{text-transform:none;letter-spacing:0;font-weight:600}
.dlg-sec .req{color:var(--danger,#dc2626)}
.in-unit{position:relative;display:block}.in-unit input{width:100%;padding-right:78px}
.in-unit > em{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;font-size:13px;font-weight:600;color:var(--muted);pointer-events:none}
.stepper{display:flex;align-items:center;gap:10px;height:42px}.stepper button{width:36px;height:36px;border:1.5px solid #d5dde9;border-radius:10px;background:#fff;font-size:18px;font-weight:700;color:var(--ink);cursor:pointer}
.stepper input{width:56px!important;text-align:center;font-size:17px;font-weight:700}
.opt-cards.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.dlg-form{display:grid;gap:12px}.dlg-form.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dlg-form.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dlg-form .span-2{grid-column:span 2}.dlg-form .span-all{grid-column:1/-1}
.dlg-sec + .dlg-form,.dlg-form + .dlg-form{margin-top:0}.dlg-form + .opt-cards,.opt-cards + .dlg-form{margin-top:12px}
html[data-mode="dark"] .stepper button{background:#0f1c2e;border-color:#2a3b55}html[data-mode="dark"] .dlg-sec::after{background:#2a3b55}
@media (max-width:640px){.opt-cards.cols-4{grid-template-columns:1fr 1fr}.dlg-form.cols-2,.dlg-form.cols-3{grid-template-columns:1fr}.dlg-form .span-2{grid-column:auto}}
.dlg-form [hidden]{display:none!important}.opt-card.tall input[type=checkbox]:checked ~ svg{color:var(--blue)}
.dr-sum.mt-8{margin-top:10px}
/* Ảnh 158 cho mọi hộp thoại: ô đánh dấu là một hàng có khung (như thẻ đồng ý NĐ 13), đơn vị trong ô */
:where(dialog.modal) .form>label.check,:where(dialog.modal) .modal-body>label.check{display:flex;gap:10px;align-items:flex-start;border:1px solid #d6dfea;border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer}
:where(dialog.modal) .form>label.check:has(input:checked),:where(dialog.modal) .modal-body>label.check:has(input:checked){border-color:var(--blue);background:#f2f7ff}
:where(dialog.modal) label.check>span small{display:block;font-size:12.5px;color:var(--muted);font-weight:500;margin-top:1px}
:where(dialog.modal) .in-unit>em{font-size:12.5px}
html[data-mode="dark"] :where(dialog.modal) .form>label.check,html[data-mode="dark"] :where(dialog.modal) .modal-body>label.check{background:#0f1c2e;border-color:#2a3b55}
.form>.dlg-sec,.grid>.dlg-sec{grid-column:1/-1;margin:8px 0 -6px}.form>.dlg-sec:first-child,.grid>.dlg-sec:first-child{margin-top:0}
:where(dialog.modal) [hidden]{display:none!important}
.date-range:has(>.field[hidden]) .dr-arrow{display:none}.date-range:has(>.field[hidden])>.field:not([hidden]){grid-column:1/-1}
.form>.span-3,.grid>.span-3,.form>.span-all{grid-column:1/-1}
/* Ảnh 159 (07/10/2026): lịch cố định trùng chuyến (viền đỏ), nhãn đổi xe, hộp chuyển lịch cố định */
.vx-tr.fx.bad,.vx-gb.fx.bad{border-color:#d92d20!important;border-width:2px;box-shadow:0 0 0 1px #d92d20 inset}
.vx-tr .vx-fxc{display:block;margin-top:4px;color:#b42318;font-weight:800;font-size:11px}
.vfm-opts{display:grid;gap:8px;margin:10px 0}
.vfm-o{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}
.vfm-o:has(input:checked){border-color:#0665ed;background:rgba(6,101,237,.06)}
/* Ảnh 161: Gửi thông báo — chọn đối tượng */
.tn-aud{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:10px;display:grid;gap:8px}
.tn-aud-h{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.3px;text-transform:uppercase}
.tn-aud-t{display:flex;flex-wrap:wrap;gap:6px}
.tn-aud-o{display:inline-flex;cursor:pointer}.tn-aud-o input{position:absolute;opacity:0;pointer-events:none}
.tn-aud-o span{border:1px solid var(--line);border-radius:9px;padding:6px 11px;font-size:13px;font-weight:600}
.tn-aud-o input:checked+span{background:#0665ed;color:#fff;border-color:#0665ed}
.tn-aud-o input:focus-visible+span{outline:2px solid var(--brand,#0665ed);outline-offset:2px}
.tn-aud-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 10px;max-height:190px;overflow:auto}
.tn-aud-c{display:flex;gap:7px;align-items:center;font-size:13px;padding:3px 0;cursor:pointer}.tn-aud-c small{color:var(--muted);font-size:11.5px;margin-left:auto}
.tn-aud-q{width:100%;margin-bottom:6px}
.tn-aud-n{margin:0;font-size:13px;font-weight:600;color:#a15c00}
.contract-doc .c-table{width:100%;border-collapse:collapse;margin:6px 0 10px;font-size:14.5px}.contract-doc .c-table th,.contract-doc .c-table td{border:1px solid #444;padding:5px 7px;text-align:left;vertical-align:top}.contract-doc .c-table th{background:#f3f4f6}
/* Ảnh 160a–c (anh Tâm duyệt 07/10/2026): Quy trình nhân sự bổ sung — chip loại dưới thẻ nhóm, hộp Mở quy trình chia nhóm, dải bước ký, phiếu đánh giá */
.hf-chips{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 14px}
.hf-chips button{border:1px solid #d5dde9;background:#fff;border-radius:999px;padding:5px 13px;font-size:13px;font-weight:600;color:#334155;cursor:pointer}
.hf-chips button span{color:var(--muted);font-weight:600;margin-left:2px}
.hf-chips button.on{background:var(--blue);border-color:var(--blue);color:#fff}.hf-chips button.on span{color:#dbe7ff}
.hf-kc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hf-kcard{position:relative;display:flex;gap:10px;align-items:flex-start;border:1px solid #d6dfea;border-radius:12px;padding:11px 12px;cursor:pointer;background:#fff}
.hf-kcard input{position:absolute;opacity:0;pointer-events:none}
.hf-kcard .icon-tile{width:34px;height:34px;border-radius:10px;flex:none}.hf-kcard .icon-tile svg{width:18px;height:18px}
.hf-kcard b{display:block;font-size:14.5px;padding-right:40px}.hf-kcard small{display:block;font-size:12.5px;color:var(--muted);line-height:1.35;margin-top:2px}
.hf-kcard:has(input:checked){border-color:var(--blue);background:#f2f7ff;box-shadow:0 0 0 1px var(--blue) inset}
.hf-kcard.off{cursor:default;opacity:.7}.hf-kcard.off .icon-tile{background:#eef2f7;color:#64748b}
.hf-kcard em{position:absolute;top:8px;right:9px;font-style:normal;font-size:10.5px;font-weight:800;border-radius:10px;padding:1px 7px}
.hf-new{color:#7c3aed;background:#f1e9ff}.hf-auto{color:#64748b;background:#eef2f7;font-weight:700!important}
.hf-tl{display:flex;list-style:none;margin:6px 0 0;padding:0}
.hf-tl li{flex:1;text-align:center;font-size:12px;color:var(--muted);position:relative;padding-top:20px}
.hf-tl li b{display:block;color:var(--ink);font-size:12.5px}
.hf-tl li::before{content:"";position:absolute;top:6px;left:0;right:0;height:3px;background:#dbe3ee}
.hf-tl li::after{content:"";position:absolute;top:1px;left:50%;margin-left:-6px;width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid #94a3b8;box-sizing:border-box}
.hf-tl li.d::before{background:var(--blue)}.hf-tl li.d::after{background:var(--blue);border-color:var(--blue)}
.hf-paper{background:#fff;border:1px solid #e3e8f1;border-radius:10px;padding:22px 26px;max-height:62vh;overflow:auto}
.hf-crit{width:100%}.hf-crit td.num,.hf-crit th.num{width:90px}
.hf-score-in{width:90px;border:1px solid #d6dfea;border-radius:8px;padding:6px 9px;font-size:14px}
.dlg-facts.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.dlg-sec .btn{margin-left:auto;order:3}.dlg-sec:has(.btn)::after{order:2}
html[data-mode="dark"] .hf-chips button,html[data-mode="dark"] .hf-kcard{background:#0f1c2e;border-color:#2a3b55}html[data-mode="dark"] .hf-kcard:has(input:checked){background:#13243c}
html[data-mode="dark"] .hf-paper{background:#fff;color:#111}
@media (max-width:760px){.hf-kc,.dlg-facts.cols-4{grid-template-columns:1fr 1fr}.hf-tl li{font-size:11px}}
@media (max-width:480px){.hf-kc{grid-template-columns:1fr}}
/* ===== Văn bản nội bộ (ảnh VB-1…VB-7, anh Tâm duyệt 07/10/2026) ===== */
/* Nội dung văn bản trong trang A4 (và trang quét QR) */
.contract-doc .vb-p{text-indent:1cm;margin:0 0 4px;text-align:justify}
.contract-doc h2.vb-h{font-size:13pt;font-weight:700;text-indent:1cm;margin:8px 0 3px;text-align:left}
.contract-doc .vb-gap{margin:0;height:18px}
.contract-doc .vb-vv{font-size:12pt;margin-top:2px;max-width:92%}
.contract-doc table.vb-tb{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12pt;line-height:1.3;margin:0}
.contract-doc table.vb-tb.first{margin-top:6px}
.contract-doc table.vb-tb+table.vb-tb{margin-top:-1px}
.contract-doc table.vb-tb+:not(table){margin-top:8px}
/* break-word (không phải anywhere): máy Android không có Times, chữ rộng hơn — ngày 14/10/2026 trong cột hẹp ngắt ở dấu / thay vì giữa số */
.contract-doc table.vb-tb :is(td,th){border:1px solid #111;padding:3px 5px;vertical-align:middle;text-align:left;overflow-wrap:break-word}
.contract-doc table.vb-tb th{text-align:center;font-weight:700}
.vw-5{width:5%}.vw-10{width:10%}.vw-15{width:15%}.vw-20{width:20%}.vw-25{width:25%}.vw-30{width:30%}.vw-35{width:35%}.vw-40{width:40%}.vw-45{width:45%}
.vw-50{width:50%}.vw-55{width:55%}.vw-60{width:60%}.vw-65{width:65%}.vw-70{width:70%}.vw-75{width:75%}.vw-80{width:80%}.vw-85{width:85%}.vw-90{width:90%}
.c-page-wm.vbn-off{color:rgba(86,104,127,.10)}
/* Trang danh sách */
.vbn-kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.vbn-kind{display:flex;gap:12px;align-items:center;padding:12px 14px;background:var(--card);border:1px solid var(--card-edge);border-radius:10px;cursor:pointer;font:inherit;color:inherit;text-align:left;min-width:0}
.vbn-kind:hover{border-color:#b9c9de}
.vbn-kind.on{border-color:var(--blue);box-shadow:0 0 0 2px rgba(6,101,237,.14)}
.vbn-kind .ki{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--build-bg);color:var(--blue)}
.vbn-kind .ki svg{width:20px;height:20px}
.vbn-kind .ki.g{background:var(--ok-bg);color:var(--ok)}.vbn-kind .ki.p{background:var(--design-bg);color:var(--design)}.vbn-kind .ki.w{background:var(--warn-bg);color:var(--warn)}.vbn-kind .ki.n{background:var(--neutral-bg);color:var(--neutral)}
.vbn-kind .nm{min-width:0;flex:1}.vbn-kind .nm strong{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vbn-kind .nm span{font-size:12.5px;color:var(--muted)}
.vbn-kind em{font-style:normal;font-size:21px;font-weight:700;font-variant-numeric:tabular-nums}
.vbn-todo{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:12px;margin-bottom:16px}
.vbn-do{display:flex;gap:14px;align-items:center;padding:14px 16px;background:var(--card);border:1px solid var(--card-edge);border-left:4px solid var(--blue);border-radius:10px;min-width:0}
.vbn-do.w{border-left-color:#d39a1c}.vbn-do.d{border-left-color:var(--danger)}
.vbn-do .tx{min-width:0;flex:1}
.vbn-do .t1{font-size:12.5px;font-weight:700;color:var(--blue);display:flex;gap:6px;align-items:center}
.vbn-do.w .t1{color:var(--warn)}.vbn-do.d .t1{color:var(--danger)}
.vbn-do .t1 svg{width:15px;height:15px}
.vbn-do strong{display:block;font-size:15px;margin:3px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vbn-do p{margin:0;font-size:13px;color:var(--muted)}
.vbn-do .btn{flex:none}
.vbn-list-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--hair);flex-wrap:wrap}
.vbn-list-head h2{margin:0;font-size:var(--fs-section)}
.vbn-list-head .filter-input{margin-left:auto;width:min(300px,100%)}
.vbn-tbl .no{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.vbn-tbl .no.dim{color:var(--muted);font-weight:600}
.vbn-tbl .ttl a{display:block;font-weight:600;font-size:14.5px;color:var(--ink)}
.vbn-tbl .ttl span{font-size:12.5px;color:var(--muted)}
.vbn-chips{display:flex;flex-wrap:wrap;gap:4px}
.vbn-chip{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:1px 9px;border-radius:12px;background:var(--neutral-bg);color:var(--ink);font-size:12.5px;font-weight:600}
.vbn-chip.gold{background:var(--ld-gold-bg);color:var(--ld-gold-ink)}.vbn-chip.navy{background:var(--ld-navy-bg);color:var(--ld-navy)}
.vbn-read{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.vbn-bar{width:74px;height:6px;border-radius:3px;background:var(--hair);overflow:hidden;display:block;flex:none}
.vbn-bar i{display:block;height:100%;background:var(--ok);border-radius:3px}
.vbn-bar.w i{background:#d39a1c}
/* Bố cục 2 cột: tờ văn bản + cột thao tác */
.vbn-two{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:16px;align-items:start}
.vbn-two.wide-r{grid-template-columns:minmax(0,1fr) 480px}
.vbn-two>*{min-width:0}
.vbn-stage{background:#e9eef5;border:1px solid var(--card-edge);border-radius:10px;padding:12px 0 20px}
html[data-mode="dark"] .vbn-stage{background:#0b1524}
.vbn-stage-bar{display:flex;align-items:center;gap:10px;padding:0 16px 10px;font-size:13px;color:var(--muted);font-weight:600;flex-wrap:wrap}
.vbn-stage-bar svg{width:16px;height:16px}
.vbn-stage-bar .pg{margin-left:auto;background:var(--card);border:1px solid var(--card-edge);border-radius:8px;padding:4px 10px;color:var(--ink)}
.vbn-stage .c-pages{display:flex;flex-direction:column;align-items:center;gap:16px;overflow:hidden}
.vbn-side{display:flex;flex-direction:column;gap:12px}
.vbn-box{padding:16px 18px}
.vbn-box>h2{font-size:var(--fs-section);margin:0 0 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vbn-box>h2 svg{width:18px;height:18px}
.vbn-box>h2 .btn{margin-left:auto}
.vbn-hint{margin:-6px 0 12px;font-size:13px;color:var(--muted)}
.vbn-sec{font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.vbn-f{margin-bottom:12px;display:block}
.vbn-f:last-child{margin-bottom:0}
.vbn-f>span,.vbn-lbl{display:block;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}
.vbn-f :is(input[type=text],input[type=date],input[type=search],select,textarea){width:100%;min-height:42px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:9px 14px;font:inherit;font-size:14.5px}
.vbn-box .vbn-f textarea{min-height:300px;resize:vertical;line-height:1.5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px}
.vbn-f :is(input,select,textarea):focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,101,237,.15)}
.vbn-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vbn-seg{display:flex;flex-wrap:wrap;gap:6px}
.vbn-seg button{min-height:38px;padding:0 13px;border-radius:10px;border:1px solid var(--line);display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink);background:var(--card);cursor:pointer}
.vbn-seg button.on{border-color:var(--blue);background:var(--build-bg);color:var(--blue)}
.vbn-seg button:disabled{opacity:.5;cursor:default}
.vbn-seg svg{width:16px;height:16px}
.vbn-fixed{min-height:42px;border-radius:12px;border:1px solid var(--line);background:var(--hair);padding:9px 14px;font-size:14.5px;display:flex;align-items:center;gap:8px}
.vbn-fixed svg{width:16px;height:16px;color:var(--muted);margin-left:auto}
.vbn-file{display:flex;align-items:center;gap:12px;border:1px dashed #b9c7d8;border-radius:12px;padding:10px 12px;background:var(--hair);margin-bottom:8px}
.vbn-file .fi{width:38px;height:38px;border-radius:8px;background:#2b579a;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;flex:none}
.vbn-file .nm{min-width:0;flex:1}.vbn-file .nm strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vbn-file .nm small{font-size:12.5px;color:var(--muted)}
.vbn-marks{font-size:12.5px;color:var(--muted);margin:6px 0 0;line-height:1.6}
.vbn-marks code{background:var(--hair);border-radius:5px;padding:1px 5px;font-size:12px;color:var(--ink)}
.vbn-grp{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:6px;font-size:14.5px;font-weight:600;cursor:pointer;min-height:44px}
.vbn-grp:has(input:checked){border-color:var(--blue);background:var(--build-bg)}
.vbn-grp input{width:20px;height:20px;flex:none}
.vbn-grp .g{min-width:0;flex:1}
.vbn-grp small{display:block;font-weight:500;color:var(--muted);font-size:12.5px}
.vbn-grp em{font-style:normal;font-size:13px;color:var(--muted);font-weight:600;white-space:nowrap}
.vbn-more{border:1px solid var(--line);border-radius:10px;margin-bottom:6px}
.vbn-more>summary{cursor:pointer;padding:10px 12px;font-size:14.5px;font-weight:600;display:flex;gap:10px;align-items:center;list-style:none;min-height:44px}
.vbn-more>summary::-webkit-details-marker{display:none}
.vbn-more>summary em{margin-left:auto;font-style:normal;font-size:13px;color:var(--muted)}
.vbn-more .in{padding:0 12px 10px;display:grid;gap:2px;max-height:240px;overflow:auto}
.vbn-more .in label{display:flex;gap:8px;align-items:center;font-size:14px;min-height:34px}
.vbn-more .in label small{color:var(--muted);font-size:12.5px}
.vbn-more .in input[type=checkbox]{width:18px;height:18px}
.vbn-picked{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.vbn-picked button{border:0;background:var(--build-bg);color:var(--blue);border-radius:12px;padding:3px 10px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.vbn-sum{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted);margin-top:8px}
.vbn-sum svg{width:16px;height:16px}.vbn-sum b{color:var(--ink)}
.vbn-tg{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:14.5px;font-weight:600;cursor:pointer}
.vbn-tg .g{flex:1;min-width:0}
.vbn-tg small{display:block;font-weight:500;color:var(--muted);font-size:12.5px}
.vbn-tg input[type=checkbox]{appearance:none;width:42px;height:24px;border-radius:12px;background:#c9d4e2;position:relative;flex:none;cursor:pointer;margin:0;transition:background .15s}
.vbn-tg input[type=checkbox]::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s}
.vbn-tg input[type=checkbox]:checked{background:var(--blue)}.vbn-tg input[type=checkbox]:checked::after{left:21px}
.vbn-tg input[type=date]{width:auto;min-height:36px;border-radius:10px;border:1px solid var(--line);padding:4px 10px;font:inherit;background:var(--card);color:var(--ink)}
.vbn-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.vbn-step{padding:12px 16px;display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--card-edge);border-radius:10px;min-width:0}
.vbn-step i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:14px;background:var(--hair);color:var(--muted);flex:none}
.vbn-step i svg{width:16px;height:16px}
.vbn-step.done i{background:var(--ok-bg);color:var(--ok)}
.vbn-step.on{border-color:var(--blue);box-shadow:0 0 0 2px rgba(6,101,237,.14)}
.vbn-step.on i{background:var(--blue);color:#fff}
.vbn-step strong{display:block;font-size:14.5px}.vbn-step span{font-size:12.5px;color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vbn-step .g{min-width:0}
/* Chi tiết: thông tin, ký, theo dõi */
.vbn-kv{display:grid;grid-template-columns:112px 1fr;gap:7px 10px;font-size:14px;margin:0}
.vbn-kv dt{color:var(--muted)}.vbn-kv dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}
.vbn-after{list-style:none;margin:0;padding:0;font-size:14px}
.vbn-after li{display:flex;gap:10px;padding:5px 0;align-items:flex-start}
.vbn-after svg{width:18px;height:18px;color:var(--ok);margin-top:2px;flex:none}
.vbn-acts{display:flex;gap:10px;flex-wrap:wrap}
.vbn-acts .btn{flex:1;justify-content:center}
.vbn-note{font-size:12.5px;color:var(--muted);display:flex;gap:8px;align-items:flex-start;line-height:1.45;margin:12px 0 0}
.vbn-note svg{width:15px;height:15px;margin-top:2px;flex:none}
.vbn-alert{display:flex;gap:10px;padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.45;background:var(--warn-bg);color:var(--warn);margin-bottom:12px}
.vbn-alert svg{width:18px;height:18px;margin-top:2px;flex:none}
.vbn-alert.red{background:var(--danger-bg);color:var(--danger)}.vbn-alert.blue{background:var(--build-bg);color:var(--build)}.vbn-alert.ok{background:var(--ok-bg);color:var(--ok)}
.vbn-alert a{font-weight:700}
.vbn-diff{border:1px solid var(--card-edge);border-radius:10px;padding:8px 12px;margin-bottom:12px;font:15px/1.5 "Times New Roman",Times,serif;background:var(--card);max-height:260px;overflow:auto}
.vbn-diff p{margin:4px 0}
.vbn-diff del{background:var(--danger-bg);color:var(--danger)}.vbn-diff ins{background:var(--ok-bg);color:var(--ok);text-decoration:none;font-weight:700}
.vbn-banner{display:flex;gap:14px;align-items:center;padding:14px 18px;background:var(--card);border:1px solid var(--card-edge);border-left:4px solid #d39a1c;border-radius:10px;flex-wrap:wrap}
.vbn-banner.ok{border-left-color:var(--ok)}
.vbn-banner .tx{flex:1;min-width:180px}
.vbn-banner strong{display:block;font-size:15px}.vbn-banner p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.vbn-big{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.vbn-big strong{font-size:30px;font-variant-numeric:tabular-nums}.vbn-big span{font-size:14px;color:var(--muted)}
.vbn-prog{height:8px;border-radius:4px;background:var(--hair);overflow:hidden;margin:8px 0 12px}
.vbn-prog i{display:block;height:100%;background:var(--ok);border-radius:4px}
.vbn-ppl .g{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:8px 0 4px;display:flex}
.vbn-ppl .g em{margin-left:auto;font-style:normal;letter-spacing:0;text-transform:none}
.vbn-p{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--hair)}
.vbn-p .av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;flex:none;background:#2b7be9}
.vbn-p .n{min-width:0;flex:1}.vbn-p .n strong{display:block;font-weight:600;font-size:14px}.vbn-p .n small{color:var(--muted);font-size:12.5px}
.vbn-p time{font-size:12.5px;color:var(--muted);white-space:nowrap}
.vbn-menu{display:grid;gap:0;border:1px solid var(--card-edge);border-radius:12px;overflow:hidden}
.vbn-menu button{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;font:inherit;font-size:14.5px;font-weight:600;border:0;border-top:1px solid var(--hair);background:var(--card);color:var(--ink);text-align:left;cursor:pointer}
.vbn-menu button:first-child{border-top:0}
.vbn-menu button:hover{background:var(--hair)}
.vbn-menu button.red{color:var(--danger)}
.vbn-menu small{display:block;font-weight:500;color:var(--muted);font-size:13px;margin-top:1px}
.vbn-menu svg{width:18px;height:18px;margin-top:2px;flex:none}
.vbn-pin{display:block;margin:0 0 12px}
.vbn-pin input{width:100%;min-height:48px;border-radius:12px;border:1px solid var(--line);padding:8px 14px;font-size:20px;letter-spacing:.3em;background:var(--card);color:var(--ink)}
.vbn-opt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14.5px;font-weight:600;cursor:pointer;margin-bottom:6px}
.vbn-opt:has(input:checked){border-color:var(--blue);background:var(--build-bg)}
.vbn-opt input{width:18px;height:18px;margin-top:2px}
.vbn-opt small{display:block;font-weight:500;color:var(--muted);font-size:13px}
@media (max-width:1100px){.vbn-two,.vbn-two.wide-r{grid-template-columns:1fr}.vbn-steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.vbn-row2{grid-template-columns:1fr}.vbn-todo{grid-template-columns:1fr}.vbn-steps{grid-template-columns:1fr}.vbn-tbl :is(th,td):nth-child(n+3):not(:last-child){display:none}}
@media print{
  body.print-paged .vbn-two{display:block}
  body.print-paged .vbn-stage{border:0;padding:0;background:none}
  body.print-paged .vbn-stage .c-pages{display:block;gap:0}
}
@media (max-width:600px){.vbn-kinds{grid-template-columns:1fr 1fr}.vbn-kind{padding:10px}.vbn-kind .ki{display:none}}
/* Mục đã ghim vẫn nằm ở nhóm gốc: ★ vàng luôn hiện để biết đã có lối tắt ở phần Đã ghim (anh Tâm 07/10/2026) */
.mn-kid .mn-star.on{display:grid}
/* Biểu tượng trong dòng "Theo khối / phòng…", "Thêm từng người…" chưa có cỡ → phình to cả ô (anh Tâm báo 07/10/2026) */
.vbn-more>summary svg{width:18px;height:18px;flex:none}
.vbn-more>summary{color:var(--ink)}
/* Văn bản nội bộ — soạn trực tiếp trên tờ văn bản (anh Tâm 07/10/2026: bỏ ô ký hiệu, gõ như Word) */
.vbn-compose{padding-bottom:16px}
.vbn-compose .vbn-stage-bar .pg{cursor:pointer;font:inherit;font-size:13.5px;font-weight:600;display:inline-flex;gap:6px;align-items:center}
.vbn-sheet-wrap{padding:0 12px;overflow:hidden}
.vbn-sheet{width:794px;margin:0 auto;background:#fff;color:#111;box-shadow:0 2px 10px rgba(13,37,66,.18);padding:64px 57px 56px 113px}
.vbn-sheet .vbn-fixed-part{opacity:.72;user-select:none;cursor:default}
.vbn-sheet #vf-foot .c-sigs{margin-top:18px}
#vf-bar{position:sticky;top:60px;z-index:5;padding:0 12px 10px}
.vbe-bar{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:6px 8px;border:1px solid var(--card-edge);border-radius:10px;background:var(--card);box-shadow:0 2px 8px rgba(13,37,66,.08);font-family:var(--font)}
.vbe-bar button{min-height:38px;padding:0 12px;border-radius:8px;border:1px solid transparent;background:none;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.vbe-bar button:hover{background:var(--hair);border-color:var(--card-edge)}
.vbe-bar button svg{width:16px;height:16px}
.vbe-bar button b,.vbe-bar button i{font-family:"Times New Roman",Times,serif;font-size:17px;min-width:14px;text-align:center}
.vbe-bar .sep{width:1px;height:20px;background:#dce5ef;margin:0 4px}
.vbe-bar .sp{flex:1}
.vbe-tb{display:inline-flex;gap:4px;align-items:center;padding-left:4px;border-left:1px solid #dce5ef}
.vbe-tb button{color:#0665ed}
.vbe-body{min-height:420px;outline:none;font-size:13pt;line-height:1.4;text-align:justify;max-width:none;border-radius:6px;padding:4px 0;box-shadow:0 0 0 1px transparent}
.vbe-body:focus{box-shadow:0 0 0 1px #c9daf5,0 0 0 8px #f5f9ff;background:#fcfdff}
.vbe-body.empty::before{content:attr(data-ph);color:#9aa8ba;font-style:italic;display:block;text-indent:1cm;pointer-events:none;position:absolute}
.vbe-body p,.vbe-body div{text-indent:1cm;margin:0 0 4px}
.vbe-body h1,.vbe-body h2,.vbe-body h3{font-size:13pt;font-weight:700;text-indent:1cm;margin:8px 0 3px;text-align:left;font-style:normal;letter-spacing:0}
.vbe-body ul,.vbe-body ol{list-style:none;margin:0;padding:0}
.vbe-body li{text-indent:1cm;margin:0 0 2px}.vbe-body li::before{content:"- "}
.vbe-body table{width:100%;border-collapse:collapse;table-layout:auto;font-size:12pt;line-height:1.3;margin:6px 0 8px}
.vbe-body :is(td,th){border:1px solid #111;padding:3px 6px;vertical-align:middle;text-align:left;text-indent:0;min-width:48px;overflow-wrap:break-word}
.vbe-body th{text-align:center;font-weight:700}
.vbe-body :is(td,th):focus-within,.vbe-body :is(td,th):hover{background:#f5f9ff}
.vbe-body :is(td,th) :is(p,div){text-indent:0;margin:0}
.vbn-printview .c-pages{display:flex;flex-direction:column;align-items:center;gap:14px}
/* Văn bản nội bộ — tệp PDF soạn sẵn (giữ nguyên tệp) */
.vbn-src{font-weight:700;color:var(--ink)}
.vbn-src-hint{font-weight:500}
.vbn-pdf{margin:0 12px 12px;background:var(--card);border:1px solid var(--card-edge);border-radius:10px;overflow:hidden}
.vbn-pdf-head{display:flex;align-items:center;gap:12px;padding:10px 12px;flex-wrap:wrap}
.vbn-pdf-head .fi{width:38px;height:38px;border-radius:8px;background:#b42318;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;flex:none}
.vbn-pdf-head .nm{min-width:0;flex:1}.vbn-pdf-head .nm strong{display:block;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vbn-pdf-head .nm small{font-size:12.5px;color:var(--muted)}
.vbn-pdf-view{border-top:1px solid var(--card-edge);background:#525659}
.vbn-pdf-view iframe{display:block;width:100%;height:min(82vh,1000px);border:0}
.vbn-pdf-view p{margin:0;padding:16px;background:var(--card)}
.vbn-pdf-cap{display:flex;gap:8px;align-items:flex-start;margin:0 14px 10px;font-size:13px;color:var(--muted);line-height:1.45}
.vbn-pdf-cap svg{width:15px;height:15px;margin-top:2px;flex:none}
/* Văn bản phòng (ảnh VB-10a, VB-11…VB-15 — anh Tâm đồng ý 08/10/2026): công tắc cấp ban hành, nhãn cấp, thẻ phòng, người nhận trong phòng */
.c-page-body .c-org .vb-org-top{display:block;font-weight:400;font-size:11pt;line-height:1.45}
/* Khối tên cơ quan của văn bản phòng: tên phòng dài tự xuống dòng cân đối trong cột, không chạm dòng ngày tháng bên phải (cột phải rộng 60%, dòng ngày không xuống dòng);
   gạch ngắn canh giữa dưới dòng cuối của tên phòng. Chỉ lớp riêng — tờ văn bản cấp công ty đã ký không đổi. */
.c-page-body .c-head:has(.vb-org-dept)>div{min-width:0}
.c-page-body .c-org .vb-org-dept{display:block;max-width:calc(100% - 28px);font-size:12.5pt;line-height:1.3;text-wrap:balance;overflow-wrap:anywhere}
.c-page-body .c-org .vb-org-dept::after{content:'';display:block;width:72px;margin:3px auto 0;border-bottom:1px solid #111}
/* Dải "Văn bản cấp phòng" nằm trên chân trang, một dòng suốt chiều rộng (chia trang đã chừa 1 dòng) — không chen vào ô chữ cạnh QR nên không bị cắt */
.vb-foot-note{position:absolute;left:113px;right:57px;bottom:104px;font:500 10px/1.4 var(--font);color:#41556f;white-space:nowrap;overflow:hidden;text-align:left}
.vb-foot-note b{color:#0d2542}
.vbn-rest{display:flex;gap:8px;align-items:center;margin:-4px 0 16px;font-size:13.5px;color:var(--muted)}.vbn-rest svg{width:15px;height:15px;flex:none}
.vbn-rest .link{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--blue);cursor:pointer}.vbn-rest .link:hover{text-decoration:underline}
.c-page-foot.vb-dept .t{font-size:10px;line-height:1.42}.c-page-foot.vb-dept .t b{font-size:11px}
.vb-foot-note.long{font-size:9px}
@media print{body.print-paged .vb-foot-note{left:30mm;right:15mm;bottom:26.8mm}}
.vbn-lvbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.vbn-lvbar .seg-ctl .n{font-size:12.5px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.vbn-lvbar .seg-ctl a.on .n{color:var(--blue)}
.vbn-lvbar .hint{font-size:13.5px;color:var(--muted)}
.vbn-lv{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:0 8px;border-radius:11px;background:var(--build-bg);color:var(--build);font-size:12px;font-weight:700;vertical-align:middle;white-space:nowrap}
.vbn-lv.cty{background:var(--neutral-bg);color:var(--neutral)}
.vbn-lv svg{width:13px;height:13px}
.vbn-chip.nw{white-space:nowrap}
.vbn-tbl .ttl span .vbn-lv{display:inline-flex}
.vbn-depts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}
.vbn-dept{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:baseline;padding:12px 14px;background:var(--card);border:1px solid var(--card-edge);border-radius:10px;color:inherit;min-width:0}
.vbn-dept:hover{border-color:#b9c9de;text-decoration:none}
.vbn-dept.on{border-color:var(--blue);box-shadow:0 0 0 2px rgba(6,101,237,.14)}
.vbn-dept strong{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vbn-dept em{font-style:normal;font-size:21px;font-weight:700;font-variant-numeric:tabular-nums}
.vbn-dept span{grid-column:1/-1;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vbn-dept span.warn{color:var(--warn);font-weight:600}
.vbn-list-head h2 small{font-size:13px;font-weight:600;color:var(--muted);margin-left:10px}
.vbn-kchips{display:flex;padding:12px 18px;border-bottom:1px solid var(--hair)}
.vbn-kchips a{min-height:34px;padding:0 14px;border:1px solid var(--card-edge);border-radius:17px;background:var(--card);color:var(--ink);font-size:14px;font-weight:600;display:inline-flex;align-items:center;white-space:nowrap}
.vbn-kchips a:hover{border-color:#b9cde8;text-decoration:none}
.vbn-kchips a.on{background:var(--navy,#0d2542);border-color:var(--navy,#0d2542);color:#fff}
html[data-mode="dark"] .vbn-kchips a.on{background:var(--blue);border-color:var(--blue)}
.vbn-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;font-style:normal;flex:none;background:#12936b}
.vbn-sg{display:flex;align-items:center;gap:8px;min-width:0}
.vbn-sg .av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;font-style:normal;flex:none;background:#12936b}
.vbn-sg strong{display:block;font-size:14px;font-weight:600;white-space:nowrap}.vbn-sg small{display:block;font-size:12.5px;color:var(--muted)}
.vbn-steps.n3{grid-template-columns:repeat(3,1fr)}
.vbn-seg+.vbn-hint,.vbn-f+.vbn-hint{margin:8px 0 0}
.vbn-f+.vbn-hint+.vbn-alert{margin:12px 0 0}
.vbn-seg .lock{min-height:38px;padding:0 13px;border-radius:10px;border:1px dashed var(--line);display:inline-flex;align-items:center;gap:6px;font-size:14.5px;font-weight:600;color:var(--muted);opacity:.75;cursor:not-allowed}
.vbn-seg .lock svg{width:14px;height:14px}
.vbn-fixed .vbn-av{margin-right:2px}
.vbn-fixed svg{flex:none}
.vbn-fixed>svg:first-child{margin-left:0;color:var(--ink)}
.vbn-fixed>span,.vbn-fixed>b{min-width:0;overflow-wrap:anywhere}
.vbn-rcs{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:232px;overflow:auto;margin-bottom:8px}
.vbn-rc{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;min-height:48px;min-width:0;cursor:pointer}
.vbn-rc .n{min-width:0;flex:1}.vbn-rc .n strong{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vbn-rc .n small{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vbn-rc input{width:18px;height:18px;flex:none}
.vbn-rcs .sub{grid-column:1/-1;margin:0}
@media (max-width:1100px){.vbn-steps.n3{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.vbn-steps.n3{grid-template-columns:1fr}.vbn-rcs{grid-template-columns:1fr}.vbn-depts{grid-template-columns:1fr 1fr}.vbn-lvbar .hint{flex-basis:100%}}
/* Ảnh 162 (anh Tâm duyệt 07/10/2026): Công việc — thẻ phạm vi, thanh lọc + tìm một hàng, thẻ việc không tràn */
.tk-tabs{margin-bottom:12px}
.tk-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.tk-search{margin-left:auto;display:flex;gap:8px;align-items:center;width:min(320px,100%);background:var(--card);border:1.5px solid #d5dde9;border-radius:11px;padding:0 12px}
.tk-search svg{width:16px;height:16px;color:#94a3b8;flex:none}.tk-search input{border:0;outline:0;background:transparent;font:inherit;font-size:14px;padding:9px 0;width:100%;color:var(--ink)}
.tk-kp{min-width:0}.tk-kp small{display:block;line-height:1.3}
.tk-card{overflow:hidden}.tk-meta .pill{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.tk-col h3{font-size:13.5px}.tk-dot{width:9px;height:9px;border-radius:50%;background:#64748b;flex:none}
.tk-dot.DANG_LAM{background:var(--blue)}.tk-dot.CHO_DUYET{background:#7c3aed}.tk-dot.XONG{background:#16a34a}
.tk-none{text-align:center;color:#94a3b8;font-size:13px;padding:24px 0;margin:0}
html[data-mode="dark"] .tk-search{border-color:#2a3b55}
@media (max-width:600px){.tk-search{margin-left:0;width:100%}.tk-tabs{overflow-x:auto}}
@media (max-width:1280px){.tk-kps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.tk-kps{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Ảnh 164: Trợ lý AI viết Tin nội bộ */
.tn-chip.ai{cursor:pointer;font:inherit;font-weight:700;font-size:12.5px;border-color:#c4b5fd;background:linear-gradient(135deg,#f5f3ff,#eef4ff);color:#5b21b6}
.tn-chip.ai:hover{border-color:#8b5cf6}
.tn-ai{border:1.5px solid #c4b5fd;border-radius:14px;background:linear-gradient(180deg,#faf8ff,#f5f7ff);margin-bottom:12px}
.tn-ai-h{display:flex;align-items:center;gap:9px;width:100%;padding:10px 12px;border:0;background:none;font:inherit;cursor:pointer;text-align:left;color:#4c1d95}
.tn-ai-h i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;flex:none}.tn-ai-h i svg{width:16px;height:16px}
.tn-ai-h b{font-size:14px}.tn-ai-h small{margin-left:auto;font-size:11.5px;font-weight:600;color:#6d28d9}
.tn-ai-cv{display:inline-flex;transform:rotate(90deg);transition:transform .2s}.tn-ai-cv svg{width:15px;height:15px}.tn-ai.open .tn-ai-cv{transform:rotate(-90deg)}
.tn-ai-b{display:none;padding:0 12px 12px;flex-direction:column;gap:9px}.tn-ai.open .tn-ai-b{display:flex}
.tn-ai-b .field{margin:0}.tn-ai-b textarea{background:#fff}
.tn-ai-o{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tn-ai-o em{font-style:normal;font-size:12px;font-weight:700;color:var(--muted);min-width:62px}
.tn-ai-o label{display:inline-flex;cursor:pointer}.tn-ai-o input{position:absolute;opacity:0;pointer-events:none}
.tn-ai-o label span,.tn-ai-q{padding:5px 11px;border-radius:99px;border:1px solid var(--line);font:inherit;font-size:12.5px;font-weight:700;background:var(--card);color:var(--ink);cursor:pointer}
.tn-ai-o input:checked+span{background:#4c1d95;border-color:#4c1d95;color:#fff}.tn-ai-o input:focus-visible+span{outline:2px solid #8b5cf6;outline-offset:2px}
.tn-ai-q:hover{border-color:#8b5cf6;color:#5b21b6}.tn-ai-q:disabled{opacity:.5;cursor:default}
.tn-ai-q.busy::after,.tn-ai-btn.busy::after{content:'';width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;margin-left:6px;vertical-align:-2px;animation:spin .7s linear infinite}
.tn-ai-go{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tn-ai-go small{color:var(--muted);font-size:12px}
.tn-ai .btn.tn-ai-btn{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;border:0;box-shadow:0 6px 16px rgba(99,102,241,.3)}.tn-ai .btn.tn-ai-btn:disabled{opacity:.7}
.tn-ai-btn svg{width:16px;height:16px}
.tn-ai-r{display:flex;flex-direction:column;gap:8px;border-top:1px dashed #c4b5fd;padding-top:9px}
.tn-ai-st{display:flex;align-items:center;gap:10px;font-size:13px;color:#4c1d95}.tn-ai-st span{margin-left:auto}
.tn-ai-st .linkish{border:0;background:none;color:#6d28d9;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
.tn-ai-alt{border:1px dashed #a78bfa;background:var(--card);color:#4c1d95;border-radius:9px;padding:4px 10px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;margin:0 6px 4px 0;text-align:left}
.tn-ai-w{margin:0;background:#fff8eb;border:1px solid #f5d199;border-radius:10px;padding:7px 10px;font-size:12.5px;color:#7a4500}
.tn-ai-err{margin:0;color:var(--danger,#b42318);font-size:12.5px}
.tn-ai-fresh{background:#f5f3ff!important;border-color:#c4b5fd!important}
@keyframes spin{to{transform:rotate(360deg)}}
html[data-mode="dark"] .tn-ai{background:linear-gradient(180deg,rgba(124,58,237,.14),rgba(79,70,229,.08));border-color:rgba(167,139,250,.45)}
html[data-mode="dark"] .tn-ai-h,html[data-mode="dark"] .tn-ai-st{color:#c4b5fd}html[data-mode="dark"] .tn-ai-h small{color:#a78bfa}
html[data-mode="dark"] .tn-ai-fresh{background:rgba(124,58,237,.16)!important;border-color:rgba(167,139,250,.6)!important}
html[data-mode="dark"] .tn-chip.ai{background:rgba(124,58,237,.18);color:#c4b5fd;border-color:rgba(167,139,250,.5)}
html[data-mode="dark"] .tn-ai-alt{color:#c4b5fd}html[data-mode="dark"] .tn-ai-w{background:#3a2a0c;border-color:#7a5a18;color:#fcd34d}
html[data-mode="dark"] .tn-ai-st .linkish{color:#c4b5fd}

/* ---------- Sơ đồ vòng đời nhân sự (/nhan-su/vong-doi, 08/10/2026) ---------- */
.vdn-map .vdn-chain{display:flex;align-items:stretch;overflow-x:auto;padding:0 18px 6px}
.vdn-node{flex:1 0 160px;display:grid;gap:3px;padding:12px 14px;border-radius:12px;background:#f6f8fc;border:1px solid var(--card-border);color:var(--ink);text-decoration:none}
.vdn-node:hover{border-color:var(--blue);text-decoration:none}
.vdn-node .n{font-size:12px;font-weight:700;color:var(--blue)}.vdn-node b{font-size:14.5px}.vdn-node small{color:var(--muted);font-size:12.5px}
.vdn-arr{flex:0 0 28px;display:grid;place-items:center;color:#9aa9bc}.vdn-arr svg{width:18px;height:18px}
.vdn-exit{display:flex;gap:8px;align-items:flex-start;margin:6px 18px 16px;padding-top:12px;border-top:1px dashed var(--line);font-size:13.5px;color:var(--muted)}
.vdn-exit svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--danger)}.vdn-exit b{color:var(--danger)}
.vdn-h{font-size:16px;margin:18px 0 10px}
.vdn-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.vdn-role{background:var(--card);border:1px solid var(--card-border);border-left:4px solid var(--lc);border-radius:12px;padding:12px 14px;font-size:13.5px}
.vdn-role b{display:block;font-size:14.5px;margin-bottom:2px}.vdn-role span{color:var(--muted)}
.l-NLD{--lc:#7b5bd6}.l-TP{--lc:#0665ed}.l-HR{--lc:#d0569a}.l-KT{--lc:#1f8a5b}.l-TGD{--lc:#0d2542}.l-QT{--lc:#c47a06}.l-P{--lc:#2fb57d}
.vdn-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--muted);margin:0 0 12px}
.vdn-legend span{display:inline-flex;align-items:center;gap:7px}
.vdn-legend .sw{width:22px;height:14px;border-radius:4px;border:1.5px solid var(--line);background:var(--card)}
.vdn-legend .sw.dec{border-color:#c47a06;background:#fff4df}.vdn-legend .sw.auto{border:1.5px dashed #2fb57d;background:#e5f6ee}
.vdn-legend .sw.end{border-radius:999px;border-color:#c8332f;background:#fdeceb}.vdn-legend .sw.link{border-radius:999px;border-color:var(--blue);background:#e8f0fe}
.vdn-desc{margin:0 18px 12px;color:var(--muted);font-size:14px;max-width:110ch}
.vdn-scroll{overflow-x:auto;border-top:1px solid var(--card-border)}
.vdn-lanes{position:relative;display:grid;min-width:1100px}
.vdn-edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}
.vdn-edges path{fill:none;stroke:#b8c6d8;stroke-width:1.6}.vdn-edges path.no{stroke:#c8332f;stroke-dasharray:5 4}.vdn-edges path.yes{stroke:#2fb57d}
.vdn-edges .mk{fill:#b8c6d8}.vdn-edges .mk.yes{fill:#2fb57d}.vdn-edges .mk.no{fill:#c8332f}
.vdn-edges .lbl rect{fill:var(--card);stroke:var(--card-border)}.vdn-edges .lbl text{fill:var(--muted);font:600 11px var(--font,inherit)}
.vdn-colh{font-size:11.5px;font-weight:600;color:var(--muted);padding:8px 6px 6px;border-bottom:1px solid var(--card-border);text-align:center;font-variant-numeric:tabular-nums}
.vdn-colh.corner{text-align:left;padding-left:12px}
.vdn-laneh{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:700;border-bottom:1px solid var(--card-border);background:#f8fafd;position:sticky;left:0;z-index:3}
.vdn-laneh i{width:4px;align-self:stretch;border-radius:3px;background:var(--lc)}
.vdn-laneh small{display:block;font-weight:500;color:var(--muted);font-size:11.5px}
.vdn-cell{padding:10px 7px;border-bottom:1px solid var(--card-border);display:flex;flex-direction:column;gap:8px;justify-content:center}
.vdn-cell.alt,.vdn-laneh.alt{background:#f8fafd}
.vdn-card{position:relative;z-index:2;background:var(--card);border:1.5px solid #c9d4e2;border-left:4px solid var(--lc,#c9d4e2);border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.4;display:grid;gap:4px}
.vdn-card b{font-size:13.2px}.vdn-card .why{color:var(--muted);font-size:12px}
.vdn-card .tags{display:flex;flex-wrap:wrap;gap:4px}
.vdn-tag{font-size:10.5px;font-weight:600;border-radius:6px;padding:1px 6px;background:var(--hair);color:var(--muted);white-space:nowrap}
.vdn-tag.due{background:#e8f0fe;color:var(--blue);font-variant-numeric:tabular-nums}.vdn-tag.law{background:#fff4df;color:#a86a05}.vdn-tag.p{background:#e5f6ee;color:#1f8a5b}
.vdn-card.dec{border-color:#c47a06;background:#fff8ec}
.vdn-card.dec::before{content:"";position:absolute;top:8px;right:8px;width:9px;height:9px;transform:rotate(45deg);background:#c47a06;border-radius:2px}
.vdn-card.auto{border-style:dashed;border-left-style:solid;background:#f0faf5}
.vdn-card.end{border-color:#c8332f;border-left-color:#c8332f;background:#fdeceb;border-radius:999px;text-align:center;padding:7px 12px}
.vdn-card.link{border-color:var(--blue);border-left-color:var(--blue);background:#e8f0fe;border-radius:999px;text-align:center;padding:7px 12px;color:var(--blue);font-weight:700;text-decoration:none}
.vdn-notes{display:flex;gap:10px;align-items:flex-start;padding:12px 18px 16px;border-top:1px solid var(--card-border);font-size:13.5px}
.vdn-notes>svg{width:16px;height:16px;flex:none;margin-top:3px;color:#1f8a5b}.vdn-notes ul{margin:0;padding-left:18px}
html[data-mode="dark"] :is(.vdn-node,.vdn-laneh,.vdn-cell.alt,.vdn-laneh.alt){background:#0f1c2e}
html[data-mode="dark"] .vdn-card.dec{background:#2d230f}html[data-mode="dark"] .vdn-card.auto{background:#0f2a1e}html[data-mode="dark"] .vdn-card.end{background:#331616}html[data-mode="dark"] .vdn-card.link{background:#13284a}
/* Tin nội bộ · ảnh TN-3: tin khẩn + tin chưa đọc trên màn hình chính, mặc định báo có chuông */
.tn-urg{background:#b91c1c;color:#fff;border-radius:14px;padding:14px 18px;display:grid;gap:4px;margin-bottom:14px}
.tn-urg .tg{font-size:12px;font-weight:800;letter-spacing:.06em;display:flex;gap:7px;align-items:center}.tn-urg .tg svg{width:16px;height:16px}
.tn-urg h3{margin:0;font-size:19px;line-height:1.3}.tn-urg p{margin:0;font-size:13.5px;opacity:.9}
.tn-urg .go{display:flex;gap:10px;margin-top:8px}.tn-urg .go .btn{background:#fff;color:#b91c1c;border-color:#fff}.tn-urg .go .btn.ghost{background:rgba(255,255,255,.16);color:#fff;border-color:transparent}
.tn-fresh{display:flex;gap:14px;align-items:center;padding:12px 16px;margin-bottom:14px;text-decoration:none;color:var(--ink)}
.tn-fresh img,.tn-fresh .ic{width:64px;height:48px;border-radius:10px;object-fit:cover;flex:none}.tn-fresh .ic{background:color-mix(in srgb,var(--blue) 10%,var(--card));color:var(--blue);display:grid;place-items:center}
.tn-fresh .tx{flex:1;min-width:0;display:grid;gap:1px}.tn-fresh small{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);display:flex;gap:6px;align-items:center}
.tn-fresh small i{width:8px;height:8px;border-radius:50%;background:var(--blue)}.tn-fresh b{font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tn-fresh .tx>span{font-size:13px;color:var(--muted)}
.tn-post.urgent{border-color:#b91c1c}.tn-urgb{background:#b91c1c;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;padding:6px 16px;display:flex;gap:7px;align-items:center;border-radius:9px 9px 0 0}.tn-urgb svg{width:15px;height:15px}
.tn-opt.urgent b{color:#b91c1c}.tn-opt.urgent:has(input:checked){border-color:#b91c1c;background:#fef2f2}
.card.tn-fresh>svg:not(.spark){width:18px;height:18px;flex:none;color:var(--muted)}.tn-fresh .ic svg{width:22px;height:22px;color:inherit}
/* Dùng thử app · thu email Apple ID (ảnh TA-1) */
.ta{display:grid;gap:16px;align-items:start;max-width:620px}.ta.two{grid-template-columns:minmax(320px,1fr) 1.3fr;max-width:none}
.ta h3{margin:0 0 4px;font-size:16.5px;display:flex;gap:8px;align-items:center}.ta h3 svg{width:18px;height:18px}
.ta-opts{display:grid;gap:10px;margin-top:12px}
.ta-op{display:flex;gap:12px;align-items:center;border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;cursor:pointer}
.ta-op.on{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 6%,var(--card))}
.ta-op input{width:18px;height:18px;flex:none;accent-color:var(--blue)}.ta-op b{display:block;font-size:15px}.ta-op small{color:var(--muted);font-size:13px}
.ta-fld{margin-left:30px}.ta-fld small{display:block;margin-top:4px;font-size:12.5px}
.ta-foot{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:4px}.ta-foot .muted{font-size:13px}.ta-foot .muted svg{width:15px;height:15px;vertical-align:-3px;margin-right:5px;color:#15803d}
.ta-next{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:var(--hair);font-size:14px}.ta-next svg{width:16px;height:16px;vertical-align:-3px;margin-right:6px}
.ta-hint{font-size:12px;font-weight:700;color:#b45309;letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px}
.ta-kp{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.ta-kp div{border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px}.ta-kp b{display:block;font-size:21px}.ta-kp small{color:var(--muted);font-size:12.5px}
.ta-acts{margin-bottom:12px}.ta-acts .btn.disabled{opacity:.5;pointer-events:none}
.ta-tb{width:100%;border-collapse:collapse;font-size:14px}.ta-tb th{text-align:left;font-size:12px;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--card-edge)}
.ta-tb td{padding:9px 10px;border-bottom:1px solid var(--hair);vertical-align:middle;overflow-wrap:anywhere}.ta-tb td b{display:block;font-weight:600}.ta-tb small{color:var(--muted)}
.ta-pill{display:inline-block;font:inherit;font-size:12px;font-weight:700;border-radius:10px;padding:2px 9px;border:0;white-space:nowrap}
.ta-pill.i{background:#e0edff;color:#1d4ed8}.ta-pill.a{background:#e7f6ec;color:#15803d}.ta-pill.n{background:var(--hair);color:var(--muted)}.ta-pill.w{background:var(--warn-bg);color:#b45309}button.ta-pill{cursor:pointer}
.ta-note{font-size:13px;margin:10px 0 0}.ta-prev{width:100%;height:420px;border:1px solid var(--card-edge);border-radius:10px;background:#fff}.ta-copy{width:100%}
.card.ta-card{display:flex;gap:14px;align-items:center;padding:12px 16px;margin-bottom:14px;text-decoration:none;color:var(--ink);border-color:var(--blue);background:color-mix(in srgb,var(--blue) 6%,var(--card))}
.ta-card .ic{width:42px;height:42px;border-radius:11px;background:var(--blue);color:#fff;display:grid;place-items:center;flex:none}.card.ta-card .ic>svg:not(.spark){width:22px;height:22px}
.ta-card .tx{flex:1;min-width:0;display:grid}.ta-card b{font-size:15.5px}.ta-card small{color:var(--muted);font-size:13px}
@media (max-width:900px){.ta.two{grid-template-columns:1fr}.ta-kp{grid-template-columns:repeat(2,1fr)}}

/* ---------- Xác nhận tài sản (/tai-san/xac-nhan, 08/10/2026) ---------- */
.ac-card{margin-bottom:16px}
.ac-intro{margin:0 18px 10px;color:var(--muted);font-size:14px}
.ac-pad{padding:0 18px 16px}
.ac-steps{display:flex;gap:8px;list-style:none;margin:0 18px 14px;padding:0;flex-wrap:wrap}
.ac-steps li{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--muted);padding:6px 12px 6px 6px;border-radius:999px;background:#f4f7fb}
.ac-steps li span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e3e9f2;font-size:12px;font-weight:700}
.ac-steps li span svg{width:14px;height:14px}
.ac-steps li.on{color:var(--blue);background:var(--build-bg)}.ac-steps li.on span{background:var(--blue);color:#fff}
.ac-steps li.done{color:#167548}.ac-steps li.done span{background:#167548;color:#fff}
.ac-steps li.skip{opacity:.55}
.ac-tbl-ui td{vertical-align:middle}.ac-tbl-ui .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ac-tbl-ui tr.r-DUNG td:first-child{box-shadow:inset 3px 0 #167548}.ac-tbl-ui tr.r-SAI td:first-child,.ac-tbl-ui tr.r-KHONG_GIU td:first-child{box-shadow:inset 3px 0 #d39a1c}
.ac-seg{display:inline-flex;border:1px solid #d6dfea;border-radius:10px;overflow:hidden;background:var(--card)}
.ac-seg button{display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:7px 10px;font:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}
.ac-seg button+button{border-left:1px solid #e3e9f2}
.ac-seg button svg{width:14px;height:14px}
.ac-seg button:hover{background:#f4f7fb;color:var(--ink)}
.ac-seg button.on.DUNG{background:#e8f6ee;color:#167548}.ac-seg button.on.SAI,.ac-seg button.on.KHONG_GIU{background:#fff4df;color:#a86a05}
.ac-note-line{margin-top:4px}
.ac-ph{white-space:nowrap}.ac-ph label.btn{cursor:pointer}.ac-thumb{display:inline-flex;gap:5px;align-items:center;color:#167548;font-weight:600;font-size:13px}.ac-thumb svg{width:15px;height:15px}
.btn.warn-btn{border-color:#d39a1c;color:#a86a05}
.ac-extra{margin:12px 18px 0;padding:12px 14px;border:1px dashed #cdd8e6;border-radius:12px;display:grid;gap:8px}
.ac-extra-h{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:14px}
.ac-extra-row{display:flex;gap:8px;align-items:center;font-size:13.5px}.ac-extra-row>svg{width:15px;height:15px;color:var(--blue)}.ac-extra-row span{flex:1}
.ac-foot{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:14px;padding:12px 18px;border-top:1px solid var(--card-border);background:#fafbfd;border-radius:0 0 14px 14px;font-size:14px}
.ac-minutes{margin:4px 18px 0;padding:22px 26px;border:1px solid var(--card-border);border-radius:12px;background:#fff;color:#1b1b1b;max-height:560px;overflow:auto}
.ac-min .ac-h{text-align:center;font-weight:700;font-size:16px;margin:0 0 2px}.ac-min .ac-sub{text-align:center;font-style:italic;margin:0 0 14px}
.ac-min .ac-tbl{width:100%;border-collapse:collapse;margin:8px 0;font-size:13.5px}.ac-min .ac-tbl th,.ac-min .ac-tbl td{border:1px solid #9aa5b4;padding:5px 7px;text-align:left}
.ac-min .ac-tbl .r{text-align:right;white-space:nowrap}.ac-min .ac-tbl .sum td{font-weight:700}
.ac-min .ac-note{font-size:12.5px;font-style:italic;color:#444}.ac-min .ac-sign{margin-top:14px;text-align:right;font-size:13.5px}
.ac-sign{margin:14px 18px 18px;display:grid;gap:10px}
.ac-pin{display:flex;gap:10px;flex-wrap:wrap}.ac-pin .input{max-width:220px;min-height:42px}
.ac-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:0 18px}
.ac-kpi{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--card-border);border-radius:12px}
.ac-kpi .ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--build-bg);color:var(--blue);margin-bottom:4px}.ac-kpi .ic svg{width:16px;height:16px}
.ac-kpi small{font-size:12.5px;color:var(--muted);font-weight:600}.ac-kpi b{font-size:24px;font-variant-numeric:tabular-nums}
.ac-kpi.warn .ic{background:var(--warn-bg);color:var(--warn)}.ac-kpi.danger .ic{background:var(--danger-bg);color:var(--danger)}.ac-kpi.danger b{color:var(--danger)}.ac-kpi.ok .ic{background:var(--ok-bg);color:var(--ok)}
.ac-prog{display:flex;gap:12px;align-items:center;padding:14px 18px 18px;font-size:14px}.ac-prog .hf-bar{flex:0 0 220px}
html[data-mode="dark"] :is(.ac-steps li,.ac-foot,.ac-seg){background:#0f1c2e}
@media (max-width:1000px){.ac-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.ac-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-seg{flex-wrap:wrap}.ac-prog{flex-wrap:wrap}}
/* ===== Báo cáo công tác tháng (ảnh CT-1..CT-4, anh Tâm duyệt 08/10/2026) — màn hình: tiền tố ct-, bản in: ctp ===== */
/* Hai chỗ trùng tên lớp trên trang Lập đề nghị chi: .stepper (ô tăng giảm số, cao 42px) đè thanh bước; .me (thanh trên, chữ trắng) đè "Người lập" trong lộ trình duyệt */
ol.stepper.card{height:auto;align-items:stretch;gap:6px}
.appr li.me{color:inherit;padding:0 22px 0 0;border-radius:0}.appr li.me:hover{background:none}
.appr li.me b{font-size:13.5px;white-space:normal}.appr li.me small{font-size:11px;opacity:1;max-width:none;white-space:normal}
/* Mẫu đề nghị: thẻ thứ 6 */
.form-types.six{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.form-types.six .form-type{padding:12px;text-align:left;font:inherit;color:inherit}
.form-type .top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.form-type .new{font-size:10px;font-weight:700;color:var(--ok);background:var(--ok-bg);border-radius:6px;padding:1px 6px}
.form-type:disabled{opacity:.5;cursor:not-allowed}
@media (max-width:1100px){.form-types.six{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Kỳ báo cáo và người lập */
.ct-who{display:grid;grid-template-columns:190px 1.1fr 1fr 1.15fr;gap:12px 14px;align-items:end}
.ct-who .input.ro{background:var(--bg);color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;padding:10px 12px;min-height:44px}
.ct-who select{font-weight:600}
.ct-auto-note{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--muted);margin:10px 0 0}
.ct-auto-note svg{width:14px;height:14px;flex:none;margin-top:2px}
.ct-exist{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.ct-exist .grow{flex:1;min-width:200px}
/* Lịch tháng */
.ct-cal{display:grid;grid-template-columns:repeat(31,minmax(0,1fr));gap:3px;margin:2px 0 6px}
.ct-cal.d28{grid-template-columns:repeat(28,minmax(0,1fr))}.ct-cal.d29{grid-template-columns:repeat(29,minmax(0,1fr))}.ct-cal.d30{grid-template-columns:repeat(30,minmax(0,1fr))}
.ct-cal i{font-style:normal;display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 0 5px;border-radius:7px;background:var(--bg);font-size:12px;font-weight:600;color:var(--ink);line-height:1.2;position:relative;min-width:0}
.ct-cal i small{font-size:9px;font-weight:700;color:var(--muted);letter-spacing:0}
.ct-cal i.sun{color:var(--danger)}.ct-cal i.sun small{color:var(--danger)}
.ct-cal i.hol{background:var(--danger-bg);color:var(--danger)}.ct-cal i.hol small{color:var(--danger)}
.ct-cal i.on{background:var(--blue);color:#fff}.ct-cal i.on small{color:#ffffffcc}
.ct-cal i.on.first{border-radius:7px 3px 3px 7px}.ct-cal i.on.mid{border-radius:3px}.ct-cal i.on.last{border-radius:3px 7px 7px 3px}.ct-cal i.on.first.last{border-radius:7px}
.ct-cal i.on.rest{background:var(--design);color:#fff}.ct-cal i.on.rest small{color:#ffffffcc}
html[data-mode="dark"] .ct-cal i.on,html[data-mode="dark"] .ct-cal i.on.rest{color:#0b1524}html[data-mode="dark"] .ct-cal i.on small{color:#0b1524cc}
.ct-cal i.clash{box-shadow:0 0 0 2px var(--card),0 0 0 4px #e8a317}
.ct-cal i.clash::after{content:"!";position:absolute;top:-7px;right:-5px;width:14px;height:14px;border-radius:50%;background:#e8a317;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;line-height:1}
.ct-legend{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:14px}
.ct-legend span{display:inline-flex;align-items:center;gap:6px}
.ct-legend em{width:12px;height:12px;border-radius:4px;background:var(--blue);display:inline-block}
.ct-legend em.rest{background:var(--design)}.ct-legend em.hol{background:var(--danger-bg);box-shadow:inset 0 0 0 1px var(--danger-line)}
.ct-legend em.clash{background:var(--card);box-shadow:0 0 0 2px #e8a317}
/* Mục A: mỗi đợt một khối */
.ct-sec-h{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.ct-sec-h>div:not(.actions){flex:1;min-width:0}
.ct-letter{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--navy);color:#fff;font-weight:700;font-size:18px}
html[data-mode="dark"] .ct-letter{background:#24395a}
.ct-sec-h h2{margin:0;font-size:var(--fs-section);font-weight:700}
.ct-sec-h .sub{display:block}
.ct-sec-h .actions{margin-left:auto;display:flex;gap:8px;align-items:center}
.ct-trips{display:grid;gap:12px}
.ct-trip{border:1px solid var(--card-edge);border-radius:12px;overflow:hidden;background:var(--card)}
.ct-trip.warn{border-color:#e8c36a}.ct-trip.bad{border-color:var(--danger-line)}
.ct-trip-h{display:flex;align-items:center;gap:10px;padding:10px 12px 0 14px}
.ct-trip-h .sp{flex:1}
.ct-no{width:24px;height:24px;border-radius:50%;background:var(--build-bg);color:var(--blue);font-size:12.5px;font-weight:700;display:grid;place-items:center;flex:none}
.ct-trip-h b{font-size:14.5px}
.ct-del{border:0;background:none;cursor:pointer;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:#9aa8ba;padding:0}.ct-del svg{width:16px;height:16px}
.ct-del:hover{background:var(--danger-bg);color:var(--danger)}
.ct-trip-f{display:grid;grid-template-columns:150px 150px minmax(0,.8fr) minmax(0,1.5fr);gap:10px 12px;padding:8px 14px 12px}
.ct-trip-f .field{gap:4px}.ct-trip-f .field>span{font-size:11px}
.ct-trip-f .all{grid-column:1/-1}
.ct-trip-f .field input,.ct-trip-f .field select,.ct-trip-f .field textarea{min-height:40px;padding:8px 10px;font-size:14px;border-radius:10px}
.ct-trip-f .field textarea{min-height:40px;line-height:1.4;resize:vertical;field-sizing:content}
.ct-calc{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;padding:10px 14px;background:var(--bg);border-top:1px solid var(--hair);font-size:13.5px}
.ct-lock{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.ct-lock svg{width:13px;height:13px}
.ct-days b{font-size:17px;font-variant-numeric:tabular-nums}
.ct-x{color:var(--muted);font-variant-numeric:tabular-nums;flex:1;min-width:0}.ct-x .cn{color:var(--design);font-weight:600}
.ct-amt{margin-left:auto;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.ct-err{color:var(--danger);font-weight:600}
.ct-flag{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;background:var(--warn-bg);color:var(--warn);font-size:13.3px;line-height:1.5;border-top:1px solid color-mix(in srgb,#e8a317 35%,var(--card))}
.ct-flag>svg{width:17px;height:17px;flex:none;margin-top:2px}
.ct-flag>div{flex:1;min-width:0}
.ct-flag b{font-weight:700}.ct-flag .ct-flag-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.ct-flag .btn.sm{min-height:32px;font-size:13px;background:var(--card);color:var(--ink)}
.ct-flag .why{display:block;margin-top:8px;background:var(--card);border:1px solid color-mix(in srgb,#e8a317 45%,var(--card));border-radius:10px;padding:8px 12px;color:var(--ink)}
.ct-flag .why small{display:block;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.ct-flag .why textarea{display:block;width:100%;border:0;background:none;color:var(--ink);font:inherit;padding:2px 0 0;min-height:44px;resize:vertical;outline:none;field-sizing:content}
.ct-flag .why.miss{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 15%,transparent)}
.ct-sub{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.ct-sub .sum{margin-left:auto;display:flex;align-items:baseline;gap:12px;font-size:13.5px;color:var(--muted)}
.ct-sub .sum b{font-size:19px;color:var(--ink);font-variant-numeric:tabular-nums}
.ct-rate{display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:9px 12px;border-radius:10px;background:var(--build-bg);color:var(--ink);font-size:13px;line-height:1.5}
.ct-rate svg{width:16px;height:16px;flex:none;color:var(--blue);margin-top:2px}
/* Mục B */
table.lines.ct-b{min-width:0;table-layout:fixed}
table.lines.ct-b th.stt{width:26px}table.lines.ct-b th.d{width:126px}table.lines.ct-b th.f{width:98px}table.lines.ct-b th.a{width:112px}table.lines.ct-b th.del{width:34px}
table.lines.ct-b td,table.lines.ct-b th{padding-left:4px;padding-right:4px}table.lines.ct-b td.d input{padding-left:8px;padding-right:4px}table.lines.ct-b .ct-att{padding:0 6px}
table.lines.ct-b textarea{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;font:inherit;font-size:13.5px;line-height:1.4;resize:vertical;field-sizing:content;display:block}
html[data-mode="dark"] table.lines.ct-b textarea{background:var(--card);color:var(--ink);border-color:var(--card-edge)}
table.lines.ct-b td:nth-child(4){min-width:0}
table.lines.ct-b td{vertical-align:top}table.lines.ct-b td.stt{padding-top:15px}table.lines.ct-b td.del{padding-top:9px}
table.lines.ct-b .d{width:150px}table.lines.ct-b .a{width:132px}table.lines.ct-b .f{width:128px}
table.lines.ct-b .of{display:block;font-size:11.5px;color:var(--muted);margin:3px 0 0 2px}
table.lines.ct-b .of.ct-err{font-weight:600;color:var(--danger)}
.ct-att{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:var(--card);font:inherit;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;width:100%;justify-content:center;cursor:pointer}
.ct-att svg{width:15px;height:15px;color:var(--ok)}
.ct-att.miss{border:1.5px dashed #e8a317;color:var(--warn);background:var(--warn-bg)}.ct-att.miss svg{color:var(--warn)}
.ct-empty{padding:14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:13.5px;text-align:center}
/* Tổng cộng */
.card.ct-total{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.5fr);align-items:stretch;gap:0;padding:0;overflow:hidden}
.ct-total .c{padding:16px 20px;display:flex;flex-direction:column;gap:2px;justify-content:center;min-width:0}
.ct-total .c small{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.ct-total .c b{font-size:20px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ct-total .c span{font-size:12.5px;color:var(--muted)}
.ct-total .op{display:grid;place-items:center;font-size:20px;font-weight:600;color:#9aa8ba}
.ct-total .c.t{background:var(--navy);color:#fff}
html[data-mode="dark"] .ct-total .c.t{background:#1a2f4e}
.ct-total .c.t small{color:#a9bad0}.ct-total .c.t b{font-size:28px;line-height:1.15}.ct-total .c.t span{color:#cfdbea;font-style:italic;font-size:12.5px;line-height:1.4}
/* Chứng từ có ảnh thu nhỏ */
.ct-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.ct-th{border:1px solid var(--card-edge);border-radius:10px;overflow:hidden;background:var(--card);position:relative;min-width:0;margin:0}
.ct-th-img{height:92px;background:color-mix(in srgb,var(--muted) 14%,var(--card));display:grid;place-items:center;overflow:hidden;position:relative;width:100%;border:0;padding:0;cursor:pointer;color:var(--muted)}
.ct-th-img img{width:100%;height:100%;object-fit:cover;display:block}
.ct-th-img .ft{font-size:12px}.ct-th-img>svg{width:26px;height:26px}
.ct-th figcaption{padding:6px 8px 7px;font-size:12px;line-height:1.3}
.ct-th figcaption b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-th figcaption small{color:var(--muted);font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-th figcaption .link{font-size:11.5px;padding:0}
.ct-tag{position:absolute;left:6px;top:6px;background:var(--navy);color:#fff;font-size:10.5px;font-weight:700;border-radius:6px;padding:1px 6px;z-index:2;pointer-events:none}
.ct-tag.loose{background:#e8a317}
.ct-th .rm{position:absolute;right:5px;top:5px;width:22px;height:22px;border-radius:50%;border:0;padding:0;background:#ffffffe6;color:#56687f;display:grid;place-items:center;z-index:2;cursor:pointer}.ct-th .rm svg{width:12px;height:12px}
.ct-th.busy{opacity:.6}
button.ct-th.add{border:1.5px dashed #c9d3e0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);font:inherit;font-size:12.5px;text-align:center;padding:8px;min-height:138px;background:color-mix(in srgb,var(--muted) 5%,var(--card));cursor:pointer}
.ct-th.add svg{width:22px;height:22px;color:var(--blue)}.ct-th.add b{color:var(--ink);font-size:13px}
.ct-th.add span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.ct-th.need{border:1.5px dashed #e8a317;background:var(--warn-bg);color:var(--warn)}.ct-th.need svg{color:var(--warn)}.ct-th.need b{color:var(--warn)}
/* CT-6a: loại khoản ở mục B, khoản đang chặn gửi, nút Gửi duyệt mờ kèm lý do */
table.lines.ct-b th.k{width:142px}table.lines.ct-b td.k select{min-width:0;width:100%;padding-left:8px;padding-right:2px;text-overflow:ellipsis}
.ct-kinds{display:flex;gap:6px 8px;flex-wrap:wrap;align-items:center;margin:0 0 10px;font-size:13px;color:var(--muted)}.ct-kinds .pill svg{width:13px;height:13px}
table.lines.ct-b tr.blocked td{background:color-mix(in srgb,var(--danger) 7%,var(--card))}
table.lines.ct-b tr.blocked td:first-child{box-shadow:inset 3px 0 0 var(--danger)}
table.lines.ct-b tr.blocked .ct-att.miss{border-color:var(--danger);color:var(--danger);background:var(--card)}table.lines.ct-b tr.blocked .ct-att.miss svg{color:var(--danger)}
.ct-blk{display:flex;gap:5px;align-items:flex-start;margin:4px 0 0 2px;font-size:12px;font-weight:600;color:var(--danger);line-height:1.35}.ct-blk svg{width:13px;height:13px;flex:none;margin-top:2px}
.btn.ct-dim{opacity:.55}
.ct-blockbox{display:flex;gap:8px;align-items:flex-start;margin-bottom:12px;padding:10px 12px;border-radius:10px;background:var(--danger-bg);color:var(--danger);font-size:13.3px;line-height:1.5}
.ct-blockbox>svg{width:16px;height:16px;flex:none;margin-top:2px}.ct-blockbox .link{padding:0;font-size:13px}
.ct-bykind{font-weight:500;font-size:12.5px;color:var(--muted);margin-left:8px}
table.data.ct-ro .wide.b{width:34%}
@media (max-width:600px){table.lines.ct-b td.k{grid-column:1/-1;order:3}table.lines.ct-b td.desc{order:4}table.lines.ct-b td.f{order:5}table.lines.ct-b tr.blocked{border-color:var(--danger)}table.lines.ct-b tr.blocked td:first-child{box-shadow:none}}
/* Tên mô tả chứng từ (ô gõ khi còn nháp) + Kế toán trưởng kiểm từng tệp */
.ct-th figcaption .ct-lb{display:block;width:100%;border:1px solid transparent;border-radius:6px;background:none;color:var(--ink);font:inherit;font-size:12px;font-weight:600;padding:1px 4px;margin:-2px -4px 0;min-height:0;text-overflow:ellipsis}
.ct-th figcaption .ct-lb::placeholder{color:var(--ink);opacity:1;font-weight:600}
.ct-th figcaption .ct-lb:hover{border-color:var(--line)}
.ct-th figcaption .ct-lb:focus{outline:none;border-color:var(--blue);background:var(--card);box-shadow:0 0 0 3px rgba(6,101,237,.15)}
.ct-th figcaption .ct-lb:focus::placeholder{color:var(--muted);font-weight:500}
.ct-thumbs.ck{grid-template-columns:repeat(4,minmax(0,1fr))}
.ct-ck{display:flex;flex-direction:column;gap:4px;margin-top:6px;align-items:flex-start}
.ct-ck .pill svg{width:12px;height:12px}
.ct-ck-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%}
.ct-ck-seg button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer;padding:0 4px;white-space:nowrap}
.ct-ck-seg button svg{width:13px;height:13px;flex:none}
.ct-ck-seg button:hover{border-color:var(--blue);color:var(--ink)}
.ct-ck-seg button.on.ok{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}
.ct-ck-seg button.on.bad{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}
.ct-th figcaption small.ct-ck-note{white-space:normal;color:var(--danger);font-size:11.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ct-th figcaption small.ct-ck-note.none{color:var(--muted)}
.ct-ck-hint{display:flex;gap:8px;align-items:flex-start;margin:0 0 12px;padding:9px 12px;border-radius:10px;background:var(--build-bg);font-size:13px;line-height:1.5}
.ct-ck-hint svg{width:16px;height:16px;flex:none;color:var(--blue);margin-top:2px}
.ct-chip.bad{color:var(--danger);border-color:var(--danger-line)}
.alert.inv-soft{margin-bottom:12px}
#trip-docs .card-head{flex-wrap:wrap}#trip-docs .card-head .actions{flex-wrap:wrap;justify-content:flex-end;min-width:0}#trip-docs .card-head .pill svg{width:13px;height:13px;flex:none}
@media (max-width:900px){.ct-thumbs.ck{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.ct-thumbs.ck{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Cột phải */
.ct-rules{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:13.5px}
.ct-rules li{display:flex;justify-content:space-between;gap:10px;align-items:baseline;border-bottom:1px dashed var(--line);padding-bottom:7px}
.ct-rules li:last-child{border-bottom:0;padding-bottom:0}.ct-rules b{font-variant-numeric:tabular-nums;white-space:nowrap}
.ct-checks{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:13.5px}
.ct-checks li{display:flex;gap:8px;align-items:flex-start;line-height:1.45}.ct-checks svg{width:16px;height:16px;flex:none;margin-top:2px}
.ct-checks .ok svg{color:var(--ok)}.ct-checks .warn{color:var(--warn);font-weight:600}.ct-checks .warn svg{color:var(--warn)}
.ct-checks .block{color:var(--danger);font-weight:600}.ct-checks .block svg{color:var(--danger)}
.preview-card .a4-wrap.mini.ct-mini{max-height:none;padding:10px;display:block;width:100%;border:0;cursor:zoom-in;text-align:left}
.preview-card .a4-wrap.mini.ct-mini .a4{zoom:.468}
.a4-wrap.big.ct-pages{display:flex;flex-direction:column;align-items:center;gap:16px}
/* CT-4: bảng kê chỉ đọc */
table.data.ct-ro td{vertical-align:top;padding-top:11px;padding-bottom:11px}
table.data.ct-ro th,table.data.ct-ro td{padding-left:10px;padding-right:10px}
table.data.ct-ro td:first-child,table.data.ct-ro th:first-child{padding-left:22px}table.data.ct-ro td:last-child,table.data.ct-ro th:last-child{padding-right:22px}
table.data.ct-ro .wide{width:44%}
table.data.ct-ro td{overflow-wrap:anywhere}table.data.ct-ro td.num,table.data.ct-ro td.c{overflow-wrap:normal;white-space:nowrap}
table.data.ct-ro th.c,table.data.ct-ro td.c{text-align:center}
table.data.ct-ro .when b{display:block;white-space:nowrap}table.data.ct-ro .when small{color:var(--muted);font-size:12px}
table.data.ct-ro .pj{display:block;margin-top:3px;font-size:12px;color:var(--muted)}
table.data.ct-ro .why{display:block;margin-top:4px;font-size:12.5px;color:var(--warn)}
table.data.ct-ro .x{display:block;font-size:12px;color:var(--muted);white-space:nowrap;font-weight:500}
table.data.ct-ro .x .cn{color:var(--design);font-weight:600}
table.data.ct-ro tr.sum td{background:var(--bg);font-weight:700;border-bottom:0}
table.data.ct-ro tr.flagged td{background:color-mix(in srgb,#e8a317 9%,var(--card))}
.ct-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:8px;padding:3px 9px;font:inherit;font-size:12.5px;font-weight:600;color:var(--blue);background:var(--card);white-space:nowrap;cursor:pointer}
.ct-chip svg{width:14px;height:14px}
.ct-chip.none{color:var(--warn);border-style:dashed;border-color:#e8a317;cursor:default}
.ct-pad{padding:0 22px 16px}
.ct-side-ab{width:100%;border-top:1px solid var(--card-border);margin-top:8px;padding-top:8px;display:grid;gap:4px;font-size:13.5px}
.ct-side-ab div{display:flex;justify-content:space-between;gap:10px}.ct-side-ab b{font-variant-numeric:tabular-nums;white-space:nowrap}
.ed-side .action-bar .btn.full{flex:1 1 100%}
.ct-side-print{display:flex}.ct-side-print .btn{flex:1;justify-content:center}
.ct-kv2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 20px;margin-top:14px}
.ct-kv2 div{min-width:0}.ct-kv2 small{display:block;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.ct-kv2 b{font-weight:600;font-size:14.5px;overflow-wrap:anywhere}.ct-kv2 span{display:block;font-size:12.5px;color:var(--muted)}
.card-head .ct-letter+h2{margin-left:0}
/* Điện thoại */
.ct-mbar{display:none}
@media (max-width:900px){.ct-kv2{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:600px){
  .form-types.six{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-who{grid-template-columns:1fr 1fr}.ct-who .w2{grid-column:1/-1}
  .ct-cal,.ct-cal.d30{grid-template-columns:repeat(15,minmax(0,1fr));row-gap:8px}.ct-cal.d28{grid-template-columns:repeat(14,minmax(0,1fr))}.ct-cal.d31{grid-template-columns:repeat(16,minmax(0,1fr))}
  .ct-sec-h{align-items:flex-start}.ct-sec-h .actions{display:none}
  .ct-trip-f{grid-template-columns:1fr 1fr}.ct-trip-f .w2{grid-column:1/-1}
  .ct-amt{font-size:18px}
  table.lines.ct-b tr{position:relative;border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px;margin-bottom:10px;display:grid!important;grid-template-columns:1fr 1fr;gap:8px 10px}
  table.lines.ct-b td{width:auto!important;padding:0}
  table.lines.ct-b td.stt{grid-column:1/-1;order:0;text-align:left;color:var(--ink);display:block!important;font-weight:700;font-size:12.5px;padding:0}table.lines.ct-b td.stt::before{content:"Khoản B"}
  table.lines.ct-b td.d{order:1}table.lines.ct-b td.a{order:2}table.lines.ct-b td.desc{grid-column:1/-1;order:3}table.lines.ct-b td.f{grid-column:1/-1;order:4}
  table.lines.ct-b td.del{padding:0}
  .card.ct-total{grid-template-columns:1fr 1fr}.ct-total .op{display:none}.ct-total .c{padding:12px 14px}.ct-total .c.t{grid-column:1/-1}
  .ct-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .ct-th-img{height:74px}
  .ct-sub .sum{width:100%;justify-content:space-between;margin-left:0}
  .ct-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:8px;align-items:center;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--card-edge);box-shadow:0 -6px 20px rgba(13,37,66,.1)}
  .ct-mbar .tt{display:flex;flex-direction:column;line-height:1.2;margin-right:auto;min-width:0}.ct-mbar .tt small{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase}.ct-mbar .tt b{font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}
  .ct-mbar .btn{min-height:44px;padding:0 12px;font-size:14px}
  .ct-form{padding-bottom:84px}
  table.data.ct-ro{min-width:560px}
  .ed-main .table-wrap:has(>.ct-ro){max-width:calc(100vw - 34px);overflow-x:auto}
  .preview-card .a4-wrap.mini.ct-mini .a4{zoom:.42}
}
/* ---------- Bản in báo cáo công tác (CT-3a / CT-3b): mỗi trang một tờ A4 cố định, tự chia trang ở public/js/trip-print.js ---------- */
.a4.ctp{padding:30px 44px 60px;font-size:12px;height:1123px;min-height:0}
.ctp-u{display:flow-root}
.ctp .p-head{align-items:center}
.ctp .p-brand img{height:46px}
.ctp .p-co{font-size:11px;color:#3d4b5c;line-height:1.45}.ctp .p-co b{display:block;font-size:13.5px;color:#0d2542;letter-spacing:.01em}
.ctp .p-qr{min-width:0;padding:4px 12px 4px 5px}.ctp .p-qr-img{width:54px;height:54px}.ctp .p-qr.empty{min-height:56px;padding:6px 12px}
.ctp .p-nation{font-size:10.5px;align-items:center;margin-top:8px;padding-top:6px}
.ctp .p-nation>span,.ctp .p-nation>i{flex:1;white-space:nowrap}.ctp .p-nation>i{text-align:right}.ctp .p-nation .m{white-space:nowrap}
.ctp .p-title{margin:9px 0 0}.ctp .p-title h1{font-size:21px}
.ctp .p-title .s{font-size:12px;color:#3d4b5c;margin-top:1px}
.ctp .p-meta{font-size:11px;color:#56687f;margin-top:3px;display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}
.ctp .p-st{margin-left:0;border-radius:999px;padding:1px 9px;font-size:9.5px;font-weight:700;letter-spacing:.03em}
.ctp-who{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:0;margin-top:7px;border:1px solid #d5deea;border-radius:10px;overflow:hidden}
.ctp-who>div{padding:5px 12px;border-left:1px solid #e3e9f1;min-width:0}.ctp-who>div:first-child{border-left:0;background:#f2f6fb;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.ctp-who small{display:block;font-size:9px;font-weight:700;color:#56687f;text-transform:uppercase;letter-spacing:.04em}
.ctp-who b{font-size:12.5px;font-weight:600;color:#111}.ctp-who span{display:block;font-size:10.5px;color:#56687f}
.a4.ctp p.ctp-to{margin:6px 0 0;font-size:11.5px;color:#111}.ctp-to b{font-weight:600}
.ctp-sec{display:flex;align-items:center;gap:8px;margin-top:7px;font-size:12px;font-weight:700;color:#0d2542;text-transform:uppercase;letter-spacing:.03em}
.ctp-sec i{font-style:normal;width:20px;height:20px;border-radius:6px;background:#0d2542;color:#fff;display:grid;place-items:center;font-size:11.5px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.ctp-sec span{margin-left:auto;font-weight:500;font-size:10.5px;color:#56687f;text-transform:none;letter-spacing:0}
.ctp .p-table{margin-top:5px;font-size:11px;table-layout:fixed}
.ctp .p-table th{padding:5px 7px;font-size:10px;white-space:nowrap}
.ctp .p-table td{padding:3.5px 7px;height:auto;vertical-align:top;line-height:1.4;overflow-wrap:break-word}
.ctp .p-table td b{font-weight:700}
.ctp .p-table td small{display:block;font-size:9.5px;color:#56687f}
.ctp .p-table td small.cn{color:#6941c6;font-weight:600;white-space:nowrap}
.ctp .p-table tr.sum td{font-size:12px;border-top:1.5px solid #0d2542;padding-top:5px;padding-bottom:2px}
.ctp .p-table .nw{white-space:nowrap}
.ctp .ctp-ta col.c1{width:32px}.ctp .ctp-ta col.c2{width:112px}.ctp .ctp-ta col.c3{width:80px}.ctp .ctp-ta col.c5{width:88px}.ctp .ctp-ta col.c6{width:80px}.ctp .ctp-ta col.c7{width:90px}
/* Ảnh 189: cột «Loại khoản» mang lớp ctp-ck (trước là ck) — từ 10/10/2026 lớp chung .ck (ô tick ảnh 171c, display:grid) ăn vào thẻ <col> làm mất cột,
   bề rộng các cột sau lệch một cột: «Nội dung» còn 66px, «Số tiền» phình 180px. Dòng «Kiểm: …» ở phụ lục cũng đổi sang ctp-ckq vì cùng lý do. */
.ctp .ctp-tb col.c1{width:32px}.ctp .ctp-tb col.c2{width:80px}.ctp .ctp-tb col.ctp-ck{width:122px}.ctp .ctp-tb col.c4{width:66px}.ctp .ctp-tb col.c5{width:80px}.ctp .ctp-tb col.c6{width:88px}
.ctp .p-table tr.sum .bk{font-weight:500;font-size:10.5px;color:#3d4b5c}
.ctp .p-total{margin-top:8px;padding:7px 14px;background:#0d2542;color:#fff;border-radius:10px}
.ctp .p-total small{color:#a9bad0;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.ctp .p-total i{font-size:11.5px;color:#dfe8f3}.ctp .p-total .big{color:#fff;font-size:24px;text-align:right}
.ctp .p-total .ab{font-size:10.5px;color:#a9bad0;text-align:right;margin-top:1px;font-variant-numeric:tabular-nums}
.ctp-two{display:grid;grid-template-columns:1.45fr 1fr;gap:12px;margin-top:8px;align-items:stretch}
.ctp-box{border:1px solid #e3e9f1;border-radius:10px;padding:7px 11px 8px;font-size:10.5px;min-width:0}
.ctp-box h4{margin:0 0 4px;font-size:9.5px;letter-spacing:.04em;color:#56687f;text-transform:uppercase;display:flex;justify-content:space-between;gap:8px}
.ctp-box h4 span{text-transform:none;letter-spacing:0;font-weight:500}
.a4.ctp .ctp-box p{margin:0;line-height:1.5;color:#3d4b5c}.ctp-box p b{color:#111;font-weight:600}
.ctp .p-signs{margin-top:8px;gap:10px}
.ctp .p-sg{min-height:96px;padding:6px 8px}
.ctp .p-sg h4{font-size:10.5px;color:#0d2542}
.ctp .p-sg .ro{font-size:9.5px;color:#56687f;margin-top:1px}
.ctp .p-seal{width:118px;min-height:32px;margin:6px 0 4px;font-size:8px;transform:rotate(-3deg)}.ctp .p-seal b{font-size:10.5px}
.ctp .p-seal.wait,.ctp .p-seal.skip{transform:none}
.ctp .p-sg .nm{font-size:12px}.ctp .p-sg .tm{font-size:9.5px}
.a4.ctp .a4-foot{left:44px;right:44px;bottom:18px}
.ctp .p-foot{font-size:9px;align-items:flex-end}.ctp .p-foot .pg{font-weight:700;color:#0d2542}.ctp .p-foot .mono{font-size:9px}
.ctp-cont{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-bottom:1px solid #e3e9f1;padding-bottom:6px;font-size:10.5px;color:#56687f}
.ctp-cont b{color:#0d2542;font-size:12px;letter-spacing:.02em}
/* Phụ lục chứng từ */
.ctp-aphead{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding-bottom:10px;border-bottom:1px solid #e3e9f1}
.ctp-aphead img{height:38px}.ctp-aphead h2{margin:0;font-size:16px;color:#0d2542;letter-spacing:.02em}.a4.ctp .ctp-aphead p{margin:1px 0 0;font-size:10.5px;color:#56687f}
.ctp-aphead .q{display:flex;gap:8px;align-items:center;font-size:9px;color:#56687f;text-align:right}.ctp-aphead .q svg{width:50px;height:50px}.ctp-aphead .q b{display:block;font-family:ui-monospace,Menlo,monospace;font-size:11px;color:#0d2542}
.ctp-ap{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.ctp-apc{border:1px solid #e3e9f1;border-radius:9px;overflow:hidden;margin:0;min-width:0}
.ctp-apc .im{height:158px;background:#e9edf3;display:grid;place-items:center;overflow:hidden;position:relative;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.ctp-apc .im img{width:100%;height:100%;object-fit:contain;display:block}
.ctp-apc .im .ph{display:flex;flex-direction:column;gap:6px;align-items:center;font-size:10px;color:#56687f;text-align:center;padding:0 12px}
.ctp-apc .im .ph b{background:#b42318;color:#fff;border-radius:4px;padding:2px 8px;font-size:11px;letter-spacing:.04em;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.ctp-apc .im .ph b.xls{background:#167548}.ctp-apc .im .ph b.doc{background:#1a4f9c}.ctp-apc .im .ph b.oth,.ctp-apc .im .ph b.img{background:#56687f}
.ctp-apc .no{position:absolute;left:6px;top:6px;background:#0d2542;color:#fff;font:700 10px ui-monospace,Menlo,monospace;border-radius:5px;padding:1px 6px;z-index:2;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.ctp-apc figcaption{padding:5px 8px 6px;font-size:10px;line-height:1.4;color:#56687f;white-space:nowrap;overflow:hidden}
.ctp-apc figcaption b{display:block;color:#111;font-size:10.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.ctp-apc figcaption span{display:block;overflow:hidden;text-overflow:ellipsis}
/* Đông kiểm thử 08/10 (N4): kết quả kiểm in đủ chữ, lý do Không đạt xuống tối đa 3 dòng */
.ctp-apc figcaption span.ctp-ckq{white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.ctp-apc figcaption span.ctp-ckq.bad{color:#b42318;font-weight:600}
/* N3: chữ dài không dấu cách (đường link…) tự xuống dòng, cột tiền luôn thấy */
.ctp-apsum td{overflow-wrap:anywhere}
.ctp-apsum{border:1px solid #e3e9f1;border-radius:9px;padding:10px 14px;font-size:11px;background:#f7f9fc;margin-top:12px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.ctp-ap .ctp-apsum{grid-column:span 2;margin-top:0}
.ctp-apsum h4{margin:0 0 6px;font-size:10px;letter-spacing:.04em;color:#56687f;text-transform:uppercase}
.ctp-apsum table{width:100%;border-collapse:collapse}.ctp-apsum td{padding:5px 0;border-bottom:1px solid #e3e9f1}.ctp-apsum td.r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ctp-apsum tr.t td{font-weight:700;color:#0d2542;border-bottom:0;border-top:1.5px solid #0d2542}
.a4.ctp .ctp-apsum p{margin:8px 0 0;font-size:10px;color:#56687f}
.a4.ctp p.ctp-apnote{margin:12px 0 0;font-size:10px;color:#56687f;border:1px dashed #c9d6e6;border-radius:8px;padding:6px 10px}
.ctp-measure{position:absolute!important;left:-99999px;top:0;visibility:hidden;height:auto!important;zoom:1!important;box-shadow:none!important}
@media print{
  /* Tờ A4 794×1123 thu về vừa vùng in 190×277 mm (lề trang 10 mm): bản in giống hệt bản xem trên màn hình, mỗi tờ một trang */
  body.printing #print-root .a4.ctp{zoom:.9;width:794px;height:1123px;min-height:0;padding:30px 44px 60px;overflow:hidden;break-after:page;page-break-after:always;break-inside:avoid}
  body.printing #print-root .a4.ctp:last-child{break-after:auto;page-break-after:auto}
  body.printing #print-root .a4.ctp .a4-foot{position:absolute;margin-top:0}
}

/* ===== AI đối chiếu lệnh chi (ảnh DC-1b web kế toán, DC-2 Tổng Giám đốc — anh Tâm duyệt 08/10/2026) =====
   .dc-* = trang Kế toán duyệt chi › Đối chiếu lệnh chi · .po-* = trang Lệnh chi hôm nay · .pay-gate = câu thay nút Chi khi khoá chi bật */
.dc-top{margin-bottom:16px}
.dc-strip{display:flex;gap:14px;align-items:center;padding:14px 16px;flex-wrap:wrap}
.dc-strip .tx{flex:1 1 260px;min-width:0}.dc-strip .tx b{display:block;font-size:15px}.dc-strip .tx b .pill{vertical-align:1px;margin-left:4px}
.dc-strip .pv{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dc-strip .btn svg{width:17px;height:17px}
.dc-strip-note{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--muted);padding:9px 16px;border-top:1px solid var(--card-border);background:#fafbfd;border-radius:0 0 var(--radius) var(--radius)}
.dc-strip-note svg{width:15px;height:15px;flex:none}.dc-strip-note .dc-done{margin-left:auto}
.dc-done{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--ok);font-weight:600}
.dc-done.wait{color:var(--warn)}
.dc-done svg{width:15px;height:15px}
.dc-note{display:flex;gap:8px;font-size:12.5px;line-height:1.45;color:var(--muted);background:var(--neutral-bg);border-radius:10px;padding:9px 10px}
.dc-note svg{width:16px;height:16px;flex:none;margin-top:1px}
.dc-ainote{margin-bottom:16px}
.dc-warns{margin:0;padding-left:18px}.dc-warns li+li{margin-top:4px}
.dc-flag{display:flex;gap:5px;align-items:flex-start;margin-top:5px;font-size:12.5px;line-height:1.4;font-weight:600;color:var(--warn)}.dc-flag svg{width:14px;height:14px;flex:none;margin-top:2px}
.dc-wait{display:flex;gap:10px;align-items:center;margin-bottom:16px;padding:12px 14px;border-radius:12px;background:var(--build-bg);color:var(--build);font-weight:600;font-size:14px}
.dc-spin{width:18px;height:18px;flex:none;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}
.dc-err{display:flex;gap:8px;align-items:flex-start;margin-bottom:16px}.dc-err svg{margin-top:2px}
/* Chưa có danh sách: ô lớn dán + ngày chuyển */
.dc-in{display:flex;flex-direction:column;gap:12px;padding:16px}
.dc-in h2{font-size:16px;font-weight:700;margin:0;line-height:1.3}
.dc-in .sub{margin:0}
.dc-text{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:10px 12px;font:inherit;font-size:13.5px;line-height:1.55;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;width:100%;margin:0}
textarea.dc-text{min-height:260px;resize:vertical}
textarea.dc-text:focus{outline:2px solid color-mix(in srgb,var(--blue) 45%,transparent);border-color:var(--blue)}
pre.dc-text{max-height:60vh;overflow:auto}
.dc-new-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.dc-day{max-width:190px}
.dc-last{padding-top:2px}
/* 4 ô số */
.dc-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.25fr);gap:12px;margin-bottom:16px}
.dc-sum .kt-kpi{margin:0}
.kt-kpi.danger{border-top-color:#e5484d}
.kt-kpi.navy{border-top-color:var(--navy)}
.dc-sum .kt-kpi b{font-variant-numeric:tabular-nums}
.dc-sum .kt-kpi.navy b{font-size:21px;margin:5px 0 3px}
.dc-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 16px 12px;border-bottom:1px solid var(--card-border)}
.dc-head h2{font-size:16px;font-weight:700;margin:0}
.dc-head .sub{margin-left:auto}
.dc-foot{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:14px 16px;border-top:1px solid var(--card-border);background:#fafbfd;border-radius:0 0 var(--radius) var(--radius)}
.dc-foot .sub{flex:1 1 260px;margin:0;line-height:1.45}
.dc-foot .btn svg{width:18px;height:18px}
/* Bảng kết quả cha – con 7 cột */
table.dc{table-layout:fixed;font-size:14px;min-width:980px}
table.dc th{padding:11px 12px;white-space:normal;line-height:1.3;vertical-align:bottom}
table.dc td{padding:12px 12px;vertical-align:top;line-height:1.4}
table.dc td:first-child,table.dc th:first-child{padding-left:18px}
table.dc td:last-child,table.dc th:last-child{padding-right:16px}
table.dc tbody tr:hover{background:none}
table.dc .c1{width:66px}table.dc .c3{width:124px}table.dc .c4{width:160px}table.dc .c5{width:124px}table.dc .c6{width:136px}table.dc .c7{width:262px}
table.dc .stt{white-space:nowrap;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
table.dc .name{overflow-wrap:anywhere}
table.dc .amt{font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
table.dc .amt.diff{color:var(--warn)}
table.dc .amt.none,table.dc .none{color:var(--muted);font-weight:400}
table.dc .code,.dc-pick .code{font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap}
table.dc .sub{display:block;font-size:12.5px;line-height:1.4;margin-top:1px;font-weight:400}
table.dc .why{display:block;font-size:12.5px;line-height:1.4;margin-top:5px;color:var(--ink)}
table.dc .pill svg{width:13px;height:13px}
table.dc tr.par td{background:#fafbfd}
table.dc tr.par .name{font-weight:700}
table.dc tr.kid td.name{padding-left:26px;position:relative}
table.dc tr.kid td.name::before{content:"";position:absolute;left:12px;top:0;bottom:0;border-left:2px solid var(--line)}
table.dc tr.kid.last td.name::before{bottom:auto;height:22px}
table.dc tr.kid td.name::after{content:"";position:absolute;left:12px;top:21px;width:9px;border-top:2px solid var(--line)}
table.dc .via,.dc-pick-line .via{display:block;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:1px}
table.dc tr.bad td{background:color-mix(in srgb,var(--danger-bg) 55%,var(--card))}
table.dc tr.bad td:first-child{box-shadow:inset 3px 0 #e5484d}
table.dc tr.care td:first-child{box-shadow:inset 3px 0 #f59e0b}
table.dc .btn.sm{min-height:32px;padding:0 10px;font-size:12.5px;margin-top:7px;white-space:nowrap}
table.dc .btn.sm svg{width:15px;height:15px;flex:none}
.dc-swap{display:block;border:0;background:none;padding:0;margin-top:3px;font:inherit;font-size:12.5px;color:var(--muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.dc-swap:hover{color:var(--blue)}
.dc-dec{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:7px;padding-top:7px;border-top:1px dashed var(--line)}
.dc-dec .sub{margin:0!important}
/* Hộp chọn đề nghị bằng tay */
.dc-pick-line{margin:0 0 12px;font-weight:600}
.dc-picks{display:grid;gap:6px;margin-top:10px;max-height:44vh;overflow:auto}
.dc-pick{display:flex;gap:10px;align-items:center;padding:9px 12px;border:1px solid var(--card-border);border-radius:12px;cursor:pointer}
.dc-pick:has(input:checked){border-color:var(--blue);background:color-mix(in srgb,var(--blue) 6%,var(--card))}
.dc-pick .tx{flex:1;min-width:0}.dc-pick .tx b{display:block;font-weight:600;overflow-wrap:anywhere}.dc-pick .tx .sub{display:block}
.dc-pick>b.diff{color:var(--warn)}
/* Các lần đối chiếu */
.dc-hist{list-style:none;margin:0;padding:0}
.dc-hist li{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:11px 16px;border-bottom:1px solid var(--card-border)}
.modal-body .dc-hist li{padding-left:0;padding-right:0}
.dc-hist li:last-child{border-bottom:0}.dc-hist li.cur a b::after{content:" · đang xem";font-weight:400;color:var(--muted)}
.dc-hist a{flex:1 1 220px;min-width:0;text-decoration:none}.dc-hist a b{display:block;color:var(--blue)}.dc-hist a .sub{display:block}
.dc-hist-n{text-align:right}.dc-hist-n b,.dc-hist-n .sub{display:block}
/* Khoá chi */
.dc-gate{display:flex;gap:14px;align-items:center;margin-top:16px}
.dc-gate .grow>b{display:block}.dc-gate p{margin:2px 0 4px;line-height:1.45}.dc-gate small{display:block}
.dc-gate .switch-btn{flex:none;min-width:44px;min-height:44px}
.dc-gate-line{display:flex;gap:8px;align-items:flex-start;margin:16px 2px 0;font-size:13px;color:var(--muted);line-height:1.45}
.dc-gate-line svg{width:16px;height:16px;flex:none;margin-top:1px}.dc-gate-line b{color:var(--ink)}
.pay-gate{display:flex;gap:8px 10px;align-items:center;flex-wrap:wrap;flex:1 1 320px;font-size:13.5px;line-height:1.45;color:var(--warn)}
.pay-gate>svg{width:17px;height:17px;flex:none}.pay-gate>span{flex:1 1 240px;min-width:0;white-space:normal;text-align:left}
.pay-gate .btn{flex:none}
.kt-run-gate{margin-top:6px}
.kt-gate{color:var(--warn)}
/* ----- Lệnh chi hôm nay (Tổng Giám đốc) ----- */
.po{max-width:760px;width:100%;min-width:0;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.po>*,.po-list>*{min-width:0;max-width:100%}
.po-hero{border-radius:16px;padding:14px 18px 16px;color:#fff;background:linear-gradient(#ffffff0e 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,#ffffff0e 1px,transparent 1px) 0 0/24px 24px,linear-gradient(135deg,#0d2542,#12355d)}
.po-hero small{display:block;font-size:12.5px;opacity:.85}.po-hero small .pill{margin-left:4px;font-size:11px;line-height:16px;opacity:1}
.po-hero .tot{font-size:30px;font-weight:700;letter-spacing:-.4px;margin:2px 0 10px;font-variant-numeric:tabular-nums}
.po-hero .st3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.po-hero .st3 div{background:#ffffff14;border:1px solid #ffffff22;border-radius:12px;padding:7px 10px;font-size:12px;line-height:1.3}
.po-hero .st3 b{display:block;font-size:20px;line-height:1.15}
.po-hero .st3 .g b{color:#8ee0b8}.po-hero .st3 .y b{color:#ffd27a}.po-hero .st3 .r b{color:#ffa39b}
.po-sec{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:4px 4px 0}
.po-sec svg{width:18px;height:18px;flex:none}.po-sec.ok{color:var(--ok)}
.po-sec span{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted)}
.po-list{display:flex;flex-direction:column;gap:8px}
.po-it{background:var(--card);border:1px solid var(--card-edge);border-radius:14px;padding:10px 12px 10px 15px;position:relative;overflow:hidden}
.po-it::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#f59e0b}
.po-it.r::before{background:#e5484d}.po-it.g::before{background:#16a34a}
.po-it .l1{display:flex;align-items:center;gap:8px}
.po-it .l1 .pill{padding:2px 9px 2px 7px;font-size:11.5px}.po-it .l1 .pill svg{width:13px;height:13px}
.po-it .amt{margin-left:auto;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.po-it .ti{display:block;width:100%;border:0;background:none;padding:0;margin:5px 0 0;font:inherit;font-weight:600;font-size:14px;color:var(--ink);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.po-it .ti.open{white-space:normal;overflow-wrap:anywhere}
.po-it .why{font-size:12.5px;color:var(--muted);margin-top:1px;line-height:1.4}.po-it .why a{font-weight:700}
.po-it .act{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.po-it .act button{min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:600;font-size:13.5px;cursor:pointer}
.po-it .act button svg{width:15px;height:15px}
.po-it .act button:disabled{opacity:.6;cursor:progress}
.po-it .act .go{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 30%,var(--card))}
.po-it .act .hold{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 28%,var(--card))}
.po-it .act .go.on{background:var(--blue);border-color:var(--blue);color:#fff}
.po-it .act .hold.on{background:#b42318;border-color:#b42318;color:#fff}
.po-it .act .dim{color:#9aa8ba;border-color:var(--hair);background:color-mix(in srgb,var(--hair) 45%,var(--card))}
.po-dec{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}
.po-fold{background:var(--card);border:1px solid var(--card-edge);border-radius:14px}
.po-fold summary{list-style:none;min-height:52px;padding:0 12px 0 14px;display:flex;align-items:center;gap:10px;cursor:pointer}
.po-fold summary::-webkit-details-marker{display:none}
.po-fold .dot{width:26px;height:26px;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center;flex:none}.po-fold .dot svg{width:15px;height:15px}
.po-fold summary b{font-size:14.5px;font-weight:600}.po-fold summary .amt{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted);font-size:13.5px}
.po-fold summary>svg{color:var(--muted);transform:rotate(90deg);width:16px;height:16px;flex:none;transition:transform .15s}
.po-fold[open] summary>svg{transform:rotate(-90deg)}
.po-fold .po-list{padding:0 10px 10px}
.po-bar{position:sticky;bottom:0;z-index:5;background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--card-edge);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:7px;box-shadow:0 -6px 18px rgba(13,37,66,.06)}
.po-big{min-height:52px;border-radius:14px;border:0;background:var(--blue);color:#fff;font:inherit;font-weight:700;font-size:15.5px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 4px 12px rgba(6,101,237,.25)}
.po-big svg{width:19px;height:19px}.po-big:disabled{opacity:.6;cursor:progress}
.po-bar small{font-size:12px;color:var(--muted);text-align:center;line-height:1.4}
.po-bar .ln{display:flex;justify-content:space-around;gap:10px;font-size:13px;color:var(--muted)}.po-bar .ln b{color:var(--ink);font-variant-numeric:tabular-nums}
.po .dc-gate{margin-top:6px}
.po-links{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:4px 0 0;font-size:13.5px}.po-links a{display:inline-flex;gap:6px;align-items:center;min-height:44px}.po-links svg{width:16px;height:16px}
html[data-mode="dark"] :is(.dc-strip-note,.dc-foot,table.dc tr.par td){background:#0f1c2e}
html[data-mode="dark"] .po-it .act .dim{color:#5f7189}
html[data-mode="dark"] .po-it .act .go.on{color:#06162b}
html[data-mode="dark"] .po-hero{background:linear-gradient(#ffffff0a 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,#ffffff0a 1px,transparent 1px) 0 0/24px 24px,linear-gradient(135deg,#13243c,#173a66)}
@media (max-width:1100px){.dc-sum{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  /* Bảng kết quả thành thẻ từng dòng (table.data.stack) — bỏ khung cây, giữ vạch màu mép trái */
  table.dc{min-width:0;table-layout:auto}
  table.dc.stack tr.kid{padding-left:30px}
  table.dc tr.kid td.name::before,table.dc tr.kid td.name::after{display:none}
  table.dc.stack tr.bad{box-shadow:inset 3px 0 #e5484d;background:color-mix(in srgb,var(--danger-bg) 55%,var(--card))}
  table.dc.stack tr.care{box-shadow:inset 3px 0 #f59e0b}
  table.dc.stack tr.par{background:#fafbfd}
  table.dc tr td{background:none!important;box-shadow:none!important}
  table.dc.stack td.amt{text-align:left}
  table.dc.stack td .sub,table.dc.stack td .why{display:inline;margin-left:6px}
  table.dc.stack td[data-label="Kết luận"] .why,table.dc.stack td[data-label="Kết luận"] .sub{display:block;margin-left:0}
  table.dc.stack td.name{font-weight:600;padding-left:0!important}
  table.dc.stack td.name::before,table.dc.stack td.stt::before{display:none}
  table.dc.stack td.stt{font-size:12px}
}
@media (max-width:700px){
  .dc-strip .btn,.dc-new-row .btn,.dc-foot .btn{flex:1 1 100%}
  .dc-strip-note .dc-done{margin-left:0}
  .dc-day{max-width:none;flex:1 1 100%}
  .dc-gate{align-items:flex-start}
  .po-hero .tot{font-size:28px}
}
html[data-mode="dark"] table.dc.stack tr.par{background:#0f1c2e}

/* ===== Kế hoạch công tác tháng + Sổ chi phí công tác + Báo cáo bổ sung (ảnh KH-1..KH-3, anh Tâm duyệt 08/10/2026) — tiền tố .kh- ===== */
.kh-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.kh-top .sub{margin-left:auto;display:inline-flex;gap:6px;align-items:center;font-size:13px}
.kh-top .sub svg{width:15px;height:15px}
.kh-stages{display:grid;grid-template-columns:1fr 1fr 1fr;padding:0}
.kh-stage{display:flex;gap:12px;align-items:flex-start;padding:14px 18px 14px 26px;position:relative;min-width:0}
.kh-stage:first-child{padding-left:18px}
.kh-stage+.kh-stage::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:14px;background:var(--card);clip-path:polygon(0 0,100% 50%,0 100%);z-index:2}
.kh-stage+.kh-stage{box-shadow:inset 1px 0 var(--card-edge)}
.kh-stage+.kh-stage::after{content:"";position:absolute;left:0;top:0;bottom:0;width:15px;background:var(--card-edge);clip-path:polygon(0 0,100% 50%,0 100%);z-index:1}
.kh-stage .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:13px;font-weight:700;background:var(--hair);color:#8a99ad;margin-top:1px}
.kh-stage .n svg{width:16px;height:16px}
.kh-stage b{display:block;font-size:15px;line-height:1.3}
.kh-stage small{display:block;font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:2px}
.kh-stage .lb{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:1px}
.kh-stage.done .n{background:var(--ok);color:#fff}
.kh-stage.now{background:color-mix(in srgb,var(--blue) 6%,var(--card))}
.kh-stage.now+.kh-stage::before{background:color-mix(in srgb,var(--blue) 6%,var(--card))}
.kh-stage.now .n{background:var(--blue);color:#fff}
.kh-stage.now b{color:var(--blue)}
.kh-stage.now .lb{color:var(--blue)}
.kh-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kh-kpis .kt-kpi{margin:0}
.kh-kpis .kt-kpi b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:23px}
.kh-kpis .kt-kpi>span:not(.kh-bar){display:block;line-height:1.45}
.kh-kpis .kt-kpi b em{font-style:normal;font-size:14px;font-weight:600;color:var(--muted)}
.kh-bar{display:block;height:6px;border-radius:3px;background:var(--hair);overflow:hidden;margin:6px 0 5px}
.kh-bar i{display:block;height:100%;border-radius:3px;background:var(--blue)}
.kh-bar.over i{background:#e8a317}
.kh-bar.ok i{background:#16a34a}
/* lịch tháng: ngày dự kiến (chưa tới) + hôm nay */
.ct-cal i.plan{background:var(--build-bg);color:var(--blue);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--blue) 45%,transparent)}
.ct-cal i.plan small{color:var(--blue)}
.ct-cal i.today::before{content:"";position:absolute;left:50%;bottom:-7px;width:6px;height:6px;border-radius:50%;background:var(--navy);transform:translateX(-50%)}
.ct-legend em.plan{background:var(--build-bg);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--blue) 45%,transparent)}
.ct-legend em.today{width:6px;height:6px;border-radius:50%;background:var(--navy)}
.kh-trips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 132px;gap:12px}
.kh-trips .tcard{gap:0}
.kh-trips .tcard-top b{font-size:15px}
.kh-trips .when{font-size:12.5px;color:var(--ink);font-weight:600;margin-top:2px}
.kh-trips .why{font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:35px}
.kh-trips .money{display:flex;justify-content:space-between;align-items:baseline;gap:8px;white-space:nowrap;font-size:12.5px;color:var(--muted);margin-top:9px;font-variant-numeric:tabular-nums}
.kh-trips .money b{color:var(--ink);font-size:13.5px}
.kh-trips .foot{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:3px;min-height:22px;font-size:12px;color:var(--muted)}
.kh-trips .foot svg{width:13px;height:13px}
.kh-trips .tcard.add{align-items:center;justify-content:center;border-style:dashed;color:var(--blue);font-weight:600;font-size:13.5px;text-align:center;gap:6px;line-height:1.35}
.kh-trips .tcard.add svg{width:20px;height:20px}
.kh-trips .tcard.add small{font-weight:400;color:var(--muted);font-size:12px}
.pill.extra{background:#fdf1d6;color:#8a5a00}
.kh-work{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:16px;align-items:start}
.kh-wh{display:flex;gap:12px;align-items:flex-start;padding:16px 18px 12px}
.kh-wh .tx{flex:1;min-width:0}
.kh-wh h2{margin:0;font-size:17px;font-weight:700;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.kh-wh .sub{display:block;font-size:13px;line-height:1.5;margin-top:2px}
.kh-wh .btn-row{flex:none}
.kh-work .ct-calc{border-bottom:1px solid var(--hair)}
table.kh-costs{table-layout:fixed}
table.kh-costs td{vertical-align:middle}
table.kh-costs th:nth-child(1){width:214px}table.kh-costs th:nth-child(2){width:76px}table.kh-costs th:nth-child(4){width:158px}table.kh-costs th:nth-child(5){width:118px}table.kh-costs th:nth-child(6){width:50px}
table.kh-costs td,table.kh-costs th{padding-left:10px;padding-right:10px}
table.kh-costs .kd{display:inline-flex;gap:8px;align-items:center;font-weight:600;white-space:nowrap}
table.kh-costs .kd .icon-tile{width:32px;height:32px;border-radius:9px}
table.kh-costs .kd .icon-tile svg{width:17px;height:17px}
table.kh-costs .amt{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:15px}
table.kh-costs .sub{display:block}
table.kh-costs tr.miss td{background:color-mix(in srgb,var(--warn-bg) 55%,var(--card))}
table.kh-costs tr.miss td:first-child{box-shadow:inset 3px 0 #e8a317}
table.kh-costs .more{color:#9aa8ba;width:20px;height:20px}
.kh-att{display:inline-flex;gap:6px;align-items:center;font-weight:600;font-size:13.5px;color:var(--ink);white-space:nowrap}
.kh-att svg{width:15px;height:15px;color:var(--ok)}
.kh-ai{display:inline-flex;gap:4px;align-items:center;font-size:11.5px;font-weight:700;color:var(--design);white-space:nowrap}
.kh-ai svg{width:12px;height:12px}
.kh-add{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--card-border);background:color-mix(in srgb,var(--muted) 4%,var(--card))}
.kh-add .tot{margin-left:auto;text-align:right;font-size:13px;color:var(--muted)}
.kh-add .tot b{font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums;margin-left:8px}
.kh-saved{display:flex;gap:7px;align-items:center;padding:9px 18px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--card-border)}
.kh-saved svg{width:14px;height:14px;color:var(--ok);flex:none}
.kh-side{display:flex;flex-direction:column;gap:16px}
.kh-side .card{padding:16px}
.kh-side .card-head{margin-bottom:10px}
.kh-cmp{display:grid;gap:12px}
.kh-cmp .r{font-size:13.5px}
.kh-cmp .r .l{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.kh-cmp .r .l b{font-variant-numeric:tabular-nums;white-space:nowrap}
.kh-cmp .r .l b em{font-style:normal;font-weight:400;color:var(--muted)}
.kh-cmp .r small{font-size:12.5px;color:var(--muted)}
.kh-cmp .r small.w{color:var(--warn);font-weight:600}
.kh-cmp hr{border:0;border-top:1px solid var(--card-border);margin:0}
.kh-rates{display:grid;gap:0;font-size:13.5px}
.kh-rates div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--card-border)}
.kh-rates div:last-child{border-bottom:0}
.kh-rates b{font-variant-numeric:tabular-nums;white-space:nowrap}

/* KH-3: tổng kết + bổ sung */
.kh-sumlay{display:flex;flex-direction:column;gap:16px}
.kh-two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}
.kh-two .card{padding:16px 18px}
table.kh-vs{table-layout:fixed}
/* M3 (vòng 2): khung hẹp (cửa sổ ~900–1380px có menu trái) 5 cột tiền từng co về 0 và số đè nhau.
   ≥1381px: bảng 9 cột, cột tiền không dưới ~96px (1381–1500px thu gọn các cột chữ; bề rộng tối thiểu 1082px, thiếu chỗ thì cuộn ngang trong .table-wrap).
   701–1380px: mỗi chuyến một thẻ hai cột có nhãn. ≤700px: thẻ một cột như cũ. */
@media (min-width:1381px){table.data.kh-vs{min-width:1082px}table.kh-vs td.num,table.kh-vs th.num{white-space:nowrap}}
@media (min-width:1381px) and (max-width:1500px){table.data.kh-vs .c1{width:180px}table.data.kh-vs .c2{width:84px}table.data.kh-vs .c3{width:126px}table.data.kh-vs .c8{width:100px}table.data.kh-vs .c9{width:112px}
  table.data.kh-vs th,table.data.kh-vs td{padding-left:8px;padding-right:8px}table.data.kh-vs td:first-child,table.data.kh-vs th:first-child{padding-left:16px}}
/* 701–1380px (khung còn ~600–1080px): mỗi chuyến một thẻ hai cột có nhãn — đọc rõ hơn bảng 9 cột bị bóp / phải cuộn ngang */
@media (min-width:701px) and (max-width:1380px){
  table.data.stack.kh-vs{table-layout:auto}
  table.data.stack.kh-vs thead,table.data.stack.kh-vs colgroup{display:none}
  table.data.stack.kh-vs,table.data.stack.kh-vs tbody{display:block;width:100%}
  table.data.stack.kh-vs tr{display:grid;grid-template-columns:1fr 1fr;gap:3px 28px;padding:13px 18px;border-bottom:1px solid var(--card-border)}
  table.data.stack.kh-vs td{display:block;width:auto;border:0;padding:3px 0!important;text-align:left}
  table.data.stack.kh-vs td:first-child{grid-column:1/-1;padding-bottom:6px!important}
  table.data.stack.kh-vs td[data-label]::before{content:attr(data-label);display:inline-block;min-width:118px;font-size:var(--fs-label);font-weight:700;color:var(--muted);text-transform:uppercase}
  table.data.stack.kh-vs .g{border-left:0}
  table.data.stack.kh-vs tr.bad{box-shadow:inset 3px 0 #e5484d}table.data.stack.kh-vs tr.bad td:first-child{box-shadow:none}
  table.data.stack.kh-vs tr.tot td{background:none;border-top:0}table.data.stack.kh-vs tr.tot{background:color-mix(in srgb,var(--muted) 4%,var(--card));border-top:2px solid var(--line)}
}
table.kh-vs .c1{width:236px}table.kh-vs .c8{width:132px}table.kh-vs td:nth-child(8){padding-right:16px}table.kh-vs .c2{width:96px}table.kh-vs .c3{width:150px}table.kh-vs .c9{width:160px}
.kh-checks.two{grid-template-columns:1fr 1fr;gap:9px 18px}.kh-checks.two li.block{grid-column:1/-1}
.kh-checks li.block>div{display:flex;gap:10px;align-items:center;flex:1;flex-wrap:wrap}.kh-checks li.block .act{margin:0 0 0 auto}
.kh-dlg .modal-foot{flex-wrap:nowrap}.kh-dlg .modal-foot .btn{padding:0 14px}
table.kh-vs{font-size:13.5px}
table.kh-vs th{white-space:normal;line-height:1.3;vertical-align:bottom;padding:10px 10px}
table.kh-vs td{padding:11px 10px;vertical-align:top;line-height:1.4}
table.kh-vs td:first-child,table.kh-vs th:first-child{padding-left:18px}
table.kh-vs td:last-child,table.kh-vs th:last-child{padding-right:18px}
table.kh-vs .g{border-left:1px solid var(--card-border)}
table.kh-vs th.grp{text-align:center;border-bottom:0;padding-bottom:2px;color:var(--ink)}
table.kh-vs .num{font-weight:600}
table.kh-vs .pl{color:var(--muted);font-weight:400}
table.kh-vs .up{color:var(--warn);font-weight:700}
table.kh-vs .dn{color:var(--ok);font-weight:700}
table.kh-vs .sub{display:block;font-size:12.5px;line-height:1.4;margin-top:1px}
table.kh-vs .sub.w{color:var(--warn);font-weight:600}
table.kh-vs tr.tot td{background:color-mix(in srgb,var(--muted) 4%,var(--card));font-weight:700;border-top:2px solid var(--line)}
table.kh-vs tr.tot .pl{font-weight:600}
table.kh-vs tr.bad td:first-child{box-shadow:inset 3px 0 #e5484d}
table.kh-vs .nm{font-weight:700;font-size:14.5px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.kh-total{display:grid;grid-template-columns:1fr auto 1fr auto 1.25fr;align-items:stretch;gap:0;padding:0}
.kh-total>div{padding:14px 18px}
.kh-total small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.kh-total b{display:block;font-size:22px;font-variant-numeric:tabular-nums;margin:2px 0}
.kh-total span{font-size:12.5px;color:var(--muted)}
.kh-total .op{display:grid;place-items:center;padding:0 2px;font-size:20px;color:var(--muted)}
.kh-total .sum{background:var(--navy);color:#fff}
.kh-total .sum small{color:#ffffffb0}
.kh-total .sum b{font-size:26px}
.kh-total .sum span{color:#ffffffc8;font-style:italic}
.kh-plannote{display:flex;gap:8px;align-items:center;padding:10px 18px;border-top:1px solid var(--card-border);font-size:13px;color:var(--muted);background:color-mix(in srgb,var(--muted) 4%,var(--card))}
.kh-plannote svg{width:15px;height:15px;flex:none}
.kh-plannote b{color:var(--ink)}
.kh-kinds{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.kh-checks{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:13.5px;line-height:1.45}
.kh-checks li{display:flex;gap:8px;align-items:flex-start}
.kh-checks li>svg{width:16px;height:16px;flex:none;margin-top:2px}
.kh-checks li.ok>svg{color:var(--ok)}
.kh-checks li.warn{color:var(--warn)}
.kh-checks li.block{color:var(--danger);font-weight:600;background:var(--danger-bg);border-radius:10px;padding:10px 10px}
.kh-checks li.block .act{display:flex;gap:6px;flex-wrap:nowrap}
.kh-checks li.block .btn.sm{min-height:32px;font-size:13px;padding:0 10px;font-weight:600}
.kh-checks li.block .btn.sm svg{width:15px;height:15px}
.kh-send .btn{width:100%;white-space:normal;line-height:1.3;padding:10px 14px;min-height:52px}
.kh-send .why{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--danger);font-weight:600;margin:8px 0 0}
.kh-send .why svg{width:14px;height:14px;flex:none;margin-top:2px}
.kh-route{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:12px;padding-top:12px;border-top:1px solid var(--card-border)}
.kh-route b{color:var(--ink)}
.kh-route svg{width:13px;height:13px}
.kh-cut{display:flex;align-items:center;gap:14px;margin:14px 0 0}
.kh-cut::before,.kh-cut::after{content:"";flex:1;border-top:2px dashed #b9c9de}
.kh-cut span{font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);display:inline-flex;gap:8px;align-items:center}
.kh-cut svg{width:15px;height:15px}
.kh-after{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.kh-cap{font-size:13px;font-weight:700;color:var(--ink);margin:0 0 8px;display:flex;gap:8px;align-items:center}
.kh-cap i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;display:grid;place-items:center;flex:none}
.kh-cap small{font-weight:400;color:var(--muted);font-size:12.5px}
.kh-dlg{background:var(--card);border-radius:20px;box-shadow:0 24px 64px rgba(13,37,66,.22);border:1px solid var(--card-edge);overflow:hidden}
.kh-dlg .modal-head .sub{display:block;font-weight:400;font-size:12.5px;margin-top:1px}
.kh-dlg .form{gap:12px}
.kh-dlg .field textarea{min-height:66px}
.kh-dlg .ct-kinds{margin:0}
.kh-pick{display:flex;gap:8px;flex-wrap:wrap}
.kh-pick span{display:inline-flex;gap:7px;align-items:center;min-height:40px;padding:0 13px;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:13.5px;background:var(--card);white-space:nowrap}
.kh-pick span svg{width:16px;height:16px}
.kh-pick span.on{background:var(--blue);border-color:var(--blue);color:#fff}
.kh-file{display:flex;gap:10px;align-items:center;border:1px dashed #b9c9de;border-radius:12px;padding:9px 10px}
.kh-file .ft{width:34px;height:40px;border-radius:6px;background:#e5484d;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;flex:none}
.kh-file .tx{flex:1;min-width:0;font-size:13.5px;font-weight:600;line-height:1.3}
.kh-file .tx small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.kh-file .btn.sm{flex:none}
.kh-link{display:flex;gap:9px;align-items:flex-start;background:var(--build-bg);color:var(--ink);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45;margin-bottom:14px}
.kh-link svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--blue)}
.kh-rep{padding:0}
.kh-rep .hd{display:flex;gap:12px;align-items:center;padding:16px 18px}
.kh-rep .hd .tx{flex:1;min-width:0}
.kh-rep .hd h2{margin:0;font-size:16px;font-weight:700}
.kh-rep .hd .amt{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.kh-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0 18px 14px}
.kh-flow div{font-size:12.5px;color:var(--muted);line-height:1.4;padding-top:16px;position:relative}
.kh-flow div::before{content:"";position:absolute;left:0;right:0;top:5px;border-top:2px solid var(--ok)}
.kh-flow div::after{content:"";position:absolute;left:0;top:0;width:12px;height:12px;border-radius:50%;background:var(--ok)}
.kh-flow div:last-child::before{right:auto;width:0}
.kh-flow b{display:block;color:var(--ink);font-size:13px}
.kh-sup{border-top:1px solid var(--card-border);background:color-mix(in srgb,var(--warn-bg) 45%,var(--card));padding:12px 18px}
.kh-sup .t{display:flex;gap:8px;align-items:center;font-size:13.5px;font-weight:700;color:var(--warn)}
.kh-sup .t svg{width:16px;height:16px}
.kh-sup .row{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--card-edge);border-radius:12px;padding:10px 12px;margin-top:9px}
.kh-sup .row .tx{flex:1;min-width:0;font-size:13.5px;line-height:1.4}
.kh-sup .row .tx b{display:block;font-size:14px}
.kh-sup .row .tx small{color:var(--muted);font-size:12.5px}
.kh-sup .row .amt{font-weight:700;font-variant-numeric:tabular-nums;font-size:16px;white-space:nowrap}
.kh-sup .row>svg{width:16px;height:16px;color:#9aa8ba;flex:none}
.kh-repf{display:flex;gap:12px;align-items:center;padding:14px 18px;border-top:1px solid var(--card-border)}
.kh-repf .tx{flex:1;font-size:13px;color:var(--muted);line-height:1.45}
.kh-repf .tx b{color:var(--ink);font-size:16px;font-variant-numeric:tabular-nums}
.kh-rule{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--muted);line-height:1.5;margin:10px 2px 0}
.kh-rule svg{width:14px;height:14px;flex:none;margin-top:2px}
/* Phần thêm khi code thật: nút tháng là liên kết, thẻ chuyến là nút, hộp nhập, trạng thái trống / khoá, khổ hẹp, nền tối */
.kh-page{display:flex;flex-direction:column;gap:16px}
.kh-top .seg-ctl a small{font-weight:500;color:var(--muted);font-size:12.5px}
.kh-kpis .kt-kpi{box-shadow:none}
.kh-bar i{max-width:100%}
.kh-trips .tcard.add{cursor:pointer;background:none;min-height:0}
.kh-trips .tcard.add:hover{border-color:var(--blue)}
.kh-trips .money>span:last-child{color:var(--muted)}
.kh-trips.n1{grid-template-columns:minmax(0,1fr) 132px}.kh-trips.n2{grid-template-columns:repeat(2,minmax(0,1fr)) 132px}.kh-trips.n3{grid-template-columns:repeat(3,minmax(0,1fr)) 132px}
.kh-trips.many{grid-template-columns:repeat(auto-fill,minmax(236px,1fr))}
.kh-trips.ro{grid-template-columns:repeat(auto-fill,minmax(236px,1fr))}
.kh-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:26px 18px;color:var(--muted);font-size:14px;line-height:1.5}
.kh-empty>svg{width:30px;height:30px;color:var(--blue)}
.kh-empty b{color:var(--ink);font-size:16px}
.kh-empty .btn-row{justify-content:center;margin-top:6px}
.kh-load{display:flex;gap:10px;align-items:center;color:var(--muted);padding:18px}
.kh-lockbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.kh-lockbar .tx{flex:1;min-width:220px;font-size:14px;line-height:1.45}
.kh-costs .more-btn{border:0;background:none;padding:6px;border-radius:8px;cursor:pointer;display:grid;place-items:center;color:#9aa8ba}
.kh-costs .more-btn:hover{background:var(--hair);color:var(--ink)}
.kh-costs .more-btn svg{width:20px;height:20px}
.kh-costs .btn.sm.att{margin-top:6px;min-height:32px}
.kh-costs .dup{display:block;color:var(--warn);font-size:12.5px;font-weight:600;margin-top:2px}
button.kh-att{border:0;background:none;padding:0;font:inherit;font-weight:600;font-size:13.5px;cursor:pointer}
button.kh-att:hover{color:var(--blue)}
.kh-flagrow{border-bottom:1px solid var(--hair)}
.kh-flagrow .ct-flag{border-top:0}
.kh-pick label{display:inline-flex;gap:7px;align-items:center;min-height:40px;padding:0 13px;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:13.5px;background:var(--card);white-space:nowrap;cursor:pointer}
.kh-pick label svg{width:16px;height:16px}
.kh-pick input{position:absolute;opacity:0;pointer-events:none}
.kh-pick label:has(input:checked){background:var(--blue);border-color:var(--blue);color:#fff}
.kh-pick label:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
.kh-files{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.kh-files li{display:flex;gap:8px;align-items:center;border:1px solid var(--card-edge);border-radius:10px;padding:6px 8px 6px 12px;font-size:13.5px}
.kh-files li .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.kh-files li small{color:var(--muted);font-weight:400;margin-left:6px}
.kh-planrow{border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;display:grid;grid-template-columns:150px 150px minmax(0,1fr) minmax(0,1fr);gap:10px 12px;position:relative}
.kh-planrow+.kh-planrow{margin-top:10px}
.kh-planrow .hd{grid-column:1/-1;display:flex;gap:10px;align-items:center;font-weight:700;font-size:14.5px}
.kh-planrow .hd .sub{font-weight:400}
.kh-planrow .hd .sp{flex:1}
.kh-planrow .w2{grid-column:span 2}.kh-planrow .all{grid-column:1/-1}
.kh-plannote2{display:flex;gap:8px;align-items:flex-start;background:var(--build-bg);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5;margin:12px 0 0}
.kh-plannote2 svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--blue)}
.kh-sg{display:grid;gap:8px}
.kh-sg label{display:flex;gap:10px;align-items:center;border:1px solid var(--card-edge);border-radius:12px;padding:9px 12px;cursor:pointer;font-size:13.5px;line-height:1.35}
.kh-sg label:has(input:checked){border:2px solid var(--blue);padding:8px 11px;background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.kh-sg label>input[type=radio]{width:18px;height:18px;min-height:0;padding:0;margin:0;flex:none;accent-color:var(--blue)}
.kh-sg label>svg{width:18px;height:18px;flex:none;color:var(--blue)}
.kh-sg label b{display:block;font-size:14px}.kh-sg label small{color:var(--muted)}
.kh-sg label .tx{flex:1;min-width:0}
.kh-sg .new{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:2px 2px 0}
.kh-sg .new .all{grid-column:1/-1}
.kh-view{display:grid;place-items:center;min-height:200px}
.kh-view img{max-width:100%;max-height:70vh;border-radius:8px}
.kh-view iframe{width:100%;height:70vh;border:0;border-radius:8px;background:#fff}
table.kh-vs tbody tr[data-act]{cursor:pointer}
table.kh-vs tr.gone td{color:var(--muted)}
.kh-total .sum{border-radius:0 var(--radius) var(--radius) 0}
.kh-send .ok{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--ok);font-weight:600;margin:8px 0 0}
.kh-send .ok svg{width:14px;height:14px;flex:none;margin-top:2px}
.kh-sup a.row{color:inherit;text-decoration:none}
.kh-sup a.row:hover{border-color:var(--blue)}
.kh-sup .r{text-align:right}
/* 390px: dòng "Báo cáo bổ sung · ĐN-…" không bị bóp từng từ — số tiền + trạng thái xuống hàng dưới */
@media (max-width:600px){.kh-sup .row{flex-wrap:wrap}.kh-sup .row .tx{flex:1 1 calc(100% - 96px);min-width:160px}.kh-sup .row .r{flex:1 1 100%;display:flex;gap:8px;align-items:center;justify-content:space-between;text-align:left;padding-left:46px}.kh-sup .row>svg{display:none}}
/* Chuyến đánh dấu «Không đi»: mờ + gạch tên, ngày */
.tcard.kh-skip{opacity:.62}.tcard.kh-skip b,.tcard.kh-skip .when{text-decoration:line-through}
table.kh-vs tr.kh-skip .nm,table.kh-vs tr.kh-skip td.pl{text-decoration:line-through}
.kh-sup .due{font-size:12.5px;font-weight:400;color:var(--muted);margin-left:auto}
.kh-sup.plain{background:none}
.kh-sup.plain .t{color:var(--muted);font-weight:600}
.kh-rep .hd .r{text-align:right}
.kh-rep .hd h2 a{color:inherit}
.kh-supof{display:grid;gap:10px}
.kh-supof .why{background:var(--warn-bg);color:var(--ink);border-radius:12px;padding:10px 12px;font-size:13.5px;line-height:1.5}
.kh-supof .why small{display:block;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--warn)}
.kh-dig{border:1px solid var(--card-edge);border-radius:12px;overflow:hidden}
.kh-dig summary{display:flex;gap:10px;align-items:center;padding:10px 12px;cursor:pointer;font-size:13.5px;list-style:none}
.kh-dig summary::-webkit-details-marker{display:none}
.kh-dig summary .tx{flex:1;min-width:0}
.kh-dig summary .tx small{display:block;color:var(--muted);font-size:12.5px}
.kh-dig summary .amt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.kh-dig summary>svg{width:16px;height:16px;color:#9aa8ba;flex:none;transition:transform .15s}
.kh-dig[open] summary>svg{transform:rotate(90deg)}
.kh-dig .in{border-top:1px solid var(--card-border);padding:8px 12px 10px;font-size:13px;line-height:1.5}
.kh-dig .in table{width:100%;border-collapse:collapse}
.kh-dig .in td{padding:3px 0;vertical-align:top}.kh-dig .in td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
.kh-dig .in .lb{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin:6px 0 2px}
.kh-supsum{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:13.5px;padding:10px 12px;border-radius:12px;background:var(--build-bg)}
.kh-supsum b{font-variant-numeric:tabular-nums}
.kh-sprow{border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;display:grid;gap:10px;margin-top:10px}
.kh-sprow .hd{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.kh-sprow .hd .sp{flex:1}
.kh-sprow .hd>svg,.kh-sec>svg{width:16px;height:16px;flex:none;color:var(--blue)}
.kh-sec{display:flex;align-items:center;gap:10px;margin:16px 0 0;font-size:13px;font-weight:700}
.kh-sec .sub{font-weight:400}
.kh-sec .sp{flex:1}
.kh-prev{margin-top:14px}
.kh-team td .trips{display:flex;gap:6px;flex-wrap:wrap}
.kh-mbar{display:none}
html[data-mode="dark"] .kh-stage .n{color:#9fb0c6}
html[data-mode="dark"] .kh-stage.done .n,html[data-mode="dark"] .kh-stage.now .n{color:#0b1524}
html[data-mode="dark"] .pill.extra{background:#3a2c0c;color:#f5c85b}
html[data-mode="dark"] .kh-total .sum{background:#1a2f4e}
html[data-mode="dark"] .kh-cap i,html[data-mode="dark"] .ct-cal i.today::before,html[data-mode="dark"] .ct-legend em.today{background:#cfdbea;color:#0b1524}
html[data-mode="dark"] .kh-cut::before,html[data-mode="dark"] .kh-cut::after,html[data-mode="dark"] .kh-file{border-color:var(--card-edge)}
html[data-mode="dark"] .kh-dlg{box-shadow:none}
html[data-mode="dark"] .ct-cal i.plan small{color:var(--blue)}
@media (max-width:1180px){
  .kh-work{grid-template-columns:minmax(0,1fr)}
  .kh-side{flex-direction:row;flex-wrap:wrap}.kh-side>.card{flex:1 1 280px}
  .kh-trips,.kh-trips.n1,.kh-trips.n2,.kh-trips.n3{grid-template-columns:repeat(auto-fill,minmax(236px,1fr))}
  .kh-two,.kh-after{grid-template-columns:minmax(0,1fr)}
  .kh-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .kh-top .sub{margin-left:0}
  .kh-top{min-width:0}
  .kh-top .seg-ctl{max-width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.kh-top .seg-ctl a{flex:none;justify-content:center;padding:7px 10px;white-space:nowrap}
  .kh-work .ct-calc .ct-x{flex:1 1 100%;order:3}
  .kh-wh h2{font-size:16px}
  .kh-top .seg-ctl a small{display:none}
  .kh-stages{grid-template-columns:1fr}
  .kh-stage,.kh-stage:first-child{padding:10px 14px}
  .kh-stage+.kh-stage{box-shadow:inset 0 1px var(--card-edge)}
  .kh-stage+.kh-stage::before,.kh-stage+.kh-stage::after{display:none}
  .kh-stage:not(.now) small{display:none}
  .kh-kpis .kt-kpi b{font-size:19px;white-space:normal}
  .kh-kpis .kt-kpi b em{display:block;font-size:12.5px}
  .kh-trips,.kh-trips.n1,.kh-trips.n2,.kh-trips.n3,.kh-trips.many,.kh-trips.ro{grid-template-columns:minmax(0,1fr)}
  .kh-trips .why{min-height:0}
  .kh-trips .tcard.add{flex-direction:row;padding:12px}
  .kh-wh{flex-wrap:wrap;padding:14px 14px 10px}.kh-wh .btn-row{width:100%}.kh-wh .btn-row .btn{flex:1}
  table.kh-costs{table-layout:auto}
  table.kh-costs tr{position:relative}
  table.kh-costs.stack td.amt{font-size:16px}
  table.kh-costs.stack td.more{position:absolute;right:8px;top:8px;width:auto}
  table.kh-costs.stack tr.miss{box-shadow:inset 3px 0 #e8a317}
  table.kh-costs.stack tr.miss td:first-child{box-shadow:none}
  .kh-add{padding:12px 14px}.kh-add .btn{flex:1 1 100%}.kh-add .tot{margin-left:0;width:100%;text-align:left}
  .kh-total{grid-template-columns:1fr}.kh-total .op{padding:0;height:0;overflow:visible;font-size:0}
  .kh-total .sum{border-radius:0 0 var(--radius) var(--radius)}
  .kh-plannote{align-items:flex-start}
  table.kh-vs{table-layout:auto}
  table.kh-vs.stack td{padding-left:0!important}
  table.kh-vs.stack tr{padding:12px 14px}
  table.kh-vs.stack .g{border-left:0}
  table.kh-vs.stack tr.bad{box-shadow:inset 3px 0 #e5484d}
  table.kh-vs.stack tr.bad td:first-child{box-shadow:none}
  .kh-checks.two{grid-template-columns:1fr}
  .kh-checks li.block .act{margin:0;flex-wrap:wrap}
  .kh-flow{grid-template-columns:repeat(2,1fr);row-gap:10px}
  .kh-rep .hd{flex-wrap:wrap}.kh-rep .hd .r{text-align:left;width:100%}
  .kh-repf{flex-wrap:wrap}.kh-repf .btn{width:100%}
  .kh-sup .row{flex-wrap:wrap}
  .kh-planrow{grid-template-columns:1fr 1fr}.kh-planrow .w2,.kh-planrow .all{grid-column:1/-1}
  .kh-sg .new{grid-template-columns:1fr}
  .kh-lockbar .btn{flex:1}
  .kh-mbar{display:flex;gap:8px;position:sticky;bottom:0;z-index:5;margin:0 -16px -16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--card-edge)}
  .kh-mbar .btn{flex:1}
}

/* ===== Lệnh chi & khoản đã duyệt — trang tổng hợp của Tổng Giám đốc (ảnh DC-3a / DC-3b web, DC-4 điện thoại — anh Tâm duyệt 08/10/2026), tiền tố .pv- ===== */
.pv{display:flex;flex-direction:column;gap:16px;min-width:0}.pv>*{min-width:0;margin-top:0;margin-bottom:0}
.po-links a[href="/duyet-chi/lenh-chi"] svg{transform:scaleX(-1)}
.pv-todo{display:flex;align-items:center;gap:18px 26px;flex-wrap:wrap;padding:18px 22px}
.pv-todo .pv-eye{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#ffd27a;opacity:1}
.pv-todo .pv-eye svg{width:16px;height:16px}
.pv-todo h2{margin:5px 0 0;font-size:17px;font-weight:600;line-height:1.3;color:#fff}
.pv-todo .who{flex:1 1 200px;min-width:0}
.pv-todo .tot{margin:2px 0 3px;font-size:30px;line-height:1.2;white-space:nowrap}
.pv-todo .st3{flex:0 1 430px;min-width:0}.pv-todo .st3 div{padding:10px 12px}
.pv-todo .st3 div small{font-size:11.5px;opacity:.75;margin-top:2px;font-variant-numeric:tabular-nums}
.btn.pv-go{flex:none;min-height:48px;padding:0 20px;border:0;background:#fff;color:#0d2542;font-size:15px;font-weight:700}
.btn.pv-go:hover{background:#eaf1fb}.pv-go svg{width:18px;height:18px}
.pv-quiet{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;padding:11px 16px;border:1px solid var(--card-edge);border-radius:var(--radius);background:var(--card)}
.pv-quiet .icon-tile{background:var(--ok-bg);color:var(--ok)}
.pv-quiet b{font-size:15px;font-weight:600}.pv-quiet .sub{margin-left:2px}
.pv-quiet a{margin-left:auto;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.pv-quiet a svg{width:15px;height:15px;flex:none}
.pv-sum .card-head{flex-wrap:wrap}
.pv-sum .card-head h2 small,.pv-list .dc-head h2 small{font-weight:500;color:var(--muted);font-size:13.5px;margin-left:8px}
.pv-sum .card-head .pv-seg{margin-left:auto}
.pv-seg a{min-height:34px;padding:0 15px;border-radius:7px}
.pv-seg a.on,html[data-mode="dark"] .pv-seg a.on{background:#0d2542;color:#fff}
html[data-mode="dark"] .pv-seg a.on{background:var(--blue);color:#06162b}
.pv-kpis{display:grid;grid-template-columns:3fr 2fr;gap:12px 22px}
.pv-cap{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 7px 2px}
.pv .sum-grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.pv .sum-grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv .sum-t b{font-variant-numeric:tabular-nums;line-height:1.3}
.sum-t.go{border-left-color:#0891b2}.sum-t.hold{border-left-color:#e5484d}
.pv .sum-t .x{font-size:11.5px;opacity:.9}
.pv .sum-t .delta{margin-left:3px;font-size:11.5px}
/* Khối biểu đồ TC-1 phương án A (ảnh TC-1a … TC-1f, anh Tâm chọn 08/10/2026) — public/js/pay-charts.js. Tiền tố .tk- dùng chung với trang Công việc:
   các tên dưới đây (tk-chi, tk-flow*, tk-stats, tk-plot*, tk-cap, tk-svg, tk-tip, tk-two, tk-donut, tk-legend, tk-cuti, tk-seg, tk-ring, tk-k1…6) chưa nơi nào dùng. */
.tk-chi{margin-top:16px;border-top:1px solid var(--card-border);padding-top:14px}
.tk-chi h3{margin:0 0 2px;font-size:14px;font-weight:700;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.tk-chi h3 small{font-weight:400;font-size:12px;color:var(--muted)}
.tk-flow-h{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap}.tk-flow-h .pv-leg{margin:0 0 0 auto;align-items:center}
.tk-flow-b{display:grid;grid-template-columns:248px minmax(0,1fr);gap:22px;margin-top:10px}
.tk-stats{display:flex;flex-direction:column;gap:12px}
.tk-stats .st{border:1px solid var(--card-edge);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:2px;flex:1;justify-content:center;background:var(--card);min-width:0}
.tk-stats .ti{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--build-bg);color:#0a5bd3;margin-bottom:10px;flex:none}
.tk-stats .ti svg{width:20px;height:20px}
.tk-stats .st.p .ti{background:var(--ok-bg);color:#047857}
.tk-stats small{font-size:12.5px;font-weight:600;color:var(--muted)}
.tk-stats b{font-size:15px;font-weight:600;display:flex;align-items:baseline;gap:4px 7px;flex-wrap:wrap}
.tk-stats b em{font-style:normal;font-size:25px;line-height:1.25;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}
.tk-stats .st>span:last-child{font-size:12px;color:var(--muted);line-height:1.4}
.tk-plot{position:relative;min-width:0;border-radius:8px;touch-action:pan-y}
.tk-plot:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.tk-plotbox{position:relative;min-width:0;overflow:hidden}
.tk-cap{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 2px 48px;display:flex;align-items:center;flex-wrap:wrap;gap:2px 12px}
.tk-cap.two{margin-top:10px;padding-top:10px;border-top:1px dashed var(--card-edge)}
.tk-cap span{font-weight:500;letter-spacing:0;text-transform:none;display:inline-flex;align-items:center}
.tk-cap span[hidden],.tk-tip[hidden]{display:none}
.tk-cuti{width:14px;height:11px;flex:none;margin-right:4px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.tk-flow .pv-leg.note{margin-top:6px}
.tk-svg{display:block;max-width:none}
.tk-svg text{font-family:var(--font);font-size:11px;fill:var(--muted)}
.tk-svg .yt{font-size:10.5px;font-variant-numeric:tabular-nums}.tk-svg .yt.brk{font-size:9.5px;opacity:.8}
.tk-svg .xt{font-size:11.5px}.tk-svg .xt.dim{fill:#a9b6c7}.tk-svg .xt.pk{font-weight:700;fill:var(--ink)}
.tk-svg .v{font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}.tk-svg .v.sm{font-size:10.5px}.tk-svg .v.xs{font-size:9.5px;stroke-width:2.5px}
.tk-svg .v,.tk-svg .note{paint-order:stroke;stroke:var(--card);stroke-width:3.5px;stroke-linejoin:round}
.tk-svg .v.a{fill:#0a5bd3}.tk-svg .v.p{fill:#047857}
.tk-svg .gr{stroke:var(--hair)}.tk-svg .ax{stroke:var(--card-edge)}
.tk-svg .nil{stroke:#c9d3e0;stroke-width:2;stroke-linecap:round}
.tk-svg .zig{fill:none;stroke:var(--muted);stroke-width:1;opacity:.45}
.tk-svg .cut{fill:var(--card)}
.tk-svg .a0{stop-color:#3d8bff}.tk-svg .a1{stop-color:#0a5bd3}.tk-svg .p0{stop-color:#34d399}.tk-svg .p1{stop-color:#059669}
.tk-svg .af0{stop-color:#0a5bd3;stop-opacity:.26}.tk-svg .af1{stop-color:#0a5bd3;stop-opacity:.02}
.tk-svg .pf0{stop-color:#10b981;stop-opacity:.24}.tk-svg .pf1{stop-color:#10b981;stop-opacity:.02}
.tk-svg .la,.tk-svg .lp{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.tk-svg .la{stroke:#0a5bd3}.tk-svg .lp{stroke:#10b981}
.tk-svg .da,.tk-svg .dp{stroke:var(--card);stroke-width:2}.tk-svg .da{fill:#0a5bd3}.tk-svg .dp{fill:#10b981}
.tk-svg .hov{fill:color-mix(in srgb,var(--blue) 8%,transparent)}
.tk-svg .note{font-size:12px;fill:var(--ink)}.tk-svg .note .b{font-weight:700;fill:#0a5bd3}
.tk-svg .lead{stroke:#0a5bd3;stroke-width:1.5;fill:none}
.tk-svg .ld{fill:none;stroke:var(--muted);stroke-width:1;opacity:.75}.tk-svg .ld.a{stroke:#0a5bd3}.tk-svg .ld.p{stroke:#047857}
.tk-tip{position:absolute;z-index:3;pointer-events:none;box-sizing:border-box;background:var(--card);border:1px solid var(--card-edge);border-radius:10px;box-shadow:0 10px 28px rgba(13,37,66,.18);padding:10px 12px 8px;font-size:12.5px;line-height:1.35}
.tk-tip .h{font-weight:700;font-size:13px;margin-bottom:6px}
.tk-tip .r{display:flex;align-items:center;gap:6px;padding:2.5px 0}.tk-tip .r span{color:var(--muted);flex:1}.tk-tip .r b{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.tk-tip .r.d{margin-top:5px;padding-top:6px;border-top:1px solid var(--hair)}.tk-tip .r.c b{font-weight:600}
.tk-k1{--k:#0a5bd3}.tk-k2{--k:#0891b2}.tk-k3{--k:#7c3aed}.tk-k4{--k:#d97706}.tk-k5{--k:#db2777}.tk-k6{--k:#94a3b8}
.tk-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:14px;border-top:1px solid var(--card-border)}
.tk-two>div{padding:14px 24px 2px 0;min-width:0}.tk-two>div+div{border-left:1px solid var(--card-border);padding:14px 0 2px 24px}
.tk-donut{display:grid;grid-template-columns:164px minmax(0,1fr);gap:22px;align-items:center;margin-top:6px}
.tk-donut .tk-seg{fill:none;stroke:var(--k)}.tk-donut .tk-ring{fill:none;stroke:var(--hair)}
.tk-svg text.ct{font-size:15px;font-weight:700;fill:var(--ink)}.tk-svg text.ct.big{font-size:19px;letter-spacing:-.01em}.tk-svg text.cs{font-size:10.5px}
.tk-legend{list-style:none;margin:0;padding:0;min-width:0}
.tk-legend li{display:grid;grid-template-columns:12px minmax(0,1fr) auto 44px;gap:8px;align-items:center;padding:5.5px 0;font-size:13.5px}
.tk-legend li+li{border-top:1px solid var(--hair)}
.tk-legend .dot{width:10px;height:10px;border-radius:3px;background:var(--k);display:block}
.tk-legend .n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tk-legend b{font-weight:700;white-space:nowrap}.tk-legend .p{text-align:right;font-size:12.5px;color:var(--muted)}
.tk-legend li.other .n{color:var(--muted)}
.tk-legend li.sep{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:4px;padding:6px 10px;border:0;border-radius:8px;background:var(--hair);font-size:12.5px;color:var(--muted)}
.tk-legend li.sep b{color:var(--ink)}.tk-legend li.sep small{font-size:11.5px;margin-left:auto;white-space:nowrap}
.tk-legend li.sep+li{border-top:0}
html[data-mode="dark"] .tk-svg .v.a,html[data-mode="dark"] .tk-svg .note .b{fill:#6aa6ff}html[data-mode="dark"] .tk-svg .v.p{fill:#34d399}
html[data-mode="dark"] .tk-svg .xt.dim{fill:#55667e}html[data-mode="dark"] .tk-svg .nil{stroke:#33455f}
html[data-mode="dark"] .tk-svg .a0{stop-color:#7db3ff}html[data-mode="dark"] .tk-svg .a1{stop-color:#3d85f0}
html[data-mode="dark"] .tk-svg .p0{stop-color:#5eead4}html[data-mode="dark"] .tk-svg .p1{stop-color:#10b981}
html[data-mode="dark"] .tk-svg .af0{stop-color:#4d94ff;stop-opacity:.34}html[data-mode="dark"] .tk-svg .af1{stop-color:#4d94ff}
html[data-mode="dark"] .tk-svg .pf0{stop-color:#34d399;stop-opacity:.28}html[data-mode="dark"] .tk-svg .pf1{stop-color:#34d399}
html[data-mode="dark"] .tk-svg .la,html[data-mode="dark"] .tk-svg .lead,html[data-mode="dark"] .tk-svg .ld.a{stroke:#6aa6ff}html[data-mode="dark"] .tk-svg .ld.p{stroke:#34d399}html[data-mode="dark"] .tk-svg .lp{stroke:#34d399}
html[data-mode="dark"] .tk-svg .da{fill:#6aa6ff}html[data-mode="dark"] .tk-svg .dp{fill:#34d399}
html[data-mode="dark"] .tk-stats .ti{color:#6aa6ff}html[data-mode="dark"] .tk-stats .st.p .ti{color:#34d399}
html[data-mode="dark"] .tk-tip{box-shadow:0 10px 28px rgba(0,0,0,.5)}
html[data-mode="dark"] .tk-k1{--k:#4d94ff}html[data-mode="dark"] .tk-k2{--k:#22b8cf}html[data-mode="dark"] .tk-k3{--k:#a78bfa}html[data-mode="dark"] .tk-k4{--k:#f0a23b}html[data-mode="dark"] .tk-k5{--k:#f472b6}html[data-mode="dark"] .tk-k6{--k:#64748b}
.pv-leg{display:flex;gap:6px 14px;flex-wrap:wrap;margin:4px 0 0;font-size:12px;color:var(--muted)}.pv-leg .u{margin-left:auto}
.pv-leg.note{font-size:11.5px;opacity:.85;margin-top:3px}
.pv-none{margin:10px 0 4px;font-size:13.5px;color:var(--muted)}.pv-none.pad{padding:22px;margin:0;text-align:center}
.pv-list .dc-head{flex-wrap:wrap;gap:10px 12px}
.pv-list.loading #pv-rows{opacity:.45;transition:opacity .15s}
.pv-list .dc-err{margin:12px 16px 0;align-items:center}
.pv-tools{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}
.pv-find{position:relative;display:block}.pv-find svg{position:absolute;left:10px;top:50%;margin-top:-8.5px;width:17px;height:17px;color:var(--muted);pointer-events:none}
.pv-find .filter-input{padding-left:34px;min-width:250px}
table.pv-tbl td{vertical-align:top;line-height:1.4;padding-top:11px;padding-bottom:11px}
table.pv-tbl .code a,.pv-cards .code{font-weight:700;color:var(--blue);white-space:nowrap;font-variant-numeric:tabular-nums}
table.pv-tbl .t b{font-weight:600;display:block;overflow-wrap:anywhere}table.pv-tbl .sub{display:block;margin-top:1px}
table.pv-tbl .amt{text-align:right;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
table.pv-tbl .when b{display:block;font-weight:600;white-space:nowrap}
table.pv-tbl .pill svg{width:13px;height:13px}
.pv-cards{display:none;padding:10px 12px 12px}
.pv-cards .po-it{display:block;color:inherit;text-decoration:none}.pv-cards .po-it.b::before{background:var(--blue)}
.pv-cards .po-it .ti{font-weight:600;font-size:14.5px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-cards .po-it .why.st{color:var(--ink)}
.pv-foot{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;padding:12px 22px;border-top:1px solid var(--card-border);background:#fafbfd;font-size:13.5px;border-radius:0 0 var(--radius) var(--radius)}
.pv-foot .tot{margin-left:auto}.pv-foot .tot b{font-variant-numeric:tabular-nums}
.pv-more{border:0;background:none;padding:0;min-height:32px;font:inherit;font-weight:600;color:var(--blue);cursor:pointer;display:inline-flex;gap:5px;align-items:center}.pv-more svg{width:15px;height:15px}
.pv-more:hover{text-decoration:underline}
.pv-days .tstrip-row{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none}.pv-days .tstrip-row .tcard{flex:1 1 0;min-width:216px;max-width:320px;text-decoration:none}
.pv-days .tcard .amt{font-size:18px;font-weight:700;margin-top:6px;font-variant-numeric:tabular-nums}
.pv-days .tcard-top b{font-size:14.5px;white-space:nowrap;display:block;overflow:visible;flex:none}
.pv-days .tcard .sub{margin-top:1px}
.pv-days .tstrip-head a{font-weight:600;font-size:13.5px}
.pv-gate{display:flex;align-items:center;gap:10px;padding:2px 4px;font-size:13.5px;color:var(--muted);line-height:1.45}
.pv-gate>svg{width:17px;height:17px;flex:none}.pv-gate b{color:var(--ink)}
.pv-gate .switch-btn{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:13px;color:var(--muted);min-height:44px}
html[data-mode="dark"] .pv-foot{background:#0f1c2e}
html[data-mode="dark"] .btn.pv-go{background:#fff;color:#0d2542;border:0}
@media (max-width:1180px){
  .pv-kpis{grid-template-columns:minmax(0,1fr)}
  .tk-flow-b{grid-template-columns:216px minmax(0,1fr);gap:16px}
  .tk-two{grid-template-columns:minmax(0,1fr)}
  .tk-two>div,.tk-two>div+div{padding:14px 0 4px;border-left:0}.tk-two>div+div{border-top:1px solid var(--card-border);margin-top:10px}
}
@media (max-width:1000px){
  .tk-flow-b{grid-template-columns:minmax(0,1fr);gap:12px}
  .tk-stats{flex-direction:row;gap:10px}
  .tk-stats .st{position:relative;padding:9px 12px 9px 56px;gap:1px;min-height:62px}
  .tk-stats .ti{position:absolute;left:12px;top:50%;margin:-16px 0 0;width:32px;height:32px;border-radius:9px}.tk-stats .ti svg{width:18px;height:18px}
  .tk-stats small{font-size:12px}.tk-stats b{font-size:14px}.tk-stats b em{font-size:19px}.tk-stats .st>span:last-child{font-size:11.5px}
  .tk-cap{margin-left:0}
}
@media (max-width:760px){
  .pv{gap:12px}
  .pv-todo{display:block;padding:14px 16px 16px}
  .pv-todo h2{font-weight:700}.pv-todo .tot{font-size:28px;margin:8px 0 10px}
  .pv-todo .st3 div{padding:7px 10px}.pv-todo .st3 div small{display:none}
  .pv-todo .st3{margin-top:10px}
  .pv-seg a{font-size:13.5px;white-space:nowrap}
  .btn.pv-go{display:flex;width:100%;margin-top:12px}
  .pv-quiet a{margin-left:0}
  .pv-sum .card-head h2 small{display:block;margin:2px 0 0}
  .pv-sum .card-head .pv-seg{display:flex;width:100%;margin:0}.pv-seg a{flex:1;min-height:38px;padding:0;justify-content:center;text-align:center}
  .pv .sum-grid.g3,.pv .sum-grid.g2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pv .sum-t{padding:10px 12px}.pv .sum-t b{font-size:20px}.pv .sum-t.wide{grid-column:1/-1}
  .pv-kpis>div+div .pv-cap{margin-top:4px}
  .tk-chi{margin-top:12px}
  .tk-flow-h .pv-leg{margin-left:0}
  .tk-stats{flex-direction:column;gap:8px}
  .tk-two>div,.tk-two>div+div{padding:12px 0 4px}.tk-two>div+div{margin-top:0}
  .tk-donut{grid-template-columns:minmax(0,1fr);gap:6px;justify-items:center}.tk-legend{width:100%}
  .pv-wide{display:none}.pv-cards{display:flex}
  .pv-tools{margin-left:0;width:100%;flex-direction:column-reverse;align-items:stretch}
  .pv-tools .chip-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding-right:16px}
  .pv-find .filter-input{min-width:0;width:100%;height:42px;border-radius:12px;font-size:14.5px;padding-left:38px}.pv-find svg{left:12px}
  .pv-foot{padding:12px 16px}.pv-foot .tot{margin-left:0;flex-basis:100%}
  .pv-days .tstrip-row .tcard{flex:0 0 236px}
  .pv-gate{align-items:flex-start;font-size:12.5px}
}
table.pv-tbl td:last-child{min-width:236px}

/* ===== Lô chuyển khoản · Đợt 1 (ảnh LC-1 lập lô, LC-2 bảng kê, LC-3 Tổng Giám đốc — anh Tâm duyệt 09/10/2026), tiền tố .lck- (.lk- đã dùng cho việc khác) ===== */
.lck{min-width:0}
.lck-back{display:flex;gap:6px 14px;align-items:center;flex-wrap:wrap;margin:-6px 0 14px;font-size:13.5px}.lck-back a{display:inline-flex;gap:6px;align-items:center;font-weight:600}.lck-back svg{width:16px;height:16px;transform:scaleX(-1)}
.lck .po-links a[href="/duyet-chi/ke-toan/lo"] svg{transform:scaleX(-1)}
.lck-live{margin-bottom:16px}
.lck-live .tcard,.lck-hist .tcard{text-decoration:none}.lck-live .tcard .amt,.lck-hist .tcard .amt{font-size:17px;font-weight:700;margin-top:5px;font-variant-numeric:tabular-nums}
.lck-live .tcard-top b,.lck-hist .tcard-top b{font-variant-numeric:tabular-nums;white-space:nowrap}
.lck-pick{display:grid;grid-template-columns:minmax(0,auto) minmax(220px,1fr) 196px;gap:16px 20px;align-items:end;padding:16px 18px;margin-bottom:16px}
.lck-pick .field{margin:0;min-width:0}
.lck-pick .seg-ctl button{min-height:38px}.lck-pick .seg-ctl button:disabled{opacity:.45;cursor:not-allowed}
.lck-pick .seg-ctl .cnt{min-width:20px;height:20px;border-radius:10px;background:var(--card);color:var(--muted);font-size:12px;font-weight:700;display:inline-grid;place-items:center;padding:0 6px}
.lck-pick .seg-ctl .on .cnt{background:rgba(6,101,237,.1);color:var(--blue)}
.lck-sel{display:flex;align-items:center;gap:9px;min-height:44px;width:100%;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:0 12px;font:inherit;font-size:14px;min-width:0}
.lck-sel>svg{width:17px;height:17px;flex:none;color:var(--muted)}.lck-sel.ph{color:var(--muted)}
.lck-head{display:flex;gap:10px 14px;align-items:center;padding:14px 18px 12px;border-bottom:1px solid var(--card-border);flex-wrap:wrap}
.lck-head h2{font-size:16px;font-weight:700;margin:0}
.lck-head h2 small{font-weight:500;color:var(--muted);font-size:13.5px;margin-left:8px}
.lck-head .r{margin-left:auto;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.lck-head>.sub{margin-left:auto}
.lck-list.loading tbody{opacity:.45;transition:opacity .15s}
table.lck{table-layout:fixed;font-size:13.5px;min-width:940px}
table.lck th{padding:10px 9px;white-space:normal;line-height:1.3;vertical-align:bottom}
table.lck td{padding:11px 9px;vertical-align:top;line-height:1.4;overflow-wrap:anywhere}
table.lck td:first-child,table.lck th:first-child{padding-left:18px}
table.lck td:last-child,table.lck th:last-child{padding-right:18px}
table.lck th.num,table.lck td.amt{text-align:right}
table.lck tbody tr:hover{background:none}
table.lck .amt{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
table.lck .amt.big{font-weight:700;font-size:14.5px}
table.lck .code{font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap}
table.lck .sub{display:block;font-size:12.5px;line-height:1.4;margin-top:1px;font-weight:400}
table.lck .nm{font-weight:600;display:block}
table.lck .acc{display:block;font-size:12.5px;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:1px}
table.lck .why{display:block;font-size:12.5px;line-height:1.4;margin-top:5px;color:var(--ink)}
table.lck .pill svg{width:13px;height:13px}
table.lck tr.off td{color:var(--muted)}table.lck tr.off .nm,table.lck tr.off .acc{color:var(--muted)}
table.lck tr.bad td{background:color-mix(in srgb,var(--danger-bg) 55%,var(--card))}
table.lck tr.bad td:first-child{box-shadow:inset 3px 0 #e5484d}
table.lck tr.care td:first-child{box-shadow:inset 3px 0 #f59e0b}
table.lck tr.okk td:first-child{box-shadow:inset 3px 0 #16a34a}
table.lck .stt{font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
table.lck .memo{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;color:var(--ink);background:var(--neutral-bg);border-radius:7px;padding:5px 8px;display:block;overflow-wrap:anywhere}
table.lck .btn.sm{min-height:32px;padding:0 10px;font-size:12.5px;margin-top:7px;white-space:nowrap}table.lck .btn.sm svg{width:15px;height:15px;flex:none}
table.lck-cand .k1{width:50px}table.lck-cand .k2{width:92px}table.lck-cand .k4{width:27%}table.lck-cand .k5{width:204px}table.lck-cand .k6{width:146px}
table.lck-lines .l1{width:56px}table.lck-lines .l2{width:218px}table.lck-lines .l3{width:124px}table.lck-lines .l5{width:190px}table.lck-lines .l6{width:280px}
.lck-ck{width:20px;height:20px;accent-color:var(--blue);cursor:pointer;margin:1px 0 0}.lck-ck:disabled{cursor:not-allowed}
.lck-when b{display:block;font-weight:600}
.lck-co{display:flex;gap:5px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:4px}
.lck-co svg{width:13px;height:13px;flex:none}.lck-co a{font-weight:700}
/* Lô chuyển khoản — kế toán gõ số thực chi (anh Tâm chốt 09/10/2026) */
.lck-cash{border:1px dashed transparent;background:none;padding:2px 4px 2px 6px;margin:-3px -5px -3px 0;border-radius:8px;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.lck-cash svg{width:13px;height:13px;color:var(--muted);flex:none}.lck-cash:hover,.lck-cash:focus-visible{border-color:var(--blue);background:rgba(10,91,211,.06)}.lck-cash:hover svg{color:var(--blue)}
.lck-cash.adj{color:#b45309}.lck-adj,.lck-adj0{white-space:normal}table.lck-cand .lck-adj,table.lck-cand .lck-adj0{white-space:nowrap}.lck-adj{color:#b45309!important}.lck-adj i{display:block;font-style:normal;font-weight:400;color:var(--muted);max-width:190px;margin-left:auto;overflow:hidden;text-overflow:ellipsis}
.lck-cashbox{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 12px;border-radius:10px;background:var(--surface-2,var(--bg));font-size:13.5px}.lck-cashbox b{font-size:15px}.lck-cashbox.cut{margin-top:8px;color:#b45309}
.lck-link{border:0;background:none;padding:0;margin-left:3px;font:inherit;font-weight:700;color:var(--blue);cursor:pointer}.lck-link:hover{text-decoration:underline}
.lck-issue{display:flex;gap:5px;align-items:flex-start;font-size:12.5px;line-height:1.4;margin-top:5px;color:var(--warn)}
.lck-issue svg{width:14px;height:14px;flex:none;margin-top:2px}.lck-issue.stop{color:var(--danger);font-weight:600}.lck-issue.in{color:var(--muted)}.lck-issue.in a{font-weight:700}
.lck-other{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:11px 18px;border-top:1px solid var(--card-border);background:#fafbfd;font-size:13.5px}
.lck-other>svg{width:17px;height:17px;flex:none;color:var(--muted)}.lck-other>span{flex:1 1 320px;min-width:0}
.lck-other a{margin-left:auto;white-space:nowrap;font-weight:700;display:inline-flex;gap:6px;align-items:center}.lck-other a svg{width:15px;height:15px}
.lck-total{position:sticky;bottom:0;z-index:5;display:flex;gap:14px 22px;align-items:center;flex-wrap:wrap;padding:14px 18px;margin-top:16px;border:1px solid var(--card-edge);border-radius:var(--radius);background:var(--card);box-shadow:0 -6px 18px rgba(13,37,66,.06)}
.lck-total .n small{display:block;font-size:12px;font-weight:600;color:var(--muted)}
.lck-total .n b{display:block;font-size:24px;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}
.lck-total .br{font-size:12.5px;color:var(--muted);line-height:1.55;flex:1 1 240px;min-width:0}
.lck-total .br b{color:var(--ink);font-variant-numeric:tabular-nums}
.lck-total .br .w{color:var(--danger);font-weight:600;display:flex;gap:6px;align-items:center}.lck-total .br .w svg{width:15px;height:15px;flex:none}
.lck-total .btn{flex:none}.lck-total .btn svg{width:18px;height:18px}
.lck-lot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 22px}
.lck-lot .id{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lck-lot .id b{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.lck-lot dl{display:grid;grid-template-columns:auto auto auto;gap:4px 34px;margin:12px 0 0;justify-content:start}
.lck-lot dl.pairs>div{display:flex;flex-direction:column;gap:2px;min-width:0}.lck-exp{display:flex;gap:6px;align-items:center;margin-top:10px}.lck-exp svg{width:14px;height:14px;flex:none}
.lck-lot dt{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.lck-lot dd{margin:0;font-size:14.5px;font-weight:600;grid-row:2}
.lck-big{border-radius:14px;padding:14px 22px;color:#fff;background:linear-gradient(#ffffff0e 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,#ffffff0e 1px,transparent 1px) 0 0/24px 24px,linear-gradient(135deg,#0d2542,#12355d);min-width:min(430px,100%)}
.lck-big small{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#ffd27a}
.lck-big small svg{width:15px;height:15px}
.lck-big .v{display:flex;gap:6px 16px;align-items:baseline;flex-wrap:wrap;margin:4px 0;font-variant-numeric:tabular-nums}
.lck-big .v b{font-size:36px;line-height:1.15;letter-spacing:-.5px;white-space:nowrap}
.lck-big .v i{font-style:normal;opacity:.5;font-size:28px}
.lck-big p{margin:0;font-size:12.5px;opacity:.88;max-width:440px;line-height:1.45}
.lck-steps{list-style:none;margin:0;padding:16px 22px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--card-border);background:#fafbfd}
.lck-steps li{position:relative;padding-right:14px;min-width:0}
.lck-steps li::before{content:"";position:absolute;left:30px;right:2px;top:13px;height:2px;background:var(--line)}
.lck-steps li:last-child::before{display:none}
.lck-steps li.done::before{background:var(--ok)}
.lck-steps .n{position:relative;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:var(--card);border:2px solid var(--line);color:#8a99ad}
.lck-steps .n svg{width:15px;height:15px;stroke-width:2.6}
.lck-steps .done .n{background:var(--ok);border-color:var(--ok);color:#fff}
.lck-steps .cur .n{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 0 0 4px rgba(6,101,237,.18)}
.lck-steps b{display:block;font-size:13.5px;line-height:1.3;margin-top:8px;font-weight:600}
.lck-steps .cur b{color:var(--blue);font-weight:700}
.lck-steps .todo b{color:var(--muted);font-weight:500}
.lck-steps small{display:block;font-size:12px;color:var(--muted);line-height:1.4;margin-top:2px}
.lck-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 22px;border-top:1px solid var(--card-border)}
.lck-actions .sub{flex:1 1 280px;margin:0;line-height:1.45}
.lck-actions .btn svg{width:18px;height:18px}
.lck-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.lck-sum .kt-kpi{margin:0}.lck-sum .kt-kpi b{font-variant-numeric:tabular-nums}
.lck-foot{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--card-border);background:#fafbfd;font-size:13.5px;border-radius:0 0 var(--radius) var(--radius)}
.lck-foot .sub{margin:0;flex:1 1 260px}.lck-foot .tot b{font-variant-numeric:tabular-nums;font-size:15px}
.lck-res{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lck-res li{display:flex;gap:9px;align-items:flex-start;padding:9px 12px;border:1px solid var(--card-border);border-radius:10px;font-size:13.5px;line-height:1.45}
.lck-res li>svg{width:17px;height:17px;flex:none;margin-top:2px}.lck-res li.ok>svg{color:var(--ok)}.lck-res li.bad{background:color-mix(in srgb,var(--danger-bg) 55%,var(--card))}.lck-res li.bad>svg{color:var(--danger)}
.lck-res small{display:block;color:var(--muted);font-size:12.5px}
.lck-a4 h2{margin:0 0 6px;font-size:17px}.lck-a4 table{width:100%;border-collapse:collapse;margin-top:10px;font-size:11.5px}
.lck-a4 th,.lck-a4 td{border:1px solid #c9d3e0;padding:5px 7px;text-align:left;vertical-align:top}.lck-a4 td.r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.lck-a4 tr.t td{font-weight:700}.lck-a4 .f{margin-top:12px;color:#56687f;font-size:11.5px}
/* Trang Tổng Giám đốc: nhiều việc chờ quyết + một lô */
.pv-todo-h{padding:0 4px}
.pv-todos{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}
.pv-todo.many{display:block;padding:14px 16px 16px}
.pv-todo.many .st3{margin-top:10px}.pv-todo.many .st3 div{padding:7px 10px}
.pv-todo.many .btn.pv-go{display:flex;width:100%;margin-top:12px}
.pv-todo .tot span{font-size:17px;font-weight:600;opacity:.9;margin-right:4px}
.pv-todo .who>small:last-child{display:block;line-height:1.45}
.pv-lot{font-weight:600;color:var(--ink)!important;font-variant-numeric:tabular-nums}
.lck-hero{padding:14px 18px 16px}
.lck-hero .pv-eye{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#ffd27a;opacity:1}
.lck-hero .pv-eye svg{width:16px;height:16px}.lck-hero .pv-eye .pill{text-transform:none;letter-spacing:0}
.lck-bank{display:grid;grid-template-columns:auto 1fr;gap:8px;margin:8px 0}
.lck-bank div{background:#ffffff14;border:1px solid #ffffff22;border-radius:12px;padding:8px 12px;min-width:0}
.lck-bank small{display:block;font-size:11.5px;opacity:.8}
.lck-bank b{display:block;font-size:25px;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.3px;white-space:nowrap}
.lck-from{display:flex;gap:7px;align-items:center;font-size:13.5px;font-weight:600}.lck-from svg{width:16px;height:16px;flex:none}
.lck-split{font-size:12.5px;opacity:.88;margin-top:3px;line-height:1.45}
.po-it .why.lck-acc{display:flex;gap:6px;align-items:center;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.po-it .why.lck-acc svg{width:14px;height:14px;flex:none;color:var(--muted)}
.po-fold summary b small{display:block;font-weight:400;font-size:12.5px;color:var(--muted)}
html[data-mode="dark"] :is(.lck-other,.lck-steps,.lck-foot){background:#0f1c2e}
@media (max-width:1100px){.lck-lot{grid-template-columns:minmax(0,1fr)}.lck-pick{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lck-pick .field:first-child{grid-column:1/-1}}
@media (max-width:900px){
  table.lck{min-width:0;table-layout:auto}
  table.lck tr td{background:none!important;box-shadow:none!important}
  table.lck.stack tr.bad{box-shadow:inset 3px 0 #e5484d;background:color-mix(in srgb,var(--danger-bg) 55%,var(--card))}
  table.lck.stack tr.care{box-shadow:inset 3px 0 #f59e0b}table.lck.stack tr.okk{box-shadow:inset 3px 0 #16a34a}
  table.lck.stack td.amt{text-align:left}
  .lck-steps{grid-template-columns:minmax(0,1fr);gap:10px}
  .lck-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:10px;padding:0}.lck-steps li::before{display:none}
  .lck-steps .n{grid-row:1/3}.lck-steps b{margin-top:3px}
  .lck-sum{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .lck-pick{grid-template-columns:minmax(0,1fr)}
  .lck-lot{padding:14px 16px}.lck-lot dl{grid-template-columns:minmax(0,1fr);gap:2px}.lck-lot dd{grid-row:auto;margin-bottom:6px}.lck-lot dl.pairs{gap:8px}.lck-lot dl.pairs dd{margin-bottom:0}
  .lck-big .v b{font-size:26px}.lck-big .v i{display:none}
  .lck-actions .btn,.lck-total .btn{flex:1 1 100%}
  .lck-head .r{margin-left:0;width:100%}.lck-head .pv-find{flex:1}
  .pv-todos{grid-template-columns:minmax(0,1fr)}
  .lck-bank b{font-size:22px}
}
/* ===== Lô chuyển khoản · Đợt 2 — bước "Ngân hàng đã chuyển" (ảnh LC-6, anh Tâm duyệt 09/10/2026 tối) + phần dùng chung của Đợt 2 / 3 ===== */
.pill.info{background:#e6ecf3;color:#3b526e}
.lck-sec{margin-top:16px}
.lck-head>.sub{flex:1 1 280px;margin-left:0}.lck-head .r .btn.sm svg{width:16px;height:16px}
table.lck tr.inf td:first-child{box-shadow:inset 3px 0 #64788f}
table.lck tr.off td{background:none}table.lck tr.off td:first-child{box-shadow:none}
table.lck .why.mut{color:var(--muted)}table.lck .bk{font-weight:600}
table.lck tr.noline td{border-bottom:0}table.lck tr.sub2 td{padding-top:0}table.lck tr.sub2 td:first-child{box-shadow:inset 3px 0 #e5484d}
table.lck-result .r1{width:52px}table.lck-result .r2{width:250px}table.lck-result .r3{width:118px}table.lck-result .r4{width:170px}table.lck-result .r5{width:262px}
.lck-seg2{flex-wrap:nowrap}.lck-seg2 button{white-space:nowrap;min-height:32px;padding:5px 12px}
.lck-seg2 button.on.go{color:var(--ok)}.lck-seg2 button.on.back{color:var(--danger)}
.lck-ret{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;padding:4px 0 8px}
.lck-ret .field{margin:0}.lck-ret .field>span:first-child{font-size:11.5px}
.lck-ret .chips{display:flex;gap:6px;flex-wrap:wrap;text-transform:none;letter-spacing:0}
.lck-ret .chip{height:32px;font-size:13px;font-family:inherit}
.lck-ret .chip.on{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}
.lck-ret .two{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px;margin-top:10px}
.lck-then{border:1px solid color-mix(in srgb,var(--danger) 25%,var(--card-edge));background:var(--card);border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.5;align-self:start}
.lck-then b.t{display:block;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--danger);margin-bottom:4px}
.lck-then ul{margin:0;padding-left:18px}
.lck-inp{display:block;width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:8px 12px;font:inherit;font-size:14px;min-width:0}
.lck-inp.bad,.lck-drop.bad{border-color:#e5484d;box-shadow:0 0 0 3px rgba(229,72,77,.12)}
.lck-sel.sm{min-height:36px;border-radius:9px;font-size:13.5px;padding:0 10px}
.field>.lck-sel,.field>.chips,.field>.lck-drop{text-transform:none;letter-spacing:0;font-weight:400;font-size:14px;color:var(--ink)}
.lck-sel.ro{background:var(--neutral-bg);gap:8px}.lck-sel.ro b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lck-sel.ro .sub{display:inline;margin:0;white-space:nowrap}
.lck-sel.warn{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.14)}.lck-sel.bad{border-color:#e5484d;box-shadow:0 0 0 3px rgba(229,72,77,.12)}
.lck-doc{display:grid;grid-template-columns:minmax(0,1fr) 440px}
.lck-doc>div{padding:16px 22px 18px;min-width:0}.lck-doc>div+div{border-left:1px solid var(--card-border)}
.lck-doc .field{margin:0}.lck-doc .field>span:first-child{font-size:11.5px}
.lck-doc .grid3{display:grid;grid-template-columns:176px 190px minmax(0,1fr);gap:14px}
.lck-doc .grid2{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:14px;margin-top:10px}
.lck-drop{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-height:44px;border:1.5px dashed #b9c6d6;border-radius:12px;padding:6px 10px;font-size:13.5px;color:var(--muted);background:var(--card)}
.lck-drop.busy{opacity:.55;pointer-events:none}
.lck-up{display:inline-flex;gap:7px;align-items:center;cursor:pointer;font-weight:600;color:var(--blue);padding:4px 6px;border-radius:8px}.lck-up svg{width:17px;height:17px;flex:none}
.lck-up:hover,.lck-up:focus-within{background:rgba(6,101,237,.08)}
.lck-file{display:inline-flex;align-items:center;max-width:100%;border:1px solid var(--card-edge);border-radius:8px;background:var(--card);line-height:1.5;min-width:0}
.lck-file button{display:inline-flex;gap:6px;align-items:center;border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--blue);padding:3px 9px;cursor:pointer;min-width:0;border-radius:8px}
.lck-file button:hover{background:rgba(6,101,237,.08)}.lck-file button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lck-file svg{width:14px;height:14px;flex:none;color:var(--muted)}.lck-file .x{padding:3px 6px;border-left:1px solid var(--card-edge);border-radius:0 8px 8px 0}
.lck-files{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 0}
.lck-more{margin-top:12px;font-size:13.5px}.lck-more summary{cursor:pointer;font-weight:600;color:var(--blue)}
.lck-warnline{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:13.5px;line-height:1.45}.lck-warnline svg{width:18px;height:18px;flex:none;margin-top:1px}
.lck-h3{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);display:flex;gap:8px;align-items:center}
.lck-h3 i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:12px;letter-spacing:0;flex:none}
.lck-use{list-style:none;margin:0;padding:0;border:1px solid var(--card-border);border-radius:10px;font-size:12.5px}
.lck-use li{display:flex;gap:10px;padding:7px 10px;align-items:baseline}.lck-use li+li{border-top:1px solid var(--card-border)}
.lck-use .g{flex:1;min-width:0;overflow-wrap:anywhere}.lck-use li b{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.lck-use li.sum{background:#fafbfd;font-weight:700;border-radius:0 0 10px 10px}.lck-use li.sum b{font-weight:700}
.lck-use .code{font-weight:700;color:var(--blue);white-space:nowrap}.lck-use li.no{color:var(--muted)}.lck-use li.no b{text-decoration:line-through;font-weight:500}
.lck-total .n.bad b{color:var(--danger)}
.lck-need{margin:0;padding-left:20px;font-size:14px;line-height:1.6}
.lck-res li.back>svg{color:var(--danger)}
.lck-sum.four{grid-template-columns:repeat(4,minmax(0,1fr))}.kt-kpi.slate{border-top-color:#64788f}
.lck-led{display:block;font-size:12.5px;line-height:1.45;margin-top:5px;color:var(--muted)}.lck-led b{color:var(--ink);font-weight:600}
.lck-other2{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;padding:14px 18px}.lck-other2+.lck-other2{border-top:1px solid var(--card-border)}
.lck-other2 .icon-tile{width:38px;height:38px}
.lck-other2 .t{flex:1 1 260px;min-width:0}.lck-other2 .t b{display:block;font-size:15px}.lck-other2 .t span{display:block;font-size:13px;color:var(--muted)}
.lck-other2 .a{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.lck-other2 .x{font-size:12.5px;color:var(--muted);display:flex;gap:6px;align-items:center;white-space:nowrap}.lck-other2 .x svg{width:15px;height:15px}
.lck-other2 .btn.sm svg{width:15px;height:15px}
.lck-sal1{margin-bottom:16px}
.dc-hist-lock{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 0}.dc-hist-lock svg{width:16px;height:16px;flex:none;color:var(--muted)}
.lck-live .tcard-top,.lck-hist .tcard-top{flex-wrap:wrap}
.lck-locknote{display:flex;gap:8px;align-items:flex-start;margin:12px 4px}.lck-locknote svg{width:16px;height:16px;flex:none;margin-top:2px}
/* Bước "Xuất tệp, lập lệnh ngân hàng" (ảnh LC-5): mẫu tệp theo ngân hàng (chưa có mẫu → ghi rõ), kiểm rồi tải, báo Tổng Giám đốc, người nhận so với danh mục ngân hàng */
.lck-xp{display:grid;grid-template-columns:minmax(0,1fr) 392px}
.lck-xp>div{padding:18px 22px 20px;min-width:0}
.lck-xp>div+div{border-left:1px solid var(--card-border);background:#fafbfd;border-radius:0 0 var(--radius) 0}
.lck-tpl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.lck-tpl>div{border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;background:var(--card);position:relative;min-width:0}
.lck-tpl>div.on{border:2px solid var(--blue);padding:11px 13px;background:color-mix(in srgb,var(--blue) 5%,var(--card));grid-column:span 2}
.lck-tpl b{display:flex;gap:8px;align-items:center;font-size:15px;padding-right:26px}.lck-tpl b svg{width:17px;height:17px;color:var(--blue);flex:none}
.lck-tpl span{display:block;font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:3px}
.lck-tpl .rd{position:absolute;right:12px;top:12px;width:18px;height:18px;border-radius:50%;border:5.5px solid var(--blue);background:var(--card)}
.lck-frame{margin-top:12px;border:1.5px dashed #d9a441;border-radius:12px;padding:14px 16px;display:flex;gap:14px;align-items:center;background:var(--warn-bg)}
.lck-frame.ok{border-color:#b9c6d6;background:var(--card)}
.lck-frame>svg{width:30px;height:30px;flex:none;color:#8a99ad;stroke-width:1.4}
.lck-frame b{display:block;font-size:14px}.lck-frame span{display:block;font-size:12.5px;color:var(--ink);line-height:1.45;margin-top:2px}
.lck-alt{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--muted);margin-top:12px;line-height:1.45}.lck-alt svg{width:16px;height:16px;flex:none;margin-top:2px}.lck-alt b{color:var(--ink)}
.lck-chk{list-style:none;margin:0 0 14px;padding:0;font-size:13.5px}
.lck-chk li{display:flex;gap:9px;align-items:flex-start;padding:7px 0;line-height:1.4}.lck-chk li+li{border-top:1px solid var(--card-border)}
.lck-chk svg{width:17px;height:17px;flex:none;margin-top:1px}
.lck-chk .g svg{color:var(--ok)}.lck-chk .y svg{color:#b45309}.lck-chk .r svg{color:var(--danger)}.lck-chk .n svg{color:#64788f}
.lck-chk b{font-variant-numeric:tabular-nums}.lck-chk small{display:block;color:var(--muted);font-size:12.5px}
.lck-stack{display:flex;flex-direction:column;gap:8px}.lck-stack .btn{width:100%;font-size:14px;padding:0 10px}.lck-stack .btn svg{width:18px;height:18px}
.lck-stack p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45}
.lck-stack p.warn{color:#92400e;font-weight:600;display:flex;gap:7px;align-items:flex-start}.lck-stack p.warn svg{width:15px;height:15px;flex:none;margin-top:2px}
.lck-typed{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--neutral-bg);border-radius:6px;padding:2px 7px;display:inline-block;overflow-wrap:anywhere}
.lck-code{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;border:1px solid var(--card-edge);border-radius:5px;padding:0 5px;line-height:17px;color:var(--muted);margin-left:6px;vertical-align:1px;background:var(--card)}
.lck-mini{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}
table.lck .lck-mini .btn{min-height:30px;padding:0 10px;border-radius:8px;font-size:12.5px;margin:0}table.lck .lck-mini .btn svg{width:14px;height:14px}
table.lck-match .m1{width:52px}table.lck-match .m2{width:236px}table.lck-match .m3{width:118px}table.lck-match .m4{width:190px}table.lck-match .m5{width:214px}
html[data-mode="dark"] .lck-xp>div+div{background:#0f1c2e}
html[data-mode="dark"] .lck-stack p.warn{color:#fbbf24}
@media (max-width:1100px){.lck-xp{grid-template-columns:minmax(0,1fr)}.lck-xp>div+div{border-left:0;border-top:1px solid var(--card-border);border-radius:0}}
@media (max-width:700px){.lck-xp>div{padding:14px 16px}.lck-tpl{grid-template-columns:minmax(0,1fr)}.lck-tpl>div.on{grid-column:auto}.lck-frame{align-items:flex-start}}
/* Khoản không có đề nghị trong trang lập lô (ảnh LC-7): 5 loại, khung thêm khoản (thiếu căn cứ / ghi chú → viền đỏ + nút khoá), bảng khoản đã thêm */
.lck-extra .lck-head .sub.wide{flex-basis:100%}.lck-extra .lck-head .pill svg{width:13px;height:13px}
.lck-kinds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:16px 18px 4px}
.lck-kinds>button{border:1px solid var(--card-edge);border-radius:12px;padding:11px 12px;display:flex;gap:10px;align-items:flex-start;background:var(--card);min-width:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.lck-kinds>button:hover{border-color:#b9c9de}
.lck-kinds>button.on{border:2px solid var(--blue);padding:10px 11px;background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.lck-kinds .icon-tile{width:34px;height:34px;border-radius:10px}.lck-kinds .icon-tile svg{width:18px;height:18px}
.lck-kinds b{display:block;font-size:14px;line-height:1.3}.lck-kinds span span{display:block;font-size:12px;color:var(--muted);line-height:1.35;margin-top:2px}
.lck-xhint{display:flex;gap:8px;align-items:center;margin:12px 18px 16px;font-size:13.5px;color:var(--muted)}.lck-xhint svg{width:16px;height:16px;flex:none}
.lck-form{margin:12px 18px 16px;border:1px solid var(--card-edge);border-radius:14px;padding:16px 18px;background:#fafbfd}
.lck-form h3{margin:0 0 12px;font-size:15px;font-weight:700;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lck-form h3 svg{width:18px;height:18px;color:var(--blue);flex:none}.lck-form h3 small{font-weight:400;color:var(--muted);font-size:13px}
.lck-form .field{margin:0;min-width:0}.lck-form .field>span:first-child{font-size:11.5px}
.lck-form .r1{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 170px auto;gap:12px;align-items:end}
.lck-form .r1.p{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) 170px auto}
.lck-form .r2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px;margin-top:12px}.lck-form .r2.three{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.25fr)}
.lck-form .r3{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:12px}
.lck-form .arr{display:grid;place-items:center;height:44px;color:var(--muted)}.lck-form .arr svg{width:20px;height:20px}
.lck-form .lck-inp.num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.lck-form select.lck-sel{appearance:auto}
.lck-form .lck-seg2 button:disabled{opacity:.45;cursor:not-allowed}
.lck-form .lck-drop.bad{color:var(--danger);background:color-mix(in srgb,var(--danger-bg) 45%,var(--card));font-weight:600}.lck-form .lck-drop.bad .lck-up{color:var(--danger)}
.lck-form .lck-save{margin:0 0 10px;font-size:13px}
.lck-form .end{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;margin-top:14px}
.lck-form .end .led{flex:1 1 320px;display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--ink);min-width:0}
.lck-form .end .led svg{width:17px;height:17px;flex:none;margin-top:1px;color:var(--muted)}
.lck-form .end .hint{font-size:12.5px;color:var(--danger);font-weight:600}
.lck-form .end .btn svg{width:17px;height:17px}
table.lck-xt .x1{width:140px}table.lck-xt .x2{width:200px}table.lck-xt .x3{width:118px}table.lck-xt .x4{width:210px}table.lck-xt .x6{width:216px}table.lck-xt .x7{width:92px}
table.lck-xt td.icos{white-space:nowrap;text-align:right}
.lck-ico{width:32px;height:32px;border-radius:8px;display:inline-grid;place-items:center;color:var(--muted);border:1px solid var(--card-edge);background:var(--card);cursor:pointer;margin-left:4px}
.lck-ico:hover{color:var(--blue);border-color:var(--blue)}.lck-ico svg{width:15px;height:15px}
html[data-mode="dark"] .lck-form{background:#0f1c2e}
@media (max-width:1100px){.lck-kinds{grid-template-columns:repeat(3,minmax(0,1fr))}.lck-form .r1,.lck-form .r1.p{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lck-form .arr{display:none}.lck-form .r2.three{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:700px){.lck-kinds{grid-template-columns:minmax(0,1fr);padding:14px 16px 4px}.lck-form{margin:12px 12px 14px;padding:14px}
  .lck-form .r1,.lck-form .r1.p,.lck-form .r2,.lck-form .r2.three,.lck-form .r3{grid-template-columns:minmax(0,1fr)}.lck-form .end .btn{flex:1 1 40%}
  table.lck.stack td.icos{text-align:left}}
/* Lô lương (ảnh LC-8): thẻ thứ ba — kỳ lương + mỗi pháp nhân một thẻ, từng người trong lô (người cần xử lý xếp trước), người thiếu số tài khoản để lại */
.lck-cos{display:grid;grid-template-columns:170px repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:16px;align-items:stretch}
.lck-cos .mon{display:flex;flex-direction:column;justify-content:center;gap:6px}.lck-cos .mon .field{margin:0}.lck-cos .mon .field>span:first-child{font-size:11.5px}
.lck-cos .tcard{gap:4px;padding:13px 15px;text-decoration:none;color:var(--ink);max-width:460px}.lck-cos .tcard.on{padding:12px 14px}
.lck-cos .tcard b.nm{font-size:15px;display:flex;gap:8px;align-items:center}.lck-cos .tcard b.nm svg{width:17px;height:17px;color:var(--muted);flex:none}
.lck-cos .tcard .amt{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.lck-cos .tcard .amt small{font-size:13px;font-weight:500;color:var(--muted);margin-right:6px}
.lck-cos .tcard .st{display:flex;gap:6px 8px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:2px}.lck-cos .tcard .st .pill svg{width:13px;height:13px}
.lck-llnew{display:flex;gap:14px 18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}.lck-llnew .grow{flex:1 1 320px;min-width:0}.lck-llnew b{font-size:16px}.lck-llnew p{margin:4px 0 0;font-size:13.5px;line-height:1.5}.lck-llnew p b{font-size:inherit}
.lck-llnew .mk{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto;gap:12px;align-items:end;flex:1 1 100%}.lck-llnew .mk .field{margin:0}.lck-llnew .mk .btn svg{width:18px;height:18px}
.lck-llmore{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:-4px 2px 14px;font-size:13.5px;color:var(--muted)}.lck-llmore>svg{width:16px;height:16px;flex:none}.lck-llmore .chip{text-decoration:none;font-variant-numeric:tabular-nums}.lck-llmore .btn svg{width:15px;height:15px}
.lck-llby{margin:6px 0 0}
.lck-llroll{display:flex;gap:8px;align-items:center;margin:0;padding:10px 22px;border-top:1px solid var(--card-border);font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.lck-llroll svg{width:16px;height:16px;flex:none}
table.lck-ll .p1{width:56px}table.lck-ll .p2{width:200px}table.lck-ll .p3{width:150px}table.lck-ll .p4{width:124px}table.lck-ll .p5{width:158px}table.lck-ll .p6{width:158px}
table.lck-ll td .tnum{display:block;font-variant-numeric:tabular-nums}table.lck-ll td.use .tnum{font-weight:700}
.lck-none{color:var(--danger);font-weight:600}
.lck-morerow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:11px 18px;border-top:1px solid var(--card-border);font-size:13.5px;color:var(--muted)}.lck-morerow svg{width:16px;height:16px;flex:none}.lck-morerow .lck-link{margin-left:auto}
.lck-lockline{display:flex;gap:8px;align-items:flex-start}.lck-lockline svg{width:15px;height:15px;flex:none;margin-top:2px}
@media (max-width:900px){.lck-cos{grid-template-columns:minmax(0,1fr)}.lck-llnew .mk{grid-template-columns:minmax(0,1fr)}.lck-llroll{padding:10px 16px;align-items:flex-start}}
/* Màn Tổng Giám đốc duyệt lô — ba nhóm + "trên ngân hàng anh phải thấy" (ảnh LC-9, khổ 390) */
.lck-bvt{width:100%;border-collapse:collapse;margin:8px 0 6px;font-variant-numeric:tabular-nums}
.lck-bvt th{text-align:left;font-weight:600;font-size:14px;padding:7px 0;border-bottom:1px solid #ffffff22;line-height:1.3}
.lck-bvt th small{display:block;font-weight:400;font-size:12px;opacity:.75;overflow-wrap:anywhere}
.lck-bvt td{text-align:right;padding:7px 0 7px 10px;border-bottom:1px solid #ffffff22;white-space:nowrap;font-size:13.5px;vertical-align:top}.lck-bvt td b{font-size:16px}
.lck-bvt td.hid{font-size:12.5px;opacity:.8}.lck-bvt td.hid svg{width:13px;height:13px;vertical-align:-2px;margin-right:4px}
.lck-bvt th{width:99%}.lck-bvt td{width:1%}
.lck-po .po-it .l1{flex-wrap:wrap}.lck-po .po-it .l1 .pill{white-space:normal}
.lck-gnote.lck-end{display:flex;gap:8px;align-items:flex-start;margin:4px 4px 0}.lck-gnote.lck-end svg{width:15px;height:15px;flex:none;margin-top:2px}
.lck-bvt tr:last-child :is(th,td){border-bottom:0}
.lck-bvsum{display:flex;gap:10px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #ffffff3d;padding:9px 0 8px;font-size:14px;font-weight:600}
.lck-bvsum b{font-size:22px;color:#ffd27a;letter-spacing:-.2px;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}
.po-sec.lck-g{color:var(--ink);margin-top:6px}.po-sec.lck-g i{font-style:normal;width:20px;height:20px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:11.5px;letter-spacing:0;flex:none}
.po-sec.lck-g span{font-variant-numeric:tabular-nums;font-weight:600}
.lck-gnote{margin:-4px 4px 0;font-size:12.5px;color:var(--muted);line-height:1.45}
.po-it.inf::before{background:#64788f}
.po-it .lck-files{margin:6px 0 2px}.po-it .lck-file button{font-size:13px;padding:5px 10px}
.po-it .why.lck-road{display:flex;gap:6px;align-items:flex-start;margin-top:4px}.po-it .why.lck-road svg{width:14px;height:14px;flex:none;margin-top:2px}
.po-it .po-dec{margin-top:6px}
.lck-sal{border:1.5px solid var(--navy);border-radius:14px;overflow:hidden;background:var(--card)}
.lck-sal header{display:flex;gap:8px;align-items:center;background:var(--navy);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:9px 14px}.lck-sal header svg{width:15px;height:15px;flex:none}
.lck-sal .in{padding:12px 14px 14px}.lck-sal .big small{font-size:14px;color:var(--muted)}.lck-sal .big b{font-size:25px;letter-spacing:-.3px;font-variant-numeric:tabular-nums;white-space:nowrap}
.lck-sal .lck-chk{margin:8px 0 12px;font-size:13px}.lck-sal .lck-chk li{padding:5px 0;border:0}.lck-sal .lck-chk li+li{border:0}
.lck-sal .lck-open{display:flex;width:100%;justify-content:center}.lck-sal .lck-open svg{width:17px;height:17px}
.lck-sal .act{display:grid;grid-template-columns:1fr;margin-top:8px}
.lck-sal .act .go{min-height:44px;border-radius:10px;border:1px solid var(--blue);background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:600;font-size:13.5px;cursor:pointer}
.lck-sal .act .go svg{width:15px;height:15px}.lck-sal .act .go:disabled{opacity:.6;cursor:progress}.lck-sal .sub{margin:6px 0 0;font-size:12.5px}.lck-sal .po-dec{margin-top:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lck-ppl{list-style:none;margin:0;padding:0 14px 6px}
.lck-ppl li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--card-border)}
.lck-ppl li>span:first-child{flex:1;min-width:0}.lck-ppl b{display:block;font-size:14px;font-weight:600}.lck-ppl small{display:block;font-size:12.5px;color:var(--muted)}
.lck-ppl .a{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.lck-ppl .a .h{color:var(--danger);font-weight:600}
.lck-ppl li.more b{font-weight:500;color:var(--muted)}
.lck-rest{padding:0 0 6px}.lck-rest summary{cursor:pointer;font-weight:600;color:var(--blue);font-size:13.5px;padding:6px 14px 8px}
.po-fold.mut .dot{background:var(--neutral-bg);color:var(--muted)}
html[data-mode="dark"] .lck-sal{border-color:#31486a}html[data-mode="dark"] .lck-sal header{background:#16304f}
html[data-mode="dark"] .po-sec.lck-g i{background:#2b4567}
/* Đề nghị bị ngân hàng trả lại: nhãn ở Kiểm và chi + khối sửa người nhận ở trang đề nghị */
.lck-brp svg{width:13px;height:13px}.lck-brw{display:block;font-size:12.5px;line-height:1.4;margin-top:4px;color:var(--ink);white-space:normal;max-width:340px}
.lck-brbox{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px;border-color:color-mix(in srgb,var(--danger) 30%,var(--card-edge));background:color-mix(in srgb,var(--danger-bg) 45%,var(--card))}
.lck-brbox .grow{flex:1 1 320px;min-width:0}.lck-brbox b{font-size:15px}.lck-brbox p{margin:4px 0 0;font-size:13.5px;line-height:1.5}.lck-brbox p b{font-size:inherit}
.lck-brbox .acts{display:flex;gap:8px;flex-wrap:wrap}
/* Dòng nhắc vàng thay nút Chi lẻ (payHold: khoản đang ở lô đã gửi / ngân hàng trả lại chưa xử lý xong) */
.pay-hold{display:flex;gap:8px 10px;align-items:center;flex-wrap:wrap;flex:1 1 320px;font-size:13.5px;line-height:1.45;color:#92400e;background:var(--warn-bg);border-radius:10px;padding:8px 12px}
.pay-hold>svg{width:17px;height:17px;flex:none}.pay-hold>span{flex:1 1 240px;min-width:0;white-space:normal;text-align:left}.pay-hold .btn{flex:none}.pay-hold .btn svg{width:15px;height:15px}
.pay-hold.compact{font-size:12.5px;padding:6px 9px;flex:none;max-width:360px}.kt-hold{margin-top:6px}.pill.dc-back{margin-left:6px}.po-it .l1 .pill.dc-back{margin-left:0}
html[data-mode="dark"] .pay-hold{color:#fbbf24}
.lck-brcell{margin-top:6px}.lck-refund{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:-4px 0 16px}.lck-refund .btn svg{width:15px;height:15px}
.lck-bankbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.lck-bankbar .pv-find{flex:1 1 220px}
table.lck-banks td{vertical-align:top}table.lck-banks .sub{display:block;font-size:12.5px}table.lck-banks td.r{text-align:right}table.lck-banks tr.off td{color:var(--muted)}
html[data-mode="dark"] .pill.info{background:#1c2b40;color:#b7c6da}
html[data-mode="dark"] .lck-use li.sum{background:#0f1c2e}
html[data-mode="dark"] :is(.lck-drop,.lck-sel.warn,.lck-sel.bad){border-color:#3a4c63}
@media (max-width:1100px){.lck-doc{grid-template-columns:minmax(0,1fr)}.lck-doc>div+div{border-left:0;border-top:1px solid var(--card-border)}.lck-ret{grid-template-columns:minmax(0,1fr)}.lck-sum.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  table.lck.stack tr.inf{box-shadow:inset 3px 0 #64788f}
  table.lck.stack tr.sub2{padding-top:0;border-top:0}table.lck.stack tr.noline{border-bottom:0;padding-bottom:4px}
  table.lck.stack tr.sub2 td:first-child{display:none}
  .lck-seg2{display:flex}.lck-seg2 button{flex:1;justify-content:center;min-height:40px}
  .lck-sum.four{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .lck-doc>div{padding:14px 16px}.lck-doc .grid3,.lck-doc .grid2,.lck-ret .two{grid-template-columns:minmax(0,1fr)}
  .lck-other2 .x{white-space:normal}
}
/* ---------- Thu hồi tài sản: bảng kiểm từng món + biên bản hai chữ ký (ảnh TH-1..TH-4, duyệt 08/10/2026) — tiền tố .thu- ---------- */
.thu-codes{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.thu-code{display:inline-flex;align-items:center;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;font-size:12.5px;letter-spacing:.3px;color:var(--blue);background:var(--card);border:1px solid var(--card-edge);border-radius:8px;padding:2px 8px;text-decoration:none}
.thu-code:hover{border-color:var(--blue)}
.thu-code.wait{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,var(--card-edge))}
.tk-dir-banner .meta{display:flex;gap:8px;align-items:center;flex:none;flex-wrap:wrap}
.tk-dir-banner .meta .pill.warn{background:var(--card);border:1px solid color-mix(in srgb,var(--warn) 40%,var(--card-edge))}
.tk-dir-banner .pill svg{width:13px;height:13px}
.tk-dir-banner.open{border-radius:12px 12px 0 0;margin-bottom:0}
.thu-panel{border:1px solid color-mix(in srgb,var(--warn) 40%,var(--card-edge));border-top:0;border-radius:0 0 12px 12px;background:var(--card);margin-bottom:14px;overflow:hidden}
.thu-solo .thu-panel{border-top:1px solid color-mix(in srgb,var(--warn) 40%,var(--card-edge));border-radius:12px}
.thu-ph{display:flex;align-items:center;gap:12px;padding:14px 18px 12px;flex-wrap:wrap}
.thu-ph>div:first-child{flex:1;min-width:0}.thu-ph h2{margin:0;font-size:16px;font-weight:700}.thu-ph .sub{display:block;margin-top:1px}
.thu-ph .actions{display:flex;gap:8px;align-items:center}
.thu-pad{margin:0 18px 12px}.alert.thu-pad{display:flex;gap:8px;align-items:flex-start}.alert.thu-pad svg{width:16px;height:16px;flex:none;margin-top:2px}
.thu-tbl td{vertical-align:top!important;padding-top:14px!important;padding-bottom:14px!important}
.thu-tbl tr.r-ok td:first-child{box-shadow:inset 3px 0 #167548}.thu-tbl tr.r-warn td:first-child{box-shadow:inset 3px 0 #d39a1c}.thu-tbl tr.r-wait td:first-child{box-shadow:inset 3px 0 #b42318}
.thu-tbl tr.r-wait td{background:color-mix(in srgb,var(--danger) 3%,var(--card))}
.thu-seg button.on.ok{background:#e8f6ee;color:#167548}.thu-seg button.on.warn{background:#fff4df;color:#a86a05}.thu-seg button.on.bad{background:var(--danger-bg);color:var(--danger)}
.thu-given b{display:block;font-weight:600;font-size:13.5px}.thu-given small{display:block;color:var(--muted);font-size:12.5px;white-space:nowrap}
.thu-note{display:flex;gap:8px;align-items:center;margin-top:8px}.thu-note.solo{margin-top:0}
.thu-note .input{flex:1;min-width:0;min-height:36px;border-radius:10px;padding:6px 11px;font-size:13.5px}
.thu-note .input.thu-need{border-color:var(--danger);background:var(--danger-bg)}
.thu-add{white-space:nowrap;cursor:pointer}
.thu-thumb{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--blue);white-space:nowrap;cursor:pointer}
.thu-thumb img{width:36px;height:36px;border-radius:8px;object-fit:cover;border:1px solid var(--card-edge)}
.thu-hang{display:flex;gap:6px;align-items:flex-start;font-size:13px;color:var(--danger);margin-top:8px;font-weight:600}.thu-hang svg{width:15px;height:15px;flex:none;margin-top:2px}
.thu-prev{margin-top:6px}
.thu-foot{margin-top:0;border-radius:0}
.thu-sum{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.thu-sum .big{font-size:15px}
.thu-foot .btn svg,.thu-acts .btn svg{width:16px;height:16px}
.thu-foot-note{margin:0;padding:0 18px 14px;background:#fafbfd;font-size:12.5px;color:var(--muted);display:flex;gap:7px;align-items:flex-start}.thu-foot-note svg{width:14px;height:14px;flex:none;margin-top:2px}
.thu-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.thu-photos img{width:100%;border-radius:10px;border:1px solid var(--card-edge);display:block;margin-bottom:6px}
/* biên bản hai chữ ký */
.thu-ho .thu-steps{margin-top:2px}
.thu-doc .ar-sigs,.thu-doc .ar-sigs+.ac-sign{display:none}.thu-doc.signed .ar-sigs{display:grid}.thu-doc.signed .ar-sigs+.ac-sign{display:block}
.ar-sigs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:18px 0 0;text-align:center;font-size:13.5px}
.ar-sig>b{display:block}.ar-sig>i{display:block;font-size:12.5px;color:#444}
.ar-sig>span{display:grid;place-items:center;min-height:70px;margin:8px auto 4px;max-width:260px;border:1px dashed #3d9a6a;border-radius:8px;padding:6px;font:600 12px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;background:#f2fbf6;color:#14663f}
.ar-sig>span.wait{border-color:#bbb;background:none;color:#8a95a5}
.ar-sig>img{display:block;max-height:54px;max-width:220px;margin:8px auto 0}.ar-sig>img+span{min-height:0;margin-top:4px}
.ar-sig>em{display:block;font-style:normal;font-weight:700}
.ar-min .ac-sign{margin:12px 0 0;text-align:center;font-size:12px;color:#444;word-break:break-all;display:block}
.ar-min .ac-tbl td:nth-child(2){white-space:nowrap}
.thu-sigs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 18px 0}
.thu-sig{border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;display:flex;gap:12px;align-items:center}
.thu-sig.wait{border-color:color-mix(in srgb,var(--warn) 45%,var(--card-edge));background:color-mix(in srgb,var(--warn-bg) 60%,var(--card))}
.thu-sig.done{border-color:color-mix(in srgb,var(--ok) 40%,var(--card-edge));background:color-mix(in srgb,var(--ok-bg) 60%,var(--card))}
.thu-sig>div{flex:1;min-width:0}.thu-sig small{display:block;font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.thu-sig b{display:block;font-size:14.5px}.thu-sig .s{display:block;font-size:13px;color:var(--muted)}.thu-sig .btn{margin-top:8px}
.thu-acts{display:flex;gap:8px;flex-wrap:wrap;margin:14px 18px 18px;align-items:center}.thu-acts .sp{flex:1}
.thu-sign .sub{margin:0}
.thu-linkbtn{border:0;background:none;padding:6px 0;font:inherit;font-size:13.5px;font-weight:600;color:var(--blue);cursor:pointer;text-align:center}
.thu-mlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--card-border)}
.thu-mlist li{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-bottom:1px solid var(--card-border)}
.thu-mlist li>div{flex:1;min-width:0}.thu-mlist b{display:block;font-size:14px;line-height:1.3}.thu-mlist small{display:block;font-size:12.5px;color:var(--muted);line-height:1.4}
.thu-mlist small.n{color:var(--warn);font-weight:600}.thu-mlist .pill{flex:none}
.thu-full{margin:10px 14px 0;font-size:13.5px}.thu-full summary{cursor:pointer;font-weight:600;color:var(--blue);padding:4px 0}.thu-full .ac-minutes{margin:8px 0 0;padding:14px 12px}
.thu-bul{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}.thu-bul li{display:flex;gap:10px;align-items:flex-start;font-size:14px}.thu-bul svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--ok)}
.thu-mail{display:flex;gap:12px;align-items:center;border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.thu-mail>div{flex:1;min-width:0}.thu-mail b{display:block;font-size:16px;font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.3px;word-break:break-all}.thu-mail small{display:block;color:var(--muted);font-size:12.5px}
.thu-mail a{font-weight:600;font-size:13.5px;white-space:nowrap}
.thu-sha{word-break:break-all}
.thu-list-tools{margin:0 0 12px}
/* quy trình nghỉ việc bị chặn (ảnh TH-3) */
.thu-block{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--danger-line);background:var(--danger-bg);border-radius:12px;padding:14px 16px;margin:0 0 14px}
.thu-block.waived{border-color:color-mix(in srgb,var(--warn) 40%,var(--card-edge));background:var(--warn-bg)}
.thu-block>div{flex:1;min-width:0}.thu-block h3{margin:0 0 2px;font-size:15.5px;color:var(--danger)}.thu-block.waived h3{color:var(--warn)}.thu-block p{margin:0;font-size:13.5px;color:var(--ink)}
.thu-block ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.thu-block li{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--card);border:1px solid var(--danger-line);border-radius:10px;padding:8px 8px 8px 12px;font-size:13.5px}
.thu-block li>span{flex:1;min-width:180px}.thu-block li>svg{width:16px;height:16px;flex:none}.thu-block li .btn svg{width:15px;height:15px}
.thu-block .thu-waive{margin-top:10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.thu-step-in{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.hf-steps li.thu-lock .dot{background:#fee2e2;color:#b91c1c}
.thu-after{display:flex;gap:8px;align-items:flex-start;margin-top:12px}.thu-after svg{width:16px;height:16px;flex:none;margin-top:2px}
html[data-mode="dark"] .thu-seg button.on.ok{background:#12372a;color:#7fd8a8}html[data-mode="dark"] .thu-seg button.on.warn{background:#3a2c0c;color:#f5d9a0}
html[data-mode="dark"] .thu-foot-note{background:#0f1c2e}
html[data-mode="dark"] .hf-steps li.thu-lock .dot{background:#4a1d1d;color:#fca5a5}
@media (max-width:640px){
  .thu-sigs{grid-template-columns:1fr;margin:12px 12px 0}.thu-acts{margin:12px}.thu-ph{padding:12px}
  .thu-note{flex-wrap:wrap}.thu-note .input{flex-basis:100%}.thu-seg{flex-wrap:nowrap;max-width:100%}.thu-seg button{padding:7px 8px;white-space:normal;text-align:left}
  .thu-tbl td[data-label]::before{display:block;margin-bottom:4px}
  .thu-foot .btn-row{width:100%}.thu-foot .btn-row .btn{flex:1}
  .thu-sign .btn.primary{width:100%;min-height:48px;font-size:15.5px}.thu-sign .ac-pin .input{max-width:none;width:100%}
  .tk-dir-banner .meta{width:100%}
}
@media print{.thu-panel,.thu-acts{display:none!important}.thu-print{font-family:"Times New Roman",Times,serif;color:#111}.thu-print .ar-sig>span{background:none}}

[data-thu-box]:empty,#thu-solo:empty{display:none}
.ar-sigs+.ac-sign{margin:12px 0 0;display:block;text-align:center;font-size:12px;color:#444;word-break:break-all}
@media (max-width:640px){.thu-ph>div:first-child{flex-basis:100%}.thu-tbl tr td:first-child{box-shadow:none!important}
  .thu-tbl tr.r-ok{box-shadow:inset 3px 0 #167548}.thu-tbl tr.r-warn{box-shadow:inset 3px 0 #d39a1c}.thu-tbl tr.r-wait{box-shadow:inset 3px 0 #b42318}}
/* ===== Hồ sơ gốc (ảnh HG-1..HG-3, anh Tâm duyệt 09/10/2026) — một khối liền, lớp tiền tố .hg- ===== */
.hg-box{margin-top:14px;border:1px solid var(--card-edge);border-radius:12px;background:color-mix(in srgb,var(--neutral-bg) 45%,var(--card));padding:12px 14px}
.hg-box.owe{border-color:color-mix(in srgb,var(--warn) 45%,var(--card-edge));background:color-mix(in srgb,var(--warn-bg) 55%,var(--card))}
.hg-box.late{border-color:color-mix(in srgb,var(--danger) 45%,var(--card-edge))}
.hg-card .hg-box{margin-top:0}
.hg-h{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.hg-h svg{width:15px;height:15px;flex:none}.hg-h .pill{margin-left:auto;text-transform:none;letter-spacing:0}
.hg-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.hg-row .grow{flex:1;min-width:200px}.hg-row b{display:block}.hg-row small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.hg-box .chk-seg button.on.warn{background:#d39a1c;color:#fff}
.hg-note{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.hg-note .input{min-height:36px;border-radius:10px;padding:6px 11px;font-size:13.5px;font-family:inherit;color:var(--ink);flex:1 1 220px;min-width:0;border:1px solid var(--card-edge);background:var(--card)}
.hg-note .btn svg,.hg-strip .btn svg{width:16px;height:16px}
.hg-block{margin:6px 0 0;font-size:12.5px;color:var(--warn);text-align:right}
.hg-why{margin:10px 0 0;font-size:12.5px;color:var(--muted);display:flex;gap:6px;align-items:flex-start}.hg-why svg{width:14px;height:14px;flex:none;margin-top:2px}
.hg-owe{display:flex;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--warn) 45%,var(--card-edge));background:var(--warn-bg);border-radius:12px;padding:12px 14px}
.ed-lay>.hg-owe{grid-column:1/-1}
.hg-owe.late{border-color:color-mix(in srgb,var(--danger) 45%,var(--card-edge))}
.hg-owe>div{flex:1;min-width:0}.hg-owe b{display:block;font-size:15px}.hg-owe small{display:block;color:var(--ink);font-size:13px;opacity:.85;line-height:1.45;overflow-wrap:anywhere}
.hg-owe .q{font-style:italic}
.hg-narrow{display:none}
.hg-sep{width:1px;height:22px;background:var(--card-edge);margin:0 2px;align-self:center}
.chip-bar button.hg-f{border-color:color-mix(in srgb,var(--warn) 50%,var(--card-edge));color:var(--warn);font-weight:600}
.chip-bar button.hg-f.on{background:var(--warn-bg);border-color:#d39a1c;color:var(--warn)}
.chip-bar button.hg-f .cnt{min-width:20px;height:20px;border-radius:10px;background:#d39a1c;color:#fff;font-size:11.5px;font-weight:700;display:inline-grid;place-items:center;padding:0 6px}
.hg-strip{display:flex;gap:8px 10px;align-items:center;flex-wrap:wrap;margin:12px 16px 0;padding:10px 12px 10px 14px;border-radius:12px;background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 40%,var(--card-edge));font-size:13.5px}
.hg-strip[hidden],.hg-strip [hidden]{display:none}
.hg-in{display:flex;gap:4px 8px;align-items:center;flex-wrap:wrap;margin-top:6px}.hg-in .pill{flex:none}.hg-in .pill svg{width:13px;height:13px}.hg-in .sub{min-width:0;overflow-wrap:anywhere}
.hg-strip>svg{width:16px;height:16px;flex:none;color:var(--warn)}.hg-strip>span{flex:1 1 240px;min-width:0}
.hg-acts{display:flex;gap:2px;align-items:center}
.hg-acts .btn{min-width:28px;height:28px;padding:0 7px;border-color:transparent;background:none}.hg-acts .btn:hover{border-color:var(--card-edge);background:var(--card)}.hg-acts .btn svg{width:16px;height:16px}
.hg-res{margin:8px 0 0;padding-left:18px;font-size:13px}.hg-res li{margin:2px 0}
.xl-wt .hg-tag{color:var(--warn);font-weight:600}.xl-wt .hg-tag.late{color:var(--danger)}
.hg-mine{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px;padding:10px 14px;border-radius:12px;background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 40%,var(--card-edge));font-size:13.5px}
.hg-mine>svg{width:16px;height:16px;flex:none;color:var(--warn)}.hg-mine>span{flex:1 1 220px;min-width:0}
@media (max-width:700px){
  .hg-owe{align-items:flex-start;order:-2}.hg-h{flex-wrap:wrap}.hg-h svg+*{white-space:nowrap}.hg-owe .icon-tile{width:30px;height:30px;border-radius:9px}.hg-owe .icon-tile svg{width:16px;height:16px}
  .hg-wide{display:none}.hg-narrow{display:inline}.pill.hg-narrow{display:inline-flex;margin-top:6px}
  .hg-row .chk-seg{width:100%}.hg-row .chk-seg button{flex:1;padding:8px 4px}
  .hg-note .btn{flex:1 1 100%}.hg-block{text-align:left}
  .hg-strip{margin:10px 10px 0}.hg-strip .btn{flex:1 1 100%}
}

/* ===== Bản tin công ty trên Tổng quan (đề xuất anh Đông đợt 3 — ảnh TC-1 / TC-2, anh Tâm chốt 09/10/2026; tiền tố .bt-) ===== */
.bt-head{display:flex;align-items:center;gap:10px;margin:2px 0 10px;position:relative}
.bt-head h2{margin:0;font-size:17px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:9px}
.bt-head h2 svg{width:19px;height:19px;color:var(--blue)}
.bt-head .sub{font-size:13px}
.bt-head .actions{margin-left:auto;display:flex;gap:8px}
.bt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;align-items:stretch}
.bt-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.bt{padding:0;margin:0;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.bt-h{display:flex;align-items:center;gap:9px;padding:12px 8px 9px 14px}
.bt-h .icon-tile{width:32px;height:32px;border-radius:9px;flex:none}.bt-h .icon-tile svg{width:17px;height:17px}
.bt-h h3{margin:0;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.bt-h .cnt{flex:none;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--neutral-bg);color:var(--muted);font-size:12.5px;font-weight:700;display:inline-grid;place-items:center;box-sizing:border-box}.bt-h .cnt.warn{background:var(--danger);color:#fff}
.bt-h .icon-mini{margin-left:auto;flex:none;color:var(--muted);opacity:.7}
.bt-rows{list-style:none;margin:0;padding:0;flex:1}
.bt-rows li{display:flex;gap:10px;align-items:center;min-height:42px;padding:6px 14px;border-top:1px solid var(--hair)}
.bt-d{width:46px;flex:none;border-radius:9px;background:var(--neutral-bg);text-align:center;padding:4px 0 5px;line-height:1.15}
.bt-d b{display:block;font-size:13.5px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.bt-d small{display:block;font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap}.bt-d.work{background:var(--build-bg)}.bt-d.work b,.bt-d.work small{color:var(--blue)}.bt-d.ev{background:var(--design-bg)}.bt-d.ev b,.bt-d.ev small{color:var(--design)}
.bt-rows li.today .bt-d{width:52px}.bt-rows li.today .bt-d small{font-size:10.5px}
.bt-lg{display:flex;gap:12px;padding:0 14px 9px;font-size:12px;color:var(--muted)}.bt-lg i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px}.bt-lg .w{background:var(--blue)}.bt-lg .o{background:#b9c6d6}.bt-lg .e{background:var(--design)}
.bt-tx{flex:1;min-width:0}
.bt-tx b{display:block;font-size:14px;font-weight:600;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-tx small{font-size:12.5px;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bt-tx b.w2{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bt-rows li.today{background:color-mix(in srgb,#e8a317 11%,var(--card));flex-wrap:wrap;padding-top:9px;padding-bottom:10px}
.bt-rows li.today .bt-d{background:#e8a317}.bt-rows li.today .bt-d b,.bt-rows li.today .bt-d small{color:#fff}
.bt-rows li.today .btn{flex:1 1 100%;justify-content:center;margin-top:1px}
.bt-grid.two .bt-rows li.today{flex-wrap:nowrap}.bt-grid.two .bt-rows li.today .btn{flex:none;margin:0}
.bt-rows li.past .bt-tx b,.bt-rows li.past .bt-d b{color:var(--muted);font-weight:500}
.bt-k{width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--build-bg);color:var(--blue)}
.bt-k svg{width:16px;height:16px}
.bt-k.ok{background:var(--ok-bg);color:var(--ok)}.bt-k.gold{background:var(--warn-bg);color:var(--warn)}.bt-k.design{background:var(--design-bg);color:var(--design)}
.bt-w{flex:none;height:32px;min-width:32px;padding:0 8px;border-radius:16px;border:1px solid color-mix(in srgb,var(--blue) 45%,var(--card));background:var(--card);color:var(--blue);font:600 12.5px var(--font);display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.bt-w svg{width:16px;height:16px}.bt-w span{display:none}
.bt-w.done{border-color:var(--card-edge);color:var(--ok)}
.bt-grid.two .bt-w span{display:inline}.bt-grid.two .bt-w{padding:0 11px}
.bt-new{width:8px;height:8px;border-radius:50%;background:var(--blue);flex:none;align-self:flex-start;margin-top:7px}
.bt-new.read{background:transparent}
.bt-rows .pill{flex:none;font-size:11.5px}
.bt-rows .pill.urg{background:var(--danger);color:#fff;margin-bottom:3px;display:inline-flex}
.bt-rows .pill.urg svg{width:12px;height:12px}
.bt-f{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 14px 10px;border-top:1px solid var(--hair);font-size:13px;color:var(--muted);white-space:nowrap}
.bt-f a{font-weight:600;color:var(--blue);display:inline-flex;align-items:center;gap:2px}.bt-f a svg{width:14px;height:14px}
.bt-f span{overflow:hidden;text-overflow:ellipsis;min-width:0}
.bt-pop{position:absolute;right:0;top:40px;width:300px;z-index:5;background:var(--card);border:1px solid var(--card-edge);border-radius:12px;box-shadow:0 14px 36px rgba(13,37,66,.2);padding:12px 14px 10px}
.bt-pop h4{margin:0 0 4px;font-size:14px;font-weight:700}
.bt-pop p{margin:0 0 6px;font-size:12.5px;color:var(--muted);line-height:1.45}
.bt-pop label{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--hair);font-size:14px;font-weight:500}
.bt-pop label svg{width:17px;height:17px;color:var(--muted)}.bt-pop label .switch-btn{margin-left:auto}
.bt-m{display:none}
.bt-more{text-align:center;font-size:13px;color:var(--muted);padding:6px 0 2px}
@media (max-width:1180px){.bt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){
  .bt-grid{display:none}.bt-m{display:block;margin-bottom:16px}
  .bt-head .sub{display:none}
  .bt-m .seg-ctl{display:flex;width:100%;margin-bottom:10px}
  .bt-m .seg-ctl button{flex:1 1 auto;justify-content:center;padding-left:6px;padding-right:6px;white-space:nowrap}
  .bt-m .seg-ctl button i{width:7px;height:7px;border-radius:50%;background:var(--danger);display:inline-block;margin-left:5px;vertical-align:middle}
  .bt-w span{display:inline}.bt-w{padding:0 11px;height:36px;border-radius:18px}
  .bt-rows li{min-height:48px}.bt-tx b{font-size:15px}.bt-tx small{font-size:13px}
  #ban-tin{scroll-margin-top:68px}
}

/* phần thêm khi code thật: nút trong đầu khối, trạng thái trống / đang tải / lỗi, hộp sự kiện chung */
.bt-h .icon-tile.navy{background:var(--neutral-bg);color:var(--ink)}
.bt-h .bt-ha{margin-left:auto;display:flex;align-items:center;flex:none}.bt-h .bt-ha .icon-mini{margin-left:0}.bt-h .bt-add{color:var(--blue);opacity:1}
a.bt-tx{color:inherit;text-decoration:none}a.bt-tx:hover b{color:var(--blue)}a.bt-tx b{color:var(--ink)}
.bt-rows li>.icon-mini{flex:none}
.bt-lk{border:0;background:none;padding:0;font:600 13px var(--font);color:var(--blue);display:inline-flex;align-items:center;gap:2px;cursor:pointer}.bt-lk svg{width:14px;height:14px}
.bt-empty{flex:1;margin:0;padding:18px 14px;border-top:1px solid var(--hair);font-size:13.5px;color:var(--muted);line-height:1.5}
.bt-none{margin:0 0 16px;font-size:13.5px;color:var(--muted)}
.bt-err{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:14px}.bt-err>svg{width:18px;height:18px;color:var(--danger);flex:none}.bt-err .btn{margin-left:auto}
.bt-load .bt{padding:14px;gap:12px;min-height:190px}.bt-sk{height:14px;border-radius:7px;background:var(--neutral-bg);animation:bt-pulse 1.2s ease-in-out infinite}.bt-sk.h{width:55%;height:20px}
@keyframes bt-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.bt-sk{animation:none}}
.bt-ev-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bt-ev-del{margin-top:6px}
.bt-all{border-bottom:1px solid var(--hair)}.bt-all li:first-child{border-top:0}.bt-all li{padding-left:0;padding-right:0}.bt-all-ft{margin:10px 0 0}
@media (max-width:600px){.bt-ev-grid{grid-template-columns:1fr}}

/* ===== Hồ sơ › Danh thiếp & chữ ký — Trang danh thiếp của tôi (đề xuất anh Đông đợt 3 — ảnh NC-2, anh Tâm chốt 09/10/2026; tiền tố .dk-) ===== */
.dk-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.dk-row2{display:grid;grid-template-columns:380px minmax(0,1fr);gap:16px;align-items:stretch}.dk-row2>.card{margin:0;min-width:0}
.dk-grid>.card{margin:0;min-width:0}
.dk-old{display:flex;gap:8px;margin-top:12px;padding:9px 11px;border-radius:9px;background:var(--build-bg);color:#0b4fb3;font-size:12.5px;line-height:1.45}
.dk-old svg{width:15px;height:15px;flex:none;margin-top:2px}
.dk-page{display:grid;grid-template-columns:236px minmax(0,1fr) minmax(0,1.12fr);gap:28px;align-items:start}
.dk-prev{width:236px}
.dk-prev small{display:block;text-align:center;font-size:12px;color:var(--muted);margin-top:7px}
.dk-lb{display:block;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 7px}
.dk-link{display:flex;gap:8px;align-items:center}
.dk-link .box{flex:1;min-width:0;height:42px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:14.5px;font-weight:600;color:var(--ink);background:var(--card);white-space:nowrap;overflow:hidden}
.dk-link .box svg{width:16px;height:16px;color:var(--muted);flex:none}
.dk-link .btn{height:42px;flex:none}
.dk-qr{display:flex;gap:16px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--hair)}
.dk-qr .q{width:132px;height:132px;flex:none;border:1px solid var(--card-edge);border-radius:12px;padding:5px;background:#fff;box-sizing:border-box}
.dk-qr .q svg{width:100%;height:100%;display:block}
.dk-qr b{display:block;font-size:14.5px}
.dk-qr p{margin:3px 0 10px;font-size:12.5px;color:var(--muted);line-height:1.5}
.dk-qr .btn-row{display:flex;gap:8px;flex-wrap:wrap}
.dk-bg{margin-top:18px;padding-top:16px;border-top:1px solid var(--hair)}.dk-bg small{display:block;margin-top:9px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.dk-why{font-size:14px;line-height:1.6;color:var(--ink)}
.dk-cmp{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:4px}.dk-cmp>div{border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px}.dk-cmp h5{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);display:flex;gap:7px;align-items:center}.dk-cmp h5 svg{width:15px;height:15px}.dk-cmp .new{background:var(--ok-bg);border-color:#bfe3cc}.dk-cmp .new h5{color:var(--ok)}.dk-cmp ul{margin:0;padding-left:18px;font-size:13.5px;line-height:1.55}.dk-cmp li{margin:3px 0}
.dk-why b{color:var(--ink)}
.dk-why li{margin:3px 0}.dk-why ul{margin:6px 0 0;padding-left:18px}
.dk-opt{border:1px solid var(--card-edge);border-radius:12px;overflow:hidden}
.dk-opt>div{display:flex;gap:11px;align-items:center;padding:9px 13px;border-top:1px solid var(--hair);min-height:38px}
.dk-opt>div:first-child{border-top:0}
.dk-opt>div>svg{width:18px;height:18px;color:var(--muted);flex:none}
.dk-opt span.tx{flex:1;min-width:0}
.dk-opt span.tx b{display:block;font-size:14px;font-weight:600;line-height:1.35}
.dk-opt span.tx small{display:block;font-size:12.5px;color:var(--muted);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-opt .fix{background:var(--neutral-bg)}
.dk-opt .fix .lk{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}.dk-opt .fix .lk svg{width:13px;height:13px}
.dk-opt .dis{opacity:.6}
.dk-never{display:flex;gap:8px;margin-top:11px;font-size:12.5px;color:var(--muted);line-height:1.5}
.dk-never svg{width:15px;height:15px;flex:none;margin-top:2px}
/* ===== Hồ sơ › Danh thiếp & chữ ký — Chữ ký email (ảnh CK-1; tiền tố .ck-). Khung thư .ck-mail luôn nền trắng: chữ ký dán vào thư nền sáng ===== */
.ck-grid{display:grid;grid-template-columns:minmax(0,1fr) 392px;gap:16px;align-items:start}
.ck-grid>.card,.ck-side>.card{margin:0;min-width:0}
.ck-side{display:flex;flex-direction:column;gap:16px}
.ck-mail{border:1px solid var(--card-edge);border-radius:12px;overflow:hidden;background:#fff}
.ck-mail .hd{background:#f6f8fb;border-bottom:1px solid var(--hair);padding:9px 16px;font-size:13px;color:#56687f;display:flex;gap:18px}
.ck-mail .hd b{color:#20334d;font-weight:600}
.ck-mail .bd{padding:18px 22px 22px}
.ck-sig{font-family:Arial,Helvetica,sans-serif;color:#1a2a44;margin-top:18px;max-width:640px}
.ck-bg{max-width:420px;margin-top:14px}
.ck-note{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted);max-width:620px}.ck-note svg{width:15px;height:15px;flex:none;margin-top:2px}
.ck-prevhead{display:flex;align-items:center;gap:10px;margin:18px 0 9px;font-size:13px;color:var(--muted)}
.ck-prevhead b{font-size:14px;color:var(--ink)}
.ck-big{width:100%;height:50px;justify-content:center;font-size:16px}
.ck-row2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.ck-row2 .btn{justify-content:center}
.ck-f{margin-top:16px}
.ck-f .seg-ctl{display:flex;width:100%}.ck-f .seg-ctl button{flex:1;justify-content:center;white-space:nowrap}
.ck-f small{display:block;font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.45}
.ck-steps{list-style:none;margin:10px 0 0;padding:0;counter-reset:s}
.ck-steps li{display:flex;gap:11px;padding:9px 0;border-top:1px solid var(--hair);font-size:14px;line-height:1.5;counter-increment:s}
.ck-steps li:first-child{border-top:0}
.ck-steps li::before{content:counter(s);width:24px;height:24px;border-radius:50%;background:var(--build-bg);color:var(--blue);font-size:12.5px;font-weight:700;display:grid;place-items:center;flex:none;margin-top:1px}
.ck-steps li b{font-weight:600}
/* phần thêm khi code thật */
.dk-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.dk-row2{margin-top:16px}.dk-row2.hidden{display:none}
/* ===== Thẻ danh thiếp in — 4 mẫu theo ảnh nền (ảnh TI-2, anh Tâm duyệt 09/10/2026; 5 mẫu trước đây đã bỏ) ===== */
.dk-row2.one{grid-template-columns:minmax(0,1fr)}
.name-card .nc-face img{aspect-ratio:450/275}
.nc-h{display:flex;align-items:center;gap:10px;margin:12px 0 8px}.nc-h .dk-lb{margin:0}.nc-h .link{margin-left:auto;white-space:nowrap;flex:none}
.nc-strip.new{grid-template-columns:repeat(4,minmax(0,1fr))}
.nc-tp{min-width:0}.nc-tp span{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;text-align:center;line-height:1.25}
.nc-sync{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:10px 12px;border:1px solid var(--card-edge);border-radius:10px}
.nc-sync .switch-btn{flex:none;margin:-3px -2px 0 -4px}.nc-sync b{display:block;font-size:14px;line-height:1.35}.nc-sync small{display:block;margin-top:2px;font-size:12.5px;line-height:1.45;color:var(--muted)}
.name-card .nc-go{margin-top:8px}
.name-card.wide .nc-g{display:grid;grid-template-columns:minmax(0,540px) minmax(0,1fr);gap:30px;align-items:start}
.name-card.wide .nc-h:first-child{margin-top:0}
.name-card.wide .nc-u{display:grid;grid-template-columns:225px minmax(0,1fr);gap:20px;margin-top:18px;align-items:start}
.name-card.wide .nc-face.sm img{border-radius:5px;box-shadow:0 4px 12px rgba(13,37,66,.16)}
.name-card.wide .nc-a{padding-top:24px}.name-card.wide .nc-a .btn-row{justify-content:flex-start;margin-top:0;gap:8px}
.name-card.wide .nc-a small{display:block;margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.name-card.wide .nc-strip.new{gap:8px}.name-card.wide .nc-strip.new .nc-tp{font-size:12px;gap:5px;padding:5px}.name-card.wide .nc-strip.new .nc-tp.on{padding:4px}
.name-card.wide .nc-sync{margin-top:16px;padding:12px 14px;gap:12px}
@media (max-width:1180px){.name-card.wide .nc-g{grid-template-columns:minmax(0,1fr)}.name-card.wide .nc-g>div:first-child{max-width:540px}}
@media (max-width:600px){.name-card.wide .nc-u{grid-template-columns:minmax(0,1fr);gap:12px}.name-card.wide .nc-face.sm{max-width:225px}.name-card.wide .nc-a{padding-top:0}
  .name-card.wide .nc-strip.new{grid-template-columns:repeat(2,minmax(0,1fr))}.nc-tp{font-size:10px}}
.dk-miss{display:flex;gap:12px;align-items:center;margin:0 0 14px}.dk-miss>span{flex:1;display:flex;gap:9px;align-items:flex-start;line-height:1.5}.dk-miss>span>svg{width:18px;height:18px;flex:none;margin-top:2px}.dk-miss>span>span{flex:1}.dk-miss .btn{flex:none}
.dk-err{display:flex;align-items:center;gap:10px}.dk-err>svg{width:18px;height:18px;color:var(--danger);flex:none}.dk-err .btn{margin-left:auto}
.dk-views{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.dk-views svg{width:15px;height:15px}
/* xem trước: đúng trang công khai 390px thu còn 60% trong khung điện thoại, cuộn được */
.dk-prev .fr{width:236px;height:500px;border:1px solid var(--card-edge);border-radius:18px;overflow:hidden;background:#f2f5f9;position:relative}
.dk-prev iframe{width:390px;height:830px;border:0;transform:scale(.6);transform-origin:0 0;display:block}
.dk-prev-err{display:none;position:absolute;inset:0;margin:0;padding:40px 18px;text-align:center;font-size:13px;color:var(--muted);background:var(--card)}.dk-prev .fr.err .dk-prev-err{display:block}.dk-prev .fr.err iframe{display:none}
.dk-qr .q svg{border-radius:6px}
.dk-old a{color:inherit;text-decoration:underline}
.dk-opt .switch-btn{flex:none}.dk-opt .switch-btn:disabled{cursor:not-allowed}.dk-opt .icon-mini{flex:none}
:root[data-mode="dark"] .dk-old{color:#bfdbfe}:root[data-mode="dark"] .dk-cmp .new{border-color:#1f5137}
/* bộ chọn 4 ảnh nền — ô xem trước là ảnh thu nhỏ cắt riêng (public/img/dt/nho-*.webp) */
.dk-bgp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.dk-bgp button{position:relative;border:1px solid var(--card-edge);border-radius:9px;padding:4px 4px 5px;background:var(--card);font:600 11.5px var(--font);color:var(--muted);display:flex;flex-direction:column;gap:5px;align-items:stretch;text-align:center;cursor:pointer;white-space:nowrap;min-width:0}
.dk-bgp button img{display:block;width:100%;height:46px;border-radius:5px;object-fit:cover;background:#0d2542}
.dk-bgp button.on{border:2px solid var(--blue);padding:3px 3px 4px;color:var(--blue)}
.dk-bgp button.on::after{content:"";position:absolute;right:-6px;top:-6px;width:18px;height:18px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:0 0 0 2px var(--card)}
.ck-ph{display:block;height:9px;border-radius:5px;background:#eef2f7;margin:0 0 9px}.ck-ph.w1{width:34%}.ck-ph.w2{width:92%}.ck-ph.w3{width:78%}
.ck-sig{margin-top:18px;max-width:640px;overflow-x:auto}.ck-mail .bd>.ck-sig:first-child{margin-top:0}
.ck-sig img{max-width:none}
.ck-mail.on{border-color:color-mix(in srgb,var(--blue) 45%,var(--card-edge))}
.ck-mail .ck-note{color:#56687f}.ck-mail .dk-lb{color:#56687f}
.ck-mail .dk-bgp button{background:#fff;border-color:#dce5ef;color:#56687f}.ck-mail .dk-bgp button.on{border-color:#0665ed;color:#0665ed}.ck-mail .dk-bgp button.on::after{box-shadow:0 0 0 2px #fff}
.ck-prevhead{flex-wrap:wrap}.ck-prevhead .btn{margin-left:auto}
.ck-steps li>span{flex:1;min-width:0}
@media (max-width:1180px){.dk-page{grid-template-columns:236px minmax(0,1fr)}.dk-page>div:last-child{grid-column:1/-1}.ck-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.dk-row2{grid-template-columns:minmax(0,1fr)}.dk-cmp{grid-template-columns:1fr}}
@media (max-width:700px){
  .dk-page{grid-template-columns:minmax(0,1fr);gap:18px}.dk-page>div:last-child{grid-column:auto}.dk-prev{width:auto;order:3}.dk-prev .fr{margin:0 auto}
  .dk-link{flex-wrap:wrap}.dk-link .box{flex:1 1 100%}.dk-link .btn{flex:1;justify-content:center}
  .dk-qr{align-items:flex-start}.dk-qr .q{width:104px;height:104px}
  .dk-miss{flex-wrap:wrap}.dk-miss .btn{flex:1 1 100%;justify-content:center}
  .dk-opt span.tx small{white-space:normal}
  .ck-mail .hd{flex-direction:column;gap:2px}.ck-mail .bd{padding:14px 12px 16px}
  .dk-top .seg-ctl{display:flex;width:100%}.dk-top .seg-ctl button{flex:1;justify-content:center}
}
/* Kế toán trưởng sửa thông tin chi sau khi đã chi (09/10/2026): các dòng lịch sử sửa dưới khối Đã chi */
.pay-fixes{margin:-6px 0 12px;padding:8px 14px;border:1px dashed var(--line);border-radius:12px;font-size:12.5px;color:var(--muted)}
.pay-fixes p{display:flex;gap:8px;align-items:flex-start;margin:3px 0}.pay-fixes svg{width:14px;height:14px;flex:none;margin-top:2px}.pay-fixes b{color:var(--ink)}
/* Duyệt chi · ảnh DC-1: lời nhắc kiểm tra (vàng) thay cho khung đỏ «Máy chủ cảnh báo» */
.dc-note{display:flex;gap:10px;align-items:center;background:var(--warn-bg);color:#8a4b06;border:1px solid #f3c98b;border-radius:12px;padding:10px 14px;margin-bottom:12px}
.dc-note svg{width:18px;height:18px;flex:none}.dc-note b{display:block;font-size:14.5px}.dc-note small{font-size:13px;opacity:.9}
.dc-pts{border:1px solid #f3c98b;background:color-mix(in srgb,var(--warn-bg) 55%,var(--card));border-radius:12px;padding:12px 14px;margin:10px 0;display:grid;gap:4px}
.dc-pts>b{display:flex;gap:8px;align-items:center;font-size:15px}.dc-pts>b svg{width:18px;height:18px;color:#d97706}.dc-pts>small{color:var(--muted);font-size:13px}
.dc-pts ol{margin:6px 0 2px;padding-left:22px;display:grid;gap:6px}.dc-pts li b{display:block;font-size:14px}.dc-pts li span{font-size:13.5px;color:var(--muted)}
.dc-ck{display:flex;gap:9px;align-items:center;margin-top:6px;padding:8px 10px;background:var(--card);border-radius:10px;font-weight:600;font-size:14px;cursor:pointer}
.dc-ck input{width:18px;height:18px;accent-color:var(--blue)}

/* Ảnh 168: nhóm menu theo app — biểu tượng nhóm mang màu nhóm, dòng "Quản lý" trong nhóm */
.mn-head>svg:first-child{color:var(--sec,currentColor)}
.mn-head .mn-l{overflow:hidden;text-overflow:ellipsis;min-width:0}
.mn-sub{padding:8px 12px 2px 44px;font-size:10.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:#7f95b1}
.mn-head>small{display:none}.mn-head{gap:10px}
.mn-head .mn-l{white-space:normal;line-height:1.25;padding-block:6px}

/* Ảnh 168: thanh "Mở trong app" (web trên điện thoại) */
.app-bar{display:flex;align-items:center;gap:10px;background:#0f1d33;color:#fff;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));font-size:12px;position:relative;z-index:60}
.app-bar img{width:30px;height:30px;border-radius:8px;flex:none;background:#fff}
.app-bar span{min-width:0;flex:1;line-height:1.3}
.app-bar b{display:block;font-size:12.5px}
.app-bar small{display:block;color:#a9bad0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-bar-open{flex:none;background:#fff;color:#0f1d33;font-weight:800;border-radius:99px;padding:6px 13px;text-decoration:none;white-space:nowrap}
.app-bar-x{flex:none;background:none;border:0;color:#a9bad0;font-size:16px;padding:4px 2px 4px 4px;cursor:pointer}
@media (min-width:900px){.app-bar{display:none}}
body:has(.shell.nav-open) .app-bar{display:none}

/* Ảnh 169 (anh Tâm duyệt 09/10/2026): bản sửa của Claude trên phiếu + hàng chờ sửa */
.fx-sec .br-verdict{background:rgba(22,117,72,.06);border-color:rgba(22,117,72,.22)}
.fx-test{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:8px 0;color:var(--ok)}.fx-test b{white-space:nowrap}.fx-test svg{width:16px;height:16px}
.fx-ba{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.fx-img{display:block;border-radius:10px;overflow:hidden;border:2px solid #fecaca;background:#fff;text-decoration:none}.fx-img.af{border-color:#bbf7d0}
.fx-img img{display:block;width:100%;height:auto;max-height:320px;object-fit:cover;object-position:top}
.fx-img span{display:block;padding:4px 10px;font-size:12.5px;font-weight:700;color:#b91c1c;background:#fef2f2}.fx-img.af span{color:#15803d;background:#f0fdf4}
.fx-btns{display:grid;grid-template-columns:1fr 1.5fr;gap:8px}.fx-btns .btn{min-width:0;padding:0 8px;white-space:nowrap}
.fx-q{padding:12px 16px}.fx-q .sub{margin:8px 0 0}
.fx-qn{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fx-qn span{background:var(--neutral-bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:12.5px;color:var(--muted)}
.fx-qn b{display:block;font-size:20px;color:var(--ink)}.fx-qn .warn b{color:var(--warn)}.fx-qn .build b{color:var(--design)}.fx-qn .ok b{color:var(--ok)}
.fx-mob{display:none;margin-top:10px}.fx-mob .btn{height:44px;justify-content:center;font-weight:700}
@media (max-width:700px){.fx-qn{grid-template-columns:repeat(2,1fr)}.fx-ba{grid-template-columns:1fr}.fx-mob{display:grid}}
.fx-mob .btn.br-ok{background:#167548;border-color:#167548;color:#fff}.fx-mob .btn.br-no{color:var(--danger);border-color:rgba(220,38,38,.3)}

/* Ảnh 171a: hộp Nghỉ việc — việc còn dở của người sắp nghỉ */
.lo-box{border:1px solid var(--card-edge);border-radius:14px;padding:12px 14px;margin-top:12px;background:var(--neutral-bg)}
.lo-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.lo-h>svg{width:18px;height:18px;color:var(--warn)}.lo-h .sub{margin-left:auto;font-size:12.5px}
.lo-row{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--card-edge)}.lo-row .icon-tile{width:34px;height:34px}
.lo-tx{min-width:0}.lo-tx b{display:flex;align-items:center;gap:6px;font-size:14px}.lo-tx small{display:block;color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}.lo-who{font-size:12.5px;color:var(--muted);text-align:right;max-width:220px}
@media (max-width:640px){.lo-row{grid-template-columns:36px 1fr}.lo-who{grid-column:2;text-align:left;max-width:none}}

/* Ảnh 171b: điện thoại — thẻ «N việc đang chờ bạn» thu thành một dải ở đáy */
.nt-grp.strip{display:flex;align-items:center;gap:6px;background:#0b1a33;color:#fff;border:0;border-left:0;border-radius:16px;padding:6px 6px 6px 12px;min-height:52px;box-shadow:0 10px 30px rgba(11,26,51,.35)}
.nt-strip-main{flex:1;min-width:0;display:grid;grid-template-columns:22px 1fr;column-gap:8px;align-items:center;background:none;border:0;color:inherit;text-align:left;font:inherit;padding:2px 0;cursor:pointer}
.nt-strip-main>svg{width:20px;height:20px;color:#fbbf24;grid-row:span 2}.nt-strip-main b{font-size:14.5px}.nt-strip-sub{font-size:12.5px;color:#b9c6dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nt-strip-dot,.nt-strip-x{position:relative;flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
.nt-strip-dot svg{width:18px;height:18px}.nt-strip-x svg{width:16px;height:16px}
.nt-strip-dot i{position:absolute;top:2px;right:2px;background:#94a3b8;color:#0b1a33;font-style:normal;font-size:10.5px;font-weight:800;min-width:16px;height:16px;padding:0 3px;border-radius:8px;display:grid;place-items:center}
body:has(.nt-grp.strip) .nt-snack{bottom:calc(76px + env(safe-area-inset-bottom,0px))}

/* Ảnh 171c: chọn nhiều đơn nghỉ → Duyệt N đơn */
.tstrip .tcard-top{gap:10px}.tstrip .tcard-top b{flex:1}.ck-hit{display:inline-flex;flex:none;cursor:pointer}
/* Ảnh 190: ô tick mang lớp ck-box (trước là ck). Tên «ck» đã có nghĩa khác ở nhiều màn — hàng đang chọn (Quyết định, Cơ cấu › Thành viên: tr.ck), dấu tick tròn
   (Báo sự cố, Lộ trình), lưới chứng từ báo cáo công tác (.ct-thumbs.ck) — nên luật chung .ck{display:grid;width:22px…} làm hàng bảng co thành ô 22px, lưới ảnh chồng lên nhau, dấu tick thêm viền. */
.ck-box{flex:none;width:22px;height:22px;border-radius:7px;border:2px solid var(--card-edge);display:grid;place-items:center;background:var(--card);color:#fff}
.ck-box.on,.ck-box.mid{background:#6d4ae0;border-color:#6d4ae0}.ck-box.mid{opacity:.55}.ck-box svg{width:15px;height:15px}
.tcard.pick{border-color:#6d4ae0!important;box-shadow:0 0 0 1px #6d4ae0 inset}
.ck-all{display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:600;font-size:14px;margin-left:14px;border:0;background:none;color:var(--ink);cursor:pointer;padding:0}.tstrip-head .ck-all+.sub{margin-left:auto}
.bulk{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,#6d4ae0 8%,var(--card));border:1px solid color-mix(in srgb,#6d4ae0 30%,var(--card))}
.bulk .icon-tile{background:#6d4ae0;color:#fff}.bulk-tx{flex:1;min-width:220px}.bulk-tx b{display:block}.bulk-tx small{color:var(--muted)}.bulk-tx em.bad{font-style:normal;color:var(--danger);font-weight:600}
.bulk-note{width:260px;max-width:100%;border:1px solid var(--card-edge);border-radius:10px;padding:9px 12px;font:inherit;font-size:14px;background:var(--card);color:var(--ink)}.bulk-ok{background:#6d4ae0!important;border-color:#6d4ae0!important}

/* Ảnh 171d: hạn công việc rơi vào ngày nghỉ */
.due-off{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:flex-start;background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);color:var(--ink);border-radius:10px;padding:9px 11px;margin-top:6px;font-size:13.5px}
.due-off>svg{width:17px;height:17px;flex:none;margin-top:2px;color:var(--warn)}.due-off>span:first-of-type{flex:1;min-width:200px}.due-btns{display:flex;gap:6px;flex-wrap:wrap;width:100%;padding-left:25px}.due-btns .chip-q svg{width:14px;height:14px}.chip-q.ghost{opacity:.75}

/* Ảnh 171e: điện thoại — danh sách nhân sự tải dần */
.pg-hide,table.data.stack tbody tr.pg-hide,.hr-table tbody tr.pg-hide,.emp-cards .emp-card.pg-hide{display:none!important}.more-box{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:14px 16px 6px;text-align:center}.more-box .more-btn{justify-content:center;font-weight:700}.more-box .more-all{justify-content:center;border:0;background:none;color:var(--blue)}

/* Ảnh 171f: cảnh báo chọn người duyệt thay chưa từng duyệt chi */
.dep-warn{display:flex;gap:10px;background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);color:var(--ink);border-radius:12px;padding:12px 14px;margin:8px 0 12px;font-size:14px}
.dep-warn>svg{width:20px;height:20px;flex:none;color:var(--warn);margin-top:1px}.dep-warn ul{margin:6px 0 8px;padding-left:18px;color:var(--muted)}.dep-act{display:flex;gap:8px;flex-wrap:wrap}

/* Ảnh 172a / 172b: nút Sửa lệnh của lô chưa gửi, nhật ký sửa, lệnh «Chi theo danh sách» */
table.lck-lines .l7{width:92px}table.lck-lines td.ed,table.lck-lines th:last-child.num{text-align:right}table.lck td.ed{vertical-align:top}table.lck td.ed .btn.sm{margin-top:0}
table.lck tr.care td{background:color-mix(in srgb,var(--warn-bg) 45%,var(--card))}
.lck-edlog{display:flex;gap:6px;align-items:flex-start;margin-top:7px;font-size:12px;line-height:1.45;color:var(--muted)}.lck-edlog svg{width:14px;height:14px;flex:none;margin-top:2px;color:var(--warn)}
.lck-edlog b{color:var(--ink);font-weight:600}.lck-edhint{display:block;margin-top:4px;font-size:12px;color:var(--muted)}input.lck-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
@media (max-width:760px){table.lck-lines td.ed{text-align:left}}

/* Ảnh 172c: công ty chi theo từng dòng của đề nghị */
select.co-sel{min-height:36px;padding:0 30px 0 10px;font-size:13.5px;font-weight:600;max-width:330px;width:100%}
.co-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:14px 18px;border-top:1px solid var(--card-edge,#e8edf4);background:var(--neutral-bg)}
.co-sum div{display:flex;flex-direction:column;gap:2px;font-size:12.5px;color:var(--muted)}.co-sum b{font-size:14.5px;color:var(--ink);font-variant-numeric:tabular-nums}.co-sum small{font-size:12px}
.co-note{display:flex;gap:8px;align-items:flex-start;padding:12px 18px;font-size:13px;color:var(--muted);border-top:1px solid var(--card-edge,#e8edf4)}.co-note svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--brand)}
.co-many{display:inline-flex;align-items:center;gap:6px}.co-many svg{width:16px;height:16px}
.lck-part{display:flex;gap:6px;align-items:flex-start;margin-top:7px;font-size:12px;line-height:1.45;color:var(--muted)}.lck-part svg{width:14px;height:14px;flex:none;margin-top:2px;color:var(--brand)}

/* Ảnh 173: form lập đề nghị — Phòng Kế toán chọn công ty chi cho từng dòng */
table.lines tr.co-row td{padding-top:0;border-top:0}table.lines tr.has-co td{border-bottom:0;padding-bottom:4px}
.co-pick{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}.co-pick svg{width:15px;height:15px;flex:none;color:var(--brand)}
.co-pick select{min-height:34px;height:34px;padding:0 30px 0 10px;font-size:13px;font-weight:600;width:auto;max-width:340px}
.co-switch{display:flex;gap:10px;align-items:flex-start;margin:12px 0 2px;padding:10px 12px;border:1px solid var(--card-edge,#e8edf4);border-radius:12px;background:var(--neutral-bg);font-size:13.5px;cursor:pointer}
.co-switch input{width:18px;height:18px;margin-top:2px;flex:none}.co-switch small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
@media (max-width:760px){.co-pick{flex-wrap:wrap}.co-pick select{max-width:100%;width:100%}}

/* Ảnh 176: uỷ nhiệm chi gắn theo từng lệnh ở bước Ngân hàng đã chuyển */
.lck-drop.by-line{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.lck-docrow{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--card-edge,#e8edf4);border-radius:10px;min-width:0;box-sizing:border-box;width:100%;max-width:100%}.lck-docrow select{box-sizing:border-box;max-width:100%}.lck-docrow .lck-file{min-width:0}
.lck-docrow .lck-file{max-width:100%}.lck-docrow select{min-height:36px;height:36px;font-size:13px;font-weight:600;padding:0 28px 0 10px;width:100%}
.lck-dochint{display:block;font-size:12px;color:var(--muted);line-height:1.45}
.lck-linedoc{display:flex;gap:5px;align-items:flex-start;margin-top:6px;font-size:12.5px;font-weight:600;color:var(--brand);overflow-wrap:anywhere}.lck-linedoc svg{width:14px;height:14px;flex:none;margin-top:2px}
.lck-nounc{display:flex;gap:5px;align-items:flex-start;margin-top:6px;font-size:12px;color:var(--warn);line-height:1.4}.lck-nounc svg{width:14px;height:14px;flex:none;margin-top:1px}

/* Góp ý Kế toán trưởng mục 2 (ảnh 175a / 175b / 177a / 177b): sửa đề nghị đã gửi — nút Sửa / Xoá / Huỷ, thẻ Lịch sử sửa, dải Cần duyệt lại */
.le-row{display:flex;gap:8px;margin:12px 0 0}.le-row .btn{flex:1;justify-content:center}.le-note{margin:10px 0 0}.le-side{padding:14px 16px}.le-side .le-row{margin:0}
ul.le-hist{list-style:none;margin:0;padding:0 4px}.le-hist li{display:grid;grid-template-columns:18px 1fr;gap:8px;padding:10px 0;border-top:1px solid #e8edf4;font-size:13px;line-height:1.45}
.le-hist li:first-child{border-top:0}.le-hist svg{width:15px;height:15px;color:var(--warn);margin-top:2px}.le-hist b{font-weight:600}.le-hist del{color:var(--muted)}
.le-hist .who,.le-hist .why{display:block;color:var(--muted);font-size:12.5px}.le-hist .why{margin-top:2px}.le-hist .chg{display:block;overflow-wrap:anywhere}
.le-chg{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-size:11.5px;font-weight:600;color:var(--warn);white-space:nowrap}.le-chg svg{width:12px;height:12px}
.le-banner{margin-bottom:16px}.le-banner-acts{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.le-lines input{width:100%;padding:7px 10px;border:1px solid var(--line,#cfd8e3);border-radius:8px;font:inherit;background:var(--card,#fff);color:inherit}.le-lines .le-num{width:150px;text-align:right;font-variant-numeric:tabular-nums}.le-lines .le-num.is-new{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn)}
.le-lines .le-old{display:block;color:var(--muted);font-size:12px;margin-top:2px}
html[data-mode=dark] .le-hist li{border-top-color:rgba(255,255,255,.1)}
.le-banner{display:flex;gap:10px;align-items:flex-start}.le-banner>svg{width:20px;height:20px;flex:none;margin-top:2px}.le-banner>span{flex:1}
.ed-stick>.card{flex:none}
@media (max-width:1100px){.le-hist-card,.le-side{order:1}}

/* Góp ý Kế toán trưởng mục 1 + 4 (ảnh 175d / 177d / 177e): chi không qua duyệt + xuất Excel ở Sổ quỹ */
.cb-table td[data-label="Nguồn"] .pill{white-space:nowrap}
@media (min-width:701px){.cb-table td[data-label="Nguồn"]:has(.pill){min-width:150px}.cb-table:has(td[data-label="Nguồn"] .pill) td[data-label="Nội dung"]{width:28%;min-width:160px}.cb-table:has(td[data-label="Nguồn"] .pill) td.right.nowrap{white-space:normal}.cb-table td[data-label="Nguồn"]:has(.pill){min-width:140px}.cb-table:has(td[data-label="Nguồn"] .pill) :is(td,th){padding-left:10px;padding-right:10px}}.cb-file{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;margin-top:2px}.cb-file svg{width:13px;height:13px}
.cb-grid .card-head .actions{flex-wrap:wrap;justify-content:flex-end}
.ds-list{margin:0 0 8px;padding-left:20px;font-size:14px;line-height:1.55}.ds-note{display:flex;gap:10px;align-items:flex-start}.ds-note svg{width:18px;height:18px;flex:none;margin-top:2px}

/* Góp ý Kế toán trưởng mục 5 (ảnh 175c): Ngân sách & lãi lỗ — chi tiết theo phòng, bấm phòng để xem từng khoản */
.ns-dept{margin:0 0 16px}.ns-dept .card-head .ns-dept-sub{margin-left:auto;font-size:13px}.ns-dtable .neg{color:var(--danger)}
.ns-drow{cursor:pointer}.ns-drow:hover td,.ns-drow.open td{background:var(--hair)}.ns-dopen{text-align:right;font-weight:600;white-space:nowrap;color:var(--blue)}.ns-drow.open .ns-dopen{color:inherit}
.ns-ditem td{background:#f3f6fa;font-size:13.5px;padding-top:9px;padding-bottom:9px}.ns-ditem td:first-child{padding-left:34px}
.ns-lock{display:flex;gap:8px;align-items:flex-start;margin:0;padding:12px 16px;border-top:1px solid #e8edf4}.ns-lock svg{width:15px;height:15px;flex:none;margin-top:2px}
html[data-mode=dark] .ns-ditem td{background:rgba(255,255,255,.04)}html[data-mode=dark] .ns-lock{border-top-color:rgba(255,255,255,.1)}

/* ---------- Sổ riêng của Tổng Giám đốc (ảnh 178a / 178c, anh Tâm duyệt 11/10/2026) — public/js/pages/owner-ledger.js ---------- */
.sr-table td small{display:block;color:var(--muted);font-size:12.5px;line-height:1.4;margin-top:2px}.sr-table td b{font-weight:600}
.sr-table .plus{color:var(--ok);font-weight:700}.sr-table .minus{color:var(--danger);font-weight:700}.sr-table .plus .muted{font-weight:500}
.sr-table tr.sr-todo td{background:color-mix(in srgb,var(--warn) 6%,var(--card))}
.sr-foot{background:var(--hair)}.sr-foot td{font-weight:600}
.sr-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0 12px}.sr-bar .grow{flex:1}
.sr-adv{display:flex;gap:14px;align-items:center;border:1px solid #f3d39b;background:var(--warn-bg);border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:14px}
.sr-adv>svg{width:18px;height:18px;color:var(--warn);flex:none}.sr-adv>span:first-of-type{flex:1}
.sr-prog{flex:0 0 200px;height:8px;border-radius:99px;background:#f1dfbd;overflow:hidden;display:block}.sr-prog i{display:block;height:100%;background:var(--warn)}
.sr-prog.wide{flex:none;width:100%;min-width:120px;background:var(--hair)}.sr-prog.wide i{background:var(--blue)}.sr-barcell{width:28%}
.sr-x{margin-left:6px;color:var(--muted)}.sr-file{display:inline-flex;gap:4px;align-items:center;margin-right:8px}.sr-file svg{width:13px;height:13px}
.sr-asknote{color:var(--warn)!important;font-weight:600}.sr-asknote svg{width:13px;height:13px;vertical-align:-2px;margin-right:4px}
.sr-remind{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--hair);font-size:14px}.sr-remind>svg{width:18px;height:18px;color:var(--muted)}.sr-remind>span{flex:1;min-width:220px}
.sr-empty{padding:34px 20px;text-align:center}.sr-empty .icon-tile{margin:0 auto 10px}.sr-empty h3{margin:0 0 6px;font-size:16.5px}.sr-empty p{margin:0 auto;color:var(--muted);max-width:560px}
.sr-lay{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start;margin-top:16px}
.sr-item{border:1px solid var(--card-edge);border-radius:14px;padding:14px 16px;margin-bottom:12px;background:var(--card)}.sr-item.open{border-color:var(--blue);box-shadow:0 4px 16px rgba(6,101,237,.10)}
.sr-top{display:flex;gap:12px;align-items:flex-start}.sr-top .grow{flex:1;min-width:0}.sr-top .grow>b{display:block;font-size:15.5px}.sr-top small{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.sr-top .amt{font-size:18px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.sr-thumb{width:54px;height:54px;border-radius:10px;background:var(--hair);display:grid;place-items:center;color:var(--muted);flex:none}.sr-thumb svg{width:22px;height:22px}
.sr-accept{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.sr-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.sr-lbl{display:block;font-size:var(--fs-label);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}
.sr-settle{margin:0 0 12px}.sr-payacc{margin-bottom:12px}
.sr-acts{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:10px;flex-wrap:wrap}
.sr-h{font-size:15px;margin:18px 0 10px}
.sr-side h3{font-size:15px;margin:0 0 8px;display:flex;gap:8px;align-items:center}.sr-side h3 svg{width:18px;height:18px}
.sr-kinds{display:grid;gap:8px}.sr-kind{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:14px}.sr-kind i{width:10px;height:10px;border-radius:50%;flex:none}.sr-kind small{color:var(--muted);display:block;font-size:12.5px}
.sr-kind .d1{background:var(--blue)}.sr-kind .d2{background:var(--ok)}.sr-kind .d3{background:var(--danger)}.sr-kind .d4{background:var(--warn)}.sr-kind .d5{background:#64748b}
.sr-close{display:grid;gap:2px;font-size:14px}.sr-close .ln{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--hair)}.sr-close .ln:last-child{border-bottom:0}.sr-close .ln b{font-variant-numeric:tabular-nums}
.sr-close .pos{color:var(--ok)}.sr-close .neg{color:var(--danger)}
.sr-card .m0{margin:0 0 10px}.sr-card .mt14{margin-top:14px}.sr-card .mt10{margin:10px 0 0}.sr-pad{padding:14px 18px;margin:0}
.sr-tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.sr-tagk{border:1px solid var(--card-edge);border-radius:12px;padding:8px 14px;min-width:120px}.sr-tagk span{display:block;font-size:12.5px;color:var(--muted)}.sr-tagk b{font-size:17px}
.opt-cards.sr-col{grid-template-columns:1fr}
@media (max-width:1100px){.sr-lay{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.sr-form{grid-template-columns:1fr}.sr-adv{flex-wrap:wrap}.sr-prog{flex-basis:100%}.sr-top{flex-wrap:wrap}.sr-barcell{display:none}}
html[data-mode="dark"] .sr-adv{border-color:#6b5320}html[data-mode="dark"] .sr-prog{background:#4a3c1c}
.sr-ai{display:flex;gap:8px;align-items:center;border:1px solid color-mix(in srgb,var(--blue) 30%,var(--line));background:color-mix(in srgb,var(--blue) 5%,var(--card));border-radius:12px;padding:8px 10px;margin-bottom:14px;flex-wrap:wrap}
.sr-ai input{flex:1;min-width:200px;border:0;background:none;font:inherit;outline:none;color:var(--ink)}.sr-ai .icon-tile{width:32px;height:32px;flex:none}
@media (max-width:700px){.sr-table td:empty{display:none}}
/* Biên bản đối chiếu Sổ riêng — chỉ hiện khi bấm «In biên bản» */
.sr-doc{display:none}
@media print{
  body.sr-printing .sr-root>.sr-card{display:none!important}
  body.sr-printing .sr-doc.on{display:block;font:400 13pt/1.55 "Times New Roman",Times,serif;color:#000}
  body.sr-printing .sr-doc h1{font-size:15pt;text-align:center;margin:0 0 4pt}.sr-doc .c{text-align:center;font-weight:700;margin:0 0 14pt}
  .sr-doc table{width:100%;border-collapse:collapse;margin:10pt 0}.sr-doc th,.sr-doc td{border:1px solid #000;padding:5pt 7pt;font-size:12pt;vertical-align:top}.sr-doc th{text-align:center}.sr-doc .r{text-align:right;white-space:nowrap}.sr-doc tr.t td{font-weight:700}
  .sr-doc .n{font-size:11pt;font-style:italic}.sr-doc .sg{display:grid;grid-template-columns:1fr 1fr;gap:20pt;text-align:center;margin-top:26pt}.sr-doc .sg span{display:block;font-size:11pt;font-style:italic;margin:6pt 0 34pt}.sr-doc .sg b{display:block}
}

/* ===== Ảnh 180a (anh Tâm duyệt 11/10/2026): dải «Đã chi» — số tiền một hàng riêng, mỗi uỷ nhiệm chi một dòng ===== */
.paid-card{padding:0;overflow:hidden}
.paid-hd{display:flex;gap:14px;align-items:center;padding:16px 18px;background:linear-gradient(90deg,#063b34,#0a5a47);color:#a7e9cc}
.paid-ic{width:42px;height:42px;border-radius:21px;background:rgba(255,255,255,.14);display:grid;place-items:center;flex:none;color:#fff}
.paid-ic svg{width:22px;height:22px}
.paid-hd small{display:block;font-size:12px;letter-spacing:.05em;text-transform:uppercase;font-weight:700}
.paid-hd b{display:block;color:#fff;font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums}
.paid-hd .grow,.paid-u .grow{flex:1;min-width:0}
.paid-day{text-align:right;flex:none}.paid-hd .paid-day b{font-size:15px}.paid-d2{display:none}
.paid-meta{display:flex;flex-wrap:wrap;gap:6px 22px;padding:11px 18px;font-size:13.5px;color:var(--muted);background:#f6faf8;border-bottom:1px solid var(--line)}
.paid-meta b{color:var(--ink);font-weight:600}.paid-meta .warn{color:#b54708;font-weight:600}
.paid-u{display:flex;gap:12px;align-items:center;padding:9px 18px;border-bottom:1px solid var(--line)}
.paid-u:last-child{border-bottom:0}
.paid-u .grow{min-width:0}.paid-u .grow b{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.paid-u .grow small{font-size:12px;color:var(--muted)}
.paid-pdf{width:34px;height:40px;border-radius:6px;background:#fdecea;color:#b42318;font-size:10px;font-weight:800;display:grid;place-items:center;flex:none}
.paid-u .btn{flex:none}
.paid-ft{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;border-top:1px solid var(--line);background:#fafbfd}
.paid-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.paid-more{display:none}
html[data-mode="dark"] .paid-pdf{background:#3b1512;color:#fda29b}
html[data-mode="dark"] .paid-meta,html[data-mode="dark"] .paid-ft{background:rgba(255,255,255,.04)}
@media (max-width:700px){
  .paid-hd{padding:14px}.paid-hd b{font-size:21px}.paid-ic{width:36px;height:36px}.paid-day{display:none}.paid-d2{display:inline}
  .paid-meta{padding:10px 14px;gap:4px 14px;font-size:13px}.paid-u{padding:9px 14px;gap:10px}
  .paid-u .paid-dl{display:none}
  .paid-list.many .paid-u:nth-child(n+4){display:none}.paid-list.many .paid-u:nth-child(3){border-bottom:0}
  .paid-more{display:inline-flex}
  .paid-ft{flex-direction:column;align-items:stretch;padding:10px 14px}.paid-ft .sub{text-align:center}
  .paid-acts{flex-direction:column}.paid-acts .btn{justify-content:center;min-height:40px}
}

/* ===== Ảnh 180b (anh Tâm duyệt 11/10/2026): bản in 5 biểu mẫu Phòng TCKT theo quy cách trình bày văn bản =====
   A4 · lề trên 20 · dưới 20 · trái 30 · phải 20 mm · Times New Roman cỡ 13 (bảng cỡ 12) · chữ đen. Đơn vị pt / mm để màn hình và giấy giống nhau.
   Lề giấy đặt bằng trang CÓ TÊN (@page exp): @page không tên trong tệp này bị quy tắc viết sau cùng (margin:0 của bản in theo trang) ghi đè cho MỌI bản in. */
.a4.p-sheet:not(.ctp){padding:20mm 20mm 20mm 30mm;font-family:"Times New Roman","Liberation Serif","Nimbus Roman","Tinos",Times,serif;font-size:13pt;line-height:1.28;color:#000}
.a4.p-sheet:not(.ctp) p{margin:2pt 0}.a4.p-sheet:not(.ctp) p.pq-first{margin-top:8pt}
.pq-top{display:grid;grid-template-columns:43fr 57fr;gap:6pt;text-align:center}
.pq-l b{display:block;font-size:12pt}.pq-l span{display:block;font-size:11.5pt;font-weight:700}.pq-l small{display:block;font-size:10pt}
.pq-l i{display:block;width:52pt;border-top:.75pt solid #000;margin:3pt auto 0}.pq-so{margin-top:6pt}
.pq-r b{display:block;font-size:12pt;white-space:nowrap}.pq-r u{display:inline-block;font-size:13pt;font-weight:700;text-underline-offset:3pt}
.pq-r em{display:block;margin-top:6pt}
.pq-title{text-align:center;margin:12pt 0 0}.pq-title h1{margin:0;font-family:inherit;font-size:14pt;font-weight:700;line-height:1.3;color:#000;letter-spacing:.01em}
.pq-meta{font-size:12pt}
.a4.p-sheet:not(.ctp) .p-st{font:700 8.5pt/1.5 Arial,sans-serif;background:none;border:1pt solid currentColor;border-radius:3pt;padding:0 5pt;letter-spacing:.04em;vertical-align:1.5pt}
.pq-table{width:100%;border-collapse:collapse;margin-top:8pt;font-size:12pt}
.pq-table th,.pq-table td{border:.75pt solid #000;padding:2pt 5pt;vertical-align:top}
.pq-table th{font-weight:700;text-align:center;background:#f0f0f0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pq-table td{height:15pt}.pq-table .c{text-align:center}.pq-table .nw{white-space:nowrap}.pq-table .r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.pq-table tr.sum td{font-weight:700}.pq-table tr.sum td:first-child{text-align:center}
.pq-table tr{break-inside:avoid}
.a4.p-sheet:not(.ctp) p.pq-part{font-weight:700;margin-top:8pt}
.pq-signs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4pt;margin:10pt 0 0;text-align:center}
.pq-end{break-inside:avoid;page-break-inside:avoid}
.pq-sg{display:flex;flex-direction:column;align-items:center;min-width:0}
.pq-sg h4{margin:0;font-family:inherit;font-size:10.5pt;font-weight:700;line-height:1.3;text-transform:uppercase;color:#000}
.pq-sg .p-seal{font-family:Arial,sans-serif}
.pq-signs.n5 .pq-sg h4{font-size:9.5pt;min-height:2.6em;display:flex;align-items:flex-end}.pq-signs.n5 .pq-sg .nm{font-size:10.5pt}
.pq-sg .nm{font-weight:700;font-size:11.5pt}.pq-sg .tm{font-size:9.5pt}
.pq-foot{margin-top:8pt;display:flex;gap:8pt;align-items:center;border-top:.75pt solid #000;padding-top:5pt;font-size:8.5pt;line-height:1.35}
.pq-qr{width:34pt;height:34pt;flex:none}.pq-qr svg{width:100%;height:100%;display:block}
.a4.p-sheet:not(.ctp) .watermark{font-family:Arial,sans-serif}
@page exp{size:A4;margin:20mm 20mm 20mm 30mm;@bottom-right{content:counter(page) "/" counter(pages);font:10pt "Times New Roman","Liberation Serif",serif}}
@media print{
  body.printing #print-root .a4.p-sheet:not(.ctp){page:exp;zoom:1;box-shadow:none;width:auto;min-height:0;padding:0;overflow:visible}
}

/* ===== Ảnh 181a / 181b (anh Tâm duyệt 11/10/2026): Sổ riêng của Tổng Giám đốc — giao diện mới + «Chờ anh xác nhận» / «Yêu cầu làm rõ» (public/js/pages/owner-ledger.js) ===== */
.sr2-kp{display:grid;grid-template-columns:1.55fr 1fr 1fr 1fr;gap:14px;align-items:start;margin-bottom:16px}
.sr2-card{background:var(--card);border:1px solid var(--card-edge);border-radius:16px;box-shadow:var(--shadow);padding:16px 18px;min-width:0}
.sr2-card.hot{border-color:#f3c5d6;background:#fffafc}
.sr2-l{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}
.sr2-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none}.sr2-ico svg{width:17px;height:17px}
.sr2-ico.i1{background:var(--build-bg);color:var(--build)}.sr2-ico.i2{background:var(--warn-bg);color:var(--warn)}.sr2-ico.i3{background:var(--ok-bg);color:var(--ok)}.sr2-ico.i4{background:#fde8ef;color:#b4235a}
.sr2-big{font-size:30px;font-weight:800;letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums;line-height:1.2}
.sr2-big.m{font-size:23px;margin-top:8px}.sr2-card.hot .sr2-big{color:#b4235a}
.sr2-mut{color:var(--muted);font-size:12.5px;margin-top:4px;line-height:1.45}
.sr2-who{font-size:15px;font-weight:700;color:var(--ok);margin-top:10px}.sr2-who.neg{color:var(--danger)}.sr2-who.zero{color:var(--muted)}
.sr2-cos{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.sr2-co{flex:1;min-width:92px;border-radius:10px;background:var(--hair);padding:7px 9px;font-size:12px;color:var(--muted)}
.sr2-co b{display:block;font-size:13.5px;color:var(--ink);font-variant-numeric:tabular-nums}.sr2-co.neg b{color:var(--danger)}
.sr2-bar{display:block;height:4px;border-radius:2px;background:var(--line);margin-top:5px;overflow:hidden}.sr2-bar i{display:block;height:100%;background:var(--blue);border-radius:2px}.sr2-co.neg .sr2-bar i{background:var(--danger)}
.sr2-prov{margin-top:10px;font-size:12.5px;color:var(--warn);background:var(--warn-bg);border:1px dashed #f1d9a6;border-radius:9px;padding:6px 10px;line-height:1.45}
.sr2-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,330px);gap:16px;align-items:start}
.sr2-table th,.sr2-table td{padding-left:8px;padding-right:8px}.sr2-table th:nth-child(2),.sr2-table td:nth-child(2){min-width:190px}
.sr2-table .sr2-st{font-size:11.5px;padding:3px 8px}.sr2-table td:last-child{padding-left:0}
@media (max-width:700px){.sr2-table th:nth-child(2),.sr2-table td:nth-child(2){min-width:0}}
.sr2-by{display:inline-block;font-size:10.5px;font-weight:700;border-radius:5px;padding:1px 6px;margin-left:6px;vertical-align:1px;white-space:nowrap}
.sr2-by.k{background:var(--design-bg);color:var(--design)}.sr2-by.a{background:var(--build-bg);color:var(--build)}.sr2-by.s{background:var(--neutral-bg);color:var(--neutral)}
.sr2-st{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;font-style:normal;border-radius:99px;padding:3px 9px;white-space:nowrap}
.sr2-st.ok{background:var(--ok-bg);color:var(--ok)}.sr2-st.w{background:var(--warn-bg);color:var(--warn)}.sr2-st.q{background:#fde8ef;color:#b4235a}.sr2-st.k{background:var(--neutral-bg);color:var(--neutral)}
.sr2-table tr.sr2-hl td{background:#fffbf0}
.sr2-table td small.sr2-chg,.sr2-table td small.sr2-knote{color:var(--ink)}.sr2-chg s{color:var(--danger)}.sr2-chg b{color:var(--ok);font-weight:700}
.sr2-knote{font-style:italic}
.sr2-leg{display:flex;gap:14px;flex-wrap:wrap;padding:10px 4px 0;font-size:12px;color:var(--muted)}.sr2-leg span{display:inline-flex;align-items:center;gap:6px}.sr2-leg .sr2-st{padding:1px 7px}
.sr2-pn{padding:16px 16px 14px}
.sr2-pn h3{margin:0;font-size:16px;display:flex;align-items:center;gap:8px}.sr2-pn h3 em{font-style:normal;background:#e5484d;color:#fff;font-size:12px;border-radius:10px;padding:1px 8px}
.sr2-pn h3.q{margin-top:16px;font-size:14px;color:#b4235a}.sr2-pn .sub{margin:4px 0 12px}
.sr2-all{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--ok-bg);border:1px solid #cfe9da;border-radius:12px;padding:9px 12px;font-size:13px;font-weight:600;color:var(--ok)}
.btn.sr2-ok{background:#167548;border-color:#167548;color:#fff}.btn.sr2-ok:hover{background:#125f3a}
.btn.sr2-ask{color:#b54708;border-color:#f1c99b;background:#fff8ef}
.sr2-it{border:1px solid var(--card-edge);border-radius:13px;padding:12px;margin-top:10px;background:var(--card)}.sr2-it.q{border-color:#f3c5d6;background:#fff9fb}
.sr2-it .h{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.sr2-it .h b{font-size:14px}.sr2-it .h span{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.sr2-it .h .plus{color:var(--ok)}.sr2-it .h .minus{color:var(--danger)}
.sr2-it .n{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.45;overflow-wrap:anywhere}
.sr2-it .note{margin-top:8px;background:var(--design-bg);border-left:3px solid var(--design);border-radius:6px;padding:6px 9px;font-size:12.5px;line-height:1.45}
.sr2-chg.blk{margin-top:8px;font-size:12.5px;line-height:1.6}.sr2-th .sr2-chg{display:block;margin-top:3px}
.sr2-it .a{display:flex;gap:8px;margin-top:10px}.sr2-it .a .btn{flex:1;justify-content:center}
.sr2-th{margin-top:8px;font-size:12.5px;line-height:1.5}.sr2-th div{padding:6px 9px;border-radius:9px;margin-top:5px}.sr2-th .sr2-qm{background:var(--build-bg);color:var(--ink)}.sr2-th .sr2-qk{background:var(--design-bg);color:var(--ink)}
.sr2-trail{margin-top:8px;border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--blue);cursor:pointer;text-decoration:underline}
.sr2-none{display:flex;gap:10px;align-items:center;padding:14px;border-radius:12px;background:var(--ok-bg);color:var(--ok);font-size:13px}.sr2-none svg{width:18px;height:18px;flex:none}
.sr2-tl{border-left:2px solid var(--line);padding-left:14px;font-size:13.5px;line-height:1.5}.sr2-tl div{position:relative;margin-top:9px}
.sr2-tl div:before{content:"";position:absolute;left:-19px;top:7px;width:8px;height:8px;border-radius:4px;background:var(--blue)}
.sr2-parts .opt-card input{accent-color:#b4235a}
html[data-mode="dark"] .sr2-card.hot{background:#2a1520;border-color:#5a2a3d}html[data-mode="dark"] .sr2-card.hot .sr2-big{color:#f9a8c4}
html[data-mode="dark"] .sr2-ico.i4,html[data-mode="dark"] .sr2-st.q{background:#3a1a28;color:#f9a8c4}
html[data-mode="dark"] .sr2-table tr.sr2-hl td{background:#2a2412}
html[data-mode="dark"] .sr2-it.q{background:#2a1520;border-color:#5a2a3d}html[data-mode="dark"] .sr2-pn h3.q{color:#f9a8c4}
html[data-mode="dark"] .btn.sr2-ok{background:#167548;border-color:#167548;color:#fff}
html[data-mode="dark"] .btn.sr2-ask{background:#36290f;border-color:#6b4f1a;color:#f0b754}html[data-mode="dark"] .sr2-prov{border-color:#6b4f1a}html[data-mode="dark"] .sr2-all{border-color:#1f5a3a}
@media (max-width:1200px){.sr2-kp{grid-template-columns:1fr 1fr}.sr2-hero{grid-column:1/-1}.sr2-grid{grid-template-columns:minmax(0,1fr)}.sr2-grid .sr2-pn{order:-1}}
@media (max-width:700px){.sr2-kp{grid-template-columns:minmax(0,1fr)}.sr2-big{font-size:26px}.sr2-it .a{flex-direction:column}}

/* ---------- Sổ riêng · ảnh 182a (Tổng kết theo khoản mục) + 182b (Nhập từ Excel) — public/js/owner-overview-ui.js ---------- */
.tk-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}.tk-bar .grow{flex:1}.tk-src{font-size:12.5px;color:var(--muted)}
.tk-pend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:1px dashed #f1d9a6;background:var(--warn-bg);border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:13.5px}.tk-pend>svg{width:18px;height:18px;color:var(--warn);flex:none}.tk-pend>span{flex:1;min-width:260px}
.tk-sum{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--card-edge);border-radius:14px;overflow:hidden;margin-bottom:14px}
.tk-sum>div{padding:14px 18px;border-right:1px solid var(--card-edge);min-width:0}.tk-sum>div:last-child{border-right:0;background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.tk-sum span{display:block;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.tk-sum b{display:block;font-size:26px;font-weight:800;letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tk-sum small{color:var(--muted);font-size:12.5px}.tk-sum .g b{color:var(--ok)}
.tk-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:16px}
.tk-cat{display:block;border:1px solid var(--card-edge);border-radius:14px;padding:14px 16px;border-top:4px solid var(--blue);background:var(--card);color:var(--ink);min-width:0}.tk-cat:hover{text-decoration:none;box-shadow:var(--shadow)}.tk-cat.on{box-shadow:0 0 0 2px var(--blue)}
.tk-cat h4{margin:0;font-size:14.5px}.tk-cat .big{font-size:23px;font-weight:800;letter-spacing:-.02em;margin:8px 0 2px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tk-cat .lb{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:8px}
.tk-cat .kv{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:3px 0;color:var(--muted)}.tk-cat .kv b{color:var(--ink);font-variant-numeric:tabular-nums}.tk-cat .kv .g,.tk-tb .g,.tk-ret .g{color:var(--ok)}
.tk-cat .pr{height:6px;border-radius:99px;background:var(--hair);overflow:hidden;margin:8px 0 6px}.tk-cat .pr i{display:block;height:100%;background:var(--ok)}
.tk-cat .tk-ft{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-top:6px}.tk-cat .tk-ft b{color:var(--blue);white-space:nowrap}
.tk-cat[data-cc="0"]{border-top-color:#2563eb}.tk-cat[data-cc="1"]{border-top-color:#db2777}.tk-cat[data-cc="2"]{border-top-color:#d97706}.tk-cat[data-cc="3"]{border-top-color:#059669}.tk-cat[data-cc="4"]{border-top-color:#7c3aed}.tk-cat[data-cc="5"]{border-top-color:#0891b2}.tk-cat[data-cc="6"]{border-top-color:#64748b}
i[data-cc="0"]{background:#2563eb}i[data-cc="1"]{background:#db2777}i[data-cc="2"]{background:#d97706}i[data-cc="3"]{background:#059669}i[data-cc="4"]{background:#7c3aed}i[data-cc="5"]{background:#0891b2}i[data-cc="6"]{background:#64748b}i[data-cc="g"]{background:#94a3b8}
.tk-box{border:1px solid var(--card-edge);border-radius:14px;padding:14px 16px;min-width:0}.tk-box h3{margin:0 0 10px;font-size:15px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tk-box h3>svg{width:18px;height:18px}.tk-box h3 .tk-close{margin-left:auto}
.tk-wide{margin-bottom:16px}.tk-two{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start}
.tk-tb td,.tk-tb th{font-variant-numeric:tabular-nums}.tk-tb tr.t td{font-weight:700;background:var(--hair)}.tk-tb .muted{color:var(--muted);font-size:12.5px}.tk-tb tr.skip2 td{color:var(--muted)}
.tk-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px}
.tk-leg{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:8px}.tk-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.tk-ret .ln{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--hair);font-variant-numeric:tabular-nums}.tk-ret .ln small{display:block;color:var(--muted);font-size:12px}.tk-ret .ln.t{border-bottom:0;font-size:15px}
.tk-note{margin-top:12px}.tk-items{border-color:var(--blue)}
/* ---------- Dự án · ảnh 188 đợt 1: bảng điều hành theo mảng, sáu bước, đối tác chủ trì — public/js/project-board.js ---------- */
.pjb-sub{color:var(--muted);font-size:13.5px;margin:-6px 0 12px}
.pjb-kp{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--card-edge);border-radius:14px;overflow:hidden;margin-bottom:14px;background:var(--card)}
.pjb-kp>div{padding:12px 16px;border-right:1px solid var(--card-edge);min-width:0}.pjb-kp>div:last-child{border-right:0}
.pjb-kp span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.pjb-kp b{display:block;font-size:23px;font-weight:800;letter-spacing:-.02em;margin-top:3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pjb-kp small{color:var(--muted);font-size:12.5px}
.pjb-kp .r b,.pjb-r{color:var(--danger)}.pjb-kp .g b{color:var(--ok)}
.pjb-grp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:8px}
.pjb-gc{display:flex;flex-direction:column;text-align:left;font:inherit;color:var(--ink);cursor:pointer;border:1px solid var(--card-edge);border-radius:14px;padding:13px 15px;border-top:4px solid var(--gc,#64748b);background:var(--card);min-width:0}
.pjb-gc:hover{box-shadow:var(--shadow)}.pjb-gc.on{box-shadow:0 0 0 2px var(--gc,#64748b)}.pjb-gc:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.pjb-gc[data-cc="dd"]{--gc:#db2777}.pjb-gc[data-cc="ht"]{--gc:#2563eb}.pjb-gc[data-cc="os"]{--gc:#d97706}.pjb-gc[data-cc="kh"]{--gc:#64748b}
.pjb-gc .h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.pjb-gc .h b{font-size:15px}.pjb-gc .h em{font-style:normal;font-size:12.5px;color:var(--muted);font-weight:600;white-space:nowrap}
.pjb-gc .lb{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:8px}.pjb-gc .big{font-size:22px;font-weight:800;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.pjb-gc .kv{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);padding:2px 0}.pjb-gc .kv b{color:var(--ink);font-variant-numeric:tabular-nums}.pjb-gc .kv b.r{color:var(--danger)}
.pjb-stg{display:flex;height:8px;border-radius:99px;overflow:hidden;margin-top:9px;background:var(--hair)}.pjb-stg i{display:block;height:100%}
.pjb-leg{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:14px}.pjb-leg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}
.pjb-stg .s1,.pjb-leg .s1{background:#94a3b8}.pjb-stg .s2,.pjb-leg .s2{background:#7c3aed}.pjb-stg .s3,.pjb-leg .s3{background:#2563eb}.pjb-stg .s4,.pjb-leg .s4{background:#d97706}.pjb-stg .s5,.pjb-leg .s5{background:#059669}.pjb-stg .s6{background:#64748b}
.pjb-box .card-head .sub{margin-left:8px}.pjb-tb td small{display:block;color:var(--muted);font-size:12px;line-height:1.35}.pjb-tb .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.pjb-tb tr.pjb-sum td{font-weight:700;background:var(--hair)}.pjb-tb .mt-4{margin-top:5px}
.pjb-steps{display:inline-flex;gap:3px;align-items:center}.pjb-steps i{width:16px;height:6px;border-radius:3px;background:var(--hair)}.pjb-steps i.d{background:#059669}.pjb-steps i.c{background:#2563eb}
.pjb-bar{display:block;height:6px;border-radius:99px;background:var(--hair);overflow:hidden;margin:4px 0 0 auto;width:110px;max-width:100%}.pjb-bar i{display:block;height:100%;background:var(--ok)}.pjb-bar i.b{background:#2563eb}.pjb-bar i.warn{background:#d97706}.pjb-bar i.bad{background:var(--danger)}
.pjb-note{margin-top:12px}.pjb-pl{list-style:none;margin:0;padding:0;display:grid;gap:8px}.pjb-pl small{display:block;color:var(--muted);font-size:12.5px}
.pjb-flowbox{margin-bottom:14px}.pjb-flow{display:flex;align-items:flex-start;padding:6px 0 4px}
.pjb-flow .st{flex:1;text-align:center;position:relative;font:inherit;background:none;border:0;padding:0;color:var(--muted);cursor:pointer}.pjb-flow .st:disabled{cursor:default}
.pjb-flow .st:before{content:"";position:absolute;left:-50%;right:50%;top:13px;height:3px;background:var(--hair)}.pjb-flow .st:first-child:before{display:none}
.pjb-flow .st i{position:relative;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--hair);color:var(--muted);font-style:normal;font-weight:700;font-size:12.5px;z-index:1}.pjb-flow .st i svg{width:14px;height:14px}
.pjb-flow .st.d i{background:#059669;color:#fff}.pjb-flow .st.d:before,.pjb-flow .st.c:before{background:#059669}.pjb-flow .st.c i{background:#2563eb;color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,#2563eb 18%,transparent)}
.pjb-flow .st b{display:block;margin-top:5px;color:var(--ink);font-size:13px}.pjb-flow .st.c b{color:#2563eb}.pjb-flow .st:not(:disabled):hover i{box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 14%,transparent)}
.pjb-kvs{display:grid;grid-template-columns:auto 1fr;gap:7px 16px;font-size:14px;padding:4px 20px 14px}.pjb-kvs span{color:var(--muted)}.pjb-kvs b{font-weight:600;overflow-wrap:anywhere}
@media (max-width:1100px){.pjb-kp{grid-template-columns:repeat(3,minmax(0,1fr))}.pjb-kp>div{border-bottom:1px solid var(--card-edge)}.pjb-grp{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pjb-kp,.pjb-grp{grid-template-columns:minmax(0,1fr)}.pjb-flow{flex-wrap:wrap;gap:10px 0}.pjb-flow .st{flex:0 0 33.33%}.pjb-flow .st:before{display:none}}
/* Ảnh 186 — Tổng kết chia «Cần hoàn trả» / «Không cần hoàn trả» */
.tk-sum.s4{grid-template-columns:repeat(4,1fr)}.tk-sum .mu b{color:var(--muted)}
.tk-sum>div.hl,.tk-sum.s4>div.hl:last-child{background:color-mix(in srgb,var(--blue) 7%,var(--card));box-shadow:inset 0 0 0 2px var(--blue);border-radius:0 13px 13px 0}
.tk-grp{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:16px 0 8px}.tk-grp h3{margin:0;font-size:15.5px}.tk-grp .sub{font-size:13px;color:var(--muted)}
.tk-grp b.t{margin-left:auto;font-size:17px;font-variant-numeric:tabular-nums}.tk-grp b.t.mu{color:var(--muted)}
.tk-cats.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tk-cats.three{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.tk-cat.off{border-top-color:#94a3b8;background:color-mix(in srgb,var(--hair) 55%,var(--card))}.tk-cat.off .big{font-size:19px;color:var(--muted)}
.tk-g2 .tk-tb tr.gh td{background:color-mix(in srgb,var(--blue) 6%,var(--card));font-weight:700;font-size:12.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--blue)}
.tk-g2 .tk-tb tr.gh.off td{background:var(--hair);color:var(--muted)}.tk-g2 .tk-tb tr.st td{font-weight:700;border-top:1.5px solid var(--line)}
.tk-g2 .tk-tb tr.off td,.tk-g2 .tk-tb tr.off td a{color:var(--muted)}.tk-g2 .tk-tb tr.fin td{font-weight:800;background:color-mix(in srgb,var(--blue) 9%,var(--card));font-size:15px}
.tk-need button{white-space:nowrap}
@media (max-width:900px){.tk-sum.s4{grid-template-columns:1fr 1fr}.tk-sum.s4>div{border-bottom:1px solid var(--card-edge)}.tk-sum>div.hl{border-radius:0 0 13px 0}.tk-cats.two{grid-template-columns:minmax(0,1fr)}}
.tk-mini{display:grid;gap:2px;margin:8px 0;font-size:12.5px}.tk-mini div{display:flex;justify-content:space-between;gap:8px;color:var(--muted)}.tk-mini b{color:var(--ink);font-variant-numeric:tabular-nums}
.im-steps{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0 16px;font-size:14px;font-weight:600;color:var(--muted)}.im-steps b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--hair);margin-right:6px;font-size:12.5px}
.im-steps .on{color:var(--blue)}.im-steps .on b{background:var(--blue);color:#fff}.im-steps .ok{color:var(--ok)}.im-steps .ok b{background:var(--ok-bg);color:var(--ok)}.im-steps i{flex:0 0 28px;height:1px;background:var(--line)}
.im-file,.im-drop{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid var(--card-edge);border-radius:12px;padding:10px 14px;margin-bottom:14px}.im-drop{border-style:dashed;padding:18px;margin-bottom:16px}
.im-file .grow,.im-drop .grow{flex:1;min-width:220px}.im-file small,.im-drop small{display:block;color:var(--muted);font-size:12.5px;line-height:1.45;margin-top:2px}
.im-k{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}.im-k div{border:1px solid var(--card-edge);border-radius:12px;padding:10px 14px}.im-k span{display:block;font-size:12.5px;color:var(--muted)}.im-k b{font-size:20px}
.im-k .ok b{color:var(--ok)}.im-k .w b{color:var(--warn)}.im-k .mu b{color:var(--muted)}.im-k .bad b{color:var(--danger)}
.im-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px;align-items:start}
.im-map{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1.2fr) auto;gap:8px 10px;align-items:center;margin:10px 0;font-size:14px}.im-map .hd{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.im-map select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:var(--card);color:var(--ink);font:inherit}.im-map select.new{border-color:#f2a33a;background:var(--warn-bg)}
.im-map .n{color:var(--muted);font-size:12.5px;white-space:nowrap;text-align:right}.im-map .arr{color:var(--muted);text-align:center}.im-cofield{margin-top:12px}
.im-warn{display:grid;gap:8px}.im-w{display:flex;gap:10px;align-items:flex-start;border:1px solid #f3d39b;background:var(--warn-bg);border-radius:10px;padding:8px 12px;font-size:13.5px}.im-w>svg{width:16px;height:16px;color:var(--warn);flex:none;margin-top:2px}
.im-w small{display:block;color:var(--muted)}.im-w .grow{flex:1}.im-w.i{border-color:var(--card-edge);background:var(--card)}.im-w.i>svg{color:var(--muted)}.im-w.bad{border-color:#f1b5b0;background:var(--danger-bg)}.im-w.bad>svg{color:var(--danger)}
.im-tb tr.skip td{color:var(--muted);text-decoration:line-through}.im-tb tr.skip td:last-child{text-decoration:none}.im-flag{display:block;color:var(--warn);font-size:12px;margin-top:2px}.im-scroll{max-height:560px;overflow:auto}
.im-acts{display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin-top:14px}.im-acts .grow{flex:1;min-width:260px;color:var(--muted);font-size:13px}
@media (max-width:1100px){.tk-two,.im-two{grid-template-columns:minmax(0,1fr)}.im-k{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.tk-sum{grid-template-columns:1fr}.tk-sum>div{border-right:0;border-bottom:1px solid var(--card-edge)}.tk-sum b{font-size:22px}.im-map{grid-template-columns:1fr}.im-map .arr,.im-map .hd{display:none}.im-map .n{text-align:left}}
html[data-mode="dark"] .tk-pend,html[data-mode="dark"] .im-w{border-color:#6b5320}
.tk-ret .ln>b{white-space:nowrap;font-size:14px}.tk-ret .ln.t>b{font-size:15px}
.sr2-it .a{flex-wrap:wrap}

/* ---------- Sổ riêng · ảnh 183a (khối bổ sung của Tổng kết) + 183b (Xếp chi tiết) ---------- */
.x-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;margin-bottom:16px;align-items:start}.x-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;align-items:start}
.x-bar{display:block;height:8px;border-radius:99px;background:var(--hair);overflow:hidden;min-width:90px}.x-bar i{display:block;height:100%;background:var(--ok)}
.x-k{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.x-k div{border:1px solid var(--card-edge);border-radius:10px;padding:8px 10px;min-width:0}.x-k span{display:block;font-size:12px;color:var(--muted)}.x-k b{display:block;font-size:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.x-k small{display:block}
.x-k .bad b{color:var(--danger)}.x-k .w b{color:var(--warn)}.x-scroll{max-height:300px;overflow:auto}
.x-src{display:flex;height:14px;border-radius:99px;overflow:hidden;margin:6px 0 10px;background:var(--hair)}.x-src i{display:block;height:100%}.x-dotl{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}
i[data-src="TM"]{background:#0f766e}i[data-src="NH"]{background:#2563eb}i[data-src="NCC"]{background:#94a3b8}i[data-src="KHAC"]{background:#cbd5e1}
.x-tb td small,.tk-sub{display:block;color:var(--muted);font-size:12px;font-weight:400}
.y-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}.y-bar .grow{flex:1}
.y-sug{border:1px solid #cfe0ff;background:color-mix(in srgb,var(--blue) 5%,var(--card));border-radius:12px;padding:10px 14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px;font-size:14px}.y-sug>svg{width:18px;height:18px;color:var(--blue);flex:none}.y-sug>span{flex:1;min-width:260px}
select.y-sel{min-height:36px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:var(--card);color:var(--ink);font:inherit;font-size:13.5px;max-width:280px;width:100%}
select.y-sel.s{border-color:#9dbcf5;background:color-mix(in srgb,var(--blue) 6%,var(--card))}select.y-sel.e{border-color:#f2a33a;background:var(--warn-bg)}
.y-tag{display:block;font-style:normal;font-size:11px;font-weight:700;color:var(--build);margin-top:3px}.y-tb td{vertical-align:middle}.y-khd{border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:700}
.y-two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:16px}
@media (max-width:1100px){.x-grid,.x-grid3,.y-two{grid-template-columns:minmax(0,1fr)}}

/* ---------- Ảnh 187 (anh Tâm duyệt 12/10/2026): «Chi cho: dự án / lý do» ---------- */
/* Ô «Chi cho» trên từng khoản chi của người lập (Tổng Giám đốc) */
.chc-btn{display:flex;align-items:center;gap:8px;width:100%;min-width:0;min-height:38px;padding:6px 10px;border:1px dashed #b7c5d8;border-radius:8px;background:var(--card);color:var(--muted);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}
.chc-btn span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chc-btn em{font-style:normal;font-weight:700;font-size:12.5px;color:var(--blue);flex:none}
.chc-btn.set{border-style:solid;border-color:var(--line);color:var(--ink);font-weight:600}
.chc-btn:hover{border-color:var(--blue)}.chc-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.lines td:has(>.chc-btn){width:210px;max-width:210px}.lines:has(.chc-btn) td.num{width:132px}
.chc-note{display:flex;gap:8px;align-items:center;margin:0 0 10px}.chc-note svg{width:16px;height:16px;flex:none;color:var(--blue)}
/* Hộp chọn Dự án | Lý do khác */
.chc-pick{display:grid;gap:10px}
.chc-seg{display:flex;width:100%}.chc-seg button{flex:1;justify-content:center}
.chc-q{width:100%;min-height:42px;border:1px solid #d6dfea;border-radius:10px;padding:0 12px;font:inherit;font-size:14.5px;background:var(--card);color:var(--ink)}
.chc-q:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.chc-list{display:grid;max-height:min(46vh,340px);overflow:auto;border-top:1px solid var(--hair)}
.chc-list[hidden],.chc-opt[hidden],.chc-add[hidden],.chc-hint[hidden],.chc-empty[hidden]{display:none}
.chc-opt{display:flex;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid var(--hair);cursor:pointer;border-radius:6px}
.chc-opt input{position:absolute;opacity:0;pointer-events:none}
.chc-opt>span{flex:1;min-width:0}.chc-opt b{display:block;font-size:14.5px;color:var(--ink)}.chc-opt small{display:block;font-size:12.5px;color:var(--muted)}
.chc-opt>svg{width:18px;height:18px;flex:none;color:var(--blue);visibility:hidden}
.chc-opt:hover{background:var(--build-bg)}.chc-opt:has(input:checked)>svg{visibility:visible}.chc-opt:has(input:checked) b{color:var(--blue)}
.chc-opt:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:-2px}
.chc-none{border-bottom:0;border-top:1px solid var(--hair)}
.chc-empty{margin:4px 0}
.chc-add{display:flex;align-items:center;gap:8px;width:100%;padding:11px 12px;border:1.5px dashed var(--blue);border-radius:10px;background:var(--build-bg);color:var(--blue);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}
.chc-add b{color:var(--ink)}.chc-add svg{width:16px;height:16px;flex:none}.chc-add:disabled{opacity:.6;cursor:default}
.chc-hint{margin:0}
.chc-merge{grid-template-columns:minmax(0,1fr);max-height:min(40vh,300px);overflow:auto}
/* Thẻ «Theo dự án / lý do» trong khối Tình hình chi */
.sum-tabs{margin:-4px 0 14px;border-bottom:1px solid var(--hair);display:flex;gap:4px;overflow-x:auto}
.chc-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}
table.chc-stat tbody tr:hover{background:var(--build-bg)}table.chc-stat tbody tr:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
table.chc-stat tfoot td,table.chc-lines tfoot td{border-top:2px solid var(--line);padding-top:10px}
table.chc-stat .pill{margin-right:4px}
table.chc-stat th.num,table.chc-lines th.num{text-align:right}
.chc-none-yet{margin:6px 0 2px}
.chc-cell{white-space:nowrap}.chc-cell>span{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;margin-right:8px}
/* Hộp «Quản lý lý do» */
.chc-mg{list-style:none;margin:0;padding:0;display:grid}
.chc-mg li{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--hair)}
.chc-mg-n b{display:block;font-size:14.5px}.chc-mg-n small{color:var(--muted);font-size:12.5px}.chc-mg li.off .chc-mg-n b{color:var(--muted)}
html[data-mode="dark"] .chc-btn{border-color:#2a3b55}html[data-mode="dark"] .chc-q{border-color:#2a3b55}
html[data-mode="dark"] :is(.chc-opt:hover,table.chc-stat tbody tr:hover){background:#13243c}html[data-mode="dark"] .chc-add{background:#13243c}
@media (max-width:760px){.chc-cell{white-space:normal}.lines td:has(>.chc-btn),.lines:has(.chc-btn) td.num{width:auto;max-width:none}}

/* ===== Ảnh 189 (rà bản in 12/10/2026, anh Tâm chọn sửa cả bốn nhóm): bản in ra tờ trắng / chữ sát mép giấy / thông báo nổi đè lên bản in =====
   Gốc lỗi: (A) ba luật @page KHÔNG TÊN trong tệp này — luật viết sau cùng (margin:0 của bản in chia trang .c-page) thắng cho mọi bản in
   không có trang riêng; (B) luật in chung ẩn mọi thứ trong .page-body trừ hợp đồng. KHÔNG đổi @page không tên và .c-page (quyết định,
   văn bản nội bộ, hợp đồng ký số, PDF máy chủ cần lề 0) — mỗi bản in dưới đây nhận lề bằng trang CÓ TÊN, như @page exp của ảnh 180b.
   in189-vb = biên bản theo quy cách văn bản (trên 20 · dưới 20 · trái 30 · phải 20 mm) · in189-bang = bảng rộng / trang web (15 · 12 mm)
   · in189-ngang = giấy ngang cho sơ đồ (12 mm) · in189-ctp = tờ Báo cáo công tác (10 mm, đúng như chú thích của tờ ctp). */
@page in189-vb{size:A4;margin:20mm 20mm 20mm 30mm}
@page in189-bang{size:A4;margin:15mm 12mm}
@page in189-ngang{size:A4 landscape;margin:12mm}
@page in189-ctp{size:A4;margin:10mm}
.in189-hd{display:none}
@media print{
  /* Thông báo nổi, thanh mời tải app, hộp nổi gắn thẳng vào body: không bao giờ lên giấy (trước đây lặp ở mọi trang, đè lên chân trang có QR) */
  .rm-host,.nt-snack,.toast-host,.lc-undo,.session-lost,.app-bar,.nt-panel,.qn-pop{display:none!important}
  /* Biên bản thu hồi hai chữ ký (asset-return-ui.js printHandover) */
  body.printing #print-root .thu-print{page:in189-vb}
  /* Bảng kê lệnh chuyển khoản (pay-batch.js) · Báo cáo tuần dự án (project-report.js): bảng rộng → lề hẹp 15 · 12 mm */
  body.printing #print-root .a4.lck-a4,body.printing #print-root .a4.pr-print{page:in189-bang;padding:0}
  .lck-a4 tr,.pr-print tr{break-inside:avoid}.lck-a4 :is(th,td):last-child{white-space:nowrap}
  /* Báo cáo công tác tháng: tờ 794×1123 thu .9 cần lề trang 10 mm (trước đây nằm sát góc trên trái vì lề 0) */
  body.printing #print-root .a4.ctp{page:in189-ctp}
  /* Biên bản đối chiếu Sổ riêng: chỉ in biên bản — ô số, hàng thẻ, các khối sr2-* của trang không in theo sau nữa */
  body.sr-printing .sr-root>:not(.sr-docs){display:none!important}
  body.sr-printing .sr-root{border:0;padding:0;box-shadow:none;background:none}
  body.sr-printing .page-body{padding:0!important}
  body.sr-printing,body.sr-printing .sr-docs{page:in189-vb}
  /* Trang web in qua printPage (public/js/print-web.js) */
  body.in189-in,body.in189-in .shell,body.in189-in .main,body.in189-in .page-body{background:#fff!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important}
  body.in189-in,body.in189-in .page-body{page:in189-bang}
  body.in189-in.in189-ngang,body.in189-in.in189-ngang .page-body{page:in189-ngang}
  body.in189-in .in189-hd{display:flex!important;align-items:center;gap:10px;border-bottom:1.5px solid #0d2542;padding:0 0 7px;margin:0 0 12px;color:#0d2542;font-size:11px;line-height:1.35}
  .in189-hd img{height:30px;flex:none}
  .in189-co{flex:1;min-width:0}.in189-co b{display:block;font-size:12px;letter-spacing:.02em}.in189-co span{display:block;color:#56687f}
  .in189-tt{text-align:right}.in189-tt b{display:block;font-size:15px;letter-spacing:.03em}.in189-tt span{display:block;color:#56687f}
  body.in189-in .page-body :is(.btn,.icon-btn,.icon-mini,button.link,.card-head .actions,.head-actions,.filter-input,.chip-bar){display:none!important}
  body.in189-in .card{box-shadow:none}
  body.in189-in .oz-ceo{animation:none;box-shadow:none}
  /* Khổ A4 hẹp hơn 900px nên luật màn hình hẹp đổi bố cục (bảng thành thẻ, hai cột thành một): trên giấy giữ bố cục máy tính */
  body.in189-in table.data.stack{display:table;width:100%}body.in189-in table.data.stack thead{display:table-header-group}
  body.in189-in table.data.stack tbody{display:table-row-group}body.in189-in table.data.stack tr{display:table-row;padding:0;break-inside:avoid}
  body.in189-in table.data.stack td{display:table-cell;width:auto;border-bottom:1px solid #dfe6ef;padding:6px 8px!important;font-size:11.5px}
  body.in189-in table.data.stack th{padding:6px 8px;font-size:10.5px}
  body.in189-in table.data.stack td[data-label]::before{display:none}
  body.in189-in .tk-kps{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
  body.in189-in .st-shelf{border:0;padding:0}body.in189-in .st-shelf .sub{display:none}
  body.in189-in .pn-two,body.in189-in .pn-people{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  body.in189-in .pn-facts{grid-template-columns:repeat(4,minmax(0,1fr))}body.in189-in .pn-facts>div:nth-child(3){border-left:1px solid #dfe6ef}
  body.in189-in .pn-facts>div{padding:10px 14px}body.in189-in .pn-facts b{font-size:15px}
  body.in189-in .pn-main .card,body.in189-in .pn-complete{break-inside:avoid}
  body.in189-in :is(.pn-doc.add,.pn-docs+.sub,.pn-empty .sub,.bacts){display:none!important}
  body.in189-in .pn-docs:not(:has(.pn-doc:not(.add)))::after{content:'Chưa có tệp nào.';color:#56687f;font-size:12px}
}

/* Ghim dòng tiêu đề bảng (góp ý Phó TGĐ đợt 4, anh Tâm duyệt 12/10/2026) — lớp do public/js/pin-head.js gắn: th-pin = bảng vừa khung, tiêu đề sticky dưới thanh trên;
   th-pin-js = bảng rộng hơn khung (vẫn cuộn ngang), ô tiêu đề được đẩy xuống theo --pin-y. Viền dưới vẽ bằng bóng (border-collapse làm mất viền khi ô rời chỗ).
   Ô có bảng lọc đang mở nổi trên các ô tiêu đề bên cạnh. Chỉ trên màn hình — bản in giữ nguyên. */
@media screen{
  .table-wrap.th-pin{overflow:visible}
  .table-wrap:is(.th-pin,.th-pin-js) thead th{z-index:6;box-shadow:inset 0 -1px var(--card-border)}
  .table-wrap.th-pin thead th{position:sticky;top:var(--topbar)}
  .table-wrap.th-pin-js thead th{position:relative;transform:translateY(var(--pin-y,0))}
  .table-wrap:is(.th-pin,.th-pin-js) thead th:has(.th-pop){z-index:7}
}

/* Ảnh 191 (góp ý Phó TGĐ đợt 4, anh Tâm duyệt 12/10/2026) — Việc tài chính › «Tôi đã duyệt» (dd-) và Duyệt chi › «Chi phí phòng tôi» (cpp-) */
.dd-card{margin-bottom:14px}
.dd-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 22px 12px}
.dd-bar .dd-search{flex:1 1 220px;min-width:200px;max-width:360px}
.dd-n{font-weight:700;font-variant-numeric:tabular-nums}
.dd-pad{padding:6px 22px 18px;margin:0}
.dd-foot{display:flex;gap:8px;align-items:flex-start;margin:0;padding:12px 22px 16px;border-top:1px solid var(--card-border)}
.dd-foot svg,.cpp-foot svg{width:15px;height:15px;flex:none;margin-top:2px}
.dd-more{padding:10px 22px 0;margin:0}
.dd-table td{vertical-align:top}
.dd-table td .sub{margin-top:2px}
.dd-table td:first-child{max-width:320px}
.dd-steps{display:flex;align-items:center;flex-wrap:wrap;row-gap:6px}
.dd-st{display:inline-flex;align-items:center;font-size:12px;color:var(--muted);white-space:nowrap}
.dd-st i{width:14px;height:14px;border-radius:50%;background:var(--card-edge);margin-right:5px;flex:none}
.dd-st.done i{background:var(--ok)}
.dd-st.cur{color:var(--ink);font-weight:700}
.dd-st.cur i{background:#f2a33a;box-shadow:0 0 0 3px var(--warn-bg)}
.dd-st.rej{color:var(--danger);font-weight:700}
.dd-st.rej i{background:var(--danger)}
.dd-st.me i{outline:2px solid var(--blue);outline-offset:1.5px}
.dd-ln{width:18px;height:2px;background:var(--card-edge);margin:0 7px 0 6px;flex:none}
.dd-table td:nth-child(4){min-width:150px}.dd-table td.dd-track{min-width:260px}
.dd-ln.done{background:var(--ok)}
.dd-prog{display:none}
.dd-wait .pill+.sub{margin-top:4px}
.dd-away{color:var(--warn)}
.cpp-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.cpp-nav{display:inline-flex;gap:8px;align-items:center}
.cpp-range{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13.5px;color:var(--muted)}
.cpp-range input,.cpp-select select{height:34px;border-radius:10px;border:1px solid var(--card-edge);background:var(--card);color:var(--ink);padding:0 10px;font:inherit;font-size:13.5px}
.cpp-select{display:inline-flex;gap:7px;align-items:center;color:var(--muted)}
.cpp-select svg,.cpp-one svg{width:16px;height:16px;flex:none}
.cpp-select select{min-width:220px;font-weight:600}
.cpp-kpi-card{margin-bottom:14px}
.cpp-kpi-card .ar-kpis{margin-bottom:0}
button.cpp-k{font:inherit;color:inherit;text-align:left;background:none;cursor:pointer}
button.cpp-k:hover{border-color:var(--blue)}
.cpp-kpi-card .ar-k b{font-variant-numeric:tabular-nums}
.cpp-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:start}
.cpp-side{display:grid;gap:14px;min-width:0}
.cpp-grid>.card,.cpp-side>.card{margin:0;min-width:0}
.cpp-grid .card.flush .card-head{padding-bottom:10px}
.cpp-tbl tfoot td{border-top:1px solid var(--card-border);background:var(--bg)}
.cpp-tbl .cpp-share{width:30%;min-width:120px}
td.cpp-share{white-space:nowrap}
td.cpp-share .bar-track{display:inline-block;width:calc(100% - 52px);height:8px;vertical-align:middle}
td.cpp-share small{display:inline-block;width:46px;text-align:right;color:var(--muted);font-size:12px}
.cpp-months{display:block;width:100%;max-height:210px;margin-top:6px}
.cpp-months rect{fill:var(--blue);opacity:.38}
.cpp-months g.in rect{opacity:1}
.cpp-months g.fut rect{fill:var(--card-edge);opacity:1}
.cpp-months text{font-size:11px;fill:var(--muted);font-family:var(--font)}
.cpp-months g.in text{fill:var(--ink);font-weight:600}
.cpp-months text.v{font-size:10px;font-weight:600}
.cpp-foot{display:flex;gap:8px;align-items:flex-start;margin:12px 4px 0}
html[data-mode="dark"] .dd-bar .xl-search{background:var(--card)}
@media (max-width:1100px){.cpp-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){
  .dd-steps{display:none}
  .dd-prog{display:grid;gap:5px;margin:4px 0 2px;min-width:160px}.dd-prog .bar-track{height:7px}.dd-prog small{font-size:12.5px;color:var(--muted)}.dd-prog small b{color:var(--ink)}
}
@media (max-width:600px){
  .dd-bar{padding:12px 16px}.dd-bar .dd-search{max-width:none;flex-basis:100%}
  .dd-pad{padding:6px 16px 16px}.dd-foot{padding:12px 16px 14px}
  table.data.stack.dd-table td.dd-track[data-label]::before{display:none}
  .dd-table td:first-child{max-width:none}
  .cpp-kpi-card .ar-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cpp-kpi-card .ar-k{padding:10px 12px}.cpp-kpi-card .ar-k b{font-size:16px;white-space:nowrap}
  .cpp-select,.cpp-select select{width:100%}
  .cpp-tbl th.cpp-share,.cpp-tbl td.cpp-share{display:none}
}
/* Góp ý 13/10/2026: dòng «Chi chung của phòng» trên Bảng điều hành + thanh % hợp đồng */
.pjb-tb tr.pjb-shared td{background:transparent;color:var(--muted);font-style:normal;border-top:1px dashed var(--line)}
.pjb-tb tr.pjb-shared small,.pjb-tb tr.pjb-sum small{display:inline;margin-left:8px;font-weight:500;color:var(--muted)}
.pj-lg i.bad{background:var(--bad,#d64545)}

/* Mẫu Sơ yếu lý lịch tải về ở mục Giấy tờ (13/10/2026) */
.ef-tpl{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:12.5px}.ef-tpl svg{width:13px;height:13px;flex:none}.ef-tpl a{font-weight:600}

/* Việc theo bước · ảnh 199 (góp ý anh Tiến, anh Tâm duyệt 13/10/2026) — tiền tố .gv-: chuỗi bước trên thẻ, chuỗi quy trình nằm ngang trong chi tiết
   (màn hẹp xếp dọc đúng thứ tự 1 → 2 → 3), trạng thái + % từng bước, vai trò từng người, cột «Chờ tới lượt» */
.gv-ch{display:flex;flex-wrap:wrap;align-items:center;row-gap:4px;margin:0 0 7px}
.gv-nd{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;font-style:normal;color:#fff;background:#b4c1d1;flex:none}
.gv-nd.done{background:var(--ok)}.gv-nd.cur{background:#f2a33a;box-shadow:0 0 0 3px color-mix(in srgb,#f2a33a 28%,transparent)}
.gv-nd.rdy{background:var(--card);color:#b45309;box-shadow:inset 0 0 0 2px #f2a33a}
.gv-ln{height:3px;width:18px;background:#c8d3e0;flex:none}.gv-ln.done{background:var(--ok)}
.gv-cl{display:block;font-size:12.5px;line-height:1.45;margin:0 0 3px;color:var(--ink);overflow-wrap:anywhere}
.gv-cl.cur{color:#b45309;font-weight:600}.gv-cl.cur span{color:var(--muted);font-weight:500}.gv-cl.cur .gv-late{color:var(--danger);font-weight:700}
.gv-cl:last-of-type{margin-bottom:7px}
.tk-board.gv-b5{grid-template-columns:repeat(5,minmax(0,1fr))}
.tk-dot.CHO_LUOT{background:#f2a33a}
.gv-kp-x{display:block;color:#b45309;font-weight:600}
.tk-lay.has-detail.gv-full{grid-template-columns:minmax(0,1fr)}
.tk-lay.gv-full>aside{order:-1;min-width:0}.tk-lay.gv-full .tk-det{position:static;max-height:none}
.gv-turn{background:var(--warn-bg);border-radius:12px;padding:10px 14px;margin:10px 0 2px;font-size:13.5px;line-height:1.55;color:var(--ink)}
.gv-turn b.cur{color:#b45309}.gv-turn .gv-late{color:var(--danger)}
.gv-wfw{overflow-x:auto;margin:6px -4px 0;padding:8px 4px 4px}
.gv-wf{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(232px,1fr)}
.gv-sp{position:relative;padding:0 8px;min-width:0}
.gv-sp:not(:last-child)::after{content:"";position:absolute;top:18px;left:calc(50% + 26px);width:calc(100% - 52px);height:3px;border-radius:3px;background:#c8d3e0}
.gv-sp.done:not(:last-child)::after{background:var(--ok)}
.gv-bub{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;background:#b4c1d1;margin:0 auto 10px;position:relative;z-index:1}
.gv-sp.done .gv-bub{background:var(--ok)}.gv-sp.doing .gv-bub{background:#f2a33a;box-shadow:0 0 0 5px color-mix(in srgb,#f2a33a 26%,transparent)}
.gv-sp.ready .gv-bub{background:var(--card);color:#b45309;box-shadow:inset 0 0 0 3px #f2a33a,0 0 0 5px color-mix(in srgb,#f2a33a 20%,transparent)}
.gv-box{border:1.5px solid var(--card-edge);border-radius:14px;padding:12px;background:var(--card);height:calc(100% - 48px);min-width:0}
.gv-sp:is(.doing,.ready) .gv-box{border-color:#f2a33a;background:color-mix(in srgb,#f2a33a 7%,var(--card))}
.gv-sp.late .gv-box{border-color:var(--danger)}
.gv-box-h{display:flex;gap:6px;align-items:flex-start;margin-bottom:6px}.gv-box-h b{font-size:14px;line-height:1.4;overflow-wrap:anywhere;flex:1;min-width:0}
.gv-sp.waiting .gv-box-h b{color:var(--muted)}
.gv-box-h .gv-ti-a{margin-left:auto;flex:none}
.gv-st{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;font-size:12.5px;color:var(--muted)}
.gv-t{display:inline-block;border-radius:99px;padding:2px 9px;font-size:11.5px;font-weight:700;background:var(--hair);color:var(--muted);white-space:nowrap}
.gv-t.done{background:var(--ok-bg);color:var(--ok)}.gv-t:is(.doing,.ready){background:var(--warn-bg);color:#b45309}
.gv-pbar{display:block;height:8px;border-radius:9px;background:var(--hair);overflow:hidden;margin:7px 0 8px}
.gv-pbar i{display:block;height:100%;border-radius:9px;background:#f2a33a}.gv-sp.done .gv-pbar i{background:var(--ok)}
.gv-pp{display:flex;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--hair);font-size:12.5px;min-width:0}
.gv-pp>span:nth-child(2){min-width:0;flex:1}.gv-pp b{display:block;font-size:13px;overflow-wrap:anywhere}.gv-pp small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.gv-rl{margin-left:auto;flex:none;font-size:11px;font-weight:700;border-radius:6px;padding:2px 7px;background:var(--build-bg);color:var(--build);white-space:nowrap}
.gv-rl.g{background:var(--hair);color:var(--muted)}.gv-rl.o{background:var(--warn-bg);color:#b45309}
.gv-pg-l{display:block;margin:8px 0 6px;font-size:12.5px;color:var(--muted)}
.gv-pg{display:flex;gap:6px}
.gv-pg button{flex:1 1 0;min-width:0;border:1.5px solid var(--card-edge);border-radius:8px;padding:6px 2px;font:inherit;font-size:12px;font-weight:600;background:var(--card);color:var(--ink);cursor:pointer}
.gv-pg button:hover:not(:disabled){border-color:var(--blue)}.gv-pg button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.gv-pg button:disabled{cursor:default;opacity:.75}.gv-pg button.fin{border-color:var(--ok);color:var(--ok)}.gv-pg button.fin:hover{background:var(--ok-bg)}
.gv-box .gv-ti-n{border-top:1px solid var(--hair);padding-top:6px;margin-top:2px}
.gv-box .gv-cd{font-size:13px}
.gv-own{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;border-top:1px solid var(--hair);margin:12px 0 4px;padding-top:10px;font-size:13px}
.gv-own>span:nth-child(2){min-width:0}.gv-own .gv-rl{margin-left:0}.gv-own .gv-all{margin-left:auto;color:var(--muted)}.gv-own .gv-all b{color:var(--ink)}
.gv-co{border:1px solid var(--card-edge);border-radius:10px;margin-top:8px;background:var(--card)}
.gv-co>summary{display:flex;gap:8px;align-items:center;justify-content:space-between;cursor:pointer;padding:8px 12px;font-size:13px;font-weight:600;list-style:none}
.gv-co>summary::-webkit-details-marker{display:none}.gv-co>summary small{font-weight:500;color:var(--muted)}
.gv-co>summary em{font-style:normal;font-weight:600;color:var(--build);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gv-co>summary em.none{color:var(--muted);font-weight:500}
.gv-co-list{max-height:210px;overflow:auto;border-top:1px solid var(--hair);padding:4px 6px}
.gv-co .gv-ms-op input{width:16px;height:16px;min-height:0;padding:0;flex:none;accent-color:var(--blue)}
.gv-co>p{margin:0;padding:6px 12px 9px;font-size:12.5px}
@media (min-width:1001px){.tk-lay.gv-full .gv-dc{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0 28px;align-items:start}}
html[data-mode="dark"] :is(.gv-nd,.gv-bub){background:#46566e}html[data-mode="dark"] :is(.gv-nd.done,.gv-sp.done .gv-bub){background:#1f9d5b}
html[data-mode="dark"] :is(.gv-nd.cur,.gv-sp.doing .gv-bub){background:#d98a1f}
html[data-mode="dark"] :is(.gv-ln,.gv-sp:not(:last-child)::after){background:#33445c}html[data-mode="dark"] :is(.gv-ln.done,.gv-sp.done:not(:last-child)::after){background:#1f9d5b}
html[data-mode="dark"] :is(.gv-cl.cur,.gv-turn b.cur,.gv-t.doing,.gv-t.ready,.gv-rl.o,.gv-kp-x,.gv-nd.rdy,.gv-sp.ready .gv-bub){color:#f0b754}
html[data-mode="dark"] .gv-sp:is(.doing,.ready) .gv-box{border-color:#b8791f;background:#2a2112}
html[data-mode="dark"] .gv-sp.late .gv-box{border-color:var(--danger)}
html[data-mode="dark"] .gv-pg button.on{color:#fff}
@media (max-width:1280px){.tk-board.gv-b5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .tk-board.gv-b5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gv-wfw{overflow:visible;margin:6px 0 0;padding:4px 0}
  .gv-wf{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:minmax(0,1fr)}
  .gv-sp{display:grid;grid-template-columns:38px minmax(0,1fr);gap:0 10px;padding:0 0 14px}
  .gv-sp:not(:last-child)::after{top:38px;bottom:0;left:17.5px;width:3px;height:auto}
  .gv-bub{margin:0}.gv-box{height:auto}
  .gv-own .gv-all{margin-left:0;flex-basis:100%}
}
@media (max-width:600px){.tk-board.gv-b5{grid-template-columns:1fr}}

/* Giao việc · ảnh 196 / 197 (anh Tâm duyệt 13/10/2026) — tiền tố .gv-: chọn nhiều người, các bước, dòng gom «Tôi đã giao», dòng thời gian bước, thẻ chỉ đạo, hạn có giờ */
.gv-mode{margin-bottom:6px}.gv-mode-sub{margin:2px 0 4px}
.gv-info{background:var(--build-bg);color:var(--ink);border-radius:10px;padding:9px 12px;font-size:13px;margin:10px 0 0;line-height:1.5}.gv-info b{color:var(--build)}
.gv-due{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:8px}
.dr-sum .chip-q.on{background:var(--build-bg);border-color:var(--blue)}
.gv-time{color:var(--warn);font-weight:700}
/* ô chọn nhiều người */
.gv-pick>span .req{color:var(--danger);font-style:normal;margin-left:2px}.gv-pick>span small{text-transform:none;letter-spacing:0;font-weight:600}
.gv-ms{position:relative}
.gv-ms-box{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:6px 8px;background:var(--card);cursor:text}
.gv-ms:focus-within .gv-ms-box{border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,101,237,.15)}
.gv-ms-chips{display:contents}
.gv-chip{display:inline-flex;align-items:center;gap:4px;background:var(--build-bg);color:var(--build);border-radius:99px;padding:3px 4px 3px 10px;font-weight:600;font-size:13px}
.gv-chip button{border:0;background:none;color:inherit;opacity:.65;cursor:pointer;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;padding:0}
.gv-chip button:hover{opacity:1;background:color-mix(in srgb,var(--build) 16%,transparent)}.gv-chip svg{width:12px;height:12px}
.field .gv-ms-box input.gv-ms-q{flex:1 1 120px;min-width:110px;min-height:30px;border:0;outline:0;box-shadow:none;background:transparent;padding:2px 4px;font:inherit;width:auto}
.gv-ms-pop{border:1px solid var(--card-edge);border-radius:12px;margin-top:6px;padding:6px;max-height:268px;overflow:auto;background:var(--card);box-shadow:0 8px 20px rgba(13,37,66,.12)}
.gv-ms-g{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 4px;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.gv-ms-g button{border:0;background:none;color:var(--blue);font:inherit;font-size:12.5px;font-weight:700;text-transform:none;letter-spacing:0;cursor:pointer;padding:2px 4px;border-radius:6px}.gv-ms-g button:hover{background:var(--build-bg)}
.gv-ms-op{display:flex;gap:10px;align-items:center;padding:7px 8px;border-radius:8px;font-size:13.5px;cursor:pointer}.gv-ms-op:hover{background:var(--hair)}
.field .gv-ms-op input{width:16px;height:16px;min-height:0;padding:0;flex:none;accent-color:var(--blue);border-radius:4px}
.gv-ms-op small{margin-left:auto;color:var(--muted);font-size:12px;text-align:right}.gv-ms-none{margin:8px;color:var(--muted);font-size:13px}
/* các bước trong hộp Giao việc */
.gv-step{border:1px solid var(--card-edge);border-radius:14px;padding:12px 14px;margin-bottom:10px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;background:var(--card)}
.gv-no{width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:700;margin-top:22px}
.gv-r3{display:grid;grid-template-columns:1.2fr .9fr .6fr;gap:10px;margin-top:8px}
.gv-step-a{display:flex;flex-direction:column;gap:2px;margin-top:20px}.gv-flip svg{transform:rotate(180deg)}
.gv-add{display:flex;align-items:center;gap:7px;width:100%;border:1.5px dashed var(--blue);border-radius:12px;padding:9px 12px;color:var(--blue);font:inherit;font-weight:600;font-size:13.5px;background:none;cursor:pointer}
.gv-add:hover{background:var(--build-bg)}.gv-add svg{width:15px;height:15px}
/* dòng gom việc giao nhiều người ở «Tôi đã giao» */
.gv-batches{padding:12px 14px 4px;border-bottom:1px solid var(--hair)}
.gv-b-head,.gv-batch>summary,.gv-b-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1.1fr) 108px minmax(0,1fr);gap:10px;align-items:center}
.gv-b-head{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--hair);border-radius:9px;padding:8px 12px}
.gv-b-head .gv-b-t{display:block}.gv-b-head small{display:inline;text-transform:none;letter-spacing:0;font-weight:500}
.gv-batch{border-bottom:1px solid var(--hair)}.gv-batch:last-child{border-bottom:0}
.gv-batch>summary{list-style:none;cursor:pointer;padding:11px 12px;font-size:13.5px}.gv-batch>summary::-webkit-details-marker{display:none}
.gv-batch>summary:hover{background:color-mix(in srgb,var(--hair) 60%,transparent)}
.gv-b-t{display:flex;gap:8px;align-items:center;min-width:0}.gv-b-t>span{min-width:0;overflow-wrap:anywhere}.gv-b-t small{display:block;color:var(--muted);font-size:12.5px;font-weight:500}
.gv-batch>summary .gv-b-t>svg{width:15px;height:15px;flex:none;color:var(--muted);transition:transform .15s}.gv-batch[open]>summary .gv-b-t>svg{transform:rotate(90deg)}
.gv-b-p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gv-b-p small{color:var(--muted)}.tk-lay.has-detail .gv-bar{width:44px}
.gv-bar{display:inline-block;width:84px;height:7px;border-radius:9px;background:var(--hair);overflow:hidden;vertical-align:middle;margin-right:8px}.gv-bar i{display:block;height:100%;background:var(--ok)}
.gv-b-row{padding:9px 12px 9px 34px;font-size:13px;color:var(--ink);text-decoration:none!important;background:color-mix(in srgb,var(--hair) 45%,transparent);border-top:1px solid var(--hair)}
.gv-b-row:hover,.gv-b-row.on{background:var(--build-bg)}.gv-b-row .gv-b-n .pill{max-width:100%}
.gv-b-acts{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px 12px 34px;background:color-mix(in srgb,var(--hair) 45%,transparent);border-top:1px solid var(--hair)}
/* dòng thời gian các bước trong chi tiết việc */
.gv-tl{list-style:none;margin:6px 0 10px;padding:0 0 0 40px;position:relative}
.gv-tl::before{content:"";position:absolute;left:14px;top:10px;bottom:10px;width:2px;background:var(--card-edge)}
.gv-ti{position:relative;padding:6px 0 12px}
.gv-ti-d{position:absolute;left:-40px;top:5px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--hair);color:var(--muted);box-shadow:0 0 0 3px var(--card)}
.gv-ti-d svg{width:15px;height:15px}
.gv-ti.done .gv-ti-d{background:var(--ok);color:#fff}.gv-ti.current .gv-ti-d{background:#f2a33a;color:#fff;box-shadow:0 0 0 3px var(--card),0 0 0 6px color-mix(in srgb,#f2a33a 30%,transparent)}
.gv-ti-h{font-size:13.5px;line-height:1.45;overflow-wrap:anywhere}.gv-ti-h>span{color:var(--muted)}.gv-ti.pending .gv-ti-h b{color:var(--muted)}
.gv-ti-a{display:inline-flex;gap:0;vertical-align:middle;margin-left:4px}.gv-ti-a .icon-mini{width:24px;height:24px}
.gv-ti small{display:block;color:var(--muted);font-size:12.5px;margin-top:1px}.gv-ok{color:var(--ok);font-weight:700}.gv-late{color:var(--danger);font-weight:700}
.gv-ti-n{margin:4px 0 0;font-size:13px;white-space:pre-wrap;color:var(--ink)}
.tk-det .gv-add{margin:0 0 12px}
/* thẻ chỉ đạo của người giao */
.gv-cd{background:#fff7e8;border:1.5px solid #f2a33a;border-radius:12px;padding:10px 12px;margin-top:8px;font-size:13.5px}
.gv-cd-h{display:flex;align-items:center;gap:6px;color:#b45309;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}.gv-cd-h svg{width:14px;height:14px;flex:none}
.gv-cd p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;color:var(--ink)}
.gv-cd small{display:block;margin-top:4px;color:var(--muted);font-size:12.5px}.gv-cd small.wait{color:#b45309;font-weight:600}
.gv-cd.ack{opacity:.82}.gv-cd-ack{width:100%;margin-top:8px;justify-content:center}
.gv-say{margin:10px 0 2px}.gv-say .btn{height:38px}.gv-hint{margin:4px 0 10px;font-size:12.5px}
.gv-cd-pill svg{width:12px;height:12px}
html[data-mode="dark"] .gv-cd{background:#33260e;border-color:#b8791f}html[data-mode="dark"] :is(.gv-cd-h,.gv-cd small.wait){color:#f0b754}
html[data-mode="dark"] .gv-ms-pop{box-shadow:0 8px 20px rgba(0,0,0,.45)}html[data-mode="dark"] .gv-ms-box{background:#0f1c2e;border-color:#2a3b55}
@media (max-width:760px){
  .gv-b-head{display:none}
  .gv-batch>summary,.gv-b-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}
  .gv-batch>summary .gv-b-t,.gv-b-row .gv-b-t{grid-column:1/-1}.gv-b-p{grid-column:1/-1}
  .gv-b-row,.gv-b-acts{padding-left:14px}
}
@media (max-width:640px){
  .gv-step{grid-template-columns:30px minmax(0,1fr);padding:10px}.gv-step-a{grid-column:1/-1;flex-direction:row;justify-content:flex-end;margin-top:0}
  .gv-r3{grid-template-columns:1fr 1fr}.gv-r3>:first-child{grid-column:1/-1}
  .gv-due{grid-template-columns:minmax(0,1fr) 112px}
  .gv-ms-op small{display:none}
  .gv-say{flex-wrap:nowrap}
}
