/* Theme · Guardia Civil (GC) — RFC-I-001 Fase 2
   Identidad: verde corporativo (primitivas --emerald-* AGNÓSTICAS de Foundation)
   + dorado. No usa nombres con "gc" ni depende de recolor_gc. Reskinea los
   componentes a verde sin tocar su CSS. */
:root{
  --brand-primary:        var(--emerald-700);   /* #0c5138 */
  --brand-primary-hover:  var(--emerald-600);   /* #007a53 */
  --brand-primary-strong: var(--emerald-800);   /* #06371f */
  --brand-primary-soft:   var(--emerald-50);    /* #e9f9f2 */
  --brand-accent:         var(--gold-500);       /* GC también usa dorado */
  --brand-accent-hover:   var(--gold-400);
  --brand-on-primary:     var(--neutral-0);
  --brand-on-accent:      var(--emerald-700);    /* texto verde sobre gold */
  --brand-focus-ring:     var(--emerald-600);
  --brand-surface-subtle:        var(--emerald-gray-50);
  --brand-surface-subtle-strong: var(--emerald-gray-200);
  --brand-border-subtle:         var(--emerald-gray-300);

  /* AR-048 · piloto de profundidad visual. Sólo hooks semánticos: estructura
     y estados siguen perteneciendo al Design System compartido. */
  --depth-canvas: var(--app-bg);
  --depth-surface-shadow: var(--shadow-s);
  --depth-interactive-shadow: var(--shadow-m);
  --depth-shell-shadow: var(--shadow-s);
  --depth-feature-surface: linear-gradient(135deg,var(--surface-brand-subtle),var(--card-bg));
  --depth-dash-hover-shadow: var(--shadow-m);
}

/* ==========================================================================
   AR-048 · F1 · DASHBOARD GC ORIENTADO A LA ACCIÓN
   --------------------------------------------------------------------------
   Piloto opt-in por Theme: este archivo sólo se carga en Guardia Civil y la
   clase `.visual-pilot` mantiene el rollback global del estándar visual.
   No cambia DOM, orden de foco, handlers, datos, estado ni navegación.
   ========================================================================== */

/* La ayuda conserva todo su contenido y comportamiento, pero deja de ocupar
   visualmente el papel de protagonista en escritorio. */
body.visual-pilot #view-dashboard-pro > .ayuda-box{
  padding:12px 18px;
  margin-bottom:18px;
  background:var(--card-bg);
  border-color:var(--brand-border-subtle);
  border-left-color:var(--brand-primary);
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-dashboard-pro > .ayuda-box .ayuda-h{
  margin-bottom:8px;
  font-size:14px;
  letter-spacing:.06em;
}
body.visual-pilot #view-dashboard-pro > .ayuda-box .ayuda-pasos{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px 24px;
  padding-left:22px;
}
body.visual-pilot #view-dashboard-pro > .ayuda-box .ayuda-pasos li{
  margin:0;
  font-size:12.5px;
  line-height:1.45;
}
body.visual-pilot #view-dashboard-pro > .ayuda-box .ayuda-tip{
  margin-top:8px;
  padding:6px 10px;
  font-size:12px;
}

/* Contexto compacto: la acción siguiente pasa a ser el primer gran ancla. */
body.visual-pilot #view-dashboard-pro .page-header--dashboard{
  margin-bottom:20px;
  padding-bottom:16px;
}
body.visual-pilot #view-dashboard-pro .page-header--dashboard .page-header__title{
  font-size:32px;
}

/* Único protagonista. Superficie sólida: sin degradado general ni efecto
   ornamental que compita con el contenido. */
body.visual-pilot #view-dashboard-pro .pattern-next{
  position:relative;
  overflow:hidden;
  gap:28px;
  padding:28px 30px;
  background:var(--brand-primary-strong);
  border:1px solid var(--brand-primary-strong);
  border-left:6px solid var(--brand-accent);
  box-shadow:var(--shadow-m);
}
body.visual-pilot #view-dashboard-pro .pattern-next__eyebrow{
  color:var(--gold-300);
}
body.visual-pilot #view-dashboard-pro .pattern-next__title,
body.visual-pilot #view-dashboard-pro .pattern-next__desc{
  color:var(--neutral-0);
}
body.visual-pilot #view-dashboard-pro .pattern-next__title{
  font-size:30px;
  letter-spacing:.01em;
}
body.visual-pilot #view-dashboard-pro .pattern-next__desc{
  color:rgba(255,255,255,.78);
}
body.visual-pilot #view-dashboard-pro .pattern-next__actions{
  flex:0 1 auto;
}
body.visual-pilot #view-dashboard-pro .pattern-next__actions .ds-button--primary{
  background:var(--brand-accent);
  color:var(--brand-primary-strong);
  border-color:var(--brand-accent);
}
body.visual-pilot #view-dashboard-pro .pattern-next__actions .ds-button--primary:hover{
  background:var(--brand-accent-hover);
  border-color:var(--brand-accent-hover);
}
body.visual-pilot #view-dashboard-pro .pattern-next__actions .ds-button--secondary{
  background:transparent;
  color:var(--neutral-0);
  border-color:rgba(255,255,255,.72);
}
body.visual-pilot #view-dashboard-pro .pattern-next__actions .ds-button--secondary:hover{
  background:rgba(255,255,255,.10);
  border-color:var(--neutral-0);
}

/* Los rótulos ordenan el recorrido, sin crear otra gran superficie. */
body.visual-pilot #view-dashboard-pro .dash-section-title{
  margin:28px 0 14px;
  padding:0 0 10px;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--brand-border-subtle);
  border-radius:0;
  font-size:17px;
  letter-spacing:.04em;
}
body.visual-pilot #view-dashboard-pro .dash-section-title .ds-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:var(--brand-primary-soft);
  font-size:18px;
}

/* Accesos rápidos = utilidades compactas. Se conservan las ocho acciones y
   su orden; sólo cambia la composición visual de cada tarjeta. */
body.visual-pilot #view-dashboard-pro .dash-acceso{
  gap:10px;
  margin-bottom:22px;
}
body.visual-pilot #view-dashboard-pro .dash-acc-card{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:12px;
  align-items:center;
  justify-items:start;
  min-height:82px;
  padding:14px 16px;
  text-align:left;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-dashboard-pro .dash-acc-icon{
  grid-column:1;
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  margin:0;
  border-radius:12px;
  background:var(--brand-primary-soft);
  font-size:23px;
  filter:none;
}
body.visual-pilot #view-dashboard-pro .dash-acc-name{
  grid-column:2;
  align-self:end;
  font-size:14px;
  line-height:1.1;
}
body.visual-pilot #view-dashboard-pro .dash-acc-sub{
  grid-column:2;
  align-self:start;
  margin-top:3px;
  font-size:11px;
  line-height:1.25;
}

/* El recorrido académico conserva progreso e IDs. El acento superior visible
   diferencia estas tarjetas de las utilidades sin añadir otra sombra. */
body.visual-pilot #view-dashboard-pro .modulos-completos{
  gap:14px;
  margin-bottom:14px;
}
body.visual-pilot #view-dashboard-pro .modulos-completos.mc-sec-exa{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.visual-pilot #view-dashboard-pro .mc-card{
  min-height:190px;
  padding:22px 22px 18px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-dashboard-pro .mc-card::before{
  transform:scaleX(1);
  height:3px;
}
body.visual-pilot #view-dashboard-pro .mc-icon{
  width:48px;
  height:48px;
  margin-bottom:16px;
}
body.visual-pilot #view-dashboard-pro .mc-name{
  font-size:17px;
  line-height:1.15;
}
body.visual-pilot #view-dashboard-pro .mc-prog-lbl{
  color:var(--text-secondary);
  font-weight:700;
}

/* Bandas complementarias: reconocibles, contenidas y subordinadas al héroe. */
body.visual-pilot #view-dashboard-pro .dash-pers{
  min-height:92px;
  margin-top:14px;
  padding:18px 22px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-dashboard-pro .dash-pers:hover{
  box-shadow:var(--shadow-s);
}

@media (max-width:1100px){
  body.visual-pilot #view-dashboard-pro > .ayuda-box .ayuda-pasos{
    grid-template-columns:1fr;
    gap:4px;
  }
  body.visual-pilot #view-dashboard-pro .dash-acceso{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  body.visual-pilot #view-dashboard-pro > .ayuda-box{
    padding:12px 14px;
  }
  body.visual-pilot #view-dashboard-pro .page-header--dashboard{
    margin-bottom:16px;
  }
  body.visual-pilot #view-dashboard-pro .page-header--dashboard .page-header__title{
    font-size:26px;
  }
  body.visual-pilot #view-dashboard-pro .pattern-next{
    gap:18px;
    padding:22px 18px;
  }
  body.visual-pilot #view-dashboard-pro .pattern-next__title{
    font-size:25px;
  }
  body.visual-pilot #view-dashboard-pro .dash-section-title{
    margin-top:24px;
  }
  body.visual-pilot #view-dashboard-pro .dash-acceso{
    grid-template-columns:1fr;
  }
  body.visual-pilot #view-dashboard-pro .dash-acc-card{
    min-height:74px;
    padding:12px 14px;
  }
  body.visual-pilot #view-dashboard-pro .modulos-completos{
    grid-template-columns:1fr;
  }
  body.visual-pilot #view-dashboard-pro .modulos-completos.mc-sec-exa{
    grid-template-columns:1fr;
  }
  body.visual-pilot #view-dashboard-pro .mc-card{
    min-height:0;
    padding:18px;
  }
  body.visual-pilot #view-dashboard-pro .dash-pers{
    min-height:0;
    padding:16px;
  }
}

@media (prefers-reduced-motion:reduce){
  body.visual-pilot #view-dashboard-pro .dash-acc-card,
  body.visual-pilot #view-dashboard-pro .mc-card,
  body.visual-pilot #view-dashboard-pro .dash-pers,
  body.visual-pilot #view-dashboard-pro .mc-icon{
    transition:none;
  }
  body.visual-pilot #view-dashboard-pro .dash-acc-card:hover,
  body.visual-pilot #view-dashboard-pro .mc-card:hover,
  body.visual-pilot #view-dashboard-pro .dash-pers:hover{
    transform:none;
  }
}

/* AR-048 · Personalidad GC — jerarquía de producto y profundidad visual */
body.personality-shell-v1{
  background:var(--app-bg);
  color:var(--text-primary);
}
body.personality-shell-v1 .wrap{
  max-width:1180px;
  background:transparent;
}
body.personality-shell-v1 .topbar{
  background:var(--brand-primary-strong);
  border-bottom:1px solid color-mix(in srgb,var(--brand-accent) 42%,transparent);
  box-shadow:0 8px 24px rgba(3,38,27,.16);
}
body.personality-shell-v1 .topbar :is(.topbar-l,.topbar-tit){
  color:var(--neutral-0) !important;
}
body.personality-shell-v1 .topbar .topbar-l :is(svg,path){
  color:var(--neutral-0) !important;
  fill:currentColor !important;
}
body.personality-shell-v1 #v-landing{
  padding:28px clamp(18px,4vw,48px) 48px;
}
body.personality-shell-v1 #v-landing>.hero{
  position:relative;
  overflow:hidden;
  padding:30px clamp(24px,4vw,46px);
  border:1px solid rgba(255,255,255,.13);
  border-left:8px solid var(--brand-accent);
  border-radius:20px;
  background:var(--brand-primary-strong);
  box-shadow:0 20px 42px rgba(3,38,27,.18);
}
body.personality-shell-v1 #v-landing>.hero::after{
  content:'';
  position:absolute;
  width:260px;
  height:260px;
  right:-90px;
  top:-110px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
}
body.personality-shell-v1 #v-landing .hero-k{
  color:var(--brand-accent);
  letter-spacing:1.8px;
}
body.personality-shell-v1 #v-landing .hero-t{
  max-width:720px;
  font:800 clamp(34px,5vw,54px)/.96 var(--font-display);
  letter-spacing:-.4px;
}
body.personality-shell-v1 #v-landing .hero-s{
  max-width:760px;
  font-size:15px;
  line-height:1.55;
}
body.personality-shell-v1 #pers-status .combo{
  cursor:default;
  margin:18px 0 16px;
  padding:17px 20px;
  border:1px solid color-mix(in srgb,var(--brand-accent) 62%,transparent);
  border-left:6px solid var(--brand-accent);
  background:linear-gradient(100deg,var(--brand-primary-strong),var(--brand-primary));
  box-shadow:var(--shadow-md);
}
body.personality-shell-v1 .pers-prep{
  padding:16px 18px;
  border-color:var(--card-border);
  box-shadow:var(--shadow-xs);
}
body.personality-shell-v1 .pers-prep-ic{
  background:var(--surface-brand-soft);
  color:var(--brand-primary);
}
body.personality-shell-v1 .sect-tit{
  margin:26px 2px 13px;
  font:800 19px/1 var(--font-display);
  letter-spacing:.7px;
}
body.personality-shell-v1 .ruta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
body.personality-shell-v1 #v-landing .rstep{
  appearance:none;
  position:relative;
  display:grid;
  grid-template-columns:40px 1fr;
  align-items:start;
  min-height:190px;
  padding:20px;
  border-color:var(--card-border);
  border-top:4px solid var(--brand-primary);
  border-radius:16px;
  background:var(--card-bg);
  box-shadow:var(--shadow-sm);
}
body.personality-shell-v1 #v-landing .rstep.star{
  border-color:var(--card-border);
  border-top-color:var(--brand-accent);
  background:var(--card-bg);
}
body.personality-shell-v1 #v-landing .rnum{
  grid-column:1;
  grid-row:1;
  width:34px;
  height:34px;
  background:var(--brand-primary);
}
body.personality-shell-v1 #v-landing .ric{
  grid-column:2;
  grid-row:1;
  justify-self:end;
  color:var(--brand-primary);
}
body.personality-shell-v1 #v-landing .rbody{
  grid-column:1/-1;
  grid-row:2;
  margin-top:20px;
}
body.personality-shell-v1 #v-landing .rtit{
  display:block;
  font:800 23px/1.05 var(--font-display);
  text-transform:uppercase;
}
body.personality-shell-v1 #v-landing .rsub{
  display:block;
  margin-top:9px;
  font-size:13px;
  line-height:1.45;
}
body.personality-shell-v1 #v-landing .rstat{
  position:absolute;
  left:20px;
  bottom:18px;
}
body.personality-shell-v1 .pers-library{
  border:1px solid var(--card-border);
  border-radius:16px;
  padding:0 16px 16px;
  background:var(--card-bg);
  box-shadow:var(--shadow-xs);
}
body.personality-shell-v1 .pers-library>summary{
  min-height:70px;
}
body.personality-shell-v1 .q-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
body.personality-shell-v1 .q-card{
  min-height:155px;
  border-color:var(--card-border);
  box-shadow:var(--shadow-xs);
}
body.personality-shell-v1 #v-landing :is(.rstep,.pers-prep-go,.pers-library>summary):focus-visible{
  outline:3px solid var(--brand-accent);
  outline-offset:3px;
}

/* Pantallas internas: misma profundidad y densidad que el resto del aula GC. */
body.personality-shell-v1 .view:not(#v-landing){
  max-width:1120px;
  margin-inline:auto;
  padding:28px clamp(18px,3vw,34px) 48px;
}
body.personality-shell-v1 .view:not(#v-landing)>.hero{
  border:1px solid color-mix(in srgb,var(--brand-accent) 44%,var(--card-border));
  border-left:7px solid var(--brand-accent);
  border-radius:18px;
  background:linear-gradient(112deg,var(--brand-primary-strong),var(--brand-primary));
  box-shadow:var(--shadow-md);
}
body.personality-shell-v1 #v-learn #learn-dims{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
body.personality-shell-v1 #v-learn .dim-row{
  height:100%;
  margin:0;
  padding:20px;
  border-color:var(--card-border);
  border-left:5px solid var(--brand-primary);
  border-radius:15px;
  background:var(--card-bg);
  box-shadow:var(--shadow-xs);
}
body.personality-shell-v1 #v-learn .panel{
  margin-top:18px;
  border-left:6px solid var(--brand-accent);
  box-shadow:var(--shadow-sm);
}
body.personality-shell-v1 #v-test{
  max-width:920px;
  margin-top:28px;
  margin-bottom:40px;
  border:1px solid var(--card-border);
  border-radius:20px;
  background:var(--card-bg);
  box-shadow:var(--shadow-md);
}
body.personality-shell-v1 #v-test .test-head{
  padding-bottom:14px;
  border-bottom:1px solid var(--card-border);
}
body.personality-shell-v1 #v-test .test-adj{
  max-width:760px;
  margin-inline:auto;
  font-size:clamp(24px,3vw,34px);
  line-height:1.2;
}
body.personality-shell-v1 #v-test .scale{
  max-width:700px;
  margin:24px auto 0;
  gap:11px;
}
body.personality-shell-v1 #v-test .opt{
  min-height:66px;
  border-color:var(--card-border);
  border-radius:14px;
  box-shadow:var(--shadow-xs);
}
body.personality-shell-v1 #v-test .pn{
  margin-top:28px;
  border-color:var(--card-border);
  box-shadow:var(--shadow-xs);
}
body.personality-shell-v1 :is(#v-bio-intro,#v-ent-intro)>.note,
body.personality-shell-v1 :is(#v-bio-intro,#v-ent-intro)>.card{
  margin-top:18px;
  border-radius:15px;
  box-shadow:var(--shadow-xs);
}
body.personality-shell-v1 #v-bio #bio-form{
  margin-top:18px;
  padding:24px clamp(18px,3vw,32px) 32px;
  border:1px solid var(--card-border);
  border-radius:18px;
  background:var(--card-bg);
  box-shadow:var(--shadow-sm);
}
body.personality-shell-v1 #v-bio #bio-form .sect-tit{
  margin:28px 0 16px;
  padding:12px 14px;
  border-left:5px solid var(--brand-accent);
  border-radius:0 10px 10px 0;
  background:var(--surface-brand-soft);
}
body.personality-shell-v1 #v-bio #bio-form :is(input,select,textarea){
  border-color:var(--card-border);
  background:var(--neutral-0);
  box-shadow:0 1px 0 rgba(3,38,27,.03);
}
body.personality-shell-v1 #v-bio #bio-form :is(input,select,textarea):focus{
  border-color:var(--brand-primary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 16%,transparent);
}
body.personality-shell-v1 :is(#v-bio-report,#v-ent,#v-ent-report)>[id]{
  margin-top:18px;
}

