/* The printed invoice. Self-contained: inlined into the PDF, and scoped under .invoice-doc for the preview. */
.invoice-doc {
  --doc-text: #1b1f24;
  --doc-muted: #5b6470;
  --doc-rule: #d0d5db;
  color: var(--doc-text);
  background: #fff;
  font-family: var(--doc-font, "Helvetica Neue", Helvetica, Arial, "Liberation Sans", "DejaVu Sans", sans-serif);
  font-size: 10pt;
  line-height: 1.45;
}

.invoice-doc h1, .invoice-doc h2, .invoice-doc p { margin: 0; }
.invoice-doc address { font-style: normal; }

/* The business's design (InvoiceDesign) sets --doc-font, --doc-title-font, --doc-number-font, --doc-accent and
   --doc-logo-height on the article. */
.invoice-doc__logo { display: block; max-height: var(--doc-logo-height, 52px); max-width: 260px; margin-bottom: 20px; }
.invoice-doc--logo-center .invoice-doc__logo { margin-left: auto; margin-right: auto; }
.invoice-doc--logo-right .invoice-doc__logo { margin-left: auto; }

.invoice-doc__parties { display: flex; justify-content: space-between; gap: 32px; }
.invoice-doc__party { flex: 1; }
.invoice-doc__party--client { text-align: left; max-width: 45%; }
.invoice-doc__lines { white-space: pre-line; }
.invoice-doc__kpd { display: block; font-size: 0.85em; color: var(--doc-muted); }

.invoice-doc .invoice-doc__title { font-family: var(--doc-title-font, inherit); font-size: 18pt; font-weight: 700; margin: 40px 0 16px; color: var(--doc-accent, var(--doc-text)); }

.invoice-doc__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 32px; margin: 0 0 32px; }
.invoice-doc__meta dt { color: var(--doc-muted); }
.invoice-doc__meta dd { margin: 0; }

.invoice-doc__items { width: 100%; border-collapse: collapse; }
.invoice-doc__items th, .invoice-doc__items td { padding: 6px 8px; text-align: left; }
.invoice-doc__items thead th { border-bottom: 1px solid var(--doc-accent, var(--doc-text)); font-weight: 600; }
.invoice-doc__items tbody td { border-bottom: 1px solid var(--doc-rule); }
.invoice-doc__items tfoot th { text-align: right; font-weight: 400; color: var(--doc-muted); }
.invoice-doc__items tfoot tr:first-child > * { padding-top: 12px; }
.invoice-doc__total > * { font-weight: 700 !important; color: var(--doc-accent, var(--doc-text)) !important; border-top: 1px solid var(--doc-accent, var(--doc-text)); }
.invoice-doc__num { text-align: right !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
/* Amounts, quantities and dates */
td.invoice-doc__num, .invoice-doc__figure { font-family: var(--doc-number-font, inherit); }

.invoice-doc__note { margin-top: 28px !important; }
.invoice-doc__payment { margin-top: 28px; }
.invoice-doc__payment h2 { font-family: var(--doc-title-font, inherit); font-size: 10pt; font-weight: 700; margin-bottom: 6px; color: var(--doc-accent, var(--doc-text)); }

/* On-screen preview: a sheet of paper */
.invoice-sheet { background: #fff; color: #1b1f24; max-width: 210mm; padding: 15mm; border: 1px solid var(--color-border, #dde1e6); border-radius: 4px; box-shadow: 0 2px 8px rgb(16 24 40 / 0.08); margin-bottom: 24px; overflow-x: auto; }
