.invoice-topbar { gap: 18px; }
.invoice-topbar .primary-nav { flex: 1; }
.invoice-main { display: grid; gap: 18px; padding: 18px; }
.invoice-editor, .invoice-list-workspace { min-width: 0; }
.invoice-heading-row { align-items: center; }
.invoice-current { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.invoice-status { display: inline-flex; align-items: center; min-height: 26px; padding: 2px 10px; border-radius: 999px; font-size: 12px; }
.status-draft { color: #76541b; background: #fff2c9; }
.status-finalized { color: #176343; background: #dff6e9; }
.status-cancelled { color: #747b84; background: #eef0f2; }
.invoice-conditions { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 18px 0; }
.invoice-conditions .field { min-width: 180px; }
.invoice-source-field { flex: 1; max-width: 440px; }
.invoice-message { padding: 10px 12px; border-radius: 8px; color: #245c3f; background: #e9f8f0; }
.invoice-message.is-error { color: #9f2929; background: #fff0f0; }
.invoice-summary { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; margin: 12px 0; color: #53616d; }
.invoice-summary strong { margin-left: auto; color: #1e2933; font-size: 18px; }
.invoice-table-frame { max-height: 58vh; }
.invoice-lines-table { min-width: 1160px; }
.invoice-lines-table tbody tr.order-start td { border-top: 2px solid #cbd5dc; }
.invoice-lines-table tbody tr.is-excluded { opacity: .48; background: #f5f6f7; }
.invoice-lines-table td:nth-child(7), .invoice-lines-table td:nth-child(8), .invoice-lines-table td:nth-child(9),
.invoice-list-table td:nth-child(5) { text-align: right; white-space: nowrap; }
.invoice-lines-table .line-error { color: #b42323; font-weight: 700; }
.invoice-lines-table .zero-amount { color: #7c8791; }
.invoice-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }
.invoice-cancel-button { border: 1px solid #d36b6b; color: #a12424; background: #fff; }
.invoice-list-table { min-width: 850px; }
.invoice-list-table .button { min-height: 32px; padding: 4px 12px; }
@media (max-width: 900px) {
  .invoice-main { padding: 10px; }
  .invoice-summary strong { margin-left: 0; width: 100%; }
}
