/* === FUENTES === */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@500;700&family=Raleway:wght@400;500&display=swap');

/* === ESTRUCTURA GLOBAL === */
html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  font-family: 'Raleway', sans-serif;
  background: linear-gradient(to bottom, #F4F4F4 0%, #FFFFFF 100%);
  color: #2b2b2b;
  margin: 0;
}

/* El contenido principal crece para empujar el footer hacia abajo */
main {
  flex: 1;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Roboto', sans-serif;
  color: #051435;
}

.card {
  border-radius: 12px;
  background-color: #ffffff;
  border: 1px solid #e6e6e6;
}

/* === BOTONES === */
.btn-dark {
  background-color: #051435 !important;
  border: none !important;
  color: #fff !important;
  font-weight: 500;
  transition: background-color 0.25s ease;
}
.btn-dark:hover {
  background-color: #2DA8D8 !important;
  color: #fff !important;
}

.btn-outline-dark {
  border: 1.5px solid #051435 !important;
  color: #051435 !important;
  background-color: transparent;
  font-weight: 500;
  transition: background-color 0.25s ease, color 0.25s ease;
}
.btn-outline-dark:hover {
  background-color: #fe7f14 !important;
  border-color: #fe7f14 !important;
  color: #fff !important;
}

/* 🔹 Botones azul personalizados (para index) */
.btn-blue {
  background-color: #051435 !important;
  color: #fff !important;
  border: none !important;
  transition: background-color 0.25s ease-in-out;
}
.btn-blue:hover {
  background-color: #2DA8D8 !important;
  color: #fff !important;
}

/* === NAVBAR === */
.navbar {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1050;
  background-color: #FFFFFF !important;
  border-bottom: 2px solid #fe7f14;
}

.navbar .nav-link {
  color: #051435 !important;
  font-weight: 500;
  transition: color 0.2s ease;
}
.navbar .nav-link:hover {
  color: #fe7f14 !important;
}
.navbar-brand img {
  width: 40px;
  height: 40px;
  object-fit: cover;
}

/* === FORMULARIOS === */
form label {
  color: #051435;
  font-weight: 600;
}
input, select {
  border: 1px solid #ccc !important;
  border-radius: 8px !important;
  transition: border-color 0.2s ease;
}
input:focus, select:focus {
  border-color: #fe7f14 !important;
  box-shadow: 0 0 0 0.2rem rgba(254, 127, 20, 0.2) !important;
}

/* === TOASTS === */
.toast {
  border-radius: 10px;
  font-weight: 500;
}

/* === FOOTER === */
footer {
  background-color: #051435;
  color: #fff;
  text-align: center;
  padding: 1rem;
  font-size: 0.9rem;
  margin-top: auto; /* 👈 empuja el footer al fondo */
  border-top: 2px solid #fe7f14; /* línea superior para coherencia visual con la navbar */
}

/* === UTILIDADES === */
.text-success {
  color: #006633 !important;
}


/* === DASHBOARD USUARIO === */

/* Contenedor del dashboard */
body.dashboard-usuario {
  background-color: #F4F4F4; /* Fondo alterno */
  color: #2b2b2b; /* Gris carbón */
  font-family: 'Raleway', sans-serif;
}

/* Sidebar fijo debajo de la navbar */
#sidebar-container {
  position: fixed;
  top: 70px; /* altura de la navbar */
  left: 0;
  width: 240px;
  height: calc(100vh - 70px);
  background-color: #051435; /* Azul corporativo */
  color: #FFFFFF; /* Letras blancas siempre */
  overflow-y: auto;
  z-index: 1; /* Por debajo del footer */
  transition: all 0.3s ease;
  padding-top: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 3px solid #fe7f14; /* Acento naranja */
}

/* Contenedor del menú principal del sidebar */
#sidebarMenu {
  flex-grow: 1;
}

/* Enlaces del sidebar */
#sidebar-container .nav-link {
  color: #FFFFFF !important; /* Letras blancas */
  font-weight: 500;
  padding: 0.8rem 1.2rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  transition: all 0.25s ease;
  font-family: 'Raleway', sans-serif;
}

#sidebar-container .nav-link i {
  color: #FFFFFF !important;
  font-size: 1rem;
}

/* Hover naranja CTA */
#sidebar-container .nav-link:hover {
  background-color: #fe7f14 !important;
  color: #FFFFFF !important;
}

#sidebar-container .nav-link:hover i {
  color: #FFFFFF !important;
}

/* Activo azul refuerzo */
#sidebar-container .nav-link.active {
  background-color: #2DA8D8 !important;
  color: #FFFFFF !important;
  font-weight: 600;
}

/* Botón de cerrar sesión (siempre visible sobre el footer) */
#logoutBtn {
  background-color: #fe7f14;
  color: #FFFFFF !important;
  font-weight: 600;
  text-align: center;
  padding: 0.8rem 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  transition: background-color 0.3s ease;
  z-index: 1050; /* Asegura que quede sobre el footer */
  position: relative;
}

#logoutBtn:hover {
  background-color: #ff6600; /* tono alternativo */
  color: #FFFFFF !important;
}

/* Ajuste del contenido principal (para no quedar debajo del sidebar ni navbar) */
#contenido-container {
  margin-left: 240px;
  margin-top: 70px; /* espacio para la navbar fija */
  background-color: #FFFFFF;
  min-height: calc(100vh - 70px);
  padding: 2rem;
  transition: margin-left 0.3s ease;
  z-index: 0;
}

.campo-error {
  color: #dc3545;      /* rojo más fuerte */
  font-weight: 700;    /* negrita */
  font-size: 0.85rem;
}


/* Footer (asegura que quede visible y no tapado por el sidebar) */
footer {
  position: relative;
  z-index: 10; /* más alto que la sidebar */
}

/* === Responsive === */
@media (max-width: 992px) {
  #sidebar-container {
    position: static;
    width: 100%;
    height: auto;
    flex-direction: column;
  }

  #contenido-container {
    margin-left: 0;
    margin-top: 90px;
  }

  #logoutBtn {
    position: static;
    width: 100%;
  }
}
