
:root{
  --bg:#f4f7f8;
  --panel:#ffffff;
  --panel2:#f8fafc;
  --text:#1f2937;
  --muted:#64748b;
  --line:#dfe7ea;
  --primary:#0f766e;
  --primary2:#1d4ed8;
  --accent:#166534;
  --soft:#ecfdf5;
  --blue-soft:#eff6ff;
  --green-soft:#ecfdf5;
  --ok:#10b981;
  --ok-soft:#ecfdf5;
  --bad:#ef4444;
  --bad-soft:#fef2f2;
  --shadow:0 10px 30px rgba(15,23,42,.08);
  --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  transition:background .2s,color .2s
}
body.dark{
  --bg:#0b1220;
  --panel:#111827;
  --panel2:#172033;
  --text:#e5e7eb;
  --muted:#94a3b8;
  --line:#263244;
  --soft:#102f2a;
  --blue-soft:#12233f;
  --green-soft:#102f2a;
  --ok-soft:#0f2f25;
  --bad-soft:#3a171b;
  --shadow:0 12px 34px rgba(0,0,0,.28);
}
button,input,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}

.topbar{
  position:sticky;top:0;z-index:30;
  background:linear-gradient(135deg,#1e3a8a,#0f766e);
  color:#fff;box-shadow:0 7px 22px rgba(15,23,42,.22)
}
.topbar-inner{
  max-width:1220px;margin:auto;padding:17px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:14px
}
.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.16);
  display:grid;place-items:center;font-size:22px;font-weight:900
}
.brand h1{font-size:19px;margin:0}
.brand small{display:block;opacity:.86;margin-top:2px}
.top-actions{display:flex;gap:8px;flex-wrap:wrap}

