body.print-body {
  background:#f1f5f9;
  padding:2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color:#0f172a;
}
.invoice-document {
  max-width:760px;
  margin:0 auto 2.5rem;
  background:white;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:2rem;
  box-shadow:0 12px 32px rgba(15,23,42,0.12);
}
.invoice-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  border-bottom:1px solid #e2e8f0;
  padding-bottom:1rem;
  margin-bottom:1.5rem;
}
.invoice-brand { display:flex; align-items:center; gap:.85rem; }
.invoice-brand h1 { margin:0; font-size:1.5rem; letter-spacing:.04em; text-transform:uppercase; }
.invoice-brand span { font-size:.85rem; color:#475569; text-transform:uppercase; letter-spacing:.1em; }
.invoice-meta { text-align:right; font-size:.9rem; display:grid; gap:.25rem; color:#475569; }
.invoice-section { margin-bottom:1.5rem; }
.invoice-section h3 { margin:0 0 .75rem; text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; color:#475569; }
.invoice-grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); font-size:.95rem; }
.invoice-grid strong { display:inline-block; min-width:90px; }
.invoice-table { width:100%; border-collapse:collapse; font-size:.95rem; }
.invoice-table th, .invoice-table td { padding:.55rem .6rem; border:1px solid #e2e8f0; text-align:left; }
.invoice-table thead th { background:#f8fafc; font-weight:600; color:#0f172a; }
.invoice-table tbody tr.invoice-total td { font-weight:700; font-size:1.05rem; background:#f1f5f9; }
.invoice-note { margin-top:.75rem; color:#475569; font-size:.9rem; }
.invoice-summary { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding-top:1.25rem; border-top:1px solid #e2e8f0; }
.balance-box { background:#0f172a; color:white; padding:1rem 1.25rem; border-radius:14px; text-align:center; min-width:220px; }
.balance-box span { display:block; text-transform:uppercase; font-size:.65rem; letter-spacing:.1em; }
.balance-box strong { display:block; font-size:1.9rem; margin-top:.4rem; }
.remit-box { font-size:.95rem; color:#334155; max-width:360px; }
.print-logo { height:64px; width:auto; display:block; }

@media print {
  nav, .no-print, button, .actions, .inline, a.button { display: none !important; }
  body.print-body { background:white; padding:0; }
  .invoice-document { box-shadow:none; border-radius:0; border:0; margin:0 0 1rem 0; page-break-after:always; padding:1.5rem; }
  .balance-box { box-shadow:none; }
  .print-logo { height:80px; }
}
