/* ═══════════════════════════════════════════════════════════════════════════
   NYX CRM — ACCESSIBILITY DESIGN TOKENS (CVD & HIGH CONTRAST)
   Basado en la paleta científica Okabe & Ito y normas WCAG 2.1 AAA.
   Componible con: [data-theme="light|dark"] y [data-tone="pure|soft|warm"]
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── 1. PROTANOPIA (Deficiencia de Rojo) ───
   Los conos L no responden o tienen sensibilidad reducida.
   El rojo se percibe muy oscuro o amarronado.
   Estrategia: Remplazar pares rojo/verde por Azul Cielo (#0284c7) y Naranja Bermellón (#ea580c). */
[data-cvd="protanopia"] {
    --brand: #0284c7 !important;
    --brand-strong: #0369a1 !important;
    --brand-soft: rgba(2, 132, 199, 0.16) !important;
    --brand-ring: rgba(2, 132, 199, 0.35) !important;

    /* Semántica de Éxito / Aprobado -> Azul Cielo */
    --ok: #0284c7 !important;
    --ok-soft: rgba(2, 132, 199, 0.16) !important;
    --ok-line: rgba(2, 132, 199, 0.40) !important;

    /* Semántica de Advertencia -> Ámbar dorado puro */
    --warn: #f59e0b !important;
    --warn-soft: rgba(245, 158, 11, 0.16) !important;
    --warn-line: rgba(245, 158, 11, 0.40) !important;

    /* Semántica de Error / Rechazo / Peligro -> Naranja Bermellón de alto contraste */
    --err: #ea580c !important;
    --err-soft: rgba(234, 88, 12, 0.18) !important;
    --err-line: rgba(234, 88, 12, 0.45) !important;
    --dot: #ea580c !important;

    /* Información */
    --info: #38bdf8 !important;
    --info-soft: rgba(56, 189, 248, 0.16) !important;
    --info-line: rgba(56, 189, 248, 0.40) !important;
}

/* ─── 2. DEUTERANOPIA (Deficiencia de Verde — Más común ~6% de población) ───
   Los conos M faltan o tienen corrimiento espectral.
   Fusión de verdes, rojos y amarillos.
   Estrategia: Remplazar verde/rojo por Azul Cobalto (#2563eb) y Naranja Óxido (#c2410c). */
[data-cvd="deuteranopia"] {
    --brand: #2563eb !important;
    --brand-strong: #1d4ed8 !important;
    --brand-soft: rgba(37, 99, 235, 0.16) !important;
    --brand-ring: rgba(37, 99, 235, 0.35) !important;

    /* Semántica de Éxito -> Azul Cobalto */
    --ok: #2563eb !important;
    --ok-soft: rgba(37, 99, 235, 0.16) !important;
    --ok-line: rgba(37, 99, 235, 0.40) !important;

    /* Semántica de Advertencia -> Amarillo intenso */
    --warn: #eab308 !important;
    --warn-soft: rgba(234, 179, 8, 0.16) !important;
    --warn-line: rgba(234, 179, 8, 0.40) !important;

    /* Semántica de Error -> Naranja Óxido profundo */
    --err: #c2410c !important;
    --err-soft: rgba(194, 65, 12, 0.18) !important;
    --err-line: rgba(194, 65, 12, 0.45) !important;
    --dot: #c2410c !important;

    /* Información */
    --info: #60a5fa !important;
    --info-soft: rgba(96, 165, 250, 0.16) !important;
    --info-line: rgba(96, 165, 250, 0.40) !important;
}

/* ─── 3. TRITANOPIA (Deficiencia de Azul) ───
   Los conos S están ausentes o defectuosos.
   Confusión azul/verde y amarillo/rosa.
   Estrategia: Remplazar por Verde Turquesa (#0d9488 / #059669) y Carmesí/Magenta (#e11d48). */
[data-cvd="tritanopia"] {
    --brand: #0d9488 !important;
    --brand-strong: #0f766e !important;
    --brand-soft: rgba(13, 148, 136, 0.16) !important;
    --brand-ring: rgba(13, 148, 136, 0.35) !important;

    /* Semántica de Éxito -> Verde Esmeralda */
    --ok: #059669 !important;
    --ok-soft: rgba(5, 150, 105, 0.16) !important;
    --ok-line: rgba(5, 150, 105, 0.40) !important;

    /* Semántica de Advertencia -> Naranja claro */
    --warn: #fb923c !important;
    --warn-soft: rgba(251, 146, 60, 0.16) !important;
    --warn-line: rgba(251, 146, 60, 0.40) !important;

    /* Semántica de Error -> Carmesí Magenta brillante */
    --err: #e11d48 !important;
    --err-soft: rgba(225, 29, 72, 0.18) !important;
    --err-line: rgba(225, 29, 72, 0.45) !important;
    --dot: #e11d48 !important;

    /* Información -> Verde Azulado */
    --info: #14b8a6 !important;
    --info-soft: rgba(20, 184, 166, 0.16) !important;
    --info-line: rgba(20, 184, 166, 0.40) !important;
}