.btn{
  border:0;border-radius:10px;padding:10px 13px;font-weight:780;
  transition:.15s;display:inline-flex;align-items:center;gap:7px;justify-content:center
}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:linear-gradient(135deg,#1d4ed8,#0f766e);color:#fff}
.btn.light{background:#fff;color:#1e3a8a}
.btn.soft{background:var(--blue-soft);color:#1d4ed8}
.btn.ghost{background:#eef2f7;color:#374151}
.btn.danger{background:#fee2e2;color:#991b1b}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
body.dark .btn.light{background:#1e293b;color:#e0f2fe}
body.dark .btn.soft{background:#12325a;color:#93c5fd}
body.dark .btn.ghost{background:#1f2937;color:#e5e7eb}
body.dark .btn.danger{background:#3a171b;color:#fecaca}

.app{max-width:1220px;margin:22px auto;padding:0 16px 42px}
.card{
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow)
}
.dashboard-grid{display:grid;grid-template-columns:320px 1fr;gap:18px}
.sidebar{padding:18px;align-self:start;position:sticky;top:92px}
.side-title{font-size:18px;font-weight:900;margin-bottom:12px}
.field{margin:12px 0}
.field label{
  display:block;font-size:11px;font-weight:900;color:var(--muted);
  margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em
}
.field select,.field input,.filters select,.filters input{
  width:100%;padding:10px 11px;border:1px solid var(--line);
  border-radius:9px;background:var(--panel);color:var(--text);outline:none
}
.field select:focus,.field input:focus,.filters select:focus,.filters input:focus{
  border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.15)
}
.check-field{display:flex;align-items:center;gap:9px}
.check-field input{width:auto;accent-color:var(--primary)}
.check-field label{
  margin:0;text-transform:none;letter-spacing:0;font-size:14px;color:var(--text)
}
.stack-actions{display:grid;gap:8px;margin-top:14px}
.info-box{
  margin-top:14px;padding:12px;border-radius:11px;
  background:#f0fdf4;border:1px solid #bbf7d0;
  font-size:13px;color:#166534;line-height:1.45
}
body.dark .info-box{background:#102f2a;border-color:#166534;color:#86efac}
.week-summary-side{
  margin-top:14px;padding:12px;border-radius:11px;
  background:linear-gradient(135deg,var(--blue-soft),var(--green-soft));
  border:1px solid var(--line)
}
.week-summary-side span,.week-summary-side small{display:block;color:var(--muted);font-size:12px}
.week-summary-side strong{display:block;color:#0f766e;font-size:15px;margin:3px 0}
body.dark .week-summary-side strong{color:#5eead4}

.main-panel{padding:20px}
.panel-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px
}
.panel-head h2{margin:0 0 4px;font-size:22px}
.muted{color:var(--muted)}
.weeks-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
.week-btn{
  position:relative;min-height:72px;border:1px solid var(--line);background:var(--panel);
  color:var(--text);border-radius:12px;padding:10px;text-align:left;transition:.15s
}
.week-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#38bdf8}
.week-btn:disabled{opacity:.34;cursor:not-allowed}
.week-btn strong{display:block;font-size:15px}
.week-btn small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.week-btn .count{
  position:absolute;top:8px;right:8px;background:#dbeafe;color:#1d4ed8;
  padding:3px 6px;border-radius:999px;font-size:10px;font-weight:900
}
body.dark .week-btn .count{background:#12325a;color:#93c5fd}
.week-btn:nth-child(3n/**/+1):not(.selected):not(:disabled){border-left:4px solid #2563eb}
.week-btn:nth-child(3n/**/+2):not(.selected):not(:disabled){border-left:4px solid #0f766e}
.week-btn:nth-child(3n):not(.selected):not(:disabled){border-left:4px solid #166534}
body.dark .week-btn:nth-child(3n/**/+1):not(.selected):not(:disabled){border-left-color:#60a5fa}
body.dark .week-btn:nth-child(3n/**/+2):not(.selected):not(:disabled){border-left-color:#2dd4bf}
body.dark .week-btn:nth-child(3n):not(.selected):not(:disabled){border-left-color:#4ade80}
.week-btn.selected{
  background:linear-gradient(135deg,var(--blue-soft),var(--green-soft));
  border-color:#0f766e;box-shadow:inset 0 0 0 2px #0f766e
}
.week-summary{
  margin-top:15px;padding:13px 14px;border:1px dashed var(--line);
  border-radius:12px;background:rgba(148,163,184,.05);
  display:flex;justify-content:space-between;gap:14px
}
.week-summary>div:last-child{text-align:right}
.week-summary span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.week-summary strong{display:block;color:#0f766e;font-size:16px;margin-top:3px}
body.dark .week-summary strong{color:#5eead4}

body.dark body.dark body.dark 
.exam-shell{max-width:980px;margin:auto}
.exam-top{
  padding:17px 20px;display:flex;justify-content:space-between;
  gap:12px;align-items:center;margin-bottom:14px
}
.progress{height:8px;background:var(--line);border-radius:99px;overflow:hidden;flex:1;max-width:360px}
.progress>div{height:100%;background:linear-gradient(90deg,#2563eb,#0f766e);width:0;transition:.2s}
.question-card{padding:24px}
.q-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--muted);font-size:12px}
.q-title{font-size:18px;font-weight:600;margin:15px 0 18px;line-height:1.55;white-space:pre-line}
.helper-note{
  padding:11px 13px;border-radius:10px;background:#f0fdfa;border:1px solid #99f6e4;
  color:#115e59;font-size:13px;font-weight:500;margin:12px 0
}
body.dark .helper-note{background:#103834;border-color:#0f766e;color:#99f6e4}
.option{
  position:relative;display:flex;gap:10px;align-items:flex-start;padding:12px 13px;
  border:1px solid var(--line);border-radius:11px;margin:9px 0;background:var(--panel);
  cursor:pointer;transition:.15s
}
.option:hover{border-color:#38bdf8;background:var(--blue-soft)}
.option input{margin-top:3px;accent-color:var(--primary)}
.option.user-selected{outline:3px solid #0f766e;outline-offset:1px}
.option.helper-match{border-color:#38bdf8;background:var(--blue-soft);box-shadow:inset 4px 0 0 #0f766e}
.option.correct{border-color:#86efac;background:var(--ok-soft);outline:none}
.option.incorrect{border-color:#fca5a5;background:var(--bad-soft);outline:none}
.option .hint{margin-left:auto;font-size:10px;font-weight:900;color:#0f766e;opacity:0;white-space:nowrap}
.option.helper-match .hint{opacity:1}

.vf-row{
  display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--panel);
  border:1px solid var(--line);border-radius:10px;padding:13px 14px;margin:9px 0
}
.vf-text{line-height:1.45}
.vf-buttons{display:flex;gap:7px;flex:0 0 auto}
.vf-btn{
  width:42px;height:40px;border-radius:8px;border:2px solid var(--line);
  background:var(--panel);color:var(--text);font-weight:850;transition:.15s
}
.vf-btn:hover{background:var(--blue-soft)}
.vf-btn.selected{background:#0f766e;border-color:#0f766e;color:#fff}

.helper-combo{
  margin:12px 0;padding:12px 14px;border:1px dashed var(--line);border-radius:10px;
  background:var(--panel2);display:flex;justify-content:space-between;gap:10px;align-items:center
}
.helper-combo strong{color:#0f766e;letter-spacing:2px}
body.dark .helper-combo strong{color:#5eead4}

.match-section-title{
  font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted);margin:14px 0 7px
}
.match-stack{display:flex;flex-direction:column;gap:9px}
.match-card{
  position:relative;background:var(--panel);color:var(--text);font-weight:550;
  padding:13px 16px 13px 40px;border:1px solid var(--line);border-radius:10px;
  cursor:pointer;user-select:none;transition:.16s;overflow:hidden;line-height:1.42
}
.match-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:21px;
  background:var(--ribbon-color,#cbd5e1);
  clip-path:polygon(0 0,100% 0,60% 50%,100% 100%,0 100%)
}
.match-card.concept{font-weight:600}
.match-card.answer{--ribbon-color:#94a3b8}
.match-card:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.08)}
.match-card.selected{outline:3px solid #38bdf8;outline-offset:1px}
.match-card.paired{background:var(--ribbon-color)!important;color:#fff;border-color:transparent;font-weight:600}
.match-card.paired::before{display:none}
.match-pairs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.match-pair-badge{
  display:inline-flex;align-items:center;justify-content:center;
  margin-left:8px;padding:3px 7px;border-radius:999px;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);
  color:inherit;font-size:11px;font-weight:850;line-height:1.2
}
.match-pairs .match-pair-badge{margin-left:0}

.exam-nav{display:flex;justify-content:space-between;gap:10px;margin-top:14px}
.exam-nav .group{display:flex;gap:8px}
.navigator{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.nav-dot{
  width:34px;height:34px;border-radius:9px;border:1px solid var(--line);
  background:var(--panel);color:var(--text);font-size:12px;font-weight:800
}
.nav-dot.current{background:#0f766e;color:#fff;border-color:#0f766e}
.nav-dot.answered:not(.current){background:var(--blue-soft);color:#1d4ed8;border-color:#93c5fd}
.nav-dot.correct-review{background:#dcfce7;color:#166534;border-color:#86efac}
.nav-dot.wrong-review{background:#fee2e2;color:#991b1b;border-color:#fca5a5}

.result-card{padding:24px;margin-top:14px}
.result-score{font-size:42px;font-weight:950;color:#0f766e}
.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.result-item{background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:12px;text-align:center}
.result-item strong{display:block;font-size:21px}

.toast{
  position:fixed;right:18px;bottom:18px;z-index:80;max-width:360px;
  padding:13px 15px;border-radius:11px;background:#111827;color:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.2);opacity:0;transform:translateY(10px);
  pointer-events:none;transition:.2s
}
.toast.show{opacity:1;transform:translateY(0)}

.modal-backdrop{
  position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:70;
  display:grid;place-items:center;padding:18px
}
.modal{
  max-width:620px;width:100%;background:var(--panel);color:var(--text);
  border-radius:16px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.25)
}
.modal h3{margin:0 0 10px}
.codebox{
  white-space:pre-wrap;max-height:360px;overflow:auto;background:#0f172a;color:#e2e8f0;
  padding:13px;border-radius:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px
}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}

@media(max-width:900px){
  .dashboard-grid{grid-template-columns:1fr}
  .sidebar{position:static}
    .weeks-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:620px){
  .topbar-inner{align-items:flex-start;flex-direction:column}
  .top-actions{width:100%}
  .top-actions .btn{flex:1}
  .weeks-grid{grid-template-columns:repeat(3,1fr)}
      .question-card{padding:18px}
  .vf-row{align-items:flex-start}
  .helper-combo{align-items:flex-start;flex-direction:column}
  .result-grid{grid-template-columns:1fr 1fr}
  .option .hint{display:none}
  .exam-top{align-items:flex-start;flex-direction:column}
  .progress{max-width:none;width:100%}
  .week-summary{flex-direction:column}
  .week-summary>div:last-child{text-align:left}
}


.manage-modal{max-width:820px}
.manage-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.manage-head h3{margin:0 0 5px}
.icon-btn{
  width:38px;height:38px;border:1px solid var(--line);border-radius:10px;
  background:var(--panel2);color:var(--text);font-weight:900
}


.manage-list{
  max-height:480px;overflow:auto;border:1px solid var(--line);border-radius:12px
}




.manage-chip{
  display:inline-block;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:850;
  background:var(--blue-soft);color:#1d4ed8
}
.manage-chip.green{background:var(--green-soft);color:#166534}
body.dark .manage-chip{color:#93c5fd}
body.dark .manage-chip.green{color:#86efac}



.manage-footer{
  margin-top:14px;display:flex;justify-content:space-between;gap:12px;align-items:center
}
.manage-empty{padding:36px 18px;text-align:center;color:var(--muted)}
@media(max-width:620px){
  
  .manage-footer{align-items:stretch;flex-direction:column}
}


/* Administrar banco simplificado */




/* Tipografía de práctica más descansada */
.question-card{font-weight:400}
.q-title{line-height:1.58}
.vf-text{font-weight:400}
.vf-text strong{font-weight:600}
.option{font-weight:400}
.option strong{font-weight:600}
.q-meta{font-weight:400}
#examCourseLabel{font-weight:600}
.match-card{font-weight:400}
.match-card.concept{font-weight:600}

/* Más separación entre enunciado y alternativas */
#optionsArea{
  margin-top:18px;
}
.q-title{
  margin:15px 0 24px;
}
.option{
  margin:12px 0;
  padding:14px 15px;
}

/* Más aire entre la pregunta y las alternativas */
#optionsArea{
  margin-top:24px;
}
.q-title{
  margin:15px 0 28px;
}
.option{
  margin:14px 0;
  padding:16px 17px;
}


/* Importación ZIP + imágenes */
.question-image-area{
  display:flex;justify-content:center;align-items:center;margin:2px 0 28px;min-height:0;
}
.question-image-wrap{width:100%;display:flex;justify-content:center}
.question-image{
  display:block;width:auto;height:auto;max-width:min(100%,640px);max-height:520px;
  object-fit:contain;border-radius:12px;border:1px solid var(--line);
  background:#fff;padding:8px;box-shadow:0 5px 18px rgba(15,23,42,.08)
}
/* Límite adaptativo para imágenes propias de las preguntas.
   Horizontal/casi cuadrada: más compacta. Vertical: conserva más altura. */
.question-image.question-image-landscape{
  max-width:min(100%,500px);
  max-height:410px;
}
.question-image.question-image-portrait{
  max-width:min(100%,520px);
  max-height:680px;
}
/* Las imágenes pequeñas se amplían de manera proporcional hasta el ancho
   calculado por JS (máximo objetivo: 400px), respetando los límites anteriores. */
.question-image.question-image-small{
  width:min(100%,var(--question-image-small-width,400px));
  height:auto;
}
body.dark .question-image{background:#f8fafc}
.question-image-missing{
  width:100%;padding:11px 13px;border:1px dashed #f59e0b;background:#fffbeb;
  color:#92400e;border-radius:10px;font-size:12px
}
body.dark .question-image-missing{background:#3a2a12;border-color:#b45309;color:#fde68a}
.import-summary-modal{max-width:760px}
.import-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:16px 0}
.import-stat{border:1px solid var(--line);background:var(--panel2);border-radius:11px;padding:12px;text-align:center}
.import-stat strong{display:block;font-size:23px;color:#0f766e}
.import-stat:nth-child(2) strong{color:#1d4ed8}
.import-stat:nth-child(3) strong{color:#166534}
.import-stat:nth-child(4) strong{color:#64748b}
.import-stat:nth-child(5) strong{color:#b45309}
.import-stat span{font-size:11px;color:var(--muted)}
.import-summary-details{
  max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:11px;
  background:var(--panel2);padding:12px 14px;font-size:12px;line-height:1.5
}
.import-summary-details ul{margin:7px 0 0;padding-left:20px}
.import-summary-details .summary-ok{color:#166534;font-weight:700}
.import-summary-details .summary-warn{color:#b45309;font-weight:700}
body.dark .import-summary-details .summary-ok{color:#86efac}
body.dark .import-summary-details .summary-warn{color:#fcd34d}
#importLabel.importing{opacity:.72;pointer-events:none}
@media(max-width:700px){
  .import-summary-grid{grid-template-columns:repeat(2,1fr)}
  .question-image,
  .question-image.question-image-landscape,
  .question-image.question-image-portrait{max-width:100%;max-height:420px;padding:5px}
  .question-image.question-image-small{width:min(100%,var(--question-image-small-width,400px))}
}


/* Modal moderno de confirmación */
.confirm-backdrop{
  position:fixed; inset:0; z-index:120;
  background:rgba(2,8,23,.62);
  display:grid; place-items:center;
  padding:18px;
  backdrop-filter: blur(4px);
}
.confirm-modal{
  width:min(100%, 420px);
  background:var(--panel);
  color:var(--text);
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 30px 90px rgba(0,0,0,.32);
  padding:24px 22px 20px;
  text-align:center;
  animation:confirmPop .16s ease-out;
}
.confirm-icon{
  width:62px; height:62px; margin:0 auto 12px;
  border-radius:50%;
  display:grid; place-items:center;
  background:linear-gradient(135deg,#1d4ed8,#0f766e);
  color:#fff; font-size:28px; font-weight:900;
  box-shadow:0 10px 24px rgba(29,78,216,.25);
}
.confirm-modal h3{
  margin:0 0 8px;
  font-size:22px;
  font-weight:800;
}
.confirm-modal p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
  font-size:15px;
}
.confirm-actions{
  display:flex;
  gap:10px;
  justify-content:center;
  margin-top:20px;
}
.confirm-actions .btn{
  min-width:122px;
  padding:12px 16px;
}
@keyframes confirmPop{
  from{transform:translateY(8px) scale(.98); opacity:0}
  to{transform:translateY(0) scale(1); opacity:1}
}
@media(max-width:560px){
  .confirm-modal{padding:22px 18px 18px}
  .confirm-actions{flex-direction:column}
  .confirm-actions .btn{width:100%}
}


/* Pantalla principal simplificada */
.main-panel{
  min-height:420px;
}
.dashboard-grid{
  align-items:start;
}


/* Crear simulacro */
.btn.simulator-btn{
  background:linear-gradient(135deg,#0f766e,#166534);
  color:#fff;
}
.btn.simulator-btn:hover{
  box-shadow:0 8px 20px rgba(15,118,110,.18);
}
.simulator-modal{max-width:760px}































.sim-warning{
  margin-top:12px;
  padding:10px 12px;
  border-radius:10px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  font-size:12px;
}
body.dark .sim-warning{
  background:#3b2412;
  border-color:#9a3412;
  color:#fdba74;
}

@media(max-width:620px){
  
  
  
  
  
}

/* v14: el modal de simulacro puede desplazarse correctamente */
#simulatorModal{
  overflow-y:auto;
  align-items:flex-start;
  padding-top:24px;
  padding-bottom:24px;
}
.simulator-modal{
  max-height:calc(100vh - 48px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.simulator-modal::-webkit-scrollbar{
  width:9px;
}
.simulator-modal::-webkit-scrollbar-thumb{
  background:#475569;
  border-radius:999px;
}
.simulator-modal::-webkit-scrollbar-track{
  background:transparent;
}


@media(max-width:620px){
  #simulatorModal{
    padding:10px;
  }
  .simulator-modal{
    max-height:calc(100vh - 20px);
  }
}

/* v15: puntaje San Marcos + historial */




.san-marcos-result{
  margin-top:16px;
  padding:16px 18px;
  border:1px solid #2dd4bf;
  border-radius:14px;
  background:linear-gradient(135deg,#eff6ff,#ecfdf5);
}
body.dark .san-marcos-result{
  background:linear-gradient(135deg,#12233f,#102f2a);
  border-color:#0f766e;
}
.san-marcos-result span,
.san-marcos-result small{
  display:block;
  color:var(--muted);
}
.san-marcos-result span{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:850;
}
.san-marcos-result strong{
  display:block;
  margin:4px 0 2px;
  font-size:34px;
  color:#0f766e;
}
body.dark .san-marcos-result strong{color:#5eead4}
.san-marcos-result small{font-size:12px}





























@media(max-width:720px){
  
  
  
  
  
  
}

/* v16: textos/casos compartidos para Habilidad Verbal, Inglés y Actitudinal */
.stimulus-area{
  margin:16px 0 25px;
}
.stimulus-card{
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--panel2);
  overflow:hidden;
}
.stimulus-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:11px 14px;
  border-bottom:1px solid var(--line);
}
.stimulus-head-left{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.stimulus-badge{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:4px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  background:#dbeafe;
  color:#1d4ed8;
}
.stimulus-badge.case{
  background:#dcfce7;
  color:#166534;
}
.stimulus-badge.english{
  background:#ccfbf1;
  color:#115e59;
}
body.dark .stimulus-badge{
  background:#12325a;
  color:#93c5fd;
}
body.dark .stimulus-badge.case{
  background:#123528;
  color:#86efac;
}
body.dark .stimulus-badge.english{
  background:#103834;
  color:#5eead4;
}
.stimulus-title{
  font-size:13px;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.stimulus-position{
  flex:0 0 auto;
  color:var(--muted);
  font-size:11px;
}
.stimulus-body{
  padding:17px 18px;
}
.stimulus-content-title{
  margin:0 0 13px;
  color:var(--text);
  font-size:18px;
  line-height:1.35;
  font-weight:850;
}
.stimulus-text{
  white-space:pre-line;
  line-height:1.72;
  font-size:15px;
  font-weight:400;
}
.stimulus-section+.stimulus-section{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.stimulus-section-text{
  white-space:pre-line;
}
.stimulus-source{
  margin-top:16px;
  padding-top:11px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
  font-style:italic;
  font-weight:400;
}
.stimulus-image-wrap{
  display:flex;
  justify-content:center;
  margin-top:15px;
}
.stimulus-image{
  display:block;
  width:auto;
  max-width:min(100%,720px);
  max-height:460px;
  object-fit:contain;
  border-radius:10px;
}
.stimulus-image-missing{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid #fed7aa;
  border-radius:9px;
  background:#fff7ed;
  color:#9a3412;
  font-size:12px;
}
body.dark .stimulus-image-missing{
  background:#3b2412;
  color:#fdba74;
  border-color:#9a3412;
}


@media(max-width:620px){
  .stimulus-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .stimulus-position{align-self:flex-start}
  .stimulus-body{padding:14px}
  .stimulus-text{font-size:14px;line-height:1.65}
}

/* v18: distinción clara entre proposiciones y V/F */



















/* v19: ayuda ✓ / ✕ para preguntas de proposiciones */
.statement-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:10px;
  padding:13px 14px;
  margin:9px 0;
}
.statement-text{
  min-width:0;
  line-height:1.45;
  font-weight:400;
}
.statement-text strong{font-weight:600}
.statement-buttons{
  display:flex;
  gap:7px;
  flex:0 0 auto;
}
.statement-btn{
  width:42px;
  height:40px;
  border-radius:8px;
  border:2px solid var(--line);
  background:var(--panel);
  color:var(--muted);
  font-size:19px;
  line-height:1;
  font-weight:900;
  transition:.15s;
}
.statement-btn:hover:not(:disabled){
  background:var(--panel2);
}
.statement-btn.good.selected{
  background:#15803d;
  border-color:#15803d;
  color:#fff;
}
.statement-btn.bad.selected{
  background:#b91c1c;
  border-color:#b91c1c;
  color:#fff;
}
body.dark .statement-btn.good.selected{
  background:#166534;
  border-color:#22c55e;
}
body.dark .statement-btn.bad.selected{
  background:#7f1d1d;
  border-color:#ef4444;
}
.statement-helper-combo strong{
  letter-spacing:0;
}
@media(max-width:620px){
  .statement-row{align-items:flex-start}
}


/* v21: tres orígenes — CEPRE, Academia y Admisión */






.origin-badge{
  flex:0 0 auto;padding:5px 9px;border-radius:999px;background:var(--green-soft);
  color:#166534;font-size:10px;font-weight:900;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
body.dark .origin-badge{color:#86efac}
.practice-empty{
  grid-column:1/-1;padding:34px 16px;border:1px dashed var(--line);border-radius:12px;
  text-align:center;color:var(--muted);background:rgba(148,163,184,.04)
}
.weeks-grid.admission-courses-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:10px;
}
.weeks-grid.admission-courses-grid .admission-course-btn{
  flex:0 0 calc((100% - 40px)/5);
  min-width:0;
  min-height:72px;
  padding:12px 35px 12px 12px;
  display:flex;
  align-items:center;
}
.admission-course-btn strong{
  max-width:100%;
  line-height:1.2;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.admission-course-hlm strong{
  font-size:14px;
  line-height:1.18;
}
.admission-course-nowrap{
  white-space:nowrap;
}
@media(max-width:900px){
  .weeks-grid.admission-courses-grid .admission-course-btn{
    flex-basis:calc((100% - 20px)/3);
  }
}
@media(max-width:560px){
  .weeks-grid.admission-courses-grid .admission-course-btn{
    flex-basis:calc((100% - 10px)/2);
  }
  .admission-course-nowrap{white-space:normal}
}










@media(max-width:720px){
  
  
  .origin-badge{max-width:150px}
}


/* v22 — corrección inmediata */
.instant-feedback-field{
  align-items:flex-start;
}
.instant-feedback-field label{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.instant-feedback-field label small{
  color:var(--muted);
  font-size:11px;
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
}
.instant-feedback-message{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:12px 0 4px;
  padding:12px 14px;
  border-radius:11px;
  border:1px solid var(--line);
  font-size:13px;
}
.instant-feedback-message strong{
  font-size:14px;
}
.instant-feedback-message.feedback-correct{
  background:var(--ok-soft);
  border-color:#86efac;
  color:#166534;
}
.instant-feedback-message.feedback-wrong{
  background:var(--bad-soft);
  border-color:#fca5a5;
  color:#991b1b;
}
body.dark .instant-feedback-message.feedback-correct{
  color:#86efac;
}
body.dark .instant-feedback-message.feedback-wrong{
  color:#fca5a5;
}
.option:has(input:disabled){
  cursor:default;
}







/* v23 — selector desplegable de origen */
.origin-select-field{
  margin-top:0;
  margin-bottom:12px;
}
.origin-select-field select{
  font-weight:700;
}


/* v24 — resaltador lateral compacto */
.exam-shell{
  max-width:1060px;
}
.question-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr) 52px;
  gap:10px;
  align-items:start;
  overflow:visible;
}
.study-tools{
  position:sticky;
  top:14px;
  z-index:18;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding-top:2px;
}
.study-tool-btn,
.study-color-btn{
  width:48px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel2);
  color:var(--text);
  cursor:pointer;
  transition:.15s;
}
.study-tool-btn{
  height:48px;
  display:grid;
  place-items:center;
}
.study-tool-btn svg{
  width:25px;
  height:25px;
  stroke:currentColor;
}
.study-tool-btn.active{
  border-color:#38bdf8;
  background:#10304a;
  color:#7dd3fc;
  box-shadow:inset 0 0 0 1px #38bdf8;
}
.study-color-wrap{
  position:relative;
}
.study-color-btn{
  height:44px;
  padding:0;
  display:grid;
  place-items:center;
}



.study-color-btn:hover,
.study-tool-btn:hover{
  border-color:#38bdf8;
}

/* Se abre HACIA LA DERECHA */








.study-rainbow{
  width:27px;
  height:27px;
  border-radius:8px;
  background:linear-gradient(135deg,#ef4444,#facc15,#22c55e,#06b6d4,#3b82f6,#8b5cf6,#ec4899);
}

.highlightable-text{
  user-select:text;
}
mark.study-highlight{
  border-radius:2px;
  padding:1px 0;
}

/* El texto compartido también puede resaltarse */
.stimulus-text.highlightable-text{
  user-select:text;
}

@media(max-width:1220px){
  /* Conserva la apertura a la derecha mientras haya espacio útil. */
  .exam-shell{max-width:960px}
}
@media(max-width:900px){
  .question-workspace{
    grid-template-columns:1fr;
  }
  .study-tools{
    position:static;
    flex-direction:row;
    justify-content:flex-end;
    padding-top:0;
  }
  
}


/* ==========================================================
   v25 — magma sutil en acciones principales
   ========================================================== */
.magma-soft{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 8px 22px rgba(15,23,42,.12);
}
.magma-soft .magma-label{
  position:relative;
  z-index:2;
}
.magma-soft::before,
.magma-soft::after{
  content:"";
  position:absolute;
  z-index:1;
  width:112px;
  height:112px;
  border-radius:50%;
  filter:blur(13px);
  opacity:.44;
  pointer-events:none;
}
.magma-soft::before{
  left:-48px;
  top:-61px;
  background:radial-gradient(circle,rgba(56,189,248,.90),rgba(37,99,235,.40) 55%,transparent 73%);
  animation:magmaSoftA 9s ease-in-out infinite alternate;
}
.magma-soft::after{
  right:-50px;
  bottom:-65px;
  background:radial-gradient(circle,rgba(45,212,191,.84),rgba(15,118,110,.38) 55%,transparent 73%);
  animation:magmaSoftB 10.8s ease-in-out infinite alternate;
}
.magma-simulator::before{
  background:radial-gradient(circle,rgba(52,211,153,.82),rgba(15,118,110,.40) 55%,transparent 73%);
}
.magma-simulator::after{
  background:radial-gradient(circle,rgba(34,211,238,.76),rgba(14,116,144,.34) 55%,transparent 73%);
}
.magma-soft:disabled::before,
.magma-soft:disabled::after{
  animation:none;
  opacity:.16;
}
@keyframes magmaSoftA{
  from{transform:translate(0,0) scale(.95)}
  to{transform:translate(92px,24px) scale(1.05)}
}
@keyframes magmaSoftB{
  from{transform:translate(0,0) scale(1)}
  to{transform:translate(-90px,-22px) scale(.92)}
}

/* ==========================================================
   v25 — Resultados debajo de las semanas
   ========================================================== */
.dashboard-results{
  margin-top:18px;
  border:1px solid var(--line);
  border-radius:13px;
  overflow:visible;
  background:var(--panel);
}






.dashboard-results-body{
  padding:15px;
  border-top:1px solid var(--line);
}



.dashboard-results-panel{
  display:none;
}
.dashboard-results-panel.active{
  display:block;
}




.dashboard-results-empty{
  padding:18px;
  border:1px dashed var(--line);
  border-radius:11px;
  color:var(--muted);
  text-align:center;
  font-size:12px;
}
.practice-progress-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.progress-stat{
  min-width:0;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel2);
  text-align:center;
}
.progress-stat strong{
  display:block;
  color:var(--text);
  font-size:20px;
  line-height:1.2;
}
.progress-stat span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}
.practice-chart-card,
.simulator-line-card{
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel2);
  padding:14px 12px 11px;
}
.results-chart-title{
  margin:0 0 10px 3px;
  color:var(--muted);
  font-size:11px;
}
.practice-progress-chart{
  height:218px;
  display:flex;
  align-items:stretch;
  gap:6px;
}
.practice-progress-col{
  flex:1;
  min-width:18px;
  height:100%;
  display:grid;
  grid-template-rows:16px 1fr 18px;
  align-items:end;
  justify-items:center;
}
.practice-progress-value{
  align-self:start;
  min-height:14px;
  color:var(--muted);
  font-size:9px;
  white-space:nowrap;
}
.practice-progress-track{
  width:100%;
  height:100%;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.practice-progress-bar{
  width:min(27px,76%);
  max-height:100%;
  border-radius:6px 6px 2px 2px;
  background:linear-gradient(180deg,#38bdf8,#0f766e);
  box-shadow:0 3px 10px rgba(14,116,144,.13);
}
.practice-progress-bar.empty{
  height:3%!important;
  background:var(--line);
  box-shadow:none;
}
.practice-progress-week{
  color:var(--muted);
  font-size:10px;
  font-weight:850;
}

/* Simulacros: gráfico diferente y minimalista */
.simulator-mini-summary{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-bottom:14px;
}
.simulator-mini-summary .progress-stat{
  width:155px;
}
.simulator-line-chart{
  height:285px;
  position:relative;
}
.simulator-line-chart svg{
  width:100%;
  height:100%;
  overflow:visible;
}
.sim-grid-line{
  stroke:var(--line);
  stroke-width:1;
}
.sim-axis-label{
  fill:var(--muted);
  font-size:10px;
}
.sim-line-area{
  fill:url(#simulatorAreaFill);
  opacity:.25;
}
.sim-line-path{
  fill:none;
  stroke:#38bdf8;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sim-average-line{
  stroke:#facc15;
  stroke-width:1.4;
  stroke-dasharray:6 6;
  opacity:.82;
}
.sim-average-label{
  fill:#facc15;
  font-size:10px;
}
.sim-line-point{
  fill:#14b8a6;
  stroke:var(--text);
  stroke-width:2;
  cursor:pointer;
}
.sim-line-point.active{
  fill:#facc15;
  stroke:#fff;
  stroke-width:3;
}
.simulator-point-detail{
  margin-top:11px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.simulator-point-detail>div{
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel2);
}
.simulator-point-detail span{
  display:block;
  margin-bottom:3px;
  color:var(--muted);
  font-size:10px;
}
.simulator-point-detail strong{
  font-size:14px;
}

@media(prefers-reduced-motion:reduce){
  .magma-soft::before,
  .magma-soft::after{
    animation:none;
  }
}
@media(max-width:780px){
  .practice-progress-summary{
    grid-template-columns:1fr;
  }
  
  
  .practice-progress-chart{
    gap:4px;
    overflow-x:auto;
    padding-bottom:3px;
  }
  .practice-progress-col{
    flex:0 0 28px;
  }
  .simulator-mini-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .simulator-mini-summary .progress-stat{
    width:auto;
  }
}
@media(max-width:520px){
  .simulator-point-detail{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   v26 — resultados automáticos por curso
   ========================================================== */
.dashboard-results{
  overflow:hidden;
}
.dashboard-results-header{
  width:100%;
  padding:13px 15px;
  background:var(--panel2);
  border-radius:13px 13px 0 0;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.dashboard-results-header strong{
  display:block;
  font-size:14px;
}
.dashboard-results-header small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
}
.dashboard-simulator-toggle{
  flex:0 0 auto;
  border:1px solid #2563eb;
  border-radius:9px;
  background:#1d4ed8;
  color:#fff;
  padding:9px 13px;
  font-weight:850;
  cursor:pointer;
  transition:.15s;
}
.dashboard-simulator-toggle:hover{
  transform:translateY(-1px);
}
.dashboard-simulator-toggle.active{
  border-color:#14b8a6;
  background:#0f766e;
}
.practice-results-title,
.simulator-results-title{
  min-height:24px;
  margin-bottom:13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.practice-results-title strong,
.simulator-results-title strong{
  font-size:14px;
}
.practice-results-title span{
  color:#7dd3fc;
  font-size:11px;
  font-weight:850;
}

/* Los antiguos controles internos ya no se usan. */


@media(max-width:560px){
  .dashboard-results-header{
    align-items:flex-start;
    flex-direction:column;
  }
  .dashboard-simulator-toggle{
    width:100%;
  }
}

/* ==========================================================
   v29 — acceso con usuario y contraseña
   ========================================================== */
body.auth-locked{
  overflow:hidden;
}
body.auth-locked > .topbar,
body.auth-locked > main,
body.auth-locked > .modal-backdrop,
body.auth-locked > .confirm-backdrop,
body.auth-locked > .toast{
  visibility:hidden;
}
.login-view{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    radial-gradient(circle at 20% 12%, rgba(37,99,235,.16), transparent 34%),
    radial-gradient(circle at 82% 82%, rgba(15,118,110,.18), transparent 34%),
    var(--bg);
}
body:not(.auth-locked) .login-view{
  display:none;
}
.login-card{
  width:min(420px,100%);
  padding:30px;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--panel);
  box-shadow:0 24px 70px rgba(2,6,23,.18);
}
.login-brand-mark{
  width:52px;
  height:52px;
  margin-bottom:18px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#fff;
  font-size:24px;
  font-weight:900;
  background:linear-gradient(145deg,#2563eb,#0f766e);
  box-shadow:0 10px 24px rgba(15,118,110,.22);
}
.login-brand-text h1{
  margin:0;
  font-size:25px;
}
.login-brand-text p{
  margin:7px 0 22px;
  color:var(--muted);
  font-size:13px;
}
.login-form .field{
  margin-bottom:15px;
}
.login-form input{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel2);
  color:var(--text);
  outline:none;
}
.login-form input:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.login-submit{
  width:100%;
  min-height:45px;
  margin-top:3px;
}
.login-submit:disabled{
  opacity:.7;
  cursor:wait;
}
.login-error{
  margin:-2px 0 12px;
  padding:9px 11px;
  border:1px solid rgba(220,38,38,.24);
  border-radius:9px;
  background:rgba(220,38,38,.08);
  color:#dc2626;
  font-size:12px;
  font-weight:700;
}
.login-status{
  min-height:16px;
  margin-top:12px;
  color:var(--muted);
  text-align:center;
  font-size:11px;
}
@media(max-width:560px){
  .login-card{padding:24px 20px;border-radius:18px}
}

/* ==========================================================
   v30 — fondo neón anime/videojuego + login geométrico
   ========================================================== */
body{
  min-height:100vh;
  position:relative;
  isolation:isolate;
}
.neon-world-bg{
  position:fixed;
  inset:0;
  z-index:-1;
  overflow:hidden;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 12%, rgba(172,40,255,.22), transparent 27%),
    radial-gradient(circle at 84% 72%, rgba(18,183,255,.20), transparent 30%),
    radial-gradient(circle at 55% 92%, rgba(255,41,208,.10), transparent 23%),
    linear-gradient(135deg,#070815 0%,#0a0c21 48%,#070b18 100%);
}
.neon-world-bg::before{
  content:"";
  position:absolute;
  inset:-25% -15% 0;
  background-image:
    linear-gradient(rgba(113,93,194,.10) 1px, transparent 1px),
    linear-gradient(90deg,rgba(113,93,194,.10) 1px, transparent 1px);
  background-size:58px 58px;
  transform:perspective(760px) rotateX(67deg) translateY(31%);
  transform-origin:center bottom;
  opacity:.35;
  -webkit-mask-image:linear-gradient(to bottom,transparent 5%,#000 47%,#000 100%);
  mask-image:linear-gradient(to bottom,transparent 5%,#000 47%,#000 100%);
}
.neon-world-bg::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.5;
  background-image:
    radial-gradient(circle at 7% 18%,#fff 0 1px,transparent 1.8px),
    radial-gradient(circle at 22% 74%,#a874ff 0 1.2px,transparent 2px),
    radial-gradient(circle at 36% 22%,#41c9ff 0 1px,transparent 1.8px),
    radial-gradient(circle at 52% 66%,#fff 0 1px,transparent 1.8px),
    radial-gradient(circle at 71% 17%,#d35bff 0 1.2px,transparent 2px),
    radial-gradient(circle at 84% 42%,#55d8ff 0 1px,transparent 1.8px),
    radial-gradient(circle at 95% 78%,#fff 0 1px,transparent 1.8px);
  background-size:260px 230px,310px 270px,280px 250px,330px 300px,300px 260px,350px 290px,290px 250px;
  animation:neonStars 22s linear infinite;
}
@keyframes neonStars{to{transform:translate3d(-28px,22px,0)}}
.neon-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  opacity:.28;
  animation:neonOrbFloat 11s ease-in-out infinite alternate;
}
.orb-a{width:330px;height:330px;background:#8024ff;left:-110px;top:9%}
.orb-b{width:360px;height:360px;background:#00aaf2;right:-130px;top:39%;animation-delay:-4s}
.orb-c{width:250px;height:250px;background:#f02bd4;left:42%;bottom:-120px;animation-delay:-7s}
@keyframes neonOrbFloat{to{transform:translate3d(65px,-34px,0) scale(1.13)}}
.neon-shape{
  position:absolute;
  display:block;
  opacity:.42;
  filter:drop-shadow(0 0 14px currentColor);
  animation:neonShapeFloat 8s ease-in-out infinite;
}
.shape-a{width:34px;height:34px;border:2px solid #9d57ff;color:#9d57ff;left:7%;top:23%;transform:rotate(32deg)}
.shape-b{width:18px;height:18px;border:2px solid #27c6ff;color:#27c6ff;right:10%;top:19%;transform:rotate(45deg);animation-delay:-2s}
.shape-c{width:46px;height:46px;border:2px solid #d53cff;color:#d53cff;border-radius:50%;right:7%;bottom:12%;animation-delay:-5s}
.shape-d{width:26px;height:26px;border-left:2px solid #20b8ff;border-bottom:2px solid #20b8ff;color:#20b8ff;left:11%;bottom:18%;transform:rotate(-45deg);animation-delay:-3s}
@keyframes neonShapeFloat{50%{translate:0 -18px;rotate:13deg}}

/* El fondo también queda visible dentro del banco. */
body{background:#070815}
body:not(.dark){
  --bg:rgba(245,247,252,.88);
  --panel:rgba(255,255,255,.91);
  --panel2:rgba(248,250,252,.92);
}
body:not(.dark) .neon-world-bg{opacity:.42;filter:saturate(.72) brightness(1.5)}
body.dark{
  --bg:transparent;
  --panel:rgba(16,23,42,.84);
  --panel2:rgba(24,32,52,.82);
  --line:rgba(103,116,156,.26);
}
body.dark .card,
body.dark .dashboard-results,
body.dark .practice-chart-card,
body.dark .simulator-line-card{
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
body.dark .topbar{
  background:linear-gradient(110deg,rgba(31,54,138,.91),rgba(75,39,158,.78),rgba(10,124,136,.88));
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(114,97,255,.25);
}

/* Cubo geométrico: reemplaza por completo la antigua S. */
.neon-cube{
  position:relative;
  width:48px;
  height:48px;
  flex:0 0 auto;
  transform:rotate(30deg) skew(-5deg);
  filter:drop-shadow(0 0 12px rgba(106,78,255,.88));
}
.neon-cube::before,.neon-cube::after,.neon-cube i{
  content:"";
  position:absolute;
  inset:8px;
  border:2px solid transparent;
  border-image:linear-gradient(135deg,#f238ff,#7554ff,#19c8ff) 1;
}
.neon-cube::before{transform:rotate(60deg)}
.neon-cube::after{transform:rotate(120deg)}
.neon-cube i{inset:14px;opacity:.75}
.header-cube{width:38px;height:38px;filter:drop-shadow(0 0 9px rgba(83,140,255,.8))}
.header-cube::before,.header-cube::after,.header-cube i{inset:7px}
.header-cube i{inset:12px}

/* Login elegido: neón morado/azul, sin textos decorativos innecesarios. */
.login-view{
  background:transparent;
  padding:24px;
}
.login-shell{
  width:min(92vw,470px);
  padding:1px;
  border-radius:28px;
  background:linear-gradient(140deg,rgba(199,62,255,.9),rgba(65,105,255,.58),rgba(25,200,255,.88));
  box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 55px rgba(93,65,255,.24);
  animation:loginPanelIn .7s cubic-bezier(.2,.8,.2,1);
}
@keyframes loginPanelIn{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
.login-card{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:34px 34px 30px;
  border:0;
  border-radius:27px;
  background:linear-gradient(180deg,rgba(18,19,46,.95),rgba(9,11,28,.97));
  box-shadow:none;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.login-card::before{
  content:"";
  position:absolute;
  width:58%;
  height:160px;
  top:-95px;
  left:-35%;
  background:linear-gradient(90deg,transparent,rgba(194,47,255,.26),rgba(34,151,255,.21),transparent);
  transform:rotate(-10deg);
  filter:blur(16px);
  animation:loginSweep 5.7s linear infinite;
}
@keyframes loginSweep{to{left:125%}}
.login-corner{position:absolute;width:42px;height:42px;opacity:.7}
.login-corner-a{left:12px;top:12px;border-left:2px solid #8d45ff;border-top:2px solid #8d45ff;border-radius:14px 0 0 0}
.login-corner-b{right:12px;bottom:12px;border-right:2px solid #1cbcff;border-bottom:2px solid #1cbcff;border-radius:0 0 14px 0}
.login-brand-text{position:relative;z-index:1;text-align:center;display:grid;justify-items:center}
.login-cube{width:62px;height:62px;margin-bottom:13px;animation:loginCubeFloat 4s ease-in-out infinite}
@keyframes loginCubeFloat{50%{transform:translateY(-7px) rotate(34deg) skew(-5deg)}}
.login-brand-text h1{
  margin:0;
  font-size:31px;
  line-height:1.1;
  background:linear-gradient(90deg,#f4f4ff,#d8c3ff 42%,#72c9ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.login-spark{
  width:118px;
  margin:11px auto 2px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#805eff;
  font-size:11px;
}
.login-spark::before,.login-spark::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#815dff)}
.login-spark::after{background:linear-gradient(90deg,#815dff,transparent)}
.login-brand-text p{margin:9px 0 23px;color:#9da6ca;font-size:14px}
.login-form{position:relative;z-index:1}
.login-form .field{margin:17px 0}
.login-form .field label{color:#bca4ff;font-size:11px;letter-spacing:.08em}
.login-input-wrap{position:relative}
.login-input-icon{
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  color:#6d64ef;
  font-size:11px;
  z-index:2;
}
.login-lock{color:#bd68ff}
.login-form input{
  width:100%;
  min-height:50px;
  padding:12px 46px 12px 42px;
  border:1px solid rgba(116,92,211,.56);
  border-radius:14px;
  background:rgba(10,12,32,.84);
  color:#fff;
  font-size:15px;
  outline:none;
  transition:.25s ease;
}
.login-form input::placeholder{color:#7882a5}
.login-form input:focus{
  border-color:#8057ff;
  box-shadow:0 0 0 4px rgba(114,76,255,.12),0 0 22px rgba(48,137,255,.12);
}
.login-password-toggle{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#aab2cf;
  font-size:16px;
}
.login-password-toggle:hover{background:rgba(255,255,255,.06);color:#fff}
.login-submit{
  position:relative;
  overflow:hidden;
  width:100%;
  min-height:50px;
  margin-top:7px;
  border:0;
  border-radius:14px;
  color:#fff;
  font-size:15px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.02em;
  background:linear-gradient(90deg,#c126ef 0%,#694aff 48%,#1e9fff 100%);
  box-shadow:0 12px 30px rgba(91,58,255,.29);
  transition:transform .2s ease,box-shadow .2s ease;
}
.login-submit::before{
  content:"";
  position:absolute;
  top:-55%;
  left:-25%;
  width:18%;
  height:210%;
  background:rgba(255,255,255,.42);
  transform:rotate(20deg);
  filter:blur(2px);
  animation:loginButtonShine 3.6s ease-in-out infinite;
}
@keyframes loginButtonShine{0%,55%{left:-25%}80%,100%{left:125%}}
.login-submit:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(91,58,255,.42)}
.login-submit:disabled{opacity:.7;cursor:wait;transform:none}
.login-error{margin:0 0 12px;border-color:rgba(248,113,113,.25);background:rgba(127,29,29,.2);color:#fecaca}
.login-status{display:none!important}

@media(max-width:560px){
  .login-card{padding:29px 22px 25px;border-radius:27px}
  .login-brand-text h1{font-size:27px}
  .neon-shape{opacity:.22}
}


/* ==========================================================
   v32 — NEÓN COMPLETAMENTE ESTÁTICO / SIN LAG
   Mantiene la estética, elimina animaciones y filtros pesados.
   ========================================================== */

/* Fondo fijo ligero: solo gradientes estáticos. */
.neon-world-bg{
  position:fixed !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 16% 12%, rgba(150,45,255,.20), transparent 28%),
    radial-gradient(circle at 84% 72%, rgba(20,175,255,.18), transparent 31%),
    radial-gradient(circle at 55% 92%, rgba(232,45,205,.08), transparent 24%),
    linear-gradient(135deg,#070815 0%,#0a0c21 48%,#070b18 100%) !important;
  overflow:hidden;
  pointer-events:none;
  animation:none !important;
  filter:none !important;
  transform:none !important;
}

/* Quitamos la cuadrícula 3D y cualquier capa animada que pueda provocar repintado. */
.neon-world-bg::before{
  display:none !important;
  content:none !important;
  animation:none !important;
  filter:none !important;
  transform:none !important;
}
.neon-world-bg::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  opacity:.36 !important;
  background-image:
    radial-gradient(circle at 8% 18%,rgba(255,255,255,.7) 0 1px,transparent 1.6px),
    radial-gradient(circle at 24% 72%,rgba(168,116,255,.65) 0 1px,transparent 1.7px),
    radial-gradient(circle at 38% 24%,rgba(65,201,255,.65) 0 1px,transparent 1.7px),
    radial-gradient(circle at 54% 66%,rgba(255,255,255,.62) 0 1px,transparent 1.6px),
    radial-gradient(circle at 72% 17%,rgba(211,91,255,.62) 0 1px,transparent 1.7px),
    radial-gradient(circle at 85% 42%,rgba(85,216,255,.62) 0 1px,transparent 1.6px),
    radial-gradient(circle at 94% 79%,rgba(255,255,255,.6) 0 1px,transparent 1.6px) !important;
  background-size:260px 230px,310px 270px,280px 250px,330px 300px,300px 260px,350px 290px,290px 250px !important;
  animation:none !important;
  filter:none !important;
  transform:none !important;
}

/* Los orbes con blur eran de lo más pesado. Se eliminan. */
.neon-orb{
  display:none !important;
  animation:none !important;
  filter:none !important;
}

/* Las figuras permanecen como adornos fijos, sin glow ni movimiento. */
.neon-shape{
  animation:none !important;
  filter:none !important;
  translate:none !important;
  opacity:.28 !important;
}
.shape-a{transform:rotate(32deg) !important}
.shape-b{transform:rotate(45deg) !important}
.shape-c{transform:none !important}
.shape-d{transform:rotate(-45deg) !important}

/* Nada de filtros extra en modo claro. */
body:not(.dark) .neon-world-bg{
  opacity:.34 !important;
  filter:none !important;
}

/* Paneles: transparencia simple, sin backdrop-filter. */
body.dark .card,
body.dark .dashboard-results,
body.dark .practice-chart-card,
body.dark .simulator-line-card,
body.dark .topbar,
.login-card{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* Login completamente estático. */
.login-shell,
.login-card,
.login-card::before,
.login-cube,
.login-submit::before{
  animation:none !important;
}

.login-shell{
  transform:none !important;
}

/* Quitamos el barrido luminoso del panel. */
.login-card::before{
  display:none !important;
  content:none !important;
  filter:none !important;
}

/* Cubo sin flotación. */
.login-cube{
  transform:rotate(30deg) skew(-5deg) !important;
}

/* Botón sin destello animado. */
.login-submit::before{
  display:none !important;
  content:none !important;
  filter:none !important;
}

/* Hover muy ligero, sin movimiento del botón. */
.login-submit:hover{
  transform:none !important;
  box-shadow:0 12px 30px rgba(91,58,255,.29) !important;
}

/* También desactivamos las dos animaciones magma de los botones principales
   para comprobar el máximo rendimiento posible. */
.btn-magma::before,
.btn-magma::after,
.magma-btn::before,
.magma-btn::after{
  animation:none !important;
}

/* Fuerza a detener cualquier animación decorativa v30 que quede enlazada. */
@media (prefers-reduced-motion:no-preference){
  .neon-world-bg *,
  .login-view *{
    animation-play-state:paused;
  }
}

/* ==========================================================
   v33 — simulador UNMSM + personalizado
   ========================================================== */

/* Creador compacto */
.simulator-wizard-modal{
  width:min(1080px,96vw)!important;
  max-width:1080px!important;
  max-height:92vh!important;
  overflow:auto!important;
  padding:20px!important;
}
.simulator-wizard-head{margin-bottom:16px}
.simulator-wizard-head h3{font-size:20px;margin:0 0 4px}
.sim-wizard-step{display:block}
.sim-wizard-section{margin:0 0 18px}
.sim-wizard-label{display:block;margin:0 0 10px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.sim-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sim-mode-card{
  position:relative;min-height:158px;padding:18px;border:1px solid var(--line);border-radius:16px;
  background:var(--panel2);color:var(--text);text-align:left;cursor:pointer
}
.sim-mode-card:hover{border-color:#516196}
.sim-mode-card.selected{border-color:#7c61ff;box-shadow:0 0 0 3px rgba(124,97,255,.10);background:linear-gradient(180deg,rgba(124,97,255,.09),var(--panel2))}
.sim-mode-card>strong{display:block;margin-top:22px;font-size:17px}
.sim-mode-card>small{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.sim-mode-badge{position:absolute;right:14px;top:14px;padding:5px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:9px;font-weight:900}
.sim-mode-card.selected .sim-mode-badge{border-color:#6954bd;color:#d7ccff;background:rgba(124,97,255,.08)}
.sim-mode-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
.sim-mode-meta span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:9px}

.sim-origin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.sim-origin-card{
  min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);color:var(--text);text-align:left;cursor:pointer
}
.sim-origin-card strong{display:block;font-size:12px}
.sim-origin-card small{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.sim-origin-card i{width:23px;height:23px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;color:transparent;font-style:normal;font-size:11px}
.sim-origin-card.selected{border-color:#6674e8;background:rgba(79,124,255,.08)}
.sim-origin-card.selected i{background:#5f61ff;border-color:#8486ff;color:#fff}
.sim-origin-card:disabled{opacity:.38;cursor:not-allowed}
.sim-origin-all.selected{border-color:#3f92d8}
.sim-wizard-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}

/* Verificación Área D */
.sim-verify-head,.sim-custom-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.sim-verify-head h4,.sim-custom-head h4{margin:0 0 4px;font-size:19px}
.sim-verify-status{padding:7px 10px;border:1px solid var(--line);border-radius:999px;font-size:10px;font-weight:900;color:var(--muted)}
.sim-verify-status.ok{color:#9ff2c7;border-color:rgba(50,213,131,.34);background:rgba(50,213,131,.08)}
.sim-verify-status.missing{color:#ffc1ca;border-color:rgba(255,113,135,.35);background:rgba(255,113,135,.07)}
.sim-verify-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:13px}
.sim-structure-card,.sim-distribution-card{border:1px solid var(--line);border-radius:15px;background:var(--panel2);padding:14px}
.sim-structure-card>strong,.sim-distribution-card>strong{display:block;margin-bottom:11px;font-size:12px}
.sim-phase-card{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.sim-phase-card>div:first-child b,.sim-phase-card span{display:block}
.sim-phase-card b{font-size:12px}.sim-phase-card span{margin-top:2px;color:var(--muted);font-size:9px}
.sim-phase-break{grid-template-columns:1fr auto;background:rgba(166,108,255,.05)}
.sim-phase-arrow{text-align:center;color:var(--muted);line-height:20px}
.sim-verify-total{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
.sim-verify-total div{padding:10px;border:1px solid var(--line);border-radius:10px;text-align:center;background:var(--panel)}
.sim-verify-total b{display:block;font-size:17px}.sim-verify-total span{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.sim-verify-courses{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.sim-verify-divider{grid-column:1/-1;margin-top:3px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.08em}
.sim-verify-course{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.sim-verify-course strong{display:block;font-size:11px}.sim-verify-course span{display:block;margin-top:2px;color:var(--muted);font-size:8px}
.sim-verify-course>div:last-child{display:grid;grid-template-columns:auto auto;column-gap:6px;align-items:center;text-align:right}
.sim-verify-course>div:last-child span{grid-column:1/2}.sim-verify-course i{grid-row:1/3;grid-column:2;font-style:normal;font-weight:900}
.sim-verify-course.ok i{color:#65dfa0}.sim-verify-course.missing{border-color:rgba(255,113,135,.45)}.sim-verify-course.missing i{color:#ff8b9d}

/* Personalizado */
.sim-custom-summary{display:flex;gap:8px}
.sim-custom-summary>div{min-width:90px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);text-align:center}
.sim-custom-summary b{display:block;font-size:16px}.sim-custom-summary span{display:block;margin-top:2px;color:var(--muted);font-size:8px;text-transform:uppercase}
.sim-custom-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:13px}
.sim-custom-main,.sim-custom-side{border:1px solid var(--line);border-radius:15px;background:var(--panel2);padding:13px}
.sim-bulk-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.sim-bulk-mode{padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer}
.sim-bulk-mode b{display:block;font-size:11px}.sim-bulk-mode span{display:block;margin-top:2px;color:var(--muted);font-size:8px}
.sim-bulk-mode.active{border-color:#7863ed;background:rgba(124,97,255,.08)}
.sim-bulk-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--panel);margin-bottom:10px}
.sim-bulk-row strong{display:block;font-size:11px}.sim-bulk-row small{display:block;margin-top:2px;color:var(--muted);font-size:8px}
.sim-stepper{display:flex;align-items:center;gap:5px}
.sim-stepper button,.sim-stepper input{height:30px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);font-weight:900}
.sim-stepper button{width:29px;cursor:pointer}.sim-stepper input{width:44px;padding:0 4px;text-align:center;outline:none}
.sim-stepper input:focus{border-color:#8c61ff;box-shadow:0 0 0 2px rgba(140,97,255,.10)}
.sim-stepper input::-webkit-outer-spin-button,.sim-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sim-stepper input[type=number]{appearance:textfield;-moz-appearance:textfield}
.sim-bulk-stepper{flex-wrap:wrap;justify-content:flex-end}
.sim-bulk-apply{width:auto!important;padding:0 9px!important;font-size:9px!important}
.sim-custom-courses-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:430px;overflow:auto;padding-right:2px}
.sim-custom-course{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.sim-custom-course.selected{border-color:#4d64a2;background:rgba(79,124,255,.05)}


.sim-custom-course-name strong{display:block;font-size:10px}.sim-custom-course-name small{display:block;margin-top:2px;color:var(--muted);font-size:8px}
.sim-course-stepper input{width:38px}
.sim-custom-side .field{margin:0}
.sim-custom-side .field label{display:block;margin-bottom:8px;font-size:10px;font-weight:850;color:var(--muted)}
.sim-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.sim-time-grid>div{display:flex;align-items:center;gap:5px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.sim-time-grid input{width:100%;min-width:0;border:0;outline:none;background:transparent;color:var(--text);text-align:center;font-weight:900;font-size:16px}
.sim-time-grid span{font-size:8px;color:var(--muted);text-transform:uppercase}
.sim-warning{margin-top:10px;padding:9px 10px;border:1px solid rgba(255,113,135,.35);border-radius:9px;background:rgba(255,113,135,.06);color:#ffb2bd;font-size:9px;line-height:1.35}

/* Examen: mapa lateral */
#examView.simulator-running .exam-shell{max-width:1480px}
#examView.simulator-running .question-workspace{grid-template-columns:minmax(0,1fr) 52px 350px;gap:10px}
#examView.simulator-running .question-card{grid-column:1}
#examView.simulator-running .study-tools{grid-column:2;grid-row:1}
#examView.simulator-running .sim-exam-map{grid-column:3;grid-row:1}
#examView.simulator-running .exam-nav{display:none}
#examView.simulator-running .option.user-selected:not(.correct):not(.incorrect){outline:3px solid #a66cff;outline-offset:1px;background:rgba(166,108,255,.10);border-color:#a66cff}
#examView.simulator-running .option.user-selected input{accent-color:#a66cff}
.exam-top-title{min-width:165px}
.sim-exam-top-meta{display:flex;align-items:center;gap:8px}
.sim-exam-phase-label{padding:7px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:9px;font-weight:850;white-space:nowrap}
.sim-exam-timer{min-width:84px;padding:7px 10px;border:1px solid #46589c;border-radius:10px;background:var(--panel2);font-size:16px;text-align:center;font-variant-numeric:tabular-nums}
.sim-exam-map{position:sticky;top:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}
.sim-map-head{padding:14px 14px 10px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}
.sim-map-head strong{display:block;font-size:13px}.sim-map-head small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.sim-map-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:10px 12px}
.sim-map-summary>div{padding:8px 5px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);text-align:center}
.sim-map-summary strong{display:block;font-size:14px}.sim-map-summary span{display:block;margin-top:2px;color:var(--muted);font-size:7px}
.sim-map-course-select{padding:0 12px 9px}.sim-map-course-select select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);font-weight:750;outline:none}
.sim-map-course-card{margin:0 12px 10px;padding:11px;border:1px solid #344069;border-radius:11px;background:rgba(79,124,255,.045)}
.sim-map-course-top{display:flex;justify-content:space-between;gap:8px}.sim-map-course-top strong{font-size:11px}.sim-map-course-top span{color:var(--muted);font-size:8px}
.sim-map-course-status{margin:5px 0 9px;color:var(--muted);font-size:8px}
.sim-map-numbers{display:flex;flex-wrap:wrap;gap:6px}
.sim-map-number{width:33px;height:33px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);font-size:10px;font-weight:900;cursor:pointer}
.sim-map-number.answered{border-color:#32d583;background:rgba(50,213,131,.14);color:#9ff2c7}
.sim-map-number.current{border-color:#86a1ff;background:#4f7cff;color:#fff;box-shadow:0 0 0 2px rgba(79,124,255,.13)}
.sim-map-actions{padding:0 12px 12px;display:grid;gap:7px}
.sim-map-nav-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sim-map-nav-row .btn{width:100%;padding-left:8px;padding-right:8px}
.sim-map-finish{width:100%;min-height:39px;border:1px solid #744052;border-radius:9px;background:rgba(255,113,135,.06);color:#ff9aac;font-weight:850;cursor:pointer}
.sim-map-finish:hover{background:rgba(255,113,135,.10)}

/* Descanso */
#examView.simulator-break-active .exam-top,#examView.simulator-break-active .question-workspace{display:none!important}
.sim-break-card{width:min(520px,92vw);margin:70px auto 0;padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--panel);text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.16)}
.sim-break-card h2{margin:0;font-size:23px}
.sim-break-label{margin-top:24px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.12em}
.sim-break-timer{margin:7px 0 20px;font-size:58px;font-weight:950;font-variant-numeric:tabular-nums;color:#b7b4ff}
.sim-break-track{height:6px;margin-bottom:20px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);overflow:hidden}
.sim-break-progress{height:100%;width:100%;background:linear-gradient(90deg,#8a5fff,#3b9cff)}
.sim-break-start{width:100%;min-height:44px}

/* Confirmación propia para finalizar simulacro */
.sim-finish-modal{width:min(500px,92vw);border:1px solid #594779;border-radius:20px;background:linear-gradient(180deg,#12182d,#0d1325);box-shadow:0 30px 90px rgba(0,0,0,.55);overflow:hidden}
.sim-finish-head{padding:22px 22px 16px;border-bottom:1px solid rgba(125,102,191,.18)}
.sim-finish-head h3{margin:0;font-size:21px}
.sim-finish-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:17px 22px 0}
.sim-finish-stats>div{padding:13px 9px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);text-align:center}
.sim-finish-stats strong{display:block;font-size:19px}.sim-finish-stats span{display:block;margin-top:5px;color:var(--muted);font-size:8px;font-weight:800}
.sim-finish-stats .answered strong{color:#9ff2c7}
.sim-finish-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:17px 22px 22px}
.sim-finish-confirm{border:1px solid #774153;border-radius:10px;background:rgba(255,113,135,.10);color:#ff9eaf;font-weight:850;cursor:pointer}

@media(max-width:1250px){
  #examView.simulator-running .exam-shell{max-width:1180px}
  #examView.simulator-running .question-workspace{grid-template-columns:minmax(0,1fr) 330px;gap:10px}
  #examView.simulator-running .study-tools{position:fixed;right:10px;top:90px;grid-column:auto;z-index:25}
  #examView.simulator-running .sim-exam-map{grid-column:2}
}
@media(max-width:980px){
  .simulator-wizard-modal{max-height:95vh!important}
  .sim-origin-grid{grid-template-columns:1fr 1fr}
  .sim-verify-layout,.sim-custom-layout{grid-template-columns:1fr}
  .sim-structure-card{position:static}
  #examView.simulator-running .question-workspace{grid-template-columns:1fr}
  #examView.simulator-running .question-card{grid-column:1;grid-row:1}
  #examView.simulator-running .sim-exam-map{grid-column:1;grid-row:2;position:static}
  #examView.simulator-running .study-tools{position:static;grid-column:1;grid-row:3;flex-direction:row;justify-content:flex-end}
  .sim-exam-top-meta{width:100%;justify-content:space-between}
}
@media(max-width:700px){
  .sim-mode-grid,.sim-origin-grid,.sim-verify-courses,.sim-custom-courses-grid{grid-template-columns:1fr}
  .sim-custom-head,.sim-verify-head{flex-direction:column}
  .sim-bulk-row{align-items:flex-start;flex-direction:column}
  .sim-bulk-stepper{justify-content:flex-start}
  .sim-finish-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .sim-bulk-mode-grid{grid-template-columns:1fr}
  .sim-finish-actions{grid-template-columns:1fr}
  .sim-finish-stats{grid-template-columns:1fr}
}


/* v34 — más contraste para el creador de simulacros */
#simulatorModal{
  background:rgba(3,7,18,.80)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

#simulatorModal .simulator-wizard-modal{
  background:#10162a!important;
  border:1px solid #3a466f!important;
  box-shadow:
    0 30px 90px rgba(0,0,0,.62),
    0 0 0 1px rgba(124,97,255,.05)!important;
}

#simulatorModal .sim-mode-card,
#simulatorModal .sim-origin-card{
  background:#151c33!important;
}

#simulatorModal .sim-mode-card.selected{
  background:linear-gradient(180deg,rgba(124,97,255,.15),#151c33)!important;
}

#simulatorModal .sim-origin-card.selected{
  background:rgba(79,124,255,.13)!important;
}


/* v36 — selección de cursos tocando la tarjeta completa */
.sim-custom-course{
  grid-template-columns:minmax(0,1fr) auto!important;
}

.sim-custom-course.selectable{
  cursor:pointer;
}
.sim-custom-course.selectable:hover{
  border-color:#566da9!important;
  background:rgba(79,124,255,.045)!important;
}
.sim-custom-course.selectable.selected{
  border-color:#6f70ff!important;
  background:rgba(94,101,255,.12)!important;
  box-shadow:inset 3px 0 0 #7378ff!important;
}
.sim-custom-course.selectable.selected .sim-custom-course-name strong{
  color:#eef0ff!important;
}


/* ==========================================================
   v38 — Creador de simulacro: tipografía realmente legible
   ========================================================== */

/* Cabecera general del modal */
#simulatorModal .simulator-wizard-head h3{
  font-size:23px!important;
  line-height:1.2!important;
  font-weight:900!important;
}

#simulatorModal .simulator-wizard-head > div,
#simulatorModal .simulator-wizard-head p,
#simulatorModal .simulator-wizard-head small{
  font-size:14px!important;
  line-height:1.4!important;
}

#simulatorModal .sim-wizard-label{
  font-size:14px!important;
  font-weight:850!important;
  letter-spacing:.045em!important;
}

/* Primera pantalla: tipo de simulacro */
#simulatorModal .sim-mode-card>strong{
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:900!important;
}

#simulatorModal .sim-mode-card>small{
  font-size:13.5px!important;
  line-height:1.4!important;
}

#simulatorModal .sim-mode-badge{
  font-size:10.5px!important;
  padding:6px 9px!important;
}

#simulatorModal .sim-mode-meta span{
  font-size:11.5px!important;
  padding:6px 9px!important;
}

/* Orígenes */
#simulatorModal .sim-origin-card strong{
  font-size:16.5px!important;
  line-height:1.25!important;
  font-weight:900!important;
}

#simulatorModal .sim-origin-card small{
  font-size:12px!important;
  line-height:1.35!important;
}

#simulatorModal .sim-origin-card i{
  width:27px!important;
  height:27px!important;
  font-size:13px!important;
}

/* Botones generales del modal */
#simulatorModal .sim-wizard-actions button,
#simulatorModal .btn,
#simulatorModal button{
  font-size:14px!important;
  font-weight:850!important;
}

/* Pantalla de configuración personalizada */
#simulatorModal .sim-custom-head h4,
#simulatorModal .sim-verify-head h4{
  font-size:22px!important;
  line-height:1.22!important;
  font-weight:900!important;
}

#simulatorModal .sim-custom-head > div > div,
#simulatorModal .sim-custom-head > div > p,
#simulatorModal .sim-verify-head > div > div,
#simulatorModal .sim-verify-head > div > p{
  font-size:14px!important;
  line-height:1.4!important;
}

/* Resumen: preguntas / cursos */
#simulatorModal .sim-custom-summary b{
  font-size:20px!important;
}

#simulatorModal .sim-custom-summary span{
  font-size:10px!important;
  font-weight:800!important;
}

/* Todos los cursos / Cursos seleccionados */
#simulatorModal .sim-bulk-mode b{
  font-size:14px!important;
  line-height:1.25!important;
}

#simulatorModal .sim-bulk-mode span{
  font-size:11px!important;
  line-height:1.35!important;
}

/* Fila "Cantidad para..." */
#simulatorModal .sim-bulk-row strong{
  font-size:14px!important;
  line-height:1.25!important;
}

#simulatorModal .sim-bulk-row small{
  font-size:11px!important;
  line-height:1.3!important;
}

#simulatorModal .sim-bulk-apply{
  font-size:12px!important;
  padding:0 12px!important;
}

/* Tarjetas de cursos */
#simulatorModal .sim-custom-course-name strong{
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:900!important;
}

#simulatorModal .sim-custom-course-name small{
  font-size:11.5px!important;
  line-height:1.25!important;
}

/* Controles - [n] + */
#simulatorModal .sim-stepper button,
#simulatorModal .sim-stepper input{
  font-size:15px!important;
  font-weight:900!important;
}

#simulatorModal .sim-stepper button{
  width:32px!important;
}

#simulatorModal .sim-stepper input{
  width:46px!important;
}

/* Tiempo total */
#simulatorModal .sim-custom-side .field label{
  font-size:12.5px!important;
  font-weight:900!important;
}

#simulatorModal .sim-time-grid input{
  font-size:19px!important;
}

#simulatorModal .sim-time-grid span{
  font-size:10.5px!important;
  font-weight:800!important;
}

/* Avisos */
#simulatorModal .sim-warning{
  font-size:11.5px!important;
  line-height:1.4!important;
}

/* Verificación previa Área D */
#simulatorModal .sim-structure-card>strong,
#simulatorModal .sim-distribution-card>strong{
  font-size:14px!important;
}

#simulatorModal .sim-phase-card b{
  font-size:14px!important;
}

#simulatorModal .sim-phase-card span{
  font-size:11px!important;
}

#simulatorModal .sim-verify-total b{
  font-size:20px!important;
}

#simulatorModal .sim-verify-total span{
  font-size:10.5px!important;
}

#simulatorModal .sim-verify-divider{
  font-size:10.5px!important;
}

#simulatorModal .sim-verify-course strong{
  font-size:13.5px!important;
}

#simulatorModal .sim-verify-course span{
  font-size:10.5px!important;
}

#simulatorModal .sim-verify-status{
  font-size:11.5px!important;
}


/* ==========================================================
   v39 — bloques compartidos (lecturas/casos con varias preguntas)
   ========================================================== */
.shared-question-group.hidden{display:none!important}
.shared-question-group{
  margin-top:4px;
}
.shared-question-item{
  padding:22px 0;
  border-top:1px solid var(--border);
  scroll-margin-top:110px;
}
.shared-question-item:first-child{
  border-top:0;
  padding-top:10px;
}
.shared-question-item.current{
  position:relative;
}
.shared-question-item.current::before{
  content:"";
  position:absolute;
  left:-14px;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg,#5d76ff,#a66cff);
  opacity:.85;
}
.shared-question-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:12px;
}
.shared-question-head>div{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.shared-question-number{
  font-size:13px;
  font-weight:900;
  color:#aab8ff;
}
.shared-question-head small,
.shared-question-source{
  font-size:11px;
  color:var(--muted);
}
.shared-question-prompt{
  font-size:18px;
  line-height:1.5;
  font-weight:750;
  margin-bottom:16px;
  white-space:normal;
}
.shared-question-image{
  margin-bottom:12px;
}
.shared-question-helper{
  margin-bottom:8px;
}
.shared-question-options .option{
  margin-top:9px;
}
.shared-question-item .instant-feedback-message{
  margin-top:12px;
}
.stimulus-area:not(.hidden)+.shared-question-group{
  margin-top:8px;
}
@media(max-width:700px){
  .shared-question-item{
    padding:18px 0;
  }
  .shared-question-item.current::before{
    left:-8px;
  }
  .shared-question-prompt{
    font-size:16px;
  }
  .shared-question-head{
    flex-direction:column;
    gap:6px;
  }
}

/* ==========================================================
   v41 — PRÁCTICA con panel lateral derecho
   Pregunta + resaltador + mapa/navegación, igual al simulacro.
   ========================================================== */
#examView.practice-sidebar-active .exam-shell{
  max-width:1450px;
}
#examView.practice-sidebar-active .question-workspace{
  grid-template-columns:minmax(0,1fr) 52px 330px;
  gap:10px;
}
#examView.practice-sidebar-active .question-card{grid-column:1;grid-row:1}
#examView.practice-sidebar-active .study-tools{grid-column:2;grid-row:1}
#examView.practice-sidebar-active .practice-exam-map{grid-column:3;grid-row:1}
#examView.practice-sidebar-active .navigator,
#examView.practice-sidebar-active .exam-nav{display:none!important}

.practice-exam-map{
  position:sticky;
  top:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel);
  overflow:hidden;
}
.practice-map-head{
  padding:15px 15px 11px;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.practice-map-head strong{display:block;font-size:15px}
.practice-map-head small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
.practice-map-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:11px 13px 6px;
}
.practice-map-summary>div{
  padding:9px 6px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel2);
  text-align:center;
}
.practice-map-summary strong{display:block;font-size:16px}
.practice-map-summary span{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.practice-map-numbers{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:8px 13px 13px;
  max-height:320px;
  overflow:auto;
}
.practice-map-number{
  width:35px;
  height:35px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel2);
  color:var(--text);
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.practice-map-number:hover{border-color:#6274b7}
.practice-map-number.answered{
  border-color:#32d583;
  background:rgba(50,213,131,.14);
  color:#9ff2c7;
}
.practice-map-number.current{
  border-color:#86a1ff;
  background:#4f7cff;
  color:#fff;
  box-shadow:0 0 0 2px rgba(79,124,255,.13);
}
.practice-map-actions{
  padding:12px 13px 14px;
  border-top:1px solid var(--line);
  display:grid;
  gap:8px;
}
.practice-map-nav-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.practice-map-nav-row .btn{width:100%;padding-left:8px;padding-right:8px}
.practice-map-finish{
  width:100%;
  min-height:40px;
  border:1px solid #744052;
  border-radius:10px;
  background:rgba(255,113,135,.06);
  color:#ff9aac;
  font-weight:850;
  cursor:pointer;
}
.practice-map-finish:hover{background:rgba(255,113,135,.10)}

@media(max-width:1250px){
  #examView.practice-sidebar-active .exam-shell{max-width:1120px}
  #examView.practice-sidebar-active .question-workspace{
    grid-template-columns:minmax(0,1fr) 310px;
    gap:10px;
  }
  #examView.practice-sidebar-active .question-card{grid-column:1;grid-row:1}
  #examView.practice-sidebar-active .practice-exam-map{grid-column:2;grid-row:1 / span 2}
  #examView.practice-sidebar-active .study-tools{
    position:static;
    grid-column:1;
    grid-row:2;
    flex-direction:row;
    justify-content:flex-end;
    padding-top:0;
  }
}
@media(max-width:900px){
  #examView.practice-sidebar-active .question-workspace{grid-template-columns:1fr}
  #examView.practice-sidebar-active .question-card{grid-column:1;grid-row:1}
  #examView.practice-sidebar-active .study-tools{grid-column:1;grid-row:2}
  #examView.practice-sidebar-active .practice-exam-map{
    position:static;
    grid-column:1;
    grid-row:3;
  }
  .practice-map-numbers{max-height:none}
}


/* ==========================================================
   v42 — aprovechar mejor el ancho lateral durante PRÁCTICA
   ========================================================== */

/* El límite real estaba en .app (1220px). Durante práctica lo ampliamos. */
body:has(#examView.practice-sidebar-active:not(.hidden)) .app{
  max-width:1540px!important;
  padding-left:20px!important;
  padding-right:20px!important;
}

/* Alinea también el encabezado con el contenido más ancho. */
body:has(#examView.practice-sidebar-active:not(.hidden)) .topbar-inner{
  max-width:1540px!important;
  padding-left:20px!important;
  padding-right:20px!important;
}

#examView.practice-sidebar-active .exam-shell{
  width:100%!important;
  max-width:1500px!important;
}

/* Más espacio para la pregunta y un lateral un poco más cómodo. */
#examView.practice-sidebar-active .question-workspace{
  grid-template-columns:minmax(0,1fr) 56px 350px!important;
  gap:12px!important;
}

/* En pantallas medianas conserva el panel lateral sin encoger tanto el contenido. */
@media (max-width:1250px){
  body:has(#examView.practice-sidebar-active:not(.hidden)) .app{
    max-width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }

  #examView.practice-sidebar-active .exam-shell{
    max-width:100%!important;
  }

  #examView.practice-sidebar-active .question-workspace{
    grid-template-columns:minmax(0,1fr) 315px!important;
    gap:10px!important;
  }
}

/* En móvil se mantiene el comportamiento vertical existente. */
@media (max-width:900px){
  #examView.practice-sidebar-active .question-workspace{
    grid-template-columns:1fr!important;
  }
}


/* ==========================================================
   v43 — herramientas horizontales en Práctica + más ancho en Simulacros
   ========================================================== */

/* PRÁCTICA: desaparece la columna vertical del resaltador.
   Las herramientas viven dentro del panel lateral, encima de "Preguntas". */
#examView.practice-sidebar-active .question-workspace{
  grid-template-columns:minmax(0,1fr) 350px!important;
  gap:14px!important;
}
#examView.practice-sidebar-active .question-card{
  grid-column:1!important;
  grid-row:1!important;
}
#examView.practice-sidebar-active .practice-exam-map{
  grid-column:2!important;
  grid-row:1!important;
}

#examView.practice-sidebar-active .practice-study-tools-slot{
  padding:11px 13px!important;
  border-bottom:1px solid var(--line)!important;
  background:var(--panel)!important;
}
#examView.practice-sidebar-active .practice-study-tools-slot .study-tools{
  position:static!important;
  top:auto!important;
  z-index:20!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  padding:0!important;
  width:100%!important;
}
#examView.practice-sidebar-active .study-tool-btn{
  width:42px!important;
  height:40px!important;
  border-radius:10px!important;
}
#examView.practice-sidebar-active .study-tool-btn svg{
  width:22px!important;
  height:22px!important;
}
#examView.practice-sidebar-active .study-color-btn{
  width:42px!important;
  height:40px!important;
  border-radius:10px!important;
}




/* SIMULACROS: aprovechar también las franjas laterales del monitor. */
body:has(#examView.simulator-running:not(.hidden)) .app{
  max-width:1600px!important;
  padding-left:20px!important;
  padding-right:20px!important;
}
body:has(#examView.simulator-running:not(.hidden)) .topbar-inner{
  max-width:1600px!important;
  padding-left:20px!important;
  padding-right:20px!important;
}
#examView.simulator-running .exam-shell{
  width:100%!important;
  max-width:1560px!important;
}
#examView.simulator-running .question-workspace{
  grid-template-columns:minmax(0,1fr) 52px 370px!important;
  gap:12px!important;
}

@media(max-width:1250px){
  #examView.practice-sidebar-active .question-workspace{
    grid-template-columns:minmax(0,1fr) 320px!important;
  }
  #examView.practice-sidebar-active .practice-exam-map{
    grid-column:2!important;
    grid-row:1!important;
  }

  body:has(#examView.simulator-running:not(.hidden)) .app{
    max-width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  #examView.simulator-running .exam-shell{
    max-width:100%!important;
  }
  #examView.simulator-running .question-workspace{
    grid-template-columns:minmax(0,1fr) 340px!important;
    gap:10px!important;
  }
  #examView.simulator-running .sim-exam-map{
    grid-column:2!important;
  }
}

@media(max-width:900px){
  #examView.practice-sidebar-active .question-workspace{
    grid-template-columns:1fr!important;
  }
  #examView.practice-sidebar-active .question-card{
    grid-column:1!important;
    grid-row:1!important;
  }
  #examView.practice-sidebar-active .practice-exam-map{
    position:static!important;
    grid-column:1!important;
    grid-row:2!important;
  }
  #examView.practice-sidebar-active .practice-study-tools-slot .study-tools{
    justify-content:flex-start!important;
  }
}


/* ==========================================================
   v44 — creador personalizado más ancho y controles ordenados
   ========================================================== */

/* Aprovecha mejor monitores de escritorio */
#simulatorModal .simulator-wizard-modal{
  width:min(1260px,96vw)!important;
  max-width:1260px!important;
  padding:22px!important;
}

/* Más espacio para cursos; el panel de tiempo ya no se estira */
#simulatorModal .sim-custom-layout{
  grid-template-columns:minmax(0,1fr) 270px!important;
  gap:16px!important;
  align-items:start!important;
}

#simulatorModal .sim-custom-main,
#simulatorModal .sim-custom-side{
  padding:14px!important;
}

#simulatorModal .sim-custom-side{
  height:max-content!important;
  align-self:start!important;
}

/* Fila de cantidad: texto a la izquierda, controles bien agrupados a la derecha */
#simulatorModal .sim-bulk-row{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  padding:11px 12px!important;
}

#simulatorModal .sim-bulk-stepper{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  min-width:max-content!important;
}

#simulatorModal .sim-bulk-stepper button:not(.sim-bulk-apply){
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
}

#simulatorModal .sim-bulk-stepper input{
  width:50px!important;
  height:34px!important;
}

#simulatorModal .sim-bulk-apply{
  height:34px!important;
  min-width:72px!important;
  padding:0 13px!important;
  margin-left:3px!important;
  border-radius:9px!important;
}

/* Cursos: más aire entre nombre y controles */
#simulatorModal .sim-custom-courses-grid{
  gap:9px!important;
  max-height:455px!important;
}

#simulatorModal .sim-custom-course{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:14px!important;
  padding:10px 11px!important;
  min-height:52px!important;
}

#simulatorModal .sim-course-stepper{
  flex-wrap:nowrap!important;
  gap:6px!important;
}

#simulatorModal .sim-course-stepper button{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
}

#simulatorModal .sim-course-stepper input{
  width:46px!important;
  height:32px!important;
}

/* Tiempo más compacto y proporcionado */
#simulatorModal .sim-time-grid{
  gap:9px!important;
}

#simulatorModal .sim-time-grid>div{
  min-height:58px!important;
  padding:10px!important;
}

#simulatorModal .sim-warning{
  margin-top:12px!important;
}

/* Botones inferiores alineados sin ocupar espacio innecesario */
#simulatorModal .sim-wizard-actions{
  gap:10px!important;
  margin-top:16px!important;
  padding-top:14px!important;
}

#simulatorModal .sim-wizard-actions button{
  min-height:40px!important;
  padding-left:15px!important;
  padding-right:15px!important;
}

/* En pantallas intermedias mantiene una distribución cómoda */
@media (max-width:1150px){
  #simulatorModal .simulator-wizard-modal{
    width:min(1060px,96vw)!important;
  }

  #simulatorModal .sim-custom-layout{
    grid-template-columns:minmax(0,1fr) 245px!important;
    gap:12px!important;
  }
}

@media (max-width:860px){
  #simulatorModal .sim-custom-layout{
    grid-template-columns:1fr!important;
  }

  #simulatorModal .sim-bulk-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  #simulatorModal .sim-bulk-stepper{
    justify-content:flex-start!important;
  }
}


