/* HOTFIX UI ENTERPRISE GLOBAL v75.1
   Objetivo: reducir blanco plano, mejorar contraste y ordenar navegación SaaS.
   No modifica lógica PHP ni rutas. */

:root{
  --ui-bg-a:#eaf1fb;
  --ui-bg-b:#dfe8f6;
  --ui-panel:#ffffff;
  --ui-panel-soft:#f7faff;
  --ui-border:#bfd0e8;
  --ui-text:#071426;
  --ui-muted:#334155;
  --ui-head:#0b1736;
  --ui-head-2:#1d3fa3;
  --ui-blue:#2563eb;
  --ui-shadow:0 12px 30px rgba(15,23,42,.10);
}

html,body{
  background:linear-gradient(180deg,var(--ui-bg-a) 0%,var(--ui-bg-b) 100%) !important;
  color:var(--ui-text) !important;
}

/* Superadmin SaaS */
.sa-main{
  background:linear-gradient(180deg,var(--ui-bg-a),var(--ui-bg-b)) !important;
}
.sa-card,.sa-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  border:1px solid var(--ui-border) !important;
  box-shadow:var(--ui-shadow) !important;
}
.sa-card span,.sa-muted,.sa-title p,.sa-field label{
  color:var(--ui-muted) !important;
  font-weight:700 !important;
}
.sa-table th{
  background:var(--ui-head) !important;
  color:#ffffff !important;
}
.sa-side{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  height:100vh !important;
  scrollbar-width:thin;
}
.sa-nav-grouped{gap:10px !important;}
.sa-nav-section{
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:8px;
  background:rgba(255,255,255,.035);
}
.sa-nav-section-title{
  color:#93c5fd;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  margin:2px 4px 6px;
}
.sa-nav-section a{
  margin:2px 0;
}
.sa-exit{
  margin-top:12px !important;
}

/* Módulos institucionales nuevos: académico, comunicación, BI y familia */
.academico-wrap,
.comunicaciones-wrap,
.bi-wrap,
.familia-pro-wrap,
main:has(.academico-hero),
main:has(.com-pro-hero),
main:has(.bi-hero),
main:has(.familia-pro-hero){
  background:linear-gradient(180deg,var(--ui-bg-a),var(--ui-bg-b)) !important;
  min-height:100vh;
}

.academico-hero,
.com-pro-hero,
.bi-hero,
.familia-pro-hero,
.panel-hero,
.module-hero{
  background:linear-gradient(110deg,var(--ui-head) 0%,var(--ui-head-2) 100%) !important;
  color:#ffffff !important;
  box-shadow:0 16px 34px rgba(15,23,42,.18) !important;
  border:1px solid rgba(255,255,255,.16) !important;
}
.academico-hero *,
.com-pro-hero *,
.bi-hero *,
.familia-pro-hero *,
.panel-hero *,
.module-hero *{
  color:#ffffff !important;
}

.academico-card,.academico-panel,
.com-pro-card,.com-pro-panel,
.bi-card,.bi-panel,
.familia-card,.familia-panel,
.card,.panel,.kpi-card{
  border-color:var(--ui-border) !important;
  box-shadow:var(--ui-shadow) !important;
}
.academico-card,.academico-panel,
.com-pro-card,.com-pro-panel,
.bi-card,.bi-panel,
.familia-card,.familia-panel{
  background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
}

.academico-card label,.academico-panel label,
.com-pro-card label,.com-pro-panel label,
.bi-card label,.bi-panel label,
.familia-card label,.familia-panel label,
.card label,.panel label,
small,.muted,.text-muted{
  color:var(--ui-muted) !important;
  font-weight:700;
}

input,select,textarea{
  color:#071426 !important;
  background:#ffffff !important;
  border-color:#9fb4d4 !important;
}
input::placeholder,textarea::placeholder{
  color:#52647b !important;
  opacity:1 !important;
}
select option{
  color:#071426 !important;
  background:#ffffff !important;
}

/* Menú superior institucional más legible */
.smart-nav-card,
.smart-nav-shell,
.smart-nav-primary-row,
.smart-nav-secondary-row{
  border-color:rgba(37,99,235,.22) !important;
}
.smart-nav-link,
.smart-nav-secondary-link,
.smart-nav-badge,
.smart-nav-logout-btn{
  color:#071426 !important;
  background:#eef5ff !important;
  border:1px solid #b9c9e6 !important;
  font-weight:900 !important;
}
.smart-nav-link.active,
.smart-nav-secondary-link.active,
.smart-nav-link:hover,
.smart-nav-secondary-link:hover{
  color:#ffffff !important;
  background:#2563eb !important;
  border-color:#2563eb !important;
}
.smart-nav-count{
  color:#0f172a !important;
  background:#fde68a !important;
}

/* Tablas */
table th{
  background:#0f172a !important;
  color:#ffffff !important;
}
table td{
  color:#071426 !important;
}

@media(max-width:900px){
  .sa-side{height:auto !important; max-height:none !important; overflow:visible !important;}
}
