/* Shared field sizing loaded after page-specific styles. */
:root {
  --field-height: 44px;
  --field-padding-x: 14px;
  --field-font-size: 0.9rem;
  --field-radius: var(--radius-sm, 6px);
}

input.form-control,
select.form-control,
textarea.form-control,
.form-input,
.form-select,
.form-textarea,
.sa-input,
.sa-select,
.sa-textarea,
.input-group input,
.input-group select,
.input-group textarea,
.inventory-filter-bar input,
.inventory-filter-bar select,
input[type="text"]:not(.switch-input):not([class*="flatpickr"]),
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="tel"],
input[type="search"],
input[type="url"],
select,
textarea {
  min-height: var(--field-height) !important;
  padding: 10px var(--field-padding-x) !important;
  font-size: var(--field-font-size) !important;
  line-height: 1.35 !important;
  border-radius: var(--field-radius) !important;
}

select.form-control,
.form-select,
.sa-select,
select {
  padding-right: 36px !important;
}

textarea.form-control,
.form-textarea,
.sa-textarea,
textarea {
  min-height: 88px !important;
}

.input-group-text {
  min-height: var(--field-height) !important;
  padding: 10px 12px !important;
  font-size: var(--field-font-size) !important;
}

@media (max-width: 640px) {
  :root {
    --field-height: 44px;
    --field-padding-x: 12px;
    --field-font-size: 0.9rem;
  }
}
