.billing-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.sidebar .nav-list { min-height:0; overflow-y:auto; }
.billing-toolbar .section-label { margin-bottom:5px; }
.billing-toolbar p { margin-bottom:0; }
.billing-gst { padding:8px 11px; border:1px solid var(--line); border-radius:6px; color:var(--green); background:#fff; font-size:12px; font-weight:700; white-space:nowrap; }
.billing-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr); gap:16px; align-items:start; }
.billing-menu-panel,.billing-checkout { overflow:hidden; border:1px solid var(--line); border-radius:7px; background:#fff; }
.billing-menu-tools { padding:15px; border-bottom:1px solid var(--line); }
.billing-menu-tools .search { width:100%; }
.billing-categories { margin:12px 0 0; }
.billing-menu-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:13px; }
.billing-menu-item { display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; padding:12px; border:1px solid var(--line); border-radius:6px; }
.billing-menu-item > div { min-width:0; display:grid; gap:4px; }
.billing-menu-item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.billing-menu-item span { color:var(--muted); font-size:11px; }
.billing-menu-item b { color:var(--green); font-size:13px; }
.billing-menu-item .primary-button { min-height:34px; padding:0 9px; font-size:12px; }
.billing-menu-item .primary-button svg { width:15px; }
.billing-checkout .panel-head { min-height:52px; }
.billing-customer-fields { display:grid; gap:11px; padding:15px; border-bottom:1px solid var(--line); }
.billing-customer-fields label { display:grid; gap:5px; color:#51665e; font-size:12px; font-weight:700; }
.billing-customer-fields input,.billing-customer-fields select,.billing-parent select { width:100%; min-height:37px; padding:7px 9px; border:1px solid #cddbd5; border-radius:6px; outline:0; color:var(--ink); background:#fff; }
.billing-customer-fields input:focus,.billing-customer-fields select:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(22,97,80,.12); }
.billing-no-phone { display:flex !important; align-items:center; grid-template-columns:18px 1fr; }
.billing-no-phone input { min-height:auto; width:16px; }
.billing-customer-suggestions { display:grid; gap:3px; max-height:175px; overflow:auto; }
.billing-customer-suggestions button { display:flex; justify-content:space-between; gap:10px; padding:8px 10px; border:1px solid #e4ece8; border-radius:5px; color:var(--ink); background:#f8fbf9; text-align:left; }
.billing-customer-suggestions span { color:var(--muted); }
.billing-credit-note,.billing-discount-note { margin:0; color:var(--muted); font-size:11px; }
.billing-discount { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px; }
.billing-discount .secondary-button { height:37px; }
.billing-cart { padding:14px 15px 5px; }
.billing-cart-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:5px; }
.billing-cart-heading h3 { font-size:14px; }
.billing-cart-heading span { color:var(--muted); font-size:11px; }
.billing-cart-item { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid #edf1ef; }
.billing-cart-title { min-width:0; display:grid; gap:3px; }
.billing-cart-title strong { font-size:12px; }
.billing-cart-title > span { color:var(--muted); font-size:11px; }
.billing-parent { display:flex; align-items:center; gap:4px; color:var(--muted); font-size:10px; }
.billing-parent select { min-height:27px; max-width:170px; padding:3px 6px; font-size:11px; }
.billing-quantity { display:flex; align-items:center; gap:7px; }
.billing-quantity button { width:26px; height:26px; border:1px solid var(--line); border-radius:5px; color:var(--green); background:#fff; font-size:17px; }
.billing-quantity span { min-width:16px; text-align:center; font-size:12px; }
.billing-quantity strong { min-width:58px; text-align:right; font-size:12px; }
.billing-totals { display:grid; gap:8px; margin:0; padding:13px 15px 15px; }
.billing-totals > div,.receipt-totals > div { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:12px; }
.billing-totals dd,.receipt-totals dd { margin:0; color:var(--ink); font-weight:700; }
.billing-totals .billing-total { padding-top:10px; border-top:1px solid var(--line); color:var(--ink); font-size:15px; font-weight:700; }
.billing-total dd { color:var(--green); font-size:17px; }
.billing-save { width:calc(100% - 30px); margin:0 15px 15px; }
.bill-receipt { width:min(100%,380px); margin:20px auto; padding:18px; border:1px solid var(--line); border-radius:7px; color:#111; background:#fff; font-family:"Poppins","DM Sans",Arial,sans-serif; font-size:12px; font-weight:500; }
.bill-receipt.khata-print-area { width:min(100%,380px); margin:20px auto; padding:18px; border:1px solid var(--line); border-radius:7px; color:#111; background:#fff; font-family:"Poppins","DM Sans",Arial,sans-serif; font-size:12px; font-weight:500; }
.receipt-logo { display:block; width:100%; max-width:290px; height:auto; margin:0 auto; }
.receipt-tagline { margin-top:4px; text-align:center; }
.receipt-divider { width:100%; margin:10px 0; border-top:1px dashed #222; }
.receipt-meta { display:grid; gap:5px; }
.receipt-meta > div { display:grid; grid-template-columns:79px minmax(0,1fr); gap:5px; line-height:1.35; }
.receipt-meta strong { white-space:pre; }
.receipt-meta span { overflow-wrap:anywhere; }
.receipt-table { width:100%; table-layout:fixed; border-collapse:collapse; font:inherit; }
.receipt-item-col { width:46%; }
.receipt-rate-col { width:20%; }
.receipt-qty-col { width:10%; }
.receipt-amount-col { width:24%; }
.receipt-table th,.receipt-table td { padding:5px 1px; border:0; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.receipt-table th { font-weight:700; }
.receipt-table .receipt-number { text-align:right; white-space:nowrap; }
.receipt-table .receipt-quantity { text-align:center; }
.receipt-totals { display:grid; gap:5px; margin:0; }
.receipt-totals > div { display:flex; justify-content:space-between; gap:8px; color:#111; font-size:inherit; line-height:1.35; }
.receipt-totals dt { min-width:0; }
.receipt-totals dd { margin:0; text-align:right; white-space:nowrap; }
.receipt-totals .receipt-total { padding-top:7px; font-weight:700; }
.receipt-payment-qr { display:grid; justify-items:center; gap:6px; margin-top:10px; text-align:center; }
.receipt-payment-qr strong { font-size:11px; }
.receipt-payment-qr canvas { display:block; width:140px; height:140px; }
.receipt-qr-error { font-size:10px; }
.receipt-thanks { display:grid; gap:8px; margin-top:12px; text-align:center; font-size:10px; }
.bill-receipt-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; }
.billing-checkout .empty { padding:14px 4px; font-size:12px; }
@media (max-width:1100px) { .billing-layout { grid-template-columns:minmax(0,1fr); } }
@media (max-width:760px) { .billing-menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .billing-menu-grid { grid-template-columns:1fr; }.billing-cart-item { align-items:flex-start; flex-direction:column; }.billing-quantity { width:100%; }.billing-quantity strong { margin-left:auto; }.bill-receipt { padding:14px; } }
@page thermal-receipt { margin:0; }
@media print {
  body * { visibility:hidden !important; }
  .bill-receipt,.bill-receipt * { visibility:visible !important; }
  .bill-receipt,.bill-receipt.khata-print-area { page:thermal-receipt; position:absolute; top:0; left:0; box-sizing:border-box; width:80mm; max-width:none; margin:0; padding:3mm 2.5mm; border:0; border-radius:0; font-size:10pt; }
  .receipt-logo { width:100%; max-width:64mm; }
  .receipt-tagline { margin-top:1.5mm; }
  .receipt-divider { margin:2.5mm 0; }
  .receipt-meta { gap:1.2mm; }
  .receipt-meta > div { grid-template-columns:20mm minmax(0,1fr); gap:1mm; }
  .receipt-item-col { width:45%; }
  .receipt-rate-col { width:12%; }
  .receipt-qty-col { width:13%; }
  .receipt-amount-col { width:30%; }
  .receipt-table .receipt-quantity { white-space:nowrap; }
  .receipt-table th,.receipt-table td { padding:1mm 0; }
  .receipt-totals { gap:1mm; }
  .receipt-payment-qr { gap:1mm; margin-top:2mm; }
  .receipt-payment-qr canvas { width:31mm; height:31mm; }
  .receipt-payment-qr strong { font-size:10pt; }
  .receipt-qr-error { font-size:7pt; }
  .receipt-thanks { gap:1.5mm; margin-top:3mm; font-size:10pt; }
  .bill-receipt-actions,.sidebar,.topbar,.app-error { display:none !important; }
}
