/* V826 · Auditoría visual global.
   Capa final de contraste para modo día/noche sin alterar datos ni funciones. */
:root{
  --ux826-day-bg:#f2f5fa;
  --ux826-day-surface:#ffffff;
  --ux826-day-soft:#f7f9fc;
  --ux826-day-text:#17243a;
  --ux826-day-muted:#52647d;
  --ux826-day-line:#ccd7e5;
  --ux826-night-bg:#0b1625;
  --ux826-night-surface:#17243a;
  --ux826-night-soft:#111d30;
  --ux826-night-raised:#1d2c45;
  --ux826-night-text:#f4f7fb;
  --ux826-night-muted:#b8c6d8;
  --ux826-night-line:#405675;
  --ux826-blue:#2867dc;
  --ux826-teal:#16b8ae;
  --ux826-purple:#7542d5;
  --ux826-danger:#e54862;
}

/* Controles y foco accesible en toda la aplicación. */
body:not(.loginVisibleV011) :is(button,[role="button"],a,input,select,textarea):focus-visible{
  outline:3px solid rgba(34,199,190,.52)!important;
  outline-offset:2px!important;
}
body:not(.loginVisibleV011) :is(input,select,textarea)::placeholder{opacity:1!important}

/* LOGIN: texto estable sobre el lienzo nocturno institucional. */
body.loginVisibleV011 #login{
  color:#f7faff!important;
}
body.loginVisibleV011 #login :is(h1,h2,h3,strong,b,label,.loginTitle,.loginCardTitle){color:#f7faff!important}
body.loginVisibleV011 #login :is(p,small,.muted,.loginSubtitle,.loginHelp){color:#c1cee1!important}
body.loginVisibleV011 #login :is(input,select,textarea){
  border-color:#7183a1!important;
  background:#f8faff!important;
  color:#14223a!important;
  caret-color:#14223a!important;
}
body.loginVisibleV011 #login :is(input,textarea)::placeholder{color:#5d6d85!important}
body.loginVisibleV011 #login button:not(.active):not([class*="primary"]){color:#edf4ff}
body.loginVisibleV011 #login :is(.error,.loginError,[data-state="error"]){color:#ffd5dc!important}

