/* UI follow-ups of the final wave (impl-plan §13 «Koordinator-Entscheide Schlusswelle»), linked once after
   u6-forms.css and before the D-29 layer; tokens only. */

/* Bill editor: the line details (Aufwandskonto and the input-VAT fields) as one compact control line.
   Aufwandskonto keeps its visible label, inline before the select. The input-VAT fields keep their <label>
   for screen readers (visually hidden); the group is named by its visible caption «Vorsteuer»; each of them
   shows its label as tooltip on hover and keyboard focus. The fields shrink to their minimum before the line
   wraps; a narrow editor wraps them. */
.line-grid .bill-line-row .line-details-body { flex-wrap: nowrap; align-items: center; gap: var(--space-2) var(--space-3); padding: var(--space-1) 0 var(--space-3); }
.line-grid .bill-line-row .line-details-body > .input-vat-controls { display: flex; flex: 1 1 auto; flex-wrap: nowrap; align-items: center; gap: var(--space-2) var(--space-3); min-width: 0; padding: 0; }
.line-grid .bill-line-row .line-details-body .field { display: block; min-width: 0; }
.line-grid .bill-line-row .line-details-body > .line-account { display: flex; align-items: center; gap: var(--space-2); flex: 0 1 344px; width: auto; min-width: 232px; }
.line-grid .bill-line-row .line-details-body > .line-account > label { flex: none; margin: 0; padding: 0; color: var(--text-muted); font-size: var(--text-xs); line-height: var(--lh-xs); font-weight: var(--weight-semibold); white-space: nowrap; }
.line-grid .bill-line-row .line-details-body .field:not(.line-account) > label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.line-grid .bill-line-row .line-details-body .field > :is(.input, .select) { width: 100%; max-width: none; height: var(--control-sm); min-height: var(--control-sm); padding: 3px 6px; font-size: var(--text-sm); line-height: var(--lh-sm); }
.line-grid .bill-line-row .line-details-body .field > .select { padding-right: 24px; background-position: right 6px center; text-overflow: ellipsis; }
.line-grid .bill-line-row .line-details-body > .line-account > .select { flex: 1 1 auto; width: auto; min-width: 0; }
.line-grid .bill-line-row .input-vat-caption { flex: none; color: var(--text-muted); font-size: var(--text-xs); line-height: var(--lh-xs); font-weight: var(--weight-semibold); white-space: nowrap; }
.line-grid .bill-line-row .input-vat-controls > .input-vat-deduction { flex: 0 0 196px; width: auto; }
.line-grid .bill-line-row .input-vat-controls > .input-vat-percent { flex: 0 0 96px; width: auto; }
.line-grid .bill-line-row .input-vat-controls > .input-vat-category { flex: 0 2 240px; width: auto; min-width: 144px; }
.line-grid .bill-line-row .input-vat-controls > .input-vat-reason { flex: 1 1 140px; width: auto; min-width: 104px; max-width: 480px; }
.line-grid .bill-line-row .input-vat-controls .input:disabled { color: var(--text-muted); }
@container editor (max-width: 900px) {
  .line-grid .bill-line-row .line-details-body, .line-grid .bill-line-row .line-details-body > .input-vat-controls { flex-wrap: wrap; }
}

/* Plug-in modules loaded on first use (modules/registry.js): the message when a module could not load. */
.module-load-error { max-width: 640px; }

/* Bank split view (wave 25.09 b): from 1440 px the list next to the pane gives Beschreibung the room that Referenz
   (short bank references; 18 % = about 127 px at 1440x900) did not need; below 1440 px the 14 % of u7-screens.css stay.
   Status keeps its 140 px («Nicht verarbeitet»); a clipped Beschreibung keeps its full text as tooltip (data-grid.js). */
@media (min-width: 1440px) { .page.has-bank-pane .bank-table th.col-ref { width: 96px; } }
