/* Original build 4986: REA ev_cca6439a..., viewport 1422 x 704. */
input[type='checkbox'], input[type='radio'] { width:18px; height:18px; min-width:18px; min-height:18px;
  flex:0 0 18px; padding:0; vertical-align:middle; }
.data-grid input[type='checkbox'], .data-grid input[type='radio'] {
  appearance:auto; width:18px; height:18px; min-width:18px; min-height:18px;
  max-width:18px; max-height:18px; padding:0; margin:0; display:inline-block;
}
.data-grid td:has(> input[type='checkbox']), .data-grid th:has(> input[type='checkbox']) {
  width:40px; text-align:left!important; padding-left:12px;
}
.payroll-getfrom .data-grid th:first-child, .payroll-getfrom .data-grid td:first-child { width:40px; }
.acc-metro-list::before { content: '\e12e'; }
.acc-metro-pencil::before { content: '\e002'; }
.lookup-search svg, .date-trigger svg { display: none; }
.lookup-search::before, .date-trigger::before {
  font-family: 'bc-glyphs';
  font-size: 15px;
  line-height: 1;
  color: #0d1d3d;
}
.lookup-search::before { content: '\e041'; }
.date-trigger::before { content: '\e020'; font-size: 14px; }
.lookup:focus-within, input:focus, textarea:focus, select:focus {
  border-color: #6b97e4;
  box-shadow: inset 0 1px 1px #00000013, 0 0 8px #6b97e499;
  outline: 0;
}
.lookup > input:focus { box-shadow: none; }
.lookup {
  flex-wrap: nowrap;
  height: 34px;
  min-height: 34px;
  padding: 2px 28px 2px 3px;
  border: 1px solid #b7bbc3;
  border-radius: 8px;
  background: #fff;
}
.lookup > input[hidden] { display: none !important; }
.lookup-chips {
  display: flex; align-items: center; min-width: 0; max-width: 100%; flex: 0 1 auto;
}
.lookup-chip {
  position: relative; display: inline-flex; align-items: center;
  gap: 3px; max-width: 100%; height: 26px;
  padding: 2px 3px 2px 5px; margin: 0 5px 0 0;
  background: #ebeff7; border: 1px solid #638deb;
  border-radius: 6px; color: #000; font-size: 13px; line-height: 18px;
}
.lookup-chip .lookup-record-link,
.lookup-chip .lookup-record-link:hover {
  font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif ; font-size: 13px; font-weight: 400;
  line-height: 18px; color: #000; padding: 0; margin: 0;
  min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  text-decoration: none; background: transparent;
}
.lookup-chip > button:not(.lookup-record-link) {
  flex: 0 0 15px; height: 18px; min-height: 18px; width: 15px;
  padding: 0; margin: 0; border: 0; background: transparent;
  color: #4a4d54; font-size: 0; line-height: 18px;
}
.lookup-chip > button:not(.lookup-record-link)::before {
  content: '\e089'; font-family: 'bc-glyphs'; font-size: 12px;
}
.multi-lookup-chips .lookup-chip > span { font-size: 13px; line-height: 18px; }
.list-toggle[aria-pressed='true'] {
  color: #0a111e; background: #f8fafe;
  border: 1px solid #a6aab2; border-bottom-color: #f8fafe;
}
.list-toggle[aria-pressed='false'] { color: #fff; background: #205af7; }
.history-filter { position: relative; padding: 8px 25px 8px 10px; white-space: nowrap; }
.history-filter-chevron { position: absolute; right: 10px; top: 50%;
  width: 5px; height: 5px; border-right: 1px solid #0a111e; border-bottom: 1px solid #0a111e;
  transform: translateY(-70%) rotate(45deg); pointer-events: none;
}
.grid-controls .item-count { font-size: 22px; font-weight: 400; color: #000; }
.data-grid th { font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif ; font-size: 14px; font-weight: 400; }
.data-grid td { color: #000; }
.data-grid .empty td { height: 40px; font-size: 15px; }
.history-grid .data-grid td { font-size: 15px; }
.history-grid .data-grid th[aria-sort]::before {
  content: ''; width: 0; height: 0; border-left: 4px solid transparent;
  border-right: 4px solid transparent; border-bottom: 4px solid #a6aab2;
  position: absolute; left: 11px; top: 11px; float: none;
}
.history-grid .data-grid th[aria-sort]::after {
  content: ''; width: 0; height: 0; border-left: 4px solid transparent;
  border-right: 4px solid transparent; border-top: 4px solid #a6aab2;
  position: absolute; left: 11px; top: 17px;
}
.history-grid .data-grid th[aria-sort='ascending']::before { border-bottom-color: #fff; }
.history-grid .data-grid th[aria-sort='descending']::after { border-top-color: #fff; }
.history-add-filter { position: relative; width: 48px; height: 34px; }
.history-add-filter::before { font-family: 'bc-icons'; content: '\e955'; position: absolute;
  left: 12px; top: 50%; transform: translateY(-50%); font-size: 13px; }
.history-add-filter::after { content: ''; position: absolute; right: 10px; top: 50%;
  width: 5px; height: 5px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
  transform: translateY(-70%) rotate(45deg); }
.grid-controls .lookup { max-width: 377px; }
.content-card { background: #f8fafe; box-shadow: 0 1px 2px rgba(16, 29, 66, 0.06), 0 2px 8px rgba(16, 29, 66, 0.06) ; }
.content-card > .detail-grid { background: #fff; }
.source-header-right .source-number-field { grid-template-columns: 104px minmax(0, 1fr); }
.source-header-right select, .invoice-header-right select { font-size: 14px; }
.required { color: red; margin-left: 3px; }
.master-page > .horizontal-tabs button.active { color: #000; font-weight: 600; }
.account-page > .horizontal-tabs { margin-top: 0; padding-top: 4px; padding-left: 12px; }
.account-page .coa-section { padding-top: 18px; }
.account-page .coa-example { margin-left: 202px; margin-top: -7px; line-height: 17px; }
.account-page .coa-section .field:has(.lookup) { min-height: 34px; }
.source-header-left .field:has([name='transactionTypeDisplay']) input {
  max-width: 288px; background: #f5f7fb; color: #62666d;
}
.transaction-page .data-grid .row-delete { opacity: 0; }
.transaction-page .data-grid tr:hover .row-delete,
.transaction-page .data-grid tr:focus-within .row-delete { opacity: 1; }
.transaction-page .action-rail { top: 3px; }
.transaction-page .body-panel .side-tabs { padding-top: 0; }
.transaction-page .side-tabs button { height: 39px; }
.view[data-module='other-payment'] .detail-grid col[data-grid-column='Account:1'],
.view[data-module='other-deposit'] .detail-grid col[data-grid-column='Account:1'] { width: 102px !important; }
.view[data-module='other-payment'] .detail-grid col[data-grid-column='Account Name:2'],
.view[data-module='other-deposit'] .detail-grid col[data-grid-column='Account Name:2'] { width: auto !important; }
.view[data-module='other-payment'] .detail-grid col[data-grid-column='Amount:3'],
.view[data-module='other-deposit'] .detail-grid col[data-grid-column='Amount:3'] { width: 45% !important; }
#modal .dialog-head { height: 37px; padding: 8px 16px; background: #13275a; font-size: 14px; }
#modal .dialog-head button { width: 28px; font-size: 24px; line-height: 20px; }
#modal .dialog-foot { background: #f8fafe; }
#modal:has(.accurate-payment-detail) { background: #f8fafe; }
#modal:has(.accurate-payment-detail) .dialog-head > span::before {
  font-family: 'bc-glyphs'; content: '\e002'; font-size: 16px;
}
#modal:has(.accurate-payment-detail) .dialog-head { padding: 8px 16px; }
#modal:has(.accurate-payment-detail) .dialog-body { padding: 10px; }
.accurate-payment-detail .payment-detail-section { min-height: 250px; padding: 10px; }
.accurate-payment-detail .field, .payment-account-row {
  grid-template-columns: 160px minmax(0, 1fr); font-size: 15px;
}
.accurate-payment-detail .payment-account-row { min-height: 33px; margin-bottom: 10px; }
.accurate-payment-detail input, .accurate-payment-detail textarea { border-color: #b5b9c1; }
.accurate-payment-detail .field input { min-height: 34px; height: 34px; font-size: 16px; padding: 5px; }
.accurate-payment-detail .payment-paid-to input { padding-right: 30px; }
.accurate-payment-detail .payment-amount input { padding-left: 30px; text-align: right; }
.accurate-payment-detail .field textarea { height: 70px; min-height: 70px; padding: 6px; }
.accurate-payment-detail .field:has(textarea) { align-items: start; }
.accurate-payment-detail .field:has(textarea) > label { padding-top: 6px; }
.accurate-payment-detail .payroll-document-reference {
  display: block; width: 100%; min-height: 37px; padding: 7px 9px;
  border: 1px solid #1d58f5; border-radius: 6px; background: #eff3f9;
  color: #1742b2; font-size: 15px; text-align: left; text-decoration: none;
}
.accurate-payment-detail .payroll-document-reference:hover { background: #e0f3db; }
#modal:has(.accurate-payment-detail) .dialog-foot .outline {
  margin-right: auto; border: 1px solid #2453d7; background: #fff; color: #2554cb;
}
.payment-currency { left: 171px; top: 1px; bottom: 1px; padding: 7px 5px 0 8px;
  border-right: 1px solid #eaeef7; background: #f1f3f7; border-radius: 6px 0 0 6px;
  font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif ; font-size: 12px; color: #7c8088; }
.payment-detail-tabs button { font-size: 15px; padding: 10px 15px 9px; }
#modal:has(.accurate-payment-detail) .dialog-foot { padding: 10px 10px 14px; }
#modal:has(.accurate-payment-detail) .dialog-foot button { min-width: 76px; height: 40px;
  font-size: 18px; padding: 7px 14px; background: #1e3ea0; }
@media (min-width: 1000px) {
  .modulebar { height: 42px; padding-top: 0; }
  .source-document-header { padding-top: 4px; }
  .source-document-header, .invoice-header-exact { padding-left: 77px; }
  .source-header-left .field, .invoice-header-left .field {
    grid-template-columns: 126px minmax(160px, 400px);
  }
  .source-header-left .accurate-date, .invoice-header-left .accurate-date { max-width: 162px; }
  .source-header-right { width: 365px; }
  .partner-general .field { grid-template-columns: 30% minmax(0, 1fr); }
  .partner-general .number-controls { margin-left: -43px; width: calc(100% + 43px); gap: 13px; }
  .partner-general .number-controls > select { flex: none; width: min(290px, calc(100% - 43px)); }
  .partner-general .number-controls > input:not([type='checkbox']) { flex: none; width: min(290px, calc(100% - 43px)); }
  .item-form-card { margin-top: -2px; margin-right: 9px; min-height: calc(100vh - 176px); }
  .item-form-card .field { margin-top: 9px; margin-bottom: 9px; }
  .item-form-card input, .item-form-card select, .item-form-card .lookup { height: 34px; min-height: 34px; }
  .item-form-card .field > label { font-size: 15px; }
  /* Toggle sits in the label gutter so the select/input starts on the same edge as the other fields. */
  .item-form-card .number-controls { position: relative; margin-left: 0; width: 100%; }
  .item-form-card .number-controls > input[type='checkbox'] { position: absolute; left: -39px; top: 50%; transform: translateY(-50%); }
  .item-form-card .number-controls > select,
  .item-form-card .number-controls > input:not([type='checkbox']) { flex: none; width: min(320px, 100%); }
  .partner-general .field input, .partner-general .field select, .partner-general textarea { font-size: 16px; }
  .coa-section .field { grid-template-columns: 170px minmax(0, 341px); }
  .coa-section .field label { font-size: 15px; }
  .view[data-module='purchase-invoice'] .invoice-header-tools {
    flex-direction: column; align-items: flex-end; gap: 0;
  }
  .bank-transfer-columns .field { grid-template-columns: 188px minmax(0, 1fr); }
  .bank-transfer-columns .field:has([name='fromBankAmount']) > input { max-width: 184px; }
  .view[data-module='journal-voucher'] .source-document-header { padding-left: 67px; }
  .view[data-module='journal-voucher'] .source-header-left .field { grid-template-columns: 172px minmax(160px, 400px); }
}
@media (max-width: 600px) {
  .accurate-payment-detail .field, .payment-account-row { grid-template-columns: 100px minmax(0, 1fr); }
  .payment-currency { left: 111px; }
  .payment-detail-tabs button { padding-left: 8px; padding-right: 8px; font-size: 14px; }
}

/* Item detail grid as in the original: plain values, count tools with a find magnifier, no delete column. */
.grid-controls .grid-count-tools { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.grid-controls .grid-find { width: 34px; height: 34px; border: 1px solid #2a53ae; border-radius: 6px; background: #fff; color: #2a53ae; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.grid-controls .grid-line-search { height: 32px; width: 180px; border: 1px solid #b7bbc3; border-radius: 6px; padding: 0 8px; }
.detail-grid .grid-value { display: block; }
.detail-grid .grid-value.num { text-align: right; }
.detail-grid th .sort-glyph { float: left; color: #d3d7df; font-size: 11px; }
/* Status History timeline and Activity Log dialogs (transaction Others menu). */
#modal:has(.status-history), #modal:has(.activity-log) { width: 660px; max-width: calc(100vw - 24px); }
#modal:has(.activity-log) { width: 490px; }
#modal:has(.status-history) .dialog-head, #modal:has(.activity-log) .dialog-head, #modal:has(.recurring-dialog) .dialog-head { background: #15295a; color: #fff; }
#modal:has(.status-history) .dialog-foot, #modal:has(.activity-log) .dialog-foot { display: none; }
.status-history { padding: 18px 20px 30px; min-height: 260px; }
.status-node { display: grid; grid-template-columns: 170px 24px minmax(0, 1fr); gap: 14px; position: relative; min-height: 74px; }
.status-node:not(:last-child)::after { content: ''; position: absolute; left: 195px; top: 26px; bottom: -2px; width: 2px; background: #c8ccd4; }
.status-when b { display: block; font-weight: 400; font-size: 16px; }
.status-when small { font-size: 13px; }
.status-dot { width: 24px; height: 24px; box-sizing: border-box; border-radius: 50%; border: 3px solid #2254d2; background: radial-gradient(circle, #2254d2 0 5px, #fff 6px); }
.status-node.pending .status-dot { border-color: #a6aab2; background: #fff; }
.status-text b { display: block; font-size: 17px; }
.status-text small { display: block; font-size: 13px; margin-top: 4px; }
.status-node.pending .status-text b { color: #a6aab2; }
.activity-log { min-height: 180px; padding: 4px 6px 20px; }
.activity-item { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 10px 6px; border-bottom: 1px solid #dfe3eb; }
.activity-avatar { width: 44px; height: 44px; border-radius: 50%; background: #dee2ea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23bbb'%3E%3Ccircle cx='12' cy='9' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7z'/%3E%3C/svg%3E") center / 26px no-repeat; }
.activity-who b { display: block; font-size: 16px; }
.activity-who small { font-size: 13px; }
.activity-when { align-self: end; font-size: 13px; }
.recurring-dialog { display: flex; flex-direction: column; gap: 4px; min-width: 330px; }
.recurring-dialog .recurring-category input { padding-right: 28px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='3'%3E%3Ccircle cx='10' cy='10' r='6'/%3E%3Cpath d='M15 15l6 6'/%3E%3C/svg%3E") right 8px center / 14px no-repeat; }
.recurring-dialog input[name=repeatCount] { width: 52px; text-align: right; }

/* Customer / Supplier tabs: Contact, Purchase, Tax, Payable Balance, Others. */
.partner-group { margin-bottom: 18px; max-width: 760px; }
.partner-group > h2 { font-size: 15px; font-weight: 600; margin: 4px 0 10px; color: #222c3f; }
.partner-rows { display: flex; flex-direction: column; gap: 8px; }
.partner-rows .partner-add { align-self: flex-start; min-width: 34px; height: 30px; background: #3f75ed; color: #fff; border: 0; border-radius: 6px; font-weight: 700; }
.partner-note { color: #e74c3c; font-size: 12px; margin: 4px 0 0; }
.field .checkbox-caption { font-weight: normal; margin-left: 6px; color: #31405a; }

/* Vendor Transfer (Multi-Vendor Transfer) */
.vendor-transfer-page { display: flex; flex-direction: column; gap: 10px; padding: 12px 16px; }
.vendor-transfer-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.vendor-transfer-bar select, .vendor-transfer-bar input[type=search] { height: 32px; }
.vendor-transfer-spacer { flex: 1; }
.vendor-transfer-empty { padding: 60px 0; text-align: center; color: #858991; }
.vendor-transfer-body .number { text-align: right; }
.vendor-transfer-unpaid { color: #e48017; }
.vendor-transfer-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; border-top: 1px solid #e3e8f0; padding-top: 10px; }
.vendor-transfer-total { margin-right: auto; font-weight: 600; color: #222c3f; }
