body {
  font-size: 0.95rem !important;
}

.menu {
  margin-top: 20px !important;
}

h5 {
  font-size: 1rem !important;
}

.has-error > input {
  border-color: #ff5b57;
  padding-right: calc(1.5em + 0.875rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ff5b57'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ff5b57' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.21875rem) center;
  background-size: calc(0.75em + 0.4375rem) calc(0.75em + 0.4375rem);
}

.has-error > input:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); /* sombra do Bootstrap */
  outline: 0;
}

.has-error > div.help-block {
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.7125rem;
  color: #ff5b57;
}

.kv-grid-wrapper-kentel {
  position: relative;
  overflow: auto;
  height: 70vh;
}

@media (max-height: 720px) {
  .kv-grid-wrapper-kentel {
    height: 65vh;
  }
}

td > div.empty {
  text-align: center;
}

legend {
  font-size: 1.1rem !important;
}

/* Estilo base para o "ícone" */
i.icon-loading {
  display: inline-block;
  width: 1em;
  height: 1em;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  vertical-align: middle;
}

/* Animação de rotação */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
