:root {
  --g: #0A6036; --g2: #18A05E; --g-50: #eef7f1; --g-100: #d6ecdf;
  --ink: #1d2521; --muted: #5f6b65; --line: #dde3df; --bg: #f6f8f7; --card: #fff;
  --red: #b42318; --red-50: #fdecea; --amber: #a15c00; --amber-50: #fff5e0;
  --r: 6px; --font: Arial, "Helvetica Neue", Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--ink); font: 14px/1.45 var(--font); }
.hidden { display: none !important; }
h1, h2, h3 { color: var(--g); margin: 0 0 12px; }
h1 { font-size: 22px; } h2 { font-size: 18px; } h3 { font-size: 15px; }
a { color: var(--g); }
input, select, textarea, button { font: inherit; color: inherit; }
input, select, textarea { border: 1px solid var(--line); border-radius: var(--r); padding: 6px 8px; background: #fff; min-width: 0; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--g2); outline-offset: -1px; border-color: var(--g2); }
input[type=checkbox] { width: 16px; height: 16px; accent-color: var(--g); }
label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--muted); }
label.inline { flex-direction: row; align-items: center; gap: 6px; color: var(--ink); }

.btn { border: 1px solid var(--line); background: #fff; border-radius: var(--r); padding: 7px 12px; cursor: pointer; white-space: nowrap; }
.btn:hover { border-color: var(--g2); }
.btn.primary { background: var(--g); border-color: var(--g); color: #fff; }
.btn.primary:hover { background: #084d2b; }
.btn.danger { color: var(--red); border-color: #f0c6c1; }
.btn.small { padding: 3px 8px; font-size: 12px; }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.link { background: none; border: 0; color: var(--g); cursor: pointer; padding: 0; text-decoration: underline; }

/* Đăng nhập */
.login { min-height: 100vh; display: grid; place-items: center; padding: 16px; }
.login-box { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 28px; width: 100%; max-width: 380px; }
.login-box h1 { text-align: center; margin: 12px 0 20px; }
.login-box form { display: flex; flex-direction: column; gap: 12px; }
.brand-big { text-align: center; }
.brand-big img, .brand-big .logo-fb { max-width: 240px; height: auto; }
.msg { min-height: 18px; font-size: 13px; color: var(--red); }
.msg.ok { color: var(--g); }

/* Khung chính */
.top { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 16px; background: #fff; border-bottom: 3px solid var(--g); padding: 6px 16px; }
.brand { display: flex; align-items: center; gap: 8px; font-weight: bold; color: var(--g); white-space: nowrap; }
.brand img, .brand .logo-fb { height: 36px; width: auto; }
#nav { display: flex; gap: 2px; flex: 1; overflow-x: auto; }
#nav button { border: 0; background: none; padding: 8px 9px; border-radius: var(--r); cursor: pointer; white-space: nowrap; color: var(--ink); }
#nav button:hover { background: var(--g-50); }
#nav button.on { background: var(--g); color: #fff; }
.user { display: flex; gap: 10px; align-items: center; white-space: nowrap; font-size: 13px; color: var(--muted); }
.menu-btn { display: none; border: 1px solid var(--line); background: #fff; border-radius: var(--r); padding: 4px 10px; font-size: 18px; }
main { padding: 16px; max-width: 1600px; margin: 0 auto; }

.bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin-bottom: 12px; }
.bar .grow { flex: 1; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 8px; padding: 14px; margin-bottom: 14px; }
.grid { display: grid; gap: 12px; }
.g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-bottom: 14px; }
.stat { background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--g2); border-radius: 8px; padding: 12px 14px; }
.stat .k { font-size: 12px; color: var(--muted); }
.stat .v { font-size: 22px; font-weight: bold; color: var(--g); margin-top: 4px; }
.subtabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin-bottom: 12px; overflow-x: auto; }
.subtabs button { border: 0; background: none; padding: 8px 12px; cursor: pointer; border-bottom: 3px solid transparent; white-space: nowrap; }
.subtabs button.on { border-bottom-color: var(--g); color: var(--g); font-weight: bold; }

.tbl-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; max-height: 70vh; }
table.t { border-collapse: collapse; width: 100%; font-size: 13px; }
table.t th, table.t td { border-bottom: 1px solid var(--line); padding: 6px 8px; text-align: left; vertical-align: top; }
table.t th { background: var(--g-50); color: var(--g); font-weight: bold; position: sticky; top: 0; z-index: 2; white-space: nowrap; }
table.t td.n, table.t th.n { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
table.t tr.click { cursor: pointer; }
table.t tr.click:hover td { background: #fafcfb; }
table.t tfoot td { font-weight: bold; background: var(--g-50); position: sticky; bottom: 0; }
table.t td.c, table.t th.c { text-align: center; }
.sticky-col { position: sticky; left: 0; background: #fff; z-index: 1; }
th.sticky-col { z-index: 3; background: var(--g-50); }

/* Chấm công */
table.ts td { padding: 2px; }
table.ts input.cell { width: 36px; padding: 3px 2px; text-align: center; font-size: 12px; border-radius: 3px; }
table.ts input.cell.off { background: #f1f3f2; }
table.ts input.cell.hol { background: #fff5e0; }
table.ts input.num { width: 46px; padding: 3px; text-align: right; font-size: 12px; }
table.ts th.off { background: #e5e9e7; color: var(--muted); }
table.ts th.hol { background: #ffe9bf; color: var(--amber); }
.codes { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--muted); }
.codes b { color: var(--ink); }

.badge { display: inline-block; padding: 2px 8px; border-radius: 99px; font-size: 12px; font-weight: bold; background: var(--g-100); color: var(--g); white-space: nowrap; }
.badge.gray { background: #eceeed; color: var(--muted); }
.badge.red { background: var(--red-50); color: var(--red); }
.badge.amber { background: var(--amber-50); color: var(--amber); }
.note { background: var(--amber-50); border: 1px solid #f3d9a6; color: #6b4300; border-radius: 8px; padding: 10px 12px; font-size: 13px; margin-bottom: 12px; }
.note.info { background: var(--g-50); border-color: var(--g-100); color: #174d31; }
.muted { color: var(--muted); }
.warn-list { margin: 4px 0 0; padding-left: 18px; color: var(--amber); font-size: 12px; }
.right { text-align: right; }
.row-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px 12px; }
.form-grid .full { grid-column: 1 / -1; }
.checks { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.money { text-align: right; }

/* Modal */
.modal { position: fixed; inset: 0; background: rgba(15, 30, 22, .45); z-index: 50; display: flex; align-items: flex-start; justify-content: center; padding: 30px 12px; overflow: auto; }
.modal-box { background: #fff; border-radius: 10px; width: 100%; max-width: 760px; box-shadow: 0 10px 40px rgba(0,0,0,.2); }
.modal-box.wide { max-width: 1150px; }
.modal-head { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.modal-head h2 { margin: 0; }
#modal-body { padding: 16px 18px; }
.x { border: 0; background: none; font-size: 24px; cursor: pointer; color: var(--muted); }
.modal-foot { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.toast { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 8px; z-index: 60; max-width: 90vw; }
.toast.err { background: var(--red); }

/* Biểu mẫu tờ khai */
.form-doc { background: #fff; border: 1px solid var(--line); padding: 24px; font-family: Arial, sans-serif; }
.form-doc .hd { display: flex; justify-content: space-between; gap: 16px; font-size: 12px; }
.form-doc h2 { text-align: center; color: #000; margin: 14px 0 4px; }
.form-doc .center { text-align: center; }
.form-doc table { border-collapse: collapse; width: 100%; margin-top: 10px; font-size: 13px; }
.form-doc td, .form-doc th { border: 1px solid #999; padding: 5px 7px; }
.form-doc th { background: #f2f2f2; }
.form-doc td.n { text-align: right; white-space: nowrap; }
.form-doc .sign { display: flex; justify-content: flex-end; text-align: center; margin-top: 24px; }
.logo-fb { display: inline-flex; align-items: center; gap: 6px; font-weight: bold; color: var(--g); }
.logo-fb svg { height: 100%; }

#print { display: none; }
@media print {
  @page { size: A4; margin: 15mm 12mm; }
  html, body { background: #fff !important; }
  body > *:not(#print) { display: none !important; }
  #print { display: block; font: 12px/1.4 Arial, sans-serif; color: #000; }
  .slip { page-break-after: always; break-after: page; }
  .slip:last-child { page-break-after: auto; }
  .landscape { page: land; }
  @page land { size: A4 landscape; }
  .form-doc { border: 0; padding: 0; }
}
.slip { max-width: 720px; margin: 0 auto 24px; border: 1px solid #ccc; padding: 18px; background: #fff; }
.slip .sh { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid var(--g); padding-bottom: 8px; margin-bottom: 10px; }
.slip .sh img { height: 40px; }
.slip h3 { text-align: center; color: #000; }
.slip table { width: 100%; border-collapse: collapse; }
.slip td { padding: 3px 6px; border-bottom: 1px dotted #ccc; }
.slip td.n { text-align: right; }
.slip tr.tot td { font-weight: bold; border-top: 1px solid #000; }

@media (max-width: 900px) {
  .top { flex-wrap: wrap; }
  .menu-btn { display: block; margin-left: auto; }
  #nav { display: none; order: 3; flex-basis: 100%; flex-direction: column; }
  #nav.open { display: flex; }
  .user { order: 2; }
  .g2, .g3, .g4 { grid-template-columns: 1fr; }
  main { padding: 12px; }
}
.confirm-layer { z-index: 70; }
table.ts input.cell.lv { outline: 2px solid var(--g2); outline-offset: -2px; }
[hidden] { display: none !important; }
input:disabled, select:disabled, textarea:disabled { background: #f1f3f2; color: var(--muted); }
.brand { flex-shrink: 0; }
.brand { max-width: 280px; overflow: hidden; }
.logo-fb svg { width: auto; aspect-ratio: 1 / 1; flex-shrink: 0; }
#nav { min-width: 0; }
/* Văn bản quy chế (theo nhận diện: Arial, xanh #0A6036) */
.reg-wrap { background: #fff; border: 1px solid var(--line); padding: 24px; overflow-x: auto; }
.reg-doc { font: 13pt/1.45 'Times New Roman', Times, serif; color: #000; max-width: 820px; margin: 0 auto; text-align: justify; }
.reg-doc .reg-head { width: 100%; border-collapse: collapse; }
.reg-doc .reg-head td { border: 1px dashed #999; padding: 6px 10px; vertical-align: middle; }
.reg-doc .reg-head .lg { width: 36%; text-align: center; }
.reg-doc .reg-head .lg img, .reg-doc .reg-head .lg .logo-fb { max-width: 220px; height: auto; }
.reg-doc .reg-head .nat { text-align: center; font-size: 12pt; }
.reg-doc .reg-head .nat b:first-child { white-space: nowrap; }
.reg-doc .u { text-decoration: underline; }
.reg-doc .reg-title { text-align: center; color: #000; margin: 18px 0 6px; font-size: 13pt; }
.reg-doc .reg-code { text-align: center; font-style: italic; margin: 0 0 10px; }
.reg-doc h4 { margin: 12px 0 4px; font-size: 13pt; }
.reg-doc ul { margin: 0; padding-left: 28px; list-style: '-  '; }
.reg-doc .reg-table, .reg-doc .reg-sign { width: 100%; border-collapse: collapse; margin: 8px 0; font-size: 12pt; break-inside: auto; }
.reg-doc .reg-table th, .reg-doc .reg-table td { border: 1px solid #444; padding: 4px 6px; vertical-align: middle; text-align: left; }
.reg-doc .reg-table th { background: #f2f2f2; text-align: center; }
.reg-doc .reg-table td { background: transparent; }
.reg-doc .reg-table th:nth-child(1) { width: 15%; } .reg-doc .reg-table th:nth-child(2) { width: 15%; }
.reg-doc .reg-table th:nth-child(3) { width: 24%; } .reg-doc .reg-table th:nth-child(4) { width: 18%; }
.reg-doc .reg-table td.n { text-align: right; white-space: nowrap; }
.reg-doc .reg-table td.c, .reg-doc .reg-sign td.c { text-align: center; }
.reg-doc .reg-table tr { break-inside: avoid; }
.reg-doc .reg-sign td { border: 1px dashed #999; padding: 6px 10px; vertical-align: top; width: 50%; }
.reg-watermark { display: none; }
@media print {
  .reg-watermark { display: block; position: fixed; top: 50%; left: 50%; width: 17cm; opacity: .9; transform: translate(-50%, -50%); z-index: 0; pointer-events: none; }
  .reg-doc { position: relative; z-index: 1; }
  .reg-doc .reg-table th { background: rgba(0,0,0,.05); }
  .reg-doc { max-width: none; }
}
.re-items input, .re-items select { font-size: 12px; padding: 4px; }
.slip-inc tr.h td { font-weight: bold; border-bottom: 1px solid #000; font-size: 11px; }
.slip-inc td { font-size: 12px; }
.slip-inc td:nth-child(3), .slip-inc td:nth-child(4) { font-size: 11px; color: #333; }
/* Gợi ý hạch toán */
.je { border: 1px solid var(--line); border-radius: var(--r); background: #fff; margin: 8px 0; padding: 10px 12px; }
.je-info { background: var(--g-50); }
.je-h { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.je-no { display: inline-block; min-width: 24px; height: 24px; line-height: 24px; text-align: center; border-radius: 99px; background: var(--g); color: #fff; font-size: 12px; font-weight: bold; }
.je-short { background: var(--g-100); color: var(--g); padding: 2px 8px; border-radius: 6px; font-size: 13px; white-space: nowrap; }
.je-t { width: 100%; border-collapse: collapse; margin-top: 6px; }
.je-t td { padding: 3px 6px; border-bottom: 1px dotted var(--line); }
.je-t td.n { text-align: right; white-space: nowrap; width: 160px; }
.je-t .je-acc { white-space: nowrap; width: 46%; }
.je-t tr.je-c td { color: #333; }
.je-note { margin-top: 6px; font-size: 12px; color: var(--muted); }
.je-print { width: 100%; border-collapse: collapse; font-size: 11px; }
.je-print th, .je-print td { border: 1px solid #555; padding: 3px 5px; }
.je-print td.n { text-align: right; white-space: nowrap; }
@media (min-width: 901px) { #nav { flex-wrap: wrap; overflow: visible; } }
/* Phiếu lương chi tiết */
.slip.ps { max-width: 780px; font: 11px/1.35 Arial, sans-serif; color: #111; padding: 20px 24px; }
.ps-head { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #0A6036; padding-bottom: 8px; gap: 12px; }
.ps-head img, .ps-head .logo-fb { height: 46px !important; }
.ps-co { text-align: right; font-size: 11px; }
.ps-title { text-align: center; color: #0A6036; margin: 12px 0 2px; font-size: 18px; letter-spacing: .5px; }
.ps-sub { text-align: center; margin: 0 0 8px; font-size: 11px; color: #555; }
.ps-h { background: #0A6036; color: #fff; font-weight: bold; padding: 3px 8px; margin: 10px 0 4px; font-size: 11.5px; }
.ps table { width: 100%; border-collapse: collapse; }
.ps-info td { padding: 1px 6px; border-bottom: 1px dotted #ccc; }
.ps-info td:nth-child(odd) { color: #555; width: 18%; white-space: nowrap; }
.ps-days td { border: 1px solid #cfd8d3; text-align: center; padding: 4px 2px; vertical-align: top; }
.ps-days .k { font-size: 10px; color: #555; }
.ps-days .v { font-size: 14px; color: #0A6036; }
.ps-days .s { font-size: 9.5px; color: #777; }
.ps-t { margin-top: 10px; }
.ps-t th { background: #e8f3ed; color: #0A6036; border: 1px solid #b9d3c4; padding: 4px; font-size: 11px; }
.ps-t td { border: 1px solid #d5dfd9; padding: 2px 5px; vertical-align: top; }
.ps-t td.c { text-align: center; white-space: nowrap; font-size: 11px; }
.ps-t td.n { text-align: right; white-space: nowrap; }
.ps-t td.how { font-size: 10.5px; color: #444; }
.ps-t tr.ps-sec td { background: #0A6036; color: #fff; font-weight: bold; font-size: 11.5px; }
.ps-t tr.tot td { background: #f2f7f4; font-weight: bold; }
.ps-tax td { padding: 1px 6px; border-bottom: 1px dotted #ccc; }
.ps-tax td.n { text-align: right; white-space: nowrap; }
.ps-tax tr.b td { font-weight: bold; }
.ps-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 14px; }
.ps-net { border: 2px solid #0A6036; border-radius: 6px; padding: 6px 10px; margin: 4px 0; background: #f2f7f4; }
.ps-net .k { font-weight: bold; color: #0A6036; }
.ps-net .v { font-size: 22px; font-weight: bold; color: #0A6036; }
.ps-net .w { font-style: italic; font-size: 11px; }
.ps-net2 { font-size: 10.5px; margin-top: 4px; border-top: 1px dotted #9bb; padding-top: 3px; }
.ps-note { font-size: 10.5px; color: #555; margin: 4px 0; }
.ps-sign { margin-top: 8px; }
.ps-sign td { text-align: center; width: 50%; padding-top: 4px; vertical-align: top; border: 0 !important; }
.ps-sign .sp { height: 46px; }
@media print { @page { margin: 10mm 12mm; } .slip.ps { border: 0; padding: 0; max-width: none; margin: 0; } .slip.ps { font-size: 10.5px; line-height: 1.3; } .ps-days td { padding: 2px; } .ps-days .v { font-size: 13px; } .ps-sub { margin-bottom: 4px; } .ps-head { padding-bottom: 4px; } .ps-net .v { font-size: 19px; } .ps-head img, .ps-head .logo-fb { height: 38px !important; } .ps-title { margin-top: 6px; font-size: 16px; } .ps-h { margin: 6px 0 3px; } .ps-t { margin-top: 6px; } .ps-sign .sp { height: 34px; } .ps-h, .ps-t tr.ps-sec td { -webkit-print-color-adjust: exact; print-color-adjust: exact; } .ps-t thead { display: table-header-group; } }
/* Phiếu lương gọn */
.ps-mid .ps-title { margin: 10px 0 8px; }
.ps-line { margin: 6px 0; padding: 4px 8px; background: #f2f7f4; border-left: 3px solid #0A6036; font-size: 11px; }
.ps-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.ps-t2 td { padding: 3px 6px; border-bottom: 1px dotted #ccc; vertical-align: top; }
.ps-t2 tr.h td { background: #0A6036; color: #fff; font-weight: bold; font-size: 11px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ps-t2 td.n { text-align: right; white-space: nowrap; }
.ps-t2 td.nt { font-size: 10px; color: #666; }
.ps-t2 tr.tot td { border-top: 1px solid #0A6036; border-bottom: 0; background: #f2f7f4; }
@media (max-width: 640px) { .ps-grid2 { grid-template-columns: 1fr; } }
@media print { .ps-mid { break-inside: avoid; page-break-inside: avoid; page-break-after: always; break-after: page; } .ps-mid:last-child { page-break-after: auto; break-after: auto; } }
.ns-card { border-left: 4px solid var(--g2); margin: 8px 0; }
/* Tờ khai quyết toán & phụ lục */
.bk-doc { overflow-x: auto; }
.bk-doc table { font-size: 11px; }
.bk-doc thead tr.bk-codes th { font-weight: normal; font-style: italic; background: #fafafa; }
.bk-doc tr.tot td { font-weight: bold; background: var(--g-50); }
@media print {
  .qt-print .bk-doc { page: land; overflow: visible; }
  .qt-print .bk-doc table { font-size: 8.5px; }
  .qt-print .bk-doc th, .qt-print .bk-doc td { padding: 2px 3px; }
  .qt-print .pb { break-after: page; page-break-after: always; height: 0; }
}
.pay-grp { margin-top: 14px; }
.pay-gh { margin: 0 0 2px; }
/* Giấy ủy quyền quyết toán 08/UQ-QTT-TNCN */
.uq-doc { position: relative; max-width: 760px; margin: 0 auto 24px; padding: 28px 36px; background: #fff; border: 1px solid #ccc; font: 13.5px/1.45 'Times New Roman', Times, serif; color: #000; overflow: hidden; }
.uq-wm { position: absolute; top: 46%; left: 50%; width: 82%; transform: translate(-50%, -50%); opacity: .9; pointer-events: none; z-index: 0; }
.uq-doc > *:not(.uq-wm) { position: relative; z-index: 1; }
.uq-top { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.uq-nat { text-align: center; font-size: 13px; }
.uq-nat .u { text-decoration: underline; }
.uq-code { border: 1px solid #000; padding: 4px 8px; font-size: 10.5px; max-width: 300px; text-align: center; }
.uq-doc h2 { text-align: center; font-size: 15px; margin: 16px 0 2px; color: #000; }
.uq-doc .c { text-align: center; }
.uq-info { margin: 10px 0 10px 24px; border-collapse: collapse; }
.uq-info td { padding: 1px 10px 1px 0; vertical-align: top; }
.uq-case { display: flex; gap: 10px; margin: 6px 0; text-align: justify; }
.uq-box { display: inline-block; flex: 0 0 13px; width: 13px; height: 13px; border: 1px solid #000; text-align: center; line-height: 12px; font-size: 11px; margin-top: 3px; }
.uq-ind { margin: 6px 0 6px 23px; text-align: justify; }
.uq-sign { display: flex; justify-content: space-between; margin-top: 14px; }
.uq-sign > div:last-child { width: 50%; }
.uq-sp { height: 70px; }
.uq-note { font-size: 11px; border-top: 1px solid #000; margin-top: 18px; padding-top: 4px; }
@media print { .uq-doc { border: 0; margin: 0; padding: 0; max-width: none; page-break-after: always; break-after: page; } .uq-doc:last-child { page-break-after: auto; break-after: auto; } }
/* Báo cáo in (bảng lương, bảo hiểm, chấm công, báo cáo năm) */
.rp-doc { font: 11px/1.35 'Times New Roman', Times, serif; color: #000; }
.rp-doc table { font-size: inherit; font-family: inherit; }
.rp-head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 8px; }
.rp-logo { flex: none; padding-top: 2px; }
.rp-logo img, .rp-logo .logo-fb { height: 70px !important; width: auto; }
.rp-id { flex: 1; display: flex; flex-direction: column; font-size: 11px; line-height: 1.4; }
.rp-co { font-size: 12.5px; color: #0A6036; }
.rp-doc h2 { color: #0A6036; margin: 8px 0 1px; font-size: 17px; text-align: left; letter-spacing: .3px; }
.rp-sub { font-size: 11px; }
.rp-side { flex: none; min-width: 210px; font-size: 10px; }
.rp-side .u { text-decoration: underline; font-style: italic; }
.rp-je { border-collapse: collapse; margin-top: 2px; }
.rp-je tbody { border-bottom: 1px solid #0A6036; }
.rp-je tbody:last-child { border-bottom: 0; }
.rp-je td { padding: 0 4px; white-space: nowrap; font-style: italic; font-weight: bold; }
.rp-je td.n { text-align: right; font-style: normal; font-weight: normal; min-width: 90px; }
.rp-je tr.cr td:first-child { padding-left: 34px; }
.rp-doc h3 { margin: 10px 0 4px; font-size: 12px; color: #0A6036; }
.rp-t { width: 100%; border-collapse: collapse; margin-top: 4px; }
.rp-t th, .rp-t td { border: 1px solid #6E9A82; padding: 2px 4px; vertical-align: top; }
.rp-t th { background: #0A6036; color: #fff; font-size: 10px; border-color: #0A6036; vertical-align: middle; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rp-t td.n { text-align: right; white-space: nowrap; }
.rp-t td.c { text-align: center; }
.rp-t tbody tr:nth-child(even) td { background: #F5FAF7; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rp-t tr.tot td { font-weight: bold; background: #CFEBDC !important; color: #0A6036; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rp-t tr.tot:last-child td { background: #18A05E !important; color: #fff; }
.rp-t tr.grp td { font-weight: bold; background: #E8F3ED !important; color: #0A6036; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rp-t thead { display: table-header-group; }
.rp-t tr { break-inside: avoid; }
.rp-ts th, .rp-ts td { padding: 1px 2px; font-size: 9px; text-align: center; }
.rp-ts td:nth-child(2) { text-align: left; }
.rp-ts .off { background: #e5e5e5 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rp-ts .hol { background: #fff3c4 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rp-ts th.off, .rp-ts th.hol { color: #000; }
.rp-note { font-size: 9.5px; color: #333; margin: 6px 0; }
.rp-date { text-align: right; margin: 10px 0 0; }
.rp-sign { width: 100%; margin-top: 4px; break-inside: avoid; }
.rp-sign td { text-align: center; vertical-align: top; }
.rp-sign .sp { height: 50px; }
/* Văn bản thương hiệu: Xác nhận thu nhập, Bản cam kết 08/CK-TNCN */
.bd-doc { position: relative; max-width: 780px; margin: 12px auto 24px; padding: 26px 34px 40px; background: #fff; border: 1px solid #ccc; font: 13px/1.45 'Times New Roman', Times, serif; color: #000; overflow: hidden; }
.bd-wm { position: absolute; top: 50%; left: 50%; width: 80%; transform: translate(-50%, -50%); pointer-events: none; z-index: 0; }
.bd-doc > *:not(.bd-wm) { position: relative; z-index: 1; }
.bd-lh { width: 100%; border-collapse: collapse; margin-bottom: 4px; }
.bd-lh td { border: 1px solid #0A6036; padding: 4px 12px; }
.bd-lh td.lg { width: 30%; text-align: center; vertical-align: middle; }
.bd-lh td.lg img { max-width: 100%; height: 64px; width: auto; }
.bd-lh td.nm { font-weight: bold; font-size: 14.5px; color: #0A6036; }
.bd-lh td.ln { font-style: italic; font-size: 13px; }
.bd-lh td.band { background: #0A6036; color: #fff; text-align: center; font-weight: bold; font-size: 17px; padding: 7px 8px; letter-spacing: .3px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.bd-lh td.band span { display: block; font-size: 12.5px; font-style: italic; font-weight: bold; letter-spacing: 0; color: #CFEBDC; }
.bd-logo { height: 54px; width: auto; flex: none; }
.bd-no { text-align: right; margin: 4px 0 0; font-size: 12px; }
.bd-title { text-align: center; color: #0A6036; font-size: 18px; margin: 14px 0 10px; letter-spacing: .5px; }
.bd-title span { font-size: 14px; color: #18A05E; font-style: italic; }
.bd-doc .c { text-align: center; }
.bd-doc p { margin: 6px 0; text-align: justify; }
.bd-doc table, .uq-doc table, .reg-doc table { font-size: inherit; font-family: inherit; }
.bd-info { border-collapse: collapse; margin: 8px 0 8px 18px; font-size: 13px; }
.bd-info td { padding: 2px 10px 2px 0; vertical-align: top; }
.bd-info td:first-child { white-space: nowrap; }
.bd-t { width: 100%; border-collapse: collapse; margin: 8px 0; font-size: 12.5px; }
.bd-t th { background: #0A6036; color: #fff; padding: 4px 6px; border: 1px solid #0A6036; font-weight: bold; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.bd-t th i { font-weight: normal; font-size: 11px; color: #e3f3ea; }
.bd-t td { border: 1px solid #9bb7a7; padding: 3px 6px; background: rgba(255,255,255,.6); }
.bd-t td.n { text-align: right; white-space: nowrap; }
.bd-t td.c { text-align: center; }
.bd-t tr.tot td { font-weight: bold; background: #e8f3ed; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.bd-sign { display: flex; justify-content: space-between; margin-top: 14px; }
.bd-sign > div:last-child { width: 52%; text-align: center; }
.bd-sp { height: 78px; }
.bd-code { border: 1px solid #000; padding: 4px 8px; font-size: 10.5px; max-width: 320px; text-align: center; }
.bd-note { font-size: 10.5px; color: #333; border-top: 1px solid #999; padding-top: 4px; margin-top: 14px !important; }
.bd-foot { position: absolute !important; left: 34px; right: 34px; bottom: 12px; border-top: 1px solid #0A6036; padding-top: 3px; text-align: right; font: bold 10px Arial, sans-serif; color: #0A6036; }
.uq-co { margin-top: 10px; border: 1px dashed #0A6036; padding: 4px 8px; font-size: 11.5px; }
@media print { .bd-doc { border: 0; margin: 0; max-width: none; padding: 0 0 30px; min-height: 255mm; page-break-after: always; break-after: page; } .bd-doc:last-child { page-break-after: auto; } .bd-foot { left: 0; right: 0; bottom: 0; } }
