/*
  IngSoft V84.21 — Tarjetas clave/valor legibles en superficies claras
  Corrección estructural: todo componente tipo ficha, dl, clave/valor o tarjeta de prueba
  se declara como superficie clara de lectura cuando está dentro de panel claro.
*/

:root{
  --v8421-ink:#071832;
  --v8421-ink-2:#213A5A;
  --v8421-ink-3:#365A78;
  --v8421-light:#FFFFFF;
  --v8421-light-2:#F4F9FD;
  --v8421-light-3:#EAF5FC;
  --v8421-line:#B9D9ED;
  --v8421-cyan-border:#58B8EA;
}

/* A) Paneles claros de ficha: el padre define superficie clara y anula herencias oscuras */
html body :is(.surface-light-card,.card--light,.panel--light,.v83-proof-panel,.proof-panel-light,.kv-panel-light){
  background:linear-gradient(180deg,var(--v8421-light) 0%,var(--v8421-light-2) 100%) !important;
  border-color:var(--v8421-line) !important;
  color:var(--v8421-ink) !important;
  -webkit-text-fill-color:initial !important;
  text-shadow:none !important;
  opacity:1 !important;
}

/* B) Tarjetas clave/valor y fichas reproducibles: siempre texto oscuro sobre fondo claro */
html body :is(.v83-proof-panel,.surface-light-card,.card--light,.panel--light) :is(dl, .v83-proof-list, .kv-grid, .key-value-grid){
  color:var(--v8421-ink) !important;
  -webkit-text-fill-color:initial !important;
  text-shadow:none !important;
  opacity:1 !important;
}
html body :is(.v83-proof-list,.kv-grid,.key-value-grid) > :is(div,article,section,.surface-light-card,.card--light,.panel--light,.kv-card),
html body :is(.v83-proof-panel,.proof-panel-light,.kv-panel-light) :is(.surface-light-card,.card--light,.panel--light,.kv-card){
  background:linear-gradient(180deg,var(--v8421-light) 0%,var(--v8421-light-3) 100%) !important;
  border:1.5px solid var(--v8421-line) !important;
  color:var(--v8421-ink) !important;
  -webkit-text-fill-color:initial !important;
  text-shadow:none !important;
  opacity:1 !important;
}

/* C) Contenido textual dentro de fichas claras */
html body :is(.v83-proof-list,.kv-grid,.key-value-grid,.v83-proof-panel,.proof-panel-light,.kv-panel-light) :is(dt,h1,h2,h3,h4,h5,h6,strong,b,.title,.label,.card-title):not(.eyebrow):not(.btn):not(.button):not([class*="btn"]){
  color:var(--v8421-ink) !important;
  -webkit-text-fill-color:var(--v8421-ink) !important;
  text-shadow:none !important;
  opacity:1 !important;
  font-weight:950 !important;
}
html body :is(.v83-proof-list,.kv-grid,.key-value-grid,.v83-proof-panel,.proof-panel-light,.kv-panel-light) :is(dd,p,li,span,small,label,.value,.desc,.meta,.muted):not(.eyebrow):not(.btn):not(.button):not([class*="btn"]):not(option){
  color:var(--v8421-ink-2) !important;
  -webkit-text-fill-color:var(--v8421-ink-2) !important;
  text-shadow:none !important;
  opacity:1 !important;
  font-weight:800 !important;
}

/* D) Observatorio: ficha reproducible con declaración explícita, no dependiente de reglas genéricas */
html body.page-observatorio .v83-repro-proof .v83-proof-panel,
html body.page-observatorio .v83-repro-proof .v83-proof-panel.surface-light-card{
  background:linear-gradient(180deg,#FFFFFF 0%,#F5FAFE 100%) !important;
  border:2px solid var(--v8421-line) !important;
  color:var(--v8421-ink) !important;
  -webkit-text-fill-color:initial !important;
}
html body.page-observatorio .v83-repro-proof .v83-proof-list > div,
html body.page-observatorio .v83-repro-proof .v83-proof-list > div.surface-light-card,
html body.page-observatorio .v83-repro-proof .v83-proof-list > div.card--light{
  background:#F2F8FD !important;
  border:1.6px solid var(--v8421-line) !important;
  color:var(--v8421-ink) !important;
  -webkit-text-fill-color:initial !important;
  opacity:1 !important;
}
html body.page-observatorio .v83-repro-proof .v83-proof-list dt{
  color:var(--v8421-ink) !important;
  -webkit-text-fill-color:var(--v8421-ink) !important;
  opacity:1 !important;
  text-shadow:none !important;
  font-weight:950 !important;
}
html body.page-observatorio .v83-repro-proof .v83-proof-list dd,
html body.page-observatorio .v83-repro-proof .v83-proof-list dd *{
  color:var(--v8421-ink-2) !important;
  -webkit-text-fill-color:var(--v8421-ink-2) !important;
  opacity:1 !important;
  text-shadow:none !important;
  font-weight:850 !important;
}

/* E) Guiones, valores vacíos y estados de datos: visibles, nunca celeste lavado */
html body :is(.v83-proof-list,.kv-grid,.key-value-grid) dd:empty::before{
  content:"—";
  color:var(--v8421-ink-3) !important;
  -webkit-text-fill-color:var(--v8421-ink-3) !important;
}
html body :is(.v83-proof-list,.kv-grid,.key-value-grid) dd{
  min-height:1.35em !important;
}

/* F) Etiqueta interna de la ficha: mantiene elegancia, con tinta legible */
html body.page-observatorio .v83-proof-panel .eyebrow,
html body.page-observatorio .v83-proof-panel .eyebrow *{
  background:#FFFFFF !important;
  border-color:var(--v8421-cyan-border) !important;
  color:var(--v8421-ink) !important;
  -webkit-text-fill-color:var(--v8421-ink) !important;
  opacity:1 !important;
}

/* G) Botones junto a fichas: no reciben tinta oscura accidental */
html body .v83-proof-actions :is(.btn,.button,button,[class*="btn"]):not(.secondary):not(.btn-secondary){
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
html body .v83-proof-actions :is(.btn-secondary,.secondary,.outline,.btn-outline){
  color:var(--v8421-ink) !important;
  -webkit-text-fill-color:var(--v8421-ink) !important;
  background:#FFFFFF !important;
}