/* ─── 4A. ALTO CONTRASTE OSCURO: OLED STUDIO (WCAG 2.1 AAA >= 7:1) ───
   Profundidad de elevación OLED nocturna, biseles lumínicos hairline y semántica eléctrica. */
[data-theme="dark"][data-cvd="high-contrast"] {
    --bg: #030712 !important;
    --bg-main: #030712 !important;
    --bg-card: #0E1526 !important;
    --surface: #0B101D !important;
    --surface-2: #0E1526 !important;
    --surface-3: #152038 !important;
    --overlay: rgba(3, 7, 18, 0.94) !important;

    --line: rgba(255, 255, 255, 0.28) !important;
    --line-strong: rgba(255, 255, 255, 0.50) !important;
    --text: #FFFFFF !important;
    --text-2: #F1F5F9 !important;
    --muted: #CBD5E1 !important;
    --faint: #94A3B8 !important;

    /* Primario: Cian Ártico Eléctrico (10.5:1) */
    --brand: #38BDF8 !important;
    --brand-strong: #0284C7 !important;
    --brand-soft: rgba(56, 189, 248, 0.18) !important;
    --brand-ring: #38BDF8 !important;

    /* Aprobado / Éxito: Menta Esmeralda Lumínica (11.8:1) */
    --ok: #34D399 !important;
    --ok-soft: rgba(52, 211, 153, 0.18) !important;
    --ok-line: #34D399 !important;

    /* Alerta / Observación: Ámbar Dorado Cálido (12.4:1) */
    --warn: #FBBF24 !important;
    --warn-soft: rgba(251, 191, 36, 0.18) !important;
    --warn-line: #FBBF24 !important;

    /* Rechazo / KO / Error: Carmesí Coral Nítido (8.6:1) */
    --err: #FB7185 !important;
    --err-soft: rgba(251, 113, 133, 0.18) !important;
    --err-line: #FB7185 !important;
    --dot: #FB7185 !important;

    /* Info / Resplandor */
    --info: #38BDF8 !important;
    --info-soft: rgba(56, 189, 248, 0.18) !important;
    --info-line: #38BDF8 !important;
}

[data-theme="dark"][data-cvd="high-contrast"] :is(
    .card,
    .asesor-lead-card,
    .premium-card,
    .stat-card,
    .table-card,
    .custom-sidebar,
    .modal-content,
    .venta-modal-box,
    .modal-card,
    .u-modal-card
) {
    background: #0E1526 !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.35), 0 8px 24px rgba(0, 0, 0, 0.65) !important;
}

[data-theme="dark"][data-cvd="high-contrast"] :is(
    input,
    select,
    textarea,
    .form-control,
    .form-select
) {
    background: #101626 !important;
    color: #FFFFFF !important;
    border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
}

[data-theme="dark"][data-cvd="high-contrast"] :is(
    input,
    select,
    textarea,
    .form-control,
    .form-select
):focus {
    border-color: #38BDF8 !important;
    box-shadow: 0 0 0 2px #030712, 0 0 0 4px #38BDF8 !important;
    outline: none !important;
}

[data-theme="dark"][data-cvd="high-contrast"] button.btn-primary,
[data-theme="dark"][data-cvd="high-contrast"] .btn-primary {
    background: #38BDF8 !important;
    color: #030712 !important;
    font-weight: 700 !important;
    border: 1px solid #FFFFFF !important;
    box-shadow: 0 0 12px rgba(56, 189, 248, 0.35) !important;
}

[data-theme="dark"][data-cvd="high-contrast"] button.btn-primary:hover,
[data-theme="dark"][data-cvd="high-contrast"] .btn-primary:hover {
    background: #7DD3FC !important;
    color: #030712 !important;
}

[data-theme="dark"][data-cvd="high-contrast"] button.btn-secondary,
[data-theme="dark"][data-cvd="high-contrast"] .btn-secondary {
    background: #162035 !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
}

