.billing-document-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--ns-border); padding: 1rem 0; }
[data-invoice-detail], [data-statement-detail], [data-finance-invoice] { min-width: 0; max-width: 100%; }
.billing-document { min-width: 0; max-width: 56rem; margin: 1rem auto; background: var(--ns-surface); color: var(--ns-text); padding: clamp(1rem, 4vw, 3rem); border: 1px solid var(--ns-border); overflow-wrap: anywhere; }
.billing-document p { white-space: pre-wrap; overflow-wrap: anywhere; }
.billing-document-parties { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)); gap: 2rem; margin: 2rem 0; }
.billing-document-parties > section { min-width: 0; }
.billing-document-test { font-weight: 700; border: 1px solid var(--ns-warning); padding: .75rem; }
.billing-document-number { font-size: 1.2rem; font-weight: 700; }
.billing-document-totals { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem clamp(.5rem, 4vw, 2rem); margin: 1.5rem 0; }
.billing-document-totals dd { text-align: end; }
.billing-document-lines { width: 100%; min-width: 32rem; border-collapse: collapse; overflow-wrap: normal; }
.billing-document-lines-wrap { min-width: 0; max-width: 100%; overflow-x: auto; }
.billing-document-lines-wrap:focus-visible { outline: 2px solid var(--ns-primary); outline-offset: 3px; }
.billing-document-lines td, .billing-document-lines th { padding: .75rem; border-bottom: 1px solid var(--ns-border); text-align: start; }
@media print {
  body * { visibility: hidden !important; }
  .billing-document, .billing-document * { visibility: visible !important; }
  .billing-document { position: absolute; inset: 0 auto auto 0; width: 100%; max-width: none; border: 0; padding: 0; margin: 0; box-shadow: none; }
  .billing-document tr { break-inside: avoid; }
  .billing-document thead { display: table-header-group; }
  .billing-document-lines-wrap { overflow: visible; }
  .billing-document-lines { min-width: 0; table-layout: fixed; }
  .billing-document-lines td, .billing-document-lines th { white-space: normal; overflow-wrap: anywhere; }
}
