  /* ── Invoice preview ── */
  .invoice-wrap { padding:40px 48px; background:#fff; color:#1a1a1a; font-family:'DM Mono',monospace; font-size:12px; line-height:1.6; }
  .invoice-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:40px; }
  .invoice-biz-name { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:600; color:#1a1a1a; margin-bottom:6px; }
  .invoice-biz-details { font-size:11px; color:#666; line-height:1.8; }
  .invoice-meta { text-align:right; }
  .invoice-number { font-family:'Cormorant Garamond',serif; font-size:22px; color:#1a1a1a; font-weight:600; }
  .invoice-meta-row { font-size:11px; color:#666; margin-top:4px; }
  .invoice-divider { border:none; border-top:2px solid #1a1a1a; margin:0 0 28px; }
  .invoice-divider-light { border:none; border-top:1px solid #e0e0e0; margin:16px 0; }
  .invoice-bill-to { margin-bottom:32px; }
  .invoice-bill-label { font-size:9px; text-transform:uppercase; letter-spacing:0.15em; color:#999; margin-bottom:8px; }
  .invoice-bill-name { font-size:14px; font-weight:500; color:#1a1a1a; margin-bottom:4px; }
  .invoice-bill-details { font-size:11px; color:#666; line-height:1.8; }
  .invoice-table { width:100%; border-collapse:collapse; margin-bottom:24px; }
  .invoice-table th { font-size:9px; text-transform:uppercase; letter-spacing:0.12em; color:#999; padding:8px 0; border-bottom:1px solid #e0e0e0; text-align:left; }
  .invoice-table th:last-child, .invoice-table td:last-child { text-align:right; }
  .invoice-table td { padding:14px 0; border-bottom:1px solid #f0f0f0; font-size:12px; color:#1a1a1a; vertical-align:top; }
  .invoice-totals { display:flex; flex-direction:column; align-items:flex-end; gap:6px; margin-bottom:32px; }
  .invoice-total-row { display:flex; gap:40px; font-size:12px; color:#666; }
  .invoice-total-row.grand { font-size:16px; color:#1a1a1a; font-family:'Cormorant Garamond',serif; font-weight:600; border-top:2px solid #1a1a1a; padding-top:8px; margin-top:4px; }
  .invoice-total-label { min-width:80px; text-align:right; }
  .invoice-total-val { min-width:80px; text-align:right; }
  .invoice-footer { font-size:11px; color:#999; border-top:1px solid #e0e0e0; padding-top:20px; line-height:1.8; }
  .invoice-status-badge { display:inline-block; padding:3px 10px; border-radius:3px; font-size:10px; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; }
  .invoice-status-badge.unpaid { background:#fff3cd; color:#856404; border:1px solid #ffc107; }

  @media print {
    * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    body > *:not(#print-invoice-frame) { display:none !important; }
    #print-invoice-frame { display:block !important; }
  }
