.invoice-calc{background:var(--color-paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-calculator);overflow:hidden}.invoice-items{padding:var(--space-6)}.invoice-header-row{display:none}.invoice-row{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-3);align-items:center;margin-bottom:var(--space-3)}.invoice-input{padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:.9375rem;color:var(--color-midnight);background:var(--color-sandstone);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast);width:100%;-webkit-appearance:none}.invoice-input:focus{border-color:var(--color-eucalyptus)}.invoice-desc{grid-column:1 / -1}.invoice-amount-wrap{position:relative;display:flex;align-items:center}.invoice-dollar{position:absolute;left:var(--space-3);font-family:var(--font-mono);font-size:.875rem;color:var(--color-gum-bark);pointer-events:none}.invoice-amount{font-family:var(--font-mono);padding-left:calc(var(--space-3) + 1rem);min-width:120px}.invoice-toggle{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;white-space:nowrap}.invoice-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-eucalyptus)}.invoice-toggle-label{font-size:.8125rem;color:var(--color-gum-bark);font-weight:500}.invoice-remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--color-gum-bark);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.invoice-remove:hover:not(:disabled){color:var(--color-error);background:#dc26260f}.invoice-remove:disabled{opacity:.3;cursor:default}.invoice-add{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:1.5px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-eucalyptus);font-family:var(--font-body);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);margin-top:var(--space-2)}.invoice-add:hover{border-color:var(--color-eucalyptus);background:#2d8c6f0a}.invoice-totals{padding:var(--space-6);background:var(--color-sandstone);border-top:1px solid var(--color-border-light)}.invoice-total-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;font-size:.9375rem;color:var(--color-gum-bark)}.invoice-total-value{font-family:var(--font-mono);font-weight:500;color:var(--color-midnight);font-size:1.125rem}.invoice-grand-total{border-top:2px solid var(--color-border);margin-top:var(--space-2);padding-top:var(--space-4);font-weight:600;color:var(--color-midnight)}.invoice-grand-total .invoice-total-value{font-size:1.5rem;color:var(--color-eucalyptus)}.invoice-actions{padding:var(--space-4) var(--space-6);display:flex;gap:var(--space-3)}@media(min-width:768px){.invoice-header-row{display:grid;grid-template-columns:1.5fr 1fr auto auto;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-4);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gum-bark)}.invoice-row{grid-template-columns:1.5fr 1fr auto auto}.invoice-desc{grid-column:auto}}.invoice-print-summary{padding:2rem}.invoice-print-date{color:#666;margin-bottom:1rem}.invoice-print-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.invoice-print-table th,.invoice-print-table td{padding:.5rem;text-align:left;border-bottom:1px solid #ddd}.invoice-print-table th{font-weight:600;border-bottom:2px solid #333}.invoice-print-totals p{margin:.25rem 0;text-align:right}.invoice-page[data-astro-cid-d4ci4nmo]{max-width:800px}.page-header[data-astro-cid-d4ci4nmo]{margin-bottom:var(--space-8)}.page-header[data-astro-cid-d4ci4nmo] h1[data-astro-cid-d4ci4nmo]{margin-bottom:var(--space-3)}.page-intro[data-astro-cid-d4ci4nmo]{color:var(--color-gum-bark);font-size:1.0625rem}.back-link[data-astro-cid-d4ci4nmo]{margin-top:var(--space-8);font-size:.875rem}