/* ==========================================================
   v45 — SIMULACRO: lectura más legible + mapa lateral grande
   + resaltador horizontal encima del mapa
   ========================================================== */

/* Usa solo dos columnas: contenido + mapa. */
#examView.simulator-running .question-workspace{
  grid-template-columns:minmax(0,1fr) 410px!important;
  gap:16px!important;
  align-items:start!important;
}
#examView.simulator-running .question-card{
  grid-column:1!important;
  grid-row:1!important;
}
#examView.simulator-running .sim-exam-map{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
}

/* Herramientas dentro del panel derecho, en horizontal. */
#examView.simulator-running .sim-exam-map > .study-tools{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  left:auto!important;
  z-index:20!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  padding:12px 14px!important;
  border-bottom:1px solid var(--line)!important;
  background:#10162a!important;
}
#examView.simulator-running .sim-exam-map > .study-tools .study-tool-btn,
#examView.simulator-running .sim-exam-map > .study-tools .study-color-btn{
  width:42px!important;
  min-width:42px!important;
  height:40px!important;
}
#examView.simulator-running .sim-exam-map > .study-tools .study-tool-btn svg{
  width:22px!important;
  height:22px!important;
}




/* Texto principal del simulacro más cómodo de leer. */
#examView.simulator-running .stimulus-text{
  font-size:17.5px!important;
  line-height:1.82!important;
}
#examView.simulator-running .stimulus-title{
  font-size:14.5px!important;
}
#examView.simulator-running .stimulus-content-title{
  font-size:18px!important;
  line-height:1.35!important;
}
#examView.simulator-running .stimulus-source{
  font-size:13.5px!important;
  line-height:1.5!important;
}
#examView.simulator-running .stimulus-position{
  font-size:11.5px!important;
}
#examView.simulator-running .q-title,
#examView.simulator-running .shared-question-prompt{
  font-size:17.5px!important;
  line-height:1.5!important;
}
#examView.simulator-running .shared-question-head strong,
#examView.simulator-running .shared-question-number{
  font-size:12.5px!important;
}
#examView.simulator-running .shared-question-head small,
#examView.simulator-running .shared-question-source{
  font-size:10.5px!important;
}
#examView.simulator-running .option{
  font-size:15px!important;
  line-height:1.42!important;
  padding-top:13px!important;
  padding-bottom:13px!important;
}

/* Mapa del examen más grande y legible. */
#examView.simulator-running .sim-map-head{
  padding:15px 16px 12px!important;
}
#examView.simulator-running .sim-map-head strong{
  font-size:16px!important;
}
#examView.simulator-running .sim-map-head small{
  font-size:10.5px!important;
}
#examView.simulator-running .sim-map-summary{
  gap:8px!important;
  padding:12px 14px!important;
}
#examView.simulator-running .sim-map-summary>div{
  padding:11px 6px!important;
}
#examView.simulator-running .sim-map-summary strong{
  font-size:17px!important;
}
#examView.simulator-running .sim-map-summary span{
  font-size:9px!important;
}
#examView.simulator-running .sim-map-course-select{
  padding:0 14px 11px!important;
}
#examView.simulator-running .sim-map-course-select select{
  padding:11px 12px!important;
  font-size:14px!important;
}
#examView.simulator-running .sim-map-course-card{
  margin:0 14px 12px!important;
  padding:13px!important;
}
#examView.simulator-running .sim-map-course-top strong{
  font-size:13.5px!important;
}
#examView.simulator-running .sim-map-course-top span{
  font-size:10px!important;
}
#examView.simulator-running .sim-map-course-status{
  margin:6px 0 10px!important;
  font-size:10px!important;
}
#examView.simulator-running .sim-map-numbers{
  gap:8px!important;
}
#examView.simulator-running .sim-map-number{
  width:38px!important;
  height:38px!important;
  font-size:12px!important;
  border-radius:9px!important;
}
#examView.simulator-running .sim-map-actions{
  gap:9px!important;
  padding:0 14px 14px!important;
}
#examView.simulator-running .sim-map-nav-row .btn,
#examView.simulator-running .sim-map-finish{
  min-height:42px!important;
  font-size:13px!important;
}

@media(max-width:1250px){
  #examView.simulator-running .question-workspace{
    grid-template-columns:minmax(0,1fr) 360px!important;
    gap:12px!important;
  }
  #examView.simulator-running .sim-exam-map{
    grid-column:2!important;
  }
  #examView.simulator-running .sim-exam-map > .study-tools{
    position:relative!important;
    top:auto!important;
    right:auto!important;
  }
}

@media(max-width:900px){
  #examView.simulator-running .question-workspace{
    grid-template-columns:1fr!important;
  }
  #examView.simulator-running .sim-exam-map{
    grid-column:1!important;
    grid-row:2!important;
    position:static!important;
  }
  #examView.simulator-running .sim-exam-map > .study-tools{
    justify-content:flex-start!important;
  }
}


/* ==========================================================
   v46 — PARCHE GENERAL DE ESTABILIDAD Y LEGIBILIDAD
   ========================================================== */

/* Evita textos funcionales demasiado pequeños en Práctica y Simulacros. */
#examView .question-number,
#examView .question-source,
#examView .stimulus-position,
#examView .shared-question-head small,
#examView .shared-question-source,
#examView .practice-map-head small,
#examView .practice-map-summary span,
#examView .sim-map-head small,
#examView .sim-map-summary span,
#examView .sim-map-course-top span,
#examView .sim-map-course-status,
#examView .sim-exam-phase-label{
  font-size:11px!important;
  line-height:1.35!important;
}

#examView .practice-map-head strong,
#examView .sim-map-head strong{
  font-size:16px!important;
}

#examView .practice-map-number,
#examView .sim-map-number{
  font-size:12.5px!important;
}



/* Lecturas y enunciados: mínimo cómodo de lectura. */
#examView .stimulus-text{
  font-size:17px!important;
  line-height:1.78!important;
}
#examView .stimulus-content-title{
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:850!important;
}
#examView .stimulus-source{
  font-size:13.5px!important;
  line-height:1.5!important;
}
#examView .q-title,
#examView .shared-question-prompt{
  font-size:17px!important;
  line-height:1.5!important;
}
#examView .option{
  font-size:15px!important;
  line-height:1.42!important;
}

/* Creador de simulacros: secundarios legibles sin agrandar el modal. */
#simulatorModal .sim-mode-badge,
#simulatorModal .sim-mode-meta span,
#simulatorModal .sim-origin-card small,
#simulatorModal .sim-custom-summary span,
#simulatorModal .sim-bulk-mode span,
#simulatorModal .sim-bulk-row small,
#simulatorModal .sim-custom-course-name small,
#simulatorModal .sim-time-grid span,
#simulatorModal .sim-warning,
#simulatorModal .sim-verify-divider,
#simulatorModal .sim-verify-course span,
#simulatorModal .sim-verify-status{
  font-size:11px!important;
  line-height:1.35!important;
}

/* El aviso de ajuste por bloques compartidos debe verse claramente. */
#simulatorModal .sim-warning:not(.hidden){
  min-height:36px!important;
  display:flex!important;
  align-items:center!important;
  padding:9px 11px!important;
}

/* Mantiene el panel lateral en altura natural: evita grandes vacíos. */
#examView.simulator-running .sim-exam-map,
#examView.practice-sidebar-active .practice-exam-map{
  align-self:start!important;
  height:max-content!important;
}


/* ==========================================================
   v47 — resaltador simplificado: amarillo + selector arcoíris
   ========================================================== */

/* Ya no existe paleta desplegable. */




/* Ambos cuadrados tienen el mismo tamaño. */




.study-rainbow-btn .study-rainbow{
  display:block!important;
  width:24px!important;
  height:24px!important;
  border-radius:7px!important;
  background:
    conic-gradient(
      from 30deg,
      #ef4444,
      #f97316,
      #facc15,
      #22c55e,
      #06b6d4,
      #3b82f6,
      #8b5cf6,
      #ec4899,
      #ef4444
    )!important;
  border:1px solid rgba(255,255,255,.30);
}

/* Indica cuál tipo de color está seleccionado. */

.study-rainbow-btn.active{
  border-color:#38bdf8!important;
  box-shadow:inset 0 0 0 1px #38bdf8!important;
}

/* Evita que reglas antiguas intenten abrir o posicionar una paleta. */


/* En Práctica y Simulacro: lápiz, amarillo, arcoíris y quitar en una sola fila. */
#examView.practice-sidebar-active .practice-study-tools-slot .study-tools,
#examView.simulator-running .sim-exam-map > .study-tools{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  flex-wrap:nowrap!important;
}

/* Quitar queda compacto al final. */



/* ==========================================================
   v48 — Talleres, Historia separada, violeta en Práctica
   ========================================================== */

/* La alternativa elegida usa el mismo violeta que el simulacro. */
.option.user-selected:not(.correct):not(.incorrect){
  outline:3px solid #a66cff!important;
  outline-offset:1px!important;
  background:rgba(166,108,255,.10)!important;
  border-color:#a66cff!important;
}
.option.user-selected input{
  accent-color:#a66cff!important;
}

/* Secciones Semanas / Talleres dentro de Academia. */
.practice-unit-heading{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:5px 2px 2px;
  margin-top:3px;
}
.practice-unit-heading strong{
  font-size:15px;
  font-weight:900;
  color:var(--text);
}
.practice-unit-heading span{
  font-size:11px;
  color:var(--muted);
}
.workshop-btn:not(.selected){
  border-left:4px solid #a66cff!important;
}
.workshop-btn.selected{
  background:rgba(166,108,255,.11)!important;
  border-color:#a66cff!important;
  box-shadow:inset 0 0 0 2px #a66cff!important;
}
.workshop-btn .count{
  background:rgba(166,108,255,.15)!important;
  color:#8b5cf6!important;
}
body.dark .workshop-btn .count{
  color:#d8b4fe!important;
}

/* Botón destructivo principal: rojo y sin emoji. */
#clearAllBankBtn{
  background:#dc2626!important;
  border-color:#dc2626!important;
  color:#fff!important;
  font-weight:900!important;
}
#clearAllBankBtn:hover:not(:disabled){
  background:#b91c1c!important;
  border-color:#b91c1c!important;
}
body.dark #clearAllBankBtn{
  background:#dc2626!important;
  color:#fff!important;
}


/* v49 — Cerrar sesión rojo y sin icono */
#logoutBtn.logout-danger{
  background:#b91c1c!important;
  border:1px solid #dc2626!important;
  color:#fff!important;
  box-shadow:none!important;
}
#logoutBtn.logout-danger:hover{
  background:#991b1b!important;
  border-color:#ef4444!important;
}
body.dark #logoutBtn.logout-danger{
  background:#b91c1c!important;
  border-color:#dc2626!important;
  color:#fff!important;
}


/* ==========================================================
   v50 — Administrar banco por filtros + selección múltiple
   ========================================================== */

.manage-bulk-modal{
  width:min(1120px,96vw)!important;
  max-width:1120px!important;
}

.manage-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:16px 0 0;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}

.manage-filter-field{
  display:block;
  min-width:0;
}

.manage-filter-field>span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.manage-filter-field select{
  width:100%;
  min-height:42px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--text);
  font-weight:800;
  outline:none;
}

.manage-bulk-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}

