/* ==========================
   General
========================== */
body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background-color: #f8f9fa;
  color: #333;
  padding-top: 110px; /* espacio para topbar + navbar */
}

/* ==========================
   Barra superior fija (Topbar)
========================== */
.topbar {
  background-color: #003366;; /* Azul oscuro */
  color: #ffffff;
  font-size: 14px;
  padding: 6px 16px;
  position: fixed;
  top: 0; left: 0; right: 0;
  width: 100%;
  z-index: 1050;
}
.topbar a {
  color: #fff;
  text-decoration: none;
  margin-right: 15px;
}

/* ==========================
   Navbar
========================== */
.navbar {
  background-color: #ffffff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.navbar .nav-link {
  color: #333;
  font-weight: 500;
}
.navbar .nav-link:hover,
.navbar .nav-link.active {
  color: #0056b3;
}
.navbar-brand span {
  font-weight: 600;
  color: #0d6efd; /* azul elegante */
}

/* ==========================
   Login
========================== */
.login-section {
  background: url('../imagenes/fondo.webp') no-repeat center center/cover;
  min-height: 80vh;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 10px;
}
.login-card {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 1rem;
  width: 100%;
  max-width: 400px;
  padding: 2rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.login-card .form-control {
  border-radius: 0.5rem;
  border: 1px solid #ccc;
  transition: border-color .2s, box-shadow .2s;
}
.login-card .form-control:focus {
  border-color: #00264d;
  box-shadow: 0 0 0 0.2rem rgba(0, 38, 77, 0.25);
}
.login-card button {
  border-radius: 0.5rem;
  font-weight: 500;
}

/* ==========================
   Carousel
========================== */
.carousel-caption {
  background: rgba(0, 86, 179, 0.6); /* azul elegante translúcido */
  border-radius: 8px;
  padding: 1rem;
}

/* ==========================
   Cards
========================== */
.card {
  border: none;
  box-shadow: 0 3px 8px rgba(0,0,0,0.05);
  transition: transform 0.2s ease-in-out;
}
.card:hover {
  transform: translateY(-5px);
}
.card-title {
  color: #0056b3;
  font-weight: 600;
}
.card-header {
  font-size: 1rem;
}

/* Tarjetas de módulo */
.module-card {
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
  transition: transform .15s ease, box-shadow .15s ease;
}
.module-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0,0,0,.12);
}
.module-icon {
  font-size: 2rem;
}
.quick-actions .btn {
  border-radius: .8rem;
}

/* ==========================
   Tablas
========================== */
.table thead {
  background-color: #e7f0ff;
}
.table-hover tbody tr:hover {
  background-color: #f1f7ff;
}

/* ==========================
   Modal
========================== */
.modal-content {
  border-radius: 10px;
}
.modal-header {
  background-color: #fff;
}

/* ==========================
   Footer
========================== */
footer {
  background-color: #003366;
  color: #fff;
  padding: 2rem 0;
}
footer a {
  color: #66a3ff;
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline;
}

/* ==========================
   Responsividad
========================== */
@media (max-width: 576px) {
  .login-card {
    padding: 1.5rem;
    max-width: 90%;
  }
  .topbar {
    font-size: 12px;
    text-align: center;
  }
  .topbar a {
    margin-right: 8px;
  }
}
