/* Invoice Generator */
.invoice-sheet { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-6); font-size: var(--text-sm); }
.invoice-header { display: flex; justify-content: space-between; gap: var(--space-6); flex-wrap: wrap; margin-bottom: var(--space-5); padding-bottom: var(--space-5); border-bottom: 1px solid var(--color-border); }
.invoice-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: var(--text-xl); font-weight: 800; letter-spacing: 0.02em; }
.invoice-parties { display: flex; gap: var(--space-6); flex-wrap: wrap; }
.invoice-parties > div { white-space: pre-line; min-width: 180px; }
.invoice-label { display: block; font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-subtle); margin-bottom: 4px; font-weight: 600; }
.invoice-meta { display: flex; gap: var(--space-6); margin-bottom: var(--space-5); }
.invoice-table { width: 100%; border-collapse: collapse; margin-bottom: var(--space-5); }
.invoice-table th { text-align: left; font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-text-subtle); padding: 8px 6px; border-bottom: 1px solid var(--color-border); }
.invoice-table td { padding: 8px 6px; border-bottom: 1px solid var(--color-border); vertical-align: top; }
.invoice-table th:not(:first-child), .invoice-table td:not(:first-child) { text-align: right; }
.invoice-table input { width: 100%; border: none; background: none; font: inherit; color: var(--color-text); padding: 0; }
.invoice-table input:focus { outline: none; }
.invoice-table .iv-desc-cell { display: flex; align-items: center; gap: 8px; }
.invoice-table .iv-remove { flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--color-border); color: var(--color-text-subtle); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; background: none; }
.invoice-table .iv-remove:hover { border-color: var(--color-error); color: var(--color-error); }
.invoice-table .iv-remove svg { width: 9px; height: 9px; }
.invoice-totals { max-width: 280px; margin-left: auto; }
.invoice-totals > div { display: flex; justify-content: space-between; padding: 6px 0; }
.invoice-total-row { border-top: 1px solid var(--color-border); margin-top: 6px; padding-top: 10px !important; font-weight: 700; font-size: var(--text-base); }
.invoice-notes { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--color-border); white-space: pre-line; color: var(--color-text-muted); font-size: var(--text-sm); }

@media print {
  [data-no-print="1"] { display: none !important; }
  body { background: #fff; }
  main, .container, .calc-shell, .calc-results { all: unset; display: block; }
  .invoice-sheet { border: none; padding: 0; }
}