.manage-bulk-left{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.manage-bulk-left .muted{
  margin-left:2px;
  font-size:12px;
}

.manage-bulk-left .muted strong{
  color:var(--text);
}

.manage-delete-selected{
  flex:0 0 auto;
}

.manage-group-list{
  max-height:500px!important;
  margin-top:12px;
  padding:8px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:var(--panel)!important;
}

.manage-group-item{
  width:100%;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  margin:0 0 8px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel2);
  color:var(--text);
  text-align:left;
  cursor:pointer;
}

.manage-group-item:last-child{
  margin-bottom:0;
}

.manage-group-item:hover{
  border-color:#64748b;
}

.manage-group-item.selected{
  border-color:#6f70ff;
  background:rgba(94,101,255,.12);
  box-shadow:inset 3px 0 0 #7378ff;
}

.manage-group-check{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--panel);
  color:transparent;
  font-size:14px;
  font-weight:900;
}

.manage-group-item.selected .manage-group-check{
  border-color:#7e8cff;
  background:#5968ff;
  color:white;
}

.manage-group-main{
  min-width:0;
}

.manage-group-main>strong{
  display:block;
  margin-bottom:7px;
  font-size:14px;
  line-height:1.25;
}

.manage-group-meta{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}

.manage-group-count{
  min-width:74px;
  text-align:right;
  white-space:nowrap;
}

.manage-group-count strong{
  display:block;
  font-size:18px;
  line-height:1;
}

.manage-group-count small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
}

.manage-bulk-footer{
  margin-top:14px!important;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.manage-wipe-bank{
  background:#dc2626!important;
  border-color:#dc2626!important;
  color:#fff!important;
}

.manage-wipe-bank:hover{
  background:#b91c1c!important;
  border-color:#b91c1c!important;
}

@media(max-width:900px){
  .manage-filter-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:620px){
  .manage-filter-grid{
    grid-template-columns:1fr;
  }

  .manage-bulk-toolbar,
  .manage-bulk-footer{
    align-items:stretch!important;
    flex-direction:column;
  }

  .manage-bulk-left{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .manage-bulk-left .muted{
    grid-column:1/-1;
  }

  .manage-delete-selected,
  .manage-wipe-bank{
    width:100%;
  }

  .manage-group-item{
    grid-template-columns:auto minmax(0,1fr);
  }

  .manage-group-count{
    grid-column:2;
    text-align:left;
  }
}

/* ==========================================================
   v52 — renderizador matemático ampliado y ajuste visual
   ========================================================== */

/* Tipografía matemática común. */
.math-fn,
.math-roman{
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-style:normal;
  font-weight:400;
  white-space:nowrap;
}
.math-fn{margin:0 .055em}
.math-bold{font-weight:750}
.math-italic{font-style:italic}
.math-blackboard{
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-weight:400;
}
.math-frac,
.math-root,
.math-delimited,
.math-binomial,
.math-overline,
.math-widehat,
.math-hat,
.math-vec{
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
}
.math-frac,
.math-root,
.math-delimited,
.math-overline,
.math-widehat,
.math-hat,
.math-vec{
  font-style:italic;
}
.math-roman,
.math-fn{
  font-style:normal;
}
.math-space{display:inline-block}
.math-space-thin{width:.16em}
.math-space-medium{width:.22em}
.math-space-thick{width:.28em}
.math-space-negative{width:0;margin-left:-.10em}
.math-space-quad{width:1em}
.math-space-qquad{width:2em}

/* Segmentos, barras, arcos, vectores y acentos geométricos. */
.math-overline{
  display:inline-block;
  border-top:1.5px solid currentColor;
  padding-top:.06em;
  line-height:1;
  white-space:nowrap;
}
.math-underline{
  display:inline-block;
  border-bottom:1.5px solid currentColor;
  padding-bottom:.05em;
  line-height:1;
  white-space:nowrap;
}
.math-widehat,
.math-hat,
.math-vec{
  position:relative;
  display:inline-block;
  padding-top:.38em;
  line-height:1;
  white-space:nowrap;
}
.math-widehat::before{
  content:"";
  position:absolute;
  left:.02em;
  right:.02em;
  top:.08em;
  height:.32em;
  border-top:1.6px solid currentColor;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
}
.math-hat::before{
  content:"ˆ";
  position:absolute;
  left:50%;
  top:-.34em;
  transform:translateX(-50%);
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-size:.9em;
  line-height:1;
}
.math-vec::before{
  content:"→";
  position:absolute;
  left:50%;
  top:-.36em;
  transform:translateX(-50%) scaleX(.88);
  transform-origin:center;
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-size:.88em;
  line-height:1;
}
.math-vec-left::before{content:"←"}
.math-vec-both::before{content:"↔"}

/* Fracciones inline: compactas y con altura reservada para no chocar con el texto. */
.math-frac{
  display:inline-grid;
  grid-template-rows:auto auto;
  align-items:center;
  justify-items:stretch;
  vertical-align:.18em;
  text-align:center;
  line-height:1;
  margin:0 .12em;
  min-width:1.05em;
  white-space:nowrap;
}
.math-frac-num,
.math-frac-den{
  display:block;
  min-width:100%;
  padding-left:.16em;
  padding-right:.16em;
  font-size:.88em;
  line-height:1.02;
  white-space:nowrap;
}
.math-frac-num{
  border-bottom:1.35px solid currentColor;
  padding-top:.02em;
  padding-bottom:.08em;
}
.math-frac-den{
  padding-top:.08em;
  padding-bottom:.02em;
}
/* \dfrac queda disponible para fórmulas deliberadamente grandes. */
.math-frac-display{
  vertical-align:.04em;
}
.math-frac-display .math-frac-num,
.math-frac-display .math-frac-den{
  font-size:1em;
}
/* \tfrac para fracciones especialmente compactas dentro de texto. */
.math-frac-text{
  vertical-align:.20em;
}
.math-frac-text .math-frac-num,
.math-frac-text .math-frac-den{
  font-size:.78em;
}

/* Raíz cuadrada y raíz n-ésima. */
.math-root{
  position:relative;
  display:inline-flex;
  align-items:flex-start;
  vertical-align:-.16em;
  white-space:nowrap;
  margin:0 .06em;
}
.math-radical{
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-size:1.28em;
  line-height:1.06;
  margin-right:.02em;
}
.math-radicand{
  border-top:1.5px solid currentColor;
  padding:.02em .09em 0 .07em;
  line-height:1.13;
}
.math-root-indexed{
  padding-left:.22em;
}
.math-root-index{
  position:absolute;
  left:-.02em;
  top:-.20em;
  font-size:.52em;
  line-height:1;
}

/* Superíndices y subíndices genéricos. */
.math-sup,
.math-sub{
  font-size:.72em;
  line-height:0;
}
.math-sup{vertical-align:.58em}
.math-sub{vertical-align:-.24em}

/* \left ... \right con tamaño adaptable. */
.math-delimited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:-.12em;
  white-space:nowrap;
  margin:0 .025em;
}
.math-delim-body{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
.math-delim{
  display:inline-block;
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-size:1.05em;
  line-height:1;
  font-weight:400;
}
.math-delim-left{margin-right:.035em}
.math-delim-right{margin-left:.035em}
.math-delimited-tall{
  vertical-align:-.10em;
}
.math-delimited-tall>.math-delim{
  font-size:1.62em;
  transform:scaleY(1.42);
  transform-origin:center;
}

/* Binomial, con dos niveles y paréntesis adaptables. */
.math-binomial{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:1em;
  line-height:1.02;
  text-align:center;
  vertical-align:middle;
}
.math-binomial>span{
  display:block;
  padding:0 .10em;
  white-space:nowrap;
}

/*
  Operadores grandes.
  SUM/PROD usan una caja con tres zonas independientes para impedir que
  el límite superior, el símbolo y el límite inferior se superpongan.
*/
.math-large-op{
  position:relative;
  display:inline-block;
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-weight:400;
  white-space:nowrap;
  color:inherit;
}
.math-large-op-upper,
.math-large-op-lower,
.math-large-op-symbol{
  position:absolute;
  display:block;
  white-space:nowrap;
  text-align:center;
}
.math-large-op-upper,
.math-large-op-lower{
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  font-size:.66em;
  line-height:1;
  font-weight:400;
}

/* Sumatoria y productoria: límites centrados arriba/abajo. */
.math-large-op-sum,
.math-large-op-prod{
  width:2.30em;
  height:3.60em;
  margin:0 .07em;
  vertical-align:-1.22em;
}
.math-large-op-sum .math-large-op-upper,
.math-large-op-prod .math-large-op-upper{
  left:50%;
  top:.02em;
  transform:translateX(-50%);
}
.math-large-op-sum .math-large-op-lower,
.math-large-op-prod .math-large-op-lower{
  left:50%;
  bottom:.02em;
  transform:translateX(-50%);
}
.math-large-op-sum .math-large-op-symbol,
.math-large-op-prod .math-large-op-symbol{
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  font-size:2.10em;
  line-height:.84;
}
.math-large-op-prod .math-large-op-symbol{
  font-size:2.00em;
}

/* Integral: límites a la derecha del signo, como en notación matemática normal. */
.math-large-op-int{
  width:1.98em;
  height:3.05em;
  margin:0 .10em 0 .03em;
  vertical-align:-1.00em;
}
.math-large-op-int .math-large-op-symbol{
  left:.05em;
  top:50%;
  transform:translateY(-50%);
  font-size:2.72em;
  line-height:.68;
}
.math-large-op-int .math-large-op-upper{
  left:1.48em;
  top:.03em;
}
.math-large-op-int .math-large-op-lower{
  left:1.22em;
  bottom:.03em;
}

/* Límite: "lim" arriba y condición abajo. */
.math-large-op-lim{
  width:2.80em;
  height:2.28em;
  margin:0 .07em;
  vertical-align:-.72em;
}
.math-large-op-lim .math-large-op-symbol{
  left:50%;
  top:.12em;
  transform:translateX(-50%);
  font-size:1.08em;
  line-height:1;
  font-weight:600;
}
.math-large-op-lim .math-large-op-lower{
  left:50%;
  bottom:.03em;
  transform:translateX(-50%);
  font-size:.64em;
}
.math-large-op-lim .math-large-op-upper{
  left:50%;
  top:-.55em;
  transform:translateX(-50%);
}

/* Evita que las fórmulas inline se reduzcan dentro de preguntas/opciones. */
.question-prompt .math-frac,
.q-title .math-frac,
.shared-question-prompt .math-frac,
.stimulus-text .math-frac,
.stimulus-section-text .math-frac,
.option .math-frac,
.statement-text .math-frac,
.vf-text .math-frac{
  font-size:1em;
}

/* En pantallas pequeñas se conserva la estructura sin romper símbolos. */
@media(max-width:560px){
  .math-large-op-sum,
  .math-large-op-prod{
    width:2.12em;
  }
  .math-delimited-tall>.math-delim{
    font-size:1.52em;
  }
}

/* ==========================================================
   v51 — ajustes visuales aprobados: práctica/simulacro/revisión
   ========================================================== */

/* Cabecera principal: logo intacto, título más grande y sin subtítulo. */
.topbar .brand h1{
  text-transform:uppercase;
  font-size:22px!important;
  letter-spacing:.035em;
  line-height:1.05;
}

/* Durante práctica/simulacro la cabecera global desaparece. */
body.exam-active > .topbar{display:none!important}

/* La procedencia ya vive en la cabecera del examen. */
#examView .q-meta{display:none!important}

/* Volver al banco: morado sólido y texto explícito. */
#examView .back-bank-btn,
#examView .practice-map-finish.finished-back,
#examView .sim-map-finish.finished-back{
  background:#6651a8!important;
  border-color:#6651a8!important;
  color:#fff!important;
  box-shadow:none!important;
}
#examView .back-bank-btn:hover,
#examView .practice-map-finish.finished-back:hover,
#examView .sim-map-finish.finished-back:hover{
  background:#574493!important;
  border-color:#574493!important;
}

/* En Práctica, Respondidas/Pendientes se integran junto a “Preguntas”. */
.practice-map-head{
  gap:10px!important;
  align-items:center!important;
}
.practice-map-head > strong{flex:0 0 auto}
.practice-map-summary{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  padding:0!important;
}
.practice-map-summary>div{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:5px 8px!important;
  border-radius:8px!important;
  min-width:0!important;
  background:var(--panel2)!important;
}
.practice-map-summary strong{
  display:inline!important;
  font-size:13px!important;
}
.practice-map-summary span{
  display:inline!important;
  margin:0!important;
  font-size:8px!important;
}

/* Estados del mapa: colores sólidos, sin neón. */
.practice-map-number,
.sim-map-number{box-shadow:none!important}
.practice-map-number.answered,
.sim-map-number.answered{
  border-color:#64748b!important;
  background:#253247!important;
  color:#e2e8f0!important;
}
.practice-map-number.result-correct,
.sim-map-number.result-correct{
  border-color:#3d7a58!important;
  background:#2f6b46!important;
  color:#fff!important;
}
.practice-map-number.result-wrong,
.sim-map-number.result-wrong{
  border-color:#a34d54!important;
  background:#8a3a43!important;
  color:#fff!important;
}
.practice-map-number.current,
.sim-map-number.current{
  border-color:#63b3cf!important;
  background:#3b82a0!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* Anterior y Siguiente comparten exactamente el mismo estilo. */
#examView .practice-map-nav-row .btn,
#examView .sim-map-nav-row .btn{
  background:linear-gradient(90deg,#2362d8,#178a92)!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  opacity:1;
}
#examView .practice-map-nav-row .btn:disabled,
#examView .sim-map-nav-row .btn:disabled{
  opacity:.42!important;
}

/* Finalizar: rojo entero, sin borde/resplandor neón. */
#examView .practice-map-finish:not(.finished-back),
#examView .sim-map-finish:not(.finished-back){
  background:#a63445!important;
  border:1px solid #a63445!important;
  color:#fff!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
#examView .practice-map-finish:not(.finished-back):hover,
#examView .sim-map-finish:not(.finished-back):hover{
  background:#922d3b!important;
  border-color:#922d3b!important;
}

/* Revisión final: conserva exactamente la distribución lateral. */
#examView.practice-sidebar-active .exam-shell{max-width:1450px!important}
#examView.simulator-running .exam-shell{max-width:1480px!important}

/* El modal de cerrar sesión usa la confirmación moderna, pero sin icono. */
.confirm-modal.confirm-no-icon .confirm-icon{display:none!important}
.confirm-modal.confirm-no-icon h3{margin-top:0!important}
.confirm-modal.confirm-no-icon #confirmAcceptBtn{
  background:#b93642!important;
  border-color:#b93642!important;
  color:#fff!important;
}


/* ==========================================================
   v49 — Herramientas de estudio: lápiz + resaltador + borrador + paleta
   ========================================================== */

.question-card{
  position:relative;
}

/* Barra final: Lápiz | Resaltador | Borrador | Paleta | Grosor */
#examView .study-tools{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  flex-wrap:nowrap!important;
  overflow:visible!important;
  z-index:28!important;
}
#examView .study-tool-btn,
#examView .study-color-btn{
  width:42px!important;
  min-width:42px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:10px!important;
}
#examView .study-tool-image,
#examView .study-tool-image-canvas{
  width:29px!important;
  height:29px!important;
  display:block!important;
  object-fit:contain!important;
  background:transparent!important;
}
#examView .study-tool-btn.active{
  border-color:#38bdf8!important;
  background:#10304a!important;
  color:#7dd3fc!important;
  box-shadow:inset 0 0 0 1px #38bdf8!important;
}

#examView .study-pencil-size{
  width:112px!important;
  min-width:112px!important;
  height:40px!important;
  margin-left:1px!important;
  padding:0 34px 0 12px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:var(--panel2)!important;
  color:var(--text)!important;
  font-size:12px!important;
  font-weight:800!important;
  cursor:pointer!important;
}

/* Una sola paleta compartida para lápiz y resaltador. */
#examView .study-color-wrap{position:relative!important;overflow:visible!important}
#examView .study-rainbow-btn .study-rainbow{
  display:block!important;
  width:24px!important;
  height:24px!important;
  border-radius:7px!important;
  background:conic-gradient(from 30deg,#ef4444,#f97316,#facc15,#22c55e,#06b6d4,#3b82f6,#8b5cf6,#ec4899,#ef4444)!important;
  border:1px solid rgba(255,255,255,.30)!important;
}
#examView .study-highlight-palette{
  position:absolute!important;
  top:calc(100% + 9px)!important;
  left:-49px!important;
  right:auto!important;
  z-index:120!important;
  width:270px!important;
  padding:12px!important;
  border:1px solid #33425f!important;
  border-radius:13px!important;
  background:#182235!important;
  box-shadow:0 14px 35px rgba(0,0,0,.35)!important;
}
#examView .study-highlight-palette-grid{
  display:grid!important;
  grid-template-columns:repeat(9,22px)!important;
  grid-auto-rows:22px!important;
  justify-content:center!important;
  gap:1px!important;
}
#examView .study-highlight-swatch{
  width:22px!important;
  height:22px!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:var(--study-swatch)!important;
  cursor:pointer!important;
  clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%)!important;
}
#examView .study-highlight-swatch:hover{filter:brightness(1.12)}
#examView .practice-exam-map,
#examView .sim-exam-map,
#examView .practice-study-tools-slot{overflow:visible!important}

/* Dibujo sobre la pregunta. No intercepta nada si el lápiz no está activo. */
#studyDrawCanvas{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:20!important;
  pointer-events:none!important;
  touch-action:none!important;
  cursor:none!important;
  border-radius:inherit!important;
}
#examView.study-pencil-mode #studyDrawCanvas,
#examView.study-eraser-mode #studyDrawCanvas{
  pointer-events:auto!important;
}

/* El resaltado cambia solo fondo/color: nunca ancho, márgenes ni posición del texto. */
mark.study-highlight{
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:2px!important;
}

/* Cursores propios */
.study-pointer{
  position:fixed;
  left:0;
  top:0;
  z-index:99999;
  display:none;
  pointer-events:none;
  transform:translate(-9999px,-9999px);
}
.study-pointer.show{display:block}
.study-pointer-dot,
.study-pointer-highlight,
.study-pointer-eraser{display:none}
.study-pointer.mode-pencil .study-pointer-dot{
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--study-pointer-color,#FDE047);
  box-shadow:0 0 0 1px rgba(255,255,255,.42);
}
.study-pointer.mode-highlight .study-pointer-highlight{
  display:block;
  width:3px;
  height:20px;
  border-radius:999px;
  background:var(--study-pointer-color,#FDE047);
  box-shadow:0 0 0 1px rgba(255,255,255,.22);
}
.study-pointer.mode-eraser .study-pointer-eraser{
  display:block;
  width:38px;
  height:27px;
  background-image:url("data:image/png;base64,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");
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}

#examView.study-highlight-mode .highlightable-text{
  cursor:none!important;
  user-select:text!important;
  -webkit-user-select:text!important;
  touch-action:none!important;
}
#examView.study-eraser-mode .question-card,
#examView.study-eraser-mode .question-card *{
  cursor:none!important;
}

@media(max-width:900px){
  #examView .study-tools{
    flex-wrap:wrap!important;
  }
  #examView .study-highlight-palette{
    left:auto!important;
    right:0!important;
  }
}


/* FIX: evitar que aparezca fugazmente la flecha/mano nativa al escribir. */
#examView.study-pencil-mode .question-card,
#examView.study-pencil-mode .question-card *,
html.study-hide-native-cursor,
html.study-hide-native-cursor *{
  cursor:none!important;
}


/* ==========================================================
   v55 — estilo matemático uniforme: sin cursiva automática
   ========================================================== */
.math-fn,
.math-roman,
.math-bold,
.math-italic,
.math-blackboard,
.math-frac,
.math-root,
.math-delimited,
.math-binomial,
.math-overline,
.math-widehat,
.math-hat,
.math-vec,
.math-large-op,
.math-large-op-upper,
.math-large-op-lower,
.math-large-op-symbol,
.math-sup,
.math-sub{
  font-style:normal !important;
}


/* ==========================================================
   AJUSTES APROBADOS — 03/09/2026
   ========================================================== */

/* Texto de preguntas con grosor intermedio. */
#examView .q-title,
#examView .shared-question-prompt{
  font-weight:500!important;
}

/* Fracciones verticales tipo boletín dentro de texto corrido. */
.math-frac{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  vertical-align:middle!important;
  margin:0 .045em!important;
  min-width:auto!important;
  white-space:nowrap!important;
  font-family:"Cambria Math","Times New Roman",serif!important;
  font-size:1.02em!important;
  font-weight:500!important;
  line-height:.78!important;
}
.math-frac-num,
.math-frac-den{
  display:block!important;
  min-width:100%!important;
  padding-left:.09em!important;
  padding-right:.09em!important;
  text-align:center!important;
  white-space:nowrap!important;
  font-size:1em!important;
  line-height:.78!important;
}
.math-frac-num{
  border-bottom:1.35px solid currentColor!important;
  padding-top:0!important;
  padding-bottom:.07em!important;
}
.math-frac-den{
  padding-top:.06em!important;
  padding-bottom:0!important;
}
.math-frac-display{font-size:1.08em!important}
.math-frac-text{font-size:.94em!important}

/* Sin mensaje textual de corrección: quedan solo colores rojo/verde. */
#instantFeedbackMessage,
.instant-feedback-message{
  display:none!important;
}

/* Columna derecha del simulacro. */
#examView.simulator-running .sim-exam-sidebar{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-self:start;
  position:sticky;
  top:14px;
}
#examView.simulator-running .sim-exam-sidebar.hidden{display:none!important}
#examView.simulator-running .sim-exam-sidebar .sim-exam-map{
  position:static!important;
  width:100%!important;
  margin:0!important;
}
#examView.simulator-running .sim-exam-map{
  grid-column:auto!important;
  grid-row:auto!important;
}

/* Mini cajas de resumen. */
#examView.simulator-running .sim-map-summary{
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:7px!important;
  padding:8px 14px 9px!important;
}
#examView.simulator-running .sim-map-summary>div{
  min-height:36px!important;
  padding:6px 8px!important;
  border-radius:9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
}
#examView.simulator-running .sim-map-summary strong{
  display:inline!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1!important;
}
#examView.simulator-running .sim-map-summary span{
  display:inline!important;
  margin:0!important;
  font-size:9px!important;
  line-height:1!important;
}

/* El selector ya muestra el curso: se eliminan datos repetidos. */
#examView.simulator-running .sim-map-course-top,
#examView.simulator-running .sim-map-course-status{
  display:none!important;
}
#examView.simulator-running .sim-map-course-card{
  padding-top:12px!important;
  padding-bottom:12px!important;
}

/* Botones aprobados: letra más grande, grosor intermedio. */
#examView.simulator-running .sim-map-nav-row .btn,
#examView.simulator-running .sim-review-errors,
#examView.simulator-running .sim-map-finish{
  font-size:16px!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

/* Misma alineación lateral para los cuatro botones. */
#examView.simulator-running .sim-map-actions{
  padding:0 14px 14px!important;
  gap:8px!important;
}
#examView.simulator-running .sim-map-nav-row{
  width:100%!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
#examView.simulator-running .sim-map-nav-row .btn{
  width:100%!important;
  min-height:42px!important;
  padding:10px 10px!important;
  border-radius:9px!important;
}

/* Revisar errores encima de Volver al banco. */
#examView.simulator-running .sim-review-errors{
  width:100%!important;
  min-height:42px!important;
  padding:10px 12px!important;
  border:1px solid #a63445!important;
  border-radius:9px!important;
  background:#b23b4d!important;
  color:#fff!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
#examView.simulator-running .sim-review-errors:hover{background:#9f3343!important}
#examView.simulator-running .sim-review-errors.active{
  background:#8e3040!important;
  border-color:#8e3040!important;
}

/* Volver al banco con la misma geometría. */
#examView.simulator-running .sim-map-finish.finished-back{
  width:100%!important;
  min-height:42px!important;
  padding:10px 12px!important;
  border-radius:9px!important;
}

/* Al finalizar, solo se muestra el Volver al banco del panel lateral. */
#examView.simulator-running.simulator-finished #backBankBtn{
  display:none!important;
}

/* Revisar errores: título + números incorrectos, sin sobrecarga. */
#examView.simulator-running.simulator-error-review .sim-map-summary,
#examView.simulator-running.simulator-error-review .sim-map-course-select,
#examView.simulator-running.simulator-error-review .sim-map-course-card,
#examView.simulator-running.simulator-error-review .sim-map-head small{
  display:none!important;
}
#examView.simulator-running.simulator-error-review .sim-map-head{
  border-bottom:0!important;
  padding-bottom:11px!important;
}
.sim-error-numbers{
  padding:0 14px 12px;
}
.sim-error-numbers .sim-map-numbers{
  padding:0!important;
  gap:8px!important;
}

/* Resultado San Marcos limpio, debajo del mapa. */
.sim-result-panel{
  padding:16px 17px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
  box-shadow:none;
}
.sim-result-label{
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.sim-result-score{
  display:block;
  margin-top:3px;
  color:#59e3cd;
  font-size:43px;
  line-height:.98;
  font-weight:900;
  letter-spacing:-.02em;
}
.sim-result-summary{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--line);
  color:#b8c4d8;
  font-size:11px;
  font-weight:700;
}
.sim-result-summary b{
  color:var(--text);
  font-weight:900;
}
.sim-result-sep{
  padding:0 5px;
  color:#66748d;
}

/* En simulacro finalizado se usa el resultado lateral, no la tarjeta grande. */
#examView.simulator-running #resultCard{
  display:none!important;
}

@media(max-width:900px){
  #examView.simulator-running .sim-exam-sidebar{
    grid-column:1!important;
    grid-row:2!important;
    position:static!important;
  }
  .sim-result-score{font-size:36px}
}


/* ==========================================================
   AJUSTE APROBADO — menos espacio entre pregunta y alternativas
   03/09/2026
   ========================================================== */

/* Reduce únicamente el hueco vertical entre el enunciado
   y la primera alternativa. No cambia tipografía ni tarjetas. */
#examView #optionsArea{
  margin-top:8px!important;
}
#examView .q-title{
  margin-bottom:10px!important;
}
#examView .shared-question-prompt{
  margin-bottom:8px!important;
}
#examView .shared-question-options{
  margin-top:0!important;
}


/* ==========================================================
   PRÁCTICA — puntaje + Actitudinales + navegación Nieve humo
   04/09/2026
   ========================================================== */

/* La alternativa actitudinal elegida usa el mismo peso visual
   que una correcta/incorrecta, pero sin llamarla “correcta”. */
#examView.practice-sidebar-active .option.attitudinal-selected,
#examView.practice-sidebar-active .shared-question-options .option.attitudinal-selected{
  background:#5a4618!important;
  border-color:#a47d24!important;
  outline:none!important;
  color:#fff!important;
}
#examView.practice-sidebar-active .option.attitudinal-selected input{
  accent-color:#d2a33b!important;
}

/* Puntajes actitudinales: pastilla amarillo crema (opción 3 aprobada). */
#examView.practice-sidebar-active .attitudinal-score{
  flex:0 0 auto;
  margin-left:auto;
  min-width:72px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid #ffe6a2;
  background:#f2d77d;
  color:#15120a;
  font-size:11px;
  line-height:1.1;
  font-weight:950;
  text-align:center;
  white-space:nowrap;
}
#examView.practice-sidebar-active .option-text{min-width:0;flex:1}

/* En Actitudinal no se usan verde/rojo aunque el JSON conserve “correct”
   por compatibilidad con bancos antiguos. */
#examView.practice-sidebar-active.practice-attitudinal-current .option.correct,
#examView.practice-sidebar-active.practice-attitudinal-current .option.incorrect{
  background:var(--panel)!important;
  border-color:var(--line)!important;
  outline:none!important;
}
#examView.practice-sidebar-active.practice-attitudinal-current .option.attitudinal-selected{
  background:#5a4618!important;
  border-color:#a47d24!important;
}

/* Resultado compacto: mismo formato ancho de los cuadros del panel derecho. */
#examView .practice-result-summary{
  display:grid;
  gap:8px;
  margin-top:2px;
}
#examView .practice-result-summary.hidden{display:none!important}
#examView .practice-result-box{
  width:100%;
  min-height:72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel2);
}
#examView .practice-result-box>span{
  display:block;
  margin-bottom:5px;
  font-size:8px;
  line-height:1.1;
  letter-spacing:.10em;
  font-weight:950;
}
#examView .practice-result-box>strong{
  display:block;
  font-size:20px;
  line-height:1.05;
  font-weight:950;
}
#examView .practice-result-box>small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:9px;
  line-height:1.2;
}
#examView .practice-result-box.result-academic{
  border-color:#345d4d;
  background:linear-gradient(145deg,#111c1a,#13251f);
}
#examView .practice-result-box.result-academic>span,
#examView .practice-result-box.result-academic>strong{color:#78d4af}

#examView .practice-result-box.result-attitudinal{
  border-color:#65511e;
  background:linear-gradient(145deg,#171b27,#211b0d);
}
#examView .practice-result-box.result-attitudinal>span,
#examView .practice-result-box.result-attitudinal>strong{color:#efc45f}

#examView .practice-result-box.result-total{
  border-color:#57457f;
  background:linear-gradient(145deg,#171626,#201a33);
}
#examView .practice-result-box.result-total>span,
#examView .practice-result-box.result-total>strong{color:#b89be8}

/* Estado actitudinal en el mapa cuando ya se reveló la valoración. */
.practice-map-number.result-attitudinal,
.sim-map-number.result-attitudinal{
  border-color:#806726!important;
  background:#66501f!important;
  color:#f5e4ae!important;
}

/* Regla visual general aprobada para Práctica + Simulacro:
   la pregunta actual conserva su color de estado.
   El blanco se usa únicamente como indicador exterior + rayas interiores. */
#examView .practice-map-number.current,
#examView .sim-map-number.current{
  position:relative!important;
  border-color:var(--line)!important;
  background:var(--panel2)!important;
  color:var(--text)!important;
  box-shadow:0 0 0 2px #fff!important;
  text-shadow:none!important;
}
#examView .practice-map-number.current.answered,
#examView .sim-map-number.current.answered{
  border-color:#64748b!important;
  background:#253247!important;
  color:#e2e8f0!important;
}
#examView .practice-map-number.current.result-correct,
#examView .sim-map-number.current.result-correct{
  border-color:#3d7a58!important;
  background:#2f6b46!important;
  color:#fff!important;
}
#examView .practice-map-number.current.result-wrong,
#examView .sim-map-number.current.result-wrong{
  border-color:#a34d54!important;
  background:#8a3a43!important;
  color:#fff!important;
}
#examView .practice-map-number.current.result-attitudinal,
#examView .sim-map-number.current.result-attitudinal{
  border-color:#806726!important;
  background:#66501f!important;
  color:#f5e4ae!important;
}
#examView .practice-map-number.current::after,
#examView .sim-map-number.current::after{
  content:"";
  position:absolute;
  inset:3px;
  border:1px dashed rgba(255,255,255,.96);
  border-radius:5px;
  pointer-events:none;
}

/* Navigator inferior heredado (por si vuelve a mostrarse en otra vista). */
.nav-dot.attitudinal-review{background:#66501f;color:#f5e4ae;border-color:#806726}

/* Al finalizar práctica el botón inferior desaparece: queda solo Volver al banco arriba. */
#examView.practice-sidebar-active .practice-map-finish.hidden{display:none!important}

@media(max-width:560px){
  #examView.practice-sidebar-active .attitudinal-score{
    min-width:62px;
    padding:6px 8px;
    font-size:10px;
  }
}


/* ==========================================================
   SIMULACRO — Actitudinal + puntaje final acumulado
   04/09/2026
   ========================================================== */

/* Durante el simulacro no se revela la valoración. Al finalizar,
   la selección actitudinal toma relleno dorado oscuro y todas las
   alternativas muestran su puntaje en pastilla amarillo crema. */