/* ─── 4B. ALTO CONTRASTE CLARO: PURE STUDIO LIGHT (WCAG 2.1 AAA >= 7:1) ───
   Preserva el Modo Claro con fondos limpios, texto negro carbón y bordes definidos. */
:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] {
    --bg: #F1F5F9 !important;
    --bg-main: #F1F5F9 !important;
    --bg-card: #FFFFFF !important;
    --surface: #FFFFFF !important;
    --surface-2: #F8FAFC !important;
    --surface-3: #E2E8F0 !important;
    --overlay: rgba(15, 23, 42, 0.85) !important;

    --line: #0F172A !important;
    --line-strong: #020617 !important;
    --text: #020617 !important;
    --text-2: #0F172A !important;
    --muted: #334155 !important;
    --faint: #475569 !important;

    /* Primario Claro: Azul Zafiro Intenso (8:1) */
    --brand: #0284C7 !important;
    --brand-strong: #0369A1 !important;
    --brand-soft: rgba(2, 132, 199, 0.12) !important;
    --brand-ring: #0284C7 !important;

    /* Aprobado / Éxito: Verde Bosque Intenso (7.5:1) */
    --ok: #15803D !important;
    --ok-soft: rgba(21, 128, 61, 0.14) !important;
    --ok-line: #15803D !important;

    /* Alerta / Observación: Ámbar Oscuro (7.2:1) */
    --warn: #B45309 !important;
    --warn-soft: rgba(180, 83, 9, 0.14) !important;
    --warn-line: #B45309 !important;

    /* Rechazo / KO / Error: Carmesí Oscuro (7.5:1) */
    --err: #BE123C !important;
    --err-soft: rgba(190, 18, 60, 0.14) !important;
    --err-line: #BE123C !important;
    --dot: #BE123C !important;

    /* Info */
    --info: #0284C7 !important;
    --info-soft: rgba(2, 132, 199, 0.12) !important;
    --info-line: #0284C7 !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] :is(
    .card,
    .asesor-lead-card,
    .premium-card,
    .stat-card,
    .table-card,
    .custom-sidebar,
    .modal-content,
    .venta-modal-box,
    .modal-card,
    .u-modal-card
) {
    background: #FFFFFF !important;
    color: #020617 !important;
    border: 1.5px solid #0F172A !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08) !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] :is(
    input,
    select,
    textarea,
    .form-control,
    .form-select
) {
    background: #FFFFFF !important;
    color: #020617 !important;
    border: 1.5px solid #0F172A !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] :is(
    input,
    select,
    textarea,
    .form-control,
    .form-select
):focus {
    border-color: #0284C7 !important;
    box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4px #0284C7 !important;
    outline: none !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] button.btn-primary,
:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] .btn-primary {
    background: #0284C7 !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    border: 1.5px solid #0369A1 !important;
    box-shadow: 0 2px 8px rgba(2, 132, 199, 0.25) !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] button.btn-primary:hover,
:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] .btn-primary:hover {
    background: #0369A1 !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] button.btn-secondary,
:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] .btn-secondary {
    background: #F1F5F9 !important;
    color: #020617 !important;
    border: 1.5px solid #0F172A !important;
    font-weight: 700 !important;
}

[data-cvd="high-contrast"] :focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--brand) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   APLICACIÓN PROFUNDA: OPERACIONES DIARIAS Y MODALES (CVD ACTIVOS)
   Garantiza que ningún componente quede con colores verde/rojo fijos
   ═══════════════════════════════════════════════════════════════════════════ */