@media (max-width:820px){
  body.personality-shell-v1 .ruta,
  body.personality-shell-v1 .q-grid{grid-template-columns:1fr 1fr;}
  body.personality-shell-v1 #v-landing .rstep{min-height:180px;}
}
@media (max-width:560px){
  body.personality-shell-v1 #v-landing{padding:16px 14px 34px;}
  body.personality-shell-v1 #v-landing>.hero{padding:24px 20px;border-radius:17px;}
  body.personality-shell-v1 #v-landing .hero-t{font-size:36px;}
  body.personality-shell-v1 .pers-prep{align-items:flex-start;flex-wrap:wrap;}
  body.personality-shell-v1 .pers-prep-go{width:100%;text-align:left;padding:4px 0 0 54px;}
  body.personality-shell-v1 .ruta,
  body.personality-shell-v1 .q-grid{grid-template-columns:1fr;}
  body.personality-shell-v1 #v-landing .rstep{
    min-height:0;
    padding:18px;
    grid-template-columns:38px 1fr;
  }
  body.personality-shell-v1 #v-landing .rbody{margin-top:14px;}
  body.personality-shell-v1 #v-landing .rtit{font-size:21px;}
  body.personality-shell-v1 #v-landing .rstat{
    position:static;
    grid-column:1/-1;
    grid-row:3;
    justify-self:start;
    margin-top:12px;
  }
  body.personality-shell-v1 .view:not(#v-landing){
    padding:18px 14px 34px;
  }
  body.personality-shell-v1 #v-learn #learn-dims{grid-template-columns:1fr;}
  body.personality-shell-v1 #v-test{
    margin-top:14px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  body.personality-shell-v1 #v-test .scale{gap:9px;}
  body.personality-shell-v1 #v-test .opt{min-height:62px;}
  body.personality-shell-v1 #v-bio #bio-form{
    padding:16px 14px 24px;
  }
}

/* ==========================================================================
   AR-048 · F6 — continuidad premium: Teoría y Psicotécnicos GC
   Capa exclusivamente visual. No altera estados, eventos, datos ni scoring.
   ========================================================================== */

/* --- Teoría: bloques, temas, tests y documentación --- */
body.visual-pilot :is(
  #view-pro-teo-bloques,
  #view-pro-teo-temas,
  #view-pro-teo-detalle,
  #view-pro-teo-estudio,
  #view-pro-teo-esquema,
  #view-pro-teo-temario
) :is(.page-header--module,.conf-header){
  position:relative;
  overflow:hidden;
  padding:24px 26px;
  margin-bottom:24px;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-left:6px solid var(--brand-primary);
  border-radius:14px;
  box-shadow:var(--shadow-s);
}
body.visual-pilot :is(
  #view-pro-teo-bloques,
  #view-pro-teo-temas,
  #view-pro-teo-detalle,
  #view-pro-teo-estudio,
  #view-pro-teo-esquema,
  #view-pro-teo-temario
) :is(.page-header--module,.conf-header)::after{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--brand-accent),transparent 68%);
  pointer-events:none;
}
body.visual-pilot #view-pro-teo-bloques .modulos-completos{
  gap:18px;
}
body.visual-pilot #view-pro-teo-bloques .mc-card{
  min-height:210px;
  padding:26px;
  border-color:var(--card-border);
  border-radius:16px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-pro-teo-bloques .mc-card::before{
  height:5px;
  background:var(--brand-primary);
  transform:none;
}
body.visual-pilot #view-pro-teo-bloques .mc-card::after{
  content:"";
  position:absolute;
  right:-28px;
  bottom:-36px;
  width:116px;
  height:116px;
  border-radius:50%;
  background:color-mix(in srgb,var(--brand-primary) 5%,transparent);
  pointer-events:none;
}
body.visual-pilot #view-pro-teo-bloques .mc-icon{
  width:54px;
  height:54px;
  border-radius:14px;
  background:var(--brand-primary-soft);
  box-shadow:inset 0 0 0 1px var(--brand-border-subtle);
}
body.visual-pilot #view-pro-teo-bloques .mc-name{
  font-size:20px;
  margin-bottom:7px;
}
body.visual-pilot #view-pro-teo-bloques .mc-card:hover{
  transform:translateY(-4px);
  border-color:var(--brand-border-subtle);
  box-shadow:var(--shadow-m);
}
body.visual-pilot #view-pro-teo-temas .teo-tema-item{
  min-height:76px;
  padding:16px 18px;
  border-color:var(--card-border);
  border-left:5px solid var(--brand-primary);
  border-radius:12px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-pro-teo-temas .teo-tema-item:hover{
  transform:translateX(3px);
  background:var(--brand-primary-soft);
  box-shadow:var(--shadow-s);
}
body.visual-pilot #view-pro-teo-temas .teo-tema-num{
  display:grid;
  place-items:center;
  min-width:46px;
  height:42px;
  border-radius:10px;
  background:var(--brand-primary-soft);
  box-shadow:inset 0 0 0 1px var(--brand-border-subtle);
}
body.visual-pilot #view-pro-teo-temas .teo-tema-txt{
  font-size:14px;
  line-height:1.5;
}
body.visual-pilot #view-pro-teo-detalle .teo-acc-head{
  min-height:54px;
  padding:14px 18px;
  color:var(--brand-on-primary);
  background:var(--brand-primary);
  border-top:4px solid var(--brand-accent);
  border-radius:12px;
  box-shadow:var(--shadow-s);
}
body.visual-pilot #view-pro-teo-detalle .teo-acc-count,
body.visual-pilot #view-pro-teo-detalle .teo-acc-chev{
  color:color-mix(in srgb,var(--brand-on-primary) 82%,transparent);
}
body.visual-pilot #view-pro-teo-detalle .teo-test-grid{
  gap:12px;
}
body.visual-pilot #view-pro-teo-detalle .teo-test-card{
  padding:17px 18px;
  border-color:var(--card-border);
  border-left:4px solid var(--brand-primary);
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-pro-teo-detalle .teo-test-card:hover{
  transform:translateY(-2px);
  background:var(--card-bg);
  box-shadow:var(--shadow-s);
}
/* Los estados evaluativos conservan la precedencia del Status System. */
body.visual-pilot #view-pro-teo-detalle .teo-test-card.ok{border-left-color:var(--success-500);}
body.visual-pilot #view-pro-teo-detalle .teo-test-card.flojo{border-left-color:var(--warning-500);}
body.visual-pilot #view-pro-teo-detalle .teo-doc-item{
  min-height:82px;
  padding:17px 18px;
  border-color:var(--card-border);
  border-left:5px solid var(--brand-accent);
  border-radius:12px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-pro-teo-detalle .teo-doc-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  color:var(--brand-primary);
  background:var(--brand-primary-soft);
  border-radius:12px;
}
body.visual-pilot #view-pro-teo-detalle .teo-doc-name{font-size:14px;font-weight:800;}
body.visual-pilot :is(#view-pro-teo-esquema,#view-pro-teo-temario) .teo-esquema-note{
  padding:14px 16px;
  border-left:5px solid var(--brand-accent);
  box-shadow:var(--shadow-xs);
}
body.visual-pilot :is(#view-pro-teo-esquema,#view-pro-teo-temario) .teo-esquema-viewer,
body.visual-pilot #view-pro-teo-estudio :is(.estudio-card,.tem-doc-wrap){
  border-color:var(--card-border);
  box-shadow:var(--shadow-m);
}

/* --- Psicotécnicos: landing, configuración, runner y resultado --- */
body.module-shell-v1 .psico-hero{
  padding:24px 28px;
  border-left:7px solid var(--brand-accent);
  border-radius:15px;
  background:var(--brand-primary);
  box-shadow:var(--shadow-m);
}
body.module-shell-v1 .psico-hero::before{
  right:-30px;
  top:-72px;
  width:210px;
  height:210px;
  background:color-mix(in srgb,var(--brand-accent) 12%,transparent);
}
body.module-shell-v1 .psico-hero .hero-title{
  font-family:var(--font-display);
  font-size:clamp(26px,3vw,36px);
  font-weight:800;
  line-height:1.12;
  letter-spacing:.01em;
}

/* AR-048 · F6 — accesos de práctica y guías bajo un único lenguaje GC */
body.visual-pilot :is(#modal-tipo-teo,#modal-tipo-ing) .modal{
  border-top:6px solid var(--brand-accent);
  border-radius:18px;
  box-shadow:var(--shadow-xl);
}
body.visual-pilot :is(#modal-tipo-teo,#modal-tipo-ing) .modal-title{
  color:var(--brand-primary);
  letter-spacing:.01em;
}
body.visual-pilot :is(#modal-tipo-teo,#modal-tipo-ing) .modal-sub{
  margin-bottom:18px;
  color:var(--text-secondary);
}
body.visual-pilot :is(#modal-tipo-teo,#modal-tipo-ing) .modal-cta-card{
  min-height:108px;
  border-radius:13px;
  box-shadow:var(--shadow-xs);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
body.visual-pilot :is(#modal-tipo-teo,#modal-tipo-ing) .modal-cta-card:first-child{
  color:var(--brand-primary) !important;
  border:2px solid var(--brand-border-subtle) !important;
  border-left:6px solid var(--brand-primary) !important;
  background:var(--surface-elevated) !important;
}
body.visual-pilot :is(#modal-tipo-teo,#modal-tipo-ing) .modal-cta-card:last-child{
  color:var(--brand-on-primary) !important;
  border:2px solid var(--brand-primary) !important;
  border-left:6px solid var(--brand-accent) !important;
  background:var(--brand-primary) !important;
  box-shadow:var(--shadow-m);
}
body.visual-pilot :is(#modal-tipo-teo,#modal-tipo-ing) .modal-cta-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-l);
}
body.visual-pilot :is(#modal-tipo-teo,#modal-tipo-ing) .modal-cta-card:focus-visible{
  outline:3px solid var(--border-focus);
  outline-offset:3px;
}
body.visual-pilot .dash-guias{
  color:var(--brand-primary);
  border-color:var(--brand-border-subtle);
  border-left-color:var(--brand-accent);
  background:var(--surface-elevated);
  box-shadow:var(--shadow-m);
}
body.visual-pilot .dash-guias .dash-pers-ic{
  color:var(--brand-primary);
  background:var(--brand-primary-soft);
}
body.visual-pilot .dash-guias .dash-pers-name{color:var(--brand-primary);}
body.visual-pilot .dash-guias .dash-pers-sub{color:var(--text-secondary);}
body.visual-pilot .dash-guias .dash-pers-go{
  color:var(--brand-primary);
  background:var(--brand-accent);
}
body.module-shell-v1 .dash-step-hd{
  margin-bottom:18px;
  padding:12px 0 14px;
  border-bottom:1px solid var(--brand-border-subtle);
}
body.module-shell-v1 .dash-step-hd .step-n{
  width:38px;
  height:38px;
  background:var(--brand-primary);
  box-shadow:0 0 0 5px var(--brand-primary-soft);
}
body.module-shell-v1 .dash-step-hd .step-t{font-size:22px;}
body.module-shell-v1 :is(.aprende-card,.cat-card){
  border-color:var(--card-border);
  border-radius:12px;
  box-shadow:var(--shadow-xs);
}
body.module-shell-v1 .aprende-card{
  min-height:82px;
  border-left:5px solid var(--brand-primary);
}
body.module-shell-v1 .aprende-card:not(.soon):hover,
body.module-shell-v1 .cat-card:hover{
  transform:translateY(-3px);
  border-color:var(--brand-border-subtle);
  box-shadow:var(--shadow-s);
}
body.module-shell-v1 .aprende-card:not(.soon):hover{border-left-color:var(--brand-accent);}
body.module-shell-v1 .aprende-ic,
body.module-shell-v1 .cat-icon{
  background:var(--brand-primary-soft);
  box-shadow:inset 0 0 0 1px var(--brand-border-subtle);
}
body.module-shell-v1 .cat-card.selected{
  border-color:var(--brand-primary);
  background:var(--brand-primary-soft);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-primary) 12%,transparent),var(--shadow-s);
}
body.module-shell-v1 .config-panel{
  padding:24px;
  border-color:var(--card-border);
  border-top:4px solid var(--brand-accent);
  border-radius:14px;
  box-shadow:var(--shadow-s);
}
body.module-shell-v1 .bopt{
  min-height:38px;
  padding:8px 15px;
  border-radius:8px;
  border-color:var(--brand-border-subtle);
}
body.module-shell-v1 .bopt.on{
  background:var(--brand-primary);
  border-color:var(--brand-primary);
  box-shadow:var(--shadow-xs);
}
body.module-shell-v1 .btn-start{
  min-height:48px;
  border-radius:10px;
  background:var(--brand-primary);
  box-shadow:var(--shadow-s);
}
body.module-shell-v1 .test-header{
  padding:14px 24px;
  color:var(--brand-on-primary);
  background:var(--brand-primary);
  border-bottom:4px solid var(--brand-accent);
  box-shadow:var(--shadow-s);
}
body.module-shell-v1 .test-header :is(.prog-lbl,.prog-info){color:var(--brand-on-primary);}
body.module-shell-v1 .test-header .prog-track{background:color-mix(in srgb,var(--brand-on-primary) 20%,transparent);}
body.module-shell-v1 .test-header .prog-fill{background:var(--brand-accent);}
body.module-shell-v1 .test-body{
  margin-top:22px;
  padding:26px 28px 42px;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:16px;
  box-shadow:var(--shadow-m);
}
body.module-shell-v1 .q-cat-badge{
  color:var(--brand-primary);
  background:var(--gold-50);
  border-color:color-mix(in srgb,var(--brand-accent) 42%,transparent);
}
body.module-shell-v1 :is(.ans-card,.mans-card){
  border-color:var(--card-border);
  box-shadow:var(--shadow-xs);
}
body.module-shell-v1 :is(.ans-card,.mans-card):hover:not(:disabled){
  transform:translateY(-2px);
  border-color:var(--brand-accent);
  box-shadow:var(--shadow-s);
}
body.module-shell-v1 .exp-panel{
  padding:20px 22px;
  border-color:var(--card-border);
  border-left:5px solid var(--brand-primary);
  box-shadow:var(--shadow-s);
}
body.module-shell-v1 .qstat,
body.module-shell-v1 .breakdown,
body.module-shell-v1 .rbadge{
  border-color:var(--card-border);
  box-shadow:var(--shadow-xs);
}
body.module-shell-v1 .result-wrap{
  max-width:720px;
  margin-top:28px;
  padding:38px 32px;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-top:5px solid var(--brand-accent);
  border-radius:18px;
  box-shadow:var(--shadow-m);
}
body.module-shell-v1 .result-title{font-size:clamp(30px,5vw,42px);color:var(--brand-primary);}
body.module-shell-v1 .rbtn{min-height:48px;border-radius:10px;}

@media (max-width:640px){
  body.visual-pilot :is(
    #view-pro-teo-bloques,
    #view-pro-teo-temas,
    #view-pro-teo-detalle,
    #view-pro-teo-estudio,
    #view-pro-teo-esquema,
    #view-pro-teo-temario
  ) :is(.page-header--module,.conf-header){
    padding:20px 18px;
  }
  body.visual-pilot #view-pro-teo-bloques .mc-card{min-height:0;padding:20px;}
  body.visual-pilot #view-pro-teo-temas .teo-tema-item{padding:14px 12px;}
  body.module-shell-v1 .psico-hero{padding:22px 20px;}
  body.module-shell-v1 .config-panel{padding:18px;}
  body.module-shell-v1 .test-body{
    margin-top:14px;
    padding:20px 16px 34px;
    border-right:0;
    border-left:0;
    border-radius:0;
  }
  body.module-shell-v1 .result-wrap{
    margin:14px 12px 28px;
    padding:28px 18px;
  }
}