#examView.simulator-running .option.attitudinal-selected,
#examView.simulator-running .shared-question-options .option.attitudinal-selected{
  background:#5a4618!important;
  border-color:#a47d24!important;
  outline:none!important;
  color:#fff!important;
}
#examView.simulator-running .option.attitudinal-selected input{
  accent-color:#d2a33b!important;
}
#examView.simulator-running .attitudinal-score{
  flex:0 0 auto;
  margin-left:auto;
  min-width:72px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid #ffe6a2;
  background:#f2d77d;
  color:#15120a;
  font-size:11px;
  line-height:1.1;
  font-weight:950;
  text-align:center;
  white-space:nowrap;
}
#examView.simulator-running .option-text{min-width:0;flex:1}

/* El resultado lateral del simulacro muestra solo el puntaje final.
   Académico y actitudinal se calculan por separado internamente,
   pero visualmente se presenta un único acumulado. */
#examView.simulator-running .sim-result-panel{
  border-color:#57457f!important;
  background:linear-gradient(145deg,#171626,#201a33)!important;
}
#examView.simulator-running .sim-result-label{
  color:#bca8dc!important;
}
#examView.simulator-running .sim-result-score{
  color:#b89be8!important;
}
#examView.simulator-running .sim-result-summary{
  display:none!important;
}

@media(max-width:560px){
  #examView.simulator-running .attitudinal-score{
    min-width:62px;
    padding:6px 8px;
    font-size:10px;
  }
}

/* ==========================================================
   AJUSTES NUEVOS POSTERIORES AL PAQUETE ACTITUDINAL
   Solo presentación: creador de simulacros + mapa de revisión.
   No modifica la recuperación de sesión/F5.
   ========================================================== */

/* ---------- Crear simulacro: vista más limpia ---------- */
#simulatorModal .simulator-wizard-modal{
  width:min(1500px,97vw)!important;
  max-width:1500px!important;
  padding:22px!important;
  background:#10182b!important;
  border:1px solid #31405f!important;
  border-radius:18px!important;
}
#simulatorModal .simulator-wizard-head h3{
  font-size:25px!important;
  line-height:1.2!important;
  font-weight:750!important;
  letter-spacing:-.02em!important;
}
#simulatorModal .simulator-wizard-head p{
  font-size:13px!important;
  font-weight:400!important;
  color:#98a5b9!important;
}
#simulatorModal .sim-wizard-label{
  font-size:13px!important;
  font-weight:650!important;
  color:#aab5c6!important;
  letter-spacing:.035em!important;
}
#simulatorModal #simStepChoose .sim-mode-grid{gap:12px!important}
#simulatorModal #simStepChoose .sim-mode-card{
  min-height:142px!important;
  padding:17px!important;
  background:#121b30!important;
  border:1px solid #34415b!important;
  border-radius:13px!important;
  box-shadow:none!important;
}
#simulatorModal #simStepChoose .sim-mode-card[data-sim-mode="unmsm"]{border-color:#6e55a8!important}
#simulatorModal #simStepChoose .sim-mode-card[data-sim-mode="custom"]{border-color:#397c78!important}
#simulatorModal #simStepChoose .sim-mode-card[data-sim-mode="unmsm"]>strong{color:#c2a8f0!important}
#simulatorModal #simStepChoose .sim-mode-card[data-sim-mode="custom"]>strong{color:#9fd2d0!important}
#simulatorModal #simStepChoose .sim-mode-card>strong{
  margin-top:18px!important;
  font-size:19px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
#simulatorModal #simStepChoose .sim-mode-card>small{
  margin-top:5px!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  font-weight:400!important;
}
#simulatorModal #simStepChoose .sim-mode-card[data-sim-mode="unmsm"].selected{
  background:linear-gradient(180deg,rgba(111,85,168,.16),#121b30)!important;
  border-color:#8b6dcc!important;
  box-shadow:0 0 0 2px rgba(139,109,204,.10)!important;
}
#simulatorModal #simStepChoose .sim-mode-card[data-sim-mode="custom"].selected{
  background:linear-gradient(180deg,rgba(57,124,120,.17),#121b30)!important;
  border-color:#4b9691!important;
  box-shadow:0 0 0 2px rgba(75,150,145,.10)!important;
}
#simulatorModal #simStepChoose .sim-mode-badge{font-size:10px!important;font-weight:650!important;padding:5px 8px!important}
#simulatorModal #simStepChoose .sim-mode-meta span{font-size:10.5px!important;font-weight:550!important}
#simulatorModal #simStepChoose .sim-origin-grid{gap:9px!important}
#simulatorModal #simStepChoose .sim-origin-card,
#simulatorModal #simStepChoose .sim-origin-card.selected{
  background:#121b30!important;
  border-color:#34415b!important;
  box-shadow:none!important;
}
#simulatorModal #simStepChoose .sim-origin-card strong{font-size:14.5px!important;line-height:1.25!important;font-weight:650!important}
#simulatorModal #simStepChoose .sim-origin-card small{font-size:11px!important;line-height:1.3!important;font-weight:400!important}
#simulatorModal #simStepChoose .sim-origin-card.selected i{
  background:#59617a!important;
  border-color:#7e89a9!important;
  color:#fff!important;
}

/* ---------- Simulacro personalizado: petróleo + lavanda ---------- */
#simulatorModal #simStepCustom .sim-custom-head{margin-bottom:14px!important;grid-column:1/-1!important}
#simulatorModal #simStepCustom .sim-custom-head h4{
  margin:0!important;
  color:#9fd2d0!important;
  font-size:25px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
/* Se elimina visualmente “Academia + Admisión” / texto de fuentes. */
#simulatorModal #simCustomSourceText{display:none!important}
#simulatorModal #simStepCustom .sim-custom-summary{gap:8px!important}
#simulatorModal #simStepCustom .sim-custom-summary>div{
  min-width:84px!important;
  padding:9px 11px!important;
  background:#151f34!important;
  border-color:#3d7572!important;
  border-radius:11px!important;
}
#simulatorModal #simStepCustom .sim-custom-summary>div:last-child{border-color:#65557f!important}
#simulatorModal #simStepCustom .sim-custom-summary b{font-size:18px!important;font-weight:650!important}
#simulatorModal #simStepCustom .sim-custom-summary span{font-size:9px!important;font-weight:600!important}

/* Sin cambiar el HTML: convertimos la propia etapa en la cuadrícula principal.
   Así los botones quedan en la columna derecha sin reemplazar index.html por una versión nueva. */
#simulatorModal #simStepCustom:not(.hidden){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 250px!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  column-gap:14px!important;
  align-items:stretch!important;
}
#simulatorModal #simStepCustom .sim-custom-layout{display:contents!important}
#simulatorModal #simStepCustom .sim-custom-main{
  grid-column:1!important;
  grid-row:2!important;
  padding:12px!important;
  border:1px solid #2b3855!important;
  border-radius:14px!important;
  background:#0f1729!important;
}
#simulatorModal #simStepCustom .sim-custom-side{
  grid-column:2!important;
  grid-row:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
  height:auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode-grid{gap:8px!important;margin-bottom:10px!important}
#simulatorModal #simStepCustom .sim-bulk-mode{
  padding:11px 12px!important;
  background:#121b30!important;
  border-color:#34415b!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode.active{
  border-color:#3c7775!important;
  background:#18262f!important;
  box-shadow:none!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode b{font-size:15px!important;font-weight:600!important}
#simulatorModal #simStepCustom .sim-bulk-mode.active b{color:#9dd2cf!important}
#simulatorModal #simStepCustom .sim-bulk-mode span{font-size:10px!important;font-weight:400!important}
#simulatorModal #simStepCustom .sim-bulk-row{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  margin-bottom:10px!important;
  padding:11px 12px!important;
  border:1px solid #2b3855!important;
  border-radius:10px!important;
  background:#121b30!important;
}
#simulatorModal #simStepCustom .sim-bulk-row strong{font-size:14px!important;font-weight:600!important}
#simulatorModal #simStepCustom .sim-bulk-row small{margin-top:3px!important;font-size:10px!important;font-weight:400!important}
#simulatorModal #simStepCustom .sim-bulk-stepper{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
}
#simulatorModal #simStepCustom .sim-bulk-stepper button:not(.sim-bulk-apply){width:32px!important;min-width:32px!important;height:34px!important}
#simulatorModal #simStepCustom .sim-bulk-stepper input{width:46px!important;height:34px!important;font-size:14px!important;font-weight:600!important}
#simulatorModal #simStepCustom .sim-bulk-apply{
  height:34px!important;
  min-width:70px!important;
  padding:0 12px!important;
  margin-left:2px!important;
  border:1px solid #4a7a78!important;
  border-radius:8px!important;
  background:#2f6764!important;
  color:#effafa!important;
  font-size:12px!important;
  font-weight:600!important;
}

/* 18 cursos: 3 columnas iguales x 6 filas en escritorio. */
#simulatorModal #simStepCustom .sim-custom-courses-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
}
#simulatorModal #simStepCustom .sim-custom-course{
  grid-template-columns:minmax(0,1fr) auto!important;
  min-width:0!important;
  min-height:68px!important;
  gap:8px!important;
  padding:10px 11px!important;
  border-color:#2b3855!important;
  border-radius:10px!important;
  background:#121b30!important;
}
#simulatorModal #simStepCustom .sim-custom-course-name strong{
  display:block!important;
  font-size:14px!important;
  line-height:1.18!important;
  font-weight:600!important;
  white-space:normal!important;
}
#simulatorModal #simStepCustom .sim-custom-course-name small{
  display:block!important;
  margin-top:4px!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:400!important;
}
#simulatorModal #simStepCustom .sim-course-stepper{flex-wrap:nowrap!important;gap:4px!important}
#simulatorModal #simStepCustom .sim-course-stepper button{width:28px!important;min-width:28px!important;height:30px!important;border-radius:8px!important}
#simulatorModal #simStepCustom .sim-course-stepper input{width:34px!important;height:30px!important;padding:0 3px!important;font-size:12px!important;font-weight:600!important}

/* Tiempo a la derecha con acento lavanda. */
#simulatorModal #simStepCustom .sim-custom-side>.field{
  margin:0!important;
  padding:14px!important;
  border:1px solid #675682!important;
  border-radius:14px!important;
  background:#121b30!important;
}
#simulatorModal #simStepCustom .sim-custom-side>.field>label{
  margin-bottom:10px!important;
  color:#b9a8d8!important;
  font-size:12px!important;
  font-weight:650!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
#simulatorModal #simStepCustom .sim-time-grid{gap:8px!important}
#simulatorModal #simStepCustom .sim-time-grid>div{
  min-height:58px!important;
  padding:10px 8px!important;
  border-color:#4b405f!important;
  border-radius:10px!important;
  background:#171827!important;
}
#simulatorModal #simStepCustom .sim-time-grid input{font-size:18px!important;font-weight:650!important}
#simulatorModal #simStepCustom .sim-time-grid span{font-size:9px!important;font-weight:600!important}

/* Acciones en la misma columna del tiempo, alineadas con la parte baja de cursos. */
#simulatorModal #simStepCustom>.sim-wizard-actions{
  grid-column:2!important;
  grid-row:2!important;
  align-self:end!important;
  display:grid!important;
  grid-template-columns:1fr 1.35fr!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:18px 0 0!important;
  border-top:0!important;
  background:transparent!important;
  z-index:2!important;
}
#simulatorModal #simStepCustom>.sim-wizard-actions button{
  min-width:0!important;
  min-height:44px!important;
  padding:10px 11px!important;
  border-radius:10px!important;
  font-size:13px!important;
  font-weight:650!important;
}
#simulatorModal #simStepCustom #simCustomBackBtn{
  background:#1b2639!important;
  border-color:#1b2639!important;
  color:#e5eaf1!important;
}
#simulatorModal #simStepCustom #simStartCustomBtn{
  border-color:transparent!important;
  background:linear-gradient(90deg,#397c78,#756099)!important;
  color:#fff!important;
}
#simulatorModal #simStepCustom #simStartCustomBtn:disabled{opacity:.48!important}

/* La misma regla visual se mantiene también durante la revisión final. */

@media(max-width:1200px){
  #simulatorModal .simulator-wizard-modal{width:min(1120px,96vw)!important}
  #simulatorModal #simStepCustom:not(.hidden){grid-template-columns:minmax(0,1fr) 235px!important;column-gap:12px!important}
  #simulatorModal #simStepCustom .sim-custom-courses-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-height:560px!important;
    overflow:auto!important;
    padding-right:3px!important;
  }
}
@media(max-width:850px){
  #simulatorModal #simStepCustom:not(.hidden){grid-template-columns:1fr!important;grid-template-rows:auto auto auto auto!important}
  #simulatorModal #simStepCustom .sim-custom-head{grid-column:1!important;grid-row:1!important}
  #simulatorModal #simStepCustom .sim-custom-main{grid-column:1!important;grid-row:2!important}
  #simulatorModal #simStepCustom .sim-custom-side{grid-column:1!important;grid-row:3!important;margin-top:12px!important}
  #simulatorModal #simStepCustom>.sim-wizard-actions{grid-column:1!important;grid-row:4!important;margin-top:0!important;padding-top:14px!important}
  #simulatorModal #simStepCustom .sim-custom-courses-grid{grid-template-columns:1fr!important;max-height:none!important;overflow:visible!important}
  #simulatorModal #simStepCustom .sim-bulk-row{grid-template-columns:1fr!important}
  #simulatorModal #simStepCustom .sim-bulk-stepper{justify-content:flex-start!important}
}

/* ==========================================================
   v55 — MENÚ PRINCIPAL B · OSCURO NATIVO · 08/09/2026
   Solo afecta el dashboard/menú principal y su cabecera.
   ========================================================== */

/* Tema único: la aplicación inicia y permanece en oscuro. */
body.dark{
  color-scheme:dark;
}

/* Barra superior: toolbar B agrupada, sin emojis y con letra más fina. */
.topbar-inner{
  max-width:1320px;
}
.top-actions{
  align-items:center;
  gap:10px;
}
.bank-toolbar{
  display:flex;
  align-items:center;
  gap:2px;
  padding:4px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(8,19,37,.50);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.bank-tool{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#eef3f8;
  font:inherit;
  font-size:13px;
  font-weight:620;
  line-height:1;
  cursor:pointer;
  transition:background .15s,color .15s;
}
.bank-tool:hover{
  background:rgba(255,255,255,.08);
}
.bank-tool-separator{
  width:1px;
  height:20px;
  flex:0 0 1px;
  background:rgba(255,255,255,.09);
}
#logoutBtn.logout-danger{
  min-height:46px;
  padding-inline:15px;
  font-weight:620!important;
}

/* 110 % únicamente en el menú principal. Se compensa el ancho para no desbordar. */
#dashboardView{
  zoom:1.10;
  width:90.9091%;
  margin-inline:auto;
}

/* Diseño B: configuración horizontal arriba y contenido a todo el ancho. */
#dashboardView .dashboard-grid{
  grid-template-columns:1fr;
  gap:14px;
}
#dashboardView .sidebar.dashboard-controls{
  position:static;
  top:auto;
  padding:13px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(260px,1.25fr);
  gap:12px;
  align-items:end;
}
#dashboardView .sidebar .side-title{
  display:none!important;
}
#dashboardView .sidebar > .field,
#dashboardView .sidebar #boletinPracticeFields > .field,
#dashboardView .sidebar #academyPracticeFields > .field,
#dashboardView .sidebar #admissionPracticeFields > .field{
  margin:0;
}
#dashboardView #boletinPracticeFields:not(.hidden),
#dashboardView #academyPracticeFields:not(.hidden),
#dashboardView #admissionPracticeFields:not(.hidden){
  display:contents;
}
#dashboardView .sidebar .field label{
  margin-bottom:6px;
  font-size:10px;
}
#dashboardView .sidebar .field select{
  min-height:43px;
  padding:9px 11px;
}
#dashboardView .sidebar .stack-actions{
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  align-self:end;
}
#dashboardView .sidebar .stack-actions .btn{
  min-height:43px;
  padding:9px 11px;
}
#dashboardView .week-summary-side{
  display:none!important;
}

/* Contenido principal. */
#dashboardView .main-panel{
  padding:20px;
}
#dashboardView .panel-head{
  margin-bottom:17px;
  align-items:flex-start;
}
#dashboardView .panel-head > div:first-child{
  min-width:0;
}
#dashboardView .dashboard-origin-badge-hidden{
  display:none!important;
}

/* Mezclar / Corrección / Todas / Limpiar ocupan el antiguo lugar del badge ADUNI. */
#dashboardView .practice-inline-tools{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
  max-width:620px;
}
#dashboardView .dashboard-tool-check,
#dashboardView .dashboard-tool-button{
  min-height:36px;
  border:1px solid #33435e;
  border-radius:8px;
  background:#141f34;
  color:#e6edf5;
  padding:0 10px;
  font-size:11px;
  font-weight:650;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
}
#dashboardView .dashboard-tool-check{
  cursor:pointer;
}
#dashboardView .dashboard-tool-check input{
  width:13px;
  height:13px;
  margin:0;
  accent-color:#38bdf8;
}
#dashboardView .dashboard-tool-button{
  cursor:pointer;
}
#dashboardView .dashboard-tool-all{
  background:#194a82;
  border-color:#245b94;
  color:#bfe1ff;
}
#dashboardView .dashboard-tool-clear{
  background:#172235;
  color:#9ca8b8;
}
#dashboardView .dashboard-tool-button:hover,
#dashboardView .dashboard-tool-check:hover{
  border-color:#4d6285;
  filter:brightness(1.06);
}
#dashboardView .dashboard-tool-button:disabled{
  opacity:.42;
  cursor:not-allowed;
}

/* En Prácticas no se muestra el bloque histórico de Resultados. */
#dashboardView #dashboardResults{
  display:none!important;
}

/* Sin el panel lateral, las semanas aprovechan mejor el ancho. */
#dashboardView .weeks-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
}

@media(max-width:1050px){
  #dashboardView{
    zoom:1;
    width:100%;
  }
  #dashboardView .sidebar.dashboard-controls{
    grid-template-columns:1fr 1fr;
  }
  #dashboardView .sidebar .stack-actions{
    grid-column:1 / -1;
  }
  #dashboardView .practice-inline-tools{
    max-width:none;
  }
}

@media(max-width:720px){
  .bank-toolbar{
    width:100%;
  }
  .bank-tool{
    flex:1;
    padding-inline:9px;
  }
  .bank-tool-separator{display:none}
  #dashboardView .sidebar.dashboard-controls{
    grid-template-columns:1fr;
  }
  #dashboardView .sidebar .stack-actions{
    grid-column:auto;
  }
  #dashboardView .panel-head{
    flex-direction:column;
  }
  #dashboardView .practice-inline-tools{
    margin-left:0;
    justify-content:flex-start;
    width:100%;
  }
  #dashboardView .weeks-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* ==========================================================
   v56 — AJUSTES VISUALES APROBADOS · 08/09/2026
   Solo menú principal / dashboard.
   ========================================================== */

/* El menú principal aprovecha un poco más el ancho lateral. */
body:has(#dashboardView:not(.hidden)) .app{
  max-width:1360px;
}
body:has(#dashboardView:not(.hidden)) .topbar-inner{
  max-width:1360px;
}

/* Toolbar superior: misma B, sin emojis, pero más legible y con tipografía ligera. */
.bank-toolbar{
  padding:4px;
  border-radius:12px;
}
.bank-tool{
  min-height:44px;
  padding:0 18px;
  font-size:15px;
  font-weight:600;
}
.bank-tool-separator{
  height:22px;
}
#logoutBtn.logout-danger{
  min-height:48px;
  padding-inline:17px;
  font-size:14px;
  font-weight:600!important;
}

/* Exámenes de admisión: arriba solo Origen + Examen + acciones.
   El selector Curso se conserva oculto para no romper compatibilidad interna. */
#dashboardView .admission-course-select-field{
  display:none!important;
}
#dashboardView[data-practice-origin="admision"] .sidebar.dashboard-controls{
  grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(380px,1.45fr);
}

/* Encabezados generales limpios, sin instrucciones debajo. */
#dashboardView #practicePanelTitle{
  text-transform:uppercase;
  letter-spacing:.02em;
  font-weight:800;
}
#dashboardView #practicePanelSubtitle{
  display:none!important;
}
#dashboardView .panel-head{
  align-items:center;
}
#dashboardView .practice-unit-heading strong{
  text-transform:uppercase;
  letter-spacing:.025em;
}

/* Estados: sin checkbox visible; el botón completo comunica si está activo. */
#dashboardView .dashboard-tool-check{
  position:relative;
  overflow:hidden;
}
#dashboardView .dashboard-tool-check input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
#dashboardView .dashboard-tool-check:has(#shuffleQuestions:checked){
  background:#2f6b4f;
  border-color:#448766;
  color:#f1fff7;
}
#dashboardView .dashboard-tool-check:has(#instantFeedback:checked){
  background:#6b46a1;
  border-color:#8158bd;
  color:#fff;
}

/* Todas: borde dorado en reposo; relleno solo cuando realmente todo está seleccionado. */
#dashboardView .dashboard-tool-all{
  background:#141f34;
  border-color:#9a7835;
  color:#d7bc7f;
}
#dashboardView .dashboard-tool-all:hover:not(:disabled){
  background:#2b261b;
  border-color:#b08b42;
  color:#f0d99d;
}
#dashboardView .dashboard-tool-all.active{
  background:#8f6c27;
  border-color:#a7833d;
  color:#fff4d2;
}

/* Limpiar: acción momentánea, nunca queda marcada. */
#dashboardView .dashboard-tool-clear{
  background:#161f30;
  border-color:#a6534a;
  color:#e6b2ad;
}
#dashboardView .dashboard-tool-clear:hover:not(:disabled){
  background:#6d3631;
  border-color:#c16d64;
  color:#fff;
}
#dashboardView .dashboard-tool-clear:active:not(:disabled){
  transform:scale(.97);
}

/* Acciones principales: colores opuestos, sin emoji y con diseño geométrico interno. */
#dashboardView .stack-actions .btn{
  min-height:58px;
  font-size:19px;
  font-weight:700;
  border-radius:13px;
}
#dashboardView .magma-practice,
#dashboardView .magma-simulator{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.08);
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
#dashboardView .magma-practice{
  background:linear-gradient(135deg,#d95f48,#ed7c62)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(217,95,72,.18);
}
#dashboardView .magma-simulator{
  background:linear-gradient(135deg,#247656,#2d966c)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(36,118,86,.18);
}
#dashboardView .magma-soft::before,
#dashboardView .magma-soft::after{
  filter:none;
  animation:none;
  pointer-events:none;
}
#dashboardView .magma-practice::before{
  width:120px;
  height:120px;
  right:-38px;
  left:auto;
  top:-52px;
  bottom:auto;
  border-radius:28px;
  border:2px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.025);
  transform:rotate(38deg);
  opacity:1;
}
#dashboardView .magma-practice::after{
  width:145px;
  height:180%;
  left:-70px;
  right:auto;
  top:-40%;
  bottom:auto;
  border-radius:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);
  transform:rotate(19deg);
  opacity:.65;
  transition:left .48s ease;
}
#dashboardView .magma-simulator::before{
  inset:0;
  width:auto;
  height:auto;
  border-radius:0;
  background:
    linear-gradient(120deg,transparent 0 58%,rgba(255,255,255,.075) 58% 60%,transparent 60%),
    linear-gradient(120deg,transparent 0 74%,rgba(255,255,255,.045) 74% 76%,transparent 76%);
  opacity:1;
}
#dashboardView .magma-simulator::after{
  width:118px;
  height:118px;
  right:-28px;
  left:auto;
  bottom:-50px;
  top:auto;
  border:2px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:rgba(255,255,255,.02);
  opacity:1;
  transition:transform .35s ease;
}
#dashboardView .magma-practice:hover:not(:disabled){
  transform:translateY(-2px);
  filter:brightness(1.05);
  box-shadow:0 12px 28px rgba(217,95,72,.25);
}
#dashboardView .magma-practice:hover:not(:disabled)::after{
  left:115%;
}
#dashboardView .magma-simulator:hover:not(:disabled){
  transform:translateY(-2px);
  filter:brightness(1.05);
  box-shadow:0 12px 28px rgba(36,118,86,.25);
}
#dashboardView .magma-simulator:hover:not(:disabled)::after{
  transform:translate(-10px,-8px) scale(1.08);
}

/* En admisión, varias tarjetas de curso pueden quedar seleccionadas a la vez. */
#dashboardView .admission-course-btn.selected{
  background:rgba(143,108,39,.16)!important;
  border-color:#a7833d!important;
  box-shadow:inset 0 0 0 2px rgba(167,131,61,.85)!important;
}
#dashboardView .admission-course-btn.selected .count{
  background:rgba(143,108,39,.30)!important;
  color:#ffe8ad!important;
}

@media(max-width:1050px){
  #dashboardView[data-practice-origin="admision"] .sidebar.dashboard-controls{
    grid-template-columns:1fr 1fr;
  }
  #dashboardView[data-practice-origin="admision"] .sidebar .stack-actions{
    grid-column:1/-1;
  }
}
@media(max-width:720px){
  #dashboardView[data-practice-origin="admision"] .sidebar.dashboard-controls{
    grid-template-columns:1fr;
  }
  #dashboardView[data-practice-origin="admision"] .sidebar .stack-actions{
    grid-column:auto;
  }
}


/* ==========================================================
   v57 — CREADOR DE SIMULACROS · SELECCIÓN POR RELLENO
   08/09/2026 — solo presentación y estado visual del modal.
   ========================================================== */

/* Título limpio, sin subtítulo/instrucción. */
#simulatorModal .simulator-wizard-head{
  align-items:center!important;
  margin-bottom:22px!important;
}
#simulatorModal #simWizardTitle{
  margin:0!important;
  font-size:25px!important;
  font-weight:760!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}
#simulatorModal .sim-wizard-mode-label{
  display:inline-block!important;
  margin-left:18px!important;
  font-size:.72em!important;
  font-weight:760!important;
  letter-spacing:.05em!important;
  white-space:nowrap!important;
}
#simulatorModal .sim-wizard-mode-label.unmsm{color:#9b79d3!important}
#simulatorModal .sim-wizard-mode-label.custom{color:#63b58f!important}

/* Elección del tipo: la tarjeta completa indica la selección. */
#simulatorModal #simStepChoose .sim-mode-card[data-sim-mode="unmsm"].selected{
  background:linear-gradient(135deg,#4e347b,#68449a)!important;
  border-color:#9b79d3!important;
  box-shadow:0 8px 22px rgba(78,52,123,.22)!important;
}
#simulatorModal #simStepChoose .sim-mode-card[data-sim-mode="custom"].selected{
  background:linear-gradient(135deg,#245f49,#337d5f)!important;
  border-color:#63a985!important;
  box-shadow:0 8px 22px rgba(36,95,73,.20)!important;
}
#simulatorModal #simStepChoose .sim-mode-card.selected>strong,
#simulatorModal #simStepChoose .sim-mode-card.selected>small,
#simulatorModal #simStepChoose .sim-mode-card.selected .sim-mode-meta span{
  color:#fff!important;
}
#simulatorModal #simStepChoose .sim-mode-card.selected .sim-mode-badge{
  color:#fff!important;
  border-color:rgba(255,255,255,.24)!important;
  background:rgba(255,255,255,.08)!important;
}

/* Orígenes: sin checks; relleno vino/granate cuando están activos. */
#simulatorModal #simStepChoose .sim-origin-card{
  justify-content:flex-start!important;
  min-height:72px!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease!important;
}
#simulatorModal #simStepChoose .sim-origin-card i{display:none!important}
#simulatorModal #simStepChoose .sim-origin-card.selected{
  background:linear-gradient(135deg,#663846,#7b4554)!important;
  border-color:#a16676!important;
  box-shadow:0 7px 18px rgba(123,69,84,.16)!important;
}
#simulatorModal #simStepChoose .sim-origin-card.selected strong{color:#fff!important}
#simulatorModal #simStepChoose .sim-origin-card.selected small{color:#efdbe1!important}
@media (hover:hover) and (pointer:fine){
  #simulatorModal #simStepChoose .sim-origin-card:not(:disabled):hover{transform:translateY(-1px)!important}
}

/* Acciones del primer paso. */
#simulatorModal #cancelSimulatorBtn{
  background:#c92a2a!important;
  border-color:#c92a2a!important;
  color:#fff!important;
}
#simulatorModal #cancelSimulatorBtn:hover{
  background:#dd3535!important;
  border-color:#dd3535!important;
}

/* Personalizado: el título ya está arriba; no se repite dentro del contenido. */
#simulatorModal #simStepCustom .sim-custom-head{
  justify-content:flex-end!important;
  margin-bottom:12px!important;
}
#simulatorModal #simStepCustom .sim-custom-head h4{display:none!important}

/* Primera zona del personalizado en UNA SOLA FILA. */
#simulatorModal #simStepCustom .sim-custom-main{
  display:grid!important;
  grid-template-columns:minmax(350px,1.35fr) minmax(430px,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:14px!important;
  row-gap:10px!important;
  align-content:start!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode-grid{
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
  gap:0!important;
  margin:0!important;
  min-width:0!important;
  border:1px solid #3a465d!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#121d31!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode{
  flex:1 1 0!important;
  min-width:0!important;
  height:42px!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#dce4ee!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode + .sim-bulk-mode{
  border-left:1px solid #3a465d!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode b{
  font-size:13px!important;
  font-weight:650!important;
  color:inherit!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode span{display:none!important}
#simulatorModal #simStepCustom .sim-bulk-mode.active{
  background:#8f466f!important;
  color:#fff0f8!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

#simulatorModal #simStepCustom .sim-bulk-row{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:minmax(155px,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  height:42px!important;
  margin:0!important;
  padding:0 0 0 2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
#simulatorModal #simStepCustom .sim-bulk-row>div:first-child{min-width:0!important}
#simulatorModal #simStepCustom .sim-bulk-row strong{
  display:block!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  font-weight:650!important;
  white-space:nowrap!important;
}
#simulatorModal #simStepCustom .sim-bulk-row small{
  display:block!important;
  margin-top:2px!important;
  font-size:10px!important;
  line-height:1.1!important;
}
#simulatorModal #simStepCustom .sim-bulk-stepper{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
}
#simulatorModal #simStepCustom .sim-bulk-stepper button:not(.sim-bulk-apply),
#simulatorModal #simStepCustom .sim-bulk-stepper input{
  height:36px!important;
  border-color:#465066!important;
  background:#182131!important;
}
#simulatorModal #simStepCustom .sim-bulk-stepper button:not(.sim-bulk-apply){
  width:36px!important;
  min-width:36px!important;
}
#simulatorModal #simStepCustom .sim-bulk-stepper input{
  width:44px!important;
  font-size:13px!important;
  font-weight:650!important;
}
#simulatorModal #simStepCustom .sim-bulk-apply{
  height:36px!important;
  min-width:72px!important;
  padding:0 15px!important;
  margin-left:1px!important;
  border:1px solid #9b5a83!important;
  border-radius:9px!important;
  background:#1a202c!important;
  color:#e8b9d6!important;
  font-size:12px!important;
  font-weight:650!important;
  box-shadow:none!important;
}
#simulatorModal #simStepCustom .sim-bulk-apply:hover:not(:disabled){
  background:#352536!important;
  border-color:#b96b9b!important;
  color:#fff!important;
}

#simulatorModal #simStepCustom .sim-custom-courses-grid{
  grid-column:1/-1!important;
  grid-row:2!important;
}

@media(max-width:1150px){
  #simulatorModal #simStepCustom .sim-custom-main{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
  }
  #simulatorModal #simStepCustom .sim-bulk-mode-grid{grid-column:1!important;grid-row:1!important}
  #simulatorModal #simStepCustom .sim-bulk-row{grid-column:1!important;grid-row:2!important}
  #simulatorModal #simStepCustom .sim-custom-courses-grid{grid-column:1!important;grid-row:3!important}
}
@media(max-width:680px){
  #simulatorModal .sim-wizard-mode-label{
    display:block!important;
    margin:6px 0 0!important;
  }
  #simulatorModal #simStepCustom .sim-bulk-row{
    height:auto!important;
    grid-template-columns:1fr!important;
    row-gap:7px!important;
  }
  #simulatorModal #simStepCustom .sim-bulk-stepper{justify-content:flex-start!important}
}

