body { font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; color: #222; }
.navbar-brand { font-weight: 600; }

/* PDF styles */
body.pdf { margin: 24px; color: #111; }
.pdf-header { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #eee; padding-bottom:8px; margin-bottom:12px; }
.pdf-header h1 { margin:0; font-size:20px; }
.pdf .meta { color:#666; font-size:12px }
.client { margin-bottom:14px; font-size:13px }
.items table { width:100%; border-collapse:collapse; }
.items th { text-align:left; padding:6px 4px; border-bottom:1px solid #eee; color:#444; }
.items td { padding:8px 4px; border-bottom:1px dashed #f0f0f0; }
.items td.text-right { text-align:right; }
.pdf-footer { margin-top:18px; display:flex; justify-content:flex-end; }
.pdf-footer .totals { text-align:right; font-size:14px; }

/* invoice item table UI tweaks */
#items-table input { width:100%; }
#items-table td { vertical-align: middle; }

/* Corporate PDF styles */
.pdf.corporate { background: #fff; color: #111; }
.pdf-wrap { max-width: 780px; margin: 0 auto; padding: 16px; font-family: 'Helvetica Neue', Arial, sans-serif; box-sizing: border-box; overflow: hidden; }
.corporate-header { display:flex; justify-content:space-between; align-items:flex-start; border-bottom:2px solid #e6e6e6; padding-bottom:12px; margin-bottom:18px; }
.brand { display:flex; gap:12px; align-items:center; }
.logo { width:100px; height:auto }
.company { margin:0; font-size:18px; color:#111 }
.company-meta { font-size:11px; color:#666 }
.invoice-meta { text-align:right; font-size:13px; }
.invoice-meta .label { font-weight:600; color:#444 }
.invoice-meta .number { font-size:16px; margin-top:6px }
.invoice-meta .date, .invoice-meta .status { font-size:12px; color:#666 }

.client-box { border:1px solid #f0f0f0; padding:12px; margin-bottom:14px; border-radius:6px; background:#fbfbfb }
.client-title { font-weight:700; margin-bottom:6px }
.client-data .client-name { font-weight:600 }

.corporate-items table { width:100%; border-collapse:collapse; table-layout: fixed; }
.corporate-items th { text-align:left; padding:8px; border-bottom:1px solid #eaeaea; color:#333; font-size:12px }
.corporate-items td { padding:10px 8px; border-bottom:1px solid #f6f6f6; font-size:12px; word-break: break-word; white-space: normal }
.corporate-items td.text-right { text-align:right }

/* Totals: keep block inside page and right-aligned without pushing overflow */
.corporate-totals { display:block; text-align:right; margin-top:14px; box-sizing: border-box; max-width:100%; }
.corporate-totals > div { display:inline-block; min-width:200px; max-width:100%; vertical-align: top; }
.corporate-totals .tot-row { display:flex; justify-content:space-between; width:320px; max-width:100%; padding:4px 0; box-sizing: border-box; }
.corporate-totals .large { font-weight:700; font-size:16px }

.footer-corporate { display:flex; justify-content:space-between; align-items:center; margin-top:28px }
.signature { text-align:center }
.sig-line { margin-bottom:6px }
.sig-caption { font-size:12px; color:#666 }

@media print {
	.pdf-wrap { padding:12px }
	/* define page size and margins for printing/PDF engines */
	@page { size: A4 portrait; margin: 18mm; }
}

/* apply universal box-sizing to avoid unexpected width calculations */
*, *:before, *:after { box-sizing: border-box }


/* small ui tweaks */
.container { max-width: 980px; }
