ruạṛ
<style id="style"> @import url($font_url); :root { --primary-color: $primary_color; --secondary-color: $secondary_color; --line-height: 1.6; } html { } body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: $font_name, Helvetica, sans-serif; font-size: $font_size !important; zoom: 80%; } table tr td, table tr, th { font-size: $font_size !important; } @page { margin-left: $global_margin; margin-right: $global_margin; margin-top: 5; margin-bottom: 5; size: $page_size $page_layout; } p { margin: 0; padding: 0; } .header-container { display: grid; grid-template-columns: repeat(3, 1fr); justify-content: space-between; width:100%; } .company-logo-container { display: inline-block; } .company-logo { max-width: $company_logo_size; } #company-details { display: flex; flex-direction: column; line-height: var(--line-height); } #company-details > p:first-child { color: var(--primary-color); } #company-address { display: flex; flex-direction: column; line-height: var(--line-height); } .entity-label { margin-top: 2.5rem; text-transform: uppercase; padding-left: 1rem; margin-bottom: 1rem; font-weight: bold; font-size:120%; color: var(--primary-color); } .client-and-entity-wrapper { padding: 1rem; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #d8d8d8; border-bottom: 1px solid #d8d8d8; width:100%; } #entity-details { display:flex; text-align: left; margin-right: 20px; line-height: var(--line-height) !important; } #entity-details > tr, #entity-details th { font-weight: normal; padding-right: 15px; line-height: var(--line-height) !important; } #client-details { display: flex; flex-direction: column; line-height: var(--line-height); } #client-details > :first-child { font-weight: bold; } #shipping-details { display: $show_shipping_address; flex-direction: column; line-height: var(--line-height); } [data-ref="table"] { margin-top: 1rem; margin-bottom: 5px; width: 100%; table-layout: fixed; overflow-wrap: break-word; } .task-time-details { display: block; margin-top: 5px; color: grey; } [data-ref="table"] > thead { text-align: left; } [data-ref="table"] > thead > tr > th { font-size: 1.1rem; padding-bottom: 1rem; padding-left: 1rem; } [data-ref="table"] > tbody > tr > td { border-top: 1px solid #d8d8d8; border-bottom: 1px solid #d8d8d8; padding: 1rem 1rem; } th.right-radius { padding-right: 1rem; text-align: right; } td.right-radius { text-align: right; } [data-ref="table"] > tbody > tr:nth-child(odd) { background-color: #f5f5f5; } #table-totals { margin-top: 0rem; display: grid; grid-template-columns: 2fr 1fr; padding-top: 0rem; padding-right: 1rem; padding-left: 1rem; gap: 80px; page-break-inside:avoid; overflow: visible !important; } #table-totals .totals-table-right-side > * { display: grid; grid-template-columns: 1fr 1fr; } #table-totals>.totals-table-right-side>*> :nth-child(1) { text-align: $dir_text_align; margin-top: .75rem; } #table-totals>.totals-table-right-side>*> :nth-child(2) { text-align: right; } #table-totals>.totals-table-right-side> * > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(.75rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(.75rem * var(--tw-space-y-reverse)); } #table-totals > * [data-element='product-table-balance-due-label'], #table-totals > * [data-element='product-table-balance-due'] { font-weight: bold; } #table-totals > * [data-element='product-table-balance-due'] { color: var(--primary-color); } #table-totals > * > :last-child { text-align: right; padding-right: 0.5rem; } #footer { margin-top: 10px; margin-left: 1rem; } /** Markdown-specific styles. **/ #product-table h3, #task-table h3, #delivery-note-table h3 { font-size: 1rem; margin-bottom: 0; } [data-ref="total_table-public_notes"] { margin-top: 1rem; } [data-ref="statement-totals"] { margin-top: 1rem; text-align: right; margin-right: .75rem; } [data-ref*=".line_total-td"] { white-space: nowrap; } /** .repeating-header, .repeating-header-space, **/ .repeating-footer, .repeating-footer-space { height: 10px; } .repeating-header { position: fixed; top: 0; } .repeating-footer { position: fixed; bottom: 0; } [data-ref='product_table-product.description-th'], [data-ref='product_table-product.description-td'] { min-width: 150px !important; overflow-wrap: break-word; } [data-ref='product_table-product.item-td']{ color: var(--primary-color); } [data-ref='product_table-product.item-th'], [data-ref='product_table-product.unit_cost-th'], [data-ref='product_table-product.quantity-th'] { width: 12%; } [data-ref='product_table-product.tax1-th'] { width: 6%; } [data-ref='product_table-product.line_total-th'] { width: 10%; } [data-ref='task_table-task.description-th'], [data-ref='task_table-task.description-td'] { min-width: 100px !important; overflow-wrap: break-word; } [data-ref='task_table-task.hours-th'], [data-ref='task_table-task.service-th'], [data-ref='task_table-task.discount-th'], [data-ref='task_table-task.cost-th'], [data-ref='task_table-task.quantity-th'] { width: 12%; } [data-ref='task_table-task.tax1-th'] { width: 6%; } [data-ref='task_table-task.line_total-th'] { width: 10%; } .stamp { transform: rotate(12deg); color: #555; font-size: 3rem; font-weight: 700; border: 0.25rem solid #555; display: inline-block; padding: 0.25rem 1rem; text-transform: uppercase; border-radius: 1rem; font-family: 'Courier'; mix-blend-mode: multiply; z-index:200 !important; position: fixed; text-align: center; float:right; } .is-paid { color: #D23; border: 1rem double #D23; transform: rotate(-5deg); font-size: 6rem; font-family: "Open sans", Helvetica, Arial, sans-serif; border-radius: 0; padding: 0.5rem; opacity: 0.2; z-index:200 !important; position: fixed; display: $show_paid_stamp; } .project-header { font-size: 1.2em; margin-top: 0.1em; margin-bottom: 0; padding-bottom: 0; margin-left: 0; margin-right: 0; font-weight: bold; color: #505050; } .pqrcode { } #qr-bill{ width:100% !important; } /** Useful snippets, uncomment to enable. **/ /** Hide company logo **/ /* .company-logo { display: none } */ /* Hide company details */ /* #company-details > * { display: none } */ /* Hide company address */ /* #company-address > * { display: none } */ /* Hide public notes */ /* [data-ref="total_table-public_notes"] { display: none } */ /* Hide terms label */ /* [data-ref="total_table-terms-label"] { display: none } */ /* Hide totals table */ /* #table-totals { display: none } */ /* Hide totals table left side */ /* #table-totals div:first-child > * { display: none !important } */ /* Hide totals table right side */ /* .totals-table-right-side { display: none } */ /** For more info, please check our docs: https://invoiceninja.github.io **/ /** To find out selectors on your own: https://invoiceninja.github.io/docs/custom-fields/#snippets **/ </style> <table style="min-width: 100%"> <thead> <tr> <td> <div class="repeating-header-space"> </div> </td> </tr> </thead> <tbody> <tr> <td> <div id="body"> <div class="header-container"> <div class="company-logo-container"> <img class="company-logo" src="$company.logo" alt="$company.name logo"> </div> <div id="company-details"></div> <div id="company-address"></div> </div> <p class="entity-label">$entity_label</p> <div class="client-and-entity-wrapper"> <div> <table id="entity-details" cellspacing="0" cellpadding="0" dir="$dir"></table> </div> <div id="client-details"></div> <div id="vendor-details"></div> <div id="shipping-details"></div> </div> <table id="product-table" cellspacing="0" data-ref="table"></table> <table id="task-table" cellspacing="0" data-ref="table"></table> <table id="delivery-note-table" cellspacing="0" data-ref="table"></table> <table id="statement-invoice-table" cellspacing="0" data-ref="table"></table> <div id="statement-invoice-table-totals" data-ref="statement-totals"></div> <table id="statement-payment-table" cellspacing="0" data-ref="table"></table> <div id="statement-payment-table-totals" data-ref="statement-totals"></div> <table id="statement-credit-table" cellspacing="0" data-ref="table"></table> <div id="statement-credit-table-totals" data-ref="statement-totals"></div> <table id="statement-aging-table" cellspacing="0" data-ref="table"></table> <div id="statement-aging-table-totals" data-ref="statement-totals"></div> <div id="table-totals" cellspacing="0">$status_logo</div> </div> </td> </tr> </tbody> <tfoot> <tr> <td> <div class="repeating-footer-space"> </div> </td> </tr> </tfoot> </table> <div class="repeating-header" id="header"></div> $entity_images <div class="repeating-footerx" id="footer"> <p data-ref="total_table-footer">$entity_footer</p> </div>
cải xoăn