:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;justify-content:center;background-color:#f9f9f9}#root{width:100%;padding:2rem;box-sizing:border-box}@media print{body{background-color:#fff}#root{padding:0}.no-print{display:none!important}}body{margin:0;padding:20px;background-color:#f0f2f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.container{max-width:210mm;margin:0 auto;padding:30px;background:#fff;box-shadow:0 0 10px #0000001a;min-height:297mm;position:relative;box-sizing:border-box}.header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.logo{height:120px;width:auto;max-width:350px;object-fit:contain;border-radius:8px}.header-contact{text-align:right;border-right:3px solid #5bc0de;padding-right:12px}.header-contact-item{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-bottom:4px;font-size:13px;color:#333;line-height:1.4}.header-contact-icon{font-size:12px;opacity:.75}.title-section{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #000;margin-bottom:15px;padding-bottom:10px}.company-name{font-size:32px;margin:0;font-weight:700;letter-spacing:1px}.invoice-title{font-size:24px;margin:0;text-transform:uppercase;color:#666}.bill-to-section{display:flex;justify-content:space-between;margin-bottom:20px}.bill-to-col{width:50%}.label{font-weight:700;color:#666;margin-bottom:5px;display:block}.invoice-details-col{width:35%}.invoice-detail-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.editable{width:100%;border:1px solid transparent;padding:4px 8px;font-size:inherit;font-family:inherit;background:transparent;border-radius:4px;transition:all .2s;box-sizing:border-box}.editable:hover{background:#f8f9fa;border-color:#dee2e6}.editable:focus{background:#fff;border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}textarea.editable{resize:none;overflow-y:hidden;display:block;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;min-height:2.8em;padding:6px 10px}.items-table{width:100%;border-collapse:collapse;margin-bottom:20px}.items-table th{background-color:#5bc0de;color:#000;padding:12px;text-align:left;font-weight:700}.items-table td{padding:8px 10px;border-bottom:1px solid #eee;vertical-align:top;word-break:break-word;white-space:pre-wrap}.description-preview{font-size:14px;line-height:1.4;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding:4px 8px;min-height:2.8em;color:#333}.payment-section{margin-top:20px;width:60%;float:left}.payment-title{font-size:14px;font-weight:700;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px;color:#333}.payment-text{font-size:13px;line-height:1.5;margin-bottom:8px;color:#444}.totals-section{margin-top:20px;width:35%;float:right}.totals-table{width:100%;border-collapse:collapse}.totals-table td{padding:8px;text-align:right;font-size:14px}.totals-table td:first-child{text-align:left;color:#666}.total-row{font-weight:700;font-size:18px!important;border-top:2px solid #000}.balance-row{font-weight:700;font-size:18px!important;background-color:#f8f9fa}.balance-row td{padding-top:10px;padding-bottom:10px;color:#000!important}.total-row td{padding-top:15px;color:#000!important}.footer-notes{clear:both;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.footer-notes h3{font-size:14px;font-weight:700;margin-bottom:10px}.footer-notes p{font-size:13px;color:#666;line-height:1.5}@page{margin:0}@media print{body{background-color:transparent!important;padding:0!important;margin:0!important}.container{box-shadow:none!important;margin:0!important;padding:15mm!important;width:210mm!important;max-width:none!important;min-height:297mm!important}.no-print{display:none!important}.print-only{display:inline!important}.editable{border:none!important;padding:0!important;background:transparent!important;color:#000!important;white-space:pre-wrap!important;overflow:visible!important;appearance:none!important;box-shadow:none!important;width:auto!important;min-width:0!important;display:inline-block!important}textarea.editable{height:auto!important;max-height:none!important;min-height:0!important;display:block!important;white-space:pre-wrap!important;word-wrap:break-word!important;overflow-wrap:break-word!important;overflow:visible!important;width:100%!important;visibility:visible!important;opacity:1!important}input::placeholder,textarea::placeholder{color:transparent!important;opacity:0!important}.items-table th{background-color:#5bc0de!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.total-row td{border-top:2px solid #000!important}.items-table tr{page-break-inside:auto!important;break-inside:auto!important}.is-printing .items-table-wrapper,.is-printing .container,.is-printing body{overflow:visible!important;height:auto!important;min-height:0!important;max-height:none!important;display:block!important;width:210mm!important;max-width:none!important}.is-printing *{overflow:visible!important;break-inside:auto!important}}@media(max-width:768px){body{padding:5px}.container{padding:10px;min-height:auto;width:100%;margin:0;max-width:100vw;overflow-x:hidden}.header{flex-direction:column;align-items:center;gap:8px;text-align:center;margin-bottom:10px}.logo{height:70px;width:auto;margin-bottom:5px}.header-contact{text-align:center;border:none;padding:0;width:100%;font-size:11px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;row-gap:5px}.header-contact-item{justify-content:center;border-right:1px solid #ddd;padding-right:10px;margin:0}.header-contact-item:last-child{border-right:none;padding-right:0}.title-section{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:5px;border-bottom:1px solid #000;padding-bottom:5px}.company-name{font-size:18px;margin:0}.invoice-title{font-size:16px;margin:0}.bill-to-section{flex-direction:column;gap:10px;margin-bottom:10px}.bill-to-col{width:100%}.invoice-details-col{width:100%;text-align:left;background:#f8f9fa;padding:10px;border-radius:4px;border:1px solid #eee}.invoice-detail-row{margin-bottom:4px}.editable{padding:1px 0;font-size:12px}.items-table th,.items-table td{padding:4px;font-size:12px}.items-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:15px;border:1px solid #eee;border-radius:4px}.items-table{min-width:450px}.payment-section,.totals-section{width:100%;float:none;margin-top:15px}.totals-section{background:#f8f9fa;padding:10px;border-radius:4px}.payment-title{font-size:13px;margin-bottom:5px}.payment-text{font-size:11px;line-height:1.4}}.warranty-section{clear:both;margin-top:20px;padding-top:10px;border-top:1px solid #eee}.warranty-title{font-size:8px;font-weight:700;margin-bottom:4px;text-transform:uppercase;color:#444}.warranty-text{font-size:7px;color:#666;line-height:1.3;margin-bottom:3px}.print-buffer-wrapper{position:absolute;left:-9999px;top:0;width:210mm;background:#fff;z-index:-1000;overflow:visible!important}.print-buffer-container{width:210mm;padding:30px;background:#fff;min-height:297mm;display:block!important;box-sizing:border-box}.print-buffer-container .bill-to-section{display:flex!important;flex-direction:row!important;justify-content:space-between!important;gap:20px!important;margin-bottom:20px!important}.print-buffer-container .bill-to-col{width:50%!important}.print-buffer-container .invoice-details-col{width:35%!important}.print-buffer-container .items-table-wrapper{overflow:visible!important}.print-buffer-container .items-table{min-width:100%!important}.print-buffer-container .static-description{white-space:pre-wrap!important;word-wrap:break-word!important;overflow-wrap:break-word!important;font-size:13px!important;line-height:1.5!important;color:#333!important;padding:5px 0!important;display:block!important}.is-printing .print-buffer-container{overflow:visible!important;height:auto!important}