@media (prefers-reduced-motion:reduce){
  body.visual-pilot :is(.mc-card,.teo-tema-item,.teo-test-card),
  body.module-shell-v1 :is(.aprende-card,.cat-card,.ans-card,.mans-card){
    transition:none;
  }
}

/* ================================================================
   AR-048 · F5 — Refuerzo, planificación y entrenamiento GC
   Capa exclusivamente visual: conserva DOM, handlers, datos y estado.
   ================================================================ */

/* --- Mis errores: de listado utilitario a centro de refuerzo --- */
body.visual-pilot #view-pro-falladas{
  max-width:1180px;
  padding-bottom:56px;
}
body.visual-pilot #view-pro-falladas .conf-header{
  position:relative;
  margin:22px 0 24px;
  padding:22px 24px 22px 28px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--brand-primary) 24%,white);
  border-left:7px solid var(--brand-primary);
  border-radius:14px;
  background:var(--card-bg);
  box-shadow:var(--shadow-sm);
}
body.visual-pilot #view-pro-falladas .conf-header::after{
  content:"\21BB";
  position:absolute;
  right:22px;
  top:50%;
  translate:0 -50%;
  color:color-mix(in srgb,var(--brand-primary) 8%,transparent);
  font:900 76px/1 var(--font-display);
  pointer-events:none;
}
body.visual-pilot #view-pro-falladas .fall-intro{
  margin-bottom:20px;
  padding:16px 18px;
  border-color:color-mix(in srgb,var(--brand-primary) 22%,white);
  border-left:4px solid var(--brand-accent);
  border-radius:12px;
  background:var(--brand-primary-soft);
  color:var(--brand-primary);
}
body.visual-pilot #view-pro-falladas .fall-cards{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
body.visual-pilot #view-pro-falladas .fall-card{
  position:relative;
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:24px 20px 20px;
  overflow:hidden;
  border-color:var(--card-border);
  border-radius:14px;
  background:var(--card-bg);
  box-shadow:var(--shadow-sm);
  transition:translate .18s ease,box-shadow .18s ease;
}
body.visual-pilot #view-pro-falladas .fall-card:not(.dis):hover{
  translate:0 -2px;
  box-shadow:var(--shadow-m);
}
body.visual-pilot #view-pro-falladas .fall-card.dis{
  background:var(--neutral-50);
  opacity:.78;
  box-shadow:none;
}
body.visual-pilot #view-pro-falladas .fall-card-top{
  gap:12px;
  margin-bottom:10px;
}
body.visual-pilot #view-pro-falladas .fall-card-top .ti{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--danger-50);
  font-size:24px;
}
body.visual-pilot #view-pro-falladas .fall-card.dis .fall-card-top .ti{
  background:var(--neutral-100);
}
body.visual-pilot #view-pro-falladas .fall-n{
  font-size:42px;
}
body.visual-pilot #view-pro-falladas .fall-card-name{
  margin-bottom:16px;
  color:var(--brand-primary);
  font-family:var(--font-display);
  font-size:17px;
  font-weight:800;
}
body.visual-pilot #view-pro-falladas .prog-cta{
  width:100%;
  min-height:42px;
  justify-content:center;
  margin-top:auto;
  border-radius:9px;
  background:var(--brand-primary);
  color:white;
}
body.visual-pilot #view-pro-falladas .prog-cta:disabled{
  background:var(--neutral-200);
  color:var(--neutral-600);
  cursor:not-allowed;
}

/* --- Contrato compartido de los dos planes semanales --- */
body.visual-pilot :is(
  #view-estudio,#view-est-semana,#view-estudio-sesion,
  #view-entrenamiento,#view-ent-semana,#view-entrenamiento-sesion,
  #view-ent-player,#view-ent-progreso
){
  background:transparent;
}
body.visual-pilot :is(
  #view-estudio,#view-est-semana,#view-estudio-sesion,
  #view-entrenamiento,#view-ent-semana,#view-entrenamiento-sesion,
  #view-ent-player,#view-ent-progreso
) .ent-bar{
  top:var(--topbar-h,0px);
  min-height:66px;
  padding:12px clamp(18px,3vw,32px);
  border:1px solid var(--card-border);
  border-top:0;
  border-radius:0 0 14px 14px;
  background:color-mix(in srgb,var(--card-bg) 94%,transparent);
  box-shadow:var(--shadow-xs);
  backdrop-filter:blur(12px);
}
body.visual-pilot :is(
  #view-estudio,#view-est-semana,#view-estudio-sesion,
  #view-entrenamiento,#view-ent-semana,#view-entrenamiento-sesion,
  #view-ent-player,#view-ent-progreso
) .ent-back{
  min-height:40px;
  padding:0 14px;
  border:1px solid color-mix(in srgb,var(--brand-primary) 28%,white);
  border-radius:9px;
  color:var(--brand-primary);
  letter-spacing:.8px;
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-regen{
  min-height:40px;
  border-color:color-mix(in srgb,var(--brand-primary) 26%,white);
  border-radius:9px;
  background:var(--card-bg);
  color:var(--brand-primary);
}
body.visual-pilot :is(
  #view-estudio,#view-est-semana,#view-estudio-sesion,
  #view-entrenamiento,#view-ent-semana,#view-entrenamiento-sesion,
  #view-ent-player,#view-ent-progreso
) .ent-scroll{
  width:min(100%,1180px);
  margin-inline:auto;
  padding:28px clamp(18px,3vw,34px) 56px;
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-global{
  padding:18px 20px;
  border:1px solid color-mix(in srgb,var(--brand-primary) 22%,white);
  border-radius:13px;
  background:var(--card-bg);
  box-shadow:var(--shadow-xs);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-global-bar{
  height:9px;
  background:var(--brand-primary-soft);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-global-fill{
  background:var(--brand-accent);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-resumen{
  position:relative;
  padding:22px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--brand-accent) 58%,var(--brand-primary));
  border-left:7px solid var(--brand-accent);
  border-radius:15px;
  background:var(--brand-primary);
  color:white;
  box-shadow:0 14px 32px color-mix(in srgb,var(--brand-primary) 20%,transparent);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-resumen-apt{
  margin-top:3px;
  font-size:28px;
  color:white;
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-resumen-meta{
  color:color-mix(in srgb,white 82%,transparent);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-nota-chip{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.1);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-leyenda{
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--brand-primary) 15%,white);
  border-radius:11px;
  background:var(--brand-primary-soft);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-wk-card{
  position:relative;
  padding:22px;
  overflow:hidden;
  border-color:var(--card-border);
  border-radius:15px;
  background:var(--card-bg);
  box-shadow:var(--shadow-sm);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-wk-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--neutral-200);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-wk-card.actual{
  border:1px solid color-mix(in srgb,var(--brand-primary) 48%,white);
  box-shadow:var(--shadow-m);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-wk-card.actual::before{
  background:var(--brand-accent);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-wk-title{
  margin:2px 0;
  font-size:30px;
  color:var(--brand-primary);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-wk-fase{
  color:var(--gold-700);
}
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-wk-row{
  min-height:42px;
  padding:9px 0;
}

/* Semana, sesión, reproductor y marcas */
body.visual-pilot :is(#view-est-semana,#view-ent-semana) .ent-semsel{
  color:var(--brand-primary);
  letter-spacing:.8px;
}
body.visual-pilot :is(#view-est-semana,#view-ent-semana) .ent-semsel button{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid var(--card-border);
  border-radius:50%;
  background:var(--card-bg);
}
body.visual-pilot :is(#view-est-semana,#view-ent-semana) .ent-coach{
  padding:18px;
  border-color:color-mix(in srgb,var(--brand-primary) 20%,white);
  border-left:5px solid var(--brand-accent);
  border-radius:13px;
  background:var(--brand-primary-soft);
}
body.visual-pilot :is(#view-est-semana,#view-ent-semana) .ent-coach-av{
  background:var(--brand-primary);
  color:white;
}
body.visual-pilot :is(#view-est-semana,#view-ent-semana) .ent-ses-card{
  min-height:76px;
  padding:17px 18px;
  border-color:var(--card-border);
  border-radius:13px;
  background:var(--card-bg);
  box-shadow:var(--shadow-xs);
}
body.visual-pilot :is(#view-est-semana,#view-ent-semana) .ent-ses-card:hover{
  translate:0 -1px;
  box-shadow:var(--shadow-sm);
}
body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) .ent-det-head{
  margin-bottom:18px;
  padding:28px 26px;
  border:1px solid color-mix(in srgb,var(--brand-accent) 55%,var(--brand-primary));
  border-left:7px solid var(--brand-accent);
  border-radius:15px;
  background:var(--brand-primary);
  color:white;
  box-shadow:var(--shadow-m);
}
body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) :is(.ent-det-fecha,.ent-det-tit,.ent-det-sub){
  color:white;
}
body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) .ent-det-tit{
  font-size:34px;
}
body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) .ent-tip{
  margin-inline:0;
  border-color:color-mix(in srgb,var(--brand-accent) 42%,white);
  background:var(--gold-50);
}
body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) .ent-bl{
  border:1px solid var(--card-border);
  border-radius:13px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) .ent-bl-h{
  background:var(--brand-primary) !important;
}
body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) .ent-det-foot{
  left:var(--sidebar-w,0px);
  max-width:none;
  padding:18px max(20px,calc((100vw - var(--sidebar-w,0px) - 1180px)/2 + 34px));
  border-top:1px solid var(--card-border);
  background:color-mix(in srgb,var(--card-bg) 96%,transparent);
  box-shadow:0 -10px 28px rgba(15,23,42,.08);
  backdrop-filter:blur(12px);
}
body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) :is(.ent-iniciar,.ent-marcar){
  min-height:50px;
  border-radius:10px;
}
body.visual-pilot #view-ent-player .ent-pl-card{
  border-color:color-mix(in srgb,var(--brand-primary) 22%,white);
  border-top:5px solid var(--brand-accent);
  border-radius:16px;
  box-shadow:var(--shadow-m);
}
body.visual-pilot #view-ent-progreso .ent-prog-intro{
  padding:16px 18px;
  border-left:5px solid var(--brand-accent);
  border-radius:11px;
  background:var(--brand-primary-soft);
  color:var(--brand-primary);
}
body.visual-pilot #view-ent-progreso .ent-prog-card{
  padding:20px;
  border-color:var(--card-border);
  border-radius:14px;
  box-shadow:var(--shadow-sm);
}

/* Onboarding de ambos planes */
body.visual-pilot :is(#onb-ent-overlay,#onb-est-overlay) .onb-card{
  border:1px solid color-mix(in srgb,var(--brand-primary) 24%,white);
  border-top:6px solid var(--brand-accent);
  border-radius:18px;
  box-shadow:0 24px 64px rgba(15,23,42,.22);
}
body.visual-pilot :is(#onb-ent-overlay,#onb-est-overlay) .onb-title{
  color:var(--brand-primary);
}
body.visual-pilot :is(#onb-ent-overlay,#onb-est-overlay) .onb-date-input{
  color:var(--brand-primary);
  -webkit-text-fill-color:var(--brand-primary);
  caret-color:var(--brand-primary);
  opacity:1;
  background:var(--surface-default);
  border-color:color-mix(in srgb,var(--brand-primary) 28%,white);
}
body.visual-pilot :is(#onb-ent-overlay,#onb-est-overlay) .onb-date-input:focus{
  border-color:var(--brand-primary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 14%,transparent);
}
body.visual-pilot :is(#onb-ent-overlay,#onb-est-overlay) .onb-date-input::-webkit-datetime-edit{
  color:var(--brand-primary);
  opacity:1;
}
body.visual-pilot :is(#onb-ent-overlay,#onb-est-overlay) .onb-opt.selected{
  border-color:var(--brand-primary);
  background:var(--brand-primary-soft);
  color:var(--brand-primary);
  box-shadow:inset 4px 0 0 var(--brand-accent);
}
body.visual-pilot :is(#onb-ent-overlay,#onb-est-overlay) .onb-btn{
  border-radius:10px;
  background:var(--brand-primary);
  box-shadow:var(--shadow-sm);
}

@media (max-width:900px){
  body.visual-pilot #view-pro-falladas .fall-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) .ent-det-foot{
    left:0;
    padding-inline:18px;
  }
}

@media (max-width:640px){
  body.visual-pilot #view-pro-falladas{
    padding-bottom:36px;
  }
  body.visual-pilot #view-pro-falladas .conf-header{
    margin-top:18px;
    padding:18px 18px 18px 20px;
  }
  body.visual-pilot #view-pro-falladas .conf-header::after{
    display:none;
  }
  body.visual-pilot #view-pro-falladas .fall-cards{
    grid-template-columns:1fr;
  }
  body.visual-pilot #view-pro-falladas .fall-card{
    min-height:164px;
  }
  body.visual-pilot :is(
    #view-estudio,#view-est-semana,#view-estudio-sesion,
    #view-entrenamiento,#view-ent-semana,#view-entrenamiento-sesion,
    #view-ent-player,#view-ent-progreso
  ) .ent-bar{
    min-height:60px;
    padding:10px 12px;
    border-radius:0 0 11px 11px;
  }
  body.visual-pilot :is(
    #view-estudio,#view-est-semana,#view-estudio-sesion,
    #view-entrenamiento,#view-ent-semana,#view-entrenamiento-sesion,
    #view-ent-player,#view-ent-progreso
  ) .ent-scroll{
    padding:20px 14px 44px;
  }
  body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-resumen{
    padding:19px 17px;
  }
  body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-resumen-top{
    gap:12px;
  }
  body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-resumen-apt{
    font-size:24px;
  }
  body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-wk-card{
    padding:19px 17px;
  }
  body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-wk-row{
    align-items:flex-start;
  }
  body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-wk-dur{
    white-space:nowrap;
  }
  body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) .ent-det-head{
    margin:0 0 14px;
    padding:22px 18px;
    border-radius:13px;
  }
  body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) .ent-det-tit{
    font-size:29px;
  }
  body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) .ent-det-body{
    padding-inline:0;
  }
  body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) .ent-det-foot{
    gap:8px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  }
  body.visual-pilot :is(#view-estudio-sesion,#view-entrenamiento-sesion) .ent-marcar{
    white-space:normal;
  }
}

@media (prefers-reduced-motion:reduce){
  body.visual-pilot #view-pro-falladas .fall-card,
  body.visual-pilot :is(#view-est-semana,#view-ent-semana) .ent-ses-card{
    transition:none;
  }
}

/* ==========================================================================
   AR-048 · F4 · LENGUA GC: ACENTO VISUAL COMÚN
   --------------------------------------------------------------------------
   Ortografía y Gramática conservan mecánicas y estados distintos, pero
   dejan de comunicar categorías mediante turquesa/morado. El acento de
   navegación es siempre institucional; correct/incorrect siguen en Status.
   ========================================================================== */

body.visual-pilot :is(#len-conf,#len-active) > div{
  --len-accent:var(--brand-primary) !important;
}

body.visual-pilot :is(#view-lengua-conf,#view-lengua-activo){
  color:var(--text-primary);
}

body.visual-pilot :is(#view-lengua-conf,#view-lengua-activo) .len-hero{
  border-color:var(--brand-border-subtle);
  box-shadow:var(--shadow-s);
}

body.visual-pilot :is(#view-lengua-conf,#view-lengua-activo) .len-hero::before,
body.visual-pilot :is(#view-lengua-conf,#view-lengua-activo) .len-hero-ic{
  background:var(--brand-primary);
}

body.visual-pilot :is(#view-lengua-conf,#view-lengua-activo) :is(
  .len-sec-lbl i,
  .len-example .demo-tag,
  .len-count
){
  color:var(--brand-primary);
}

body.visual-pilot :is(#view-lengua-conf,#view-lengua-activo) .len-progress > i{
  background:linear-gradient(90deg,var(--brand-primary),var(--brand-primary-hover));
}

body.visual-pilot :is(#view-lengua-conf,#view-lengua-activo) .len-example{
  color:var(--text-primary);
  background:var(--brand-primary-soft);
  border-color:var(--brand-border-subtle);
}

body.visual-pilot :is(#view-lengua-conf,#view-lengua-activo) .len-chip.n{
  color:var(--brand-primary);
  background:var(--brand-primary-soft);
  border:1px solid var(--brand-border-subtle);
}

body.visual-pilot #view-lengua-activo .len-frase{
  color:var(--text-primary);
  border-color:var(--card-border);
  box-shadow:var(--shadow-xs);
}

body.visual-pilot #view-lengua-activo .len-gram-opt.sel{
  color:var(--brand-primary-strong);
  background:var(--brand-primary-soft);
  border-color:var(--brand-primary);
}

body.visual-pilot :is(#view-lengua-conf,#view-lengua-activo) .len-btn.p{
  color:var(--neutral-0);
  background:var(--brand-primary);
}

body.visual-pilot :is(#view-lengua-conf,#view-lengua-activo) .len-btn.p:hover{
  background:var(--brand-primary-hover);
}

body.visual-pilot :is(#view-lengua-conf,#view-lengua-activo) .len-btn.g{
  color:var(--brand-primary);
  background:var(--card-bg);
  border-color:var(--brand-border-subtle);
}

