/*
  IngSoft V84.22 — Fichas y tarjetas clave/valor con legibilidad total
  Corrección estructural (sin parches): declara una semántica visual estable
  para todas las fichas reproducibles, grids clave/valor y tarjetas de datos
  sobre superficies claras en toda la plataforma.
*/

:root{
  --v8422-surface:#FFFFFF;
  --v8422-surface-2:#F4F9FD;
  --v8422-surface-3:#EEF7FD;
  --v8422-border:#B9D9ED;
  --v8422-ink:#081C36;
  --v8422-ink-soft:#2A4767;
  --v8422-ink-muted:#48698A;
  --v8422-accent:#58B8EA;
}

/* 1) Contenedores semánticos de ficha / key-value siempre claros y legibles */
html body :is(
  .kv-card,
  .proof-card,
  .meta-card,
  .stat-card,
  .v83-proof-list > div,
  .kv-grid > div,
  .key-value-grid > div,
  .surface-light-card.kv-card,
  .surface-light-card.proof-card,
  .surface-light-card.meta-card,
  .surface-light-card.stat-card,
  .card--light.kv-card,
  .card--light.proof-card,
  .panel--light.kv-card
){
  background:linear-gradient(180deg,var(--v8422-surface) 0%,var(--v8422-surface-3) 100%) !important;
  border:1.5px solid var(--v8422-border) !important;
  color:var(--v8422-ink) !important;
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  text-shadow:none !important;
}

/* 2) Todo texto interno hereda una tinta visible, nunca celeste lavado */
html body :is(
  .kv-card,
  .proof-card,
  .meta-card,
  .stat-card,
  .v83-proof-list > div,
  .kv-grid > div,
  .key-value-grid > div
) *{
  text-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  background-image:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
}

/* 3) Claves / etiquetas */
html body :is(
  .kv-card,
  .proof-card,
  .meta-card,
  .stat-card,
  .v83-proof-list > div,
  .kv-grid > div,
  .key-value-grid > div
) :is(dt,.kv-label,.key,.label,.meta-label,.field-label,h1,h2,h3,h4,h5,h6,strong,b){
  color:var(--v8422-ink) !important;
  -webkit-text-fill-color:var(--v8422-ink) !important;
  font-weight:900 !important;
}

/* 4) Valores / metadatos */
html body :is(
  .kv-card,
  .proof-card,
  .meta-card,
  .stat-card,
  .v83-proof-list > div,
  .kv-grid > div,
  .key-value-grid > div
) :is(dd,.kv-value,.value,.meta-value,.field-value,p,li,span,small,label){
  color:var(--v8422-ink-soft) !important;
  -webkit-text-fill-color:var(--v8422-ink-soft) !important;
  font-weight:800 !important;
}

/* 5) Guiones, placeholders y estados vacíos visibles */
html body :is(.v83-proof-list,.kv-grid,.key-value-grid) dd:empty::before,
html body :is(.kv-card,.proof-card,.meta-card,.stat-card) .is-empty::before{
  content:"—";
  color:var(--v8422-ink-muted) !important;
  -webkit-text-fill-color:var(--v8422-ink-muted) !important;
  font-weight:800 !important;
}
html body :is(.v83-proof-list,.kv-grid,.key-value-grid) dd{
  min-height:1.35em !important;
}

/* 6) Panel completo de ficha reproducible del Observatorio */
html body.page-observatorio .v83-proof-panel,
html body.page-observatorio .v83-proof-panel.surface-light-card{
  background:linear-gradient(180deg,var(--v8422-surface) 0%,var(--v8422-surface-2) 100%) !important;
  border:2px solid var(--v8422-border) !important;
  color:var(--v8422-ink) !important;
}
html body.page-observatorio .v83-proof-panel :is(.eyebrow,.eyebrow-inline),
html body.page-observatorio .v83-proof-panel :is(.eyebrow,.eyebrow-inline) *{
  color:var(--v8422-ink) !important;
  -webkit-text-fill-color:var(--v8422-ink) !important;
  background:#FFFFFF !important;
  border-color:var(--v8422-accent) !important;
}

/* 7) Seguridad extra para listas DL en paneles claros */
html body :is(.surface-light-card,.card--light,.panel--light,.v83-proof-panel,.proof-panel-light,.kv-panel-light) dl,
html body :is(.surface-light-card,.card--light,.panel--light,.v83-proof-panel,.proof-panel-light,.kv-panel-light) dt,
html body :is(.surface-light-card,.card--light,.panel--light,.v83-proof-panel,.proof-panel-light,.kv-panel-light) dd{
  color:var(--v8422-ink) !important;
  -webkit-text-fill-color:var(--v8422-ink) !important;
}
html body :is(.surface-light-card,.card--light,.panel--light,.v83-proof-panel,.proof-panel-light,.kv-panel-light) dd,
html body :is(.surface-light-card,.card--light,.panel--light,.v83-proof-panel,.proof-panel-light,.kv-panel-light) dd *{
  color:var(--v8422-ink-soft) !important;
  -webkit-text-fill-color:var(--v8422-ink-soft) !important;
}
