.uh-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.uh-form label {
  display: block;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 600;
}
.uh-form input,
.uh-form select,
.uh-form textarea {
  display: block;
  width: 100%;
  margin-top: 5px;
  padding: 7px 9px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel2);
  color: var(--text);
  font: inherit;
  font-size: 12.5px;
}
.uh-form textarea { resize: vertical; min-height: 74px; }
.uh-form input:focus-visible,
.uh-form select:focus-visible,
.uh-form textarea:focus-visible { outline: 2px solid var(--text); outline-offset: 1px; }
.uh-form .btn { margin-top: 14px; }
.uh-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.uh-lookup { margin-bottom: 12px; }
.uh-lookup .row { margin-top: 14px; gap: 8px; }
.uh-alert {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  font-size: 12.5px;
}
.uh-alert.bad {
  border-color: color-mix(in srgb, var(--bad, #d2544f) 45%, var(--border));
  background: color-mix(in srgb, var(--bad, #d2544f) 9%, transparent);
}
.uh-alert.good {
  border-color: color-mix(in srgb, var(--good, #4ea87a) 45%, var(--border));
  background: color-mix(in srgb, var(--good, #4ea87a) 9%, transparent);
}
