html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Cartões de campo do formulário de máscara */
.field-card {
  border: 1px solid #e3e6ea;
  border-left: 4px solid #c9ced4;
  border-radius: 8px;
  padding: 12px 14px;
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.field-card .field-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}
.field-card .field-label { font-weight: 600; font-size: .95rem; }
.field-card .badge-status { font-size: .68rem; }

/* Pendente (ainda não preenchido) */
.field-card.pending { border-left-color: #f0ad4e; background: #fffdf6; }
.field-card.pending .badge-pending { display: inline-block; }
.field-card.pending .badge-ok { display: none; }

/* Preenchido */
.field-card.filled { border-left-color: #2e7d32; }
.field-card.filled .badge-pending { display: none; }
.field-card.filled .badge-ok { display: inline-block; }

/* Com erro de validação */
.field-card.error { border-left-color: #dc3545; background: #fff6f6; }

.badge-pending, .badge-ok { display: none; }

/* Barra de progresso de preenchimento */
.fill-progress-wrap { position: sticky; top: 0; z-index: 5; background: #fff; padding: 10px 0; }

/* Resumo de pendências */
.missing-summary a { text-decoration: none; }
.missing-summary a:hover { text-decoration: underline; }