/* IngSoft V84.10 — Laboratorio Celso-AQ: estabilización total de simuladores
   Arquitectura unificada para los 16 simuladores: sin scroll interno, sin superposición de paneles, sin ventanas comprimidas y sin capas V84 acumuladas. */
:root{
  --lab8410-bg:#06152A;
  --lab8410-bg2:#020A16;
  --lab8410-ink:#071832;
  --lab8410-ink2:#213A5A;
  --lab8410-ink3:#345F86;
  --lab8410-white:#FFFFFF;
  --lab8410-soft:#F5FAFE;
  --lab8410-soft2:#EAF7FF;
  --lab8410-line:#B8DCF5;
  --lab8410-line2:#55C5F0;
  --lab8410-blue:#0B73D9;
  --lab8410-cyan:#35CDF5;
  --lab8410-red:#E41E2B;
  --lab8410-shadow:0 22px 62px rgba(3,13,27,.13);
}
body.page-laboratorio.lab8410-stable, body.page-laboratorio{overflow-x:hidden!important;}
body.page-laboratorio main, body.page-laboratorio .main, body.page-laboratorio .section, body.page-laboratorio [class*="section"]{overflow:visible!important; max-height:none!important; contain:none!important;}
body.page-laboratorio *, body.page-laboratorio *::before, body.page-laboratorio *::after{box-sizing:border-box;}

/* Simuladores: un único marco científico, rectangular, estable y con scroll natural de página */
body.page-laboratorio :is([data-circular-motion],[data-mru-mruv],[data-projectile],[data-newton-dcl],[data-energy],[data-harmonic-wave],[data-interference-waves],[data-sound-doppler],[data-electric-field],[data-ohm-circuit],[data-magnetic-force],[data-electromagnetic-induction],[data-thin-lens],[data-spherical-mirror],[data-reflection-refraction],.pendulum-app,.lab-simulator-app,.simulator-app){
  width:min(1440px,calc(100% - 2rem))!important;
  margin:clamp(1.5rem,3vw,2.6rem) auto!important;
  padding:clamp(1rem,2vw,1.5rem)!important;
  border:1.5px solid var(--lab8410-line)!important;
  border-radius:30px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fcff 100%)!important;
  color:var(--lab8410-ink)!important;
  box-shadow:var(--lab8410-shadow)!important;
  max-height:none!important; min-height:0!important; height:auto!important;
  overflow:visible!important; overflow-x:clip!important; overflow-y:visible!important;
  clip-path:none!important; mask:none!important; -webkit-mask:none!important; transform:none!important; contain:none!important;
}
body.page-laboratorio :is([data-circular-motion],[data-mru-mruv],[data-projectile],[data-newton-dcl],[data-energy],[data-harmonic-wave],[data-interference-waves],[data-sound-doppler],[data-electric-field],[data-ohm-circuit],[data-magnetic-force],[data-electromagnetic-induction],[data-thin-lens],[data-spherical-mirror],[data-reflection-refraction]) *{
  text-shadow:none!important; filter:none!important; opacity:1!important;
}

