:root,
html[data-theme] {
  color-scheme: light !important;
  --color-50: #E7E8FD;
  --color-100: #BDBEFA;
  --color-200: #9294F6;
  --color-300: #686AF3;
  --color-400: #3E41EF;
  --color-500: #1317EC;
  --color-600: #1013C1;
  --color-700: #0C0F97;
  --color-800: #090A6D;
  --color-900: #05063D;
  --color-950: #020218;

  /* Compatibilidad con los temas históricos del Campus. */
  --bg: #FFFFFF !important;
  --surface: #FFFFFF !important;
  --surface2: #E7E8FD !important;
  --surface3: #BDBEFA !important;
  --s2: #E7E8FD !important;
  --card: #FFFFFF !important;
  --panel: #FFFFFF !important;
  --paper: #FFFFFF !important;
  --paper-ink: #020218 !important;
  --txt: #020218 !important;
  --text: #020218 !important;
  --ink: #020218 !important;
  --muted: #0C0F97 !important;
  --border: rgba(19, 23, 236, .16) !important;
  --edge: rgba(19, 23, 236, .16) !important;
  --line: rgba(19, 23, 236, .16) !important;
  --accent: #1317EC !important;
  --accent2: #1013C1 !important;
  --gold: #1317EC !important;
  --gold2: #1013C1 !important;
  --blue: #1317EC !important;
  --navy: #05063D !important;
  --navy-2: #E7E8FD !important;
  --sky: #E7E8FD !important;
  --primary: #1317EC !important;
  --primary-hover: #1013C1 !important;
  --primary-soft: #E7E8FD !important;
  --ok: #1013C1 !important;
  --error: #686AF3 !important;
  --err: #686AF3 !important;
  --shadow: 0 12px 32px rgba(5, 6, 61, .08) !important;
  --sh: 0 12px 32px rgba(5, 6, 61, .08) !important;
}

html,
body {
  background: #FFFFFF !important;
  color: #020218 !important;
}

body,
button,
input,
select,
textarea,
dialog {
  accent-color: #1317EC;
}

::selection {
  color: #FFFFFF;
  background: #1317EC;
}

:focus-visible {
  outline-color: #1317EC !important;
}

