/* Invoice document – used in the owner backend modal AND standalone in the print/PDF frame (owner.js printInvoice), so everything is scoped to .invoice and does not rely on owner.css. */
.invoice{--i-ink:#14171a;--i-ink2:#4a4f55;--i-mute:#6b7177;--i-line:#e6e3dd;--i-soft:#f6f4f0;--i-ok:#1f7a4d;
	background:#fff;color:var(--i-ink);font:13px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;border-radius:12px;padding:40px 44px;box-shadow:0 1px 3px rgba(0,0,0,.08);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.invoice *{box-sizing:border-box}
.invoice p{margin:0}
.inv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:22px;border-bottom:2px solid var(--i-ink)}
.inv-brand b{display:block;font:500 26px/1 Fraunces,Georgia,serif;letter-spacing:.28em}
.inv-brand small{display:block;margin-top:8px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--i-mute)}
.inv-title{text-align:end}
.inv-title h2{margin:0;font:600 26px/1.1 Inter,system-ui,sans-serif;letter-spacing:-.01em}
.inv-title .no{display:block;margin-top:6px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.inv-stamp{display:inline-block;margin-top:10px;border:2px solid var(--i-ok);color:var(--i-ok);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:12px;padding:3px 10px;border-radius:6px;transform:rotate(-4deg)}
.inv-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px 20px;margin:20px 0 0;padding:0}
.inv-meta div{min-width:0}
.inv-meta dt,.inv-parties small,.inv-lines th{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--i-mute);font-weight:600}
.inv-meta dd{margin:3px 0 0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.inv-meta .due dd{color:#b3261e}
.inv-parties{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px;margin:24px 0;padding:18px 0;border-top:1px solid var(--i-line);border-bottom:1px solid var(--i-line)}
.inv-parties small{display:block;margin-bottom:6px}
.inv-parties p{line-height:1.55;overflow-wrap:anywhere}
.inv-parties b{font-weight:600}
.inv-lines{width:100%;border-collapse:collapse;font-size:13px}
.inv-lines th{background:var(--i-soft);text-align:start;padding:9px 10px;border-bottom:1px solid var(--i-line);white-space:nowrap}
.inv-lines td{padding:10px;border-bottom:1px solid var(--i-line);vertical-align:top;font-variant-numeric:tabular-nums}
.inv-lines .r{text-align:end;white-space:nowrap}
.inv-lines .n{width:28px;color:var(--i-mute)}
.inv-lines .d{width:100%}
.inv-sum{display:flex;justify-content:flex-end;margin-top:18px}
.inv-sum table{border-collapse:collapse;min-width:300px;font-variant-numeric:tabular-nums}
.inv-sum td{padding:5px 10px;border:0}
.inv-sum td.r{text-align:end;white-space:nowrap}
.inv-sum .sub td{color:var(--i-ink2)}
.inv-sum .grand td{font-size:17px;font-weight:700;border-top:2px solid var(--i-ink);padding-top:9px}
.inv-sum .due td{font-weight:700;color:#b3261e}
.inv-foot{margin-top:30px;padding-top:14px;border-top:1px solid var(--i-line);font-size:11.5px;color:var(--i-mute);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* phones: stacked header, line items as cards */
@media (max-width:640px){
	.invoice{padding:20px 16px;border-radius:0}
	.inv-top{flex-direction:column;gap:14px}
	.inv-title{text-align:start}
	.inv-title h2{font-size:22px}
	.inv-meta{grid-template-columns:1fr 1fr}
	.inv-parties{grid-template-columns:1fr;gap:16px}
	.inv-lines thead{display:none}
	.inv-lines,.inv-lines tbody{display:block}
	.inv-lines tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 8px;padding:12px 0;border-bottom:1px solid var(--i-line)}
	.inv-lines td{display:block;padding:0;border:0;text-align:start!important;white-space:normal}
	.inv-lines td.n{display:none}
	.inv-lines td.d{grid-column:1/-1;font-weight:600;font-size:14px;margin-bottom:4px}
	.inv-lines td[data-l]::before{content:attr(data-l);display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--i-mute);margin-bottom:1px}
	.inv-lines td.g{font-weight:600}
	.inv-sum{display:block}
	.inv-sum table{width:100%;min-width:0}
	.inv-sum td{padding:5px 0}
	.inv-foot{flex-direction:column;gap:6px}
}

/* paper */
@media print{
	.invoice{padding:0;box-shadow:none;border-radius:0;font-size:12px}
	.inv-lines tr,.inv-sum,.inv-parties{break-inside:avoid}
}