/* MODO DÍA: normaliza superficies y textos que heredaban colores nocturnos. */
html:not(.darkModeV667) body:not(.loginVisibleV011){
  color:var(--ux826-day-text)!important;
  background:var(--ux826-day-bg)!important;
}
html:not(.darkModeV667) body:not(.loginVisibleV011) :is(.mainContent,.panel,.panelContent){color:var(--ux826-day-text)}
html:not(.darkModeV667) body:not(.loginVisibleV011) :is(
  .card,.toolbar,.field,.dashCard,.pcCard,.pcChart,.tableWrap,.tableTools,
  .miProgKpiV643,.miProgGaugeCardV643,.registroMonthDockV826,
  .modalCard,.modalContent,.dialog,.dialogCard,[role="dialog"],
  .followupCardV013,.componentModalCard,.adminMiniTable
){
  border-color:var(--ux826-day-line)!important;
  background-color:var(--ux826-day-surface)!important;
  color:var(--ux826-day-text)!important;
}
html:not(.darkModeV667) body:not(.loginVisibleV011) :is(
  .card,.toolbar,.field,.dashCard,.pcCard,.pcChart,.tableWrap,.tableTools,
  .modalCard,.modalContent,.dialog,.dialogCard,[role="dialog"]
) :is(h1,h2,h3,h4,h5,h6,b,strong,label,legend,th){color:var(--ux826-day-text)!important}
html:not(.darkModeV667) body:not(.loginVisibleV011) :is(
  .note,.muted,.sub,.aoSub,.ccHelp,.metaHelp,.pcSub,.pcLabel,
  .field>small,.field>label,.card>small,.kpi>small,.helpText
){color:var(--ux826-day-muted)!important}
html:not(.darkModeV667) body:not(.loginVisibleV011) :is(input,select,textarea){
  border-color:#b9c8da!important;
  background:#fff!important;
  color:#17243a!important;
}
html:not(.darkModeV667) body:not(.loginVisibleV011) :is(input,textarea)::placeholder{color:#60718a!important}
html:not(.darkModeV667) body:not(.loginVisibleV011) table :is(td,th){border-color:#d4deea}
html:not(.darkModeV667) body:not(.loginVisibleV011) table td{color:#1a2940}
html:not(.darkModeV667) body:not(.loginVisibleV011) .ffExecTotalV602 span{color:#54488f!important}

/* MODO NOCHE: elimina tarjetas blancas y recupera etiquetas desvanecidas. */
html.darkModeV667 body:not(.loginVisibleV011){
  color:var(--ux826-night-text)!important;
  background:var(--ux826-night-bg)!important;
}
html.darkModeV667 body:not(.loginVisibleV011) :is(.app,.appShell,.mainContent,.panel,.panelContent){
  background-color:var(--ux826-night-bg)!important;
  color:var(--ux826-night-text)!important;
}
html.darkModeV667 body:not(.loginVisibleV011) :is(
  .card,.toolbar,.field,.dashCard,.pcCard,.pcChart,.tableWrap,.tableTools,
  .miProgKpiV643,.miProgGaugeCardV643,.registroMonthDockV826,
  .modalCard,.modalContent,.dialog,.dialogCard,[role="dialog"],
  .followupCardV013,.componentModalCard,.adminMiniTable,
  .coordPendingBarV013,.ffExecCardV602,.ffExecScrollV602,.mpOfficial731,
  #panelAuditoria .card,#panelConfig .card,#panelExportacion .card,#panelUsuarios .card
){
  border-color:var(--ux826-night-line)!important;
  background:var(--ux826-night-surface)!important;
  color:var(--ux826-night-text)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.18)!important;
}
html.darkModeV667 body:not(.loginVisibleV011) :is(
  .card,.toolbar,.field,.dashCard,.pcCard,.pcChart,.tableWrap,.tableTools,
  .modalCard,.modalContent,.dialog,.dialogCard,[role="dialog"],
  .followupCardV013,.componentModalCard,.adminMiniTable
) :is(h1,h2,h3,h4,h5,h6,b,strong,label,legend,th){color:var(--ux826-night-text)!important}
html.darkModeV667 body:not(.loginVisibleV011) :is(
  .note,.muted,.sub,.aoSub,.ccHelp,.metaHelp,.pcSub,.pcLabel,
  .field>small,.field>label,.card>small,.kpi>small,.helpText,
  .componentActive,.registroPagerInfoV626
){color:var(--ux826-night-muted)!important}
html.darkModeV667 body:not(.loginVisibleV011) :is(input,select,textarea){
  border-color:#536985!important;
  background:var(--ux826-night-soft)!important;
  color:#f3f7fd!important;
  caret-color:#f3f7fd!important;
  color-scheme:dark;
}
html.darkModeV667 body:not(.loginVisibleV011) :is(input,textarea)::placeholder{color:#a9b8cc!important}
html.darkModeV667 body:not(.loginVisibleV011) :is(input,select,textarea):disabled{
  background:#26364e!important;color:#c6d0df!important;opacity:1!important
}

/* Botones y filtros inactivos legibles; los activos conservan la paleta institucional. */
html.darkModeV667 body:not(.loginVisibleV011) :is(
  .filterBtn,.ccBtn,.programBtn,.metaBtn,.mesBtn,.trazadorBtn,
  .registroFilterBtnV626,.ffAssignedChipV603,.pill,.chip
):not(.active):not([aria-pressed="true"]){
  border-color:#516987!important;
  background:#22324c!important;
  color:#eef4fc!important;
}
html.darkModeV667 body:not(.loginVisibleV011) :is(
  .filterBtn,.ccBtn,.programBtn,.metaBtn,.mesBtn,.trazadorBtn,
  .registroFilterBtnV626,.ffAssignedChipV603,.pill,.chip
):not(.active):not([aria-pressed="true"]) :is(small,span){color:#dce6f3!important}
html.darkModeV667 body:not(.loginVisibleV011) :is(
  .filterBtn,.ccBtn,.programBtn,.metaBtn,.mesBtn,.trazadorBtn,
  .registroFilterBtnV626,.ffAssignedChipV603
).active,
html.darkModeV667 body:not(.loginVisibleV011) :is(button,[role="button"])[aria-pressed="true"]{
  border-color:#33d5c8!important;
  background:linear-gradient(135deg,var(--ux826-purple),var(--ux826-teal))!important;
  color:#fff!important;
}

/* Tablas: encabezados institucionales y filas oscuras diferenciables. */
html.darkModeV667 body:not(.loginVisibleV011) table{background:var(--ux826-night-surface)!important;color:var(--ux826-night-text)!important}
html.darkModeV667 body:not(.loginVisibleV011) table :is(td,th){border-color:#3a506e!important}
html.darkModeV667 body:not(.loginVisibleV011) table td{background:#17243a!important;color:#edf3fb!important}
html.darkModeV667 body:not(.loginVisibleV011) table tbody tr:nth-child(even) td{background:#1c2b43!important}
html.darkModeV667 body:not(.loginVisibleV011) table :is(thead th,.stickyHead){
  background:linear-gradient(100deg,#3f3b91,#179fb0)!important;
  color:#fff!important;
}
html.darkModeV667 body:not(.loginVisibleV011) table :is(.totalRow,tfoot) :is(td,th){background:#292451!important;color:#fff!important}
html.darkModeV667 body:not(.loginVisibleV011) .ffExecTotalV602 span{color:#e0dcff!important}

/* Estados y ventanas emergentes: colores semánticos con contraste suficiente. */
html.darkModeV667 body:not(.loginVisibleV011) :is(.status,.badge,.stateBadge){color:#f7faff}
html.darkModeV667 body:not(.loginVisibleV011) :is(.statusDanger,.badgeDanger,.sinSeguimiento){
  border-color:#ef6b7d!important;background:#4a2030!important;color:#ffdce2!important
}
html.darkModeV667 body:not(.loginVisibleV011) :is(.statusSuccess,.badgeSuccess,.conSeguimiento){
  border-color:#2cc9a9!important;background:#123c3a!important;color:#cafff3!important
}
html.darkModeV667 body:not(.loginVisibleV011) :is(.statusWarning,.badgeWarning){
  border-color:#e7a63a!important;background:#49361b!important;color:#fff0bd!important
}
html.darkModeV667 body:not(.loginVisibleV011) :is(.modalOverlay,.modalBackdrop,.overlay){background:rgba(3,10,20,.72)!important}
body:not(.loginVisibleV011) .mpBtn731.png{
  border-color:#087985!important;
  background:#087985!important;
  color:#fff!important;
}
html.darkModeV667 body:not(.loginVisibleV011) .coordPendingBarV013{
  background:linear-gradient(100deg,#17243a,#1d2c45)!important;
  color:var(--ux826-night-text)!important;
}
html.darkModeV667 body:not(.loginVisibleV011) .coordPendingBarV013 #coordPendingTitleV013{
  color:#f4f7fb!important;
}
html.darkModeV667 body:not(.loginVisibleV011) .coordPendingBarV013 #coordPendingTextV013{
  color:#bdcadb!important;
}
html.darkModeV667 body:not(.loginVisibleV011) :is(.ffExecCardV602,.ffExecScrollV602,.mpOfficial731){
  border-color:var(--ux826-night-line)!important;
  background:var(--ux826-night-surface)!important;
  color:var(--ux826-night-text)!important;
}

/* Ajustes específicos detectados en Registro MATCH, alertas, ayuda y diagnóstico. */
html.darkModeV667 body:not(.loginVisibleV011) #panelRegistro .registroKpiV826>span:not(.registroKpiIconV826),
html.darkModeV667 body:not(.loginVisibleV011) #panelRegistro .registroMonthDockV826>.mesField>label{
  color:#c6d2e2!important;
}
html.darkModeV667 body:not(.loginVisibleV011) #panelRegistro .registroKpiV826>b{color:#fff!important}
html.darkModeV667 body:not(.loginVisibleV011) #panelRegistro .registroKpiV826>small{color:#b9c8dc!important}
html.darkModeV667 body:not(.loginVisibleV011) #panelRegistro .registroPendingKpiV826>small{color:#ffb27d!important}
html.darkModeV667 body:not(.loginVisibleV011) :is(#panelAyuda,#panelAuditoria,#panelConfig,#panelExportacion) :is(p,small,span){
  color:#c7d3e3;
}
html.darkModeV667 body:not(.loginVisibleV011) :is(#panelAyuda,#panelAuditoria,#panelConfig,#panelExportacion) :is(h2,h3,h4,b,strong){
  color:#f6f9fd!important;
}

/* No contaminar los documentos preparados para exportación o impresión. */
@media print{
  html.darkModeV667 body,
  html.darkModeV667 body *{color-adjust:exact;-webkit-print-color-adjust:exact}
}
@media(prefers-reduced-motion:reduce){
  body:not(.loginVisibleV011) :is(button,[role="button"],.card,.modalCard){transition:none!important}
}
