/* Shared metrics for initial rows and rows inserted from templates. */
.ui-document-form .sales-line-row :is(input[type="text"], input[type="number"], select:not(.sr-only)) {
  height: var(--ui-field-height, 44px);
  min-height: var(--ui-field-height, 44px);
  font-size: var(--ui-field-value-size, .875rem);
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}
.ui-document-form :is(
  [data-sale-lines-output="stock"], [data-sale-lines-output="total"],
  [data-special-sale-lines-output="stock"], [data-special-sale-lines-output="total"],
  [data-quotation-lines-output="stock"], [data-quotation-lines-output="total"],
  [data-purchase-lines-output="stock"], [data-purchase-lines-output="total"],
  [data-inventory-movement-form-output="stock"],
  [data-dispatch-guide-stock], [data-dispatch-guide-line-weight]
) {
  display: flex;
  align-items: center;
  height: var(--ui-field-height, 44px);
  min-height: var(--ui-field-height, 44px);
  font-size: var(--ui-field-value-size, .875rem);
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}
.ui-document-form :is([data-sale-note-form-target="lineTotal"], [data-purchase-note-line-total]) {
  font-size: var(--ui-field-value-size, .875rem);
  line-height: 1.4;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
}
/* These labels become screen-reader-only in the desktop row layout. Their
   field margin must disappear too, including fields preceded by hidden inputs. */
@media (min-width: 1024px) {
  .ui-document-form .sales-line-row label[class~="lg:sr-only"] ~ :is(input:not([type="hidden"]), select:not(.sr-only), .ui-field) { margin-top: 0; }
}
/* Row grids sit inside a padded row. Match that content-box width in headers. */
.ui-document-form :is([data-sale-lines-role="mainHeader"], [data-special-sale-lines-role="mainHeader"], [data-quotation-lines-role="mainHeader"], [data-purchase-lines-role="mainHeader"]) {
  box-sizing: content-box;
  font-size: .6875rem;
  line-height: 1.4;
  letter-spacing: .08em;
}
.ui-document-form .sales-pos-header { min-width: 880px; }
/* Size inputs must not spill out of the old fixed 50px matrix container. */
.ui-document-form .sales-line-row :is([data-sale-lines-role="sizeMatrix"], [data-special-sale-lines-role="sizeMatrix"], [data-quotation-lines-role="sizeMatrix"], [data-purchase-lines-role="sizeMatrix"], [data-inventory-movement-form-role="sizeMatrix"]) {
  height: auto;
  min-height: calc(var(--ui-field-height, 44px) + .5rem + 2px);
}