body.visual-pilot :is(#view-lengua-conf,#view-lengua-activo) :is(
  .len-word,
  .len-gram-opt,
  .len-btn
):focus-visible{
  outline:3px solid var(--focus-ring);
  outline-offset:3px;
}

/* Selección: tres decisiones legibles y una acción final inequívoca. */
body.visual-pilot #view-lengua-conf{
  padding-bottom:104px;
}

body.visual-pilot #view-lengua-conf #len-conf > div{
  counter-reset:gc-lengua-step;
}

body.visual-pilot #view-lengua-conf .len-hero{
  min-height:132px;
  padding:24px 28px;
  color:var(--neutral-0);
  background:var(--brand-primary-strong);
  border:0;
  border-left:6px solid var(--brand-accent);
  box-shadow:0 16px 36px rgba(4,48,27,.14);
}

body.visual-pilot #view-lengua-conf .len-hero::before{
  display:none;
}

body.visual-pilot #view-lengua-conf .len-hero-ic{
  color:var(--brand-primary-strong);
  background:var(--brand-accent);
  box-shadow:none;
}

body.visual-pilot #view-lengua-conf .len-hero-tx h3{
  color:var(--neutral-0);
  font-size:clamp(28px,4vw,36px);
}

body.visual-pilot #view-lengua-conf .len-hero-tx p{
  max-width:620px;
  color:rgba(255,255,255,.78);
  font-size:15px;
  line-height:1.5;
}

body.visual-pilot #view-lengua-conf .len-example{
  position:relative;
  margin:18px 0 28px;
  padding:18px 20px 18px 22px;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-left:4px solid var(--brand-accent);
  border-radius:12px;
  box-shadow:var(--shadow-xs);
}

body.visual-pilot #view-lengua-conf .len-sec-lbl{
  counter-increment:gc-lengua-step;
  min-height:34px;
  margin:22px 0 10px;
  color:var(--brand-primary-strong);
  font-family:var(--font-display);
  font-size:16px;
  letter-spacing:.08em;
}

body.visual-pilot #view-lengua-conf .len-sec-lbl::before{
  content:counter(gc-lengua-step);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  margin-right:3px;
  color:var(--neutral-0);
  background:var(--brand-primary);
  border-radius:50%;
  font-family:var(--font-body);
  font-size:14px;
  font-weight:800;
  letter-spacing:0;
}

body.visual-pilot #view-lengua-conf .len-sec-lbl > i{
  display:none;
}

body.visual-pilot #view-lengua-conf .len-conf-opt{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:4px;
}

body.visual-pilot #view-lengua-conf #len-numopts{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

body.visual-pilot #view-lengua-conf .len-conf-opt .ing-modo-btn{
  min-width:0;
  min-height:62px;
  padding:14px 16px;
  border-color:var(--card-border);
  border-radius:11px;
  box-shadow:var(--shadow-xs);
}

body.visual-pilot #view-lengua-conf .len-conf-opt .ing-modo-btn.active{
  color:var(--neutral-0);
  background:var(--brand-primary);
  border-color:var(--brand-primary);
  box-shadow:0 8px 20px rgba(4,48,27,.12);
}

body.visual-pilot #view-lengua-conf > #len-conf > div > .len-actions{
  position:sticky;
  z-index:20;
  bottom:0;
  margin:28px -18px -104px;
  padding:14px 18px calc(14px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);
  border-top:1px solid var(--card-border);
  box-shadow:0 -10px 28px rgba(4,48,27,.08);
  backdrop-filter:blur(12px);
}

body.visual-pilot #view-lengua-conf > #len-conf > div > .len-actions .len-btn{
  width:100%;
  min-height:54px;
  justify-content:center;
  font-family:var(--font-display);
  font-size:18px;
  letter-spacing:.05em;
  text-transform:uppercase;
}

/* Explicación: tarjeta neutra + estado compacto. En Lengua, el acierto usa
   azul para no confundirse con el verde institucional de Guardia Civil. */
body.visual-pilot #view-lengua-activo .len-fb{
  position:relative;
  overflow:hidden;
  margin-top:18px;
  padding:0;
  color:var(--text-primary);
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:13px;
  box-shadow:var(--shadow-s);
}

body.visual-pilot #view-lengua-activo .len-fb.good{
  border-color:var(--card-border);
}

body.visual-pilot #view-lengua-activo .len-fb.bad{
  border-color:var(--card-border);
}

body.visual-pilot #view-lengua-activo .len-fb .lf-h{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:32px;
  margin:16px 18px 0;
  padding:7px 11px;
  color:var(--status-incorrect-fg);
  background:var(--status-incorrect-bg);
  border:1px solid var(--status-incorrect-border);
  border-radius:999px;
  font-size:13px;
  line-height:1.2;
}

body.visual-pilot #view-lengua-activo .len-fb.good .lf-h{
  color:#1d4ed8;
  background:#eff6ff;
  border-color:#bfdbfe;
}

body.visual-pilot #view-lengua-activo .len-fb > :not(.lf-h):not(.len-corr){
  padding:15px 18px;
}

body.visual-pilot #view-lengua-activo .len-corr{
  margin:0;
  padding:15px 18px;
  border-bottom:1px solid var(--card-border);
  font-size:15px;
}

body.visual-pilot #view-lengua-activo .len-corr:last-child{
  border-bottom:0;
}

body.visual-pilot #view-lengua-activo .len-corr .cx{
  color:var(--status-incorrect-fg);
}

body.visual-pilot #view-lengua-activo .len-corr .cok{
  color:#1d4ed8;
}

body.visual-pilot #view-lengua-activo .len-rule{
  margin:10px 0 0;
  padding:12px 14px;
  color:var(--text-secondary);
  background:var(--neutral-50);
  border:1px solid var(--card-border);
  border-radius:8px;
}

body.visual-pilot #view-lengua-activo .len-actions{
  margin-top:16px;
}

body.visual-pilot #view-lengua-activo .len-actions .len-btn.p{
  min-width:190px;
  justify-content:center;
  box-shadow:0 8px 18px rgba(4,48,27,.10);
}

@media (max-width:560px){
  body.visual-pilot #view-lengua-conf{
    padding-bottom:92px;
  }
  body.visual-pilot #view-lengua-conf .len-hero{
    min-height:0;
    padding:20px;
  }
  body.visual-pilot #view-lengua-conf .len-example{
    margin-bottom:24px;
  }
  body.visual-pilot #view-lengua-conf .len-conf-opt,
  body.visual-pilot #view-lengua-conf #len-numopts{
    gap:8px;
  }
  body.visual-pilot #view-lengua-conf .len-conf-opt .ing-modo-btn{
    min-height:56px;
    padding:10px 8px;
  }
  body.visual-pilot #view-lengua-conf > #len-conf > div > .len-actions{
    margin-right:-12px;
    margin-bottom:-92px;
    margin-left:-12px;
    padding-right:12px;
    padding-left:12px;
  }
  body.visual-pilot #view-lengua-activo .len-corr{
    padding:14px;
  }
  body.visual-pilot #view-lengua-activo .len-actions .len-btn.p{
    width:100%;
  }
}

/* ==========================================================================
   AR-048 · F2 · CONFIGURACIÓN GC COMO SECUENCIA DE DECISIÓN
   --------------------------------------------------------------------------
   El marcado, los controles y su comportamiento permanecen intactos. Esta
   capa sólo jerarquiza la vista unificada de Teoría (Repaso/Test).
   ========================================================================== */

body.visual-pilot #view-pro-repaso-conf{
  counter-reset:gc-config-step;
  padding-bottom:112px;
}
body.visual-pilot #view-pro-repaso-conf > .ayuda-box{
  padding:12px 18px;
  margin-bottom:18px;
  background:var(--card-bg);
  border-color:var(--brand-border-subtle);
  border-left-color:var(--brand-primary);
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-pro-repaso-conf > .ayuda-box .ayuda-pasos{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 24px;
  padding-left:22px;
}
body.visual-pilot #view-pro-repaso-conf > .ayuda-box .ayuda-pasos li{
  margin:0;
  font-size:12.5px;
}
body.visual-pilot #view-pro-repaso-conf .btn-volver{
  margin-bottom:16px;
  background:transparent;
  color:var(--brand-primary);
  border-color:var(--brand-border-subtle);
  box-shadow:none;
}
body.visual-pilot #view-pro-repaso-conf .btn-volver:hover{
  background:var(--brand-primary-soft);
  border-color:var(--brand-primary);
  transform:translateX(-2px);
}
body.visual-pilot #view-pro-repaso-conf .page-header{
  margin-bottom:24px;
  padding-bottom:18px;
}
body.visual-pilot #view-pro-repaso-conf .page-header__title{
  font-size:32px;
}

/* Numeración puramente visual: cuando la cantidad está oculta en Repaso, el
   contador visible continúa 1→2 sin modificar el DOM ni el estado. */
body.visual-pilot #view-pro-repaso-conf .conf-section-label{
  counter-increment:gc-config-step;
  display:flex;
  align-items:center;
  gap:10px;
  margin:26px 0 12px;
  color:var(--text-primary);
  font-size:12px;
  letter-spacing:.08em;
}
body.visual-pilot #view-pro-repaso-conf .conf-section-label::before{
  content:counter(gc-config-step);
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:50%;
  background:var(--brand-primary);
  color:var(--neutral-0);
  font-family:var(--font-heading);
  font-size:12px;
  font-weight:800;
  letter-spacing:0;
}
body.visual-pilot #view-pro-repaso-conf .conf-section-label .ing-selall,
body.visual-pilot #view-pro-repaso-conf .conf-section-label > .ing-selall{
  margin-left:auto;
}

/* La decisión de modo es el protagonista de configuración. */
body.visual-pilot #view-pro-repaso-conf .teo-modo-cards{
  gap:16px;
  margin:0 0 26px;
}
body.visual-pilot #view-pro-repaso-conf .modo-card{
  position:relative;
  min-height:172px;
  padding:22px 22px 20px;
  gap:10px;
  background:var(--card-bg);
  color:var(--text-primary);
  border:1px solid var(--card-border);
  border-top:4px solid transparent;
  border-radius:var(--card-radius);
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-pro-repaso-conf .modo-card::after{
  content:'';
  position:absolute;
  top:18px;
  right:18px;
  width:18px;
  height:18px;
  border:2px solid var(--neutral-300);
  border-radius:50%;
  background:var(--card-bg);
}
body.visual-pilot #view-pro-repaso-conf .modo-card:hover{
  border-color:var(--brand-primary);
  border-top-color:var(--brand-primary);
  box-shadow:var(--shadow-s);
}
body.visual-pilot #view-pro-repaso-conf .modo-card.active{
  background:var(--brand-primary-strong);
  color:var(--neutral-0);
  border-color:var(--brand-primary-strong);
  border-top-color:var(--brand-accent);
  box-shadow:var(--shadow-m);
}
body.visual-pilot #view-pro-repaso-conf .modo-card.active::after{
  border:5px solid var(--brand-accent);
  background:var(--brand-primary-strong);
}
body.visual-pilot #view-pro-repaso-conf .modo-card .mc-top{
  padding-right:34px;
  font-size:20px;
}
body.visual-pilot #view-pro-repaso-conf .modo-card .mc-desc{
  max-width:62ch;
  font-size:13px;
  line-height:1.6;
  color:var(--text-secondary);
}
body.visual-pilot #view-pro-repaso-conf .modo-card.active .mc-desc{
  color:rgba(255,255,255,.82);
}

/* Cantidad: opciones compactas con un único estado seleccionado. */
body.visual-pilot #view-pro-repaso-conf .ing-opts-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(76px,1fr));
  gap:10px;
  max-width:620px;
}
body.visual-pilot #view-pro-repaso-conf .ing-opt{
  display:grid;
  place-items:center;
  min-height:48px;
  padding:10px 14px;
  border:1px solid var(--card-border);
  border-radius:10px;
  background:var(--card-bg);
  color:var(--text-primary);
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-pro-repaso-conf .ing-opt:hover{
  border-color:var(--brand-primary);
}
body.visual-pilot #view-pro-repaso-conf .ing-opt.sel{
  background:var(--brand-primary);
  color:var(--neutral-0);
  border-color:var(--brand-primary);
  box-shadow:var(--shadow-s);
}

/* Temario: densidad legible y selección inequívoca sin alterar las filas. */
body.visual-pilot #view-pro-repaso-conf .ing-selall{
  min-height:34px;
  padding:7px 12px;
  border:1px solid var(--brand-border-subtle);
  border-radius:9px;
  background:var(--card-bg);
  color:var(--brand-primary);
  text-decoration:none;
}
body.visual-pilot #view-pro-repaso-conf .ing-selall:hover{
  border-color:var(--brand-primary);
  background:var(--brand-primary-soft);
}
body.visual-pilot #view-pro-repaso-conf .ing-temas-list{
  gap:8px;
}
body.visual-pilot #view-pro-repaso-conf .ing-tema-row{
  min-height:70px;
  padding:14px 16px;
  border-color:var(--card-border);
  border-radius:11px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-pro-repaso-conf .ing-tema-row:hover{
  border-color:var(--brand-primary);
  box-shadow:var(--shadow-s);
}
body.visual-pilot #view-pro-repaso-conf .ing-tema-row.sel{
  background:var(--brand-primary-soft);
  border-color:var(--brand-primary);
  box-shadow:inset 4px 0 0 var(--brand-primary),var(--shadow-xs);
}
body.visual-pilot #view-pro-repaso-conf .ing-tema-num{
  color:var(--brand-primary);
}
body.visual-pilot #view-pro-repaso-conf .ing-tema-check{
  border-color:var(--neutral-300);
}
body.visual-pilot #view-pro-repaso-conf .ing-tema-row.sel .ing-tema-check{
  background:var(--brand-primary);
  border-color:var(--brand-primary);
}

/* CTA persistente autorizada por producto. El espacio inferior de la vista
   permite desplazar el último tema completamente por encima de este dock. */
body.visual-pilot #view-pro-repaso-conf > .btn-start{
  position:sticky;
  bottom:16px;
  z-index:8;
  width:100%;
  min-height:54px;
  margin-top:24px !important;
  background:var(--brand-primary) !important;
  color:var(--neutral-0);
  border:1px solid var(--brand-primary);
  border-radius:12px;
  outline:10px solid var(--app-bg);
  box-shadow:0 10px 28px rgba(6,55,31,.22);
  font-size:15px;
}
body.visual-pilot #view-pro-repaso-conf > .btn-start:hover{
  background:var(--brand-primary-hover) !important;
}
body.visual-pilot #view-pro-repaso-conf > .btn-start:disabled{
  background:var(--neutral-500) !important;
  border-color:var(--neutral-500);
  box-shadow:none;
}

@media (max-width:760px){
  body.visual-pilot #view-pro-repaso-conf > .ayuda-box .ayuda-pasos{
    grid-template-columns:1fr;
  }
  body.visual-pilot #view-pro-repaso-conf .page-header__title{
    font-size:27px;
  }
  body.visual-pilot #view-pro-repaso-conf .teo-modo-cards{
    flex-direction:column;
  }
  body.visual-pilot #view-pro-repaso-conf .modo-card{
    min-height:0;
    padding:18px;
  }
}

@media (max-width:480px){
  body.visual-pilot #view-pro-repaso-conf .ing-opts-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.visual-pilot #view-pro-repaso-conf .conf-section-label{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  body.visual-pilot #view-pro-repaso-conf .conf-section-label .ing-selall,
  body.visual-pilot #view-pro-repaso-conf .conf-section-label > .ing-selall{
    flex:0 0 calc(100% - 38px);
    width:calc(100% - 38px);
    margin-left:38px;
  }
  body.visual-pilot #view-pro-repaso-conf .ing-tema-row{
    align-items:flex-start;
    min-height:0;
    padding:13px 12px;
    gap:10px;
  }
  body.visual-pilot #view-pro-repaso-conf .ing-tema-num{
    min-width:36px;
    font-size:19px;
  }
  body.visual-pilot #view-pro-repaso-conf .ing-tema-txt{
    font-size:12.5px;
  }
  body.visual-pilot #view-pro-repaso-conf > .btn-start{
    bottom:10px;
    outline-width:8px;
  }
}

@media (prefers-reduced-motion:reduce){
  body.visual-pilot #view-pro-repaso-conf .modo-card,
  body.visual-pilot #view-pro-repaso-conf .ing-opt,
  body.visual-pilot #view-pro-repaso-conf .ing-tema-row,
  body.visual-pilot #view-pro-repaso-conf .btn-volver{
    transition:none;
  }
}

/* ==========================================================================
   AR-048 · F2 · EXTENSIÓN A CONFIGURADORES ACADÉMICOS GC
   --------------------------------------------------------------------------
   Teoría — Exámenes Oficiales, Inglés e Inglés — Exámenes Oficiales adoptan
   la misma secuencia visual. No se alteran controles, handlers ni estado.
   ========================================================================== */

