/* ============================================================================
   IDÓNEA · Tema oscuro — ajustes por vista (postulante)
   ============================================================================
   La hoja general (idonea-tema-oscuro.css) resuelve el armazón y los componentes
   de la plantilla, pero cada vista trae sus propios estilos con colores fijos:
   tarjetas blancas, títulos casi negros, bordes claros. Eso es lo que corrige
   este archivo, vista por vista.

   Cómo se generó: leyendo el CSS REAL de cada vista y calculando el equivalente
   oscuro de cada color CONSERVANDO EL TONO (mismo matiz, otra luminosidad). Una
   tarjeta rosada sigue leyéndose rosada; un aviso azul sigue siendo azul. Los
   degradados, las sombras y el rojo de la marca se dejaron como están.

   Si una vista cambia sus estilos, este archivo se vuelve a generar con
   ARCHIVOS_EJEMPLO/generar-tema-oscuro-vistas.py — no se edita a mano; los
   remiendos de criterio van en idonea-tema-oscuro-diseno.css.
   ============================================================================ */

/* ══ VistaCertificaciones  (certifications) ══ */
html[data-theme="dark"] { --crimson: var(--r); --crimson-dark: var(--r); --crimson-glow: var(--rt); --crimson-light: var(--rt); --ink: var(--t1); --ink-mid: var(--t2); --muted: var(--t3); --border: var(--l2); --surface: var(--s2); --bg: var(--s1); --bg2: var(--s1); }
html[data-theme="dark"] .dashboard-main-wrapper { background-image: linear-gradient(180deg, var(--s0) 0%, var(--s0) 38%, var(--s0) 100%) !important; }
html[data-theme="dark"] .hero-shell { background-image: linear-gradient(135deg, var(--s2) 0%, var(--s1) 100%); border-color: var(--l2); }
html[data-theme="dark"] .hero-title em { color: var(--rl); }
html[data-theme="dark"] .hero-total { background-color: var(--s2); }
html[data-theme="dark"] .hero-total strong { color: var(--rl); }
html[data-theme="dark"] .filter-row { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .filter-chip { background-color: var(--s2); }
html[data-theme="dark"] .filter-chip:hover { color: var(--rl); }
html[data-theme="dark"] .sort-select { background-color: var(--s2); }
html[data-theme="dark"] .induccion-alerta-backdrop { background-color: var(--s3); }
html[data-theme="dark"] .induccion-alerta-demo-label { color: var(--t3); }
html[data-theme="dark"] .induccion-btn-close { background-color: var(--s3); }
html[data-theme="dark"] .induccion-btn-close:hover { background-color: var(--s3); }
html[data-theme="dark"] .induccion-alerta-top { background-color: var(--s2); }
html[data-theme="dark"] .induccion-chip-2 { background-color: var(--s1); color: var(--er); border-color: var(--wab); }
html[data-theme="dark"] .induccion-chip-1 { background-color: var(--rt); color: var(--rl); border-color: var(--l2); }
html[data-theme="dark"] .induccion-chip-2 .induccion-chip-dot { background-color: var(--ert); }
html[data-theme="dark"] .induccion-video-bg::before { background: repeating-linear-gradient(
          0deg,
          transparent,
          transparent 2px,
          var(--s2) 2px,
          var(--s2) 4px
        ); }
html[data-theme="dark"] .induccion-play-btn { background: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .induccion-alerta-bottom-2 .induccion-alerta-desc { color: var(--t3); }
html[data-theme="dark"] .induccion-alerta-bottom-1 .induccion-alerta-desc { color: var(--t3); }
html[data-theme="dark"] .induccion-alerta-bottom-1 .induccion-alerta-desc strong { color: var(--rl); }
html[data-theme="dark"] .induccion-alerta-bottom-2 .induccion-btn-omitir { color: var(--t3); }
html[data-theme="dark"] .induccion-alerta-bottom-1 .induccion-btn-omitir { color: var(--t3); }
html[data-theme="dark"] .induccion-alerta-bottom-1 .induccion-btn-omitir:hover { color: var(--t3); }
html[data-theme="dark"] .card-cert { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .validity-badge { background-color: var(--s2); color: var(--rl); border-color: var(--l2); }
html[data-theme="dark"] .card-category { color: var(--rl); }
html[data-theme="dark"] .card-estado-inline--acred { color: var(--ok); background-color: var(--okt); }
html[data-theme="dark"] .card-estado-inline--otro { color: var(--wa); background-color: var(--wat); }
html[data-theme="dark"] .card-estado-acreditado { background-color: var(--okt); color: var(--ok); }
html[data-theme="dark"] .card-estado-otro { background-color: var(--wat); color: var(--wa); }
html[data-theme="dark"] .progress-pct { color: var(--rl); }
html[data-theme="dark"] .progress-fill::after { border-color: var(--l2); }
html[data-theme="dark"] .btn-outline-detail { color: var(--rl); }
html[data-theme="dark"] .btn-outline-detail:hover { color: var(--rl); }
html[data-theme="dark"] .empty-state { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .page-btn { background-color: var(--s2); }
html[data-theme="dark"] .page-btn:hover { color: var(--rl); }
html[data-theme="dark"] .catalog-shell { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .alert-danger { border-color: var(--l2); background-color: var(--s1); color: var(--rl); }

/* ══ VistaDetallesCertificaciones  (detailscertification) ══ */
html[data-theme="dark"] .dashboard-main-wrapper { background: linear-gradient(180deg, var(--s0) 0%, var(--s0) 38%, var(--s0) 100%) !important; }
html[data-theme="dark"] .detail-breadcrumb { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .detail-main-card,
html[data-theme="dark"] .detail-side-card,
html[data-theme="dark"] .detail-purchase-card { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] #nombreProducto { color: var(--t1); }
html[data-theme="dark"] .detail-code-badge { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%) !important; border-color: var(--l2); color: var(--rl) !important; }
html[data-theme="dark"] .detail-cover { border-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] .detail-section { background-image: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); border-color: var(--l2); }
html[data-theme="dark"] .detail-section h5 { color: var(--t1); }
html[data-theme="dark"] .instructor-box { border-color: var(--l2); background-image: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); }
html[data-theme="dark"] .detail-side-card .course-item__button { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%); border-bottom-color: var(--l2) !important; }
html[data-theme="dark"] .detail-side-card .course-item__button:hover { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%); }
html[data-theme="dark"] .detail-side-card .course-item__arrow { color: var(--rl) !important; }
html[data-theme="dark"] .detail-side-card .course-item-dropdown { background-color: var(--s2); }
html[data-theme="dark"] .detail-side-card .course-list__item { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .detail-side-card .course-list__item:hover { border-color: var(--l2); }
html[data-theme="dark"] .detail-side-card .course-list__item.active { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%); border-color: var(--l2); }
html[data-theme="dark"] .detail-purchase-card h3 { color: var(--t1); }
html[data-theme="dark"] .detail-purchase-image { border-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] .detail-price-wrap { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%); border-color: var(--l2); }
html[data-theme="dark"] .detail-price-wrap .text-30 { color: var(--rl) !important; }
html[data-theme="dark"] .share-social__icons { border-color: var(--l2) !important; }
html[data-theme="dark"] .nc-articulos-list { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .nc-s2-badge { border-color: var(--l2); background-color: var(--s1); color: var(--t2); }
html[data-theme="dark"] .nc-item.nc-item--complete { background-color: var(--s1) !important; }
html[data-theme="dark"] .idno-flow { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .idno-flow__banner { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s2) 100%); border-bottom-color: var(--l2); }
html[data-theme="dark"] .idno-flow__banner-title { color: var(--t1); }
html[data-theme="dark"] .idno-flow__banner-subtitle { color: var(--t1); }
html[data-theme="dark"] .idno-step__dot { color: var(--t3); background-color: var(--s1); border-color: var(--l2); }
html[data-theme="dark"] .idno-step__dot--active { background-color: var(--s2); border-color: var(--l2); color: var(--rl); }
html[data-theme="dark"] .idno-step__line { background-color: var(--s3); }
html[data-theme="dark"] .idno-step__panel { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .idno-step--active .idno-step__panel { border-color: var(--l2); }
html[data-theme="dark"] .idno-step__head { background-color: var(--s2); }
html[data-theme="dark"] .idno-step__title { color: var(--t1); }
html[data-theme="dark"] .idno-step__desc { color: var(--t3); }
html[data-theme="dark"] .idno-step__chev { color: var(--t3); }
html[data-theme="dark"] .idno-pill { border-color: var(--l2); background-color: var(--s1); color: var(--t3); }
html[data-theme="dark"] .idno-pill--pending { border-color: var(--l2); background-color: var(--rt); color: var(--rl); }
html[data-theme="dark"] .idno-pill--done { border-color: var(--okb); background-color: var(--okt); color: var(--ok); }
html[data-theme="dark"] .idno-pill--warn { border-color: var(--wab); background-color: var(--wat); color: var(--wa); }
html[data-theme="dark"] .idno-pill--bad { border-color: var(--l2); background-color: var(--rt); color: var(--rl); }
html[data-theme="dark"] .idno-pill--info { border-color: var(--inb); background-color: var(--int); color: var(--in); }
html[data-theme="dark"] .idno-pill--na { border-color: var(--inb); background-color: var(--int); color: var(--t3); }
html[data-theme="dark"] .idno-step__dot--warn { background-color: var(--wat); border-color: var(--wab); color: var(--wa); }
html[data-theme="dark"] .idno-step__dot--bad { background-color: var(--rt); border-color: var(--l2); color: var(--rl); }
html[data-theme="dark"] .idno-step__body { border-top-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] .idno-bullets { color: var(--t1); }
html[data-theme="dark"] .idno-bullets li { color: var(--t3); }
html[data-theme="dark"] .idno-dot--ok { background-color: var(--okt); }
html[data-theme="dark"] .idno-dot--warn { background-color: var(--wat); }
html[data-theme="dark"] .idno-dark-btn { border-color: var(--inb); }
html[data-theme="dark"] .idno-next__btn { border-color: var(--l2); background: var(--s2); }
html[data-theme="dark"] .idno-action { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .idno-action__head { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s2) 100%); border-bottom-color: var(--l2); }
html[data-theme="dark"] .idno-action__icon { background-color: var(--wat); border-color: var(--wab); color: var(--wa); }
html[data-theme="dark"] .idno-action__title { color: var(--t1); }
html[data-theme="dark"] .idno-action__subtitle { color: var(--t1); }
html[data-theme="dark"] .idno-action__item { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .idno-action__row { background-color: var(--s2); }
html[data-theme="dark"] .idno-action__status { background: var(--s3); border-color: var(--l2); color: var(--t3); }
html[data-theme="dark"] .idno-action__status--ok { background-color: var(--okt); border-color: var(--okb); color: var(--ok); }
html[data-theme="dark"] .idno-action__status--bad { background-color: var(--rt); border-color: var(--l2); color: var(--rl); }
html[data-theme="dark"] .idno-action__row-title { color: var(--t1); }
html[data-theme="dark"] .idno-action__row-desc { color: var(--t3); }
html[data-theme="dark"] .idno-action__chev { color: var(--t3); }
html[data-theme="dark"] .idno-action__body { border-top-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] .idno-action__link { color: var(--t3); }
html[data-theme="dark"] .idno-action__link:hover { color: var(--rl); }

/* ══ SubirDocumentos  (managementdocuments) ══ */
html[data-theme="dark"] .dashboard-main-wrapper { background: linear-gradient(180deg, var(--s0) 0%, var(--s0) 35%, var(--s0) 100%) !important; }
html[data-theme="dark"] .solicitud-breadcrumb { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .solicitud-accordion .card { border-color: var(--l2); }
html[data-theme="dark"] .step-header { background-image: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%) !important; border-bottom-color: var(--l2) !important; }
html[data-theme="dark"] .step-header h4 { color: var(--t1); }
html[data-theme="dark"] .schemes-panel { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%); border-color: var(--inb) !important; }
html[data-theme="dark"] .modality-card { background-image: linear-gradient(120deg, var(--s2) 0%, var(--s1) 58%, var(--s1) 100%); border-color: var(--inb) !important; }
html[data-theme="dark"] .modality-card__icon { background-image: linear-gradient(180deg, var(--s1) 0%, var(--int) 100%); color: var(--in); }
html[data-theme="dark"] .modality-card__title { color: var(--t1); }
html[data-theme="dark"] .modality-card__subtitle { color: var(--t1); }
html[data-theme="dark"] .modality-radio-option { background-color: var(--s2); border-color: var(--inb); color: var(--t3); }
html[data-theme="dark"] .modality-radio-option:has(input:checked) { background-color: var(--s1); color: var(--in); }
html[data-theme="dark"] .document-card { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .document-card:hover { border-color: var(--inb); }
html[data-theme="dark"] .uploaded-state-box { border-color: var(--inb) !important; background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%) !important; }
html[data-theme="dark"] .upload-dropzone { border-color: var(--inb) !important; background-color: var(--s2); }
html[data-theme="dark"] .upload-dropzone:hover { border-color: var(--inb) !important; background-color: var(--s1) !important; }
html[data-theme="dark"] #btnContainerExperiencia { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%) !important; border-color: var(--inb) !important; }
html[data-theme="dark"] #btnContainerExperiencia:hover { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%) !important; }
html[data-theme="dark"] #listaExperiencias .card { border-color: var(--l2) !important; }
html[data-theme="dark"] .progress { background-color: var(--s1); }
html[data-theme="dark"] .modal-content { border-color: var(--l2); }
html[data-theme="dark"] .modal-header { background-image: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); }
html[data-theme="dark"] .modal-footer { background-color: var(--s2); }
html[data-theme="dark"] .form-control { border-color: var(--inb); }
html[data-theme="dark"] .form-control:focus { border-color: var(--inb); }
html[data-theme="dark"] .experiencia-row { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%) !important; }
html[data-theme="dark"] .text-orange { color: var(--er) !important; }
html[data-theme="dark"] #modalFirma .modal-content { border-color: var(--inb); }
html[data-theme="dark"] #modalFirma .modal-header { border-bottom-color: var(--l2); background-image: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); }
html[data-theme="dark"] #modalFirma .modal-title { color: var(--t1); }
html[data-theme="dark"] #modalFirma .modal-body { background-image: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); }
html[data-theme="dark"] .firma-stepper-wrap { background-color: var(--s2); border-color: var(--inb); }
html[data-theme="dark"] .firma-step-label { color: var(--t3); }
html[data-theme="dark"] .firma-doc-viewer-card { border-color: var(--inb) !important; background-color: var(--s1) !important; }
html[data-theme="dark"] .firma-signature-card { border-color: var(--inb) !important; background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%) !important; }
html[data-theme="dark"] #modalFirma #firmaPreviewImg { border-color: var(--inb) !important; background-color: var(--s2) !important; }
html[data-theme="dark"] #modalFirma .modal-footer { border-top-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] #modalExperiencia .modal-content { border-color: var(--inb); }
html[data-theme="dark"] #modalExperiencia .modal-header { border-bottom-color: var(--l2); background-image: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); }
html[data-theme="dark"] #modalExperiencia .modal-title { color: var(--t1); }
html[data-theme="dark"] #modalExperiencia .modal-body { background-image: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); }
html[data-theme="dark"] #modalExperiencia .modal-footer { border-top-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] .experiencia-block { border-color: var(--inb) !important; background-image: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%) !important; }
html[data-theme="dark"] .experiencia-block:hover { border-color: var(--inb) !important; }
html[data-theme="dark"] .experiencia-block-header { border-bottom-color: var(--inb) !important; }
html[data-theme="dark"] .experiencia-schema-panel { border-color: var(--inb) !important; background-color: var(--s2); }

