/*!
 * Chamilo LMS stylesheet - Default v.2.0
 * Homepage: https://chamilo.org
 * Author: Alex Aragón <alex.aragon@beeznest.com>
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Based on Bootstrap v3
*/

html {
  position: relative;
}
body {
  margin: 0 0 60px;
}
body > main footer.footer {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
}

a {
  color: #337AB7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #2E75A3;
  text-decoration: none;
}
a:focus {
  outline: none;
}

.navbar-nav > li{
  margin-bottom: 0;
}
.navbar-collapse{
  overflow: hidden !important;
}
.navbar-default {
  background: #337AB7;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
}
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > li > a:hover {
  color: #A4DC2D;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus{
  color: #fff;
  background-color:#2C5B8E;
}
.navbar-default .navbar-nav > li > a{
  color: #ffffff;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus{
  background: #18477A;
  color: #ffffff;
}
.navbar-nav > li > .dropdown-menu{
  min-width: 100%;
  margin-top: 2px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
.navbar-default .navbar-nav > .open > .dropdown-menu{
  padding: 3px 4px;
}
.navbar-default .navbar-nav > .open > .dropdown-menu > li > a{
  padding: 6px 9px;
}
.nav > li > a:hover, .nav > li > a:focus{
   background-color: transparent;
}
.navbar-form .form-control{
  height: 25px;
  padding: 6px;
}
.navbar-default .navbar-brand {
  color:white;
}
.navbar-default .navbar-collapse, .navbar-default .navbar-form{
  border-color: #2C5B8E;
}

.navbar-default .navbar-toggle{
  border-color: #00677C;
}
.navbar-default .navbar-toggle .icon-bar{
  background-color: #ffffff;
}
.navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover{
  background-color: #2C5B8E;
}
.badge-warning{
  background-color: #FD6600;
}
.breadcrumb{
  padding: 8px 15px;
  margin-bottom: 21px;
  list-style: outside none none;
  background-color: #ECF0F1;
}
.breadcrumb > .active{
  color: #95a5a6;
}
.panel-default{
  border-color: #ECF0F1;
}
/* Jquery UI */
.ui-accordion .ui-accordion-icons{
  padding-left: 0.2em;
}
/* End Jquery UI */
.bgfooter{
  background-color:#1A2226;
}
.bgfooter{
  color: #ffffff;
}
.bgfooter a{
  color: #ffffff;
}

/* RP-INICIO */
/* ==========================================================================
   Tema RP Ingeniería para Chamilo 1.11.x (Bootstrap 3) — v3 (claro + oscuro)
   Tokens homologados con el tema de bloques `rp-ingenieria` de WordPress.
   Oscuro: sigue la preferencia del sistema; html[data-theme="light|dark"] la fuerza.
   ========================================================================== */

/* ---------- Tipografía local (IBM Plex, OFL) — archivos en ./fonts/ ------- */
@font-face { font-family: "IBM Plex Sans"; font-weight: 400; font-style: normal; font-display: swap;
  src: url("fonts/IBMPlexSans-Regular.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 600; font-style: normal; font-display: swap;
  src: url("fonts/IBMPlexSans-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans Condensed"; font-weight: 600; font-style: normal; font-display: swap;
  src: url("fonts/IBMPlexSansCondensed-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 500; font-style: normal; font-display: swap;
  src: url("fonts/IBMPlexMono-Medium.woff2") format("woff2"); }

/* ---------- Tokens: modo claro (mismos slugs que theme.json) ------------- */
:root {
  color-scheme: light;
  --rp-lienzo:     #EDF0F6;
  --rp-superficie: #FFFFFF;
  --rp-linea:      #CDD5E5;
  --rp-tenue:      #5D6785;
  --rp-secundario: #414F82;
  --rp-primario:   #0F1E52;
  --rp-accion:     #1F3BD6;
  --rp-accion-hover: #1830B0;
  --rp-accion-texto: #FFFFFF;
  --rp-alterna:    #F6F8FB;
  --rp-anillo:     rgba(31, 59, 214, .18);
  --rp-pie-fondo:  #0F1E52;
  --rp-pie-texto:  #DDE3F0;
  --rp-pie-enlace: #FFFFFF;
  --rp-cinta-fondo: #414F82;
  --rp-cinta-texto: #FFFFFF;

  --rp-font-display: "IBM Plex Sans Condensed", "Arial Narrow", Arial, sans-serif;
  --rp-font-cuerpo:  "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --rp-font-mono:    "IBM Plex Mono", Consolas, monospace;

  --rp-titulo: 31px; --rp-grande: 25px; --rp-medio: 20px;
  --rp-base: 16px;   --rp-denso: 14px;
  --rp-radio: 4px;
}

/* ---------- Tokens: modo oscuro (valores medidos en www) ------------------ */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --rp-lienzo:     #0F1524;
    --rp-superficie: #18203A;
    --rp-linea:      #2E3959;
    --rp-tenue:      #9AA5C4;
    --rp-secundario: #B6C0DC;
    --rp-primario:   #E4E9F5;
    --rp-accion:     #7C9AFF;
    --rp-accion-hover: #A3B8FF;
    --rp-accion-texto: #0F1524;
    --rp-alterna:    #1C2542;
    --rp-anillo:     rgba(124, 154, 255, .25);
    --rp-pie-fondo:  #0A0F1C;
    --rp-pie-texto:  #B6C0DC;
    --rp-pie-enlace: #E4E9F5;
    --rp-cinta-fondo: #2E3959;
    --rp-cinta-texto: #E4E9F5;
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --rp-lienzo:     #0F1524;
  --rp-superficie: #18203A;
  --rp-linea:      #2E3959;
  --rp-tenue:      #9AA5C4;
  --rp-secundario: #B6C0DC;
  --rp-primario:   #E4E9F5;
  --rp-accion:     #7C9AFF;
  --rp-accion-hover: #A3B8FF;
  --rp-accion-texto: #0F1524;
  --rp-alterna:    #1C2542;
  --rp-anillo:     rgba(124, 154, 255, .25);
  --rp-pie-fondo:  #0A0F1C;
  --rp-pie-texto:  #B6C0DC;
  --rp-pie-enlace: #E4E9F5;
  --rp-cinta-fondo: #2E3959;
  --rp-cinta-texto: #E4E9F5;
}

/* ---------- Base --------------------------------------------------------- */
body {
  background: var(--rp-lienzo);
  color: var(--rp-primario);
  font-family: var(--rp-font-cuerpo);
  font-size: var(--rp-base);
  line-height: 1.55;
}
h1, h2, h3, h4, h5, h6, .page-header h1, .page-header h2 {
  font-family: var(--rp-font-display);
  font-weight: 600;
  color: var(--rp-primario);
  line-height: 1.2;
}
h1 { font-size: var(--rp-titulo); }
h2 { font-size: var(--rp-grande); }
h3 { font-size: var(--rp-medio); }
h4, h5, h6 { font-size: var(--rp-base); }
code, kbd, pre, samp { font-family: var(--rp-font-mono); }
small, .text-muted, .help-block { color: var(--rp-tenue); }
hr { border-top-color: var(--rp-linea); }

a { color: var(--rp-accion); }
a:hover, a:focus { color: var(--rp-accion-hover); }
:focus-visible { outline: 2px solid var(--rp-accion); outline-offset: 2px; }

.ui-jqgrid, .data_table, table.table { font-size: var(--rp-denso); }

/* ---------- Cabecera y navegación --------------------------------------- */
#cm-header {
  background: var(--rp-superficie);
  border-bottom: 1px solid var(--rp-linea);
}
.navbar-default {
  background: var(--rp-superficie);
  background-image: none;
  filter: none;
  border-width: 0;
  border-radius: 0;
  margin-bottom: 0;
  box-shadow: none;
}
.navbar-default .navbar-nav li { border-left: 0; border-right: 0; }
.navbar-default .navbar-nav > li > a { color: var(--rp-primario); font-weight: 600; }
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: var(--rp-accion); background: transparent; filter: none;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: var(--rp-accion);
  background: transparent;
  filter: none;
  box-shadow: inset 0 -3px 0 var(--rp-accion);
}
@media (min-width: 768px) {
  .navbar-default .navbar-nav > li > a { font-size: 15px; padding-left: 10px; padding-right: 10px; }
}
.navbar-default .navbar-toggle { border-color: var(--rp-linea); }
.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background: var(--rp-lienzo); }
.navbar-default .navbar-toggle .icon-bar { background: var(--rp-primario); }
.navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: var(--rp-linea); }

.dropdown-menu,
.navbar-default .navbar-nav > li > .dropdown-menu {
  background: var(--rp-superficie);
  border-color: var(--rp-linea);
  border-radius: var(--rp-radio);
  filter: none;
}
.dropdown-menu > li > a,
.navbar-default .navbar-nav > li > .dropdown-menu > li > a { color: var(--rp-primario); }
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus,
.navbar-default .navbar-nav > li > .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav > li > .dropdown-menu > li > a:focus {
  background: var(--rp-lienzo); color: var(--rp-accion);
}
.dropdown-menu .divider { background: var(--rp-linea); }
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: var(--rp-primario); }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a { background: var(--rp-lienzo); color: var(--rp-accion); }
}

.breadcrumb { background: transparent; padding-left: 0; font-size: var(--rp-denso); }
.breadcrumb > li, .breadcrumb > li + li:before, .breadcrumb > .active { color: var(--rp-tenue); }

/* ---------- Botones ------------------------------------------------------ */
.btn { border-radius: var(--rp-radio); font-weight: 600; }
.btn-primary, .btn-success {
  background: var(--rp-accion); border-color: var(--rp-accion); color: var(--rp-accion-texto);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn-success:hover, .btn-success:focus, .btn-success:active {
  background: var(--rp-accion-hover); border-color: var(--rp-accion-hover); color: var(--rp-accion-texto);
}
.btn-default {
  background: var(--rp-superficie); border-color: var(--rp-linea); color: var(--rp-primario);
}
.btn-default:hover, .btn-default:focus, .btn-default:active {
  background: var(--rp-superficie); border-color: var(--rp-secundario); color: var(--rp-accion);
}

/* ---------- Superficies (todas por token → funcionan en ambos modos) ----- */
.panel, .well, .actions, .thumbnail, .list-group-item, .modal-content, .popover, .jumbotron {
  background: var(--rp-superficie);
  border-color: var(--rp-linea);
  color: var(--rp-primario);
  box-shadow: none;
}
.panel, .well, .actions { border: 1px solid var(--rp-linea); border-radius: var(--rp-radio); }
.panel-default { border-color: var(--rp-linea); }
.panel-default > .panel-heading {
  background: var(--rp-superficie);
  border-bottom: 1px solid var(--rp-linea);
  color: var(--rp-primario);
  font-family: var(--rp-font-display);
  font-weight: 600;
}
.panel-footer { background: var(--rp-alterna); border-top-color: var(--rp-linea); }
.panel-primary { border-color: var(--rp-accion); }
.panel-primary > .panel-heading { background: var(--rp-accion); border-color: var(--rp-accion); color: var(--rp-accion-texto); }
.modal-header, .modal-footer { border-color: var(--rp-linea); }
.close { color: var(--rp-primario); text-shadow: none; }
a.list-group-item:hover, a.list-group-item:focus { background: var(--rp-lienzo); }

.nav-tabs { border-bottom-color: var(--rp-linea); }
.nav-tabs > li > a { color: var(--rp-secundario); }
.nav-tabs > li > a:hover { background: var(--rp-lienzo); border-color: var(--rp-linea); }
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  color: var(--rp-primario);
  background: var(--rp-superficie);
  border-color: var(--rp-linea) var(--rp-linea) transparent;
  box-shadow: inset 0 3px 0 var(--rp-accion);
}

.pagination > li > a, .pagination > li > span {
  background: var(--rp-superficie); border-color: var(--rp-linea); color: var(--rp-accion);
}
.pagination > .active > a, .pagination > .active > span {
  background: var(--rp-accion); border-color: var(--rp-accion); color: var(--rp-accion-texto);
}

.table > thead > tr > th { color: var(--rp-secundario); border-bottom: 2px solid var(--rp-linea); }
.table > tbody > tr > td, .table > tbody > tr > th { border-top-color: var(--rp-linea); }
.table-bordered, .table-bordered > tbody > tr > td, .table-bordered > thead > tr > th { border-color: var(--rp-linea); }
.table-striped > tbody > tr:nth-of-type(odd) { background: var(--rp-alterna); }
.table-hover > tbody > tr:hover { background: var(--rp-lienzo); }

.progress { background: var(--rp-lienzo); }
.progress-bar { background-color: var(--rp-accion); }
.badge, .label-primary, .badge-primary { background-color: var(--rp-accion); color: var(--rp-accion-texto); }

.form-control, select, textarea, input[type="text"], input[type="email"], input[type="password"], input[type="search"] {
  background-color: var(--rp-superficie);
  border-color: var(--rp-linea);
  color: var(--rp-primario);
  border-radius: var(--rp-radio);
  box-shadow: none;
}
.form-control:focus { border-color: var(--rp-accion); box-shadow: 0 0 0 3px var(--rp-anillo); }
.form-control::placeholder { color: var(--rp-tenue); }
.form-control[disabled], .form-control[readonly] { background-color: var(--rp-alterna); }
.input-group-addon { background: var(--rp-alterna); border-color: var(--rp-linea); color: var(--rp-secundario); }

/* ---------- Pie ---------------------------------------------------------- */
footer.footer, .bgfooter {
  background: var(--rp-pie-fondo);
  color: var(--rp-pie-texto);
  border-top: 0;
}
footer.footer a, .bgfooter a { color: var(--rp-pie-enlace); }
footer.footer a:hover, .bgfooter a:hover { color: var(--rp-pie-texto); }

/* ---------- Contenido de autor ------------------------------------------ */
/* Tipografía uniforme aunque el editor haya puesto la fuente en línea */
.page-course p, .page-course span, .page-course li, .page-course div,
#courseintro p, #courseintro span, #courseintro li {
  font-family: var(--rp-font-cuerpo) !important;
}
/* En oscuro, el contenido de autor va en una "hoja" clara (como las fotos de
   producto en www): respeta colores en línea e imágenes con fondo blanco. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .page-course,
  :root:not([data-theme="light"]) #courseintro,
  :root:not([data-theme="light"]) .forum-post .panel-body {
    color-scheme: light;
    --rp-superficie: #FFFFFF; --rp-linea: #CDD5E5; --rp-tenue: #5D6785;
    --rp-secundario: #414F82; --rp-primario: #0F1E52; --rp-accion: #1F3BD6;
    --rp-accion-hover: #1830B0; --rp-accion-texto: #FFFFFF; --rp-lienzo: #EDF0F6;
    background: var(--rp-superficie);
    color: var(--rp-primario);
    padding: 24px;
    border-radius: var(--rp-radio);
  }
}
:root[data-theme="dark"] .page-course,
:root[data-theme="dark"] #courseintro,
:root[data-theme="dark"] .forum-post .panel-body {
  color-scheme: light;
  --rp-superficie: #FFFFFF; --rp-linea: #CDD5E5; --rp-tenue: #5D6785;
  --rp-secundario: #414F82; --rp-primario: #0F1E52; --rp-accion: #1F3BD6;
  --rp-accion-hover: #1830B0; --rp-accion-texto: #FFFFFF; --rp-lienzo: #EDF0F6;
  background: var(--rp-superficie);
  color: var(--rp-primario);
  padding: 24px;
  border-radius: var(--rp-radio);
}

/* ---------- v3.1: hallazgos del modo oscuro ------------------------------ */
/* Aviso "Puede añadir una introducción…" (fondo claro fijo del CSS base) */
.help-course {
  background: var(--rp-superficie);
  border: 1px dashed var(--rp-linea);
  color: var(--rp-tenue);
}
/* Portada: los títulos siguen el tema aunque el editor les haya puesto color */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #home-welcome :is(h1, h2, h3, h4, h5, h6),
  :root:not([data-theme="light"]) #home-welcome :is(h1, h2, h3, h4, h5, h6) * { color: var(--rp-primario) !important; }
}
:root[data-theme="dark"] #home-welcome :is(h1, h2, h3, h4, h5, h6),
:root[data-theme="dark"] #home-welcome :is(h1, h2, h3, h4, h5, h6) * { color: var(--rp-primario) !important; }

