    /* ═══════════════════════════════════════════════════════════════════
       NYX CRM — AAPLY × ACCTUAL DESIGN SYSTEM
       Electric yellow energy + Paper-white clarity
       ═══════════════════════════════════════════════════════════════════ */

    /* ── DESIGN TOKENS ── */
    :root {
        /* Aaply Brand */
        --nyx-yellow: #e6e51e;
        --nyx-yellow-soft: rgba(230, 229, 30, 0.12);
        --nyx-red: #f34646;
        --nyx-blue: #466cf3;
        --nyx-peach: #ff8562;
        --nyx-sunbeam: #fff705;

        /* Acctual Neutrals */
        --nyx-ink: #1e1e1e;
        --nyx-carbon: #0f0f0f;
        --nyx-midnight: #0d111b;
        --nyx-smoke: #666666;
        --nyx-fog: #8d8d8d;
        --nyx-ash: #999999;
        --nyx-mist: #ccd1da;
        --nyx-paper: #ffffff;
        --nyx-snow: #f7fafc;
        --nyx-canvas: transparent;
        --nyx-hairline: #e6e6e6;

        /* Acctual Accents */
        --nyx-electric: #0098f2;
        --nyx-iris: #6c56fc;
        --nyx-leaf: #5d9c06;
        --nyx-coral: #ff6363;

        /* Semantic */
        --nyx-success: #22c55e;
        --nyx-success-bg: #f0fdf4;
        --nyx-warning: #f59e0b;
        --nyx-warning-bg: #fffbeb;
        --nyx-error: #ef4444;
        --nyx-error-bg: #fef2f2;
        --nyx-info: #0098f2;
        --nyx-info-bg: #eff6ff;
    }

    [data-theme="dark"], .theme-dark {
        --nyx-paper: var(--surface);
        --nyx-snow: var(--bg);
        --nyx-ink: var(--text);
        --nyx-carbon: var(--surface-3);
        --nyx-smoke: var(--text-2);
        --nyx-fog: var(--muted);
        --nyx-ash: var(--faint);
        --nyx-mist: var(--line);
        --nyx-hairline: var(--line);
        --nyx-canvas: var(--bg);
        --nyx-success-bg: var(--ok-soft);
        --nyx-warning-bg: var(--warn-soft);
        --nyx-error-bg: var(--err-soft);
        --nyx-info-bg: var(--info-soft);
        --shadow-card: 0 4px 20px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05);
        --shadow-card-hover: 0 12px 30px rgba(0, 0, 0, 0.7), 0 0 16px rgba(0, 152, 242, 0.3);
        --shadow-elevated: 0 6px 20px rgba(0, 0, 0, 0.6);
    }

    [data-theme="dark"] .btn-hero-cta,
    .theme-dark .btn-hero-cta {
        background: #0098f2 !important;
        border-color: #0098f2 !important;
        color: #ffffff !important;
        box-shadow: 0 4px 14px rgba(0, 152, 242, 0.35) !important;
    }

    [data-theme="dark"] .hero-toggle-group,
    .theme-dark .hero-toggle-group,
    [data-theme="dark"] .btn-hero-search,
    .theme-dark .btn-hero-search {
        background: #111827 !important;
        border-color: #1f293d !important;
        color: #f8fafc !important;
    }

    [data-theme="dark"] .hero-toggle-btn:not(.active),
    .theme-dark .hero-toggle-btn:not(.active) {
        color: #94a3b8 !important;
    }

    [data-theme="dark"] .hero-toggle-btn.active,
    .theme-dark .hero-toggle-btn.active {
        background: #2563eb !important;
        color: #ffffff !important;
    }

    [data-theme="dark"] .asesor-lead-card,
    .theme-dark .asesor-lead-card {
        background: #111827 !important;
        border-color: #1f293d !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05) !important;
    }

    [data-theme="dark"] .card-client-name,
    .theme-dark .card-client-name {
        color: #f8fafc !important;
    }

    [data-theme="dark"] .card-phone-pill,
    .theme-dark .card-phone-pill {
        background-color: #162032 !important;
        border-color: #1f293d !important;
        color: #f8fafc !important;
    }

    [data-theme="dark"] .card-detail-value,
    .theme-dark .card-detail-value {
        color: #f8fafc !important;
    }

    [data-tone="soft"]:not([data-theme="dark"]), .tone-soft:not(.theme-dark) {
        --nyx-paper: #f8fafc;
        --nyx-snow: #edf2f7;
        --nyx-hairline: #e2e8f0;
    }

    [data-tone="warm"]:not([data-theme="dark"]), .tone-warm:not(.theme-dark) {
        --nyx-paper: #faf8f5;
        --nyx-snow: #f3efe8;
        --nyx-hairline: #e7e2d8;
    }

    :root {
        /* Typography */
        --font-display: 'Poppins', 'Inter', system-ui, -apple-system, sans-serif;
        --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

        /* Radii (Aaply: 3000px pills, Acctual: 16px cards) */
        --r-pill: 100px;
        --r-card: 16px;
        --r-card-lg: 16px;
        --r-input: 12px;
        --r-tag: 100px;
        --r-full: 50%;

        /* Shadows (Acctual + Modern Elevation) */
        --shadow-card: 0 4px 16px rgba(15, 23, 42, 0.08), 0 1px 3px rgba(15, 23, 42, 0.04);
        --shadow-card-hover: 0 12px 28px rgba(15, 23, 42, 0.16), 0 4px 10px rgba(15, 23, 42, 0.08);
        --shadow-elevated: 0 6px 18px rgba(10, 13, 20, 0.12);
        --shadow-modal: 0 25px 60px -15px rgba(0, 0, 0, 0.22);
        --shadow-btn: 0 1px 2px rgba(10, 13, 20, 0.08);

        /* Transitions */
        --ease-out: cubic-bezier(0.2, 0, 0, 1);
        --duration: 0.2s;
    }

    /* ── GOOGLE FONTS IMPORT ── */
    @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Poppins:wght@500;600;700;800&display=swap');

    /* ── GLOBAL PAGE CANVAS ── */
    .container-fluid.py-4,
    .container-fluid.py-2,
    .container-fluid {
        background: transparent !important;
        font-family: var(--font-body);
        color: var(--nyx-ink);
        min-height: auto;
    }

    /* ── HERO CARD ── */
    .asesor-hero-card {
        background: var(--nyx-paper);
        border-radius: var(--r-card-lg);
        padding: 18px 24px;
        border: 1px solid var(--nyx-hairline);
        box-shadow: var(--shadow-card);
        position: relative;
        overflow: hidden;
        margin-bottom: 20px;
    }

    .asesor-hero-card h1:focus,
    .asesor-hero-card h1:focus-visible,
    h1:focus,
    h1:focus-visible {
        outline: none !important;
        box-shadow: none !important;
        border: none !important;
    }

    .asesor-hero-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 340px;
        height: 100%;
        background: radial-gradient(ellipse at top left, rgba(0, 152, 242, 0.08) 0%, transparent 70%);
        pointer-events: none;
    }

    /* ── KPI CARDS ── */
    .asesor-kpi-card {
        background: var(--nyx-paper);
        border-radius: var(--r-card);
        padding: 18px 20px;
        border: 1px solid var(--nyx-hairline);
        box-shadow: var(--shadow-card);
        display: flex;
        align-items: center;
        justify-content: space-between;
        transition: transform var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out);
    }

    .asesor-kpi-card:hover {
        transform: translateY(-2px);
        box-shadow: var(--shadow-elevated);
    }

    /* Compact KPI Card variant for space saving */
    .asesor-kpi-compact {
        padding: 10px 14px !important;
        min-height: 52px;
        background: var(--nyx-snow) !important;
        border: 1px solid var(--nyx-hairline);
        border-radius: 12px !important;
        display: flex;
        align-items: center;
    }

    .kpi-icon-wrapper-compact {
        width: 34px;
        height: 34px;
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.95rem;
        flex-shrink: 0;
        border: 1px solid var(--nyx-hairline);
    }

    .kpi-label-compact {
        display: block;
        font-size: 0.65rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: var(--nyx-smoke);
        line-height: 1;
        margin-bottom: 2px;
    }

    .kpi-val-compact {
        font-family: var(--font-display);
        font-size: 1.25rem;
        font-weight: 700;
        letter-spacing: -0.02em;
        line-height: 1;
    }

    .kpi-sub-compact {
        font-size: 0.72rem;
        color: var(--nyx-fog);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .animate-filter-dropdown {
        animation: filterSlideIn 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    }

    @keyframes filterSlideIn {
        from {
            opacity: 0;
            transform: translateY(-6px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* ── KPI PILL BADGES (BARRA HORIZONTAL INLINE) ── */
    .kpi-pill-badge {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 6px 14px;
        border-radius: 9999px;
        font-size: 0.8rem;
        font-family: var(--font-body);
        font-weight: 500;
        transition: transform var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out);
        white-space: nowrap;
        user-select: none;
    }

    .kpi-pill-badge:hover {
        transform: translateY(-1px);
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
    }

    .kpi-pill-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        display: inline-block;
        flex-shrink: 0;
    }

    .kpi-pill-blue {
        background: #eff6ff;
        border: 1px solid #bfdbfe;
        color: #1e40af;
    }
    .kpi-pill-blue .kpi-pill-val {
        color: #1d4ed8;
        font-weight: 700;
    }

    .kpi-pill-green {
        background: #f0fdf4;
        border: 1px solid #bbf7d0;
        color: #166534;
    }
    .kpi-pill-green .kpi-pill-val {
        color: #15803d;
        font-weight: 700;
    }

    .kpi-pill-purple {
        background: #f5f3ff;
        border: 1px solid #ddd6fe;
        color: #6b21a8;
    }
    .kpi-pill-purple .kpi-pill-val {
        color: #581c87;
        font-weight: 700;
    }

    /* ── TOOLBAR DE ACCIONES DEL HERO ── */
    .hero-actions-toolbar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px;
        margin-top: 14px;
        padding-top: 4px;
    }

    /* Botón CTA + Nueva Pre-Venta */
    .btn-hero-cta {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        background: var(--nyx-carbon);
        color: #ffffff !important;
        border: 1px solid var(--nyx-carbon);
        border-radius: 10px;
        padding: 8px 18px;
        font-family: var(--font-body);
        font-size: 0.84rem;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
        box-shadow: 0 2px 6px rgba(15, 15, 15, 0.18);
        user-select: none;
    }

    .btn-hero-cta:hover {
        background: #262626;
        border-color: #262626;
        color: #ffffff !important;
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(15, 15, 15, 0.28);
    }

    .btn-hero-cta:active {
        transform: translateY(0);
    }

    .cta-plus-badge {
        width: 20px;
        height: 20px;
        border-radius: 6px;
        background: rgba(255, 255, 255, 0.18);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 0.8rem;
        font-weight: 700;
        transition: background 0.2s, transform 0.2s;
        flex-shrink: 0;
    }

    .btn-hero-cta:hover .cta-plus-badge {
        background: var(--nyx-electric);
        color: #ffffff;
        transform: scale(1.1);
    }

    /* Switch Cards / Tabla */
    .hero-toggle-group {
        display: inline-flex;
        align-items: center;
        background: #ffffff;
        border: 1px solid var(--nyx-mist);
        border-radius: 10px;
        padding: 3px;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    }

    .hero-toggle-btn {
        border: none;
        background: transparent;
        border-radius: 8px;
        padding: 6px 14px;
        font-family: var(--font-body);
        font-size: 0.8rem;
        font-weight: 600;
        color: var(--nyx-smoke);
        cursor: pointer;
        transition: all 0.18s ease;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        user-select: none;
    }

    .hero-toggle-btn:hover:not(.active) {
        background: #f1f5f9;
        color: var(--nyx-ink);
    }

    .hero-toggle-btn.active {
        background: #111827;
        color: #ffffff !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    }

    .hero-toggle-btn.active:hover {
        background: #1f2937;
    }

    /* Botón Buscar Desplegable */
    .btn-hero-search {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: #ffffff;
        border: 1px solid var(--nyx-mist);
        border-radius: 10px;
        padding: 7px 16px;
        font-family: var(--font-body);
        font-size: 0.82rem;
        font-weight: 600;
        color: var(--nyx-ink);
        cursor: pointer;
        transition: all 0.2s ease;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
        user-select: none;
    }

    .btn-hero-search:hover {
        border-color: var(--nyx-electric);
        color: var(--nyx-electric);
        background: #f8fafc;
        transform: translateY(-1px);
        box-shadow: 0 3px 10px rgba(0, 152, 242, 0.15);
    }

    .btn-hero-search.active {
        border-color: var(--nyx-electric);
        color: var(--nyx-electric);
        background: rgba(0, 152, 242, 0.08);
    }

    .kpi-icon-wrapper {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        background: var(--nyx-snow);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--nyx-electric);
        flex-shrink: 0;
        border: 1px solid var(--nyx-hairline);
    }

    /* ── PRIMARY CTA BUTTON (Aaply: Black Pill) ── */
    .asesor-cta-btn {
        background: var(--nyx-carbon);
        color: var(--nyx-paper);
        border-radius: var(--r-pill);
        padding: 10px 24px;
        font-family: var(--font-body);
        font-size: 0.85rem;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        border: none;
        cursor: pointer;
        text-decoration: none;
        transition: all var(--duration) var(--ease-out);
        box-shadow: var(--shadow-btn);
        letter-spacing: -0.02em;
    }

    .asesor-cta-btn:hover {
        background: var(--nyx-ink);
        color: var(--nyx-paper);
        transform: translateY(-1px);
        box-shadow: var(--shadow-elevated);
    }

    .asesor-cta-btn:disabled,
    .asesor-cta-btn[disabled] {
        opacity: 0.55;
        cursor: not-allowed !important;
        pointer-events: none;
        box-shadow: none;
        transform: none;
    }

    /* ── YELLOW ACCENT BUTTON (Aaply: Filled Yellow Pill) ── */
    .btn-accent-yellow {
        background: var(--nyx-yellow);
        color: var(--nyx-carbon);
        border-radius: var(--r-pill);
        padding: 8px 20px;
        font-family: var(--font-body);
        font-size: 0.82rem;
        font-weight: 700;
        border: none;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        transition: all var(--duration) var(--ease-out);
        box-shadow: var(--shadow-btn);
    }

    .btn-accent-yellow:hover {
        background: #d4d31b;
        transform: translateY(-1px);
        box-shadow: var(--shadow-elevated);
    }

    /* ── TABLE CARD ── */
    .table-card {
        background: var(--nyx-paper);
        border-radius: var(--r-card-lg);
        border: 1px solid var(--nyx-hairline);
        box-shadow: var(--shadow-card);
        overflow: hidden;
        margin-bottom: 24px;
    }

    .table-modern thead th {
        background: var(--nyx-snow);
        color: var(--nyx-smoke);
        font-family: var(--font-body);
        font-size: 0.72rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        padding: 12px 16px;
        border-bottom: 1px solid var(--nyx-hairline);
    }

    .table-modern tbody tr {
        transition: background-color var(--duration) ease;
    }

    .table-modern tbody tr:nth-child(even) {
        background-color: #fafbfc;
    }

    .table-modern tbody tr:hover {
        background-color: #f1f5f9;
    }

    .table-modern tbody td {
        padding: 12px 16px;
        font-size: 0.84rem;
        color: var(--nyx-ink);
        vertical-align: middle;
        border-bottom: 1px solid rgba(0, 0, 0, 0.04);
        letter-spacing: -0.01em;
    }

    /* ── CHECKPOINT PILLS ── */
    .checkpoint-step-pill {
        padding: 4px 12px;
        border-radius: var(--r-pill);
        font-size: 0.72rem;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        border: 1px solid transparent;
        cursor: pointer;
        transition: all var(--duration) ease;
        letter-spacing: -0.01em;
    }

    .checkpoint-step-pill.completed {
        background: var(--nyx-success-bg);
        color: #059669;
        border-color: #bbf7d0;
    }

    .checkpoint-step-pill.active {
        background: var(--nyx-info-bg);
        color: var(--nyx-electric);
        border-color: #bfdbfe;
        box-shadow: 0 0 0 2px rgba(0, 152, 242, 0.12);
    }

    .checkpoint-step-pill.pending-accept {
        background: var(--nyx-warning-bg);
        color: #92400e;
        border-color: #fcd34d;
        animation: nyx-pulse 1.8s infinite;
    }

    .checkpoint-step-pill.blocked {
        background: var(--nyx-snow);
        color: var(--nyx-ash);
        border-color: var(--nyx-hairline);
        cursor: not-allowed;
        opacity: 0.7;
    }

    /* ── 3-CHECKPOINT SLIDING WINDOW ── */
    .checkpoint-window-container {
        display: inline-flex;
        align-items: center;
        background: var(--nyx-paper);
        padding: 4px 8px;
        border-radius: var(--r-card);
        border: 1px solid var(--nyx-hairline);
        box-shadow: var(--shadow-card);
        max-width: 100%;
    }

    .cp-window-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
    }

    .cp-indicator-tag {
        font-size: 0.58rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        line-height: 1;
    }

    .cp-indicator-tag.prev-tag {
        color: var(--nyx-success);
    }

    .cp-indicator-tag.current-tag {
        color: var(--nyx-electric);
    }

    .cp-indicator-tag.next-tag {
        color: var(--nyx-ash);
    }

    .cp-item-pill {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 3px 10px;
        border-radius: var(--r-pill);
        font-size: 0.72rem;
        font-weight: 600;
        border: 1px solid transparent;
        white-space: nowrap;
        transition: all 0.15s ease;
        letter-spacing: -0.01em;
    }

    .cp-item-pill.prev-pill {
        background: #f0fdf4;
        color: #166534;
        border: 1px solid #bbf7d0;
        font-weight: 600;
    }

    .cp-item-pill.current-pill.active-pill {
        background: #eff6ff;
        color: #1e40af;
        border: 1px solid #93c5fd;
        box-shadow: 0 0 0 2px rgba(30, 64, 175, 0.15);
        cursor: pointer;
        font-weight: 700;
    }

    .cp-item-pill.current-pill.active-pill:hover {
        background: #dbeafe;
        transform: translateY(-1px);
        box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.2), 0 4px 8px rgba(30, 64, 175, 0.1);
    }

    .cp-item-pill.current-pill.pending-accept-pill {
        background: #fffbeb;
        color: #92400e;
        border: 1px solid #fcd34d;
        font-weight: 600;
        animation: nyx-pulse 1.8s infinite;
    }

    .cp-item-pill.current-pill.blocked-pill {
        background: #f1f5f9;
        color: #334155;
        border: 1px solid #cbd5e1;
        cursor: not-allowed;
        font-weight: 600;
    }

    .cp-item-pill.next-pill {
        background: #f8fafc;
        color: #475569;
        border: 1px solid #cbd5e1;
        font-weight: 600;
        opacity: 0.95;
    }

    /* ── BOTÓN PARPADEANTE / PULSANTE PARA CHECKPOINT RECURRENTE PENDIENTE ── */
    .recurrent-pulse-wrapper {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        position: relative;
    }

    .btn-recurrent-pulse {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 3px 9px;
        border-radius: var(--r-pill, 9999px);
        font-size: 0.72rem;
        font-weight: 700;
        color: #9a3412;
        background: #fff7ed;
        border: 1.5px solid #ea580c;
        cursor: pointer;
        white-space: nowrap;
        position: relative;
        transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
        animation: recurrentPulseGlow 1.8s infinite ease-in-out;
        box-shadow: 0 0 0 0 rgba(234, 88, 12, 0.4);
    }

    .btn-recurrent-pulse.btn-recurrent-vibrate {
        animation: nyxRecurrentVibrate 2.2s infinite ease-in-out, recurrentPulseGlow 1.8s infinite ease-in-out;
    }

    @keyframes nyxRecurrentVibrate {
        0% {
            transform: translateX(0);
        }

        2% {
            transform: translateX(-3px) rotate(-1.5deg);
        }

        4% {
            transform: translateX(3px) rotate(1.5deg);
        }

        6% {
            transform: translateX(-3px) rotate(-1.5deg);
        }

        8% {
            transform: translateX(3px) rotate(1.5deg);
        }

        10% {
            transform: translateX(-2px) rotate(-1deg);
        }

        12% {
            transform: translateX(2px) rotate(1deg);
        }

        14% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(0);
        }
    }

    .btn-recurrent-pulse:hover {
        background: #ffedd5;
        border-color: #c2410c;
        color: #7c2d12;
        transform: translateY(-1px) scale(1.02);
        box-shadow: 0 4px 12px rgba(234, 88, 12, 0.25);
    }

    .btn-recurrent-pulse.disabled {
        cursor: not-allowed;
        opacity: 0.6;
        animation: none;
        border-color: #fdba74;
    }

    .pulse-indicator {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background-color: #ea580c;
        display: inline-block;
        animation: pulseDotBlink 1.2s infinite;
    }

    .badge-rep {
        background: rgba(234, 88, 12, 0.15);
        color: #c2410c;
        border: 1px solid rgba(234, 88, 12, 0.3);
        border-radius: 10px;
        padding: 0 5px;
        font-size: 0.62rem;
        font-weight: 800;
    }

    .btn-exec-pill {
        background: #ea580c;
        color: #ffffff !important;
        border-radius: 12px;
        padding: 1px 7px;
        font-size: 0.62rem;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        gap: 2px;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }

    @keyframes recurrentPulseGlow {
        0% {
            box-shadow: 0 0 0 0 rgba(234, 88, 12, 0.5);
            border-color: #ea580c;
        }

        50% {
            box-shadow: 0 0 0 6px rgba(234, 88, 12, 0);
            border-color: #f97316;
        }

        100% {
            box-shadow: 0 0 0 0 rgba(234, 88, 12, 0);
            border-color: #ea580c;
        }
    }

    @keyframes pulseDotBlink {
        0% {
            transform: scale(0.8);
            opacity: 0.4;
        }

        50% {
            transform: scale(1.35);
            opacity: 1;
            box-shadow: 0 0 6px #ea580c;
        }

        100% {
            transform: scale(0.8);
            opacity: 0.4;
        }
    }

    /* ── TIMELINE RAIL ── */
    .timeline-rail-container {
        position: relative;
        padding: 20px 12px;
        background: var(--nyx-paper);
        border-radius: var(--r-card);
        border: 1px solid var(--nyx-hairline);
        box-shadow: var(--shadow-card);
    }

    .timeline-rail-track {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        position: relative;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 6px;
    }

    .timeline-step-node {
        flex: 1;
        min-width: 130px;
        padding: 12px 10px;
        border-radius: var(--r-card);
        border: 2px solid var(--nyx-hairline);
        cursor: pointer;
        transition: all var(--duration) var(--ease-out);
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        animation: nyx-fadeIn 0.3s var(--ease-out);
        user-select: none;
    }

    .timeline-step-node:hover {
        transform: translateY(-2px);
        border-color: var(--nyx-mist);
    }

    .timeline-step-node.past {
        background: var(--nyx-snow);
        border-color: var(--nyx-mist);
        color: var(--nyx-smoke);
    }

    .timeline-step-node.current {
        background: var(--nyx-carbon);
        border-color: var(--nyx-electric);
        color: var(--nyx-paper);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
        transform: scale(1.02);
        z-index: 2;
    }

    .timeline-step-node.future {
        background: var(--nyx-paper);
        border-color: var(--nyx-hairline);
        color: var(--nyx-ash);
        opacity: 0.75;
    }

    .timeline-step-node.selected-stage {
        border-color: var(--nyx-electric) !important;
        box-shadow: 0 0 0 3px rgba(0, 152, 242, 0.2) !important;
    }

    .pulse-indicator {
        width: 8px;
        height: 8px;
        border-radius: var(--r-full);
        background: var(--nyx-electric);
        box-shadow: 0 0 0 0 rgba(0, 152, 242, 0.6);
        animation: nyx-pulse 1.8s infinite;
        display: inline-block;
    }

    /* ── TRACKING CARDS ── */
    .tracking-checkpoint-card {
        background: var(--nyx-paper);
        border-radius: var(--r-card);
        border: 1px solid var(--nyx-hairline);
        padding: 16px 18px;
        transition: all var(--duration) ease;
        box-shadow: var(--shadow-card);
    }

    .tracking-checkpoint-card:hover {
        box-shadow: var(--shadow-elevated);
    }

    .tracking-checkpoint-card.status-completed {
        border-left: 3px solid var(--nyx-success);
        background: var(--nyx-success-bg);
    }

    .tracking-checkpoint-card.status-active {
        border-left: 3px solid var(--nyx-electric);
        background: var(--nyx-info-bg);
        box-shadow: 0 2px 8px rgba(0, 152, 242, 0.06);
    }

    .tracking-checkpoint-card.status-pending {
        border-left: 3px solid var(--nyx-mist);
        opacity: 0.85;
    }

    /* ── KEYFRAMES ── */
    @keyframes nyx-pulse {
        0% {
            transform: scale(0.95);
            box-shadow: 0 0 0 0 rgba(0, 152, 242, 0.5);
        }

        70% {
            transform: scale(1.15);
            box-shadow: 0 0 0 10px rgba(0, 152, 242, 0);
        }

        100% {
            transform: scale(0.95);
            box-shadow: 0 0 0 0 rgba(0, 152, 242, 0);
        }
    }

    @keyframes pulse-animation {
        0% {
            transform: scale(0.95);
            box-shadow: 0 0 0 0 rgba(0, 152, 242, 0.7);
        }

        70% {
            transform: scale(1.2);
            box-shadow: 0 0 0 10px rgba(0, 152, 242, 0);
        }

        100% {
            transform: scale(0.95);
            box-shadow: 0 0 0 0 rgba(0, 152, 242, 0);
        }
    }

    @keyframes pulse-border {
        0% {
            box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.6);
        }

        70% {
            box-shadow: 0 0 0 8px rgba(245, 158, 11, 0);
        }

        100% {
            box-shadow: 0 0 0 0 rgba(245, 158, 11, 0);
        }
    }

    @keyframes nyx-fadeIn {
        from {
            opacity: 0;
            transform: translateY(6px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes fadeInSlide {
        from {
            opacity: 0;
            transform: translateY(8px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* ── HANDSHAKE MODAL REDISEÑO RADICAL V2 ── */
    .aggressive-handshake-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(15, 23, 42, 0.55);
        backdrop-filter: blur(8px);
        z-index: 99999;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px;
        animation: nyx-fadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .handshake-v2-modal {
        width: 100%;
        max-width: 440px;
        background: #FFFFFF;
        border: 1px solid #E7E9F2;
        border-radius: 24px;
        padding: 26px 24px 24px;
        box-shadow: 0 24px 60px -24px rgba(21, 26, 46, 0.22);
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        color: #151A2E;
        position: relative;
        box-sizing: border-box;
    }

    /* top status row */
    .handshake-v2-top-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 22px;
    }
    .handshake-v2-badge {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .04em;
        color: #5B5FE9;
        background: #EEEEFD;
        padding: 6px 11px;
        border-radius: 20px;
        display: flex;
        align-items: center;
        gap: 6px;
        line-height: 1;
    }
    .handshake-v2-badge.amber {
        color: #B8790A;
        background: #FDF3D9;
    }
    .handshake-v2-badge svg,
    .handshake-v2-badge .icn {
        width: 14px;
        height: 14px;
        flex-shrink: 0;
    }

    /* hero */
    .handshake-v2-hero {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin-bottom: 24px;
    }
    .handshake-v2-avatar-ring {
        width: 74px;
        height: 74px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #EEEEFD;
        position: relative;
        margin-bottom: 14px;
    }
    .handshake-v2-avatar-ring::before {
        content: '';
        position: absolute;
        inset: -6px;
        border-radius: 50%;
        border: 1.5px solid rgba(109, 111, 255, .35);
        animation: handshakeV2Pulse 2.2s ease-out infinite;
    }
    @keyframes handshakeV2Pulse {
        0% { transform: scale(.9); opacity: .9; }
        80% { transform: scale(1.35); opacity: 0; }
        100% { opacity: 0; }
    }
    .handshake-v2-avatar-ring svg {
        width: 32px;
        height: 32px;
        color: #5B5FE9;
    }
    .handshake-v2-title {
        margin: 0 0 6px;
        font-size: 19px;
        font-weight: 700;
        color: #151A2E;
        letter-spacing: -0.02em;
        font-family: 'Space Grotesk', 'Inter', sans-serif;
    }
    .handshake-v2-subtitle {
        margin: 0;
        font-size: 13px;
        color: #6B7284;
    }
    .handshake-v2-subtitle b {
        color: #151A2E;
        font-weight: 600;
    }

    /* handoff flow */
    .handshake-v2-flow {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        background: #F6F7FB;
        border: 1px solid #E7E9F2;
        border-radius: 14px;
        padding: 14px 12px;
        margin-bottom: 16px;
    }
    .handshake-v2-flow-side {
        flex: 1;
        text-align: center;
    }
    .handshake-v2-flow-side .lbl {
        font-size: 9.5px;
        font-weight: 700;
        letter-spacing: .06em;
        color: #A2A8BA;
        text-transform: uppercase;
        margin-bottom: 5px;
    }
    .handshake-v2-flow-side .val {
        font-size: 13.5px;
        font-weight: 700;
        color: #151A2E;
    }
    .handshake-v2-flow-side .val.muted {
        color: #6B7284;
        font-weight: 600;
    }
    .handshake-v2-flow-arrow {
        color: #5B5FE9;
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .handshake-v2-flow-arrow svg {
        width: 18px;
        height: 18px;
    }

    /* meta line */
    .handshake-v2-meta-line {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-size: 12px;
        color: #A2A8BA;
        margin-bottom: 18px;
        flex-wrap: wrap;
    }
    .handshake-v2-meta-line .campaign-tag {
        font-size: 11px;
        font-weight: 700;
        color: #5B5FE9;
        background: #EEEEFD;
        border: 1px solid transparent;
        padding: 4px 10px;
        border-radius: 20px;
    }

    /* comment card */
    .handshake-v2-comment {
        background: #F6F7FB;
        border: 1px solid #E7E9F2;
        border-radius: 12px;
        padding: 12px 14px;
        margin-bottom: 16px;
        box-shadow: 0 15px 20px -4px rgba(21, 26, 46, 0.07);
        transition: box-shadow .2s ease;
    }
    .handshake-v2-comment .head {
        display: flex;
        align-items: center;
        gap: 7px;
        margin-bottom: 6px;
    }
    .handshake-v2-comment .head svg {
        width: 14px;
        height: 14px;
        color: #5B5FE9;
        flex: 0 0 auto;
    }
    .handshake-v2-comment .who {
        font-size: 11.5px;
        font-weight: 700;
        color: #6B7284;
    }
    .handshake-v2-comment .who b {
        color: #5B5FE9;
        font-weight: 700;
    }
    .handshake-v2-comment .txt {
        font-size: 13px;
        line-height: 1.4;
        color: #151A2E;
        white-space: pre-wrap;
    }

    /* protect note */
    .handshake-v2-protect {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 11.5px;
        color: #A2A8BA;
        padding: 0 2px;
        margin-bottom: 20px;
    }
    .handshake-v2-protect svg {
        width: 14px;
        height: 14px;
        flex: 0 0 auto;
        color: #A2A8BA;
    }

    /* Botones base */
    .handshake-v2-btn {
        width: 100%;
        font-family: inherit;
        font-size: 14px;
        font-weight: 700;
        border-radius: 14px;
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        transition: all .18s cubic-bezier(0.16, 1, 0.3, 1);
    }

    /* Contenedor principal de acciones */
    .handshake-v2-main-actions {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .handshake-v2-btn-accept {
        padding: 14px 18px !important;
        background: #5B5FE9 !important;
        color: #FFFFFF !important;
        box-shadow: 0 8px 20px -4px rgba(91, 95, 233, 0.38) !important;
    }
    .handshake-v2-btn-accept:hover {
        background: #4F53DC !important;
        transform: translateY(-1px);
        box-shadow: 0 12px 24px -4px rgba(91, 95, 233, 0.45) !important;
    }
    .handshake-v2-btn-accept:active {
        transform: translateY(0);
        box-shadow: 0 4px 12px -2px rgba(91, 95, 233, 0.35) !important;
    }

    .handshake-v2-btn-decline {
        padding: 12px 16px !important;
        background: transparent !important;
        color: #6B7284 !important;
        border: 1.5px solid #E7E9F2 !important;
        font-weight: 600 !important;
    }
    .handshake-v2-btn-decline:hover {
        color: #EF4B62 !important;
        border-color: #EF4B62 !important;
        background: #FCE9EC !important;
    }

    /* Panel de rechazo */
    .handshake-v2-reject-view {
        animation: handshakeV2FadeInUp .22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }
    @keyframes handshakeV2FadeInUp {
        from { opacity: 0; transform: translateY(6px); }
        to { opacity: 1; transform: translateY(0); }
    }

    /* Píldora de indicación */
    .handshake-v2-reject-pill {
        background: #FCE9EC;
        border: 1px solid rgba(239, 75, 98, 0.22);
        border-radius: 12px;
        padding: 10px 12px;
        font-size: 12px;
        font-weight: 600;
        color: #EF4B62;
        line-height: 1.4;
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 12px;
    }
    .handshake-v2-reject-pill svg {
        width: 16px;
        height: 16px;
        flex: 0 0 auto;
    }

    /* Dropdown Personalizado */
    .handshake-v2-custom-dropdown {
        position: relative;
        margin-bottom: 14px;
    }
    .handshake-v2-dropdown-trigger {
        width: 100%;
        padding: 12px 14px;
        background: #F6F7FB;
        border: 1.5px solid #E7E9F2;
        border-radius: 12px;
        font-size: 13px;
        font-weight: 600;
        color: #151A2E;
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
        transition: border-color .15s, background .15s;
        user-select: none;
    }
    .handshake-v2-dropdown-trigger:hover {
        border-color: #5B5FE9;
    }
    .handshake-v2-dropdown-trigger.open {
        border-color: #5B5FE9;
        background: #FFFFFF;
        box-shadow: 0 0 0 3px rgba(91, 95, 233, 0.12);
    }
    .handshake-v2-dropdown-trigger svg {
        width: 16px;
        height: 16px;
        color: #6B7284;
        transition: transform .2s ease;
    }
    .handshake-v2-dropdown-trigger.open svg {
        transform: rotate(180deg);
    }

    .handshake-v2-dropdown-menu {
        position: absolute;
        bottom: calc(100% + 6px); /* Despliega hacia arriba para evitar recortarse */
        left: 0;
        right: 0;
        background: #FFFFFF;
        border: 1px solid #E7E9F2;
        border-radius: 14px;
        box-shadow: 0 12px 28px -6px rgba(21, 26, 46, 0.16);
        overflow: hidden;
        z-index: 100;
    }
    .handshake-v2-dropdown-option {
        padding: 11px 14px;
        font-size: 12.5px;
        color: #151A2E;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: space-between;
        transition: background .15s;
        user-select: none;
    }
    .handshake-v2-dropdown-option:hover {
        background: #F6F7FB;
        color: #5B5FE9;
    }
    .handshake-v2-dropdown-option.selected {
        font-weight: 700;
        background: #EEEEFD;
        color: #5B5FE9;
    }

    /* Botones confirmar rechazo / cancelar */
    .handshake-v2-reject-actions-row {
        display: grid;
        grid-template-columns: 1fr 1.5fr;
        gap: 10px;
    }
    .handshake-v2-btn-cancel {
        background: #F6F7FB !important;
        color: #6B7284 !important;
        border: 1.5px solid #E7E9F2 !important;
        padding: 12px !important;
    }
    .handshake-v2-btn-cancel:hover {
        background: #EEF1F8 !important;
        color: #151A2E !important;
    }
    .handshake-v2-btn-confirm-reject {
        background: #EF4B62 !important;
        color: #FFFFFF !important;
        padding: 12px !important;
        box-shadow: 0 6px 16px -4px rgba(239, 75, 98, 0.4) !important;
    }
    .handshake-v2-btn-confirm-reject:hover {
        background: #E03E55 !important;
        transform: translateY(-1px);
    }
    .handshake-v2-btn-confirm-reject:active {
        transform: translateY(0);
    }

    /* ── VENTA CREADA MODAL ── */
    .venta-modal-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(15, 23, 42, 0.5);
        backdrop-filter: blur(12px);
        z-index: 10000;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px;
        overflow-y: auto;
        animation: nyx-fadeIn 0.25s var(--ease-out);
    }

    .venta-modal-box {
        background: var(--nyx-paper);
        border-radius: var(--r-card-lg);
        max-width: 1100px;
        width: 100%;
        max-height: 92vh;
        display: flex;
        flex-direction: column;
        box-shadow: var(--shadow-modal);
        overflow: hidden;
        border: 1px solid var(--nyx-hairline);
    }

    .venta-modal-header {
        background: var(--nyx-paper);
        border-bottom: 1px solid var(--nyx-hairline);
        padding: 16px 24px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-shrink: 0;
    }

    .venta-modal-body {
        padding: 20px 24px;
        overflow-y: auto;
        flex: 1;
        background: var(--nyx-snow);
    }

    /* ── FORM CARDS (Acctual-style: clean, 16px radius) ── */
    .venta-section-card {
        background: var(--nyx-paper);
        border-radius: var(--r-card);
        border: 1px solid var(--nyx-hairline);
        padding: 18px 20px;
        margin-bottom: 14px;
        box-shadow: var(--shadow-card);
    }

    .venta-section-title {
        font-family: var(--font-display);
        font-size: 0.88rem;
        font-weight: 600;
        color: var(--nyx-ink);
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 14px;
        padding-bottom: 8px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.04);
        letter-spacing: -0.02em;
    }

    .venta-field-label {
        font-size: 0.74rem;
        font-weight: 600;
        color: var(--nyx-smoke);
        margin-bottom: 4px;
        display: block;
        letter-spacing: -0.01em;
    }

    .venta-field-input {
        background: var(--nyx-paper);
        border: 1px solid var(--nyx-mist);
        border-radius: var(--r-input);
        font-family: var(--font-body);
        font-size: 0.82rem;
        padding: 8px 12px;
        width: 100%;
        color: var(--nyx-ink);
        transition: border-color var(--duration) ease, box-shadow var(--duration) ease;
        letter-spacing: -0.01em;
    }

    .venta-field-input:focus {
        border-color: var(--nyx-electric);
        box-shadow: 0 0 0 3px rgba(0, 152, 242, 0.12);
        outline: none;
    }

    .venta-field-input::placeholder {
        color: var(--nyx-ash);
    }

    /* ── CHECKLIST ITEMS ── */
    .venta-chk-item {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        padding: 6px 10px;
        border-radius: 8px;
        font-size: 0.76rem;
        transition: background-color 0.15s ease;
        letter-spacing: -0.01em;
    }

    .venta-chk-item.checked {
        background: var(--nyx-success-bg);
        color: #166534;
        font-weight: 600;
    }

    .venta-chk-item.unchecked {
        color: var(--nyx-fog);
    }

    .venta-chk-icon {
        width: 18px;
        height: 18px;
        border-radius: var(--r-full);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 0.7rem;
        flex-shrink: 0;
        margin-top: 1px;
        transition: all var(--duration) ease;
    }

    .venta-chk-icon.checked {
        background: var(--nyx-success);
        color: var(--nyx-paper);
    }

    .venta-chk-icon.unchecked {
        background: var(--nyx-hairline);
        color: var(--nyx-ash);
    }

    /* ── CLOSE BUTTON ── */
    .btn-close-modal {
        width: 34px;
        height: 34px;
        border-radius: 10px;
        background: #F1F5F9;
        border: 1px solid #CBD5E1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #1E293B;
        cursor: pointer;
        transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    }

    .btn-close-modal:hover {
        background: #EF4444;
        border-color: #DC2626;
        color: #FFFFFF;
        box-shadow: 0 4px 12px rgba(239, 68, 68, 0.28);
        transform: translateY(-1px) rotate(90deg);
    }

    /* ── SIMULATION BUTTON (Aaply: Electric Yellow) ── */
    .btn-simulate {
        background: var(--nyx-yellow);
        color: var(--nyx-carbon);
        border-radius: var(--r-pill);
        padding: 8px 18px;
        font-family: var(--font-body);
        font-size: 0.78rem;
        font-weight: 700;
        border: none;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        transition: all var(--duration) var(--ease-out);
        box-shadow: var(--shadow-btn);
        letter-spacing: -0.02em;
    }

    .btn-simulate:hover {
        background: #d4d31b;
        transform: translateY(-1px);
        box-shadow: var(--shadow-elevated);
    }

    /* ── PREVIEW CARD (Acctual: Invoice-style) ── */
    .preview-invoice-card {
        background: var(--nyx-paper);
        border-radius: var(--r-card);
        border: 1px solid var(--nyx-hairline);
        padding: 18px 20px;
        box-shadow: var(--shadow-card);
    }

    .preview-invoice-card .eyebrow {
        font-size: 0.62rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: var(--nyx-smoke);
    }

    .preview-invoice-card .amount {
        font-family: var(--font-display);
        font-size: 2rem;
        font-weight: 700;
        color: var(--nyx-ink);
        letter-spacing: -0.03em;
        line-height: 1.1;
    }

    .preview-line-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 6px 0;
        border-bottom: 1px dashed rgba(0, 0, 0, 0.06);
        font-size: 0.78rem;
    }

    .preview-line-item:last-child {
        border-bottom: none;
    }

    .preview-line-item .label {
        color: var(--nyx-smoke);
    }

    .preview-line-item .value {
        color: var(--nyx-ink);
        font-weight: 600;
    }

    /* ── PROGRESS BAR ── */
    .nyx-progress {
        height: 4px;
        border-radius: var(--r-pill);
        background: var(--nyx-hairline);
        overflow: hidden;
    }

    .nyx-progress-bar {
        height: 100%;
        border-radius: var(--r-pill);
        background: var(--nyx-electric);
        transition: width 0.4s var(--ease-out);
    }

    .nyx-progress-bar.complete {
        background: var(--nyx-success);
    }

    /* ── KEYBOARD SHORTCUT BADGE ── */
    .kbd-hint {
        display: inline-flex;
        align-items: center;
        gap: 3px;
        font-size: 0.65rem;
        color: var(--nyx-fog);
        opacity: 0.7;
    }

    .kbd-hint kbd {
        background: var(--nyx-snow);
        border: 1px solid var(--nyx-hairline);
        border-radius: 4px;
        padding: 1px 5px;
        font-family: var(--font-body);
        font-size: 0.62rem;
        font-weight: 600;
        color: var(--nyx-smoke);
    }

    /* ── BADGE OVERRIDES (Aaply pills) ── */
    .nyx-badge {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 3px 10px;
        border-radius: var(--r-pill);
        font-family: var(--font-body);
        font-size: 0.70rem;
        font-weight: 600;
        letter-spacing: -0.01em;
        border: 1px solid transparent;
    }

    .nyx-badge.primary {
        background: var(--nyx-info-bg);
        color: #0369a1;
        border-color: rgba(0, 152, 242, 0.15);
    }

    .nyx-badge.success {
        background: var(--nyx-success-bg);
        color: #059669;
        border-color: rgba(34, 197, 94, 0.15);
    }

    .nyx-badge.warning {
        background: var(--nyx-warning-bg);
        color: #92400e;
        border-color: rgba(245, 158, 11, 0.15);
    }

    .nyx-badge.neutral {
        background: var(--nyx-snow);
        color: var(--nyx-smoke);
        border-color: var(--nyx-hairline);
    }

    /* ── FILTER BAR ── */
    .nyx-filter-bar {
        background: var(--nyx-paper);
        border-radius: var(--r-card) !important;
        border: 1px solid var(--nyx-hairline) !important;
        padding: 14px 18px;
        box-shadow: var(--shadow-card);
        margin-bottom: 24px !important;
    }

    .nyx-filter-bar .form-select,
    .nyx-filter-bar .form-control {
        border-radius: var(--r-input);
        border-color: var(--nyx-mist);
        font-size: 0.82rem;
        font-family: var(--font-body);
        color: var(--nyx-ink);
        transition: border-color var(--duration) ease;
    }

    .nyx-filter-bar .form-select:focus,
    .nyx-filter-bar .form-control:focus {
        border-color: var(--nyx-electric);
        box-shadow: 0 0 0 3px rgba(0, 152, 242, 0.1);
    }

    /* ── GENERAL OVERRIDES FOR MUD BLAZOR ── */
    .form-select,
    .form-control {
        font-family: var(--font-body);
    }

    /* ═══════════════════════════════════════════════════════════════════
       NOTA MEMO CON CLIP METÁLICO (Skeumorphism Moderno & Premium)
       ═══════════════════════════════════════════════════════════════════ */
    .memo-modal-box {
        background: #fffdf2;
        background-image:
            linear-gradient(#f1eee0 1px, transparent 1px),
            linear-gradient(90deg, #f1eee0 1px, transparent 1px);
        background-size: 20px 20px;
        background-position: -1px -1px;
        border-radius: 14px;
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(217, 119, 6, 0.2);
        position: relative;
        width: 100%;
        max-width: 760px;
        margin: 20px auto;
        padding-top: 14px;
        animation: memoPopIn 0.22s cubic-bezier(0.16, 1, 0.3, 1);
        border-top: 5px solid #f59e0b;
        overflow: visible;
    }

    @keyframes memoPopIn {
        0% {
            transform: scale(0.96) translateY(12px);
            opacity: 0;
        }

        100% {
            transform: scale(1) translateY(0);
            opacity: 1;
        }
    }

    /* Clip metálico realista 3D */
    .memo-metallic-clip {
        position: absolute;
        top: -18px;
        left: 42px;
        width: 24px;
        height: 54px;
        border: 4px solid #94a3b8;
        border-bottom: none;
        border-radius: 14px 14px 0 0;
        background: transparent;
        box-shadow: 2px 5px 10px rgba(0, 0, 0, 0.25), inset 1px 1px 2px rgba(255, 255, 255, 0.95);
        z-index: 1050;
        pointer-events: none;
    }

    .memo-metallic-clip::before {
        content: '';
        position: absolute;
        top: 8px;
        left: 3px;
        width: 10px;
        height: 38px;
        border: 3px solid #64748b;
        border-top: none;
        border-radius: 0 0 10px 10px;
        background: transparent;
    }

    .memo-metallic-clip::after {
        content: '';
        position: absolute;
        bottom: -4px;
        left: -4px;
        width: 24px;
        height: 4px;
        background: rgba(0, 0, 0, 0.15);
        border-radius: 2px;
        filter: blur(1px);
    }

    /* Cinta / Cabecera de Nota Memo */
    .memo-header {
        padding: 16px 28px 12px 76px;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        border-bottom: 1px dashed rgba(217, 119, 6, 0.3);
    }

    .memo-body {
        padding: 24px 28px;
    }

    .memo-card-field {
        background: #ffffff;
        border: 1px solid rgba(217, 119, 6, 0.25);
        border-radius: 10px;
        padding: 18px;
        box-shadow: 0 2px 6px rgba(217, 119, 6, 0.05);
    }

    .memo-card-field .venta-field-label {
        color: #78350f;
        font-weight: 700;
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        margin-bottom: 4px;
        display: block;
    }

    .memo-card-field .venta-field-input {
        background: #fffdf5;
        border: 1px solid #fde68a;
        color: #1e1e1e;
        border-radius: 8px;
        font-size: 0.85rem;
    }

    .memo-card-field .venta-field-input:focus {
        border-color: #f59e0b;
        box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
        background: #ffffff;
    }

    /* Botón Nota en el Path y Tablas (Etapa 1 - Preventa) */
    .btn-memo-note {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 4px 11px;
        background: #fef3c7;
        border: 1px solid #f59e0b;
        color: #92400e !important;
        border-radius: var(--r-pill);
        font-weight: 700;
        font-size: 0.76rem;
        cursor: pointer;
        box-shadow: 0 1px 3px rgba(245, 158, 11, 0.2);
        transition: all 0.15s ease;
        text-decoration: none;
    }

    .btn-memo-note:hover {
        background: #fde68a;
        color: #78350f !important;
        transform: translateY(-1px);
        box-shadow: 0 3px 8px rgba(245, 158, 11, 0.35);
    }

    .btn-memo-note i {
        font-size: 0.85rem;
        color: #d97706;
    }

    /* Botón Ficha de Venta en Tablas (Etapa 2 en adelante - Venta Creada / Gestión) */
    .btn-ficha-action {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 4px 12px;
        background: #ecfdf5;
        border: 1px solid #10b981;
        color: #065f46 !important;
        border-radius: var(--r-pill);
        font-weight: 700;
        font-size: 0.76rem;
        cursor: pointer;
        box-shadow: 0 1px 3px rgba(16, 185, 129, 0.2);
        transition: all 0.15s ease;
        text-decoration: none;
    }

    .btn-ficha-action:hover {
        background: #10b981;
        color: #ffffff !important;
        transform: translateY(-1px);
        box-shadow: 0 3px 8px rgba(16, 185, 129, 0.35);
    }

    .btn-ficha-action i {
        font-size: 0.85rem;
        color: #059669;
    }

    .btn-ficha-action:hover i {
        color: #ffffff;
    }

    /* Botón Asignar / Derivar */
    .btn-assign-action {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 4px 11px;
        background: #fef9c3;
        border: 1px solid #eab308;
        color: #854d0e !important;
        border-radius: var(--r-pill);
        font-weight: 700;
        font-size: 0.76rem;
        cursor: pointer;
        box-shadow: 0 1px 2px rgba(234, 179, 8, 0.2);
        transition: all 0.15s ease;
        text-decoration: none;
    }

    .btn-assign-action:hover {
        background: #eab308;
        color: #000000 !important;
        transform: translateY(-1px);
        box-shadow: 0 3px 8px rgba(234, 179, 8, 0.35);
    }

    /* Botón Devolver al Dueño */
    .btn-revert-action {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 4px 11px;
        background: #fef2f2;
        border: 1px solid #f87171;
        color: #991b1b !important;
        border-radius: var(--r-pill);
        font-weight: 700;
        font-size: 0.76rem;
        cursor: pointer;
        box-shadow: 0 1px 2px rgba(239, 68, 68, 0.15);
        transition: all 0.15s ease;
        text-decoration: none;
    }

    .btn-revert-action:hover {
        background: #ef4444;
        color: #ffffff !important;
        transform: translateY(-1px);
        box-shadow: 0 3px 8px rgba(239, 68, 68, 0.3);
    }

    /* Pill de Etapa en Tabla */
    .btn-stage-pill {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 4px 12px;
        border-radius: var(--r-pill);
        font-family: var(--font-body);
        font-size: 0.76rem;
        font-weight: 700;
        cursor: pointer;
        transition: all 0.15s ease;
        border: 1px solid transparent;
        text-decoration: none;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    }

    .btn-stage-pill.active {
        background: #eff6ff;
        border-color: #93c5fd;
        color: #1e40af !important;
    }

    .btn-stage-pill.active:hover {
        background: #1e40af;
        color: #ffffff !important;
        transform: translateY(-1px);
        box-shadow: 0 3px 8px rgba(30, 64, 175, 0.25);
    }

    .btn-stage-pill.active .stage-tag {
        background: rgba(30, 64, 175, 0.12);
        color: #1e40af;
        padding: 1px 6px;
        border-radius: var(--r-pill);
        font-size: 0.65rem;
        font-weight: 600;
        transition: all 0.15s ease;
    }

    .btn-stage-pill.active:hover .stage-tag {
        background: rgba(255, 255, 255, 0.25);
        color: #ffffff;
    }

    .btn-stage-pill.closed {
        background: #fef2f2;
        border-color: #fca5a5;
        color: #991b1b !important;
    }

    .btn-stage-pill.closed:hover {
        background: #991b1b;
        color: #ffffff !important;
        transform: translateY(-1px);
        box-shadow: 0 3px 8px rgba(153, 27, 27, 0.25);
    }

    .btn-stage-pill.closed .stage-tag {
        background: rgba(153, 27, 27, 0.12);
        color: #991b1b;
        padding: 1px 6px;
        border-radius: var(--r-pill);
        font-size: 0.65rem;
        font-weight: 600;
        transition: all 0.15s ease;
    }

    .btn-stage-pill.closed:hover .stage-tag {
        background: rgba(255, 255, 255, 0.25);
        color: #ffffff;
    }

    /* Badges de Tabla de Alto Contraste */
    .nyx-table-badge {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 2px 8px;
        border-radius: var(--r-pill);
        font-size: 0.70rem;
        font-weight: 700;
        letter-spacing: -0.01em;
        line-height: 1.3;
    }

    .nyx-table-badge.primary {
        background: #eff6ff;
        color: #1e40af;
        border: 1px solid #bfdbfe;
    }

    .nyx-table-badge.warning {
        background: #fffbeb;
        color: #92400e;
        border: 1px solid #fcd34d;
    }

    .nyx-table-badge.info {
        background: #f0f9ff;
        color: #0369a1;
        border: 1px solid #bae6fd;
    }

    .nyx-table-badge.danger {
        background: #fef2f2;
        color: #991b1b;
        border: 1px solid #fca5a5;
    }

    .nyx-table-badge.secondary {
        background: #f8fafc;
        color: #334155;
        border: 1px solid #cbd5e1;
    }

    .nyx-table-badge.success {
        background: #f0fdf4;
        color: #166534;
        border: 1px solid #bbf7d0;
    }

    /* ── RESPONSIVE ADJUSTMENTS ── */
    @media (max-width: 1024px) {
        .nyx-filter-bar .row {
            flex-direction: column;
        }
        .nyx-filter-bar .row > [class*="col-md"] {
            max-width: 100%;
            flex: 0 0 100%;
        }
    }

    @media (max-width: 768px) {
        .asesor-hero-card {
            padding: 18px 16px;
        }

        .venta-modal-box,
        .memo-modal-box {
            max-width: 100%;
            border-radius: var(--r-card);
        }

        .venta-modal-body,
        .memo-body {
            padding: 14px 16px;
        }
    }

    .asesor-lead-card {
        background: #ffffff;
        border-radius: 14px;
        border: 1px solid #cbd5e1;
        box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08), 0 1px 3px rgba(15, 23, 42, 0.04);
        position: relative;
        overflow: visible;
        transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.24s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease;
        display: flex;
        flex-direction: column;
        height: 100%;
        cursor: pointer;
    }

    /* ── RESPIRACIÓN ZOOM CUANDO LE TOCA AL ASESOR ── */
    .asesor-lead-card::after {
        content: '';
        position: absolute;
        top: 0; left: 0; right: 0; bottom: 0;
        border-radius: inherit;
        box-shadow: 0 10px 24px rgba(13, 36, 71, 0.20), 0 0 12px rgba(0, 152, 242, 0.18);
        opacity: 0;
        pointer-events: none;
        z-index: -1;
        transition: opacity 0.3s ease;
    }

    .asesor-lead-card:hover {
        z-index: 5;
        transform: translateY(-4px) scale(1.01) !important;
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.16), 0 4px 8px rgba(15, 23, 42, 0.08) !important;
        border-color: #0098f2 !important;
    }

    .asesor-lead-card:active {
        transform: translateY(-1px) scale(1) !important;
        box-shadow: 0 6px 14px rgba(15, 23, 42, 0.22), 0 2px 5px rgba(15, 23, 42, 0.14) !important;
    }

    .asesor-lead-card.card-dropdown-active {
        box-shadow: 0 14px 30px rgba(15, 23, 42, 0.22), 0 6px 12px rgba(15, 23, 42, 0.12) !important;
        border-color: #0098f2 !important;
    }

    /* ── ANIMACIÓN DE RESPIRACIÓN EN LA PILA (CALL-TO-ACTION CHECKPOINT ACTIVO) ── */
    @keyframes pillBreathePrimary {
        0%, 100% {
            transform: scale(1);
            box-shadow: 0 0 0 0 rgba(0, 152, 242, 0);
            border-color: #bfdbfe;
        }
        50% {
            transform: scale(1.06);
            box-shadow: 0 0 0 4px rgba(0, 152, 242, 0.25), 0 4px 12px rgba(0, 152, 242, 0.35);
            border-color: #0098f2;
            background: #e0f2fe;
        }
    }

    @keyframes pillBreatheSuccess {
        0%, 100% {
            transform: scale(1);
            box-shadow: 0 0 0 0 rgba(22, 163, 74, 0);
            border-color: #bbf7d0;
        }
        50% {
            transform: scale(1.06);
            box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.25), 0 4px 12px rgba(22, 163, 74, 0.35);
            border-color: #16a34a;
            background: #dcfce7;
        }
    }

    @keyframes pillBreatheOmitted {
        0%, 100% {
            transform: scale(1);
            box-shadow: 0 0 0 0 rgba(217, 119, 6, 0);
            border-color: #fde68a;
        }
        50% {
            transform: scale(1.06);
            box-shadow: 0 0 0 4px rgba(217, 119, 6, 0.25), 0 4px 12px rgba(217, 119, 6, 0.35);
            border-color: #d97706;
            background: #fef3c7;
        }
    }

    @keyframes pillBreatheRecurrent {
        0%, 100% {
            transform: scale(1);
            box-shadow: 0 0 0 0 rgba(2, 132, 199, 0);
            border-color: #bae6fd;
        }
        50% {
            transform: scale(1.06);
            box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.25), 0 4px 12px rgba(2, 132, 199, 0.35);
            border-color: #0284c7;
            background: #e0f2fe;
        }
    }

    .card-pill-badge.pill-breathe-pulse {
        position: relative;
        z-index: 3;
        font-weight: 700;
    }

    .card-pill-badge.pill-breathe-pulse.pill-breathe-primary {
        animation: pillBreathePrimary 2.2s ease-in-out infinite;
    }

    .card-pill-badge.pill-breathe-pulse.pill-breathe-success {
        animation: pillBreatheSuccess 2.2s ease-in-out infinite;
    }

    .card-pill-badge.pill-breathe-pulse.pill-breathe-omitted {
        animation: pillBreatheOmitted 2.2s ease-in-out infinite;
    }

    .card-pill-badge.pill-breathe-pulse.pill-breathe-recurrent {
        animation: pillBreatheRecurrent 2.2s ease-in-out infinite;
    }

    .card-pill-badge.pill-breathe-pulse:hover {
        animation: none !important;
        transform: translateY(-1px) scale(1.06) !important;
    }

    .card-pill-badge.pill-breathe-pulse:active {
        animation: none !important;
        transform: translateY(0) scale(0.98) !important;
    }

    .card-accent-stripe {
        display: none !important;
    }

    .card-inner-content {
        padding: 12px 14px;
        display: flex;
        flex-direction: column;
        flex: 1;
        height: 100%;
    }

    .card-stage-info {
        font-size: 0.72rem;
        font-weight: 700;
        color: #334155;
        letter-spacing: -0.01em;
    }

    .card-stage-label {
        display: inline-flex;
        align-items: center;
        color: #1e293b;
        font-size: 0.74rem;
        font-weight: 700;
        max-width: 80%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .card-stage-pct {
        font-size: 0.68rem;
        font-weight: 700;
        color: #64748b;
        font-family: var(--font-mono, monospace);
    }

/* ═══════════════════════════════════════════════════════════════════
   SNACKBAR & TOAST POPUPS - ALWAYS ON TOP OF ANY MODAL OVERLAY
   ═══════════════════════════════════════════════════════════════════ */
.mud-snackbar-provider,
.mud-snackbar-location-top-right,
.mud-snackbar-location-top-center,
.mud-snackbar-location-top-left,
.mud-snackbar-location-bottom-right,
.mud-snackbar-location-bottom-center,
.mud-snackbar-location-bottom-left,
.mud-snackbar-container,
.mud-snackbar,
.toast-container {
    z-index: 99999999 !important;
}

[data-theme="dark"] .nyx-badge.warning,
.theme-dark .nyx-badge.warning,
[data-theme="dark"] .checkpoint-step-pill.pending-accept,
.theme-dark .checkpoint-step-pill.pending-accept,
[data-theme="dark"] .cp-item-pill.current-pill.pending-accept-pill,
.theme-dark .cp-item-pill.current-pill.pending-accept-pill,
[data-theme="dark"] .nyx-table-badge.warning,
.theme-dark .nyx-table-badge.warning,
[data-theme="dark"] .action-badge-pending,
.theme-dark .action-badge-pending,
[data-theme="dark"] .btn-memo-note,
.theme-dark .btn-memo-note {
    background: rgba(245, 158, 11, 0.16) !important;
    color: #FBBF24 !important;
    border-color: rgba(245, 158, 11, 0.45) !important;
}