/*
 * v180.5.3 — SaaS Dark Theme Consolidation
 * Consolidación visual incremental para producción.
 * Objetivo: eliminar tarjetas blancas/grises con texto invisible en vistas alumno/docente/admin,
 * dashboard, timeline, KPIs, tablas legacy y Runtime Metrics, sin tocar lógica PHP ni SQL.
 */
:root{
  --saas-bg:#07111f;
  --saas-bg-2:#0a1628;
  --saas-panel:#0f1b2d;
  --saas-panel-2:#111f33;
  --saas-panel-3:#16243a;
  --saas-card:#101c30;
  --saas-card-soft:#14233a;
  --saas-line:rgba(148,163,184,.28);
  --saas-line-strong:rgba(191,219,254,.40);
  --saas-text:#f8fafc;
  --saas-text-2:#e5edf8;
  --saas-muted:#c7d2e5;
  --saas-muted-2:#aebdd2;
  --saas-primary:#60a5fa;
  --saas-primary-strong:#2563eb;
  --saas-accent:#a78bfa;
  --saas-success:#86efac;
  --saas-warning:#fde68a;
  --saas-danger:#fecdd3;
  --saas-shadow:0 18px 48px rgba(0,0,0,.32);
  --saas-shadow-soft:0 10px 28px rgba(0,0,0,.22);
  color-scheme:dark;
}

