/* Invoice Generator — scoped styles, uses global tokens. */
.nx-tool--invoice-generator .nx-inv-header,
.nx-tool--invoice-generator .nx-inv-row {
  display: grid;
  grid-template-columns: 1fr 72px 96px 86px 32px;
  gap: .45rem;
  align-items: center;
  margin-bottom: .35rem;
}
.nx-tool--invoice-generator .nx-inv-header {
  font-size: .75rem;
  font-weight: 600;
  color: var(--nx-slate, #475569);
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 0 .15rem;
}
.nx-tool--invoice-generator .nx-inv-amount {
  font-family: var(--nx-font-mono, monospace);
  font-size: .88rem;
  color: var(--nx-navy-ink, #222A41);
  text-align: right;
  white-space: nowrap;
}
.nx-tool--invoice-generator .nx-inv-remove {
  padding: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  line-height: 1;
  border-radius: var(--nx-r-sm, 8px);
}
.nx-tool--invoice-generator .nx-inv-totals {
  border: 1px solid var(--nx-line, #E2E8F0);
  border-radius: var(--nx-r, 14px);
  padding: 1rem 1.25rem;
  background: var(--nx-mist, #F8FAFC);
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.nx-tool--invoice-generator .nx-inv-totals > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .9rem;
  color: var(--nx-slate, #475569);
}
.nx-tool--invoice-generator .nx-inv-total-row {
  font-weight: 700;
  font-size: 1rem;
  color: var(--nx-navy-ink, #222A41) !important;
  border-top: 1px solid var(--nx-line, #E2E8F0);
  padding-top: .5rem;
  margin-top: .25rem;
}
.nx-tool--invoice-generator .nx-inv-total-row span:last-child {
  font-family: var(--nx-font-mono, monospace);
  color: var(--nx-blue, #2563EB);
}
@media (max-width: 560px) {
  .nx-tool--invoice-generator .nx-inv-header,
  .nx-tool--invoice-generator .nx-inv-row {
    grid-template-columns: 1fr 56px 76px 72px 28px;
    gap: .3rem;
    font-size: .8rem;
  }
}
