/* Estiliza inputs, selects e textareas */
body {
  background-color: #f4f7fb;
}

input.form-control,
select.form-select,
textarea.form-control {
  max-width: 100%;
  min-height: 42px;
  border: 1px solid #adb5bd;
  border-radius: 0.6rem;
  background-color: #fbfcfd;
  color: #212529;
  box-shadow: none;
  transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
  padding: 0.75rem 0.85rem;
}

input.form-control::placeholder,
textarea.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}

input.form-control:focus,
select.form-select:focus,
textarea.form-control:focus {
  border-color: #0d6efd;
  background-color: #fff;
  outline: none;
  box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.18);
}

.form-select {
  border: 1px solid #adb5bd;
  border-radius: 0.6rem;
  background-color: #fbfcfd;
  box-shadow: none;
  transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.form-select:focus {
  border-color: #0d6efd;
  background-color: #fff;
  box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.18);
  outline: none;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: #0d6efd;
}

.form-check-input {
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.2rem;
  border: 1px solid #adb5bd;
  background-color: #fff;
  box-shadow: none;
  transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

.form-check-input:not(:checked) {
  background-color: #fff;
}

.form-check-input:checked {
  border-color: #0d6efd;
  background-color: #0d6efd;
}

.form-check-input:focus {
  border-color: #0d6efd;
  box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.18);
}

.form-switch .form-check-input {
  width: 2.5em;
  height: 1.4em;
}

.form-check-label {
  margin-left: 0.45rem;
  font-weight: 500;
}

.form-text {
  color: #6c757d;
}