/* ══ VistaAsignacionesDePruebas  (assignmentsevaluations) ══ */
html[data-theme="dark"] { --crimson: var(--r); --crimson-dark: var(--r); --rose-bg: var(--s1); --rose-soft: var(--s1); --rose-border: var(--l2); --ink: var(--t2); --muted: var(--t3); }
html[data-theme="dark"] .dashboard-main-wrapper { background-image: linear-gradient(180deg, var(--s0) 0%, var(--s0) 36%, var(--s0) 100%) !important; }
html[data-theme="dark"] .assignments-breadcrumb { background-color: var(--s2); }
html[data-theme="dark"] .assignments-header { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%); }
html[data-theme="dark"] .assignments-title { color: var(--t1); }
html[data-theme="dark"] .assignments-filters .form-select { border-color: var(--l2); color: var(--t2); background-color: var(--s2); }
html[data-theme="dark"] .assignments-filters .form-select:focus { background-color: var(--s2); }
html[data-theme="dark"] .assignments-filters .btn { border-color: var(--l2); background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%); color: var(--rl); }
html[data-theme="dark"] .assignments-filters .btn:hover { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%); color: var(--rl); }
html[data-theme="dark"] .assignments-clear-btn { background-color: var(--s2) !important; border-color: var(--l2) !important; color: var(--rl) !important; }
html[data-theme="dark"] .assignments-clear-btn:hover { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%) !important; border-color: var(--l2) !important; color: var(--rl) !important; }
html[data-theme="dark"] .action-btn-map { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%) !important; border-color: var(--l2) !important; color: var(--rl) !important; }
html[data-theme="dark"] .assignments-empty { background-image: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); border-color: var(--l2); }
html[data-theme="dark"] .assignments-empty-icon { color: var(--rl); background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%); border-color: var(--l2); }
html[data-theme="dark"] .assignments-empty-title { color: var(--t1); }
html[data-theme="dark"] .assignments-empty-text { color: var(--t3); }
html[data-theme="dark"] #examsTable thead th { color: var(--rl); background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%); }
html[data-theme="dark"] #examsTable tbody tr.exam-row td { border-color: var(--l2) !important; }
html[data-theme="dark"] #examsTable tbody tr.exam-row:hover { background-color: var(--s1); }
html[data-theme="dark"] .text-dark-soft { color: var(--t2); }
html[data-theme="dark"] div.dataTables_wrapper div.dataTables_length select { border-color: var(--l2); color: var(--t3); }
html[data-theme="dark"] div.dataTables_wrapper div.dataTables_filter input { border-color: var(--l2); }
html[data-theme="dark"] div.dataTables_wrapper div.dataTables_info { color: var(--t3); }
html[data-theme="dark"] .page-link { color: var(--rl) !important; }
html[data-theme="dark"] .page-link:hover { background-color: var(--s1) !important; color: var(--rl) !important; }

