@font-face { font-family: InvoiceSans; src: url('/assets/fonts/invoice/NotoSans-Regular.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: InvoiceDevanagari; src: url('/assets/fonts/invoice/NotoSansDevanagari-Regular.ttf') format('truetype'); font-display: swap; }
body[data-tool="InvoiceGenerator"], body[data-tool="InvoiceGenerator"] :is(h1,h2,h3,h4,button,input,textarea,select) { font-family: InvoiceSans, InvoiceDevanagari, Arial, sans-serif; }
body[data-tool="InvoiceGenerator"] .utility-layout { grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr); align-items: start; }
.invoice-editor details { border: 1px solid var(--tool-border); border-radius: 10px; padding: 1rem; margin: 1rem 0; }
.invoice-editor summary { font-weight: 700; cursor: pointer; padding-bottom: .5rem; }
.invoice-editor textarea { min-height: 90px; }
.invoice-save-state { border-left: 3px solid var(--tool-cyan); padding: .6rem; background: var(--tool-surface); font-size: .9rem; }
.invoice-save-state.error { border-color: #ff8d96; }
#logoThumbnail { width: 120px; height: 90px; object-fit: contain; background: #fff; margin: .5rem; }
.invoice-item .utility-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.invoice-item h3 { font-size: 1.1rem; }
.invoice-item img { width: 64px; height: 48px; object-fit: contain; background: white; }
.invoice-item .utility-actions { flex-wrap: wrap; }
body[data-tool="InvoiceGenerator"] .invoice-preview { white-space: normal; line-height: normal; }
.invoice-sheet { width: 100%; display: block; background: #fff; margin: 1rem 0; box-shadow: 0 6px 26px #0003; }
.invoice-total { font-weight: 700; font-size: 1.2rem; color: var(--tool-cyan); }
.invoice-preview-panel { position: sticky; top: 85px; max-height: calc(100vh - 100px); overflow: auto; }
@media (max-width: 1100px) { body[data-tool="InvoiceGenerator"] .utility-layout { grid-template-columns: minmax(0, 1fr); } .invoice-preview-panel { position: static; max-height: none; overflow: visible; } }
@media (max-width: 640px) { .invoice-item .utility-form-grid { grid-template-columns: minmax(0, 1fr); } }
@media print {
    html, body[data-tool="InvoiceGenerator"] { background: #fff !important; margin: 0 !important; padding: 0 !important; }
    body[data-tool="InvoiceGenerator"] > :not(main), body[data-tool="InvoiceGenerator"] main > :not(#workspace), body[data-tool="InvoiceGenerator"] #workspace > :not(.invoice-preview-panel), .invoice-preview-panel > :not(#invoicePreview) { display: none !important; }
    body[data-tool="InvoiceGenerator"] :is(main, #workspace, .invoice-preview-panel, #invoicePreview) { display: block !important; position: static !important; max-height: none !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; width: 100% !important; max-width: none !important; border: 0 !important; background: #fff !important; box-shadow: none !important; }
    .invoice-sheet { width: 100%; margin: 0; box-shadow: none; break-after: page; break-inside: avoid; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .invoice-sheet:last-child { break-after: auto; }
}
