.pa-field { display: grid; gap: var(--pa-spacing-s); }
.pa-label { color: var(--pa-color-text-primary); font: var(--pa-font-weight-semibold) var(--pa-font-size-body-small)/var(--pa-line-height-ui) var(--pa-font-family-ui); }
.pa-help { color: var(--pa-color-text-secondary); font: var(--pa-font-weight-regular) var(--pa-font-size-caption)/var(--pa-line-height-body) var(--pa-font-family-body); }

.pa-input,
.pa-select,
.pa-textarea,
.pa-form input:not([type="checkbox"]):not([type="radio"]),
.pa-form select,
.pa-form textarea {
  background: var(--pa-color-surface);
  border: var(--pa-border-width) solid var(--pa-color-border);
  border-radius: var(--pa-radius-small);
  box-sizing: border-box;
  color: var(--pa-color-text-primary);
  font: var(--pa-font-weight-regular) var(--pa-font-size-body)/var(--pa-line-height-ui) var(--pa-font-family-ui);
  min-height: var(--pa-control-height);
  padding: var(--pa-spacing-s) var(--pa-control-padding-x);
  transition: border-color var(--pa-transition-base), box-shadow var(--pa-transition-base);
  width: 100%;
}

.pa-textarea,
.pa-form textarea { min-height: var(--pa-textarea-min-height); resize: vertical; }
.pa-input:hover,
.pa-select:hover,
.pa-textarea:hover { border-color: var(--pa-color-primary); }
.pa-input:focus,
.pa-select:focus,
.pa-textarea:focus,
.pa-form input:focus,
.pa-form select:focus,
.pa-form textarea:focus { border-color: var(--pa-color-focus); box-shadow: 0 0 0 var(--pa-focus-width) color-mix(in srgb, var(--pa-color-focus) 18%, transparent); outline: 0; }
.pa-input:disabled,
.pa-select:disabled,
.pa-textarea:disabled,
.pa-form :disabled { background: var(--pa-color-surface-soft); cursor: not-allowed; opacity: 0.65; }
.pa-field.is-error :is(.pa-input, .pa-select, .pa-textarea) { border-color: var(--pa-color-danger); }
.pa-field.is-success :is(.pa-input, .pa-select, .pa-textarea) { border-color: var(--pa-color-success); }

.pa-check,
.pa-radio,
.pa-toggle { align-items: center; color: var(--pa-color-text-primary); display: inline-flex; font: var(--pa-font-weight-regular) var(--pa-font-size-body)/var(--pa-line-height-control) var(--pa-font-family-ui); gap: var(--pa-spacing-s); min-height: var(--pa-control-height-compact); }
.pa-check input,
.pa-radio input { accent-color: var(--pa-color-primary); height: var(--pa-check-size); width: var(--pa-check-size); }
.pa-toggle input { accent-color: var(--pa-color-primary); height: var(--pa-toggle-height); width: var(--pa-toggle-width); }
