.sidebar-logo img,
.sidebar-brand img,
.gate-hospital img,
.gate-brand {
  border-radius: 10px;
  background: #fffdf8;
}
body.login-body .gate-brand {
  width: min(460px, 100%);
  height: auto;
  max-height: none;
  margin-top: 16px;
  flex: 0 0 auto;
  object-fit: contain;
  clip-path: none;
  background: transparent;
  border-radius: 12px;
}
body.login-body .gate-panel {
  justify-content: safe center;
  padding-bottom: 36px;
  overflow: visible;
}
body.login-body .gate-system.gate-sub-expired {
  color: #c0392b;
  font-weight: 700;
}
.bill-lines input, .bill-lines select { height: 36px; font-size: 14px; }
.bill-lines td, .bill-lines th { vertical-align: middle; }
td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
tr.total-row td { font-weight: 700; background: #f6f1e6; }
.section-row td { font-weight: 700; color: #6d5a32; background: transparent; }
tr.child-row td:first-child { padding-left: 22px; }
.bill-total { display: flex; justify-content: flex-end; gap: 18px; margin-top: 8px; font-size: 16px; }
.voucher-no { color: var(--muted); font-size: 13px; }
.dash-qa .qa span { font-size: 14px; }
.stats { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.m-home { display: none; }
.report-caption {
  margin: 2px 0 14px;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
}
.table-wrap.opening-tb {
  width: max-content;
  max-width: 100%;
}
.table-wrap.opening-tb table {
  width: max-content;
  min-width: 720px;
}
.table-wrap.opening-tb th:first-child,
.table-wrap.opening-tb td:first-child {
  min-width: 420px;
  white-space: pre;
}
.table-wrap.opening-tb th.num,
.table-wrap.opening-tb td.num {
  min-width: 150px;
}
.pur { max-width: 980px; }
.pur-bar { display: flex; justify-content: flex-end; align-items: center; gap: 10px; margin-bottom: 14px; }
.pur-find {
  height: 36px;
  padding: 0 16px;
  border: 1px solid #161616;
  border-radius: 999px;
  background: #161616;
  color: #f7f3ea;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}
.pur-find:hover { background: #2a2a2a; }
.pur-print, .pur-excel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 16px;
  border-radius: 999px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}
.pur-print { background: #fff; color: #243028; border: 1px solid #cfc3b0; }
.pur-excel { background: #17643f; color: #fff; border: 1px solid #17643f; }
.pur-print:hover { background: #f6f1e7; }
.pur-excel:hover { background: #124f32; }
.pur-move {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid #d9d0c2;
  border-radius: 999px;
  background: #fff;
  overflow: hidden;
}
.pur-move a, .pur-move span {
  display: inline-flex;
  align-items: center;
  height: 36px;
  padding: 0 14px;
  border-left: 1px solid #eee6d8;
  color: #243028;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
}
.pur-move a:first-child, .pur-move span:first-child { border-left: 0; }
.pur-move a:hover { background: #161616; color: #f7f3ea; }
.pur-move .is-off { color: #b7aea0; }
.pur-pos { color: #6d6458; font-variant-numeric: tabular-nums; letter-spacing: 0; text-transform: none; }
.pur-dialog {
  width: min(920px, calc(100vw - 32px));
  border: 0;
  border-radius: 16px;
  padding: 0;
  box-shadow: 0 24px 60px rgba(22, 22, 22, .28);
}
.pur-dialog::backdrop { background: rgba(22, 22, 22, .45); }
.pur-dialog-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  padding: 14px 18px;
  background: #161616;
  color: #f7f3ea;
}
.pur-dialog-bar h2 { margin: 0; font-size: 18px; }
.pur-dialog-bar button {
  height: 32px;
  border: 1px solid #3a3a3a;
  border-radius: 999px;
  background: transparent;
  color: #f7f3ea;
  font: inherit;
  cursor: pointer;
}
.pur-seek {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 16px 18px 8px;
}
.pur-seek label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 700; }
.pur-seek input, .pur-seek select { height: 38px; }
.pur-seek button { justify-self: start; }
.ledger-pick { position: relative; }
.ledger-list {
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;
  top: calc(100% - 2px);
  max-height: 220px;
  overflow: auto;
  background: #fff;
  border: 1px solid #e4d3ae;
  border-radius: 10px;
  box-shadow: 0 12px 28px rgba(22, 22, 22, .16);
}
.ledger-list button {
  display: block;
  width: 100%;
  height: auto;
  min-height: 34px;
  margin: 0;
  padding: 8px 12px;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #243028;
  font: inherit;
  font-weight: 600;
  text-align: left;
  justify-self: stretch;
  cursor: pointer;
}
.ledger-list button.is-on,
.ledger-list button:hover { background: #161616; color: #f7f3ea; }
.pur-find-note { margin: 0; padding: 4px 18px 12px; color: #6d6458; }
.pur-results { max-height: 360px; overflow: auto; border-top: 1px solid #efe6d8; }
.pur-result {
  display: grid;
  grid-template-columns: 70px 110px 120px minmax(140px, 1fr) 90px 120px 120px;
  gap: 8px;
  align-items: center;
  padding: 10px 18px;
  border-bottom: 1px solid #f3ecdf;
  color: #243028;
  text-decoration: none;
  font-variant-numeric: tabular-nums;
}
.pur-result-head { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #6d6458; background: #faf7f2; }
a.pur-result:hover { background: #161616; color: #f7f3ea; }
.pur-sheet {
  background: #fff;
  border: 1px solid #e4d3ae;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(22, 22, 22, .06);
}
.pur-black {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px 28px;
  padding: 20px 24px;
  background: #fbf7f0;
  color: #243028;
  border-bottom: 1px solid #e4d3ae;
}
.pur-black > div { min-width: 0; flex: 1 1 220px; }
.pur-kicker {
  margin: 0 0 8px;
  color: #8a6a2f;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.pur-black h2 { margin: 0; font-size: 28px; font-weight: 700; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.pur-city { margin: 6px 0 0; color: #6d6458; font-size: 14px; }
.pur-meta {
  display: grid;
  grid-template-columns: auto auto;
  gap: 8px 22px;
  margin: 0;
  align-content: center;
  flex: 1 1 240px;
}
.pur-meta dt { color: #8a8174; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.pur-meta dd { margin: 0; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.pur-lines {
  max-height: 320px;
  overflow-y: auto;
  border: 0;
  border-radius: 0;
}
.pur-lines thead th { position: sticky; top: 0; z-index: 1; }
.pur-totals {
  width: min(380px, calc(100% - 36px));
  margin: 16px 18px 18px auto;
  border: 1px solid #e6dcc8;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.pur-totals div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 16px;
  border-top: 1px solid #f0e8db;
  font-variant-numeric: tabular-nums;
}
.pur-totals div:first-child { border-top: 0; }
.pur-totals span::after { content: " :"; }
.pur-totals b { font-weight: 700; }
.pur-due { background: #f3ecdf; color: #243028; }
@media (max-width: 768px) {
  .pur { max-width: none; }
  .pur-bar { flex-wrap: wrap; justify-content: stretch; }
  .pur-find, .pur-print, .pur-excel { width: 100%; }
  .pur-move {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    overflow: visible;
    border-radius: 12px;
  }
  .pur-move a, .pur-move span {
    justify-content: center;
    min-width: 0;
    padding: 0 4px;
    border-left: 0;
    font-size: 12px;
  }
  .pur-pos {
    grid-column: 1 / -1;
    justify-content: center;
    border-top: 1px solid #eee6d8;
  }
  .pur-black { padding: 16px; }
  .pur-black h2 { font-size: 22px; }
  .pur-meta { grid-template-columns: 1fr 1fr; width: 100%; }
  .pur-meta dd { text-align: left; }
  .pur-lines:not(.reg-lines) { max-height: 260px; overflow: auto; -webkit-overflow-scrolling: touch; }
  .pur-lines:not(.reg-lines) table { min-width: 680px; }
  .reg-lines { max-height: none; overflow: visible; }
  .pur-totals { width: auto; margin: 12px; }
  .pur-seek { grid-template-columns: 1fr; }
  .pur-dialog { width: calc(100vw - 16px); max-height: calc(100vh - 24px); }
  .pur-result-head { display: none; }
  .pur-result {
    grid-template-columns: 1fr;
    gap: 2px;
    padding: 12px 14px;
  }
  .pur-result span { display: flex; justify-content: space-between; gap: 12px; }
  .pur-result span::before {
    content: attr(data-label);
    color: #8a8174;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
}
.table-wrap.content-list {
  width: max-content;
  max-width: 100%;
}
.table-wrap.content-list table {
  width: max-content;
}
.table-wrap.content-list th,
.table-wrap.content-list td {
  white-space: nowrap;
}

@media (max-width: 768px) {
  .header-clock {
    display: flex;
    flex: 1 0 100%;
    order: 8;
    justify-content: flex-start;
    margin-top: 2px;
    padding-top: 6px;
    border-top: 1px solid #e4d3ae;
    color: #6d5a32;
    font-size: 12px;
    font-weight: 700;
    white-space: normal;
  }
  .topbar-end { align-items: center; }
  .jump-nav { display: none !important; }
  .content { padding: 12px; }
  .dash-desk { display: none; }
  .m-home { display: flex; flex-direction: column; gap: 12px; }
  .m-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .m-stat {
    background: #fff;
    border: 1px solid #e6dccb;
    border-radius: 14px;
    border-top: 3px solid #b8893a;
    padding: 10px 12px 12px;
    min-width: 0;
  }
  .m-stat span {
    display: block;
    color: #667066;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .m-stat strong {
    display: block;
    margin-top: 4px;
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
  }
  .m-stat.sale { border-top-color: #17643f; }
  .m-stat.purchase { border-top-color: #8c3418; }
  .m-stat.m-receipt { border-top-color: #1d5fa8; }
  .m-stat.m-pay { border-top-color: #c47a12; }
  .m-stat.due { border-top-color: #243028; }
  .m-stat.wide {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid #e6dccb;
    border-left: 3px solid #243028;
    background: #fffdf8;
    padding: 12px;
  }
  .m-stat.wide strong { margin-top: 0; font-size: 20px; }
  .m-card {
    background: #fff;
    border: 1px solid #e6dccb;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(36, 48, 40, 0.06);
  }
  .m-card > h2,
  .m-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0;
    min-height: 42px;
    padding: 8px 12px;
    background: #243028;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
  }
  .m-card > header h2 { margin: 0; font-size: 15px; font-weight: 700; color: #fff; }
  .m-card > header a {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 8px;
    padding: 4px 8px;
  }
  .m-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px; }
  .m-actions a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 52px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #e6dccb;
    background: #fbf8f3;
    color: #243028;
    text-decoration: none;
    font-weight: 700;
  }
  .m-actions a span { color: #b8893a; font-size: 20px; line-height: 1; }
  .m-actions a.wide { grid-column: 1 / -1; background: #243028; color: #f6f0e6; border-color: #243028; }
  .m-actions a.wide span { color: #d6b56a; }
  .m-empty { margin: 0; padding: 18px 12px; text-align: center; color: #667066; }
  .m-bills { list-style: none; margin: 0; padding: 0; }
  .m-bills li {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-top: 1px solid #f0e8db;
  }
  .m-bills strong { display: block; font-size: 14px; }
  .m-bills em { display: block; margin-top: 2px; font-style: normal; color: #667066; font-size: 12px; }
  .m-bills b { font-variant-numeric: tabular-nums; white-space: nowrap; }
}
dialog.vpf-wait {
  margin: auto;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
  color: #243028;
}
dialog.vpf-wait::backdrop {
  background: rgba(36, 48, 40, .28);
}
.vpf-wait-card {
  min-width: 168px;
  padding: 22px 28px 18px;
  border-radius: 18px;
  background: #fbf7f0;
  border: 1px solid #e4d3ae;
  box-shadow: 0 18px 40px rgba(22, 22, 22, .18);
  text-align: center;
}
.vpf-spin {
  width: 46px;
  height: 46px;
  margin: 0 auto 12px;
  border-radius: 50%;
  border: 4px solid #e4d3ae;
  border-top-color: #8a6a2f;
  animation: vpf-spin .7s linear infinite;
}
.vpf-wait-card p {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
}
@keyframes vpf-spin { to { transform: rotate(360deg); } }
.pur:has(.reg-lines) { max-width: none; }
.pur-sheet:has(.reg-lines) { width: max-content; max-width: none; overflow: visible; }
.table-wrap.reg-lines { width: max-content; max-width: none; max-height: none; overflow: visible; }
.reg-lines table { width: max-content; }
.reg-lines th,
.reg-lines td { white-space: nowrap; }
.reg-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
  padding: 8px 14px;
  background: #fbf7f0;
  color: #243028;
  border-bottom: 1px solid #e4d3ae;
  font-size: 13px;
}
.reg-head strong { font-size: 14px; }
.reg-dates b { font-variant-numeric: tabular-nums; }
.reg-filters { color: #6d6458; }
.bill-sheet { display: none; }
@media print {
  dialog.vpf-wait, dialog.pur-dialog { display: none !important; }
  .reg-lines, .pur-lines, .pur-sheet, .pur { max-height: none !important; overflow: visible !important; max-width: none !important; }
  .reg-lines table, .pur-lines table { min-width: 0 !important; }
  body:has(.bill-sheet) .print-header,
  body:has(.bill-sheet) .pur-sheet { display: none !important; }
  .bill-sheet {
    display: block;
    color: #000;
    font-family: "Times New Roman", Times, serif;
    font-size: 11pt;
  }
  .bill-firm { text-align: center; margin-bottom: 12px; }
  .bill-firm h1 { margin: 0; font-size: 16pt; letter-spacing: .04em; }
  .bill-firm p { margin: 2px 0; }
  .bill-kind { margin-top: 8px !important; font-size: 13pt; font-weight: 700; text-transform: uppercase; }
  .bill-meta { display: flex; justify-content: space-between; gap: 24px; margin: 8px 0 12px; }
  .bill-meta strong, .bill-meta span { display: block; }
  .bill-nos { text-align: right; }
  .bill-grid { width: 100%; border-collapse: collapse; }
  .bill-grid th, .bill-grid td { border-bottom: 1px solid #000; padding: 3px 6px; text-align: left; vertical-align: top; }
  .bill-grid th { border-top: 1px solid #000; font-size: 10pt; }
  .bill-grid .num, .bill-totals, .bill-amt { font-variant-numeric: tabular-nums; }
  .bill-grid .num { text-align: right; }
  .bill-grid small { display: block; font-size: 9pt; }
  .bill-totals { display: flex; justify-content: flex-end; gap: 22px; margin-top: 8px; font-weight: 700; }
  .bill-amt { font-size: 14pt; font-weight: 700; }
  .bill-words { margin: 10px 0; font-style: italic; }
  .bill-line { display: flex; gap: 12px; margin: 4px 0; }
  .bill-line span { min-width: 90px; }
  .bill-sign { margin-top: 36px; text-align: right; }
  .bill-sign span { display: block; }
}
@page a4 {
  size: A4 portrait;
  margin: 12mm 10mm 14mm;
}
@page a4land {
  size: A4 landscape;
  margin: 10mm 8mm 12mm;
}
body.a4-report { page: a4; }
body.a4-land { page: a4land; }
@media print {
  body.a4-report { background: #fff; color: #000; }
  body.a4-report .print-place { display: none !important; }
  body.a4-report .print-header {
    margin: 0 0 8px;
    padding-bottom: 6px;
    border-bottom: 1.5px solid #000;
    font-family: "Times New Roman", Times, serif;
    color: #000;
  }
  body.a4-report .print-hospital { font-size: 16pt; letter-spacing: .04em; }
  body.a4-report .print-screen { margin-top: 2px; font-size: 13pt; font-weight: 700; }
  body.a4-report:has(.reg-head) .print-screen { display: none !important; }
  body.a4-report .report-period,
  body.a4-report .lede { margin: 4px 0 8px; text-align: center; font-size: 10pt; color: #000; }
  body.a4-report .report-caption { margin: 0 0 4px; font-size: 13pt; font-family: "Times New Roman", Times, serif; }
  body.a4-report .pur, body.a4-report .pur-sheet, body.a4-report .content { max-width: none; }
  body.a4-report .pur-sheet {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
    overflow: visible;
  }
  body.a4-report .reg-head {
    display: block;
    padding: 8px 0 6px;
    background: transparent;
    border: 0;
    text-align: center;
    color: #000;
    font-family: "Times New Roman", Times, serif;
  }
  body.a4-report .reg-head strong { display: block; font-size: 14pt; }
  body.a4-report .reg-kind, body.a4-report .reg-dates, body.a4-report .reg-filters { display: block; font-size: 10pt; }
  body.a4-report .table-wrap,
  body.a4-report .reg-lines,
  body.a4-report .pro-table { overflow: visible; max-height: none; background: #fff; }
  body.a4-report .pro-table table,
  body.a4-report .reg-lines table { width: 100%; min-width: 0; border-collapse: collapse; font-size: 9pt; }
  body.a4-report .pro-table th,
  body.a4-report .pro-table td,
  body.a4-report .reg-lines th,
  body.a4-report .reg-lines td {
    background: #fff !important;
    color: #000 !important;
    border: 0;
    border-bottom: 1px solid #000;
    padding: 3px 4px;
    position: static;
  }
  body.a4-report .reg-lines th,
  body.a4-report .reg-lines td { border: 1px solid #000; }
  body.a4-report .pro-table thead,
  body.a4-report .reg-lines thead { display: table-header-group; }
  body.a4-report .pro-table thead th,
  body.a4-report .reg-lines thead th { border-top: 1px solid #000; border-bottom: 1.5px solid #000; font-size: 8.5pt; }
  body.a4-report .reg-lines thead th { border: 1px solid #000; }
  body.a4-report tr { break-inside: avoid; }
  body.a4-report tr.total-row td,
  body.a4-report tr.section-row td { font-weight: 700; background: #fff !important; }
  body.a4-report .pur-totals {
    width: 100%;
    max-width: none;
    margin: 8px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    display: flex;
    justify-content: flex-end;
    gap: 22px;
  }
  body.a4-report .pur-totals div {
    border: 0;
    padding: 0;
    background: transparent;
    font-weight: 700;
  }
}
@page reg {
  size: A4 portrait;
  margin: 12mm 10mm 16mm;
  @bottom-right {
    content: "Pages " counter(page) " of " counter(pages);
    font-size: 9pt;
    font-family: "Segoe UI", sans-serif;
    color: #243028;
  }
}
body.reg-print { page: reg; }
@media print {
  body.reg-print .print-header,
  body.reg-print .reg-head,
  body.reg-print dialog { display: none !important; }
  body.reg-print .reg-print-head {
    display: block !important;
    margin: 0 0 10px;
    text-align: center;
    color: #000;
  }
  body.reg-print .reg-print-head strong { display: block; font-size: 16pt; letter-spacing: .03em; }
  body.reg-print .reg-print-head span { display: block; margin-top: 2px; font-size: 11pt; }
  body.reg-print .shell,
  body.reg-print .main { display: block; height: auto; overflow: visible; background: #fff; }
  body.reg-print .content {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;
    overflow: visible;
    background: #fff;
    padding: 0;
    max-width: none;
  }
  body.reg-print .pur,
  body.reg-print .pur-sheet {
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    background: #fff;
  }
  body.reg-print .reg-head {
    background: #fbf7f0 !important;
    color: #243028 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  body.reg-print .reg-lines {
    max-height: none !important;
    overflow: visible !important;
    border: 0;
    border-radius: 0;
  }
  body.reg-print .reg-lines,
  body.reg-print .reg-lines table {
    width: max-content;
    max-width: 100%;
  }
  body.reg-print .reg-lines table {
    display: table !important;
    border-collapse: collapse;
  }
  body.reg-print .reg-lines thead { display: table-header-group !important; }
  body.reg-print .reg-lines tbody { display: table-row-group !important; }
  body.reg-print .reg-lines tr {
    display: table-row !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent;
  }
  body.reg-print .reg-lines th,
  body.reg-print .reg-lines td {
    display: table-cell !important;
    border: 1px solid #d9d0c2;
    padding: 6px 8px;
    position: static;
    text-align: left;
    white-space: normal;
  }
  body.reg-print .reg-lines th.num,
  body.reg-print .reg-lines td.num { text-align: right; white-space: nowrap; }
  body.reg-print .reg-lines td::before,
  body.reg-print .reg-lines th::before { content: none !important; }
  body.reg-print .reg-lines thead { display: table-header-group; }
  body.reg-print .reg-lines thead th {
    background: #1c2822 !important;
    color: #f6f0e6 !important;
    border-color: #1c2822;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  body.reg-print tr { break-inside: avoid; }
  body.reg-print tr.total-row td,
  body.reg-print tr.section-row td {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
