:root{--ig-color-bg:#f3f4f6;--ig-color-bg-input:#fff;--ig-color-text:#111827;--ig-color-text-secondary:#6b7280;--ig-color-border:#d1d5db;--ig-color-accent:#059669;--ig-color-accent-hover:#047857;--ig-color-error:#ef4444;--ig-spacing:4px}.invoice-generator{background-color:var(--ig-color-bg);color:var(--ig-color-text);padding:calc(6 * var(--ig-spacing));max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.invoice-generator__header{margin-bottom:calc(8 * var(--ig-spacing));text-align:center;border-bottom:2px solid var(--ig-color-accent);padding-bottom:calc(6 * var(--ig-spacing))}.invoice-generator__header h1{margin:0 0 calc(2 * var(--ig-spacing)) 0;color:var(--ig-color-accent);font-size:28px;font-weight:700}.invoice-generator__header p{color:var(--ig-color-text-secondary);margin:0;font-size:16px}.invoice-generator__main{gap:calc(6 * var(--ig-spacing));margin-bottom:calc(8 * var(--ig-spacing));grid-template-columns:1fr 280px;display:grid}.invoice-generator__container{gap:calc(6 * var(--ig-spacing));flex-direction:column;display:flex}.invoice-generator__form-section{padding:calc(5 * var(--ig-spacing));background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.invoice-generator__fieldset{margin-bottom:calc(5 * var(--ig-spacing));border:none;padding:0}.invoice-generator__legend{color:var(--ig-color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:calc(3 * var(--ig-spacing));padding:0;font-size:13px;font-weight:600}.invoice-generator__field-grid{gap:calc(2 * var(--ig-spacing));grid-template-columns:1fr 1fr;display:grid}.invoice-generator__input,.invoice-generator__textarea{padding:calc(2.5 * var(--ig-spacing));border:1px solid var(--ig-color-border);color:var(--ig-color-text);background-color:var(--ig-color-bg-input);box-sizing:border-box;border-radius:4px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.invoice-generator__textarea{resize:vertical;grid-column:1/-1;min-height:60px}.invoice-generator__input:focus,.invoice-generator__textarea:focus{border-color:var(--ig-color-accent);outline:none;box-shadow:0 0 0 3px #0596691a}.invoice-generator__items{gap:calc(2 * var(--ig-spacing));margin-bottom:calc(2 * var(--ig-spacing));flex-direction:column;display:flex}.invoice-generator__item{gap:calc(2 * var(--ig-spacing));grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:center;display:grid}.invoice-generator__input-number{padding:calc(2.5 * var(--ig-spacing));border:1px solid var(--ig-color-border);color:var(--ig-color-text);background-color:var(--ig-color-bg-input);box-sizing:border-box;border-radius:4px;font-family:inherit;font-size:14px;transition:border-color .2s}.invoice-generator__input-number:focus{border-color:var(--ig-color-accent);outline:none;box-shadow:0 0 0 3px #0596691a}.invoice-generator__amount{color:var(--ig-color-accent);text-align:right;font-weight:600}.invoice-generator__remove-item-btn{padding:calc(1.5 * var(--ig-spacing)) calc(2 * var(--ig-spacing));background-color:var(--ig-color-error);color:#fff;cursor:pointer;border:none;border-radius:4px;font-size:12px;font-weight:600;transition:background-color .2s}.invoice-generator__remove-item-btn:hover{background-color:#dc2626}.invoice-generator__add-item-btn{color:var(--ig-color-accent);border:1px dashed var(--ig-color-accent);padding:calc(2 * var(--ig-spacing)) calc(3 * var(--ig-spacing));cursor:pointer;background-color:#0000;border-radius:4px;font-size:13px;font-weight:500;transition:all .2s}.invoice-generator__add-item-btn:hover{background-color:#0596690d;border-style:solid}.invoice-generator__errors{padding:calc(3 * var(--ig-spacing));margin:calc(3 * var(--ig-spacing)) 0;color:var(--ig-color-error);background-color:#ef44440d;border:1px solid #ef444433;border-radius:4px;font-size:13px}.invoice-generator__errors p{margin:calc(1 * var(--ig-spacing)) 0}.invoice-generator__actions{gap:calc(2 * var(--ig-spacing));margin-top:calc(3 * var(--ig-spacing));display:flex}.invoice-generator__btn{padding:calc(2.5 * var(--ig-spacing)) calc(3 * var(--ig-spacing));background-color:var(--ig-color-accent);color:#fff;cursor:pointer;border:none;border-radius:4px;flex:1;font-size:13px;font-weight:600;transition:background-color .2s,transform .1s}.invoice-generator__btn:hover:not(:disabled){background-color:var(--ig-color-accent-hover);transform:translateY(-1px)}.invoice-generator__btn:disabled{background-color:var(--ig-color-border);cursor:not-allowed;opacity:.6}.invoice-generator__preview-section{padding:calc(5 * var(--ig-spacing));background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.invoice-generator__preview-title{margin:0 0 calc(3 * var(--ig-spacing)) 0;color:var(--ig-color-text);font-size:16px;font-weight:600}.invoice-generator__preview{background-color:var(--ig-color-bg);border:1px solid var(--ig-color-border);padding:calc(3 * var(--ig-spacing));border-radius:4px;overflow-x:auto}.invoice-generator__preview-text{color:var(--ig-color-text);white-space:pre-wrap;margin:0;font-family:Monaco,Menlo,Courier New,monospace;font-size:12px;line-height:1.4}.invoice-generator__summary{padding:calc(5 * var(--ig-spacing));background:#fff;border-radius:8px;height:fit-content;position:sticky;top:20px;box-shadow:0 1px 3px #0000001a}.invoice-generator__summary h3{margin:0 0 calc(3 * var(--ig-spacing)) 0;color:var(--ig-color-text);font-size:14px;font-weight:600}.invoice-generator__summary-item{padding:calc(2 * var(--ig-spacing)) 0;border-bottom:1px solid var(--ig-color-border);color:var(--ig-color-text-secondary);justify-content:space-between;align-items:center;font-size:13px;display:flex}.invoice-generator__summary-total{padding:calc(2 * var(--ig-spacing)) 0;margin-top:calc(2 * var(--ig-spacing));color:var(--ig-color-accent);border-top:2px solid var(--ig-color-accent);justify-content:space-between;align-items:center;font-size:14px;font-weight:700;display:flex}.invoice-generator__footer{text-align:center;border-top:1px solid var(--ig-color-border);padding-top:calc(4 * var(--ig-spacing));color:var(--ig-color-text-secondary);font-size:12px}.invoice-generator__footer p{margin:0}.invoice-generator__link{color:var(--ig-color-accent);font-weight:500;text-decoration:none}.invoice-generator__link:hover{text-decoration:underline}@media (max-width:1024px){.invoice-generator__main{grid-template-columns:1fr}.invoice-generator__summary{position:static}}@media (max-width:768px){.invoice-generator{padding:calc(4 * var(--ig-spacing))}.invoice-generator__header h1{font-size:24px}.invoice-generator__field-grid,.invoice-generator__item{grid-template-columns:1fr}.invoice-generator__actions{flex-direction:column}.invoice-generator__btn{width:100%}}@media (max-width:480px){.invoice-generator{padding:calc(3 * var(--ig-spacing))}.invoice-generator__header h1{font-size:20px}.invoice-generator__input,.invoice-generator__textarea,.invoice-generator__input-number{font-size:16px}}@media print{.invoice-generator__header,.invoice-generator__form-section,.invoice-generator__actions,.invoice-generator__summary,.invoice-generator__footer,.invoice-generator__article-container,.invoice-generator__article-error{display:none}.invoice-generator__preview-section{box-shadow:none;margin:0;padding:0;display:block}.invoice-generator__preview{page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:none;padding:0;overflow:visible}body{color:#000;background:#fff}@page{margin:.5in;size:letter}}
