/* Modo claro (3-oct-2026). Solo actúa con <html data-tema="claro">. */
.tema-opciones{ display:flex; gap:10px; flex-wrap:wrap }
.tema-opciones .btn-suave.aqui{ border-color:var(--luz-punta) !important; color:var(--luz-punta) !important; box-shadow:0 0 0 1px var(--luz-punta) inset !important }
.pie .cambiar-tema{ display:block; margin-top:8px; font-size:12px; opacity:.75; cursor:pointer }

/* ── 1. Los tokens ─────────────────────────────────────────────────────
   Casi toda la app pinta con estas variables (estilos.css, luxury.css y
   frqncy.css las definen para la noche). Aquí se redefinen para el día:
   fondo lila muy pálido, tarjetas blancas, tinta casi negra y los mismos
   violeta y turquesa de ATMA, el turquesa un poco más hondo para que se
   lea sobre blanco. */
:root[data-tema="claro"]{
  color-scheme:light;

  --plano-0:#f6f4fb;
  --plano-1:#ffffff;
  --plano-2:#faf9fe;
  --plano-3:#f0edf9;
  --linea:#e3def3;
  --linea-viva:#c8bdf0;

  /* Más hondas de lo que pediría el contraste mínimo (3-oct-2026, Pedro: "en
     claro no se lee nada"): sobre blanco el texto tiene que pesar. */
  --tinta:#110d22;
  --tinta-media:#2e2944;
  --tinta-tenue:#4a4562;

  --oro:#9a6c12;
  --oro-hondo:#7a5410;
  --oro-claro:#b8861f;

  --luz:#7a4eff;
  --luz-viva:#6a3ff0;
  --luz-fria:#5b3bd6;
  --luz-punta:#0c8a83;
  --luz-menta:#0b8a78;
  --luz-magenta:#6b4fd8;

  --halo:rgba(122,78,255,.22);
  --halo-frio:rgba(12,138,131,.18);

  --bien:#1b9460;
  --ojo:#a97c0c;
  --mal:#cf3a32;

  /* luxury.css */
  --vidrio:rgba(255,255,255,.72);
  --vidrio-fuerte:rgba(255,255,255,.86);
  --vidrio-brillo:#ffffff;
  --vidrio-borde:rgba(122,78,255,.16);
  --vidrio-borde-viva:rgba(12,138,131,.45);
  --degradado-texto:linear-gradient(100deg,#4a5fc4,#0c8a83);
  --degradado-icono:linear-gradient(135deg, rgba(122,78,255,.14), rgba(63,208,200,.12));
  --ambiente:rgba(122,78,255,.10);

  /* frqncy.css */
  --hilo:rgba(26,21,48,.09);
  --mate-sombra:0 10px 24px rgba(91,71,204,.22), inset 0 1px 0 rgba(255,255,255,.18);
  --at-borde-base:rgba(26,21,48,.12);
  --at-fill:linear-gradient(110deg, #ffffff 0%, #f8f6fe 65%, #f6f4fd 100%);
  --at-fill-hover:linear-gradient(110deg, #f1ecff 0%, #f8f6fe 65%, #f5f2fd 100%);
  --at-on-fill:#1a1530;
  --at-shadow-pop:0 10px 30px rgba(45,30,110,.12);
  --at-sunken:rgba(26,21,48,.03);
  --at-line-strong:rgba(26,21,48,.14);
}
/* El "ambiente" de cada pantalla, más tenue de día. */
:root[data-tema="claro"] body{ --ambiente:rgba(122,78,255,.08) }
:root[data-tema="claro"] body[data-vista="nivel"]{ --ambiente:rgba(63,208,200,.10) }
:root[data-tema="claro"] body[data-vista="protocolos"]{ --ambiente:rgba(95,242,214,.10) }
/* Los canales de color (rgba(var(--c-oro), .x)): se usan para textos y para
   resplandores; de día van en su versión honda para que se lean. */
:root[data-tema="claro"]{
  --c-oro:154,108,18; --c-turquesa:12,138,131; --c-lila:107,79,216; --c-menta:11,138,120;
}

/* ── 2. Equivalencias de los colores fijos ────────────────────────────
   Generadas regla a regla desde las hojas de la app (mismo orden de
   carga): lo blanco translúcido pasa a tinta translúcida, los paneles
   de noche a blanco, los avisos oscuros a su tinte pálido y los textos
   lila/menta/rosados a su versión honda. El texto blanco sobre botones
   de color se deja como está. */
/*  ── estilos.css ──  */
:where(:root[data-tema="claro"]) a:hover {
    color: #17348c
}
:where(:root[data-tema="claro"]) ::selection {
    color: #110d22
}
:where(:root[data-tema="claro"]) input,
:where(:root[data-tema="claro"]) textarea,
:where(:root[data-tema="claro"]) select {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .nota.mal {
    background: #f8eded;
    border-color: #e2b8b6;
    color: #8c2017
}
:where(:root[data-tema="claro"]) .nota.bien {
    background: #ecf9f4;
    color: #198a58
}
:where(:root[data-tema="claro"]) .nota.ojo {
    background: #faf6ea;
    color: #8c6b17
}
:where(:root[data-tema="claro"]) .dato.viva {
    background: linear-gradient(155deg, #fbfaff, var(--plano-2));
    border-color: #bfb9df
}
:where(:root[data-tema="claro"]) .sello.no {
    border-color: #e2b8b6
}
:where(:root[data-tema="claro"]) .nada strong {
    font-weight: 500
}
:where(:root[data-tema="claro"]) code {
    background: rgba(250,249,253,0.52)
}
:where(:root[data-tema="claro"]) .tarjeta-modulo::before {
    background: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(150,118,245,.16) 22%, transparent 72%)
}
:where(:root[data-tema="claro"]) .globo {
    background: #fbfaff;
    box-shadow: 0 12px 34px rgba(45,30,110,0.196)
}
:where(:root[data-tema="claro"]) .globo b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .audio-mes {
    background: linear-gradient(150deg, #fbfaff, var(--plano-2));
    border: 1px solid #beb8e0
}
:where(:root[data-tema="claro"]) .ficha.puesta span {
    color: #110d22
}
:where(:root[data-tema="claro"]) .caso-arriba b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .marca-grande .logo {
    background-image: linear-gradient(96deg, #110d22 0%, #2e178c 34%, #17298c 64%, #177d8c 100%)
}
:where(:root[data-tema="claro"]) .acceso .marca-grande .lema {
    color: #34188b;
    text-shadow: 0 1px 14px rgba(45,30,110,0.266), 0 0 26px rgba(45,30,110,0.224)
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso:focus-within {
    box-shadow: 0 40px 100px -34px rgba(45,30,110,0.266),
    0 0 74px -14px rgba(139,92,246,.5),
    inset 0 1px 0 rgba(226,214,255,.22)
}
:where(:root[data-tema="claro"]) .portada h2 {
    background-image: linear-gradient(96deg, #110d22 0%, #30178c 46%, #172b8c 100%)
}
:where(:root[data-tema="claro"]) .tarjeta-modulo:hover {
    box-shadow: 0 30px 70px -26px rgba(45,30,110,0.258),
    0 0 46px -14px rgba(124,58,237,.42),
    inset 0 1px 0 rgba(196,181,253,.16)
}
:where(:root[data-tema="claro"]) table,
:where(:root[data-tema="claro"]) .tabla,
:where(:root[data-tema="claro"]) .tabla-alumnos {
    background: #fbfaff
}
:where(:root[data-tema="claro"]) thead th {
    background: #fbfaff !important
}
:where(:root[data-tema="claro"]) .marca-barra .logo {
    background-image: linear-gradient(96deg, #110d22 0%, #2d178c 52%, #17748c 100%)
}
:where(:root[data-tema="claro"]) textarea,
:where(:root[data-tema="claro"]) .caja-texto,
:where(:root[data-tema="claro"]) .respuesta {
    background: #fbfaff !important
}
:where(:root[data-tema="claro"]) .fila-mapa {
    border-bottom: 1px solid #bdb3e5
}
:where(:root[data-tema="claro"]) .pista-mapa .marca {
    border: 1px solid rgba(17,13,34,0.4);
    box-shadow: 0 0 0 3px rgba(45,30,110,0.21), 0 0 14px 2px var(--tono)
}
:where(:root[data-tema="claro"]) .lectura-mapa h4 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .lectura-mapa b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .tira-meses {
    background: #fbfaff
}
:where(:root[data-tema="claro"]) .leyenda-rail b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .reto-fila {
    border-bottom: 1px solid #bdb3e5
}
:where(:root[data-tema="claro"]) .tabla-datos td {
    border-bottom: 1px solid #bdb3e5
}
:where(:root[data-tema="claro"]) .escrito {
    background: rgba(250,249,253,0.65)
}
:where(:root[data-tema="claro"]) .escrito p b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .burbuja.fallo .burbuja-texto {
    border-color: #e2b8b6
}
:where(:root[data-tema="claro"]) .mando.oyendo {
    color: #4f178c
}
:where(:root[data-tema="claro"]) .elige-voz {
    background: #fbfaff;
    box-shadow: 0 18px 50px -20px rgba(45,30,110,0.252)
}
:where(:root[data-tema="claro"]) .voz {
    background: #fbfaff
}
:where(:root[data-tema="claro"]) .voz.puesta {
    color: #110d22
}
:where(:root[data-tema="claro"]) .compositor-nota.nota-fallo {
    color: #8c2017
}
:where(:root[data-tema="claro"]) .btn-salir-voz:hover {
    border-color: #e2b8b6;
    color: #8c2017
}
:where(:root[data-tema="claro"]) .voz-mini:hover:not(:disabled) {
    background: rgba(255,255,255,0.74)
}
:where(:root[data-tema="claro"]) .corrida-pct {
    background-image: linear-gradient(96deg, #110d22 0%, #2d178c 46%, #17748c 100%)
}
:where(:root[data-tema="claro"]) .corrida-falta {
    color: #46178c
}
:where(:root[data-tema="claro"]) .corrida-riel {
    background: rgba(255,255,255,0.7)
}
:where(:root[data-tema="claro"]) .dato.mala .cifra {
    color: #8c2017
}
:where(:root[data-tema="claro"]) .credito-cifra i {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .credito-riel {
    background: rgba(255,255,255,0.7)
}
:where(:root[data-tema="claro"]) .credito-pie b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .credito-pie b.mal {
    color: #8c2017
}
:where(:root[data-tema="claro"]) .marco-constelacion {
    background: radial-gradient(70% 90% at 50% 50%, rgba(250,249,253,0.52), transparent 70%),
    var(--plano-2)
}
:where(:root[data-tema="claro"]) .panel .rotulo {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .delta {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .delta span {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .panel .riel .marca {
    box-shadow: 0 0 10px rgba(17,13,34,0.12)
}
:where(:root[data-tema="claro"]) .ventana {
    box-shadow: 0 30px 80px -30px rgba(45,30,110,0.224), 0 0 0 1px rgba(122,78,255,.15)
}
:where(:root[data-tema="claro"]) .ventana::backdrop {
    background: rgba(40,30,80,0.36)
}
:where(:root[data-tema="claro"]) .ventana-cuerpo .escrito p b {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .reto-bloque {
    border-bottom: 1px solid #bdb3e5
}
:where(:root[data-tema="claro"]) .borrar-nota:hover {
    color: #8c2017
}
:where(:root[data-tema="claro"]) .barra-dia.vacio i {
    background: #fbfaff
}
:where(:root[data-tema="claro"]) .barra-p {
    border-bottom: 1px solid #bdb3e5
}
:where(:root[data-tema="claro"]) .barra-p-pista {
    background: #fbfaff
}
:where(:root[data-tema="claro"]) .ciclo-linea {
    background: #fbfaff
}
/*  ── luxury.css ──  */
:where(:root[data-tema="claro"]) h1,
:where(:root[data-tema="claro"]) h2,
:where(:root[data-tema="claro"]) h3,
:where(:root[data-tema="claro"]) h4 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .portada h2 {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .titulo-zona {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .bloque-cabeza h3 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .rutina-cabeza h3 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .dato .cifra {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .rutina-cuenta {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .aro-valor {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .anillo-valor {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .hoy-texto h3 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .tarjeta-modulo h3 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .rotulo,
:where(:root[data-tema="claro"]) .dato .rotulo,
:where(:root[data-tema="claro"]) .portada .encima,
:where(:root[data-tema="claro"]) .modulo-nombre,
:where(:root[data-tema="claro"]) label,
:where(:root[data-tema="claro"]) .barra .modulo-actual,
:where(:root[data-tema="claro"]) .anillo-nivel,
:where(:root[data-tema="claro"]) .aro-pie,
:where(:root[data-tema="claro"]) .marca .sobre,
:where(:root[data-tema="claro"]) th,
:where(:root[data-tema="claro"]) .habito-pie.rotulo {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .bloque,
:where(:root[data-tema="claro"]) .dato,
:where(:root[data-tema="claro"]) .tarjeta-modulo,
:where(:root[data-tema="claro"]) .rutina,
:where(:root[data-tema="claro"]) .hoy-tarjeta,
:where(:root[data-tema="claro"]) .personaje-figura,
:where(:root[data-tema="claro"]) .prioridades-hoy,
:where(:root[data-tema="claro"]) .reto-nota,
:where(:root[data-tema="claro"]) .marco-tabla,
:where(:root[data-tema="claro"]) .tarjeta-acceso,
:where(:root[data-tema="claro"]) .panel,
:where(:root[data-tema="claro"]) .nada,
:where(:root[data-tema="claro"]) .chat-lado,
:where(:root[data-tema="claro"]) .panel-caja,
:where(:root[data-tema="claro"]) .tarjeta,
:where(:root[data-tema="claro"]) .metrica,
:where(:root[data-tema="claro"]) .cifra-caja,
:where(:root[data-tema="claro"]) .marco-mapa,
:where(:root[data-tema="claro"]) .celda {
    box-shadow: inset 0 1px 1px var(--vidrio-brillo), 0 20px 50px -30px rgba(45,30,110,0.196)
}
:where(:root[data-tema="claro"]) .bloque-cabeza {
    border-bottom-color: rgba(17,13,34,0.07)
}
:where(:root[data-tema="claro"]) .tarjeta-modulo .orden {
    font-weight: 500
}
:where(:root[data-tema="claro"]) button {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .descarga-grande:first-child {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .sello.no {
    color: #8c2017
}
:where(:root[data-tema="claro"]) aside .marca .logo {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .modulo-nombre::after {
    background: linear-gradient(90deg, rgba(255,255,255,0.82), transparent)
}
:where(:root[data-tema="claro"]) aside .pie {
    border-top: 1px solid rgba(17,13,34,0.07)
}
:where(:root[data-tema="claro"]) .barra h1 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .marca .logo {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .ia-nombre {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .lx-saludo {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .lx-nombre {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .lx-aro .pista {
    stroke: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) .lx-aro .dentro b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .lx-aro .dentro small {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .tilde {
    border-color: rgba(17,13,34,0.242)
}
:where(:root[data-tema="claro"]) .habito:hover .tilde {
    border-color: rgba(17,13,34,0.4)
}
:where(:root[data-tema="claro"]) .aro {
    background: conic-gradient(var(--oro) calc(var(--pct) * 1%), rgba(255,255,255,0.82) 0)
}
:where(:root[data-tema="claro"]) .personaje-estado h3 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .cifra-linea .valor {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .nivel-nombre {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .burbuja-quien {
    font-weight: 600
}
:where(:root[data-tema="claro"]) th {
    background: rgba(255,255,255,0.62);
    border-bottom-color: rgba(17,13,34,0.07)
}
:where(:root[data-tema="claro"]) td {
    border-bottom-color: rgba(17,13,34,0.07)
}
:where(:root[data-tema="claro"]) tbody tr:hover {
    background: rgba(255,255,255,0.62)
}
@media (max-width:860px) {
    :where(:root[data-tema="claro"]) body.lx-alumno .barra .donde::before {
        font-weight: 500
    }
}
@media (max-width:860px) {
    :where(:root[data-tema="claro"]) body.lx-alumno .barra h1 {
        font-weight: 600
    }
}
:where(:root[data-tema="claro"]) :is(.lx-paleta, .lx-boton, .lx-fila, .lx-resumen, .lx-hoja) kbd {
    font-weight: 500;
    border: 1px solid rgba(17,13,34,0.176);
    background: rgba(255,255,255,0.62)
}
:where(:root[data-tema="claro"]) .lx-inicio-titular {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .lx-inicio-titular b {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .lx-boton {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .lx-tarjeta h3 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .lx-pista.mal {
    color: #8c2017
}
:where(:root[data-tema="claro"]) .lx-aro-chico .pista {
    stroke: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) .lx-aro-chico .dentro b {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .lx-barra .v {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .lx-barra .linea {
    background: rgba(255,255,255,0.82)
}
:where(:root[data-tema="claro"]) .lx-cifra {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .lx-chip {
    border: 1px solid rgba(17,13,34,0.088)
}
:where(:root[data-tema="claro"]) .lx-chip b {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .lx-chip b.sube {
    color: var(--luz-menta, #178c76)
}
:where(:root[data-tema="claro"]) .lx-chip b.baja {
    color: #8c2017
}
:where(:root[data-tema="claro"]) .lx-burbuja-mini {
    background: rgba(250,249,253,0.42);
    border: 1px solid rgba(17,13,34,0.07)
}
:where(:root[data-tema="claro"]) .lx-burbuja-mini b {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .lx-nuevo {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .lx-nuevo-mini {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .lx-fila.hecha .t {
    text-decoration-color: rgba(17,13,34,0.33)
}
:where(:root[data-tema="claro"]) .lx-fila.hecha .marca::after {
    border-left: 1.5px solid #efd7a9;
    border-bottom: 1.5px solid #efd7a9
}
:where(:root[data-tema="claro"]) .lx-velo {
    background: rgba(40,30,80,0.275)
}
:where(:root[data-tema="claro"]) .lx-paleta {
    background: #fbfaff;
    box-shadow: 0 40px 90px -30px rgba(45,30,110,0.252), inset 0 1px 1px var(--vidrio-brillo)
}
:where(:root[data-tema="claro"]) .lx-paleta-campo {
    border-bottom: 1px solid rgba(17,13,34,0.077)
}
:where(:root[data-tema="claro"]) .lx-paleta-campo input,
:where(:root[data-tema="claro"]) .lx-paleta-campo input:hover,
:where(:root[data-tema="claro"]) .lx-paleta-campo input:focus {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .lx-paleta-seccion {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .lx-res .teclas span {
    background: rgba(255,255,255,0.74)
}
:where(:root[data-tema="claro"]) .lx-res .teclas span.ir {
    color: #110d22
}
:where(:root[data-tema="claro"]) .lx-res.atma {
    border-top: 1px solid rgba(17,13,34,0.077)
}
:where(:root[data-tema="claro"]) .lx-res.atma b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .lx-estrella::after {
    color: #110d22
}
:where(:root[data-tema="claro"]) .lx-paleta-pie {
    border-top: 1px solid rgba(17,13,34,0.077)
}
:where(:root[data-tema="claro"]) .lx-resumen-velo {
    background: rgba(40,30,80,0.225)
}
:where(:root[data-tema="claro"]) .lx-resumen {
    background: #fbfaff;
    box-shadow: 0 40px 90px -30px rgba(45,30,110,0.252), inset 0 1px 1px var(--vidrio-brillo), 0 0 70px -24px rgba(var(--c-turquesa),.45)
}
:where(:root[data-tema="claro"]) .lx-resumen h3 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .lx-resumen li b {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .lx-compositor {
    border: 1px solid rgba(17,13,34,0.11)
}
:where(:root[data-tema="claro"]) .lx-contexto b {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .habito.hecho .habito-nombre {
    text-decoration-color: rgba(17,13,34,0.33)
}
:where(:root[data-tema="claro"]) .lx-aviso {
    background: #fbfaff;
    box-shadow: 0 20px 40px -20px rgba(45,30,110,0.224)
}
:where(:root[data-tema="claro"]) .barra-energia .energia::after {
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.92) 50%, transparent 100%)
}
:where(:root[data-tema="claro"]) .barra-p-pie b {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .btn-suave.peligro {
    color: #8c2017
}
/*  ── reportes.css ──  */
:where(:root[data-tema="claro"]) .doc-mini {
    background: #fbfaff
}
:where(:root[data-tema="claro"]) .doc-mini-portada span {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .doc-mini-portada b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .doc-mini-velo {
    background: rgba(40,30,80,0.225);
    font-weight: 600
}
:where(:root[data-tema="claro"]) .doc-info h3 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .doc-mando {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .lector-titulo b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .doc-pagina {
    background: #fbfaff
}
:where(:root[data-tema="claro"]) .dato-mes b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .mes-tarjeta:hover {
    border-color: rgba(17,13,34,0.176);
    box-shadow: 0 18px 40px rgba(45,30,110,0.098)
}
:where(:root[data-tema="claro"]) .mes-tarjeta.abierto {
    box-shadow: 0 0 0 1px rgba(var(--c-oro),.25), 0 18px 40px rgba(45,30,110,0.098)
}
:where(:root[data-tema="claro"]) .mes-portada-logo {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .mes-portada-mes {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .mes-portada-niveles b {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .mes-acciones {
    border-top: 1px solid rgba(17,13,34,0.077)
}
:where(:root[data-tema="claro"]) .mes-acciones button {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .pestanas-nivel .pestana {
    font-weight: 600
}
/*  ── frqncy.css ──  */
:where(:root[data-tema="claro"]) body {
    font-weight: 500
}
:where(:root[data-tema="claro"]) h1,
:where(:root[data-tema="claro"]) h2,
:where(:root[data-tema="claro"]) h3 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) aside,
:where(:root[data-tema="claro"]) .lateral,
:where(:root[data-tema="claro"]) nav.lateral {
    background: #fbfaff !important;
    border-right: 1px solid rgba(17,13,34,0.07)
}
:where(:root[data-tema="claro"]) nav a.aqui {
    background: rgba(255,255,255,0.78)
}
:where(:root[data-tema="claro"]) .barra {
    background: linear-gradient(180deg, #fbfaff, #fbfaff) !important
}
:where(:root[data-tema="claro"]) .portada {
    background: radial-gradient(70% 120% at 50% -10%, rgba(124,58,237,.12) 0%, transparent 62%),
    linear-gradient(180deg, rgba(250,249,253,0.5), #fbfaff) !important
}
:where(:root[data-tema="claro"]) .lx-pestanas {
    background: #fbfaff;
    border: 1px solid rgba(17,13,34,0.088);
    box-shadow: 0 18px 40px rgba(45,30,110,0.154)
}
:where(:root[data-tema="claro"]) .lx-pestanas a.aqui {
    background: rgba(255,255,255,0.86)
}
:where(:root[data-tema="claro"]) .doc-mini-velo {
    color: #2c178c
}
:where(:root[data-tema="claro"]) .btn-suave,
:where(:root[data-tema="claro"]) .descarga-grande,
:where(:root[data-tema="claro"]) .boton-panel,
:where(:root[data-tema="claro"]) .doc-mando,
:where(:root[data-tema="claro"]) .lx-boton,
:where(:root[data-tema="claro"]) .mando {
    border: 1px solid rgba(17,13,34,0.198) !important
}
:where(:root[data-tema="claro"]) .btn-suave:hover:not(:disabled),
:where(:root[data-tema="claro"]) .descarga-grande:hover,
:where(:root[data-tema="claro"]) .boton-panel:hover,
:where(:root[data-tema="claro"]) .doc-mando:hover,
:where(:root[data-tema="claro"]) .lx-boton:hover,
:where(:root[data-tema="claro"]) .mando:hover {
    background: rgba(255,255,255,0.74) !important;
    border-color: rgba(17,13,34,0.352) !important
}
:where(:root[data-tema="claro"]) .mes-acciones button:hover {
    background: rgba(255,255,255,0.7)
}
:where(:root[data-tema="claro"]) .sello {
    border: 1px solid rgba(17,13,34,0.154)
}
:where(:root[data-tema="claro"]) .chip {
    border-color: rgba(17,13,34,0.154)
}
:where(:root[data-tema="claro"]) input,
:where(:root[data-tema="claro"]) select {
    background: rgba(255,255,255,0.66) !important;
    border: 1px solid rgba(17,13,34,0.132) !important
}
:where(:root[data-tema="claro"]) textarea {
    background: rgba(255,255,255,0.66) !important;
    border: 1px solid rgba(17,13,34,0.132) !important
}
:where(:root[data-tema="claro"]) input:hover,
:where(:root[data-tema="claro"]) textarea:hover,
:where(:root[data-tema="claro"]) select:hover {
    border-color: rgba(17,13,34,0.264) !important
}
:where(:root[data-tema="claro"]) input:focus,
:where(:root[data-tema="claro"]) textarea:focus,
:where(:root[data-tema="claro"]) select:focus {
    background: rgba(255,255,255,0.74) !important
}
:where(:root[data-tema="claro"]) .panel .celda,
:where(:root[data-tema="claro"]) .panel .celda.alta,
:where(:root[data-tema="claro"]) .celda,
:where(:root[data-tema="claro"]) .lx-tarjeta,
:where(:root[data-tema="claro"]) .mes-tarjeta,
:where(:root[data-tema="claro"]) .nota,
:where(:root[data-tema="claro"]) .marco-grafica,
:where(:root[data-tema="claro"]) .compositor {
    background: rgba(255,255,255,0.64) !important;
    border: 1px solid rgba(17,13,34,0.099) !important
}
:where(:root[data-tema="claro"]) .panel .celda.alta {
    background: rgba(255,255,255,0.7) !important
}
:where(:root[data-tema="claro"]) .dato-mes {
    background: rgba(255,255,255,0.62);
    border-color: rgba(17,13,34,0.088)
}
:where(:root[data-tema="claro"]) .mes-portada,
:where(:root[data-tema="claro"]) .doc-mini-portada {
    background: radial-gradient(70% 55% at 50% 30%, rgba(122,78,255,.22), transparent 72%), linear-gradient(180deg, #fbfaff, #fbfaff)
}
:where(:root[data-tema="claro"]) .doc-mini {
    box-shadow: 0 14px 34px rgba(45,30,110,0.14), 0 0 0 1px rgba(17,13,34,0.1)
}
:where(:root[data-tema="claro"]) .doc-mini:hover {
    box-shadow: 0 22px 44px rgba(45,30,110,0.168), 0 0 0 1px rgba(122,78,255,.55)
}
:where(:root[data-tema="claro"]) .burbuja-texto {
    background: rgba(255,255,255,0.7);
    border: 1px solid rgba(17,13,34,0.088)
}
:where(:root[data-tema="claro"]) .lx-fila {
    border: 1px solid rgba(17,13,34,0.132)
}
:where(:root[data-tema="claro"]) .lx-fila:hover:not(:disabled) {
    border-color: rgba(17,13,34,0.33);
    background: rgba(255,255,255,0.66)
}
:where(:root[data-tema="claro"]) .lx-fila .marca {
    border-color: rgba(17,13,34,0.385)
}
:where(:root[data-tema="claro"]) .lx-fila.hecha {
    border-color: rgba(17,13,34,0.07)
}
:where(:root[data-tema="claro"]) .pestanas-nivel {
    border: 1px solid rgba(17,13,34,0.132)
}
:where(:root[data-tema="claro"]) .marca-grande .logo {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .tarjeta-acceso {
    background: rgba(255,255,255,0.64) !important;
    border: 1px solid rgba(17,13,34,0.121);
    box-shadow: 0 40px 100px -30px rgba(45,30,110,0.252) !important
}
:where(:root[data-tema="claro"]) .tarjeta-acceso:focus-within {
    box-shadow: 0 40px 100px -30px rgba(45,30,110,0.252), 0 0 40px -10px rgba(122,78,255,.28) !important
}
:where(:root[data-tema="claro"]) .tarjeta-acceso h1 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .lector-velo {
    background: rgba(40,30,80,0.45)
}
:where(:root[data-tema="claro"]) .lector-barra {
    background: #fbfaff;
    border-bottom-color: rgba(17,13,34,0.088)
}
:where(:root[data-tema="claro"]) .doc-visor {
    background: #fbfaff
}
:where(:root[data-tema="claro"]) .doc-pagina {
    box-shadow: 0 18px 50px rgba(45,30,110,0.168), 0 0 0 1px rgba(17,13,34,0.08)
}
:where(:root[data-tema="claro"]) .doc-pager {
    border-color: rgba(17,13,34,0.154)
}
:where(:root[data-tema="claro"]) .barra-energia {
    background: rgba(255,255,255,0.82)
}
:where(:root[data-tema="claro"]) .elegir-reporte select,
:where(:root[data-tema="claro"]) .elegir-reporte select:hover,
:where(:root[data-tema="claro"]) .elegir-reporte select:focus {
    border-bottom: 1px solid rgba(17,13,34,0.154) !important;
    font-weight: 500
}
:where(:root[data-tema="claro"]) .elegir-reporte select:hover {
    border-bottom-color: rgba(17,13,34,0.33) !important
}
:where(:root[data-tema="claro"]) select.titulo,
:where(:root[data-tema="claro"]) .selector-mes select {
    border-bottom: 1px solid rgba(17,13,34,0.154) !important
}
:where(:root[data-tema="claro"]) .btn-luz::before,
:where(:root[data-tema="claro"]) .doc-mando.fuerte::before,
:where(:root[data-tema="claro"]) .mes-acciones button::before,
:where(:root[data-tema="claro"]) .rep-nucleo::before,
:where(:root[data-tema="claro"]) .rep.tarjeta .rep-nucleo::before {
    background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,0.92) 50%, transparent 62%) no-repeat, var(--at-fill)
}
:where(:root[data-tema="claro"]) .btn-luz:hover,
:where(:root[data-tema="claro"]) .doc-mando.fuerte:hover,
:where(:root[data-tema="claro"]) .mes-acciones button:hover,
:where(:root[data-tema="claro"]) .rep-nucleo:hover {
    color: #110d22 !important
}
:where(:root[data-tema="claro"]) .btn-luz:hover::before,
:where(:root[data-tema="claro"]) .doc-mando.fuerte:hover::before,
:where(:root[data-tema="claro"]) .mes-acciones button:hover::before,
:where(:root[data-tema="claro"]) .rep-nucleo:hover::before,
:where(:root[data-tema="claro"]) .rep.tarjeta .rep-nucleo:hover::before {
    background-image: linear-gradient(105deg, transparent 38%, rgba(255,255,255,0.92) 50%, transparent 62%), var(--at-fill-hover)
}
:where(:root[data-tema="claro"]) .btn-suave:hover:not(:disabled),
:where(:root[data-tema="claro"]) .descarga-grande:hover,
:where(:root[data-tema="claro"]) .boton-panel:hover,
:where(:root[data-tema="claro"]) .doc-mando:not(.fuerte):hover,
:where(:root[data-tema="claro"]) .lx-boton:hover,
:where(:root[data-tema="claro"]) .audio-bajar:hover,
:where(:root[data-tema="claro"]) .lector-cerrar:hover,
:where(:root[data-tema="claro"]) .mando:hover:not(:disabled) {
    background: rgba(255,255,255,0.7) !important;
    color: #110d22 !important
}
:where(:root[data-tema="claro"]) .rep-nucleo {
    color: #110d22
}
:where(:root[data-tema="claro"]) .rep .rep-nucleo {
    background: radial-gradient(76% 62% at 50% 16%, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.5) 62%),
    linear-gradient(150deg, #9d86ff 0%, #6f4def 48%, #34b7c4 100%) !important;
    box-shadow: inset 0 1px 1.5px rgba(255,255,255,.55),
    inset 0 -10px 18px rgba(45,30,110,0.084),
    0 0 0 1px rgba(255,255,255,.07),
    0 10px 28px rgba(122,78,255,.35),
    0 0 34px rgba(63,208,200,.16) !important
}
:where(:root[data-tema="claro"]) .rep .rep-nucleo::before,
:where(:root[data-tema="claro"]) .rep.tarjeta .rep-nucleo::before {
    background: conic-gradient(from var(--giro, 0deg),
    rgba(255,255,255,0.9) 0deg, rgba(255,255,255,0.9) 250deg,
    rgba(122,78,255,.85) 312deg, rgba(63,208,200,.95) 348deg, rgba(255,255,255,0.9) 360deg) !important
}
:where(:root[data-tema="claro"]) .rep .rep-nucleo::after {
    background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,0.92) 50%, transparent 62%) no-repeat
}
:where(:root[data-tema="claro"]) .rep .rep-icono {
    filter: drop-shadow(0 1px 2px rgba(45,30,110,0.126))
}
:where(:root[data-tema="claro"]) .rep.tarjeta .rep-nucleo:hover {
    box-shadow: inset 0 1px 1.5px rgba(255,255,255,.6), inset 0 -10px 18px rgba(45,30,110,0.073),
  0 0 0 1px rgba(255,255,255,.1), 0 12px 34px rgba(122,78,255,.45), 0 0 44px rgba(63,208,200,.22) !important
}
:where(:root[data-tema="claro"]) .rep.tarjeta[data-sonando] .rep-nucleo {
    background: radial-gradient(76% 62% at 50% 16%, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.5) 62%),
    linear-gradient(150deg, #8f77ff 0%, #6243e6 48%, #2ea9bb 100%) !important
}
:where(:root[data-tema="claro"]) .rep.tarjeta[data-sonando] .rep-nucleo::before {
    background: conic-gradient(var(--luz-punta) calc(var(--avance, 0) * 1%), rgba(255,255,255,0.92) 0) !important
}
/*  ── inicio.css ──  */
:where(:root[data-tema="claro"]) .in-saludo {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .in-nombre {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .in-tarjeta {
    background: linear-gradient(180deg, rgba(var(--c),.10), rgba(255,255,255,0.56) 55%);
    border: 1px solid rgba(17,13,34,0.077)
}
:where(:root[data-tema="claro"]) .in-tarjeta h3 {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .in-pie {
    border-top: 1px solid rgba(17,13,34,0.07)
}
:where(:root[data-tema="claro"]) .in-dato b {
    font-weight: 600
}
/*  ── ia.css ──  */
:where(:root[data-tema="claro"]) .chat-lado {
    border-left: 1px solid rgba(17,13,34,0.07) !important
}
:where(:root[data-tema="claro"]) .chat-item:hover {
    background: rgba(255,255,255,0.64)
}
:where(:root[data-tema="claro"]) .chat-item.aqui {
    background: rgba(255,255,255,0.7)
}
:where(:root[data-tema="claro"]) .chat-vacio p {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .chat-vacio h3 {
    font-weight: 400 !important
}
:where(:root[data-tema="claro"]) .compositor {
    background: rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(17,13,34,0.099) !important
}
:where(:root[data-tema="claro"]) .compositor textarea {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .mando {
    border: 1px solid rgba(17,13,34,0.132) !important
}
:where(:root[data-tema="claro"]) .idea {
    border: 1px solid rgba(17,13,34,0.099) !important
}
:where(:root[data-tema="claro"]) .burbuja.alumno .burbuja-texto {
    background: rgba(255,255,255,0.7) !important;
    border: 1px solid rgba(17,13,34,0.077) !important
}
:where(:root[data-tema="claro"]) .burbuja.fallo .burbuja-texto {
    color: #8c2017
}
@media (max-width:820px) {
    :where(:root[data-tema="claro"]) .chat-lado {
        border-bottom: 1px solid rgba(17,13,34,0.07) !important
    }
}
:where(:root[data-tema="claro"]) .mh-marco {
    border: 1px solid rgba(17,13,34,0.11);
    background: rgba(250,249,253,0.65)
}
:where(:root[data-tema="claro"]) .mapa-hawkins th {
    color: #33178c;
    border-bottom: 1px solid rgba(17,13,34,0.088)
}
:where(:root[data-tema="claro"]) .mapa-hawkins td {
    color: rgba(17,13,34,0.82);
    border-bottom: 1px solid rgba(17,13,34,0.07)
}
:where(:root[data-tema="claro"]) .mapa-hawkins .mh-log {
    color: #110d22;
    text-shadow: 0 1px 2px rgba(45,30,110,0.098)
}
:where(:root[data-tema="claro"]) .mapa-hawkins .mh-nivel {
    font-weight: 600;
    color: #110d22
}
:where(:root[data-tema="claro"]) .mapa-hawkins tr.mh-linea td {
    color: #8c7f17
}
:where(:root[data-tema="claro"]) .mh-aqui {
    color: #178c76
}
/*  ── protocolos.css ──  */
:where(:root[data-tema="claro"]) .pr-h1 {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .pr-cifra b {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .pr-bloque {
    border: 1px solid rgba(17,13,34,0.088);
    background: rgba(255,255,255,0.58)
}
:where(:root[data-tema="claro"]) .pr-titulo {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .pr-tabs button.aqui {
    background: rgba(255,255,255,0.78) !important
}
:where(:root[data-tema="claro"]) .pr-fecha {
    border: 1px solid rgba(17,13,34,0.088);
    background: rgba(122,78,255,0.063)
}
:where(:root[data-tema="claro"]) .pr-fecha h4 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .pr .habito.pr-hab:hover {
    background: rgba(255,255,255,0.64) !important
}
:where(:root[data-tema="claro"]) .pr .pr-hab .tilde {
    border: 1px solid rgba(17,13,34,0.308)
}
:where(:root[data-tema="claro"]) .pr .pr-hab .tilde::after {
    border-left: 1.5px solid #c2b0e8;
    border-bottom: 1.5px solid #c2b0e8;
    border-color: #c2b0e8
}
:where(:root[data-tema="claro"]) .pr-avance {
    border: 1px dashed rgba(17,13,34,0.11)
}
:where(:root[data-tema="claro"]) .pr-aro .pista {
    stroke: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) .pr-aro b {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .pr .pr-linea {
    border-bottom: 1px solid rgba(17,13,34,0.132) !important
}
:where(:root[data-tema="claro"]) .pr .animo .segmento {
    border: 1px solid rgba(17,13,34,0.132) !important
}
:where(:root[data-tema="claro"]) .td-fila:hover {
    background: rgba(255,255,255,0.64)
}
:where(:root[data-tema="claro"]) .td-caja {
    border: 1px solid rgba(17,13,34,0.308)
}
:where(:root[data-tema="claro"]) .td-fila.hecha .td-caja::after {
    border-left: 1.5px solid rgba(17,13,34,0.4);
    border-bottom: 1.5px solid rgba(17,13,34,0.4)
}
:where(:root[data-tema="claro"]) .td-fila.hecha .td-texto {
    text-decoration-color: rgba(17,13,34,0.275)
}
:where(:root[data-tema="claro"]) .td-agregar {
    border-top: 1px solid rgba(17,13,34,0.07)
}
:where(:root[data-tema="claro"]) .pr .pr-escribir {
    border: 1px solid rgba(17,13,34,0.11) !important;
    background: rgba(255,255,255,0.62) !important
}
:where(:root[data-tema="claro"]) .cd-velo {
    background: rgba(40,30,80,0.41)
}
:where(:root[data-tema="claro"]) .cd-caja {
    background: linear-gradient(180deg, #fbfaff, #fbfaff);
    box-shadow: 0 30px 80px rgba(45,30,110,0.154), 0 0 60px rgba(var(--c-menta),.06)
}
:where(:root[data-tema="claro"]) .cd-velo .cd-x:hover {
    background: rgba(255,255,255,0.74) !important
}
:where(:root[data-tema="claro"]) .cd-avance {
    background: rgba(255,255,255,0.78)
}
:where(:root[data-tema="claro"]) .cd-titulo {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .cd-velo .cd-texto {
    border: 1px solid rgba(17,13,34,0.11) !important;
    background: rgba(255,255,255,0.62) !important
}
:where(:root[data-tema="claro"]) .cd-velo .cd-op {
    border: 1px solid rgba(17,13,34,0.11) !important;
    background: rgba(255,255,255,0.58) !important
}
:where(:root[data-tema="claro"]) .cd-op b {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .cd-item {
    border-bottom: 1px solid rgba(17,13,34,0.07)
}
:where(:root[data-tema="claro"]) .cd-velo .cd-quitar:hover {
    background: rgba(255,255,255,0.74) !important
}
:where(:root[data-tema="claro"]) .cd-velo .cd-agregar input {
    border: 1px solid rgba(17,13,34,0.11) !important;
    background: rgba(255,255,255,0.62) !important
}
:where(:root[data-tema="claro"]) .cd-repaso b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .cd-repaso-manana b {
    font-weight: 500
}
/*  ── personaje.css ──  */
:where(:root[data-tema="claro"]) .pj-h1 {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .pj-figura {
    border: 1px solid rgba(17,13,34,0.088);
    background: rgba(255,255,255,0.58)
}
:where(:root[data-tema="claro"]) .pj-figura h3 {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .pj-col {
    border: 1px solid rgba(17,13,34,0.077);
    background: rgba(255,255,255,0.56)
}
:where(:root[data-tema="claro"]) .pj-col b {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .pj-col h4 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .pj-caja {
    border: 1px solid rgba(17,13,34,0.088);
    background: rgba(255,255,255,0.58)
}
:where(:root[data-tema="claro"]) .pj-cifra b {
    font-weight: 400
}
/*  ── nivel.css ──  */
:where(:root[data-tema="claro"]) .nv-h1 {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .nv-bloque {
    border: 1px solid rgba(17,13,34,0.088);
    background: rgba(255,255,255,0.58)
}
:where(:root[data-tema="claro"]) .nv-tit {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .nv-interior {
    border: 1px solid rgba(17,13,34,0.088);
    background: rgba(122,78,255,0.063)
}
:where(:root[data-tema="claro"]) .nv-interior h4 {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .nv .ficha.nv-opcion:hover {
    background: rgba(255,255,255,0.64) !important
}
:where(:root[data-tema="claro"]) .nv .ficha.nv-opcion i {
    border: 1px solid rgba(17,13,34,0.33)
}
:where(:root[data-tema="claro"]) .nv .nv-linea,
:where(:root[data-tema="claro"]) .nv .nv-interior input:not([type=radio]),
:where(:root[data-tema="claro"]) .nv .nv-interior select {
    border-bottom: 1px solid rgba(17,13,34,0.132) !important
}
:where(:root[data-tema="claro"]) .nv-aro {
    border: 1px solid rgba(17,13,34,0.088);
    background: rgba(122,78,255,0.063)
}
:where(:root[data-tema="claro"]) .nv-aro-r .pi {
    stroke: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) .nv-aro-r b {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .nv-cifras > div {
    border: 1px solid rgba(17,13,34,0.088);
    background: rgba(122,78,255,0.063)
}
:where(:root[data-tema="claro"]) .nv-cifras b {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .nv .nv-reto {
    border: 1px solid rgba(17,13,34,0.088);
    background: rgba(122,78,255,0.063)
}
:where(:root[data-tema="claro"]) .nv-reto b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .nv-reto .reto-nota {
    border-top: 1px solid rgba(17,13,34,0.07) !important
}
:where(:root[data-tema="claro"]) .nv-mes-desplegable summary i {
    color: #31178c
}
:where(:root[data-tema="claro"]) .nv-mes-lista {
    background: #fbfaff;
    box-shadow: 0 30px 60px -20px rgba(45,30,110,0.252)
}
:where(:root[data-tema="claro"]) .nv-mes-opcion.lleno span {
    color: #178c76
}
:where(:root[data-tema="claro"]) .nv-tabs .pestana {
    color: #311b88 !important
}
:where(:root[data-tema="claro"]) .nv-tabs .pestana svg {
    stroke: #31178c
}
:where(:root[data-tema="claro"]) .nv-tabs .pestana:hover {
    color: #110d22 !important
}
:where(:root[data-tema="claro"]) .nv-tabs .pestana.aqui {
    font-weight: 600
}
:where(:root[data-tema="claro"]) .nv-tabs .pestana.aqui svg {
    stroke: #110d22
}
:where(:root[data-tema="claro"]) .nv-mes-opcion.bloqueado span {
    color: #8c2017
}
/*  ── carga.css ──  */
:where(:root[data-tema="claro"]) .carga-logo {
    font-weight: 400
}
:where(:root[data-tema="claro"]) .carga-barra {
    background: rgba(255,255,255,0.82)
}
:where(:root[data-tema="claro"]) .esq-l {
    background: linear-gradient(90deg, rgba(255,255,255,0.66) 0%, rgba(255,255,255,0.86) 20%, rgba(255,255,255,0.66) 40%)
}
/*  ── entrada.css ──  */
:where(:root[data-tema="claro"]) .acceso .marca-grande .sobre {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso {
    box-shadow: 0 50px 120px -40px rgba(45,30,110,0.266), inset 0 1px 0 rgba(238,237,245,.05) !important
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso h1 {
    font-weight: 400 !important
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso .entradilla {
    color: rgba(17,13,34,0.82) !important
}
:where(:root[data-tema="claro"]) .acceso .campo label {
    color: rgba(17,13,34,0.82) !important
}
:where(:root[data-tema="claro"]) .acceso input {
    background: rgba(255,255,255,0.64) !important;
    border: 1px solid rgba(17,13,34,0.11) !important;
    color: #110d22 !important
}
:where(:root[data-tema="claro"]) .acceso input::placeholder {
    color: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) .acceso input:focus {
    background: rgba(255,255,255,0.7) !important
}
:where(:root[data-tema="claro"]) .acceso input:-webkit-autofill,
:where(:root[data-tema="claro"]) .acceso input:-webkit-autofill:hover,
:where(:root[data-tema="claro"]) .acceso input:-webkit-autofill:focus {
    -webkit-text-fill-color: #110d22 !important;
    caret-color: #110d22
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso .btn-luz {
    font-weight: 500 !important
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso .nota {
    background: rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(17,13,34,0.088) !important
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso .nota.bien {
    color: #178c76 !important
}
:where(:root[data-tema="claro"]) .acceso .aviso-correo {
    border-top: 1px solid rgba(17,13,34,0.077) !important;
    color: rgba(17,13,34,0.82) !important
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso .pista {
    color: rgba(17,13,34,0.82) !important
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso a {
    color: #33178c !important
}
:where(:root[data-tema="claro"]) .acceso .separador-o {
    color: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) .acceso .separador-o::before,
:where(:root[data-tema="claro"]) .acceso .separador-o::after {
    background: rgba(255,255,255,0.82)
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso a.btn-google {
    border: 1px solid rgba(17,13,34,0.154) !important;
    background: rgba(255,255,255,0.66);
    color: #110d22 !important
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso a.btn-google:hover {
    background: rgba(255,255,255,0.82)
}
/*  ── admin.css ──  */
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .portada .encima {
    font-weight: 500 !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .portada h2 {
    font-weight: 400 !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .dato {
    border: 1px solid rgba(17,13,34,0.088) !important;
    background: rgba(255,255,255,0.58) !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .dato:hover {
    border-color: rgba(17,13,34,0.154) !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .dato .cifra {
    font-weight: 400 !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .dato.viva {
    background: linear-gradient(180deg, rgba(var(--c-oro),.06), rgba(255,255,255,0.56)) !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .titulo-zona {
    font-weight: 400 !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .marco-tabla {
    border: 1px solid rgba(17,13,34,0.088) !important;
    background: rgba(255,255,255,0.56) !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) th {
    background: rgba(255,255,255,0.6) !important;
    font-weight: 600 !important;
    border-bottom: 1px solid rgba(17,13,34,0.077) !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) td {
    border-bottom: 1px solid rgba(17,13,34,0.07) !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) tbody tr:hover {
    background: rgba(255,255,255,0.6)
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) td input,
:where(:root[data-tema="claro"]) body:not(.lx-alumno) td select {
    background: rgba(255,255,255,0.64) !important;
    border: 1px solid rgba(17,13,34,0.11) !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .zona .bloque,
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .zona .tarjeta,
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .zona .panel-caja {
    border: 1px solid rgba(17,13,34,0.088) !important;
    background: rgba(255,255,255,0.58) !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .ficha-datos .dato .cifra {
    font-weight: 500 !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .respaldos {
    background: linear-gradient(180deg, rgba(var(--c-menta),.05), rgba(255,255,255,0.56))
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .respaldo-fila:hover {
    background: rgba(255,255,255,0.66)
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .ficha-rutina {
    border: 1px solid rgba(17,13,34,0.088);
    background: rgba(255,255,255,0.56)
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .cx {
    background: linear-gradient(180deg, rgba(250,249,253,0.45), rgba(250,249,253,0.65))
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .cx h3 {
    color: #2d178c
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .cx-clave {
    color: #33178c
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .cx-estado {
    color: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .cx-form input {
    border: 1px solid rgba(17,13,34,0.154);
    background: rgba(255,255,255,0.66);
    color: #110d22
}
:where(:root[data-tema="claro"]) .cierre-form-texto b {
    font-weight: 600
}
/*  ── admin-marca.css ──  */
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .btn-suave {
    color: #33178c !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .btn-suave.peligro {
    color: #8c1717 !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app aside nav a.aqui {
    color: #110d22 !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app aside .modulo-nombre {
    color: #172f8c !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app aside .marca .logo,
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .portada h2,
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .in-nombre,
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .dato .cifra,
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .in-tarjeta h3 {
    background-image: linear-gradient(100deg, #33178c 0%, #30178c 38%, #178c76 100%)
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .portada h2,
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .in-nombre,
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .dato .cifra {
    font-weight: 500 !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .ficha-datos .dato .cifra {
    color: #110d22 !important;
    -webkit-text-fill-color: #110d22
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .titulo-zona {
    color: #2d178c !important
}
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .portada .encima,
:where(:root[data-tema="claro"]) body:not(.lx-alumno) .app .in-fecha {
    color: #172f8c !important
}
/*  ── entrada-haz.css ──  */
:where(:root[data-tema="claro"]) .acceso {
    background: linear-gradient(180deg, #fbfaff 0%, #fbfaff 55%, #fbfaff 100%) !important
}
:where(:root[data-tema="claro"]) .acceso::before {
    background: radial-gradient(ellipse 60% 55% at 50% 0%, rgba(250,249,253,0.65), transparent 70%),
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(250,249,253,0.55), transparent 70%),
    linear-gradient(90deg, transparent calc(50% - 80px), rgba(185,165,255,.045) 50%, transparent calc(50% + 80px)) !important
}
:where(:root[data-tema="claro"]) .acceso .marca-grande .sobre {
    color: rgba(17,13,34,0.82) !important
}
:where(:root[data-tema="claro"]) .acceso .marca-grande .logo {
    font-weight: 400 !important;
    background-image: linear-gradient(90deg, #110d22, #33178c 45%, #172f8c 72%, #237a81) !important
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso {
    background: linear-gradient(180deg, #fbfaff, #fbfaff) !important
}
:where(:root[data-tema="claro"]) .acceso .tarjeta-acceso .btn-luz {
    color: #110d22 !important
}
/*  ── opiniones.css ──  */
:where(:root[data-tema="claro"]) .burbuja-opinion {
    background: #fbfaff;
    color: #110d22;
    box-shadow: 0 18px 40px -18px rgba(45,30,110,0.252), 0 0 24px -8px rgba(185,165,255,.35)
}
:where(:root[data-tema="claro"]) .burbuja-opinion:hover {
    box-shadow: 0 18px 40px -18px rgba(45,30,110,0.252), 0 0 30px -6px rgba(185,165,255,.55)
}
:where(:root[data-tema="claro"]) .aviso-opinion {
    background: linear-gradient(180deg, #fbfaff, #fbfaff);
    color: #110d22;
    box-shadow: 0 30px 80px -30px rgba(45,30,110,0.266)
}
:where(:root[data-tema="claro"]) .aviso-opinion p {
    color: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) .aviso-opinion p b {
    color: #110d22;
    font-weight: 600
}
:where(:root[data-tema="claro"]) .op-form textarea {
    border: 1px solid rgba(17,13,34,0.11);
    background: rgba(255,255,255,0.64);
    color: #110d22
}
:where(:root[data-tema="claro"]) .op-estrellas button {
    color: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) .op-estrellas button.on {
    color: #8c6917
}
:where(:root[data-tema="claro"]) .op-escala button {
    border: 1px solid rgba(17,13,34,0.132);
    background: rgba(255,255,255,0.62);
    color: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) .op-escala button.on {
    color: #110d22
}
:where(:root[data-tema="claro"]) .op-gracias span {
    color: #8c6917
}
:where(:root[data-tema="claro"]) .op-gracias p {
    color: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) .op-reparto .op-barra b {
    font-weight: 500
}
:where(:root[data-tema="claro"]) .op-tarjeta {
    border: 1px solid rgba(17,13,34,0.088);
    background: rgba(255,255,255,0.58)
}
:where(:root[data-tema="claro"]) .op-tarjeta.nueva {
    background: linear-gradient(180deg, rgba(243,201,105,.06), rgba(255,255,255,0.56))
}
:where(:root[data-tema="claro"]) .op-nota {
    color: #8c6917
}
:where(:root[data-tema="claro"]) .op-nota i {
    color: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) .op-linea {
    color: rgba(17,13,34,0.82)
}
:where(:root[data-tema="claro"]) .op-linea b {
    font-weight: 600;
    color: #110d22
}
/*  ── movil.css ──  */
@media (max-width:860px) {
    :where(:root[data-tema="claro"]) body.lx-alumno #main > .barra {
        background: #fbfaff !important;
        border-bottom: 1px solid rgba(17,13,34,0.07) !important
    }
}
@media (max-width:860px) {
    :where(:root[data-tema="claro"]) body.lx-alumno .chat aside.chat-lado {
        border-bottom: 1px solid rgba(17,13,34,0.07) !important
    }
}
@media (max-width:860px) {
    :where(:root[data-tema="claro"]) body.lx-alumno .chat-lado .chat-item {
        border: 1px solid rgba(17,13,34,0.088)
    }
}
/* ── 3. Arreglos a mano ─────────────────────────────────────────────── */
/* Iconos dentro de píldoras de color: siguen blancos como su texto. */
:root[data-tema="claro"] .nv-tabs .pestana.aqui svg{ stroke:#fff }
/* Apariencia (Mi cuenta): el modo elegido se ve marcado. */
:root[data-tema="claro"] .tema-opciones .btn-suave.aqui{
  background:linear-gradient(100deg,#8FA3F2,#6F4DEF 42%,#3FD0C8) !important;
  border-color:transparent !important; color:#fff !important;
}

/* El texto que no declara peso hereda 400 del navegador: de día, 500. */
:root[data-tema="claro"] body{ font-weight:500 }
:root[data-tema="claro"] strong, :root[data-tema="claro"] b{ font-weight:700 }
/* "Cerrar mi día": sobre el turquesa hondo de día, letras blancas. */
:root[data-tema="claro"] .cd-boton, :root[data-tema="claro"] .cd-boton *{ color:#fff !important }