/* Layout interno de simuladores */
body.page-laboratorio :is(.circular-layout,.mru-layout,.projectile-layout,.newton-layout,.energy-layout,.wave-layout,.optics-layout,.electric-layout,.sim-layout,.lab-simulator-layout){
  display:grid!important;
  grid-template-columns:minmax(280px,430px) minmax(0,1fr)!important;
  gap:clamp(1rem,2vw,1.5rem)!important;
  align-items:start!important;
  overflow:visible!important;
  max-height:none!important;
}
body.page-laboratorio :is(.circular-layout>aside,.sim-controls,.control-panel,.controls-panel,.lab-controls){
  position:relative!important;
  align-self:start!important;
  background:linear-gradient(180deg,#ffffff 0%,#f4f9fd 100%)!important;
  border:1.5px solid var(--lab8410-line)!important;
  border-radius:24px!important;
  padding:1rem!important;
  color:var(--lab8410-ink)!important;
  max-height:none!important;
  overflow:visible!important;
  box-shadow:0 16px 42px rgba(3,13,27,.08)!important;
}
body.page-laboratorio :is(.circular-stage,.sim-stage,.stage-panel,.visual-stage,.lab-stage){
  min-width:0!important;
  background:linear-gradient(180deg,#0BADE0 0%,#23BDE9 100%)!important;
  border-radius:26px!important;
  padding:clamp(1rem,2vw,1.4rem)!important;
  border:1.5px solid rgba(255,255,255,.52)!important;
  overflow:visible!important;
  max-height:none!important;
}
body.page-laboratorio :is(canvas,.circular-canvas,.circular-graph,.sim-canvas){max-width:100%!important; height:auto!important; display:block!important;}
body.page-laboratorio :is(.circular-canvas-wrap,.graph-card,.plot-card,.data-card,.model-card,.sim-card,.readout,.circular-control){
  background:#fff!important;
  border:1.5px solid var(--lab8410-line)!important;
  border-radius:20px!important;
  color:var(--lab8410-ink)!important;
  box-shadow:0 12px 30px rgba(3,13,27,.08)!important;
  overflow:visible!important;
  max-height:none!important;
}
body.page-laboratorio :is(.circular-canvas-wrap h3,.graph-card h3,.data-card h3,.model-card h3,.sim-card h3){color:var(--lab8410-ink)!important;-webkit-text-fill-color:var(--lab8410-ink)!important;font-weight:950!important;line-height:1.15!important;}
body.page-laboratorio :is(.circular-note,.sim-note,.model-card p,.data-card p,.circular-control label,.readout span,.readout strong){color:var(--lab8410-ink2)!important;-webkit-text-fill-color:var(--lab8410-ink2)!important;font-weight:800!important;line-height:1.55!important;}

/* Botones y presets: nunca encima del texto */
body.page-laboratorio :is(.circular-buttons,.circular-presets,.sim-actions,.lab-actions){
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:.75rem!important;
  margin-top:1rem!important;
  align-items:stretch!important;
}
body.page-laboratorio :is(.circular-buttons .btn,.circular-presets button,.circular-mini-btn,.sim-actions button,.lab-actions button,.btn){
  min-height:46px!important;
  white-space:normal!important;
  text-align:center!important;
  line-height:1.2!important;
  overflow:visible!important;
  position:relative!important;
  z-index:1!important;
}
body.page-laboratorio .circular-note{
  display:block!important;
  margin:1rem 0 0!important;
  padding:1rem 1rem 1rem 1.25rem!important;
  background:#fff!important;
  border:1.5px solid var(--lab8410-line)!important;
  border-left:6px solid var(--lab8410-red)!important;
  border-radius:16px!important;
  color:var(--lab8410-ink2)!important;
  -webkit-text-fill-color:var(--lab8410-ink2)!important;
  overflow:visible!important;
  max-height:none!important;
  clear:both!important;
}

/* Gráficas y tablas */
body.page-laboratorio :is(.circular-graphs,.graphs-grid,.charts-grid){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;align-items:stretch!important;overflow:visible!important;}
body.page-laboratorio :is(.circular-data-grid,.data-model-grid){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr)!important;gap:1rem!important;overflow:visible!important;}
body.page-laboratorio table{width:100%!important;border-collapse:collapse!important;table-layout:auto!important;background:#fff!important;color:var(--lab8410-ink)!important;}
body.page-laboratorio th{background:#eaf7ff!important;color:var(--lab8410-ink)!important;font-weight:950!important;}
body.page-laboratorio td{color:var(--lab8410-ink2)!important;font-weight:750!important;}

/* Contenedor externo unificado para paneles generados */
body.page-laboratorio .lab8410-afterflow{
  width:min(1440px,calc(100% - 2rem))!important;
  margin:clamp(1.4rem,3vw,2.3rem) auto!important;
  display:grid!important;
  gap:clamp(1.2rem,2vw,1.8rem)!important;
  overflow:visible!important;
  max-height:none!important;
  clear:both!important;
}
body.page-laboratorio :is(.sim-pointer-hint-pro,.physics-validation-panel,.scientific-report-tools,.learning-mode-panel,.assessment-panel){
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(1.25rem,2vw,1.75rem)!important;
  border:1.5px solid var(--lab8410-line)!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fcff 100%)!important;
  color:var(--lab8410-ink)!important;
  -webkit-text-fill-color:initial!important;
  box-shadow:var(--lab8410-shadow)!important;
  position:relative!important;
  float:none!important;
  clear:both!important;
  overflow:visible!important;
  max-height:none!important;
  min-height:0!important;
  z-index:1!important;
}
body.page-laboratorio :is(.sim-pointer-hint-pro,.physics-validation-panel,.scientific-report-tools,.learning-mode-panel,.assessment-panel) *{
  box-sizing:border-box!important;
  text-shadow:none!important;
  filter:none!important;
  opacity:1!important;
  max-width:100%!important;
}
body.page-laboratorio .sim-pointer-hint-pro{background:#eaf7ff!important;color:#153a63!important;-webkit-text-fill-color:#153a63!important;font-weight:900!important;line-height:1.55!important;}

/* Consistencia física */
body.page-laboratorio .physics-validation-head,
body.page-laboratorio .scientific-report-tools-head,
body.page-laboratorio .learning-mode-head,
body.page-laboratorio .assessment-head{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:1rem!important;margin:0 0 1rem!important;padding-bottom:.85rem!important;border-bottom:1px solid #d7e9f7!important;
}
body.page-laboratorio :is(.physics-validation-head strong,.scientific-report-tools-head strong,.learning-mode-head strong,.assessment-head strong,.learning-mode-panel h2,.assessment-panel h2){
  color:var(--lab8410-ink)!important;-webkit-text-fill-color:var(--lab8410-ink)!important;font-weight:950!important;font-size:clamp(1.25rem,2vw,1.75rem)!important;line-height:1.15!important;
}
body.page-laboratorio .physics-validation-panel dl{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1rem!important;margin:0!important;}
body.page-laboratorio .physics-validation-panel dl>div{background:#fff!important;border:1px solid #d7e9f7!important;border-radius:18px!important;padding:1rem!important;min-width:0!important;}
body.page-laboratorio .physics-validation-panel dt{color:var(--lab8410-ink)!important;-webkit-text-fill-color:var(--lab8410-ink)!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
body.page-laboratorio .physics-validation-panel dd{color:var(--lab8410-ink2)!important;-webkit-text-fill-color:var(--lab8410-ink2)!important;font-weight:820!important;line-height:1.55!important;margin:.35rem 0 0!important;}
body.page-laboratorio :is(.is-ok,.is-warn){border-radius:999px!important;padding:.5rem .8rem!important;font-weight:950!important;white-space:nowrap!important;}
body.page-laboratorio .is-ok{background:#e9fff2!important;color:#145c36!important;-webkit-text-fill-color:#145c36!important;border:1px solid #86dfad!important;}
body.page-laboratorio .is-warn{background:#fff7e8!important;color:#7a4700!important;-webkit-text-fill-color:#7a4700!important;border:1px solid #f0c36a!important;}

/* Informe científico */
body.page-laboratorio .scientific-report-tools-head span{flex:0 0 auto!important;border:1.5px solid var(--lab8410-line)!important;border-radius:999px!important;background:#eaf7ff!important;color:#153a63!important;-webkit-text-fill-color:#153a63!important;padding:.45rem .85rem!important;font-weight:950!important;}
body.page-laboratorio .scientific-report-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.8rem!important;}
body.page-laboratorio .scientific-report-actions button,
body.page-laboratorio .scientific-report-actions a{min-height:48px!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:999px!important;background:linear-gradient(135deg,#1aa5e3,#46cef6)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:950!important;box-shadow:0 12px 28px rgba(26,165,227,.24)!important;}

/* Modo de aprendizaje */
body.page-laboratorio .learning-mode-panel{background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%)!important;}
body.page-laboratorio .learning-mode-grid{display:grid!important;grid-template-columns:repeat(3,minmax(260px,1fr))!important;gap:1rem!important;}
body.page-laboratorio .learning-mode-card,
body.page-laboratorio .learning-mode-grid>*,
body.page-laboratorio .learning-mode-panel article{background:#fff!important;border:1.5px solid #d7e9f7!important;border-radius:20px!important;padding:1rem!important;min-height:130px!important;overflow:visible!important;}
body.page-laboratorio .learning-mode-card h3,
body.page-laboratorio .learning-mode-card strong,
body.page-laboratorio .learning-mode-panel h3{color:var(--lab8410-ink)!important;-webkit-text-fill-color:var(--lab8410-ink)!important;font-weight:950!important;line-height:1.2!important;}
body.page-laboratorio .learning-mode-card p,
body.page-laboratorio .learning-mode-panel p,
body.page-laboratorio .learning-mode-note{color:var(--lab8410-ink2)!important;-webkit-text-fill-color:var(--lab8410-ink2)!important;font-weight:800!important;line-height:1.55!important;}

/* Evaluación: diseño liviano, sin columna oscura comprimida */
body.page-laboratorio .assessment-panel{background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%)!important;}
body.page-laboratorio .assessment-layout,
body.page-laboratorio .assessment-body{display:grid!important;grid-template-columns:minmax(260px,380px) minmax(0,1fr)!important;gap:1.2rem!important;align-items:start!important;overflow:visible!important;max-height:none!important;}
body.page-laboratorio .assessment-rubric,
body.page-laboratorio .assessment-sidebar{background:#fff!important;border:1.5px solid #d7e9f7!important;border-radius:22px!important;padding:1rem!important;color:var(--lab8410-ink)!important;}
body.page-laboratorio .assessment-questions{display:grid!important;gap:1rem!important;overflow:visible!important;max-height:none!important;}
body.page-laboratorio .assessment-question,
body.page-laboratorio .assessment-questions>article,
body.page-laboratorio .assessment-questions>div{background:#fff!important;border:1.5px solid #d7e9f7!important;border-radius:22px!important;padding:1rem!important;color:var(--lab8410-ink)!important;overflow:visible!important;max-height:none!important;}
body.page-laboratorio .assessment-question h3,
body.page-laboratorio .assessment-question strong,
body.page-laboratorio .assessment-questions h3,
body.page-laboratorio .assessment-questions strong{color:var(--lab8410-ink)!important;-webkit-text-fill-color:var(--lab8410-ink)!important;font-weight:950!important;line-height:1.25!important;}
body.page-laboratorio .assessment-question label,
body.page-laboratorio .assessment-questions label{display:flex!important;align-items:center!important;gap:.65rem!important;margin:.45rem 0!important;padding:.55rem .65rem!important;border-radius:14px!important;background:#f7fbff!important;color:var(--lab8410-ink2)!important;-webkit-text-fill-color:var(--lab8410-ink2)!important;font-weight:820!important;}
body.page-laboratorio .assessment-question input,
body.page-laboratorio .assessment-questions input{flex:0 0 auto!important;}

/* Etiquetas del Laboratorio: un solo recuadro, sin cápsula anidada */
body.page-laboratorio :is(.lab84-kicker,.lab84-badge,.v91-eyebrow,.eyebrow,.circular-badge){
  display:inline-flex!important;align-items:center!important;gap:1rem!important;background:#fff!important;color:var(--lab8410-ink)!important;-webkit-text-fill-color:var(--lab8410-ink)!important;border:2px solid var(--lab8410-line2)!important;border-radius:999px!important;padding:.78rem 1.35rem!important;font-weight:950!important;letter-spacing:.12em!important;text-transform:uppercase!important;box-shadow:0 14px 34px rgba(3,13,27,.10)!important;line-height:1.1!important;max-width:100%!important;white-space:normal!important;
}
body.page-laboratorio :is(.lab84-kicker,.lab84-badge,.v91-eyebrow,.eyebrow,.circular-badge)::before{content:""!important;display:inline-block!important;width:46px!important;height:6px!important;border-radius:999px!important;background:var(--lab8410-red)!important;flex:0 0 auto!important;}
body.page-laboratorio :is(.lab84-kicker,.lab84-badge,.v91-eyebrow,.eyebrow,.circular-badge)>*{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;color:inherit!important;-webkit-text-fill-color:inherit!important;}

/* Separación final */
body.page-laboratorio .site-footer{margin-top:clamp(2.6rem,5vw,4.5rem)!important;position:relative!important;z-index:0!important;}
body.page-laboratorio .floating-a11y, body.page-laboratorio [class*="a11y"]{z-index:50!important;}

@media (max-width:1100px){
  body.page-laboratorio :is(.circular-layout,.mru-layout,.projectile-layout,.newton-layout,.energy-layout,.wave-layout,.optics-layout,.electric-layout,.sim-layout,.lab-simulator-layout){grid-template-columns:1fr!important;}
  body.page-laboratorio :is(.circular-graphs,.graphs-grid,.charts-grid){grid-template-columns:1fr!important;}
  body.page-laboratorio :is(.circular-data-grid,.data-model-grid){grid-template-columns:1fr!important;}
}
@media (max-width:900px){
  body.page-laboratorio .assessment-layout, body.page-laboratorio .assessment-body{grid-template-columns:1fr!important;}
  body.page-laboratorio .learning-mode-grid{grid-template-columns:1fr!important;}
  body.page-laboratorio .scientific-report-actions{grid-template-columns:1fr!important;}
  body.page-laboratorio .physics-validation-panel dl{grid-template-columns:1fr!important;}
}
@media (max-width:620px){
  body.page-laboratorio :is(.circular-buttons,.circular-presets,.sim-actions,.lab-actions){grid-template-columns:1fr!important;}
  body.page-laboratorio :is(.lab84-kicker,.lab84-badge,.v91-eyebrow,.eyebrow,.circular-badge){letter-spacing:.07em!important;padding:.72rem 1rem!important;}
  body.page-laboratorio :is(.lab84-kicker,.lab84-badge,.v91-eyebrow,.eyebrow,.circular-badge)::before{width:32px!important;}
}


/* IngSoft V84.11 — Evaluación interactiva reconstruida: sin textos lavados, sin leyendas montadas, sin panel oscuro heredado */
body.page-laboratorio .assessment-panel,
body.page-laboratorio section.assessment-panel{
  width:min(1440px,calc(100% - 2rem)) !important;
  margin:clamp(2rem,4vw,3.5rem) auto !important;
  padding:clamp(1.25rem,2.4vw,2rem) !important;
  border:1.8px solid var(--lab8410-line) !important;
  border-radius:30px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%) !important;
  color:var(--lab8410-ink) !important;
  -webkit-text-fill-color:initial !important;
  box-shadow:0 24px 70px rgba(3,13,27,.14) !important;
  overflow:visible !important;
  max-height:none !important;
  min-height:0 !important;
  position:relative !important;
  z-index:2 !important;
  clear:both !important;
}
body.page-laboratorio .assessment-panel,
body.page-laboratorio .assessment-panel *{
  box-sizing:border-box !important;
  opacity:1 !important;
  filter:none !important;
  text-shadow:none !important;
  max-width:100% !important;
}
body.page-laboratorio .assessment-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:1rem !important;
  margin:0 0 1.15rem !important;
  padding:0 0 1rem !important;
  border-bottom:1px solid #d4e8f7 !important;
  background:transparent !important;
}
body.page-laboratorio .assessment-head strong{
  display:block !important;
  margin:0 0 .35rem !important;
  color:var(--lab8410-ink) !important;
  -webkit-text-fill-color:var(--lab8410-ink) !important;
  font-size:clamp(1.55rem,2.5vw,2.15rem) !important;
  line-height:1.08 !important;
  font-weight:950 !important;
}
body.page-laboratorio .assessment-head span{
  display:block !important;
  color:var(--lab8410-ink2) !important;
  -webkit-text-fill-color:var(--lab8410-ink2) !important;
  font-weight:840 !important;
  line-height:1.45 !important;
}
body.page-laboratorio .assessment-toggle{
  flex:0 0 auto !important;
  min-height:48px !important;
  padding:.75rem 1.2rem !important;
  border:1px solid rgba(255,255,255,.35) !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#1aa5e3,#46cef6) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-weight:950 !important;
  box-shadow:0 12px 28px rgba(26,165,227,.25) !important;
}
body.page-laboratorio .assessment-body{
  display:grid !important;
  grid-template-columns:minmax(260px,360px) minmax(0,1fr) !important;
  grid-template-areas:
    "rubric form"
    "result result" !important;
  gap:1.15rem !important;
  align-items:start !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  overflow:visible !important;
  max-height:none !important;
}
body.page-laboratorio .assessment-rubric{
  grid-area:rubric !important;
  background:#ffffff !important;
  border:1.5px solid #d4e8f7 !important;
  border-radius:22px !important;
  padding:1.1rem !important;
  color:var(--lab8410-ink) !important;
  -webkit-text-fill-color:initial !important;
  box-shadow:0 12px 30px rgba(3,13,27,.06) !important;
  overflow:visible !important;
}
body.page-laboratorio .assessment-rubric h4,
body.page-laboratorio .assessment-rubric strong,
body.page-laboratorio .assessment-rubric li,
body.page-laboratorio .assessment-rubric p{
  color:var(--lab8410-ink) !important;
  -webkit-text-fill-color:var(--lab8410-ink) !important;
}
body.page-laboratorio .assessment-rubric h4{
  margin:0 0 .75rem !important;
  font-size:1.08rem !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  font-weight:950 !important;
}
body.page-laboratorio .assessment-rubric ul{margin:.5rem 0 1rem !important;padding-left:1.25rem !important;}
body.page-laboratorio .assessment-rubric li{margin:.45rem 0 !important;font-weight:850 !important;line-height:1.45 !important;}
body.page-laboratorio .assessment-bank-meta{
  margin:1rem 0 0 !important;
  padding:.8rem 0 0 !important;
  border-top:1px solid #d4e8f7 !important;
  color:var(--lab8410-ink2) !important;
  -webkit-text-fill-color:var(--lab8410-ink2) !important;
  font-weight:850 !important;
  line-height:1.45 !important;
}
body.page-laboratorio .assessment-form{
  grid-area:form !important;
  display:grid !important;
  gap:1rem !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--lab8410-ink) !important;
  -webkit-text-fill-color:initial !important;
  box-shadow:none !important;
  overflow:visible !important;
  max-height:none !important;
}
body.page-laboratorio .assessment-question,
body.page-laboratorio .assessment-question-card{
  display:block !important;
  margin:0 !important;
  padding:1rem !important;
  border:1.5px solid #d4e8f7 !important;
  border-radius:22px !important;
  background:#ffffff !important;
  color:var(--lab8410-ink) !important;
  -webkit-text-fill-color:initial !important;
  box-shadow:0 12px 30px rgba(3,13,27,.06) !important;
  overflow:visible !important;
  max-height:none !important;
  min-height:0 !important;
}
body.page-laboratorio .assessment-question legend{
  display:block !important;
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 .8rem !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--lab8410-ink) !important;
  -webkit-text-fill-color:var(--lab8410-ink) !important;
  font-size:1rem !important;
  line-height:1.35 !important;
  font-weight:950 !important;
  white-space:normal !important;
}
body.page-laboratorio .assessment-question-title,
body.page-laboratorio .assessment-question-card h3{
  margin:0 0 .8rem !important;
  padding:0 !important;
  color:var(--lab8410-ink) !important;
  -webkit-text-fill-color:var(--lab8410-ink) !important;
  font-size:1.03rem !important;
  line-height:1.35 !important;
  font-weight:950 !important;
}
body.page-laboratorio .assessment-question-index{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:1.85rem !important;
  height:1.85rem !important;
  margin-right:.5rem !important;
  border-radius:999px !important;
  background:#eaf7ff !important;
  color:#0a5a9e !important;
  -webkit-text-fill-color:#0a5a9e !important;
  font-weight:950 !important;
}
body.page-laboratorio .assessment-options{
  display:grid !important;
  gap:.55rem !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
body.page-laboratorio .assessment-question label,
body.page-laboratorio .assessment-question-card label,
body.page-laboratorio .assessment-option{
  display:flex !important;
  align-items:center !important;
  gap:.7rem !important;
  width:100% !important;
  margin:0 !important;
  padding:.72rem .85rem !important;
  border:1px solid #e1edf7 !important;
  border-radius:16px !important;
  background:#f5faff !important;
  color:var(--lab8410-ink2) !important;
  -webkit-text-fill-color:var(--lab8410-ink2) !important;
  font-weight:850 !important;
  line-height:1.35 !important;
}
body.page-laboratorio .assessment-question label:hover,
body.page-laboratorio .assessment-question-card label:hover{
  border-color:var(--lab8410-line2) !important;
  background:#eaf7ff !important;
}
body.page-laboratorio .assessment-question label span,
body.page-laboratorio .assessment-question-card label span,
body.page-laboratorio .assessment-option span{
  color:var(--lab8410-ink2) !important;
  -webkit-text-fill-color:var(--lab8410-ink2) !important;
  font-weight:850 !important;
}
body.page-laboratorio .assessment-question input[type="radio"],
body.page-laboratorio .assessment-question-card input[type="radio"]{
  flex:0 0 auto !important;
  width:18px !important;
  height:18px !important;
  accent-color:#0b73d9 !important;
}
body.page-laboratorio .assessment-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.75rem !important;
  margin:1rem 0 0 !important;
  padding:1rem 0 0 !important;
  border-top:1px solid #d4e8f7 !important;
  background:transparent !important;
}
body.page-laboratorio .assessment-actions button{
  min-height:46px !important;
  padding:.75rem 1.05rem !important;
  border:1px solid rgba(255,255,255,.35) !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#1aa5e3,#46cef6) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-weight:950 !important;
  box-shadow:0 12px 28px rgba(26,165,227,.22) !important;
}
body.page-laboratorio .assessment-result{
  grid-area:result !important;
  margin:0 !important;
  padding:1rem !important;
  border:1.5px solid #d4e8f7 !important;
  border-radius:22px !important;
  background:#ffffff !important;
  color:var(--lab8410-ink2) !important;
  -webkit-text-fill-color:var(--lab8410-ink2) !important;
  font-weight:850 !important;
  line-height:1.5 !important;
  min-height:60px !important;
}
body.page-laboratorio .assessment-feedback{display:grid !important;gap:.7rem !important;margin:.9rem 0 0 !important;padding:0 !important;list-style:none !important;}
body.page-laboratorio .assessment-feedback li{padding:.8rem !important;border-radius:16px !important;background:#f7fbff !important;border:1px solid #e1edf7 !important;color:var(--lab8410-ink2) !important;-webkit-text-fill-color:var(--lab8410-ink2) !important;font-weight:800 !important;}
body.page-laboratorio .assessment-feedback li.ok{border-color:#9de1ba !important;background:#f0fff6 !important;}
body.page-laboratorio .assessment-feedback li.warn{border-color:#f1ca7a !important;background:#fffaf0 !important;}
body.page-laboratorio .assessment-score-card{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:.8rem !important;margin:0 0 .8rem !important;}
body.page-laboratorio .assessment-score-card>div{background:#f7fbff !important;border:1px solid #e1edf7 !important;border-radius:16px !important;padding:.85rem !important;}
body.page-laboratorio .assessment-score-card span{display:block !important;color:var(--lab8410-ink3) !important;-webkit-text-fill-color:var(--lab8410-ink3) !important;font-weight:850 !important;}
body.page-laboratorio .assessment-score-card strong{display:block !important;color:var(--lab8410-ink) !important;-webkit-text-fill-color:var(--lab8410-ink) !important;font-size:1.25rem !important;font-weight:950 !important;}
@media (max-width:900px){
  body.page-laboratorio .assessment-body{grid-template-columns:1fr !important;grid-template-areas:"rubric" "form" "result" !important;}
  body.page-laboratorio .assessment-head{flex-direction:column !important;align-items:stretch !important;}
  body.page-laboratorio .assessment-toggle{align-self:flex-start !important;}
  body.page-laboratorio .assessment-score-card{grid-template-columns:1fr !important;}
}


/* IngSoft V84.12 — Tipografía secundaria legible en modo de aprendizaje */
body.page-laboratorio .learning-mode-head span{
  display:block !important;
  color:#3c6f95 !important;
  -webkit-text-fill-color:#3c6f95 !important;
  font-weight:900 !important;
  line-height:1.4 !important;
}
body.page-laboratorio .learning-mode-grid h4{
  color:#2f6286 !important;
  -webkit-text-fill-color:#2f6286 !important;
}
body.page-laboratorio .learning-mode-note{
  color:#244f6f !important;
  -webkit-text-fill-color:#244f6f !important;
  background:#eef7fd !important;
}


/* ==========================================================
   IngSoft V84.13 — Auditoría visual total del Laboratorio
   Objetivo: cerrar problemas finos de contraste, jerarquía,
   wrapping, paneles claros, evaluación y modo de aprendizaje.
   ========================================================== */

body.page-laboratorio{
  --lab8413-ink:#071832;
  --lab8413-ink-2:#213A5A;
  --lab8413-cyan-dark:#2F6286;
  --lab8413-cyan-mid:#345F86;
  --lab8413-line:#B8DCF5;
  --lab8413-line-2:#55C5F0;
  --lab8413-soft:#F5FAFE;
  --lab8413-white:#FFFFFF;
}

/* Auditoría de contraste: ningún texto celeste claro debe quedar sobre tarjeta blanca. */
body.page-laboratorio :is(
  .learning-mode-panel,
  .assessment-panel,
  .physics-validation-panel,
  .scientific-report-tools,
  .sim-pointer-hint-pro,
  .lab8410-afterflow,
  .lab84-panel,
  .lab84-card,
  .circular-card,
  .circular-controls,
  .circular-chart-card,
  .chart-card,
  .data-table-card,
  .sim-card,
  .sim-panel,
  .lab-panel
){
  color:var(--lab8413-ink) !important;
  -webkit-text-fill-color:initial !important;
}

body.page-laboratorio :is(
  .learning-mode-panel,
  .assessment-panel,
  .physics-validation-panel,
  .scientific-report-tools,
  .sim-pointer-hint-pro,
  .lab8410-afterflow,
  .lab84-panel,
  .lab84-card,
  .circular-card,
  .circular-controls,
  .circular-chart-card,
  .chart-card,
  .data-table-card,
  .sim-card,
  .sim-panel,
  .lab-panel
) :is(p,li,dd,td,label,span,small){
  color:var(--lab8413-ink-2) !important;
  -webkit-text-fill-color:var(--lab8413-ink-2) !important;
  opacity:1 !important;
  filter:none !important;
  text-shadow:none !important;
}

/* Mantener botones con blanco real sobre cyan, sin ser afectados por reglas de texto. */
body.page-laboratorio :is(button,.btn,.lab84-btn,.assessment-toggle,.scientific-report-actions button,.scientific-report-actions a,.circular-buttons button,.circular-presets button),
body.page-laboratorio :is(button,.btn,.lab84-btn,.assessment-toggle,.scientific-report-actions button,.scientific-report-actions a,.circular-buttons button,.circular-presets button) *{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}

/* Botones secundarios blancos: texto azul oscuro. */
body.page-laboratorio :is(.lab84-btn.secondary,.btn.secondary,.btn-outline),
body.page-laboratorio :is(.lab84-btn.secondary,.btn.secondary,.btn-outline) *{
  color:var(--lab8413-ink) !important;
  -webkit-text-fill-color:var(--lab8413-ink) !important;
}

/* Modo de aprendizaje: jerarquía clara, elegante y legible. */
body.page-laboratorio .learning-mode-head strong{
  color:var(--lab8413-ink) !important;
  -webkit-text-fill-color:var(--lab8413-ink) !important;
}
body.page-laboratorio .learning-mode-head span{
  color:var(--lab8413-cyan-dark) !important;
  -webkit-text-fill-color:var(--lab8413-cyan-dark) !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}
body.page-laboratorio .learning-mode-grid article{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:.45rem !important;
  background:#FFFFFF !important;
}
body.page-laboratorio .learning-mode-grid h4{
  display:block !important;
  margin:0 0 .25rem !important;
  color:var(--lab8413-cyan-dark) !important;
  -webkit-text-fill-color:var(--lab8413-cyan-dark) !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  line-height:1.25 !important;
}
body.page-laboratorio .learning-mode-grid p{
  color:var(--lab8413-ink-2) !important;
  -webkit-text-fill-color:var(--lab8413-ink-2) !important;
  font-weight:830 !important;
  line-height:1.62 !important;
}
body.page-laboratorio .learning-mode-note{
  background:#EEF7FD !important;
  border-left:5px solid #E41E2B !important;
  color:#244F6F !important;
  -webkit-text-fill-color:#244F6F !important;
  font-weight:900 !important;
  line-height:1.62 !important;
  padding:1rem 1.15rem !important;
}

/* Evaluación interactiva: preguntas y opciones sin textos lavados ni fondos heredados. */
body.page-laboratorio .assessment-head span{
  color:var(--lab8413-cyan-dark) !important;
  -webkit-text-fill-color:var(--lab8413-cyan-dark) !important;
  font-weight:900 !important;
}
body.page-laboratorio .assessment-rubric :is(p,li,span,small,strong),
body.page-laboratorio .assessment-sidebar :is(p,li,span,small,strong){
  color:var(--lab8413-ink-2) !important;
  -webkit-text-fill-color:var(--lab8413-ink-2) !important;
  font-weight:860 !important;
}
body.page-laboratorio .assessment-rubric h3,
body.page-laboratorio .assessment-sidebar h3{
  color:var(--lab8413-ink) !important;
  -webkit-text-fill-color:var(--lab8413-ink) !important;
}
body.page-laboratorio .assessment-question,
body.page-laboratorio .assessment-questions > article,
body.page-laboratorio .assessment-questions > div{
  background:#FFFFFF !important;
  border:1.6px solid #D4E8F7 !important;
  box-shadow:0 14px 34px rgba(3,13,27,.07) !important;
}
body.page-laboratorio .assessment-question h3,
body.page-laboratorio .assessment-questions h3{
  color:var(--lab8413-ink) !important;
  -webkit-text-fill-color:var(--lab8413-ink) !important;
  background:transparent !important;
}
body.page-laboratorio .assessment-question label,
body.page-laboratorio .assessment-questions label{
  background:#F5FAFE !important;
  color:var(--lab8413-ink-2) !important;
  -webkit-text-fill-color:var(--lab8413-ink-2) !important;
  font-weight:850 !important;
  border:1px solid transparent !important;
}
body.page-laboratorio .assessment-question label:hover,
body.page-laboratorio .assessment-questions label:hover{
  background:#EAF7FF !important;
  border-color:#B8DCF5 !important;
}

/* Tablas, lecturas y modelos: legibilidad científica de alto contraste. */
body.page-laboratorio :is(table,tbody,thead,tr,td,th){
  color:var(--lab8413-ink) !important;
  -webkit-text-fill-color:var(--lab8413-ink) !important;
}
body.page-laboratorio :is(td,th){
  font-weight:780 !important;
}
body.page-laboratorio :is(.readout,.metric,.stat,.formula,.model-card,.data-card) :is(span,small,p,li){
  color:var(--lab8413-ink-2) !important;
  -webkit-text-fill-color:var(--lab8413-ink-2) !important;
}

/* Control de desbordamiento fino: nada debe recortarse horizontalmente en tarjetas. */
body.page-laboratorio :is(.learning-mode-panel,.assessment-panel,.physics-validation-panel,.scientific-report-tools,.circular-card,.chart-card,.sim-card) *{
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
body.page-laboratorio :is(.learning-mode-panel,.assessment-panel,.physics-validation-panel,.scientific-report-tools){
  overflow:visible !important;
  max-height:none !important;
}

/* Gráficas: tarjetas limpias y ejes no empastados visualmente. */
body.page-laboratorio :is(.circular-graphs,.graphs-grid,.charts-grid) > *{
  background:#FFFFFF !important;
  border:1.5px solid #B8DCF5 !important;
  border-radius:24px !important;
  box-shadow:0 18px 42px rgba(3,13,27,.10) !important;
}
body.page-laboratorio :is(.circular-graphs,.graphs-grid,.charts-grid) h2,
body.page-laboratorio :is(.circular-graphs,.graphs-grid,.charts-grid) h3{
  color:var(--lab8413-ink) !important;
  -webkit-text-fill-color:var(--lab8413-ink) !important;
}

/* Separación visual final entre paneles científicos y footer. */
body.page-laboratorio .lab8410-afterflow{
  margin-bottom:clamp(2.5rem,5vw,4.5rem) !important;
}
body.page-laboratorio .site-footer{
  margin-top:clamp(3rem,6vw,5rem) !important;
}

/* Accesibilidad: foco visible profesional en laboratorio. */
body.page-laboratorio :is(a,button,input,select,textarea):focus-visible{
  outline:3px solid #35CDF5 !important;
  outline-offset:4px !important;
  box-shadow:0 0 0 6px rgba(53,205,245,.24) !important;
}

/* Responsive fino: evitar columnas estrechas ilegibles. */
@media (max-width:1100px){
  body.page-laboratorio .learning-mode-grid{grid-template-columns:repeat(2,minmax(260px,1fr)) !important;}
}
@media (max-width:760px){
  body.page-laboratorio .learning-mode-grid,
  body.page-laboratorio .assessment-body,
  body.page-laboratorio .assessment-layout{grid-template-columns:1fr !important;}
  body.page-laboratorio .learning-mode-head,
  body.page-laboratorio .assessment-head{flex-direction:column !important;}
  body.page-laboratorio .learning-mode-switch{width:100% !important;}
  body.page-laboratorio .learning-mode-switch button{flex:1 1 0 !important;}
}
