/* ============================================================
   Fields
   Labels, hints, and the two text controls (input, textarea)
   that share one box style. Size modifiers come after
   the base rules — they match on specificity and win by order.
   ============================================================ */

.field {
  margin-bottom: 22px;
}

.field__label {
  display: block;
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 7px;
}

.field__label--tight {
  margin-bottom: 2px;
}

/* Required marker */
.req {
  color: var(--accent);
}

.hint {
  font-size: 12.5px;
  color: var(--text-4);
  margin: 0 0 9px;
}

.hint--tight {
  margin: 7px 0 0;
}

/* Label on the left, a "browse"/"select all" affordance pushed to the right */
.field__row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 2px;
}

.field__row > .field__label {
  margin-bottom: 0;
}

.field__row > :last-child {
  margin-left: auto;
}

/* The row is tight because a hint usually follows it; this is for the rows
   where the control comes straight after. */
.field__row--loose {
  margin-bottom: 9px;
}

/* ---------- Controls ---------- */

.input:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.input,
.textarea {
  width: 100%;
  background: var(--field);
  border: 1px solid var(--border-3);
  border-radius: var(--r);
  color: var(--text);
  font: inherit;
  font-size: 15px;
  padding: 11px 13px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}

.input:focus,
.textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(20, 184, 166, .16);
}

.textarea {
  resize: vertical;
  min-height: 84px;
}

/* Dropdowns are .combo, not <select> — see css/components/combo.css */

/* ---------- Small variant ---------- */

.label-sm {
  display: block;
  font-size: 13px;
  font-weight: 400;
  margin-bottom: 8px;
}

.input--sm {
  font-size: 14px;
  padding: 9px 11px;
  border-radius: 8px;
}

/* ---------- Dashed variant ---------- */

/* "Add another option" rows: dashed until focused, then solid teal. */
.input--dashed {
  background: var(--surface-2);
  border: 1px dashed var(--border-3);
  border-radius: 8px;
  color: var(--text-2);
  font-size: 13px;
  padding: 8px 11px;
}

.input--dashed:focus {
  border-color: var(--accent);
  border-style: solid;
  box-shadow: none;
}

/* ---------- Range ---------- */

.range {
  width: 100%;
  accent-color: var(--accent);
  cursor: pointer;
}
