#invoicePreview[hidden]{display:none!important}
body.invoice-preview-open{overflow:hidden!important}
#invoicePreview{position:fixed;inset:0;z-index:100000;background:#ddd;color:#222;overflow:auto;font:15px/1.45 Arial,sans-serif;text-transform:none}
.invoice-tools{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:12px;padding:12px 18px;background:#171717;color:#fff}
.invoice-tools strong{margin-right:auto}
.invoice-tools button{background:#c91621;color:white;border:0;border-radius:6px;padding:12px;font-size:16px;cursor:pointer}
.invoice-tools button:disabled{opacity:.5;cursor:wait}
#invoicePreviewMessage{max-width:210mm;margin:12px auto;padding:0 12px;color:#222}
#invoicePreviewPaper{width:calc(100% - 24px);max-width:210mm;box-sizing:border-box;margin:12px auto 30px;padding:12mm;background:white;box-shadow:0 2px 12px #999}
#invoicePreviewPaper:empty{display:none}
#invoicePreviewPaper *{box-sizing:border-box;text-transform:none}
#invoicePreviewPaper h1{font-size:22px;line-height:1.2;margin:0 0 12px;color:#222}
#invoicePreviewPaper h2{color:#c91621;font-size:28px;margin:0 0 8px}
#invoicePreviewPaper p{margin:6px 0;overflow-wrap:anywhere}
.invoice-heading{display:grid;grid-template-columns:2fr 1fr;gap:20px;border-bottom:2px solid #c91621;padding-bottom:16px}
.invoice-right{text-align:right!important;font-variant-numeric:tabular-nums}
.invoice-customer{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px 0}
.invoice-customer small,.invoice-customer strong{display:block}
#invoicePreviewPaper table{width:100%;border-collapse:collapse;color:#222;font-size:14px}
#invoicePreviewPaper th{background:#c91621;color:white}
#invoicePreviewPaper th,#invoicePreviewPaper td{padding:12px 7px;border-bottom:1px solid #ccc;text-align:left;vertical-align:top}
#invoicePreviewPaper td:first-child{white-space:pre-wrap;overflow-wrap:anywhere;text-transform:uppercase}
#invoicePreviewPaper tr{break-inside:avoid}
.invoice-totals{max-width:310px;margin:24px 0 24px auto;break-inside:avoid}
.invoice-totals p{display:flex;justify-content:space-between;gap:20px}
.invoice-grand{font-size:20px;border-top:2px solid #c91621;padding-top:10px}
.invoice-payment-state{display:inline-block;border:2px solid #c91621;color:#c91621;padding:6px 12px;margin-top:10px}
.invoice-footer{font-size:12px;border-top:1px solid #ccc;padding-top:14px;break-inside:avoid}
@media(max-width:600px){#invoicePreviewPaper{padding:18px;font-size:12px}.invoice-heading{grid-template-columns:1fr}.invoice-heading>.invoice-right{text-align:left!important}#invoicePreviewPaper th,#invoicePreviewPaper td{font-size:12px;padding:8px 4px}.invoice-tools{gap:6px;padding:10px}.invoice-tools button{font-size:13px;padding:10px}}
@media print{
 @page{size:A4;margin:12mm}
 body.invoice-preview-open{overflow:visible!important;margin:0!important;padding:0!important;background:white!important}
 body.invoice-preview-open>*:not(#invoicePreview){display:none!important}
 body.invoice-preview-open #invoicePreview{display:block!important;position:static!important;overflow:visible!important;background:white!important;color:#222!important}
 #invoicePreview .invoice-tools,#invoicePreviewMessage{display:none!important}
 #invoicePreviewPaper{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important;font-size:14px!important}
 .invoice-heading{grid-template-columns:2fr 1fr!important}
 .invoice-heading>.invoice-right{text-align:right!important}
 #invoicePreviewPaper thead{display:table-header-group}
 #invoicePreviewPaper th{background:white!important;color:#222!important;border-bottom:2px solid #c91621}
 #invoicePreviewPaper th,#invoicePreviewPaper td{font-size:14px!important;padding:10px 6px!important}
}