body.visual-pilot :is(#view-eteo-conf,#view-eing-conf),
body.visual-pilot #view-pro-ingles #ing-tab-test{
  counter-reset:gc-config-step;
  padding-bottom:112px;
}
body.visual-pilot #view-pro-ingles #ing-tab-test{
  counter-reset:gc-config-step 1;
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .btn-volver{
  margin-bottom:16px;
  background:transparent;
  color:var(--brand-primary);
  border-color:var(--brand-border-subtle);
  box-shadow:none;
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .btn-volver:hover{
  background:var(--brand-primary-soft);
  border-color:var(--brand-primary);
  transform:translateX(-2px);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) > .conf-header{
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--neutral-200);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) > .conf-header .conf-title{
  color:var(--brand-primary);
  font-size:32px;
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) > .conf-header .conf-sub{
  margin-top:6px;
  color:var(--text-secondary);
}

/* Pasos visibles del configurador. El contador pertenece a cada vista y no
   participa en la lógica de selección. */
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .conf-section-label,
body.visual-pilot #view-pro-ingles #ing-tab-test .conf-section-label{
  counter-increment:gc-config-step;
  display:flex;
  align-items:center;
  gap:10px;
  margin:26px 0 12px;
  color:var(--text-primary);
  font-size:12px;
  letter-spacing:.08em;
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .conf-section-label::before,
body.visual-pilot #view-pro-ingles #ing-tab-test .conf-section-label::before{
  content:counter(gc-config-step);
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:50%;
  background:var(--brand-primary);
  color:var(--neutral-0);
  font-family:var(--font-heading);
  font-size:12px;
  font-weight:800;
  letter-spacing:0;
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .conf-section-label .ing-selall{
  margin-left:auto;
}

/* Decisión de modo en los dos bancos oficiales. */
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .teo-modo-cards{
  gap:16px;
  margin:0 0 26px;
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .modo-card{
  position:relative;
  min-height:172px;
  padding:22px 22px 20px;
  gap:10px;
  background:var(--card-bg);
  color:var(--text-primary);
  border:1px solid var(--card-border);
  border-top:4px solid transparent;
  border-radius:var(--card-radius);
  box-shadow:var(--shadow-xs);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .modo-card::after{
  content:'';
  position:absolute;
  top:18px;
  right:18px;
  width:18px;
  height:18px;
  border:2px solid var(--neutral-300);
  border-radius:50%;
  background:var(--card-bg);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .modo-card:hover{
  border-color:var(--brand-primary);
  border-top-color:var(--brand-primary);
  box-shadow:var(--shadow-s);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .modo-card.active{
  background:var(--brand-primary-strong);
  color:var(--neutral-0);
  border-color:var(--brand-primary-strong);
  border-top-color:var(--brand-accent);
  box-shadow:var(--shadow-m);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .modo-card.active::after{
  border:5px solid var(--brand-accent);
  background:var(--brand-primary-strong);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .modo-card .mc-top{
  padding-right:34px;
  font-size:20px;
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .modo-card .mc-desc{
  max-width:62ch;
  color:var(--text-secondary);
  font-size:13px;
  line-height:1.6;
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .modo-card.active .mc-desc{
  color:rgba(255,255,255,.82);
}

/* Inglés conserva sus pestañas Guías/Test y recibe una decisión de modo más
   compacta porque sus botones no contienen descripción. */
body.visual-pilot #view-pro-ingles .ing-tabbar{
  gap:8px;
  padding:5px;
  margin-bottom:20px;
  border:1px solid var(--brand-border-subtle);
  border-radius:12px;
  background:var(--brand-primary-soft);
}
body.visual-pilot #view-pro-ingles .ing-tab-btn{
  min-height:44px;
  border-radius:9px;
}
body.visual-pilot #view-pro-ingles .ing-tab-btn.active{
  background:var(--brand-primary);
  color:var(--neutral-0);
  box-shadow:var(--shadow-s);
}
body.visual-pilot #view-pro-ingles #ing-tab-test > div:first-child{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px !important;
  margin-bottom:8px !important;
}
body.visual-pilot #view-pro-ingles #ing-tab-test > div:first-child::before{
  content:'1';
  grid-column:1;
  grid-row:1;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--brand-primary);
  color:var(--neutral-0);
  font-family:var(--font-heading);
  font-size:12px;
  font-weight:800;
  letter-spacing:0;
}
body.visual-pilot #view-pro-ingles #ing-tab-test > div:first-child::after{
  content:'¿CÓMO QUIERES PRACTICAR?';
  grid-column:1 / -1;
  grid-row:1;
  align-self:center;
  padding-left:38px;
  color:var(--text-primary);
  font-family:var(--font-heading);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
body.visual-pilot #view-pro-ingles #ing-tab-test > div:first-child .ing-modo-btn{
  min-height:58px;
  justify-content:flex-start;
  padding:14px 18px;
  background:var(--card-bg);
  color:var(--text-primary);
  border:1px solid var(--card-border);
  border-radius:11px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot #view-pro-ingles #ing-tab-test > div:first-child .ing-modo-btn:first-of-type{
  grid-column:1;
  grid-row:2;
}
body.visual-pilot #view-pro-ingles #ing-tab-test > div:first-child .ing-modo-btn:last-of-type{
  grid-column:2;
  grid-row:2;
}
body.visual-pilot #view-pro-ingles #ing-tab-test > div:first-child .ing-modo-btn.active{
  background:var(--brand-primary-strong);
  color:var(--neutral-0);
  border-color:var(--brand-primary-strong);
  box-shadow:var(--shadow-m);
}

/* Opciones, listas y selección comparten el mismo contrato visual. */
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-opts-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(76px,1fr));
  gap:10px;
  max-width:720px;
}
body.visual-pilot #view-pro-ingles #ing-dificultad{
  grid-template-columns:repeat(5,minmax(90px,1fr));
  max-width:900px;
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-opt{
  display:grid;
  place-items:center;
  min-height:48px;
  padding:10px 14px;
  background:var(--card-bg);
  color:var(--text-primary);
  border:1px solid var(--card-border);
  border-radius:10px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-opt:hover{
  border-color:var(--brand-primary);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-opt.sel{
  background:var(--brand-primary);
  color:var(--neutral-0);
  border-color:var(--brand-primary);
  box-shadow:var(--shadow-s);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-selall{
  min-height:34px;
  padding:7px 12px;
  border:1px solid var(--brand-border-subtle);
  border-radius:9px;
  background:var(--card-bg);
  color:var(--brand-primary);
  text-decoration:none;
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-selall:hover{
  border-color:var(--brand-primary);
  background:var(--brand-primary-soft);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-temas-list{
  gap:8px;
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-tema-row{
  min-height:70px;
  padding:14px 16px;
  border-color:var(--card-border);
  border-radius:11px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-tema-row:hover{
  border-color:var(--brand-primary);
  box-shadow:var(--shadow-s);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-tema-row.sel{
  background:var(--brand-primary-soft);
  border-color:var(--brand-primary);
  box-shadow:inset 4px 0 0 var(--brand-primary),var(--shadow-xs);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-tema-num{
  color:var(--brand-primary);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-tema-check{
  border-color:var(--neutral-300);
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-tema-row.sel .ing-tema-check{
  background:var(--brand-primary);
  border-color:var(--brand-primary);
}

/* Acción persistente en las tres extensiones de F2. */
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) > .btn-start,
body.visual-pilot #view-pro-ingles #ing-tab-test > .btn-start{
  position:sticky;
  bottom:16px;
  z-index:8;
  width:100%;
  min-height:54px;
  margin-top:24px !important;
  background:var(--brand-primary) !important;
  color:var(--neutral-0);
  border:1px solid var(--brand-primary);
  border-radius:12px;
  outline:10px solid var(--app-bg);
  box-shadow:0 10px 28px rgba(6,55,31,.22);
  font-size:15px;
}
body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) > .btn-start:hover,
body.visual-pilot #view-pro-ingles #ing-tab-test > .btn-start:hover{
  background:var(--brand-primary-hover) !important;
}

@media (max-width:760px){
  body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) > .conf-header .conf-title{
    font-size:27px;
  }
  body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .teo-modo-cards{
    flex-direction:column;
  }
  body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .modo-card{
    min-height:0;
    padding:18px;
  }
  body.visual-pilot #view-pro-ingles #ing-dificultad{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:480px){
  body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-opts-row,
  body.visual-pilot #view-pro-ingles #ing-dificultad{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.visual-pilot #view-pro-ingles #ing-tab-test > div:first-child{
    grid-template-columns:1fr;
  }
  body.visual-pilot #view-pro-ingles #ing-tab-test > div:first-child .ing-modo-btn:first-of-type{
    grid-column:1;
    grid-row:2;
  }
  body.visual-pilot #view-pro-ingles #ing-tab-test > div:first-child .ing-modo-btn:last-of-type{
    grid-column:1;
    grid-row:3;
  }
  body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) .conf-section-label,
  body.visual-pilot #view-pro-ingles #ing-tab-test .conf-section-label{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .conf-section-label .ing-selall{
    flex:0 0 calc(100% - 38px);
    width:calc(100% - 38px);
    margin-left:38px;
  }
  body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-tema-row{
    align-items:flex-start;
    min-height:0;
    padding:13px 12px;
    gap:10px;
  }
  body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-tema-num{
    min-width:36px;
    font-size:19px;
  }
  body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) .ing-tema-txt{
    font-size:12.5px;
  }
  body.visual-pilot :is(#view-eteo-conf,#view-eing-conf) > .btn-start,
  body.visual-pilot #view-pro-ingles #ing-tab-test > .btn-start{
    bottom:10px;
    outline-width:8px;
  }
}

@media (prefers-reduced-motion:reduce){
  body.visual-pilot :is(#view-eteo-conf,#view-eing-conf,#view-pro-ingles) :is(.modo-card,.ing-modo-btn,.ing-opt,.ing-tema-row,.btn-volver){
    transition:none;
  }
}

/* ==========================================================================
   AR-048 · F2 · CATÁLOGO DE EXÁMENES OFICIALES GC
   --------------------------------------------------------------------------
   Exámenes Temario e Inglés conservan convocatorias, progreso, reserva y
   handlers. Esta capa sólo ordena modo → convocatoria → empezar.
   ========================================================================== */

