/* PaintOps invoice document (embedded on the Financials page and in the
   standalone public invoice page). Registered/enqueued as
   paintops-invoice-doc via the enqueue API. */
    .po-invoice { max-width: 820px; margin: 0 auto; background:#fff; color:#222; }
    .po-inv-head { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; border-bottom:2px solid #333; padding-bottom:16px; }
    .po-inv-biz .n { font-size:20px; font-weight:700; }
    .po-inv-biz, .po-inv-meta { font-size:13px; line-height:1.5; white-space:pre-line; }
    .po-inv-meta { text-align:right; }
    .po-inv-title { font-size:26px; font-weight:700; letter-spacing:1px; color:#333; }
    .po-inv-parties { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; margin:18px 0; font-size:13px; line-height:1.5; }
    .po-inv-parties h4 { margin:0 0 4px; font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:#777; }
    .po-inv-table { width:100%; border-collapse:collapse; font-size:14px; margin-top:8px; }
    .po-inv-table th, .po-inv-table td { text-align:left; padding:9px 10px; border-bottom:1px solid #e5e5e5; }
    .po-inv-table th { font-size:11px; text-transform:uppercase; letter-spacing:.4px; color:#777; }
    .po-inv-table td.amt, .po-inv-table th.amt { text-align:right; white-space:nowrap; }
    .po-inv-balance { font-size:18px; font-weight:700; }
    .po-inv-msg { margin:18px 0; padding:12px 14px; background:#f7f7f7; border-radius:6px; font-size:14px; white-space:pre-wrap; }
    .po-inv-photos { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
    .po-inv-photos img { width:calc(50% - 5px); height:auto; object-fit:cover; border-radius:6px; border:1px solid #ddd; }
    .po-inv-notes { margin:6px 0 0; padding-left:18px; font-size:13px; line-height:1.6; }
    .po-inv-print-btn { margin:0 0 16px; }
    /* Print / Save-as-PDF: blank ALL other ink (the WP site header, the
       PaintOps nav, the "Financials" page title, the Back link, the footer)
       and show only the invoice sheet, pulled to the top, same visibility
       trick the quote document uses. */
    @media print {
        body * { visibility: hidden !important; }
        #po-invoice-print, #po-invoice-print * { visibility: visible !important; }
        #po-invoice-print { position:absolute; left:0; top:0; width:100%; max-width:none; }
        .po-inv-noprint { display:none !important; }
        body { background:#fff !important; }
        /* Same portrait-print fix as the quote document (2026-07-21):
           paper narrower than the 782px phone breakpoint must never
           inherit responsive table stacking. */
        #po-invoice-print table { display: table !important; width: 100% !important; }
        #po-invoice-print thead { display: table-header-group !important; }
        #po-invoice-print tbody { display: table-row-group !important; }
        #po-invoice-print tfoot { display: table-footer-group !important; }
        #po-invoice-print tr { display: table-row !important; }
        #po-invoice-print th, #po-invoice-print td { display: table-cell !important; width: auto !important; }
    }

/* Standalone public invoice shell */
body.po-inv-shell-body { padding:40px 20px; }
.paintops-invoice-shell { max-width:520px; margin:0 auto; background:#fff; padding:32px; border-radius:10px; box-shadow:0 2px 14px rgba(0,0,0,.08); }
.paintops-invoice-shell.po-inv-wide { max-width:860px; }
