/* Live Billing search, receipt and save-state styles. Scoped to Billing only. */

.bill-printable.thermal-sales-receipt .thermal-receipt-store h1{margin:0!important;color:#111923!important;font:800 17px/1.18 Arial,sans-serif!important}.bill-printable.thermal-sales-receipt .thermal-receipt-header-note{display:block!important;margin:1.2mm 0 0!important;color:#4e5a67!important;font:10px/1.3 Arial,sans-serif!important}

/* Sales thermal receipt only. A4 receipts retain their independent structure
   and print rules below. The wrapper width, rather than @page alone, keeps
   output narrow across browser and driver combinations. */
.thermal-receipt-page{max-width:none!important;margin:0 auto}.bill-printable.thermal-sales-receipt{box-sizing:border-box;width:min(80mm,calc(100vw - 32px));max-width:80mm;min-width:0;margin:0 auto;padding:4mm!important;border:1px solid #d7dce3!important;border-radius:6px!important;background:#fff!important;box-shadow:0 8px 24px rgba(23,39,59,.12)!important;color:#161d27;font:12px/1.35 Arial,sans-serif}.bill-printable.thermal-sales-receipt *{box-sizing:border-box}.bill-printable.thermal-sales-receipt .thermal-receipt-store{display:block!important;padding:0 0 2.8mm!important;border:0!important;border-bottom:1px dashed #77818d!important;text-align:center}.thermal-receipt-store h1{margin:0!important;color:#111923!important;font-size:17px!important;font-weight:800!important;line-height:1.18}.thermal-receipt-header-note{margin:1.2mm 0 0!important;color:#4e5a67!important;font-size:10px!important;line-height:1.3}.thermal-receipt-store-details{display:grid;gap:.7mm;margin-top:2mm;color:#303b48;font-size:9.5px;line-height:1.25}.thermal-receipt-store-details span{display:block;overflow-wrap:anywhere}.thermal-receipt-title{margin:2.8mm 0!important;padding:0 0 2.3mm;border-bottom:1px dashed #77818d;color:#111923;text-align:center;font-size:13px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.thermal-receipt-invoice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.1mm 3mm;padding-bottom:2.8mm;border-bottom:1px dashed #aeb6bf;color:#596572;font-size:10px}.thermal-receipt-invoice b{min-width:0;color:#18212c;font-size:10px;overflow-wrap:anywhere;text-align:right}.thermal-receipt-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5mm;padding:2.8mm 0;border-bottom:1px dashed #aeb6bf}.thermal-receipt-meta{min-width:0}.thermal-receipt-meta span,.thermal-receipt-meta small{display:block;color:#687482;font-size:9px}.thermal-receipt-meta b{display:block;margin-top:.5mm;color:#18212c;font-size:10px;overflow-wrap:anywhere}.thermal-receipt-meta small{margin-top:.5mm;overflow-wrap:anywhere}.thermal-receipt-items{margin:0}.thermal-receipt-item{padding:2.8mm 0;border-bottom:1px dashed #aeb6bf;break-inside:avoid;page-break-inside:avoid}.thermal-receipt-item-title{display:block;color:#15202d;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.thermal-receipt-code,.thermal-receipt-batch,.thermal-receipt-adjustments{display:block;margin-top:.9mm;color:#596572;font-size:9px;line-height:1.3;overflow-wrap:anywhere}.thermal-receipt-item-sale{display:flex;justify-content:space-between;gap:3mm;margin-top:1.3mm;color:#26313d;font-size:10px}.thermal-receipt-item-sale span{min-width:0}.thermal-receipt-item-sale b{flex:none;color:#111923;text-align:right}.thermal-receipt-empty{margin:0;padding:6mm 0;color:#687482;text-align:center}.thermal-receipt-summary{display:grid;gap:1.3mm;padding:3mm 0;border-bottom:1px dashed #77818d}.thermal-receipt-summary>div{display:flex;justify-content:space-between;gap:4mm;color:#35414d;font-size:10px}.thermal-receipt-summary b{color:#121b26;text-align:right}.thermal-receipt-summary .thermal-receipt-grand{margin-top:1mm;padding-top:2mm;border-top:1px solid #1d2834;color:#101821;font-size:13px;font-weight:800}.thermal-receipt-summary .thermal-receipt-grand b{font-size:15px}.thermal-receipt-words,.thermal-receipt-terms{display:grid;gap:1mm;padding:3mm 0;border-bottom:1px dashed #aeb6bf;color:#3b4754;font-size:9.5px;line-height:1.4}.thermal-receipt-words b,.thermal-receipt-terms b{color:#17212c;font-size:10px;text-transform:uppercase}.thermal-receipt-terms span{white-space:pre-line}.bill-printable.thermal-sales-receipt .thermal-receipt-footer{display:grid!important;gap:1mm;margin:0!important;padding:3mm 0 0!important;border:0!important;color:#53606d!important;font-size:9px!important;line-height:1.35;text-align:center}.thermal-receipt-footer span{display:block;overflow-wrap:anywhere}

@media(max-width:360px){.bill-printable.thermal-sales-receipt{width:calc(100vw - 24px);padding:3.5mm!important}.thermal-receipt-meta-grid{grid-template-columns:1fr;gap:1.8mm}.thermal-receipt-meta+.thermal-receipt-meta{padding-top:1.8mm;border-top:1px dashed #d1d6dc}}

/* Saved-invoice chooser plus the dedicated, narrower 58mm roll layout. */
.bill-print-chooser{position:relative}.bill-print-chooser summary{display:flex;align-items:center;gap:5px;height:36px;border:1px solid #d7e5f4;border-radius:6px;background:#fff;color:#3a5877;padding:0 13px;font:700 10px "DM Sans",sans-serif;cursor:pointer;list-style:none}.bill-print-chooser summary::-webkit-details-marker{display:none}.bill-print-chooser-menu{position:absolute;z-index:20;top:calc(100% + 5px);right:0;display:grid;min-width:138px;border:1px solid #cfe0f4;border-radius:8px;background:#fff;padding:5px;box-shadow:0 10px 24px rgba(24,57,93,.16)}.bill-print-chooser:not([open]) .bill-print-chooser-menu{display:none}.bill-print-chooser-menu button{width:100%;height:30px;border:0;border-radius:5px;background:transparent;color:#314d6e;padding:0 8px;text-align:left;font:700 10px "DM Sans",sans-serif;cursor:pointer}.bill-print-chooser-menu button:hover,.bill-print-chooser-menu button:focus-visible{background:#edf7ff;color:#126fed;outline:0}
.thermal-receipt-gst-line,.thermal-receipt-gst-unavailable{display:block;margin-top:.9mm;color:#4d6885;font-size:9px;line-height:1.3;overflow-wrap:anywhere}.thermal-receipt-gst-unavailable{margin:2.5mm 0 0;padding:1.8mm 0;border-top:1px dashed #aeb6bf;font-style:italic}.thermal-58-receipt{max-width:58mm}.bill-printable.thermal-58{width:min(58mm,calc(100vw - 24px));max-width:58mm;padding:3mm!important;font-size:10.5px}.thermal-58 .thermal-receipt-store{padding-bottom:2mm!important}.thermal-58 .thermal-receipt-store h1{font-size:14px!important}.thermal-58 .thermal-receipt-header-note,.thermal-58 .thermal-receipt-store-details{font-size:8.5px}.thermal-58 .thermal-receipt-title{margin:2mm 0!important;padding-bottom:1.7mm;font-size:11px}.thermal-58 .thermal-receipt-invoice{gap:1mm 2mm;padding-bottom:2mm;font-size:8.5px}.thermal-58 .thermal-receipt-invoice b{font-size:8.5px}.thermal-58 .thermal-receipt-meta-grid{grid-template-columns:1fr;gap:1.5mm;padding:2mm 0}.thermal-58 .thermal-receipt-meta+.thermal-receipt-meta{padding-top:1.5mm;border-top:1px dashed #d1d6dc}.thermal-58 .thermal-receipt-item{padding:2mm 0}.thermal-58 .thermal-receipt-item-title{font-size:10px}.thermal-58 .thermal-receipt-code,.thermal-58 .thermal-receipt-batch,.thermal-58 .thermal-receipt-gst-line,.thermal-58 .thermal-receipt-adjustments{font-size:8px}.thermal-58 .thermal-receipt-item-sale{margin-top:1mm;font-size:9px}.thermal-58 .thermal-receipt-summary{gap:1mm;padding:2.5mm 0}.thermal-58 .thermal-receipt-summary>div{font-size:9px}.thermal-58 .thermal-receipt-summary .thermal-receipt-grand{font-size:11px}.thermal-58 .thermal-receipt-summary .thermal-receipt-grand b{font-size:13px}.thermal-58 .thermal-receipt-gst-unavailable{font-size:8px}.thermal-58 .thermal-receipt-words,.thermal-58 .thermal-receipt-terms,.thermal-58 .thermal-receipt-footer{font-size:8px!important}

@media print{@page sales-thermal{size:80mm auto;margin:2mm}body:has(.thermal-sales-receipt) .bill-receipt-page.thermal-receipt-page{display:block!important;width:80mm!important;max-width:80mm!important;margin:0!important;padding:0!important}body:has(.thermal-sales-receipt) .bill-printable.thermal-sales-receipt{position:static!important;display:block!important;width:76mm!important;max-width:76mm!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;page:sales-thermal;color:#000!important;font-size:10pt!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}body:has(.thermal-sales-receipt) .thermal-receipt-store{padding-bottom:2.2mm!important;border-bottom-color:#000!important}body:has(.thermal-sales-receipt) .thermal-receipt-store h1{color:#000!important;font-size:13pt!important}body:has(.thermal-sales-receipt) .thermal-receipt-header-note,body:has(.thermal-sales-receipt) .thermal-receipt-store-details{color:#000!important;font-size:8pt!important}body:has(.thermal-sales-receipt) .thermal-receipt-title{margin:2.2mm 0!important;padding-bottom:1.8mm!important;border-bottom-color:#000!important;color:#000!important;font-size:10.5pt!important}body:has(.thermal-sales-receipt) .thermal-receipt-invoice,body:has(.thermal-sales-receipt) .thermal-receipt-meta-grid,body:has(.thermal-sales-receipt) .thermal-receipt-item,body:has(.thermal-sales-receipt) .thermal-receipt-summary,body:has(.thermal-sales-receipt) .thermal-receipt-words,body:has(.thermal-sales-receipt) .thermal-receipt-terms{border-color:#000!important}body:has(.thermal-sales-receipt) .thermal-receipt-invoice,body:has(.thermal-sales-receipt) .thermal-receipt-meta span,body:has(.thermal-sales-receipt) .thermal-receipt-meta small,body:has(.thermal-sales-receipt) .thermal-receipt-code,body:has(.thermal-sales-receipt) .thermal-receipt-batch,body:has(.thermal-sales-receipt) .thermal-receipt-adjustments,body:has(.thermal-sales-receipt) .thermal-receipt-words,body:has(.thermal-sales-receipt) .thermal-receipt-terms,body:has(.thermal-sales-receipt) .thermal-receipt-footer{color:#000!important}body:has(.thermal-sales-receipt) .thermal-receipt-item-title{font-size:9pt!important}body:has(.thermal-sales-receipt) .thermal-receipt-item-sale,body:has(.thermal-sales-receipt) .thermal-receipt-summary>div{font-size:8.5pt!important}body:has(.thermal-sales-receipt) .thermal-receipt-summary .thermal-receipt-grand{border-top-color:#000!important;font-size:10pt!important}body:has(.thermal-sales-receipt) .thermal-receipt-summary .thermal-receipt-grand b{font-size:12pt!important}body:has(.thermal-sales-receipt) .thermal-receipt-item{break-inside:avoid;page-break-inside:avoid}body:has(.thermal-sales-receipt) .bill-receipt-actions{display:none!important}}
@media print{@page sales-thermal-58{size:58mm auto;margin:2mm}body:has(.thermal-58) .bill-receipt-page.thermal-58-receipt{display:block!important;width:58mm!important;max-width:58mm!important;margin:0!important;padding:0!important}body:has(.thermal-58) .bill-printable.thermal-58{width:52mm!important;max-width:52mm!important;padding:0!important;page:sales-thermal-58;font-size:8.5pt!important}body:has(.thermal-58) .thermal-receipt-store h1{font-size:11pt!important}body:has(.thermal-58) .thermal-receipt-header-note,body:has(.thermal-58) .thermal-receipt-store-details{font-size:7.5pt!important}body:has(.thermal-58) .thermal-receipt-title{font-size:9.5pt!important}body:has(.thermal-58) .thermal-receipt-item-title{font-size:8.5pt!important}body:has(.thermal-58) .thermal-receipt-item-sale,body:has(.thermal-58) .thermal-receipt-summary>div{font-size:7.75pt!important}body:has(.thermal-58) .thermal-receipt-code,body:has(.thermal-58) .thermal-receipt-batch,body:has(.thermal-58) .thermal-receipt-gst-line,body:has(.thermal-58) .thermal-receipt-adjustments,body:has(.thermal-58) .thermal-receipt-gst-unavailable,body:has(.thermal-58) .thermal-receipt-words,body:has(.thermal-58) .thermal-receipt-terms,body:has(.thermal-58) .thermal-receipt-footer{font-size:7pt!important}}
.bill-live{display:flex;align-items:center;gap:7px;color:#158759;font-size:10px;font-weight:800;letter-spacing:.55px}.bill-live i{width:7px;height:7px;border-radius:50%;background:#18ba78;box-shadow:0 0 0 4px #dff7ea}.bill-live-note{margin:9px 5px;color:#5b7d70;text-align:center;font-size:8.5px;line-height:1.4}.bill-search-section{position:relative}.bill-search-results{position:absolute;z-index:30;top:63px;left:0;right:0;max-height:290px;overflow:auto;border:1px solid #c9dff6;border-radius:8px;background:#fff;box-shadow:0 14px 30px #18395d26}.bill-search-result{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-bottom:1px solid #edf1f5;background:#fff;padding:11px 15px;text-align:left;cursor:pointer}.bill-search-result:hover,.bill-search-result:focus{background:#f3f9ff;outline:0}.bill-search-result b,.bill-search-result small{display:block}.bill-search-result b{color:#233650;font-size:11px}.bill-search-result small{margin-top:3px;color:#7f8da0;font-size:9px}.bill-search-result em{color:#4d6681;font-size:9px;font-style:normal}.bill-result-message{margin:0;padding:13px 15px;color:#6d7d92;font-size:10px}.bill-result-message.bill-error{color:#cb4b54}.bill-batch-select{height:28px;max-width:145px;border:1px solid #dce5ef;border-radius:5px;background:#f8fbfe;color:#40516a;font:600 9px "DM Sans",sans-serif}.bill-available{color:#168054;font-size:10px;font-weight:800}.bill-percent{width:37px;height:27px;border:1px solid #dce5ef;border-radius:5px;text-align:center;color:#26384f;font:600 10px "DM Sans";outline:0}.bill-empty td{padding:28px 12px!important;color:#7d8b9d!important;text-align:center;white-space:normal!important}.bill-credit-note{margin:9px 13px 0;color:#93611d;font-size:9px;line-height:1.45}.bill-history-controls{display:flex;gap:8px;margin-bottom:12px}.bill-history-controls label{display:flex;align-items:center;gap:7px;min-width:290px;height:35px;border:1px solid #dce5ef;border-radius:6px;background:#fff;padding:0 10px;color:#287eea}.bill-history-controls input{width:100%;border:0;outline:0;color:#26384f;font:600 10px "DM Sans"}.bill-history-controls button,.bill-history-view{border:1px solid #cce3fe;border-radius:6px;background:#f2f8ff;color:#197be9;padding:0 12px;font:700 10px "DM Sans";cursor:pointer}.bill-history-view{height:27px}.bill-receipt-page{max-width:930px;margin:0 auto}.bill-receipt-actions{display:flex;justify-content:flex-end;gap:8px;margin:0 0 14px}.bill-receipt-actions button{height:36px;border:1px solid #d7e5f4;border-radius:6px;background:#fff;color:#3a5877;padding:0 13px;font:700 10px "DM Sans";cursor:pointer}.bill-printable{border:1px solid #dbe5ee;border-radius:10px;background:#fff;box-shadow:0 4px 15px #1530500d;padding:28px;color:#1e2d43}.bill-printable header{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:2px solid #1e7deb}.bill-printable header h1{margin:0;color:#163d68;font:800 22px Manrope,sans-serif}.bill-printable header p,.bill-printable header small{display:block;margin:5px 0 0;color:#738298;font-size:10px}.bill-printable header>div:last-child{text-align:right}.bill-printable header>div:last-child b{display:block;color:#263950;font-size:12px}.bill-receipt-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.bill-receipt-meta div{display:grid;gap:4px}.bill-receipt-meta span{color:#8491a2;font-size:9px;text-transform:uppercase;letter-spacing:.4px}.bill-receipt-meta b{color:#24354d;font-size:11px}.bill-receipt-meta small{color:#728197;font-size:9px}.bill-printable table{width:100%;border-collapse:collapse;font-size:10px}.bill-printable th{padding:10px 7px;background:#f1f7fc;color:#607087;text-align:left;font-size:8.5px}.bill-printable td{padding:10px 7px;border-top:1px solid #e8eef3;color:#43536a}.bill-printable td b,.bill-printable td small{display:block}.bill-printable td small{margin-top:3px;color:#8592a3;font-size:8px}.bill-printable footer{display:flex;justify-content:space-between;gap:22px;margin-top:18px;padding-top:15px;border-top:1px solid #dfe7ee}.bill-printable footer>div{display:grid;grid-template-columns:auto auto;gap:6px 18px;color:#708097;font-size:10px}.bill-printable footer>div b{text-align:right;color:#26374d}.bill-printable footer section{display:grid;gap:4px;min-width:190px;padding:13px;border-radius:7px;background:#eff8ff;text-align:right;color:#35688f;font-size:10px}.bill-printable footer strong{color:#145c9e;font:800 22px Manrope,sans-serif}.bill-printable footer small{color:#728197;font-size:8px}

/* Save feedback and strict content containment. */
.billing-page,.billing-page *{box-sizing:border-box}.billing-page :is(input,select,textarea,button){max-width:100%;min-width:0}.bill-meta label,.bill-notes label,.bill-summary,.bill-payment,.bill-actions,.bill-items-panel{min-width:0}.bill-meta input,.bill-meta select,.bill-notes input,.bill-search input,.bill-received input{min-width:0;max-width:100%;text-overflow:ellipsis}.bill-summary-row span,.bill-summary-row b,.bill-change span,.bill-change b,.bill-items-panel header>div,.bill-payment header>div{min-width:0;overflow-wrap:anywhere}.bill-save-success{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 2px 14px;padding:12px 14px;border:1px solid #a8e7c9;border-radius:12px;background:linear-gradient(120deg,#edfff6,#f6fffb);color:#116743;box-shadow:0 6px 18px rgba(16,143,89,.1)}.bill-save-success div{min-width:0}.bill-save-success b,.bill-save-success span{display:block}.bill-save-success span{margin-top:3px;color:#477b67;font-size:11px;line-height:1.4}.bill-save-success div:last-child{display:flex;align-items:center;gap:8px;flex:none}.bill-save-success button{height:32px;border:1px solid #a9d7fb;border-radius:8px;background:#fff;color:#176fca;padding:0 10px;font:700 10px "DM Sans",sans-serif;cursor:pointer}.bill-save-success button:last-child{width:32px;padding:0;color:#6e8298}.bill-save-status{min-height:16px;margin:7px 4px 0;color:#527194;font-size:10px;line-height:1.35}.bill-save-status:empty{display:none}.bill-save{position:relative}.bill-save-spinner{display:inline-block;width:13px;height:13px;margin-right:6px;vertical-align:-2px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:billSaveSpin .7s linear infinite}.is-saving :is(.bill-clear,.bill-new,.bill-add-item,.bill-remove,.bill-qty button,.bill-batch-select,.bill-rate,.bill-percent,.payment-modes input,.bill-meta select,.bill-search input,.bill-received input){pointer-events:none;opacity:.62}@keyframes billSaveSpin{to{transform:rotate(360deg)}}

@media(max-width:720px){.bill-history-controls{flex-wrap:wrap}.bill-history-controls label{min-width:0;flex:1}.bill-receipt-actions{justify-content:flex-start;flex-wrap:wrap}.bill-printable{padding:16px}.bill-printable header,.bill-printable footer{display:block}.bill-printable header>div:last-child{margin-top:12px;text-align:left}.bill-printable footer section{margin-top:15px;min-width:0}.bill-receipt-meta{grid-template-columns:1fr}.bill-save-success{align-items:flex-start;flex-direction:column}.bill-save-success div:last-child{width:100%;justify-content:space-between}.bill-meta,.bill-notes{min-width:0}.bill-search{min-width:0}.bill-search kbd{flex:none}}
@media print{body{background:#fff!important}.sidebar,.topbar,.sidebar-backdrop,.bill-receipt-actions,#toastRoot,#modalRoot{display:none!important}.main-content{margin:0!important;width:100%!important}.bill-receipt-page{max-width:none!important}.bill-printable{display:block!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important}.bill-printable table{font-size:9pt}.bill-printable th{font-size:8pt}.bill-printable footer strong{font-size:18pt}@page{size:A4;margin:12mm}}

/* Sales A4 invoice only. Thermal keeps the pre-existing receipt markup. */
.sales-a4-invoice{max-width:100%;padding:22px!important;color:#182945;font-family:Arial,sans-serif}.sales-a4-store-header{align-items:flex-start!important;border-bottom:0!important;padding:0 0 13px!important}.sales-a4-store-details{min-width:0}.sales-a4-store-header h1{color:#0c3978!important;font-size:24px!important;letter-spacing:.2px}.sales-a4-header-note{margin:5px 0 0!important;color:#405976!important;font-size:10px!important}.sales-a4-store-lines{display:grid;gap:3px;margin-top:8px;color:#263b59;font-size:9.5px;line-height:1.35}.sales-a4-store-lines span{display:block}.sales-a4-store-lines b{color:#0c3978}.sales-a4-logo{display:grid;place-items:center;flex:0 0 110px;min-height:68px;border:1px solid #9eb5cf;border-radius:6px;padding:5px;background:#fff}.sales-a4-logo-image{display:block;max-width:100px;max-height:65px;object-fit:contain}.sales-a4-title{margin:0 0 16px!important;border-top:2px solid #1d63b6;border-bottom:1px solid #9bbce5;padding:8px 0!important;color:#0d438f!important;text-align:center;font-size:18px!important;letter-spacing:.5px;text-transform:uppercase}.sales-a4-details{display:grid;grid-template-columns:1fr 1fr;margin:0 0 15px;border-bottom:1px solid #d4dfeb}.sales-a4-details.invoice-only{grid-template-columns:1fr}.sales-a4-party{min-width:0;padding:0 14px 13px}.sales-a4-party:first-child{padding-left:0}.sales-a4-party+.sales-a4-party{border-left:1px solid #d4dfeb}.sales-a4-party h2,.sales-a4-notes h2{margin:0 0 8px;color:#0c438e;font-size:11px;text-transform:uppercase}.sales-a4-party>b{display:block;margin-bottom:6px;color:#1c2d47;font-size:11px}.sales-a4-party>span{display:block;margin:4px 0;color:#334b69;font-size:9.5px}.sales-a4-party>span b{display:inline-block;width:88px;color:#526a86}.sales-a4-table-wrap{overflow:hidden;border:1px solid #b8cce2}.sales-a4-items{margin:0!important;font-size:9px!important}.sales-a4-items th{background:#0e4b98!important;color:#fff!important;padding:8px 5px!important;font-size:8px!important;text-align:left}.sales-a4-items td{padding:8px 5px!important;border:1px solid #d5e0ea!important;color:#243953!important;vertical-align:top}.sales-a4-items td:not(:nth-child(2)),.sales-a4-items th:not(:nth-child(2)){text-align:center}.sales-a4-items td:last-child,.sales-a4-items th:last-child{text-align:right}.sales-a4-items td b{font-size:9px}.sales-a4-items td small{font-size:7.5px}.sales-a4-items tfoot td{border-top:1px solid #9eb8d8!important;background:#f4f8fc;color:#183d70;font-size:8.5px;font-weight:700}.sales-a4-empty{text-align:center!important;padding:18px!important}.sales-a4-lower{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;margin-top:16px}.sales-a4-notes{min-width:0;padding:2px 4px}.sales-a4-notes p{margin:0 0 16px;color:#304967;font-size:9.5px;line-height:1.5}.sales-a4-terms{white-space:pre-line}.sales-a4-totals{border:1px solid #afc5df}.sales-a4-totals>div{display:flex;justify-content:space-between;gap:12px;padding:5px 9px;color:#304866;font-size:9.5px}.sales-a4-totals>div b{text-align:right;color:#172d4b}.sales-a4-totals .sales-a4-grand{margin-top:3px;border-top:1px solid #afc5df;background:#0d4b98;color:#fff;font-size:12px;font-weight:700}.sales-a4-totals .sales-a4-grand b{color:#fff;font-size:13px}.sales-a4-signature{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;margin-top:22px;min-height:80px}.sales-a4-signature p{margin:0;color:#48617e;font-size:9px;line-height:1.45}.sales-a4-signature>div:last-child{text-align:center;color:#153f7f;font-size:9px}.sales-a4-signature b{display:block}.sales-a4-signature span{display:block;margin:38px auto 5px;border-top:1px dotted #58769d}.sales-a4-signature small{color:#233c5c;font-size:8.5px}.sales-a4-footer{display:block!important;margin-top:12px;padding:8px 0 0!important;border-top:1px solid #1d63b6!important;color:#1b57a2!important;text-align:center;font-size:8.5px!important}
@media print{.bill-printable.sales-a4-invoice{page:sales-a4; padding:0!important;color:#111!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.sales-a4-store-header h1{font-size:20pt!important}.sales-a4-title{font-size:15pt!important}.sales-a4-items{font-size:8pt!important}.sales-a4-items th{font-size:7.5pt!important}.sales-a4-items tr{break-inside:avoid;page-break-inside:avoid}.sales-a4-items thead{display:table-header-group}.sales-a4-lower{break-inside:auto;page-break-inside:auto}.sales-a4-signature{break-inside:avoid;page-break-inside:avoid}@page sales-a4{size:A4 portrait;margin:10mm}}

/* pharmacy-purchase.css loads later and hides every body descendant for its
   own print view. Restore only an active Sales receipt, and remove the hidden
   application chrome from print layout so it cannot consume a blank page. */
@media print{body:has(.sales-a4-invoice) .sidebar,body:has(.sales-a4-invoice) .topbar,body:has(.sales-a4-invoice) .sidebar-backdrop,body:has(.sales-a4-invoice) #toastRoot,body:has(.sales-a4-invoice) #modalRoot{display:none!important}body:has(.sales-a4-invoice) .app-shell,body:has(.sales-a4-invoice) .main-content,body:has(.sales-a4-invoice) #app{width:100%!important;min-height:0!important;margin:0!important;padding:0!important}body:has(.sales-a4-invoice) .bill-receipt-page,body:has(.sales-a4-invoice) .sales-a4-invoice,body:has(.sales-a4-invoice) .sales-a4-invoice *{visibility:visible!important}body:has(.sales-a4-invoice) .bill-receipt-page{display:block!important;width:100%!important;max-width:none!important;margin:0!important}body:has(.sales-a4-invoice) .bill-receipt-actions{display:none!important}}

/* The purchase A4 print stylesheet also hides every body descendant. Restore
   only the existing Sales Thermal receipt when that layout is active. */
@media print{body:has(.bill-printable[data-print-layout^="thermal"]) .sidebar,body:has(.bill-printable[data-print-layout^="thermal"]) .topbar,body:has(.bill-printable[data-print-layout^="thermal"]) .sidebar-backdrop,body:has(.bill-printable[data-print-layout^="thermal"]) #toastRoot,body:has(.bill-printable[data-print-layout^="thermal"]) #modalRoot{display:none!important}body:has(.bill-printable[data-print-layout^="thermal"]) .app-shell,body:has(.bill-printable[data-print-layout^="thermal"]) .main-content,body:has(.bill-printable[data-print-layout^="thermal"]) #app{width:100%!important;min-height:0!important;margin:0!important;padding:0!important}body:has(.bill-printable[data-print-layout^="thermal"]) .bill-receipt-page,body:has(.bill-printable[data-print-layout^="thermal"]) .bill-printable,body:has(.bill-printable[data-print-layout^="thermal"]) .bill-printable *{visibility:visible!important}body:has(.bill-printable[data-print-layout^="thermal"]) .bill-receipt-page{display:block!important;width:100%!important;max-width:none!important;margin:0!important}body:has(.bill-printable[data-print-layout^="thermal"]) .bill-receipt-actions{display:none!important}}

/* Keep a short Sales A4 invoice in normal flow on one page without shrinking it.
   The signature remains indivisible, but no longer reserves a screen-sized spacer. */
@media print{body:has(.sales-a4-invoice) .sales-a4-lower{margin-top:10px;gap:12px}body:has(.sales-a4-invoice) .sales-a4-notes p{margin-bottom:8px}body:has(.sales-a4-invoice) .sales-a4-signature{margin-top:10px;min-height:0;gap:16px}body:has(.sales-a4-invoice) .sales-a4-signature span{margin-top:20px}body:has(.sales-a4-invoice) .sales-a4-footer{margin-top:0;padding-top:1px!important;line-height:1.1;break-before:auto;break-after:auto;page-break-before:auto;page-break-after:auto}}

/* Print-only rhythm for short, multi-row Sales invoices. Rows remain natural-height
   so wrapped medicine names and genuinely long invoices can still continue pages. */
@media print{body:has(.sales-a4-invoice) .sales-a4-store-header{padding-bottom:8px!important}body:has(.sales-a4-invoice) .sales-a4-logo{min-height:60px;padding:4px}body:has(.sales-a4-invoice) .sales-a4-logo-image{max-height:56px}body:has(.sales-a4-invoice) .sales-a4-title{margin-bottom:10px!important;padding:5px 0!important}body:has(.sales-a4-invoice) .sales-a4-details{margin-bottom:10px}body:has(.sales-a4-invoice) .sales-a4-party{padding-bottom:8px}body:has(.sales-a4-invoice) .sales-a4-items th,body:has(.sales-a4-invoice) .sales-a4-items td{padding-top:5px!important;padding-bottom:5px!important}body:has(.sales-a4-invoice) .sales-a4-lower{margin-top:8px;gap:10px}body:has(.sales-a4-invoice) .sales-a4-party h2,body:has(.sales-a4-invoice) .sales-a4-notes h2{margin-bottom:5px}body:has(.sales-a4-invoice) .sales-a4-totals>div{padding-top:4px;padding-bottom:4px}body:has(.sales-a4-invoice) .sales-a4-signature{margin-top:8px}body:has(.sales-a4-invoice) .sales-a4-signature span{margin-top:16px}}

/* A4 typography is deliberately independent of the compact on-screen pixel scale. */
@media print{body:has(.sales-a4-invoice) .sales-a4-invoice{width:100%!important;max-width:none!important;font-size:10pt;line-height:1.35}body:has(.sales-a4-invoice) .sales-a4-store-header{padding-bottom:10px!important}body:has(.sales-a4-invoice) .sales-a4-logo{min-height:64px;padding:4px}body:has(.sales-a4-invoice) .sales-a4-logo-image{max-height:60px}body:has(.sales-a4-invoice) .sales-a4-store-header h1{font-size:22pt!important}body:has(.sales-a4-invoice) .sales-a4-header-note,body:has(.sales-a4-invoice) .sales-a4-store-lines{font-size:10pt}body:has(.sales-a4-invoice) .sales-a4-title{margin-bottom:12px!important;padding:6px 0!important;font-size:17pt!important}body:has(.sales-a4-invoice) .sales-a4-details{margin-bottom:12px}body:has(.sales-a4-invoice) .sales-a4-party{padding-bottom:10px}body:has(.sales-a4-invoice) .sales-a4-party h2,body:has(.sales-a4-invoice) .sales-a4-notes h2{margin-bottom:6px;font-size:10.5pt}body:has(.sales-a4-invoice) .sales-a4-party>b{font-size:10.5pt}body:has(.sales-a4-invoice) .sales-a4-party>span{font-size:9.5pt}body:has(.sales-a4-invoice) .sales-a4-items{font-size:9.5pt!important}body:has(.sales-a4-invoice) .sales-a4-items th{padding-top:6px!important;padding-bottom:6px!important;font-size:8.5pt!important}body:has(.sales-a4-invoice) .sales-a4-items td{padding-top:6px!important;padding-bottom:6px!important;font-size:9.5pt}body:has(.sales-a4-invoice) .sales-a4-items td b{font-size:9.5pt}body:has(.sales-a4-invoice) .sales-a4-items td small{font-size:8pt}body:has(.sales-a4-invoice) .sales-a4-lower{margin-top:10px;gap:12px}body:has(.sales-a4-invoice) .sales-a4-notes p{margin-bottom:10px;font-size:9.5pt;line-height:1.4}body:has(.sales-a4-invoice) .sales-a4-totals>div{padding-top:4px;padding-bottom:4px;font-size:9.5pt}body:has(.sales-a4-invoice) .sales-a4-totals .sales-a4-grand{font-size:12.5pt}body:has(.sales-a4-invoice) .sales-a4-totals .sales-a4-grand b{font-size:14pt}body:has(.sales-a4-invoice) .sales-a4-signature{margin-top:10px}body:has(.sales-a4-invoice) .sales-a4-signature p,body:has(.sales-a4-invoice) .sales-a4-signature>div:last-child{font-size:9.5pt}body:has(.sales-a4-invoice) .sales-a4-signature small,body:has(.sales-a4-invoice) .sales-a4-footer{font-size:8.5pt}}

/* Current-store payment QR for Sales A4 invoices only. */
.sales-a4-payment-qr{display:flex;align-items:center;gap:9px;margin-top:9px;break-inside:avoid;page-break-inside:avoid}.sales-a4-payment-qr-image{display:block;flex:0 0 92px;width:92px;height:92px;object-fit:contain;border:1px solid #bfd0e3;border-radius:5px;background:#fff}.sales-a4-payment-qr>div{display:grid;gap:2px;color:#0c438e;font-size:10px}.sales-a4-payment-qr b{font-size:10px}.sales-a4-payment-qr small{color:#5c718a;font-size:8px}@media print{body:has(.sales-a4-invoice) .sales-a4-payment-qr{gap:7px;margin-top:6px}body:has(.sales-a4-invoice) .sales-a4-payment-qr-image{flex-basis:21mm;width:21mm;height:21mm}body:has(.sales-a4-invoice) .sales-a4-payment-qr>div,body:has(.sales-a4-invoice) .sales-a4-payment-qr b{font-size:8.5pt}body:has(.sales-a4-invoice) .sales-a4-payment-qr small{font-size:7.5pt}}

/* Keep the existing compact multi-row A4 rhythm after the later typography rule.
   This reduces only print spacing; the invoice remains normal-flow and can paginate. */
@media print{body:has(.sales-a4-invoice) .sales-a4-store-header{padding-bottom:8px!important}body:has(.sales-a4-invoice) .sales-a4-logo{min-height:60px;padding:4px}body:has(.sales-a4-invoice) .sales-a4-logo-image{max-height:56px}body:has(.sales-a4-invoice) .sales-a4-title{margin-bottom:10px!important;padding:5px 0!important}body:has(.sales-a4-invoice) .sales-a4-details{margin-bottom:10px}body:has(.sales-a4-invoice) .sales-a4-party{padding-bottom:8px}body:has(.sales-a4-invoice) .sales-a4-party h2,body:has(.sales-a4-invoice) .sales-a4-notes h2{margin-bottom:5px}body:has(.sales-a4-invoice) .sales-a4-items th,body:has(.sales-a4-invoice) .sales-a4-items td{padding-top:5px!important;padding-bottom:5px!important}body:has(.sales-a4-invoice) .sales-a4-lower{margin-top:8px;gap:10px}body:has(.sales-a4-invoice) .sales-a4-notes p{margin-bottom:8px}body:has(.sales-a4-invoice) .sales-a4-signature{margin-top:8px}body:has(.sales-a4-invoice) .sales-a4-signature span{margin-top:16px}}

/* Chromium fragments a shared print Grid row across pages. Keep the A4 lower
   area in normal block flow while retaining its existing two-column appearance. */
@media print{body:has(.sales-a4-invoice) .sales-a4-lower{display:block!important;break-inside:auto;page-break-inside:auto}body:has(.sales-a4-invoice) .sales-a4-totals{float:right;width:280px;max-width:42%;margin-left:18px;break-inside:avoid;page-break-inside:avoid}body:has(.sales-a4-invoice) .sales-a4-notes{min-width:0;margin-right:298px}body:has(.sales-a4-invoice) .sales-a4-notes h2{break-after:avoid;page-break-after:avoid}body:has(.sales-a4-invoice) .sales-a4-lower::after{content:"";display:block;clear:both}}