body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing){
  counter-reset:gc-config-step;
  padding-bottom:112px;
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .btn-volver{
  margin-bottom:16px;
  background:transparent;
  color:var(--brand-primary);
  border-color:var(--brand-border-subtle);
  box-shadow:none;
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .btn-volver:hover{
  background:var(--brand-primary-soft);
  border-color:var(--brand-primary);
  transform:translateX(-2px);
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) > .conf-header{
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--neutral-200);
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) > .conf-header .conf-title{
  color:var(--brand-primary);
  font-size:32px;
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) > .conf-header .conf-sub{
  margin-top:6px;
  color:var(--text-secondary);
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .conf-section-label{
  counter-increment:gc-config-step;
  display:flex;
  align-items:center;
  gap:10px;
  margin:26px 0 12px;
  color:var(--text-primary);
  font-size:12px;
  letter-spacing:.08em;
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .conf-section-label::before{
  content:counter(gc-config-step);
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:50%;
  background:var(--brand-primary);
  color:var(--neutral-0);
  font-family:var(--font-heading);
  font-size:12px;
  font-weight:800;
  letter-spacing:0;
}

body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-modo-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:8px;
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-modo-btn{
  min-height:58px;
  justify-content:flex-start;
  padding:14px 18px;
  background:var(--card-bg);
  color:var(--text-primary);
  border:1px solid var(--card-border);
  border-radius:11px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-modo-btn:hover{
  border-color:var(--brand-primary);
  box-shadow:var(--shadow-s);
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-modo-btn.active{
  background:var(--brand-primary-strong);
  color:var(--neutral-0);
  border-color:var(--brand-primary-strong);
  box-shadow:var(--shadow-m);
}

body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-lista{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-lista > .teo-prog,
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-lista > div[style]{
  grid-column:1 / -1;
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-card{
  min-width:0;
  min-height:104px;
  padding:16px;
  border:1px solid var(--card-border);
  border-top:3px solid transparent;
  border-radius:var(--card-radius);
  background:var(--card-bg);
  box-shadow:var(--shadow-xs);
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-card:hover{
  border-color:var(--brand-primary);
  border-top-color:var(--brand-primary);
  box-shadow:var(--shadow-s);
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-card.sel{
  padding:16px;
  background:var(--brand-primary-soft);
  border:1px solid var(--brand-primary);
  border-top:3px solid var(--brand-accent);
  box-shadow:inset 4px 0 0 var(--brand-primary),var(--shadow-s);
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-card-logo{
  border-color:var(--brand-border-subtle);
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-card-title{
  color:var(--brand-primary);
  font-size:18px;
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-card-badge{
  background:var(--brand-primary-soft);
  color:var(--brand-primary);
}

body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-toggle{
  min-height:52px;
  margin:0 0 20px;
  padding:13px 16px;
  background:var(--card-bg);
  border-color:var(--brand-border-subtle);
  border-radius:11px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-toggle:hover{
  border-color:var(--brand-primary);
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-toggle-label{
  color:var(--text-primary);
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-toggle-sw.on{
  background:var(--brand-primary);
}

body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) > .btn-start{
  position:sticky;
  bottom:16px;
  z-index:8;
  width:100%;
  min-height:54px;
  margin-top:24px !important;
  background:var(--brand-primary) !important;
  color:var(--neutral-0);
  border:1px solid var(--brand-primary);
  border-radius:12px;
  outline:10px solid var(--app-bg);
  box-shadow:0 10px 28px rgba(6,55,31,.22);
  font-size:15px;
}
body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) > .btn-start:hover{
  background:var(--brand-primary-hover) !important;
}

@media (max-width:760px){
  body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) > .conf-header .conf-title{
    font-size:27px;
  }
  body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-lista{
    grid-template-columns:1fr;
  }
}

@media (max-width:480px){
  body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-modo-row{
    grid-template-columns:1fr;
  }
  body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-card{
    align-items:flex-start;
    min-height:0;
    padding:13px 12px;
    gap:10px;
  }
  body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-card.sel{
    padding:13px 12px;
  }
  body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-card-logo{
    width:44px;
    height:44px;
  }
  body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) .ex-card-badge{
    padding:3px 7px;
  }
  body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) > .btn-start{
    bottom:10px;
    outline-width:8px;
  }
}

@media (prefers-reduced-motion:reduce){
  body.visual-pilot :is(#view-examenes-teo,#view-examenes-ing) :is(.btn-volver,.ex-modo-btn,.ex-card,.ex-toggle,.btn-start){
    transition:none;
  }
}

/* ==========================================================================
   AR-048 · F3 · RUNNER GC CONCENTRADO
   --------------------------------------------------------------------------
   Capa visual común para los seis runners canónicos. Conserva ds-answer,
   opciones legacy, disclosure, scoring, cronómetro, navegación y acciones.
   ========================================================================== */

body.visual-pilot.runner-immersive :is(
  #view-pro-teo-activo,
  #view-pro-ingles-activo,
  #view-eteo-activo,
  #view-eing-activo,
  #view-examenes-activo,
  #view-lengua-activo
){
  background:var(--app-bg);
}

/* La cabecera pasa a ser el único elemento institucional durante el examen. */
body.visual-pilot.runner-immersive .ing-activo-header{
  background:var(--brand-primary-strong);
  color:var(--neutral-0);
  border-bottom:0;
  box-shadow:0 8px 24px rgba(4,48,27,.18);
}
body.visual-pilot.runner-immersive .ing-back-btn{
  min-height:36px;
  padding:8px 12px;
  color:var(--neutral-0);
  border:1px solid rgba(255,255,255,.42);
  border-radius:9px;
}
body.visual-pilot.runner-immersive .ing-back-btn:hover{
  background:rgba(255,255,255,.1);
  border-color:var(--neutral-0);
}
body.visual-pilot.runner-immersive :is(
  #teo-contador,#ing-contador,#eteo-contador,#eing-contador,#ex-contador,
  .ing-crono
){
  color:var(--neutral-0);
}
body.visual-pilot.runner-immersive .ing-activo-prog-wrap{
  height:5px;
  background:rgba(255,255,255,.2);
}
body.visual-pilot.runner-immersive .ing-activo-prog{
  height:5px;
  background:var(--brand-accent);
  box-shadow:0 0 12px rgba(212,168,31,.32);
}

/* Navegador de preguntas: herramienta secundaria, separada del enunciado. */
body.visual-pilot.runner-immersive .ex-nav{
  width:calc(100% - (2 * var(--content-gutter)));
  max-width:var(--content-max-read);
  margin:14px auto 0;
  border:1px solid var(--card-border);
  border-radius:11px;
  background:var(--card-bg);
  box-shadow:var(--shadow-xs);
  overflow:hidden;
  flex-shrink:0;
}
body.visual-pilot.runner-immersive .ex-nav-header{
  min-height:44px;
  padding:10px 14px;
}
body.visual-pilot.runner-immersive .ex-nav-header:hover{
  background:var(--brand-primary-soft);
}

/* Superficie de lectura: el lienzo queda detrás y pregunta/opciones forman una
   sola unidad. El scroll continúa perteneciendo al mismo nodo histórico. */
body.visual-pilot.runner-immersive .ing-activo-body{
  width:calc(100% - (2 * var(--content-gutter)));
  margin-top:16px;
  margin-bottom:12px;
  padding:28px;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:14px;
  box-shadow:var(--shadow-s);
}
body.visual-pilot.runner-immersive .ing-tema-pill{
  padding-left:12px;
  border-left:3px solid var(--brand-accent);
}
body.visual-pilot.runner-immersive .ing-pregunta{
  color:var(--brand-primary-strong);
}

/* Opciones legacy reciben la misma presencia que ds-answer sin alterar sus
   clases evaluativas ni la precedencia del Status System compartido. */
body.visual-pilot.runner-immersive .ing-opcion{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:11px;
  box-shadow:var(--shadow-xs);
}
@media (hover:hover){
body.visual-pilot.runner-immersive .ing-opcion:hover{
  border-color:var(--brand-primary);
  background:var(--brand-primary-soft);
  box-shadow:var(--shadow-s);
}
}
body.visual-pilot.runner-immersive .ing-opcion.seleccionada{
  border-color:var(--brand-primary);
  background:var(--brand-primary-soft);
  box-shadow:inset 3px 0 0 var(--brand-primary),var(--shadow-xs);
}
body.visual-pilot.runner-immersive .ing-opcion.correcta{
  border-color:var(--status-correct-border);
  background:var(--status-correct-bg);
  color:var(--status-correct-fg);
}
body.visual-pilot.runner-immersive .ing-opcion.incorrecta{
  border-color:var(--status-incorrect-border);
  background:var(--status-incorrect-bg);
  color:var(--status-incorrect-fg);
}
body.visual-pilot.runner-immersive .ing-explicacion{
  border-radius:10px;
  border-left-width:4px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot.runner-immersive .qstat{
  border-radius:10px;
}

/* Barra estable: acciones secundarias discretas y avance inequívoco. */
body.visual-pilot.runner-immersive .ing-activo-btns{
  width:calc(100% - (2 * var(--content-gutter)));
  margin:0 auto 16px;
  padding:12px;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:12px;
  box-shadow:var(--shadow-s);
}
body.visual-pilot.runner-immersive .ing-btn-dudosa{
  min-height:46px;
  padding:11px 15px;
  background:var(--card-bg) !important;
  color:var(--text-secondary);
  border-color:var(--card-border);
  border-radius:9px;
}
body.visual-pilot.runner-immersive .ing-btn-dudosa:hover{
  color:var(--brand-primary);
  border-color:var(--brand-primary);
  background:var(--brand-primary-soft) !important;
}
body.visual-pilot.runner-immersive .ing-btn-dudosa.marcada{
  color:var(--status-doubtful-fg);
  border-color:var(--status-doubtful-border);
  background:var(--status-doubtful-bg) !important;
}
body.visual-pilot.runner-immersive .ing-btn-sig{
  min-height:46px;
  background:var(--brand-accent);
  color:var(--brand-primary-strong);
  border-radius:9px;
  box-shadow:0 6px 16px rgba(134,103,0,.16);
}
body.visual-pilot.runner-immersive .ing-btn-sig:hover{
  background:var(--brand-accent-hover);
}

@media (min-width:1200px){
  body.visual-pilot.runner-immersive .ex-nav{
    max-width:min(1120px, calc(100vw - 96px));
  }
}

/* En móvil se conserva la lectura a sangre ya validada: la identidad queda en
   cabecera y acciones, sin gastar ancho en una tarjeta dentro de otra. */
@media (max-width:640px){
  body.visual-pilot.runner-immersive .ex-nav{
    width:calc(100% - 24px);
    margin-top:10px;
  }
  body.visual-pilot.runner-immersive .ing-activo-body{
    width:100%;
    margin:0;
    padding:20px var(--content-gutter);
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  body.visual-pilot.runner-immersive .ing-activo-btns{
    width:100%;
    margin:0;
    padding:10px var(--content-gutter) calc(10px + env(safe-area-inset-bottom,0px));
    border-width:1px 0 0;
    border-radius:0;
    box-shadow:0 -6px 18px rgba(4,48,27,.08);
  }
}

@media (max-width:390px){
  body.visual-pilot.runner-immersive .ing-btn-dudosa{
    padding:10px 11px;
    font-size:11.5px;
  }
}

@media (prefers-reduced-motion:reduce){
  body.visual-pilot.runner-immersive :is(.ing-back-btn,.ing-opcion,.ing-btn-dudosa,.ing-btn-sig,.ex-nav-header){
    transition:none;
  }
}

/* ==========================================================================
   AR-048 · F4 · RESULTADO GC ORIENTADO A LA DECISIÓN
   --------------------------------------------------------------------------
   Jerarquiza los resultados recibidos sin calcular ni reinterpretar nota,
   veredicto, escala, política o regla APTO/NO APTO.
   ========================================================================== */

body.visual-pilot :is(
  #view-pro-teo-resultado,
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado,
  #view-examenes-resultado,
  #view-lengua-resultado
){
  padding-top:32px;
  padding-bottom:48px;
}

/* Las variantes legacy con conf-header adoptan la misma entrada centrada que
   page-header--results. El contenido y el veredicto siguen viniendo del JS. */
body.visual-pilot :is(
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado,
  #view-examenes-resultado
) > .conf-header{
  max-width:var(--content-max-read);
  margin:0 auto 16px;
  padding-bottom:0;
  text-align:center;
  border:0;
}
body.visual-pilot :is(
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado
)[data-verdict] > .conf-header .conf-title{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:auto;
  padding:8px 16px;
  font-size:15px;
  line-height:1;
  letter-spacing:.14em;
  border:1px solid transparent;
  border-radius:999px;
}
body.visual-pilot :is(
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado
)[data-verdict="aprobado"] > .conf-header .conf-title{
  color:var(--status-correct-fg);
  background:var(--status-correct-bg);
  border-color:var(--status-correct-border);
}
body.visual-pilot :is(
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado
)[data-verdict="no_aprobado"] > .conf-header .conf-title{
  color:var(--status-incorrect-fg);
  background:var(--status-incorrect-bg);
  border-color:var(--status-incorrect-border);
}
body.visual-pilot :is(
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado,
  #view-examenes-resultado
) > .conf-header .conf-sub{
  margin-top:12px;
}

/* Nota/porcentaje: superficie protagonista con un borde semántico fino. */
body.visual-pilot :is(
  #view-pro-teo-resultado,
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado,
  #view-examenes-resultado
) .ing-res-circle{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  box-shadow:0 14px 34px rgba(4,48,27,.10);
}
body.visual-pilot :is(
  #view-pro-teo-resultado,
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado,
  #view-examenes-resultado
) .ing-res-circle::before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:var(--brand-primary);
}
body.visual-pilot :is(
  #view-pro-teo-resultado,
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado
)[data-verdict="aprobado"] .ing-res-circle::before{
  background:var(--status-correct-fg);
}
body.visual-pilot :is(
  #view-pro-teo-resultado,
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado
)[data-verdict="no_aprobado"] .ing-res-circle::before{
  background:var(--status-incorrect-fg);
}
body.visual-pilot #view-examenes-resultado .ing-res-circle{
  width:auto;
  height:auto;
  min-width:min(280px,100%);
  padding:24px 32px;
  gap:4px;
  color:var(--brand-primary-strong);
  background:var(--card-bg) !important;
  border:1px solid var(--card-border);
}
body.visual-pilot #view-examenes-resultado .ing-res-pct{
  color:var(--brand-primary-strong);
  font-size:clamp(38px,9vw,52px);
}
body.visual-pilot #view-examenes-resultado .ing-res-lbl{
  color:var(--text-muted);
}

/* Escala/política y declaración neutral de práctica son información esencial,
   pero se subordinan a la cifra. */
body.visual-pilot .pattern-scale,
body.visual-pilot #view-examenes-resultado .ex-res-meta{
  max-width:760px;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:14px 18px !important;
  background:var(--brand-primary-soft) !important;
  color:var(--text-secondary) !important;
  border:1px solid var(--brand-border-subtle) !important;
  border-left:4px solid var(--brand-primary) !important;
  border-radius:10px !important;
  line-height:1.65 !important;
}
body.visual-pilot #view-examenes-resultado .ex-res-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 20px;
  margin-top:20px !important;
}

/* Desglose comparable, con más aire y sin convertir cada dato en un aviso. */
body.visual-pilot :is(
  #view-pro-teo-resultado,
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado,
  #view-examenes-resultado
) .ing-res-stats{
  gap:14px;
}
body.visual-pilot :is(
  #view-pro-teo-resultado,
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado,
  #view-examenes-resultado
) .ing-res-stat{
  min-height:104px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-shadow:var(--shadow-xs);
}

/* Acción posterior: repetir domina y volver conserva presencia secundaria. */
body.visual-pilot #view-examenes-resultado .ex-res-meta + div{
  display:flex !important;
  gap:12px !important;
  margin:20px 0 32px !important;
}
body.visual-pilot #view-examenes-resultado .ex-res-meta + div > button{
  flex:1 1 0 !important;
  min-height:50px;
  min-width:0;
  padding:12px 16px !important;
  border-radius:10px;
}
body.visual-pilot #view-examenes-resultado .ex-res-meta + div > button:first-child{
  background:var(--brand-primary) !important;
  color:var(--neutral-0);
}
body.visual-pilot #view-examenes-resultado .ex-res-meta + div > button:last-child{
  background:var(--card-bg) !important;
  color:var(--brand-primary);
  border:1px solid var(--brand-primary);
}

/* Repaso de errores: lista de aprendizaje, no prolongación del veredicto. */
body.visual-pilot :is(
  #view-pro-teo-resultado,
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado,
  #view-examenes-resultado
) .ing-res-repaso{
  margin-top:8px;
  padding-top:24px;
  border-top:1px solid var(--card-border);
}
body.visual-pilot :is(
  #view-pro-teo-resultado,
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado,
  #view-examenes-resultado
) .ing-res-repaso-item{
  padding:18px;
  margin-bottom:10px;
  border-color:var(--card-border);
  border-left:4px solid var(--brand-primary);
  border-radius:11px;
  box-shadow:var(--shadow-xs);
}
body.visual-pilot :is(
  #view-pro-teo-resultado,
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado,
  #view-examenes-resultado
) .ing-res-repaso-item .ing-pregunta{
  color:var(--text-primary);
  line-height:1.5;
}
body.visual-pilot :is(
  #view-pro-teo-resultado,
  #view-pro-ingles-resultado,
  #view-eteo-resultado,
  #view-eing-resultado,
  #view-examenes-resultado
) .ing-res-repaso-exp{
  margin-top:8px;
  color:var(--text-secondary);
  font-size:12.5px;
  line-height:1.55;
}

/* Lengua conserva su verdad binaria APTO/NO APTO y su regla propia. */
body.visual-pilot #view-lengua-resultado #len-result{
  max-width:var(--content-max-read);
  margin:0 auto;
}
body.visual-pilot #view-lengua-resultado .btn-volver{
  margin-bottom:16px;
}
body.visual-pilot #view-lengua-resultado .conf-header{
  text-align:center;
  border:0;
  padding-bottom:0;
}
body.visual-pilot #view-lengua-resultado .len-verdict{
  min-height:150px;
  justify-content:center;
  border-width:1px;
  border-radius:16px;
  box-shadow:var(--shadow-s);
}
body.visual-pilot #view-lengua-resultado .len-verdict-v{
  font-size:clamp(38px,9vw,52px);
}
body.visual-pilot #view-lengua-resultado .len-verdict-meta,
body.visual-pilot #view-lengua-resultado .len-verdict-rule{
  padding:14px 16px;
  border:1px solid var(--brand-border-subtle);
  border-radius:10px;
}
body.visual-pilot #view-lengua-resultado .len-verdict-meta{
  text-align:center;
  background:var(--card-bg);
}
body.visual-pilot #view-lengua-resultado .len-verdict-rule{
  border-left:4px solid var(--brand-primary);
}
body.visual-pilot #view-lengua-resultado .len-actions{
  gap:12px;
  margin:20px 0 28px;
}
body.visual-pilot #view-lengua-resultado .len-actions .len-btn{
  flex:1 1 220px;
  min-height:50px;
  border-radius:10px;
}
body.visual-pilot #view-lengua-resultado .len-res-item{
  padding:16px;
  border-color:var(--card-border);
  box-shadow:var(--shadow-xs);
}

@media (max-width:640px){
  body.visual-pilot :is(
    #view-pro-teo-resultado,
    #view-pro-ingles-resultado,
    #view-eteo-resultado,
    #view-eing-resultado,
    #view-examenes-resultado,
    #view-lengua-resultado
  ){
    padding-top:24px;
    padding-bottom:32px;
  }
  body.visual-pilot #view-examenes-resultado .ex-res-meta{
    grid-template-columns:1fr;
  }
  body.visual-pilot #view-examenes-resultado .ex-res-meta + div{
    flex-direction:column;
  }
  body.visual-pilot #view-examenes-resultado .ex-res-meta + div > button{
    width:100%;
  }
}

@media (max-width:420px){
  body.visual-pilot :is(
    #view-pro-teo-resultado,
    #view-pro-ingles-resultado,
    #view-eteo-resultado,
    #view-eing-resultado,
    #view-examenes-resultado
  ) .ing-res-stats{
    gap:7px;
  }
  body.visual-pilot :is(
    #view-pro-teo-resultado,
    #view-pro-ingles-resultado,
    #view-eteo-resultado,
    #view-eing-resultado,
    #view-examenes-resultado
  ) .ing-res-stat{
    min-height:88px;
    padding:12px 6px;
  }
}

/* GC runner reading hierarchy — desktop only.
   Question and answers share Barlow, as in mobile. Hierarchy comes from a
   restrained size/weight step, not from mixing typographic voices.
   Evaluation colours remain owned by Status. */
@media (min-width:1200px){
  body.visual-pilot.runner-immersive :is(.ing-activo-body,.ing-activo-btns){
    max-width:min(1180px, calc(100vw - 96px));
    margin-left:auto;
    margin-right:auto;
  }

  body.visual-pilot.runner-immersive .ing-pregunta{
    max-width:74ch;
    color:var(--text-primary);
    font-family:var(--font-body);
    font-size:clamp(21px, 1.2vw, 22px);
    font-weight:600;
    line-height:1.45;
    letter-spacing:0;
  }
  body.visual-pilot.runner-immersive :is(.ds-answer__option,.ing-opcion){
    font-family:var(--font-body);
    font-size:clamp(18px, 1.05vw, 19px);
    font-weight:500;
    line-height:1.5;
  }
  body.visual-pilot.runner-immersive .ds-answer__option[data-paint="idle"],
  body.visual-pilot.runner-immersive .ing-opcion:not(.seleccionada):not(.correcta):not(.incorrecta){
    color:var(--text-primary);
  }
  body.visual-pilot.runner-immersive .ds-answer__label{
    max-width:74ch;
  }
  body.visual-pilot.runner-immersive .ds-answer__option[data-paint="idle"] .ds-answer__label > b,
  body.visual-pilot.runner-immersive .ing-opcion:not(.correcta):not(.incorrecta) .ing-opcion-letra{
    color:var(--brand-primary-strong);
    font-weight:700;
  }
}

@media (prefers-reduced-motion:reduce){
  body.visual-pilot :is(
    #view-pro-teo-resultado,
    #view-pro-ingles-resultado,
    #view-eteo-resultado,
    #view-eing-resultado,
    #view-examenes-resultado,
    #view-lengua-resultado
  ) :is(.ds-button,.len-btn,.ing-res-repaso-item){
    transition:none;
  }
}

/* ============================================================
   Piloto GC (jul-2026) · ds-answer con chip V1 «círculo premium»
   Chip con letra (sin radio ni «A.» inline); seleccionada = relleno de
   marca + anillo dorado; acierto/fallo con degradado iluminado.
   La letra inline del label queda solo para lectores de pantalla.
   ============================================================ */
