/* IngSoft V83.0 — Observatorio reproducible avanzado
   Capa estructural no invasiva: no toca observatorio.js, Plotly ni motores científicos. */
:root{
  --v83-ink:#071832;
  --v83-ink-2:#244766;
  --v83-dark:#06152a;
  --v83-dark-2:#092442;
  --v83-blue:#43bff2;
  --v83-blue-soft:#dff5ff;
  --v83-border:rgba(139,212,255,.46);
  --v83-red:#e41e2b;
  --v83-white:#ffffff;
}
body.page-observatorio .v83-repro-section{
  background:
    radial-gradient(circle at 12% 0%, rgba(67,191,242,.16), transparent 34%),
    linear-gradient(180deg,var(--v83-dark),var(--v83-dark-2));
  color:#fff !important;
  border-top:1px solid rgba(139,212,255,.25);
  border-bottom:1px solid rgba(139,212,255,.25);
}
body.page-observatorio .v83-repro-section *{
  text-shadow:none !important;
}
body.page-observatorio .v83-repro-head h2,
body.page-observatorio .v83-repro-head p{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}
body.page-observatorio .v83-repro-head p{
  color:#dff5ff !important;
  -webkit-text-fill-color:#dff5ff !important;
  font-weight:720 !important;
}
body.page-observatorio .v83-repro-section .eyebrow{
  background:#fff !important;
  color:var(--v83-ink) !important;
  -webkit-text-fill-color:var(--v83-ink) !important;
  border:2px solid var(--v83-blue) !important;
  box-shadow:0 16px 40px rgba(0,0,0,.16) !important;
}
body.page-observatorio .v83-repro-section .eyebrow::before{
  background:var(--v83-red) !important;
}
body.page-observatorio .v83-repro-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  margin-top:26px !important;
}
body.page-observatorio .v83-repro-card{
  min-height:190px !important;
  padding:24px !important;
  border-radius:24px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(139,212,255,.10)) !important;
  border:1.4px solid var(--v83-border) !important;
  box-shadow:0 22px 54px rgba(0,0,0,.18) !important;
  color:#fff !important;
}
body.page-observatorio .v83-repro-card span{
  display:inline-flex !important;
  color:#93eaff !important;
  -webkit-text-fill-color:#93eaff !important;
  text-transform:uppercase !important;
  letter-spacing:.12em !important;
  font-weight:950 !important;
  font-size:.78rem !important;
  margin-bottom:12px !important;
}
body.page-observatorio .v83-repro-card strong{
  display:block !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-size:1.22rem !important;
  line-height:1.18 !important;
  font-weight:950 !important;
  overflow-wrap:anywhere !important;
}
body.page-observatorio .v83-repro-card p{
  margin:12px 0 0 !important;
  color:#e2f5ff !important;
  -webkit-text-fill-color:#e2f5ff !important;
  font-weight:680 !important;
  line-height:1.52 !important;
}
body.page-observatorio .v83-repro-proof{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:22px !important;
  align-items:stretch !important;
  margin-top:24px !important;
}
body.page-observatorio .v83-proof-panel{
  background:#ffffff !important;
  border:2px solid #b9ddf4 !important;
  border-radius:26px !important;
  box-shadow:0 24px 64px rgba(0,0,0,.16), inset 8px 0 0 var(--v83-red) !important;
  padding:24px !important;
  color:var(--v83-ink) !important;
}
body.page-observatorio .v83-proof-panel .eyebrow{
  box-shadow:none !important;
}
body.page-observatorio .v83-proof-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:18px 0 0 !important;
}
body.page-observatorio .v83-proof-list div{
  background:#f3f9fe !important;
  border:1px solid #c7e3f7 !important;
  border-radius:18px !important;
  padding:14px 16px !important;
}
body.page-observatorio .v83-proof-list dt{
  color:var(--v83-ink) !important;
  -webkit-text-fill-color:var(--v83-ink) !important;
  font-weight:950 !important;
  margin:0 0 6px !important;
}
body.page-observatorio .v83-proof-list dd{
  margin:0 !important;
  color:var(--v83-ink-2) !important;
  -webkit-text-fill-color:var(--v83-ink-2) !important;
  font-weight:760 !important;
  overflow-wrap:anywhere !important;
}
body.page-observatorio .v83-proof-actions{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  min-width:260px !important;
  justify-content:center !important;
}
body.page-observatorio .v83-proof-actions .btn{
  width:100% !important;
  text-align:center !important;
}
@media(max-width:1050px){
  body.page-observatorio .v83-repro-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body.page-observatorio .v83-repro-proof{grid-template-columns:1fr !important;}
  body.page-observatorio .v83-proof-actions{min-width:0 !important;}
}
@media(max-width:680px){
  body.page-observatorio .v83-repro-grid,
  body.page-observatorio .v83-proof-list{grid-template-columns:1fr !important;}
  body.page-observatorio .v83-repro-card{min-height:0 !important;}
}

/* V84.26 ROOT FIX — Ficha reproducible: contraste desde la raíz del componente.
   No es una capa global: el contrato visual vive en el CSS base del componente V83. */
body.page-observatorio .v83-proof-panel,
body.page-observatorio .v83-proof-panel.surface-light-card,
body.page-observatorio .v83-repro-proof .v83-proof-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%) !important;
  border:2px solid #b9ddf4 !important;
  color:#071832 !important;
  -webkit-text-fill-color:#071832 !important;
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  text-shadow:none !important;
}
body.page-observatorio .v83-proof-kv-grid,
body.page-observatorio .v83-proof-list.v83-proof-kv-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:18px 0 0 !important;
  color:#071832 !important;
  -webkit-text-fill-color:#071832 !important;
}
body.page-observatorio .v83-proof-kv-card,
body.page-observatorio .v83-proof-list.v83-proof-kv-grid > .v83-proof-kv-card{
  display:block !important;
  min-height:96px !important;
  background:linear-gradient(180deg,#ffffff 0%,#eef7fd 100%) !important;
  border:1.6px solid #b9ddf4 !important;
  border-radius:18px !important;
  padding:18px 20px !important;
  color:#071832 !important;
  -webkit-text-fill-color:#071832 !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  text-shadow:none !important;
}
body.page-observatorio .v83-proof-kv-card *,
body.page-observatorio .v83-proof-panel .v83-proof-kv-card *{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
  background-image:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
}
body.page-observatorio .v83-proof-kv-label,
body.page-observatorio .v83-proof-panel .v83-proof-kv-label{
  display:block !important;
  margin:0 0 8px !important;
  padding:0 !important;
  color:#071832 !important;
  -webkit-text-fill-color:#071832 !important;
  font-size:1.02rem !important;
  line-height:1.22 !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
}
body.page-observatorio .v83-proof-kv-value,
body.page-observatorio .v83-proof-panel .v83-proof-kv-value,
body.page-observatorio .v83-proof-kv-value:empty::before{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#213a5a !important;
  -webkit-text-fill-color:#213a5a !important;
  font-size:1rem !important;
  line-height:1.4 !important;
  font-weight:850 !important;
  overflow-wrap:anywhere !important;
}
body.page-observatorio .v83-proof-kv-value:empty::before{
  content:"—" !important;
  color:#355a78 !important;
  -webkit-text-fill-color:#355a78 !important;
}
@media (max-width: 820px){
  body.page-observatorio .v83-proof-kv-grid,
  body.page-observatorio .v83-proof-list.v83-proof-kv-grid{
    grid-template-columns:1fr !important;
  }
}