:is([data-cvd="protanopia"], [data-cvd="deuteranopia"], [data-cvd="tritanopia"], [data-cvd="high-contrast"]) {

    /* ── 1. OPERACIONES DIARIAS & SUPERVISOR: CHECKPOINT PILLS & STEPPERS ── */
    .checkpoint-step-pill.completed,
    .cp-item-pill.prev-pill,
    .tag-completed,
    .status-border-completed,
    .status-pill.approved,
    .badge-completed,
    .action-badge-approved,
    .deck-badge-completed,
    .alert-hero-completed,
    .terminal-action-card.success-terminal,
    .stage-badge-pill.pill-success,
    .hero-stage-tag.stage-success,
    .inline-badge.badge-approved {
        background: var(--ok-soft) !important;
        color: var(--ok) !important;
        border-color: var(--ok-line) !important;
    }

    .checkpoint-step-pill.completed:hover,
    .cp-item-pill.prev-pill:hover,
    .tag-completed:hover {
        background: var(--ok) !important;
        color: #ffffff !important;
        border-color: var(--ok) !important;
    }

    .cp-indicator-tag.prev-tag {
        color: var(--ok) !important;
    }

    .dot-green,
    .status-dot.dot-green {
        background: var(--ok) !important;
    }

    /* Checkpoints en Progreso / Activos */
    .checkpoint-step-pill.active,
    .cp-item-pill.current-pill.active-pill,
    .tag-in-progress,
    .status-border-active,
    .action-badge-active,
    .inline-badge.badge-supervisor {
        background: var(--brand-soft) !important;
        color: var(--brand) !important;
        border-color: var(--brand-ring) !important;
    }

    .cp-indicator-tag.current-tag {
        color: var(--brand) !important;
    }

    .pulse-core-dot {
        background: var(--brand) !important;
    }

    /* Checkpoints Pendientes de Aceptar / Alerta / Recurrentes */
    .checkpoint-step-pill.pending-accept,
    .cp-item-pill.current-pill.pending-accept-pill,
    .nyx-badge.warning,
    .nyx-table-badge.warning,
    .action-badge-pending,
    .btn-memo-note,
    .tag-pending,
    .inline-badge.recurrent,
    .btn-recurrent-action {
        background: var(--warn-soft) !important;
        color: var(--warn) !important;
        border-color: var(--warn-line) !important;
    }

    /* Checkpoints Rechazados / KO / Bloqueantes */
    .tag-ko,
    .status-border-ko,
    .tag-blocking,
    .btn-recurrent-pulse,
    .node-closed,
    .deck-badge-ko,
    .alert-hero-rejected,
    .terminal-action-card.danger-terminal,
    .stage-badge-pill.pill-danger,
    .hero-stage-tag.stage-danger,
    .inline-badge.badge-ko {
        background: var(--err-soft) !important;
        color: var(--err) !important;
        border-color: var(--err-line) !important;
    }

    .tag-ko:hover,
    .btn-recurrent-pulse:hover {
        background: var(--err) !important;
        color: #ffffff !important;
        border-color: var(--err) !important;
    }

    /* ── 2. MODALES: ACCIONES, ESTADOS Y TIMELINES ── */
    /* CheckpointActionModal: Botón Completado / Aprobado */
    .cp-btn-completado {
        background: var(--ok-soft) !important;
        color: var(--ok) !important;
        border-color: var(--ok-line) !important;
    }
    .cp-btn-completado.active {
        background: var(--ok) !important;
        color: #ffffff !important;
        border-color: var(--ok) !important;
        box-shadow: 0 4px 14px var(--ok-soft) !important;
    }

    /* CheckpointActionModal: Botón KO / Rechazado */
    .cp-btn-ko {
        background: var(--err-soft) !important;
        color: var(--err) !important;
        border-color: var(--err-line) !important;
    }
    .cp-btn-ko.active {
        background: var(--err) !important;
        color: #ffffff !important;
        border-color: var(--err) !important;
        box-shadow: 0 4px 14px var(--err-soft) !important;
    }

    /* CheckpointActionModal: Botón de Remediación / Subsanación */
    .cp-btn-submit.remediation {
        background: var(--ok) !important;
        color: #ffffff !important;
        border-color: var(--ok-line) !important;
        box-shadow: 0 4px 22px var(--ok-soft) !important;
    }

    /* TimelineCheckpointsModal: Stepper nodes y líneas */
    .stepper-circle.node-completed {
        background: var(--ok) !important;
        border-color: var(--ok) !important;
        color: #ffffff !important;
    }
    .stepper-connect-line.line-completed {
        background: var(--ok) !important;
    }
    .stepper-circle.node-current:not(.node-closed) {
        border-color: var(--brand) !important;
    }
    .stepper-circle.node-closed {
        border-color: var(--err) !important;
    }

    /* ── 3. CLASES UTILITARIAS BOOTSTRAP DENTRO DE MODALES Y VISTAS ── */
    .btn-success {
        background-color: var(--ok) !important;
        border-color: var(--ok) !important;
        color: #ffffff !important;
    }
    .btn-danger {
        background-color: var(--err) !important;
        border-color: var(--err) !important;
        color: #ffffff !important;
    }
    .btn-warning {
        background-color: var(--warn) !important;
        border-color: var(--warn) !important;
        color: #0f172a !important;
    }
    .btn-primary {
        background-color: var(--brand) !important;
        border-color: var(--brand) !important;
        color: #ffffff !important;
    }

    .badge.bg-success,
    .badge-success {
        background-color: var(--ok) !important;
        color: #ffffff !important;
    }
    .badge.bg-danger,
    .badge-danger {
        background-color: var(--err) !important;
        color: #ffffff !important;
    }
    .badge.bg-warning,
    .badge-warning {
        background-color: var(--warn) !important;
        color: #0f172a !important;
    }
    .badge.bg-primary,
    .badge-primary {
        background-color: var(--brand) !important;
        color: #ffffff !important;
    }

    .text-success {
        color: var(--ok) !important;
    }
    .text-danger {
        color: var(--err) !important;
    }
    .text-warning {
        color: var(--warn) !important;
    }
    .text-primary {
        color: var(--brand) !important;
    }

    /* ── 4. DASHBOARD SUPERVISOR: KANBAN, TIMELINES & KPIS ── */
    .mini-dot.current,
    .stage-dot.current {
        background: var(--brand) !important;
        border-color: var(--brand-ring) !important;
        box-shadow: 0 0 0 4px var(--brand-soft) !important;
    }

    .mini-dot.done,
    .stage-dot.done,
    .stage-line.done {
        background: var(--ok) !important;
        border-color: var(--ok) !important;
        opacity: 0.75 !important;
    }

    .stage-label.current {
        color: var(--brand) !important;
    }

    .stage-label.done {
        color: var(--ok) !important;
    }

    .hub-quick-kpi:hover,
    .kanban-card:hover {
        border-color: var(--brand) !important;
    }

    .badge-sup-role {
        background: var(--brand-soft) !important;
        color: var(--brand) !important;
        border: 1px solid var(--brand-ring) !important;
    }

    /* ── 5. DASHBOARD ADMINISTRADOR: MODULES & STATS ── */
    .stat-card:hover,
    .mod-card:hover {
        border-color: var(--brand) !important;
        box-shadow: 0 8px 24px var(--brand-soft) !important;
    }

    .section-icon,
    .stat-icon-box {
        background: var(--brand-soft) !important;
        color: var(--brand) !important;
    }

    .mod-action-text {
        color: var(--brand) !important;
    }

    .pulse-healthy {
        background: var(--ok) !important;
    }

    /* ── 6. COORDINADOR & BACKOFFICE: ACTIVACIONES Y ALERTAS ── */
    .sla-pill-urgent,
    .sla-badge-danger,
    .badge-devuelto,
    .badge-rechazado,
    .badge-descartado {
        background: var(--err-soft) !important;
        color: var(--err) !important;
        border-color: var(--err-line) !important;
    }

    .sla-pill-warning,
    .badge-pendiente,
    .badge-en-proceso,
    .badge-observado {
        background: var(--warn-soft) !important;
        color: var(--warn) !important;
        border-color: var(--warn-line) !important;
    }

    .badge-activado,
    .badge-aprobado,
    .badge-conforme,
    .badge-exito {
        background: var(--ok-soft) !important;
        color: var(--ok) !important;
        border-color: var(--ok-line) !important;
    }

    /* ── 7. AUDITORÍA DE CALIDAD & AUDIO GRABACIONES ── */
    .audit-score-badge.high,
    .audit-pass {
        background: var(--ok-soft) !important;
        color: var(--ok) !important;
        border: 1px solid var(--ok-line) !important;
    }

    .audit-score-badge.med,
    .audit-warn {
        background: var(--warn-soft) !important;
        color: var(--warn) !important;
        border: 1px solid var(--warn-line) !important;
    }

    .audit-score-badge.low,
    .audit-fail {
        background: var(--err-soft) !important;
        color: var(--err) !important;
        border: 1px solid var(--err-line) !important;
    }

    /* ── 8. BARRAS DE PROGRESO DE OBJETIVOS & METAS ── */
    .progress-bar.bg-success {
        background-color: var(--ok) !important;
    }

    .progress-bar.bg-danger {
        background-color: var(--err) !important;
    }

    .progress-bar.bg-warning {
        background-color: var(--warn) !important;
    }

    .progress-bar.bg-primary,
    .progress-bar {
        background-color: var(--brand) !important;
    }

    /* ── 9. ROL 1: DASHBOARD DEL ASESOR — HERO KPIS, STATUS PILLS Y OPERACIONES ── */
    /* Hero KPI Badges */
    .kpi-pill-badge.kpi-pill-blue {
        background: var(--info-soft) !important;
        border-color: var(--info-line) !important;
        color: var(--info) !important;
    }
    .kpi-pill-badge.kpi-pill-blue .kpi-pill-dot {
        background: var(--info) !important;
    }
    .kpi-pill-badge.kpi-pill-blue .kpi-pill-val {
        color: var(--info) !important;
    }

    .kpi-pill-badge.kpi-pill-green {
        background: var(--ok-soft) !important;
        border-color: var(--ok-line) !important;
        color: var(--ok) !important;
    }
    .kpi-pill-badge.kpi-pill-green .kpi-pill-dot {
        background: var(--ok) !important;
    }
    .kpi-pill-badge.kpi-pill-green .kpi-pill-val {
        color: var(--ok) !important;
    }

    .kpi-pill-badge.kpi-pill-purple {
        background: var(--brand-soft) !important;
        border-color: var(--brand-ring) !important;
        color: var(--brand) !important;
    }
    .kpi-pill-badge.kpi-pill-purple .kpi-pill-dot {
        background: var(--brand) !important;
    }
    .kpi-pill-badge.kpi-pill-purple .kpi-pill-val {
        color: var(--brand) !important;
    }

    /* Hero CTA & Alternador */
    .btn-hero-cta {
        background: var(--brand) !important;
        border-color: var(--brand) !important;
        color: #ffffff !important;
        box-shadow: 0 4px 14px var(--brand-ring) !important;
    }
    .hero-toggle-btn.active {
        background: var(--brand) !important;
        color: #ffffff !important;
    }

    /* Cards Status Pills */
    .card-pill-badge.completed {
        background: var(--ok-soft) !important;
        color: var(--ok) !important;
        border-color: var(--ok-line) !important;
    }
    .card-pill-badge.closed {
        background: var(--err-soft) !important;
        color: var(--err) !important;
        border-color: var(--err-line) !important;
    }
    .card-pill-badge.actionable.success {
        background: var(--ok-soft) !important;
        color: var(--ok) !important;
        border-color: var(--ok-line) !important;
    }
    .card-pill-badge.actionable.success:hover {
        background: var(--ok) !important;
        color: #ffffff !important;
    }
    .card-pill-badge.actionable.primary {
        background: var(--brand-soft) !important;
        color: var(--brand) !important;
        border-color: var(--brand-ring) !important;
    }
    .card-pill-badge.actionable.primary:hover {
        background: var(--brand) !important;
        color: #ffffff !important;
    }
    .card-pill-badge.actionable-optional {
        background: var(--warn-soft) !important;
        color: var(--warn) !important;
        border-color: var(--warn-line) !important;
    }
    .card-pill-badge.actionable-optional:hover {
        background: var(--warn) !important;
        color: #ffffff !important;
    }
    .card-pill-badge.actionable-omitted {
        background: var(--info-soft) !important;
        color: var(--info) !important;
        border-color: var(--info-line) !important;
    }
    .card-pill-badge.actionable-omitted:hover {
        background: var(--info) !important;
        color: #ffffff !important;
    }
    .card-pill-badge.actionable-recurrent {
        background: var(--brand-soft) !important;
        color: var(--brand) !important;
        border-color: var(--brand-ring) !important;
    }
    .card-pill-badge.actionable-recurrent:hover {
        background: var(--brand) !important;
        color: #ffffff !important;
    }

    /* ── 10. ROL 3: DASHBOARD BACKOFFICE & VERIFICACIÓN ── */
    .sb-item.active {
        border-color: var(--brand) !important;
        background: var(--brand-soft) !important;
    }
    .sb-item.breathe-attention {
        border-color: var(--warn) !important;
    }
    .sb-breathe-dot {
        background: var(--warn) !important;
    }
    .status-badge-approved {
        background: var(--ok-soft) !important;
        color: var(--ok) !important;
        border-color: var(--ok-line) !important;
    }
    .status-badge-pending {
        background: var(--surface-2) !important;
        color: var(--muted) !important;
        border-color: var(--line) !important;
    }
    .stepper-item.completed {
        background: var(--ok-soft) !important;
        color: var(--ok) !important;
        border-color: var(--ok-line) !important;
    }
    .stepper-item.selected-stage {
        background: var(--brand-soft) !important;
        color: var(--brand) !important;
        border-color: var(--brand) !important;
    }
    .alert-banner-recurring {
        background: var(--brand-soft) !important;
        border-color: var(--brand-ring) !important;
    }
    .alert-banner-omitted {
        background: var(--warn-soft) !important;
        border-color: var(--warn-line) !important;
    }
    .step.done .step-num {
        background: var(--ok-soft) !important;
        border-color: var(--ok) !important;
    }
    .step.current .step-num {
        background: var(--brand) !important;
        border-color: var(--brand) !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   ROL 1: DASHBOARD DEL ASESOR — REGLAS GLOBALES DE THEMING (DARK & TONALIDADES)
   ═══════════════════════════════════════════════════════════════════════════ */
.kpi-pill-blue .kpi-pill-dot { background: var(--info, #0098f2); }
.kpi-pill-green .kpi-pill-dot { background: var(--ok, #22c55e); }
.kpi-pill-purple .kpi-pill-dot { background: var(--brand, #6c56fc); }

[data-theme="dark"] .asesor-hero-card {
    background: var(--surface) !important;
    border-color: var(--line) !important;
}

[data-theme="dark"] .asesor-lead-card {
    background: var(--surface) !important;
    border-color: var(--line) !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45) !important;
}

[data-theme="dark"] .table-card {
    background: var(--surface) !important;
    border-color: var(--line) !important;
}

[data-theme="dark"] .table-modern-asesor {
    color: var(--text) !important;
}

[data-theme="dark"] .table-modern-asesor th {
    background: var(--surface-2) !important;
    color: var(--text) !important;
    border-color: var(--line) !important;
}

[data-theme="dark"] .table-modern-asesor td {
    border-color: var(--line) !important;
    color: var(--text) !important;
}

[data-theme="dark"] .table-modern-asesor tbody tr:hover td {
    background: var(--surface-2) !important;
}

[data-theme="dark"] .btn-copy-phone-table {
    background: var(--surface-2) !important;
    border-color: var(--line) !important;
    color: var(--text) !important;
}

[data-theme="dark"] .card-dropdown-menu-custom {
    background: var(--surface) !important;
    border-color: var(--line) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="dark"] .card-dropdown-item-custom {
    color: var(--text-2) !important;
}

[data-theme="dark"] .card-dropdown-item-custom:hover {
    background: var(--surface-2) !important;
    color: var(--brand) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ALTO CONTRASTE OSCURO EN TODOS LOS DASHBOARDS (OLED STUDIO)
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"][data-cvd="high-contrast"] :is(
    .admin-dash-wrap,
    .hub-container,
    .kanban-board,
    .main-bo,
    .sidebar,
    .client-card,
    .tasks-card,
    .sb-item,
    .analyst-section,
    .orders-table-wrapper,
    .activation-card,
    .kanban-card,
    .kanban-column,
    .stat-card,
    .mod-card,
    .admin-header,
    .card-modern,
    .estado-card,
    .stage-card,
    .provider-sect,
    .u-card,
    .role-card,
    .maint-header,
    .recording-card,
    .audit-card,
    .kb-card,
    .asesor-lead-card,
    .table-card,
    .asesor-hero-card,
    .belt-card,
    .advisor-node-card,
    .leads-flow-card,
    .checkpoint-deck-card,
    .lead-hero-box,
    .chk-row-item,
    .lead-strip-item
) {
    background: #0E1526 !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.35), 0 8px 24px rgba(0, 0, 0, 0.65) !important;
}

[data-theme="dark"][data-cvd="high-contrast"] :is(
    .nyx-filter-bar,
    .search-panel,
    .filter-deck-wrap,
    .admin-toolbar
) {
    background: #0B101D !important;
    border: 1px solid rgba(255, 255, 255, 0.20) !important;
    box-shadow: none !important;
}

[data-theme="dark"][data-cvd="high-contrast"] :is(
    .kpi-pill-badge,
    .card-pill-badge,
    .stage-badge-pill,
    .inline-badge,
    .lead-ord-tag,
    .stepper-item,
    .sla-counter
) {
    border: 1px solid rgba(255, 255, 255, 0.30) !important;
    color: #FFFFFF !important;
}

[data-theme="dark"][data-cvd="high-contrast"] :is(.deck-badge-completed, .status-badge-approved) {
    background: rgba(52, 211, 153, 0.18) !important;
    border-color: #34D399 !important;
    color: #34D399 !important;
}

[data-theme="dark"][data-cvd="high-contrast"] :is(.deck-badge-ko, .tag-blocking) {
    background: rgba(251, 113, 133, 0.18) !important;
    border-color: #FB7185 !important;
    color: #FB7185 !important;
}

[data-theme="dark"][data-cvd="high-contrast"] :is(.status-badge-pending, .tag-attention) {
    background: rgba(251, 191, 36, 0.18) !important;
    border-color: #FBBF24 !important;
    color: #FBBF24 !important;
}

[data-theme="dark"][data-cvd="high-contrast"] :is(
    .btn-ejecutar-checkpoint,
    .btn-task-action,
    .btn-ficha
) {
    background: #38BDF8 !important;
    color: #030712 !important;
    border: 1px solid #FFFFFF !important;
    font-weight: 800 !important;
    box-shadow: 0 0 14px rgba(56, 189, 248, 0.35) !important;
}

[data-theme="dark"][data-cvd="high-contrast"] :is(
    .btn-ejecutar-checkpoint:hover,
    .btn-task-action:hover,
    .btn-ficha:hover
) {
    background: #7DD3FC !important;
    color: #030712 !important;
}

[data-theme="dark"][data-cvd="high-contrast"] :is(
    .stat-card .stat-value,
    .kpi-num,
    .metric-number,
    .stat-card-value,
    .orders-stat-num
) {
    color: #38BDF8 !important;
    text-shadow: 0 0 14px rgba(56, 189, 248, 0.35) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ALTO CONTRASTE CLARO EN TODOS LOS DASHBOARDS (PURE STUDIO LIGHT)
   ═══════════════════════════════════════════════════════════════════════════ */
:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] :is(
    .admin-dash-wrap,
    .hub-container,
    .kanban-board,
    .main-bo,
    .sidebar,
    .client-card,
    .tasks-card,
    .sb-item,
    .analyst-section,
    .orders-table-wrapper,
    .activation-card,
    .kanban-card,
    .kanban-column,
    .stat-card,
    .mod-card,
    .admin-header,
    .card-modern,
    .estado-card,
    .stage-card,
    .provider-sect,
    .u-card,
    .role-card,
    .maint-header,
    .recording-card,
    .audit-card,
    .kb-card,
    .asesor-lead-card,
    .table-card,
    .asesor-hero-card,
    .belt-card,
    .advisor-node-card,
    .leads-flow-card,
    .checkpoint-deck-card,
    .lead-hero-box,
    .chk-row-item,
    .lead-strip-item
) {
    background: #FFFFFF !important;
    color: #020617 !important;
    border: 1.5px solid #0F172A !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08) !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] :is(
    .nyx-filter-bar,
    .search-panel,
    .filter-deck-wrap,
    .admin-toolbar
) {
    background: #FFFFFF !important;
    border: 1.5px solid #0F172A !important;
    box-shadow: none !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] :is(
    .kpi-pill-badge,
    .card-pill-badge,
    .stage-badge-pill,
    .inline-badge,
    .lead-ord-tag,
    .stepper-item,
    .sla-counter
) {
    border: 1.5px solid #0F172A !important;
    color: #020617 !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] :is(.deck-badge-completed, .status-badge-approved) {
    background: rgba(21, 128, 61, 0.14) !important;
    border-color: #15803D !important;
    color: #15803D !important;
    font-weight: 700 !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] :is(.deck-badge-ko, .tag-blocking) {
    background: rgba(190, 18, 60, 0.14) !important;
    border-color: #BE123C !important;
    color: #BE123C !important;
    font-weight: 700 !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] :is(.status-badge-pending, .tag-attention) {
    background: rgba(180, 83, 9, 0.14) !important;
    border-color: #B45309 !important;
    color: #B45309 !important;
    font-weight: 700 !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] :is(
    .btn-ejecutar-checkpoint,
    .btn-task-action,
    .btn-ficha
) {
    background: #0284C7 !important;
    color: #FFFFFF !important;
    border: 1.5px solid #0369A1 !important;
    font-weight: 800 !important;
    box-shadow: 0 2px 8px rgba(2, 132, 199, 0.25) !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] :is(
    .btn-ejecutar-checkpoint:hover,
    .btn-task-action:hover,
    .btn-ficha:hover
) {
    background: #0369A1 !important;
    color: #FFFFFF !important;
}

:is([data-theme="light"], :root:not([data-theme="dark"]))[data-cvd="high-contrast"] :is(
    .stat-card .stat-value,
    .kpi-num,
    .metric-number,
    .stat-card-value,
    .orders-stat-num
) {
    color: #0284C7 !important;
}
