:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}.invoice-form{max-width:800px;margin:0 auto;padding:2rem}.invoice-form h1{margin-bottom:2rem;color:#1a1a1a}.parties-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.form-section{background:#f9f9f9;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.parties-grid .form-section{margin-bottom:0}.form-section h2{font-size:1.2rem;margin-bottom:1rem;color:#333}.invoice-form input,.invoice-form textarea,.invoice-form select{width:100%;padding:.75rem;margin-bottom:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.invoice-form textarea{resize:vertical}.invoice-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.invoice-meta label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem;color:#555}.line-items{display:flex;flex-direction:column;gap:.75rem}.line-item{display:grid;grid-template-columns:2fr 100px 120px 120px 40px;gap:.5rem;align-items:center;background:#fff;padding:.75rem;border-radius:4px}.line-item input{margin-bottom:0}.line-item .amount{font-weight:600;text-align:right}.remove-btn{background:#f44;color:#fff;border:none;border-radius:4px;width:36px;height:36px;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.remove-btn:hover{background:#c00}.add-item-btn{background:#4caf50;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s;margin-top:.5rem}.add-item-btn:hover{background:#45a049}.generate-pdf-btn{width:100%;background:#2196f3;color:#fff;border:none;padding:1rem 2rem;border-radius:4px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:1rem}.generate-pdf-btn:hover{background:#0b7dda}@media(max-width:768px){.parties-grid{grid-template-columns:1fr;gap:1rem}.parties-grid .form-section{margin-bottom:1.5rem}.parties-grid .form-section:last-child{margin-bottom:0}.line-item{grid-template-columns:1fr;gap:.5rem}.line-item .amount{text-align:left}}.invoice-preview{max-width:900px;margin:2rem auto;padding:3rem 3.5rem;background:#fff;border:1px solid #ddd;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#333}.invoice-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem;padding-bottom:2rem}.company-info h2{font-size:1rem;font-weight:600;color:#333;margin:0;text-transform:uppercase;letter-spacing:.02em;max-width:400px;line-height:1.4}.invoice-title-section{text-align:right}.invoice-title-section h1{font-size:3rem;font-weight:300;color:#333;margin:0;letter-spacing:.05em}.invoice-number{font-size:1rem;color:#666;margin:.25rem 0 0}.invoice-body{display:flex;justify-content:space-between;margin-bottom:3rem}.bill-to-section .label{font-size:.9rem;color:#666;margin:0 0 .5rem}.bill-to-section .client-name{font-size:1rem;font-weight:600;color:#333;margin:0}.invoice-details{text-align:right;min-width:300px}.detail-row{display:flex;justify-content:space-between;gap:2rem;margin-bottom:.5rem}.detail-row.balance-due{margin-top:1rem;padding-top:.75rem}.detail-label{font-size:.95rem;color:#666;font-weight:500}.detail-row.balance-due .detail-label{font-weight:700;color:#333}.detail-value{font-size:.95rem;color:#333}.detail-row.balance-due .detail-value{font-weight:700;font-size:1.1rem}.invoice-table{width:100%;border-collapse:collapse;margin-bottom:2rem}.invoice-table thead{background:#3a3a3a;color:#fff}.invoice-table th{text-align:left;padding:.875rem 1rem;font-weight:500;font-size:.95rem;letter-spacing:.01em}.invoice-table th:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.invoice-table th:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px;text-align:right}.invoice-table th:nth-child(2),.invoice-table th:nth-child(3){text-align:center}.invoice-table td{padding:1rem;border-bottom:1px solid #eee;font-size:.95rem}.invoice-table td:first-child{font-weight:500}.invoice-table td:nth-child(2),.invoice-table td:nth-child(3){text-align:center}.invoice-table td:last-child{text-align:right;font-weight:500}.invoice-table tbody tr:last-child td{border-bottom:none}.invoice-table .empty-state{text-align:center;color:#999;font-style:italic;padding:2rem}.invoice-totals{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;margin-top:2rem}.total-row{display:flex;justify-content:space-between;gap:3rem;min-width:300px}.total-row.final-total{margin-top:.5rem;padding-top:.75rem;border-top:1px solid #ddd}.total-label{font-size:.95rem;color:#666}.total-row.final-total .total-label{font-weight:700;color:#333}.total-value{font-size:.95rem;font-weight:500;color:#333;text-align:right}.total-row.final-total .total-value{font-weight:700;font-size:1.1rem}@media print{.invoice-preview{border:none;box-shadow:none;margin:0}}@media(max-width:768px){.invoice-preview{padding:2rem 1.5rem}.invoice-top{flex-direction:column;gap:2rem}.invoice-title-section{text-align:left}.invoice-body{flex-direction:column;gap:2rem}.invoice-details{text-align:left}.invoice-totals{align-items:stretch}.total-row{min-width:auto}}*{box-sizing:border-box}body{margin:0;padding:0;background:#f5f5f5}.app{min-height:100vh}.layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1800px;margin:0 auto;padding:2rem}.form-container{overflow-y:auto;max-height:calc(100vh - 4rem)}.preview-container{position:sticky;top:2rem;max-height:calc(100vh - 4rem);overflow-y:auto}@media(max-width:1200px){.layout{grid-template-columns:1fr}.preview-container{position:static;max-height:none}}@media print{.form-container{display:none}.preview-container{position:static;max-height:none}}
