/* ==========================================================================
   ERP Académico — estilo común de los MÓDULOS (sobre Bootstrap 5)
   Se inyecta en todas las vistas internas para que los módulos se vean
   igual que los portales (mismo tipo de letra, tarjetas, tablas y botones).
   ========================================================================== */

:root{
  --edu-primary:#4f46e5;
  --edu-primary-2:#7c3aed;
  --edu-ink:#0f172a;
  --edu-line:#e2e8f0;
  --edu-muted:#64748b;
}

body{
  background:#f6f7fb !important;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif !important;
  color:#1e293b;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5{color:var(--edu-ink);font-weight:800;letter-spacing:-.01em;}
h1{font-size:1.5rem;}

/* Barra superior: tono institucional en vez del negro plano */
.navbar-dark{
  background:linear-gradient(120deg,#312e81 0%,#4f46e5 55%,#6d28d9 100%) !important;
  box-shadow:0 6px 22px rgba(15,23,42,.14);
}
.navbar-dark .navbar-brand{font-weight:800;letter-spacing:-.01em;}

/* Contenedor y tarjetas */
.container{max-width:1240px;}
.card{
  border:1px solid var(--edu-line) !important;
  border-radius:18px !important;
  box-shadow:0 4px 16px rgba(15,23,42,.05) !important;
  overflow:hidden;
}
.card-header{
  background:#fbfcfe !important;
  border-bottom:1px solid var(--edu-line) !important;
  font-weight:800;
  color:var(--edu-ink);
  padding:14px 18px;
}
.card-body{padding:18px;}
.card-footer{background:#fbfcfe !important;border-top:1px solid var(--edu-line) !important;}

/* Tablas */
.table{font-size:.88rem;margin-bottom:0;}
.table thead th{
  background:#f8fafc;
  border-bottom:1px solid var(--edu-line) !important;
  font-size:.7rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--edu-muted);
  font-weight:800;
  white-space:nowrap;
}
.table tbody td{border-color:#f1f5f9;vertical-align:middle;}
.table-hover tbody tr:hover{background:#f8faff;}

/* Botones */
.btn{border-radius:11px;font-weight:700;}
.btn-primary{
  background:linear-gradient(135deg,var(--edu-primary),var(--edu-primary-2)) !important;
  border:0 !important;
  box-shadow:0 6px 16px rgba(79,70,229,.25);
}
.btn-primary:hover{filter:brightness(1.05);box-shadow:0 9px 20px rgba(79,70,229,.32);}
.btn-outline-primary{color:var(--edu-primary);border-color:#c7d2fe;font-weight:700;}
.btn-outline-primary:hover{background:var(--edu-primary);border-color:var(--edu-primary);}
.btn-sm{border-radius:9px;}

/* Campos */
.form-control,.form-select{border-radius:11px;border-color:#dbe3ee;}
.form-control:focus,.form-select:focus{
  border-color:#a5b4fc;
  box-shadow:0 0 0 .22rem rgba(79,70,229,.13);
}
.form-label{font-weight:700;color:#334155;font-size:.78rem;}

/* Insignias y avisos */
.badge{border-radius:50px;font-weight:800;letter-spacing:.02em;}
.alert{border-radius:14px;border:1px solid transparent;font-size:.88rem;}
.alert-success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46;}
.alert-danger{background:#fff1f2;border-color:#fecdd3;color:#9f1239;}
.alert-warning{background:#fffbeb;border-color:#fde68a;color:#92400e;}
.alert-info{background:#f0f9ff;border-color:#bae6fd;color:#075985;}

/* Pestañas y listas */
.nav-tabs .nav-link{border-radius:11px 11px 0 0;font-weight:700;color:var(--edu-muted);}
.nav-tabs .nav-link.active{color:var(--edu-primary);}
.list-group-item{border-color:#f1f5f9;}

/* Utilidades de espacio */
.mt-4{margin-top:1.2rem !important;}