/* ==========================================================
   v58 — MÁS ESPACIO ÚTIL EN MENÚ, PRÁCTICA Y SIMULACRO
   08/09/2026 — solo distribución/escala visual.
   ========================================================== */

/* MENÚ PRINCIPAL: más ancho real + un poco más de escala visual. */
@media (min-width:1051px){
  body:has(#dashboardView:not(.hidden)) .app{
    width:96%!important;
    max-width:1580px!important;
    padding-left:12px!important;
    padding-right:12px!important;
    margin-top:20px!important;
  }
  body:has(#dashboardView:not(.hidden)) .topbar-inner{
    width:96%!important;
    max-width:1580px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  #dashboardView{
    zoom:1.12!important;
    width:89.285714%!important;
    margin-inline:auto!important;
  }
  #dashboardView .sidebar.dashboard-controls{
    gap:14px!important;
    padding:15px!important;
  }
  #dashboardView .sidebar .field select{
    min-height:48px!important;
    padding:10px 13px!important;
    font-size:15.5px!important;
  }
  #dashboardView .stack-actions .btn{
    min-height:64px!important;
    font-size:19px!important;
  }
  #dashboardView .main-panel{
    padding:24px!important;
    min-height:clamp(540px,calc(100vh - 220px),720px)!important;
  }
  #dashboardView .panel-head{
    margin-bottom:22px!important;
  }
  #dashboardView #practicePanelTitle{
    font-size:25px!important;
  }
  #dashboardView .practice-inline-tools .dashboard-tool-check,
  #dashboardView .practice-inline-tools .dashboard-tool-button{
    min-height:40px!important;
    padding-inline:13px!important;
    font-size:11.5px!important;
  }
  #dashboardView .weeks-grid{
    gap:11px!important;
  }
  #dashboardView .week-btn{
    min-height:88px!important;
    padding:14px 12px!important;
  }
  #dashboardView .week-btn strong{
    font-size:15.5px!important;
  }
  #dashboardView .week-btn small{
    font-size:10.5px!important;
  }
  #dashboardView .week-summary{
    min-height:72px!important;
    padding:15px 16px!important;
  }
}

/* PRÁCTICA: usa casi todo el monitor sin cambiar la lógica ni el panel lateral. */
@media (min-width:1251px){
  body:has(#examView.practice-sidebar-active:not(.hidden)) .app{
    width:96%!important;
    max-width:1680px!important;
    padding-left:12px!important;
    padding-right:12px!important;
    margin-top:18px!important;
  }
  body:has(#examView.practice-sidebar-active:not(.hidden)) .topbar-inner{
    width:96%!important;
    max-width:1680px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  #examView.practice-sidebar-active .exam-shell{
    width:100%!important;
    max-width:1640px!important;
  }
  #examView.practice-sidebar-active .question-workspace{
    grid-template-columns:minmax(0,1fr) 370px!important;
    gap:18px!important;
  }
  #examView.practice-sidebar-active .question-card{
    padding:30px!important;
    min-height:clamp(560px,calc(100vh - 215px),760px)!important;
  }
  #examView.practice-sidebar-active .practice-exam-map{
    width:100%!important;
  }
  #examView.practice-sidebar-active .q-title,
  #examView.practice-sidebar-active .shared-question-prompt{
    font-size:18px!important;
    line-height:1.55!important;
  }
  #examView.practice-sidebar-active .option{
    font-size:15.5px!important;
    line-height:1.46!important;
    padding:13px 15px!important;
  }
}

/* SIMULACRO: mismo criterio, más ancho para pregunta y mapa lateral. */
@media (min-width:1251px){
  body:has(#examView.simulator-running:not(.hidden)) .app{
    width:96%!important;
    max-width:1680px!important;
    padding-left:12px!important;
    padding-right:12px!important;
    margin-top:18px!important;
  }
  body:has(#examView.simulator-running:not(.hidden)) .topbar-inner{
    width:96%!important;
    max-width:1680px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  #examView.simulator-running .exam-shell{
    width:100%!important;
    max-width:1640px!important;
  }
  #examView.simulator-running .question-workspace{
    grid-template-columns:minmax(0,1fr) 430px!important;
    gap:18px!important;
  }
  #examView.simulator-running .question-card{
    padding:30px!important;
    min-height:clamp(560px,calc(100vh - 215px),760px)!important;
  }
  #examView.simulator-running .sim-exam-sidebar{
    width:100%!important;
  }
  #examView.simulator-running .q-title,
  #examView.simulator-running .shared-question-prompt{
    font-size:18px!important;
    line-height:1.55!important;
  }
  #examView.simulator-running .option{
    font-size:15.5px!important;
    line-height:1.46!important;
    padding:13px 15px!important;
  }
}

/* =========================================================
   AJUSTE SEMANAS — títulos más grandes y sin "Importada"
   ========================================================= */
#dashboardView .week-btn strong{
  font-size:18px!important;
  line-height:1.15!important;
}

/* Las semanas que sí tienen contenido ya no necesitan el texto "Importada". */
#dashboardView .week-btn:not(:disabled) small{
  display:none!important;
}

/* Al desaparecer el subtítulo, centramos mejor el nombre de la semana. */
#dashboardView .week-btn:not(:disabled){
  display:flex!important;
  align-items:center!important;
  padding-right:50px!important;
}

/* =========================================================
   EXÁMENES DE ADMISIÓN — 5 COLUMNAS EN ESCRITORIO
   08/09/2026 — solo distribución del grid de cursos.
   ========================================================= */
@media (min-width:1051px){
  #dashboardView .weeks-grid.admission-courses-grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:11px!important;
    align-items:stretch!important;
  }
  #dashboardView .weeks-grid.admission-courses-grid .admission-course-btn{
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    min-height:88px!important;
  }
}

@media (min-width:721px) and (max-width:1050px){
  #dashboardView .weeks-grid.admission-courses-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  #dashboardView .weeks-grid.admission-courses-grid .admission-course-btn{
    flex:none!important;
    width:auto!important;
  }
}

@media (max-width:720px){
  #dashboardView .weeks-grid.admission-courses-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #dashboardView .weeks-grid.admission-courses-grid .admission-course-btn{
    flex:none!important;
    width:auto!important;
  }
}


/* ==========================================================
   v60-FIX — TARJETA D SIN ALTERAR EL LAYOUT
   08/09/2026
   Mantiene el menú horizontal, zoom y admisión en 5 columnas.
   ========================================================== */

/* Paleta cálida variada: sin azul/verde como protagonistas. */
#dashboardView .week-btn:nth-child(6n+1),
#dashboardView .admission-course-btn:nth-child(6n+1){--d-accent:#A85F4A;--d-fill1:#6F4035;--d-fill2:#7E493A;--d-soft:#F2C9B8}
#dashboardView .week-btn:nth-child(6n+2),
#dashboardView .admission-course-btn:nth-child(6n+2){--d-accent:#A36D3F;--d-fill1:#704B31;--d-fill2:#80583A;--d-soft:#EDD1AF}
#dashboardView .week-btn:nth-child(6n+3),
#dashboardView .admission-course-btn:nth-child(6n+3){--d-accent:#9A5B66;--d-fill1:#694149;--d-fill2:#794B55;--d-soft:#F0CBD2}
#dashboardView .week-btn:nth-child(6n+4),
#dashboardView .admission-course-btn:nth-child(6n+4){--d-accent:#92714F;--d-fill1:#624D38;--d-fill2:#735A41;--d-soft:#E9D6BE}
#dashboardView .week-btn:nth-child(6n+5),
#dashboardView .admission-course-btn:nth-child(6n+5){--d-accent:#AF6B58;--d-fill1:#75483D;--d-fill2:#855347;--d-soft:#F3D0C5}
#dashboardView .week-btn:nth-child(6n),
#dashboardView .admission-course-btn:nth-child(6n){--d-accent:#866159;--d-fill1:#5D4541;--d-fill2:#6B504A;--d-soft:#E8D0CA}

/* Solo las tarjetas disponibles reciben el diseño D. */
#dashboardView .week-btn:not(:disabled),
#dashboardView .admission-course-btn{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:112px!important;
  padding:22px 18px 16px!important;
  display:block!important;
  border:1px solid #314058!important;
  border-left-width:1px!important;
  border-radius:16px!important;
  background:#10192b!important;
  text-align:left!important;
  transition:transform .18s ease,border-color .18s ease,background .22s ease,box-shadow .22s ease!important;
}
#dashboardView .week-btn:not(:disabled):hover,
#dashboardView .admission-course-btn:hover{
  transform:translateY(-2px)!important;
  border-color:#566781!important;
}

/* Patrón interior solo cuando se selecciona. */
#dashboardView .week-btn:not(:disabled)::before,
#dashboardView .admission-course-btn::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  opacity:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(135deg,transparent 0 18%,rgba(255,255,255,.08) 18% 20%,transparent 20% 39%,rgba(255,255,255,.055) 39% 41%,transparent 41% 62%,rgba(255,255,255,.04) 62% 64%,transparent 64%),
    radial-gradient(circle at 18% 78%,rgba(255,255,255,.07) 0 18px,transparent 19px),
    radial-gradient(circle at 76% 24%,rgba(255,255,255,.045) 0 28px,transparent 29px)!important;
  transition:opacity .22s ease!important;
}

/* Esquina triangular tipo D. */
#dashboardView .week-btn:not(:disabled)::after,
#dashboardView .admission-course-btn::after{
  content:""!important;
  position:absolute!important;
  right:0!important;
  top:0!important;
  width:84px!important;
  height:84px!important;
  z-index:2!important;
  pointer-events:none!important;
  background:var(--d-accent,#A85F4A)!important;
  clip-path:polygon(100% 0,100% 100%,0 0)!important;
}

#dashboardView .week-btn:not(:disabled) strong,
#dashboardView .admission-course-btn strong{
  position:relative!important;
  z-index:4!important;
  display:block!important;
  max-width:calc(100% - 64px)!important;
  margin:12px 0 0!important;
  color:#F8FAFD!important;
  font-size:20px!important;
  font-weight:760!important;
  line-height:1.12!important;
}
#dashboardView .admission-course-btn strong{
  font-size:17px!important;
  line-height:1.15!important;
}
#dashboardView .admission-course-hlm strong{font-size:16px!important}

/* Etiqueta inferior: Preguntas. */
#dashboardView .week-btn:not(:disabled) small,
#dashboardView .admission-course-btn small{
  display:block!important;
  position:absolute!important;
  left:18px!important;
  bottom:13px!important;
  z-index:4!important;
  margin:0!important;
  color:#8F9CAF!important;
  font-size:9.5px!important;
  font-weight:700!important;
  letter-spacing:.65px!important;
  text-transform:uppercase!important;
}

/* Número en la esquina. */
#dashboardView .week-btn:not(:disabled) .count,
#dashboardView .admission-course-btn .count{
  position:absolute!important;
  right:12px!important;
  top:11px!important;
  z-index:5!important;
  padding:0!important;
  background:transparent!important;
  color:#FFF1DC!important;
  border-radius:0!important;
  font-size:16px!important;
  font-weight:850!important;
  line-height:1!important;
}

/* Seleccionada: relleno + patrón. */
#dashboardView .week-btn.selected,
#dashboardView .admission-course-btn.selected,
#dashboardView .workshop-btn.selected{
  background:linear-gradient(135deg,var(--d-fill1,#6F4035),var(--d-fill2,#7E493A))!important;
  border-color:var(--d-accent,#A85F4A)!important;
  border-left-width:1px!important;
  box-shadow:0 10px 26px rgba(0,0,0,.18)!important;
}
#dashboardView .week-btn.selected::before,
#dashboardView .admission-course-btn.selected::before,
#dashboardView .workshop-btn.selected::before{opacity:1!important}
#dashboardView .week-btn.selected small,
#dashboardView .admission-course-btn.selected small,
#dashboardView .workshop-btn.selected small{color:var(--d-soft,#F2C9B8)!important}
#dashboardView .week-btn.selected .count,
#dashboardView .admission-course-btn.selected .count,
#dashboardView .workshop-btn.selected .count{color:#FFF3E3!important;background:transparent!important}

/* Las semanas NO importadas se quedan simples: sin triángulo ni patrón. */
#dashboardView .week-btn:disabled{
  min-height:88px!important;
  padding:14px 12px!important;
  border:1px solid #27344A!important;
  border-radius:12px!important;
  background:#10192b!important;
  opacity:.38!important;
}
#dashboardView .week-btn:disabled::before,
#dashboardView .week-btn:disabled::after{display:none!important}
#dashboardView .week-btn:disabled strong{
  margin:0!important;
  max-width:none!important;
  font-size:18px!important;
  color:var(--text)!important;
}
#dashboardView .week-btn:disabled small{
  position:static!important;
  display:block!important;
  margin-top:4px!important;
  color:var(--muted)!important;
  font-size:10px!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* Talleres usan la misma tarjeta D cuando existen. */
#dashboardView .workshop-btn:not(:disabled){min-height:112px!important}
#dashboardView .workshop-btn:not(:disabled) strong{font-size:18px!important}

/* Conserva admisión en 5 / 3 / 2 columnas. */
@media (min-width:1051px){
  #dashboardView .weeks-grid.admission-courses-grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:11px!important;
  }
  #dashboardView .weeks-grid.admission-courses-grid .admission-course-btn{
    width:auto!important;
    min-width:0!important;
    min-height:112px!important;
  }
}
@media (min-width:721px) and (max-width:1050px){
  #dashboardView .weeks-grid.admission-courses-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:720px){
  #dashboardView .weeks-grid.admission-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* ==========================================================
   v61 — TARJETAS D · JERARQUÍA FINAL
   08/09/2026
   CEPRE + Academia + Exámenes de admisión
   ========================================================== */

/* Semanas disponibles: SEMANA arriba + número centrado. */
#dashboardView .week-btn:not(:disabled):not(.workshop-btn):not(.admission-course-btn){
  min-height:124px!important;
  padding:0!important;
}
#dashboardView .week-btn:not(:disabled):not(.workshop-btn):not(.admission-course-btn) .week-kicker{
  position:absolute!important;
  left:18px!important;
  top:17px!important;
  z-index:4!important;
  color:var(--d-soft,#F2C9B8)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.9px!important;
  line-height:1!important;
}
#dashboardView .week-btn:not(:disabled):not(.workshop-btn):not(.admission-course-btn) .week-number{
  position:absolute!important;
  left:50%!important;
  top:57%!important;
  z-index:4!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  color:#F8FAFD!important;
  font-size:46px!important;
  font-weight:850!important;
  line-height:1!important;
  text-align:center!important;
}
#dashboardView .week-btn:not(:disabled):not(.workshop-btn):not(.admission-course-btn).selected .week-kicker{
  color:#FFE0D3!important;
}

/* No mostrar etiquetas inferiores en tarjetas disponibles. */
#dashboardView .week-btn:not(:disabled) small,
#dashboardView .admission-course-btn small,
#dashboardView .workshop-btn small{
  display:none!important;
}

/* Admisión: solo el nombre del curso + cantidad en la esquina. */
#dashboardView .admission-course-btn{
  min-height:118px!important;
  padding:18px 18px!important;
  display:flex!important;
  align-items:center!important;
}
#dashboardView .admission-course-btn strong{
  position:relative!important;
  z-index:4!important;
  max-width:calc(100% - 58px)!important;
  margin:0!important;
  font-size:18px!important;
  font-weight:760!important;
  line-height:1.16!important;
}
#dashboardView .admission-course-hlm strong{
  font-size:16.5px!important;
}

/* Talleres: nombre protagonista, sin texto redundante. */
#dashboardView .workshop-btn:not(:disabled){
  min-height:118px!important;
  padding:18px!important;
  display:flex!important;
  align-items:center!important;
}
#dashboardView .workshop-btn:not(:disabled) strong{
  position:relative!important;
  z-index:4!important;
  max-width:calc(100% - 58px)!important;
  margin:0!important;
  font-size:19px!important;
  line-height:1.15!important;
}

/* El contador permanece limpio dentro de la esquina D. */
#dashboardView .week-btn:not(:disabled) .count,
#dashboardView .admission-course-btn .count,
#dashboardView .workshop-btn .count{
  right:13px!important;
  top:12px!important;
  font-size:16px!important;
}


/* ==========================================================
   v62 — TARJETAS D COMPACTAS EN LOS 3 ORÍGENES
   08/09/2026
   - Reduce ligeramente el alto general.
   - Las semanas no importadas usan también el diseño D.
   - Conserva admisión en 5 columnas y el layout aprobado.
   ========================================================== */

/* Semanas de CEPRE y Academia: mismo diseño y altura, tengan o no contenido. */
#dashboardView .week-btn:not(.workshop-btn):not(.admission-course-btn){
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:114px!important;
  height:114px!important;
  padding:0!important;
  border:1px solid #314058!important;
  border-left-width:1px!important;
  border-radius:15px!important;
  background:#10192b!important;
  opacity:1!important;
  text-align:left!important;
}

/* Esquina D algo más compacta. */
#dashboardView .week-btn:not(.workshop-btn):not(.admission-course-btn)::after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  right:0!important;
  top:0!important;
  width:78px!important;
  height:78px!important;
  z-index:2!important;
  pointer-events:none!important;
  background:var(--d-accent,#A85F4A)!important;
  clip-path:polygon(100% 0,100% 100%,0 0)!important;
}

/* Jerarquía: SEMANA arriba, número centrado. */
#dashboardView .week-btn:not(.workshop-btn):not(.admission-course-btn) .week-kicker{
  position:absolute!important;
  left:16px!important;
  top:13px!important;
  z-index:4!important;
  display:block!important;
  color:var(--d-soft,#F2C9B8)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.8px!important;
  line-height:1!important;
}
#dashboardView .week-btn:not(.workshop-btn):not(.admission-course-btn) .week-number{
  position:absolute!important;
  left:50%!important;
  top:54%!important;
  z-index:4!important;
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  color:#F8FAFD!important;
  font-size:44px!important;
  font-weight:850!important;
  line-height:1!important;
  text-align:center!important;
}

/* No importadas: nuevo diseño D, pero visualmente apagado. */
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn){
  cursor:not-allowed!important;
  border-color:#2D384B!important;
  background:#101827!important;
}
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn)::before{
  display:none!important;
  opacity:0!important;
}
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn)::after{
  display:block!important;
  opacity:.42!important;
}
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn) .week-kicker{
  color:#AEB8C7!important;
}
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn) .week-number{
  color:#788599!important;
}
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn) .week-unavailable{
  display:block!important;
  position:absolute!important;
  left:16px!important;
  bottom:10px!important;
  z-index:4!important;
  margin:0!important;
  color:#657286!important;
  font-size:8.5px!important;
  font-weight:750!important;
  letter-spacing:.5px!important;
  line-height:1!important;
  text-transform:uppercase!important;
}

/* Disponibles: contador limpio dentro de la esquina. */
#dashboardView .week-btn:not(:disabled):not(.workshop-btn):not(.admission-course-btn) .count{
  right:11px!important;
  top:10px!important;
  font-size:14px!important;
}

/* Seleccionadas conservan relleno + patrón. */
#dashboardView .week-btn.selected:not(.workshop-btn):not(.admission-course-btn){
  background:linear-gradient(135deg,var(--d-fill1,#6F4035),var(--d-fill2,#7E493A))!important;
  border-color:var(--d-accent,#A85F4A)!important;
  box-shadow:0 9px 22px rgba(0,0,0,.18)!important;
}
#dashboardView .week-btn.selected:not(.workshop-btn):not(.admission-course-btn)::before{
  display:block!important;
  opacity:1!important;
}

/* Exámenes de admisión y talleres: también un poco más bajos. */
#dashboardView .admission-course-btn,
#dashboardView .workshop-btn:not(:disabled){
  min-height:108px!important;
  height:108px!important;
}
#dashboardView .admission-course-btn{
  padding:16px 17px!important;
}
#dashboardView .workshop-btn:not(:disabled){
  padding:16px 17px!important;
}
#dashboardView .admission-course-btn::after,
#dashboardView .workshop-btn:not(:disabled)::after{
  width:76px!important;
  height:76px!important;
}
#dashboardView .admission-course-btn .count,
#dashboardView .workshop-btn .count{
  right:11px!important;
  top:10px!important;
  font-size:14px!important;
}

/* La grilla de admisión sigue en 5 / 3 / 2 columnas. */
@media (min-width:1051px){
  #dashboardView .weeks-grid.admission-courses-grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:11px!important;
  }
  #dashboardView .weeks-grid.admission-courses-grid .admission-course-btn{
    min-height:108px!important;
    height:108px!important;
    width:auto!important;
    min-width:0!important;
  }
}
@media (min-width:721px) and (max-width:1050px){
  #dashboardView .weeks-grid.admission-courses-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:720px){
  #dashboardView .weeks-grid.admission-courses-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* ==========================================================
   v62 — PRÁCTICA Y SIMULACRO AL 110 % VISUAL
   08/09/2026 — replica el aspecto del zoom 110 % del navegador
   solo dentro del examen, con ancho compensado.
   ========================================================== */
@media (min-width:1051px){
  #examView:not(.hidden){
    zoom:1.10;
    width:90.9091%;
    margin-inline:auto;
  }
}

/* En pantallas pequeñas se conserva escala normal para evitar desbordes. */
@media (max-width:1050px){
  #examView{
    zoom:1;
    width:100%;
  }
}


/* ==========================================================
   v63 — ENCABEZADO E + LÍNEA D · sobre la última base estable
   Mantiene todo el diseño previo; solo cambia la franja superior.
   ========================================================== */
#examView .exam-top{
  position:relative!important;
  min-height:78px!important;
  padding:15px 18px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto auto!important;
  align-items:center!important;
  gap:18px!important;
}
#examView .exam-top-title{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
}
#examView #examCourseLabel{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#f4f7fb!important;
  font-size:18px!important;
  font-weight:780!important;
  line-height:1.15!important;
}
#examView #examCounter{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  margin:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#a6b1c1!important;
  font-size:14px!important;
  font-weight:600!important;
}
#examView #examCounter:not(:empty)::before{
  content:"";
  flex:0 0 auto;
  width:1px;
  height:20px;
  margin-right:12px;
  background:#3b485f;
}
#examView #examCounter:empty{
  display:none!important;
}

/* La antigua barra de progreso pasa a ser el indicador central. */
#examView .progress{
  width:auto!important;
  min-width:150px!important;
  max-width:none!important;
  height:auto!important;
  flex:none!important;
  justify-self:center!important;
  overflow:visible!important;
  border-radius:0!important;
  background:transparent!important;
}
#examView .progress > #examProgress{
  position:relative!important;
  display:inline-flex!important;
  width:auto!important;
  height:auto!important;
  align-items:center!important;
  justify-content:center!important;
  padding:5px 8px 10px!important;
  background:transparent!important;
  color:#e8dccb!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.35px!important;
  white-space:nowrap!important;
  transition:none!important;

  text-transform:uppercase!important;}
#examView .progress > #examProgress::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:84px;
  height:2px;
  transform:translateX(-50%);
  border-radius:999px;
  opacity:.95;
  background:linear-gradient(90deg,transparent 0%,#d8c7b2 22%,#8c7a67 50%,#d8c7b2 78%,transparent 100%);
}

/* Botón neutro para no repetir los colores principales del sitio. */
#examView .exam-top .back-bank-btn{
  justify-self:end!important;
  min-height:42px!important;
  padding:0 16px!important;
  border:1px solid #475269!important;
  border-radius:10px!important;
  background:#1a2332!important;
  color:#f4f7fb!important;
  font-size:13px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
#examView .exam-top .back-bank-btn:hover{
  transform:translateY(-1px)!important;
  border-color:#626d7e!important;
  background:#202a3a!important;
}

/* El reloj/fase de simulacro sigue existiendo a la derecha. */
#examView .sim-exam-top-meta{
  justify-self:end!important;
}

@media(max-width:900px){
  #examView .exam-top{
    grid-template-columns:1fr!important;
    align-items:flex-start!important;
  }
  #examView .exam-top-title{
    flex-wrap:wrap!important;
  }
  #examView .progress{
    justify-self:start!important;
    min-width:0!important;
  }
  #examView .sim-exam-top-meta{
    justify-self:start!important;
  }
  #examView .exam-top .back-bank-btn{
    justify-self:stretch!important;
    width:100%!important;
  }
}

/* ==========================================================
   v64 — AJUSTE FINO DEL ENCABEZADO DE PRÁCTICA/SIMULACRO
   - "Pregunta X" centrada realmente
   - "Volver al banco" regresa a morado
   - sin tocar el resto del diseño
   ========================================================== */
#examView .exam-top{
  position:relative!important;
  min-height:78px!important;
  padding:15px 18px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:18px!important;
}

#examView .exam-top-title{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
  padding-right:180px!important; /* evita choques con la etiqueta central */
}

/* "Pregunta X" centrada respecto a toda la franja */
#examView .progress{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:auto!important;
  min-width:150px!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  overflow:visible!important;
  border-radius:0!important;
  background:transparent!important;
  z-index:2!important;
  pointer-events:none!important;
}
#examView .progress > #examProgress{
  position:relative!important;
  display:inline-flex!important;
  width:auto!important;
  height:auto!important;
  align-items:center!important;
  justify-content:center!important;
  padding:5px 8px 10px!important;
  background:transparent!important;
  color:#e8dccb!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.35px!important;
  white-space:nowrap!important;
}
#examView .progress > #examProgress::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:84px;
  height:2px;
  transform:translateX(-50%);
  border-radius:999px;
  opacity:.95;
  background:linear-gradient(90deg,transparent 0%,#d8c7b2 22%,#8c7a67 50%,#d8c7b2 78%,transparent 100%);
}

/* El meta del simulacro queda a la derecha, antes del botón */
#examView .sim-exam-top-meta{
  justify-self:end!important;
  z-index:3!important;
}

/* Restaurar el morado aprobado para "Volver al banco" */
#examView .exam-top .back-bank-btn,
#examView .practice-map-finish.finished-back,
#examView .sim-map-finish.finished-back{
  justify-self:end!important;
  min-height:42px!important;
  padding:0 16px!important;
  border:1px solid #6651a8!important;
  border-radius:10px!important;
  background:#6651a8!important;
  color:#ffffff!important;
  font-size:13px!important;
  font-weight:700!important;
  box-shadow:none!important;
  z-index:3!important;
}
#examView .exam-top .back-bank-btn:hover,
#examView .practice-map-finish.finished-back:hover,
#examView .sim-map-finish.finished-back:hover{
  transform:translateY(-1px)!important;
  border-color:#574493!important;
  background:#574493!important;
}

@media(max-width:1100px){
  #examView .exam-top-title{
    padding-right:0!important;
  }
}

@media(max-width:900px){
  #examView .exam-top{
    grid-template-columns:1fr!important;
    align-items:flex-start!important;
    gap:12px!important;
  }
  #examView .exam-top-title{
    flex-wrap:wrap!important;
  }
  #examView .progress{
    position:static!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    justify-self:start!important;
    min-width:0!important;
    pointer-events:auto!important;
  }
  #examView .sim-exam-top-meta{
    justify-self:start!important;
  }
  #examView .exam-top .back-bank-btn{
    justify-self:stretch!important;
    width:100%!important;
  }
}

/* ==========================================================
   v65 — RESPONDIDAS NEUTRAS MÁS CLARAS · GENERAL
   Nivel C aprobado. Aplica a Práctica + Simulacro.
   No pisa correcta / incorrecta / actitudinal.
   ========================================================== */
#examView .practice-map-number.answered:not(.result-correct):not(.result-wrong):not(.result-attitudinal),
#examView .sim-map-number.answered:not(.result-correct):not(.result-wrong):not(.result-attitudinal){
  background:#39485c!important;
  border-color:#66768a!important;
  color:#ffffff!important;
}

/* Si la respondida neutra además es la actual,
   conserva el borde exterior blanco y las rayas interiores existentes. */
#examView .practice-map-number.current.answered:not(.result-correct):not(.result-wrong):not(.result-attitudinal),
#examView .sim-map-number.current.answered:not(.result-correct):not(.result-wrong):not(.result-attitudinal){
  background:#39485c!important;
  border-color:#66768a!important;
  color:#ffffff!important;
}


/* ==========================================================
   v66 — SIMULACRO: quitar resumen "Revisar"
   Solo oculta la tercera mini caja del mapa del examen.
   Respondidas y Pendientes quedan en una sola fila.
   ========================================================== */
#examView.simulator-running .sim-map-summary > div:has(#simMapReview){
  display:none!important;
}
#examView.simulator-running .sim-map-summary{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* ==========================================================
   v67 — SIMULACRO: Respondidas + Pendientes en un solo cuadro
   Mantiene Revisar oculto y une ambos contadores visualmente.
   ========================================================== */
#examView.simulator-running .sim-map-summary{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  margin:10px 12px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #33415a!important;
  border-radius:11px!important;
  background:#151f31!important;
}

#examView.simulator-running .sim-map-summary > div{
  position:relative!important;
  min-height:54px!important;
  padding:8px 6px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  text-align:center!important;
}

#examView.simulator-running .sim-map-summary > div:first-child::after{
  content:"";
  position:absolute;
  right:0;
  top:12px;
  bottom:12px;
  width:1px;
  background:#3d4a61;
}

#examView.simulator-running .sim-map-summary strong{
  display:inline!important;
  margin:0!important;
  font-size:17px!important;
  font-weight:850!important;
  color:#ffffff!important;
}

#examView.simulator-running .sim-map-summary span{
  display:inline!important;
  margin:0!important;
  color:#aab5c5!important;
  font-size:10px!important;
  font-weight:600!important;
}

/* ==========================================================
   v68 — SIMULACRO: resumen más compacto
   Solo reduce altura/espaciado del cuadro Respondidas | Pendientes.
   ========================================================== */
#examView.simulator-running .sim-map-summary > div{
  min-height:42px!important;
  padding:5px 5px!important;
  gap:5px!important;
}

#examView.simulator-running .sim-map-summary > div:first-child::after{
  top:9px!important;
  bottom:9px!important;
}

#examView.simulator-running .sim-map-summary strong{
  font-size:15px!important;
}

#examView.simulator-running .sim-map-summary span{
  font-size:10px!important;
}


/* ==========================================================
   v69 — SIMULACRO: temporizador B aprobado, sin “Tiempo”
   Conserva “Simulacro personalizado” y da más protagonismo al reloj.
   ========================================================== */
#examView.simulator-running .sim-exam-top-meta{
  gap:12px!important;
  align-items:center!important;
}

#examView.simulator-running .sim-exam-timer{
  min-width:145px!important;
  padding:10px 16px!important;
  border:1px solid #5b5147!important;
  border-radius:13px!important;
  background:#211e1b!important;
  color:#f2e8dc!important;
  font-size:29px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.35px!important;
  text-align:center!important;
  font-variant-numeric:tabular-nums!important;
  box-shadow:none!important;
}

/* La etiqueta de modo se mantiene discreta junto al reloj. */
#examView.simulator-running .sim-exam-phase-label{
  padding:8px 12px!important;
  border:1px solid #35435c!important;
  border-radius:999px!important;
  background:#131d2f!important;
  color:#aab5c5!important;
  font-size:11px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

@media(max-width:900px){
  #examView.simulator-running .sim-exam-timer{
    min-width:132px!important;
    font-size:24px!important;
  }
}

/* ==========================================================
   v70 — TARJETAS: ALTURA FINAL + PALETA AMPLIA DE 10 TONOS
   08/09/2026
   - Semanas CEPRE/Academia: 98px.
   - Oculta “AÚN NO IMPORTADA”.
   - 10 familias cromáticas apagadas.
   - Sin amarillo y sin rojo.
   - Paleta compartida por semanas, talleres y Admisión.
   ========================================================== */

/* 10 familias: malva, acero, petróleo, ciruela, pizarra,
   salvia, grafito, azul gris, malva oscuro y petróleo gris. */