body.visual-pilot .ds-answer__marker{
  width:34px;height:34px;flex:0 0 34px;border-radius:50%;
  border:1.5px solid var(--border-default,#dfe3ea);
  background:linear-gradient(160deg,#fff,#e9ecf1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 1px 2px rgba(0,0,0,.06);
  display:flex;align-items:center;justify-content:center;
  font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:14px;
  color:var(--brand-primary);
  transition:all .15s;
}
body.visual-pilot .ds-answer__option:not([data-paint="annulled"]) .ds-answer__marker::after{display:none;}
body.visual-pilot .ds-answer__option[data-idx="0"] .ds-answer__marker::before{content:"A";}
body.visual-pilot .ds-answer__option[data-idx="1"] .ds-answer__marker::before{content:"B";}
body.visual-pilot .ds-answer__option[data-idx="2"] .ds-answer__marker::before{content:"C";}
body.visual-pilot .ds-answer__option[data-idx="3"] .ds-answer__marker::before{content:"D";}
body.visual-pilot .ds-answer__option[data-idx="4"] .ds-answer__marker::before{content:"E";}
body.visual-pilot .ds-answer__option[data-idx="5"] .ds-answer__marker::before{content:"F";}
body.visual-pilot .ds-answer__option[data-idx="6"] .ds-answer__marker::before{content:"G";}
body.visual-pilot .ds-answer__option[data-idx="7"] .ds-answer__marker::before{content:"H";}
body.visual-pilot .ds-answer__option[data-paint="annulled"] .ds-answer__marker::before{content:"";}
body.visual-pilot .ds-answer__label > b{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}
body.visual-pilot .ds-answer__label{font-weight:500;}
body.visual-pilot .ds-answer__option[data-paint="selected"] .ds-answer__marker{
  background:linear-gradient(160deg,var(--brand-primary-hover),var(--brand-primary));
  border-color:var(--brand-primary);color:var(--dorado2,#e8ba30);
  box-shadow:0 0 0 3px rgba(201,162,39,.55);
}
body.visual-pilot .ds-answer__option[data-paint="correct"] .ds-answer__marker{
  background:linear-gradient(160deg,#2e9e5b,#1a7a4a);border-color:#2e9e5b;color:#fff;
  box-shadow:0 1px 6px rgba(34,197,94,.35);
}
body.visual-pilot .ds-answer__option[data-paint="incorrect"] .ds-answer__marker{
  background:linear-gradient(160deg,#ef4444,#dc2626);border-color:#dc2626;color:#fff;
  box-shadow:0 1px 6px rgba(220,38,38,.3);
}

/* Piloto GC · paridad de contenedores: ds-answer y opciones legacy idénticos */
body.visual-pilot .ds-answer__option{border-radius:11px;padding:15px 16px;gap:12px;}
body.visual-pilot .ing-opcion{border-radius:11px;padding:15px 16px;gap:12px;}

/* Piloto GC · el chip V1 gana a la talla 24px del runner-immersive del DS
   (design-system.css .visual-pilot.runner-immersive → 3 clases; aquí 3 clases
   + elemento). Círculo garantizado también si el DS cambia: aspect-ratio 1. */
body.visual-pilot.runner-immersive .ds-answer__marker,
body.visual-pilot.runner-immersive .ing-opcion-letra{
  width:34px;height:34px;min-width:34px;flex:0 0 34px;
  aspect-ratio:1/1;border-width:1.5px;
}

/* Piloto GC · estado SELECCIONADA premium en TODOS los módulos:
   relleno de marca (verde GC) + letra y aro dorados. Gana a la regla de
   color de letra del runner-immersive (:not(.correcta):not(.incorrecta)). */
body.visual-pilot .ing-opcion.seleccionada .ing-opcion-letra,
body.visual-pilot.runner-immersive .ing-opcion.seleccionada .ing-opcion-letra,
body.visual-pilot.runner-immersive .ing-opcion.seleccionada:not(.correcta):not(.incorrecta) .ing-opcion-letra{
  background:linear-gradient(160deg,var(--brand-primary-hover),var(--brand-primary));
  border-color:var(--brand-primary);
  color:var(--dorado2,#e8ba30);
  font-weight:800;
  box-shadow:0 0 0 3px rgba(201,162,39,.55);
}
body.visual-pilot .ds-answer__option[data-paint="selected"] .ds-answer__marker,
body.visual-pilot.runner-immersive .ds-answer__option[data-paint="selected"] .ds-answer__marker{
  background:linear-gradient(160deg,var(--brand-primary-hover),var(--brand-primary));
  border-color:var(--brand-primary);
  color:var(--dorado2,#e8ba30);
  box-shadow:0 0 0 3px rgba(201,162,39,.55);
}


/* ============================================================
   F9 · Tarjetas uniformes sin franjas verticales decorativas

   Los estados siguen visibles mediante iconos, chips, fondos y contornos
   completos. Se conservan las líneas que sí tienen función estructural:
   navegación activa, jerarquías y trazos de los propios iconos.
   ============================================================ */
body.visual-pilot :is(
  .conf-header,
  .ing-explicacion,
  .rep-exp-box,
  .dash-pers,
  .dash-guias,
  .dash-section-title,
  .tem-doc .key,
  .tem-doc .rec,
  .est-nota,
  .ayuda-box,
  .prog-weak,
  .prog-state,
  .ent-ses-card,
  .ent-tip,
  .teo-tema-item,
  .teo-test-card,
  .teo-doc-item,
  .teo-esquema-note,
  .modal-cta-card,
  .fall-intro,
  .ent-coach,
  .ent-prog-intro,
  .len-example,
  .ing-tema-pill,
  .pattern-scale,
  #view-examenes-resultado .ex-res-meta,
  .ing-res-repaso-item,
  .len-verdict-rule,
  .len-res-item
),
body.module-shell-v1 :is(
  .dim-row,
  .panel,
  .sect-tit,
  .aprende-card,
  .exp-panel,
  .pers-prep
){
  border-left-width:1px !important;
  border-left-color:var(--card-border) !important;
}

body.visual-pilot .dash-section-title{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0;
  box-shadow:none !important;
  padding:0;
}

body.visual-pilot :is(
  .teo-test-card.ok,
  .teo-test-card.flojo,
  .prog-state--empty,
  .prog-state--error
){
  border-color:var(--card-border) !important;
}

body.visual-pilot #view-lengua-resultado .len-res-item.ok{
  border-color:#bfdbfe !important;
  background:#f8fbff;
}
body.visual-pilot #view-lengua-resultado .len-res-item.no{
  border-color:var(--status-incorrect-border) !important;
  background:#fffafa;
}

body.visual-pilot :is(
  #view-dashboard-pro .pattern-next,
  #view-estudio .ent-resumen,
  #view-entrenamiento .ent-resumen,
  #view-estudio-sesion .ent-det-head,
  #view-entrenamiento-sesion .ent-det-head,
  #view-lengua-conf .len-hero,
  .prog-hero
),
body.module-shell-v1 :is(
  .psico-hero,
  #v-landing > .hero,
  .view:not(#v-landing) > .hero,
  #pers-status .combo
){
  border-left-width:1px !important;
  border-left-color:color-mix(in srgb,currentColor 16%,transparent) !important;
}

body.visual-pilot #view-lengua-conf .len-hero::before{
  display:none !important;
}


/* F9.1 · Elimina franjas verticales dibujadas como pseudo-elementos o sombras internas. */
body.visual-pilot :is(#view-estudio,#view-entrenamiento) .ent-wk-card::before{display:none !important;}
body.visual-pilot :is(#view-pro-repaso-conf .ing-tema-row.sel,#view-eteo-conf .ing-tema-row.sel,#view-eing-conf .ing-tema-row.sel,#view-pro-ingles .ing-tema-row.sel,#view-examenes-teo .ex-card.sel,#view-examenes-ing .ex-card.sel),
body.visual-pilot.runner-immersive .ing-opcion.seleccionada{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-primary) 12%,transparent),var(--shadow-xs) !important;}
body.visual-pilot :is(#onb-ent-overlay,#onb-est-overlay) .onb-opt.selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-accent) 28%,transparent) !important;}


/* F9.2 · Cajas internas de progreso, Lengua, Psicotécnicos y Personalidad. */
body.visual-pilot .prog-kpi::before{display:none !important;}
body.visual-pilot .len-rule,
body.module-shell-v1 :is(.gp-sol,#pss-wrap,.pv2-simu),
body.module-shell-v1 .dash-step > [onclick="abrirSimulacro()"]{border:1px solid var(--card-border) !important;border-radius:10px !important;}
body.personality-shell-v1 .q-card.done{box-shadow:var(--shadow-xs) !important;}
body.personality-shell-v1 #bio-report .sect-tit + div[style*="flex-direction:column"] > div{border:1px solid var(--card-border) !important;border-radius:10px !important;}


/* ============================================================
   F10 · Test de temario en móvil

   El cuerpo vuelve al flujo superior y conserva su propio scroll. Así una
   cuarta respuesta o una opción larga nunca queda debajo de la botonera.
   El alcance se limita al runner de Teoría y a anchos de teléfono.
   ============================================================ */
@media (max-width:600px){
  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-activo-header{
    padding:9px 12px;
  }

  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-activo-info{
    margin:6px 0 5px;
  }

  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-activo-body{
    flex:1 1 auto;
    min-height:0;
    width:100%;
    box-sizing:border-box;
    margin:0;
    padding:12px 12px 20px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scroll-padding-bottom:24px;
  }

  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-tema-pill{
    max-width:100%;
    box-sizing:border-box;
    margin-bottom:9px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-pregunta{
    margin-bottom:13px;
    font-size:clamp(16px,4.5vw,18px);
    line-height:1.45;
    overflow-wrap:anywhere;
  }

  body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-opciones,.ds-answer__options){
    min-width:0;
    gap:8px;
    margin:0 0 12px;
  }

  body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-opcion,.ds-answer__option){
    align-items:flex-start;
    width:100%;
    min-width:0;
    min-height:50px;
    box-sizing:border-box;
    padding:9px 11px;
    gap:9px;
    border-radius:10px;
    font-size:15px;
    line-height:1.4;
    white-space:normal;
  }

  body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-opcion-letra,.ds-answer__marker){
    width:30px;
    height:30px;
    min-width:30px;
    flex:0 0 30px;
    margin-top:1px;
    font-size:13px;
  }

  body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ds-answer__label,.ing-opcion > div:last-child){
    min-width:0;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-activo-btns{
    margin:0;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));
    gap:7px;
  }

  body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-btn-dudosa,.ing-btn-sig){
    min-height:40px;
    box-sizing:border-box;
    padding:9px 10px;
  }

  body.visual-pilot.runner-immersive.q-corregida #view-pro-teo-activo .ing-pregunta{
    font-size:16px;
    margin-bottom:10px;
  }

  body.visual-pilot.runner-immersive.q-corregida #view-pro-teo-activo :is(.ing-opcion,.ds-answer__option){
    min-height:44px;
    padding:7px 10px;
    font-size:14px;
  }
}


/* F10.1 · Equilibrio vertical adaptativo en teléfonos. */
@media (max-width:600px){
  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-activo-body{display:flex;flex-direction:column;justify-content:flex-start;}
  body.visual-pilot.runner-immersive:not(.q-corregida) #view-pro-teo-activo .ing-tema-pill{margin-top:auto;}
  body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-opciones,.ds-answer__options){display:flex;flex:0 0 auto;flex-direction:column;}
  body.visual-pilot.runner-immersive:not(.q-corregida) #view-pro-teo-activo :is(.ing-opciones,.ds-answer__options){margin-bottom:auto;padding-bottom:12px;}
}


/* F10.2 · Mesa de examen móvil SASPOL · 2026-09-04 */
@media (max-width:600px){
  body.visual-pilot.runner-immersive #view-pro-teo-activo{
    background:radial-gradient(circle at 100% 0,rgba(12,81,56,.055),transparent 42%),var(--page-bg,#f4f6f5);
  }
  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-activo-header{
    padding:9px 14px 10px;color:var(--neutral-0,#fff);background:var(--brand-primary-strong,#0b3f2e);border-bottom:0;box-shadow:0 5px 20px rgba(9,49,36,.16);
  }
  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-back-btn{color:var(--neutral-0,#fff);border-color:rgba(255,255,255,.4);}
  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-activo-body{
    display:flex;flex:1 1 auto;flex-direction:column;justify-content:flex-start;min-height:0;width:calc(100% - 20px);box-sizing:border-box;margin:10px auto;padding:16px 14px 20px;background:var(--card-bg,#fff);border:1px solid var(--card-border,#dde5e1);border-radius:18px;box-shadow:0 10px 30px rgba(15,45,35,.07);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding:16px 0 28px;
  }
  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-tema-pill{
    align-self:flex-start;max-width:100%;box-sizing:border-box;margin-bottom:11px;padding:5px 10px;border:1px solid rgba(12,81,56,.11);border-radius:999px;font-size:11px;letter-spacing:.035em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  body.visual-pilot.runner-immersive:not(.q-corregida) #view-pro-teo-activo .ing-tema-pill{margin-top:auto;}
  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-pregunta{
    max-width:36ch;margin:0 auto 15px;font-size:clamp(16px,4.5vw,18px);line-height:1.48;color:var(--text-primary,#183d2e);overflow-wrap:anywhere;
  }
  body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-opciones,.ds-answer__options){display:flex;flex:0 0 auto;flex-direction:column;width:100%;min-width:0;gap:9px;margin:0 0 12px;}
  body.visual-pilot.runner-immersive:not(.q-corregida) #view-pro-teo-activo :is(.ing-opciones,.ds-answer__options){margin-bottom:auto;padding-bottom:12px;}
  body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-opcion,.ds-answer__option){align-items:flex-start;width:100%;min-width:0;min-height:54px;box-sizing:border-box;padding:10px 12px;gap:10px;border-width:1px;border-radius:13px;font-size:15px;line-height:1.42;background:var(--card-bg,#fff);box-shadow:0 3px 12px rgba(20,45,37,.055);white-space:normal;-webkit-tap-highlight-color:transparent;}
  body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-opcion,.ds-answer__option):active{transform:scale(.992);}
  body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-opcion-letra,.ds-answer__marker){width:30px;height:30px;min-width:30px;flex:0 0 30px;margin-top:1px;font-size:13px;}
  body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ds-answer__label,.ing-opcion > div:last-child){min-width:0;overflow-wrap:anywhere;word-break:normal;}
  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-activo-btns{margin:0;padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px));gap:7px;background:rgba(255,255,255,.98);border-top:1px solid var(--card-border,#dde5e1);box-shadow:0 -5px 20px rgba(15,45,35,.055);}
  body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-btn-dudosa,.ing-btn-sig){min-height:40px;box-sizing:border-box;padding:9px 10px;}
  body.visual-pilot.runner-immersive.q-corregida #view-pro-teo-activo .ing-pregunta{font-size:16px;margin-bottom:10px;}
  body.visual-pilot.runner-immersive.q-corregida #view-pro-teo-activo :is(.ing-opcion,.ds-answer__option){min-height:44px;padding:7px 10px;font-size:14px;}
  body.visual-pilot.runner-immersive.q-corregida #view-pro-teo-activo .ing-explicacion{max-height:none !important;overflow:visible !important;margin:2px 0 12px;padding:14px;border:1px solid var(--brand-border-subtle,#cfe3d8) !important;border-radius:13px !important;background:var(--brand-primary-soft,#edf8f2) !important;box-shadow:none;font-size:14px;line-height:1.62;}
}



/* ============================================================
   F10.3 · Variantes moviles por oposicion · 2026-09-04
   GC: temario + examenes oficiales. PMM/PN: escala de 3 respuestas.
   ============================================================ */
@media (max-width:600px){
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo){
    background:radial-gradient(circle at 100% 0,rgba(12,81,56,.055),transparent 42%),var(--page-bg,#f4f6f5);
  }
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) .ing-activo-header{
    padding:9px 14px 10px;color:var(--neutral-0,#fff);background:var(--brand-primary-strong,#0b3f2e);border-bottom:0;box-shadow:0 5px 20px rgba(9,49,36,.16);
  }
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) .ing-back-btn{
    color:var(--neutral-0,#fff);border-color:rgba(255,255,255,.4);
  }
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) .ing-activo-info{margin:6px 0 5px;}
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) .ing-activo-body{
    display:flex;flex:1 1 auto;flex-direction:column;justify-content:flex-start;min-height:0;width:calc(100% - 20px);box-sizing:border-box;margin:10px auto;padding:16px 14px 20px;background:var(--card-bg,#fff);border:1px solid var(--card-border,#dde5e1);border-radius:18px;box-shadow:0 10px 30px rgba(15,45,35,.07);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding:16px 0 28px;
  }
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-pro-teo-activo,#view-eteo-activo,#view-examenes-activo) .ing-tema-pill{
    display:inline-flex;align-items:center;align-self:flex-start;width:auto;max-width:100%;min-height:26px;height:auto;box-sizing:border-box;margin-bottom:11px;padding:5px 10px;border:1px solid rgba(12,81,56,.11);border-radius:999px;font-size:11px;line-height:1.25;letter-spacing:.035em;overflow:visible;text-overflow:clip;white-space:normal;
  }
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive:not(.q-corregida) :is(#view-eteo-activo,#view-examenes-activo) .ing-tema-pill{margin-top:auto;}
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) .ing-pregunta{
    max-width:36ch;margin:0 auto 15px;font-size:clamp(16px,4.5vw,18px);line-height:1.48;color:var(--text-primary,#183d2e);overflow-wrap:anywhere;
  }
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) :is(.ing-opciones,.ds-answer__options){
    display:flex;flex:0 0 auto;flex-direction:column;min-width:0;width:100%;gap:9px;margin:0 0 12px;
  }
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive:not(.q-corregida) :is(#view-eteo-activo,#view-examenes-activo) :is(.ing-opciones,.ds-answer__options){margin-bottom:auto;padding-bottom:12px;}
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) :is(.ing-opcion,.ds-answer__option){
    align-items:flex-start;width:100%;min-width:0;min-height:54px;box-sizing:border-box;padding:10px 12px;gap:10px;border-width:1px;border-radius:13px;font-size:15px;line-height:1.42;background:var(--card-bg,#fff);box-shadow:0 3px 12px rgba(20,45,37,.055);white-space:normal;-webkit-tap-highlight-color:transparent;
  }
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) :is(.ing-opcion-letra,.ds-answer__marker){
    width:30px;height:30px;min-width:30px;flex:0 0 30px;margin-top:1px;font-size:13px;
  }
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) :is(.ds-answer__label,.ing-opcion > div:last-child){min-width:0;overflow-wrap:anywhere;word-break:normal;}
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) .ing-activo-btns{
    margin:0;padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px));gap:7px;background:rgba(255,255,255,.98);border-top:1px solid var(--card-border,#dde5e1);box-shadow:0 -5px 20px rgba(15,45,35,.055);
  }
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) :is(.ing-btn-dudosa,.ing-btn-sig){min-height:40px;box-sizing:border-box;padding:9px 10px;}
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive.q-corregida :is(#view-eteo-activo,#view-examenes-activo) .ing-pregunta{margin-bottom:10px;font-size:16px;}
  html:has(meta[name="saspol-academy"][content="gc"]) body.visual-pilot.runner-immersive.q-corregida :is(#view-eteo-activo,#view-examenes-activo) :is(.ing-opcion,.ds-answer__option){min-height:44px;padding:7px 10px;font-size:14px;}
  body.visual-pilot.runner-immersive.q-corregida :is(#view-pro-teo-activo,#view-eteo-activo,#view-examenes-activo) .ing-explicacion{max-height:none!important;overflow:visible!important;}
  html:is(:has(meta[name="saspol-academy"][content="pmm"]),:has(meta[name="saspol-academy"][content="pn"])) body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-pregunta{
    max-width:none;margin-bottom:18px;font-size:20px;line-height:1.55;
  }
  html:is(:has(meta[name="saspol-academy"][content="pmm"]),:has(meta[name="saspol-academy"][content="pn"])) body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-opciones,.ds-answer__options){gap:10px;}
  html:is(:has(meta[name="saspol-academy"][content="pmm"]),:has(meta[name="saspol-academy"][content="pn"])) body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-opcion,.ds-answer__option){min-height:0;padding:15px 16px;font-size:17px;line-height:1.5;}
  html:is(:has(meta[name="saspol-academy"][content="pmm"]),:has(meta[name="saspol-academy"][content="pn"])) body.visual-pilot.runner-immersive #view-pro-teo-activo :is(.ing-opcion-letra,.ds-answer__marker){width:34px;height:34px;min-width:34px;flex-basis:34px;font-size:14px;}
  html:is(:has(meta[name="saspol-academy"][content="pmm"]),:has(meta[name="saspol-academy"][content="pn"])) body.visual-pilot.runner-immersive.q-corregida #view-pro-teo-activo .ing-pregunta{font-size:18px;}
  html:is(:has(meta[name="saspol-academy"][content="pmm"]),:has(meta[name="saspol-academy"][content="pn"])) body.visual-pilot.runner-immersive.q-corregida #view-pro-teo-activo :is(.ing-opcion,.ds-answer__option){min-height:0;padding:12px 16px;font-size:16px;}
}

