/* Header and footer geometry measured against the running Sales Invoice form. */
@media (min-width: 1000px) {
  .view[data-module='sales-invoice'] .invoice-header-exact {
    padding-left: calc((100vw - 55px) * .055);
  }
  .view[data-module='sales-invoice'] .invoice-header-left .field {
    grid-template-columns: calc((100vw - 55px) * .094) calc((100vw - 55px) * .292);
    gap: calc((100vw - 55px) * .0078);
  }
  .view[data-module='sales-invoice'] .invoice-header-left .field:has(.invoice-currency:not([hidden])) {
    grid-template-columns: calc((100vw - 55px) * .094) calc((100vw - 55px) * .292) calc((100vw - 55px) * .089);
  }
  .view[data-module='sales-invoice'] .invoice-header-left .invoice-currency {
    grid-column: 3; grid-row: 1; margin: 0 0 0 10px; width: 100%; height: 34px;
  }
  .view[data-module='sales-invoice'] .invoice-header-left .accurate-date {
    max-width: calc((100vw - 55px) * .1185);
  }
  .view[data-module='sales-invoice'] .form-page > .totals {
    margin: 10px 14.5px 13.2px 43px;
  }
  .view[data-module='sales-invoice'] .document-total-box {
    width: 49%; min-width: 0; min-height: 80px; height: 80px;
    flex-wrap: nowrap; padding: 7px;
  }
  .view[data-module='sales-invoice'] .document-total-cell {
    flex: 1 1 0; min-width: 0; padding: 3.2px 8px; gap: 0;
  }
  .view[data-module='sales-invoice'] .document-total-cell + .document-total-cell {
    margin-left: 2.1%;
  }
  .view[data-module='sales-invoice'] .document-total-cell > span,
  .view[data-module='sales-invoice'] .document-total-cell > div:first-child {
    font-size: 16px;
  }
  .view[data-module='sales-invoice'] .document-total-cell strong { font-size: 16px; }
  .view[data-module='sales-invoice'] .document-total-cell:not(.document-discount) {
    justify-content: flex-start;
  }
  .view[data-module='sales-invoice'] .document-total-cell:not(.document-discount) > span {
    min-height: 28.8px;
  }
  .view[data-module='sales-invoice'] .document-total-cell strong { line-height: 21px; }
  .view[data-module='sales-invoice'] .detail-grid { margin-top: 2px; }
  .view[data-module='sales-invoice'] .detail-grid tbody td { height: 41px; }
  .view[data-module='sales-invoice'] .detail-grid tbody tr:nth-child(even) { background:#f5f7fb; }
  .view[data-module='sales-invoice'] .detail-grid td:has(.line-total) { text-align:right; }
  .view[data-module='sales-invoice'] .grid-controls > .lookup { width: calc((100vw - 55px) * .279); }
  .view[data-module='sales-invoice'] .invoice-header-right { margin-right:5.5px; }
  .view[data-module='sales-invoice'] .existing-invoice-number .number-controls { margin-left:0; width:100%; }
}
.view[data-module='sales-invoice'] .existing-invoice-number .number-controls > input[type='checkbox'] { display:none; }
.document-discount-entry { display:flex; align-items:center; width:100%; height:34px; border:1px solid #bcc0c8; border-radius:4px; background:white; }
.document-discount-prefix { padding:0 8px; color:#848890; font-size:12px; }
.document-discount .document-discount-entry input { border:0; background:transparent; min-width:0; width:100%; height:32px; box-shadow:none; }
.document-discount .document-discount-calculator { flex:none; border:0; background:transparent; color:#0a111e; padding:0 5px; height:30px; font-size:17px; }
.accurate-calculator { position:fixed; z-index:1300; width:204px; padding:7px; background:#f8fafe; border:1px solid #9599a1; font:14px 'Plus Jakarta Sans', 'Segoe UI', sans-serif; }
.calculator-display { display:block; min-height:26px; padding:3px; border:1px solid #d9dde5; background:#eaeef7; text-align:right; overflow:hidden; }
.calculator-clear { display:flex; justify-content:center; gap:4px; margin:4px 0; }
.calculator-keys { display:grid; grid-template-columns:repeat(4,28px) 60px; gap:4px; }
.accurate-calculator button { height:22px; min-width:0; min-height:0; padding:0; border:0; border-radius:0; background:#d9dde5; font-size:14px; color:#51555c; }
.calculator-clear button,.calculator-keys button:nth-child(5n) { background:#1e3ea0; color:white; }
.calculator-clear button { padding:0 5px; }
.invoice-summary-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.invoice-summary-columns h3 { color:#3471fe; font-size:22px; font-weight:400; margin:0 0 5px; }
.invoice-summary-values { border:1px solid #a6aab2; border-radius:6px; padding:0 10px; }
.invoice-summary-values > div { display:flex; justify-content:space-between; align-items:center; min-height:36px; border-bottom:1px solid #caced6; }
.invoice-summary-values > div:last-child { border-bottom:0; }
.invoice-summary-values strong { font-weight:500; }
.invoice-summary-status { padding:3px 12px; border:1px solid #b4e7c5; background:#ecf1f9; color:#1b5; border-radius:6px; }
.invoice-history-entry { display:grid; grid-template-columns:1fr auto; gap:7px; border:1px solid #a6aab2; border-radius:6px; padding:9px; margin-bottom:7px; }
.invoice-history-entry button { text-align:left; padding:0; }
.invoice-history-entry small { grid-column:1/-1; font-size:11px; }
.invoice-history-entry:hover,.invoice-history-entry:focus-visible,
.payroll-payment-entry:hover,.payroll-payment-entry:focus-visible { background:#d8e6fe; transition:none; }
@media(max-width:700px){.invoice-summary-columns{grid-template-columns:1fr;}}

/* Payment status tag: only a paid invoice is green; unpaid / partially paid are amber. */
.invoice-summary-status,
.invoice-summary-status.unpaid,
.invoice-summary-status.partially_paid {
  padding: 3px 12px;
  border: 1px solid #f1d27a;
  background: #fff7dc;
  color: #8a5a00;
  border-radius: 6px;
  font-weight: 600;
}
.invoice-summary-status.paid {
  border-color: #b4e7c5;
  background: #e8f7ee;
  color: #15803d;
}
.order-summary-status { padding: 3px 10px; border: 1px solid #efd18a; background: #fff7df; color: #8a5a00; border-radius: 6px; white-space: nowrap; }
.order-summary-status.PROCEED { color: #237b48; background: #edf8f0; border-color: #b8ddc5; }
.order-summary-status.CLOSED,.order-summary-status.DRAFT { color: #5e6880; background: #f1f3f8; border-color: #d6dae6; }
.doc-record-fields .document-reference,.receipt-detail-dialog .document-reference { display: block; width: 100%; min-width: 0; padding: 7px 10px; border: 1px solid #c8d6f5; border-radius: 8px; text-align: left; color: #2350c8; background: #f0f4ff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.invoice-summary-columns > section { min-width: 0; }
.invoice-summary-values > div { gap: 14px; }
.invoice-summary-values strong { text-align: right; white-space: nowrap; }
.downpayment-usage-invoices { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 10px 12px; }
@media(max-width:520px) {
  .invoice-summary-values { padding: 0 8px; }
  .invoice-summary-values > div { gap: 8px; font-size: 12px; }
}