a { color: #1013C1; }
a:hover { color: #0C0F97; }

/* Superficies principales: el blanco prevalece en todo el Campus. */
.topbar,
.sidebar,
.sidebar-card,
.course-sidebar,
.campus-header,
.main-content,
.dashboard-main,
.admin-main,
.library-shell,
.reader-shell,
.lesson-app,
.lesson-section,
.lesson-intro,
.modal,
.modal-card,
.dialog,
.card,
.stat-card,
.course-card {
  border-color: rgba(19, 23, 236, .14) !important;
}

.topbar,
.campus-header,
.lesson-section,
.sidebar-card,
.modal-card,
.dialog,
.card,
.stat-card,
.course-card {
  background-color: #FFFFFF !important;
  color: #020218 !important;
}

input,
select,
textarea {
  background-color: #FFFFFF !important;
  border-color: #BDBEFA !important;
  color: #020218 !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #1317EC !important;
  box-shadow: 0 0 0 3px rgba(19, 23, 236, .12) !important;
}



/* Avatares de iniciales: identificación suave sobre fondo claro. */
.avatar,
.user-avatar,
.avatar-initials,
[class*="avatar-initial"] {
  background: #E7E8FD !important;
  border-color: #BDBEFA !important;
  color: #0C0F97 !important;
  box-shadow: none !important;
}

/* Numeradores de lección: sin fondos negros. */
.section-number,
.route-icon,
.act-step-num {
  background: #E7E8FD !important;
  border-color: #BDBEFA !important;
  color: #1317EC !important;
  box-shadow: none !important;
}

/* El modo oscuro deja de formar parte de la interfaz. */
.theme-btn,
.theme-toggle,
.theme-switch,
#themeBtn,
#themeToggle,
[onclick*="toggleTheme"],
[title*="Cambiar tema"],
[aria-label*="Cambiar tema"] {
  display: none !important;
}

/* Presentaciones DPG e IAJ: lienzo claro con acentos de la nueva paleta. */
.iaj-shell,
[aria-label*="Presentación interactiva"] {
  --navy: #FFFFFF !important;
  --navy-2: #E7E8FD !important;
  --ink: #020218 !important;
  --muted: #0C0F97 !important;
  --gold: #1317EC !important;
  --paper: #FFFFFF !important;
  --paper-ink: #020218 !important;
  --line: rgba(19, 23, 236, .16) !important;
  background: linear-gradient(145deg, #FFFFFF 0%, #FFFFFF 66%, #E7E8FD 100%) !important;
  border-color: #BDBEFA !important;
  color: #020218 !important;
  box-shadow: 0 18px 44px rgba(5, 6, 61, .10) !important;
}

[aria-label*="Presentación interactiva"] [class*="accent-one"],
[aria-label*="Presentación interactiva"] [class*="accent-two"] {
  background: #E7E8FD !important;
  opacity: .75 !important;
}

.iaj-header,
.iaj-footer,
[aria-label*="Presentación interactiva"] [class*="-header"],
[aria-label*="Presentación interactiva"] [class*="-footer"] {
  background: rgba(255, 255, 255, .98) !important;
  border-color: rgba(19, 23, 236, .16) !important;
  color: #020218 !important;
}

.iaj-shell h1,
.iaj-shell h2,
.iaj-shell h3,
.iaj-shell p,
.iaj-shell li,
.iaj-shell strong,
[aria-label*="Presentación interactiva"] h1,
[aria-label*="Presentación interactiva"] h2,
[aria-label*="Presentación interactiva"] h3,
[aria-label*="Presentación interactiva"] p,
[aria-label*="Presentación interactiva"] li,
[aria-label*="Presentación interactiva"] strong {
  color: #020218 !important;
}

[aria-label*="Presentación interactiva"] button {
  color: #020218 !important;
}

.iaj-shell .kicker,
.iaj-shell .unit-label,
.iaj-shell .interaction-hint,
[aria-label*="Presentación interactiva"] [class*="kicker"],
[aria-label*="Presentación interactiva"] [class*="unit-label"],
[aria-label*="Presentación interactiva"] [class*="interaction-hint"] {
  color: #1013C1 !important;
}

.iaj-shell .objective-list li,
.iaj-shell .summary-list li,
.iaj-shell .concept-card,
.iaj-shell .number-list li,
.iaj-shell .debate-grid > div,
.iaj-shell .question-panel,
.iaj-shell .statement,
.iaj-shell .case-output,
[aria-label*="Presentación interactiva"] [class*="card"],
[aria-label*="Presentación interactiva"] [class*="panel"],
[aria-label*="Presentación interactiva"] [class*="item"] {
  background-color: #E7E8FD !important;
  border-color: #BDBEFA !important;
  color: #020218 !important;
}

.iaj-shell .concept-layer,
[aria-label*="Presentación interactiva"] [class*="modal-backdrop"],
[aria-label*="Presentación interactiva"] [class*="concept-layer"] {
  background: rgba(2, 2, 24, .45) !important;
}

.iaj-shell .concept-dialog,
[aria-label*="Presentación interactiva"] [class*="dialog"],
[aria-label*="Presentación interactiva"] [class*="modal-card"] {
  background: #FFFFFF !important;
  border-color: #BDBEFA !important;
  color: #020218 !important;
}

.iaj-shell .nav-button,
[aria-label*="Presentación interactiva"] [class*="nav-button"] {
  border-color: #9294F6 !important;
  background: #FFFFFF !important;
  color: #090A6D !important;
}

.iaj-shell .nav-button.next,
[aria-label*="Presentación interactiva"] [class*="next"] {
  background: #1317EC !important;
  border-color: #1317EC !important;
  color: #FFFFFF !important;
}

.iaj-shell .progress-fill,
[aria-label*="Presentación interactiva"] [class*="progress-fill"] {
  background: #1317EC !important;
}



/* Login: conserva la fotografía institucional y el lockup blanco completo. */
body.login-page {
  background: #020218 url('/assets/fondo-login2.png') center center / cover no-repeat fixed !important;
  color: #020218 !important;
}
body.login-page::before {
  background: rgba(2, 2, 24, .40) !important;
}
body.login-page .logo-badge {
  background: rgba(2, 2, 24, .82) !important;
  border-color: rgba(255, 255, 255, .18) !important;
}
body.login-page .logo-badge img[src$="/assets/logo_ceupif_cn.svg"] {
  width: 100% !important;
  height: auto !important;
  max-width: 620px !important;
  max-height: 96px !important;
  object-fit: contain !important;
  filter: none !important;
}
body.login-page .btn {
  background: #1317EC !important;
  color: #FFFFFF !important;
}

/* Lockup oficial completo: isotipo, divisor y wordmark sobre fondo claro. */
img[src$="/assets/logo_ceupif_cn.svg"],
img[src$="assets/logo_ceupif_cn.svg"] {
  filter: brightness(0) saturate(100%) invert(8%) sepia(30%) saturate(5576%) hue-rotate(231deg) brightness(70%) contrast(132%) !important;
}


button[class*="next"],
a[class*="next"],
.nav-button.next,
.nav-next,
.btn-primary,
.primary-action {
  background-color: #1317EC !important;
  border-color: #1317EC !important;
  color: #FFFFFF !important;
}

/* Iconografía unificada; el script conserva el icono anterior si la fuente no carga. */
.ceupif-ph-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  color: currentColor;
  font-size: 1.2em;
  line-height: 1;
  vertical-align: -.1em;
}

.nav-icon.ceupif-ph-icon,
.unit-icon.ceupif-ph-icon,
.ph-icon.ceupif-ph-icon {
  color: #0C0F97 !important;
  opacity: 1 !important;
  filter: none !important;
}

.nav-item.active .ceupif-ph-icon,
.nav-item:hover .ceupif-ph-icon {
  color: #1317EC !important;
}


/* Contraste de texto en presentaciones DPG · WCAG AA */
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-cover-meta"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-counter"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-counter"] span,
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-lead"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-versus"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-reveal"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-feedback"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-balance-mark"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-manifesto"] blockquote,
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-intersection-core"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-source-line"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-node"] span,
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-category"] span,
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-step"] span,
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-layer"] span,
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-axis"] span,
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-evidence-row"] span {
  color:#05063D !important;
}

[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-unit-label"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-interaction-hint"] {
  color:#0C0F97 !important;
}

[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-reveal"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-feedback"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-layer"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-step"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-axis"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-ice-bottom"] {
  background:#E7E8FD !important;
  border-color:#BDBEFA !important;
  color:#020218 !important;
}

[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-choice"][aria-pressed="true"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class*="-answer"].is-correct,
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class*="-answer"].is-incorrect,
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-next"],
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-next"] * {
  color:#FFFFFF !important;
}

[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-node"] b,
[id^="ceupif-dpg"][aria-label*="Presentación interactiva"] [class$="-category-core"] {
  background:#1317EC !important;
  color:#FFFFFF !important;
}
