@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap);#invoice-number{border:none;padding-left:10px}#title-invoice{border-radius:5px}.container{max-width:1200px;margin:0 auto;padding:1rem}.invoice-generator{background:#fff;border:2px solid rgb(0 0 0 / .05);box-shadow:0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -2px rgb(0 0 0 / .05);border-radius:8px;overflow:hidden}.header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;gap:1rem}.header-left{display:flex;align-items:center;gap:1rem}.currency-label{font-size:.875rem;color:#6b7280}.currency-select{font-size:0.875rem!important;padding:10px!important;background:transparent!important;outline:none!important;cursor:pointer!important}.header-right{display:flex;align-items:center;gap:1rem}.preview-btn{color:#0044bb!important;background:none;border:none;cursor:pointer;padding:.5rem 1rem!important;border-radius:6px;transition:all 0.2s}.preview-btn:hover{background:#0044bb!important;color:white!important}.preview-btn:focus{background:#0044bb!important;color:white!important}.download-btn{background:#04b;color:white!important;border:none;padding:1rem!important;border-radius:6px!important;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:0.875rem!important}.download-btn:hover{background:#04b}.download-btn:focus{background:#04b}.download-icon{width:1rem;height:1rem}.content{padding:1.5rem}.main-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto auto auto auto auto;gap:2rem;grid-template-areas:"logo invoice-header" "from-company invoice-details" "bill-ship invoice-details" "items items" "notes totals" "terms totals"}.left-column{display:contents}.logo-section{grid-area:logo;border:2px dashed #d1d5db;border-radius:8px;padding:2rem;text-align:center;min-height:120px;display:flex;align-items:center;justify-content:center}.logo-upload-btn{color:white!important;background-color:#04b;border:none;cursor:pointer;font-size:0.875rem!important;border-radius:6px!important;padding:0.8rem!important}.logo-upload-btn:hover{background-color:#04b}.logo-upload-btn:focus{background-color:#04b}.logo-container{position:relative;display:inline-block}.logo-image{max-width:200px;max-height:150px;object-fit:contain}.remove-logo-btn{position:absolute;top:-8px;right:-8px;background:#ef4444;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.form-group{display:flex;flex-direction:column;gap:.5rem}.left-column>.form-group:nth-of-type(2){grid-area:from-company}.left-column>.form-group:nth-of-type(4){grid-area:notes}.left-column>.form-group:nth-of-type(5){grid-area:terms}.form-label{font-size:.875rem;color:#6b7280}.form-label-bold{font-size:.875rem;font-weight:500;color:#374151}.form-label-small{font-size:.75rem;color:#9ca3af}.form-textarea,.form-input{padding:.75rem;border:1px solid #d1d5db!important;border-radius:6px!important;font-size:0.875rem!important;outline:none;transition:border-color 0.2s,box-shadow 0.2s}.form-textarea:focus,.form-input:focus{border-color:#0044bb!important}.bill-ship-grid{grid-template-columns:1fr;gap:1rem;grid-area:bill-ship;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.items-section{grid-area:items;display:flex;flex-direction:column}.table-header{background:#374151;color:#fff;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;padding:.75rem;border-radius:6px 6px 0 0;font-size:.875rem;font-weight:500}.table-header-item{text-align:left}.table-header-quantity,.table-header-rate,.table-header-amount{text-align:center}.items-container{border:1px solid #d1d5db;border-top:none;border-radius:0 0 6px 6px}.item-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;padding:1rem;border-bottom:1px solid #e5e7eb;align-items:center}.item-row:last-child{border-bottom:none}.item-description{border:1px solid #d1d5db!important;border-radius:6px!important;outline:none;font-size:0.875rem!important;width:100%;padding:.7rem}.item-quantity,.item-rate{border:1px solid #d1d5db!important;border-radius:6px!important;font-size:0.875rem!important;text-align:center;width:100%;padding:.7rem}.item-amount{font-size:1rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.remove-item-btn{background:none;border:none;color:#ef4444!important;cursor:pointer;font-size:1.25rem;padding:0!important;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.remove-item-btn:hover{color:#ef4444;background-color:#fff0}.add-item-btn{background:#04b;color:white!important;border:none;padding:.5rem 1rem!important;border-radius:6px!important;cursor:pointer;font-size:0.875rem!important;align-self:flex-start;margin-top:12px}.add-item-btn:hover{background:#04b}.add-item-btn:focus{background:#04b}.right-column{display:contents}.invoice-header{grid-area:invoice-header;text-align:right}.invoice-details{grid-area:invoice-details;display:flex;flex-direction:column;gap:2rem}.totals-section{grid-area:totals;display:flex;flex-direction:column;gap:1.2rem;padding-top:1.5rem;font-size:.75rem;margin-bottom:50px}.invoice-title{font-size:2rem!important;font-weight:400;color:#374151;margin-bottom:.5rem;border:1px solid #e7e7e7;border-radius:5px;padding:8px;text-align:right}.invoice-number-container{display:flex;align-items:center;border:1px solid #e7e7e7;padding:2px 12px;border-radius:5px}.invoice-hash{font-size:1.125rem;color:#9ca3af}.invoice-number-input{border:none!important;outline:none;font-size:1.5rem!important;font-weight:500;text-align:left;background:#fff0;width:auto;min-width:60px}.total-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}#subtotal{font-weight:600;font-size:1rem}.subtotal-title{font-weight:600;font-size:1rem}.total-main{font-weight:600;font-size:1rem}.balance-due{font-weight:600;font-size:1.125rem}.add-discount-btn,.add-shipping-btn{background:none;border:none;color:#0044bb!important;cursor:pointer;font-size:0.875rem!important;padding:10px 0px!important}#amount-paid{border:none;outline:none;text-align:right;width:60%;font-size:1rem;border:1px solid #d1d5db;border-radius:4px;padding:8px 8px}.tax-controls{display:flex;align-items:center;gap:.5rem}#tax-percentage,#discount{border:1px solid #d1d5db;border-radius:4px;padding:.25rem;text-align:center;width:48px;font-size:.875rem;outline:none}#discount-btn:hover{background-color:#fff;color:#04b}#shipping-btn:hover{background-color:#fff;color:#04b}#discount-btn:focus{background-color:#fff;color:#04b}#shipping-btn:focus{background-color:#fff;color:#04b}#shipping{border:1px solid #d1d5db;border-radius:4px;margin-right:4px;padding:.25rem;text-align:center;width:70px;font-size:.875rem;outline:none}.tax-input:focus{border-color:#3b82f6}.clear-btn{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1rem;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.clear-btn:hover{color:#6b7280}.total-divider{border:none;border-top:1px solid #e5e7eb;margin:.75rem 0}.preview-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .5);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.preview-modal-content{background:#fff;border-radius:8px;max-width:90%;max-height:90%;overflow:hidden;box-shadow:0 25px 50px -12px rgb(0 0 0 / .25);display:flex;flex-direction:column}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.preview-header h2{font-size:1.25rem;font-weight:600;color:#374151}.close-preview{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:.25rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-preview:hover{background:#e5e7eb;color:#374151}.preview-body{padding:2rem;flex:1}.invoice-preview{max-width:800px;margin:0 auto;background:#fff;font-family:"Helvetica",Arial,sans-serif;padding:2rem;border:1px solid #e5e7eb}.preview-header-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem}.preview-company-section{display:flex;flex-direction:column;gap:.5rem}.preview-logo{max-width:100px;max-height:60px;object-fit:contain;margin-bottom:.5rem}.preview-company-name{font-size:1.125rem;font-weight:600;color:#374151}.preview-invoice-title-section{text-align:right}.preview-invoice-title{font-size:3rem;font-weight:400;color:#374151;margin:0;line-height:1}.preview-invoice-number{font-size:1.25rem;color:#9ca3af;margin-top:.5rem}.preview-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:3rem}.preview-client-info{display:flex;flex-direction:column;gap:1.5rem}.preview-label{font-weight:600;color:#374151;margin-bottom:.5rem}.preview-address{color:#374151;line-height:1.6}.preview-invoice-details{display:flex;flex-direction:column;gap:.75rem}.preview-detail-row{display:flex;justify-content:space-between;align-items:center}.preview-detail-label{color:#9ca3af;font-size:.875rem}.preview-detail-value{color:#374151;font-weight:500}.preview-table-section{margin-bottom:3rem}.preview-table{width:100%;border-collapse:collapse;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.preview-table-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;background:#374151;color:#fff;font-weight:600;padding:1rem}.preview-table-body{display:flex;flex-direction:column}.preview-table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:1rem;border-bottom:1px solid #e5e7eb}.preview-table-row:last-child{border-bottom:none}.preview-th,.preview-td{display:flex;align-items:center}.preview-th-item,.preview-td-item{justify-content:flex-start}.preview-th-quantity,.preview-td-quantity,.preview-th-rate,.preview-td-rate,.preview-th-amount,.preview-td-amount{justify-content:center}.preview-totals-section{display:flex;justify-content:flex-end;margin-bottom:3rem}.preview-totals{width:300px}.preview-total-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.preview-total-label{color:#9ca3af;font-size:.875rem}.preview-total-value{color:#374151;font-weight:500}.preview-total-main{font-weight:600;font-size:1rem;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;margin:.5rem 0;padding:.75rem 0}.preview-total-main .preview-total-label,.preview-total-main .preview-total-value{color:#374151;font-weight:600}.preview-balance-due{font-size:1.25rem;font-weight:700;margin-top:.5rem}.preview-balance-label,.preview-balance-value{color:#374151;font-weight:700}.preview-footer-section{margin-top:3rem}.preview-company-footer{font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:2rem}.preview-notes,.preview-terms{margin-bottom:1.5rem}.preview-section-title{color:#9ca3af;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.preview-section-content{color:#374151;line-height:1.6}@media (max-width:1024px){.main-grid{grid-template-columns:1fr;grid-template-areas:"invoice-header" "logo" "from-company" "bill-ship" "items" "invoice-details" "notes" "terms" "totals";gap:0}.total-main{margin-top:10px}.left-column{display:flex;flex-direction:column;gap:1.5rem}.right-column{display:flex;flex-direction:column;gap:1.5rem;margin-top:30px}.items-section{order:unset}}@media (max-width:768px){.container{padding:.5rem}.bill-ship-grid{grid-template-columns:1fr!important}.content{padding:1rem}.header{flex-direction:column;align-items:stretch;gap:1rem}.header-left,.header-right{justify-content:center}.table-header,.item-row{grid-template-columns:2fr 1fr 1fr 1fr;gap:.5rem;padding:.5rem;font-size:.75rem}.invoice-title{font-size:2rem;width:100%}.preview-info-grid{grid-template-columns:1fr;gap:1rem}.preview-header-section{flex-direction:column;gap:1rem;text-align:left}.preview-invoice-title-section{text-align:left}.preview-invoice-title{font-size:2rem}.preview-table-header,.preview-table-row{grid-template-columns:2fr 1fr 1fr 1fr;padding:.75rem .5rem;font-size:.875rem}.preview-totals{width:100%}.preview-modal-content{max-width:95%;max-height:95%}.preview-body{padding:1rem}.invoice-preview{padding:1rem}.logo-left-column{order:-1}#invoice-number{border:none!important}}@media (max-width:480px){#invoice-number{border:none!important}.table-header,.item-row{grid-template-columns:1fr;gap:.25rem;padding:.5rem}.form-label{margin-top:20px!important}.table-header>div,.item-row>*{padding:.25rem;text-align:left}.item-amount{justify-content:flex-start}.preview-table-header,.preview-table-row{grid-template-columns:1fr;gap:.5rem}.preview-th,.preview-td{justify-content:flex-start!important;padding:.25rem 0}.invoice-title{font-size:1.5rem}.preview-invoice-title{font-size:1.5rem}}.invoice-header{display:block}.mobile-invoice-header{display:none}.mobile-title{display:none}@media (max-width:768px){.invoice-header{display:none}.mobile-invoice-header{display:block}.desktop-title{display:none}.mobile-title{display:block}.invoice-details{gap:1rem}}.logo-section{display:block}.logo-section-mobile{display:none}@media (max-width:768px){.logo-section{display:none}.currency-select{width:30%}.logo-section-mobile{display:block;border:2px dashed #d1d5db;border-radius:8px;padding:2rem;text-align:center;min-height:120px;display:flex;align-items:center;justify-content:center;margin-top:20px}}label{margin:0!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#preview-modal.hidden{display:none!important}.pdf-logo{margin-bottom:10px;max-width:150px;max-height:150px}.pdf-ship-to{margin-top:30px}.pdf-table-section{margin-bottom:40px}.pdf-footer-section{margin-top:40px}.pdf-notes{margin-bottom:30px}.pdf-section-title{margin-bottom:10px}#preview-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .8);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.pdf-viewer-container{background:#fff;border-radius:8px;width:100%;max-width:1000px;height:70vh;display:flex;flex-direction:column;box-shadow:0 10px 30px rgb(0 0 0 / .5)}.pdf-viewer-header{background:#404040;color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-radius:8px 8px 0 0;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.pdf-header-left,.pdf-header-right{display:flex;align-items:center;gap:12px}.pdf-filename{font-size:13px;color:#e0e0e0}.pdf-menu-btn,.pdf-action-btn{background:none;border:none;color:#fff;cursor:pointer;padding:6px;border-radius:4px}.pdf-action-btn:hover,.pdf-menu-btn:hover{background:#555}.pdf-menu-line{width:14px;height:2px;background:#fff}.pdf-content-area{flex:1;overflow:auto;background:#525659;padding:20px;display:flex;justify-content:center;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.pdf-document{background:#fff;box-shadow:0 4px 20px rgb(0 0 0 / .3);max-width:210mm;min-height:297mm;padding:20mm;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.pdf-invoice-header{display:flex;justify-content:space-between;margin-bottom:40px}.pdf-invoice-title{font-size:36px;font-weight:700;color:#333}.pdf-invoice-number{font-size:16px;color:#666}.pdf-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px}.pdf-client-info,.pdf-invoice-details{display:flex;flex-direction:column;gap:12px}.pdf-label{font-weight:600;color:#666;font-size:14px}.pdf-address{color:#333;line-height:1.5}.pdf-table-header{background:#404040;color:#fff;padding:12px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;font-weight:600;font-size:14px}.pdf-table-body{border:1px solid #e0e0e0;border-top:none}.pdf-table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;padding:12px;border-bottom:1px solid #e0e0e0}.pdf-totals{width:300px;display:flex;flex-direction:column;gap:8px}.pdf-total-row{display:flex;justify-content:space-between;padding:4px 0}.pdf-balance-due{border-top:2px solid #333;padding-top:12px;margin-top:8px;font-weight:700;font-size:18px}@media (max-width:768px){.pdf-viewer-container{height:95vh;margin:10px}.pdf-invoice-header{flex-direction:column;gap:20px}.pdf-info-grid{grid-template-columns:1fr;gap:24px}.pdf-table-header,.pdf-table-row{grid-template-columns:1.5fr 0.5fr 0.7fr 0.8fr;gap:8px;font-size:12px}}