html,body{
  background:radial-gradient(circle at top left,rgba(96,165,250,.16),transparent 32%),linear-gradient(180deg,var(--saas-bg),#081524 58%,#06101d)!important;
  color:var(--saas-text)!important;
}
body,.container,.page,main,.content,.panel-page,.dashboard,.admin-panel{color:var(--saas-text)!important;}

/* Superficies base: Bootstrap/Tailwind híbrido + legacy. */
.card,.panel,.box,.dashboard-card,.stat-card,.metric-card,.data-card,.module-card,.quick-card,.section-card,.institution-card,
.table-panel,.smart-nav-card,.admin-card,.asig-card-panel,.asig-table-panel,.asig-kpi,
.bg-white,.bg-gray-50,.bg-slate-50,.bg-light,.text-bg-light{
  background:linear-gradient(180deg,rgba(15,27,45,.97),rgba(10,22,38,.98))!important;
  color:var(--saas-text)!important;
  border-color:var(--saas-line)!important;
  box-shadow:var(--saas-shadow-soft)!important;
}
.text-dark,.text-black,.text-muted,.text-secondary,.muted,.small,.help,.hint,.description,small,.meta{color:var(--saas-muted)!important;}
h1,h2,h3,h4,h5,h6,.card h1,.card h2,.card h3,.panel h1,.panel h2,.panel h3{color:var(--saas-text)!important;}
a{color:#bfdbfe;} a:hover{color:#fff;}

/* Inline legacy: corrige estilos hardcodeados de color que ganan por atributo style. */
[style*="background:#fff"],[style*="background: #fff"],[style*="background:#ffffff"],[style*="background: #ffffff"],
[style*="background:#f8fbff"],[style*="background:#f8fafc"],[style*="background:#e5e7eb"],[style*="background:#dfe7f3"],
[style*="background:#eef6ff"],[style*="background:#eff6ff"],[style*="background:#edf6ff"]{
  background:linear-gradient(180deg,var(--saas-card-soft),var(--saas-card))!important;
  color:var(--saas-text)!important;
  border-color:var(--saas-line)!important;
}
[style*="color:#0f172a"],[style*="color: #0f172a"],[style*="color:#111827"],[style*="color: #111827"],
[style*="color:#073b7a"],[style*="color: #073b7a"],[style*="color:#153b70"],[style*="color: #153b70"],
[style*="color:#08203f"],[style*="color: #08203f"],[style*="color:#334155"],[style*="color: #334155"]{
  color:var(--saas-text)!important;
}
[style*="color:#64748b"],[style*="color: #64748b"],[style*="color:#475569"],[style*="color: #475569"]{
  color:var(--saas-muted)!important;
}

/* Timeline alumno. */
.lms-feed-item,.lms-empty{
  background:linear-gradient(180deg,var(--saas-card-soft),var(--saas-card))!important;
  color:var(--saas-text)!important;
  border-color:var(--saas-line-strong)!important;
}
.lms-feed-item h3,.lms-feed-item p{color:var(--saas-text)!important;}
.lms-feed-item small{color:var(--saas-muted)!important;}
.lms-feed-icon{background:rgba(96,165,250,.16)!important;color:#dbeafe!important;border:1px solid rgba(147,197,253,.28)!important;}
.lms-btn.secondary{background:rgba(96,165,250,.14)!important;color:#dbeafe!important;border-color:rgba(147,197,253,.35)!important;}

/* Alumno: asistencia, materias, calificaciones, contenido publicado, dashboards. */
.al-card,.al-head,.al-kpi,.al-table-wrap,.al-empty,
.di40,.di40-kpi,.di40-card,
.pub28,.pub28-card,.pub28-tabs,.pub28-tab,.pub28-body,.pub28-empty,.pub28-tile,
.al28-card,.al28-light,.al28-subject,.al28-mini,.al28-empty,.al28-control select,
.mat-card,.mat-empty,.mat-filter,.mat-btn.secondary,.mat-seen,
.boletin-card,.grade-card,.subject-card,.student-card{
  background:linear-gradient(180deg,var(--saas-card-soft),var(--saas-card))!important;
  color:var(--saas-text)!important;
  border-color:var(--saas-line)!important;
  box-shadow:var(--saas-shadow-soft)!important;
}
.al-head h2,.al-sub,.al-kpi strong,.al-kpi small,.al-table th,.al-table td,
.di40,.di40 *:not(.di40-btn):not(.red):not(.yellow):not(.green),
.pub28-body h1,.pub28-body h2,.pub28-body h3,.pub28-body h4,.pub28-content,.pub28-content *,
.al28-light .al28-section-title,.al28-subject h3,.al28-doc,.al28-mini,.al28-tag,
.mat-card h4,.mat-desc,.mat-meta,.mat-empty,.grade-card *,.subject-card *{
  color:var(--saas-text)!important;
}
.al-sub,.al-table th,.al28-doc,.mat-desc,.mat-meta{color:var(--saas-muted)!important;}
.al-teacher,.al-teacher b,.al-teacher small{background:rgba(96,165,250,.12)!important;color:var(--saas-text)!important;border-color:var(--saas-line)!important;}
.al28-tag,.pub28-tab,.mat-cat{background:rgba(96,165,250,.14)!important;color:#dbeafe!important;border-color:rgba(147,197,253,.35)!important;}
.al28-link.secondary,.pub28-btn.secondary{background:rgba(96,165,250,.12)!important;color:#dbeafe!important;border-color:rgba(147,197,253,.35)!important;}
.red{background:rgba(248,113,113,.14)!important;color:var(--saas-danger)!important;border:1px solid rgba(248,113,113,.32)!important;}
.yellow{background:rgba(251,191,36,.14)!important;color:var(--saas-warning)!important;border:1px solid rgba(251,191,36,.30)!important;}
.green{background:rgba(34,197,94,.14)!important;color:var(--saas-success)!important;border:1px solid rgba(34,197,94,.30)!important;}

/* Docente/admin legacy mezclado con SaaS. */
.delivery-ux .hero,.delivery-ux .panel,.delivery-ux .student-card,.delivery-ux .stat,.delivery-ux .note,
.doc-acts .card,.doc-acts .table,.doc-acts .table *{
  background:linear-gradient(180deg,var(--saas-card-soft),var(--saas-card))!important;
  color:var(--saas-text)!important;
  border-color:var(--saas-line)!important;
}
.delivery-ux .hero h1,.delivery-ux .student-name,.delivery-ux .stat b,.delivery-ux .desc,.delivery-ux .desc *,
.delivery-ux .note,.delivery-ux .note *,.doc-acts .rich-desc,.doc-acts .rich-desc *{color:var(--saas-text)!important;}
.delivery-ux .hero .muted,.delivery-ux .panel .muted,.delivery-ux .student-card .muted,.delivery-ux .student-dni,.delivery-ux label,.delivery-ux .stat span{color:var(--saas-muted)!important;}

/* Runtime Metrics PRO: se preserva su tema propio y se refuerzan bordes/texto en tablas. */
.rm,.rm *{color:inherit;}
.rm-card,.rm-panel,.rm-chip,.rm-log-card,.rm-note,.rm-table-wrap{
  background:linear-gradient(180deg,var(--saas-card-soft),var(--saas-card))!important;
  color:var(--saas-text)!important;
  border-color:var(--saas-line)!important;
}
.rm-card span,.rm-panel small,.rm-inline-note{color:var(--saas-muted)!important;}
.rm-num,.rm-panel h2,.rm-log-card strong,.rm-table td,.rm-table th{color:var(--saas-text)!important;}
.rm-sql-preview,.rm-details pre{background:#061224!important;color:#e5f0ff!important;border-color:#28415f!important;}
.rm-empty{color:var(--saas-muted)!important;}

/* Tablas y widgets legacy. */
.table-wrap,.table-responsive{background:transparent!important;}
table,.table,.al-table,.rm-table{background:transparent!important;color:var(--saas-text)!important;}
thead,thead tr,.table th,th,.al-table th,.rm-table th{
  background:#0b1829!important;
  color:#dbeafe!important;
  border-color:var(--saas-line)!important;
}
tbody tr,td,.table td,.al-table td,.rm-table td{
  background:transparent!important;
  color:var(--saas-text-2)!important;
  border-color:rgba(148,163,184,.16)!important;
}
tbody tr:hover,table tr:hover td{background:rgba(96,165,250,.08)!important;}

/* Formularios en Bootstrap/Tailwind híbrido. */
input,select,textarea,.input,.form-control,.form-select{
  background:#0b1829!important;
  color:#f8fafc!important;
  -webkit-text-fill-color:#f8fafc!important;
  border:1px solid var(--saas-line-strong)!important;
  box-shadow:none!important;
}
input::placeholder,textarea::placeholder{color:#aebdd2!important;opacity:1!important;}
select option{background:#0b1829!important;color:#f8fafc!important;}
input[type="date"]{color-scheme:dark;}
label{color:var(--saas-muted)!important;}

/* Botones/chips con contraste AA. */
.btn,.button,button,a.btn,.mode-btn,.lms-btn,.di40-btn,.al28-btn,.al28-link,.pub28-btn,.mat-btn,.rm-btn{
  color:#fff!important;
  border-color:rgba(147,197,253,.34)!important;
}
.btn-secondary,.secondary,.ghost,.pill,.tab,.nav-link,.smart-nav-link{
  background:rgba(96,165,250,.12)!important;
  color:#dbeafe!important;
  border-color:rgba(147,197,253,.34)!important;
}
.badge,.tag,.chip,.status,.rm-pill{border-color:rgba(147,197,253,.30)!important;}

/* Print: conserva salida clara para PDF/impresión. */
@media print{
  html,body{background:#fff!important;color:#111!important;}
  .card,.panel,.box,.al-card,.al-head,.al-kpi,.al-table-wrap,.di40-card,.di40-kpi,.rm-card,.rm-panel{
    background:#fff!important;color:#111!important;border-color:#333!important;box-shadow:none!important;
  }
  *{color:#111!important;text-shadow:none!important;}
  .btn,.button,button,a.btn{border:1px solid #333!important;background:#fff!important;color:#111!important;box-shadow:none!important;}
}
