/* === Grid de campos responsivo === */
.form-linha-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--c-space-4, 16px);
  margin-bottom: 18px;
}

.form-campo {
  display: flex;
  flex-direction: column;
}

.form-campo label {
  font-weight: 500;
  margin-bottom: 4px;
  font-size: 14px;
  color: #0f172a;
}

/* Inputs/Selects seguem o tema; aqui só garantimos largura */
.form-campo input,
.form-campo select {
  width: 100%;
  box-sizing: border-box;
}

.form-campo input[readonly] {
  background-color: #f3f6fb;
  cursor: not-allowed;
}

/* Rodapé com ação à direita */
.form-rodape {
  text-align: right;
  margin-top: 20px;
}

/* Botão salvar aderente ao tema */
.btn-salvar {
  background: #0f9d58;
  border: 1px solid #0f9d58;
  color: #fff;
  padding: 10px 18px;
  font-weight: 700;
  font-size: 14px;
  border-radius: var(--radius, 8px);
  cursor: pointer;
  transition: background-color .15s, box-shadow .15s, transform .02s;
}
.btn-salvar:hover {
  background-color: #0c7b43;
  border-color: #0c7b43;
}
.btn-salvar:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--c-ring, rgba(0,87,184,.22));
}
