:root{--blue:#0b347f;--blue2:#0e459b;--bg:#eef3f8;--line:#d7dee8;--green:#16813a;--red:#c7172a;--black:#111;--maroon:#8a0f0f}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:#111}.layout{display:flex;min-height:100vh}.sidebar{width:230px;background:#092d78;color:#fff;padding:22px;position:fixed;left:0;top:0;bottom:0}.logo{color:#fff;font-weight:900;font-size:28px;letter-spacing:.5px;margin-bottom:28px}.sidebar h3{display:none}.sidebar a{display:block;color:#fff;text-decoration:none;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.18);font-size:16px;background:transparent;border-radius:0;text-align:left;font-weight:500;margin:0}.sidebar a:hover{background:rgba(255,255,255,.12)}.main{margin-left:230px;padding:28px;width:calc(100% - 230px)}h1{font-size:34px;color:#082c73;margin:10px 0 24px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.card,.toolbar-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:18px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.btn{background:#0c347f;color:#fff;border:0;border-radius:6px;padding:9px 15px;text-decoration:none;display:inline-block;font-weight:700;cursor:pointer}.btn:hover{filter:brightness(.96)}.btn.green{background:#15803d}.btn.red,.btn.danger{background:#cc1f1f}.btn.gray{background:#5d6772}.btn.small{padding:6px 10px;font-size:12px}input,select,textarea{width:100%;padding:9px 10px;border:1px solid #b9c4d2;border-radius:5px;background:#fff;font-size:14px}textarea{min-height:52px}label{font-weight:700;margin:9px 0 5px;display:block;font-size:14px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid #cfd7e4;padding:8px;text-align:left;vertical-align:top}th{background:#092d78;color:#fff}.badge{display:inline-block;border-radius:20px;padding:4px 9px;font-size:12px;border:1px solid #b8d7c1;background:#eaf7ec;color:#166534;font-weight:700}.badge.comp{background:#fff3d8;color:#9a6a00;border-color:#ffd68a}.dot{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:middle;margin-right:5px;background:#0b4a9b}.dot.green{background:#197a40}.dot.maroon{background:#8a0f0f}.dot.black{background:#111}.dot.blue{background:#0b347f}.page-actions{display:flex;gap:10px;justify-content:flex-end}.invoice-shell{max-width:1600px;margin:0 auto}.invoice-controls{display:grid;grid-template-columns:1.2fr 1.1fr .9fr .9fr auto auto auto;gap:12px;align-items:end}.invoice-paper{background:white;max-width:820px;margin:18px auto;border:0;padding:24px 28px;box-shadow:0 0 0 1px #aaa}.invoice-paper.wide{max-width:1120px}.paper-head{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}.paper-company h2{font-size:34px;margin:0 0 8px;letter-spacing:1px}.paper-company p{font-size:13px;line-height:1.35;margin:3px 0}.business-line{font-size:12px;font-weight:700;font-style:italic;margin-top:10px}.tax-title{text-align:right}.tax-title h2{color:#092d78;margin:0 0 10px;font-size:24px}.tax-title p{margin:6px 0;font-size:15px}.bill-ship{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.section-title{background:#111;color:#fff;padding:7px 9px;font-weight:800;font-size:13px}.section-title.blue{background:#092d78}.cust-box{border:1px solid #bcbcbc;border-top:0;padding:8px;font-size:12px}.items-table{margin-top:12px}.items-table th{background:#111;font-size:11px;text-align:center;padding:5px}.items-table td{font-size:12px;padding:4px}.items-table input,.items-table select,.items-table textarea{border:0;padding:3px;font-size:12px;background:transparent}.items-table textarea{min-height:34px}.summary-row{display:grid;grid-template-columns:1.2fr .8fr;gap:15px;margin-top:12px}.amountwords,.gstsum{padding:8px}.totals{text-align:right;margin:12px 0}.bank-sign{display:grid;grid-template-columns:1fr .9fr;gap:30px;margin-top:28px}.sign{text-align:center;font-weight:bold;padding-top:15px}.no-print{display:block}.quick-firm{border:1px solid #b9c4d2;border-radius:8px;padding:12px;margin-top:10px;background:#fafcff}.quick-firm h2{margin:0 0 6px;color:#111}.quick-firm p{margin:6px 0}.notice{padding:12px;border-radius:6px;background:#e9f7ef;color:#166534;margin:12px 0}.error{background:#fdecea;color:#9f1d1d}@media(max-width:1100px){.invoice-controls,.grid4,.grid3{grid-template-columns:1fr 1fr}.main{padding:18px}.sidebar{width:210px}.main{margin-left:210px;width:calc(100% - 210px)}}@media print{.sidebar,.no-print,.topbar,.toolbar-card{display:none!important}.main{margin:0;width:100%;padding:0}.invoice-paper{box-shadow:none;max-width:none;padding:14px;border:0}body{background:#fff}input,select,textarea{border:0;padding:0}.layout{display:block}.items-table input,.items-table select,.items-table textarea{border:0}.paper-company h2{font-size:30px}}
.btn-small{background:#0b347f;color:#fff;border:0;border-radius:5px;padding:5px 8px;text-decoration:none;font-size:12px;font-weight:bold;display:inline-block}.btn-small.btn-green{background:#16813a}.btn-small.btn-red{background:#c7172a}.searchbox{max-width:320px;float:right;margin-bottom:12px}@media print{.no-print,.btn,.btn-small{display:none!important}.invoice-paper{width:210mm;min-height:297mm;margin:0 auto;box-shadow:none}.items-table select{appearance:none}.items-table select::-ms-expand{display:none}}
/* V13 final invoice polish */
.btn-small.btn-edit{background:#b7791f}
.invoice-bottom{display:grid;grid-template-columns:1fr 350px;gap:20px;align-items:start;margin-top:16px}.left-summary{display:block}.left-summary .amountwords{padding:0 0 12px 0}.left-summary .gstsum{padding:0}.right-totals table th{background:#092d78;font-size:18px}.right-totals table td,.right-totals table th{text-align:right}.right-totals table td:first-child,.right-totals table th:first-child{text-align:left}.bank-table td{padding:5px 8px}.bank-sign{display:grid;grid-template-columns:1fr .75fr;gap:55px;margin-top:26px}.sign{text-align:center;font-weight:400;padding-top:6px}.sign hr{border:0;border-top:1px solid #111;margin:18px 0 6px}.terms{margin-top:18px}.items-table th:nth-child(1),.items-table td:nth-child(1){width:44px;text-align:center}.items-table th:nth-child(2),.items-table td:nth-child(2){width:auto}.items-table th:nth-child(3),.items-table td:nth-child(3){width:82px;text-align:center}.items-table th:nth-child(4),.items-table td:nth-child(4){width:56px;text-align:center}.items-table th:nth-child(5),.items-table td:nth-child(5){width:72px;text-align:right}.items-table th:nth-child(6),.items-table td:nth-child(6){width:60px;text-align:center}.items-table th:nth-child(7),.items-table td:nth-child(7){width:54px;text-align:center}.items-table th:nth-child(8),.items-table td:nth-child(8){width:64px;text-align:right}.items-table th:nth-child(9),.items-table td:nth-child(9){width:64px;text-align:right}.items-table th:nth-child(10),.items-table td:nth-child(10){width:58px;text-align:right}.items-table th:nth-child(11),.items-table td:nth-child(11){width:78px;text-align:right}.items-table .desc{min-width:260px}.items-table td{line-height:1.25}.gstsum table th,.gstsum table td{font-size:12px;text-align:center;padding:7px}
@media print{.invoice-bottom{grid-template-columns:1fr 350px}.invoice-paper.wide{max-width:none;width:210mm;min-height:297mm;padding:8mm 8mm}.paper-company h2{font-size:31px}.items-table th{font-size:10.5px}.items-table td{font-size:11.5px}.bank-sign{margin-top:22px}.terms{font-size:12px}.gstModeBox,.badge{display:none!important}}

/* V14 compact item rows and download button */
.btn-small.btn-download{background:#5d6772}
.items-table td.desc select{font-weight:600}
.items-table td{padding-top:3px;padding-bottom:3px}
.items-table input,.items-table select{padding-top:2px;padding-bottom:2px;min-height:24px}
@media print{.items-table td{padding-top:3px;padding-bottom:3px}.items-table input,.items-table select{min-height:20px}}

/* V16 firm-wise invoice filter */
.invoice-filter-bar{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:end;margin-bottom:12px}
.invoice-filter-bar .searchbox{max-width:none;float:none;margin-bottom:0}
.firm-folder-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.firm-folder{border:1px solid #cfd7e4;background:#f8fafc;border-radius:8px;padding:8px 10px;cursor:pointer;font-weight:700;color:#092d78}
.firm-folder span{background:#092d78;color:#fff;border-radius:12px;padding:2px 7px;margin-left:5px;font-size:12px}
.firm-folder.active{background:#092d78;color:#fff}
.firm-folder.active span{background:#fff;color:#092d78}
@media(max-width:900px){.invoice-filter-bar{grid-template-columns:1fr}}
@media print{.firm-folder-row,.invoice-filter-bar{display:none!important}}

/* V17 final professional invoice design - coded from approved reference */
.invoice-page-top{max-width:1500px;margin:0 auto 10px;align-items:center}.invoice-page-top h1{margin:0;color:#111;text-align:center;flex:1;font-size:30px}.invoice-page-top .page-actions{white-space:nowrap}.invoice-page-top .btn{border-radius:4px;padding:9px 13px;font-size:13px}.final-invoice{--theme:#0b347f;max-width:1120px;padding:0;margin:12px auto 24px;box-shadow:none;background:#fff;border:1px solid #bfc6d1}.final-invoice.theme-blue{--theme:#082c83}.final-invoice.theme-green{--theme:#087017}.final-invoice.theme-maroon{--theme:#8a0505}.final-invoice.theme-black{--theme:#080808}.invoice-frame{border:1.6px solid var(--theme);margin:8px;padding:10px 10px 8px;background:#fff}.final-head{display:grid;grid-template-columns:86px 1fr 250px 110px;gap:12px;align-items:start}.firm-logo{width:78px;height:78px;border:3px solid var(--theme);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--theme);font-weight:900;font-size:30px;line-height:.95;text-align:center;margin-top:4px;background:#fff}.firm-logo span{display:block;max-width:72px;overflow:hidden}.firm-info h2{margin:0 0 5px;color:var(--theme);font-size:30px;line-height:1.05;letter-spacing:.4px;white-space:nowrap}.firm-info p{margin:3px 0;font-size:12.5px;line-height:1.25;font-weight:700}.contact-line{font-size:12px}.tax-meta{text-align:left;border-left:1px solid #aaa;padding-left:14px;min-height:80px}.tax-meta h3{margin:0 0 8px;color:var(--theme);font-size:20px;text-align:center}.tax-meta table,.tax-meta td{border:0;background:transparent;padding:2px 4px;font-size:12.2px;font-weight:700}.gem-box{text-align:center;min-height:80px}.gem-box img{max-width:88px;max-height:60px;object-fit:contain;display:block;margin:0 auto 4px}.gem-box b{display:block;font-size:24px}.gem-box small{display:block;font-size:8px;line-height:1}.gem-box em{display:inline-block;background:var(--theme);color:#fff;font-style:normal;font-size:11px;font-weight:800;border-radius:4px;padding:5px 8px;margin-top:5px}.business-strip{background:var(--theme);color:#fff;text-align:center;font-weight:900;font-size:12px;line-height:1.2;padding:8px 10px;margin:9px 0 7px;text-transform:uppercase;letter-spacing:.2px}.final-billship{gap:10px;margin-top:0}.final-billship .section-title{background:#fff;color:var(--theme);border:1px solid var(--theme);border-bottom:0;font-size:13px;padding:7px 10px}.final-billship .cust-box{border:1px solid var(--theme);border-top:0;min-height:116px;padding:6px 10px}.final-billship table,.final-billship td{border:0;background:transparent;padding:2px 4px;font-size:11.5px;line-height:1.15}.final-billship td:first-child{width:72px;font-weight:700}.final-items{margin-top:8px;border-color:var(--theme)}.final-items th{background:var(--theme)!important;color:#fff;border-color:rgba(255,255,255,.35);font-size:10.5px;padding:6px 4px;text-align:center;white-space:nowrap}.final-items td{border-color:color-mix(in srgb, var(--theme) 32%, #d8d8d8);font-size:11.3px;padding:5px 5px;line-height:1.15;font-weight:700;text-align:center}.final-items td:nth-child(2){text-align:left;font-weight:700}.final-items td:last-child{text-align:right}.final-items .blank-row td{height:21px}.final-bottom{grid-template-columns:1fr 360px;gap:28px;margin-top:10px}.final-bottom .amountwords{font-size:11.7px;font-weight:700;padding:0 0 8px;color:#111}.final-bottom .amountwords b,.gstsum>b{color:var(--theme);font-size:12px}.gstsum table{margin-top:3px}.gstsum table th{background:var(--theme)!important;color:#fff;font-size:10.5px;padding:5px 4px;border-color:rgba(255,255,255,.35)}.gstsum table td{font-size:11px;padding:5px 4px;border-color:color-mix(in srgb, var(--theme) 25%, #d8d8d8);font-weight:700}.right-totals table{border:1px solid var(--theme)}.right-totals td{font-size:12px;font-weight:800;padding:8px 10px;border-color:color-mix(in srgb, var(--theme) 28%, #d8d8d8)}.right-totals th{background:var(--theme)!important;color:#fff;font-size:18px;padding:10px;border-color:var(--theme)}.final-footer{display:grid;grid-template-columns:1.08fr 1fr .9fr;gap:14px;margin-top:12px;border:1px solid color-mix(in srgb, var(--theme) 40%, #ddd);padding:9px 12px}.final-footer h3{font-size:12px;color:var(--theme);margin:0 0 5px}.final-footer,.final-footer td{font-size:10.7px;font-weight:700}.final-footer table,.final-footer td{border:0;background:transparent;padding:2px 3px}.final-footer>div+div{border-left:1px solid color-mix(in srgb, var(--theme) 45%, #ccc);padding-left:18px}.final-footer .terms{margin:0;font-size:10.7px}.final-footer ul{margin:6px 0 0 13px;padding:0}.final-footer li{margin-bottom:4px}.final-footer .sign{text-align:center;font-size:11px;padding:0;font-weight:700}.final-footer .sign hr{margin:8px 0 5px;border-color:#222}.theme-maroon .invoice-frame{position:relative}.theme-maroon .invoice-frame:before,.theme-maroon .invoice-frame:after{content:'✦';position:absolute;color:var(--theme);font-size:20px}.theme-maroon .invoice-frame:before{top:2px;left:5px}.theme-maroon .invoice-frame:after{top:2px;right:5px}.theme-blue .final-footer:after,.theme-green .final-footer:after{content:'✓ Quality Service';display:none}.sidebar .logo:after{content:'Billing Software';display:block;font-size:15px;font-weight:700;margin-top:4px}.sidebar a[href="dashboard.php"]:before{content:'⌂ ';font-weight:900}.sidebar a[href="invoice_new.php"]:before{content:'▣ '}.sidebar a[href="invoices.php"]:before{content:'▤ '}.sidebar a[href="customers.php"]:before{content:'♟ '}.sidebar a[href="products.php"]:before{content:'▣ '}.sidebar a[href="companies.php"]:before{content:'▦ '}.sidebar a[href="reports.php"]:before{content:'▥ '}.sidebar a[href="logout.php"]:before{content:'↻ '}
@media(max-width:1250px){.final-head{grid-template-columns:76px 1fr 220px 100px}.firm-info h2{font-size:25px}.final-invoice{max-width:1000px}.main{padding:18px}.invoice-page-top h1{font-size:25px}.invoice-page-top{display:block}.invoice-page-top .page-actions{margin-top:10px}}
@media print{@page{size:A4;margin:6mm}.final-invoice{width:198mm!important;max-width:198mm!important;margin:0 auto!important;border:0!important;box-shadow:none!important}.invoice-frame{margin:0;padding:7px}.final-head{grid-template-columns:70px 1fr 210px 85px;gap:8px}.firm-logo{width:62px;height:62px;font-size:24px;border-width:2px}.firm-info h2{font-size:23px}.firm-info p{font-size:10.5px}.tax-meta h3{font-size:16px}.tax-meta table td{font-size:10.3px;padding:1px 2px}.gem-box img{max-width:72px;max-height:45px}.gem-box em{font-size:9px;padding:3px 5px}.business-strip{font-size:9.8px;padding:6px}.final-billship .section-title{font-size:10.7px;padding:5px 7px}.final-billship .cust-box{min-height:88px;padding:5px 7px}.final-billship td{font-size:9.4px;padding:1px 2px}.final-items th{font-size:8.4px;padding:4px 2px}.final-items td{font-size:9px;padding:3px 2px}.final-bottom{grid-template-columns:1fr 285px;gap:14px}.final-bottom .amountwords{font-size:9.4px}.gstsum table th,.gstsum table td{font-size:8.8px;padding:3px 2px}.right-totals td{font-size:9.5px;padding:5px}.right-totals th{font-size:14px;padding:7px}.final-footer{grid-template-columns:1.05fr 1fr .88fr;margin-top:8px;padding:6px 8px;gap:8px}.final-footer,.final-footer td,.final-footer .terms,.final-footer .sign{font-size:8.8px}.final-footer h3{font-size:9.5px}.final-footer>div+div{padding-left:10px}.bank-table td{padding:1px 2px}.paper-company h2{font-size:23px}body{background:#fff!important}.main{margin:0!important;width:100%!important;padding:0!important}.layout{display:block!important}}

/* V18: saved invoice table matches new invoice layout; Composition has no GST columns/summary */
.final-items{table-layout:fixed;width:100%}
.composition-view .final-items th,.composition-view .final-items td{font-size:11.5px;padding:5px 6px}
.composition-note{border:1px solid color-mix(in srgb, var(--theme) 30%, #d8d8d8);padding:9px 10px;margin-top:8px;font-size:11.5px;font-weight:700;background:#fff}
.composition-view .final-bottom{grid-template-columns:1fr 360px;align-items:start}
@media print{
  @page{size:A4 portrait;margin:5mm}
  html,body{width:210mm;min-height:297mm;overflow:visible!important}
  .final-invoice{width:200mm!important;max-width:200mm!important;margin:0 auto!important;page-break-inside:avoid!important;break-inside:avoid!important}
  .invoice-frame{min-height:286mm;padding:6px!important;display:flex;flex-direction:column;justify-content:flex-start}
  .final-items{table-layout:fixed;width:100%}
  .composition-view .final-items th,.composition-view .final-items td{font-size:9px;padding:3px 3px}
  .composition-note{font-size:9px;padding:5px 7px;margin-top:5px}
  .composition-view .final-bottom{grid-template-columns:1fr 285px;gap:14px}
  .final-footer{margin-top:auto!important}
}

/* V19: approved A4 portrait finishing - slightly larger Bill To/Product font + blank rows fill */
.final-billship .section-title{font-size:14px}
.final-billship table,.final-billship td{font-size:12.5px}
.final-items th{font-size:11.5px}
.final-items td{font-size:12.3px}
.final-items .blank-row td{height:24px}
@media print{
  .invoice-frame{padding:8px 6px 6px!important}
  .final-head{margin-top:2mm}
  .final-billship .section-title{font-size:11.7px!important}
  .final-billship table,.final-billship td{font-size:10.4px!important;line-height:1.18!important}
  .final-billship .cust-box{min-height:92px!important}
  .final-items th{font-size:9.4px!important;padding:4px 2px!important}
  .final-items td{font-size:10px!important;padding:3px 2px!important;line-height:1.14!important}
  .final-items .blank-row td{height:16px!important}
  .composition-view .final-items th,.composition-view .final-items td{font-size:10px!important;padding:3px 3px!important}
  .regular-view .final-items .blank-row td{height:14px!important}
  .final-bottom{margin-top:6px!important}
  .final-footer{margin-top:auto!important}
}

/* V20 final: larger Bill/Ship + item font, lower A4 position, extra rows */
.final-billship .section-title{font-size:16px!important;}
.final-billship table,.final-billship td{font-size:14.5px!important;line-height:1.2!important;}
.final-items th{font-size:13.5px!important;}
.final-items td{font-size:14.3px!important;line-height:1.18!important;}
.final-items .blank-row td{height:24px!important;}
@media print{
  @page{size:A4 portrait;margin:11mm 6mm 6mm 6mm;}
  .invoice-frame{margin-top:0!important;}
  .final-head{margin-top:5mm!important;}
  .final-billship .section-title{font-size:13.7px!important;padding:5px 7px!important;}
  .final-billship table,.final-billship td{font-size:12.4px!important;line-height:1.16!important;}
  .final-billship .cust-box{min-height:96px!important;}
  .final-items th{font-size:11.4px!important;padding:4px 2px!important;}
  .final-items td{font-size:12px!important;padding:3px 2px!important;line-height:1.1!important;}
  .composition-view .final-items th,.composition-view .final-items td{font-size:12px!important;padding:3px 3px!important;}
  .final-items .blank-row td{height:15px!important;}
  .regular-view .final-items .blank-row td{height:13px!important;}
  .final-bottom{margin-top:6px!important;}
}

/* V22: New Invoice total section same as Saved Invoice */
.new-invoice-paper{--theme:#092d78;}
.new-invoice-paper .right-totals table{border:1px solid var(--theme)!important;}
.new-invoice-paper .right-totals td{font-size:12px;font-weight:800;padding:8px 10px;border:1px solid #cfd7e4;}
.new-invoice-paper .right-totals th{background:var(--theme)!important;color:#fff!important;font-size:18px!important;padding:10px!important;border:1px solid var(--theme)!important;text-transform:uppercase;}
.new-invoice-paper .grand-total-row th{background:var(--theme)!important;color:#fff!important;}
.new-invoice-bottom{grid-template-columns:1fr 360px;gap:28px;margin-top:10px;}
.new-invoice-paper .final-items th{background:#111!important;color:#fff;}
@media print{
  .new-invoice-paper .right-totals td{font-size:9.5px!important;padding:5px!important;}
  .new-invoice-paper .right-totals th{font-size:14px!important;padding:7px!important;}
  .new-invoice-bottom{grid-template-columns:1fr 285px;gap:14px;margin-top:6px!important;}
}

/* V20: All Invoices customer name + address and Company Settings polish */
.customer-cell b{display:block;font-size:14px;color:#111827;line-height:1.25}
.customer-cell small{display:block;margin-top:3px;color:#4b5563;line-height:1.35;white-space:normal;max-width:280px}
.grid2{display:grid;grid-template-columns:2fr 1fr;gap:14px;align-items:start}
@media(max-width:800px){.grid2{grid-template-columns:1fr}.customer-cell small{max-width:none}}

.items-table td.desc input.manualDesc{display:block!important;width:100%;background:#fff!important;border:0!important;color:#111!important;font-weight:600;}
.items-table td.desc input.manualDesc::placeholder{color:#777;font-weight:400;}

/* CA Final Patch: firm colour consistency + A4 print fit + footer table polish */
.final-invoice.theme-blue{--theme:#082c83!important}
.final-invoice.theme-green{--theme:#087017!important}
.final-invoice.theme-maroon{--theme:#800000!important}
.final-invoice.theme-black{--theme:#111111!important}
.final-footer{grid-template-columns:1.05fr 1fr .9fr!important;align-items:stretch!important}
.final-footer table{width:100%!important;border-collapse:collapse!important}
.final-footer td{vertical-align:top!important;line-height:1.25!important}
.final-footer .sign{display:flex!important;flex-direction:column!important;justify-content:space-between!important;min-height:82px!important}
.final-footer .sign hr{width:100%!important;margin:10px 0 6px!important;border:0!important;border-top:1px solid #222!important}
@media print{
  @page{size:A4 portrait;margin:5mm!important}
  html,body{width:auto!important;min-height:auto!important;overflow:visible!important}
  .final-invoice{width:198mm!important;max-width:198mm!important;margin:0 auto!important;border:0!important;box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid!important}
  .invoice-frame{min-height:283mm!important;padding:5.5px!important;margin:0!important;display:flex!important;flex-direction:column!important}
  .final-head{margin-top:0!important;grid-template-columns:66px 1fr 205px 82px!important;gap:7px!important}
  .firm-logo{width:58px!important;height:58px!important;font-size:22px!important;border-width:2px!important}
  .firm-info h2{font-size:22px!important;white-space:nowrap!important}
  .firm-info p{font-size:10px!important;line-height:1.12!important;margin:2px 0!important}
  .tax-meta h3{font-size:15px!important;margin-bottom:4px!important}
  .tax-meta table td{font-size:9.5px!important;padding:1px 2px!important;line-height:1.1!important}
  .gem-box img{max-width:66px!important;max-height:40px!important}
  .gem-box em{font-size:8.5px!important;padding:3px 5px!important}
  .business-strip{font-size:9.3px!important;line-height:1.1!important;padding:5px!important;margin:6px 0!important}
  .final-billship .section-title{font-size:11px!important;padding:4px 6px!important}
  .final-billship .cust-box{min-height:84px!important;padding:4px 6px!important}
  .final-billship table,.final-billship td{font-size:9.4px!important;line-height:1.12!important;padding:1px 2px!important}
  .final-items{margin-top:6px!important;table-layout:fixed!important}
  .final-items th{font-size:8.8px!important;padding:3px 2px!important;line-height:1.05!important}
  .final-items td{font-size:9.6px!important;padding:2.5px 2px!important;line-height:1.05!important}
  .final-items .blank-row td{height:13px!important}
  .composition-view .final-items th,.composition-view .final-items td{font-size:9.6px!important;padding:2.5px 3px!important}
  .final-bottom{grid-template-columns:1fr 280px!important;gap:12px!important;margin-top:5px!important}
  .final-bottom .amountwords,.composition-note{font-size:8.8px!important;padding:4px 6px!important;margin-top:4px!important}
  .right-totals td{font-size:9px!important;padding:4px 5px!important}
  .right-totals th{font-size:13px!important;padding:6px!important}
  .final-footer{margin-top:auto!important;padding:5px 7px!important;gap:8px!important;grid-template-columns:1.04fr 1fr .88fr!important}
  .final-footer,.final-footer td,.final-footer .terms,.final-footer .sign{font-size:8px!important;line-height:1.15!important}
  .final-footer h3{font-size:8.7px!important;margin-bottom:3px!important}
  .final-footer>div+div{padding-left:8px!important}
  .final-footer .sign{min-height:66px!important}
}

/* FINAL A4 PRINT FIX: New Invoice must stay on one A4 page; totals touch item table */
@media print{
  @page{size:A4 portrait;margin:5mm!important;}
  body{background:#fff!important;}
  .new-invoice-paper{
    width:198mm!important;
    max-width:198mm!important;
    height:287mm!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:4.5mm 5mm!important;
    box-shadow:none!important;
    border:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .new-invoice-paper .paper-head{
    grid-template-columns:1.45fr .78fr!important;
    gap:6px!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  .new-invoice-paper .paper-company h2{font-size:18px!important;margin:0 0 2px!important;line-height:1!important;}
  .new-invoice-paper .paper-company p{font-size:7.8px!important;line-height:1.05!important;margin:1px 0!important;}
  .new-invoice-paper .business-line{font-size:7.6px!important;line-height:1.05!important;margin-top:2px!important;}
  .new-invoice-paper .tax-title h2{font-size:13px!important;margin:0 0 2px!important;line-height:1!important;}
  .new-invoice-paper .tax-title p{font-size:7.8px!important;line-height:1.05!important;margin:1px 0!important;}
  .new-invoice-paper #gstModeBox{font-size:7.8px!important;padding:2px 5px!important;margin-top:2px!important;}

  .new-invoice-paper .bill-ship{gap:5px!important;margin-top:5px!important;flex:0 0 auto!important;}
  .new-invoice-paper .section-title{font-size:8.2px!important;padding:3px 5px!important;line-height:1!important;}
  .new-invoice-paper .cust-box{font-size:7.9px!important;line-height:1.08!important;padding:3px 5px!important;min-height:0!important;}

  .new-invoice-paper .final-items{
    margin-top:4px!important;
    table-layout:fixed!important;
    width:100%!important;
    flex:0 0 auto!important;
  }
  .new-invoice-paper .final-items th{font-size:7.2px!important;padding:2px 1px!important;line-height:1!important;}
  .new-invoice-paper .final-items td{font-size:7.4px!important;padding:1px 1px!important;line-height:1!important;height:5.1mm!important;}
  .new-invoice-paper .final-items input,
  .new-invoice-paper .final-items select,
  .new-invoice-paper .final-items textarea{font-size:7.4px!important;line-height:1!important;padding:0!important;min-height:0!important;height:auto!important;}

  /* Total box should start immediately after last item row */
  .new-invoice-paper .new-invoice-bottom{
    grid-template-columns:1fr 260px!important;
    gap:8px!important;
    margin-top:0!important;
    flex:0 0 auto!important;
  }
  .new-invoice-paper .amountwords,
  .new-invoice-paper .gstsum{font-size:7.5px!important;line-height:1.1!important;padding:2px 4px!important;margin:0!important;}
  .new-invoice-paper .gstsum table th,
  .new-invoice-paper .gstsum table td{font-size:7px!important;padding:1px 2px!important;line-height:1!important;}
  .new-invoice-paper .right-totals table{margin:0!important;}
  .new-invoice-paper .right-totals td{font-size:7.8px!important;padding:3px 4px!important;line-height:1.05!important;}
  .new-invoice-paper .right-totals th{font-size:10.5px!important;padding:4px!important;line-height:1.05!important;}

  .new-invoice-paper .bank-sign{
    grid-template-columns:1fr .72fr!important;
    gap:16px!important;
    margin-top:4px!important;
    flex:0 0 auto!important;
  }
  .new-invoice-paper .bank-sign h3{font-size:8px!important;margin:0 0 2px!important;line-height:1!important;}
  .new-invoice-paper .bank-table td{font-size:7.3px!important;padding:1px 2px!important;line-height:1!important;}
  .new-invoice-paper .sign{font-size:7.8px!important;line-height:1.05!important;padding-top:2px!important;}
  .new-invoice-paper .sign br{display:none!important;}
  .new-invoice-paper .sign hr{margin:10px 0 3px!important;}
}

/* V7 FINAL A4 PRINT POLISH
   - Top print margin 15mm
   - Invoice stays on one A4 page
   - Total box touches item table (0 gap)
   - Same for all firm colors/templates
*/
@media print{
  @page{size:A4 portrait;margin:15mm 7mm 6mm 7mm!important;}
  html,body{background:#fff!important;margin:0!important;padding:0!important;width:auto!important;min-height:0!important;overflow:visible!important;}
  .layout,.main{display:block!important;margin:0!important;padding:0!important;width:100%!important;}
  .sidebar,.no-print,.topbar,.toolbar-card,.pdf-actions,.page-actions{display:none!important;}

  .final-invoice{
    width:196mm!important;
    max-width:196mm!important;
    height:276mm!important;
    min-height:276mm!important;
    margin:0 auto!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:#fff!important;
    page-break-after:always!important;
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }
  .invoice-frame{
    height:276mm!important;
    min-height:276mm!important;
    max-height:276mm!important;
    margin:0!important;
    padding:5mm 5mm 4mm!important;
    border:1.4px solid var(--theme)!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
  }

  .final-head{grid-template-columns:62px 1fr 198px 76px!important;gap:7px!important;margin:0!important;align-items:start!important;flex:0 0 auto!important;}
  .firm-logo{width:56px!important;height:56px!important;font-size:21px!important;border-width:2px!important;margin-top:1px!important;}
  .firm-info h2{font-size:21px!important;line-height:1!important;margin:0 0 2px!important;white-space:nowrap!important;}
  .firm-info p{font-size:9.4px!important;line-height:1.08!important;margin:1px 0!important;}
  .tax-meta{padding-left:8px!important;min-height:0!important;}
  .tax-meta h3{font-size:14px!important;line-height:1!important;margin:0 0 3px!important;}
  .tax-meta table td{font-size:8.9px!important;line-height:1.05!important;padding:1px 2px!important;}
  .gem-box{min-height:0!important;}
  .gem-box img{max-width:60px!important;max-height:37px!important;margin-bottom:2px!important;}
  .gem-box em{font-size:7.8px!important;line-height:1!important;padding:3px 4px!important;margin-top:2px!important;}
  .business-strip{font-size:8.6px!important;line-height:1.06!important;padding:4px 6px!important;margin:5px 0 5px!important;flex:0 0 auto!important;}

  .final-billship{gap:7px!important;margin:0!important;flex:0 0 auto!important;}
  .final-billship .section-title{font-size:9.6px!important;line-height:1!important;padding:4px 6px!important;}
  .final-billship .cust-box{min-height:76px!important;padding:3px 6px!important;}
  .final-billship table,.final-billship td{font-size:8.5px!important;line-height:1.06!important;padding:1px 2px!important;}
  .final-billship td:first-child{width:58px!important;}

  .final-items{margin-top:5px!important;margin-bottom:0!important;table-layout:fixed!important;width:100%!important;flex:0 0 auto!important;}
  .final-items th{font-size:7.8px!important;line-height:1!important;padding:3px 1px!important;}
  .final-items td{font-size:8.8px!important;line-height:1.02!important;padding:1.8px 2px!important;height:4.75mm!important;}
  .final-items .blank-row td{height:4.55mm!important;padding:0 2px!important;}
  .composition-view .final-items th,.composition-view .final-items td{font-size:8.8px!important;padding:1.8px 2px!important;height:4.75mm!important;}
  .composition-view .final-items .blank-row td{height:4.55mm!important;}

  /* Total box must touch the last item row */
  .final-bottom{grid-template-columns:1fr 270px!important;gap:10px!important;margin-top:0!important;padding-top:0!important;align-items:start!important;flex:0 0 auto!important;}
  .final-bottom .amountwords,.composition-note{font-size:8.2px!important;line-height:1.08!important;padding:3px 5px!important;margin:0!important;}
  .final-bottom .amountwords b,.gstsum>b{font-size:8.7px!important;}
  .gstsum{padding:2px 0 0!important;margin:0!important;}
  .gstsum table{margin:1px 0 0!important;}
  .gstsum table th,.gstsum table td{font-size:7.5px!important;line-height:1!important;padding:2px 2px!important;}
  .right-totals table{margin:0!important;border-collapse:collapse!important;}
  .right-totals td{font-size:8.5px!important;line-height:1.05!important;padding:3.5px 5px!important;}
  .right-totals th{font-size:12px!important;line-height:1.05!important;padding:5px!important;}

  .final-footer{margin-top:auto!important;padding:5px 7px!important;gap:7px!important;grid-template-columns:1.04fr 1fr .88fr!important;align-items:stretch!important;flex:0 0 auto!important;}
  .final-footer,.final-footer td,.final-footer .terms,.final-footer .sign{font-size:7.7px!important;line-height:1.12!important;}
  .final-footer h3{font-size:8.2px!important;margin:0 0 2px!important;}
  .final-footer>div+div{padding-left:7px!important;}
  .bank-table td{padding:1px 2px!important;}
  .final-footer .sign{min-height:58px!important;padding-top:2px!important;}
  .final-footer .sign hr{margin:7px 0 3px!important;}
}

/* V8 FINAL A4 PRINT COMFORT FIX
   - Keep A4 single page with 15mm top margin
   - Reduce big middle white gap by moving footer to normal flow
   - Restore readable font size and item row height
*/
@media print{
  @page{size:A4 portrait;margin:15mm 7mm 6mm 7mm!important;}
  .final-invoice{
    width:196mm!important;
    max-width:196mm!important;
    height:276mm!important;
    min-height:276mm!important;
    margin:0 auto!important;
  }
  .invoice-frame{
    height:276mm!important;
    max-height:276mm!important;
    padding:5mm 5mm 4mm!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .final-head{grid-template-columns:64px 1fr 200px 78px!important;gap:7px!important;}
  .firm-logo{width:58px!important;height:58px!important;font-size:22px!important;}
  .firm-info h2{font-size:22px!important;line-height:1.02!important;}
  .firm-info p{font-size:9.8px!important;line-height:1.12!important;}
  .tax-meta h3{font-size:14.6px!important;}
  .tax-meta table td{font-size:9.2px!important;line-height:1.08!important;}
  .business-strip{font-size:8.9px!important;padding:4px 6px!important;margin:5px 0!important;}
  .final-billship .section-title{font-size:10px!important;padding:4px 6px!important;}
  .final-billship .cust-box{min-height:78px!important;padding:4px 6px!important;}
  .final-billship table,.final-billship td{font-size:8.9px!important;line-height:1.08!important;}

  .final-items{margin-top:5px!important;margin-bottom:0!important;}
  .final-items th{font-size:8.6px!important;padding:3.5px 2px!important;line-height:1.05!important;}
  .final-items td{font-size:9.9px!important;line-height:1.08!important;padding:2px 2px!important;height:5.15mm!important;}
  .final-items .blank-row td{height:5.05mm!important;padding:0 2px!important;}
  .composition-view .final-items th,.composition-view .final-items td{font-size:9.9px!important;padding:2px 3px!important;height:5.15mm!important;}
  .composition-view .final-items .blank-row td{height:5.05mm!important;}

  .final-bottom{margin-top:0!important;padding-top:0!important;grid-template-columns:1fr 285px!important;gap:10px!important;}
  .final-bottom .amountwords,.composition-note{font-size:9px!important;line-height:1.12!important;padding:4px 6px!important;}
  .final-bottom .amountwords b,.gstsum>b{font-size:9.5px!important;}
  .gstsum table th,.gstsum table td{font-size:8px!important;padding:2px 2px!important;}
  .right-totals td{font-size:9.2px!important;line-height:1.08!important;padding:4px 5px!important;}
  .right-totals th{font-size:13px!important;line-height:1.08!important;padding:5.5px!important;}

  .final-footer{
    margin-top:5mm!important;
    padding:6px 8px!important;
    gap:8px!important;
    grid-template-columns:1.04fr 1fr .88fr!important;
    flex:0 0 auto!important;
  }
  .final-footer,.final-footer td,.final-footer .terms,.final-footer .sign{font-size:8.4px!important;line-height:1.18!important;}
  .final-footer h3{font-size:9px!important;margin:0 0 3px!important;}
  .final-footer .sign{min-height:64px!important;}
  .final-footer .sign hr{margin:8px 0 4px!important;}

  /* New invoice form preview uses same readable A4 rules */
  .new-invoice-paper .final-items th{font-size:8.6px!important;padding:3.5px 2px!important;line-height:1.05!important;}
  .new-invoice-paper .final-items td,
  .new-invoice-paper .final-items input,
  .new-invoice-paper .final-items select,
  .new-invoice-paper .final-items textarea{font-size:9.6px!important;line-height:1.08!important;}
}

/* V9 FINAL LOCK - A4 printable layout
   Requirements:
   - 24 rows unchanged
   - top margin 15mm
   - GeM logo bigger
   - subtotal box touches item table
   - bank/declaration/signature section pushed to bottom of A4
   - readable fonts, one page print
*/
@media print{
  @page{size:A4 portrait;margin:15mm 7mm 6mm 7mm!important;}
  html,body{background:#fff!important;margin:0!important;padding:0!important;overflow:visible!important;}
  .layout,.main{display:block!important;margin:0!important;padding:0!important;width:100%!important;}
  .sidebar,.no-print,.topbar,.toolbar-card,.pdf-actions,.page-actions{display:none!important;}

  .final-invoice{
    width:196mm!important;
    max-width:196mm!important;
    height:276mm!important;
    min-height:276mm!important;
    margin:0 auto!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:#fff!important;
    page-break-after:always!important;
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }
  .invoice-frame{
    height:276mm!important;
    min-height:276mm!important;
    max-height:276mm!important;
    margin:0!important;
    padding:5mm 5mm 4mm!important;
    border:1.4px solid var(--theme)!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
  }

  .final-head{grid-template-columns:64px 1fr 195px 96px!important;gap:7px!important;margin:0!important;align-items:start!important;flex:0 0 auto!important;}
  .firm-logo{width:58px!important;height:58px!important;font-size:22px!important;border-width:2px!important;margin-top:1px!important;}
  .firm-info h2{font-size:22px!important;line-height:1.02!important;margin:0 0 2px!important;white-space:nowrap!important;}
  .firm-info p{font-size:9.8px!important;line-height:1.12!important;margin:1px 0!important;}
  .tax-meta{padding-left:8px!important;min-height:0!important;}
  .tax-meta h3{font-size:14.5px!important;line-height:1!important;margin:0 0 3px!important;}
  .tax-meta table,.tax-meta td{border:0!important;background:transparent!important;}
  .tax-meta table td{font-size:9.1px!important;line-height:1.08!important;padding:1px 2px!important;}
  .gem-box{min-height:0!important;text-align:center!important;}
  .gem-box img{max-width:88px!important;max-height:58px!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:0 auto 2px!important;display:block!important;}
  .gem-box em{font-size:8.6px!important;line-height:1!important;padding:4px 6px!important;margin-top:2px!important;}
  .business-strip{font-size:8.9px!important;line-height:1.06!important;padding:4px 6px!important;margin:5px 0!important;flex:0 0 auto!important;}

  .final-billship{gap:7px!important;margin:0!important;flex:0 0 auto!important;}
  .final-billship .section-title{font-size:10px!important;line-height:1!important;padding:4px 6px!important;}
  .final-billship .cust-box{min-height:78px!important;padding:4px 6px!important;}
  .final-billship table,.final-billship td{font-size:8.9px!important;line-height:1.08!important;padding:1px 2px!important;}
  .final-billship td:first-child{width:58px!important;}

  .final-items{margin-top:5px!important;margin-bottom:0!important;table-layout:fixed!important;width:100%!important;flex:0 0 auto!important;}
  .final-items th{font-size:8.5px!important;line-height:1.05!important;padding:3.4px 2px!important;}
  .final-items td{font-size:9.7px!important;line-height:1.08!important;padding:2px 2px!important;height:5.05mm!important;}
  .final-items .blank-row td{height:4.95mm!important;padding:0 2px!important;}
  .composition-view .final-items th,.composition-view .final-items td{font-size:9.7px!important;padding:2px 3px!important;height:5.05mm!important;}
  .composition-view .final-items .blank-row td{height:4.95mm!important;}

  /* total box must touch item table */
  .final-bottom{grid-template-columns:1fr 285px!important;gap:10px!important;margin-top:0!important;padding-top:0!important;align-items:start!important;flex:0 0 auto!important;}
  .final-bottom .amountwords,.composition-note{font-size:8.9px!important;line-height:1.12!important;padding:4px 6px!important;margin:0!important;}
  .final-bottom .amountwords b,.gstsum>b{font-size:9.3px!important;}
  .gstsum{padding:2px 0 0!important;margin:0!important;}
  .gstsum table{margin:1px 0 0!important;}
  .gstsum table th,.gstsum table td{font-size:7.8px!important;line-height:1!important;padding:2px 2px!important;}
  .right-totals table{margin:0!important;border-collapse:collapse!important;}
  .right-totals td{font-size:9px!important;line-height:1.08!important;padding:4px 5px!important;}
  .right-totals th{font-size:12.8px!important;line-height:1.08!important;padding:5.5px!important;}

  /* push footer to bottom edge of A4 frame */
  .final-footer{
    margin-top:auto!important;
    padding:6px 8px!important;
    gap:8px!important;
    grid-template-columns:1.04fr 1fr .88fr!important;
    align-items:stretch!important;
    flex:0 0 auto!important;
  }
  .final-footer,.final-footer td,.final-footer .terms,.final-footer .sign{font-size:8.4px!important;line-height:1.18!important;}
  .final-footer h3{font-size:9px!important;margin:0 0 3px!important;}
  .final-footer>div+div{padding-left:8px!important;}
  .bank-table td{padding:1px 2px!important;}
  .final-footer .sign{min-height:64px!important;padding-top:2px!important;}
  .final-footer .sign hr{margin:16px 0 4px!important;}

  .new-invoice-paper .final-items th{font-size:8.5px!important;padding:3.4px 2px!important;line-height:1.05!important;}
  .new-invoice-paper .final-items td,
  .new-invoice-paper .final-items input,
  .new-invoice-paper .final-items select,
  .new-invoice-paper .final-items textarea{font-size:9.5px!important;line-height:1.08!important;}
}


/* V10 FINAL PRINT TUNING - readable A4 layout, 24 rows, big GeM, footer at bottom
   Applies to single invoice print/PDF and new invoice preview only.
   Bulk PDF layout remains protected by its existing .bulk-page rules.
*/
@media print{
  @page{size:A4 portrait;margin:15mm 7mm 6mm 7mm!important;}
  .final-invoice:not(.bulk-page){
    width:196mm!important;
    max-width:196mm!important;
    height:276mm!important;
    min-height:276mm!important;
    margin:0 auto!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:#fff!important;
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }
  .final-invoice:not(.bulk-page) .invoice-frame{
    height:276mm!important;
    min-height:276mm!important;
    max-height:276mm!important;
    margin:0!important;
    padding:5mm 5mm 4mm!important;
    border:1.6px solid var(--theme)!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
  }

  /* Header readable but still one-page */
  .final-invoice:not(.bulk-page) .final-head{grid-template-columns:66px 1fr 205px 100px!important;gap:8px!important;margin:0!important;align-items:start!important;flex:0 0 auto!important;}
  .final-invoice:not(.bulk-page) .firm-logo{width:60px!important;height:60px!important;font-size:23px!important;border-width:2px!important;margin-top:1px!important;}
  .final-invoice:not(.bulk-page) .firm-info h2{font-size:24px!important;line-height:1.03!important;margin:0 0 3px!important;white-space:nowrap!important;}
  .final-invoice:not(.bulk-page) .firm-info p{font-size:10.4px!important;line-height:1.14!important;margin:1px 0!important;font-weight:700!important;}
  .final-invoice:not(.bulk-page) .tax-meta{padding-left:9px!important;min-height:0!important;}
  .final-invoice:not(.bulk-page) .tax-meta h3{font-size:15.8px!important;line-height:1!important;margin:0 0 4px!important;}
  .final-invoice:not(.bulk-page) .tax-meta table,.final-invoice:not(.bulk-page) .tax-meta td{border:0!important;background:transparent!important;}
  .final-invoice:not(.bulk-page) .tax-meta table td{font-size:9.7px!important;line-height:1.1!important;padding:1px 2px!important;}
  .final-invoice:not(.bulk-page) .gem-box{min-height:0!important;text-align:center!important;}
  .final-invoice:not(.bulk-page) .gem-box img{max-width:100px!important;max-height:64px!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:0 auto 2px!important;display:block!important;}
  .final-invoice:not(.bulk-page) .gem-box em{font-size:9px!important;line-height:1!important;padding:4px 6px!important;margin-top:2px!important;}
  .final-invoice:not(.bulk-page) .business-strip{font-size:9.3px!important;line-height:1.08!important;padding:4px 6px!important;margin:5px 0!important;flex:0 0 auto!important;}

  /* Bill/Ship readable */
  .final-invoice:not(.bulk-page) .final-billship{gap:8px!important;margin:0!important;flex:0 0 auto!important;}
  .final-invoice:not(.bulk-page) .final-billship .section-title{font-size:10.7px!important;line-height:1!important;padding:4px 6px!important;}
  .final-invoice:not(.bulk-page) .final-billship .cust-box{min-height:82px!important;padding:4px 6px!important;}
  .final-invoice:not(.bulk-page) .final-billship table,.final-invoice:not(.bulk-page) .final-billship td{font-size:9.4px!important;line-height:1.1!important;padding:1px 2px!important;}
  .final-invoice:not(.bulk-page) .final-billship td:first-child{width:62px!important;}

  /* 24 rows must stay; make them taller so A4 is properly used */
  .final-invoice:not(.bulk-page) .final-items{margin-top:5px!important;margin-bottom:0!important;table-layout:fixed!important;width:100%!important;flex:0 0 auto!important;}
  .final-invoice:not(.bulk-page) .final-items th{font-size:9.2px!important;line-height:1.05!important;padding:3.8px 2px!important;font-weight:900!important;}
  .final-invoice:not(.bulk-page) .final-items td{font-size:10.3px!important;line-height:1.12!important;padding:2px 2px!important;height:6.05mm!important;font-weight:700!important;}
  .final-invoice:not(.bulk-page) .final-items .blank-row td{height:5.95mm!important;padding:0 2px!important;}
  .final-invoice:not(.bulk-page).composition-view .final-items th,
  .final-invoice:not(.bulk-page).composition-view .final-items td{font-size:10.2px!important;padding:2px 3px!important;height:6.05mm!important;}
  .final-invoice:not(.bulk-page).composition-view .final-items .blank-row td{height:5.95mm!important;}

  /* Total box touches item table */
  .final-invoice:not(.bulk-page) .final-bottom{grid-template-columns:1fr 292px!important;gap:10px!important;margin-top:0!important;padding-top:0!important;align-items:start!important;flex:0 0 auto!important;}
  .final-invoice:not(.bulk-page) .final-bottom .amountwords,
  .final-invoice:not(.bulk-page) .composition-note{font-size:9.4px!important;line-height:1.15!important;padding:4px 6px!important;margin:0!important;font-weight:700!important;}
  .final-invoice:not(.bulk-page) .final-bottom .amountwords b,
  .final-invoice:not(.bulk-page) .gstsum>b{font-size:10px!important;}
  .final-invoice:not(.bulk-page) .gstsum{padding:2px 0 0!important;margin:0!important;}
  .final-invoice:not(.bulk-page) .gstsum table{margin:1px 0 0!important;}
  .final-invoice:not(.bulk-page) .gstsum table th,
  .final-invoice:not(.bulk-page) .gstsum table td{font-size:8.3px!important;line-height:1!important;padding:2px 2px!important;}
  .final-invoice:not(.bulk-page) .right-totals table{margin:0!important;border-collapse:collapse!important;}
  .final-invoice:not(.bulk-page) .right-totals td{font-size:9.7px!important;line-height:1.1!important;padding:4px 5px!important;font-weight:800!important;}
  .final-invoice:not(.bulk-page) .right-totals th{font-size:13.7px!important;line-height:1.08!important;padding:6px!important;}

  /* Footer stays at A4 bottom; bigger and readable */
  .final-invoice:not(.bulk-page) .final-footer{
    margin-top:auto!important;
    padding:7px 9px!important;
    gap:9px!important;
    grid-template-columns:1.04fr 1fr .88fr!important;
    align-items:stretch!important;
    flex:0 0 auto!important;
  }
  .final-invoice:not(.bulk-page) .final-footer,
  .final-invoice:not(.bulk-page) .final-footer td,
  .final-invoice:not(.bulk-page) .final-footer .terms,
  .final-invoice:not(.bulk-page) .final-footer .sign{font-size:9px!important;line-height:1.2!important;}
  .final-invoice:not(.bulk-page) .final-footer h3{font-size:9.6px!important;margin:0 0 3px!important;}
  .final-invoice:not(.bulk-page) .final-footer>div+div{padding-left:9px!important;}
  .final-invoice:not(.bulk-page) .bank-table td{padding:1px 2px!important;}
  .final-invoice:not(.bulk-page) .final-footer .sign{min-height:70px!important;padding-top:2px!important;}
  .final-invoice:not(.bulk-page) .final-footer .sign hr{margin:18px 0 4px!important;}

  /* New invoice form print/preview uses readable row text too */
  .new-invoice-paper .final-items th{font-size:9.2px!important;padding:3.8px 2px!important;line-height:1.05!important;}
  .new-invoice-paper .final-items td,
  .new-invoice-paper .final-items input,
  .new-invoice-paper .final-items select,
  .new-invoice-paper .final-items textarea{font-size:10.1px!important;line-height:1.12!important;}
}


/* V32 QUICK FIX: Regular invoice IGST/Amount columns wider and numbers do not overlap */
.regular-view .final-items{table-layout:fixed!important;width:100%!important;}
.regular-view .final-items th,
.regular-view .final-items td{overflow:hidden!important;box-sizing:border-box!important;}
.regular-view .final-items th:nth-child(1),.regular-view .final-items td:nth-child(1){width:4%!important;text-align:center!important;}
.regular-view .final-items th:nth-child(2),.regular-view .final-items td:nth-child(2){width:34%!important;text-align:left!important;white-space:normal!important;word-break:break-word!important;}
.regular-view .final-items th:nth-child(3),.regular-view .final-items td:nth-child(3){width:7%!important;text-align:center!important;}
.regular-view .final-items th:nth-child(4),.regular-view .final-items td:nth-child(4){width:6%!important;text-align:right!important;white-space:nowrap!important;}
.regular-view .final-items th:nth-child(5),.regular-view .final-items td:nth-child(5){width:8%!important;text-align:right!important;white-space:nowrap!important;}
.regular-view .final-items th:nth-child(6),.regular-view .final-items td:nth-child(6){width:5%!important;text-align:right!important;white-space:nowrap!important;}
.regular-view .final-items th:nth-child(7),.regular-view .final-items td:nth-child(7){width:5%!important;text-align:right!important;white-space:nowrap!important;}
.regular-view .final-items th:nth-child(8),.regular-view .final-items td:nth-child(8){width:7%!important;text-align:right!important;white-space:nowrap!important;}
.regular-view .final-items th:nth-child(9),.regular-view .final-items td:nth-child(9){width:7%!important;text-align:right!important;white-space:nowrap!important;}
.regular-view .final-items th:nth-child(10),.regular-view .final-items td:nth-child(10){width:7%!important;text-align:right!important;white-space:nowrap!important;}
.regular-view .final-items th:nth-child(11),.regular-view .final-items td:nth-child(11){width:10%!important;text-align:right!important;white-space:nowrap!important;}
@media print{
  .regular-view .final-items th{font-size:7.9px!important;padding:3px 1.5px!important;}
  .regular-view .final-items td{font-size:8.5px!important;padding:2.2px 1.5px!important;}
  .regular-view .final-items th:nth-child(8),.regular-view .final-items td:nth-child(8),
  .regular-view .final-items th:nth-child(9),.regular-view .final-items td:nth-child(9),
  .regular-view .final-items th:nth-child(10),.regular-view .final-items td:nth-child(10){width:7.2%!important;}
  .regular-view .final-items th:nth-child(11),.regular-view .final-items td:nth-child(11){width:10.8%!important;}
  .regular-view .final-items th:nth-child(2),.regular-view .final-items td:nth-child(2){width:32%!important;}
}

/* V35 Invoice Copy Checkboxes + black top-right badge */
.invoice-copy-topbar{gap:12px;align-items:center;flex-wrap:wrap;}
.copy-selector-box{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:8px 10px;font-size:13px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.copy-selector-box label{display:flex;align-items:center;gap:4px;white-space:nowrap;font-weight:700;color:#111827}
.copy-selector-box input{width:16px;height:16px;accent-color:#111827}
.copy-count{margin-left:4px;padding-left:9px;border-left:1px solid #cbd5e1;color:#111827;white-space:nowrap}
.final-head{position:relative!important;}
.invoice-copy-badge{position:absolute;top:8px;right:8px;border:1.3px solid #000;color:#000;background:#fff;padding:4px 12px;font-size:12px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.2px;z-index:5;min-width:126px;text-align:center;box-sizing:border-box;}
.invoice-copy-page{page-break-after:always;break-after:page;}
.invoice-copy-page:last-of-type{page-break-after:auto;break-after:auto;}
@media print{
  .copy-selector-box{display:none!important}
  .invoice-copy-badge{top:6px!important;right:6px!important;border:1.2px solid #000!important;color:#000!important;background:#fff!important;font-size:11px!important;padding:4px 10px!important;}
  .invoice-copy-page{page-break-after:always!important;break-after:page!important;}
  .invoice-copy-page:last-of-type{page-break-after:auto!important;break-after:auto!important;}
}

/* V35 FINAL: one-line copy toolbar exactly like: ☑ Original  ☑ Duplicate  ☑ Triplicate */
.invoice-copy-topbar{
  display:block!important;
  margin-bottom:12px!important;
}
.invoice-copy-topbar h1{
  text-align:center!important;
  margin:0 0 14px!important;
  color:#111!important;
  font-size:32px!important;
  font-weight:900!important;
}
.invoice-action-line{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  width:100%!important;
}
.invoice-action-line .copy-selector-box{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
  font-size:14px!important;
  min-width:330px!important;
}
.invoice-action-line .copy-selector-box label{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  margin:0!important;
  white-space:nowrap!important;
  font-weight:800!important;
  color:#000!important;
}
.invoice-action-line .copy-selector-box input{
  width:14px!important;
  height:14px!important;
  margin:0!important;
  accent-color:#111!important;
}
.invoice-action-line .page-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-left:auto!important;
}
@media(max-width:1100px){
  .invoice-action-line{flex-wrap:wrap!important;}
  .invoice-action-line .page-actions{margin-left:0!important;}
}
@media print{
  .invoice-action-line,.invoice-copy-topbar{display:none!important;}
}

/* V35 URGENT FINAL POLISH: compact copy badge, no GeM/Invoice overlap, less top gap */
.invoice-copy-topbar h1{font-size:30px!important;margin:0 0 8px!important;line-height:1.05!important;}
.invoice-copy-topbar{margin-bottom:6px!important;}
.invoice-action-line{margin:0!important;padding:0!important;}
.final-invoice{margin-top:6px!important;}
.invoice-frame{padding-top:8px!important;}
.final-head{position:relative!important;}
.invoice-copy-badge{
  top:0!important;
  right:0!important;
  min-width:108px!important;
  padding:3px 7px!important;
  font-size:10px!important;
  line-height:1!important;
  border:1px solid #000!important;
  z-index:6!important;
}
.gem-box{padding-top:22px!important;}
.gem-box img{margin-top:0!important;}
.tax-meta{padding-top:0!important;}
@media print{
  .invoice-copy-badge{top:0!important;right:0!important;min-width:104px!important;padding:3px 6px!important;font-size:9.5px!important;line-height:1!important;border:1px solid #000!important;}
  .gem-box{padding-top:20px!important;}
  .invoice-frame{padding-top:7px!important;}
}


/* SBN V1 Single Firm */
.new-invoice-paper.theme-maroon{--theme:#800000!important}
.new-invoice-paper.theme-maroon .tax-title h2{color:var(--theme)!important}
.new-invoice-paper.theme-maroon .section-title.blue{background:var(--theme)!important}
.new-invoice-paper.theme-maroon .gstsum>b,.new-invoice-paper.theme-maroon .amountwords b{color:var(--theme)!important}
.new-invoice-paper.theme-maroon .right-totals table{border-color:var(--theme)!important}
.new-invoice-paper.theme-maroon .right-totals th{background:var(--theme)!important;border-color:var(--theme)!important}
.sidebar{background:#6f160f!important}
.sidebar .logo:after{content:'Single Firm Billing'!important}
h1{color:#6f160f}
@media(max-width:760px){.sidebar{position:static;width:100%;padding:12px}.sidebar .logo{margin-bottom:8px}.sidebar a{display:inline-block;border-bottom:0;padding:8px 9px;font-size:13px}.main{margin-left:0!important;width:100%!important;padding:12px!important}.layout{display:block}.topbar{align-items:flex-start;gap:10px;flex-wrap:wrap}.topbar h1{font-size:26px;margin-bottom:8px}.invoice-controls,.grid4,.grid3,.grid2,.invoice-filter-bar{grid-template-columns:1fr!important}.page-actions{flex-wrap:wrap;justify-content:flex-start}.invoice-paper.wide{min-width:1060px}.invoice-shell{overflow-x:auto}.card{overflow-x:auto}}

/* SBN V2 - Compact invoice controls on right (desktop only) */
@media (min-width:761px){
  .invoice-shell{
    max-width:1600px!important;
    margin:0 auto!important;
  }
  .invoice-controls{
    width:640px!important;
    max-width:640px!important;
    margin:0 0 14px auto!important;
    padding:12px 14px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px 10px!important;
    align-items:end!important;
    border-radius:8px!important;
  }
  .invoice-controls>div{min-width:0!important;}
  .invoice-controls label{
    font-size:12px!important;
    margin:2px 0 3px!important;
    line-height:1.15!important;
  }
  .invoice-controls input,
  .invoice-controls select{
    height:32px!important;
    min-height:32px!important;
    padding:5px 8px!important;
    font-size:12px!important;
  }
  .invoice-controls small{
    font-size:10px!important;
    line-height:1.15!important;
    margin-top:2px!important;
  }
  .invoice-controls input[type="checkbox"]{
    width:14px!important;
    height:14px!important;
    min-height:14px!important;
    padding:0!important;
  }
}

/* SBN V3 - Old STC style side-by-side New Invoice + searchable expandable item field */
@media (min-width:1180px){
  .sbn-mobile-topbar{display:none!important;}
  .invoice-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 350px!important;
    grid-template-rows:auto!important;
    gap:18px!important;
    align-items:start!important;
    max-width:1510px!important;
    margin:0 auto!important;
    overflow:visible!important;
  }
  .invoice-paper.wide.new-invoice-paper{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:1080px!important;
    min-width:0!important;
    margin:0 auto 24px!important;
  }
  .invoice-controls{
    grid-column:2!important;
    grid-row:1!important;
    display:block!important;
    width:350px!important;
    max-width:350px!important;
    margin:0!important;
    padding:12px 12px 10px!important;
    position:sticky!important;
    top:12px!important;
    border-radius:10px!important;
    align-self:start!important;
    z-index:20!important;
  }
  .invoice-controls>div{min-width:0!important;}
  .invoice-controls .controls-title{
    font-size:21px!important;
    line-height:1.1!important;
    font-weight:900!important;
    color:#6f160f!important;
    margin:0 0 8px!important;
  }
  .invoice-controls .controls-actions{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    margin:0 0 10px!important;
  }
  .invoice-controls .controls-actions .btn{
    padding:7px 4px!important;
    font-size:10px!important;
    line-height:1.1!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  .invoice-controls label{
    font-size:11px!important;
    margin:5px 0 3px!important;
    line-height:1.1!important;
  }
  .invoice-controls input,
  .invoice-controls select{
    height:31px!important;
    min-height:31px!important;
    padding:5px 7px!important;
    font-size:11px!important;
  }
  .invoice-controls small{
    display:block!important;
    font-size:9px!important;
    line-height:1.15!important;
    margin-top:2px!important;
  }
  .invoice-controls input[type="checkbox"]{
    width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;
  }
}

.item-row-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:8px 0 5px!important;
  margin-top:2px!important;
  border-bottom:1px solid #d7dee8!important;
}
.item-row-tools .row-count{font-size:12px!important;font-weight:700!important;white-space:nowrap!important;}
.item-row-tools .btn.small{padding:6px 10px!important;font-size:11px!important;}

.items-table td.desc{position:relative!important;overflow:visible!important;min-width:255px!important;}
.item-search-wrap{position:relative!important;display:flex!important;align-items:stretch!important;width:100%!important;overflow:visible!important;}
.items-table td.desc textarea.manualDesc{
  display:block!important;
  width:calc(100% - 29px)!important;
  min-width:0!important;
  min-height:28px!important;
  height:28px;
  max-height:92px!important;
  resize:vertical!important;
  overflow:auto!important;
  background:#fff!important;
  border:1px solid #7aa7f8!important;
  border-radius:5px 0 0 5px!important;
  color:#111!important;
  font-weight:600!important;
  font-family:inherit!important;
  padding:5px 6px!important;
  line-height:1.18!important;
  box-sizing:border-box!important;
}
.items-table td.desc textarea.manualDesc:focus{outline:2px solid rgba(37,99,235,.18)!important;border-color:#2563eb!important;}
.item-search-toggle{
  flex:0 0 29px!important;width:29px!important;min-width:29px!important;
  border:1px solid #7aa7f8!important;border-left:0!important;border-radius:0 5px 5px 0!important;
  background:#fff!important;color:#111!important;font-size:12px!important;font-weight:900!important;cursor:pointer!important;padding:0!important;
}
.item-suggestions{
  display:none;position:absolute;left:0;right:29px;top:calc(100% + 2px);z-index:9999;
  max-height:240px;overflow:auto;background:#fff;border:1px solid #9fb3cf;border-radius:5px;
  box-shadow:0 8px 24px rgba(15,23,42,.18);text-align:left;
}
.item-suggestions.open{display:block!important;}
.item-suggestion{display:block;width:100%;border:0;border-bottom:1px solid #edf1f6;background:#fff;padding:7px 9px;text-align:left;cursor:pointer;color:#111;}
.item-suggestion:hover{background:#eef5ff;}
.item-suggestion b{display:block;font-size:11px;line-height:1.2;white-space:normal;}
.item-suggestion small{display:block;font-size:9px;color:#64748b;margin-top:2px;}
.item-no-result{padding:8px 9px;font-size:10px;color:#64748b;background:#fff;}

/* Keep the description column useful like the old invoice screen */
.new-invoice-paper .final-items th:nth-child(2),
.new-invoice-paper .final-items td:nth-child(2){min-width:255px!important;}

@media (max-width:1179px){
  .invoice-controls .controls-title,.invoice-controls .controls-actions{display:none!important;}
  .invoice-shell{display:block!important;overflow-x:auto!important;}
  .invoice-controls{position:static!important;}
}
@media (max-width:760px){
  .item-search-wrap{min-width:230px!important;}
  .items-table td.desc{min-width:250px!important;}
}
@media print{
  .item-row-tools,.item-search-toggle,.item-suggestions{display:none!important;}
  .items-table td.desc textarea.manualDesc{
    width:100%!important;border:0!important;outline:0!important;resize:none!important;overflow:hidden!important;
    min-height:0!important;height:auto!important;max-height:none!important;padding:0!important;background:transparent!important;
  }
}

/* SBN V4 - Equal Bill To / Ship To boxes + readable detail spacing */
.new-invoice-paper .bill-ship{
  align-items:stretch!important;
}
.new-invoice-paper .bill-ship > div{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.new-invoice-paper .bill-ship .section-title{
  flex:0 0 auto!important;
}
.new-invoice-paper .bill-ship .cust-box{
  flex:1 1 auto!important;
  min-height:104px!important;
  line-height:1.48!important;
  padding:9px 10px!important;
}
@media print{
  .new-invoice-paper .bill-ship > div{display:flex!important;flex-direction:column!important;}
  .new-invoice-paper .bill-ship .cust-box{
    flex:1 1 auto!important;
    min-height:96px!important;
    line-height:1.42!important;
    padding:7px 8px!important;
  }
}
