.invoice-workspace { padding: 0 22px 24px; }
.invoice-workspace > h3, .invoice-unpaid-rides > h3 { margin: 24px 0 14px; }
.invoice-unpaid-rides[hidden] { display: none; }
.invoice-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.invoice-filters button { min-height: 44px; white-space: normal; }
.invoice-filters button[aria-pressed="true"] { background: var(--lime, #c9fa52); border-color: var(--lime, #c9fa52); color: var(--ink, #111c2e); }
.invoice-filters button:focus-visible { outline: 2px solid var(--ink, #111c2e); outline-offset: 3px; }
.invoice-workspace .panel-head { padding-left: 0; padding-right: 0; }
.invoice-search-toolbar { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px; margin: 0 0 18px; }
.invoice-search-toolbar label { display: grid; gap: 8px; flex: 1 1 280px; min-width: 0; font-weight: 600; }
.invoice-search-toolbar input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line, #dce5ef); border-radius: 10px; background: white; color: var(--ink, #111c2e); font: inherit; font-size: 16px; }
.invoice-search-toolbar button { min-height: 44px; white-space: normal; }
.invoice-search-count { margin: 0 0 14px; color: #54657a; overflow-wrap: anywhere; }
.invoice-help, .invoice-notice { line-height: 1.6; overflow-wrap: anywhere; }
.invoice-help { color: #54657a; }
.invoice-notice { padding: 15px; background: #fff6df; color: #694c12; border: 1px solid #efdbaa; border-radius: 12px; }
.invoice-cards { display: grid; gap: 12px; }
.invoice-card { display: flex; align-items: center; gap: 18px; padding: 18px; border: 1px solid #dce5ef; border-radius: 14px; min-width: 0; }
.invoice-card > div:first-child { flex: 1; }
.invoice-card p { margin: 7px 0; }
.invoice-card small { display: block; color: #54657a; line-height: 1.5; }
.invoice-card > * { overflow-wrap: anywhere; min-width: 0; }
.invoice-card button { flex-shrink: 0; white-space: normal; min-height: 44px; }
.invoice-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.invoice-summary > div { padding: 14px; background: #f6f8fa; border-radius: 12px; overflow-wrap: anywhere; }
.invoice-summary dt, .invoice-summary small { color: #54657a; font-size: .85em; }
.invoice-summary dd { margin: 8px 0 0; font-weight: 700; }
.invoice-delivery { flex-wrap: wrap; }
.invoice-delivery > * { min-height: 44px; white-space: normal; text-align: center; }
.invoice-settlement-form { margin: 20px 0; padding: 18px; border: 1px solid #dce5ef; border-radius: 14px; }
.invoice-settlement-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.invoice-settlement-fields label { display: grid; gap: 8px; min-width: 0; }
.invoice-settlement-fields input, .invoice-settlement-fields select { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; font-size: 16px; }
.invoice-receipt-confirmation { display: flex; align-items: flex-start; gap: 12px; margin: 18px 0; line-height: 1.5; }
.invoice-receipt-confirmation input { flex: 0 0 22px; width: 22px; height: 22px; margin: 2px 0; }
.invoice-settlement-form button { min-height: 44px; white-space: normal; }
[data-invoice-settlement-error] { color: #a02738; overflow-wrap: anywhere; }
.invoice-payment-history { display: grid; gap: 10px; margin: 14px 0 20px; }
.invoice-payment-history article { display: grid; gap: 7px; padding: 14px; border: 1px solid #dce5ef; border-radius: 12px; overflow-wrap: anywhere; }
.invoice-payment-history small { color: #54657a; }
@media (max-width: 640px) {
  .invoice-workspace { padding: 0 14px 18px; }
  .invoice-card { align-items: stretch; flex-direction: column; gap: 12px; padding: 14px; }
  .invoice-card button { width: 100%; }
  .invoice-search-toolbar { align-items: stretch; }
  .invoice-search-toolbar label, .invoice-search-toolbar button { flex-basis: 100%; width: 100%; }
  .invoice-delivery > * { width: 100%; justify-content: center; }
  .invoice-summary { grid-template-columns: minmax(0, 1fr); }
  .invoice-settlement-fields { grid-template-columns: minmax(0, 1fr); }
  .invoice-settlement-form { padding: 14px; }
  .invoice-settlement-form button { width: 100%; }
}