/* ══ VistaAgendarPruebas  (schedule-exams) ══ */
html[data-theme="dark"] .pq-aviso--ok { background-color: var(--s1); border-color: var(--okb); color: var(--t2); }
html[data-theme="dark"] .pq-aviso--ok > i { color: var(--ok); }
html[data-theme="dark"] .pq-aviso--wa { background-color: var(--s1); border-color: var(--wab); color: var(--wa); }
html[data-theme="dark"] .pq-aviso--wa > i { color: var(--wa); }
html[data-theme="dark"] .pq-aviso--mal { background-color: var(--s1); border-color: var(--l2); color: var(--rl); }
html[data-theme="dark"] .pq-aviso--mal > i { color: var(--rl); }
html[data-theme="dark"] .pq-cupo { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .pq-cupo.is-mal { background-color: var(--s1); border-color: var(--l2); color: var(--rl); }
html[data-theme="dark"] { --crimson: var(--r); --crimson-dark: var(--r); --rose-border: var(--l2); --rose-soft: var(--s1); --ink: var(--t2); --muted: var(--t3); }
html[data-theme="dark"] .dashboard-main-wrapper { background-image: linear-gradient(180deg, var(--s0) 0%, var(--s0) 36%, var(--s0) 100%) !important; }
html[data-theme="dark"] .schedule-calendar-shell,
html[data-theme="dark"] .schedule-side-shell { background-color: var(--s2); }
html[data-theme="dark"] .bg-green-50 { background-color: var(--s1) !important; }
html[data-theme="dark"] .bg-green-100 { background-color: var(--okt) !important; }
html[data-theme="dark"] .text-green-600 { color: var(--ok) !important; }
html[data-theme="dark"] .bg-blue-100 { background-color: var(--int) !important; }
html[data-theme="dark"] .text-blue-600 { color: var(--in) !important; }
html[data-theme="dark"] .bg-orange-100 { background-color: var(--wat) !important; }
html[data-theme="dark"] .text-orange-600 { color: var(--er) !important; }
html[data-theme="dark"] .btn-outline-gray { border-color: var(--l2); color: var(--t2); background-color: var(--s2); }
html[data-theme="dark"] .btn-outline-gray:hover { background-color: var(--s1); border-color: var(--l2); }
html[data-theme="dark"] .mini-calendar__arrow { background-color: var(--s2); }
html[data-theme="dark"] .mini-current-date.mini-has-event::after { background-color: var(--s2); }
html[data-theme="dark"] { --fc-button-bg-color: var(--s2); --fc-button-border-color: var(--l2); --fc-button-text-color: var(--t3); --fc-today-bg-color: var(--s1); }
html[data-theme="dark"] #calendarPostulante { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .fc-toolbar-title { color: var(--t1); }
html[data-theme="dark"] .fc-button-group > .fc-button { background-color: var(--s2) !important; color: var(--rl) !important; }
html[data-theme="dark"] .fc-button-group > .fc-button:hover:not(.fc-button-active) { background-color: var(--s1) !important; }
html[data-theme="dark"] .fc-prev-button,
html[data-theme="dark"] .fc-next-button { background-color: var(--s2) !important; border-color: var(--l2) !important; color: var(--rl) !important; }
html[data-theme="dark"] .fc-prev-button:hover,
html[data-theme="dark"] .fc-next-button:hover { background-color: var(--s1) !important; }
html[data-theme="dark"] .fc-col-header-cell { background-color: var(--s2); border-bottom-color: var(--l2) !important; }
html[data-theme="dark"] .fc-col-header-cell-cushion { color: var(--t1); }
html[data-theme="dark"] .fc-theme-standard td,
html[data-theme="dark"] .fc-theme-standard th { border-color: var(--l2); }
html[data-theme="dark"] .fc-daygrid-day:hover { background-color: var(--s3) !important; }
html[data-theme="dark"] .fc-daygrid-day-number { color: var(--t3); }
html[data-theme="dark"] .fc-col-header-cell:hover { background-color: var(--s1) !important; }
html[data-theme="dark"] .fc-col-header-cell-cushion { color: var(--t1); }
html[data-theme="dark"] .fc-timegrid-col:hover { background-color: var(--rt) !important; }
html[data-theme="dark"] .fc-timegrid-slot-lane:hover { background-color: var(--s3); }
html[data-theme="dark"] .fc-theme-standard .fc-scrollgrid { border-color: var(--l2) !important; }
html[data-theme="dark"] .fc-toolbar-title { color: var(--t1); }
html[data-theme="dark"] .fc-button-group { border-color: var(--l2) !important; }
html[data-theme="dark"] .fc-button-group > .fc-button { border-right-color: var(--l2) !important; color: var(--rl) !important; }
html[data-theme="dark"] .fc-prev-button,
html[data-theme="dark"] .fc-next-button { border-color: var(--l2) !important; color: var(--rl) !important; background-color: var(--s2) !important; }
html[data-theme="dark"] .mini-calendar__header { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%); }
html[data-theme="dark"] .mini-calendar__arrow { border-color: var(--l2); color: var(--rl); }
html[data-theme="dark"] .mini-display { color: var(--rl); }
html[data-theme="dark"] .mini-week { background-color: var(--s2); color: var(--rl) !important; }
html[data-theme="dark"] .mini-days div:hover { background-color: var(--s1); color: var(--rl); }
html[data-theme="dark"] .mini-event-date { color: var(--t3) !important; }
html[data-theme="dark"] .mini-event-line { border-bottom-color: var(--l2) !important; }
html[data-theme="dark"] .mini-event-card { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 100%) !important; }
html[data-theme="dark"] .mini-event-icon { color: var(--rl); }
html[data-theme="dark"] .mini-event-title { color: var(--t1); }
html[data-theme="dark"] .mini-event-time { color: var(--t3) !important; }
html[data-theme="dark"] .mini-event-menu-btn { color: var(--t3); }
html[data-theme="dark"] .mini-event-remove-btn { background-color: var(--s1); border-color: var(--l2); color: var(--rl) !important; }
html[data-theme="dark"] .mini-event-remove-btn:hover { background-color: var(--s1); border-color: var(--l2); color: var(--rl) !important; }
html[data-theme="dark"] #modalInscripcion .modal-title { color: var(--t1); }
html[data-theme="dark"] #modalInscripcion .btn-outline-gray { border-color: var(--l2); color: var(--t2); }
html[data-theme="dark"] .idonea-divider { background-color: var(--s1); }
html[data-theme="dark"] .idonea-induccion-alert { border-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] .idonea-alert-top-bar { background-image: linear-gradient(90deg, #C8102E, var(--ert), #C8102E); }
html[data-theme="dark"] .idonea-alert-icon-wrap { background-color: var(--rt); border-color: var(--l2); }
html[data-theme="dark"] .idonea-obligatorio-badge { background-color: var(--rt); border-color: var(--l2); }
html[data-theme="dark"] .idonea-badge-label { color: var(--rl); }
html[data-theme="dark"] .idonea-alert-title { color: var(--t1); }
html[data-theme="dark"] .idonea-alert-desc { color: var(--t3); }
html[data-theme="dark"] .idonea-alert-desc strong { color: var(--rl); }

/* ══ VistaPerfil  (profile) ══ */
html[data-theme="dark"] .dashboard-main-wrapper { background-color: var(--s0) !important; }
html[data-theme="dark"] .hero-grid-container { background-image: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); border-bottom-color: var(--l2); }
html[data-theme="dark"] .profile-avatar { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .modern-nav-pills { background-color: var(--s1); border-color: var(--l2); }
html[data-theme="dark"] .modern-nav-pills .nav-link { color: var(--t2); }
html[data-theme="dark"] .modern-nav-pills .nav-link:hover { background-color: var(--s3); }
html[data-theme="dark"] .modern-nav-pills .nav-link.active { background-color: var(--s2) !important; border-color: var(--l2); }
html[data-theme="dark"] .profile-input-group label { color: var(--t2); }
html[data-theme="dark"] .profile-input-group label .req { color: var(--rl); }
html[data-theme="dark"] .profile-input-wrap { background-color: var(--s2) !important; border-color: var(--l2); }
html[data-theme="dark"] .profile-input-wrap input,
html[data-theme="dark"] .profile-input-wrap select,
html[data-theme="dark"] .profile-input-wrap textarea,
html[data-theme="dark"] .profile-input-wrap .form-control { color: var(--t2); }
html[data-theme="dark"] .profile-input-wrap.readonly-wrap { background-color: var(--s2) !important; border-color: var(--l2); }
html[data-theme="dark"] .profile-input-wrap.readonly-wrap input { color: var(--t3); }
html[data-theme="dark"] .profile-input-wrap input:disabled,
html[data-theme="dark"] .profile-input-wrap select:disabled { background-color: var(--s1); color: var(--t3); }
html[data-theme="dark"] .idonea-stepper { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .idonea-step { color: var(--t3); }
html[data-theme="dark"] .idonea-step-icon { color: var(--t3); }
html[data-theme="dark"] .idonea-step.done { color: var(--rl); background-color: var(--s1); }
html[data-theme="dark"] .idonea-step.done .idonea-step-icon { color: var(--rl); }
html[data-theme="dark"] { --brand-color: var(--r); --input-border-color: var(--l2); --input-bg-color: var(--s1); --input-focus-shadow: var(--rt); --text-color: var(--t2); --icon-color: var(--t3); }
html[data-theme="dark"] .profile-input-wrap i::after { background-color: var(--s3); }
html[data-theme="dark"] .profile-input-wrap input,
html[data-theme="dark"] .profile-input-wrap select,
html[data-theme="dark"] .profile-input-wrap textarea { color: var(--t1); }
html[data-theme="dark"] .profile-input-wrap input:hover,
html[data-theme="dark"] .profile-input-wrap select:hover { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .profile-input-wrap input:focus,
html[data-theme="dark"] .profile-input-wrap select:focus,
html[data-theme="dark"] .profile-input-wrap textarea:focus { background-color: var(--s2); }
html[data-theme="dark"] .profile-input-wrap:focus-within i { color: var(--rl); }
html[data-theme="dark"] .profile-input-wrap:focus-within i::after { background-color: var(--rt); }
html[data-theme="dark"] .profile-input-wrap input:disabled,
html[data-theme="dark"] .profile-input-wrap select:disabled { background-color: var(--s1); color: var(--t3); border-color: var(--l2); }
html[data-theme="dark"] .hc-section { background-image: linear-gradient(135deg, var(--s2) 0%, var(--s1) 100%); border-color: var(--l2); }
html[data-theme="dark"] .hc-section-icon { background-color: var(--rt); color: var(--rl); }
html[data-theme="dark"] .hc-section-title { color: var(--t1); }
html[data-theme="dark"] .hc-section-desc { color: var(--t3); }
html[data-theme="dark"] .hc-card { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .hc-card:hover { border-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] .hc-card--active,
html[data-theme="dark"] .hc-card:has(input:checked) { background-image: linear-gradient(135deg, var(--s1) 0%, var(--s1) 100%); }
html[data-theme="dark"] .hc-card-icon { background-color: var(--s1); color: var(--t3); }
html[data-theme="dark"] .hc-card-name { color: var(--t2); }
html[data-theme="dark"] .hc-card-desc { color: var(--t3); }
html[data-theme="dark"] .hc-textarea-wrap { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .hc-textarea-label { color: var(--t2); }
html[data-theme="dark"] .hc-textarea { color: var(--t2); }
html[data-theme="dark"] .firma-tab { background-color: var(--s2); color: var(--t2); border-color: var(--l2); }
html[data-theme="dark"] .firma-tab:hover { background-color: var(--s1); color: var(--t1); }
html[data-theme="dark"] #firmaCanvas { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .geo-subtitle { color: var(--t1); }
html[data-theme="dark"] .geo-field .geo-input-wrap > i { color: var(--t3); }
html[data-theme="dark"] .geo-field .geo-input-wrap:hover > i { color: var(--t3); }
html[data-theme="dark"] .geo-field .geo-input-wrap:has(.select2-container--open) > i,
html[data-theme="dark"] .geo-field .geo-input-wrap:has(.select2-container--focus) > i { color: var(--rl); }
html[data-theme="dark"] .geo-field .select2-container--default .select2-selection--single { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .geo-field .select2-container--default:not(.select2-container--open):not(.select2-container--focus) .select2-selection--single:hover { border-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] .geo-field .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--t2); }
html[data-theme="dark"] .geo-field .select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--t3); }
html[data-theme="dark"] .geo-field .select2-container--default .select2-selection--single .select2-selection__arrow::after { border-right-color: var(--l2); border-bottom-color: var(--l2); }
html[data-theme="dark"] .select2-container--default .select2-dropdown { border-color: var(--l2); }
html[data-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field { border-color: var(--l2); }
html[data-theme="dark"] .select2-container--default .select2-results__option { color: var(--t2); }
html[data-theme="dark"] .select2-container--default .select2-results__option[aria-selected="true"] { background-color: var(--s1); color: var(--rl); }
html[data-theme="dark"] .select2-container--default .select2-results__message { color: var(--t3); }
html[data-theme="dark"] .select2-container--default .select2-results__options::-webkit-scrollbar-thumb { background-color: var(--s3); }
html[data-theme="dark"] .select2-container--default .select2-results__options::-webkit-scrollbar-thumb:hover { background-color: var(--rt); }

/* ══ VistaInduccionEvaluacion  (induction) ══ */
html[data-theme="dark"] { --crimson: var(--r); --crimson-dark: var(--r); --crimson-soft: var(--rt); --border: var(--l2); --ink: var(--t1); --muted: var(--t3); --surface: var(--s2); --bg: var(--s1); }
html[data-theme="dark"] .dashboard-main-wrapper { background-image: radial-gradient(800px 500px at 85% 0%, rgba(196, 18, 48, 0.08), transparent 55%),
                    linear-gradient(180deg, var(--s0) 0%, var(--s0) 38%, var(--s0) 100%) !important; }
html[data-theme="dark"] .flow-stepper { border-color: var(--l2); }
html[data-theme="dark"] .flow-step { color: var(--t2); }
html[data-theme="dark"] .flow-step .flow-dot { background-color: var(--s1); color: var(--t3); border-color: var(--l2); }
html[data-theme="dark"] .flow-step.active { background-color: var(--rt); border-color: var(--l2); color: var(--rl); }
html[data-theme="dark"] .flow-step.active .flow-dot { border-color: var(--l2); }
html[data-theme="dark"] .flow-card { border-color: var(--l2); }
html[data-theme="dark"] .flow-card-header { border-bottom-color: var(--l2); }
html[data-theme="dark"] .flow-badge { border-color: var(--l2); color: var(--rl); }
html[data-theme="dark"] .flow-title em { color: var(--rl); }
html[data-theme="dark"] .flow-alert { background-color: var(--s1); border-color: var(--wab); color: var(--wa); }
html[data-theme="dark"] .video-shell { background-color: var(--s1); border-color: var(--l2); }
html[data-theme="dark"] .progress-top { color: var(--t3); }
html[data-theme="dark"] .progress-bar-shell { background-color: var(--s3); border-color: var(--l2); }
html[data-theme="dark"] .flow-divider { color: var(--t3); }
html[data-theme="dark"] .flow-divider i { background-color: var(--rt); border-color: var(--l2); }
html[data-theme="dark"] .evaluation-overlay { background-image: radial-gradient(400px 200px at 50% 30%, var(--s2), var(--s2)); border-top-color: var(--l2); }
html[data-theme="dark"] .evaluation-overlay .lock { background-color: var(--rt); border-color: var(--l2); color: var(--rl); }
html[data-theme="dark"] .evaluation-overlay .msg { color: var(--t3); }
html[data-theme="dark"] .evaluation-overlay .sub { color: var(--t3); }
html[data-theme="dark"] .evaluation-frame { background-color: var(--s2); }
html[data-theme="dark"] .exam-wrap { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .exam-top { border-bottom-color: var(--l2); }
html[data-theme="dark"] .exam-meta { color: var(--t3); }
html[data-theme="dark"] .exam-meta .pill { border-color: var(--l2); background-color: var(--rt); color: var(--rl); }
html[data-theme="dark"] .exam-btn { border-color: var(--l2); background-color: var(--s2); color: var(--t2); }
html[data-theme="dark"] .exam-btn.primary { border-color: var(--l2); }
html[data-theme="dark"] .exam-section { color: var(--t2); }
html[data-theme="dark"] .exam-section:before { background-color: var(--rt); }
html[data-theme="dark"] .q-card { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .q-card.is-correct { border-color: var(--okb); }
html[data-theme="dark"] .q-card.is-wrong { border-color: var(--l2); }
html[data-theme="dark"] .q-num { background-color: var(--rt); border-color: var(--l2); color: var(--rl); }
html[data-theme="dark"] .q-status { background-color: var(--s1); border-color: var(--l2); color: var(--t3); }
html[data-theme="dark"] .q-status.correct { background-color: var(--okt); border-color: var(--okb); color: var(--ok); }
html[data-theme="dark"] .q-status.wrong { background-color: var(--rt); border-color: var(--l2); color: var(--rl); }
html[data-theme="dark"] .opt { border-color: var(--l2); }
html[data-theme="dark"] .opt.is-correct { background-color: var(--okt); border-color: var(--okb); }
html[data-theme="dark"] .opt.is-wrong { background-color: var(--rt); border-color: var(--l2); }
html[data-theme="dark"] .opt-badge.correcta { background-color: var(--okt); color: var(--ok); border-color: var(--okb); }
html[data-theme="dark"] .opt-badge.tu { background-color: var(--rt); color: var(--rl); border-color: var(--l2); }
html[data-theme="dark"] .opt-correct-info { border-color: var(--inb); background-color: var(--int); color: var(--t2); }
html[data-theme="dark"] .explain { background-color: var(--rt); border-color: var(--l2); color: var(--t3); }
html[data-theme="dark"] .result-card { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .result-head .status { background: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .result-score-big { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .result-score-big .num { color: var(--rl); }
html[data-theme="dark"] .result-score-big .den { color: var(--t3); }
html[data-theme="dark"] .result-kv { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .result-kv .k { color: var(--t3); }
html[data-theme="dark"] .result-bar { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .result-bar .label { color: var(--t3); }
html[data-theme="dark"] .result-bar-shell { background-color: var(--s3); border-color: var(--l2); }
html[data-theme="dark"] .result-actions .btnx { border-color: var(--l2); background-color: var(--s2); color: var(--t2); }
html[data-theme="dark"] .result-actions .btnx.primary { border-color: var(--l2); }
html[data-theme="dark"] .exam-bottom { border-top-color: var(--l2); }
html[data-theme="dark"] .result-pills .pill { border-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] .pill.aprobado { background-color: var(--okt); border-color: var(--okb); color: var(--ok); }
html[data-theme="dark"] .pill.noaprobado { background-color: var(--rt); border-color: var(--l2); color: var(--rl); }

/* ══ VistaCorrecciones  (postulante) ══ */
html[data-theme="dark"] .corr-page { background-image: linear-gradient(180deg, var(--s1) 0%, var(--s1) 38%, var(--s2) 100%); }
html[data-theme="dark"] .corr-hero::after { background: var(--s2); }
html[data-theme="dark"] .corr-hero-icon { background: var(--s2); }
html[data-theme="dark"] .corr-chip { background: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .corr-card { background-color: var(--s2); border-color: var(--l2); }
html[data-theme="dark"] .corr-step-title { color: var(--t1); }
html[data-theme="dark"] .corr-step-sub { color: var(--t3); }
html[data-theme="dark"] .corr-alerta { border-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] .corr-doc { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .corr-doc.is-bloqueado { border-left-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] .corr-doc-nombre { color: var(--t1); }
html[data-theme="dark"] .corr-doc-esquema { color: var(--t3); }
html[data-theme="dark"] .corr-motivo { background-color: var(--s1); border-color: var(--l2); color: var(--rl); }
html[data-theme="dark"] .corr-nota { color: var(--t3); }
html[data-theme="dark"] .corr-firma-box { border-color: var(--l2); background-color: var(--s1); }
html[data-theme="dark"] #corrCanvas { border-color: var(--l2); background-color: var(--s2); }
html[data-theme="dark"] .corr-tab { background-color: var(--s2); color: var(--t2); border-color: var(--l2); }
html[data-theme="dark"] .corr-tab:hover { background-color: var(--s1); color: var(--t1); }
html[data-theme="dark"] .corr-btn--rojo:disabled { background-color: var(--rt); }
html[data-theme="dark"] .corr-btn--ghost { background-color: var(--s2); color: var(--rl); border-color: var(--l2); }
html[data-theme="dark"] .corr-btn--ghost:hover { background-color: var(--s1); }
html[data-theme="dark"] .corr-foot { border-top-color: var(--l2); }
html[data-theme="dark"] .corr-foot a { color: var(--rl); }
html[data-theme="dark"] .corr-foot span { color: var(--t3); }
html[data-theme="dark"] #corrPreviewCuerpo { background-color: var(--s1); }

/* ══ VistaFirmaAsistida  (postulante) ══ */
html[data-theme="dark"] { --red: var(--r); --red-d: var(--r); --bg: var(--s1); --ink: var(--t2); --muted: var(--t3); --border: var(--l2); }
html[data-theme="dark"] .card { background-color: var(--s2); }
html[data-theme="dark"] h1 { color: var(--rl); }
html[data-theme="dark"] .padbox { background-color: var(--s2); }
html[data-theme="dark"] .padhint { color: var(--t3); }
html[data-theme="dark"] .btn-g { background-color: var(--s2); color: var(--rl); }
html[data-theme="dark"] .ok { background-color: var(--okt); color: var(--ok); }
html[data-theme="dark"] .err { background-color: var(--rt); color: var(--rl); }

/* ══ VistaFirmarAutodeclaracion  (postulante) ══ */
html[data-theme="dark"] { --crimson: var(--r); --crimson-dark: var(--r); --ink: var(--t1); --muted: var(--t3); --surface: var(--s2); --bg: var(--s1); }
html[data-theme="dark"] .dashboard-main-wrapper { background-image: linear-gradient(180deg, var(--s0) 0%, var(--s0) 38%, var(--s0) 100%) !important; }
html[data-theme="dark"] .autodecl-header { border-color: var(--l2); }
html[data-theme="dark"] .badge-aula { background-color: var(--s1); color: var(--in); }
html[data-theme="dark"] .badge-tipo-virtual { background-color: var(--int); color: var(--in); }
html[data-theme="dark"] .badge-tipo-presencial { background-color: var(--okt); color: var(--ok); }
html[data-theme="dark"] .badge-firmada { background-color: var(--okt); color: var(--ok); }
html[data-theme="dark"] .badge-pendiente { background-color: var(--wat); color: var(--er); }
html[data-theme="dark"] .autodecl-document-card { border-color: var(--l2); }
html[data-theme="dark"] .autodecl-document-title { background-color: var(--s1); border-bottom-color: var(--l2); }
html[data-theme="dark"] .autodecl-document-body td,
html[data-theme="dark"] .autodecl-document-body th { border-color: var(--l2); }
html[data-theme="dark"] .autodecl-actions { border-color: var(--l2); }
html[data-theme="dark"] .firmada-notice { background-color: var(--s1); border-color: var(--okb); color: var(--ok); }
html[data-theme="dark"] .btn-volver:hover { color: var(--rl); }

/* ══ VistaGestionDocumental  (postulante) ══ */
html[data-theme="dark"] .dashboard-main-wrapper { background-color: var(--s0) !important; }
