/* One shared field layout: muted caption inside the input, value on the same baseline. */
@media (min-width: 821px) {
  label.compact-field { position: relative; display: block !important; gap: 0 !important; min-width: 0; }
  .compact-field > .compact-field-caption { position: absolute; z-index: 1; left: 12px; top: 18px; transform: translateY(-50%); max-width: 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-soft); font-size: 12px; font-weight: 400; line-height: 18px; pointer-events: none; }
  .compact-field > .compact-field-suffix { position: absolute; right: 12px; top: 18px; transform: translateY(-50%); color: var(--text-soft); font-size: 12px; line-height: 18px; pointer-events: none; }
  label.compact-field > :is(input, select, textarea), label.compact-field > .searchable-select > .searchable-select-input { padding-left: calc(min(var(--field-caption-width), 40%) + 22px); font-weight: 400; }
  label.compact-field:has(> .compact-field-suffix) > input { padding-right: calc(2.5em + 12px); }
  label.compact-field > :is(input, select), label.compact-field > .searchable-select > .searchable-select-input { height: var(--control-height); min-height: var(--control-height); }
  label.compact-field > :is(input, select, textarea), label.compact-field > .searchable-select { width: 100%; min-width: 0; }
  label.compact-date-field { min-width: 228px; }
  label.compact-date-field:has(input[type=month]) { min-width: 210px; }
  .compact-field input::placeholder, .compact-field textarea::placeholder { color: var(--text-soft); opacity: .8; }
  .compact-field textarea { padding-top: 10px; }
  .business-form label.compact-field, .filter-toolbar label.compact-field { margin-bottom: 0; }
  .report-table-form .report-context-section { grid-template-columns: minmax(220px, 1.6fr) minmax(180px, 1fr) 228px; }
  .report-table-form .report-context-section:has(.report-product-field) { grid-template-columns: minmax(210px, 1.3fr) minmax(180px, 1.3fr) minmax(180px, 1fr) 228px; }
  .report-table-form .report-context-section:has(.report-reporter-field) { grid-template-columns: minmax(240px, 1.6fr) minmax(180px, 1fr) 436px; }
  .report-table-form .report-context-section:has(.report-reporter-field):has(.report-product-field) { grid-template-columns: minmax(210px, 1.3fr) minmax(160px, 1fr) minmax(180px, 1fr) 436px; }
  .report-table-form .report-meta-fields:has(.report-reporter-field) { grid-template-columns: minmax(0, 1fr) 228px; }
  .report-table-form .report-fill-controls label.compact-field { width: 130px; }
  .report-table-form .report-fill-controls label.compact-field > input { width: 100%; text-align: right; }
  .report-table-form .report-quantity-fields label.compact-field { width: 240px; }
  .report-table-form .report-quantity-fields label.compact-field > input { width: 100%; height: 36px; min-height: 36px; }
  .hours-month-form label.compact-field { flex: 0 0 210px; }
  .report-picker-filters { align-items: center; }
  .filter-toolbar label.compact-field.filter-compact { width: 180px; flex: 0 0 180px; }
  .monthly-filter-actions { grid-column: auto; align-items: center; }
  .report-table-form .report-context-section:not(:has(.report-process-field)):not(:has(.report-product-field)) .report-order-field { grid-column: 1 / -2; }
  .report-picker-filters .compact-field-caption { max-width: 48%; }
}
@media (min-width: 821px) and (max-width: 1320px) {
  .report-table-form .report-context-section:has(.report-reporter-field):has(.report-product-field) { grid-template-columns: minmax(220px, 1fr) minmax(180px, 1fr) minmax(180px, 1fr); }
  .report-table-form .report-context-section:has(.report-reporter-field):has(.report-product-field) .report-process-field { grid-column: 3; }
  .report-table-form .report-context-section:has(.report-reporter-field):has(.report-product-field) .report-meta-fields { grid-row: 2; grid-column: 2 / -1; justify-self: end; width: 436px; }
}