/* ---------- v3.2: negro puro en línea (herencia de Word/LibreOffice) ----- */
/* En oscuro, el negro puro pasa a heredar el color del contexto: claro sobre
   la página, azul marino dentro de las hojas claras. Otros colores se respetan. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) font[color="#000000" i],
  :root:not([data-theme="light"]) font[color="#000" i],
  :root:not([data-theme="light"]) font[color="black" i],
  :root:not([data-theme="light"]) [style*="color:#000000" i],
  :root:not([data-theme="light"]) [style*="color: #000000" i],
  :root:not([data-theme="light"]) [style*="color:#000;" i],
  :root:not([data-theme="light"]) [style*="color: #000;" i],
  :root:not([data-theme="light"]) [style*="color:black" i],
  :root:not([data-theme="light"]) [style*="color: black" i],
  :root:not([data-theme="light"]) [style*="color:rgb(0,0,0)" i],
  :root:not([data-theme="light"]) [style*="color: rgb(0, 0, 0)" i] { color: inherit !important; }
}
:root[data-theme="dark"] font[color="#000000" i],
:root[data-theme="dark"] font[color="#000" i],
:root[data-theme="dark"] font[color="black" i],
:root[data-theme="dark"] [style*="color:#000000" i],
:root[data-theme="dark"] [style*="color: #000000" i],
:root[data-theme="dark"] [style*="color:#000;" i],
:root[data-theme="dark"] [style*="color: #000;" i],
:root[data-theme="dark"] [style*="color:black" i],
:root[data-theme="dark"] [style*="color: black" i],
:root[data-theme="dark"] [style*="color:rgb(0,0,0)" i],
:root[data-theme="dark"] [style*="color: rgb(0, 0, 0)" i] { color: inherit !important; }

/* ---------- v3.3: citas (Bootstrap 3 trae borde gris fijo) --------------- */
blockquote {
  border-left: 3px solid var(--rp-accion);
  color: var(--rp-primario);
  font-size: 18px;
}
blockquote.text-center {
  border-left: 0;
  border-top: 1px solid var(--rp-linea);
  padding: 24px 0 0;
  margin-top: 32px;
}
blockquote footer, blockquote small { color: var(--rp-tenue); }

/* ---------- v3.4: cinta superior (igual a www) ---------------------------- */
/* HTML en Configuración > Plataforma > contenido extra de la cabecera */
.rp-cinta {
  background: var(--rp-cinta-fondo);
  color: var(--rp-cinta-texto);
  font-size: 14px;
  border-bottom: 16px solid var(--rp-lienzo);
}
.rp-cinta .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px 16px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.rp-cinta a, .rp-cinta a:hover, .rp-cinta a:focus { color: var(--rp-cinta-texto); }
.rp-cinta a:hover { text-decoration: underline; }
@media (max-width: 480px) { .rp-cinta .rp-cinta-lema { display: none; } }
/* Bootstrap 3 pone ::before/::after de "clearfix" en .container, .nav y
   .navbar-collapse; dentro de un flex se vuelven ítems fantasma y descuadran
   el reparto del espacio. Se anulan donde usamos flex. */
.rp-cinta .container::before, .rp-cinta .container::after,
#cm-header #navbar::before, #cm-header #navbar::after,
#cm-header #navbar > .navbar-nav::before, #cm-header #navbar > .navbar-nav::after { display: none; }

/* ---------- v3.5: logo nuevo y menú a la derecha del logo (como www) ------ */
/* El PNG viene a 2x; se muestra a 65 px de alto para que se vea nítido */
#cm-header .logo img { height: 65px; width: auto; max-width: none; }

/* En oscuro, el logo va sobre una placa blanca: "INGENIERÍA" en azul no se
   lee sobre el fondo oscuro */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #cm-header .logo img {
    background: #FFFFFF; padding: 4px 6px; border-radius: var(--rp-radio); box-sizing: content-box;
  }
}
:root[data-theme="dark"] #cm-header .logo img {
  background: #FFFFFF; padding: 4px 6px; border-radius: var(--rp-radio); box-sizing: content-box;
}

/* Logo y menú en una sola franja desde 1200 px; bajo eso se mantiene apilado */
@media (min-width: 1200px) {
  /* La fila del logo no ocupa alto y NO captura clics: solo el logo es clicable */
  #cm-header > .container { height: 0; position: relative; z-index: 3; pointer-events: none; }
  #cm-header > .container .logo { padding-top: 3px; display: inline-block; }
  #cm-header > .container .logo a,
  #cm-header > .container .logo img { pointer-events: auto; }
  /* columna derecha de la fila del logo (contadores y avisos): chocaría con el menú */
  #cm-header > .container > .row > .col-md-8 { display: none; }

  #cm-header .navbar-default > .container { padding-left: 150px; }
  #cm-header .navbar-default .navbar-header { display: none; }
  #cm-header #navbar.navbar-collapse.collapse {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    min-height: 89px;
  }
  /* Ítems en una sola línea: sin flotantes, sin encogerse */
  #cm-header #navbar > .navbar-nav {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    flex: 0 0 auto;
    float: none;
    margin: 0;
  }
  #cm-header #navbar > .navbar-nav > li { float: none; }
  #cm-header #navbar > .navbar-nav > li > a { white-space: nowrap; padding-left: 8px; padding-right: 8px; }
  /* Empuja el menú a la derecha; si no cabe, se desborda a la derecha y nunca bajo el logo */
  #cm-header #navbar > .navbar-nav:first-child { margin-left: auto; }
  #cm-header #navbar > .navbar-right { margin-right: 0; margin-left: 12px; }
}

/* ---------- v3.6: ancho de contenido igual a www (wideSize 1200 px) ------- */
/* Bootstrap 3 usa 1170 px (1140 útiles); aquí 1230 px = 1200 útiles.
   Solo desde 1260 px de ventana, para que siempre quede margen lateral. */
@media (min-width: 1260px) {
  .container { width: 1230px; }
}
/* RP-FIN */

/* Admin > Inscribir usuarios en un curso: usar todo el ancho disponible */
select[name="UserList[]"],
select[name="CourseList[]"] {
  width: 100% !important;
  height: 65vh;
  min-height: 420px;
}