#dashboardView .week-btn:nth-child(10n+1),
#dashboardView .admission-course-btn:nth-child(10n+1){
  --d-accent:#6F668C;--d-fill1:#3F3A53;--d-fill2:#4D4762;--d-soft:#D9D2EF;
}
#dashboardView .week-btn:nth-child(10n+2),
#dashboardView .admission-course-btn:nth-child(10n+2){
  --d-accent:#4F7183;--d-fill1:#314956;--d-fill2:#3B5968;--d-soft:#C8DDE7;
}
#dashboardView .week-btn:nth-child(10n+3),
#dashboardView .admission-course-btn:nth-child(10n+3){
  --d-accent:#4E7774;--d-fill1:#304B49;--d-fill2:#395A57;--d-soft:#C7E0DD;
}
#dashboardView .week-btn:nth-child(10n+4),
#dashboardView .admission-course-btn:nth-child(10n+4){
  --d-accent:#6D5D78;--d-fill1:#453B4C;--d-fill2:#54485E;--d-soft:#DFD1E6;
}
#dashboardView .week-btn:nth-child(10n+5),
#dashboardView .admission-course-btn:nth-child(10n+5){
  --d-accent:#5D6F8A;--d-fill1:#394657;--d-fill2:#46566A;--d-soft:#D1DBEC;
}
#dashboardView .week-btn:nth-child(10n+6),
#dashboardView .admission-course-btn:nth-child(10n+6){
  --d-accent:#657365;--d-fill1:#3D493D;--d-fill2:#4A584A;--d-soft:#D5E0D5;
}
#dashboardView .week-btn:nth-child(10n+7),
#dashboardView .admission-course-btn:nth-child(10n+7){
  --d-accent:#59646E;--d-fill1:#373F47;--d-fill2:#444E58;--d-soft:#D2D8DE;
}
#dashboardView .week-btn:nth-child(10n+8),
#dashboardView .admission-course-btn:nth-child(10n+8){
  --d-accent:#536779;--d-fill1:#34424E;--d-fill2:#405160;--d-soft:#CCD8E2;
}
#dashboardView .week-btn:nth-child(10n+9),
#dashboardView .admission-course-btn:nth-child(10n+9){
  --d-accent:#705E73;--d-fill1:#463B49;--d-fill2:#554759;--d-soft:#E0D2E1;
}
#dashboardView .week-btn:nth-child(10n),
#dashboardView .admission-course-btn:nth-child(10n){
  --d-accent:#586E68;--d-fill1:#374842;--d-fill2:#425650;--d-soft:#D0DEDA;
}

/* Semanas: mismo diseño D, ahora más bajo. */
#dashboardView .week-btn:not(.workshop-btn):not(.admission-course-btn){
  min-height:98px!important;
  height:98px!important;
  border-radius:14px!important;
}
#dashboardView .week-btn:not(.workshop-btn):not(.admission-course-btn)::after{
  width:72px!important;
  height:72px!important;
}
#dashboardView .week-btn:not(.workshop-btn):not(.admission-course-btn) .week-kicker{
  left:15px!important;
  top:12px!important;
  font-size:10px!important;
}
#dashboardView .week-btn:not(.workshop-btn):not(.admission-course-btn) .week-number{
  top:56%!important;
  font-size:40px!important;
}
#dashboardView .week-btn:not(:disabled):not(.workshop-btn):not(.admission-course-btn) .count{
  right:10px!important;
  top:9px!important;
  font-size:14px!important;
}

/* Ya no hace falta explicar que una semana vacía no está importada. */
#dashboardView .week-btn .week-unavailable{
  display:none!important;
}

/* No importadas: mantienen esquina D apagada y número neutro. */
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn)::after{
  display:block!important;
  opacity:.42!important;
  background:var(--d-accent,#59646E)!important;
}

/* Las tarjetas seleccionadas de todos los orígenes usan su propia familia. */
#dashboardView .week-btn.selected,
#dashboardView .admission-course-btn.selected,
#dashboardView .workshop-btn.selected{
  background:linear-gradient(135deg,var(--d-fill1,#394657),var(--d-fill2,#46566A))!important;
  border-color:var(--d-accent,#5D6F8A)!important;
}

/* Contadores/etiquetas acompañan a cada familia, sin amarillo ni rojo. */
#dashboardView .week-btn.selected .count,
#dashboardView .admission-course-btn.selected .count,
#dashboardView .workshop-btn.selected .count{
  color:#F7F8FB!important;
}
#dashboardView .week-btn.selected .week-kicker,
#dashboardView .week-btn.selected small,
#dashboardView .admission-course-btn.selected small,
#dashboardView .workshop-btn.selected small{
  color:var(--d-soft,#D1DBEC)!important;
}


/* ==========================================================
   v71 — FIX definitivo: ocultar "AÚN NO IMPORTADA"
   Compatible aunque el <small> no tenga la clase week-unavailable.
   ========================================================== */
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn) .week-unavailable,
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn) small{
  display:none!important;
}

/* Mantener el número perfectamente centrado al desaparecer el texto inferior. */
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn) .week-number{
  top:56%!important;
  transform:translate(-50%,-50%)!important;
}


/* ==========================================================
   v72 — ALTURA UNIFICADA + DISEÑO COMPACTO EN TODOS LOS ORÍGENES
   - Semanas importadas y no importadas: exactamente 98px.
   - CEPRE y Academia: mismo tamaño sin importar disponibilidad.
   - Talleres y cursos de Admisión: misma familia D compacta.
   - Conserva paleta de 10 tonos, selección y grillas aprobadas.
   ========================================================== */

/* La regla usa la misma especificidad que la antigua de 124px,
   pero queda al final para que 98px gane definitivamente. */
#dashboardView .week-btn:not(:disabled):not(.workshop-btn):not(.admission-course-btn),
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn){
  box-sizing:border-box!important;
  min-height:98px!important;
  height:98px!important;
  max-height:98px!important;
  padding:0!important;
}

/* Misma geometría D para todas las semanas. */
#dashboardView .week-btn:not(.workshop-btn):not(.admission-course-btn)::after{
  width:72px!important;
  height:72px!important;
}
#dashboardView .week-btn:not(.workshop-btn):not(.admission-course-btn) .week-kicker{
  left:15px!important;
  top:12px!important;
  font-size:10px!important;
}
#dashboardView .week-btn:not(.workshop-btn):not(.admission-course-btn) .week-number{
  top:56%!important;
  font-size:40px!important;
  transform:translate(-50%,-50%)!important;
}
#dashboardView .week-btn:not(:disabled):not(.workshop-btn):not(.admission-course-btn) .count{
  right:10px!important;
  top:9px!important;
  font-size:14px!important;
}

/* Talleres de Academia: mismo lenguaje D y misma altura compacta. */
#dashboardView .workshop-btn:not(:disabled){
  box-sizing:border-box!important;
  min-height:98px!important;
  height:98px!important;
  max-height:98px!important;
  padding:14px 16px!important;
}
#dashboardView .workshop-btn:not(:disabled)::after{
  width:72px!important;
  height:72px!important;
}
#dashboardView .workshop-btn:not(:disabled) strong{
  max-width:calc(100% - 54px)!important;
  font-size:17px!important;
  line-height:1.15!important;
}
#dashboardView .workshop-btn .count{
  right:10px!important;
  top:9px!important;
  font-size:14px!important;
}

/* Admisión: conserva 5/3/2 columnas, pero usa la tarjeta D compacta. */
#dashboardView .admission-course-btn{
  box-sizing:border-box!important;
  min-height:98px!important;
  height:98px!important;
  max-height:98px!important;
  padding:14px 16px!important;
}
#dashboardView .admission-course-btn::after{
  width:72px!important;
  height:72px!important;
}
#dashboardView .admission-course-btn strong{
  max-width:calc(100% - 54px)!important;
  font-size:17px!important;
  line-height:1.15!important;
}
#dashboardView .admission-course-hlm strong{
  font-size:15.5px!important;
}
#dashboardView .admission-course-btn .count{
  right:10px!important;
  top:9px!important;
  font-size:14px!important;
}

/* El texto redundante continúa oculto en semanas no importadas. */
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn) .week-unavailable,
#dashboardView .week-btn:disabled:not(.workshop-btn):not(.admission-course-btn) small{
  display:none!important;
}


/* ==========================================================
   v73 — FIX ADMISION: misma altura real que Academia
   Anula la regla antigua de 108px con la misma especificidad.
   ========================================================== */
#dashboardView .weeks-grid.admission-courses-grid .admission-course-btn{
  box-sizing:border-box!important;
  min-height:98px!important;
  height:98px!important;
  max-height:98px!important;
  padding:14px 16px!important;
}

/* Mantener la misma geometría compacta del diseño D. */
#dashboardView .weeks-grid.admission-courses-grid .admission-course-btn::after{
  width:72px!important;
  height:72px!important;
}
#dashboardView .weeks-grid.admission-courses-grid .admission-course-btn .count{
  top:9px!important;
  right:10px!important;
  font-size:14px!important;
}

/* ==========================================================
   v74 — CREADOR DE SIMULACRO PERSONALIZADO · REDISEÑO APROBADO
   08/09/2026
   Solo presentación. No modifica cantidades, tiempo ni lógica.
   - Mejor uso del ancho y del alto
   - 3 columnas de cursos
   - Panel derecho con resumen + tiempo + acciones
   - Acentos distintos por función, sin repetir
   - Nombres de cursos +2px (16px)
   ========================================================== */

/* Modal amplio, manteniendo el estilo oscuro del Banco UNMSM. */
#simulatorModal .simulator-wizard-modal{
  width:min(1500px,97vw)!important;
  max-width:1500px!important;
  max-height:94vh!important;
  padding:22px 24px 20px!important;
  overflow:auto!important;
  border:1px solid #30415e!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#0d182a,#0b1526)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.35)!important;
}

/* El contenido personalizado usa todo el espacio disponible. */
#simulatorModal #simStepCustom:not(.hidden){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 300px!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
  column-gap:18px!important;
  row-gap:14px!important;
  align-items:start!important;
}

/* El título duplicado interno sigue oculto; el resumen pasa a la derecha. */
#simulatorModal #simStepCustom .sim-custom-head{
  display:contents!important;
}
#simulatorModal #simStepCustom .sim-custom-head>div:first-child{
  display:none!important;
}
#simulatorModal #simStepCustom .sim-custom-summary{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin:0!important;
}
#simulatorModal #simStepCustom .sim-custom-summary>div{
  min-width:0!important;
  min-height:126px!important;
  padding:12px 10px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:14px!important;
  background:#121d30!important;
  box-shadow:none!important;
}
/* Preguntas = ciruela. */
#simulatorModal #simStepCustom .sim-custom-summary>div:first-child{
  border:1px solid #6d5d78!important;
}
/* Cursos = petróleo. */
#simulatorModal #simStepCustom .sim-custom-summary>div:last-child{
  border:1px solid #4e7774!important;
}
#simulatorModal #simStepCustom .sim-custom-summary b{
  font-size:36px!important;
  line-height:1!important;
  font-weight:900!important;
  color:#f4f7fb!important;
}
#simulatorModal #simStepCustom .sim-custom-summary span{
  margin-top:7px!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  color:#aeb8c9!important;
  text-transform:uppercase!important;
}

#simulatorModal #simStepCustom .sim-custom-layout{
  display:contents!important;
}

/* Área principal: controles arriba + tarjetas debajo. */
#simulatorModal #simStepCustom .sim-custom-main{
  grid-column:1!important;
  grid-row:1 / 4!important;
  display:grid!important;
  grid-template-columns:minmax(360px,1.35fr) minmax(430px,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:18px!important;
  row-gap:14px!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

/* Selector: berry, reservado solo para este control. */
#simulatorModal #simStepCustom .sim-bulk-mode-grid{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  min-width:0!important;
  height:50px!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid #3a4863!important;
  border-radius:12px!important;
  background:#111d31!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode{
  min-width:0!important;
  height:50px!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:0!important;
  background:#111d31!important;
  color:#edf1f7!important;
  box-shadow:none!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode + .sim-bulk-mode{
  border-left:1px solid #3a4863!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode b{
  font-size:14px!important;
  font-weight:800!important;
  color:inherit!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode span{
  display:none!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode.active{
  background:#8f466f!important;
  color:#fff!important;
}

/* Cantidad general, compacta y alineada. */
#simulatorModal #simStepCustom .sim-bulk-row{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:minmax(155px,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  height:50px!important;
  margin:0!important;
  padding:0 0 0 2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
#simulatorModal #simStepCustom .sim-bulk-row>div:first-child{
  min-width:0!important;
}
#simulatorModal #simStepCustom .sim-bulk-row strong{
  display:block!important;
  font-size:13px!important;
  line-height:1.15!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
#simulatorModal #simStepCustom .sim-bulk-row small{
  display:block!important;
  margin-top:3px!important;
  font-size:10px!important;
  line-height:1.1!important;
  color:#99a8bd!important;
}
#simulatorModal #simStepCustom .sim-bulk-stepper{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
}
#simulatorModal #simStepCustom .sim-bulk-stepper button:not(.sim-bulk-apply),
#simulatorModal #simStepCustom .sim-bulk-stepper input{
  height:38px!important;
  border:1px solid #3b4b67!important;
  border-radius:9px!important;
  background:#142035!important;
  color:#fff!important;
}
#simulatorModal #simStepCustom .sim-bulk-stepper button:not(.sim-bulk-apply){
  width:38px!important;
  min-width:38px!important;
}
#simulatorModal #simStepCustom .sim-bulk-stepper input{
  width:52px!important;
  font-size:14px!important;
  font-weight:800!important;
  text-align:center!important;
}
/* Aplicar = gris acero, no reutiliza el berry. */
#simulatorModal #simStepCustom .sim-bulk-apply{
  height:38px!important;
  min-width:76px!important;
  padding:0 16px!important;
  margin-left:1px!important;
  border:1px solid #66768a!important;
  border-radius:9px!important;
  background:#263244!important;
  color:#dce5ef!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
#simulatorModal #simStepCustom .sim-bulk-apply:hover:not(:disabled){
  background:#303d50!important;
  border-color:#78889d!important;
  color:#fff!important;
}

/* Cursos: 3 columnas, más aire y nombres +2 px. */
#simulatorModal #simStepCustom .sim-custom-courses-grid{
  grid-column:1/-1!important;
  grid-row:2!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
}
#simulatorModal #simStepCustom .sim-custom-course{
  grid-template-columns:minmax(0,1fr) auto!important;
  min-width:0!important;
  min-height:74px!important;
  gap:12px!important;
  padding:12px 12px 12px 14px!important;
  border:1px solid #2c3c58!important;
  border-radius:12px!important;
  background:#111d31!important;
  box-shadow:none!important;
}
#simulatorModal #simStepCustom .sim-custom-course-name strong{
  display:block!important;
  font-size:16px!important;
  line-height:1.15!important;
  font-weight:700!important;
  white-space:normal!important;
  color:#f4f7fb!important;
}
#simulatorModal #simStepCustom .sim-custom-course-name small{
  display:block!important;
  margin-top:4px!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:400!important;
  color:#9cabc0!important;
}
#simulatorModal #simStepCustom .sim-course-stepper{
  flex-wrap:nowrap!important;
  gap:5px!important;
}
#simulatorModal #simStepCustom .sim-course-stepper button,
#simulatorModal #simStepCustom .sim-course-stepper input{
  height:30px!important;
  border:1px solid #364762!important;
  border-radius:8px!important;
  background:#152136!important;
  color:#fff!important;
}
#simulatorModal #simStepCustom .sim-course-stepper button{
  width:30px!important;
  min-width:30px!important;
}
#simulatorModal #simStepCustom .sim-course-stepper input{
  width:36px!important;
  padding:0 3px!important;
  font-size:12px!important;
  font-weight:800!important;
  text-align:center!important;
}

/* Panel de tiempo = taupe; continúa siendo entrada manual. */
#simulatorModal #simStepCustom .sim-custom-side{
  grid-column:2!important;
  grid-row:2!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#simulatorModal #simStepCustom .sim-custom-side>.field{
  margin:0!important;
  padding:15px!important;
  border:1px solid #76685f!important;
  border-radius:14px!important;
  background:#1a1b22!important;
}
#simulatorModal #simStepCustom .sim-custom-side>.field>label{
  display:block!important;
  margin-bottom:12px!important;
  color:#d6c7bb!important;
  font-size:13px!important;
  font-weight:850!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
#simulatorModal #simStepCustom .sim-time-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
#simulatorModal #simStepCustom .sim-time-grid>div{
  min-height:112px!important;
  padding:12px 8px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border:1px solid #6b625c!important;
  border-radius:12px!important;
  background:#1b1d23!important;
}
#simulatorModal #simStepCustom .sim-time-grid input{
  width:100%!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#f4f7fb!important;
  text-align:center!important;
  font-size:39px!important;
  line-height:1!important;
  font-weight:900!important;
}
#simulatorModal #simStepCustom .sim-time-grid span{
  color:#c7b7aa!important;
  font-size:11px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
}

/* Acciones: grafito para volver y oliva para crear. */
#simulatorModal #simStepCustom>.sim-wizard-actions{
  grid-column:2!important;
  grid-row:3!important;
  align-self:end!important;
  display:grid!important;
  grid-template-columns:1fr 1.3fr!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#simulatorModal #simStepCustom>.sim-wizard-actions button{
  min-width:0!important;
  min-height:48px!important;
  padding:0 13px!important;
  border-radius:12px!important;
  font-size:13px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
#simulatorModal #simStepCustom #simCustomBackBtn{
  border:1px solid #4e5969!important;
  background:#171f2c!important;
  color:#eef2f7!important;
}
#simulatorModal #simStepCustom #simStartCustomBtn{
  border:1px solid #657365!important;
  background:#4d6152!important;
  color:#eff5f1!important;
}
#simulatorModal #simStepCustom #simStartCustomBtn:disabled{
  opacity:.52!important;
}

/* Responsive: conserva funcionalidad y evita desbordes. */
@media(max-width:1250px){
  #simulatorModal .simulator-wizard-modal{
    width:min(1160px,96vw)!important;
  }
  #simulatorModal #simStepCustom:not(.hidden){
    grid-template-columns:minmax(0,1fr) 270px!important;
    column-gap:14px!important;
  }
  #simulatorModal #simStepCustom .sim-custom-main{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
  }
  #simulatorModal #simStepCustom .sim-bulk-mode-grid{grid-column:1!important;grid-row:1!important}
  #simulatorModal #simStepCustom .sim-bulk-row{grid-column:1!important;grid-row:2!important}
  #simulatorModal #simStepCustom .sim-custom-courses-grid{
    grid-column:1!important;
    grid-row:3!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:850px){
  #simulatorModal #simStepCustom:not(.hidden){
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto auto!important;
  }
  #simulatorModal #simStepCustom .sim-custom-main{
    grid-column:1!important;
    grid-row:1!important;
  }
  #simulatorModal #simStepCustom .sim-custom-summary{
    grid-column:1!important;
    grid-row:2!important;
    margin-top:12px!important;
  }
  #simulatorModal #simStepCustom .sim-custom-side{
    grid-column:1!important;
    grid-row:3!important;
  }
  #simulatorModal #simStepCustom>.sim-wizard-actions{
    grid-column:1!important;
    grid-row:4!important;
  }
  #simulatorModal #simStepCustom .sim-custom-courses-grid{
    grid-template-columns:1fr!important;
  }
  #simulatorModal #simStepCustom .sim-bulk-row{
    height:auto!important;
    grid-template-columns:1fr!important;
    row-gap:7px!important;
  }
  #simulatorModal #simStepCustom .sim-bulk-stepper{
    justify-content:flex-start!important;
  }
}


/* ==========================================================
   v75 — FIX VISUAL DEL CREADOR DE SIMULACRO
   - Tabs: texto blanco y más grande
   - Tarjetas seleccionadas: recuperan estado visual
   - Solo CSS; no modifica lógica
   ========================================================== */

/* Anula la regla antigua que teñía de verde el texto activo. */
#simulatorModal #simStepCustom .sim-bulk-mode b{
  font-size:16px!important;
  font-weight:800!important;
  color:#f4f7fb!important;
}
#simulatorModal #simStepCustom .sim-bulk-mode.active b{
  font-size:16px!important;
  font-weight:850!important;
  color:#ffffff!important;
}

/* Estado seleccionado de curso: la regla genérica v74 ya no lo tapa. */
#simulatorModal #simStepCustom .sim-custom-course.selectable.selected{
  border-color:#6d5d78!important;
  background:
    linear-gradient(135deg,rgba(109,93,120,.34),rgba(17,29,49,.92))!important;
  box-shadow:
    inset 4px 0 0 #8b7595,
    inset 0 0 0 1px rgba(139,117,149,.18)!important;
}
#simulatorModal #simStepCustom .sim-custom-course.selectable.selected .sim-custom-course-name strong{
  color:#ffffff!important;
}
#simulatorModal #simStepCustom .sim-custom-course.selectable.selected .sim-custom-course-name small{
  color:#c9bdcf!important;
}

/* Hover neutro, diferente del seleccionado. */
#simulatorModal #simStepCustom .sim-custom-course.selectable:not(.selected):hover{
  border-color:#536779!important;
  background:#162338!important;
}


/* ==========================================================
   v76 — FIX: RESUMEN VISIBLE ENCIMA DE TIEMPO TOTAL
   Usa los contadores existentes:
   #simCustomTotalQuestions y #simCustomTotalCourses.
   Solo CSS; no modifica lógica.
   ========================================================== */

/* No depender de display:contents para ubicar el resumen. */
#simulatorModal #simStepCustom .sim-custom-head{
  display:block!important;
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
#simulatorModal #simStepCustom .sim-custom-head>div:first-child{
  display:none!important;
}

/* PREGUNTAS | CURSOS, justo encima de TIEMPO TOTAL. */
#simulatorModal #simStepCustom .sim-custom-summary{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
}
#simulatorModal #simStepCustom .sim-custom-summary>div{
  min-width:0!important;
  min-height:92px!important;
  padding:11px 8px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:13px!important;
  background:#121d30!important;
  box-shadow:none!important;
}
#simulatorModal #simStepCustom .sim-custom-summary>div:first-child{
  border:1px solid #6d5d78!important;
}
#simulatorModal #simStepCustom .sim-custom-summary>div:last-child{
  border:1px solid #4e7774!important;
}
#simulatorModal #simStepCustom .sim-custom-summary b{
  display:block!important;
  color:#f4f7fb!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:900!important;
}
#simulatorModal #simStepCustom .sim-custom-summary span{
  display:block!important;
  margin-top:7px!important;
  color:#aeb8c9!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:700!important;
  text-transform:uppercase!important;
}

/* Tiempo queda inmediatamente debajo. */
#simulatorModal #simStepCustom .sim-custom-side{
  grid-column:2!important;
  grid-row:2!important;
  margin-top:0!important;
}

/* Botones finales debajo del panel derecho. */
#simulatorModal #simStepCustom>.sim-wizard-actions{
  grid-column:2!important;
  grid-row:3!important;
}

/* Área principal sigue ocupando toda la izquierda. */
#simulatorModal #simStepCustom .sim-custom-layout{
  display:contents!important;
}
#simulatorModal #simStepCustom .sim-custom-main{
  grid-column:1!important;
  grid-row:1 / 4!important;
}

@media(max-width:850px){
  #simulatorModal #simStepCustom .sim-custom-main{
    grid-column:1!important;
    grid-row:1!important;
  }
  #simulatorModal #simStepCustom .sim-custom-head{
    grid-column:1!important;
    grid-row:2!important;
    margin-top:12px!important;
  }
  #simulatorModal #simStepCustom .sim-custom-side{
    grid-column:1!important;
    grid-row:3!important;
  }
  #simulatorModal #simStepCustom>.sim-wizard-actions{
    grid-column:1!important;
    grid-row:4!important;
  }
}

/* ==========================================================
   v78 — RESUMEN ESTRUCTURAL SEGURO DEL SIMULACRO PERSONALIZADO
   El resumen ya vive dentro del panel derecho del HTML.
   Solo se posiciona/espacia; no toca la lógica ni el menú principal.
   ========================================================== */
#simulatorModal #simStepCustom .sim-custom-head{
  display:none!important;
}
#simulatorModal #simStepCustom .sim-custom-side{
  grid-column:2!important;
  grid-row:1 / 3!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  align-self:start!important;
}
#simulatorModal #simStepCustom .sim-custom-side>.sim-custom-summary{
  order:0!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
}
#simulatorModal #simStepCustom .sim-custom-side>.field{
  order:1!important;
  margin:0!important;
}
#simulatorModal #simStepCustom .sim-custom-side>#simCustomWarning{
  order:2!important;
}
#simulatorModal #simStepCustom>.sim-wizard-actions{
  grid-column:2!important;
  grid-row:3!important;
}
@media(max-width:850px){
  #simulatorModal #simStepCustom .sim-custom-side{
    grid-column:1!important;
    grid-row:3!important;
  }
  #simulatorModal #simStepCustom>.sim-wizard-actions{
    grid-column:1!important;
    grid-row:4!important;
  }
}

/* ==========================================================
   v79 — HABILIDAD VERBAL · navegación de textos y formatos
   Solo añade soporte visual para los bloques de lectura.
   No modifica tamaño, tipografía ni grosor de los números del mapa.
   ========================================================== */

/* El 📖 usa exactamente la misma caja base que cada número. */
#examView .practice-map-reading,
#examView .sim-map-reading{
  padding:0!important;
  line-height:1!important;
}

/* Inicio exacto del texto al navegar desde 📖. */
#examView .stimulus-area{
  scroll-margin-top:24px;
}

/* Habilidad Verbal: encabezado limpio TEXTO N.º X / PASSAGE. */
#examView .stimulus-card.stimulus-hv-text .stimulus-hv-head{
  justify-content:flex-start;
}
#examView .stimulus-card.stimulus-hv-text .stimulus-hv-title{
  font-size:15px;
  font-weight:900;
  letter-spacing:.025em;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}

/* Debate: una sola columna. Las posturas largas conservan todo el ancho. */
#examView .stimulus-type-debate .stimulus-debate-position{
  margin-top:13px;
  padding:14px 15px;
  border:1px solid var(--line);
  border-radius:11px;
  background:rgba(255,255,255,.018);
}
#examView .stimulus-type-debate .stimulus-debate-position + .stimulus-debate-position{
  margin-top:12px;
}
#examView .stimulus-type-debate .stimulus-debate-position-a{
  border-left:4px solid #6d5d78;
}
#examView .stimulus-type-debate .stimulus-debate-position-b{
  border-left:4px solid #4e7774;
}
#examView .stimulus-type-debate .stimulus-debate-position .stimulus-content-title{
  margin-bottom:9px;
  font-size:14px;
}
#examView .stimulus-type-debate .stimulus-debate-context + .stimulus-debate-position{
  margin-top:16px;
}
#examView .stimulus-type-debate .stimulus-debate-position + .stimulus-debate-position,
#examView .stimulus-type-debate .stimulus-debate-context + .stimulus-debate-position{
  padding-top:14px;
}

/* Texto mixto: una imagen puede respetar la ubicación del boletín. */
#examView .stimulus-shared-image-top .stimulus-image-wrap{
  margin-top:0;
  margin-bottom:17px;
}
#examView .stimulus-shared-image-inline{
  margin:17px 0;
}
#examView .stimulus-shared-image-inline .stimulus-image-wrap{
  margin-top:0;
}
/* Conserva el diseño lateral anterior fuera de los textos mixtos. */
#examView .stimulus-body.stimulus-image-side:not(.stimulus-image-wrap-flow){
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(230px,38%);
  gap:18px;
  align-items:start;
}
#examView .stimulus-body.stimulus-image-side.stimulus-image-left:not(.stimulus-image-wrap-flow){
  grid-template-columns:minmax(230px,38%) minmax(0,1fr);
}
#examView .stimulus-body.stimulus-image-side .stimulus-shared-image-side .stimulus-image-wrap{
  margin-top:0;
}
#examView .stimulus-body.stimulus-image-side .stimulus-image{
  max-width:100%;
  max-height:520px;
}

/* Texto mixto lateral: flujo envolvente.
   Mientras dura la imagen, el texto usa el espacio restante; debajo vuelve
   automáticamente a ocupar todo el ancho del bloque. */
#examView .stimulus-body.stimulus-image-wrap-flow{
  display:flow-root;
}
#examView .stimulus-body.stimulus-image-wrap-flow .stimulus-shared-image-side{
  width:min(38%,420px);
  min-width:250px;
  margin:0 0 14px 18px;
  float:right;
}
#examView .stimulus-body.stimulus-image-wrap-flow.stimulus-image-left .stimulus-shared-image-side{
  float:left;
  margin:0 18px 14px 0;
}

@media(max-width:760px){
  #examView .stimulus-body.stimulus-image-side:not(.stimulus-image-wrap-flow),
  #examView .stimulus-body.stimulus-image-side.stimulus-image-left:not(.stimulus-image-wrap-flow){
    display:flex;
    flex-direction:column;
  }
  #examView .stimulus-body.stimulus-image-side:not(.stimulus-image-wrap-flow).stimulus-image-left .stimulus-shared-image-side{
    order:-1;
  }
  #examView .stimulus-body.stimulus-image-side:not(.stimulus-image-wrap-flow) .stimulus-shared-image-side{
    width:100%;
  }
  #examView .stimulus-body.stimulus-image-wrap-flow .stimulus-shared-image-side,
  #examView .stimulus-body.stimulus-image-wrap-flow.stimulus-image-left .stimulus-shared-image-side{
    float:none;
    width:100%;
    min-width:0;
    margin:0 0 16px;
  }
}

/* ==========================================================
   v67 — VOLVER AL BANCO SOBRE EL PANEL DERECHO · PRÁCTICA
   Mantiene el botón original y su comportamiento. Solo cambia
   su ubicación durante la práctica; en simulacro sigue arriba.
   ========================================================== */
#examView.practice-sidebar-active .practice-exam-side{
  grid-column:2!important;
  grid-row:1!important;
  align-self:start!important;
  position:sticky!important;
  top:14px!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}

#examView.practice-sidebar-active .practice-exam-side.hidden{
  display:none!important;
}

/* El mapa deja de ser el elemento sticky porque ahora botón + mapa
   forman una sola unidad sticky. */
#examView.practice-sidebar-active .practice-exam-side > .practice-exam-map{
  position:static!important;
  top:auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  margin:0!important;
}

#examView.practice-sidebar-active .practice-back-bank-slot{
  width:100%!important;
  margin:0!important;
}

/* Mismo ancho visual que “Finalizar práctica”. */
#examView.practice-sidebar-active .practice-back-bank-slot #backBankBtn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 16px!important;
  border:1px solid #6651a8!important;
  border-radius:10px!important;
  background:#6651a8!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
#examView.practice-sidebar-active .practice-back-bank-slot #backBankBtn:hover{
  transform:translateY(-1px)!important;
  border-color:#574493!important;
  background:#574493!important;
}

@media(max-width:900px){
  #examView.practice-sidebar-active .practice-exam-side{
    position:static!important;
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
  }
}

/* ==========================================================
   v68 — VOLVER AL BANCO SOBRE EL PANEL DERECHO · SIMULACRO
   Extiende el mismo patrón aprobado en práctica sin modificar
   el diseño ni el tamaño de los controles existentes.
   ========================================================== */
#examView.simulator-running .simulator-back-bank-slot{
  width:100%!important;
  margin:0 0 4px!important;
}

#examView.simulator-running .simulator-back-bank-slot #backBankBtn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 16px!important;
  border:1px solid #6651a8!important;
  border-radius:10px!important;
  background:#6651a8!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
#examView.simulator-running .simulator-back-bank-slot #backBankBtn:hover{
  transform:translateY(-1px)!important;
  border-color:#574493!important;
  background:#574493!important;
}

