.alp-field{ display:flex; flex-direction:column; gap:6px; }
.alp-field label{ font-size:13px; font-weight:500; color:var(--text-secondary); }
.alp-field input, .alp-field select, .alp-field textarea{
  background:var(--surface-card); border:1px solid var(--border-strong);
  border-radius:8px; padding:11px 14px; color:var(--text-primary);
  font-family:var(--font-body); font-size:15px;
  transition:border-color var(--duration-fast) ease-out;
}
.alp-field input:focus, .alp-field select:focus, .alp-field textarea:focus{
  border-color:var(--accent-interactive); outline:none;
}
.alp-field input:disabled, .alp-field select:disabled, .alp-field textarea:disabled{
  opacity:0.5; cursor:not-allowed;
}
.alp-field--error input, .alp-field--error select, .alp-field--error textarea{ border-color:var(--state-error); }
.alp-field--success input, .alp-field--success select, .alp-field--success textarea{ border-color:var(--state-success); }
.alp-field__hint{ font-size:12px; color:var(--text-secondary); }
.alp-field__hint--error{ color:var(--state-error); }
.alp-field__hint--success{ color:var(--state-success); }

.alp-checkbox, .alp-radio{ display:flex; align-items:center; gap:8px; font-size:14px; color:var(--text-primary); cursor:pointer; }
.alp-checkbox input, .alp-radio input{ accent-color:var(--accent-interactive); width:16px; height:16px; }