/* Sesiones > Inscribir usuarios en esta sesión (Registro múltiple) */
#origin_users, #destination_users {
  height: 60vh !important;
  min-height: 400px;
}
@media (min-width: 992px) {
  .col-md-4:has(#origin_users),
  .col-md-4:has(#destination_users) { width: 38%; }
  .col-md-4:has(#origin_users) + .col-md-4 { width: 24%; }
  .col-md-4:has(#origin_users) + .col-md-4 .btn { white-space: normal; }
}





/* RP-CURSO-INICIO v3 — página de inicio del curso (modo claro y oscuro).
   Herramientas como tarjetas; íconos sin el borde y la sombra gris del estilo base;
   descripción del curso como tarjeta. En oscuro, la descripción pasa a tarjeta oscura
   (el texto negro pegado desde Word se adapta). Excepción: <div class="rp-papel">. */
:root { --rp-tarjeta-hover: #F4F6FF; --rp-tarjeta-sombra: 0 6px 16px rgba(15, 30, 82, .08); --rp-icono-base: #EEF2FA; }
#course_tools .course-tool,
.course-tool {
background: var(--rp-superficie);
border: 1px solid var(--rp-linea);
border-radius: 10px;
padding: 18px 10px 14px;
margin-bottom: 24px;
transition: border-color .15s, transform .15s, background-color .15s, box-shadow .15s;
}
#course_tools .course-tool:hover,
.course-tool:hover {
border-color: var(--rp-accion);
background: var(--rp-tarjeta-hover);
transform: translateY(-2px);
box-shadow: var(--rp-tarjeta-sombra);
}
.big_icon img,
.big_icon img:hover {
border: 0 !important;
box-shadow: none !important;
background: var(--rp-icono-base);
border-radius: 14px;
padding: 10px;
}
#course_tools .content a,
.course-tool .content a { color: var(--rp-primario); font-weight: 600; }
.course-tool:hover .content a { color: var(--rp-accion); }
.course-tool .content a.text-muted,
.course-tool .content a.muted,
.course-tool .content .invisible { color: var(--rp-tenue) !important; }
#courseintro,
.page-course {
border: 1px solid var(--rp-linea);
border-radius: 10px;
padding: 24px !important;
width: auto !important;
margin-bottom: 24px;
box-shadow: none !important;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --rp-tarjeta-hover: #1E2A55; --rp-tarjeta-sombra: none; --rp-icono-base: rgba(255, 255, 255, .06); }
  :root:not([data-theme="light"]) #courseintro,
  :root:not([data-theme="light"]) .page-course {
  color-scheme: dark;
  --rp-lienzo: #0F1524 !important; --rp-superficie: #18203A !important; --rp-linea: #2E3959 !important;
  --rp-tenue: #9AA5C4 !important; --rp-secundario: #B6C0DC !important; --rp-primario: #E4E9F5 !important;
  --rp-accion: #7C9AFF !important; --rp-accion-hover: #A3B8FF !important; --rp-accion-texto: #0F1524 !important;
  background: #18203A !important;
  color: #E4E9F5 !important;
  border-color: #2E3959 !important;
}
  :root:not([data-theme="light"]) #courseintro hr,
  :root:not([data-theme="light"]) .page-course hr { border-top-color: var(--rp-linea); }
  :root:not([data-theme="light"]) #courseintro img,
  :root:not([data-theme="light"]) .page-course img { border-radius: 6px; }
  :root:not([data-theme="light"]) #courseintro [style*="color:#000"],
  :root:not([data-theme="light"]) .page-course [style*="color:#000"],
  :root:not([data-theme="light"]) #courseintro [style*="color: #000"],
  :root:not([data-theme="light"]) .page-course [style*="color: #000"],
  :root:not([data-theme="light"]) #courseintro [style*="color:black"],
  :root:not([data-theme="light"]) .page-course [style*="color:black"],
  :root:not([data-theme="light"]) #courseintro [style*="color: black"],
  :root:not([data-theme="light"]) .page-course [style*="color: black"],
  :root:not([data-theme="light"]) #courseintro [style*="color: rgb(0, 0, 0)"],
  :root:not([data-theme="light"]) .page-course [style*="color: rgb(0, 0, 0)"],
  :root:not([data-theme="light"]) #courseintro [style*="color:rgb(0,0,0)"],
  :root:not([data-theme="light"]) .page-course [style*="color:rgb(0,0,0)"],
  :root:not([data-theme="light"]) #courseintro font[color="#000000"],
  :root:not([data-theme="light"]) .page-course font[color="#000000"],
  :root:not([data-theme="light"]) #courseintro font[color="black"],
  :root:not([data-theme="light"]) .page-course font[color="black"] { color: inherit !important; }
  :root:not([data-theme="light"]) #courseintro [style*="background-color:#fff"],
  :root:not([data-theme="light"]) .page-course [style*="background-color:#fff"],
  :root:not([data-theme="light"]) #courseintro [style*="background-color: #fff"],
  :root:not([data-theme="light"]) .page-course [style*="background-color: #fff"],
  :root:not([data-theme="light"]) #courseintro [style*="background-color: rgb(255, 255, 255)"],
  :root:not([data-theme="light"]) .page-course [style*="background-color: rgb(255, 255, 255)"],
  :root:not([data-theme="light"]) #courseintro [style*="background:#fff"],
  :root:not([data-theme="light"]) .page-course [style*="background:#fff"] { background-color: transparent !important; }
  :root:not([data-theme="light"]) #courseintro .rp-papel,
  :root:not([data-theme="light"]) .page-course .rp-papel {
  color-scheme: light;
  --rp-superficie: #FFFFFF !important; --rp-linea: #CDD5E5 !important; --rp-tenue: #5D6785 !important;
  --rp-secundario: #414F82 !important; --rp-primario: #0F1E52 !important; --rp-accion: #1F3BD6 !important;
  --rp-accion-hover: #1830B0 !important;
  background: #FFFFFF !important; color: #0F1E52 !important; border-radius: 8px; padding: 16px;
}
}
:root[data-theme="dark"] { --rp-tarjeta-hover: #1E2A55; --rp-tarjeta-sombra: none; --rp-icono-base: rgba(255, 255, 255, .06); }
:root[data-theme="dark"] #courseintro,
:root[data-theme="dark"] .page-course {
  color-scheme: dark;
  --rp-lienzo: #0F1524 !important; --rp-superficie: #18203A !important; --rp-linea: #2E3959 !important;
  --rp-tenue: #9AA5C4 !important; --rp-secundario: #B6C0DC !important; --rp-primario: #E4E9F5 !important;
  --rp-accion: #7C9AFF !important; --rp-accion-hover: #A3B8FF !important; --rp-accion-texto: #0F1524 !important;
  background: #18203A !important;
  color: #E4E9F5 !important;
  border-color: #2E3959 !important;
}
:root[data-theme="dark"] #courseintro hr,
:root[data-theme="dark"] .page-course hr { border-top-color: var(--rp-linea); }
:root[data-theme="dark"] #courseintro img,
:root[data-theme="dark"] .page-course img { border-radius: 6px; }
:root[data-theme="dark"] #courseintro [style*="color:#000"],
:root[data-theme="dark"] .page-course [style*="color:#000"],
:root[data-theme="dark"] #courseintro [style*="color: #000"],
:root[data-theme="dark"] .page-course [style*="color: #000"],
:root[data-theme="dark"] #courseintro [style*="color:black"],
:root[data-theme="dark"] .page-course [style*="color:black"],
:root[data-theme="dark"] #courseintro [style*="color: black"],
:root[data-theme="dark"] .page-course [style*="color: black"],
:root[data-theme="dark"] #courseintro [style*="color: rgb(0, 0, 0)"],
:root[data-theme="dark"] .page-course [style*="color: rgb(0, 0, 0)"],
:root[data-theme="dark"] #courseintro [style*="color:rgb(0,0,0)"],
:root[data-theme="dark"] .page-course [style*="color:rgb(0,0,0)"],
:root[data-theme="dark"] #courseintro font[color="#000000"],
:root[data-theme="dark"] .page-course font[color="#000000"],
:root[data-theme="dark"] #courseintro font[color="black"],
:root[data-theme="dark"] .page-course font[color="black"] { color: inherit !important; }
:root[data-theme="dark"] #courseintro [style*="background-color:#fff"],
:root[data-theme="dark"] .page-course [style*="background-color:#fff"],
:root[data-theme="dark"] #courseintro [style*="background-color: #fff"],
:root[data-theme="dark"] .page-course [style*="background-color: #fff"],
:root[data-theme="dark"] #courseintro [style*="background-color: rgb(255, 255, 255)"],
:root[data-theme="dark"] .page-course [style*="background-color: rgb(255, 255, 255)"],
:root[data-theme="dark"] #courseintro [style*="background:#fff"],
:root[data-theme="dark"] .page-course [style*="background:#fff"] { background-color: transparent !important; }
:root[data-theme="dark"] #courseintro .rp-papel,
:root[data-theme="dark"] .page-course .rp-papel {
  color-scheme: light;
  --rp-superficie: #FFFFFF !important; --rp-linea: #CDD5E5 !important; --rp-tenue: #5D6785 !important;
  --rp-secundario: #414F82 !important; --rp-primario: #0F1E52 !important; --rp-accion: #1F3BD6 !important;
  --rp-accion-hover: #1830B0 !important;
  background: #FFFFFF !important; color: #0F1E52 !important; border-radius: 8px; padding: 16px;
}
/* RP-CURSO-FIN */

/* RP-OSCURO-AGENDA-INICIO v1 — agenda (FullCalendar) y diálogos jQuery UI en modo oscuro.
   Día actual resaltado con el color de acento; cuadrícula, botones de vista y ventana de eventos con el tema. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .fc-unthemed th,
  :root:not([data-theme="light"]) .fc-unthemed td,
  :root:not([data-theme="light"]) .fc-unthemed thead,
  :root:not([data-theme="light"]) .fc-unthemed tbody,
  :root:not([data-theme="light"]) .fc-unthemed .fc-divider,
  :root:not([data-theme="light"]) .fc-unthemed .fc-row,
  :root:not([data-theme="light"]) .fc-unthemed .fc-content,
  :root:not([data-theme="light"]) .fc-unthemed .fc-popover,
  :root:not([data-theme="light"]) .fc-unthemed .fc-list-view,
  :root:not([data-theme="light"]) .fc-unthemed .fc-list-heading td { border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .fc-unthemed .fc-day-header,
  :root:not([data-theme="light"]) .fc-unthemed thead th { background: var(--rp-superficie); color: var(--rp-primario); }
  :root:not([data-theme="light"]) .fc-unthemed td.fc-day { background: var(--rp-lienzo); }
  :root:not([data-theme="light"]) .fc-unthemed td.fc-other-month,
  :root:not([data-theme="light"]) .fc-unthemed td.fc-day.fc-other-month { background: #0C111E; }
  :root:not([data-theme="light"]) .fc-unthemed td.fc-today { background: rgba(124, 154, 255, .12) !important; }
  :root:not([data-theme="light"]) .fc-unthemed .fc-day-top.fc-today .fc-day-number,
  :root:not([data-theme="light"]) .fc-unthemed td.fc-today .fc-day-number {
  color: #0F1524 !important; background: var(--rp-accion); border-radius: 12px; padding: 1px 7px; margin: 2px; opacity: 1;
}
  :root:not([data-theme="light"]) .fc-day-number { color: var(--rp-primario); }
  :root:not([data-theme="light"]) .fc-other-month .fc-day-number { color: var(--rp-tenue); opacity: .55; }
  :root:not([data-theme="light"]) .fc-highlight { background: var(--rp-accion) !important; opacity: .18 !important; }
  :root:not([data-theme="light"]) .fc-unthemed .fc-popover { background: var(--rp-superficie); color: var(--rp-primario); }
  :root:not([data-theme="light"]) .fc-unthemed .fc-popover .fc-header,
  :root:not([data-theme="light"]) .fc-unthemed .fc-divider { background: var(--rp-alterna); }
  :root:not([data-theme="light"]) .fc-unthemed .fc-list-heading td { background: var(--rp-alterna) !important; color: var(--rp-primario); }
  :root:not([data-theme="light"]) .fc-unthemed .fc-list-item:hover td { background: #1E2A55 !important; }
  :root:not([data-theme="light"]) .fc-unthemed .fc-list-empty { background: var(--rp-superficie); color: var(--rp-tenue); }
  :root:not([data-theme="light"]) .fc-axis,
  :root:not([data-theme="light"]) .fc-time-grid .fc-slats td { color: var(--rp-tenue); }
  :root:not([data-theme="light"]) .fc-toolbar h2 { color: var(--rp-primario); }
  :root:not([data-theme="light"]) .fc-button,
  :root:not([data-theme="light"]) .fc-state-default {
  background: var(--rp-superficie) !important; background-image: none !important;
  color: var(--rp-primario) !important; border-color: var(--rp-linea) !important;
  text-shadow: none !important; box-shadow: none !important;
}
  :root:not([data-theme="light"]) .fc-state-hover { background: var(--rp-alterna) !important; }
  :root:not([data-theme="light"]) .fc-state-active,
  :root:not([data-theme="light"]) .fc-state-down { background: #232D50 !important; color: #FFFFFF !important; box-shadow: inset 0 -3px 0 var(--rp-accion) !important; }
  :root:not([data-theme="light"]) .fc-state-disabled { opacity: .45 !important; }
  :root:not([data-theme="light"]) .ui-widget-overlay { background: #050814 !important; opacity: .65 !important; }
  :root:not([data-theme="light"]) .ui-dialog { background: var(--rp-superficie) !important; border: 1px solid var(--rp-linea) !important; border-radius: 10px; box-shadow: 0 16px 48px rgba(0, 0, 0, .5); }
  :root:not([data-theme="light"]) .ui-dialog .ui-dialog-titlebar { background: transparent !important; border: 0 !important; color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .ui-dialog legend,
  :root:not([data-theme="light"]) .ui-dialog h1,
  :root:not([data-theme="light"]) .ui-dialog h2,
  :root:not([data-theme="light"]) .ui-dialog h3,
  :root:not([data-theme="light"]) .ui-dialog .page-header { color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-dialog label,
  :root:not([data-theme="light"]) .ui-dialog .control-label { color: var(--rp-primario); }
  :root:not([data-theme="light"]) .ui-dialog .ui-dialog-titlebar-close { background: var(--rp-alterna) !important; border: 1px solid var(--rp-linea) !important; border-radius: 4px; }
  :root:not([data-theme="light"]) .ui-dialog .ui-dialog-titlebar-close .ui-icon { filter: invert(1); }
  :root:not([data-theme="light"]) .ui-dialog .ui-dialog-buttonpane { background: var(--rp-superficie) !important; border-top: 1px solid var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-dialog .ui-dialog-buttonpane .ui-button {
  background: var(--rp-accion) !important; color: var(--rp-accion-texto) !important; border: 0 !important;
  border-radius: 4px; font-weight: 600; padding: 6px 18px;
}
  :root:not([data-theme="light"]) .ui-dialog .ui-dialog-buttonpane .ui-button:hover { background: var(--rp-accion-hover) !important; }
  :root:not([data-theme="light"]) .ui-dialog .ui-button .ui-button-text { color: inherit !important; }
  :root:not([data-theme="light"]) .qtip,
  :root:not([data-theme="light"]) .qtip-default { background: var(--rp-superficie) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
}
:root[data-theme="dark"] .fc-unthemed th,
:root[data-theme="dark"] .fc-unthemed td,
:root[data-theme="dark"] .fc-unthemed thead,
:root[data-theme="dark"] .fc-unthemed tbody,
:root[data-theme="dark"] .fc-unthemed .fc-divider,
:root[data-theme="dark"] .fc-unthemed .fc-row,
:root[data-theme="dark"] .fc-unthemed .fc-content,
:root[data-theme="dark"] .fc-unthemed .fc-popover,
:root[data-theme="dark"] .fc-unthemed .fc-list-view,
:root[data-theme="dark"] .fc-unthemed .fc-list-heading td { border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .fc-unthemed .fc-day-header,
:root[data-theme="dark"] .fc-unthemed thead th { background: var(--rp-superficie); color: var(--rp-primario); }
:root[data-theme="dark"] .fc-unthemed td.fc-day { background: var(--rp-lienzo); }
:root[data-theme="dark"] .fc-unthemed td.fc-other-month,
:root[data-theme="dark"] .fc-unthemed td.fc-day.fc-other-month { background: #0C111E; }
:root[data-theme="dark"] .fc-unthemed td.fc-today { background: rgba(124, 154, 255, .12) !important; }
:root[data-theme="dark"] .fc-unthemed .fc-day-top.fc-today .fc-day-number,
:root[data-theme="dark"] .fc-unthemed td.fc-today .fc-day-number {
  color: #0F1524 !important; background: var(--rp-accion); border-radius: 12px; padding: 1px 7px; margin: 2px; opacity: 1;
}
:root[data-theme="dark"] .fc-day-number { color: var(--rp-primario); }
:root[data-theme="dark"] .fc-other-month .fc-day-number { color: var(--rp-tenue); opacity: .55; }
:root[data-theme="dark"] .fc-highlight { background: var(--rp-accion) !important; opacity: .18 !important; }
:root[data-theme="dark"] .fc-unthemed .fc-popover { background: var(--rp-superficie); color: var(--rp-primario); }
:root[data-theme="dark"] .fc-unthemed .fc-popover .fc-header,
:root[data-theme="dark"] .fc-unthemed .fc-divider { background: var(--rp-alterna); }
:root[data-theme="dark"] .fc-unthemed .fc-list-heading td { background: var(--rp-alterna) !important; color: var(--rp-primario); }
:root[data-theme="dark"] .fc-unthemed .fc-list-item:hover td { background: #1E2A55 !important; }
:root[data-theme="dark"] .fc-unthemed .fc-list-empty { background: var(--rp-superficie); color: var(--rp-tenue); }
:root[data-theme="dark"] .fc-axis,
:root[data-theme="dark"] .fc-time-grid .fc-slats td { color: var(--rp-tenue); }
:root[data-theme="dark"] .fc-toolbar h2 { color: var(--rp-primario); }
:root[data-theme="dark"] .fc-button,
:root[data-theme="dark"] .fc-state-default {
  background: var(--rp-superficie) !important; background-image: none !important;
  color: var(--rp-primario) !important; border-color: var(--rp-linea) !important;
  text-shadow: none !important; box-shadow: none !important;
}
:root[data-theme="dark"] .fc-state-hover { background: var(--rp-alterna) !important; }
:root[data-theme="dark"] .fc-state-active,
:root[data-theme="dark"] .fc-state-down { background: #232D50 !important; color: #FFFFFF !important; box-shadow: inset 0 -3px 0 var(--rp-accion) !important; }
:root[data-theme="dark"] .fc-state-disabled { opacity: .45 !important; }
:root[data-theme="dark"] .ui-widget-overlay { background: #050814 !important; opacity: .65 !important; }
:root[data-theme="dark"] .ui-dialog { background: var(--rp-superficie) !important; border: 1px solid var(--rp-linea) !important; border-radius: 10px; box-shadow: 0 16px 48px rgba(0, 0, 0, .5); }
:root[data-theme="dark"] .ui-dialog .ui-dialog-titlebar { background: transparent !important; border: 0 !important; color: var(--rp-primario) !important; }
:root[data-theme="dark"] .ui-dialog legend,
:root[data-theme="dark"] .ui-dialog h1,
:root[data-theme="dark"] .ui-dialog h2,
:root[data-theme="dark"] .ui-dialog h3,
:root[data-theme="dark"] .ui-dialog .page-header { color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-dialog label,
:root[data-theme="dark"] .ui-dialog .control-label { color: var(--rp-primario); }
:root[data-theme="dark"] .ui-dialog .ui-dialog-titlebar-close { background: var(--rp-alterna) !important; border: 1px solid var(--rp-linea) !important; border-radius: 4px; }
:root[data-theme="dark"] .ui-dialog .ui-dialog-titlebar-close .ui-icon { filter: invert(1); }
:root[data-theme="dark"] .ui-dialog .ui-dialog-buttonpane { background: var(--rp-superficie) !important; border-top: 1px solid var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-dialog .ui-dialog-buttonpane .ui-button {
  background: var(--rp-accion) !important; color: var(--rp-accion-texto) !important; border: 0 !important;
  border-radius: 4px; font-weight: 600; padding: 6px 18px;
}
:root[data-theme="dark"] .ui-dialog .ui-dialog-buttonpane .ui-button:hover { background: var(--rp-accion-hover) !important; }
:root[data-theme="dark"] .ui-dialog .ui-button .ui-button-text { color: inherit !important; }
:root[data-theme="dark"] .qtip,
:root[data-theme="dark"] .qtip-default { background: var(--rp-superficie) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
/* RP-OSCURO-AGENDA-FIN */


/* RP-INFORMES-INICIO v1 — tarjetas de la página de Informes (claro y oscuro).
   Tarjetas con el fondo, borde y tipografía del tema; en oscuro, cifras de las donas más luminosas.
   El anillo gris de las donas se dibuja con JS: lo corrige la plantilla sobrescrita my_space/index.tpl. */
.view-global-followed .card {
background: var(--rp-superficie);
color: var(--rp-primario);
border: 1px solid var(--rp-linea);
border-radius: 10px;
box-shadow: none;
}
.view-global-followed .card .card-title a { color: var(--rp-accion); }
.view-global-followed .card .numbers h2 { color: var(--rp-primario); font-weight: 600; }
.panel-view { border: 1px solid var(--rp-linea) !important; border-radius: 10px; box-shadow: none; }
.easypiechart .percent { font-weight: 600; }
.item-report .panel-default {
background: var(--rp-superficie) !important;
border: 1px solid var(--rp-linea) !important;
border-radius: 10px;
box-shadow: none;
}
.item-report .item-report-number { color: var(--rp-primario); font-weight: 600; }
.item-report p { color: var(--rp-secundario); }
.box-widget .card-body { background: var(--rp-alterna); color: var(--rp-primario); }
.box-widget .card-body .stat-widget-five .box-name,
.card-body .stat-widget-five .stat-heading { color: var(--rp-tenue); }
.card-body .stat-widget-five .stat-text { color: var(--rp-primario); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #easypiechart-blue .percent { color: #5CB8FF; }
  :root:not([data-theme="light"]) #easypiechart-teal .percent { color: #3DD6C4; }
  :root:not([data-theme="light"]) #easypiechart-orange .percent { color: #FFC266; }
  :root:not([data-theme="light"]) #easypiechart-red .percent { color: #FF6B7D; }
}
:root[data-theme="dark"] #easypiechart-blue .percent { color: #5CB8FF; }
:root[data-theme="dark"] #easypiechart-teal .percent { color: #3DD6C4; }
:root[data-theme="dark"] #easypiechart-orange .percent { color: #FFC266; }
:root[data-theme="dark"] #easypiechart-red .percent { color: #FF6B7D; }
/* RP-INFORMES-FIN */

/* RP-DETALLE-ALUMNO-INICIO v1 (2026-10-11) — Informes → Detalles del estudiante (my_space/myStudents.php, user_details.tpl).
   Tarjetas de fechas (macro card_widget, .card-first-date) y recuadros de conteo (.box-widget) con fondo, borde y
   tipografía del tema en ambos modos. base.css:904 fija .card en #FFF con sombra; en oscuro el texto (--rp-primario
   claro, de RP-INFORMES) quedaba sobre blanco. El anillo gris de las donas lo dibuja el JS de la plantilla (no se toca). */
.card.card-first-date,
.card.box-widget {
background: var(--rp-superficie);
color: var(--rp-primario);
border: 1px solid var(--rp-linea);
border-radius: 10px;
box-shadow: none;
}
.card.box-widget { background: var(--rp-alterna); overflow: hidden; }
.card.card-first-date .stat-icon .fa { color: var(--rp-secundario); }
/* RP-DETALLE-ALUMNO-FIN */


/* RP-OSCURO-EDITOR-INICIO v1 — marco del editor (CKEditor) y títulos de formularios en modo oscuro.
   El contenido del editor (iframe) se oscurece con editor_content.css del tema. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .cke_chrome { border-color: var(--rp-linea) !important; box-shadow: none !important; }
  :root:not([data-theme="light"]) .cke_inner { background: var(--rp-superficie) !important; }
  :root:not([data-theme="light"]) .cke_top,
  :root:not([data-theme="light"]) .cke_bottom { background: var(--rp-alterna) !important; border-color: var(--rp-linea) !important; box-shadow: none !important; }
  :root:not([data-theme="light"]) .cke_contents { border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .cke_button_icon,
  :root:not([data-theme="light"]) .cke_resizer_ltr,
  :root:not([data-theme="light"]) .cke_resizer_rtl { filter: invert(.88) hue-rotate(180deg); }
  :root:not([data-theme="light"]) .cke_button_label,
  :root:not([data-theme="light"]) .cke_combo_text,
  :root:not([data-theme="light"]) .cke_path_item,
  :root:not([data-theme="light"]) .cke_path_empty,
  :root:not([data-theme="light"]) .cke_wordcount,
  :root:not([data-theme="light"]) .cke_bottom span,
  :root:not([data-theme="light"]) .cke_bottom div { color: var(--rp-primario) !important; text-shadow: none !important; }
  :root:not([data-theme="light"]) a.cke_button_off:hover,
  :root:not([data-theme="light"]) a.cke_button_off:focus,
  :root:not([data-theme="light"]) a.cke_button_on,
  :root:not([data-theme="light"]) a.cke_button_on:hover { background: #232D50 !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) a.cke_button_disabled .cke_button_icon { opacity: .35; }
  :root:not([data-theme="light"]) .cke_toolbar_separator { background: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) a.cke_combo_button,
  :root:not([data-theme="light"]) .cke_combo_off a.cke_combo_button:hover,
  :root:not([data-theme="light"]) .cke_combo_on a.cke_combo_button { background: var(--rp-superficie) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .cke_combo_arrow { border-top-color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .cke_toolbox_collapser { background: var(--rp-superficie) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .cke_toolbox_collapser .cke_arrow { border-bottom-color: var(--rp-primario) !important; border-top-color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) a.cke_path_item:hover,
  :root:not([data-theme="light"]) a.cke_path_item:focus { background: #232D50 !important; }
  :root:not([data-theme="light"]) textarea.cke_source { background: var(--rp-lienzo) !important; color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) legend { color: var(--rp-primario); border-bottom-color: var(--rp-linea); }
}
:root[data-theme="dark"] .cke_chrome { border-color: var(--rp-linea) !important; box-shadow: none !important; }
:root[data-theme="dark"] .cke_inner { background: var(--rp-superficie) !important; }
:root[data-theme="dark"] .cke_top,
:root[data-theme="dark"] .cke_bottom { background: var(--rp-alterna) !important; border-color: var(--rp-linea) !important; box-shadow: none !important; }
:root[data-theme="dark"] .cke_contents { border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .cke_button_icon,
:root[data-theme="dark"] .cke_resizer_ltr,
:root[data-theme="dark"] .cke_resizer_rtl { filter: invert(.88) hue-rotate(180deg); }
:root[data-theme="dark"] .cke_button_label,
:root[data-theme="dark"] .cke_combo_text,
:root[data-theme="dark"] .cke_path_item,
:root[data-theme="dark"] .cke_path_empty,
:root[data-theme="dark"] .cke_wordcount,
:root[data-theme="dark"] .cke_bottom span,
:root[data-theme="dark"] .cke_bottom div { color: var(--rp-primario) !important; text-shadow: none !important; }
:root[data-theme="dark"] a.cke_button_off:hover,
:root[data-theme="dark"] a.cke_button_off:focus,
:root[data-theme="dark"] a.cke_button_on,
:root[data-theme="dark"] a.cke_button_on:hover { background: #232D50 !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] a.cke_button_disabled .cke_button_icon { opacity: .35; }
:root[data-theme="dark"] .cke_toolbar_separator { background: var(--rp-linea) !important; }
:root[data-theme="dark"] a.cke_combo_button,
:root[data-theme="dark"] .cke_combo_off a.cke_combo_button:hover,
:root[data-theme="dark"] .cke_combo_on a.cke_combo_button { background: var(--rp-superficie) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .cke_combo_arrow { border-top-color: var(--rp-primario) !important; }
:root[data-theme="dark"] .cke_toolbox_collapser { background: var(--rp-superficie) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .cke_toolbox_collapser .cke_arrow { border-bottom-color: var(--rp-primario) !important; border-top-color: var(--rp-primario) !important; }
:root[data-theme="dark"] a.cke_path_item:hover,
:root[data-theme="dark"] a.cke_path_item:focus { background: #232D50 !important; }
:root[data-theme="dark"] textarea.cke_source { background: var(--rp-lienzo) !important; color: var(--rp-primario) !important; }
:root[data-theme="dark"] legend { color: var(--rp-primario); border-bottom-color: var(--rp-linea); }
/* RP-OSCURO-EDITOR-FIN */


/* RP-OSCURO-ADMIN-INICIO v6 — recuadro de versión, tablas, jqGrid, selectores, código, paginación, avisos, pestañas, barras de íconos, botones y barra inferior de la administración en modo oscuro */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .table { background: var(--rp-superficie); color: var(--rp-primario); }
  :root:not([data-theme="light"]) .table > thead > tr > th,
  :root:not([data-theme="light"]) .table > tbody > tr > th,
  :root:not([data-theme="light"]) .table > tbody > tr > td,
  :root:not([data-theme="light"]) .table > thead > tr > td,
  :root:not([data-theme="light"]) .table > tfoot > tr > td {
  background-color: var(--rp-superficie) !important;
  color: var(--rp-primario) !important;
  border-color: var(--rp-linea) !important;
}
  :root:not([data-theme="light"]) .table > tbody > tr > th,
  :root:not([data-theme="light"]) .table > thead > tr > th { background-color: var(--rp-alterna) !important; }
  :root:not([data-theme="light"]) .table-striped > tbody > tr:nth-of-type(odd) > td { background-color: var(--rp-alterna) !important; }
  :root:not([data-theme="light"]) .table-hover > tbody > tr:hover > td { background-color: #232D50 !important; }
  :root:not([data-theme="light"]) .table td h4,
  :root:not([data-theme="light"]) .table td h4 small,
  :root:not([data-theme="light"]) .table td p,
  :root:not([data-theme="light"]) .table td label { color: inherit !important; }
  :root:not([data-theme="light"]) .table td h4 small { opacity: .75; }
  :root:not([data-theme="light"]) /* Plugins instalados (y filas seleccionadas en otras tablas) */
.table > tbody > tr.row_selected > td {
  background-color: #1E2A55 !important;
  box-shadow: inset 3px 0 0 var(--rp-accion);
}
  :root:not([data-theme="light"]) /* Botones secundarios */
.btn-default {
  background: var(--rp-superficie) !important;
  color: var(--rp-primario) !important;
  border-color: var(--rp-linea) !important;
  text-shadow: none;
  box-shadow: none;
}
  :root:not([data-theme="light"]) .btn-default:hover,
  :root:not([data-theme="light"]) .btn-default:focus,
  :root:not([data-theme="light"]) .btn-default:active,
  :root:not([data-theme="light"]) .btn-default.active {
  background: var(--rp-alterna) !important;
  color: var(--rp-primario) !important;
  border-color: var(--rp-accion) !important;
}
  :root:not([data-theme="light"]) /* Barra inferior fija con el botón de guardar */
.form-actions,
  :root:not([data-theme="light"]) .bottom_actions {
  background: var(--rp-superficie) !important;
  border-color: var(--rp-linea) !important;
  color: var(--rp-primario);
}
  :root:not([data-theme="light"]) /* Pestañas y campo de búsqueda de la administración */
.nav-tabs > li > a { color: var(--rp-secundario); }
  :root:not([data-theme="light"]) .nav-tabs > li.active > a,
  :root:not([data-theme="light"]) .nav-tabs > li.active > a:hover,
  :root:not([data-theme="light"]) .nav-tabs > li.active > a:focus {
  background: var(--rp-superficie); color: var(--rp-primario); border-color: var(--rp-linea) var(--rp-linea) transparent;
}
  :root:not([data-theme="light"]) .nav-tabs { border-bottom-color: var(--rp-linea); }
  :root:not([data-theme="light"]) .form-control { background: var(--rp-lienzo); color: var(--rp-primario); border-color: var(--rp-linea); }
  :root:not([data-theme="light"]) .table > tbody > tr.success > td { background-color: #1D3B2A !important; }
  :root:not([data-theme="light"]) .table > tbody > tr.danger > td { background-color: #45202A !important; }
  :root:not([data-theme="light"]) .table > tbody > tr.warning > td { background-color: #4A3B16 !important; }
  :root:not([data-theme="light"]) .table > tbody > tr.info > td { background-color: #1B3550 !important; }
  :root:not([data-theme="light"]) /* jQuery UI (pestañas de Plugins y otras pantallas de administración) */
.ui-widget-content { background: var(--rp-superficie) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-widget-header { background: transparent !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-tabs .ui-tabs-nav { border-bottom: 1px solid var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-tabs .ui-tabs-nav li.ui-state-default { background: var(--rp-alterna) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-tabs .ui-tabs-nav li.ui-state-default a { color: var(--rp-secundario) !important; }
  :root:not([data-theme="light"]) .ui-tabs .ui-tabs-nav li.ui-state-hover { background: #232D50 !important; }
  :root:not([data-theme="light"]) .ui-tabs .ui-tabs-nav li.ui-state-active { background: var(--rp-superficie) !important; border-bottom-color: var(--rp-superficie) !important; }
  :root:not([data-theme="light"]) .ui-tabs .ui-tabs-nav li.ui-state-active a { color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .ui-tabs .ui-tabs-panel { background: var(--rp-superficie) !important; color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .page-header { border-bottom-color: var(--rp-linea); }
  :root:not([data-theme="light"]) /* Barra de íconos de categorías de la administración */
.new_actions,
  :root:not([data-theme="light"]) .actions { background: var(--rp-superficie) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .new_actions .nav-pills > li > a:hover,
  :root:not([data-theme="light"]) .actions .nav-pills > li > a:hover { background: var(--rp-alterna) !important; }
  :root:not([data-theme="light"]) .new_actions .nav-pills > li.active > a,
  :root:not([data-theme="light"]) .actions .nav-pills > li.active > a { background: #232D50 !important; box-shadow: inset 0 -3px 0 var(--rp-accion); }
  :root:not([data-theme="light"]) .actions img { background: transparent !important; border-color: transparent !important; border-radius: 6px; padding: 4px; transition: background-color .15s; }
  :root:not([data-theme="light"]) .actions a:hover img,
  :root:not([data-theme="light"]) .actions img:hover { background: var(--rp-alterna) !important; }
  :root:not([data-theme="light"]) .actions a:focus-visible img { outline: 2px solid var(--rp-accion); outline-offset: 1px; }
  :root:not([data-theme="light"]) .actions .btn-toolbar { background: transparent !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .actions .btn-toolbar:hover { background: var(--rp-alterna) !important; }
  :root:not([data-theme="light"]) .new_actions .nav > li > a { border-right-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .table-well { background: var(--rp-superficie) !important; border-color: var(--rp-linea) !important; box-shadow: none !important; color: var(--rp-primario); }
  :root:not([data-theme="light"]) .data_table_pagination,
  :root:not([data-theme="light"]) .data_table_pagination td { color: var(--rp-tenue) !important; background: transparent !important; }
  :root:not([data-theme="light"]) .data_table_pagination a { color: var(--rp-accion); }
  :root:not([data-theme="light"]) .data_table tr.row_odd:hover > td,
  :root:not([data-theme="light"]) .data_table tr.row_even:hover > td { background-color: #232D50 !important; }
  :root:not([data-theme="light"]) .data_table tr.highlight > td { background-color: #1E2A55 !important; }
  :root:not([data-theme="light"]) .text-success { color: #6FD39A !important; }
  :root:not([data-theme="light"]) .text-danger { color: #FF8A95 !important; }
  :root:not([data-theme="light"]) .text-warning { color: #FFC266 !important; }
  :root:not([data-theme="light"]) .text-info { color: #7CC4FF !important; }
  :root:not([data-theme="light"]) .text-muted,
  :root:not([data-theme="light"]) .muted { color: var(--rp-tenue) !important; }
  :root:not([data-theme="light"]) .alert-success { background: #16301F !important; border-color: #2B5B3C !important; color: #BFEFD0 !important; }
  :root:not([data-theme="light"]) .alert-info { background: #15294A !important; border-color: #2A4C80 !important; color: #CFE3FF !important; }
  :root:not([data-theme="light"]) .alert-warning { background: #3A2E12 !important; border-color: #6B5520 !important; color: #FFE3A3 !important; }
  :root:not([data-theme="light"]) .alert-danger { background: #3A1720 !important; border-color: #6E2A36 !important; color: #FFC7CE !important; }
  :root:not([data-theme="light"]) .alert a,
  :root:not([data-theme="light"]) .alert .alert-link { color: inherit !important; text-decoration: underline; }
  :root:not([data-theme="light"]) .alert .close { color: inherit; text-shadow: none; opacity: .7; }
  :root:not([data-theme="light"]) .select2-container--default .select2-selection--single,
  :root:not([data-theme="light"]) .select2-container--default .select2-selection--multiple,
  :root:not([data-theme="light"]) .select2-container--bootstrap .select2-selection { background: var(--rp-lienzo) !important; border-color: var(--rp-linea) !important; color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .select2-container--default .select2-selection__placeholder { color: var(--rp-tenue) !important; }
  :root:not([data-theme="light"]) .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { border-bottom-color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .select2-container--default.select2-container--focus .select2-selection--multiple,
  :root:not([data-theme="light"]) .select2-container--default.select2-container--open .select2-selection { border-color: var(--rp-accion) !important; }
  :root:not([data-theme="light"]) .select2-container--default .select2-selection--multiple .select2-selection__choice { background: #232D50 !important; border-color: var(--rp-linea) !important; color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .select2-container--default .select2-selection__choice__remove { color: var(--rp-tenue) !important; }
  :root:not([data-theme="light"]) .select2-container--default .select2-selection__choice__remove:hover { color: #FF8A95 !important; }
  :root:not([data-theme="light"]) .select2-container--default .select2-selection__clear { color: var(--rp-tenue) !important; }
  :root:not([data-theme="light"]) .select2-dropdown { background: var(--rp-superficie) !important; border-color: var(--rp-linea) !important; color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .select2-search__field,
  :root:not([data-theme="light"]) .select2-container--default .select2-search--dropdown .select2-search__field { background: var(--rp-lienzo) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .select2-search__field::placeholder { color: var(--rp-tenue) !important; opacity: 1; }
  :root:not([data-theme="light"]) .select2-results__option { color: var(--rp-primario); }
  :root:not([data-theme="light"]) .select2-container--default .select2-results__option[aria-selected=true] { background: var(--rp-alterna) !important; }
  :root:not([data-theme="light"]) .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--rp-accion) !important; color: var(--rp-accion-texto) !important; }
  :root:not([data-theme="light"]) .select2-results__message,
  :root:not([data-theme="light"]) .select2-container--default .select2-results__option[aria-disabled=true] { color: var(--rp-tenue) !important; }
  :root:not([data-theme="light"]) pre { background: var(--rp-lienzo) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) pre [style*="color:red"],
  :root:not([data-theme="light"]) pre [style*="color: red"],
  :root:not([data-theme="light"]) pre [style*="color:#f00"],
  :root:not([data-theme="light"]) pre [style*="color: #f00"],
  :root:not([data-theme="light"]) pre font[color="red"],
  :root:not([data-theme="light"]) pre .text-danger { color: #FF8A95 !important; }
  :root:not([data-theme="light"]) blockquote { border-left-color: var(--rp-accion); }
  :root:not([data-theme="light"]) input[type="file"] { color: var(--rp-primario); }
  :root:not([data-theme="light"]) input[type="file"]::file-selector-button { background: var(--rp-alterna); color: var(--rp-primario); border: 1px solid var(--rp-linea); border-radius: 4px; padding: 4px 12px; margin-right: 8px; cursor: pointer; }
  :root:not([data-theme="light"]) input[type="file"]::file-selector-button:hover { background: #232D50; border-color: var(--rp-accion); }
  :root:not([data-theme="light"]) .ui-state-default,
  :root:not([data-theme="light"]) .ui-widget-content .ui-state-default,
  :root:not([data-theme="light"]) .ui-widget-header .ui-state-default { background: var(--rp-alterna) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-state-hover,
  :root:not([data-theme="light"]) .ui-widget-content .ui-state-hover,
  :root:not([data-theme="light"]) .ui-state-focus,
  :root:not([data-theme="light"]) .ui-widget-content .ui-state-focus { background: #232D50 !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-state-highlight,
  :root:not([data-theme="light"]) .ui-widget-content .ui-state-highlight { background: #1E2A55 !important; color: var(--rp-primario) !important; border-color: var(--rp-accion) !important; }
  :root:not([data-theme="light"]) .ui-state-active,
  :root:not([data-theme="light"]) .ui-widget-content .ui-state-active { background: var(--rp-superficie) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-icon { filter: invert(.85); }
  :root:not([data-theme="light"]) .ui-jqgrid,
  :root:not([data-theme="light"]) .ui-jqgrid .ui-jqgrid-view,
  :root:not([data-theme="light"]) .ui-jqgrid .ui-jqgrid-hdiv,
  :root:not([data-theme="light"]) .ui-jqgrid .ui-jqgrid-bdiv { background: var(--rp-superficie) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-jqgrid .ui-jqgrid-htable th,
  :root:not([data-theme="light"]) .ui-jqgrid .ui-th-column { background: var(--rp-alterna) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-jqgrid .ui-jqgrid-htable th div,
  :root:not([data-theme="light"]) .ui-jqgrid .ui-jqgrid-sortable { color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .ui-jqgrid tr.jqgrow td,
  :root:not([data-theme="light"]) .ui-jqgrid tr.ui-search-toolbar th { border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-jqgrid .ui-jqgrid-pager,
  :root:not([data-theme="light"]) .ui-jqgrid .ui-jqgrid-toppager,
  :root:not([data-theme="light"]) .ui-jqgrid .ui-pg-table { background: var(--rp-superficie) !important; color: var(--rp-tenue) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .ui-jqgrid .ui-pg-input,
  :root:not([data-theme="light"]) .ui-jqgrid .ui-pg-selbox,
  :root:not([data-theme="light"]) .ui-jqgrid .ui-search-toolbar input,
  :root:not([data-theme="light"]) .ui-jqgrid .ui-search-toolbar select { background: var(--rp-lienzo) !important; color: var(--rp-primario) !important; border: 1px solid var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .admin-block-version { background: #3A2E12 !important; border-color: #6B5520 !important; color: #FFE3A3 !important; }
  :root:not([data-theme="light"]) .admin-block-version [style*="color:red"],
  :root:not([data-theme="light"]) .admin-block-version [style*="color: red"] { color: #FF8A95 !important; }
  :root:not([data-theme="light"]) .admin-block-version [style*="color:green"],
  :root:not([data-theme="light"]) .admin-block-version [style*="color: green"] { color: #6FD39A !important; }
  :root:not([data-theme="light"]) .admin-block-version a { color: inherit !important; text-decoration: underline; }
}
:root[data-theme="dark"] .table { background: var(--rp-superficie); color: var(--rp-primario); }
:root[data-theme="dark"] .table > thead > tr > th,
:root[data-theme="dark"] .table > tbody > tr > th,
:root[data-theme="dark"] .table > tbody > tr > td,
:root[data-theme="dark"] .table > thead > tr > td,
:root[data-theme="dark"] .table > tfoot > tr > td {
  background-color: var(--rp-superficie) !important;
  color: var(--rp-primario) !important;
  border-color: var(--rp-linea) !important;
}
:root[data-theme="dark"] .table > tbody > tr > th,
:root[data-theme="dark"] .table > thead > tr > th { background-color: var(--rp-alterna) !important; }
:root[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > td { background-color: var(--rp-alterna) !important; }
:root[data-theme="dark"] .table-hover > tbody > tr:hover > td { background-color: #232D50 !important; }
:root[data-theme="dark"] .table td h4,
:root[data-theme="dark"] .table td h4 small,
:root[data-theme="dark"] .table td p,
:root[data-theme="dark"] .table td label { color: inherit !important; }
:root[data-theme="dark"] .table td h4 small { opacity: .75; }
:root[data-theme="dark"] /* Plugins instalados (y filas seleccionadas en otras tablas) */
.table > tbody > tr.row_selected > td {
  background-color: #1E2A55 !important;
  box-shadow: inset 3px 0 0 var(--rp-accion);
}
:root[data-theme="dark"] /* Botones secundarios */
.btn-default {
  background: var(--rp-superficie) !important;
  color: var(--rp-primario) !important;
  border-color: var(--rp-linea) !important;
  text-shadow: none;
  box-shadow: none;
}
:root[data-theme="dark"] .btn-default:hover,
:root[data-theme="dark"] .btn-default:focus,
:root[data-theme="dark"] .btn-default:active,
:root[data-theme="dark"] .btn-default.active {
  background: var(--rp-alterna) !important;
  color: var(--rp-primario) !important;
  border-color: var(--rp-accion) !important;
}
:root[data-theme="dark"] /* Barra inferior fija con el botón de guardar */
.form-actions,
:root[data-theme="dark"] .bottom_actions {
  background: var(--rp-superficie) !important;
  border-color: var(--rp-linea) !important;
  color: var(--rp-primario);
}
:root[data-theme="dark"] /* Pestañas y campo de búsqueda de la administración */
.nav-tabs > li > a { color: var(--rp-secundario); }
:root[data-theme="dark"] .nav-tabs > li.active > a,
:root[data-theme="dark"] .nav-tabs > li.active > a:hover,
:root[data-theme="dark"] .nav-tabs > li.active > a:focus {
  background: var(--rp-superficie); color: var(--rp-primario); border-color: var(--rp-linea) var(--rp-linea) transparent;
}
:root[data-theme="dark"] .nav-tabs { border-bottom-color: var(--rp-linea); }
:root[data-theme="dark"] .form-control { background: var(--rp-lienzo); color: var(--rp-primario); border-color: var(--rp-linea); }
:root[data-theme="dark"] .table > tbody > tr.success > td { background-color: #1D3B2A !important; }
:root[data-theme="dark"] .table > tbody > tr.danger > td { background-color: #45202A !important; }
:root[data-theme="dark"] .table > tbody > tr.warning > td { background-color: #4A3B16 !important; }
:root[data-theme="dark"] .table > tbody > tr.info > td { background-color: #1B3550 !important; }
:root[data-theme="dark"] /* jQuery UI (pestañas de Plugins y otras pantallas de administración) */
.ui-widget-content { background: var(--rp-superficie) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-widget-header { background: transparent !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-tabs .ui-tabs-nav { border-bottom: 1px solid var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-tabs .ui-tabs-nav li.ui-state-default { background: var(--rp-alterna) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-tabs .ui-tabs-nav li.ui-state-default a { color: var(--rp-secundario) !important; }
:root[data-theme="dark"] .ui-tabs .ui-tabs-nav li.ui-state-hover { background: #232D50 !important; }
:root[data-theme="dark"] .ui-tabs .ui-tabs-nav li.ui-state-active { background: var(--rp-superficie) !important; border-bottom-color: var(--rp-superficie) !important; }
:root[data-theme="dark"] .ui-tabs .ui-tabs-nav li.ui-state-active a { color: var(--rp-primario) !important; }
:root[data-theme="dark"] .ui-tabs .ui-tabs-panel { background: var(--rp-superficie) !important; color: var(--rp-primario) !important; }
:root[data-theme="dark"] .page-header { border-bottom-color: var(--rp-linea); }
:root[data-theme="dark"] /* Barra de íconos de categorías de la administración */
.new_actions,
:root[data-theme="dark"] .actions { background: var(--rp-superficie) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .new_actions .nav-pills > li > a:hover,
:root[data-theme="dark"] .actions .nav-pills > li > a:hover { background: var(--rp-alterna) !important; }
:root[data-theme="dark"] .new_actions .nav-pills > li.active > a,
:root[data-theme="dark"] .actions .nav-pills > li.active > a { background: #232D50 !important; box-shadow: inset 0 -3px 0 var(--rp-accion); }
:root[data-theme="dark"] .actions img { background: transparent !important; border-color: transparent !important; border-radius: 6px; padding: 4px; transition: background-color .15s; }
:root[data-theme="dark"] .actions a:hover img,
:root[data-theme="dark"] .actions img:hover { background: var(--rp-alterna) !important; }
:root[data-theme="dark"] .actions a:focus-visible img { outline: 2px solid var(--rp-accion); outline-offset: 1px; }
:root[data-theme="dark"] .actions .btn-toolbar { background: transparent !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .actions .btn-toolbar:hover { background: var(--rp-alterna) !important; }
:root[data-theme="dark"] .new_actions .nav > li > a { border-right-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .table-well { background: var(--rp-superficie) !important; border-color: var(--rp-linea) !important; box-shadow: none !important; color: var(--rp-primario); }
:root[data-theme="dark"] .data_table_pagination,
:root[data-theme="dark"] .data_table_pagination td { color: var(--rp-tenue) !important; background: transparent !important; }
:root[data-theme="dark"] .data_table_pagination a { color: var(--rp-accion); }
:root[data-theme="dark"] .data_table tr.row_odd:hover > td,
:root[data-theme="dark"] .data_table tr.row_even:hover > td { background-color: #232D50 !important; }
:root[data-theme="dark"] .data_table tr.highlight > td { background-color: #1E2A55 !important; }
:root[data-theme="dark"] .text-success { color: #6FD39A !important; }
:root[data-theme="dark"] .text-danger { color: #FF8A95 !important; }
:root[data-theme="dark"] .text-warning { color: #FFC266 !important; }
:root[data-theme="dark"] .text-info { color: #7CC4FF !important; }
:root[data-theme="dark"] .text-muted,
:root[data-theme="dark"] .muted { color: var(--rp-tenue) !important; }
:root[data-theme="dark"] .alert-success { background: #16301F !important; border-color: #2B5B3C !important; color: #BFEFD0 !important; }
:root[data-theme="dark"] .alert-info { background: #15294A !important; border-color: #2A4C80 !important; color: #CFE3FF !important; }
:root[data-theme="dark"] .alert-warning { background: #3A2E12 !important; border-color: #6B5520 !important; color: #FFE3A3 !important; }
:root[data-theme="dark"] .alert-danger { background: #3A1720 !important; border-color: #6E2A36 !important; color: #FFC7CE !important; }
:root[data-theme="dark"] .alert a,
:root[data-theme="dark"] .alert .alert-link { color: inherit !important; text-decoration: underline; }
:root[data-theme="dark"] .alert .close { color: inherit; text-shadow: none; opacity: .7; }
:root[data-theme="dark"] .select2-container--default .select2-selection--single,
:root[data-theme="dark"] .select2-container--default .select2-selection--multiple,
:root[data-theme="dark"] .select2-container--bootstrap .select2-selection { background: var(--rp-lienzo) !important; border-color: var(--rp-linea) !important; color: var(--rp-primario) !important; }
:root[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--rp-primario) !important; }
:root[data-theme="dark"] .select2-container--default .select2-selection__placeholder { color: var(--rp-tenue) !important; }
:root[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: var(--rp-primario) !important; }
:root[data-theme="dark"] .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { border-bottom-color: var(--rp-primario) !important; }
:root[data-theme="dark"] .select2-container--default.select2-container--focus .select2-selection--multiple,
:root[data-theme="dark"] .select2-container--default.select2-container--open .select2-selection { border-color: var(--rp-accion) !important; }
:root[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice { background: #232D50 !important; border-color: var(--rp-linea) !important; color: var(--rp-primario) !important; }
:root[data-theme="dark"] .select2-container--default .select2-selection__choice__remove { color: var(--rp-tenue) !important; }
:root[data-theme="dark"] .select2-container--default .select2-selection__choice__remove:hover { color: #FF8A95 !important; }
:root[data-theme="dark"] .select2-container--default .select2-selection__clear { color: var(--rp-tenue) !important; }
:root[data-theme="dark"] .select2-dropdown { background: var(--rp-superficie) !important; border-color: var(--rp-linea) !important; color: var(--rp-primario) !important; }
:root[data-theme="dark"] .select2-search__field,
:root[data-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field { background: var(--rp-lienzo) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .select2-search__field::placeholder { color: var(--rp-tenue) !important; opacity: 1; }
:root[data-theme="dark"] .select2-results__option { color: var(--rp-primario); }
:root[data-theme="dark"] .select2-container--default .select2-results__option[aria-selected=true] { background: var(--rp-alterna) !important; }
:root[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--rp-accion) !important; color: var(--rp-accion-texto) !important; }
:root[data-theme="dark"] .select2-results__message,
:root[data-theme="dark"] .select2-container--default .select2-results__option[aria-disabled=true] { color: var(--rp-tenue) !important; }
:root[data-theme="dark"] pre { background: var(--rp-lienzo) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] pre [style*="color:red"],
:root[data-theme="dark"] pre [style*="color: red"],
:root[data-theme="dark"] pre [style*="color:#f00"],
:root[data-theme="dark"] pre [style*="color: #f00"],
:root[data-theme="dark"] pre font[color="red"],
:root[data-theme="dark"] pre .text-danger { color: #FF8A95 !important; }
:root[data-theme="dark"] blockquote { border-left-color: var(--rp-accion); }
:root[data-theme="dark"] input[type="file"] { color: var(--rp-primario); }
:root[data-theme="dark"] input[type="file"]::file-selector-button { background: var(--rp-alterna); color: var(--rp-primario); border: 1px solid var(--rp-linea); border-radius: 4px; padding: 4px 12px; margin-right: 8px; cursor: pointer; }
:root[data-theme="dark"] input[type="file"]::file-selector-button:hover { background: #232D50; border-color: var(--rp-accion); }
:root[data-theme="dark"] .ui-state-default,
:root[data-theme="dark"] .ui-widget-content .ui-state-default,
:root[data-theme="dark"] .ui-widget-header .ui-state-default { background: var(--rp-alterna) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-state-hover,
:root[data-theme="dark"] .ui-widget-content .ui-state-hover,
:root[data-theme="dark"] .ui-state-focus,
:root[data-theme="dark"] .ui-widget-content .ui-state-focus { background: #232D50 !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-state-highlight,
:root[data-theme="dark"] .ui-widget-content .ui-state-highlight { background: #1E2A55 !important; color: var(--rp-primario) !important; border-color: var(--rp-accion) !important; }
:root[data-theme="dark"] .ui-state-active,
:root[data-theme="dark"] .ui-widget-content .ui-state-active { background: var(--rp-superficie) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-icon { filter: invert(.85); }
:root[data-theme="dark"] .ui-jqgrid,
:root[data-theme="dark"] .ui-jqgrid .ui-jqgrid-view,
:root[data-theme="dark"] .ui-jqgrid .ui-jqgrid-hdiv,
:root[data-theme="dark"] .ui-jqgrid .ui-jqgrid-bdiv { background: var(--rp-superficie) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-jqgrid .ui-jqgrid-htable th,
:root[data-theme="dark"] .ui-jqgrid .ui-th-column { background: var(--rp-alterna) !important; color: var(--rp-primario) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-jqgrid .ui-jqgrid-htable th div,
:root[data-theme="dark"] .ui-jqgrid .ui-jqgrid-sortable { color: var(--rp-primario) !important; }
:root[data-theme="dark"] .ui-jqgrid tr.jqgrow td,
:root[data-theme="dark"] .ui-jqgrid tr.ui-search-toolbar th { border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-jqgrid .ui-jqgrid-pager,
:root[data-theme="dark"] .ui-jqgrid .ui-jqgrid-toppager,
:root[data-theme="dark"] .ui-jqgrid .ui-pg-table { background: var(--rp-superficie) !important; color: var(--rp-tenue) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .ui-jqgrid .ui-pg-input,
:root[data-theme="dark"] .ui-jqgrid .ui-pg-selbox,
:root[data-theme="dark"] .ui-jqgrid .ui-search-toolbar input,
:root[data-theme="dark"] .ui-jqgrid .ui-search-toolbar select { background: var(--rp-lienzo) !important; color: var(--rp-primario) !important; border: 1px solid var(--rp-linea) !important; }
:root[data-theme="dark"] .admin-block-version { background: #3A2E12 !important; border-color: #6B5520 !important; color: #FFE3A3 !important; }
:root[data-theme="dark"] .admin-block-version [style*="color:red"],
:root[data-theme="dark"] .admin-block-version [style*="color: red"] { color: #FF8A95 !important; }
:root[data-theme="dark"] .admin-block-version [style*="color:green"],
:root[data-theme="dark"] .admin-block-version [style*="color: green"] { color: #6FD39A !important; }
:root[data-theme="dark"] .admin-block-version a { color: inherit !important; text-decoration: underline; }
/* RP-OSCURO-ADMIN-FIN */

/* ===== RP: Formulario Añadir usuario (admin) — sep-2026 ===== */

/* Ocultar campos que no se usan al crear */
#user_add .form-group:has(#extra_legal_accept),
#user_add .form-group:has(#extra_already_logged_in),
#user_add .form-group:has(#extra_update_type),
#user_add .form-group:has(#extra_tags),
#user_add .form-group:has(#extra_rssfeeds),
#user_add .form-group:has(#extra_dashboard),
#user_add .form-group:has(#user_add_extra_timezone),
#user_add .form-group:has(#extra_mail_notify_invitation),
#user_add .form-group:has(#extra_mail_notify_message),
#user_add .form-group:has(#extra_mail_notify_group_message),
#user_add .form-group:has(#extra_user_chat_status),
#user_add .form-group:has(#extra_google_calendar_url),
#user_add .form-group:has(#extra_captcha_blocked_until_date),
#user_add .form-group:has(#extra_skype),
#user_add .form-group:has(#extra_linkedin_url),
#user_add .form-group:has(#extra_empresa),
#user_add .form-group:has([id^="extra_request_for_"]) {
  display: none;
}

/* Reordenar: datos personales -> documento/empresa/grupo -> resto */
#user_add fieldset { display: flex; flex-direction: column; }
#user_add fieldset > * { order: 3; }

#user_add fieldset > .form-group:has(#lastname),
#user_add fieldset > .form-group:has(#firstname),
#user_add fieldset > .form-group:has(#official_code),
#user_add fieldset > .form-group:has(#email) { order: 1; }

#user_add fieldset > .form-group:has(#extra_tipo_documento),
#user_add fieldset > .form-group:has(#extra_pais_documento),
#user_add fieldset > .form-group:has(#extra_numero_documento),
#user_add fieldset > .form-group:has(#extra_user_emp),
#user_add fieldset > .form-group:has(#extra_tag_grupo_usuario) { order: 2; }
/* ===== fin RP ===== */




/* RP-OSCURO-EJERCICIOS-INICIO v4 — ejercicios en modo oscuro (inicio, rendición, resultado y corrección) */
@media (prefers-color-scheme: dark) {
  /* --- v3: inicio, resultado y corrección --- */
  :root:not([data-theme="light"]) .exercise_overview_options,
  :root:not([data-theme="light"]) .title-score .total,
  :root:not([data-theme="light"]) :is(.question_row, .question_row_answer) .ribbon {
    background: var(--rp-superficie) !important;
    border-color: var(--rp-linea) !important;
    color: var(--rp-primario) !important;
  }
  :root:not([data-theme="light"]) .title-score .total *,
  :root:not([data-theme="light"]) :is(.question_row, .question_row_answer) .ribbon > :not(.rib),
  :root:not([data-theme="light"]) :is(.question_row, .question_row_answer) .ribbon > :not(.rib) * { color: var(--rp-primario) !important; }

  /* --- v4: rendición del ejercicio --- */
  /* Título y enunciado (Chamilo los fija en #666, ilegible sobre oscuro) */
  :root:not([data-theme="light"]) .main-question .question_title { color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .main-question .question_description { color: var(--rp-secundario) !important; }
  :root:not([data-theme="light"]) .main-question { border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .main-question .form-actions { border-top-color: var(--rp-linea) !important; }

  /* Reloj (los avisos amarillo/rojo de poco tiempo se mantienen, en versión oscura) */
  :root:not([data-theme="light"]) :is(.count_down, #exercise_clock_warning):not(.time_warning_one):not(.time_warning_two) {
    background: var(--rp-superficie) !important;
    border-color: var(--rp-linea) !important;
    color: var(--rp-accion) !important;
  }
  :root:not([data-theme="light"]) .time_warning_two { background: #4A3A0A !important; border-color: #8A6D12 !important; color: #FFE08A !important; }
  :root:not([data-theme="light"]) .time_warning_one { background: #5A1618 !important; border-color: #B3282C !important; color: #FFD6D6 !important; }

  /* Relacionar (cajas unidas con líneas) */
  :root:not([data-theme="light"]) .drag_question .separate { background: transparent !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .drag_question .window { border-color: var(--rp-linea) !important; color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .window_left_question { background: #1F2A4D !important; }
  :root:not([data-theme="light"]) .window_right_question { background: var(--rp-superficie) !important; }
  :root:not([data-theme="light"]) .drag_question .window * { color: inherit !important; }
  :root:not([data-theme="light"]) .drag_question .select-matching { border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .drag_question .select-matching select { color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) .drag_question .select-matching select > option { background: var(--rp-superficie); color: var(--rp-primario); }

  /* Arrastrar y soltar / clasificar */
  :root:not([data-theme="light"]) ul.exercise-draggable-answer .touch-items,
  :root:not([data-theme="light"]) .question_options .droppable .gallery .exercise-draggable-answer-option {
    background: var(--rp-superficie) !important;
    border-color: var(--rp-linea) !important;
    color: var(--rp-primario) !important;
  }
  :root:not([data-theme="light"]) ul.exercise-draggable-answer .touch-items:hover { background: var(--rp-alterna) !important; border-color: var(--rp-accion) !important; }
  :root:not([data-theme="light"]) .question_options ul.exercise-draggable-answer { border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .question_options .droppable { background: var(--rp-lienzo) !important; border-color: var(--rp-linea) !important; color: var(--rp-tenue) !important; }
  :root:not([data-theme="light"]) .question_options .droppable-item { background: rgba(124, 154, 255, .12) !important; color: var(--rp-primario) !important; }

  /* Alternativas con imagen (solo el marco, no la imagen) */
  :root:not([data-theme="light"]) .question_options label > input + div.thumbnail { background: var(--rp-superficie) !important; border-color: var(--rp-linea) !important; }
  :root:not([data-theme="light"]) .question_options label > input:checked + div.thumbnail { background: var(--rp-alterna) !important; border-color: var(--rp-accion) !important; box-shadow: 0 0 0 3px var(--rp-anillo) !important; }

  /* Casillas de rellenar (crema -> campo oscuro con borde de acento) */
  :root:not([data-theme="light"]) .question_options input[type="text"] {
    background: var(--rp-lienzo) !important;
    border-color: var(--rp-accion) !important;
    color: var(--rp-primario) !important;
  }
  :root:not([data-theme="light"]) .question_options input[type="text"]:focus { background: var(--rp-superficie) !important; box-shadow: 0 0 0 3px var(--rp-anillo) !important; }

  /* Tablas del enunciado: bordes del tema; encabezados sin color o con gris/blanco -> tono alterno.
     Los encabezados con color propio (rojo, verde, etc.) no se tocan. */
  :root:not([data-theme="light"]) .main-question :is(.question_description, .question_options) :is(table, th, td) { border-color: var(--rp-linea); }
  :root:not([data-theme="light"]) .main-question :is(.question_description, .question_options) th:not([style*="background" i]):not([bgcolor]),
  :root:not([data-theme="light"]) .main-question :is(.question_description, .question_options) :is(th, td):is([style*="background-color:#eee" i], [style*="background-color:#ddd" i], [style*="background-color:#ccc" i], [style*="background-color:#d9d9d9" i], [style*="background-color:#e6e6e6" i], [style*="background-color:#e7e6e6" i], [style*="background-color:#f2f2f2" i], [style*="background-color:#f5f5f5" i], [style*="background-color:#fff" i], [style*="background-color:white" i], [style*="background-color:rgb(238" i], [style*="background-color:rgb(221" i], [style*="background-color:rgb(204" i], [style*="background-color:rgb(217" i], [style*="background-color:rgb(230" i], [style*="background-color:rgb(242" i], [style*="background-color:rgb(245" i], [style*="background-color:rgb(255, 255, 255" i], [style*="background-color:rgb(255,255,255" i], [style*="background-color: #eee" i], [style*="background-color: #ddd" i], [style*="background-color: #ccc" i], [style*="background-color: #d9d9d9" i], [style*="background-color: #e6e6e6" i], [style*="background-color: #e7e6e6" i], [style*="background-color: #f2f2f2" i], [style*="background-color: #f5f5f5" i], [style*="background-color: #fff" i], [style*="background-color: white" i], [style*="background-color: rgb(238" i], [style*="background-color: rgb(221" i], [style*="background-color: rgb(204" i], [style*="background-color: rgb(217" i], [style*="background-color: rgb(230" i], [style*="background-color: rgb(242" i], [style*="background-color: rgb(245" i], [style*="background-color: rgb(255, 255, 255" i], [style*="background-color: rgb(255,255,255" i], [style*="background:#eee" i], [style*="background:#ddd" i], [style*="background:#ccc" i], [style*="background:#d9d9d9" i], [style*="background:#e6e6e6" i], [style*="background:#e7e6e6" i], [style*="background:#f2f2f2" i], [style*="background:#f5f5f5" i], [style*="background:#fff" i], [style*="background:white" i], [style*="background:rgb(238" i], [style*="background:rgb(221" i], [style*="background:rgb(204" i], [style*="background:rgb(217" i], [style*="background:rgb(230" i], [style*="background:rgb(242" i], [style*="background:rgb(245" i], [style*="background:rgb(255, 255, 255" i], [style*="background:rgb(255,255,255" i], [style*="background: #eee" i], [style*="background: #ddd" i], [style*="background: #ccc" i], [style*="background: #d9d9d9" i], [style*="background: #e6e6e6" i], [style*="background: #e7e6e6" i], [style*="background: #f2f2f2" i], [style*="background: #f5f5f5" i], [style*="background: #fff" i], [style*="background: white" i], [style*="background: rgb(238" i], [style*="background: rgb(221" i], [style*="background: rgb(204" i], [style*="background: rgb(217" i], [style*="background: rgb(230" i], [style*="background: rgb(242" i], [style*="background: rgb(245" i], [style*="background: rgb(255, 255, 255" i], [style*="background: rgb(255,255,255" i], [bgcolor="#eeeeee" i], [bgcolor="#cccccc" i], [bgcolor="#dddddd" i], [bgcolor="#f2f2f2" i], [bgcolor="#ffffff" i], [bgcolor="white" i]),
  :root:not([data-theme="light"]) .exercise_options th {
    background: var(--rp-alterna) !important;
    color: var(--rp-primario) !important;
  }

  /* Avisos amarillos del ejercicio (sin responder, marcada para revisar, retroalimentación) */
  :root:not([data-theme="light"]) :is(.question_no_answer, .remind_highlight) { background: #3A3312 !important; color: var(--rp-primario) !important; }
  :root:not([data-theme="light"]) #question_feedback { background: #3A3312 !important; border-color: #8A6D12 !important; color: #FFE08A !important; }
}
/* --- v3: inicio, resultado y corrección --- */
:root[data-theme="dark"] .exercise_overview_options,
:root[data-theme="dark"] .title-score .total,
:root[data-theme="dark"] :is(.question_row, .question_row_answer) .ribbon {
  background: var(--rp-superficie) !important;
  border-color: var(--rp-linea) !important;
  color: var(--rp-primario) !important;
}
:root[data-theme="dark"] .title-score .total *,
:root[data-theme="dark"] :is(.question_row, .question_row_answer) .ribbon > :not(.rib),
:root[data-theme="dark"] :is(.question_row, .question_row_answer) .ribbon > :not(.rib) * { color: var(--rp-primario) !important; }

/* --- v4: rendición del ejercicio --- */
/* Título y enunciado (Chamilo los fija en #666, ilegible sobre oscuro) */
:root[data-theme="dark"] .main-question .question_title { color: var(--rp-primario) !important; }
:root[data-theme="dark"] .main-question .question_description { color: var(--rp-secundario) !important; }
:root[data-theme="dark"] .main-question { border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .main-question .form-actions { border-top-color: var(--rp-linea) !important; }

/* Reloj (los avisos amarillo/rojo de poco tiempo se mantienen, en versión oscura) */
:root[data-theme="dark"] :is(.count_down, #exercise_clock_warning):not(.time_warning_one):not(.time_warning_two) {
  background: var(--rp-superficie) !important;
  border-color: var(--rp-linea) !important;
  color: var(--rp-accion) !important;
}
:root[data-theme="dark"] .time_warning_two { background: #4A3A0A !important; border-color: #8A6D12 !important; color: #FFE08A !important; }
:root[data-theme="dark"] .time_warning_one { background: #5A1618 !important; border-color: #B3282C !important; color: #FFD6D6 !important; }

/* Relacionar (cajas unidas con líneas) */
:root[data-theme="dark"] .drag_question .separate { background: transparent !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .drag_question .window { border-color: var(--rp-linea) !important; color: var(--rp-primario) !important; }
:root[data-theme="dark"] .window_left_question { background: #1F2A4D !important; }
:root[data-theme="dark"] .window_right_question { background: var(--rp-superficie) !important; }
:root[data-theme="dark"] .drag_question .window * { color: inherit !important; }
:root[data-theme="dark"] .drag_question .select-matching { border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .drag_question .select-matching select { color: var(--rp-primario) !important; }
:root[data-theme="dark"] .drag_question .select-matching select > option { background: var(--rp-superficie); color: var(--rp-primario); }

/* Arrastrar y soltar / clasificar */
:root[data-theme="dark"] ul.exercise-draggable-answer .touch-items,
:root[data-theme="dark"] .question_options .droppable .gallery .exercise-draggable-answer-option {
  background: var(--rp-superficie) !important;
  border-color: var(--rp-linea) !important;
  color: var(--rp-primario) !important;
}
:root[data-theme="dark"] ul.exercise-draggable-answer .touch-items:hover { background: var(--rp-alterna) !important; border-color: var(--rp-accion) !important; }
:root[data-theme="dark"] .question_options ul.exercise-draggable-answer { border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .question_options .droppable { background: var(--rp-lienzo) !important; border-color: var(--rp-linea) !important; color: var(--rp-tenue) !important; }
:root[data-theme="dark"] .question_options .droppable-item { background: rgba(124, 154, 255, .12) !important; color: var(--rp-primario) !important; }

/* Alternativas con imagen (solo el marco, no la imagen) */
:root[data-theme="dark"] .question_options label > input + div.thumbnail { background: var(--rp-superficie) !important; border-color: var(--rp-linea) !important; }
:root[data-theme="dark"] .question_options label > input:checked + div.thumbnail { background: var(--rp-alterna) !important; border-color: var(--rp-accion) !important; box-shadow: 0 0 0 3px var(--rp-anillo) !important; }

/* Casillas de rellenar (crema -> campo oscuro con borde de acento) */
:root[data-theme="dark"] .question_options input[type="text"] {
  background: var(--rp-lienzo) !important;
  border-color: var(--rp-accion) !important;
  color: var(--rp-primario) !important;
}
:root[data-theme="dark"] .question_options input[type="text"]:focus { background: var(--rp-superficie) !important; box-shadow: 0 0 0 3px var(--rp-anillo) !important; }

/* Tablas del enunciado: bordes del tema; encabezados sin color o con gris/blanco -> tono alterno.
   Los encabezados con color propio (rojo, verde, etc.) no se tocan. */
:root[data-theme="dark"] .main-question :is(.question_description, .question_options) :is(table, th, td) { border-color: var(--rp-linea); }
:root[data-theme="dark"] .main-question :is(.question_description, .question_options) th:not([style*="background" i]):not([bgcolor]),
:root[data-theme="dark"] .main-question :is(.question_description, .question_options) :is(th, td):is([style*="background-color:#eee" i], [style*="background-color:#ddd" i], [style*="background-color:#ccc" i], [style*="background-color:#d9d9d9" i], [style*="background-color:#e6e6e6" i], [style*="background-color:#e7e6e6" i], [style*="background-color:#f2f2f2" i], [style*="background-color:#f5f5f5" i], [style*="background-color:#fff" i], [style*="background-color:white" i], [style*="background-color:rgb(238" i], [style*="background-color:rgb(221" i], [style*="background-color:rgb(204" i], [style*="background-color:rgb(217" i], [style*="background-color:rgb(230" i], [style*="background-color:rgb(242" i], [style*="background-color:rgb(245" i], [style*="background-color:rgb(255, 255, 255" i], [style*="background-color:rgb(255,255,255" i], [style*="background-color: #eee" i], [style*="background-color: #ddd" i], [style*="background-color: #ccc" i], [style*="background-color: #d9d9d9" i], [style*="background-color: #e6e6e6" i], [style*="background-color: #e7e6e6" i], [style*="background-color: #f2f2f2" i], [style*="background-color: #f5f5f5" i], [style*="background-color: #fff" i], [style*="background-color: white" i], [style*="background-color: rgb(238" i], [style*="background-color: rgb(221" i], [style*="background-color: rgb(204" i], [style*="background-color: rgb(217" i], [style*="background-color: rgb(230" i], [style*="background-color: rgb(242" i], [style*="background-color: rgb(245" i], [style*="background-color: rgb(255, 255, 255" i], [style*="background-color: rgb(255,255,255" i], [style*="background:#eee" i], [style*="background:#ddd" i], [style*="background:#ccc" i], [style*="background:#d9d9d9" i], [style*="background:#e6e6e6" i], [style*="background:#e7e6e6" i], [style*="background:#f2f2f2" i], [style*="background:#f5f5f5" i], [style*="background:#fff" i], [style*="background:white" i], [style*="background:rgb(238" i], [style*="background:rgb(221" i], [style*="background:rgb(204" i], [style*="background:rgb(217" i], [style*="background:rgb(230" i], [style*="background:rgb(242" i], [style*="background:rgb(245" i], [style*="background:rgb(255, 255, 255" i], [style*="background:rgb(255,255,255" i], [style*="background: #eee" i], [style*="background: #ddd" i], [style*="background: #ccc" i], [style*="background: #d9d9d9" i], [style*="background: #e6e6e6" i], [style*="background: #e7e6e6" i], [style*="background: #f2f2f2" i], [style*="background: #f5f5f5" i], [style*="background: #fff" i], [style*="background: white" i], [style*="background: rgb(238" i], [style*="background: rgb(221" i], [style*="background: rgb(204" i], [style*="background: rgb(217" i], [style*="background: rgb(230" i], [style*="background: rgb(242" i], [style*="background: rgb(245" i], [style*="background: rgb(255, 255, 255" i], [style*="background: rgb(255,255,255" i], [bgcolor="#eeeeee" i], [bgcolor="#cccccc" i], [bgcolor="#dddddd" i], [bgcolor="#f2f2f2" i], [bgcolor="#ffffff" i], [bgcolor="white" i]),
:root[data-theme="dark"] .exercise_options th {
  background: var(--rp-alterna) !important;
  color: var(--rp-primario) !important;
}

/* Avisos amarillos del ejercicio (sin responder, marcada para revisar, retroalimentación) */
:root[data-theme="dark"] :is(.question_no_answer, .remind_highlight) { background: #3A3312 !important; color: var(--rp-primario) !important; }
:root[data-theme="dark"] #question_feedback { background: #3A3312 !important; border-color: #8A6D12 !important; color: #FFE08A !important; }
/* RP-OSCURO-EJERCICIOS-FIN */
/* RP-ENLACES-ACCIONES-INICIO v1 — Enlaces: acciones con los íconos de color de Chamilo en vez de botones */
.link .list-group-item .btn-group .btn { background: transparent; border: 0; box-shadow: none; padding: 2px 3px; margin: 0; opacity: 1; }
.link .list-group-item .btn-group .btn:hover { background: transparent; opacity: .7; }
.link .list-group-item .btn-group .btn.disabled { opacity: 1; }
.link .list-group-item .btn-group .fa { display: inline-block; width: 22px; height: 22px; background: no-repeat center / 22px 22px; vertical-align: middle; }
.link .list-group-item .btn-group .fa::before { content: ""; }
.link .list-group-item .btn-group .fa-check-circle-o { background-image: url(/main/img/icons/22/check-circle.png); }
.link .list-group-item .btn-group .fa-pencil        { background-image: url(/main/img/icons/22/edit.png); }
.link .list-group-item .btn-group .fa-eye           { background-image: url(/main/img/icons/22/visible.png); }
.link .list-group-item .btn-group .fa-eye-slash     { background-image: url(/main/img/icons/22/invisible.png); }
.link .list-group-item .btn-group .fa-level-up      { background-image: url(/main/img/icons/22/up.png); }
.link .list-group-item .btn-group .fa-level-down    { background-image: url(/main/img/icons/22/down.png); }
.link .list-group-item .btn-group .disabled .fa-level-up   { background-image: url(/main/img/icons/22/up_na.png); }
.link .list-group-item .btn-group .disabled .fa-level-down { background-image: url(/main/img/icons/22/down_na.png); }
.link .list-group-item .btn-group .fa-trash         { background-image: url(/main/img/icons/22/delete.png); }
/* RP-ENLACES-ACCIONES-FIN */



/* RP-OSCURO-CKEDIALOG-INICIO v1 — diálogos de CKEditor (imagen, enlace, tabla…) en claro y legibles con el campus en modo oscuro */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .cke_dialog { color-scheme: light; }
  :root:not([data-theme="light"]) .cke_dialog :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
    background: #FFFFFF !important;
    color: #1A1A1A !important;
    -webkit-text-fill-color: #1A1A1A !important;
    border-color: #BCBCBC !important;
  }
  :root:not([data-theme="light"]) .cke_dialog :is(input, textarea)::placeholder {
    color: #757575 !important;
    -webkit-text-fill-color: #757575 !important;
  }
  :root:not([data-theme="light"]) .cke_dialog :is(input[type="checkbox"], input[type="radio"]) {
    appearance: auto !important;
    -webkit-appearance: auto !important;
    background: #FFFFFF !important;
  }
}
:root[data-theme="dark"] .cke_dialog { color-scheme: light; }
:root[data-theme="dark"] .cke_dialog :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
  background: #FFFFFF !important;
  color: #1A1A1A !important;
  -webkit-text-fill-color: #1A1A1A !important;
  border-color: #BCBCBC !important;
}
:root[data-theme="dark"] .cke_dialog :is(input, textarea)::placeholder {
  color: #757575 !important;
  -webkit-text-fill-color: #757575 !important;
}
:root[data-theme="dark"] .cke_dialog :is(input[type="checkbox"], input[type="radio"]) {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  background: #FFFFFF !important;
}
/* RP-OSCURO-CKEDIALOG-FIN */

/* RP-OSCURO-EJADMIN-INICIO v3 — editor de ejercicios (admin.php): numeración + ID de pregunta + modo oscuro */
#question_list { counter-reset: rp-preg; }
#question_list > div[id^="question_id_list_"] { counter-increment: rp-preg; }
#question_list .header_operations .question::before {
  content: counter(rp-preg) ".";
  display: inline-block;
  min-width: 2.2em;
  font-weight: 600;
}
#question_list .header_operations .question .rp-qid {
  display: inline-block;
  margin-right: .4em;
  padding: 0 .35em;
  border: 1px solid var(--rp-linea);
  border-radius: 3px;
  font-family: ui-monospace, "IBM Plex Mono", Consolas, monospace;
  font-size: .8em;
  line-height: 1.5;
  white-space: nowrap;
  opacity: .8;
  user-select: all;
}
#question_admin_form input.rp-question-id {
  width: 10em !important;
  background: var(--rp-alterna) !important;
  color: var(--rp-primario) !important;
  -webkit-text-fill-color: var(--rp-primario) !important;
  border-color: var(--rp-linea) !important;
  font-family: ui-monospace, "IBM Plex Mono", Consolas, monospace;
  cursor: text;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #question_list .header_operations,
  :root:not([data-theme="light"]) #question_list .header_operations :is(a, span, div, em, i):not(.btn):not(.btn *):not(.label) {
    color: var(--rp-primario) !important;
  }
  :root:not([data-theme="light"]) #question_list .ui-accordion-content {
    background: var(--rp-superficie) !important;
    border-color: var(--rp-linea) !important;
    color: var(--rp-primario) !important;
  }
}
:root[data-theme="dark"] #question_list .header_operations,
:root[data-theme="dark"] #question_list .header_operations :is(a, span, div, em, i):not(.btn):not(.btn *):not(.label) {
  color: var(--rp-primario) !important;
}
:root[data-theme="dark"] #question_list .ui-accordion-content {
  background: var(--rp-superficie) !important;
  border-color: var(--rp-linea) !important;
  color: var(--rp-primario) !important;
}
/* RP-OSCURO-EJADMIN-FIN */


/* RP-OSCURO-JQGRID-INICIO v2 — tablas jqGrid (Avisos, listas de admin…): letra legible + enlaces en modo oscuro + ícono "ver" de Avisos */
.ui-jqgrid .ui-jqgrid-btable tr.jqgrow td,
.ui-jqgrid .ui-jqgrid-pager,
.ui-jqgrid .ui-jqgrid-pager :is(td, input, select) {
  font-size: 13px !important;
  line-height: 1.45;
}
.ui-jqgrid .ui-jqgrid-btable tr.jqgrow td { padding-top: 6px !important; padding-bottom: 6px !important; }
/* Avisos (vista alumno): el enlace "ver" usa default.png (hoja en blanco) → lupa de color */
.ui-jqgrid .ui-jqgrid-btable tr.jqgrow td a[href*="action=view"] > img[src$="/default.png"] {
  box-sizing: border-box;
  width: 22px !important;
  height: 22px !important;
  padding-left: 22px;
  overflow: hidden;
  background: url("/main/img/icons/22/preview_view.png") no-repeat center / 22px 22px;
  vertical-align: middle;
}
.ui-jqgrid .ui-jqgrid-btable tr.jqgrow td a[href*="action=view"]:hover > img[src$="/default.png"] { opacity: .75; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .ui-jqgrid .ui-jqgrid-btable tr.jqgrow td,
  :root:not([data-theme="light"]) .ui-jqgrid .ui-jqgrid-btable tr.jqgrow td :is(a, span, em, i):not(.btn):not(.label) {
    color: var(--rp-primario) !important;
    opacity: 1 !important;
  }
  :root:not([data-theme="light"]) .ui-jqgrid .ui-jqgrid-btable tr.jqgrow td a:hover { text-decoration: underline; }
}
:root[data-theme="dark"] .ui-jqgrid .ui-jqgrid-btable tr.jqgrow td,
:root[data-theme="dark"] .ui-jqgrid .ui-jqgrid-btable tr.jqgrow td :is(a, span, em, i):not(.btn):not(.label) {
  color: var(--rp-primario) !important;
  opacity: 1 !important;
}
:root[data-theme="dark"] .ui-jqgrid .ui-jqgrid-btable tr.jqgrow td a:hover { text-decoration: underline; }
/* RP-OSCURO-JQGRID-FIN */

/* RP-OSCURO-LEGAL v1 (2026-10-04) — Términos y condiciones
   (.terms-conditions > #legal-terms): vista preliminar en main/admin/legal_add.php
   y aceptación del participante en main/auth/inscription.php.
   base.css fija background #DDD; en modo oscuro el texto heredaba --rp-primario
   claro (texto claro sobre gris claro). Tokens del tema en ambos modos. */
body .terms-conditions {
  background-color: var(--rp-alterna);
  border: 1px solid var(--rp-linea);
  border-radius: var(--rp-radio);
  color: var(--rp-primario);
}
body .terms-conditions #legal-terms :is(h1, h2, h3, h4, h5, h6) { color: var(--rp-primario); }
body .terms-conditions #legal-terms :is(td, th) { border-color: var(--rp-linea); }
body .terms-conditions .scroll-element .scroll-element_track { background-color: var(--rp-linea); }
body .terms-conditions .scroll-element .scroll-bar { background-color: var(--rp-tenue); }
/* RP-OSCURO-LEGAL-FIN */

/* RP-MIS-CURSOS-CSS v1 (2026-10-04) — flecha abierto/cerrado en los acordeones de "Mis cursos"
   (override RP-MIS-CURSOS). Solo dentro de .rp-mc; color = el del enlace (claro y oscuro). */
.rp-mc .panel-heading > a[data-toggle="collapse"] {
    display: block;
    position: relative;
    padding-right: 28px;
}
.rp-mc .panel-heading > a[data-toggle="collapse"]::after {
    content: "";
    position: absolute;
    right: 6px;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -5px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
    transition: transform .2s ease;
}
.rp-mc .panel-heading > a[data-toggle="collapse"][aria-expanded="true"]::after {
    transform: rotate(45deg);
    margin-top: -7px;
}
@media (prefers-reduced-motion: reduce) {
    .rp-mc .panel-heading > a[data-toggle="collapse"]::after { transition: none; }
}
/* RP-MIS-CURSOS-CSS-FIN */

/* RP-LP-VISOR-INICIO v1 (2026-10-11) — columna izquierda del visor de lecciones
   (main/lp/lp_view.php, plantilla learnpath/view.tpl). scorm.css del núcleo fija
   colores claros (#scorm-info #EBF3F5, bordes #E6E6E6/#DDD, ítem actual #00829C,
   scrollbar-light) que no siguen el modo oscuro. Tokens del tema en ambos modos;
   prefijo #learning_path_left_zone = gana a scorm.css sin !important y no afecta
   otras pantallas. El contenido SCORM (iframe) no se toca. */
#learning_path_left_zone.sidebar-scorm { border-right-color: var(--rp-linea); }
#learning_path_left_zone #scorm-info { background-color: var(--rp-alterna); border-bottom: 1px solid var(--rp-linea); }
#learning_path_left_zone #scorm-info hr { border-top-color: var(--rp-linea); }
#learning_path_left_zone #scorm-info .description-autor p { color: var(--rp-tenue); }
#learning_path_left_zone .image-avatar .media-author .media-author-avatar img { border-color: var(--rp-linea); }
#learning_path_left_zone .scorm-title h4 { color: var(--rp-primario); }
#learning_path_left_zone .scorm_item_normal { border-color: var(--rp-linea); }
#learning_path_left_zone .scorm_item_normal a.items-list { color: var(--rp-primario); }
#learning_path_left_zone .scorm_item_normal:not(.scorm_highlight):hover { background-color: var(--rp-alterna); }
/* Ítem actual — claro: azul RP con texto blanco (solo color; se conserva el ícono ✓) */
#learning_path_left_zone .scorm_item_normal.scorm_highlight { background-color: var(--rp-accion); }
#learning_path_left_zone .scorm_item_normal.scorm_highlight a,
#learning_path_left_zone .scorm_item_normal.scorm_highlight a.items-list { color: var(--rp-accion-texto); }
/* Ítem actual — oscuro: #232D50 + barra lateral (el ✓ blanco no contrasta sobre #7C9AFF) */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #learning_path_left_zone .scorm_item_normal.scorm_highlight { background-color: #232D50; box-shadow: inset 4px 0 0 var(--rp-accion); }
  :root:not([data-theme="light"]) #learning_path_left_zone .scorm_item_normal.scorm_highlight a,
  :root:not([data-theme="light"]) #learning_path_left_zone .scorm_item_normal.scorm_highlight a.items-list { color: var(--rp-primario); }
}
:root[data-theme="dark"] #learning_path_left_zone .scorm_item_normal.scorm_highlight { background-color: #232D50; box-shadow: inset 4px 0 0 var(--rp-accion); }
:root[data-theme="dark"] #learning_path_left_zone .scorm_item_normal.scorm_highlight a,
:root[data-theme="dark"] #learning_path_left_zone .scorm_item_normal.scorm_highlight a.items-list { color: var(--rp-primario); }
/* Barra de desplazamiento de la lista (jquery.scrollbar, clase scrollbar-light) */
#learning_path_left_zone .scroll-element,
#learning_path_left_zone .scroll-element .scroll-element_outer,
#learning_path_left_zone .scroll-element .scroll-element_size { background: transparent; border: 0; box-shadow: none; }
#learning_path_left_zone .scroll-element .scroll-element_track { background: var(--rp-linea); box-shadow: none; }
#learning_path_left_zone .scroll-element .scroll-bar { background: var(--rp-tenue); border: 0; box-shadow: none; }
/* Botones redondos superiores (opcional: se puede borrar este sub-bloque) */
#learning_path_left_zone .icon-toolbar .fa { background-color: var(--rp-alterna); color: var(--rp-primario); box-shadow: inset 0 0 0 1px var(--rp-linea); }
#learning_path_left_zone .icon-toolbar .fa:hover { background-color: var(--rp-accion); color: var(--rp-accion-texto); box-shadow: none; }
#learning_path_left_zone .expand .fa { background-color: var(--rp-accion); color: var(--rp-accion-texto); box-shadow: none; }
#learning_path_left_zone .expand .fa:hover,
#learning_path_left_zone .expand .fa:focus,
#learning_path_left_zone .expand .fa:active { background-color: var(--rp-accion-hover); color: var(--rp-accion-texto); }
/* RP-LP-VISOR-FIN */

/* RP-PORTADA-INICIO v1 (2026-10-12)
   Portada de visitantes (app/home/home_top_spanish.html). Solo clases .rp-portada*,
   tokens --rp-* (claro y oscuro), sin url() ni recursos externos. Íconos: Font Awesome 4
   vía ::before (CKEditor no los puede borrar). Fotos en /rp-static/img/. */
.rp-portada { display: flex; flex-direction: column; gap: 32px; margin: 8px 0 24px; }
.rp-portada p { margin: 0; }

/* Banda de bienvenida (azul RP, corte inclinado del logo) */
.rp-portada-banda {
  background: #0000FF; color: #FFFFFF;
  padding: 48px 120px 48px 40px;
  clip-path: polygon(0 0, 100% 0, calc(100% - 64px) 100%, 0 100%);
  display: flex; flex-direction: column; gap: 16px;
}
.rp-portada-sobretitulo {
  font-family: var(--rp-font-mono); font-size: 12px; line-height: 16px;
  font-weight: 500; letter-spacing: .06em; text-transform: uppercase;
}
/* Gana a la regla v3.1 de #home-welcome (1,3,0 > 1,2,1) */
#home-welcome .rp-portada .rp-portada-banda .rp-portada-titulo {
  margin: 0; color: #FFFFFF !important; font-size: 40px; line-height: 44px;
}
.rp-portada-bajada { max-width: 620px; font-size: 18px; line-height: 28px; }
.rp-portada-acciones { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px !important; }
.rp-portada .rp-portada-btn {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px;
  border: 1px solid #FFFFFF; border-radius: var(--rp-radio);
  font-weight: 600; text-decoration: none;
}
.rp-portada .rp-portada-btn-blanco { background: #FFFFFF; color: #0000FF; }
.rp-portada .rp-portada-btn-blanco:hover,
.rp-portada .rp-portada-btn-blanco:focus { background: #EEF0FF; color: #0000CC; text-decoration: none; }
.rp-portada .rp-portada-btn-borde { background: transparent; color: #FFFFFF; }
.rp-portada .rp-portada-btn-borde:hover,
.rp-portada .rp-portada-btn-borde:focus { background: rgba(255, 255, 255, .14); color: #FFFFFF; text-decoration: none; }
.rp-portada a:focus-visible { outline: 2px solid var(--rp-accion); outline-offset: 2px; }
.rp-portada .rp-portada-banda a:focus-visible { outline-color: #FFFFFF; }

/* Tarjetas */
.rp-portada-tarjeta {
  background: var(--rp-superficie); color: var(--rp-primario);
  border: 1px solid var(--rp-linea); border-radius: var(--rp-radio);
  padding: 24px; display: flex; flex-direction: column; gap: 12px;
}
.rp-portada .rp-portada-tarjeta h2 { margin: 0; font-size: 20px; line-height: 26px; }
.rp-portada-nota { font-size: 14px; line-height: 20px; color: var(--rp-tenue); }
.rp-portada-hechos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.rp-portada-hechos .rp-portada-tarjeta { gap: 4px; }
.rp-portada-cifra { font-family: var(--rp-font-display); font-weight: 600; font-size: 28px; line-height: 34px; }
.rp-portada-marcas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.rp-portada-chip {
  align-self: flex-start; padding: 4px 8px; border-radius: 2px;
  background: var(--rp-alterna); color: var(--rp-accion); border: 1px solid var(--rp-linea);
  font-family: var(--rp-font-mono); font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: .06em;
}
.rp-portada-enlace { margin-top: auto !important; font-weight: 600; }

/* Tarjeta PI Training Center (azul marino del pie) */
.rp-portada .rp-portada-pi { background: var(--rp-pie-fondo); color: var(--rp-pie-texto); border-color: var(--rp-linea); }
.rp-portada .rp-portada-pi h2 { color: #FFFFFF; }
.rp-portada .rp-portada-pi .rp-portada-chip { background: rgba(255, 255, 255, .14); color: #FFFFFF; border-color: transparent; }
.rp-portada .rp-portada-pi a { color: var(--rp-pie-enlace); text-decoration: underline; }
.rp-portada .rp-portada-pi a:focus-visible { outline-color: var(--rp-pie-enlace); }

/* Lista "Qué encontrará" con íconos Font Awesome 4 */
.rp-portada-lista {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.rp-portada-lista li { display: flex; gap: 12px; align-items: flex-start; }
.rp-portada-lista li::before {
  font-family: FontAwesome; font-size: 20px; line-height: 24px;
  width: 24px; text-align: center; flex: none; color: var(--rp-accion);
}
.rp-portada-i-material::before     { content: "\f02d"; content: "\f02d" / ""; }
.rp-portada-i-evaluaciones::before { content: "\f0f6"; content: "\f0f6" / ""; }
.rp-portada-i-clases::before       { content: "\f03d"; content: "\f03d" / ""; }
.rp-portada-i-agenda::before       { content: "\f073"; content: "\f073" / ""; }
.rp-portada-i-asistencia::before   { content: "\f046"; content: "\f046" / ""; }
.rp-portada-i-certificados::before { content: "\f0a3"; content: "\f0a3" / ""; }

/* Fotos con el marco inclinado del logo */
.rp-portada-fotos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rp-portada-fotos figure { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.rp-portada-fotos img {
  width: 100%; height: 200px; object-fit: cover; display: block; max-width: none;
  clip-path: polygon(18px 0, 100% 0, calc(100% - 18px) 100%, 0 100%);
}
.rp-portada-fotos figcaption { padding-left: 18px; font-size: 14px; line-height: 20px; color: var(--rp-tenue); }

/* Cita */
.rp-portada-cita {
  padding-top: 24px; border-top: 1px solid var(--rp-linea);
  text-align: center; font-size: 15px; line-height: 22px; font-style: italic; color: var(--rp-tenue);
}

/* Pantallas medianas y móviles */
@media (max-width: 991px) {
  .rp-portada-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .rp-portada-banda { padding: 32px 56px 32px 24px; clip-path: polygon(0 0, 100% 0, calc(100% - 40px) 100%, 0 100%); }
  #home-welcome .rp-portada .rp-portada-banda .rp-portada-titulo { font-size: 30px; line-height: 34px; }
  .rp-portada-hechos, .rp-portada-marcas, .rp-portada-fotos, .rp-portada-lista { grid-template-columns: minmax(0, 1fr); }
}

/* RP-PORTADA v1.1 (2026-10-12): azul de la banda atenuado.
   Claro #1F3BD6 (= azul de acción del campus); oscuro #2236B0. Texto blanco >= 6:1. */
.rp-portada .rp-portada-banda { background: #1F3BD6; }
.rp-portada .rp-portada-btn-blanco { color: #1F3BD6; }
.rp-portada .rp-portada-btn-blanco:hover,
.rp-portada .rp-portada-btn-blanco:focus { color: #1830B0; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .rp-portada .rp-portada-banda { background: #2236B0; }
  :root:not([data-theme="light"]) .rp-portada .rp-portada-btn-blanco { color: #2236B0; }
}
:root[data-theme="dark"] .rp-portada .rp-portada-banda { background: #2236B0; }
:root[data-theme="dark"] .rp-portada .rp-portada-btn-blanco { color: #2236B0; }

/* RP-PORTADA v1.2 (2026-10-12): login con etiquetas visibles y título, bloque de
   certificados (help_block) con íconos y nota, y login arriba en celular (< 992 px).
   Textos generados según <html lang>: español por defecto en :lang(es), inglés para el resto. */
#login-block #formLogin label {
  display: block; position: static; width: auto; height: auto; clip: auto; overflow: visible;
  margin: 0 0 4px; padding: 0; white-space: normal;
  font-size: 14px; line-height: 20px; font-weight: 400; color: var(--rp-tenue);
}
#login-block #formLogin::before {
  content: "Sign in to the campus"; display: block; margin: 0 0 12px;
  font-family: var(--rp-font-display); font-weight: 600; font-size: 20px; line-height: 26px; color: var(--rp-primario);
}
#login-block #formLogin:lang(es)::before { content: "Ingresar al campus"; }

#help_block .nav > li > a::before {
  font-family: FontAwesome; display: inline-block; width: 20px; margin-right: 8px;
  text-align: center; color: var(--rp-accion);
}
#help_block .nav > li > a[href*="certificadosrp/verificar.php"]::before { content: "\f132"; content: "\f132" / ""; }
#help_block .nav > li > a[href*="certificadosrp/mis-certificados.php"]::before { content: "\f0a3"; content: "\f0a3" / ""; }
#help_block .nav > li.rp-menu-nota { padding: 8px 15px 0; font-size: 14px; line-height: 20px; color: var(--rp-tenue); }

@media (max-width: 991px) {
  .row:has(> .col-md-3 #login-block) { display: flex; flex-direction: column; }
  .row:has(> .col-md-3 #login-block) > .col-md-3,
  .row:has(> .col-md-3 #login-block) > .col-md-3 > .sidebar { display: contents; }
  .row:has(> .col-md-3 #login-block) > .col-md-9 { order: 2; }
  .row:has(> .col-md-3 #login-block) #login-block { order: 1; margin: 0 15px 24px; }
  .row:has(> .col-md-3 #login-block) > .col-md-3 > .sidebar > :not(#login-block) { order: 1; margin-left: 15px; margin-right: 15px; }
}

/* RP-PORTADA v1.3 (2026-10-12): login y banda alineados arriba, 24 px bajo la cabecera.
   Solo la portada de visitantes (fila que contiene #login-block). */
#home-welcome .rp-portada { margin-top: 0; }
/* RP-PORTADA v1.4 (2026-10-17): banda rectangular. Se quita el corte inclinado
   (la asimetría no se veía bien) y el padding derecho extra que lo compensaba.
   El guiño al logo queda en el marco inclinado de las fotos. */
.rp-portada .rp-portada-banda { clip-path: none; padding: 48px 40px; }
@media (max-width: 767px) {
  .rp-portada .rp-portada-banda { padding: 32px 24px; }
}

/* RP-PORTADA v1.5 (2026-10-17): 24 px bajo la cabecera también con sesión iniciada
   (la v1.3 lo anclaba a #login-block, que solo existe sin sesión; esa regla se quitó)
   y banda con el mismo radio que las tarjetas. */
.row:has(> .col-md-9 #home-welcome) { margin-top: 24px; }
.rp-portada .rp-portada-banda { border-radius: var(--rp-radio); }

/* RP-PORTADA-FIN */

/* RP-TESTIMONIOS-INICIO v2 (2026-10-12)
   Cinta de testimonios de la portada (testimoniosrp 1.2.2, región content_bottom), con la misma
   distribución que la sección de www.rpingenieria.com: sobretítulo, título, citas apiladas con
   borde izquierdo de acento, nota y enlace al catálogo. Solo tokens --rp-*, sin url(). */
#plugin_content_bottom .rp-testis { display: flex; flex-direction: column; margin: 8px 0 32px; }
.rp-testis .rp-testis-sobre {
  margin: 0 0 8px; font-family: var(--rp-font-mono); font-size: 12px; line-height: 16px;
  font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--rp-tenue);
}
.rp-testis .rp-testis-titulo { margin: 0 0 24px; font-size: 25px; line-height: 31px; }
.rp-testis .rp-testis-lista { display: flex; flex-direction: column; gap: 16px; }
.rp-testis .rp-testis-item {
  margin: 0; padding: 24px 24px 24px 24px; display: flex; flex-direction: column; gap: 16px;
  background: var(--rp-superficie); color: var(--rp-primario);
  border: 0; border-left: 3px solid var(--rp-accion); border-radius: 0;
}
.rp-testis .rp-testis-texto {
  margin: 0; padding: 0; border: 0; font-size: 18px; line-height: 29px; font-style: normal; color: var(--rp-primario);
}
.rp-testis .rp-testis-texto p { margin: 0; }
.rp-testis .rp-testis-texto p::before { content: "\201C"; }
.rp-testis .rp-testis-texto p::after { content: "\201D"; }
.rp-testis .rp-testis-item figcaption { display: flex; flex-direction: column; gap: 4px; }
.rp-testis .rp-testis-nombre { font-weight: 600; font-size: 15px; line-height: 22px; color: var(--rp-primario); }
.rp-testis .rp-testis-cargo { font-size: 14px; line-height: 20px; color: var(--rp-secundario); }
.rp-testis .rp-testis-cargo strong { font-weight: 600; color: var(--rp-primario); }
.rp-testis .rp-testis-curso {
  font-family: var(--rp-font-mono); font-size: 12px; line-height: 16px; font-weight: 500;
  letter-spacing: .06em; text-transform: uppercase; color: var(--rp-tenue);
}
.rp-testis .rp-testis-intro {
  margin: 24px 0 0; font-family: var(--rp-font-mono); font-size: 13px; line-height: 20px; color: var(--rp-tenue);
}
.rp-testis .rp-testis-mas { margin: 12px 0 0; font-weight: 600; }
.rp-testis .rp-testis-mas a { color: var(--rp-primario); text-decoration: none; }
.rp-testis .rp-testis-mas a:hover,
.rp-testis .rp-testis-mas a:focus { color: var(--rp-accion); text-decoration: underline; }
.rp-testis .rp-testis-mas a:focus-visible { outline: 2px solid var(--rp-accion); outline-offset: 2px; }
@media (max-width: 767px) {
  .rp-testis .rp-testis-titulo { font-size: 21px; line-height: 27px; }
  .rp-testis .rp-testis-texto { font-size: 16px; line-height: 26px; }
}
/* RP-TESTIMONIOS-FIN */