/* ==========================================================
   v80 — HABILIDAD VERBAL · AJUSTES TEXTO MIXTO + DEBATE
   - El mixto lateral aprovecha todo el ancho al terminar la imagen.
   - El debate no impone encabezado general TEXTO N.º X.
   - Los títulos internos quedan exactamente como vengan del boletín.
   - Reduce el espacio entre las partes del debate sin alterar sus fuentes.
   ========================================================== */

/* En debate, el texto padre no conserva los saltos de línea de la plantilla
   HTML; cada sección conserva sus propios párrafos mediante
   .stimulus-section-text (pre-line). Esto elimina huecos artificiales. */
#examView .stimulus-card.stimulus-type-debate .stimulus-text{
  white-space:normal;
}

/* Las partes del debate son una sola columna y no reciben nombres forzados. */
#examView .stimulus-card.stimulus-type-debate .stimulus-debate-part{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
#examView .stimulus-card.stimulus-type-debate .stimulus-debate-part + .stimulus-debate-part{
  margin-top:26px;
  padding-top:24px;
  border-top:1px solid var(--line);
}

/* El encabezado de cada parte usa literalmente content_title del boletín:
   TEXTO A/B, nombre de autor, postura, fuente, etc. */
#examView .stimulus-card.stimulus-type-debate .stimulus-debate-part .stimulus-content-title{
  display:inline-block;
  margin:0 0 13px;
  padding:5px 10px;
  border:1px solid #46536a;
  border-left:4px solid #6d5d78;
  border-radius:8px;
  background:rgba(17,26,42,.72);
  color:var(--text);
  font-size:14px;
  line-height:1.35;
  font-weight:850;
}
#examView .stimulus-card.stimulus-type-debate .stimulus-debate-part:nth-child(even) .stimulus-content-title{
  border-left-color:#4e7774;
}

/* La fuente de cada parte sigue siendo opcional y se conserva. */
#examView .stimulus-card.stimulus-type-debate .stimulus-debate-part .stimulus-source{
  margin-top:14px;
}

/* ==========================================================
   HV / alternativas — ajuste aprobado 2026-09-09
   - Selector visual sin punto/radio en todas las preguntas.
   - Conserva la letra A), B), C)... con su tipografía existente.
   - Conserva los estados de color existentes; en selección neutra,
     la letra acompaña el violeta ya usado por la alternativa.
   - En preguntas compartidas de HV, “Pregunta X” pasa a 15 px.
   ========================================================== */

/* El input sigue existiendo para conservar la lógica actual de selección,
   pero deja de ocupar espacio visual dentro de la alternativa. */
#examView .option > input[type="radio"]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}

/* Solo cambia el color de la letra cuando la selección aún no es
   correcta/incorrecta; tamaño y grosor permanecen heredados. */
#examView .option.user-selected:not(.correct):not(.incorrect) > strong{
  color:#c9a6ff!important;
}

/* Identificador minimalista aprobado para los grupos de HV. */
#examView .shared-question-number{
  font-size:15px!important;
}

/* ==========================================================
   v74 — Administrar banco · diseño agrupado por curso
   Cambios acordados 10/09/2026
   ========================================================== */

/* Fondo de la página más opacado mientras Administrar banco está abierto. */
#manageBankModal.modal-backdrop{
  background:rgba(1,6,14,.80)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Modal más oscuro y sólido, sin transparencias llamativas. */
#manageBankModal .manage-bulk-modal{
  width:min(1160px,96vw)!important;
  max-width:1160px!important;
  max-height:88vh;
  overflow:hidden;
  padding:0!important;
  border:1px solid #26344c!important;
  border-radius:18px!important;
  background:#0b1322!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28)!important;
}

#manageBankModal .manage-bank-head{
  min-height:66px;
  margin:0;
  padding:14px 18px;
  align-items:center;
  border-bottom:1px solid #233047;
  background:#0d1627;
}
#manageBankModal .manage-bank-head h3{
  margin:0 0 5px;
  font-size:18px;
  font-weight:600;
}
#manageBankModal .manage-bank-head .muted{
  margin:0;
  color:#8794a6;
  font-size:11px;
}

/* Se conservan los cuatro filtros existentes; solo cambia su presentación. */
#manageBankModal .manage-filter-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0;
  padding:15px 18px;
  border-bottom:1px solid #233047;
  background:#0b1322;
}
#manageBankModal .manage-filter-field>span{
  margin-bottom:6px;
  color:#8390a2;
  font-size:10px;
  font-weight:600;
  letter-spacing:.055em;
}
#manageBankModal .manage-filter-field select{
  min-height:40px;
  border:1px solid #31405a;
  border-radius:9px;
  background:#101a2c;
  color:#e8edf4;
  font-size:12px;
  font-weight:400;
  box-shadow:none;
}

#manageBankModal .manage-bulk-toolbar{
  margin:0;
  padding:12px 18px;
  border-bottom:1px solid #233047;
  background:#0b1322;
}
#manageBankModal .manage-bulk-left{
  gap:10px;
}
#manageBankModal .manage-selected-label{
  margin-left:2px;
  color:#8996a8;
  font-size:11px;
}

/* Seleccionar todo funciona como toggle visual. */
#manageBankModal .manage-select-all{
  min-height:39px;
  padding:0 13px;
  border:1px solid #3a4862!important;
  border-radius:9px;
  background:#141f33!important;
  color:#e7ecf3!important;
  font-weight:600!important;
  box-shadow:none!important;
  transition:background .15s,border-color .15s,color .15s;
}
#manageBankModal .manage-select-all.active,
#manageBankModal .manage-select-all[aria-pressed="true"]{
  border-color:#7a63c4!important;
  background:#6651a8!important;
  color:#fff!important;
  box-shadow:none!important;
}
#manageBankModal .manage-select-all:hover:not(:disabled){
  border-color:#596b89!important;
  filter:none!important;
}
#manageBankModal .manage-select-all.active:hover:not(:disabled){
  border-color:#8b75cf!important;
  background:#574493!important;
}

/* Eliminar seleccionados: rojo sólido, sin glow/neón. */
#manageBankModal .manage-delete-selected{
  min-height:39px;
  padding:0 14px;
  border:1px solid #b63a49!important;
  border-radius:9px;
  background:#b83748!important;
  color:#fff!important;
  font-weight:600!important;
  box-shadow:none!important;
  text-shadow:none!important;
  filter:none!important;
}
#manageBankModal .manage-delete-selected:hover:not(:disabled){
  background:#a63241!important;
  border-color:#a63241!important;
  box-shadow:none!important;
  filter:none!important;
}
#manageBankModal .manage-delete-selected:disabled{
  opacity:.42;
  background:#3a2029!important;
  border-color:#5b303a!important;
  color:#a99da0!important;
  box-shadow:none!important;
}

#manageBankModal .manage-summary-row{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:9px 18px 4px;
  background:#0b1322;
}
#manageBankModal .manage-summary-row .muted{
  color:#8592a4;
  font-size:11px;
}

/* Una tarjeta por curso. */
#manageBankModal .manage-course-grid{
  max-height:520px;
  overflow:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:14px;
  margin:0;
  padding:12px 18px 18px;
  background:#0b1322;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
#manageBankModal .manage-course-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #29364f;
  border-radius:14px;
  background:#0f1829;
}
#manageBankModal .manage-course-head{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 14px;
  border-bottom:1px solid #27344c;
  background:#111b2e;
}
#manageBankModal .manage-course-head>strong{
  min-width:0;
  color:#ffd85b;
  font-size:14px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:.055em;
  text-transform:uppercase;
}
#manageBankModal .manage-course-head>span{
  flex:0 0 auto;
  padding:5px 8px;
  border:1px solid #35445e;
  border-radius:8px;
  background:#141f33;
  color:#aeb9c7;
  font-size:10px;
  white-space:nowrap;
}
#manageBankModal .manage-course-groups{
  display:block;
}

/* Sin checkbox: toda la fila es el control de selección. */
#manageBankModal .manage-group-item{
  width:100%;
  min-height:61px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  margin:0;
  padding:10px 14px;
  border:0;
  border-top:1px solid rgba(49,63,86,.56);
  border-radius:0;
  background:#131d30;
  color:#e8edf4;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
  transition:background-color .10s,border-color .10s;
}
#manageBankModal .manage-group-item:first-child{
  border-top:0;
}
#manageBankModal .manage-group-item:hover{
  border-color:rgba(49,63,86,.56);
  background:#17243a;
}
#manageBankModal .manage-group-item.selected{
  border-color:rgba(49,63,86,.56);
  background:#29234d;
  box-shadow:none;
}
#manageBankModal .manage-group-main{
  min-width:0;
}
#manageBankModal .manage-group-title-line{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
#manageBankModal .manage-group-title-line>strong{
  color:#edf1f6;
  font-size:13px;
  font-weight:500;
  line-height:1.25;
}
#manageBankModal .manage-origin-tag{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 7px;
  border:1px solid #3a4861;
  border-radius:999px;
  background:#172137;
  color:#aab5c3;
  font-size:9px;
  font-weight:500;
  white-space:nowrap;
}
#manageBankModal .manage-group-submeta{
  display:block;
  margin-top:4px;
  color:#7f8da0;
  font-size:10px;
  line-height:1.25;
}
#manageBankModal .manage-group-count{
  min-width:58px;
  text-align:right;
}
#manageBankModal .manage-group-count strong{
  color:#f2f5f9;
  font-size:15px;
  font-weight:600;
}
#manageBankModal .manage-group-count small{
  margin-top:3px;
  color:#7f8da0;
  font-size:9px;
}
#manageBankModal .manage-empty{
  grid-column:1/-1;
  min-height:130px;
  display:grid;
  place-items:center;
  padding:28px 18px;
  border:1px dashed #31405a;
  border-radius:12px;
  color:#8794a6;
  background:#0f1829;
}

@media(max-width:900px){
  #manageBankModal .manage-filter-grid{
    grid-template-columns:1fr 1fr;
  }
  #manageBankModal .manage-course-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  #manageBankModal .manage-filter-grid{
    grid-template-columns:1fr;
  }
  #manageBankModal .manage-bulk-toolbar{
    align-items:stretch!important;
    flex-direction:column;
  }
  #manageBankModal .manage-bulk-left{
    display:flex;
    align-items:center;
  }
  #manageBankModal .manage-delete-selected{
    width:100%;
  }
  #manageBankModal .manage-course-grid{
    max-height:54vh;
    padding-inline:12px;
  }
}

/* ==========================================================
   10/09/2026 — Visor con zoom para imágenes de textos
   Solo afecta a .stimulus-image dentro del material compartido.
   ========================================================== */
#examView .stimulus-image.stimulus-image-zoomable{
  cursor:zoom-in;
}

html.stimulus-image-viewer-open,
html.stimulus-image-viewer-open body{
  overflow:hidden!important;
}

.stimulus-image-viewer{
  position:fixed;
  inset:0;
  z-index:10050;
  display:none;
  background:rgba(2,5,12,.92);
  overflow:hidden;
}
.stimulus-image-viewer.is-open{
  display:block;
}
.stimulus-image-viewer-stage{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  touch-action:none;
}
.stimulus-image-viewer-img{
  display:block;
  width:auto;
  height:auto;
  max-width:94vw;
  max-height:90vh;
  object-fit:contain;
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 55px rgba(0,0,0,.44);
  transform-origin:center center;
  will-change:transform;
  user-select:none;
  -webkit-user-drag:none;
  touch-action:none;
  cursor:grab;
}
.stimulus-image-viewer-img.is-dragging{
  cursor:grabbing;
}
.stimulus-image-viewer-close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #4b596f;
  border-radius:10px;
  background:#111a2b;
  color:#fff;
  font:400 24px/1 Arial,sans-serif;
  cursor:pointer;
}
.stimulus-image-viewer-close:hover{
  background:#182338;
}

/* ==========================================================
   10/09/2026 — Textos mixtos: tamaño de imágenes y fuente
   Respeta la posición importada (izquierda, derecha o centrada),
   conserva la proporción y solo limita tamaños/márgenes excesivos.
   ========================================================== */
#examView .stimulus-card.stimulus-type-mixed .stimulus-source{
  margin-top:8px;
  padding-top:5px;
  font-size:12.5px!important;
  line-height:1.3!important;
}

/* Imágenes centradas/intercaladas: tamaño medio y proporcionado. */
#examView .stimulus-card.stimulus-type-mixed .stimulus-shared-image:not(.stimulus-shared-image-side) .stimulus-image{
  width:auto;
  height:auto;
  max-width:min(100%,540px);
  max-height:420px;
  object-fit:contain;
}
#examView .stimulus-card.stimulus-type-mixed .stimulus-shared-image-inline{
  margin:12px 0;
}
#examView .stimulus-card.stimulus-type-mixed .stimulus-shared-image-inline .stimulus-image-wrap{
  margin-top:0;
}

/* Imágenes laterales: más compactas, pero sin cambiar su posición ni
   forzar a centrar las verticales. La proporción original se conserva. */
#examView .stimulus-card.stimulus-type-mixed .stimulus-body.stimulus-image-wrap-flow .stimulus-shared-image-side{
  width:min(36%,330px);
  min-width:250px;
}
#examView .stimulus-card.stimulus-type-mixed .stimulus-body.stimulus-image-wrap-flow .stimulus-shared-image-side .stimulus-image{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:540px;
  object-fit:contain;
}

@media(max-width:760px){
  #examView .stimulus-card.stimulus-type-mixed .stimulus-body.stimulus-image-wrap-flow .stimulus-shared-image-side{
    width:100%;
    min-width:0;
  }
  #examView .stimulus-card.stimulus-type-mixed .stimulus-body.stimulus-image-wrap-flow .stimulus-shared-image-side .stimulus-image{
    max-width:min(100%,540px);
    max-height:420px;
  }
}

/* ==========================================================
   10/09/2026 — Textos mixtos: eliminar huecos artificiales de plantilla
   El contenedor padre no convierte la indentación/saltos del HTML generado
   en líneas visibles. Cada sección conserva sus párrafos con pre-line.
   ========================================================== */
#examView .stimulus-card.stimulus-type-mixed .stimulus-text{
  white-space:normal;
}
#examView .stimulus-card.stimulus-type-mixed .stimulus-section-text{
  white-space:pre-line;
}

/* ==========================================================
   10/09/2026 — Visor de imágenes estable con zoom limitado
   Se usa igual en práctica y simulacro porque ambos comparten #examView.
   Conserva el zoom original exclusivamente con la rueda del mouse.
   La imagen queda fija al abrir y solo puede arrastrarse cuando el zoom
   supera el área visible. El desplazamiento queda limitado a sus bordes.
   ========================================================== */
.stimulus-image-viewer{
  background:rgba(2,6,14,.92)!important;
}
.stimulus-image-viewer-stage{
  inset:0!important;
  cursor:default;
}
.stimulus-image-viewer-img{
  width:auto!important;
  height:auto!important;
  max-width:94vw!important;
  max-height:90vh!important;
  cursor:default!important;
  transform-origin:center center!important;
}
.stimulus-image-viewer-img.is-draggable{
  cursor:grab!important;
}
.stimulus-image-viewer-img.is-dragging{
  cursor:grabbing!important;
}
@media(max-width:700px){
  .stimulus-image-viewer-close{top:10px;right:10px}
  .stimulus-image-viewer-img{
    max-width:94vw!important;
    max-height:88vh!important;
  }
}

/* ==========================================================
   10/09/2026 — Preguntas en tarjeta suave (Diseño 1 aprobado)
   Se aplica a preguntas individuales y a bloques compartidos de HV,
   tanto en práctica como en simulacro, sin cambiar la lógica de respuesta.
   ========================================================== */
#examView .single-question-soft-card,
#examView .shared-question-item{
  background:linear-gradient(180deg,rgba(19,31,54,.96),rgba(12,22,39,.93));
  border:1px solid #334563!important;
  border-radius:18px;
  padding:20px!important;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}
#examView .single-question-soft-card{
  margin-top:14px;
}
#examView .single-question-soft-number,
#examView .shared-question-number{
  display:block;
  margin:0 0 10px;
  color:#b5beff!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:900!important;
}
#examView .single-question-soft-card #questionPrompt,
#examView .shared-question-prompt{
  margin-top:0!important;
}
#examView .single-question-soft-card .option,
#examView .shared-question-item .option{
  background:#0d1830;
  border-color:#2a3954;
}
#examView .single-question-soft-card .option:hover,
#examView .shared-question-item .option:hover{
  border-color:#4a638f;
}
#examView .shared-question-group{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:12px;
}
#examView .shared-question-item{
  position:relative;
  scroll-margin-top:110px;
}
#examView .shared-question-item:first-child{
  padding-top:20px!important;
}
#examView .shared-question-item.current{
  border-color:#455a80!important;
}
#examView .shared-question-item.current::before{
  display:none!important;
}
#examView .shared-question-head{
  margin-bottom:0!important;
}
#examView .shared-question-head>div{
  width:100%;
}
#examView .shared-question-options .option:first-child{
  margin-top:0;
}
@media(max-width:700px){
  #examView .single-question-soft-card,
  #examView .shared-question-item{
    padding:16px!important;
    border-radius:15px;
  }
}

/* ==========================================================
   10/09/2026 — Corrección visual de tarjetas de preguntas
   Restaura la prioridad de correcto/incorrecto sobre el fondo
   de la tarjeta suave y muestra PREGUNTA en mayúsculas.
   Se aplica a práctica y simulacro mediante #examView.
   ========================================================== */
#examView .single-question-soft-number,
#examView .shared-question-number{
  text-transform:uppercase;
}

#examView .single-question-soft-card .option.correct,
#examView .shared-question-item .option.correct{
  background:var(--ok-soft)!important;
  border-color:#86efac!important;
  outline:none!important;
}

#examView .single-question-soft-card .option.incorrect,
#examView .shared-question-item .option.incorrect{
  background:var(--bad-soft)!important;
  border-color:#fca5a5!important;
  outline:none!important;
}


/* ==========================================================
   10/09/2026 — Literatura: material limpio como en el boletín
   Oculta únicamente el encabezado genérico añadido por la interfaz
   (TEXTO / título / Material compartido) y compacta el espacio
   entre el fragmento y sus preguntas. Práctica y simulacro comparten #examView.
   ========================================================== */
#examView .stimulus-area.stimulus-literature-area{
  margin-bottom:12px!important;
}
#examView .stimulus-card.stimulus-literature .stimulus-body{
  padding:14px 18px 12px!important;
}
#examView .stimulus-card.stimulus-literature .stimulus-text{
  margin:0!important;
}
#examView .stimulus-card.stimulus-literature .stimulus-section:first-child{
  margin-top:0!important;
  padding-top:0!important;
}
#examView .stimulus-card.stimulus-literature .stimulus-section:last-child{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
#examView .stimulus-area.stimulus-literature-area + .shared-question-group{
  margin-top:0!important;
}


/* ==========================================================
   10/09/2026 — Material individual vs material compartido
   Regla general aprobada:
   - 1 pregunta: el material queda dentro de la misma tarjeta.
   - 2+ preguntas: el material se muestra una sola vez arriba.
   También define CASO para Actitudinales y peso 500 en Literatura.
   Práctica y simulacro comparten #examView.
   ========================================================== */

/* Material de una sola pregunta: se integra visualmente en la tarjeta suave,
   sin crear una segunda tarjeta dentro de ella. */
#examView .single-question-soft-card > .stimulus-card.single-question-stimulus{
  margin:0 0 16px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#examView .single-question-soft-card > .stimulus-card.single-question-stimulus .stimulus-body{
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
#examView .single-question-soft-card > .stimulus-card.single-question-stimulus .stimulus-text{
  margin:0!important;
}
#examView .single-question-soft-card > .stimulus-card.single-question-stimulus .stimulus-head{
  margin:0 0 12px!important;
  padding:0 0 10px!important;
  min-height:0!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(112,132,162,.22)!important;
}
#examView .single-question-soft-card > .stimulus-card.single-question-stimulus .stimulus-section:first-child{
  margin-top:0!important;
  padding-top:0!important;
}
#examView .single-question-soft-card > .stimulus-card.single-question-stimulus .stimulus-section:last-child{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

/* Literatura: el fragmento se percibe ligeramente más marcado que el texto
   normal, sin llegar al peso del enunciado de la pregunta. */
#examView .stimulus-card.stimulus-literature .stimulus-text,
#examView .stimulus-card.stimulus-literature .stimulus-section-text{
  font-weight:450!important;
}

/* Jerarquía aprobada para las tarjetas de preguntas. */
#examView .single-question-soft-card #questionPrompt,
#examView .shared-question-prompt{
  font-weight:600!important;
}
#examView .single-question-soft-card .option-text,
#examView .shared-question-item .option-text{
  font-weight:400!important;
}
#examView .single-question-soft-card .option > strong,
#examView .shared-question-item .option > strong{
  font-weight:600!important;
}

/* Actitudinales: la situación se identifica como CASO N y nunca como TEXTO
   ni como "Material compartido". El caso aparece una sola vez cuando sirve
   para varias preguntas. */
#examView .stimulus-card.stimulus-attitudinal{
  border-radius:16px;
}
#examView .stimulus-card.stimulus-attitudinal .stimulus-attitudinal-head{
  padding:13px 16px!important;
  min-height:0!important;
}
#examView .stimulus-card.stimulus-attitudinal .stimulus-attitudinal-title{
  color:#bfc8ff!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:900!important;
  text-transform:uppercase;
}
#examView .stimulus-card.stimulus-attitudinal .stimulus-body{
  padding:16px 18px 14px!important;
}
#examView .stimulus-card.stimulus-attitudinal .stimulus-text,
#examView .stimulus-card.stimulus-attitudinal .stimulus-section-text{
  font-weight:500!important;
}
#examView .stimulus-attitudinal-area + .shared-question-group{
  margin-top:12px!important;
}

/* Si el CASO pertenece a una sola pregunta, queda dentro de la misma tarjeta
   y se conserva el orden visual CASO -> situación -> PREGUNTA -> enunciado. */
#examView .single-question-soft-card > .stimulus-card.single-question-stimulus.stimulus-attitudinal{
  margin:0 0 14px!important;
}
#examView .single-question-soft-card > .stimulus-card.single-question-stimulus.stimulus-attitudinal + .single-question-soft-number{
  margin-top:0!important;
}

@media(max-width:700px){
  #examView .single-question-soft-card > .stimulus-card.single-question-stimulus{
    margin-bottom:14px!important;
  }
  #examView .stimulus-card.stimulus-attitudinal .stimulus-body{
    padding:14px 0 10px!important;
  }
}

/* ==========================================================
   10/09/2026 — CONTRATO VISUAL ESTABLE v1
   Base común para práctica y simulacro.

   El tipo semántico del material llega desde app.js mediante:
     .stimulus-material-prose
     .stimulus-material-dialogue
     .stimulus-material-verse
     .stimulus-material-informative
     .stimulus-material-case
     .stimulus-material-mixed
     .stimulus-material-image
     .stimulus-material-debate
     .stimulus-material-english
     .stimulus-material-reading

   La web ya no necesita deducir verso/prosa por puntuación o longitud.
   Habilidad Verbal conserva su renderizador especializado existente.
   ========================================================== */

/* Tipografía general aprobada para todos los cursos. */
#examView .stimulus-text,
#examView.practice-sidebar-active .stimulus-text,
#examView.simulator-running .stimulus-text{
  font-size:17px!important;
}

#examView .q-title,
#examView .shared-question-prompt,
#examView.practice-sidebar-active .q-title,
#examView.practice-sidebar-active .shared-question-prompt,
#examView.simulator-running .q-title,
#examView.simulator-running .shared-question-prompt{
  font-size:18px!important;
}

#examView .option,
#examView.practice-sidebar-active .option,
#examView.simulator-running .option{
  font-size:16px!important;
}

/* ----------------------------------------------------------
   LITERATURA — formato definitivo preparado para clasificación
   ---------------------------------------------------------- */
#examView .stimulus-card.stimulus-literature .stimulus-text,
#examView .stimulus-card.stimulus-literature .stimulus-section-text{
  white-space:normal!important;
  font-size:17px!important;
  font-weight:450!important;
  line-height:1.46!important;
}

/* Prosa = párrafos/bloques. Diálogo y verso = líneas explícitas.
   En los tres casos la respiración visual aprobada es de 8px. */
#examView .stimulus-card.stimulus-literature .literature-fragment-block,
#examView .stimulus-card.stimulus-literature .literature-fragment-line{
  margin:0!important;
  padding:0!important;
}

#examView .stimulus-card.stimulus-literature .literature-fragment-block + .literature-fragment-block,
#examView .stimulus-card.stimulus-literature .literature-fragment-line + .literature-fragment-line{
  margin-top:8px!important;
}

/* Compatibilidad con bancos antiguos donde el importador dividió el
   fragmento en secciones simples. Los títulos estructurales se respetan. */
#examView .stimulus-card.stimulus-literature .stimulus-section:not(:has(.stimulus-content-title)) + .stimulus-section:not(:has(.stimulus-content-title)){
  margin-top:8px!important;
  padding-top:0!important;
  border-top:0!important;
}

/* Pregunta individual de Literatura:
   PREGUNTA N -> 22px -> fragmento -> 22px -> enunciado. */
#examView .single-question-soft-card:has(> .stimulus-card.single-question-stimulus.stimulus-literature) > .single-question-soft-number{
  margin-bottom:22px!important;
}

#examView .single-question-soft-card > .stimulus-card.single-question-stimulus.stimulus-literature{
  margin:0 0 22px!important;
}

/* Si el material de Literatura es compartido, deja la misma separación
   clara entre el final del fragmento y las preguntas asociadas. */
#examView .stimulus-area.stimulus-literature-area + .shared-question-group{
  margin-top:22px!important;
}

/* Estas clases no cambian todavía el diseño de otras áreas; funcionan como
   contrato estable para que el banco/creador pueda clasificarlas sin que la
   página tenga que inferir su naturaleza. */
#examView .stimulus-card[data-material-type][data-material-scope]{
  --material-contract-version:1;
}

/* =========================================================
   EXÁMENES DE ADMISIÓN — NOMBRES DE CURSOS EN MAYÚSCULAS
   10/09/2026 — solo presentación visual; no altera datos internos.
   ========================================================= */
#dashboardView .weeks-grid.admission-courses-grid .admission-course-btn strong{
  text-transform:uppercase;
}

/* =========================================================
   ADMISION — HABILIDAD LOGICO-MATEMATICA
   10/09/2026 — ajuste visual para nombre largo dentro de tarjeta.
   ========================================================= */
#dashboardView .weeks-grid.admission-courses-grid .admission-course-hlm strong{
  font-size:18px!important;
  line-height:1.08!important;
  max-width:calc(100% - 54px)!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  letter-spacing:-0.1px!important;
}


/* ==========================================================
   Herramienta de descarte: tachar alternativas
   ========================================================== */
#examView .study-strike-btn .study-strike-icon{
  width:28px!important;
  height:28px!important;
  display:block!important;
  object-fit:contain!important;
  pointer-events:none!important;
  background:transparent!important;
}
#examView.study-strike-mode .option{
  cursor:var(--study-strike-cursor,crosshair)!important;
}
#examView.study-strike-mode .option *{
  cursor:inherit!important;
}
#examView .option.option-discarded:not(.correct):not(.incorrect){
  opacity:.54!important;
}
#examView .option.option-discarded:not(.correct):not(.incorrect) .option-text{
  text-decoration-line:line-through!important;
  text-decoration-color:#ef4444!important;
  text-decoration-thickness:2.5px!important;
  text-decoration-skip-ink:none!important;
}
#examView .option.option-discarded:not(.correct):not(.incorrect) > strong{
  opacity:.72!important;
}
#examView .option.option-discarded.correct,
#examView .option.option-discarded.incorrect{
  opacity:1!important;
}

/* ==========================================================
   11/09/2026 — Navegación especial: Diseño 3
   📖 Habilidad Verbal / 📜 Actitudinales
   Solo cambia el aspecto de los botones de material compartido.
   Los números del mapa conservan su diseño actual.
   ========================================================== */

/* 📖 Habilidad Verbal · azul índigo con profundidad. */
#examView .practice-map-reading[aria-label="Ir al texto"],
#examView .sim-map-reading[aria-label="Ir al texto"]{
  border-color:#6482b6!important;
  background:linear-gradient(180deg,#314a77 0%,#223556 100%)!important;
  color:#fff!important;
  box-shadow:inset 0 10px 18px rgba(255,255,255,.05),
             inset 0 -10px 18px rgba(0,0,0,.15)!important;
}

/* 📜 Actitudinales · ámbar/marrón con profundidad. */
#examView .practice-map-reading[aria-label="Ir al caso"],
#examView .sim-map-reading[aria-label="Ir al caso"]{
  border-color:#b58b51!important;
  background:linear-gradient(180deg,#6f5834 0%,#4f3e26 100%)!important;
  color:#fff!important;
  box-shadow:inset 0 10px 18px rgba(255,255,255,.05),
             inset 0 -10px 18px rgba(0,0,0,.15)!important;
}

/* Hover: un poco más claro, sin efecto neón. */
#examView .practice-map-reading[aria-label="Ir al texto"]:hover,
#examView .sim-map-reading[aria-label="Ir al texto"]:hover,
#examView .practice-map-reading[aria-label="Ir al caso"]:hover,
#examView .sim-map-reading[aria-label="Ir al caso"]:hover{
  filter:brightness(1.08);
}

/* Seleccionado: conserva el color propio del material y usa el indicador blanco existente. */
#examView .practice-map-reading[aria-label="Ir al texto"].current,
#examView .sim-map-reading[aria-label="Ir al texto"].current{
  border-color:#6f8fc7!important;
  background:linear-gradient(180deg,#3a5689 0%,#293f68 100%)!important;
  color:#fff!important;
  box-shadow:0 0 0 2px #fff,
             inset 0 10px 18px rgba(255,255,255,.06),
             inset 0 -10px 18px rgba(0,0,0,.14)!important;
}

#examView .practice-map-reading[aria-label="Ir al caso"].current,
#examView .sim-map-reading[aria-label="Ir al caso"].current{
  border-color:#c49a60!important;
  background:linear-gradient(180deg,#7b623b 0%,#58452a 100%)!important;
  color:#fff!important;
  box-shadow:0 0 0 2px #fff,
             inset 0 10px 18px rgba(255,255,255,.06),
             inset 0 -10px 18px rgba(0,0,0,.14)!important;
}

/* ==========================================================
   12/09/2026 — Texto mixto con hasta 2 imágenes
   Cada imagen puede definir su propia posición. Las laterales flotan de forma
   independiente para aprovechar el espacio; si ambas usan el mismo lado se
   apilan sin crear una columna rígida ni huecos artificiales.
   ========================================================== */
#examView .stimulus-card.stimulus-type-mixed .stimulus-shared-image-flow-side{
  width:min(36%,330px);
  min-width:250px;
  margin:0 0 14px 18px;
  float:right;
}
#examView .stimulus-card.stimulus-type-mixed .stimulus-shared-image-flow-side.stimulus-flow-left{
  float:left;
  margin:0 18px 14px 0;
}
#examView .stimulus-card.stimulus-type-mixed .stimulus-shared-image-flow-side.stimulus-flow-clear-right{
  clear:right;
}
#examView .stimulus-card.stimulus-type-mixed .stimulus-shared-image-flow-side.stimulus-flow-clear-left{
  clear:left;
}
#examView .stimulus-card.stimulus-type-mixed .stimulus-shared-image-flow-side .stimulus-image-wrap{
  margin-top:0;
}
#examView .stimulus-card.stimulus-type-mixed .stimulus-shared-image-flow-side .stimulus-image{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:540px;
  object-fit:contain;
}
@media(max-width:760px){
  #examView .stimulus-card.stimulus-type-mixed .stimulus-shared-image-flow-side,
  #examView .stimulus-card.stimulus-type-mixed .stimulus-shared-image-flow-side.stimulus-flow-left{
    float:none;
    clear:both;
    width:100%;
    min-width:0;
    margin:0 0 16px;
  }
  #examView .stimulus-card.stimulus-type-mixed .stimulus-shared-image-flow-side .stimulus-image{
    max-width:min(100%,540px);
    max-height:420px;
  }
}

