:root{
  --primary:#01132E;
  --bg:#fff;
  --text:#0f172a;
  --muted:#667085;
  --ring:rgba(1,19,46,.18);
}
*{box-sizing:border-box}
html,body{height:100%}
body.bg{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial}
.container{max-width:100%;margin:0 auto; padding:0}
.site-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;border-bottom:1px solid #eef2f7}
.brand{font-weight:800;color:var(--primary)}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}

/*Boton salir o cierre de sesion*/
.nav-inline { display: inline-flex; gap: .25rem; align-items: center; }
.logout-form { display: inline; margin: 0; padding: 0; }
.btn-link {
  background: none; border: none; padding: 0; margin: 0;
  color: #0a58ca; cursor: pointer; text-decoration: underline; font: inherit;
}
.btn-link:hover { text-decoration: none; }

.flash-wrap { margin-bottom: .75rem; }
.flash { padding:.5rem .75rem; border-radius:8px; }
.flash-success { background:#ecfdf5; color:#065f46; }
.flash-error, .flash-danger { background:#fef2f2; color:#991b1b; }
.flash-warning { background:#fffbeb; color:#92400e; }
.info, .flash-info { background:#eff6ff; color:#1e3a8a; }


/* Header general */
.site-header {
  background-color: #01132E;   /* fondo azul oscuro */
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .5rem 1rem;
}

/* Logo */
.site-header .logo {
  margin-left: 10px;
  height: 80px;
  width: auto;
  display: block;
}

/* Título centrado */
.site-title {
  flex: 1;
  text-align: center;
  margin: 0;
  font-size: 3rem;
  font-weight: 600;
  color: #fff;
}

/* Navegación */
.site-header nav a {
  color: #fff;
  text-decoration: none;
  margin-left: 1rem;
  font-weight: 500;
}
.site-header nav a:hover {
  text-decoration: underline;
}

/*Estilo para manejo de errores*/
.errorlist {
  margin: .25rem 0 0;
  padding: 0;
  list-style: none;
  color: #b91c1c;
  font-size: .875rem;
}
.errorlist.nonfield { margin-bottom: .5rem; }

.form .form-row { margin-bottom: .75rem; }

/* Marca visual del campo con error (aplica al input/select/textarea dentro) */
.has-error input,
.has-error select,
.has-error textarea {
  border: 1px solid #ef4444 !important;
  box-shadow: 0 0 0 2px #fee2e2;
  border-radius: 6px;
}


/* ===================================================================== */
/* ===============  OVERRIDES PARA ADMIN (Material Dashboard) ========== */
/* ===================================================================== */

/* Fondo del sidebar y sin imagen */
.sidebar {
  background-color: #01132E !important;
}
.sidebar .sidebar-background {
  display: none !important;
}

/* Logo centrado y blanco */
.sidebar .logo,
.sidebar .logo .simple-text {
  width: 100%;
  text-align: center;
  color: #ffffff !important;
  font-weight: 700;
  letter-spacing: .02em;
}

/* Texto e íconos BLANCOS por defecto (incluye variante 'rose') */
.sidebar .nav li > a,
.sidebar .nav li > a i,
.sidebar .nav li > a p,
.sidebar .nav li > a .material-icons,
.sidebar[data-color="rose"] .nav li > a,
.sidebar[data-color="rose"] .nav li > a i,
.sidebar[data-color="rose"] .nav li > a p,
.sidebar[data-color="rose"] .nav li > a .material-icons {
  color: #ffffff !important;
}

/* Hover: fondo blanco, texto/íconos NEGROS (incluye 'rose') */
.sidebar .nav li > a:hover,
.sidebar[data-color="rose"] .nav li > a:hover {
  background: #ffffff !important;
  color: #000000 !important;
}
.sidebar .nav li > a:hover i,
.sidebar .nav li > a:hover p,
.sidebar .nav li > a:hover .material-icons,
.sidebar[data-color="rose"] .nav li > a:hover i,
.sidebar[data-color="rose"] .nav li > a:hover p,
.sidebar[data-color="rose"] .nav li > a:hover .material-icons {
  color: #000000 !important;
}

/* Active: forzar SIN gradiente rojo y SIN sombra */
.sidebar .nav li.active > a,
.sidebar[data-color="rose"] .nav li.active > a {
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #000000 !important;
}
.sidebar .nav li.active > a i,
.sidebar .nav li.active > a p,
.sidebar .nav li.active > a .material-icons,
.sidebar[data-color="rose"] .nav li.active > a i,
.sidebar[data-color="rose"] .nav li.active > a p,
.sidebar[data-color="rose"] .nav li.active > a .material-icons {
  color: #000000 !important;
}

/* También cuando un enlace está 'focus' (accesibilidad) */
.sidebar .nav li > a:focus,
.sidebar[data-color="rose"] .nav li > a:focus {
  background: #ffffff !important;
  color: #000000 !important;
}
.sidebar .nav li > a:focus i,
.sidebar .nav li > a:focus p,
.sidebar .nav li > a:focus .material-icons {
  color: #000000 !important;
}

.sidebar-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.sidebar-wrapper .nav.flex-grow-1 {
  flex: 1 1 auto;
}

.btn-logout {
  background-color: #b91c1c; /* rojo oscuro */
  color: #fff;
  font-weight: 600;
  border: none;
  border-radius: 6px;
  padding: .5rem 1rem;
}

.btn-logout:hover {
  background-color: #dc2626; /* rojo más claro al pasar mouse */
  color: #fff;
}





/* Etiquetas flotantes (Material Dashboard) */
.bmd-label-floating,
.bmd-label-static,
.form-group > label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
}

/* Texto dentro de inputs */
.form-control,
.bootstrap-select > .dropdown-toggle.btn {
  font-size: 14px !important;
  color: #1e293b !important;
  font-weight: 500 !important;
}

/* Textos pequeños o aclaraciones */
.text-muted,
small {
  font-size: 13px !important;
  color: #475569 !important; /* un gris más claro */
}


/* Mensajes de error */
.errorlist,
.text-danger {
  font-size: 13px !important;
  color: #b91c1c !important; /* rojo error */
}

/* Ajuste uniforme para selects múltiples */
.bootstrap-select .dropdown-menu.inner li a span.text {
  font-size: 14px !important;
  color: #1e293b !important;
}




