/* === Global === */
body {
  background-color: #f5f7fa;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

h3, h4, h5 {
  font-weight: 600;
  color: #2c3e50;
}

label {
  font-weight: 500;
}

input, select {
  border-radius: 8px;
}

button:focus, input:focus, select:focus {
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

/* === Login & Registro === */
.shadow {
  box-shadow: 0 0 20px rgba(0,0,0,0.1);
}

.bg-white {
  background-color: #fff;
}

/* === Botones === */
.btn-primary {
  background-color: #007bff;
  border: none;
}

.btn-primary:hover {
  background-color: #0056b3;
}

.btn-success {
  background-color: #28a745;
  border: none;
}

.btn-success:hover {
  background-color: #218838;
}

.btn-secondary:hover {
  background-color: #6c757d;
}

.btn-danger {
  background-color: #dc3545;
}

.btn-danger:hover {
  background-color: #c82333;
}

/* === Enlaces === */
a {
  color: #007bff;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* === Progreso === */
.progress {
  height: 20px;
  border-radius: 10px;
  background-color: #dee2e6;
}

.progress-bar {
  font-weight: bold;
  background-color: #007bff;
}

/* === Modales === */
.modal-content {
  border-radius: 10px;
  padding: 10px;
}

.modal-body {
  font-size: 1.1rem;
}

/* === Preguntas === */
#contenedorPreguntas p {
  margin-bottom: 6px;
}

#contenedorPreguntas .form-check-input {
  margin-right: 5px;
}

#contenedorPreguntas .form-check {
  margin-bottom: 10px;
}

/* === Categorías visuales === */
.text-primary, .border-primary {
  --bs-category-color: #007bff;
}

.text-warning, .border-warning {
  --bs-category-color: #ffc107;
}

.text-success, .border-success {
  --bs-category-color: #28a745;
}

.text-info, .border-info {
  --bs-category-color: #17a2b8;
}

.text-secondary, .border-secondary {
  --bs-category-color: #6c757d;
}

.text-dark, .border-dark {
  --bs-category-color: #343a40;
}

.text-danger, .border-danger {
  --bs-category-color: #dc3545;
}

h4 i, h5 i {
  vertical-align: middle;
}
.login-wrapper {
  max-width: 900px;
  width: 100%;
  background: white;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(0,0,0,0.05);
}

.login-left {
  background-color: #007bff;
  color: white;
  padding: 40px 20px;
}

.login-left h4 {
  font-size: 1.8rem;
  margin-bottom: 10px;
}

.login-left p {
  font-size: 0.95rem;
  margin-top: 15px;
  opacity: 0.9;
}

.login-logo {
  max-width: 300px;
  height: auto;
  margin-right: 15px;
}

.login-title-group {
  display: flex;
  align-items: center;
  gap: 10px;
}


/* === Responsive ajustes === */

@media (max-width: 768px) {
  .login-left {
    text-align: center;
  }

  .login-title-group {
    flex-direction: column;
  }

  .login-logo {
    margin-bottom: 10px;
  }
}

@media (max-width: 1000px) {
  .login-logo {
    max-width: 250px;
  }
}

@media (max-width: 576px) {
  .btn {
    width: 100%;
    margin-bottom: 10px;
  }

  .login-logo {
    max-width: 300px;
  }
  .d-flex.justify-content-between {
    flex-direction: column;
    align-items: stretch;
  }
}
