/* AtSeaUI – Form layout polish (Project aanmaken e.a.) */

.form-grid{
  display:grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px 18px !important;
}

/* grid span helpers */
.form-row{ grid-column: span 2; }
.form-row.span-1{ grid-column: span 1; }
.form-row.span-2{ grid-column: span 2; }
.form-row.span-3{ grid-column: span 3; }
.form-row.span-4{ grid-column: span 4; }
.form-row.span-all, .form-help.span-all{ grid-column: 1 / -1; }

@media (max-width: 1100px){
  .form-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-row{ grid-column: span 1; }
  .form-row.span-all, .form-help.span-all{ grid-column: 1 / -1; }
}

.form-row{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0;
}

.form-row label{
  font-size:13px;
  font-weight:600;
  color: var(--text, #0f172a);
}

.form-row input,
.form-row select,
.form-row textarea{
  width:100%;
  box-sizing:border-box;
}

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

.form-help{
  margin:0;
  color: var(--muted, #6b7280);
  font-size:13px;
}

.form-error{
  color:#b42318;
  font-size:12px;
  margin-top:2px;
}

.form-row.has-error input,
.form-row.has-error select,
.form-row.has-error textarea{
  border-color:#f04438 !important;
  box-shadow:0 0 0 3px rgba(240,68,56,.15);
}

/* Footer actions */
.form-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  grid-column: 1 / -1;
  padding-top: 6px;
}

/* Subtle hint under search */
.muted{
  color: var(--muted, #6b7280);
  font-size:12px;
}

/* Make required asterisk optional class if used */
.required::after{ content:" *"; color:#b42318; font-weight:700; }