/* F10.4 · Etiqueta estable PMM/PN · 2026-09-04 */
@media (max-width:600px){
  html:is(
    :has(meta[name="saspol-academy"][content="pmm"]),
    :has(meta[name="saspol-academy"][content="pn"])
  ) body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-tema-pill{
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    width:auto;
    max-width:100%;
    min-height:26px;
    height:auto;
    box-sizing:border-box;
    padding:5px 10px;
    line-height:1.25;
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
  }
}
/* F10.7 · Teoría y Exámenes Oficiales coherentes en móvil · 2026-09-04 */
@media (max-width:600px){
  body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo){background:radial-gradient(circle at 100% 0,rgba(12,81,56,.055),transparent 42%),var(--page-bg,#f4f6f5)}
  body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) .ing-activo-header{padding:9px 14px 10px;color:var(--neutral-0,#fff);background:var(--brand-primary-strong,#0b3f2e);border-bottom:0;box-shadow:0 5px 20px rgba(9,49,36,.16)}
  body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) .ing-back-btn{color:var(--neutral-0,#fff);border-color:rgba(255,255,255,.4)}
  body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) .ing-activo-info{margin:6px 0 5px}
  body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) .ing-activo-body{display:flex;flex:1 1 auto;flex-direction:column;justify-content:flex-start;min-height:0;width:calc(100% - 20px);box-sizing:border-box;margin:10px auto;padding:16px 14px 20px;background:var(--card-bg,#fff);border:1px solid var(--card-border,#dde5e1);border-radius:18px;box-shadow:0 10px 30px rgba(15,45,35,.07);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding:16px 0 28px}
  body.visual-pilot.runner-immersive :is(#view-pro-teo-activo,#view-eteo-activo,#view-examenes-activo) .ing-tema-pill{display:inline-flex;align-items:center;align-self:flex-start;width:auto;max-width:100%;min-height:26px;height:auto;box-sizing:border-box;margin-bottom:11px;padding:5px 10px;border:1px solid var(--brand-border-subtle,#cfe3d8);border-radius:999px;font-size:11px;line-height:1.25;letter-spacing:.035em;overflow:visible;text-overflow:clip;white-space:normal}
  body.visual-pilot.runner-immersive:not(.q-corregida) :is(#view-eteo-activo,#view-examenes-activo) .ing-tema-pill{margin-top:auto}
  body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) .ing-pregunta{max-width:36ch;margin:0 auto 15px;font-size:clamp(16px,4.5vw,18px);line-height:1.48;color:var(--text-primary,#183d2e);overflow-wrap:anywhere}
  body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) :is(.ing-opciones,.ds-answer__options){display:flex;flex:0 0 auto;flex-direction:column;min-width:0;width:100%;gap:9px;margin:0 0 12px}
  body.visual-pilot.runner-immersive:not(.q-corregida) :is(#view-eteo-activo,#view-examenes-activo) :is(.ing-opciones,.ds-answer__options){margin-bottom:auto;padding-bottom:12px}
  body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) :is(.ing-opcion,.ds-answer__option){align-items:flex-start;width:100%;min-width:0;min-height:54px;box-sizing:border-box;padding:10px 12px;gap:10px;border-width:1px;border-radius:13px;font-size:15px;line-height:1.42;background:var(--card-bg,#fff);box-shadow:0 3px 12px rgba(20,45,37,.055);white-space:normal;-webkit-tap-highlight-color:transparent}
  body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) :is(.ing-opcion-letra,.ds-answer__marker){width:30px;height:30px;min-width:30px;flex:0 0 30px;margin-top:1px;font-size:13px}
  body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) :is(.ds-answer__label,.ing-opcion > div:last-child){min-width:0;overflow-wrap:anywhere;word-break:normal}
  body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) .ing-activo-btns{margin:0;padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px));gap:7px;background:rgba(255,255,255,.98);border-top:1px solid var(--card-border,#dde5e1);box-shadow:0 -5px 20px rgba(15,45,35,.055)}
  body.visual-pilot.runner-immersive :is(#view-eteo-activo,#view-examenes-activo) :is(.ing-btn-dudosa,.ing-btn-sig){min-height:40px;box-sizing:border-box;padding:9px 10px}
  body.visual-pilot.runner-immersive.q-corregida :is(#view-eteo-activo,#view-examenes-activo) .ing-pregunta{margin-bottom:10px;font-size:16px}
  body.visual-pilot.runner-immersive.q-corregida :is(#view-eteo-activo,#view-examenes-activo) :is(.ing-opcion,.ds-answer__option){min-height:44px;padding:7px 10px;font-size:14px}
  body.visual-pilot.runner-immersive.q-corregida :is(#view-pro-teo-activo,#view-eteo-activo,#view-examenes-activo) .ing-explicacion{max-height:none!important;overflow:visible!important;margin:2px 0 12px;padding:14px;color:var(--brand-primary-strong,#183d2e);border:1px solid var(--brand-border-subtle,#cfe3d8)!important;border-radius:13px!important;background:var(--brand-primary-soft,#edf8f2)!important;box-shadow:none;font-size:14px;line-height:1.62}
  html:is(:has(meta[name="saspol-academy"][content="pmm"]),:has(meta[name="saspol-academy"][content="pn"]),:has(meta[name="saspol-academy"][content="oficial"])) body.visual-pilot.runner-immersive :is(#view-pro-teo-activo,#view-eteo-activo,#view-examenes-activo) .ing-pregunta{max-width:none;margin-bottom:18px;font-size:20px;line-height:1.55}
  html:is(:has(meta[name="saspol-academy"][content="pmm"]),:has(meta[name="saspol-academy"][content="pn"]),:has(meta[name="saspol-academy"][content="oficial"])) body.visual-pilot.runner-immersive :is(#view-pro-teo-activo,#view-eteo-activo,#view-examenes-activo) :is(.ing-opciones,.ds-answer__options){gap:10px}
  html:is(:has(meta[name="saspol-academy"][content="pmm"]),:has(meta[name="saspol-academy"][content="pn"]),:has(meta[name="saspol-academy"][content="oficial"])) body.visual-pilot.runner-immersive :is(#view-pro-teo-activo,#view-eteo-activo,#view-examenes-activo) :is(.ing-opcion,.ds-answer__option){min-height:0;padding:15px 16px;font-size:17px;line-height:1.5}
  html:is(:has(meta[name="saspol-academy"][content="pmm"]),:has(meta[name="saspol-academy"][content="pn"]),:has(meta[name="saspol-academy"][content="oficial"])) body.visual-pilot.runner-immersive :is(#view-pro-teo-activo,#view-eteo-activo,#view-examenes-activo) :is(.ing-opcion-letra,.ds-answer__marker){width:34px;height:34px;min-width:34px;flex-basis:34px;font-size:14px}
  html:is(:has(meta[name="saspol-academy"][content="pmm"]),:has(meta[name="saspol-academy"][content="pn"]),:has(meta[name="saspol-academy"][content="oficial"])) body.visual-pilot.runner-immersive.q-corregida :is(#view-pro-teo-activo,#view-eteo-activo,#view-examenes-activo) .ing-pregunta{font-size:18px}
  html:is(:has(meta[name="saspol-academy"][content="pmm"]),:has(meta[name="saspol-academy"][content="pn"]),:has(meta[name="saspol-academy"][content="oficial"])) body.visual-pilot.runner-immersive.q-corregida :is(#view-pro-teo-activo,#view-eteo-activo,#view-examenes-activo) :is(.ing-opcion,.ds-answer__option){min-height:0;padding:12px 16px;font-size:16px}
}

/* ============================================================
   F11 · Continuidad visual en tablet y escritorio

   Extiende el lenguaje visual aprobado en móvil sin cambiar la geometría
   existente del test: no altera tamaños, anchos, alturas, márgenes, padding,
   tipografía ni separación. Solo unifica superficies, color y profundidad.
   ============================================================ */
@media (min-width:601px){
  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ){
    background:
      radial-gradient(circle at 100% 0,rgba(12,81,56,.055),transparent 42%),
      var(--page-bg,#f4f6f5);
  }

  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ) .ing-activo-header{
    color:var(--neutral-0,#fff);
    background:var(--brand-primary-strong,#0b3f2e);
    border-bottom-color:transparent;
    box-shadow:0 5px 20px rgba(9,49,36,.16);
  }

  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ) :is(.ing-back-btn,.ing-activo-info,.ing-crono){
    color:var(--neutral-0,#fff);
  }

  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ) .ing-activo-prog-wrap{
    background:rgba(255,255,255,.18);
  }

  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ) .ing-activo-prog{
    background:var(--brand-accent,#c9a227);
  }

  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ) .ing-activo-body{
    background:var(--card-bg,#fff);
    border-radius:18px;
    outline:1px solid var(--card-border,#dde5e1);
    outline-offset:-1px;
    box-shadow:0 10px 30px rgba(15,45,35,.07);
  }

  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ) .ing-tema-pill{
    color:var(--brand-primary-strong,#183d2e);
    background:var(--brand-primary-soft,#edf8f2);
    box-shadow:inset 0 0 0 1px var(--brand-border-subtle,#cfe3d8);
  }

  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ) .ing-pregunta{
    color:var(--text-primary,#183d2e);
  }

  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ) :is(.ing-opcion,.ds-answer__option){
    background:var(--card-bg,#fff);
    border-color:var(--card-border,#dde5e1);
    box-shadow:0 3px 12px rgba(20,45,37,.055);
  }

  @media (hover:hover){
    body.visual-pilot.runner-immersive :is(
      #view-pro-teo-activo,
      #view-eteo-activo,
      #view-examenes-activo
    ) :is(.ing-opcion,.ds-answer__option):not(.correcta):not(.incorrecta):hover{
      background:var(--brand-primary-soft,#edf8f2);
      border-color:var(--brand-border-subtle,#cfe3d8);
    }
  }

  body.visual-pilot.runner-immersive.q-corregida :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ) .ing-explicacion{
    color:var(--brand-primary-strong,#183d2e);
    background:var(--brand-primary-soft,#edf8f2);
    border-left-color:transparent !important;
    border-radius:13px !important;
    box-shadow:inset 0 0 0 1px var(--brand-border-subtle,#cfe3d8);
  }

  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ) .ing-activo-btns{
    background:rgba(255,255,255,.98);
    border-top-color:var(--card-border,#dde5e1);
    box-shadow:0 -5px 20px rgba(15,45,35,.055);
  }
}


/* ============================================================
   F12 · Etiqueta de tema compacta y neutra en tablet/escritorio

   Replica el contenido breve aprobado en móvil. No modifica la geometría
   general del test ni el resto de la capa visual multidispositivo.
   ============================================================ */
@media (min-width:601px){
  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ) .ing-tema-pill{
    color:var(--text-secondary,#5f6d67);
    background:transparent !important;
    border-color:var(--card-border,#dde5e1);
    box-shadow:none !important;
  }

  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-tema-pill .tp-full{
    display:none;
  }

  body.visual-pilot.runner-immersive #view-pro-teo-activo .ing-tema-pill .tp-short{
    display:inline;
  }
}


/* ============================================================
   F13 · Corrección estable en tablet vertical

   Al mostrar el veredicto y la explicación se conserva la escala inicial.
   La tarjeta mantiene su scroll natural y sólo se animan estados de color.
   ============================================================ */
@media (min-width:761px) and (max-width:1200px) and (orientation:portrait){
  body.q-corregida :is(.ing-pregunta,.rep2-question){
    margin-bottom:24px !important;
    font-size:20px !important;
    line-height:1.45 !important;
    transition:none !important;
  }

  body.q-corregida .test-qtxt{
    font-size:22px !important;
    transition:none !important;
  }

  body.q-corregida :is(.ing-opciones,.rep2-opts,.test-opts,.ds-answer__options){
    gap:16px !important;
    transition:none !important;
  }

  body.q-corregida .ing-opciones{
    margin:22px 0 8px !important;
  }

  body.q-corregida :is(.rep2-opt,.test-opt,.ing-opcion,.ds-answer__option){
    min-height:70px !important;
    padding:15px 16px !important;
    font-size:19px !important;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease !important;
  }

  body.q-corregida :is(.rep2-ltr,.ing-opcion-letra,.ds-answer__marker){
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    flex:0 0 40px !important;
    font-size:16px !important;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease !important;
  }

  body.q-corregida :is(.ing-explicacion:not(.hidden),.rep2-exp){
    animation:saspolTabletExpFade .18s ease-out both !important;
  }
}

@keyframes saspolTabletExpFade{
  from{opacity:0;}
  to{opacity:1;}
}


/* F14 · Escala de lectura ampliada en escritorio */
@media (min-width:1201px){
  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-pro-ingles-activo,
    #view-eteo-activo,
    #view-eing-activo,
    #view-examenes-activo
  ) .ing-pregunta{
    font-size:clamp(23px,1.35vw,24px);
    line-height:1.48;
  }
  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-pro-ingles-activo,
    #view-eteo-activo,
    #view-eing-activo,
    #view-examenes-activo
  ) :is(.ing-opcion,.ds-answer__option){
    font-size:clamp(19px,1.12vw,20px);
    line-height:1.5;
  }
  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-pro-ingles-activo,
    #view-eteo-activo,
    #view-eing-activo,
    #view-examenes-activo
  ) .ing-explicacion{
    font-size:clamp(17px,.95vw,18px);
    line-height:1.65;
  }
}

/* F15 · App instalada en móvil: reservar la barra del sistema.
   El shorthand padding del runner móvil anulaba el safe-area del diseño base.
   No cambia tipografía, tarjetas ni la vista de navegador/tablet/escritorio. */
@media (max-width:760px) and (display-mode:standalone){
  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-pro-ingles-activo,
    #view-eteo-activo,
    #view-eing-activo,
    #view-examenes-activo
  ) .ing-activo-header{
    padding-top:calc(12px + env(safe-area-inset-top,0px)) !important;
  }
}
@media (max-width:600px) and (display-mode:standalone){
  body.visual-pilot.runner-immersive :is(
    #view-pro-teo-activo,
    #view-eteo-activo,
    #view-examenes-activo
  ) .ing-activo-header{
    padding-top:calc(9px + env(safe-area-inset-top,0px)) !important;
  }
}
