.form-group{
  margin-bottom:var(--spacing-4);
}

.form-label{
  display:block;
  margin-bottom:var(--spacing-2);
  font-weight:600;
  color:var(--color-text-primary);
  font-size:14px;
}

.form-input{
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
  background:var(--color-surface);
  color:var(--color-text-primary);
  font-size:14px;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.form-input:focus{
  outline:none;
  border-color:var(--color-primary);
  box-shadow:0 0 0 3px rgba(47, 195, 199, 0.18);
}

.form-input:disabled{
  background:var(--color-surface-secondary);
  color:var(--color-text-muted);
  cursor:not-allowed;
}

textarea.form-input{
  min-height:96px;
  resize:vertical;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--spacing-4);
}

.form-full{
  grid-column:1 / -1;
}

.form-help,
.form-error{
  margin-top:var(--spacing-1);
  font-size:13px;
}

.form-help{
  color:var(--color-text-muted);
}

.form-error{
  color:var(--color-danger-strong);
}

@media (max-width: 900px){
  .form-grid{
    grid-template-columns:1fr;
  }
}
