@charset "UTF-8";
/* ============================================================================
 * NIVO 2026 — capa de diseño sobre empleoperu.css
 * ----------------------------------------------------------------------------
 * 1) Remapeo de tokens: esmeralda → azul (#2563eb) + neutros slate (fríos),
 *    footer navy #0f172a. Coincide con los mockups aprobados por el usuario.
 * 2) Componentes nuevos de las plantillas 2026: portada (hero buscador +
 *    stats frescura + chips ciudad/categoría + guías), ficha rica (2 columnas,
 *    chips técnicos, caja Verificación Nivo, sidebar empresa), guía editorial
 *    (autor, TOC, callout, CTA oscuro), metodología, hub de recursos.
 * ========================================================================== */

/* ──────────────────────────────────────────────────────────────────────────
 * 1. TOKENS 2026
 * ──────────────────────────────────────────────────────────────────────── */
:root {
        /* Azul primario 50–900 */
        --ep-blue-50: #eff6ff;
        --ep-blue-100: #dbeafe;
        --ep-blue-200: #bfdbfe;
        --ep-blue-300: #93c5fd;
        --ep-blue-400: #60a5fa;
        --ep-blue-500: #3b82f6;
        --ep-blue-600: #2563eb;
        --ep-blue-700: #1d4ed8;
        --ep-blue-800: #1e40af;
        --ep-blue-900: #1e3a8a;

        /* Slate (neutros fríos) */
        --ep-slate-50: #f8fafc;
        --ep-slate-100: #f1f5f9;
        --ep-slate-200: #e2e8f0;
        --ep-slate-300: #cbd5e1;
        --ep-slate-400: #94a3b8;
        --ep-slate-500: #64748b;
        --ep-slate-600: #475569;
        --ep-slate-700: #334155;
        --ep-slate-800: #1e293b;
        --ep-slate-900: #0f172a;
        --ep-slate-950: #020617;

        /* Remapeo de tokens derivados (toda la UI base vira a azul) */
        --ep-stone-50: var(--ep-slate-50);
        --ep-stone-100: var(--ep-slate-100);
        --ep-stone-200: var(--ep-slate-200);
        --ep-stone-300: var(--ep-slate-300);
        --ep-stone-400: var(--ep-slate-400);
        --ep-stone-500: var(--ep-slate-500);
        --ep-stone-600: var(--ep-slate-600);
        --ep-stone-700: var(--ep-slate-700);
        --ep-stone-800: var(--ep-slate-800);
        --ep-stone-900: var(--ep-slate-900);
        --ep-stone-950: var(--ep-slate-950);

        --ep-emerald-50: var(--ep-blue-50);
        --ep-emerald-100: var(--ep-blue-100);
        --ep-emerald-200: var(--ep-blue-200);
        --ep-emerald-300: var(--ep-blue-300);
        --ep-emerald-400: var(--ep-blue-400);
        --ep-emerald-500: var(--ep-blue-500);
        --ep-emerald-600: var(--ep-blue-600);
        --ep-emerald-700: var(--ep-blue-700);
        --ep-emerald-800: var(--ep-blue-800);
        --ep-emerald-900: var(--ep-blue-900);

        --ep-primary: var(--ep-blue-600);
        --ep-primary-dark: var(--ep-blue-700);
        --ep-primary-soft: var(--ep-blue-50);
        --ep-primary-border: var(--ep-blue-200);

        --ep-shadow: 0 4px 14px rgba(30, 58, 138, 0.07), 0 1px 3px rgba(15, 23, 42, 0.06);
        --ep-shadow-lg: 0 12px 32px rgba(30, 58, 138, 0.12), 0 4px 10px rgba(15, 23, 42, 0.06);
        --ep-shadow-xl: 0 24px 48px rgba(30, 58, 138, 0.16), 0 8px 20px rgba(15, 23, 42, 0.08);

        /* Verde de verificación (se mantiene verde real, no azul) */
        --nv-green-50: #f0fdf4;
        --nv-green-100: #dcfce7;
        --nv-green-200: #bbf7d0;
        --nv-green-600: #15803d;
        --nv-green-700: #15803d;
        --nv-green-800: #166534;

        /* Ámbar de badges "Nuevo" */
        --nv-amber-bg: #fef9c3;
        --nv-amber-text: #854d0e;

        /* Footer navy */
        --nv-footer: #0f172a;
        --nv-footer-soft: #1e293b;
        --nv-footer-text: #94a3b8;
}

/* ──────────────────────────────────────────────────────────────────────────
 * 2. HEADER 2026 (logo + buscador compacto + nav + crear alerta)
 * ──────────────────────────────────────────────────────────────────────── */
.nv-header {
        background: #fff;
        border-bottom: 1px solid var(--ep-slate-200);
        position: sticky;
        top: 0;
        z-index: 60;
}
.nv-header-in {
        display: flex;
        align-items: center;
        gap: 20px;
        min-height: 72px;
}
.nv-logo {
        display: inline-flex;
        flex-direction: column;
        line-height: 1.05;
        text-decoration: none;
        flex-shrink: 0;
}
.nv-logo b {
        font-size: 1.65rem;
        font-weight: 800;
        color: var(--ep-blue-600);
        letter-spacing: -0.03em;
}
.nv-logo span {
        font-size: 0.78rem;
        font-weight: 600;
        color: var(--ep-slate-800);
}
.nv-header-search {
        display: flex;
        align-items: stretch;
        border: 2px solid var(--ep-blue-600);
        border-radius: 12px;
        overflow: hidden;
        background: #fff;
        flex: 0 1 560px;
}
.nv-header-search input {
        border: 0;
        padding: 10px 14px;
        min-width: 0;
        flex: 2 1 220px;
        font-size: 0.92rem;
        outline-offset: -2px;
}
.nv-header-search input + input {
        border-left: 1px solid var(--ep-slate-200);
        flex: 1 1 170px;
}
.nv-header-search button {
        background: var(--ep-blue-600);
        color: #fff;
        font-weight: 700;
        padding: 0 22px;
        font-size: 0.95rem;
        transition: background var(--ep-transition);
}
.nv-header-search button:hover {
        background: var(--ep-blue-700);
}
.nv-nav {
        margin-left: auto;
        display: flex;
        align-items: center;
        gap: 4px;
}
.nv-nav a {
        color: var(--ep-slate-700);
        text-decoration: none;
        font-weight: 600;
        font-size: 0.95rem;
        padding: 10px 12px;
        border-radius: 8px;
        transition: color var(--ep-transition), background var(--ep-transition);
}
.nv-nav a:hover,
.nv-nav a[aria-current="page"] {
        color: var(--ep-blue-600);
        background: var(--ep-blue-50);
}
.nv-alert-btn {
        margin-left: 8px;
}
.nv-burger {
        display: none;
        margin-left: auto;
        width: 44px;
        height: 44px;
        border-radius: 10px;
        border: 1px solid var(--ep-slate-200);
        align-items: center;
        justify-content: center;
        color: var(--ep-slate-700);
}
@media (max-width: 1080px) {
        .nv-header-search {
                display: none;
        }
}
@media (max-width: 860px) {
        .nv-nav {
                display: none;
        }
        .nv-burger {
                display: inline-flex;
        }
        .nv-alert-btn {
                margin-left: 0;
        }
}
.nv-mobile-nav {
        display: none;
        border-top: 1px solid var(--ep-slate-200);
        background: #fff;
        padding: 10px 0 14px;
}
.nv-mobile-nav.is-open {
        display: block;
}
.nv-mobile-nav a {
        display: block;
        padding: 12px 16px;
        color: var(--ep-slate-800);
        font-weight: 600;
        text-decoration: none;
        border-radius: 10px;
}
.nv-mobile-nav a:hover {
        background: var(--ep-blue-50);
        color: var(--ep-blue-700);
}

/* ──────────────────────────────────────────────────────────────────────────
 * 3. PORTADA 2026
 * ──────────────────────────────────────────────────────────────────────── */
.nv-hero {
        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
        border-bottom: 1px solid var(--ep-slate-200);
        padding: 56px 0 36px;
}
.nv-hero h1 {
        font-size: clamp(2rem, 4.4vw, 3rem);
        font-weight: 800;
        letter-spacing: -0.03em;
        color: var(--ep-slate-900);
}
.nv-hero h1 .nv-accent {
        color: var(--ep-blue-600);
}
.nv-hero-sub {
        margin-top: 10px;
        font-size: 1.08rem;
        color: var(--ep-slate-600);
        max-width: 62ch;
}
.nv-hero-form {
        margin-top: 26px;
        display: flex;
        align-items: stretch;
        background: #fff;
        border: 2px solid var(--ep-blue-600);
        border-radius: 14px;
        box-shadow: var(--ep-shadow-lg);
        max-width: 860px;
        overflow: hidden;
}
.nv-hero-form input {
        border: 0;
        padding: 16px 18px;
        font-size: 1rem;
        min-width: 0;
        flex: 2 1 300px;
}
.nv-hero-form input + input {
        border-left: 1px solid var(--ep-slate-200);
        flex: 1 1 240px;
}
.nv-hero-form button {
        background: var(--ep-blue-600);
        color: #fff;
        font-weight: 700;
        font-size: 1.02rem;
        padding: 0 34px;
        transition: background var(--ep-transition);
}
.nv-hero-form button:hover {
        background: var(--ep-blue-700);
}
@media (max-width: 760px) {
        .nv-hero-form {
                flex-direction: column;
        }
        /* T90: en columna el flex-basis horizontal (300px/240px) se vuelve
         * ALTURA e infla el buscador a ~590px. Se anula en móvil. */
        .nv-hero-form input,
        .nv-hero-form button,
        .nv-hero-form input + input {
                flex: 0 0 auto;
        }
        .nv-hero-form input {
                padding: 12px 14px;
                font-size: 0.95rem;
                min-height: 46px;
        }
        .nv-hero-form input + input {
                border-left: 0;
                border-top: 1px solid var(--ep-slate-200);
        }
        .nv-hero-form button {
                padding: 12px;
                font-size: 0.98rem;
                min-height: 48px;
        }
}
.nv-hero-pop {
        margin-top: 18px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        color: var(--ep-slate-500);
        font-size: 0.92rem;
}
.nv-hero-pop a {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        color: var(--ep-slate-700);
        padding: 8px 14px;
        border-radius: 999px;
        text-decoration: none;
        font-size: 0.9rem;
        transition: border-color var(--ep-transition), color var(--ep-transition);
}
.nv-hero-pop a b {
        color: var(--ep-blue-600);
        font-weight: 700;
}
.nv-hero-pop a:hover {
        border-color: var(--ep-blue-300);
}

.nv-statbar {
        display: flex;
        flex-wrap: wrap;
        gap: 18px 56px;
        padding: 22px 0 26px;
        border-bottom: 1px dashed var(--ep-slate-200);
        margin-top: 30px;
}
.nv-stat b {
        display: block;
        font-size: 1.45rem;
        font-weight: 800;
        color: var(--ep-slate-900);
        letter-spacing: -0.02em;
}
.nv-stat span {
        font-size: 0.88rem;
        color: var(--ep-slate-500);
}

.nv-home-sec {
        padding: 44px 0;
}
.nv-home-head {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 20px;
}
.nv-home-head h2 {
        font-size: 1.5rem;
        font-weight: 800;
        letter-spacing: -0.02em;
}
.nv-home-head a {
        color: var(--ep-blue-600);
        font-weight: 600;
        font-size: 0.95rem;
        text-decoration: none;
}
.nv-home-head a:hover {
        text-decoration: underline;
}
.nv-grid-3 {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
}
@media (max-width: 980px) {
        .nv-grid-3 {
                grid-template-columns: repeat(2, 1fr);
        }
}
@media (max-width: 640px) {
        .nv-grid-3 {
                grid-template-columns: 1fr;
        }
}

/* Tarjeta de oferta 2026 (mockup 1) */
.nv-jobcard {
        position: relative;
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 14px;
        padding: 18px;
        display: flex;
        flex-direction: column;
        gap: 10px;
        text-decoration: none;
        transition: box-shadow var(--ep-transition), transform var(--ep-transition), border-color var(--ep-transition);
        cursor: pointer;
}
.nv-jobcard:hover {
        border-color: var(--ep-blue-300);
        box-shadow: var(--ep-shadow-lg);
        transform: translateY(-2px);
}
.nv-jobcard-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
}
.nv-badge-new {
        background: var(--nv-amber-bg);
        color: var(--nv-amber-text);
        font-size: 0.78rem;
        font-weight: 700;
        padding: 4px 10px;
        border-radius: 999px;
}
/* T302 — badge propio de las publicaciones oficiales de Nivo (azul de marca,
 * distinto del ámbar del «Nuevo» del robot). */
.nv-badge-new--nivo {
        background: var(--nv-green-700);
        color: #fff;
}
.nv-badge-score {
        color: var(--nv-green-700);
        font-size: 0.85rem;
        font-weight: 700;
        white-space: nowrap;
}
.nv-badge-score--ok {
        color: var(--nv-green-700);
}
.nv-badge-score--mid {
        color: var(--ep-blue-700);
}
.nv-jobcard h3 {
        font-size: 1.06rem;
        font-weight: 700;
        color: var(--ep-slate-900);
        line-height: 1.35;
}
.nv-jobcard-company {
        color: var(--ep-slate-500);
        font-size: 0.9rem;
}
.nv-jobcard-company a {
        color: inherit;
}
.nv-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
}
.nv-chip {
        background: var(--ep-slate-100);
        color: var(--ep-slate-600);
        border: 1px solid transparent;
        font-size: 0.8rem;
        font-weight: 600;
        padding: 4px 10px;
        border-radius: 8px;
        text-decoration: none;
}
a.nv-chip:hover {
        border-color: var(--ep-blue-300);
        color: var(--ep-blue-700);
}
.nv-salary {
        font-weight: 700;
        color: var(--ep-blue-600);
        font-size: 0.98rem;
}
.nv-salary small {
        color: var(--ep-slate-500);
        font-weight: 500;
}
.nv-jobcard-foot {
        margin-top: auto;
        padding-top: 8px;
        border-top: 1px dashed var(--ep-slate-200);
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 0.84rem;
        color: var(--ep-slate-500);
}
.nv-verified {
        color: var(--nv-green-700);
        font-weight: 600;
}

/* Explora por ciudad y categoría + guías (2 columnas) */
.nv-explore {
        display: grid;
        grid-template-columns: 1.6fr 1fr;
        gap: 18px;
        align-items: start;
}
@media (max-width: 980px) {
        .nv-explore {
                grid-template-columns: 1fr;
        }
}
.nv-box {
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 14px;
        padding: 22px;
}
.nv-box h2 {
        font-size: 1.2rem;
        font-weight: 800;
        margin-bottom: 14px;
}
.nv-tag-cloud {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
}
.nv-tag {
        display: inline-flex;
        align-items: baseline;
        gap: 7px;
        background: var(--ep-blue-50);
        border: 1px solid var(--ep-blue-100);
        color: var(--ep-blue-700);
        font-weight: 700;
        font-size: 0.92rem;
        padding: 8px 14px;
        border-radius: 10px;
        text-decoration: none;
        transition: background var(--ep-transition);
}
.nv-tag:hover {
        background: var(--ep-blue-100);
}
.nv-tag i {
        font-style: normal;
        font-weight: 600;
        color: var(--ep-slate-500);
        font-size: 0.84rem;
}
.nv-guide-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
}
.nv-guide-list li + li {
        border-top: 1px dashed var(--ep-slate-200);
}
.nv-guide-item {
        display: flex;
        gap: 12px;
        padding: 13px 4px;
        text-decoration: none;
        align-items: flex-start;
}
.nv-guide-num {
        flex-shrink: 0;
        width: 30px;
        height: 30px;
        border-radius: 9px;
        background: var(--ep-blue-50);
        color: var(--ep-blue-700);
        font-weight: 800;
        font-size: 0.9rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
}
.nv-guide-item h3 {
        font-size: 0.98rem;
        font-weight: 700;
        color: var(--ep-slate-900);
        line-height: 1.4;
}
.nv-guide-item:hover h3 {
        color: var(--ep-blue-700);
}
.nv-guide-item p {
        color: var(--ep-slate-500);
        font-size: 0.84rem;
        margin-top: 3px;
}

/* ──────────────────────────────────────────────────────────────────────────
 * 4. FICHA DE EMPLEO 2026 (mockup 2)
 * ──────────────────────────────────────────────────────────────────────── */
.nv-crumbs {
        padding: 16px 0 6px;
        font-size: 0.88rem;
        color: var(--ep-slate-500);
}
.nv-crumbs a {
        color: var(--ep-slate-500);
        text-decoration: none;
}
.nv-crumbs a:hover {
        color: var(--ep-blue-600);
}
.nv-crumbs .sep {
        margin: 0 7px;
        color: var(--ep-slate-300);
}
.nv-crumbs b {
        color: var(--ep-slate-700);
        font-weight: 600;
}
.nv-job-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 330px;
        gap: 34px;
        padding: 18px 0 50px;
        align-items: start;
}
@media (max-width: 1020px) {
        .nv-job-layout {
                grid-template-columns: 1fr;
        }
}
.nv-job-title {
        font-size: clamp(1.6rem, 3vw, 2.1rem);
        font-weight: 800;
        letter-spacing: -0.02em;
        color: var(--ep-slate-900);
}
.nv-job-byline {
        margin-top: 8px;
        color: var(--ep-slate-600);
        font-size: 1rem;
}
.nv-job-byline a {
        color: var(--ep-slate-900);
        font-weight: 700;
        text-decoration: none;
}
.nv-job-byline a:hover {
        color: var(--ep-blue-700);
}
.nv-job-chips {
        margin-top: 16px;
        display: flex;
        flex-wrap: wrap;
        gap: 9px;
}
.nv-tchip {
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        color: var(--ep-slate-600);
        font-size: 0.86rem;
        padding: 7px 12px;
        border-radius: 9px;
}
.nv-tchip b {
        color: var(--ep-slate-900);
        font-weight: 700;
}
.nv-tchip--cta {
        background: var(--ep-blue-50);
        border-color: var(--ep-blue-100);
        color: var(--ep-blue-700);
        font-weight: 600;
}
.nv-section {
        margin-top: 30px;
}
.nv-section > h2 {
        font-size: 1.22rem;
        font-weight: 800;
        letter-spacing: -0.01em;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--ep-slate-200);
        margin-bottom: 14px;
}
.nv-about p {
        color: var(--ep-slate-700);
        font-size: 1.02rem;
        line-height: 1.7;
        margin-bottom: 10px;
}
.nv-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 9px;
}
.nv-list li {
        position: relative;
        padding-left: 20px;
        color: var(--ep-slate-700);
        line-height: 1.6;
        font-size: 0.99rem;
}
.nv-list li::before {
        content: "";
        position: absolute;
        left: 4px;
        top: 0.62em;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--ep-blue-500);
}

/* Caja Verificación Nivo */
.nv-verify {
        margin-top: 30px;
        background: var(--nv-green-50);
        border: 1px solid var(--nv-green-200);
        border-radius: 14px;
        padding: 18px 20px;
}
.nv-verify h2 {
        display: flex;
        align-items: center;
        gap: 8px;
        color: var(--nv-green-800);
        font-size: 1rem;
        font-weight: 800;
        margin-bottom: 8px;
}
.nv-verify p {
        color: var(--nv-green-800);
        font-size: 0.94rem;
        line-height: 1.6;
}
.nv-verify a {
        color: var(--nv-green-700);
        font-weight: 700;
        text-decoration: underline;
}

/* Columna derecha */
/* T187 — la tarjeta de postulación es ESTÁTICA en todas las pantallas:
 * el sticky top:88px hacía que al hacer scroll acompañara al usuario y
 * tapara el contenido que pasa por debajo de la columna. En ≤1020px la
 * tarjeta está oculta (vive el bloque nv-cta-mobile y la barra inferior). */
.nv-cta-card {
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 14px;
        padding: 20px;
        display: flex;
        flex-direction: column;
        gap: 10px;
}
.nv-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border-radius: 11px;
        font-weight: 700;
        font-size: 0.98rem;
        padding: 13px 20px;
        text-decoration: none;
        cursor: pointer;
        transition: background var(--ep-transition), color var(--ep-transition), border-color var(--ep-transition);
        border: 1px solid transparent;
        text-align: center;
}
.nv-btn--primary {
        background: var(--ep-blue-600);
        color: #fff;
}
.nv-btn--primary:hover {
        background: var(--ep-blue-700);
}
.nv-btn--outline {
        background: #fff;
        border-color: var(--ep-slate-300);
        color: var(--ep-slate-800);
}
.nv-btn--outline:hover {
        border-color: var(--ep-blue-400);
        color: var(--ep-blue-700);
}
.nv-btn--sm {
        padding: 10px 16px;
        font-size: 0.9rem;
}
.nv-cta-note {
        color: var(--ep-slate-500);
        font-size: 0.84rem;
        text-align: center;
        line-height: 1.5;
}
.nv-side-card {
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 14px;
        padding: 18px;
        margin-top: 16px;
}
.nv-side-card h2 {
        font-size: 1rem;
        font-weight: 800;
        margin-bottom: 12px;
}
.nv-side-company {
        display: flex;
        gap: 12px;
        align-items: flex-start;
}
.nv-side-company .info p {
        font-size: 0.88rem;
        color: var(--ep-slate-500);
        margin-top: 2px;
}
.nv-side-company .info b {
        font-size: 1rem;
        color: var(--ep-slate-900);
}
.nv-avatar {
        flex-shrink: 0;
        width: 48px;
        height: 48px;
        border-radius: 12px;
        background: var(--ep-blue-600);
        color: #fff;
        font-weight: 800;
        font-size: 1rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        letter-spacing: 0.02em;
}
.nv-side-more {
        display: inline-block;
        margin-top: 10px;
        color: var(--ep-blue-600);
        font-weight: 600;
        font-size: 0.9rem;
        text-decoration: none;
}
.nv-side-more:hover {
        text-decoration: underline;
}
.nv-similar {
        list-style: none;
        padding: 0;
        margin: 0;
}
.nv-similar li + li {
        border-top: 1px dashed var(--ep-slate-200);
}
.nv-similar a {
        display: block;
        padding: 11px 2px;
        text-decoration: none;
}
.nv-similar b {
        display: block;
        color: var(--ep-slate-900);
        font-size: 0.93rem;
        font-weight: 700;
        line-height: 1.4;
}
.nv-similar a:hover b {
        color: var(--ep-blue-700);
}
.nv-similar span {
        color: var(--ep-slate-500);
        font-size: 0.8rem;
}
.nv-prep a {
        display: block;
        padding: 9px 0;
        text-decoration: none;
}
.nv-prep b {
        display: block;
        color: var(--ep-slate-900);
        font-size: 0.92rem;
        line-height: 1.4;
}
.nv-prep a:hover b {
        color: var(--ep-blue-700);
}
.nv-prep span {
        color: var(--ep-slate-500);
        font-size: 0.8rem;
}

/* ──────────────────────────────────────────────────────────────────────────
 * 5. GUÍA EDITORIAL (mockup 3)
 * ──────────────────────────────────────────────────────────────────────── */
.nv-guide {
        max-width: 780px;
        padding: 18px 0 60px;
}
.nv-guide h1 {
        font-size: clamp(1.7rem, 3.2vw, 2.3rem);
        font-weight: 800;
        letter-spacing: -0.02em;
        line-height: 1.25;
}
.nv-author {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-top: 22px;
}
.nv-author-n {
        flex: 0 0 auto; /* T173: no dejar que el texto largo lo aplaste (quedaba en 23px) */
        width: 46px;
        height: 46px;
        border-radius: 50%;
        background: var(--ep-blue-600);
        color: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-weight: 800;
        font-size: 0.9rem;
}
.nv-author b {
        display: block;
        font-size: 0.98rem;
        color: var(--ep-slate-900);
}
/* T173: `div span` (0,1,2) en vez de `span` (0,1,1) — el selector genérico
 * pisaba display:inline-flex de .nv-author-n y recortaba las iniciales. */
.nv-author div span {
        display: block;
        color: var(--ep-slate-500);
        font-size: 0.86rem;
}
.nv-guide-dates {
        margin-top: 12px;
        color: var(--ep-slate-500);
        font-size: 0.88rem;
}
.nv-toc {
        background: var(--ep-slate-50);
        border: 1px solid var(--ep-slate-200);
        border-radius: 14px;
        padding: 20px 24px;
        margin: 24px 0 28px;
}
.nv-toc h2 {
        font-size: 0.8rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        color: var(--ep-slate-500);
        text-transform: uppercase;
        margin-bottom: 10px;
}
.nv-toc ol {
        margin: 0;
        padding-left: 20px;
        color: var(--ep-slate-700);
}
.nv-toc a {
        color: var(--ep-blue-600);
        text-decoration: none;
        font-weight: 600;
}
.nv-toc a:hover {
        text-decoration: underline;
}
.nv-prose {
        color: var(--ep-slate-700);
        font-size: 1.03rem;
        line-height: 1.75;
}
.nv-prose p {
        margin-bottom: 16px;
}
.nv-prose h2 {
        font-size: 1.35rem;
        font-weight: 800;
        letter-spacing: -0.01em;
        margin: 34px 0 14px;
        color: var(--ep-slate-900);
}
.nv-prose h3 {
        font-size: 1.08rem;
        font-weight: 700;
        margin: 24px 0 10px;
        color: var(--ep-slate-900);
}
.nv-prose ul,
.nv-prose ol {
        margin: 0 0 16px 22px;
        display: flex;
        flex-direction: column;
        gap: 8px;
}
.nv-prose table {
        width: 100%;
        border-collapse: collapse;
        margin: 0 0 20px;
        font-size: 0.94rem;
}
.nv-prose th {
        text-align: left;
        background: var(--ep-slate-100);
        color: var(--ep-slate-800);
        padding: 10px 12px;
        border: 1px solid var(--ep-slate-200);
        font-weight: 700;
}
.nv-prose td {
        padding: 10px 12px;
        border: 1px solid var(--ep-slate-200);
        color: var(--ep-slate-700);
}
.nv-prose blockquote {
        border-left: 4px solid var(--ep-blue-500);
        background: var(--ep-blue-50);
        padding: 12px 16px;
        border-radius: 0 10px 10px 0;
        margin: 0 0 16px;
        color: var(--ep-slate-800);
}
.nv-prose .ep-callout {
        border-left: 4px solid var(--ep-blue-500);
        background: var(--ep-blue-50);
        padding: 12px 16px;
        border-radius: 0 10px 10px 0;
        color: var(--ep-slate-800);
        margin-bottom: 16px;
}
.nv-guide-cta {
        margin-top: 34px;
        background: var(--nv-footer);
        border-radius: 16px;
        padding: 24px 26px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        flex-wrap: wrap;
}
.nv-guide-cta b {
        color: #fff;
        font-size: 1.1rem;
        display: block;
}
.nv-guide-cta span {
        color: var(--nv-footer-text);
        font-size: 0.92rem;
}
.nv-guide-cta .nv-btn {
        background: var(--ep-blue-600);
        color: #fff;
}
.nv-guide-foot {
        margin-top: 22px;
        color: var(--ep-slate-500);
        font-size: 0.88rem;
}
.nv-guide-foot a {
        color: var(--ep-blue-600);
        font-weight: 600;
}

/* ──────────────────────────────────────────────────────────────────────────
 * 6. HUB DE RECURSOS + METODOLOGÍA
 * ──────────────────────────────────────────────────────────────────────── */
.nv-res-hero {
        padding: 42px 0 10px;
}
.nv-res-hero h1 {
        font-size: clamp(1.7rem, 3vw, 2.2rem);
        font-weight: 800;
        letter-spacing: -0.02em;
}
.nv-res-hero p {
        margin-top: 8px;
        color: var(--ep-slate-600);
        max-width: 65ch;
}
.nv-res-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
        padding: 26px 0 56px;
}
@media (max-width: 980px) {
        .nv-res-grid {
                grid-template-columns: repeat(2, 1fr);
        }
}
@media (max-width: 640px) {
        /* T86: 2 columnas también en móvil — la tarjeta compacta muestra
         * título + descripción recortada; nada de filas gigantes de 1 col. */
        .nv-res-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 10px;
                padding: 18px 0 44px;
        }
        .nv-res-card {
                padding: 13px 12px 11px;
                border-radius: 12px;
                gap: 7px;
                min-width: 0;
        }
        .nv-res-card h2 {
                font-size: 0.87rem;
                line-height: 1.32;
                display: -webkit-box;
                -webkit-line-clamp: 3;
                -webkit-box-orient: vertical;
                overflow: hidden;
        }
        .nv-res-card p {
                font-size: 0.76rem;
                line-height: 1.45;
                display: -webkit-box;
                -webkit-line-clamp: 3;
                -webkit-box-orient: vertical;
                overflow: hidden;
        }
        .nv-res-card .meta {
                font-size: 0.66rem;
                line-height: 1.4;
                padding-top: 7px;
        }
}
.nv-res-card {
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 14px;
        padding: 20px;
        display: flex;
        flex-direction: column;
        gap: 9px;
        text-decoration: none;
        transition: box-shadow var(--ep-transition), border-color var(--ep-transition), transform var(--ep-transition);
}
.nv-res-card:hover {
        border-color: var(--ep-blue-300);
        box-shadow: var(--ep-shadow-lg);
        transform: translateY(-2px);
}
.nv-res-card h2 {
        font-size: 1.02rem;
        font-weight: 700;
        color: var(--ep-slate-900);
        line-height: 1.4;
}
.nv-res-card p {
        color: var(--ep-slate-600);
        font-size: 0.88rem;
        line-height: 1.55;
}
.nv-res-card .meta {
        margin-top: auto;
        padding-top: 8px;
        border-top: 1px dashed var(--ep-slate-200);
        color: var(--ep-slate-500);
        font-size: 0.8rem;
}
.nv-met-cards {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
        margin: 28px 0;
}
@media (max-width: 900px) {
        .nv-met-cards {
                grid-template-columns: 1fr;
        }
}
.nv-met-card {
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 14px;
        padding: 22px;
}
.nv-met-card .num {
        width: 34px;
        height: 34px;
        border-radius: 10px;
        background: var(--ep-blue-600);
        color: #fff;
        font-weight: 800;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 12px;
}
.nv-met-card h2 {
        font-size: 1.05rem;
        font-weight: 800;
        margin-bottom: 8px;
}
.nv-met-card p {
        color: var(--ep-slate-600);
        font-size: 0.93rem;
        line-height: 1.6;
}
.nv-note-amber {
        background: #fefce8;
        border: 1px solid #fde68a;
        color: #713f12;
        border-radius: 14px;
        padding: 18px 20px;
        font-size: 0.95rem;
        line-height: 1.6;
}

/* ──────────────────────────────────────────────────────────────────────────
 * 7. FOOTER NAVY 2026
 * ──────────────────────────────────────────────────────────────────────── */
.nv-footer {
        background: var(--nv-footer);
        color: var(--nv-footer-text);
        margin-top: auto;
        padding: 46px 0 28px;
}
.nv-footer-in {
        display: grid;
        grid-template-columns: 1.4fr 1fr 1fr 1fr;
        gap: 34px;
}
@media (max-width: 900px) {
        .nv-footer-in {
                grid-template-columns: 1fr 1fr;
        }
}
@media (max-width: 560px) {
        .nv-footer-in {
                grid-template-columns: 1fr;
        }
}
.nv-footer .nv-logo b {
        color: #fff;
}
.nv-footer .nv-logo span {
        color: var(--nv-footer-text);
}
.nv-footer-about {
        margin-top: 12px;
        font-size: 0.88rem;
        line-height: 1.6;
        max-width: 34ch;
}
.nv-footer h3 {
        color: #e2e8f0;
        font-size: 0.8rem;
        font-weight: 800;
        letter-spacing: 0.09em;
        text-transform: uppercase;
        margin-bottom: 14px;
}
.nv-footer ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 9px;
}
.nv-footer a {
        color: var(--nv-footer-text);
        text-decoration: none;
        font-size: 0.9rem;
}
.nv-footer a:hover {
        color: #fff;
}
.nv-footer-bottom {
        border-top: 1px solid var(--nv-footer-soft);
        margin-top: 36px;
        padding-top: 20px;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
        justify-content: space-between;
        font-size: 0.84rem;
}

/* Utilidades */
.nv-container {
        max-width: var(--ep-container);
        margin: 0 auto;
        padding: 0 20px;
}
.nv-muted {
        color: var(--ep-slate-500);
}

/* ──────────────────────────────────────────────────────────────────────────
 * 8. Ajustes finos de la ficha y la tarjeta
 * ──────────────────────────────────────────────────────────────────────── */
.nv-jobcard-title {
        margin: 0;
}
.nv-jobcard-title a {
        color: inherit;
        text-decoration: none;
}
.nv-jobcard-actions {
        position: absolute;
        top: 44px;
        right: 12px;
        display: flex;
        flex-direction: column;
        gap: 6px;
        opacity: 0.45;
        transition: opacity var(--ep-transition);
}
.nv-jobcard:hover .nv-jobcard-actions {
        opacity: 1;
}
.nv-job-main {
        min-width: 0;
}
.nv-job-side {
        min-width: 0;
}
/* T90: el contenido principal (H1 + descripción) SIEMPRE primero en móvil.
 * La barra lateral fluye después (sin order:-1). La CTA de escritorio se
 * oculta en móvil: vive en el bloque nv-cta-mobile y en la barra inferior. */
@media (max-width: 1020px) {
        .nv-cta-card {
                display: none;
        }
}
.nv-job-main .nv-section:first-of-type {
        margin-top: 26px;
}

/* ──────────────────────────────────────────────────────────────────────────
 * 20. T90 — ficha: chips ★ calidad / ✓ verificada, CTA móvil, FAQ,
 *     más empleos por ciudad y barra inferior fija.
 * ──────────────────────────────────────────────────────────────────────── */
.nv-tchip--quality {
        background: #fffbeb;
        border-color: #fde68a;
        color: #92400e;
        font-weight: 700;
        text-decoration: none;
}
.nv-tchip--quality:hover {
        border-color: #f59e0b;
}
.nv-tchip--quality .nv-tchip-q {
        font-weight: 500;
        color: #b45309;
}
.nv-tchip--verified {
        background: #f0fdf4;
        border-color: #bbf7d0;
        color: #166534;
        font-weight: 700;
}
.nv-tchip i {
        font-style: normal;
        color: var(--ep-slate-500);
        font-weight: 500;
}

/* CTA móvil dentro del contenido (escritorio: la CTA vive en la sidebar). */
.nv-cta-mobile {
        display: none;
        margin-top: 18px;
}
.nv-cta-mobile .nv-btn--block {
        width: 100%;
        text-align: center;
        padding: 15px 18px;
        font-size: 1.02rem;
}
.nv-cta-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 10px;
}
@media (max-width: 1020px) {
        .nv-cta-mobile {
                display: block;
        }
}

/* FAQ de la ficha. */
.nv-faq {
        margin-top: 34px;
        background: #f8fafc;
        border: 1px solid var(--ep-slate-200);
        border-radius: 16px;
        padding: 22px 24px;
}
.nv-faq > h2 {
        font-size: 1.12rem;
        margin: 0 0 8px;
        color: var(--ep-slate-900);
}
.nv-faq-item + .nv-faq-item {
        border-top: 1px dashed var(--ep-slate-200);
        margin-top: 14px;
        padding-top: 14px;
}
.nv-faq-item h3 {
        font-size: 0.98rem;
        font-weight: 700;
        color: var(--ep-slate-900);
        margin: 0 0 6px;
}
.nv-faq-item p {
        margin: 0;
        color: var(--ep-slate-600);
        font-size: 0.95rem;
        line-height: 1.65;
}
.nv-faq-item a {
        color: var(--ep-blue-700);
        font-weight: 600;
        text-decoration: none;
}
.nv-faq-item a:hover {
        text-decoration: underline;
}

/* Más empleos en {ciudad}. */
.nv-more-city {
        margin-top: 30px;
        padding-top: 4px;
}
.nv-more-city h2 {
        font-size: 1.05rem;
        margin: 0 0 12px;
        color: var(--ep-slate-900);
}
.nv-more-city .nv-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 9px;
}
.nv-more-city .nv-tchip {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        text-decoration: none;
}
.nv-more-city .nv-tchip:hover {
        border-color: var(--ep-blue-300);
}

/* Barra inferior fija (solo móvil). */
.nv-bottombar {
        display: none;
}
@media (max-width: 1020px) {
        .nv-bottombar {
                position: fixed;
                left: 0;
                right: 0;
                bottom: 0;
                z-index: 90;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 12px;
                background: #ffffff;
                border-top: 1px solid var(--ep-slate-200);
                box-shadow: 0 -10px 30px rgba(15, 23, 42, 0.10);
                padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
        }
        .nv-bottombar .nv-btn {
                flex: 1 1 auto;
                text-align: center;
                padding: 13px 16px;
                font-size: 1rem;
        }
        .nv-bottombar-txt {
                display: flex;
                flex-direction: column;
                line-height: 1.25;
        }
        .nv-bottombar-txt b {
                font-size: 0.92rem;
                color: var(--ep-slate-900);
        }
        .nv-bottombar-txt span {
                font-size: 0.78rem;
                color: var(--ep-slate-500);
        }
        body.single-ep_job {
                padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px));
        }
}

/* ──────────────────────────────────────────────────────────────────────────
 * 21. T90 — portada: categorías, convocatorias, empresas, confianza.
 * ──────────────────────────────────────────────────────────────────────── */
.nv-cats-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
}
.nv-cat-card {
        display: flex;
        flex-direction: column;
        gap: 2px;
        background: #f8fafc;
        border: 1px solid var(--ep-slate-200);
        border-radius: 14px;
        padding: 16px 18px;
        text-decoration: none;
        transition: border-color var(--ep-transition), background var(--ep-transition), transform var(--ep-transition);
}
.nv-cat-card b {
        font-size: 1rem;
        font-weight: 700;
        color: var(--ep-slate-900);
}
.nv-cat-card span {
        font-size: 0.88rem;
        font-weight: 700;
        color: var(--ep-blue-600);
}
.nv-cat-card i {
        font-style: normal;
        font-size: 0.82rem;
        color: var(--ep-slate-500);
        margin-top: 3px;
}
.nv-cat-card:hover {
        border-color: var(--ep-blue-300);
        background: #fff;
        transform: translateY(-1px);
}
@media (max-width: 980px) {
        .nv-cats-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
        }
}

.nv-conv-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
}
.nv-conv-card {
        display: flex;
        flex-direction: column;
        gap: 6px;
        background: #fffbeb;
        border: 1px solid #fde68a;
        border-radius: 14px;
        padding: 16px 18px;
        text-decoration: none;
        transition: border-color var(--ep-transition), box-shadow var(--ep-transition);
}
.nv-conv-card:hover {
        border-color: #f59e0b;
        box-shadow: var(--ep-shadow-lg);
}
.nv-conv-kicker {
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        color: #92400e;
}
.nv-conv-card b {
        font-size: 0.97rem;
        line-height: 1.45;
        color: var(--ep-slate-900);
}
.nv-conv-meta {
        font-size: 0.84rem;
        color: #a16207;
}
@media (max-width: 980px) {
        .nv-conv-grid {
                grid-template-columns: 1fr;
        }
}

.nv-companies-row {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
}
.nv-company-chip {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 12px;
        padding: 8px 14px 8px 8px;
        text-decoration: none;
        transition: border-color var(--ep-transition);
}
.nv-company-chip:hover {
        border-color: var(--ep-blue-300);
}
.nv-company-chip .ep-avatar {
        width: 34px;
        height: 34px;
        font-size: 0.8rem;
        border-radius: 9px;
}
.nv-company-chip .info {
        display: flex;
        flex-direction: column;
        line-height: 1.3;
}
.nv-company-chip .info b {
        font-size: 0.9rem;
        color: var(--ep-slate-900);
        max-width: 190px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
}
.nv-company-chip .info i {
        font-style: normal;
        font-size: 0.78rem;
        color: var(--ep-slate-500);
}

.nv-trust-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
}
.nv-trust-box {
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 14px;
        padding: 18px 20px;
}
.nv-trust-box h3 {
        font-size: 1rem;
        margin: 0 0 6px;
        color: var(--ep-slate-900);
}
.nv-trust-box p {
        margin: 0;
        font-size: 0.92rem;
        line-height: 1.6;
        color: var(--ep-slate-600);
}
.nv-trust-box a {
        color: var(--ep-blue-700);
        font-weight: 600;
        text-decoration: none;
}
.nv-trust-box a:hover {
        text-decoration: underline;
}
@media (max-width: 980px) {
        .nv-trust-grid {
                grid-template-columns: 1fr;
        }
}

/* ──────────────────────────────────────────────────────────────────────────
 * 22. T90 — portada compacta en móvil (buscador ≤180px, stats 2×2,
 *     secciones con menos aire, tarjetas visibles pronto).
 * ──────────────────────────────────────────────────────────────────────── */
@media (max-width: 760px) {
        .nv-hero {
                padding: 26px 0 22px;
        }
        .nv-hero h1 {
                font-size: 1.72rem;
                line-height: 1.2;
        }
        .nv-hero-sub {
                margin-top: 6px;
                font-size: 0.95rem;
                line-height: 1.5;
        }
        .nv-hero-form {
                margin-top: 14px;
                max-width: none;
        }
        .nv-hero-form input {
                padding: 12px 14px;
                font-size: 0.95rem;
        }
        .nv-hero-form button {
                padding: 12px;
                font-size: 0.98rem;
        }
        /* T193 — móvil: los chips ENVUELVEN en varias filas (todos visibles).
         * Antes: nowrap + overflow-x:auto + scrollbar oculto → el contenido se
         * cortaba a la derecha y el usuario no veía las demás búsquedas. */
        .nv-hero-pop {
                margin-top: 12px;
                flex-wrap: wrap;
                row-gap: 8px;
        }
        .nv-hero-pop a {
                flex: 0 0 auto;
                min-height: 34px;
                padding: 7px 12px;
                font-size: 0.85rem;
        }
        .nv-statbar {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 10px 14px;
                margin-top: 18px;
                padding: 14px 0 16px;
        }
        .nv-stat b {
                font-size: 1.18rem;
        }
        .nv-stat span {
                font-size: 0.8rem;
        }
        .nv-home-sec {
                padding: 26px 0;
        }
        .nv-grid-3 {
                gap: 12px;
        }
        .nv-crumbs {
                padding-top: 10px;
        }
        .nv-job-title {
                font-size: 1.45rem;
        }
        .nv-verify {
                padding: 16px 16px;
        }
        .nv-faq {
                padding: 18px 16px;
        }
}
/* ═══════════════════════════════════════════════════════════════════════
   T92 — Directorio empresas, tabla de salarios, landings de categoría
   ═══════════════════════════════════════════════════════════════════════ */

.nv-salary-wrap {
        overflow-x: auto;
        border: 1px solid var(--ep-slate-200);
        border-radius: 14px;
        background: #fff;
        -webkit-overflow-scrolling: touch;
}
.nv-salary-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.92rem;
        min-width: 620px;
}
.nv-salary-table th,
.nv-salary-table td {
        padding: 10px 14px;
        text-align: left;
        border-bottom: 1px solid var(--ep-slate-100);
}
.nv-salary-table tbody tr:last-child td {
        border-bottom: none;
}
.nv-salary-table thead th {
        background: #f8fafc;
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--ep-slate-500);
        white-space: nowrap;
}
.nv-salary-table tbody tr:hover {
        background: #f8fafc;
}
.nv-salary-table td.num,
.nv-salary-table th.num {
        text-align: right;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
}
.nv-salary-table td.role a {
        color: var(--ep-blue-700);
        font-weight: 600;
        text-decoration: none;
}
.nv-salary-table td.role a:hover {
        text-decoration: underline;
}
.nv-salary-note {
        font-size: 0.84rem;
        color: var(--ep-slate-500);
        margin-top: 10px;
}

/* Landings de categoría (/empleos-de-{slug}/) */
.nv-cat-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 14px 0 4px;
}
.nv-cat-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 999px;
        padding: 6px 12px;
        font-size: 0.82rem;
        color: var(--ep-slate-700);
}
.nv-cat-chip b {
        color: var(--ep-slate-900);
}
.nv-cat-more {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-top: 18px;
        font-weight: 600;
        color: var(--ep-blue-700);
        text-decoration: none;
}
.nv-cat-more:hover {
        text-decoration: underline;
}
.nv-crosslinks {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 10px;
        margin-top: 14px;
}
.nv-crosslink {
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 12px;
        padding: 12px 14px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        text-decoration: none;
        color: var(--ep-slate-800);
        font-size: 0.9rem;
        font-weight: 500;
}
.nv-crosslink:hover {
        border-color: var(--ep-blue-300);
}
.nv-crosslink i {
        font-style: normal;
        color: var(--ep-slate-500);
        font-size: 0.78rem;
        white-space: nowrap;
}
.ep-view-h2 {
        font-size: 1.25rem;
        font-weight: 700;
        color: var(--ep-slate-900);
        margin-bottom: 12px;
}

@media (max-width: 640px) {
        .nv-crosslinks {
                grid-template-columns: 1fr;
        }
}

/* ═══════════════════════════════════════════════════════════════════════
   T82 — Convocatoria pública: bases oficiales y postulación
   Bloque de la ficha ep_job (source Convocatorias) con los documentos
   oficiales que la entidad publica (bases, cronograma, anexos) y el
   canal de postulación. Estatus 2026-10.
   ═══════════════════════════════════════════════════════════════════════ */
.nv-conv {
    margin-top: 30px;
    background: linear-gradient(180deg, var(--ep-blue-50) 0%, #ffffff 46%);
    border: 1px solid var(--ep-blue-200);
    border-radius: 14px;
    padding: 20px 22px 18px;
}
.nv-conv > h2 {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--ep-slate-900);
    margin-bottom: 10px;
}
.nv-conv-intro {
    margin: 0 0 14px;
    color: var(--ep-slate-600);
    font-size: 0.95rem;
    line-height: 1.6;
}
.nv-conv-deadline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    padding: 7px 12px;
    border-radius: 9px;
    font-size: 0.9rem;
    font-weight: 700;
}
.nv-conv-deadline.is-open {
    background: var(--nv-green-50);
    color: var(--nv-green-800);
    border: 1px solid var(--nv-green-200);
}
.nv-conv-deadline.is-closed {
    background: var(--ep-slate-100);
    color: var(--ep-slate-600);
    border: 1px solid var(--ep-slate-200);
}
.nv-conv-docs {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: grid;
    gap: 8px;
}
.nv-conv-docs a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid var(--ep-slate-200);
    border-radius: 10px;
    text-decoration: none;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}
.nv-conv-docs a:hover,
.nv-conv-docs a:focus-visible {
    border-color: var(--ep-blue-300);
    box-shadow: 0 3px 12px rgba(37, 99, 235, 0.1);
    transform: translateY(-1px);
}
.nv-doc-badge {
    flex: 0 0 auto;
    min-width: 42px;
    text-align: center;
    padding: 4px 7px;
    border-radius: 7px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}
.nv-doc-badge--pdf {
    background: #fdeceb;
    color: #b3261e;
}
.nv-doc-badge--doc {
    background: #fef3e2;
    color: #9a5b13;
}
.nv-doc-badge--xls {
    background: #e9f7ef;
    color: #1e7a46;
}
.nv-doc-badge--web {
    background: var(--ep-slate-100);
    color: var(--ep-slate-600);
}
.nv-doc-txt {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.nv-doc-txt b {
    color: var(--ep-slate-800);
    font-size: 0.93rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.nv-doc-txt i {
    font-style: normal;
    color: var(--ep-slate-500);
    font-size: 0.78rem;
}
.nv-doc-arrow {
    flex: 0 0 auto;
    color: var(--ep-blue-500);
    font-weight: 800;
}
.nv-conv-apply {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin: 0 0 14px;
}
.nv-conv-apply-note {
    flex: 1 1 220px;
    min-width: 200px;
    color: var(--ep-slate-500);
    font-size: 0.83rem;
    line-height: 1.5;
}
.nv-conv-note {
    margin: 0;
    padding-top: 10px;
    border-top: 1px dashed var(--ep-slate-200);
    color: var(--ep-slate-500);
    font-size: 0.8rem;
    line-height: 1.55;
}
.nv-conv-note a {
    color: var(--ep-blue-600);
    font-weight: 700;
}
/* T283 — cita de la guía «Cómo postular en convocatorias del Estado»
   arriba de las fichas de convocatoria. */
.nv-guide-callout {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 16px;
    padding: 11px 14px;
    background: var(--ep-blue-50);
    border: 1px solid var(--ep-blue-100);
    border-left: 3px solid var(--ep-blue-500);
    border-radius: 10px;
}
.nv-guide-callout-k {
    flex: 0 0 auto;
    margin-top: 2px;
    padding: 2px 8px;
    background: var(--ep-blue-500);
    color: #fff;
    border-radius: 999px;
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.nv-guide-callout p {
    margin: 0;
    color: var(--ep-slate-600);
    font-size: 0.86rem;
    line-height: 1.55;
}
.nv-guide-callout a {
    color: var(--ep-blue-600);
    font-weight: 700;
    text-decoration: none;
}
.nv-guide-callout a:hover {
    text-decoration: underline;
}
/* T283 — postulación por correo declarada en las bases. */
.nv-conv-mail {
    margin: 0 0 14px;
    padding: 13px 15px;
    background: var(--ep-slate-50);
    border: 1px solid var(--ep-slate-200);
    border-radius: 10px;
}
.nv-conv-mail > b {
    display: block;
    margin: 0 0 4px;
    color: var(--ep-slate-800);
    font-size: 0.9rem;
}
.nv-conv-mail p {
    margin: 0 0 9px;
    color: var(--ep-slate-500);
    font-size: 0.83rem;
    line-height: 1.55;
}
.nv-mail-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 8px 8px 0;
    padding: 8px 13px;
    background: #fff;
    border: 1px solid var(--ep-blue-200);
    border-radius: 8px;
    color: var(--ep-blue-600);
    font-weight: 700;
    font-size: 0.88rem;
    overflow-wrap: anywhere;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.nv-mail-btn:hover {
    border-color: var(--ep-blue-500);
    box-shadow: 0 2px 8px rgba(37, 99, 235, .12);
}
.nv-conv-mail-note {
    display: block;
    color: var(--ep-slate-500);
    font-size: 0.76rem;
    line-height: 1.5;
}
@media (max-width: 760px) {
    .nv-guide-callout {
        padding: 10px 12px;
        gap: 8px;
    }
    .nv-mail-btn {
        width: 100%;
        justify-content: center;
    }
}
@media (max-width: 760px) {
    .nv-conv {
        padding: 16px;
    }
    .nv-conv-apply .nv-btn {
        width: 100%;
        text-align: center;
    }
}

/* ════════ E85 — PROMPT E (calidad + AdSense) ════════ */

/* F4.6 — resumen de 1 línea en tarjetas de listado */
.nv-jobcard-sum {
        margin: 2px 0 10px;
        font-size: 13px;
        line-height: 1.45;
        color: var(--nv-ink-2, #55606b);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
}

/* F4.5 — diálogo de preferencias de cookies */
.ep-consent-row {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 14px;
        border: 1px solid var(--ep-line, #e5e9ee);
        border-radius: 10px;
        margin-bottom: 10px;
        cursor: pointer;
}
.ep-consent-row input[type="checkbox"] {
        width: 18px;
        height: 18px;
        margin-top: 3px;
        flex: 0 0 auto;
        accent-color: var(--ep-primary, #0f766e);
}
.ep-consent-row-txt { display: block; }
.ep-consent-row-txt b { display: block; font-size: 14px; margin-bottom: 2px; }
.ep-consent-row-txt small { display: block; font-size: 12.5px; line-height: 1.45; color: var(--ep-ink-2, #5c6b7a); }
.ep-consent-dlg-actions { margin-top: 14px; }
.ep-consent-modal .ep-modal-card { max-width: 520px; }

/* E3a — bloque de archivo de convocatoria cerrada */
.ep-conv-archive { margin-top: 18px; }
.ep-conv-archive p { font-size: 14.5px; line-height: 1.65; color: var(--ep-ink, #25313d); }

/* E3.1 — prosa y FAQ en páginas salariales */
.ep-prose p { font-size: 14.5px; line-height: 1.7; color: var(--ep-ink, #25313d); margin: 0 0 12px; }
.ep-faq-list h3 { font-size: 15px; margin: 16px 0 4px; }
.ep-faq-list p { margin: 0 0 8px; font-size: 14px; }
.ep-links-list { list-style: none; margin: 0; padding: 0; }
.ep-links-list li { margin: 0 0 8px; }
.ep-links-list a { font-size: 14px; font-weight: 600; }


/* ═══ VA — valor añadido en fichas: radar, referente, ¿es para ti?,
 * skills enlazadas y mini-cards (similares / más empleos) ═══ */
.nv-radar {
        margin: 10px 0 0;
        font-size: 0.86rem;
        color: var(--ep-slate-500);
}
.nv-radar b { color: var(--ep-slate-900); font-weight: 700; }
.nv-radar a { color: var(--ep-blue-700); font-weight: 600; text-decoration: none; }
.nv-radar a:hover { text-decoration: underline; }

.nv-refband {
        margin-top: 14px;
        padding: 12px 14px;
        background: var(--ep-blue-50);
        border: 1px solid var(--ep-blue-200);
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px 16px;
        flex-wrap: wrap;
}
.nv-refband p { margin: 0; font-size: 0.88rem; line-height: 1.55; color: var(--ep-slate-700); }
.nv-refband p b { color: var(--ep-slate-900); }
.nv-refband a {
        color: var(--ep-blue-700);
        font-weight: 700;
        font-size: 0.85rem;
        white-space: nowrap;
        text-decoration: underline;
        text-underline-offset: 2px;
}

.nv-foryou {
        margin-top: 30px;
        padding: 16px 18px;
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-left: 4px solid var(--ep-blue-600);
        border-radius: 12px;
}
.nv-foryou h2 { margin: 0 0 10px; font-size: 1.05rem; font-weight: 800; color: var(--ep-slate-900); }
.nv-foryou ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.nv-foryou li { font-size: 0.95rem; line-height: 1.5; color: var(--ep-slate-700); }
.nv-foryou .nv-fy-ck { color: var(--ep-blue-700); font-weight: 800; margin-right: 2px; }

.nv-tchip--link { text-decoration: none; transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease; }
.nv-tchip--link:hover { border-color: var(--ep-blue-400); background: var(--ep-blue-50); color: var(--ep-blue-700); }

.nv-similar .nv-mc-sal { display: block; margin-top: 3px; color: var(--ep-blue-700); font-size: 0.82rem; font-weight: 700; }
.nv-similar .nv-mc-ver { display: block; margin-top: 2px; color: var(--ep-slate-500); font-size: 0.78rem; }

.nv-minigrid { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.nv-minigrid a {
        display: block;
        padding: 10px 12px;
        border: 1px solid var(--ep-slate-200);
        border-radius: 10px;
        text-decoration: none;
        transition: border-color 0.15s ease, background 0.15s ease;
}
.nv-minigrid a:hover { border-color: var(--ep-blue-300); background: var(--ep-blue-50); }
.nv-minigrid b { display: block; color: var(--ep-slate-900); font-size: 0.88rem; font-weight: 700; line-height: 1.4; }
.nv-minigrid a:hover b { color: var(--ep-blue-700); }
.nv-minigrid .nv-mc-sal { display: block; margin-top: 3px; color: var(--ep-blue-700); font-size: 0.8rem; font-weight: 700; }
.nv-minigrid .nv-mc-ver { display: block; margin-top: 2px; color: var(--ep-slate-500); font-size: 0.76rem; }

@media (max-width: 760px) {
        .nv-refband { padding: 11px 12px; }
        .nv-refband a { white-space: normal; }
        .nv-foryou { padding: 13px 14px; margin-top: 24px; }
        .nv-minigrid a { padding: 9px 11px; }
}
/* ──────────────────────────────────────────────────────────────────────────
 * 20. HUB DE RECURSOS 2.0 — T93 (prefijo nvr-)
 * Hero azul con stats, herramientas, chips por categoría, secciones con
 * color por categoría, plantillas .docx, FAQ con <details> y CTA navy.
 * Paleta por categoría: cv azul / sueldos verde / derechos violeta /
 * estado ámbar / primero cian / buscar rosa.
 * ──────────────────────────────────────────────────────────────────────── */
.nvr-c-cv       { --nvr-c: #2563eb; --nvr-c-dark: #1d4ed8; --nvr-bg: #eff6ff; }
.nvr-c-sueldos  { --nvr-c: #16a34a; --nvr-c-dark: #15803d; --nvr-bg: #f0fdf4; }
.nvr-c-derechos { --nvr-c: #7c3aed; --nvr-c-dark: #6d28d9; --nvr-bg: #f5f3ff; }
.nvr-c-estado   { --nvr-c: #d97706; --nvr-c-dark: #b45309; --nvr-bg: #fffbeb; }
.nvr-c-primero  { --nvr-c: #0891b2; --nvr-c-dark: #0e7490; --nvr-bg: #ecfeff; }
.nvr-c-buscar   { --nvr-c: #e11d48; --nvr-c-dark: #be123c; --nvr-bg: #fff1f2; }
.nvr-ic-blue    { --nvr-c: #2563eb; --nvr-c-dark: #1d4ed8; --nvr-bg: #eff6ff; }

/* Hero */
.nvr-hero {
        margin-top: 18px;
        background: linear-gradient(135deg, #1e40af 0%, #2563eb 55%, #3b82f6 100%);
        border-radius: 22px;
        padding: 42px 40px 36px;
        color: #fff;
        position: relative;
        overflow: hidden;
}
.nvr-hero::before,
.nvr-hero::after {content: "";position: absolute;border-radius: 50%;background: rgba(255, 255, 255, 0.09);}
.nvr-hero::before {
        width: 300px;
        height: 300px;
        right: -90px;
        top: -110px;
}
.nvr-hero::after {
        width: 170px;
        height: 170px;
        right: 130px;
        bottom: -90px;
        background: rgba(255, 255, 255, 0.06);
}
.nvr-hero h1 {
        color: #fff;
        font-size: clamp(1.75rem, 3.4vw, 2.35rem);
        font-weight: 800;
        letter-spacing: -0.02em;
        line-height: 1.18;
        max-width: 22ch;
        position: relative;
        z-index: 1;
}
.nvr-hero p {
        color: #dbeafe;
        margin-top: 12px;
        max-width: 64ch;
        font-size: 0.97rem;
        line-height: 1.62;
        position: relative;
        z-index: 1;
}
.nvr-hero-stats {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 20px;
        position: relative;
        z-index: 1;
}
.nvr-hero-stat {display: inline-flex;align-items: center;gap: 6px;font-size: 0.8rem;font-weight: 600;color: #fff;}
.nvr-hero-stat b {
        font-weight: 800;
}

/* Fila de herramientas */
.nvr-tools {
        display: grid;
        /* T138: auto-fit para 4 tarjetas */
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 14px;
        margin: 20px 0 4px;
}
.nvr-tool {
        display: flex;
        gap: 13px;
        align-items: flex-start;
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-left: 4px solid var(--ep-blue-500);
        border-radius: 15px;
        padding: 16px 17px;
        text-decoration: none;
        transition: box-shadow var(--ep-transition), transform var(--ep-transition), border-color var(--ep-transition);
}
.nvr-tool:hover {
        box-shadow: var(--ep-shadow-lg);
        transform: translateY(-2px);
        border-color: var(--ep-blue-200);
}
.nvr-tool-ic {
        width: 42px;
        height: 42px;
        border-radius: 12px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        background: var(--ep-blue-50);
        color: var(--ep-blue-600);
}
.nvr-tool-ic svg {
        width: 20px;
        height: 20px;
}
.nvr-tool-tx b {
        display: block;
        color: var(--ep-slate-900);
        font-size: 0.93rem;
        font-weight: 700;
        line-height: 1.3;
}
.nvr-tool-tx small {
        display: block;
        color: var(--ep-slate-500);
        font-size: 0.79rem;
        line-height: 1.45;
        margin-top: 4px;
}
.nvr-tool--green {}
.nvr-tool--green .nvr-tool-ic {}
.nvr-tool--green:hover { border-color: #bbf7d0; }
.nvr-tool--amber { border-left-color: #d97706; }
.nvr-tool--amber .nvr-tool-ic { background: #fffbeb; color: #d97706; }
.nvr-tool--amber:hover { border-color: #fde68a; }

/* Chips de categorías */
.nvr-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 18px 0 2px;
}
.nvr-chip {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 8px 15px;
        border-radius: 999px;
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        color: var(--ep-slate-700);
        font-size: 0.82rem;
        font-weight: 600;
        text-decoration: none;
        transition: border-color var(--ep-transition), background var(--ep-transition), color var(--ep-transition);
}
.nvr-chip span {
        color: var(--ep-slate-500, #64748b);
        font-weight: 700;
}
.nvr-chip:hover {
        border-color: var(--nvr-c, var(--ep-blue-300));
        background: var(--nvr-bg, var(--ep-blue-50));
        color: var(--nvr-c-dark, var(--ep-blue-700));
}
.nvr-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--nvr-c, var(--ep-blue-500));
        flex-shrink: 0;
}
.nvr-chip--plant { --nvr-c: #2563eb; --nvr-c-dark: #1d4ed8; --nvr-bg: #eff6ff; }

/* Secciones por categoría */
.nvr-sec {
        margin-top: 38px;
        scroll-margin-top: 92px;
}
.nvr-sec-head {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 16px;
}
.nvr-sec-ic {
        width: 46px;
        height: 46px;
        border-radius: 13px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        background: var(--nvr-bg, var(--ep-blue-50));
        color: var(--nvr-c, var(--ep-blue-600));
}
.nvr-sec-ic svg {
        width: 22px;
        height: 22px;
}
.nvr-sec-head > div {
        min-width: 0;
}
.nvr-sec-head h2 {
        font-size: 1.28rem;
        font-weight: 800;
        color: var(--ep-slate-900);
        letter-spacing: -0.01em;
        line-height: 1.25;
}
.nvr-sec-head p {color: var(--ep-slate-500);font-size: 0.86rem;line-height: 1.45;}
.nvr-sec-count {
        margin-left: auto;
        background: var(--ep-slate-100);
        color: var(--ep-slate-600);
        border: 1px solid var(--ep-slate-200);
        padding: 6px 13px;
        border-radius: 999px;
        font-size: 0.74rem;
        font-weight: 700;
        white-space: nowrap;
        flex-shrink: 0;
}
.nvr-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
}

/* Tarjeta de guía */
.nvr-card {
        position: relative;
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 16px;
        padding: 20px 18px 14px;
        display: flex;
        flex-direction: column;
        gap: 9px;
        text-decoration: none;
        overflow: hidden;
        transition: box-shadow var(--ep-transition), border-color var(--ep-transition), transform var(--ep-transition);
}
.nvr-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 4px;
        background: var(--nvr-c, var(--ep-blue-500));
        opacity: 0;
        transition: opacity var(--ep-transition);
}
.nvr-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--ep-shadow-lg);
        border-color: var(--ep-blue-200);
}
.nvr-card:hover::before {
        opacity: 1;
}
.nvr-card-ic {
        width: 38px;
        height: 38px;
        border-radius: 11px;
        display: grid;
        place-items: center;
        background: var(--nvr-bg, var(--ep-blue-50));
        color: var(--nvr-c, var(--ep-blue-600));
        transition: transform var(--ep-transition);
}
.nvr-card:hover .nvr-card-ic {
        transform: scale(1.08);
}
.nvr-card-ic svg {
        width: 19px;
        height: 19px;
}
.nvr-card h3 {font-size: 0.97rem;font-weight: 700;color: var(--ep-slate-900);line-height: 1.38;}
.nvr-card:hover h3 {
        color: var(--nvr-c-dark, var(--ep-blue-700));
}
.nvr-card p {
        color: var(--ep-slate-600);
        font-size: 0.84rem;
        line-height: 1.55;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
}
.nvr-card .meta {
        margin-top: auto;
        padding-top: 9px;
        border-top: 1px dashed var(--ep-slate-200);
        color: var(--ep-slate-500);
        font-size: 0.73rem;
        line-height: 1.45;
}
.nvr-arrow {
        position: absolute;
        right: 14px;
        top: 24px;
        color: var(--ep-slate-300);
        transition: transform var(--ep-transition), color var(--ep-transition);
}
.nvr-arrow svg {
        width: 16px;
        height: 16px;
}
.nvr-card:hover .nvr-arrow {
        color: var(--nvr-c, var(--ep-blue-500));
        transform: translateX(3px);
}

/* Plantillas .docx */
.nvr-plant {
        margin-top: 38px;
        scroll-margin-top: 92px;
        background: linear-gradient(180deg, #eff6ff 0%, #ffffff 78%);
        border: 1px solid var(--ep-blue-100);
        border-radius: 22px;
        padding: 26px 26px 20px;
}
.nvr-plant-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        margin-top: 4px;
}
.nvr-pl {
        display: flex;
        gap: 12px;
        align-items: center;
        background: #fff;
        border: 1px solid var(--ep-blue-100);
        border-radius: 14px;
        padding: 13px 14px;
        text-decoration: none;
        transition: border-color var(--ep-transition), box-shadow var(--ep-transition), transform var(--ep-transition);
}
.nvr-pl:hover {
        border-color: var(--ep-blue-300);
        box-shadow: var(--ep-shadow);
        transform: translateY(-2px);
}
.nvr-pl-ic {
        width: 38px;
        height: 38px;
        border-radius: 11px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        background: var(--ep-blue-50);
        color: var(--ep-blue-600);
}
.nvr-pl-ic svg {
        width: 18px;
        height: 18px;
}
.nvr-pl-tx {
        min-width: 0;
        flex: 1;
}
.nvr-pl-tx b {
        display: block;
        font-size: 0.89rem;
        color: var(--ep-slate-900);
        line-height: 1.3;
}
.nvr-pl-tx small {
        display: block;
        font-size: 0.77rem;
        color: var(--ep-slate-500);
        line-height: 1.45;
        margin-top: 3px;
}
.nvr-pl-btn {
        flex-shrink: 0;
        align-self: center;
        white-space: nowrap;
        font-size: 0.72rem;
        font-weight: 700;
        color: var(--ep-blue-700);
        background: var(--ep-blue-50);
        border: 1px solid var(--ep-blue-200);
        padding: 7px 13px;
        border-radius: 999px;
        transition: background var(--ep-transition), color var(--ep-transition), border-color var(--ep-transition);
}
.nvr-pl:hover .nvr-pl-btn {
        background: var(--ep-blue-600);
        color: #fff;
        border-color: var(--ep-blue-600);
}
.nvr-plant-note {
        margin-top: 14px;
        font-size: 0.77rem;
        color: var(--ep-slate-500);
}

/* FAQ */
.nvr-faq {
        margin-top: 38px;
        scroll-margin-top: 92px;
}
.nvr-faq details {
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 13px;
        margin-bottom: 10px;
        overflow: hidden;
        transition: border-color var(--ep-transition);
}
.nvr-faq details:hover {
        border-color: var(--ep-blue-200);
}
.nvr-faq details[open] {
        border-color: var(--ep-blue-300);
}
.nvr-faq summary {
        cursor: pointer;
        padding: 15px 18px;
        font-weight: 700;
        font-size: 0.92rem;
        color: var(--ep-slate-900);
        list-style: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
}
.nvr-faq summary::-webkit-details-marker {
        display: none;
}
.nvr-faq summary::after {content: "+";font-size: 1.25rem;line-height: 1;color: var(--ep-blue-600);font-weight: 800;}
.nvr-faq details[open] summary::after {
        content: "–";
}
.nvr-faq details p {
        padding: 0 18px 16px;
        color: var(--ep-slate-600);
        font-size: 0.86rem;
        line-height: 1.62;
}

/* CTA final */
.nvr-cta {
        margin-top: 42px;
        background: linear-gradient(120deg, #0f172a 0%, #1e3a8a 100%);
        border-radius: 22px;
        padding: 32px 34px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;
        position: relative;
        overflow: hidden;
}
.nvr-cta::after {
        content: "";
        position: absolute;
        width: 220px;
        height: 220px;
        border-radius: 50%;
        background: rgba(59, 130, 246, 0.18);
        right: -70px;
        bottom: -110px;
        pointer-events: none;
}
.nvr-cta h2 {
        color: #fff;
        font-size: 1.32rem;
        font-weight: 800;
        letter-spacing: -0.01em;
}
.nvr-cta p {
        color: #cbd5e1;
        font-size: 0.89rem;
        margin-top: 5px;
        line-height: 1.5;
}
.nvr-cta-actions {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
        position: relative;
        z-index: 1;
}
.nvr-btn {
        padding: 12px 21px;
        border-radius: 12px;
        font-weight: 700;
        font-size: 0.88rem;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        transition: background var(--ep-transition), transform var(--ep-transition), box-shadow var(--ep-transition);
}
.nvr-btn svg {
        width: 16px;
        height: 16px;
}
.nvr-btn--solid {
        background: var(--ep-blue-500);
        color: #fff;
}
.nvr-btn--solid:hover {
        background: var(--ep-blue-400);
        transform: translateY(-2px);
        box-shadow: 0 10px 24px rgba(59, 130, 246, 0.35);
}
.nvr-btn--ghost {
        border: 1px solid rgba(255, 255, 255, 0.35);
        color: #fff;
}
.nvr-btn--ghost:hover {
        background: rgba(255, 255, 255, 0.1);
        transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 980px) {
        .nvr-grid {
                grid-template-columns: repeat(2, 1fr);
        }
        .nvr-tools {
                grid-template-columns: 1fr;
        }
}
@media (max-width: 720px) {
        .nvr-plant-grid {
                grid-template-columns: 1fr;
        }
        .nvr-cta {
                padding: 26px 22px;
        }
}
@media (max-width: 640px) {
        .nvr-hero {
                padding: 30px 22px 26px;
                border-radius: 18px;
        }
        .nvr-hero p {
                font-size: 0.9rem;
        }
        .nvr-chips {
                gap: 6px;
        }
        .nvr-chip {
                padding: 7px 12px;
                font-size: 0.76rem;
        }
        .nvr-sec {
                margin-top: 30px;
        }
        .nvr-sec-head {
                gap: 11px;
        }
        .nvr-sec-ic {
                width: 40px;
                height: 40px;
                border-radius: 11px;
        }
        .nvr-sec-ic svg {
                width: 19px;
                height: 19px;
        }
        .nvr-sec-head h2 {
                font-size: 1.1rem;
        }
        .nvr-sec-head p {
                font-size: 0.8rem;
        }
        .nvr-sec-count {
                padding: 4px 10px;
                font-size: 0.68rem;
        }
        .nvr-grid {
                grid-template-columns: 1fr;
                gap: 12px;
        }
        .nvr-card {
                padding: 17px 16px 13px;
        }
        .nvr-plant {
                padding: 20px 16px 16px;
                border-radius: 18px;
        }
        .nvr-pl-btn {
                padding: 6px 11px;
        }
}


/* ═══════════════════════════════════════════════════════════════════════
   T94 — Calculadoras laborales: nav de variantes, campos de fecha/hint,
   y la tabla de salarios en móvil como tarjetas apiladas (montos siempre
   visibles sin scroll horizontal).
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Nav de las 4 calculadoras ─────────────────────────────────────────── */
.ep-calc-nav {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        margin-bottom: 22px;
}

.ep-calc-nav-link {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 8px 14px;
        border: 1px solid var(--ep-slate-200);
        border-radius: 999px;
        background: #fff;
        color: var(--ep-slate-600);
        font-size: 0.86rem;
        font-weight: 600;
        line-height: 1;
        text-decoration: none;
        transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.ep-calc-nav-link .ep-icon {
        width: 14px;
        height: 14px;
}

.ep-calc-nav-link:hover {
        border-color: var(--ep-blue-400);
        color: var(--ep-blue-700);
        box-shadow: 0 2px 8px rgba(29, 78, 216, 0.1);
}

.ep-calc-nav-link.is-active {
        background: var(--ep-blue-700);
        border-color: var(--ep-blue-700);
        color: #fff;
        box-shadow: 0 4px 12px rgba(29, 78, 216, 0.25);
}

/* ── Campos extra: fechas en 2 columnas + hint ─────────────────────────── */
.ep-field--halves {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
}

.ep-field--halves .ep-subfield {
        min-width: 0;
}

.ep-field-hint {
        margin-top: 6px;
        font-size: 0.74rem;
        line-height: 1.45;
        color: var(--ep-slate-500);
}

.ep-calc-more {
        margin-top: 14px;
        font-size: 0.88rem;
        color: var(--ep-slate-500);
}

.ep-calc-more a {
        color: var(--ep-blue-700);
        font-weight: 600;
        text-decoration: none;
}

.ep-calc-more a:hover {
        text-decoration: underline;
}

/* ── Tabla de salarios: cabecera compacta (título en 2 líneas) ─────────── */
.nv-salary-table thead th .nv-th-sub {
        display: block;
        font-size: 0.6rem;
        font-weight: 500;
        letter-spacing: 0.03em;
        color: var(--ep-slate-500, #64748b);
        text-transform: none;
        white-space: normal;
        line-height: 1.3;
}

/* ── Móvil: cada fila de la tabla se vuelve una tarjeta 2×2 con etiquetas
      (los montos NUNCA se cortan; sin scroll horizontal) ───────────────── */
@media (max-width: 720px) {
        .nv-salary-wrap {
                overflow-x: visible;
                border-radius: 12px;
        }

        .nv-salary-table {
                min-width: 0;
                font-size: 0.92rem;
                display: block;
        }

        .nv-salary-table thead {
                display: none;
        }

        .nv-salary-table tbody {
                display: block;
        }

        .nv-salary-table tbody tr {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 2px 14px;
                padding: 12px 14px 10px;
                border-bottom: 1px solid var(--ep-slate-100);
        }

        .nv-salary-table tbody tr:last-child {
                border-bottom: none;
        }

        .nv-salary-table tbody tr:hover {
                background: #fff;
        }

        .nv-salary-table th,
        .nv-salary-table td {
                padding: 0;
                border: none;
        }

        .nv-salary-table td.role {
                grid-column: 1 / -1;
                padding: 0 0 8px;
                margin-bottom: 4px;
                border-bottom: 1px dashed var(--ep-slate-100);
                line-height: 1.35;
        }

        .nv-salary-table td.num {
                display: flex;
                align-items: baseline;
                justify-content: space-between;
                gap: 10px;
                white-space: normal;
                text-align: right;
                font-weight: 600;
        }

        .nv-salary-table td.num::before {
                content: attr(data-label);
                font-size: 0.66rem;
                font-weight: 600;
                text-transform: uppercase;
                letter-spacing: 0.04em;
                color: var(--ep-slate-500, #64748b);
                font-variant-numeric: normal;
        }

        .nv-salary-table td.num b {
                font-weight: 800;
        }
}

/* ── T94: fila de las 4 calculadoras en /recursos/ ─────────────────────── */
.nvr-calcrow {display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 10px;}

.nvr-calcx {display: flex;gap: 2px;padding: 12px 14px;border: 1px solid var(--ep-slate-200);border-left: 3px solid var(--ep-blue-500);border-radius: 12px;background: #fff;text-decoration: none;transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;}

.nvr-calcx b {color: var(--ep-blue-900);}

.nvr-calcx small {color: var(--ep-slate-500);}

.nvr-calcx:hover {
        border-color: var(--ep-blue-300);
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(29, 78, 216, 0.12);
}

@media (max-width: 980px) {
        .nvr-calcrow {
                grid-template-columns: repeat(2, minmax(0, 1fr));
        }
}

@media (max-width: 480px) {
        .nvr-calcrow {
                gap: 8px;
        }

        .nvr-calcx {
                padding: 10px 12px;
        }
}

/* ================= 21. T101 — AUTORÍA EDITORIAL + TRANSPARENCIA IA ================= */
.nv-author--rev { margin-top: -4px; padding-top: 10px; border-top: 1px dashed #d7e3f4; }
.nv-author--rev .nv-author-n { background: #eef4fb; color: #3b5b7e; }
.nv-author--rev a { display: inline-block; margin-top: 3px; font-size: 12.5px; font-weight: 600; color: #2b5f8f; text-decoration: none; }
.nv-author--rev a:hover { text-decoration: underline; }
.nv-guide-ai { margin: 10px 0 0; padding: 8px 12px; font-size: 12.5px; line-height: 1.5; color: #41586e; background: #f2f8ff; border: 1px solid #d7e3f4; border-radius: 10px; }
.nv-ai-chip { display: inline-flex; align-items: center; gap: 4px; margin-top: 8px; font-size: 12.5px; font-weight: 600; color: #5b7288; text-decoration: none; }
.nv-ai-chip:hover { color: #2b5f8f; text-decoration: underline; }
h2[id], h3[id] { scroll-margin-top: 92px; }
@media (max-width: 640px) { .nv-guide-ai { padding: 7px 10px; } }

/* ================= 22. T102-CSS — RANGO DE MERCADO + TENDENCIA + EMPRESA + PLANTILLAS + MERCADO ================= */
.nv-mkt-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 12px 0 10px; }
.nv-mkt-cell { background: #f6f9fc; border: 1px solid #dbe6f1; border-radius: 12px; padding: 10px 12px; text-align: center; }
.nv-mkt-cell--med { background: #fff7ea; border-color: #f0d9a8; }
.nv-mkt-k { display: block; font-size: 12px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: #5b7288; }
.nv-mkt-v { display: block; margin-top: 2px; font-size: 19px; font-weight: 800; color: #1f3d5c; }
.nv-mkt-cell--med .nv-mkt-v { color: #8a5a00; }
.nv-mkt-note { margin: 0 0 6px; font-size: 13px; line-height: 1.55; color: #41586e; }
@media (max-width: 640px) { .nv-mkt-grid { gap: 8px; } .nv-mkt-v { font-size: 16.5px; } .nv-mkt-cell { padding: 8px 6px; } }
.nv-trend { margin: 18px 0 6px; padding: 14px 16px; background: #f6f9fc; border: 1px solid #dbe6f1; border-radius: 14px; }
.nv-trend h2 { margin: 0 0 10px; font-size: 17px; }
.nv-trend-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.nv-trend-cell { padding: 9px 11px; background: #fff; border: 1px solid #e3ecf5; border-radius: 10px; }
.nv-trend-k { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: #5b7288; }
.nv-trend-v { display: block; margin: 2px 0; font-size: 18px; font-weight: 800; color: #1f3d5c; }
.nv-trend-x { display: block; font-size: 12px; color: #5b7288; }
.nv-trend-note { margin: 10px 0 0; font-size: 12.5px; color: #5b7288; }
.nv-trend-note a { color: #2b5f8f; font-weight: 600; }
.nv-codeep .ep-skills { flex-wrap: wrap; }
/* Mercado laboral (/mercado/) */
.nvmer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 16px 0; }
.nvmer-cell { padding: 12px; background: #f6f9fc; border: 1px solid #dbe6f1; border-radius: 12px; text-align: center; }
.nvmer-k { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; color: #5b7288; }
.nvmer-v { display: block; margin-top: 3px; font-size: 21px; font-weight: 800; color: #1f3d5c; }
.nvmer-x { display: block; font-size: 12px; color: #5b7288; }
.nvmer-report { padding: 12px 14px; background: #fff; border: 1px solid #e3ecf5; border-radius: 12px; margin-bottom: 10px; }
.nvmer-report b a { color: #1f3d5c; text-decoration: none; }
.nvmer-report b a:hover { text-decoration: underline; }
.nvmer-report time { font-size: 12.5px; color: #5b7288; }
/* Plantillas (/plantillas/) */
.nvpl-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));gap: 12px;}
.nvpl-card { display: flex; flex-direction: column; gap: 6px; padding: 14px; background: #fff; border: 1px solid #e3ecf5; border-radius: 12px; }
.nvpl-card h3 { margin: 0; font-size: 15.5px; }
.nvpl-card p { margin: 0; font-size: 13px; color: #41586e; }
.nvpl-steps { margin: 12px 0; padding: 14px 16px; background: #f2f8ff; border: 1px solid #d7e3f4; border-radius: 12px; }
.nvpl-steps ol {margin: 6px 0 0;}
.nvpl-steps li { margin: 5px 0; font-size: 13.5px; color: #33495e; }
.nvpl-incl { margin: 12px 0; }
.nvpl-incl ul {margin: 6px 0 0;}
.nvpl-incl li { font-size: 13px; color: #33495e; margin: 3px 0; }
.nvpl-cta {display: flex;flex-wrap: wrap;gap: 10px;align-items: center;}
.nvpl-meta { font-size: 12.5px; color: #5b7288; }
@media (max-width: 640px) { .nvpl-incl ul {} }
/* ──────────────────────────────────────────────────────────────────────────
 * 23. T103-F7 — HOME COMO VITRINA: strip de confianza, 4ª cifra de
 * tendencia (+X% ofertas esta semana), chips +X% por categoría, tarjeta
 * del reporte semanal y empresas destacadas. Todo teaser/cifra liviana;
 * los datos viajan en transients pre-calentados por el robot.
 * ──────────────────────────────────────────────────────────────────────── */
.nv-stat--up b {
        color: var(--nv-green-700);
}

.nv-truststrip {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px 10px;
        margin-top: 16px;
        padding: 10px 14px;
        background: var(--nv-green-50);
        border: 1px solid var(--nv-green-200);
        border-radius: 12px;
        font-size: 0.86rem;
        line-height: 1.45;
        color: var(--nv-green-800);
}
.nv-truststrip svg {
        width: 16px;
        height: 16px;
        flex: 0 0 auto;
        color: var(--nv-green-600);
}
.nv-truststrip i {
        font-style: normal;
        color: var(--nv-green-600);
}
.nv-truststrip a {
        margin-left: auto;
        font-weight: 700;
        color: var(--nv-green-700);
        text-decoration: none;
        white-space: nowrap;
}
.nv-truststrip a:hover {
        text-decoration: underline;
}
@media (max-width: 760px) {
        .nv-truststrip {
                margin-top: 12px;
                padding: 9px 12px;
                font-size: 0.8rem;
        }
        .nv-truststrip a {
                margin-left: 0;
        }
}

.nv-cat-trend {
        align-self: flex-start;
        margin-top: 6px;
        display: inline-flex;
        align-items: center;
        padding: 2px 8px;
        border-radius: 999px;
        background: var(--nv-green-100);
        border: 1px solid var(--nv-green-200);
        color: var(--nv-green-700);
        font-size: 0.72rem;
        font-weight: 700;
        line-height: 1.4;
}

.nv-report-card {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px 14px;
        background: #fff;
        border: 1px solid #fde68a;
        border-left: 4px solid #f59e0b;
        border-radius: 14px;
        padding: 16px 18px;
        text-decoration: none;
        transition: border-color var(--ep-transition), box-shadow var(--ep-transition);
}
.nv-report-card:hover {
        border-color: #f59e0b;
        box-shadow: var(--ep-shadow-lg);
}
.nv-report-ico {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        flex: 0 0 auto;
        border-radius: 12px;
        background: #fffbeb;
        color: #b45309;
}
.nv-report-ico svg {
        width: 20px;
        height: 20px;
}
.nv-report-main {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
        flex: 1 1 220px;
}
.nv-report-main b {
        font-size: 1.02rem;
        font-weight: 800;
        color: var(--ep-slate-900);
        letter-spacing: -0.01em;
}
.nv-report-meta {
        font-size: 0.85rem;
        color: var(--ep-slate-500);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
}
.nv-report-cta {
        margin-left: auto;
        flex: 0 0 auto;
        font-weight: 700;
        font-size: 0.92rem;
        color: var(--ep-blue-600);
        white-space: nowrap;
}
@media (max-width: 760px) {
        .nv-report-card {
                padding: 13px 14px;
        }
        .nv-report-main b {
                font-size: 0.96rem;
        }
}

.nv-topco-head {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 4px 10px;
        margin: 24px 0 12px;
        padding-top: 20px;
        border-top: 1px dashed var(--ep-slate-200);
        font-size: 1.08rem;
        font-weight: 800;
        color: var(--ep-slate-900);
        letter-spacing: -0.01em;
}
.nv-topco-head span {
        font-size: 0.82rem;
        font-weight: 600;
        color: var(--ep-slate-500);
}
.nv-topco-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
}
.nv-topco-card {
        display: flex;
        align-items: center;
        gap: 10px;
        background: #fff;
        border: 1px solid var(--ep-slate-200);
        border-radius: 12px;
        padding: 10px 12px;
        text-decoration: none;
        transition: border-color var(--ep-transition), transform var(--ep-transition);
}
.nv-topco-card:hover {
        border-color: var(--ep-blue-300);
        transform: translateY(-1px);
}
.nv-topco-card .ep-avatar {
        width: 36px;
        height: 36px;
        font-size: 0.78rem;
        border-radius: 10px;
        flex: 0 0 auto;
}
.nv-topco-info {
        display: flex;
        flex-direction: column;
        min-width: 0;
        line-height: 1.35;
}
.nv-topco-info b {
        font-size: 0.9rem;
        color: var(--ep-slate-900);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
}
.nv-topco-info i {
        font-style: normal;
        font-size: 0.78rem;
        font-weight: 700;
        color: var(--ep-blue-600);
}
.nv-topco-info em {
        font-style: normal;
        font-size: 0.74rem;
        color: var(--ep-slate-500);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
}
@media (max-width: 980px) {
        .nv-topco-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
        }
}

/* ──────────────────────────────────────────────────────────────────────────
 * T121 — CAPA EDITORIAL (alertas / comparar / guardados)
 * Bloques de contenido bajo las herramientas; tokens y tipografía del tema.
 * ──────────────────────────────────────────────────────────────────────── */
.nv-al-content { margin-top: 34px; max-width: 820px; }
.nv-al-content .nv-section { margin-bottom: 30px; }
.nv-al-content .nv-section > h2 { margin-bottom: 12px; }
.nv-al-content p { color: var(--ep-slate-600); line-height: 1.65; margin: 0 0 10px; }
.nv-al-content p a { color: var(--ep-blue-600); font-weight: 600; text-decoration: none; }
.nv-al-content p a:hover { text-decoration: underline; }

/* Pasos numerados */
.nv-steps { list-style: none; margin: 0 0 12px; padding: 0; counter-reset: nvstep; }
.nv-steps > li {
        counter-increment: nvstep;
        position: relative;
        padding: 0 0 14px 46px;
        color: var(--ep-slate-600);
        line-height: 1.6;
}
.nv-steps > li:last-child { padding-bottom: 0; }
.nv-steps > li::before {
        content: counter(nvstep);
        position: absolute;
        left: 0;
        top: 0;
        width: 30px;
        height: 30px;
        border-radius: 10px;
        background: var(--ep-blue-50);
        border: 1px solid var(--ep-blue-200);
        color: var(--ep-blue-700);
        font-weight: 700;
        font-size: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
}
.nv-steps > li b { color: var(--ep-slate-800); }

/* Tarjetas de frecuencia (alertas) */
.nv-freq-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0 0 12px; }
.nv-freq-card {
        background: var(--ep-slate-50);
        border: 1px solid var(--ep-slate-200);
        border-radius: 14px;
        padding: 14px 16px;
        display: flex;
        flex-direction: column;
        gap: 6px;
}
.nv-freq-card > b { color: var(--ep-blue-700); font-size: 15px; }
.nv-freq-card > span { color: var(--ep-slate-600); font-size: 13.5px; line-height: 1.55; }

/* Formulario inline de alertas */
.nv-al-head { margin: 0 0 18px; }
.nv-al-head .ep-view-title { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.nv-al-form { max-width: 640px; padding: 22px; border-radius: 18px; }
.nv-al-form .ep-form { margin-top: 0; }
.nv-al-form .ep-field + .ep-field { margin-top: 12px; }
.nv-al-form-note { margin-top: 10px; font-size: 12.5px; color: var(--ep-slate-500); text-align: center; }

.nv-al-privacy {
        display: flex;
        gap: 8px;
        align-items: flex-start;
        background: var(--ep-slate-50);
        border: 1px solid var(--ep-slate-200);
        border-radius: 12px;
        padding: 12px 14px;
        font-size: 13.5px !important;
        color: var(--ep-slate-500) !important;
}

@media (max-width: 720px) {
        .nv-freq-cards { grid-template-columns: 1fr; }
        .nv-al-form { padding: 16px; }
        .nv-steps > li { padding-left: 40px; }
        .nv-steps > li::before { width: 27px; height: 27px; font-size: 13px; }
}

/* ──────────────────────────────────────────────────────────────────────────
 * T121 — Ficha: callout «Antes de postular» + línea de entidad en convocatorias
 * ──────────────────────────────────────────────────────────────────────── */
.nv-callout { background: var(--ep-blue-50); border: 1px solid var(--ep-blue-200); border-radius: 14px; padding: 14px 18px; }
.nv-callout > h2 { margin-bottom: 6px; }
.nv-callout p { margin: 0; color: var(--ep-slate-600); line-height: 1.6; }
.nv-callout p a { color: var(--ep-blue-600); font-weight: 600; text-decoration: none; white-space: nowrap; }
.nv-callout p a:hover { text-decoration: underline; }

.nv-conv-entity {
        background: var(--ep-slate-50);
        border: 1px solid var(--ep-slate-200);
        border-radius: 10px;
        padding: 10px 14px;
        font-size: 14px;
        color: var(--ep-slate-600);
        margin: 10px 0 14px;
}
.nv-conv-entity strong { color: var(--ep-slate-800); }

.nv-cojob p + p { margin-top: 6px; }
/* ────────────────────────────────────────────────────────────────────────
 * T125 — CASOS PRÁCTICOS: cajas de ejemplo, hub, enlazado y editorial calc
 * ──────────────────────────────────────────────────────────────────────── */

/* Caja «Ejemplo rápido» dentro de las guías */
.nv-exbox{background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #16a34a;border-radius:10px;padding:16px 18px;margin:26px 0}
.nv-exbox .nv-exbox-t{margin:0 0 8px;font-weight:800;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase;color:#15803d}
.nv-exbox p{margin:0 0 10px;font-size:15px;line-height:1.65;color:#1f3d5c}
.nv-exbox p:last-child{margin-bottom:0}
.nv-exbox a{color:#15803d;font-weight:600}

/* Caja «Mira estos casos prácticos» en el pie de las guías */
.nv-casos-block{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:18px 20px;margin:28px 0}
.nv-casos-block .nv-casos-block-t{margin:0 0 10px;font-weight:800;font-size:16px;color:#92400e}
.nv-casos-block ul{margin:0 0 10px;padding:0;list-style:none}
.nv-casos-block li{margin:6px 0;font-size:15px;line-height:1.5}
.nv-casos-block li a{color:#1f3d5c;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.nv-casos-block li a:hover{color:#92400e}
.nv-casos-block .nv-casos-block-f{margin:0;font-size:13.5px;color:#78716c}
.nv-casos-block .nv-casos-block-f a{color:#92400e;font-weight:600}

/* Hub /recursos/casos/ */
.nv-guide-head{margin:8px 0 22px}
.nv-guide-head h1{font-size:clamp(26px,4vw,36px);line-height:1.15;color:#1f3d5c;margin:0 0 10px}
.nv-guide-sub{font-size:16px;line-height:1.6;color:#5b7288;max-width:760px;margin:0}
.nv-casos-tier{margin:34px 0}
.nv-casos-tier h2{font-size:21px;color:#1f3d5c;margin:0 0 4px}
.nv-casos-tier .nv-casos-tier-n{color:#15803d;font-size:16px;font-weight:700}
.nv-casos-tier-d{font-size:14.5px;color:#5b7288;margin:0 0 16px}
.nv-casos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.nv-casos-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e7e5e4;border-radius:12px;padding:18px;box-shadow:0 1px 2px rgba(31,61,92,.05);transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}
.nv-casos-card:hover{box-shadow:0 6px 18px rgba(31,61,92,.10);transform:translateY(-2px);border-color:#bbf7d0}
.nv-casos-card h3{font-size:16px;line-height:1.4;color:#1f3d5c;margin:0 0 8px}
.nv-casos-card p{font-size:13.5px;line-height:1.55;color:#5b7288;margin:0 0 12px;flex:1}
.nv-casos-card .nv-casos-card-m{font-size:13px;font-weight:700;color:#15803d}
.nv-casos-how{background:#f8fafc;border:1px solid #e7e5e4;border-radius:12px;padding:20px 22px;margin:34px 0}
.nv-casos-how h2{font-size:18px;color:#1f3d5c;margin:0 0 12px}
.nv-casos-how ol{margin:0;padding-left:20px}
.nv-casos-how li{font-size:14.5px;line-height:1.65;color:#374151;margin:8px 0}
.nv-casos-how .nv-casos-how-note{font-size:13px;color:#78716c;margin:14px 0 0}
.nv-casos-links{margin:26px 0 40px}
.nv-casos-intro{margin-bottom:6px}

/* Caja de recursos relacionados en el single del caso */
.nv-relbox{margin:28px 0}
.nv-relbox h2{font-size:19px;color:#1f3d5c;margin:0 0 12px}
.nv-relbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.nv-relbox-item{display:flex;flex-direction:column;gap:4px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:14px 16px;transition:border-color .15s ease,box-shadow .15s ease}
.nv-relbox-item:hover{border-color:#16a34a;box-shadow:0 4px 12px rgba(22,163,74,.12)}
.nv-relbox-item b{font-size:14.5px;color:#15803d}
.nv-relbox-item span{font-size:13px;color:#5b7288;line-height:1.5}

/* FAQ visible del caso */
.nv-caso-faq{background:#f8fafc;border:1px solid #e7e5e4;border-radius:12px;padding:18px 22px;margin:28px 0}
.nv-caso-faq h2{font-size:18px;color:#1f3d5c;margin:0 0 6px}
.nv-caso-faq h3{font-size:15px;color:#1f3d5c;margin:14px 0 4px}
.nv-caso-faq p{font-size:14px;line-height:1.65;color:#4b5563;margin:0}

/* Sección editorial de las calculadoras (T125) */
.nv-calc-ed{margin-top:34px;border-top:2px solid #e7e5e4;padding-top:26px}
.nv-calc-ed h2{font-size:20px;color:#1f3d5c;margin:0 0 12px}
.nv-calc-ed .nv-calc-ex{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:16px 18px;margin:0 0 14px}
.nv-calc-ed .nv-calc-ex p{margin:0 0 8px;font-size:14.5px;line-height:1.65;color:#374151}
.nv-calc-ed .nv-calc-ex p:last-of-type{margin-bottom:0}
.nv-calc-ed .nv-calc-ex .nv-calc-ex-link{margin-top:8px}
.nv-calc-ed .nv-calc-ex a{color:#92400e;font-weight:700}
.nv-calc-ed p{font-size:15px;line-height:1.7;color:#374151}
.nv-calc-ed a{color:#15803d;font-weight:600}

/* Tarjeta resumen del caso (dentro de nv-prose) */
.nv-prose .nv-caso-card{background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #16a34a;border-radius:10px;padding:14px 16px;margin:18px 0}
.nv-prose .nv-caso-card p{margin:0;font-size:14.5px;line-height:1.7}
.nv-prose .nv-caso-cta{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px 16px;font-weight:600;color:#92400e}

@media (max-width:640px){
  .nv-casos-grid{grid-template-columns:1fr;gap:12px}
  .nv-exbox{padding:14px}
  .nv-casos-block{padding:14px 16px}
  .nv-calc-ed .nv-calc-ex{padding:14px}
  .nv-relbox-grid{grid-template-columns:1fr}
}

/* ── T126: filtros del hub de casos ── */
.nv-casos-filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px}
.nv-casos-chip{appearance:none;border:1px solid #dbe3ea;background:#fff;color:#33475b;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600;cursor:pointer;transition:all .18s ease}
.nv-casos-chip span{opacity:.55;font-weight:500;margin-left:4px}
.nv-casos-chip:hover{border-color:#16a34a;color:#166534;transform:translateY(-1px)}
.nv-casos-chip.is-active{background:#15803d;border-color:#15803d;color:#fff;box-shadow:0 4px 12px rgba(21,128,61,.25)}
.nv-casos-chip.is-active span{opacity:.85}
/* ── T126: acento de familia en las tarjetas del hub ── */
#casos-t1 .nv-casos-card{border-left:4px solid #16a34a}
#casos-t2 .nv-casos-card{border-left:4px solid #0ea5e9}
#casos-t3 .nv-casos-card{border-left:4px solid #f59e0b}
#casos-t4 .nv-casos-card{border-left:4px solid #8b5cf6}
/* ── T127: blockquote «lo que dice la ley» ── */
.nv-prose blockquote,.ep-prose blockquote{border-left:4px solid #1f3d5c;background:#f1f5f9;margin:1.4em 0;padding:.9em 1.2em;border-radius:0 12px 12px 0;color:#334155}
.nv-prose blockquote p,.ep-prose blockquote p{margin:0;font-size:15.5px;line-height:1.7}
.nv-prose blockquote::before{content:"⚖ Lo que dice la ley";display:block;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1f3d5c;margin-bottom:6px}
/* ── T127: badge DOCX en tarjetas de plantillas ── */
.nvpl-docx{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;padding:2px 10px;}
/* ── T127: minutos en tarjetas de casos ── */
.nv-casos-card-m{color:#64748b;font-size:13px;font-weight:600}
/* ── T127: icono del pill del exbox ── */
.nv-exbox .nv-exbox-t::before{content:"⚡"}
/* ── T127: blockquote «lo que dice la ley» ── */
.nv-prose blockquote,.ep-prose blockquote{border-left:4px solid #1f3d5c;background:#f1f5f9;margin:1.4em 0;padding:.9em 1.2em;border-radius:0 12px 12px 0;color:#334155}
.nv-prose blockquote p,.ep-prose blockquote p{margin:0;font-size:15.5px;line-height:1.7}
.nv-prose blockquote::before{content:"⚖ Lo que dice la ley";display:block;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1f3d5c;margin-bottom:6px}
/* ── T127: badge DOCX en tarjetas de plantillas ── */
.nvpl-docx{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;padding:2px 10px;}
/* ── T127: minutos en tarjetas de casos ── */
.nv-casos-card-m{color:#64748b;font-size:13px;font-weight:600}
/* ── T127: icono del pill del exbox ── */
.nv-exbox .nv-exbox-t::before{content:"⚡"}
/* ── T126: pill del titulo del exbox ── */
.nv-exbox .nv-exbox-t{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #bbf7d0;border-radius:999px;padding:3px 12px;margin:0 0 10px}
/* ── T126: enlace al caso completo dentro del exbox ── */
.nv-exbox .nv-exbox-link{margin:12px 0 2px;font-size:14px;border-top:1px dashed #bbf7d0;padding-top:9px}
.nv-exbox .nv-exbox-link a{color:#15803d;font-weight:700;text-decoration:none;border-bottom:1px solid #86efac}
.nv-exbox .nv-exbox-link a:hover{border-bottom-color:#15803d}
@media (max-width:640px){
  .nv-casos-filters{gap:6px;margin:14px 0 20px}
  .nv-casos-chip{padding:6px 11px;font-size:13px}
}

/* ── T127: tablas desplazables en móvil (sin overflow de página) ── */
@media (max-width:760px){
  .nv-prose table,.ep-prose table,.nv-calc-ed table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse}
  .nv-prose thead,.ep-prose thead{display:table-header-group}
}

/* T127: recorte del overflow fantasma (no hay contenido visible mas alla del viewport) */
@media (max-width:760px){.ep-main{overflow-x:clip}}


/* T128: búsqueda en el hub de casos */
.nv-casos-search{display:flex;align-items:center;gap:10px;margin:16px 0 20px;}
.nv-casos-search input{flex:1;min-width:0;padding:12px 16px;border:1.5px solid #d6e4d6;border-radius:10px;font:inherit;font-size:15px;background:#fff;color:#1f3d5c;transition:border-color .15s ease,box-shadow .15s ease;}
.nv-casos-search input:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.14);}
.nv-casos-search input::placeholder{color:#8aa0a8;}
.nv-casos-search-count{flex-shrink:0;padding:5px 12px;border-radius:999px;background:#f0fdf4;color:#15803d;font-size:13px;font-weight:600;border:1px solid #bbf7d0;white-space:nowrap;}
.nv-casos-vacio{padding:26px 20px;border:1.5px dashed #d6e4d6;border-radius:12px;text-align:center;color:#5b6b7c;background:#fbfefd;font-size:15px;}
.nv-casos-vacio[hidden]{display:none;}

/* T128: impresión limpia de casos, guías y plantillas */
@media print{
        header,.nv-casos-search,.nv-casos-filters,.nv-casos-links,.nv-casos-how,.nv-relbox,
        .nv-exbox-link,[class*="breadcrumb"],[class*="cta"],footer,.nv-backtop,[class*="compartir"],
        [class*="relbox"],[class*="alerta"]{display:none !important;}
        body{background:#fff;color:#111;font-size:12pt;}
        .nv-prose,.ep-prose,.nv-caso-wrap,.ep-container--narrow{max-width:100%;}
        .nv-exbox{border:1px solid #999;background:#fff !important;break-inside:avoid;}
        .nv-exbox-t{color:#111 !important;}
        a{color:#111;text-decoration:none !important;}
        a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#555;word-break:break-all;}
        h2,h3{break-after:avoid-page;}
        table{border-collapse:collapse;width:100%;}
        table td,table th{border:1px solid #999;padding:4px 6px;}
        tr,blockquote,.nv-caso-card{break-inside:avoid;}
}

/* ────────────────────────────────────────────────────────────────────────
   T130 — Capa de lectura: barra de progreso, TOC activo (scroll-spy),
   botón «volver arriba», anclas de título, scroll suave + scroll-margin.
   (el minificador elimina los comentarios: verificar selectores por CSSOM)
   ──────────────────────────────────────────────────────────────────────── */
.nv-readbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:99990;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#16a34a,#4ade80);opacity:0;transition:opacity .25s ease;pointer-events:none;box-shadow:0 1px 4px rgba(22,163,74,.35)}
body.admin-bar .nv-readbar{top:32px}
.nv-readbar-in{opacity:1}
.nv-totop{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:0;background:var(--ep-blue-800,#123c63);color:#fff;font-size:19px;line-height:44px;text-align:center;cursor:pointer;box-shadow:0 6px 18px rgba(18,60,99,.35);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,visibility .25s,background .2s ease;z-index:99980;padding:0}
.nv-totop-in{opacity:1;visibility:visible;transform:translateY(0)}
.nv-totop:hover{background:#16a34a;transform:translateY(-3px);box-shadow:0 10px 22px rgba(22,163,74,.4)}
.nv-totop:focus-visible{outline:2px solid #16a34a;outline-offset:3px}
.nv-prose h2[id],.nv-prose h3[id],.ep-prose h2[id],.ep-prose h3[id]{position:relative;scroll-margin-top:96px}
.nv-hlink{position:absolute;left:-1.05em;top:50%;transform:translateY(-50%);color:var(--ep-slate-400,#9ca3af);text-decoration:none;font-weight:700;font-size:.82em;opacity:0;transition:opacity .15s ease,color .15s ease;padding:0 .18em;border-radius:6px}
.nv-prose h2:hover .nv-hlink,.nv-prose h3:hover .nv-hlink,.ep-prose h2:hover .nv-hlink,.ep-prose h3:hover .nv-hlink,.nv-hlink:focus-visible{opacity:1}
.nv-hlink:hover{color:#16a34a}
.nv-hlink-ok{color:#16a34a;opacity:1}
.nv-toc a{transition:color .15s ease,background .15s ease}
.nv-toc a.nv-toc-on{color:#15803d;background:rgba(22,163,74,.09);text-decoration:none;border-radius:6px;padding:1px 5px;margin:-1px -5px}
@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}
@media (max-width:760px){.nv-hlink{display:none}.nv-totop{width:40px;height:40px;right:14px;bottom:14px;font-size:17px;line-height:40px}}
@media print{.nv-readbar,.nv-totop,.nv-hlink{display:none !important}}

/* T130b — mini-índice flotante «En esta página» (escritorio ≥1200px) */
.nv-mini-toc{position:fixed;right:24px;top:50%;transform:translateY(-50%) translateX(16px);width:232px;max-height:62vh;overflow:auto;background:#fff;border:1px solid var(--ep-slate-200,#e2e8f0);border-radius:14px;box-shadow:0 12px 32px rgba(15,23,42,.10);padding:14px 16px;opacity:0;visibility:hidden;transition:opacity .25s ease,transform .25s ease,visibility .25s;z-index:99970;scrollbar-width:thin}
.nv-mini-toc.nv-mini-in{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.nv-mini-toc-t{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ep-slate-500,#64748b);margin:0 0 8px}
.nv-mini-toc ol{list-style:none;margin:0;padding:0}
.nv-mini-toc a{display:block;padding:5px 8px;border-left:2px solid transparent;color:var(--ep-slate-600,#475569);font-size:.82rem;line-height:1.35;text-decoration:none;border-radius:0 6px 6px 0;transition:color .15s ease,background .15s ease,border-color .15s ease}
.nv-mini-toc a:hover{color:#15803d;background:rgba(22,163,74,.06)}
.nv-mini-toc a.nv-toc-on{color:#15803d;background:rgba(22,163,74,.09);border-left-color:#16a34a;font-weight:600}
@media (max-width:1199px){.nv-mini-toc{display:none}}
@media print{.nv-mini-toc{display:none !important}}

/* ────────────────────────────────────────────────────────────────────────
   T131 — barra «Compartir» editorial + tablas cebra (verificar por CSSOM)
   ──────────────────────────────────────────────────────────────────────── */
.nv-share{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:2px 0 22px;padding:12px 14px;background:var(--ep-slate-50,#f8fafc);border:1px solid var(--ep-slate-200,#e2e8f0);border-radius:12px}
.nv-share-t{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ep-slate-500,#64748b);margin-right:2px}
.nv-share-b{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:999px;font-size:.82rem;font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;line-height:1.25;font-family:inherit}
.nv-share-b:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(15,23,42,.14);text-decoration:none}
.nv-share-wa{background:#25d366;color:#fff}
.nv-share-wa:hover{background:#1fb857}
.nv-share-x{background:#0f1419;color:#fff}
.nv-share-x:hover{background:#000}
.nv-share-fb{background:#1877f2;color:#fff}
.nv-share-fb:hover{background:#0f65d6}
.nv-share-cp{background:#fff;color:#334155;border-color:var(--ep-slate-300,#cbd5e1)}
.nv-share-cp:hover{border-color:#16a34a;color:#15803d}
.nv-share-cp.nv-share-ok{background:#16a34a;border-color:#16a34a;color:#fff}
.nv-share-b:focus-visible{outline:2px solid #16a34a;outline-offset:2px}
.nv-prose tbody tr:nth-child(even),.ep-prose tbody tr:nth-child(even),.nv-calc-ed tbody tr:nth-child(even){background:rgba(100,116,139,.05)}
.nv-prose tbody tr,.ep-prose tbody tr,.nv-calc-ed tbody tr{transition:background .12s ease}
.nv-prose tbody tr:hover,.ep-prose tbody tr:hover,.nv-calc-ed tbody tr:hover{background:rgba(22,163,74,.07)}
@media (max-width:760px){.nv-share{padding:10px 12px;gap:7px}}
@media print{.nv-share{display:none !important}}

/* ────────────────────────────────────────────────────────────────────────
   T132 — acordeón «Preguntas frecuentes» + feedback de lectura (CSSOM)
   ──────────────────────────────────────────────────────────────────────── */
.nv-facc-item{border:1px solid var(--ep-slate-200,#e2e8f0);border-radius:12px;margin:10px 0;background:#fff;overflow:hidden;transition:border-color .2s ease}
.nv-facc-item[open]{border-color:rgba(22,163,74,.4)}
.nv-facc-item summary{cursor:pointer;list-style:none;display:flex;align-items:flex-start;gap:10px;padding:14px 16px;font-weight:700;color:var(--ep-slate-800,#1e293b);font-size:1.02rem;line-height:1.4;transition:background .15s ease}
.nv-facc-item summary::-webkit-details-marker{display:none}
.nv-facc-item summary::after{content:'+';margin-left:auto;font-weight:800;color:#16a34a;transition:transform .2s ease;flex:0 0 auto}
.nv-facc-item[open] summary::after{content:'\2013'}
.nv-facc-item summary:hover{background:rgba(22,163,74,.05)}
.nv-facc-item summary h3{margin:0;font-size:inherit;font-weight:inherit;display:inline}
.nv-facc-body{padding:0 16px 14px}
.nv-facc-body p{margin:0 0 10px;color:var(--ep-slate-700,#334155)}
.nv-fbk{margin:26px 0 8px;padding:18px 20px;border:1px dashed var(--ep-slate-300,#cbd5e1);border-radius:14px;background:var(--ep-slate-50,#f8fafc);text-align:center}
.nv-fbk-q{margin:0 0 12px;font-weight:800;color:var(--ep-slate-800,#1e293b)}
.nv-fbk-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.nv-fbk-b{padding:8px 18px;border-radius:999px;border:1px solid var(--ep-slate-300,#cbd5e1);background:#fff;color:#334155;font-weight:700;font-size:.9rem;cursor:pointer;font-family:inherit;transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease}
.nv-fbk-b:hover{transform:translateY(-1px)}
.nv-fbk-si:hover{background:#16a34a;border-color:#16a34a;color:#fff}
.nv-fbk-no:hover{background:var(--ep-slate-700,#334155);border-color:var(--ep-slate-700,#334155);color:#fff}
.nv-fbk-b:focus-visible{outline:2px solid #16a34a;outline-offset:2px}
.nv-fbk-msg{margin:12px 0 0;font-size:.92rem;color:var(--ep-slate-600,#475569)}
.nv-fbk-msg a{color:#15803d;font-weight:700}
.nv-fbk-done .nv-fbk-row{display:none}
@media print{.nv-fbk{display:none !important}.nv-facc-item{border:none;page-break-inside:avoid}}

/* ═══ T133: Sigue leyendo + anterior/siguiente ═══ */
.nv-relnav{margin:2.6rem 0 1.4rem;padding-top:1.5rem;border-top:1px solid rgba(15,23,42,.08)}
.nv-relnav-h{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.nv-relnav-h h2{margin:0;font-size:1.2rem;color:#0f172a}
.nv-relnav-all{font-size:.85rem;font-weight:600;color:#15803d;text-decoration:none;white-space:nowrap}
.nv-relnav-all:hover{text-decoration:underline}
.nv-relnav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.nv-relnav-item{position:relative;display:flex;flex-direction:column;gap:.3rem;padding:.85rem 2.3rem .85rem .95rem;background:#fff;border:1px solid rgba(15,23,42,.08);border-left:3px solid #16a34a;border-radius:.65rem;text-decoration:none;color:#0f172a;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.nv-relnav-item:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(22,163,74,.12);border-color:#16a34a}
.nv-relnav-item:focus-visible{outline:2px solid #16a34a;outline-offset:2px}
.nv-relnav-k{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#15803d}
.nv-relnav-item b{font-size:.95rem;line-height:1.35;color:#0f172a}
.nv-relnav-d{font-size:.78rem;color:#64748b}
.nv-relnav-a{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);color:#15803d;font-weight:600;transition:transform .18s ease}
.nv-relnav-item:hover .nv-relnav-a{transform:translateY(-50%) translateX(3px)}
.nv-relnav-x{background:linear-gradient(135deg,rgba(22,163,74,.05),rgba(13,148,136,.06));border-left-color:#0d9488}
.nv-relnav-x:hover{border-color:#0d9488}
.nv-relnav-x .nv-relnav-k,.nv-relnav-x .nv-relnav-a{color:#0f766e}
.nv-pn{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem}
.nv-pn-item{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem;border:1px solid rgba(15,23,42,.08);border-radius:.65rem;background:#fff;text-decoration:none;color:#0f172a;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.nv-pn-item:hover{border-color:#16a34a;box-shadow:0 6px 18px rgba(22,163,74,.1);transform:translateY(-2px)}
.nv-pn-item:focus-visible{outline:2px solid #16a34a;outline-offset:2px}
.nv-pn-item span{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#16a34a}
.nv-pn-item b{font-size:.88rem;line-height:1.35}
.nv-pn-next{text-align:right}
.nv-pn-empty{visibility:hidden}
@media (max-width:720px){.nv-relnav-grid{grid-template-columns:1fr}.nv-pn{grid-template-columns:1fr}.nv-pn-next{text-align:left}}
@media print{.nv-relnav{display:none!important}}
/* ═══ fin T133 ═══ */


/* ══ T134 loesencial + refinamientos editoriales ══ */
.nv-ess{margin:26px 0 6px;padding:20px 22px 14px;background:linear-gradient(180deg,#f0fdf4 0%,#f8faf9 100%);border:1px solid #bbf7d0;border-left:4px solid #16a34a;border-radius:12px}
.nv-ess-t{margin:0 0 12px;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#15803d}
.nv-ess ul{list-style:none;margin:0;padding:0}
.nv-ess li{position:relative;padding:0 0 10px 28px;font-size:.95rem;line-height:1.55;color:#1f2937}
.nv-ess li:last-child{padding-bottom:4px}
.nv-ess li::before{content:"\2713";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:800;font-size:.72rem;line-height:18px;text-align:center}
.nv-ess-f{display:block;margin-top:8px;font-size:.72rem;color:#6b7280}
.nv-ess+.nv-toc{margin-top:28px}
@media (max-width:640px){.nv-ess{padding:16px 14px 10px;margin:22px 0 2px}.nv-ess li{font-size:.9rem;padding-left:24px}}

/* refinamientos de prosa T134 */
.nv-prose>p:first-of-type::first-letter{float:left;font-size:3em;line-height:.85;font-weight:800;color:#15803d;padding:5px 10px 0 0}
.nv-prose hr{border:0;height:2px;margin:38px auto;background:linear-gradient(90deg,transparent,#bbf7d0 25%,#16a34a 50%,#bbf7d0 75%,transparent);border-radius:2px}
.nv-prose ul>li::marker{color:#16a34a}
.nv-prose a{text-decoration-color:#bbf7d0;text-underline-offset:3px;transition:text-decoration-color .18s ease}
.nv-prose a:hover{text-decoration-color:#16a34a}
.nv-prose table tbody tr{transition:background-color .15s ease}
.nv-prose table tbody tr:hover{background-color:#f0fdf4}
.nv-prose code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:2px 6px;font-size:.88em;color:#0f172a}
::selection{background:#dcfce7;color:#14532d}
.nv-toc ol{scrollbar-width:thin;scrollbar-color:#bbf7d0 transparent}
.nv-toc ol::-webkit-scrollbar{width:6px}
.nv-toc ol::-webkit-scrollbar-thumb{background:#bbf7d0;border-radius:3px}
@media print{
  .nv-ess{background:#fff;border-color:#999;border-left-color:#000}
  .nv-ess li::before{background:#fff;color:#000;border:1px solid #000}
  .nv-ess-f{color:#444}
}
/* fin T134 */

/* ══ T135 loesencial casos: variante teal + botón copiar resumen ══ */
body.single-ep_caso .nv-ess{background:linear-gradient(180deg,#f0fdfa 0%,#f8faf9 100%);border-color:#99f6e4;border-left-color:#0d9488}
body.single-ep_caso .nv-ess-t{color:#0f766e}
body.single-ep_caso .nv-ess li::before{background:#ccfbf1;color:#0f766e}
.nv-ess-copy{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:7px 14px;font-size:.8rem;font-weight:700;color:#15803d;background:#fff;border:1.5px solid #86efac;border-radius:999px;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.nv-ess-copy:hover{background:#16a34a;color:#fff;border-color:#16a34a;transform:translateY(-1px)}
.nv-ess-copy:focus-visible{outline:2px solid #16a34a;outline-offset:2px}
.nv-ess-copy-ok{background:#dcfce7;border-color:#16a34a;color:#14532d}
body.single-ep_caso .nv-ess-copy{color:#0f766e;border-color:#5eead4}
body.single-ep_caso .nv-ess-copy:hover{background:#0d9488;color:#fff;border-color:#0d9488}
body.single-ep_caso .nv-ess-copy-ok{background:#ccfbf1;border-color:#0d9488;color:#134e4a}
@media print{.nv-ess-copy{display:none}}

/* ══ T136 relcasos: casos relacionados en guías + acordeón teal en casos ══ */
.nv-relcasos{margin:2.6rem 0 1.4rem;padding:20px 22px;background:linear-gradient(180deg,#f0fdfa 0%,#f8fafc 100%);border:1px solid #99f6e4;border-left:4px solid #0d9488;border-radius:12px}
.nv-relcasos-h{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.nv-relcasos-h h2{margin:0;font-size:1.2rem;color:#134e4a}
.nv-relcasos-all{font-size:.85rem;font-weight:600;color:#0f766e;text-decoration:none;white-space:nowrap}
.nv-relcasos-all:hover{text-decoration:underline}
.nv-relcasos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.7rem}
.nv-relcasos-item{position:relative;display:flex;flex-direction:column;gap:.25rem;padding:14px 40px 14px 16px;background:#fff;border:1px solid #ccfbf1;border-radius:10px;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.nv-relcasos-item:hover{transform:translateY(-2px);border-color:#0d9488;box-shadow:0 8px 20px rgba(13,148,136,.12)}
.nv-relcasos-item:focus-visible{outline:2px solid #0d9488;outline-offset:2px}
.nv-relcasos-item b{font-size:.95rem;line-height:1.4;color:#0f172a}
.nv-relcasos-k{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0f766e}
.nv-relcasos-d{font-size:.78rem;color:#64748b}
.nv-relcasos-a{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#0f766e;font-weight:700;transition:transform .18s ease}
.nv-relcasos-item:hover .nv-relcasos-a{transform:translateY(-50%) translateX(3px)}
@media (max-width:640px){.nv-relcasos{padding:16px 14px;margin:22px 0 2px}.nv-relcasos-item{padding:12px 36px 12px 14px}}
@media print{.nv-relcasos{background:#fff;border-color:#999;border-left-color:#000}.nv-relcasos-a{display:none}}
/* accesibilidad: anillo de foco también en relnav */
.nv-relnav-item:focus-visible{outline:2px solid #16a34a;outline-offset:2px}
/* acordeón «Preguntas rápidas» de casos, en teal */
body.single-ep_caso .nv-facc-item[open]{border-color:rgba(13,148,136,.45)}
body.single-ep_caso .nv-facc-item summary::after{color:#0d9488}
body.single-ep_caso .nv-facc-item summary:hover{background:rgba(13,148,136,.05)}
/* ══ fin T136 relcasos ══ */

/* ══ T137 salctx — panel «Contexto salarial» en fichas de empleo ══ */
.nv-salctx{background:linear-gradient(135deg,#f0fdf4,#ffffff 55%);border:1px solid #bbf7d0;border-left:4px solid #16a34a;border-radius:14px;padding:20px 22px 16px;margin:26px 0;box-shadow:0 1px 2px rgba(22,101,52,.06)}
.nv-salctx h2{margin:0 0 14px;font-size:1.02rem;font-weight:800;letter-spacing:.01em;color:#14532d;display:flex;align-items:center;gap:8px}
.nv-salctx h2::before{content:'';width:8px;height:8px;border-radius:2px;background:#16a34a;transform:rotate(45deg);flex:none}
.nv-salctx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.nv-salctx-stat{background:#fff;border:1px solid #e7f5ec;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.nv-salctx-stat .k{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}
.nv-salctx-stat .v{font-size:1.18rem;font-weight:800;color:#15803d;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nv-salctx-stat .s{font-size:.74rem;color:#6b7280;line-height:1.35}
.nv-salctx-bar{margin:14px 0 4px;padding:0 2px}
.nv-salctx-track{position:relative;height:8px;border-radius:99px;background:#e5e7eb;margin:10px 0 30px}
.nv-salctx-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#86efac,#16a34a);border-radius:99px}
.nv-salctx-dot{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:#15803d;border:3px solid #fff;box-shadow:0 0 0 2px #16a34a;transform:translate(-50%,-50%);z-index:3}
.nv-salctx-mrk{position:absolute;top:-6px;transform:translateX(-50%);text-align:center;z-index:2}
.nv-salctx-mrk i{display:block;width:2px;height:20px;background:#9ca3af;margin:0 auto;border-radius:2px}
.nv-salctx-mrk em{display:block;font-style:normal;font-size:.68rem;font-weight:700;color:#6b7280;white-space:nowrap;margin-top:2px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:1px 5px}
.nv-salctx-mrk--l{transform:none}
.nv-salctx-mrk--l i{margin:0}
.nv-salctx-mrk--l em{text-align:left}
.nv-salctx-mrk--r{transform:translateX(-100%)}
.nv-salctx-mrk--r i{margin:0 0 0 auto}
.nv-salctx-mrk--r em{text-align:right}
.nv-salctx-mrk--rmv i{background:#f59e0b}
.nv-salctx-mrk--rmv em{color:#92400e;border-color:#fde68a;background:#fffbeb}
.nv-salctx-mrk--med i{background:#0d9488}
.nv-salctx-mrk--med em{color:#0f766e;border-color:#99f6e4;background:#f0fdfa}
.nv-salctx-note{margin:10px 0 0;font-size:.86rem;line-height:1.55;color:#374151}
.nv-salctx-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.nv-salctx-links a{font-size:.78rem;font-weight:700;color:#166534;background:#fff;border:1px solid #bbf7d0;border-radius:99px;padding:5px 12px;text-decoration:none;transition:background .15s ease,border-color .15s ease}
.nv-salctx-links a:hover{background:#f0fdf4;border-color:#16a34a}
.nv-salctx-links a:focus-visible{outline:2px solid #16a34a;outline-offset:2px}
.nv-salctx-src{margin:12px 0 0;font-size:.7rem;line-height:1.5;color:#6b7280}
@media (max-width:640px){.nv-salctx-grid{grid-template-columns:1fr 1fr}.nv-salctx-stat:last-child{grid-column:1/-1}.nv-salctx{padding:16px 14px 12px}}

/* ���═ T137 gloss — glosario con tooltips ══ */
.nv-gloss{border-bottom:2px dotted #16a34a;cursor:help;text-decoration:none}
.nv-gloss:hover,.nv-gloss:focus{background:#f0fdf4;outline:none;border-bottom-style:solid}
.nv-gloss:focus-visible{outline:2px solid #16a34a;outline-offset:1px;border-radius:3px}
.nv-gloss-tip{position:fixed;z-index:99999;max-width:270px;background:#1c1917;color:#fafaf9;font-size:.8rem;line-height:1.5;padding:10px 12px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.25);pointer-events:none}
@media print{.nv-salctx{border-color:#d4d4d4;background:#fff;box-shadow:none}.nv-salctx-fill,.nv-salctx-dot{background:#666!important}.nv-gloss{border-bottom:0;background:none}.nv-gloss-tip{display:none!important}}
/* ══ fin T137 salctx ══ */

/* ══ T138 glosario — /recursos/glosario/ ══ */
.nv-glos{max-width:1080px}
.nv-glos-hero{background:linear-gradient(135deg,#f0fdf4,#ffffff 60%);border:1px solid #bbf7d0;border-radius:16px;padding:28px 30px;margin:18px 0 22px}
.nv-glos-hero h1{margin:0 0 10px;font-size:1.9rem;line-height:1.15;font-weight:800;color:var(--ep-slate-900,#0f172a)}
.nv-glos-hero p{margin:0;font-size:.98rem;line-height:1.65;color:var(--ep-slate-600,#475569);max-width:64ch}
.nv-glos-hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px}
.nv-glos-hero-meta span{font-size:.8rem;font-weight:700;color:#15803d}
.nv-glos-tools{margin:0 0 18px}
.nv-glos-search{position:relative;max-width:520px}
.nv-glos-search .ep-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;width:18px;height:18px}
.nv-glos-search input{width:100%;padding:12px 16px 12px 42px;border:1.5px solid #e2e8f0;border-radius:12px;font-size:1rem;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.nv-glos-search input:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.12)}
.nv-glos-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.nv-glos-cat{border:1px solid #e2e8f0;background:#fff;border-radius:99px;padding:6px 13px;font-size:.8rem;font-weight:700;color:#475569;cursor:pointer;transition:all .15s ease}
.nv-glos-cat i{font-style:normal;color:#94a3b8;font-weight:600;margin-left:3px;font-size:.72rem}
.nv-glos-cat:hover{border-color:#86efac;color:#166534}
.nv-glos-cat.is-active{background:#16a34a;border-color:#16a34a;color:#fff}
.nv-glos-cat.is-active i{color:#dcfce7}
.nv-glos-cat:focus-visible{outline:2px solid #16a34a;outline-offset:2px}
.nv-glos-count{margin:10px 0 0;font-size:.78rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}
.nv-glos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:14px 0 8px}
.nv-glos-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;scroll-margin-top:90px}
.nv-glos-card:hover{border-color:#86efac;box-shadow:0 6px 18px rgba(22,101,52,.08);transform:translateY(-2px)}
.nv-glos-card:target{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.18)}
.nv-glos-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.nv-glos-card h2{margin:0;font-size:1.05rem;font-weight:800;color:var(--ep-slate-900,#0f172a);line-height:1.3}
.nv-glos-badge{flex:none;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-radius:99px;padding:3px 9px;white-space:nowrap}
.nv-glos-badge--contra{background:#eff6ff;color:#1d4ed8}
.nv-glos-badge--sueldo{background:#f0fdf4;color:#15803d}
.nv-glos-badge--salidas{background:#fef2f2;color:#b91c1c}
.nv-glos-badge--salud{background:#f0fdfa;color:#0f766e}
.nv-glos-badge--tributos{background:#fffbeb;color:#b45309}
.nv-glos-badge--derechos{background:#faf5ff;color:#7e22ce}
.nv-glos-card p{margin:0;font-size:.86rem;line-height:1.6;color:#334155}
.nv-glos-law{margin-top:auto;font-size:.7rem;font-weight:700;color:#64748b}
.nv-glos-empty{margin:16px 0;padding:18px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;font-size:.9rem;text-align:center}
.nv-glos-cta{background:#0f172a;border-radius:16px;padding:24px 28px;margin:22px 0 8px;color:#e2e8f0}
.nv-glos-cta b{font-size:1.02rem}
.nv-glos-cta p{margin:6px 0 0;font-size:.88rem;color:#94a3b8}
.nv-glos-cta-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.nv-glos-cta-links a{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:99px;padding:7px 15px;font-size:.82rem;font-weight:700;text-decoration:none;transition:background .15s ease}
.nv-glos-cta-links a:hover{background:rgba(255,255,255,.16)}
@media (max-width:640px){.nv-glos-hero{padding:20px 16px}.nv-glos-hero h1{font-size:1.5rem}.nv-glos-grid{grid-template-columns:1fr}.nv-glos-cta{padding:18px}}

/* ══ T138 tooltip — enlace al glosario dentro de la pastilla ══ */
.nv-gloss-tip{pointer-events:auto}
.nv-gloss-tip span{display:block}
.nv-gloss-tip-link{display:inline-block;margin-top:7px;font-size:.72rem;font-weight:800;color:#86efac;text-decoration:none;border-bottom:1px solid transparent}
.nv-gloss-tip-link:hover{color:#bbf7d0;border-bottom-color:#86efac}

/* ══ T138 chips — urgencia de cierre en fichas de empleo ══ */
.nv-tchip--close{border-color:#fde68a;background:#fffbeb}
.nv-tchip--close b{color:#92400e}
.nv-tchip--today{border-color:#fecaca;background:#fef2f2;animation:nvpulse 1.6s ease-in-out infinite}
.nv-tchip--today b{color:#b91c1c}
@keyframes nvpulse{0%,100%{box-shadow:0 0 0 0 rgba(185,28,28,.25)}50%{box-shadow:0 0 0 4px rgba(185,28,28,0)}}
@media print{.nv-tchip--today{animation:none}.nv-glos-cta{background:#fff;color:#0f172a;border:1px solid #d4d4d4}}
/* ══ fin T138 ══ */


/* ────────────────────────────────────────────────────────────────────────
   T139 — urgencia de cierre en tarjetas + share nativo + refinos globales
   ──────────────────────────────────────────────────────────────────────── */
.nv-badge-deadline{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.02em;background:#fffbeb;color:#92400e;border:1px solid #fde68a;white-space:nowrap}
.nv-badge-deadline::before{content:'';width:6px;height:6px;border-radius:50%;background:#f59e0b;flex:0 0 auto}
.nv-badge-deadline--today{background:#fef2f2;color:#b91c1c;border-color:#fecaca;animation:nvpulse 1.6s ease-in-out infinite}
.nv-badge-deadline--today::before{background:#ef4444}
.nv-share-nv{background:#16a34a;color:#fff}
.nv-share-nv:hover{background:#15803d}
/* accent-color emerald: controles de formulario coherentes con la marca */
input[type="checkbox"],input[type="radio"],select,progress{accent-color:#16a34a}
/* titulares editoriales con balanceo de línea (progresivo, sin costo) */
.nv-prose h1,.nv-prose h2,.nv-prose h3,.nv-ess h2,.nv-ess-t,.nv-jobcard-title,h1.entry-title,.nv-caso-title{text-wrap:balance}
/* punto vivo en el aviso de vigencia abierta de convocatorias */
.nv-conv-deadline.is-open::before{content:'';width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.18);flex:0 0 auto}
/* reduced-motion global: respeta la preferencia del usuario en todo el sitio */
@media (prefers-reduced-motion: reduce){
        *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
@media print{.nv-badge-deadline{border:1px solid #999;color:#333;background:#fff;animation:none}.nv-share-nv{display:none !important}}
/* ══ fin T139 ══ */


/* ────────────────────────────────────────────────────────────────────────
   T140 — estados «Cerró» + vigencia viva en la CTA card + a11y tarjetas
   ──────────────────────────────────────────────────────────────────────── */
.nv-tchip--closed{border-color:var(--ep-slate-200,#e2e8f0);background:#f8fafc}
.nv-tchip--closed b{color:#64748b}
.nv-conv-deadline.is-closed::before{content:'';width:8px;height:8px;border-radius:50%;background:#94a3b8;flex:0 0 auto}
.nv-vig{display:flex;flex-direction:column;gap:3px;margin:0 0 12px;padding:10px 13px;border-radius:10px;border:1px solid;font-size:.85rem;line-height:1.5;animation:nvfadein .35s ease}
.nv-vig b{font-size:.87rem;font-weight:800;display:inline-flex;align-items:center;gap:7px}
.nv-vig b::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.75;flex:0 0 auto}
.nv-vig p{margin:0;opacity:.9}
.nv-vig--open{background:var(--nv-green-50,#f0fdf4);border-color:var(--nv-green-200,#bbf7d0);color:#166534}
.nv-vig--warn{background:#fffbeb;border-color:#fde68a;color:#92400e}
.nv-vig--closed{background:var(--ep-slate-50,#f8fafc);border-color:var(--ep-slate-200,#e2e8f0);color:#475569}
.nv-vig--closed b::before{opacity:.55}
@keyframes nvfadein{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.nv-jobcard-title a:focus-visible{outline:2px solid #16a34a;outline-offset:3px;border-radius:4px}
@media (max-width:760px){.nv-vig{margin-bottom:10px;padding:9px 11px}}
@media print{.nv-vig{border:1px solid #999;background:#fff;color:#333;animation:none}.nv-vig b::before{display:none}}
/* ══ fin T140 ══ */

/* ══ T141 — vigencia buscador + similares + franja de urgencia ══ */
.nv-jobcard.nv-strip--today{box-shadow:inset 3px 0 0 #dc2626}
.nv-jobcard.nv-strip--soon{box-shadow:inset 3px 0 0 #f59e0b}
.nv-jobcard.nv-strip--today:hover{box-shadow:var(--ep-shadow-lg),inset 3px 0 0 #dc2626}
.nv-jobcard.nv-strip--soon:hover{box-shadow:var(--ep-shadow-lg),inset 3px 0 0 #f59e0b}
/* T312 — publicaciones oficiales NIVO en verde (identidad; gana a la franja de urgencia) */
.nv-jobcard.nv-jobcard--nivo{box-shadow:inset 3px 0 0 var(--nv-green-600)}
.nv-jobcard.nv-jobcard--nivo:hover{box-shadow:var(--ep-shadow-lg),inset 3px 0 0 var(--nv-green-600)}
@media print{.nv-jobcard.nv-jobcard--nivo{box-shadow:inset 3px 0 0 #333}}
.nv-rel{margin:30px 0 10px}
.nv-rel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.nv-rel-head h2{font-size:1.12rem;font-weight:800;color:#1c1917;letter-spacing:-.01em;text-wrap:balance;margin:0}
.nv-rel-head a{font-size:.85rem;font-weight:600;color:#16a34a;text-decoration:none;white-space:nowrap}
.nv-rel-head a span{display:inline-block;transition:transform .15s ease}
.nv-rel-head a:hover{text-decoration:underline}
.nv-rel-head a:hover span{transform:translateX(3px)}
.nv-rel-head a:focus-visible{outline:2px solid #16a34a;outline-offset:3px;border-radius:4px}
.nv-rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px}
@media (max-width:760px){.nv-rel{margin-top:20px}.nv-rel-grid{grid-template-columns:1fr}}
@media print{.nv-jobcard.nv-strip--today,.nv-jobcard.nv-strip--soon{box-shadow:inset 3px 0 0 #333}.nv-rel-head a{display:none}}
/* ══ fin T141 ══ */

/* ══ T142 — «Cierran pronto» en home + detalles de urgencia ══ */
.nv-urg-sec{background:linear-gradient(180deg,#fffbeb 0%,rgba(255,251,235,0) 220px)}
.nv-home-head--urg h2{display:flex;align-items:center;gap:9px}
.nv-home-head--urg h2::before{content:"";width:9px;height:9px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px #fef3c7;animation:nvpulse 1.6s ease-in-out infinite;flex:none}
.nv-home-head--urg a{color:#b45309;font-weight:700}
.nv-home-head--urg a:hover{color:#92400e}
.nv-home-head--urg a:focus-visible{outline:2px solid #b45309;outline-offset:3px;border-radius:4px}
@media (max-width:760px){.nv-urg-sec{background:linear-gradient(180deg,#fffbeb 0%,rgba(255,251,235,0) 160px)}}
@media print{.nv-urg-sec{background:#fff}.nv-home-head--urg h2::before{animation:none}}
/* ══ fin T142 ══ */

/* ══ T143 — tira de urgencia hub + tarjeta RSS + opción «hoy» ══ */
.nv-urg-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:10px 14px;margin:14px 0 6px;font-size:.92rem}
.nv-urg-strip-dot{width:9px;height:9px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px #fef3c7;animation:nvpulse 1.6s ease-in-out infinite;flex:none}
.nv-urg-strip a{color:#92400e;text-decoration:none;font-weight:600}
.nv-urg-strip a strong{font-weight:800;color:#78350f}
.nv-urg-strip a:hover{text-decoration:underline}
.nv-urg-strip a:focus-visible{outline:2px solid #b45309;outline-offset:2px;border-radius:4px}
.nv-urg-rss{margin-left:auto;display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #fde68a;border-radius:999px;padding:3px 10px;font-size:.8rem}
.ep-bol-rss{margin-top:12px;font-size:.88rem;color:#57534e}
.ep-bol-rss a{color:#16a34a;font-weight:600;text-decoration:none}
.ep-bol-rss a:hover{text-decoration:underline}
.nv-rss-card{border:1px solid #e7e5e4;border-left:3px solid #16a34a;border-radius:14px;padding:20px 22px;background:#fafaf9;margin:0 0 26px}
.nv-rss-card h2{margin-top:0}
.nv-rss-card p{color:#44403c}
.nv-rss-card .nv-btn{margin-top:4px}
@media (max-width:760px){.nv-urg-rss{margin-left:0}}
@media print{.nv-urg-strip,.nv-rss-card{border-color:#999;background:#fff}.nv-urg-strip-dot{animation:none}}
/* ══ fin T143 ══ */

/* ══ T144 — contexto de vigencia en el modal + pulido RSS ══ */
.ep-modal-ctx{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px;padding:9px 12px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;color:#92400e;font-size:13px;line-height:1.45}
.ep-modal-ctx[hidden]{display:none}
.ep-modal-ctx .ep-icon{flex:none;margin-top:1px;color:#d97706;border-radius:50%;animation:nvpulse 1.6s ease-in-out infinite}
.nv-rss-card{transition:transform .18s ease,box-shadow .18s ease}
.nv-rss-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
@media (max-width:760px){.nv-rss-card:hover{transform:none}}
@media print{.ep-modal-ctx{display:none!important}.nv-rss-card{transition:none}}
/* ══ fin T144 ══ */

/* ══ T145 — cuenta atrás «último día» en la ficha ══ */
.nv-cd{display:inline-flex;align-items:center;gap:8px;margin:7px 0 0;padding:7px 11px;background:rgba(255,255,255,.78);border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:.8rem;font-weight:700;line-height:1.35;font-variant-numeric:tabular-nums;align-self:flex-start}
.nv-cd::before{content:"";width:7px;height:7px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 3px #fef3c7;animation:nvpulse 1.6s ease-in-out infinite;flex:none}
.nv-cd--end{background:#f5f5f4;border-color:#d6d3d1;color:#57534e}
.nv-cd--end::before{animation:none;background:#a8a29e;box-shadow:none}
@media (prefers-reduced-motion:reduce){.nv-cd::before{animation:none}}
@media print{.nv-cd{display:none}}
/* ══ fin T145 ══ */

/* ══ T147 — Panel de éxito del modal de alerta (antes sin estilos) ══ */
.ep-alert-success{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 22px 18px;border:1px solid #a7f3d0;border-radius:14px;background:linear-gradient(180deg,#f0fdf4,#ecfdf5)}
.ep-alert-success[hidden]{display:none}
.ep-alert-success-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#059669;color:#fff;box-shadow:0 0 0 6px #d1fae5}
.ep-alert-success-icon svg{width:22px;height:22px}
.ep-alert-success-title{margin:2px 0 0;font-size:1.05rem;font-weight:800;color:#064e3b}
.ep-alert-success-sub{margin:0;font-size:.9rem;line-height:1.5;color:#065f46}
.ep-alert-success-mail{color:#047857;font-weight:700;word-break:break-all}
.ep-alert-success-steps{list-style:none;margin:8px 0 0;padding:14px 0 0;border-top:1px dashed #a7f3d0;width:100%;display:flex;flex-direction:column;gap:7px}
.ep-alert-success-step{display:flex;align-items:baseline;gap:9px;font-size:.85rem;line-height:1.45;color:#3f6212}
.ep-alert-success-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#10b981;transform:translateY(-1px)}
.ep-alert-success-step--ctx{color:#92400e;font-weight:700}
.ep-alert-success-step--ctx .ep-alert-success-dot{background:#f59e0b}
.ep-alert-success-hint{margin:10px 0 0;font-size:.78rem;color:#6b7280}
/* T169 — enlace de reenvío dentro del panel de éxito del modal */
.ep-alert-success-resend{color:#047857;font-weight:700;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.ep-alert-success-resend:hover{color:#065f46}
.ep-alert-success-resend:focus-visible{outline:2px solid #059669;outline-offset:2px;border-radius:3px}
@media (max-width:600px){.ep-alert-success-resend{white-space:normal;display:inline-block;margin-top:2px}}
@media (prefers-reduced-motion:reduce){.ep-alert-success{transition:none}}
@media print{.ep-alert-success{display:none}}
/* ══ fin T147 ══ */

/* ══ T148 — Panel de éxito PENDIENTE (doble opt-in, tono ámbar) ══ */
.ep-alert-success--pending{border-color:#fde68a;background:linear-gradient(180deg,#fffbeb,#fef3c7)}
.ep-alert-success--pending .ep-alert-success-icon{background:#f59e0b;box-shadow:0 0 0 6px #fde68a}
.ep-alert-success--pending .ep-alert-success-title{color:#78350f}
.ep-alert-success--pending .ep-alert-success-sub{color:#92400e}
.ep-alert-success--pending .ep-alert-success-steps{border-top-color:#fde68a}
.ep-alert-success--pending .ep-alert-success-step{color:#a16207}
.ep-alert-success--pending .ep-alert-success-dot{background:#f59e0b}
.ep-alert-success--pending .ep-alert-success-step--ctx{color:#92400e}
.ep-alert-success--pending .ep-alert-success-step--ctx .ep-alert-success-dot{background:#d97706}
.ep-alert-success--pending .ep-alert-success-hint{color:#b45309}
/* ══ fin T148 ══ */


/* ═══════════════ T150 — validación visible del modal de alerta ═══════════════ */
.ep-field--error .ep-input,
.ep-field--error .ep-select {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .14);
}
.ep-field--error .ep-input {
    animation: ep-shake .28s ease;
}
@keyframes ep-shake {
    0%, 100% { transform: translateX(0); }
    25%      { transform: translateX(-4px); }
    55%      { transform: translateX(4px); }
    80%      { transform: translateX(-2px); }
}
.ep-alert-err {
    margin: 6px 0 0;
    font-size: 12.5px;
    font-weight: 600;
    color: #dc2626;
    display: flex;
    gap: 6px;
    align-items: baseline;
}
.ep-alert-err::before {
    content: "!";
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #dc2626;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    transform: translateY(1px);
}
@media (prefers-reduced-motion: reduce) {
    .ep-field--error .ep-input { animation: none; }
}
@media print {
    .ep-alert-err { display: none !important; }
}

/* ── T160: chip de familia en la cabecera del caso ── */
.nv-famchip{display:inline-flex;align-items:center;gap:7px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:5px 13px;font-size:13px;font-weight:700;color:#33475b;margin:0 0 16px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.nv-famchip:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(31,61,92,.10)}
.nv-famchip-dot{width:9px;height:9px;border-radius:50%;flex:none;background:#16a34a}
.nv-famchip .nv-famchip-n{font-weight:600;color:#5b7288}
.nv-famchip-t1 .nv-famchip-dot{background:#16a34a}
.nv-famchip-t2 .nv-famchip-dot{background:#0ea5e9}
.nv-famchip-t3 .nv-famchip-dot{background:#f59e0b}
.nv-famchip-t4 .nv-famchip-dot{background:#8b5cf6}
.nv-famchip-t1:hover{border-color:#16a34a}
.nv-famchip-t2:hover{border-color:#0ea5e9}
.nv-famchip-t3:hover{border-color:#f59e0b}
.nv-famchip-t4:hover{border-color:#8b5cf6}

/* ── T160: caja «Sigue la familia …» al pie del caso ── */
.nv-casofam{margin:28px 0;border:1px solid #e7e5e4;border-left:4px solid #16a34a;border-radius:12px;background:#fff;padding:18px 20px}
.nv-casofam-t2{border-left-color:#0ea5e9}
.nv-casofam-t3{border-left-color:#f59e0b}
.nv-casofam-t4{border-left-color:#8b5cf6}
.nv-casofam-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}
.nv-casofam-h h2{font-size:18px;color:#1f3d5c;margin:0}
.nv-casofam-h a{font-size:13.5px;font-weight:700;color:#15803d;text-decoration:none;white-space:nowrap}
.nv-casofam-h a:hover{text-decoration:underline}
.nv-casofam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.nv-casofam-item{display:flex;flex-direction:column;gap:4px;background:#f8fafc;border:1px solid #e7e5e4;border-radius:10px;padding:13px 15px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.nv-casofam-item:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(31,61,92,.10);border-color:#bbf7d0}
.nv-casofam-item b{font-size:14px;line-height:1.45;color:#1f3d5c}
.nv-casofam-item span{font-size:13px;line-height:1.5;color:#5b7288;flex:1}
.nv-casofam-item em{font-style:normal;font-size:12.5px;font-weight:700;color:#15803d}
.nv-casofam-pn{display:flex;gap:10px;margin-top:12px}
.nv-casofam-pnv{flex:1;min-width:0;display:flex;align-items:center;gap:6px;font-size:13px;color:#5b7288;background:#fff;border:1px dashed #dbe3ea;border-radius:10px;padding:9px 12px;text-decoration:none;transition:border-color .15s ease,background .15s ease}
.nv-casofam-pnv b{color:#1f3d5c;font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-casofam-pnv:hover{border-color:#16a34a;color:#15803d;background:#f0fdf4}
.nv-casofam-pnv.nv-casofam-pnn{justify-content:flex-end}
.nv-casofam-pne{flex:1}
@media (max-width:640px){
        .nv-casofam-grid{grid-template-columns:1fr}
        .nv-casofam-pn{flex-direction:column}
        .nv-casofam-pne{display:none}
}

/* ── T160: la barra de progreso T130 adopta el color de la familia ── */
body.nv-caso-t2 .nv-readbar{background:linear-gradient(90deg,#0ea5e9,#7dd3fc);box-shadow:0 1px 4px rgba(14,165,233,.35)}
body.nv-caso-t3 .nv-readbar{background:linear-gradient(90deg,#f59e0b,#fcd34d);box-shadow:0 1px 4px rgba(245,158,11,.35)}
body.nv-caso-t4 .nv-readbar{background:linear-gradient(90deg,#8b5cf6,#c4b5fd);box-shadow:0 1px 4px rgba(139,92,246,.35)}

/* ── T160: chip de familia en la cabecera del caso ── */
.nv-famchip{display:inline-flex;align-items:center;gap:7px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:5px 13px;font-size:13px;font-weight:700;color:#33475b;margin:0 0 16px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.nv-famchip:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(31,61,92,.10)}
.nv-famchip-dot{width:9px;height:9px;border-radius:50%;flex:none;background:#16a34a}
.nv-famchip .nv-famchip-n{font-weight:600;color:#5b7288}
.nv-famchip-t1 .nv-famchip-dot{background:#16a34a}
.nv-famchip-t2 .nv-famchip-dot{background:#0ea5e9}
.nv-famchip-t3 .nv-famchip-dot{background:#f59e0b}
.nv-famchip-t4 .nv-famchip-dot{background:#8b5cf6}
.nv-famchip-t1:hover{border-color:#16a34a}
.nv-famchip-t2:hover{border-color:#0ea5e9}
.nv-famchip-t3:hover{border-color:#f59e0b}
.nv-famchip-t4:hover{border-color:#8b5cf6}

/* ── T160: caja «Sigue la familia …» al pie del caso ── */
.nv-casofam{margin:28px 0;border:1px solid #e7e5e4;border-left:4px solid #16a34a;border-radius:12px;background:#fff;padding:18px 20px}
.nv-casofam-t2{border-left-color:#0ea5e9}
.nv-casofam-t3{border-left-color:#f59e0b}
.nv-casofam-t4{border-left-color:#8b5cf6}
.nv-casofam-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}
.nv-casofam-h h2{font-size:18px;color:#1f3d5c;margin:0}
.nv-casofam-h a{font-size:13.5px;font-weight:700;color:#15803d;text-decoration:none;white-space:nowrap}
.nv-casofam-h a:hover{text-decoration:underline}
.nv-casofam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.nv-casofam-item{display:flex;flex-direction:column;gap:4px;background:#f8fafc;border:1px solid #e7e5e4;border-radius:10px;padding:13px 15px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.nv-casofam-item:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(31,61,92,.10);border-color:#bbf7d0}
.nv-casofam-item b{font-size:14px;line-height:1.45;color:#1f3d5c}
.nv-casofam-item span{font-size:13px;line-height:1.5;color:#5b7288;flex:1}
.nv-casofam-item em{font-style:normal;font-size:12.5px;font-weight:700;color:#15803d}
.nv-casofam-pn{display:flex;gap:10px;margin-top:12px}
.nv-casofam-pnv{flex:1;min-width:0;display:flex;align-items:center;gap:6px;font-size:13px;color:#5b7288;background:#fff;border:1px dashed #dbe3ea;border-radius:10px;padding:9px 12px;text-decoration:none;transition:border-color .15s ease,background .15s ease}
.nv-casofam-pnv b{color:#1f3d5c;font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-casofam-pnv:hover{border-color:#16a34a;color:#15803d;background:#f0fdf4}
.nv-casofam-pnv.nv-casofam-pnn{justify-content:flex-end}
.nv-casofam-pne{flex:1}
@media (max-width:640px){
        .nv-casofam-grid{grid-template-columns:1fr}
        .nv-casofam-pn{flex-direction:column}
        .nv-casofam-pne{display:none}
}

/* ── T160: la barra de progreso T130 adopta el color de la familia ── */
body.nv-caso-t2 .nv-readbar{background:linear-gradient(90deg,#0ea5e9,#7dd3fc);box-shadow:0 1px 4px rgba(14,165,233,.35)}
body.nv-caso-t3 .nv-readbar{background:linear-gradient(90deg,#f59e0b,#fcd34d);box-shadow:0 1px 4px rgba(245,158,11,.35)}
body.nv-caso-t4 .nv-readbar{background:linear-gradient(90deg,#8b5cf6,#c4b5fd);box-shadow:0 1px 4px rgba(139,92,246,.35)}

/* ── T161: chip de casos en la cabecera de guías ── */
.nv-guiachip{display:inline-flex;align-items:center;gap:7px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;padding:5px 13px;font-size:13px;font-weight:700;color:#166534;margin:0 0 16px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.nv-guiachip:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(22,163,74,.12);border-color:#16a34a}
.nv-guiachip-dot{width:9px;height:9px;border-radius:50%;background:#16a34a;flex:none}

/* ── T161: dot de familia en las cards de «La ley en acción» ── */
.nv-relcasos-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px;vertical-align:1px;background:#16a34a}
.nv-relcasos-dot-t2{background:#0ea5e9}
.nv-relcasos-dot-t3{background:#f59e0b}
.nv-relcasos-dot-t4{background:#8b5cf6}

/* ── T172: contexto narrativo de empresa con datos reales ── */
.nv-company-story .nv-story-p{margin:0 0 12px;font-size:15px;line-height:1.7;color:#1c1917}
.nv-company-story .nv-story-p:last-child{margin-bottom:0}
.nv-company-story .nv-story-p b{color:#065f46;font-weight:700}
.nv-company-story .nv-story-p a{color:#059669;font-weight:600;text-decoration:underline;text-decoration-color:#a7f3d0;text-underline-offset:3px;transition:text-decoration-color 150ms ease}
.nv-company-story .nv-story-p a:hover{text-decoration-color:#059669}
.nv-company-story .nv-story-p a:focus-visible{outline:2px solid #059669;outline-offset:2px;border-radius:4px}
.nv-company-story .ep-block-title{margin-bottom:12px}
@media (max-width:640px){.nv-company-story{padding:14px 15px}.nv-company-story .nv-story-p{font-size:14px;line-height:1.65}}
@media (prefers-reduced-motion: no-preference){.nv-company-story{animation:nv-story-in .35s ease both}@keyframes nv-story-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
@media (prefers-reduced-motion: reduce){.nv-company-story{animation:none}}

/* ══════════════════════════════════════════════════════════════════════════
   T177 — Explorador de salarios: categorías, ciudades y experiencia
   ══════════════════════════════════════════════════════════════════════════ */
.nv-salcat-wrap{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.nv-salcat-row{background:#fff;border:1px solid var(--ep-slate-200);border-radius:12px;padding:12px 14px;transition:border-color .18s ease,box-shadow .18s ease}
.nv-salcat-row:hover{border-color:var(--ep-blue-200);box-shadow:0 2px 10px rgba(30,58,138,.06)}
.nv-salcat-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.nv-salcat-name{color:var(--ep-blue-700);font-weight:600;font-size:.95rem;text-decoration:none}
.nv-salcat-name:hover{text-decoration:underline}
.nv-salcat-name:focus-visible{outline:2px solid var(--ep-blue-600);outline-offset:2px;border-radius:4px}
.nv-salcat-n{font-size:.78rem;color:var(--ep-slate-500);white-space:nowrap;font-variant-numeric:tabular-nums}
.nv-salcat-bar{height:10px;background:var(--ep-slate-100);border-radius:999px;overflow:hidden;margin:9px 0 8px}
.nv-salcat-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ep-blue-500),var(--ep-blue-700));min-width:8px}
.nv-salcat-nums{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.nv-salcat-med{font-size:.92rem;color:var(--ep-slate-700)}
.nv-salcat-med b{color:var(--ep-slate-900);font-size:1.02rem}
.nv-salcat-range{font-size:.78rem;color:var(--ep-slate-500);white-space:nowrap}
.nv-salcity-wrap{display:flex;flex-direction:column;gap:0;margin-top:14px;background:#fff;border:1px solid var(--ep-slate-200);border-radius:14px;overflow:hidden}
.nv-salcity-row{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--ep-slate-100);font-variant-numeric:tabular-nums;flex-wrap:wrap}
.nv-salcity-row:last-child{border-bottom:none}
.nv-salcity-row:hover{background:var(--ep-slate-50)}
.nv-salcity-row.is-top{background:linear-gradient(90deg,#fffbeb,#fff 55%)}
.nv-salcity-row.is-top .nv-salcity-pos{background:#f59e0b;color:#78350f;border-color:#fcd34d}
.nv-salcity-pos{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--ep-slate-100);color:var(--ep-slate-600);font-size:.82rem;font-weight:700;flex:0 0 auto}
.nv-salcity-name{color:var(--ep-blue-700);font-weight:600;text-decoration:none;flex:1 1 auto;min-width:80px}
.nv-salcity-name:hover{text-decoration:underline}
.nv-salcity-name:focus-visible{outline:2px solid var(--ep-blue-600);outline-offset:2px;border-radius:4px}
.nv-salcity-n{font-size:.76rem;color:var(--ep-slate-500);white-space:nowrap}
.nv-salcity-med{font-weight:700;color:var(--ep-slate-900);white-space:nowrap}
.nv-salcity-delta{font-size:.76rem;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap}
.nv-salcity-delta.is-up{background:var(--nv-green-100);color:var(--nv-green-800)}
.nv-salcity-delta.is-down{background:var(--nv-amber-bg);color:var(--nv-amber-text)}
.nv-salcity-delta.is-flat{background:var(--ep-slate-100);color:var(--ep-slate-600)}
.nv-sallev-wrap{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.nv-sallev-row{background:#fff;border:1px solid var(--ep-slate-200);border-radius:12px;padding:12px 14px}
.nv-sallev-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nv-sallev-name{font-weight:600;color:var(--ep-slate-900);font-size:.95rem;flex:1 1 auto}
.nv-sallev-med{font-weight:700;color:var(--ep-slate-900);font-variant-numeric:tabular-nums}
.nv-sallev-bar{height:12px;background:var(--ep-slate-100);border-radius:999px;overflow:hidden;margin:9px 0 7px}
.nv-sallev-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--nv-green-600),var(--nv-green-800));min-width:8px}
.nv-sallev-n{font-size:.78rem;color:var(--ep-slate-500);font-variant-numeric:tabular-nums}
@media (max-width:640px){
  .nv-salcity-row{padding:10px 12px}
  .nv-salcity-name{min-width:64px;font-size:.9rem}
  .nv-salcity-delta{margin-left:36px}
  .nv-salcat-row,.nv-sallev-row{padding:11px 12px}
  .nv-salcat-range{white-space:normal}
}
@media (prefers-reduced-motion: no-preference){
  .nv-salcat-bar span,.nv-sallev-bar span{transition:width .4s ease}
}

/* ══════════════════════════════════════════════════════════════════════════
   T178 — Comparador de sueldo (hub /salarios/) + contexto de categoría (ficha)
   ══════════════════════════════════════════════════════════════════════════ */
.nv-compara-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--ep-slate-200);border-radius:14px;padding:16px;margin-top:14px}
.nv-compara-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.nv-compara-field label{font-size:.78rem;font-weight:600;color:var(--ep-slate-600);letter-spacing:.02em}
.nv-compara-field .ep-input{width:100%}
.nv-compara-btn{height:44px;white-space:nowrap}
.nv-compara-btn:disabled{opacity:.65;cursor:progress}
.nv-compara-result{margin-top:14px;background:#fff;border:1px solid var(--ep-blue-200);border-radius:14px;padding:16px}
.nv-compara-msg{margin:0;color:var(--ep-slate-700);font-size:.95rem}
.nv-compara-msg.is-err{color:#b91c1c}
.nv-compara-head{margin:0 0 12px;color:var(--ep-slate-700);font-size:1.02rem;line-height:1.5}
.nv-compara-head b{color:var(--ep-blue-700);font-size:1.08rem}
.nv-compara-gauge{position:relative;height:14px;background:var(--ep-slate-100);border-radius:999px;overflow:visible}
.nv-compara-gauge>span:first-child{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ep-blue-400),var(--ep-blue-700));min-width:8px}
.nv-compara-tick{position:absolute;top:-3px;width:2px;height:20px;background:var(--ep-slate-300);border-radius:2px;transform:translateX(-1px)}
.nv-compara-tick i{position:absolute;top:22px;left:50%;transform:translateX(-50%);font-style:normal;font-size:.68rem;color:var(--ep-slate-400);white-space:nowrap}
.nv-compara-scale{display:flex;justify-content:space-between;margin-top:22px;font-size:.72rem;color:var(--ep-slate-400)}
.nv-compara-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.nv-compara-chip{display:inline-flex;align-items:baseline;gap:6px;background:var(--ep-blue-50);border:1px solid var(--ep-blue-100);border-radius:999px;padding:5px 12px;font-size:.8rem;color:var(--ep-slate-600)}
.nv-compara-chip b{color:var(--ep-slate-900);font-variant-numeric:tabular-nums}
.nv-compara-warn{margin:12px 0 0;font-size:.85rem;color:var(--nv-amber-text);background:var(--nv-amber-bg);border-radius:10px;padding:9px 12px}
.nv-cat-ctx{margin:12px 2px 0;background:var(--ep-blue-50);border:1px solid var(--ep-blue-100);border-radius:10px;padding:10px 13px;font-size:.9rem;color:var(--ep-slate-700)}
.nv-cat-ctx a{color:var(--ep-blue-700);font-weight:600;text-decoration:none}
.nv-cat-ctx a:hover{text-decoration:underline}
.nv-cat-ctx a:focus-visible{outline:2px solid var(--ep-blue-600);outline-offset:2px;border-radius:4px}
.nv-cat-ctx b{color:var(--ep-slate-900)}
/* T179 — pulido compartido: gauge animado + chips con micro-hover (respetando reduced-motion) */
@media (prefers-reduced-motion: no-preference){
  .nv-compara-gauge>span:first-child,.nv-fcomp-gauge>span:first-child{transition:width .55s cubic-bezier(.22,1,.36,1)}
  .nv-compara-chip,.nv-fcomp-chip{transition:transform .18s ease,box-shadow .18s ease}
  .nv-compara-chip:hover,.nv-fcomp-chip:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(15,23,42,.08)}
}
/* T179 — pulido de la línea de contexto de categoría (acento lateral) */
.nv-cat-ctx{border-left:3px solid var(--ep-blue-600)}
/* T179 — comparador embebido en fichas /salarios/{rol}/: rol prellenado,
 * variante compacta con acento esmeralda (identidad del rediseño 2026). */
.nv-fcomp{margin-top:18px;background:#fff;border:1px solid var(--ep-slate-200);border-radius:14px;padding:18px;position:relative;overflow:hidden}
.nv-fcomp::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--nv-green-600),var(--nv-green-700) 55%,var(--nv-green-600))}
.nv-fcomp-head{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px}
.nv-fcomp-ico{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:var(--nv-green-50);color:var(--nv-green-700);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--nv-green-200)}
.nv-fcomp-title{margin:0 0 3px;font-size:1.05rem;color:var(--ep-slate-900);line-height:1.3}
.nv-fcomp-sub{margin:0;font-size:.86rem;color:var(--ep-slate-600);line-height:1.5}
.nv-fcomp-sub b{color:var(--nv-green-800);font-weight:600}
.nv-fcomp-form{display:grid;grid-template-columns:1.35fr 1fr auto;gap:12px;align-items:end}
.nv-fcomp-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.nv-fcomp-field label{font-size:.78rem;font-weight:600;color:var(--ep-slate-600);letter-spacing:.02em}
.nv-fcomp-field .ep-input{width:100%}
.nv-fcomp-btn{height:44px;white-space:nowrap}
.nv-fcomp-btn:disabled{opacity:.65;cursor:progress}
.nv-fcomp-result{margin-top:14px;background:var(--nv-green-50);border:1px solid var(--nv-green-200);border-radius:12px;padding:15px}
.nv-fcomp-msg{margin:0;color:var(--ep-slate-700);font-size:.95rem}
.nv-fcomp-msg.is-err{color:#b91c1c}
.nv-fcomp-headline{margin:0 0 12px;color:var(--ep-slate-700);font-size:1rem;line-height:1.5}
.nv-fcomp-headline b{color:var(--nv-green-800);font-size:1.05rem}
.nv-fcomp-gauge{position:relative;height:14px;background:#fff;border-radius:999px;overflow:visible;border:1px solid var(--nv-green-200)}
.nv-fcomp-gauge>span:first-child{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--nv-green-600),var(--nv-green-700));min-width:8px}
.nv-fcomp-tick{position:absolute;top:-3px;width:2px;height:20px;background:var(--ep-slate-300);border-radius:2px;transform:translateX(-1px)}
.nv-fcomp-tick i{position:absolute;top:22px;left:50%;transform:translateX(-50%);font-style:normal;font-size:.68rem;color:var(--ep-slate-400);white-space:nowrap}
.nv-fcomp-scale{display:flex;justify-content:space-between;margin-top:22px;font-size:.72rem;color:var(--ep-slate-400)}
.nv-fcomp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.nv-fcomp-chip{display:inline-flex;align-items:baseline;gap:6px;background:#fff;border:1px solid var(--nv-green-200);border-radius:999px;padding:5px 12px;font-size:.8rem;color:var(--ep-slate-600)}
.nv-fcomp-chip b{color:var(--ep-slate-900);font-variant-numeric:tabular-nums}
.nv-fcomp-warn{margin:12px 0 0;font-size:.85rem;color:var(--nv-amber-text);background:var(--nv-amber-bg);border-radius:10px;padding:9px 12px}
.nv-fcomp-note{margin:11px 0 0;font-size:.78rem;color:var(--ep-slate-400);line-height:1.55}
@media (max-width:640px){
  .nv-compara-form{grid-template-columns:1fr;padding:13px}
  .nv-compara-btn{width:100%}
  .nv-compara-result{padding:13px}
  .nv-compara-tick i{display:none}
  .nv-compara-scale{margin-top:10px}
  .nv-fcomp{padding:14px}
  .nv-fcomp-form{grid-template-columns:1fr}
  .nv-fcomp-btn{width:100%}
  .nv-fcomp-result{padding:13px}
  .nv-fcomp-tick i{display:none}
  .nv-fcomp-scale{margin-top:10px}
}
/* T180 — duelo de puestos (A vs B) en el hub /salarios/: dos tarjetas
 * enfrentadas, ganador con acento verde y badge «Gana», barras relativas
 * a la mediana mayor del duelo. */
.nv-duelo-form{display:grid;grid-template-columns:1fr auto 1fr auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--ep-slate-200);border-radius:14px;padding:16px;margin-top:14px}
.nv-duelo-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.nv-duelo-field label{font-size:.78rem;font-weight:600;color:var(--ep-slate-600);letter-spacing:.02em}
.nv-duelo-field .ep-input{width:100%}
.nv-duelo-vs{align-self:end;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:var(--ep-slate-100);border:1px solid var(--ep-slate-200);color:var(--ep-slate-500);font-weight:700;font-size:.72rem;letter-spacing:.05em;margin-bottom:3px}
.nv-duelo-btn{height:44px;white-space:nowrap}
.nv-duelo-btn:disabled{opacity:.65;cursor:progress}
.nv-duelo-result{margin-top:14px;background:#fff;border:1px solid var(--ep-slate-200);border-radius:14px;padding:16px}
.nv-duelo-msg{margin:0;color:var(--ep-slate-700);font-size:.95rem}
.nv-duelo-msg.is-err{color:#b91c1c}
.nv-duelo-head{margin:0 0 12px;color:var(--ep-slate-700);font-size:1.02rem;line-height:1.5}
.nv-duelo-head b{color:var(--ep-slate-900)}
.nv-duelo-sides{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nv-duelo-side{background:var(--ep-slate-50);border:1px solid var(--ep-slate-200);border-radius:12px;padding:13px 14px;position:relative}
.nv-duelo-side.is-win{background:var(--nv-green-50);border-color:var(--nv-green-200)}
.nv-duelo-side.is-win::after{content:'Gana';position:absolute;top:10px;right:10px;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--nv-green-700);background:#fff;border:1px solid var(--nv-green-200);border-radius:999px;padding:2px 8px}
.nv-duelo-role{margin:0 0 8px;font-size:.86rem;color:var(--ep-slate-600);line-height:1.4;padding-right:40px}
.nv-duelo-role b{color:var(--ep-slate-900);font-size:.95rem}
.nv-duelo-med{margin:0 0 8px;color:var(--ep-slate-900);font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}
.nv-duelo-med span{display:block;font-size:.72rem;font-weight:500;color:var(--ep-slate-500)}
.nv-duelo-bar{height:10px;background:var(--ep-slate-100);border-radius:999px;overflow:hidden}
.nv-duelo-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ep-blue-400),var(--ep-blue-700));min-width:8px}
.nv-duelo-side.is-win .nv-duelo-bar span{background:linear-gradient(90deg,var(--nv-green-600),var(--nv-green-800))}
.nv-duelo-meta{margin:8px 0 0;font-size:.78rem;color:var(--ep-slate-500);font-variant-numeric:tabular-nums}
.nv-duelo-warn{margin:12px 0 0;font-size:.85rem;color:var(--nv-amber-text);background:var(--nv-amber-bg);border-radius:10px;padding:9px 12px}
@media (prefers-reduced-motion: no-preference){
  .nv-duelo-bar span{transition:width .55s cubic-bezier(.22,1,.36,1)}
  .nv-duelo-side{transition:border-color .18s ease,background-color .18s ease}
}
@media (max-width:640px){
  .nv-duelo-form{grid-template-columns:1fr;padding:13px}
  .nv-duelo-vs{justify-self:center;margin:-2px 0}
  .nv-duelo-btn{width:100%}
  .nv-duelo-sides{grid-template-columns:1fr}
  .nv-duelo-result{padding:13px}
}
/* T181 — duelo embebido en fichas de sueldo (puesto vs rubro), variante
 * compacta y server-side del nv-duelo del hub: mismas tarjetas, VS circular
 * y barras con la mayor del duelo al 100%. */
.nv-dficha{background:#fff;border:1px solid var(--ep-slate-200);border-radius:14px;padding:16px;margin-top:26px}
.nv-dficha-title{margin:0 0 4px;font-size:1.05rem;font-weight:700;color:var(--ep-slate-900);line-height:1.35}
.nv-dficha-sub{margin:0 0 12px;font-size:.85rem;color:var(--ep-slate-500);line-height:1.5}
.nv-dficha-duel{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch}
.nv-dficha-side{background:var(--ep-slate-50);border:1px solid var(--ep-slate-200);border-radius:12px;padding:12px 13px;display:flex;flex-direction:column;gap:6px;position:relative;min-width:0}
.nv-dficha-side.is-win{background:var(--nv-green-50);border-color:var(--nv-green-200)}
.nv-dficha-side.is-win::after{content:'Gana';position:absolute;top:9px;right:9px;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--nv-green-700);background:#fff;border:1px solid var(--nv-green-200);border-radius:999px;padding:2px 7px}
.nv-dficha-vs{align-self:center;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:var(--ep-slate-100);border:1px solid var(--ep-slate-200);color:var(--ep-slate-500);font-weight:700;font-size:.64rem;letter-spacing:.05em;flex:none}
.nv-dficha-role{font-size:.7rem;font-weight:600;color:var(--ep-slate-500);letter-spacing:.03em;text-transform:uppercase;padding-right:44px}
.nv-dficha-med{font-size:1.16rem;font-weight:700;color:var(--ep-slate-900);font-variant-numeric:tabular-nums;line-height:1.15}
.nv-dficha-bar{height:8px;background:var(--ep-slate-100);border-radius:999px;overflow:hidden}
.nv-dficha-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ep-blue-400),var(--ep-blue-700));min-width:8px}
.nv-dficha-side.is-win .nv-dficha-bar span{background:linear-gradient(90deg,var(--nv-green-600),var(--nv-green-800))}
.nv-dficha-meta{font-size:.74rem;color:var(--ep-slate-500);font-variant-numeric:tabular-nums;line-height:1.4}
.nv-dficha-verdict{margin:12px 0 0;font-size:.92rem;color:var(--ep-slate-700);line-height:1.55}
.nv-dficha-verdict b{color:var(--ep-slate-900)}
.nv-dficha-cta{display:inline-flex;align-items:center;gap:4px;margin-top:10px;font-size:.88rem;font-weight:600;color:var(--ep-blue-700);text-decoration:none}
.nv-dficha-cta:hover{text-decoration:underline}
.nv-cat-ctx .nv-cat-cta{margin-left:10px}
@media (max-width:640px){
  .nv-dficha{padding:13px}
  .nv-dficha-duel{grid-template-columns:1fr}
  .nv-dficha-vs{justify-self:center}
  .nv-dficha-role{padding-right:0}
}

/* T182 — Duelo de la categoría en las landings /empleos-de-{slug}/:
 * reutiliza .nv-dficha-duel/.nv-dficha-side/.nv-dficha-bar; aquí solo la
 * tarjeta contenedora, el título con acento verde de identidad, los CTAs
 * (ficha = botón verde sólido, duelo = enlace) y el fallback. */
.nv-dcat{background:#fff;border:1px solid var(--ep-slate-200);border-radius:14px;padding:18px 16px 16px;margin-top:26px;position:relative;overflow:hidden}
.nv-dcat::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--nv-green-600),var(--nv-green-800))}
.nv-dcat-title{margin:0 0 4px;font-size:1.05rem;font-weight:700;color:var(--ep-slate-900);line-height:1.35;padding-right:8px}
.nv-dcat-sub{margin:0 0 14px;font-size:.85rem;color:var(--ep-slate-500);line-height:1.5}
.nv-dcat .nv-dficha-med{font-size:1.28rem}
.nv-dcat-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.nv-dcat-cta{display:inline-flex;align-items:center;gap:4px;font-size:.88rem;font-weight:600;color:var(--ep-blue-700);text-decoration:none}
.nv-dcat-cta:hover{text-decoration:underline}
.nv-dcat-cta--ficha{background:var(--nv-green-600);border:1px solid var(--nv-green-700);color:#fff;border-radius:999px;padding:8px 14px;font-size:.85rem}
.nv-dcat-cta--ficha:hover{text-decoration:none;background:var(--nv-green-700)}
.nv-dcat-cta--ficha:focus-visible{outline:2px solid var(--nv-green-700);outline-offset:2px}
.nv-dcat-cta:focus-visible{outline:2px solid var(--ep-blue-700);outline-offset:2px}
.nv-dcat-fallback{margin-top:22px}
.nv-dcat-fallback a{font-weight:600}
/* T182 — pulido de los chips de categoría: sombra suave y acento en las
 * cifras para que la fila de chips respire sobre el fondo cálido. */
.nv-cat-chip{box-shadow:0 1px 2px rgba(15,23,42,.05)}
.nv-cat-chip b{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion: no-preference){
  .nv-dcat-cta--ficha{transition:background-color .15s ease}
}
@media (max-width:640px){
  .nv-dcat{padding:14px 13px}
  .nv-dcat .nv-dficha-med{font-size:1.16rem}
  .nv-dcat-ctas{flex-direction:column;align-items:stretch}
  .nv-dcat-cta{justify-content:center}
  .nv-dcat-cta--ficha{justify-content:center;text-align:center}
}

/* T183 — pulido de la navegación de las landings: crosslinks con flecha
 * que se desplaza al hover, anillo de foco visible y conteo como pill;
 * «Ver todas las ofertas» convertido en botón outline; cifras del
 * panorama con tabular-nums. Efectos de movimiento solo para quienes
 * aceptan motion (prefers-reduced-motion). */
.nv-crosslink::after{content:'→';color:var(--ep-blue-700);font-weight:700;flex:none}
.nv-crosslink:hover{border-color:var(--ep-blue-300);box-shadow:0 2px 8px rgba(37,99,235,.08)}
.nv-crosslink:focus-visible{outline:2px solid var(--ep-blue-700);outline-offset:2px}
.nv-crosslink i{background:var(--ep-slate-50);border:1px solid var(--ep-slate-200);border-radius:999px;padding:1px 8px;font-variant-numeric:tabular-nums}
.nv-cat-more{border:1px solid var(--ep-blue-200);background:#fff;border-radius:999px;padding:9px 16px;font-size:.9rem}
.nv-cat-more:hover{border-color:var(--ep-blue-400);background:var(--ep-blue-50)}
.nv-cat-more:focus-visible{outline:2px solid var(--ep-blue-700);outline-offset:2px}
.nv-trend-v{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion: no-preference){
  .nv-crosslink{transition:border-color .15s ease,box-shadow .15s ease}
  .nv-crosslink::after{transition:transform .15s ease}
  .nv-crosslink:hover::after{transform:translateX(3px)}
}
/* T183 — variante compacta del duelo de categoría dentro del listado
 * filtrado /empleos/?categoria=X: menos aire vertical, veredicto un
 * punto más pequeño y el delta % en verde de identidad. */
.nv-dcat--arc{margin-top:14px;padding:16px 14px 14px}
.nv-dcat--arc .nv-dficha-verdict{font-size:.88rem}
.nv-dcat .nv-dficha-verdict b{color:var(--nv-green-700)}
@media (max-width:640px){
  .nv-dcat--arc{margin-top:12px}
}

/* T184 — landings de ciudad (/empleos-en-{slug}/): el chip principal del
 * total de ofertas se destaca en azul; los iconos map-pin/globe de las
 * etiquetas del duelo se alinean con el texto. */
.nv-cat-chip--hero{background:var(--ep-blue-50);border-color:var(--ep-blue-200);color:var(--ep-blue-800)}
.nv-cat-chip--hero b{color:var(--ep-blue-800)}
.nv-dficha-role svg{width:12px;height:12px;vertical-align:-2px;margin-right:4px}
.nv-dcat--city{margin-top:26px}
@media (max-width:640px){
  .nv-cat-chip--hero{width:100%;justify-content:center}
}

/* T185 — micro-detalles del duelo: la mediana del lado ganador se tiñe
 * del verde de identidad para reforzar el veredicto sin texto extra, y
 * la barra crece hasta su ancho SOLO para quienes aceptan movimiento
 * (patrón reduced-motion T180): en el resto aparece estática. */
.nv-dficha-side.is-win .nv-dficha-med{color:var(--nv-green-800)}
@media (prefers-reduced-motion: no-preference){
  .nv-dficha-bar span{animation:nv-bar-in .45s ease both}
}
@keyframes nv-bar-in{from{width:8%}}

/* T186 — la escalera de niveles llega a las fichas y a las landings:
 * filas por peldaño con barra del rubro y MARCA vertical = mediana
 * nacional del mismo peldaño sobre el MISMO eje (relativo al peldaño
 * más alto mostrado). Los chips is-up/is-down reutilizan nv-salcity-delta
 * (T177) para mantener el vocabulario visual del explorador. */
.nv-lvl{margin-top:22px}
.nv-lvl-title{font-size:1.15rem;font-weight:700;color:var(--ep-slate-900);margin:0 0 6px}
.nv-lvl-sub{font-size:.86rem;color:var(--ep-slate-600);margin:0 0 14px}
.nv-lvl-rows{display:flex;flex-direction:column;gap:10px}
.nv-lvl-row{background:#fff;border:1px solid var(--ep-slate-200);border-radius:12px;padding:12px 14px}
.nv-lvl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.nv-lvl-name{font-weight:600;color:var(--ep-slate-900);font-size:.95rem;flex:1 1 auto}
.nv-lvl .nv-salcity-delta{font-size:.72rem}
.nv-lvl-barzone{display:flex;align-items:center;gap:14px}
.nv-lvl-bar{position:relative;flex:1 1 auto;height:12px;background:var(--ep-slate-100);border-radius:999px;overflow:visible}
.nv-lvl-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--nv-green-600),var(--nv-green-800));min-width:8px}
.nv-lvl-mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ep-slate-500);border-radius:2px;box-shadow:0 0 0 2px rgba(255,255,255,.75)}
.nv-lvl-nums{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:132px}
.nv-lvl-med{font-weight:700;color:var(--ep-slate-900);font-variant-numeric:tabular-nums;font-size:1.02rem;line-height:1.1}
.nv-lvl-n{font-size:.76rem;color:var(--ep-slate-500);font-variant-numeric:tabular-nums;text-align:right}
.nv-lvl-note{font-size:.78rem;color:var(--ep-slate-500);margin:12px 0 0}
.nv-lvl-note a{color:var(--ep-blue-700);text-decoration:none}
.nv-lvl-note a:hover{text-decoration:underline}
.nv-lvl:focus-within{border-color:var(--ep-blue-200)}
@media (prefers-reduced-motion: no-preference){
  .nv-lvl-bar span{animation:nv-bar-in .45s ease both}
}
@media (max-width:640px){
  .nv-lvl-barzone{flex-direction:column;align-items:stretch;gap:6px}
  .nv-lvl-nums{flex-direction:row;align-items:baseline;justify-content:space-between;min-width:0}
  .nv-lvl-n{text-align:left}
}

/* ════════════════════════════════════════════════════════════════════════
   T189 — TARJETA ENTERA CLICABLE (data-ep-card-link)
   El click en cualquier parte de la tarjeta navega: jobcard (portada,
   /empleos/, relacionados, guardados), newscard (convocatorias) y las
   filas de dims salariales (salcat/salcity). Los controles internos
   (guardar ♥, comparar ⚖, enlaces de empresa) quedan por encima y no
   navegan — la lógica delegada vive en app.js (T189). Aquí solo la
   afinidad visual: cursor + micro-feedback de hover en las filas.
   ════════════════════════════════════════════════════════════════════════ */
[data-ep-card-link] { cursor: pointer; }
.nv-salcat-row,
.nv-salcity-row {
        transition: background-color .15s ease;
        border-radius: 10px;
}
.nv-salcat-row:hover,
.nv-salcity-row:hover { background: rgba(15, 23, 42, .04); }
.nv-salcat-row:hover .nv-salcat-name,
.nv-salcity-row:hover .nv-salcity-name { text-decoration: underline; text-underline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
        .nv-salcat-row,
        .nv-salcity-row { transition: none; }
}

/* ════════════════════════════════════════════════════════════════════════
   T281 — «Cómo postular, paso a paso» (convocatorias sin canal web)
   Lista numerada con contadores CSS dentro del bloque nv-conv: cada
   paso lleva círculo numerado, título en negrita y descripción con el
   dato real de las bases (canal/plazo/requisitos verbatim).
   ════════════════════════════════════════════════════════════════════════ */
.nv-conv-steps {
    margin: 0 0 16px;
}
.nv-conv-steps > h3 {
    margin: 0 0 10px;
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--ep-slate-900);
}
.nv-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: nvstep;
    display: grid;
    gap: 8px;
}
.nv-steps > li {
    counter-increment: nvstep;
    position: relative;
    padding: 10px 14px 10px 48px;
    background: #fff;
    border: 1px solid var(--ep-slate-200);
    border-radius: 10px;
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--ep-slate-600);
}
.nv-steps > li::before {
    content: counter(nvstep);
    position: absolute;
    left: 14px;
    top: 10px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--ep-blue-500);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}
.nv-steps > li b {
    display: block;
    color: var(--ep-slate-900);
    font-size: 0.92rem;
    margin-bottom: 2px;
}
.nv-steps > li span {
    display: block;
    overflow-wrap: anywhere;
}
.nv-steps > li a {
    display: inline-block;
    margin-top: 5px;
    color: var(--ep-blue-600);
    font-weight: 700;
    text-decoration: none;
}
.nv-steps > li a:hover,
.nv-steps > li a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 2px;
}
@media (max-width: 760px) {
    .nv-conv-steps > h3 { font-size: 1rem; }
    .nv-steps > li { padding: 10px 12px 10px 44px; }
    .nv-steps > li::before { left: 11px; top: 11px; }
}

/* ===== T284: caso práctico visual (guía de convocatorias) ===== */
.nvx{margin:2.4em 0;font-size:16px}
.nvx,.nvx *{box-sizing:border-box}
.nvx h2,.nvx h3,.nvx p,.nvx ul,.nvx ol,.nvx li{margin:0;padding:0;border:0;background:none;list-style:none}
.nvx .nvx-hero{position:relative;overflow:hidden;border-radius:18px;padding:26px 24px;color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 62%,#2f7ff0 100%);box-shadow:0 16px 36px rgba(30,58,138,.3)}
.nvx .nvx-hero::before{content:"";position:absolute;right:-70px;top:-80px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.09)}
.nvx .nvx-hero::after{content:"";position:absolute;left:-50px;bottom:-100px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.06)}
.nvx .nvx-eyebrow{position:relative;display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.38);border-radius:999px;padding:5px 12px;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#fff}
.nvx .nvx-eyebrow svg{width:13px;height:13px;flex:none}
.nvx .nvx-ava{position:absolute;right:20px;top:20px;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center;color:#fff}
.nvx .nvx-ava svg{width:26px;height:26px}
.nvx .nvx-title{position:relative;color:#fff !important;margin:.6em 0 .35em !important;padding:0 !important;border:0 !important;background:none !important;font-size:1.5em;line-height:1.24;font-weight:800;letter-spacing:-.01em}
.nvx .nvx-sub{position:relative;margin:0 0 16px !important;color:rgba(255,255,255,.88);font-size:.96em;line-height:1.6}
.nvx .nvx-sub a{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.nvx .nvx-facts{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(min-width:700px){.nvx .nvx-facts{grid-template-columns:repeat(4,1fr)}}
.nvx .nvx-fact{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);border-radius:12px;padding:9px 11px;font-size:.8em;font-weight:700;line-height:1.3;color:#fff}
.nvx .nvx-fact svg{width:17px;height:17px;flex:none;opacity:.95}
.nvx .nvx-fact small{display:block;font-weight:600;font-size:.86em;color:rgba(255,255,255,.78)}
.nvx .nvx-flow{position:relative;margin:22px 0 0;padding:0;list-style:none}
.nvx .nvx-flow::before{content:"";position:absolute;left:22px;top:22px;bottom:28px;width:4px;border-radius:4px;background:linear-gradient(180deg,#2563eb 0%,#0ea56b 100%)}
.nvx .nvx-flow li{position:relative;display:flex;gap:14px;padding:0 0 12px;margin:0;list-style:none}
.nvx .nvx-flow li::before{content:none}
.nvx .nvx-dot{position:relative;z-index:1;flex:none;width:48px;height:48px;border-radius:14px;background:#fff;border:2px solid #2563eb;color:#1d4ed8;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:9.5px;line-height:1.1;text-transform:uppercase;letter-spacing:.03em;box-shadow:0 4px 12px rgba(37,99,235,.2)}
.nvx .nvx-dot b{font-size:16px;line-height:1}
.nvx .nvx-step{flex:1;min-width:0;background:#fff;border:1px solid #dde5f1;border-left:4px solid #2563eb;border-radius:14px;padding:15px 17px;box-shadow:0 2px 10px rgba(15,31,61,.06);transition:transform .18s ease,box-shadow .18s ease}
.nvx .nvx-step:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,31,61,.12)}
.nvx .nvx-step h3{display:flex;align-items:flex-start;gap:8px;margin:0 0 6px;font-size:1em;line-height:1.35;font-weight:800;color:#101d33}
.nvx .nvx-step h3 svg{width:17px;height:17px;flex:none;margin-top:1px;color:#2563eb}
.nvx .nvx-step p{margin:0 !important;color:#3a4a63;font-size:.94em;line-height:1.62}
.nvx .nvx-step p strong{color:#101d33}
.nvx .nvx-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.nvx .nvx-chip{display:inline-flex;align-items:center;gap:5px;background:#eef4ff;border:1px solid #d3e2fb;color:#1e40af;border-radius:999px;padding:3px 10px;font-size:.78em;font-weight:700;line-height:1.4}
.nvx .nvx-chip svg{width:12px;height:12px;flex:none}
.nvx .nvx-chip--g{background:#e9f8f0;border-color:#bfe8d3;color:#0b6e40}
.nvx .nvx-ok .nvx-dot{border-color:#0ea56b;color:#0b7a47;box-shadow:0 4px 12px rgba(14,165,107,.22)}
.nvx .nvx-ok .nvx-step{border-left-color:#0ea56b}
.nvx .nvx-ok .nvx-step h3 svg{color:#0ea56b}
.nvx .nvx-avoid{margin-top:16px;display:flex;gap:12px;background:#fdf1f1;border:1px solid #f1cdcd;border-left:4px solid #d64545;border-radius:14px;padding:15px 17px}
.nvx .nvx-avoid>svg{width:20px;height:20px;flex:none;color:#d64545;margin-top:2px}
.nvx .nvx-avoid h3{margin:0 0 7px;font-size:.96em;font-weight:800;color:#8f2424}
.nvx .nvx-avoid ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.nvx .nvx-avoid li{position:relative;padding-left:25px;margin:0;color:#7d3333;font-size:.92em;line-height:1.55;list-style:none}
.nvx .nvx-avoid li svg{position:absolute;left:0;top:3px;width:15px;height:15px;color:#d64545}
.nvx .nvx-win{margin-top:16px;background:linear-gradient(135deg,#0b7a47 0%,#0ea56b 100%);color:#fff;border-radius:14px;padding:17px 19px;box-shadow:0 12px 28px rgba(11,122,71,.3);display:flex;gap:12px}
.nvx .nvx-win>svg{width:22px;height:22px;flex:none;margin-top:2px;color:#fff}
.nvx .nvx-win h3{color:#fff;margin:0 0 4px;font-size:1.02em;font-weight:800}
.nvx .nvx-win p{margin:0 !important;color:rgba(255,255,255,.94);font-size:.93em;line-height:1.6}
.nvx .nvx-win a{color:#d3f8e5;font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media(max-width:520px){.nvx .nvx-hero{padding:20px 16px}.nvx .nvx-ava{width:44px;height:44px;right:14px;top:14px}.nvx .nvx-ava svg{width:22px;height:22px}.nvx .nvx-dot{width:42px;height:42px;border-radius:12px}.nvx .nvx-flow::before{left:19px}.nvx .nvx-step h3{font-size:.95em}.nvx .nvx-step{padding:13px 14px}}
/* ===== T285: chip «Ver el caso práctico» arriba de las guías + iconos SVG inline (sin emojis) + anclas suaves ===== */
.nv-cp-jump{display:flex;align-items:center;gap:8px;margin:16px 0 12px;padding:12px 14px;border:1px solid #d3e2fb;background:#f0f6ff;border-radius:12px;font-weight:800;color:#1e40af;text-decoration:none;font-size:.92em;line-height:1.35;transition:background .15s ease,border-color .15s ease}
.nv-cp-jump svg{width:16px;height:16px;flex:none}
.nv-cp-jump .nv-cp-jump-arr{margin-left:auto;transition:transform .18s ease}
.nv-cp-jump:hover{background:#e5efff;border-color:#9dbdff}
.nv-cp-jump:hover .nv-cp-jump-arr{transform:translateY(2px)}
.nv-prose h2[id]{scroll-margin-top:92px}
.nv-inl-ico{display:inline-block;width:1.06em;height:1.06em;vertical-align:-.16em;margin-right:4px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* ════════════════════════════════════════════════════════════════════════
 * 24. T287 — RECURSOS 3.0: rediseño elegante del hub /recursos/
 * Hero navy editorial, herramientas agrupadas (calculadoras EMBEBIDAS en
 * su tarjeta destacada), tarjetas secundarias con acento fino, foco visible
 * y movimiento reducido. Sobreescribe selectivamente el bloque T93/T138/T94
 * (mismas clases, reglas posteriores). Sin «Convocatorias vigentes».
 * ══════════════════════════════════════════════════════════════════════ */

/* ── Hero: navy editorial con retícula de puntos y hairline inferior ── */
.nvr-hero {
        margin-top: 18px;
        background:
                radial-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1.6px) 0 0 / 24px 24px,
                radial-gradient(760px 320px at 88% -12%, rgba(96, 165, 250, 0.30), transparent 62%),
                radial-gradient(560px 300px at -8% 115%, rgba(22, 163, 74, 0.18), transparent 58%),
                linear-gradient(135deg, #0e2a47 0%, #1c3f7c 55%, #2563eb 128%);
        border-radius: 22px;
        padding: 40px 38px 34px;
        color: #fff;
        position: relative;
        overflow: hidden;
}
/* Hairline inferior tricolor (antes: círculos decorativos). */
.nvr-hero::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: auto;
        bottom: 0;
        width: auto;
        height: 4px;
        border-radius: 0;
        background: linear-gradient(90deg, #16a34a 0%, #2563eb 46%, #f59e0b 100%);
        z-index: 2;
}
.nvr-hero::after {
        display: none;
}
.nvr-hero-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin: 0 0 14px;
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: #93c5fd;
        position: relative;
        z-index: 1;
}
.nvr-hero-eyebrow::before,
.nvr-hero-eyebrow::after {
        content: "";
        width: 26px;
        height: 1px;
        background: rgba(147, 197, 253, 0.55);
        flex-shrink: 0;
}
.nvr-hero h1 {
        color: #fff;
        font-size: clamp(1.7rem, 3.4vw, 2.35rem);
        font-weight: 800;
        letter-spacing: -0.02em;
        line-height: 1.16;
        max-width: 24ch;
        margin: 0;
        position: relative;
        z-index: 1;
}
.nvr-hero-ac {
        color: #fbbf24;
        white-space: nowrap;
}
.nvr-hero .nvr-hero-lead {
        color: #c9d8f0;
        margin-top: 12px;
        max-width: 62ch;
        font-size: 0.95rem;
        line-height: 1.62;
        position: relative;
        z-index: 1;
}
/* Stats: cifras grandes con divisores verticales (2×2 apilado en móvil). */
.nvr-hero-stats {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 16px 20px;
        margin-top: 26px;
        padding-top: 18px;
        border-top: 1px solid rgba(255, 255, 255, 0.16);
        position: relative;
        z-index: 1;
}
.nvr-hero-stat {
        display: flex;
        align-items: baseline;
        gap: 7px;
        color: #bfdbfe;
}
.nvr-hero-stat b {
        font-size: 1.42rem;
        font-weight: 800;
        color: #fff;
        letter-spacing: -0.02em;
        font-variant-numeric: tabular-nums;
        line-height: 1;
}
.nvr-hero-stat span {
        font-size: 0.8rem;
        font-weight: 600;
        line-height: 1.3;
        color: #d3e1f7;
}
.nvr-hero-div {
        width: 1px;
        height: 26px;
        background: rgba(255, 255, 255, 0.22);
        flex-shrink: 0;
}

/* ── Sección «Herramientas interactivas» ── */
.nvr-herr {
        margin-top: 30px;
}
.nvr-herr-head {
        position: relative;
        padding-left: 14px;
        margin-bottom: 16px;
}
.nvr-herr-head::before {
        content: "";
        position: absolute;
        left: 0;
        top: 3px;
        bottom: 3px;
        width: 4px;
        border-radius: 2px;
        background: linear-gradient(180deg, #2563eb 0%, #16a34a 100%);
}
.nvr-herr-head h2 {
        font-size: 1.22rem;
        font-weight: 800;
        color: var(--ep-slate-900, #0f172a);
        letter-spacing: -0.01em;
        line-height: 1.25;
        margin: 0;
}
.nvr-herr-head p {
        color: var(--ep-slate-500, #64748b);
        font-size: 0.85rem;
        margin: 3px 0 0;
        line-height: 1.45;
}

/* ── Tarjeta destacada de calculadoras (con las 4 herramientas dentro) ── */
.nvr-calcbox {
        position: relative;
        background: #fff;
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-radius: 20px;
        padding: 20px 22px 20px;
        overflow: hidden;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.nvr-calcbox::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        height: 2px;
        background: #2563eb;
}
.nvr-calcbox-head {
        display: flex;
        align-items: center;
        gap: 14px;
        flex-wrap: wrap;
        padding-bottom: 14px;
        border-bottom: 1px solid var(--ep-slate-100, #f1f5f9);
        margin-bottom: 14px;
}
.nvr-calcbox-ic {
        width: 46px;
        height: 46px;
        border-radius: 13px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        background: var(--ep-blue-50, #eff6ff);
        color: var(--ep-blue-600, #2563eb);
}
.nvr-calcbox-ic svg {
        width: 22px;
        height: 22px;
}
.nvr-calcbox-tx {
        min-width: 0;
        flex: 1;
}
.nvr-calcbox-tx h3 {
        font-size: 1.04rem;
        font-weight: 800;
        color: var(--ep-slate-900, #0f172a);
        letter-spacing: -0.01em;
        line-height: 1.25;
        margin: 0;
}
.nvr-calcbox-tx p {
        color: var(--ep-slate-500, #64748b);
        font-size: 0.82rem;
        margin: 3px 0 0;
        line-height: 1.45;
}
.nvr-calcbox-pill {
        margin-left: auto;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: var(--ep-blue-50, #eff6ff);
        border: 1px solid var(--ep-blue-200, #bfdbfe);
        color: var(--ep-blue-700, #1d4ed8);
        padding: 6px 13px;
        border-radius: 999px;
        font-size: 0.72rem;
        font-weight: 700;
        white-space: nowrap;
        flex-shrink: 0;
}

/* Panel interior donde viven las 4 calculadoras (hermanadas al encabezado). */
.nvr-calcrow {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px;
        margin: 0;
        padding: 12px;
        background: #f8fafc;
        border: 1px solid #eef2f7;
        border-radius: 14px;
}
.nvr-calcx {
        display: flex;
        align-items: center;
        gap: 11px;
        padding: 12px 13px;
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-left: 1px solid var(--ep-slate-200, #e2e8f0);
        border-radius: 12px;
        background: #fff;
        text-decoration: none;
        transition: border-color 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}
.nvr-calcx-ic {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        background: var(--ep-blue-50, #eff6ff);
        color: var(--ep-blue-600, #2563eb);
        transition: background 0.16s ease, color 0.16s ease;
}
.nvr-calcx-ic svg {
        width: 17px;
        height: 17px;
}
.nvr-calcx-tx {
        min-width: 0;
}
.nvr-calcx-tx b {
        display: block;
        color: var(--ep-slate-900, #0f172a);
        font-size: 0.86rem;
        font-weight: 700;
        line-height: 1.25;
}
.nvr-calcx-tx small {
        display: block;
        color: var(--ep-slate-500, #64748b);
        font-size: 0.72rem;
        line-height: 1.35;
        margin-top: 2px;
}
.nvr-calcx:hover {
        border-color: var(--ep-blue-300, #93c5fd);
        transform: translateY(-2px);
        box-shadow: 0 8px 18px rgba(29, 78, 216, 0.12);
}
.nvr-calcx:hover .nvr-calcx-ic {
        background: var(--ep-blue-600, #2563eb);
        color: #fff;
}
.nvr-calcx:hover .nvr-calcx-tx b {
        color: var(--ep-blue-700, #1d4ed8);
}

/* ── Tarjetas secundarias (plantillas / glosario / casos) ── */
.nvr-tools {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
        gap: 14px;
        margin: 16px 0 0;
}
.nvr-tool {
        position: relative;
        display: flex;
        gap: 13px;
        align-items: flex-start;
        background: #fff;
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-left: 1px solid var(--ep-slate-200, #e2e8f0);
        border-radius: 16px;
        padding: 17px 18px;
        text-decoration: none;
        overflow: hidden;
        transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
        --nvt: #2563eb;
        --nvt-bg: #eff6ff;
}
.nvr-tool::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background: var(--nvt);
        opacity: 0.9;
}
.nvr-tool:hover {
        box-shadow: 0 12px 26px rgba(15, 23, 42, 0.10);
        transform: translateY(-2px);
        border-color: var(--ep-slate-300, #cbd5e1);
}
.nvr-tool-ic {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        background: var(--nvt-bg);
        color: var(--nvt);
        transition: background 0.18s ease, color 0.18s ease;
}
.nvr-tool-ic svg {
        width: 20px;
        height: 20px;
}
.nvr-tool:hover .nvr-tool-ic {
        background: var(--nvt);
        color: #fff;
}
.nvr-tool-tx {
        min-width: 0;
        flex: 1;
        display: flex;
        flex-direction: column;
}
.nvr-tool-tx b {
        display: block;
        color: var(--ep-slate-900, #0f172a);
        font-size: 0.95rem;
        font-weight: 700;
        line-height: 1.3;
}
.nvr-tool-tx small {
        display: block;
        color: var(--ep-slate-500, #64748b);
        font-size: 0.8rem;
        line-height: 1.5;
        margin-top: 4px;
}
.nvr-tool-go {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        margin-top: 11px;
        font-size: 0.74rem;
        font-weight: 800;
        color: var(--nvt);
        letter-spacing: 0.01em;
}
.nvr-tool-go svg {
        width: 13px;
        height: 13px;
        transition: transform 0.18s ease;
}
.nvr-tool:hover .nvr-tool-go svg {
        transform: translateX(3px);
}
/* Variantes de color (el antiguo --amber de convocatorias desaparece). */
.nvr-tool--green { --nvt: #15803d; --nvt-bg: #f0fdf4; }
.nvr-tool--teal  { --nvt: #0f766e; --nvt-bg: #f0fdfa; }
.nvr-tool--violet { --nvt: #7c3aed; --nvt-bg: #f5f3ff; }
.nvr-tool--teal:hover,
.nvr-tool--green:hover,
.nvr-tool--violet:hover {
        border-color: var(--ep-slate-300, #cbd5e1);
}

/* ── Chips: respiración extra tras las herramientas ── */
.nvr-chips {
        margin: 26px 0 2px;
}

/* ── Plantillas: fondo más sobrio ── */
.nvr-plant {
        background: linear-gradient(180deg, #f8fafc 0%, #ffffff 72%);
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-radius: 20px;
        padding: 24px 24px 20px;
}

/* ── Accesibilidad: foco visible y movimiento reducido ── */
.nvr-tool:focus-visible,
.nvr-calcx:focus-visible,
.nvr-card:focus-visible,
.nvr-pl:focus-visible,
.nvr-chip:focus-visible,
.nvr-btn:focus-visible {
        outline: 2px solid #2563eb;
        outline-offset: 2px;
        border-radius: 12px;
}
@media (prefers-reduced-motion: reduce) {
        .nvr-tool,
        .nvr-calcx,
        .nvr-card,
        .nvr-pl,
        .nvr-chip,
        .nvr-btn {
                transition: none !important;
                transform: none !important;
        }
        .nvr-tool-go svg,
        .nvr-arrow {
                transition: none !important;
                transform: none !important;
        }
}

/* ── Responsive T287 ── */
@media (max-width: 980px) {
        .nvr-calcrow {
                grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .nvr-tools {
                grid-template-columns: 1fr;
        }
}
@media (max-width: 640px) {
        .nvr-hero {
                padding: 28px 20px 24px;
                border-radius: 18px;
        }
        .nvr-hero-eyebrow {
                font-size: 0.64rem;
                letter-spacing: 0.14em;
                margin-bottom: 10px;
        }
        .nvr-hero .nvr-hero-lead {
                font-size: 0.88rem;
        }
        .nvr-hero-stats {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 12px 10px;
                margin-top: 20px;
                padding-top: 15px;
        }
        .nvr-hero-div {
                display: none;
        }
        .nvr-hero-stat {
                flex-direction: column;
                align-items: flex-start;
                gap: 3px;
        }
        .nvr-hero-stat b {
                font-size: 1.22rem;
        }
        .nvr-hero-stat span {
                font-size: 0.72rem;
        }
        .nvr-herr {
                margin-top: 24px;
        }
        .nvr-calcbox {
                padding: 15px 14px 14px;
                border-radius: 16px;
        }
        .nvr-calcbox-head {
                gap: 11px;
                padding-bottom: 11px;
                margin-bottom: 11px;
        }
        .nvr-calcbox-ic {
                width: 40px;
                height: 40px;
                border-radius: 11px;
        }
        .nvr-calcbox-ic svg {
                width: 19px;
                height: 19px;
        }
        .nvr-calcbox-tx h3 {
                font-size: 0.97rem;
        }
        .nvr-calcbox-tx p {
                font-size: 0.76rem;
        }
        .nvr-calcbox-pill {
                display: none;
        }
        .nvr-calcrow {
                padding: 9px;
                gap: 8px;
                border-radius: 12px;
        }
        .nvr-calcx {
                padding: 10px 11px;
                gap: 9px;
        }
        .nvr-calcx-ic {
                width: 31px;
                height: 31px;
                border-radius: 9px;
        }
        .nvr-calcx-ic svg {
                width: 15px;
                height: 15px;
        }
        .nvr-calcx-tx b {
                font-size: 0.8rem;
        }
        .nvr-calcx-tx small {
                font-size: 0.68rem;
        }
        .nvr-tool {
                padding: 14px 15px;
        }
        .nvr-tool-ic {
                width: 40px;
                height: 40px;
        }
        .nvr-chips {
                margin: 22px 0 2px;
        }
}

/* ═══ T290-RECURSOS-4.0-START ══════════════════════════════════════════════
   25. T290 — RECURSOS 4.0: rediseño integral de TODAS las secciones
   internas del hub /recursos/ y de las páginas de /plantillas/.

   Repara la pérdida del bloque T93/T138 (los estilos de chips, secciones,
   tarjetas de guías, plantillas, FAQ y CTA desaparecieron con el regex
   idempotente de T287) y los eleva: chips con punto de color y hover
   relleno, cabeceras de sección con hairline, tarjetas de guía con fila
   de meta-iconos y botón «Leer guía» (adiós flecha huérfana), FAQ como
   acordeón propio (+/−), CTA navy con retícula, y las páginas de
   plantillas (.nvpl-) con hero, pasos numerados, checklist y tarjetas.

   Este bloque se anexa al final: sus reglas ganan a las de T287 cuando
   la especificidad empata. El marcador T290-RECURSOS-4.0-START permite
   un reemplazo idempotente SEGURO (búsqueda de cadena exacta, sin regex
   que pueda comerse bloques previos).
   ══════════════════════════════════════════════════════════════════════ */

/* ── Paleta por categoría (restaurada de T93 + dote de contraste) ── */
.nvr-c-cv       { --nvr-c: #2563eb; --nvr-c-dark: #1d4ed8; --nvr-bg: #eff6ff; }
.nvr-c-sueldos  { --nvr-c: #16a34a; --nvr-c-dark: #15803d; --nvr-bg: #f0fdf4; }
.nvr-c-derechos { --nvr-c: #7c3aed; --nvr-c-dark: #6d28d9; --nvr-bg: #f5f3ff; }
.nvr-c-estado   { --nvr-c: #d97706; --nvr-c-dark: #b45309; --nvr-bg: #fffbeb; }
.nvr-c-primero  { --nvr-c: #0891b2; --nvr-c-dark: #0e7490; --nvr-bg: #ecfeff; }
.nvr-c-buscar   { --nvr-c: #e11d48; --nvr-c-dark: #be123c; --nvr-bg: #fff1f2; }
.nvr-ic-blue    { --nvr-c: #2563eb; --nvr-c-dark: #1d4ed8; --nvr-bg: #eff6ff; }
.nvr-chip--plant { --nvr-c: #2563eb; --nvr-c-dark: #1d4ed8; --nvr-bg: #eff6ff; }
.nvr-chip--casos { --nvr-c: #7c3aed; --nvr-c-dark: #6d28d9; --nvr-bg: #f5f3ff; }

/* ── Chips de categorías: pastillas con punto de color ── */
.nvr-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 9px;
        margin: 26px 0 4px;
}
.nvr-chip {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 9px 16px;
        min-height: 40px;
        border-radius: 999px;
        background: #fff;
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        color: var(--ep-slate-700, #334155);
        font-size: 0.82rem;
        font-weight: 600;
        text-decoration: none;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
        transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}
.nvr-chip .nvr-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--nvr-c, #2563eb);
        flex-shrink: 0;
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--nvr-c, #2563eb) 18%, transparent);
}
.nvr-chip span {
        color: var(--ep-slate-500, #64748b);
        font-weight: 700;
        font-variant-numeric: tabular-nums;
}
.nvr-chip:hover {
        border-color: var(--nvr-c, #93c5fd);
        background: var(--nvr-bg, #eff6ff);
        color: var(--nvr-c-dark, #1d4ed8);
        transform: translateY(-1px);
        box-shadow: 0 5px 14px rgba(15, 23, 42, 0.08);
}
.nvr-chip:hover span {
        color: var(--nvr-c-dark, var(--nvr-c, #2563eb));
}

/* ── Cabecera de sección: icono + título + hairline inferior ── */
.nvr-sec {
        margin-top: 40px;
        scroll-margin-top: 96px;
}
.nvr-sec-head {
        display: flex;
        align-items: center;
        gap: 14px;
        padding-bottom: 14px;
        margin-bottom: 18px;
        border-bottom: 1px solid var(--ep-slate-200, #e2e8f0);
        position: relative;
}
.nvr-sec-head::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -1px;
        width: 64px;
        height: 3px;
        border-radius: 3px 3px 0 0;
        background: var(--nvr-c, #2563eb);
}
.nvr-sec-ic {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        background: var(--nvr-bg, #eff6ff);
        color: var(--nvr-c-dark, var(--nvr-c, #2563eb));
        border: 1px solid color-mix(in srgb, var(--nvr-c, #2563eb) 22%, transparent);
}
.nvr-sec-ic svg {
        width: 22px;
        height: 22px;
}
.nvr-sec-head > div {
        min-width: 0;
}
.nvr-sec-head h2 {
        font-size: 1.24rem;
        font-weight: 800;
        color: var(--ep-slate-900, #0f172a);
        letter-spacing: -0.01em;
        line-height: 1.25;
        margin: 0;
}
.nvr-sec-head p {
        color: var(--ep-slate-500, #64748b);
        font-size: 0.85rem;
        margin: 4px 0 0;
        line-height: 1.45;
}
.nvr-sec-count {
        margin-left: auto;
        background: var(--nvr-bg, #f1f5f9);
        color: var(--nvr-c-dark, #475569);
        border: 1px solid color-mix(in srgb, var(--nvr-c, #94a3b8) 30%, transparent);
        padding: 6px 14px;
        border-radius: 999px;
        font-size: 0.73rem;
        font-weight: 800;
        white-space: nowrap;
        flex-shrink: 0;
        font-variant-numeric: tabular-nums;
}

/* ── Grid de guías ── */
.nvr-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
}

/* ── Tarjeta de guía: carta completa con acento superior y «Leer guía» ── */
.nvr-card {
        position: relative;
        background: #fff;
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-radius: 16px;
        padding: 18px 18px 16px;
        display: flex;
        flex-direction: column;
        gap: 9px;
        text-decoration: none;
        overflow: hidden;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
        transition: box-shadow 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.nvr-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 3px;
        background: var(--nvr-c, #2563eb);
        background: linear-gradient(90deg, var(--nvr-c, #2563eb), color-mix(in srgb, var(--nvr-c, #2563eb) 55%, #fff));
        opacity: 0;
        transition: opacity 0.18s ease;
}
.nvr-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--ep-shadow-lg, 0 12px 32px rgba(30, 58, 138, 0.12), 0 4px 10px rgba(15, 23, 42, 0.06));
        border-color: color-mix(in srgb, var(--nvr-c, #2563eb) 38%, #e2e8f0);
}
.nvr-card:hover::before {
        opacity: 1;
}
.nvr-card-ic {
        width: 40px;
        height: 40px;
        border-radius: 11px;
        display: grid;
        place-items: center;
        background: var(--nvr-bg, #eff6ff);
        color: var(--nvr-c-dark, var(--nvr-c, #2563eb));
        transition: transform 0.18s ease;
}
.nvr-card:hover .nvr-card-ic {
        transform: scale(1.07);
}
.nvr-card-ic svg {
        width: 19px;
        height: 19px;
}
.nvr-card h3 {
        font-size: 0.97rem;
        font-weight: 700;
        color: var(--ep-slate-900, #0f172a);
        line-height: 1.38;
        margin: 0;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        transition: color 0.18s ease;
}
.nvr-card:hover h3 {
        color: var(--nvr-c-dark, #1d4ed8);
}
.nvr-card p {
        color: var(--ep-slate-600, #475569);
        font-size: 0.83rem;
        line-height: 1.55;
        margin: 0;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
}
/* Fila de meta con iconitos (autor · minutos · actualizado). */
.nvr-card-meta {
        margin-top: auto;
        padding-top: 10px;
        border-top: 1px dashed var(--ep-slate-200, #e2e8f0);
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 5px 12px;
        color: var(--ep-slate-500, #64748b);
        font-size: 0.72rem;
        line-height: 1.4;
}
.nvr-mm {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        min-height: 20px;
}
.nvr-mm svg {
        width: 13px;
        height: 13px;
        color: var(--ep-slate-500, #64748b);
        flex-shrink: 0;
}
/* Botón «Leer guía» al pie: reemplaza a la flecha huérfana. */
.nvr-go {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-top: 2px;
        min-height: 40px;
        font-size: 0.76rem;
        font-weight: 800;
        color: var(--nvr-c-dark, var(--nvr-c, #2563eb));
        letter-spacing: 0.01em;
        padding: 8px 14px;
        border-radius: 999px;
        background: var(--nvr-bg, #eff6ff);
        border: 1px solid color-mix(in srgb, var(--nvr-c, #2563eb) 26%, transparent);
        transition: background 0.16s ease, color 0.16s ease, border-color 0.16s ease;
        align-self: flex-start;
}
.nvr-go svg {
        width: 13px;
        height: 13px;
        transition: transform 0.16s ease;
}
.nvr-card:hover .nvr-go {
        background: var(--nvr-c-dark, var(--nvr-c, #2563eb));
        border-color: var(--nvr-c-dark, var(--nvr-c, #2563eb));
        color: #fff;
}
.nvr-card:hover .nvr-go svg {
        transform: translateX(3px);
}
/* Flecha vieja (por si algúna plantilla la imprime aún): discreta. */
.nvr-arrow {
        position: absolute;
        right: 14px;
        top: 20px;
        color: var(--ep-slate-300, #cbd5e1);
        transition: transform 0.16s ease, color 0.16s ease;
}
.nvr-arrow svg {
        width: 16px;
        height: 16px;
}
.nvr-card:hover .nvr-arrow {
        color: var(--nvr-c-dark, var(--nvr-c, #2563eb));
        transform: translateX(3px);
}

/* ── Sección «Plantillas .docx» del hub ── */
.nvr-plant {
        margin-top: 40px;
        scroll-margin-top: 96px;
        background:
                radial-gradient(520px 200px at 92% -30%, rgba(37, 99, 235, 0.07), transparent 60%),
                linear-gradient(180deg, #f8fafc 0%, #ffffff 74%);
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-radius: 22px;
        padding: 24px 24px 20px;
}
.nvr-plant-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 4px;
}
.nvr-pl {
        display: flex;
        gap: 12px;
        align-items: center;
        background: #fff;
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-radius: 14px;
        padding: 13px 14px;
        min-height: 74px;
        text-decoration: none;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
        transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}
.nvr-pl:hover {
        border-color: var(--ep-blue-300, #93c5fd);
        box-shadow: var(--ep-shadow, 0 4px 14px rgba(30, 58, 138, 0.07), 0 1px 3px rgba(15, 23, 42, 0.06));
        transform: translateY(-2px);
}
.nvr-pl-ic {
        width: 40px;
        height: 40px;
        border-radius: 11px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        background: var(--ep-blue-50, #eff6ff);
        color: var(--ep-blue-600, #2563eb);
        transition: background 0.16s ease, color 0.16s ease;
}
.nvr-pl-ic svg {
        width: 18px;
        height: 18px;
}
.nvr-pl:hover .nvr-pl-ic {
        background: var(--ep-blue-600, #2563eb);
        color: #fff;
}
.nvr-pl-tx {
        min-width: 0;
        flex: 1;
}
.nvr-pl-tx b {
        display: block;
        font-size: 0.89rem;
        color: var(--ep-slate-900, #0f172a);
        line-height: 1.3;
}
.nvr-pl:hover .nvr-pl-tx b {
        color: var(--ep-blue-700, #1d4ed8);
}
.nvr-pl-tx small {
        display: block;
        font-size: 0.77rem;
        color: var(--ep-slate-500, #64748b);
        line-height: 1.45;
        margin-top: 3px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
}
.nvr-pl-btn {
        flex-shrink: 0;
        align-self: center;
        white-space: nowrap;
        font-size: 0.71rem;
        font-weight: 800;
        color: var(--ep-blue-700, #1d4ed8);
        background: var(--ep-blue-50, #eff6ff);
        border: 1px solid var(--ep-blue-200, #bfdbfe);
        padding: 8px 13px;
        border-radius: 999px;
        transition: background 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}
.nvr-pl:hover .nvr-pl-btn {
        background: var(--ep-blue-600, #2563eb);
        color: #fff;
        border-color: var(--ep-blue-600, #2563eb);
}
.nvr-plant-note {
        margin-top: 14px;
        font-size: 0.77rem;
        color: var(--ep-slate-500, #64748b);
        line-height: 1.55;
        display: flex;
        gap: 8px;
        align-items: flex-start;
}
.nvr-plant-note::before {
        content: "";
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: var(--ep-blue-400, #60a5fa);
        margin-top: 8px;
        flex-shrink: 0;
}

/* ── FAQ: acordeón propio (+/−), sin triángulos nativos ── */
.nvr-faq {
        margin-top: 40px;
        scroll-margin-top: 96px;
}
.nvr-faq details {
        background: #fff;
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-radius: 14px;
        margin-bottom: 10px;
        overflow: hidden;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
        transition: border-color 0.16s ease, box-shadow 0.16s ease;
}
.nvr-faq details:hover {
        border-color: var(--ep-blue-200, #bfdbfe);
}
.nvr-faq details[open] {
        border-color: var(--ep-blue-300, #93c5fd);
        box-shadow: 0 6px 18px rgba(30, 58, 138, 0.08);
}
.nvr-faq summary {
        cursor: pointer;
        padding: 16px 54px 16px 18px;
        font-weight: 700;
        font-size: 0.92rem;
        color: var(--ep-slate-900, #0f172a);
        list-style: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        min-height: 44px;
        position: relative;
        user-select: none;
}
.nvr-faq summary::-webkit-details-marker {
        display: none;
}
.nvr-faq summary::after {
        content: "+";
        position: absolute;
        right: 18px;
        top: 50%;
        transform: translateY(-50%);
        width: 26px;
        height: 26px;
        border-radius: 8px;
        display: grid;
        place-items: center;
        font-size: 1.05rem;
        line-height: 1;
        color: var(--ep-blue-600, #2563eb);
        font-weight: 800;
        background: var(--ep-blue-50, #eff6ff);
        border: 1px solid var(--ep-blue-100, #dbeafe);
        transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}
.nvr-faq details[open] summary::after {
        content: "–";
        background: var(--ep-blue-600, #2563eb);
        border-color: var(--ep-blue-600, #2563eb);
        color: #fff;
        transform: translateY(-50%) rotate(180deg);
}
.nvr-faq details p {
        padding: 0 18px 17px;
        color: var(--ep-slate-600, #475569);
        font-size: 0.86rem;
        line-height: 1.65;
        margin: 0;
}

/* ── CTA final: navy con retícula de puntos (hermana del hero) ── */
.nvr-cta {
        margin-top: 44px;
        background:
                radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1.6px) 0 0 / 22px 22px,
                radial-gradient(420px 210px at 90% -20%, rgba(96, 165, 250, 0.28), transparent 60%),
                linear-gradient(120deg, #0e2a47 0%, #1c3f7c 68%, #2563eb 135%);
        border-radius: 22px;
        padding: 34px 36px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;
        position: relative;
        overflow: hidden;
}
.nvr-cta::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 4px;
        background: linear-gradient(90deg, #16a34a 0%, #2563eb 46%, #f59e0b 100%);
}
.nvr-cta::after {
        content: "";
        position: absolute;
        width: 240px;
        height: 240px;
        border-radius: 50%;
        background: rgba(59, 130, 246, 0.16);
        right: -80px;
        bottom: -120px;
        pointer-events: none;
}
.nvr-cta h2 {
        color: #fff;
        font-size: 1.32rem;
        font-weight: 800;
        letter-spacing: -0.01em;
        margin: 0;
        position: relative;
        z-index: 1;
}
.nvr-cta p {
        color: #c9d8f0;
        font-size: 0.89rem;
        margin-top: 6px;
        line-height: 1.55;
        max-width: 46ch;
        position: relative;
        z-index: 1;
}
.nvr-cta-actions {
        display: flex;
        gap: 11px;
        flex-wrap: wrap;
        position: relative;
        z-index: 1;
}
.nvr-btn {
        padding: 13px 22px;
        min-height: 44px;
        border-radius: 12px;
        font-weight: 700;
        font-size: 0.88rem;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        transition: background 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}
.nvr-btn svg {
        width: 16px;
        height: 16px;
}
.nvr-btn--solid {
        background: #2563eb;
        color: #fff;
        box-shadow: 0 8px 20px rgba(37, 99, 235, 0.35);
}
.nvr-btn--solid:hover {
        background: #1d4ed8;
        transform: translateY(-2px);
        box-shadow: 0 12px 26px rgba(37, 99, 235, 0.42);
}
.nvr-btn--ghost {
        border: 1px solid rgba(255, 255, 255, 0.38);
        color: #fff;
        background: rgba(255, 255, 255, 0.06);
}
.nvr-btn--ghost:hover {
        background: rgba(255, 255, 255, 0.14);
        border-color: rgba(255, 255, 255, 0.6);
        transform: translateY(-2px);
}

/* ══════════════════════════════════════════════════════════════════════
   Páginas de /plantillas/ — listado (.nvpl-grid, .nvpl-card) y detalle
   (.nvpl-hero, .nvpl-steps, .nvpl-incl, .nvpl-guide, .nvpl-faq,
   .nvpl-more). Antes sin ningún estilo: texto plano.
   ══════════════════════════════════════════════════════════════════════ */

/* ── Listado /plantillas/ ── */
.nvpl-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        margin-top: 6px;
}
.nvpl-card {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 8px;
        background: #fff;
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-radius: 16px;
        padding: 18px 18px 16px;
        text-decoration: none;
        overflow: hidden;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
        transition: box-shadow 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.nvpl-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 3px;
        background: linear-gradient(90deg, #2563eb, #60a5fa);
        opacity: 0;
        transition: opacity 0.18s ease;
}
.nvpl-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--ep-shadow-lg, 0 12px 32px rgba(30, 58, 138, 0.12), 0 4px 10px rgba(15, 23, 42, 0.06));
        border-color: var(--ep-blue-200, #bfdbfe);
}
.nvpl-card:hover::before {
        opacity: 1;
}
.nvpl-docx {
        align-self: flex-start;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 0.66rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--ep-blue-700, #1d4ed8);
        background: var(--ep-blue-50, #eff6ff);
        border: 1px solid var(--ep-blue-200, #bfdbfe);
        padding: 4px 10px;
        border-radius: 999px;
}
.nvpl-docx::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 2px;
        background: var(--ep-blue-500, #3b82f6);
        flex-shrink: 0;
}
.nvpl-card h3 {
        font-size: 0.98rem;
        font-weight: 700;
        color: var(--ep-slate-900, #0f172a);
        line-height: 1.35;
        margin: 0;
        transition: color 0.16s ease;
}
.nvpl-card:hover h3 {
        color: var(--ep-blue-700, #1d4ed8);
}
.nvpl-card p {
        color: var(--ep-slate-600, #475569);
        font-size: 0.83rem;
        line-height: 1.55;
        margin: 0;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
}
.nvpl-card .nvpl-meta {
        margin-top: auto;
        padding-top: 10px;
        border-top: 1px dashed var(--ep-slate-200, #e2e8f0);
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 0.76rem;
        font-weight: 800;
        color: var(--ep-blue-600, #2563eb);
        align-self: flex-start;
        min-height: 22px;
}
.nvpl-card .nvpl-meta::after {
        content: "→";
        font-weight: 800;
        transition: transform 0.16s ease;
}
.nvpl-card:hover .nvpl-meta::after {
        transform: translateX(3px);
}

/* Pasos «cómo usar» (listado y detalle comparten) */
.nvpl-steps {
        margin-top: 30px;
        background: #fff;
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-radius: 18px;
        padding: 22px 22px 20px;
}
.nvpl-steps h2,
.nvpl-incl h2,
.nvpl-guide-h,
.nvpl-faq-h {
        font-size: 1.08rem;
        font-weight: 800;
        color: var(--ep-slate-900, #0f172a);
        letter-spacing: -0.01em;
        line-height: 1.3;
        margin: 0 0 14px;
        display: flex;
        align-items: center;
        gap: 10px;
}
.nvpl-steps h2::before,
.nvpl-incl h2::before {
        content: "";
        width: 4px;
        height: 18px;
        border-radius: 2px;
        background: linear-gradient(180deg, #2563eb, #16a34a);
        flex-shrink: 0;
}
.nvpl-steps ol {
        list-style: none;
        counter-reset: nvpl-step;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 0;
}
.nvpl-steps ol > li {
        counter-increment: nvpl-step;
        position: relative;
        padding: 0 0 16px 46px;
        color: var(--ep-slate-600, #475569);
        font-size: 0.87rem;
        line-height: 1.6;
}
.nvpl-steps ol > li:last-child {
        padding-bottom: 0;
}
.nvpl-steps ol > li::before {
        content: counter(nvpl-step);
        position: absolute;
        left: 0;
        top: -2px;
        width: 30px;
        height: 30px;
        border-radius: 10px;
        display: grid;
        place-items: center;
        background: var(--ep-blue-50, #eff6ff);
        border: 1px solid var(--ep-blue-200, #bfdbfe);
        color: var(--ep-blue-700, #1d4ed8);
        font-size: 0.8rem;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
}
/* Línea conectora entre pasos. */
.nvpl-steps ol > li:not(:last-child)::after {
        content: "";
        position: absolute;
        left: 14px;
        top: 30px;
        bottom: 0;
        width: 2px;
        background: linear-gradient(180deg, var(--ep-blue-200, #bfdbfe), var(--ep-slate-100, #f1f5f9));
}

/* «Qué incluye» — checklist con checks verdes */
.nvpl-incl {
        margin-top: 22px;
        background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 70%);
        border: 1px solid #dcfce7;
        border-radius: 18px;
        padding: 22px 22px 20px;
}
.nvpl-incl ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px 14px;
}
.nvpl-incl ul li {
        position: relative;
        padding: 9px 12px 9px 38px;
        background: #fff;
        border: 1px solid #dcfce7;
        border-radius: 11px;
        color: var(--ep-slate-700, #334155);
        font-size: 0.84rem;
        line-height: 1.5;
        transition: border-color 0.16s ease;
}
.nvpl-incl ul li:hover {
        border-color: #86efac;
}
.nvpl-incl ul li::before {
        content: "";
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background: #16a34a;
}
.nvpl-incl ul li::after {
        content: "";
        position: absolute;
        left: 14.5px;
        top: 50%;
        width: 4px;
        height: 8px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: translateY(-63%) rotate(40deg);
}

/* Guía relacionada — tarjeta con acento azul */
.nvpl-guide {
        margin-top: 22px;
}
.nvpl-guide-h::before {
        content: "";
        width: 4px;
        height: 18px;
        border-radius: 2px;
        background: #2563eb;
        flex-shrink: 0;
}
.nvpl-gcard {
        position: relative;
        display: flex;
        gap: 14px;
        align-items: flex-start;
        background: #fff;
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-left: 4px solid #2563eb;
        border-radius: 16px;
        padding: 18px 20px;
        text-decoration: none;
        overflow: hidden;
        transition: box-shadow 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.nvpl-gcard:hover {
        box-shadow: var(--ep-shadow-lg, 0 12px 32px rgba(30, 58, 138, 0.12), 0 4px 10px rgba(15, 23, 42, 0.06));
        transform: translateY(-2px);
        border-color: var(--ep-blue-200, #bfdbfe);
        border-left-color: var(--ep-blue-600, #2563eb);
}
.nvpl-gcard-ic {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        background: var(--ep-blue-50, #eff6ff);
        color: var(--ep-blue-600, #2563eb);
}
.nvpl-gcard-ic svg {
        width: 20px;
        height: 20px;
}
.nvpl-gcard-tx {
        min-width: 0;
        flex: 1;
}
.nvpl-gcard-tx h3 {
        font-size: 0.97rem;
        font-weight: 700;
        color: var(--ep-slate-900, #0f172a);
        line-height: 1.4;
        margin: 0;
        transition: color 0.16s ease;
}
.nvpl-gcard:hover .nvr-gcard-tx h3,
.nvpl-gcard:hover .nvpl-gcard-tx h3 {
        color: var(--ep-blue-700, #1d4ed8);
}
.nvpl-gcard-tx p {
        color: var(--ep-slate-600, #475569);
        font-size: 0.83rem;
        line-height: 1.55;
        margin: 5px 0 0;
}
.nvpl-gcard-go {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-top: 10px;
        font-size: 0.78rem;
        font-weight: 800;
        color: var(--ep-blue-600, #2563eb);
}
.nvpl-gcard-go svg {
        width: 13px;
        height: 13px;
        transition: transform 0.16s ease;
}
.nvpl-gcard:hover .nvpl-gcard-go svg {
        transform: translateX(3px);
}

/* ── Detalle de plantilla: hero con CTA de descarga ── */
.nvpl-hero {
        margin-top: 14px;
        position: relative;
        background:
                radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1.6px) 0 0 / 22px 22px,
                radial-gradient(600px 260px at 88% -18%, rgba(96, 165, 250, 0.30), transparent 62%),
                radial-gradient(420px 240px at -6% 118%, rgba(22, 163, 74, 0.16), transparent 58%),
                linear-gradient(135deg, #0e2a47 0%, #1c3f7c 58%, #2563eb 126%);
        border-radius: 22px;
        padding: 34px 34px 30px;
        color: #fff;
        overflow: hidden;
}
.nvpl-hero::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 4px;
        background: linear-gradient(90deg, #16a34a 0%, #2563eb 46%, #f59e0b 100%);
}
.nvpl-hero-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin: 0 0 14px;
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: #93c5fd;
}
.nvpl-hero-eyebrow::before,
.nvpl-hero-eyebrow::after {
        content: "";
        width: 22px;
        height: 1px;
        background: rgba(147, 197, 253, 0.55);
        flex-shrink: 0;
}
.nvpl-hero-eyebrow::after {
        display: none;
}
.nvpl-hero h1 {
        color: #fff;
        font-size: clamp(1.55rem, 3.2vw, 2.1rem);
        font-weight: 800;
        letter-spacing: -0.02em;
        line-height: 1.18;
        margin: 0;
        position: relative;
        z-index: 1;
}
.nvpl-hero-lead {
        color: #c9d8f0;
        margin-top: 12px;
        max-width: 58ch;
        font-size: 0.95rem;
        line-height: 1.62;
        position: relative;
        z-index: 1;
}
/* Chips de propiedades dentro del hero. */
.nvpl-hero-feats {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 18px;
        position: relative;
        z-index: 1;
}
.nvpl-feat {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 7px 13px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.10);
        border: 1px solid rgba(255, 255, 255, 0.22);
        color: #e2ecfb;
        font-size: 0.74rem;
        font-weight: 700;
        white-space: nowrap;
}
.nvpl-feat svg {
        width: 13px;
        height: 13px;
        color: #93c5fd;
        flex-shrink: 0;
}
/* Fila de acciones: botón grande de descarga + enlace secundario. */
.nvpl-cta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px;
        margin-top: 22px;
        position: relative;
        z-index: 1;
}
.nvpl-dl {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        min-height: 50px;
        padding: 13px 26px;
        border-radius: 14px;
        background: #fbbf24;
        color: #3a2b06;
        font-weight: 800;
        font-size: 0.95rem;
        letter-spacing: 0.01em;
        text-decoration: none;
        box-shadow: 0 10px 26px rgba(251, 191, 36, 0.35);
        transition: background 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}
.nvpl-dl svg {
        width: 18px;
        height: 18px;
        flex-shrink: 0;
}
.nvpl-dl:hover {
        background: #f59e0b;
        color: #2b2004;
        transform: translateY(-2px);
        box-shadow: 0 14px 32px rgba(251, 191, 36, 0.42);
}
.nvpl-dl-alt {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 44px;
        padding: 11px 18px;
        border-radius: 12px;
        border: 1px solid rgba(255, 255, 255, 0.38);
        background: rgba(255, 255, 255, 0.06);
        color: #fff;
        font-weight: 700;
        font-size: 0.86rem;
        text-decoration: none;
        transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}
.nvpl-dl-alt svg {
        width: 15px;
        height: 15px;
}
.nvpl-dl-alt:hover {
        background: rgba(255, 255, 255, 0.14);
        border-color: rgba(255, 255, 255, 0.6);
        transform: translateY(-2px);
}
/* Banda de confianza bajo el hero. */
.nvpl-trust {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 22px;
        margin-top: 14px;
        font-size: 0.74rem;
        color: #9fb6d8;
        position: relative;
        z-index: 1;
}
.nvpl-trust span {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-height: 20px;
}
.nvpl-trust svg {
        width: 12px;
        height: 12px;
        color: #86efac;
        flex-shrink: 0;
}

/* FAQ del detalle (y de cualquier .nvpl-faq) */
.nvpl-faq {
        margin-top: 22px;
}
.nvpl-faq-h::before {
        content: "";
        width: 4px;
        height: 18px;
        border-radius: 2px;
        background: #2563eb;
        flex-shrink: 0;
}
.nvpl-faq details {
        background: #fff;
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-radius: 13px;
        margin-bottom: 9px;
        overflow: hidden;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
        transition: border-color 0.16s ease, box-shadow 0.16s ease;
}
.nvpl-faq details:hover {
        border-color: var(--ep-blue-200, #bfdbfe);
}
.nvpl-faq details[open] {
        border-color: var(--ep-blue-300, #93c5fd);
        box-shadow: 0 6px 18px rgba(30, 58, 138, 0.08);
}
.nvpl-faq summary {
        cursor: pointer;
        padding: 14px 52px 14px 17px;
        font-weight: 700;
        font-size: 0.89rem;
        color: var(--ep-slate-900, #0f172a);
        list-style: none;
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: 44px;
        position: relative;
        user-select: none;
}
.nvpl-faq summary::-webkit-details-marker {
        display: none;
}
.nvpl-faq summary::after {
        content: "+";
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        width: 25px;
        height: 25px;
        border-radius: 8px;
        display: grid;
        place-items: center;
        font-size: 1rem;
        line-height: 1;
        color: var(--ep-blue-600, #2563eb);
        font-weight: 800;
        background: var(--ep-blue-50, #eff6ff);
        border: 1px solid var(--ep-blue-100, #dbeafe);
        transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}
.nvpl-faq details[open] summary::after {
        content: "–";
        background: var(--ep-blue-600, #2563eb);
        border-color: var(--ep-blue-600, #2563eb);
        color: #fff;
        transform: translateY(-50%) rotate(180deg);
}
.nvpl-faq details p {
        padding: 0 17px 16px;
        color: var(--ep-slate-600, #475569);
        font-size: 0.85rem;
        line-height: 1.65;
        margin: 0;
}

/* «Otras plantillas» — mini-grid al pie del detalle */
.nvpl-more {
        margin-top: 30px;
}
.nvpl-more-head {
        display: flex;
        align-items: center;
        gap: 10px;
        padding-bottom: 12px;
        margin-bottom: 16px;
        border-bottom: 1px solid var(--ep-slate-200, #e2e8f0);
        position: relative;
}
.nvpl-more-head::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -1px;
        width: 64px;
        height: 3px;
        border-radius: 3px 3px 0 0;
        background: #2563eb;
}
.nvpl-more-head h2 {
        font-size: 1.08rem;
        font-weight: 800;
        color: var(--ep-slate-900, #0f172a);
        letter-spacing: -0.01em;
        margin: 0;
}
.nvpl-more-head .nvpl-sec-count {
        margin-left: auto;
        background: var(--ep-blue-50, #eff6ff);
        color: var(--ep-blue-700, #1d4ed8);
        border: 1px solid var(--ep-blue-200, #bfdbfe);
        padding: 5px 13px;
        border-radius: 999px;
        font-size: 0.71rem;
        font-weight: 800;
        white-space: nowrap;
        flex-shrink: 0;
}
.nvpl-more-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
}
.nvpl-mini {
        display: flex;
        gap: 11px;
        align-items: center;
        background: #fff;
        border: 1px solid var(--ep-slate-200, #e2e8f0);
        border-radius: 13px;
        padding: 12px 13px;
        min-height: 64px;
        text-decoration: none;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
        transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}
.nvpl-mini:hover {
        border-color: var(--ep-blue-200, #bfdbfe);
        box-shadow: var(--ep-shadow, 0 4px 14px rgba(30, 58, 138, 0.07), 0 1px 3px rgba(15, 23, 42, 0.06));
        transform: translateY(-2px);
}
.nvpl-mini-ic {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
        background: var(--ep-blue-50, #eff6ff);
        color: var(--ep-blue-600, #2563eb);
        transition: background 0.16s ease, color 0.16s ease;
}
.nvpl-mini-ic svg {
        width: 17px;
        height: 17px;
}
.nvpl-mini:hover .nvpl-mini-ic {
        background: var(--ep-blue-600, #2563eb);
        color: #fff;
}
.nvpl-mini-tx {
        min-width: 0;
        flex: 1;
}
.nvpl-mini-tx b {
        display: block;
        font-size: 0.83rem;
        color: var(--ep-slate-900, #0f172a);
        font-weight: 700;
        line-height: 1.3;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
}
.nvpl-mini:hover .nvpl-mini-tx b {
        color: var(--ep-blue-700, #1d4ed8);
}
.nvpl-mini-tx small {
        display: block;
        margin-top: 2px;
        font-size: 0.71rem;
        color: var(--ep-slate-500, #64748b);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
}
.nvpl-mini-go {
        flex-shrink: 0;
        color: var(--ep-slate-300, #cbd5e1);
        transition: color 0.16s ease, transform 0.16s ease;
}
.nvpl-mini-go svg {
        width: 15px;
        height: 15px;
}
.nvpl-mini:hover .nvpl-mini-go {
        color: var(--ep-blue-600, #2563eb);
        transform: translateX(2px);
}

/* El meta genérico de plantillas (línea de compatibilidad). */
.nvpl-meta-line {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px 10px;
        margin-top: 8px;
        color: var(--ep-slate-500, #64748b);
        font-size: 0.76rem;
        line-height: 1.5;
}
.nvpl-meta-line .nvpl-sep {
        width: 3px;
        height: 3px;
        border-radius: 50%;
        background: var(--ep-slate-300, #cbd5e1);
        flex-shrink: 0;
}

/* Encabezado del listado /plantillas/ (badge + título). */
.nvpl-list-head .nvpl-docx {
        margin-bottom: 12px;
}
.nvpl-list-head .ep-view-sub {
        margin-top: 10px;
}

/* ── Accesibilidad: foco visible y movimiento reducido (T290 ampliado) ── */
.nvr-chip:focus-visible,
.nvr-card:focus-visible,
.nvr-pl:focus-visible,
.nvr-btn:focus-visible,
.nvpl-card:focus-visible,
.nvpl-gcard:focus-visible,
.nvpl-dl:focus-visible,
.nvpl-dl-alt:focus-visible,
.nvpl-mini:focus-visible,
.nvpl-faq summary:focus-visible,
.nvr-faq summary:focus-visible {
        outline: 2px solid #2563eb;
        outline-offset: 2px;
        border-radius: 12px;
}
.nvr-faq summary:focus-visible,
.nvpl-faq summary:focus-visible {
        border-radius: 13px;
}

@media (prefers-reduced-motion: reduce) {
        .nvr-chip,
        .nvr-card,
        .nvr-pl,
        .nvr-btn,
        .nvpl-card,
        .nvpl-gcard,
        .nvpl-dl,
        .nvpl-dl-alt,
        .nvpl-mini,
        .nvr-go,
        .nvr-arrow,
        .nvpl-mini-go,
        .nvpl-gcard-go svg,
        .nvr-go svg,
        .nvr-faq summary::after,
        .nvpl-faq summary::after {
                transition: none !important;
                transform: none !important;
                animation: none !important;
        }
}

/* ── Responsive T290 ── */
@media (max-width: 980px) {
        .nvr-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .nvpl-more-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
        }
}
@media (max-width: 760px) {
        .nvr-plant-grid,
        .nvpl-grid {
                grid-template-columns: minmax(0, 1fr);
        }
        .nvr-cta {
                padding: 26px 22px;
                flex-direction: column;
                align-items: flex-start;
        }
        .nvpl-hero {
                padding: 26px 20px 24px;
                border-radius: 18px;
        }
        .nvpl-hero h1 {
                font-size: 1.5rem;
        }
        .nvpl-hero-lead {
                font-size: 0.88rem;
        }
        .nvpl-steps,
        .nvpl-incl {
                padding: 18px 16px 17px;
                border-radius: 16px;
        }
        .nvpl-incl ul {
                grid-template-columns: minmax(0, 1fr);
        }
        .nvpl-gcard {
                padding: 16px 16px;
        }
}
@media (max-width: 640px) {
        .nvr-chips {
                gap: 7px;
                margin: 22px 0 2px;
        }
        .nvr-chip {
                padding: 8px 13px;
                font-size: 0.76rem;
                min-height: 38px;
        }
        .nvr-sec {
                margin-top: 32px;
        }
        .nvr-sec-head {
                gap: 11px;
                padding-bottom: 12px;
                margin-bottom: 14px;
        }
        .nvr-sec-ic {
                width: 42px;
                height: 42px;
                border-radius: 12px;
        }
        .nvr-sec-ic svg {
                width: 20px;
                height: 20px;
        }
        .nvr-sec-head h2 {
                font-size: 1.1rem;
        }
        .nvr-sec-head p {
                font-size: 0.79rem;
        }
        .nvr-sec-count {
                padding: 4px 11px;
                font-size: 0.67rem;
        }
        .nvr-grid {
                grid-template-columns: minmax(0, 1fr);
                gap: 12px;
        }
        .nvr-card {
                padding: 16px 15px 14px;
        }
        .nvr-card h3 {
                font-size: 0.94rem;
                -webkit-line-clamp: 4;
        }
        .nvr-card-meta {
                gap: 4px 10px;
                font-size: 0.7rem;
        }
        .nvr-go {
                padding: 9px 15px;
        }
        .nvr-plant {
                padding: 18px 15px 16px;
                border-radius: 18px;
        }
        /* Móvil: el botón pasa a SU PROPIA fila bajo el texto (antes colisionaba
           con el título). Alineado con la columna de texto (icono 40 + gap 12). */
        .nvr-pl {
                padding: 12px 13px;
                flex-wrap: wrap;
                row-gap: 10px;
                align-items: flex-start;
        }
        .nvr-pl-btn {
                flex-basis: calc(100% - 52px);
                margin-left: 52px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                text-align: center;
                padding: 9px 12px;
        }
        .nvr-faq summary {
                font-size: 0.87rem;
                padding: 14px 50px 14px 15px;
        }
        .nvr-faq details p {
                padding: 0 15px 15px;
                font-size: 0.83rem;
        }
        .nvr-cta {
                border-radius: 18px;
        }
        .nvr-cta h2 {
                font-size: 1.14rem;
        }
        .nvr-cta p {
                font-size: 0.84rem;
        }
        .nvr-cta-actions {
                width: 100%;
                flex-direction: column;
                align-items: stretch;
        }
        .nvr-btn {
                justify-content: center;
        }
        .nvpl-dl {
                width: 100%;
                justify-content: center;
                padding: 14px 20px;
        }
        .nvpl-dl-alt {
                width: 100%;
                justify-content: center;
        }
        .nvpl-more-grid {
                grid-template-columns: minmax(0, 1fr);
        }
        .nvpl-mini {
                padding: 12px;
        }
}
@media (max-width: 420px) {
        .nvr-card-meta {
                flex-direction: column;
                align-items: flex-start;
                gap: 4px;
        }
        .nvpl-hero-feats {
                gap: 6px;
        }
        .nvpl-feat {
                font-size: 0.7rem;
                padding: 6px 11px;
        }
}

/* ═══ T290-RECURSOS-4.0-END ═══ */


/* ══ T290 — Sección Leyes + nota editorial de casos ══ */
.nv-caso-note{margin:18px 0 0;padding:12px 16px;background:#fff7ed;border:1px solid #fdba74;border-radius:10px;font-size:.9rem;color:#7c2d12;line-height:1.55}
.nv-caso-note b{color:#9a3412}
.nv-caso-note a{color:#9a3412;text-decoration:underline}
.nv-leybox{margin:28px 0 0;padding:18px 20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}
.nv-leybox h2{margin:0 0 4px;font-size:1.15rem}
.nv-leybox>p{margin:0 0 12px;color:#475569;font-size:.92rem}
.nv-leybox ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.nv-leybox li{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}
.nv-leybox li a{color:#b45309;font-weight:600}
.nv-leybox li span{color:#64748b;font-size:.85rem}
.nv-leybox .nv-ley-all{color:#b45309;font-weight:600;text-decoration:underline}
.nv-ley-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:22px 0 0}
.nv-ley-card{display:flex;flex-direction:column;gap:8px;padding:16px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:inherit;text-decoration:none;transition:box-shadow .15s ease,transform .15s ease}
.nv-ley-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-2px)}
.nv-ley-chip{display:inline-block;align-self:flex-start;padding:2px 10px;border-radius:999px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;font-size:.78rem;font-weight:600}
.nv-ley-card b{font-size:1.02rem;line-height:1.35}
.nv-ley-card>span{color:#475569;font-size:.9rem;line-height:1.5}
.nv-ley-card>em{margin-top:auto;color:#b45309;font-style:normal;font-size:.85rem;font-weight:600}
.nv-guide-leyref{margin:6px 0 0;color:#64748b;font-size:.92rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nv-explore-note{margin:2px 0 10px}
/* ─── fin T290 ─── */
/* ══ NV-LY leyref — citas de leyes con tooltip (ámbar, difiere del glosario verde) ══ */
.nv-leyref{border-bottom:2px dotted #d97706;cursor:help;text-decoration:none}
.nv-leyref:hover,.nv-leyref:focus{background:#fffbeb;outline:none;border-bottom-style:solid}
.nv-leyref:focus-visible{outline:2px solid #d97706;outline-offset:1px;border-radius:3px}
.nv-gloss-tip.is-ley{background:#1c1917;border-left:3px solid #d97706}
.nv-gloss-tip .nv-leyref-chip{display:inline-block;background:#d97706;color:#1c1917;font-weight:800;font-size:.68rem;letter-spacing:.04em;border-radius:6px;padding:2px 7px;margin-bottom:7px;text-transform:uppercase}
.nv-gloss-tip .nv-leyref-tipx{display:block;margin-bottom:2px}
.nv-gloss-tip .nv-leyref-src{display:block;margin-top:7px;font-size:.72rem;color:#d6d3d1;font-weight:600}
.nv-gloss-tip .nv-leyref-link{display:block;margin-top:5px;color:#fcd34d;font-weight:700;text-decoration:none}
.nv-gloss-tip .nv-leyref-link:hover{text-decoration:underline}
@media print{.nv-leyref{border-bottom:0;background:none}.nv-gloss-tip.is-ley{display:none!important}}
/* ══ fin NV-LY leyref ══ */

/* ═══════════════ T317 — MODO OSCURO: tokens ═══════════════ */
html[data-theme="dark"]{
        color-scheme:dark;
        background:#0b1220;
        --dk-bg:#0b1220; --dk-card:#121c31; --dk-card2:#0e1729; --dk-line:#243250;
        --dk-txt:#e6ecf5; --dk-txt-soft:#c3cede; --dk-mut:#93a1b8;
        --ep-blue-50:rgba(59,130,246,.14); --ep-blue-100:rgba(59,130,246,.18); --ep-blue-200:rgba(59,130,246,.42);
        --ep-emerald-50:var(--ep-blue-50); --ep-emerald-100:var(--ep-blue-100); --ep-emerald-200:var(--ep-blue-200);
        --ep-amber-50:rgba(245,158,11,.13); --ep-amber-100:rgba(245,158,11,.16); --ep-amber-200:rgba(245,158,11,.48);
        --ep-red-50:rgba(239,68,68,.15); --ep-red-200:rgba(239,68,68,.42);
        --ep-slate-50:#0e1729; --ep-slate-100:#131d33; --ep-slate-200:#223050; --ep-slate-300:#2c3b5c;
        --ep-stone-50:#0e1729; --ep-stone-100:#131d33; --ep-stone-200:#223050; --ep-stone-300:#2c3b5c;
        --ep-bg:#0b1220; --ep-text:#e6ecf5; --ep-muted:#93a1b8;
        --ep-border:#2c3b5c; --ep-border-soft:#223050;
        --ep-primary-soft:rgba(59,130,246,.14); --ep-primary-border:rgba(59,130,246,.45);
        --nv-green-50:rgba(16,185,129,.12); --nv-green-100:rgba(16,185,129,.16); --nv-green-200:rgba(16,185,129,.4);
        --nv-green-600:#34d399; --nv-green-700:#63e2a7; --nv-green-800:#8ff0c4;
        --nv-amber-bg:rgba(245,158,11,.15); --nv-amber-text:#fcd34d;
        --nv-footer:#080d18; --nv-footer-soft:#101a2e;
        --ep-shadow-sm:0 1px 2px rgba(0,0,0,.45);
        --ep-shadow:0 4px 14px rgba(0,0,0,.5),0 1px 3px rgba(0,0,0,.45);
        --ep-shadow-lg:0 12px 32px rgba(0,0,0,.55),0 4px 10px rgba(0,0,0,.45);
        --ep-shadow-xl:0 24px 48px rgba(0,0,0,.6),0 8px 20px rgba(0,0,0,.5);
}

/* ═══════════════ T317 — MODO OSCURO: reglas generadas (619) ═══════════════ */
html[data-theme="dark"] .nv-header{background:var(--dk-card);}
html[data-theme="dark"] .nv-logo b{color:#8ab4ff;}
html[data-theme="dark"] .nv-logo span{color:var(--dk-txt);}
html[data-theme="dark"] .nv-header-search{background:var(--dk-card);}
html[data-theme="dark"] .nv-nav a{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-nav a:hover, html[data-theme="dark"] .nv-nav a[aria-current="page"]{color:#8ab4ff;}
html[data-theme="dark"] .nv-burger{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-mobile-nav{background:var(--dk-card);}
html[data-theme="dark"] .nv-mobile-nav a{color:var(--dk-txt);}
html[data-theme="dark"] .nv-mobile-nav a:hover{color:#8ab4ff;}
html[data-theme="dark"] .nv-hero{background:linear-gradient(180deg, var(--dk-card) 0%, var(--dk-card2) 100%);}
html[data-theme="dark"] .nv-hero h1{color:var(--dk-txt);}
html[data-theme="dark"] .nv-hero h1 .nv-accent{color:#8ab4ff;}
html[data-theme="dark"] .nv-hero-sub{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-hero-form{background:var(--dk-card);}
html[data-theme="dark"] .nv-hero-pop{color:var(--dk-mut);}
html[data-theme="dark"] .nv-hero-pop a{background:var(--dk-card);color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-hero-pop a b{color:#8ab4ff;}
html[data-theme="dark"] .nv-stat b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-stat span{color:var(--dk-mut);}
html[data-theme="dark"] .nv-home-head a{color:#8ab4ff;}
html[data-theme="dark"] .nv-jobcard{background:var(--dk-card);}
html[data-theme="dark"] .nv-badge-score--mid{color:#8ab4ff;}
html[data-theme="dark"] .nv-jobcard h3{color:var(--dk-txt);}
html[data-theme="dark"] .nv-jobcard-company{color:var(--dk-mut);}
html[data-theme="dark"] .nv-chip{color:var(--dk-txt-soft);}
html[data-theme="dark"] a.nv-chip:hover{color:#8ab4ff;}
html[data-theme="dark"] .nv-salary{color:#8ab4ff;}
html[data-theme="dark"] .nv-salary small{color:var(--dk-mut);}
html[data-theme="dark"] .nv-jobcard-foot{color:var(--dk-mut);}
html[data-theme="dark"] .nv-box{background:var(--dk-card);}
html[data-theme="dark"] .nv-tag{color:#8ab4ff;}
html[data-theme="dark"] .nv-tag i{color:var(--dk-mut);}
html[data-theme="dark"] .nv-guide-num{color:#8ab4ff;}
html[data-theme="dark"] .nv-guide-item h3{color:var(--dk-txt);}
html[data-theme="dark"] .nv-guide-item:hover h3{color:#8ab4ff;}
html[data-theme="dark"] .nv-guide-item p{color:var(--dk-mut);}
html[data-theme="dark"] .nv-crumbs{color:var(--dk-mut);}
html[data-theme="dark"] .nv-crumbs a{color:var(--dk-mut);}
html[data-theme="dark"] .nv-crumbs a:hover{color:#8ab4ff;}
html[data-theme="dark"] .nv-crumbs b{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-job-title{color:var(--dk-txt);}
html[data-theme="dark"] .nv-job-byline{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-job-byline a{color:var(--dk-txt);}
html[data-theme="dark"] .nv-job-byline a:hover{color:#8ab4ff;}
html[data-theme="dark"] .nv-tchip{background:var(--dk-card);color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-tchip b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-tchip--cta{color:#8ab4ff;}
html[data-theme="dark"] .nv-about p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-list li{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-cta-card{background:var(--dk-card);}
html[data-theme="dark"] .nv-btn--outline{background:var(--dk-card);color:var(--dk-txt);}
html[data-theme="dark"] .nv-btn--outline:hover{color:#8ab4ff;}
html[data-theme="dark"] .nv-cta-note{color:var(--dk-mut);}
html[data-theme="dark"] .nv-side-card{background:var(--dk-card);}
html[data-theme="dark"] .nv-side-company .info p{color:var(--dk-mut);}
html[data-theme="dark"] .nv-side-company .info b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-side-more{color:#8ab4ff;}
html[data-theme="dark"] .nv-similar b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-similar a:hover b{color:#8ab4ff;}
html[data-theme="dark"] .nv-similar span{color:var(--dk-mut);}
html[data-theme="dark"] .nv-prep b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-prep a:hover b{color:#8ab4ff;}
html[data-theme="dark"] .nv-prep span{color:var(--dk-mut);}
html[data-theme="dark"] .nv-author b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-author div span{color:var(--dk-mut);}
html[data-theme="dark"] .nv-guide-dates{color:var(--dk-mut);}
html[data-theme="dark"] .nv-toc h2{color:var(--dk-mut);}
html[data-theme="dark"] .nv-toc ol{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-toc a{color:#8ab4ff;}
html[data-theme="dark"] .nv-prose{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-prose h2{color:var(--dk-txt);}
html[data-theme="dark"] .nv-prose h3{color:var(--dk-txt);}
html[data-theme="dark"] .nv-prose th{color:var(--dk-txt);}
html[data-theme="dark"] .nv-prose td{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-prose blockquote{color:var(--dk-txt);}
html[data-theme="dark"] .nv-prose .ep-callout{color:var(--dk-txt);}
html[data-theme="dark"] .nv-guide-foot{color:var(--dk-mut);}
html[data-theme="dark"] .nv-guide-foot a{color:#8ab4ff;}
html[data-theme="dark"] .nv-res-hero p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-res-card{background:var(--dk-card);}
html[data-theme="dark"] .nv-res-card h2{color:var(--dk-txt);}
html[data-theme="dark"] .nv-res-card p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-res-card .meta{color:var(--dk-mut);}
html[data-theme="dark"] .nv-met-card{background:var(--dk-card);}
html[data-theme="dark"] .nv-met-card p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-note-amber{background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.5);}
html[data-theme="dark"] .nv-muted{color:var(--dk-mut);}
html[data-theme="dark"] .nv-tchip--quality{background:rgba(245,158,11,.13);border-color:rgba(245,158,11,.5);color:#fcd34d;}
html[data-theme="dark"] .nv-tchip--quality .nv-tchip-q{color:#fcd34d;}
html[data-theme="dark"] .nv-tchip--verified{background:rgba(16,185,129,.12);color:#63e2a7;}
html[data-theme="dark"] .nv-tchip i{color:var(--dk-mut);}
html[data-theme="dark"] .nv-faq{background:var(--dk-card2);}
html[data-theme="dark"] .nv-faq > h2{color:var(--dk-txt);}
html[data-theme="dark"] .nv-faq-item h3{color:var(--dk-txt);}
html[data-theme="dark"] .nv-faq-item p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-faq-item a{color:#8ab4ff;}
html[data-theme="dark"] .nv-more-city h2{color:var(--dk-txt);}
html[data-theme="dark"] .nv-bottombar{background:var(--dk-card);}
html[data-theme="dark"] .nv-bottombar-txt b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-bottombar-txt span{color:var(--dk-mut);}
html[data-theme="dark"] .nv-cat-card{background:var(--dk-card2);}
html[data-theme="dark"] .nv-cat-card b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-cat-card span{color:#8ab4ff;}
html[data-theme="dark"] .nv-cat-card i{color:var(--dk-mut);}
html[data-theme="dark"] .nv-cat-card:hover{background:var(--dk-card);}
html[data-theme="dark"] .nv-conv-card{background:rgba(245,158,11,.13);border:1px solid rgba(245,158,11,.5);}
html[data-theme="dark"] .nv-conv-kicker{color:#fcd34d;}
html[data-theme="dark"] .nv-conv-card b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-company-chip{background:var(--dk-card);}
html[data-theme="dark"] .nv-company-chip .info b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-company-chip .info i{color:var(--dk-mut);}
html[data-theme="dark"] .nv-trust-box{background:var(--dk-card);}
html[data-theme="dark"] .nv-trust-box h3{color:var(--dk-txt);}
html[data-theme="dark"] .nv-trust-box p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-trust-box a{color:#8ab4ff;}
html[data-theme="dark"] .nv-salary-wrap{background:var(--dk-card);}
html[data-theme="dark"] .nv-salary-table thead th{background:var(--dk-card2);color:var(--dk-mut);}
html[data-theme="dark"] .nv-salary-table tbody tr:hover{background:var(--dk-card2);}
html[data-theme="dark"] .nv-salary-table td.role a{color:#8ab4ff;}
html[data-theme="dark"] .nv-salary-note{color:var(--dk-mut);}
html[data-theme="dark"] .nv-cat-chip{background:var(--dk-card);color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-cat-chip b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-cat-more{color:#8ab4ff;}
html[data-theme="dark"] .nv-crosslink{background:var(--dk-card);color:var(--dk-txt);}
html[data-theme="dark"] .nv-crosslink i{color:var(--dk-mut);}
html[data-theme="dark"] .ep-view-h2{color:var(--dk-txt);}
html[data-theme="dark"] .nv-conv{background:linear-gradient(180deg, var(--ep-blue-50) 0%, var(--dk-card) 46%);}
html[data-theme="dark"] .nv-conv > h2{color:var(--dk-txt);}
html[data-theme="dark"] .nv-conv-intro{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-conv-deadline.is-closed{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-conv-docs a{background:var(--dk-card);}
html[data-theme="dark"] .nv-doc-badge--pdf{background:rgba(239,68,68,.14);}
html[data-theme="dark"] .nv-doc-badge--doc{background:rgba(245,158,11,.14);}
html[data-theme="dark"] .nv-doc-badge--xls{background:rgba(16,185,129,.12);}
html[data-theme="dark"] .nv-doc-badge--web{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-doc-txt b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-doc-txt i{color:var(--dk-mut);}
html[data-theme="dark"] .nv-conv-apply-note{color:var(--dk-mut);}
html[data-theme="dark"] .nv-conv-note{color:var(--dk-mut);}
html[data-theme="dark"] .nv-conv-note a{color:#8ab4ff;}
html[data-theme="dark"] .nv-guide-callout p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-guide-callout a{color:#8ab4ff;}
html[data-theme="dark"] .nv-conv-mail > b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-conv-mail p{color:var(--dk-mut);}
html[data-theme="dark"] .nv-mail-btn{background:var(--dk-card);color:#8ab4ff;}
html[data-theme="dark"] .nv-conv-mail-note{color:var(--dk-mut);}
html[data-theme="dark"] .nv-radar{color:var(--dk-mut);}
html[data-theme="dark"] .nv-radar b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-radar a{color:#8ab4ff;}
html[data-theme="dark"] .nv-refband p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-refband p b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-refband a{color:#8ab4ff;}
html[data-theme="dark"] .nv-foryou{background:var(--dk-card);}
html[data-theme="dark"] .nv-foryou h2{color:var(--dk-txt);}
html[data-theme="dark"] .nv-foryou li{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-foryou .nv-fy-ck{color:#8ab4ff;}
html[data-theme="dark"] .nv-tchip--link:hover{color:#8ab4ff;}
html[data-theme="dark"] .nv-similar .nv-mc-sal{color:#8ab4ff;}
html[data-theme="dark"] .nv-similar .nv-mc-ver{color:var(--dk-mut);}
html[data-theme="dark"] .nv-minigrid b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-minigrid a:hover b{color:#8ab4ff;}
html[data-theme="dark"] .nv-minigrid .nv-mc-sal{color:#8ab4ff;}
html[data-theme="dark"] .nv-minigrid .nv-mc-ver{color:var(--dk-mut);}
html[data-theme="dark"] .nvr-tool{background:var(--dk-card);}
html[data-theme="dark"] .nvr-tool-ic{color:#8ab4ff;}
html[data-theme="dark"] .nvr-tool-tx b{color:var(--dk-txt);}
html[data-theme="dark"] .nvr-tool-tx small{color:var(--dk-mut);}
html[data-theme="dark"] .nvr-tool--amber .nvr-tool-ic{background:rgba(245,158,11,.13);color:#fcd34d;}
html[data-theme="dark"] .nvr-tool--amber:hover{border-color:rgba(245,158,11,.5);}
html[data-theme="dark"] .nvr-chip{background:var(--dk-card);color:var(--dk-txt-soft);}
html[data-theme="dark"] .nvr-chip span{color:var(--dk-mut);}
html[data-theme="dark"] .nvr-chip:hover{color:var(--nvr-c-dark, #8ab4ff);}
html[data-theme="dark"] .nvr-sec-ic{color:var(--nvr-c, #8ab4ff);}
html[data-theme="dark"] .nvr-sec-head h2{color:var(--dk-txt);}
html[data-theme="dark"] .nvr-sec-head p{color:var(--dk-mut);}
html[data-theme="dark"] .nvr-sec-count{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nvr-card{background:var(--dk-card);}
html[data-theme="dark"] .nvr-card-ic{color:var(--nvr-c, #8ab4ff);}
html[data-theme="dark"] .nvr-card h3{color:var(--dk-txt);}
html[data-theme="dark"] .nvr-card:hover h3{color:var(--nvr-c-dark, #8ab4ff);}
html[data-theme="dark"] .nvr-card p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nvr-card .meta{color:var(--dk-mut);}
html[data-theme="dark"] .nvr-plant{background:linear-gradient(180deg, rgba(59,130,246,.14) 0%, var(--dk-card) 78%);}
html[data-theme="dark"] .nvr-pl{background:var(--dk-card);}
html[data-theme="dark"] .nvr-pl-ic{color:#8ab4ff;}
html[data-theme="dark"] .nvr-pl-tx b{color:var(--dk-txt);}
html[data-theme="dark"] .nvr-pl-tx small{color:var(--dk-mut);}
html[data-theme="dark"] .nvr-pl-btn{color:#8ab4ff;}
html[data-theme="dark"] .nvr-plant-note{color:var(--dk-mut);}
html[data-theme="dark"] .nvr-faq details{background:var(--dk-card);}
html[data-theme="dark"] .nvr-faq summary{color:var(--dk-txt);}
html[data-theme="dark"] .nvr-faq summary::after{color:#8ab4ff;}
html[data-theme="dark"] .nvr-faq details p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .ep-calc-nav-link{background:var(--dk-card);color:var(--dk-txt-soft);}
html[data-theme="dark"] .ep-calc-nav-link:hover{color:#8ab4ff;}
html[data-theme="dark"] .ep-field-hint{color:var(--dk-mut);}
html[data-theme="dark"] .ep-calc-more{color:var(--dk-mut);}
html[data-theme="dark"] .ep-calc-more a{color:#8ab4ff;}
html[data-theme="dark"] .nv-salary-table thead th .nv-th-sub{color:var(--dk-mut);}
html[data-theme="dark"] .nv-salary-table tbody tr:hover{background:var(--dk-card);}
html[data-theme="dark"] .nv-salary-table td.num::before{color:var(--dk-mut);}
html[data-theme="dark"] .nvr-calcx{background:var(--dk-card);}
html[data-theme="dark"] .nvr-calcx b{color:#8ab4ff;}
html[data-theme="dark"] .nvr-calcx small{color:var(--dk-mut);}
html[data-theme="dark"] .nv-author--rev .nv-author-n{background:rgba(59,130,246,.12);}
html[data-theme="dark"] .nv-mkt-cell{background:var(--dk-card2);}
html[data-theme="dark"] .nv-mkt-cell--med{background:rgba(245,158,11,.13);}
html[data-theme="dark"] .nv-trend{background:var(--dk-card2);}
html[data-theme="dark"] .nv-trend-cell{background:var(--dk-card);}
html[data-theme="dark"] .nvmer-cell{background:var(--dk-card2);}
html[data-theme="dark"] .nvmer-report{background:var(--dk-card);}
html[data-theme="dark"] .nvpl-card{background:var(--dk-card);}
html[data-theme="dark"] .nv-report-card{background:var(--dk-card);border:1px solid rgba(245,158,11,.5);}
html[data-theme="dark"] .nv-report-ico{background:rgba(245,158,11,.13);color:#fcd34d;}
html[data-theme="dark"] .nv-report-main b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-report-meta{color:var(--dk-mut);}
html[data-theme="dark"] .nv-report-cta{color:#8ab4ff;}
html[data-theme="dark"] .nv-topco-head{color:var(--dk-txt);}
html[data-theme="dark"] .nv-topco-head span{color:var(--dk-mut);}
html[data-theme="dark"] .nv-topco-card{background:var(--dk-card);}
html[data-theme="dark"] .nv-topco-info b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-topco-info i{color:#8ab4ff;}
html[data-theme="dark"] .nv-topco-info em{color:var(--dk-mut);}
html[data-theme="dark"] .nv-al-content p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-al-content p a{color:#8ab4ff;}
html[data-theme="dark"] .nv-steps > li{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-steps > li::before{color:#8ab4ff;}
html[data-theme="dark"] .nv-steps > li b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-freq-card > b{color:#8ab4ff;}
html[data-theme="dark"] .nv-freq-card > span{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-al-form-note{color:var(--dk-mut);}
html[data-theme="dark"] .nv-al-privacy{color:var(--dk-mut) !important;}
html[data-theme="dark"] .nv-callout p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-callout p a{color:#8ab4ff;}
html[data-theme="dark"] .nv-conv-entity{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-conv-entity strong{color:var(--dk-txt);}
html[data-theme="dark"] .nv-exbox{background:rgba(16,185,129,.12);}
html[data-theme="dark"] .nv-exbox .nv-exbox-t{color:#63e2a7;}
html[data-theme="dark"] .nv-exbox a{color:#63e2a7;}
html[data-theme="dark"] .nv-casos-block{background:rgba(245,158,11,.13);border:1px solid rgba(245,158,11,.5);}
html[data-theme="dark"] .nv-casos-block .nv-casos-block-t{color:#fcd34d;}
html[data-theme="dark"] .nv-casos-block li a:hover{color:#fcd34d;}
html[data-theme="dark"] .nv-casos-block .nv-casos-block-f{color:var(--dk-mut);}
html[data-theme="dark"] .nv-casos-block .nv-casos-block-f a{color:#fcd34d;}
html[data-theme="dark"] .nv-casos-tier .nv-casos-tier-n{color:#63e2a7;}
html[data-theme="dark"] .nv-casos-card{background:var(--dk-card);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-casos-card .nv-casos-card-m{color:#63e2a7;}
html[data-theme="dark"] .nv-casos-how{background:var(--dk-card2);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-casos-how li{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-casos-how .nv-casos-how-note{color:var(--dk-mut);}
html[data-theme="dark"] .nv-relbox-item{background:rgba(16,185,129,.12);}
html[data-theme="dark"] .nv-relbox-item b{color:#63e2a7;}
html[data-theme="dark"] .nv-caso-faq{background:var(--dk-card2);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-calc-ed{border-top:2px solid var(--dk-line);}
html[data-theme="dark"] .nv-calc-ed .nv-calc-ex{background:rgba(245,158,11,.13);border:1px solid rgba(245,158,11,.5);}
html[data-theme="dark"] .nv-calc-ed .nv-calc-ex p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-calc-ed .nv-calc-ex a{color:#fcd34d;}
html[data-theme="dark"] .nv-calc-ed p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-calc-ed a{color:#63e2a7;}
html[data-theme="dark"] .nv-prose .nv-caso-card{background:rgba(16,185,129,.12);}
html[data-theme="dark"] .nv-prose .nv-caso-cta{background:rgba(245,158,11,.13);border:1px solid rgba(245,158,11,.5);color:#fcd34d;}
html[data-theme="dark"] .nv-casos-chip{background:var(--dk-card);}
html[data-theme="dark"] .nv-casos-chip:hover{color:#63e2a7;}
html[data-theme="dark"] .nv-prose blockquote, html[data-theme="dark"] .ep-prose blockquote{background:var(--dk-card2);color:var(--dk-txt-soft);}
html[data-theme="dark"] .nvpl-docx{color:#63e2a7;background:rgba(16,185,129,.15);}
html[data-theme="dark"] .nv-casos-card-m{color:var(--dk-mut);}
html[data-theme="dark"] .nv-exbox .nv-exbox-t{background:var(--dk-card);}
html[data-theme="dark"] .nv-exbox .nv-exbox-link a{color:#63e2a7;}
html[data-theme="dark"] .nv-casos-search input{background:var(--dk-card);}
html[data-theme="dark"] .nv-casos-search-count{background:rgba(16,185,129,.12);color:#63e2a7;}
html[data-theme="dark"] .nv-casos-vacio{background:var(--dk-card2);}
html[data-theme="dark"] .nv-hlink:hover{color:#63e2a7;}
html[data-theme="dark"] .nv-hlink-ok{color:#63e2a7;}
html[data-theme="dark"] .nv-toc a.nv-toc-on{color:#63e2a7;}
html[data-theme="dark"] .nv-mini-toc{background:var(--dk-card);border:1px solid var(--ep-slate-200,var(--dk-line));}
html[data-theme="dark"] .nv-mini-toc-t{color:#93a1b8;}
html[data-theme="dark"] .nv-mini-toc a{color:#c3cede;}
html[data-theme="dark"] .nv-mini-toc a:hover{color:#63e2a7;}
html[data-theme="dark"] .nv-mini-toc a.nv-toc-on{color:#63e2a7;}
html[data-theme="dark"] .nv-share{background:var(--ep-slate-50,var(--dk-card2));border:1px solid var(--ep-slate-200,var(--dk-line));}
html[data-theme="dark"] .nv-share-t{color:#93a1b8;}
html[data-theme="dark"] .nv-share-cp{background:var(--dk-card);color:var(--dk-txt-soft);border-color:var(--ep-slate-300,#2c3b5c);}
html[data-theme="dark"] .nv-share-cp:hover{color:#63e2a7;}
html[data-theme="dark"] .nv-facc-item{border:1px solid var(--ep-slate-200,var(--dk-line));background:var(--dk-card);}
html[data-theme="dark"] .nv-facc-item summary{color:#e6ecf5;}
html[data-theme="dark"] .nv-facc-item summary::after{color:#63e2a7;}
html[data-theme="dark"] .nv-facc-body p{color:#c3cede;}
html[data-theme="dark"] .nv-fbk{border:1px dashed var(--ep-slate-300,#2c3b5c);background:var(--ep-slate-50,var(--dk-card2));}
html[data-theme="dark"] .nv-fbk-q{color:#e6ecf5;}
html[data-theme="dark"] .nv-fbk-b{border:1px solid var(--ep-slate-300,#2c3b5c);background:var(--dk-card);color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-fbk-msg{color:#c3cede;}
html[data-theme="dark"] .nv-fbk-msg a{color:#63e2a7;}
html[data-theme="dark"] .nv-relnav-h h2{color:var(--dk-txt);}
html[data-theme="dark"] .nv-relnav-all{color:#63e2a7;}
html[data-theme="dark"] .nv-relnav-item{background:var(--dk-card);color:var(--dk-txt);}
html[data-theme="dark"] .nv-relnav-k{color:#63e2a7;}
html[data-theme="dark"] .nv-relnav-item b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-relnav-d{color:var(--dk-mut);}
html[data-theme="dark"] .nv-relnav-a{color:#63e2a7;}
html[data-theme="dark"] .nv-relnav-x .nv-relnav-k, html[data-theme="dark"] .nv-relnav-x .nv-relnav-a{color:#5eead4;}
html[data-theme="dark"] .nv-pn-item{background:var(--dk-card);color:var(--dk-txt);}
html[data-theme="dark"] .nv-pn-item span{color:#63e2a7;}
html[data-theme="dark"] .nv-ess{background:linear-gradient(180deg,rgba(16,185,129,.12) 0%,#f8faf9 100%);}
html[data-theme="dark"] .nv-ess-t{color:#63e2a7;}
html[data-theme="dark"] .nv-ess li::before{background:rgba(16,185,129,.15);color:#63e2a7;}
html[data-theme="dark"] .nv-ess-f{color:var(--dk-mut);}
html[data-theme="dark"] .nv-prose>p:first-of-type::first-letter{color:#63e2a7;}
html[data-theme="dark"] .nv-prose ul>li::marker{color:#63e2a7;}
html[data-theme="dark"] .nv-prose table tbody tr:hover{background-color:rgba(16,185,129,.12);}
html[data-theme="dark"] .nv-prose code{background:var(--dk-card2);border:1px solid var(--dk-line);color:var(--dk-txt);}
html[data-theme="dark"] ::selection{background:rgba(16,185,129,.15);color:var(--dk-txt);}
html[data-theme="dark"] body.single-ep_caso .nv-ess{background:linear-gradient(180deg,rgba(20,184,166,.12) 0%,#f8faf9 100%);}
html[data-theme="dark"] body.single-ep_caso .nv-ess-t{color:#5eead4;}
html[data-theme="dark"] body.single-ep_caso .nv-ess li::before{background:rgba(20,184,166,.16);color:#5eead4;}
html[data-theme="dark"] .nv-ess-copy{color:#63e2a7;background:var(--dk-card);}
html[data-theme="dark"] .nv-ess-copy-ok{background:rgba(16,185,129,.15);color:var(--dk-txt);}
html[data-theme="dark"] body.single-ep_caso .nv-ess-copy{color:#5eead4;}
html[data-theme="dark"] body.single-ep_caso .nv-ess-copy-ok{background:rgba(20,184,166,.16);}
html[data-theme="dark"] .nv-relcasos{background:linear-gradient(180deg,rgba(20,184,166,.12) 0%,var(--dk-card2) 100%);}
html[data-theme="dark"] .nv-relcasos-all{color:#5eead4;}
html[data-theme="dark"] .nv-relcasos-item{background:var(--dk-card);}
html[data-theme="dark"] .nv-relcasos-item b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-relcasos-k{color:#5eead4;}
html[data-theme="dark"] .nv-relcasos-d{color:var(--dk-mut);}
html[data-theme="dark"] .nv-relcasos-a{color:#5eead4;}
html[data-theme="dark"] body.single-ep_caso .nv-facc-item summary::after{color:#5eead4;}
html[data-theme="dark"] .nv-salctx{background:linear-gradient(135deg,rgba(16,185,129,.12),var(--dk-card) 55%);}
html[data-theme="dark"] .nv-salctx h2{color:var(--dk-txt);}
html[data-theme="dark"] .nv-salctx-stat{background:var(--dk-card);}
html[data-theme="dark"] .nv-salctx-stat .k{color:var(--dk-mut);}
html[data-theme="dark"] .nv-salctx-stat .v{color:#63e2a7;}
html[data-theme="dark"] .nv-salctx-track{background:var(--dk-line);}
html[data-theme="dark"] .nv-salctx-mrk em{color:var(--dk-mut);background:var(--dk-card2);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-salctx-mrk--rmv em{color:#fcd34d;border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.13);}
html[data-theme="dark"] .nv-salctx-mrk--med em{color:#5eead4;background:rgba(20,184,166,.12);}
html[data-theme="dark"] .nv-salctx-note{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-salctx-links a{color:#63e2a7;background:var(--dk-card);}
html[data-theme="dark"] .nv-salctx-links a:hover{background:rgba(16,185,129,.12);}
html[data-theme="dark"] .nv-gloss:hover, html[data-theme="dark"] .nv-gloss:focus{background:rgba(16,185,129,.12);}
html[data-theme="dark"] .nv-glos-hero{background:linear-gradient(135deg,rgba(16,185,129,.12),var(--dk-card) 60%);}
html[data-theme="dark"] .nv-glos-hero h1{color:#e6ecf5;}
html[data-theme="dark"] .nv-glos-hero p{color:#c3cede;}
html[data-theme="dark"] .nv-glos-hero-meta span{color:#63e2a7;}
html[data-theme="dark"] .nv-glos-search .ep-icon{color:#9aa8bf;}
html[data-theme="dark"] .nv-glos-search input{border:1.5px solid var(--dk-line);background:var(--dk-card);}
html[data-theme="dark"] .nv-glos-cat{border:1px solid var(--dk-line);background:var(--dk-card);color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-glos-cat i{color:#9aa8bf;}
html[data-theme="dark"] .nv-glos-cat:hover{color:#63e2a7;}
html[data-theme="dark"] .nv-glos-count{color:#9aa8bf;}
html[data-theme="dark"] .nv-glos-card{background:var(--dk-card);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-glos-card h2{color:#e6ecf5;}
html[data-theme="dark"] .nv-glos-badge--contra{background:rgba(59,130,246,.14);color:#8ab4ff;}
html[data-theme="dark"] .nv-glos-badge--sueldo{background:rgba(16,185,129,.12);color:#63e2a7;}
html[data-theme="dark"] .nv-glos-badge--salidas{background:rgba(239,68,68,.15);color:#fca5a5;}
html[data-theme="dark"] .nv-glos-badge--salud{background:rgba(20,184,166,.12);color:#5eead4;}
html[data-theme="dark"] .nv-glos-badge--tributos{background:rgba(245,158,11,.13);color:#fcd34d;}
html[data-theme="dark"] .nv-glos-badge--derechos{background:rgba(139,92,246,.15);}
html[data-theme="dark"] .nv-glos-card p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-glos-law{color:#9aa8bf;}
html[data-theme="dark"] .nv-glos-empty{background:var(--dk-card2);border:1px dashed #2c3b5c;color:var(--dk-mut);}
html[data-theme="dark"] .nv-glos-cta p{color:#9aa8bf;}
html[data-theme="dark"] .nv-tchip--close{border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.13);}
html[data-theme="dark"] .nv-tchip--close b{color:#fcd34d;}
html[data-theme="dark"] .nv-tchip--today{border-color:rgba(239,68,68,.5);background:rgba(239,68,68,.15);}
html[data-theme="dark"] .nv-tchip--today b{color:#fca5a5;}
html[data-theme="dark"] .nv-badge-deadline{background:rgba(245,158,11,.13);color:#fcd34d;border:1px solid rgba(245,158,11,.5);}
html[data-theme="dark"] .nv-badge-deadline--today{background:rgba(239,68,68,.15);color:#fca5a5;border-color:rgba(239,68,68,.5);}
html[data-theme="dark"] .nv-tchip--closed{border-color:var(--ep-slate-200,var(--dk-line));background:var(--dk-card2);}
html[data-theme="dark"] .nv-tchip--closed b{color:var(--dk-mut);}
html[data-theme="dark"] .nv-vig--open{background:var(--nv-green-50,rgba(16,185,129,.12));color:#63e2a7;}
html[data-theme="dark"] .nv-vig--warn{background:rgba(245,158,11,.13);border-color:rgba(245,158,11,.5);color:#fcd34d;}
html[data-theme="dark"] .nv-vig--closed{background:var(--ep-slate-50,var(--dk-card2));border-color:var(--ep-slate-200,var(--dk-line));color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-rel-head h2{color:var(--dk-txt);}
html[data-theme="dark"] .nv-rel-head a{color:#63e2a7;}
html[data-theme="dark"] .nv-urg-sec{background:linear-gradient(180deg,rgba(245,158,11,.13) 0%,rgba(255,251,235,0) 220px);}
html[data-theme="dark"] .nv-home-head--urg a{color:#fcd34d;}
html[data-theme="dark"] .nv-home-head--urg a:hover{color:#fcd34d;}
html[data-theme="dark"] .nv-urg-sec{background:linear-gradient(180deg,rgba(245,158,11,.13) 0%,rgba(255,251,235,0) 160px);}
html[data-theme="dark"] .nv-urg-strip{background:rgba(245,158,11,.13);border:1px solid rgba(245,158,11,.5);}
html[data-theme="dark"] .nv-urg-strip a{color:#fcd34d;}
html[data-theme="dark"] .nv-urg-rss{background:var(--dk-card);border:1px solid rgba(245,158,11,.5);}
html[data-theme="dark"] .ep-bol-rss{color:var(--dk-txt-soft);}
html[data-theme="dark"] .ep-bol-rss a{color:#63e2a7;}
html[data-theme="dark"] .nv-rss-card{border:1px solid var(--dk-line);background:var(--dk-card2);}
html[data-theme="dark"] .nv-rss-card p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .ep-modal-ctx{background:rgba(245,158,11,.13);border:1px solid rgba(245,158,11,.5);color:#fcd34d;}
html[data-theme="dark"] .ep-modal-ctx .ep-icon{color:#fcd34d;}
html[data-theme="dark"] .nv-cd{background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.5);color:#fcd34d;}
html[data-theme="dark"] .nv-cd::before{box-shadow:0 0 0 3px rgba(245,158,11,.22);}
html[data-theme="dark"] .nv-cd--end{background:var(--dk-card2);border-color:#2c3b5c;color:var(--dk-txt-soft);}
html[data-theme="dark"] .ep-alert-success{border:1px solid rgba(16,185,129,.5);background:linear-gradient(180deg,rgba(16,185,129,.12),rgba(16,185,129,.12));}
html[data-theme="dark"] .ep-alert-success-sub{color:#63e2a7;}
html[data-theme="dark"] .ep-alert-success-mail{color:#63e2a7;}
html[data-theme="dark"] .ep-alert-success-steps{border-top:1px dashed rgba(16,185,129,.5);}
html[data-theme="dark"] .ep-alert-success-step--ctx{color:#fcd34d;}
html[data-theme="dark"] .ep-alert-success-hint{color:var(--dk-mut);}
html[data-theme="dark"] .ep-alert-success-resend{color:#63e2a7;}
html[data-theme="dark"] .ep-alert-success-resend:hover{color:#63e2a7;}
html[data-theme="dark"] .ep-alert-success--pending{border-color:rgba(245,158,11,.5);background:linear-gradient(180deg,rgba(245,158,11,.13),rgba(245,158,11,.18));}
html[data-theme="dark"] .ep-alert-success--pending .ep-alert-success-sub{color:#fcd34d;}
html[data-theme="dark"] .ep-alert-success--pending .ep-alert-success-steps{border-top-color:rgba(245,158,11,.5);}
html[data-theme="dark"] .ep-alert-success--pending .ep-alert-success-step--ctx{color:#fcd34d;}
html[data-theme="dark"] .ep-alert-success--pending .ep-alert-success-hint{color:#fcd34d;}
html[data-theme="dark"] .ep-alert-err{color:#fca5a5;}
html[data-theme="dark"] .nv-famchip{background:var(--dk-card2);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-casofam{border:1px solid var(--dk-line);background:var(--dk-card);}
html[data-theme="dark"] .nv-casofam-h a{color:#63e2a7;}
html[data-theme="dark"] .nv-casofam-item{background:var(--dk-card2);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-casofam-item em{color:#63e2a7;}
html[data-theme="dark"] .nv-casofam-pnv{background:var(--dk-card);}
html[data-theme="dark"] .nv-casofam-pnv:hover{color:#63e2a7;background:rgba(16,185,129,.12);}
html[data-theme="dark"] .nv-guiachip{background:rgba(16,185,129,.12);color:#63e2a7;}
html[data-theme="dark"] .nv-company-story .nv-story-p{color:var(--dk-txt);}
html[data-theme="dark"] .nv-company-story .nv-story-p b{color:#63e2a7;}
html[data-theme="dark"] .nv-company-story .nv-story-p a{color:#63e2a7;}
html[data-theme="dark"] .nv-salcat-row{background:var(--dk-card);}
html[data-theme="dark"] .nv-salcat-name{color:#8ab4ff;}
html[data-theme="dark"] .nv-salcat-n{color:var(--dk-mut);}
html[data-theme="dark"] .nv-salcat-med{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-salcat-med b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-salcat-range{color:var(--dk-mut);}
html[data-theme="dark"] .nv-salcity-wrap{background:var(--dk-card);}
html[data-theme="dark"] .nv-salcity-row.is-top{background:linear-gradient(90deg,rgba(245,158,11,.13),var(--dk-card) 55%);}
html[data-theme="dark"] .nv-salcity-row.is-top .nv-salcity-pos{border-color:rgba(245,158,11,.55);}
html[data-theme="dark"] .nv-salcity-pos{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-salcity-name{color:#8ab4ff;}
html[data-theme="dark"] .nv-salcity-n{color:var(--dk-mut);}
html[data-theme="dark"] .nv-salcity-med{color:var(--dk-txt);}
html[data-theme="dark"] .nv-salcity-delta.is-flat{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-sallev-row{background:var(--dk-card);}
html[data-theme="dark"] .nv-sallev-name{color:var(--dk-txt);}
html[data-theme="dark"] .nv-sallev-med{color:var(--dk-txt);}
html[data-theme="dark"] .nv-sallev-n{color:var(--dk-mut);}
html[data-theme="dark"] .nv-compara-form{background:var(--dk-card);}
html[data-theme="dark"] .nv-compara-field label{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-compara-result{background:var(--dk-card);}
html[data-theme="dark"] .nv-compara-msg{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-compara-msg.is-err{color:#fca5a5;}
html[data-theme="dark"] .nv-compara-head{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-compara-head b{color:#8ab4ff;}
html[data-theme="dark"] .nv-compara-tick i{color:var(--dk-mut);}
html[data-theme="dark"] .nv-compara-scale{color:var(--dk-mut);}
html[data-theme="dark"] .nv-compara-chip{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-compara-chip b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-cat-ctx{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-cat-ctx a{color:#8ab4ff;}
html[data-theme="dark"] .nv-cat-ctx b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-fcomp{background:var(--dk-card);}
html[data-theme="dark"] .nv-fcomp-title{color:var(--dk-txt);}
html[data-theme="dark"] .nv-fcomp-sub{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-fcomp-field label{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-fcomp-msg{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-fcomp-msg.is-err{color:#fca5a5;}
html[data-theme="dark"] .nv-fcomp-headline{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-fcomp-gauge{background:var(--dk-card);}
html[data-theme="dark"] .nv-fcomp-tick i{color:var(--dk-mut);}
html[data-theme="dark"] .nv-fcomp-scale{color:var(--dk-mut);}
html[data-theme="dark"] .nv-fcomp-chip{background:var(--dk-card);color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-fcomp-chip b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-fcomp-note{color:var(--dk-mut);}
html[data-theme="dark"] .nv-duelo-form{background:var(--dk-card);}
html[data-theme="dark"] .nv-duelo-field label{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-duelo-vs{color:var(--dk-mut);}
html[data-theme="dark"] .nv-duelo-result{background:var(--dk-card);}
html[data-theme="dark"] .nv-duelo-msg{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-duelo-msg.is-err{color:#fca5a5;}
html[data-theme="dark"] .nv-duelo-head{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-duelo-head b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-duelo-side.is-win::after{background:var(--dk-card);}
html[data-theme="dark"] .nv-duelo-role{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-duelo-role b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-duelo-med{color:var(--dk-txt);}
html[data-theme="dark"] .nv-duelo-med span{color:var(--dk-mut);}
html[data-theme="dark"] .nv-duelo-meta{color:var(--dk-mut);}
html[data-theme="dark"] .nv-dficha{background:var(--dk-card);}
html[data-theme="dark"] .nv-dficha-title{color:var(--dk-txt);}
html[data-theme="dark"] .nv-dficha-sub{color:var(--dk-mut);}
html[data-theme="dark"] .nv-dficha-side.is-win::after{background:var(--dk-card);}
html[data-theme="dark"] .nv-dficha-vs{color:var(--dk-mut);}
html[data-theme="dark"] .nv-dficha-role{color:var(--dk-mut);}
html[data-theme="dark"] .nv-dficha-med{color:var(--dk-txt);}
html[data-theme="dark"] .nv-dficha-meta{color:var(--dk-mut);}
html[data-theme="dark"] .nv-dficha-verdict{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-dficha-verdict b{color:var(--dk-txt);}
html[data-theme="dark"] .nv-dficha-cta{color:#8ab4ff;}
html[data-theme="dark"] .nv-dcat{background:var(--dk-card);}
html[data-theme="dark"] .nv-dcat-title{color:var(--dk-txt);}
html[data-theme="dark"] .nv-dcat-sub{color:var(--dk-mut);}
html[data-theme="dark"] .nv-dcat-cta{color:#8ab4ff;}
html[data-theme="dark"] .nv-crosslink::after{color:#8ab4ff;}
html[data-theme="dark"] .nv-cat-more{background:var(--dk-card);}
html[data-theme="dark"] .nv-cat-chip--hero{color:#8ab4ff;}
html[data-theme="dark"] .nv-cat-chip--hero b{color:#8ab4ff;}
html[data-theme="dark"] .nv-lvl-title{color:var(--dk-txt);}
html[data-theme="dark"] .nv-lvl-sub{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-lvl-row{background:var(--dk-card);}
html[data-theme="dark"] .nv-lvl-name{color:var(--dk-txt);}
html[data-theme="dark"] .nv-lvl-med{color:var(--dk-txt);}
html[data-theme="dark"] .nv-lvl-n{color:var(--dk-mut);}
html[data-theme="dark"] .nv-lvl-note{color:var(--dk-mut);}
html[data-theme="dark"] .nv-lvl-note a{color:#8ab4ff;}
html[data-theme="dark"] .nv-conv-steps > h3{color:var(--dk-txt);}
html[data-theme="dark"] .nv-steps > li{background:var(--dk-card);color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-steps > li a{color:#8ab4ff;}
html[data-theme="dark"] .nvx .nvx-dot{background:var(--dk-card);color:#8ab4ff;}
html[data-theme="dark"] .nvx .nvx-step{background:var(--dk-card);}
html[data-theme="dark"] .nvx .nvx-step h3 svg{color:#8ab4ff;}
html[data-theme="dark"] .nvx .nvx-chip{background:rgba(59,130,246,.13);color:#8ab4ff;}
html[data-theme="dark"] .nvx .nvx-chip--g{background:rgba(16,185,129,.12);}
html[data-theme="dark"] .nvx .nvx-avoid{background:rgba(239,68,68,.14);}
html[data-theme="dark"] .nv-cp-jump{background:rgba(59,130,246,.12);color:#8ab4ff;}
html[data-theme="dark"] .nv-cp-jump:hover{background:rgba(59,130,246,.15);}
html[data-theme="dark"] .nvr-herr-head h2{color:#e6ecf5;}
html[data-theme="dark"] .nvr-herr-head p{color:#93a1b8;}
html[data-theme="dark"] .nvr-calcbox{background:var(--dk-card);border:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvr-calcbox-ic{background:var(--ep-blue-50, rgba(59,130,246,.14));color:#8ab4ff;}
html[data-theme="dark"] .nvr-calcbox-tx h3{color:#e6ecf5;}
html[data-theme="dark"] .nvr-calcbox-tx p{color:#93a1b8;}
html[data-theme="dark"] .nvr-calcbox-pill{background:var(--ep-blue-50, rgba(59,130,246,.14));border:1px solid var(--ep-blue-200, rgba(59,130,246,.45));color:#8ab4ff;}
html[data-theme="dark"] .nvr-calcrow{background:var(--dk-card2);}
html[data-theme="dark"] .nvr-calcx{border:1px solid var(--ep-slate-200, var(--dk-line));border-left:1px solid var(--ep-slate-200, var(--dk-line));background:var(--dk-card);}
html[data-theme="dark"] .nvr-calcx-ic{background:var(--ep-blue-50, rgba(59,130,246,.14));color:#8ab4ff;}
html[data-theme="dark"] .nvr-calcx-tx b{color:#e6ecf5;}
html[data-theme="dark"] .nvr-calcx-tx small{color:#93a1b8;}
html[data-theme="dark"] .nvr-calcx:hover{border-color:var(--ep-blue-300, rgba(59,130,246,.6));}
html[data-theme="dark"] .nvr-calcx:hover .nvr-calcx-tx b{color:#8ab4ff;}
html[data-theme="dark"] .nvr-tool{background:var(--dk-card);border:1px solid var(--ep-slate-200, var(--dk-line));border-left:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvr-tool:hover{border-color:var(--ep-slate-300, #2c3b5c);}
html[data-theme="dark"] .nvr-tool-tx b{color:#e6ecf5;}
html[data-theme="dark"] .nvr-tool-tx small{color:#93a1b8;}
html[data-theme="dark"] .nvr-tool--teal:hover, html[data-theme="dark"] .nvr-tool--green:hover, html[data-theme="dark"] .nvr-tool--violet:hover{border-color:var(--ep-slate-300, #2c3b5c);}
html[data-theme="dark"] .nvr-plant{background:linear-gradient(180deg, var(--dk-card2) 0%, var(--dk-card) 72%);border:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvr-chip{background:var(--dk-card);border:1px solid var(--ep-slate-200, var(--dk-line));color:#c3cede;}
html[data-theme="dark"] .nvr-chip span{color:#9aa8bf;}
html[data-theme="dark"] .nvr-chip:hover{border-color:var(--nvr-c, rgba(59,130,246,.6));background:var(--nvr-bg, rgba(59,130,246,.14));color:var(--nvr-c-dark, #8ab4ff);}
html[data-theme="dark"] .nvr-chip:hover span{color:var(--nvr-c, #8ab4ff);}
html[data-theme="dark"] .nvr-sec-head{border-bottom:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvr-sec-ic{background:var(--nvr-bg, rgba(59,130,246,.14));color:var(--nvr-c, #8ab4ff);}
html[data-theme="dark"] .nvr-sec-head h2{color:#e6ecf5;}
html[data-theme="dark"] .nvr-sec-head p{color:#93a1b8;}
html[data-theme="dark"] .nvr-sec-count{background:var(--nvr-bg, var(--dk-card2));color:var(--nvr-c-dark, var(--dk-txt-soft));}
html[data-theme="dark"] .nvr-card{background:var(--dk-card);border:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvr-card::before{background:linear-gradient(90deg, var(--nvr-c, #2563eb), color-mix(in srgb, var(--nvr-c, #2563eb) 55%, var(--dk-card)));}
html[data-theme="dark"] .nvr-card:hover{border-color:color-mix(in srgb, var(--nvr-c, #2563eb) 38%, var(--dk-line));}
html[data-theme="dark"] .nvr-card-ic{background:var(--nvr-bg, rgba(59,130,246,.14));color:var(--nvr-c, #8ab4ff);}
html[data-theme="dark"] .nvr-card h3{color:#e6ecf5;}
html[data-theme="dark"] .nvr-card p{color:#c3cede;}
html[data-theme="dark"] .nvr-card-meta{border-top:1px dashed var(--ep-slate-200, var(--dk-line));color:#93a1b8;}
html[data-theme="dark"] .nvr-mm svg{color:#9aa8bf;}
html[data-theme="dark"] .nvr-go{color:var(--nvr-c, #8ab4ff);background:var(--nvr-bg, rgba(59,130,246,.14));}
html[data-theme="dark"] .nvr-card:hover .nvr-arrow{color:var(--nvr-c, #8ab4ff);}
html[data-theme="dark"] .nvr-plant{background:radial-gradient(520px 200px at 92% -30%, rgba(37, 99, 235, 0.07), transparent 60%),
                linear-gradient(180deg, var(--dk-card2) 0%, var(--dk-card) 74%);border:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvr-pl{background:var(--dk-card);border:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvr-pl:hover{border-color:var(--ep-blue-300, rgba(59,130,246,.6));}
html[data-theme="dark"] .nvr-pl-ic{background:var(--ep-blue-50, rgba(59,130,246,.14));color:#8ab4ff;}
html[data-theme="dark"] .nvr-pl-tx b{color:#e6ecf5;}
html[data-theme="dark"] .nvr-pl:hover .nvr-pl-tx b{color:#8ab4ff;}
html[data-theme="dark"] .nvr-pl-tx small{color:#93a1b8;}
html[data-theme="dark"] .nvr-pl-btn{color:#8ab4ff;background:var(--ep-blue-50, rgba(59,130,246,.14));border:1px solid var(--ep-blue-200, rgba(59,130,246,.45));}
html[data-theme="dark"] .nvr-plant-note{color:#93a1b8;}
html[data-theme="dark"] .nvr-faq details{background:var(--dk-card);border:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvr-faq details:hover{border-color:var(--ep-blue-200, rgba(59,130,246,.45));}
html[data-theme="dark"] .nvr-faq details[open]{border-color:var(--ep-blue-300, rgba(59,130,246,.6));}
html[data-theme="dark"] .nvr-faq summary{color:#e6ecf5;}
html[data-theme="dark"] .nvr-faq summary::after{color:#8ab4ff;background:var(--ep-blue-50, rgba(59,130,246,.14));border:1px solid var(--ep-blue-100, rgba(59,130,246,.35));}
html[data-theme="dark"] .nvr-faq details p{color:#c3cede;}
html[data-theme="dark"] .nvpl-card{background:var(--dk-card);border:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvpl-card:hover{border-color:var(--ep-blue-200, rgba(59,130,246,.45));}
html[data-theme="dark"] .nvpl-docx{color:#8ab4ff;background:var(--ep-blue-50, rgba(59,130,246,.14));border:1px solid var(--ep-blue-200, rgba(59,130,246,.45));}
html[data-theme="dark"] .nvpl-card h3{color:#e6ecf5;}
html[data-theme="dark"] .nvpl-card:hover h3{color:#8ab4ff;}
html[data-theme="dark"] .nvpl-card p{color:#c3cede;}
html[data-theme="dark"] .nvpl-card .nvpl-meta{border-top:1px dashed var(--ep-slate-200, var(--dk-line));color:#8ab4ff;}
html[data-theme="dark"] .nvpl-steps{background:var(--dk-card);border:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvpl-steps h2, html[data-theme="dark"] .nvpl-incl h2, html[data-theme="dark"] .nvpl-guide-h, html[data-theme="dark"] .nvpl-faq-h{color:#e6ecf5;}
html[data-theme="dark"] .nvpl-steps ol > li{color:#c3cede;}
html[data-theme="dark"] .nvpl-steps ol > li::before{background:var(--ep-blue-50, rgba(59,130,246,.14));border:1px solid var(--ep-blue-200, rgba(59,130,246,.45));color:#8ab4ff;}
html[data-theme="dark"] .nvpl-steps ol > li:not(:last-child)::after{background:linear-gradient(180deg, var(--ep-blue-200, #bfdbfe), var(--ep-slate-100, var(--dk-card2)));}
html[data-theme="dark"] .nvpl-incl{background:linear-gradient(180deg, rgba(16,185,129,.12) 0%, var(--dk-card) 70%);}
html[data-theme="dark"] .nvpl-incl ul li{background:var(--dk-card);color:#c3cede;}
html[data-theme="dark"] .nvpl-gcard{background:var(--dk-card);border:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvpl-gcard:hover{border-color:var(--ep-blue-200, rgba(59,130,246,.45));}
html[data-theme="dark"] .nvpl-gcard-ic{background:var(--ep-blue-50, rgba(59,130,246,.14));color:#8ab4ff;}
html[data-theme="dark"] .nvpl-gcard-tx h3{color:#e6ecf5;}
html[data-theme="dark"] .nvpl-gcard:hover .nvr-gcard-tx h3, html[data-theme="dark"] .nvpl-gcard:hover .nvpl-gcard-tx h3{color:#8ab4ff;}
html[data-theme="dark"] .nvpl-gcard-tx p{color:#c3cede;}
html[data-theme="dark"] .nvpl-gcard-go{color:#8ab4ff;}
html[data-theme="dark"] .nvpl-faq details{background:var(--dk-card);border:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvpl-faq details:hover{border-color:var(--ep-blue-200, rgba(59,130,246,.45));}
html[data-theme="dark"] .nvpl-faq details[open]{border-color:var(--ep-blue-300, rgba(59,130,246,.6));}
html[data-theme="dark"] .nvpl-faq summary{color:#e6ecf5;}
html[data-theme="dark"] .nvpl-faq summary::after{color:#8ab4ff;background:var(--ep-blue-50, rgba(59,130,246,.14));border:1px solid var(--ep-blue-100, rgba(59,130,246,.35));}
html[data-theme="dark"] .nvpl-faq details p{color:#c3cede;}
html[data-theme="dark"] .nvpl-more-head{border-bottom:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvpl-more-head h2{color:#e6ecf5;}
html[data-theme="dark"] .nvpl-more-head .nvpl-sec-count{background:var(--ep-blue-50, rgba(59,130,246,.14));color:#8ab4ff;border:1px solid var(--ep-blue-200, rgba(59,130,246,.45));}
html[data-theme="dark"] .nvpl-mini{background:var(--dk-card);border:1px solid var(--ep-slate-200, var(--dk-line));}
html[data-theme="dark"] .nvpl-mini:hover{border-color:var(--ep-blue-200, rgba(59,130,246,.45));}
html[data-theme="dark"] .nvpl-mini-ic{background:var(--ep-blue-50, rgba(59,130,246,.14));color:#8ab4ff;}
html[data-theme="dark"] .nvpl-mini-tx b{color:#e6ecf5;}
html[data-theme="dark"] .nvpl-mini:hover .nvpl-mini-tx b{color:#8ab4ff;}
html[data-theme="dark"] .nvpl-mini-tx small{color:#93a1b8;}
html[data-theme="dark"] .nvpl-mini:hover .nvpl-mini-go{color:#8ab4ff;}
html[data-theme="dark"] .nvpl-meta-line{color:#93a1b8;}
html[data-theme="dark"] .nvpl-meta-line .nvpl-sep{background:var(--ep-slate-300, #2c3b5c);}
html[data-theme="dark"] .nv-caso-note{background:rgba(245,158,11,.12);}
html[data-theme="dark"] .nv-leybox{background:var(--dk-card2);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-leybox>p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-leybox li{background:var(--dk-card);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-leybox li a{color:#fcd34d;}
html[data-theme="dark"] .nv-leybox li span{color:var(--dk-mut);}
html[data-theme="dark"] .nv-leybox .nv-ley-all{color:#fcd34d;}
html[data-theme="dark"] .nv-ley-card{background:var(--dk-card);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-ley-chip{background:rgba(245,158,11,.12);}
html[data-theme="dark"] .nv-ley-card>span{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-ley-card>em{color:#fcd34d;}
html[data-theme="dark"] .nv-guide-leyref{color:var(--dk-mut);}
html[data-theme="dark"] .nv-leyref:hover, html[data-theme="dark"] .nv-leyref:focus{background:rgba(245,158,11,.13);}
html[data-theme="dark"] .nv-gloss-tip .nv-leyref-chip{color:var(--dk-txt);}

/* ═══════════════ T317 — MODO OSCURO: pulido manual + toggle ═══════════════ */
.ep-theme-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--ep-stone-300);background:var(--ep-stone-100);color:var(--ep-stone-900);cursor:pointer;transition:background 160ms ease,color 160ms ease;flex:none}
.ep-theme-btn:hover{background:var(--ep-stone-200)}
html[data-theme="dark"] .ep-theme-btn{background:#131d33;border-color:#223050;color:#e6ecf5}
html[data-theme="dark"] .ep-theme-btn:hover{background:#1a2742}
.ep-theme-btn .t-sun{display:none}
html[data-theme="dark"] .ep-theme-btn .t-sun{display:block}
html[data-theme="dark"] .ep-theme-btn .t-moon{display:none}
@media (min-width:1024px){.ep-theme-btn{display:inline-flex}}
.ep-theme-row{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;font:inherit;color:inherit;text-align:left;padding:10px 12px;border-radius:10px;cursor:pointer}
.ep-theme-row .t-sun{display:none;flex:none}
html[data-theme="dark"] .ep-theme-row .t-sun{display:block}
html[data-theme="dark"] .ep-theme-row .t-moon{display:none}
.ep-theme-row .ep-theme-t-light{display:none}
html[data-theme="dark"] .ep-theme-row .ep-theme-t-light{display:inline}
html[data-theme="dark"] .ep-theme-row .ep-theme-t-dark{display:none}
/* ── T319: fila de tema del drawer SIEMPRE visible (el panel es oscuro en ambos modos) ── */
.ep-theme-row{color:rgba(255,255,255,.92);transition:background 160ms ease}
.ep-theme-row:hover{background:rgba(255,255,255,.08)}
.ep-theme-row:focus-visible{outline:2px solid #8ab4ff;outline-offset:2px}
html[data-theme="dark"] .ep-theme-row{color:#c3cede}
html[data-theme="dark"] .ep-theme-row:hover{background:rgba(255,255,255,.06)}
html[data-theme="dark"] .ep-header{background:rgba(10,16,30,.82)}
html[data-theme="dark"] .nv-hero{background:linear-gradient(180deg,#0b1220 0%,#0d1526 100%)}
html[data-theme="dark"] .nv-footer{background:#080d18}
html[data-theme="dark"] ::selection{background:rgba(59,130,246,.5)}
html[data-theme="dark"] .ep-modal-card{background:#101b31}
html[data-theme="dark"] .ep-sheet{background:#101b31}

/* ═══════════════ T317 pase 2 — custom props (12) ═══════════════ */
html[data-theme="dark"] .nvr-c-cv{--nvr-c:#8ab4ff;--nvr-c-dark:#8ab4ff;--nvr-bg:rgba(59,130,246,.14);}
html[data-theme="dark"] .nvr-c-sueldos{--nvr-c:#63e2a7;--nvr-c-dark:#63e2a7;--nvr-bg:rgba(16,185,129,.12);}
html[data-theme="dark"] .nvr-c-derechos{--nvr-c:#c4b5fd;--nvr-c-dark:#c4b5fd;--nvr-bg:rgba(139,92,246,.15);}
html[data-theme="dark"] .nvr-c-estado{--nvr-c:#fcd34d;--nvr-c-dark:#fcd34d;--nvr-bg:rgba(245,158,11,.13);}
html[data-theme="dark"] .nvr-c-primero{--nvr-c-dark:#5eead4;}
html[data-theme="dark"] .nvr-ic-blue{--nvr-c:#8ab4ff;--nvr-c-dark:#8ab4ff;--nvr-bg:rgba(59,130,246,.14);}
html[data-theme="dark"] .nvr-chip--plant{--nvr-c:#8ab4ff;--nvr-c-dark:#8ab4ff;--nvr-bg:rgba(59,130,246,.14);}
html[data-theme="dark"] .nvr-tool{--nvt:#8ab4ff;--nvt-bg:rgba(59,130,246,.14);}
html[data-theme="dark"] .nvr-tool--green{--nvt:#63e2a7;--nvt-bg:rgba(16,185,129,.12);}
html[data-theme="dark"] .nvr-tool--teal{--nvt:#5eead4;--nvt-bg:rgba(20,184,166,.12);}
html[data-theme="dark"] .nvr-tool--violet{--nvt:#c4b5fd;--nvt-bg:rgba(139,92,246,.15);}
html[data-theme="dark"] .nvr-chip--casos{--nvr-c:#c4b5fd;--nvr-c-dark:#c4b5fd;--nvr-bg:rgba(139,92,246,.15);}

/* ═══════════════ T317 pase 3 (inline-paginas) — 23 reglas ═══════════════ */
html[data-theme="dark"] .ep-rss-btn{color:rgba(237,176,130);background:var(--dk-card2);border:1px solid rgba(189,154,40,0.45);}
html[data-theme="dark"] .ep-rss-btn:hover{color:rgba(237,171,130);background:rgba(126,106,27,0.16);}
html[data-theme="dark"] .nv-popq-t{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-popq-chip{background:var(--dk-card2);border:1px solid var(--dk-line);color:var(--dk-txt);}
html[data-theme="dark"] .nv-popq-chip:hover{border-color:rgba(40,189,130,0.45);background:rgba(27,126,57,0.16);color:rgba(130,237,207);}
html[data-theme="dark"] .nv-popq-n{color:rgba(130,237,207);background:rgba(27,126,79,0.16);border:1px solid rgba(40,189,121,0.45);}
html[data-theme="dark"] .nv-recq-chip{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-recq-clear:hover{color:rgba(237,176,130);background:rgba(126,106,27,0.16);}
html[data-theme="dark"] .ep-chip-q-n{color:rgba(130,237,207);background:rgba(27,126,79,0.16);border:1px solid rgba(40,189,121,0.45);}
html[data-theme="dark"] .nv-al-resend{border:1px dashed rgba(40,189,121,0.45);background:rgba(27,126,69,0.16);}
html[data-theme="dark"] .nv-al-resend b{color:rgba(130,237,207);}
html[data-theme="dark"] .nv-al-resend>span{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-al-resend-msg{color:rgba(130,237,207);background:rgba(27,126,79,0.16);border:1px solid rgba(40,189,121,0.45);}
html[data-theme="dark"] .nv-al-resend-msg.is-err{color:rgba(237,171,130);background:rgba(126,106,27,0.16);border-color:rgba(189,160,40,0.45);}
html[data-theme="dark"] .nv404-head h2{color:rgba(150,170,217);}
html[data-theme="dark"] .nv404-sub{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv404-card{background:var(--dk-card2);border:1px solid rgba(75,109,155,0.45);}
html[data-theme="dark"] .nv404-badge{background:rgba(27,126,79,0.16);color:rgba(130,237,207);}
html[data-theme="dark"] .nv404-badge--warn{background:rgba(126,106,27,0.16);color:rgba(237,176,130);}
html[data-theme="dark"] .nv404-badge--info{background:rgba(46,77,107,0.16);color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv404-card b{color:rgba(150,170,217);}
html[data-theme="dark"] .nv404-meta{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv404-didyou{border:1px solid rgba(75,109,155,0.45);color:rgba(130,237,207);background:var(--dk-card2);}

/* ═══════════════ T317 pase 3 (fallback-nv) — 467 reglas ═══════════════ */
html[data-theme="dark"] .nv-header{background:var(--dk-card2);}
html[data-theme="dark"] .nv-header-search{background:var(--dk-card2);}
html[data-theme="dark"] .nv-mobile-nav{background:var(--dk-card2);}
html[data-theme="dark"] .nv-hero{background:linear-gradient(180deg, var(--dk-card2) 0%, rgba(46,76,107,0.16) 100%);}
html[data-theme="dark"] .nv-hero-form{background:var(--dk-card2);}
html[data-theme="dark"] .nv-hero-pop a{background:var(--dk-card2);}
html[data-theme="dark"] .nv-jobcard{background:var(--dk-card2);}
html[data-theme="dark"] .nv-box{background:var(--dk-card2);}
html[data-theme="dark"] .nv-tchip{background:var(--dk-card2);}
html[data-theme="dark"] .nv-cta-card{background:var(--dk-card2);}
html[data-theme="dark"] .nv-btn--outline{background:var(--dk-card2);}
html[data-theme="dark"] .nv-side-card{background:var(--dk-card2);}
html[data-theme="dark"] .nv-res-card{background:var(--dk-card2);}
html[data-theme="dark"] .nv-met-card{background:var(--dk-card2);}
html[data-theme="dark"] .nv-note-amber{background:rgba(126,117,27,0.16);border:1px solid rgba(189,160,40,0.45);color:rgba(235,181,132);}
html[data-theme="dark"] .nv-tchip--quality{background:rgba(126,106,27,0.16);border-color:rgba(189,160,40,0.45);color:rgba(237,171,130);}
html[data-theme="dark"] .nv-tchip--quality .nv-tchip-q{color:rgba(237,176,130);}
html[data-theme="dark"] .nv-tchip--verified{background:rgba(27,126,57,0.16);border-color:rgba(40,189,92,0.45);color:rgba(138,229,173);}
html[data-theme="dark"] .nv-faq{background:rgba(46,76,107,0.16);}
html[data-theme="dark"] .nv-bottombar{background:var(--dk-card2);}
html[data-theme="dark"] .nv-cat-card{background:rgba(46,76,107,0.16);}
html[data-theme="dark"] .nv-cat-card:hover{background:var(--dk-card2);}
html[data-theme="dark"] .nv-conv-card{background:rgba(126,106,27,0.16);border:1px solid rgba(189,160,40,0.45);}
html[data-theme="dark"] .nv-conv-kicker{color:rgba(237,171,130);}
html[data-theme="dark"] .nv-conv-meta{color:rgba(237,193,130);}
html[data-theme="dark"] .nv-company-chip{background:var(--dk-card2);}
html[data-theme="dark"] .nv-trust-box{background:var(--dk-card2);}
html[data-theme="dark"] .nv-salary-wrap{background:var(--dk-card2);}
html[data-theme="dark"] .nv-salary-table thead th{background:rgba(46,76,107,0.16);}
html[data-theme="dark"] .nv-salary-table tbody tr:hover{background:rgba(46,76,107,0.16);}
html[data-theme="dark"] .nv-cat-chip{background:var(--dk-card2);}
html[data-theme="dark"] .nv-crosslink{background:var(--dk-card2);}
html[data-theme="dark"] .nv-conv{background:linear-gradient(180deg, var(--ep-blue-50) 0%, var(--dk-card2) 46%);}
html[data-theme="dark"] .nv-conv-docs a{background:var(--dk-card2);}
html[data-theme="dark"] .nv-doc-badge--pdf{background:rgba(126,32,27,0.16);color:rgba(235,138,133);}
html[data-theme="dark"] .nv-doc-badge--doc{background:rgba(126,87,27,0.16);color:rgba(237,187,130);}
html[data-theme="dark"] .nv-doc-badge--xls{background:rgba(41,112,71,0.16);color:rgba(140,227,178);}
html[data-theme="dark"] .nv-mail-btn{background:var(--dk-card2);}
html[data-theme="dark"] .nv-jobcard-sum{color:#c3cede;}
html[data-theme="dark"] .ep-consent-row{border:1px solid rgba(75,110,155,.45);}
html[data-theme="dark"] .ep-consent-row-txt small{color:#c3cede;}
html[data-theme="dark"] .ep-conv-archive p{color:#e6ecf5;}
html[data-theme="dark"] .ep-prose p{color:#e6ecf5;}
html[data-theme="dark"] .nv-foryou{background:var(--dk-card2);}
html[data-theme="dark"] .nvr-c-cv{--nvr-c:rgba(130,164,237);--nvr-c-dark:rgba(130,158,237);--nvr-bg:rgba(27,70,126,0.16);}
html[data-theme="dark"] .nvr-c-sueldos{--nvr-c:rgba(130,237,170);--nvr-c-dark:rgba(132,235,171);--nvr-bg:rgba(27,126,57,0.16);}
html[data-theme="dark"] .nvr-c-derechos{--nvr-c:rgba(170,130,237);--nvr-c-dark:rgba(173,134,234);--nvr-bg:rgba(43,27,126,0.16);}
html[data-theme="dark"] .nvr-c-estado{--nvr-c:rgba(237,187,130);--nvr-c-dark:rgba(237,176,130);--nvr-bg:rgba(126,106,27,0.16);}
html[data-theme="dark"] .nvr-c-primero{--nvr-c:rgba(130,216,237);--nvr-c-dark:rgba(130,214,237);--nvr-bg:rgba(27,121,126,0.16);}
html[data-theme="dark"] .nvr-c-buscar{--nvr-c:rgba(237,130,154);--nvr-c-dark:rgba(237,130,156);--nvr-bg:rgba(126,27,34,0.16);}
html[data-theme="dark"] .nvr-ic-blue{--nvr-c:rgba(130,164,237);--nvr-c-dark:rgba(130,158,237);--nvr-bg:rgba(27,70,126,0.16);}
html[data-theme="dark"] .nvr-tool{background:var(--dk-card2);}
html[data-theme="dark"] .nvr-tool--green:hover{border-color:rgba(40,189,92,0.45);}
html[data-theme="dark"] .nvr-tool--amber .nvr-tool-ic{background:rgba(126,106,27,0.16);color:rgba(237,187,130);}
html[data-theme="dark"] .nvr-tool--amber:hover{border-color:rgba(189,160,40,0.45);}
html[data-theme="dark"] .nvr-chip{background:var(--dk-card2);}
html[data-theme="dark"] .nvr-chip--plant{--nvr-c:rgba(130,164,237);--nvr-c-dark:rgba(130,158,237);--nvr-bg:rgba(27,70,126,0.16);}
html[data-theme="dark"] .nvr-card{background:var(--dk-card2);}
html[data-theme="dark"] .nvr-plant{background:linear-gradient(180deg, rgba(27,70,126,0.16) 0%, var(--dk-card2) 78%);}
html[data-theme="dark"] .nvr-pl{background:var(--dk-card2);}
html[data-theme="dark"] .nvr-faq details{background:var(--dk-card2);}
html[data-theme="dark"] .ep-calc-nav-link{background:var(--dk-card2);}
html[data-theme="dark"] .nv-salary-table tbody tr:hover{background:var(--dk-card2);}
html[data-theme="dark"] .nvr-calcx{background:var(--dk-card2);}
html[data-theme="dark"] .nv-author--rev{border-top:1px dashed rgba(49,103,180,0.45);}
html[data-theme="dark"] .nv-author--rev .nv-author-n{background:rgba(29,73,124,0.16);color:rgba(158,182,209);}
html[data-theme="dark"] .nv-author--rev a{color:rgba(145,185,222);}
html[data-theme="dark"] .nv-guide-ai{color:var(--dk-txt-soft);background:rgba(27,73,126,0.16);border:1px solid rgba(49,103,180,0.45);}
html[data-theme="dark"] .nv-ai-chip{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-ai-chip:hover{color:rgba(145,185,222);}
html[data-theme="dark"] .nv-mkt-cell{background:rgba(38,76,115,0.16);border:1px solid rgba(64,115,165,0.45);}
html[data-theme="dark"] .nv-mkt-cell--med{background:rgba(126,88,27,0.16);border-color:rgba(189,142,40,0.45);}
html[data-theme="dark"] .nv-mkt-k{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-mkt-v{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-mkt-cell--med .nv-mkt-v{color:rgba(237,200,130);}
html[data-theme="dark"] .nv-mkt-note{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-trend{background:rgba(38,76,115,0.16);border:1px solid rgba(64,115,165,0.45);}
html[data-theme="dark"] .nv-trend-cell{background:var(--dk-card2);border:1px solid rgba(60,115,169,0.45);}
html[data-theme="dark"] .nv-trend-k{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-trend-v{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-trend-x{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-trend-note{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-trend-note a{color:rgba(145,185,222);}
html[data-theme="dark"] .nvmer-cell{background:rgba(38,76,115,0.16);border:1px solid rgba(64,115,165,0.45);}
html[data-theme="dark"] .nvmer-k{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nvmer-v{color:rgba(148,183,219);}
html[data-theme="dark"] .nvmer-x{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nvmer-report{background:var(--dk-card2);border:1px solid rgba(60,115,169,0.45);}
html[data-theme="dark"] .nvmer-report b a{color:rgba(148,183,219);}
html[data-theme="dark"] .nvmer-report time{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nvpl-card{background:var(--dk-card2);border:1px solid rgba(60,115,169,0.45);}
html[data-theme="dark"] .nvpl-card p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nvpl-steps{background:rgba(27,73,126,0.16);border:1px solid rgba(49,103,180,0.45);}
html[data-theme="dark"] .nvpl-steps li{color:var(--dk-txt);}
html[data-theme="dark"] .nvpl-incl li{color:var(--dk-txt);}
html[data-theme="dark"] .nvpl-meta{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-report-card{background:var(--dk-card2);border:1px solid rgba(189,160,40,0.45);}
html[data-theme="dark"] .nv-report-ico{background:rgba(126,106,27,0.16);color:rgba(237,176,130);}
html[data-theme="dark"] .nv-topco-card{background:var(--dk-card2);}
html[data-theme="dark"] .nv-exbox{background:rgba(27,126,57,0.16);border:1px solid rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-exbox .nv-exbox-t{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-exbox p{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-exbox a{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-casos-block{background:rgba(126,106,27,0.16);border:1px solid rgba(189,160,40,0.45);}
html[data-theme="dark"] .nv-casos-block .nv-casos-block-t{color:rgba(237,171,130);}
html[data-theme="dark"] .nv-casos-block li a{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-casos-block li a:hover{color:rgba(237,171,130);}
html[data-theme="dark"] .nv-casos-block .nv-casos-block-f{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-casos-block .nv-casos-block-f a{color:rgba(237,171,130);}
html[data-theme="dark"] .nv-guide-head h1{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-guide-sub{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-casos-tier h2{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-casos-tier .nv-casos-tier-n{color:rgba(130,237,170);}
html[data-theme="dark"] .nv-casos-tier-d{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-casos-card{background:var(--dk-card2);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-casos-card:hover{border-color:rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-casos-card h3{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-casos-card p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-casos-card .nv-casos-card-m{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-casos-how{background:rgba(46,76,107,0.16);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-casos-how h2{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-casos-how li{color:var(--dk-txt);}
html[data-theme="dark"] .nv-casos-how .nv-casos-how-note{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-relbox h2{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-relbox-item{background:rgba(27,126,57,0.16);border:1px solid rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-relbox-item b{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-relbox-item span{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-caso-faq{background:rgba(46,76,107,0.16);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-caso-faq h2{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-caso-faq h3{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-caso-faq p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-calc-ed{border-top:2px solid var(--dk-line);}
html[data-theme="dark"] .nv-calc-ed h2{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-calc-ed .nv-calc-ex{background:rgba(126,106,27,0.16);border:1px solid rgba(189,160,40,0.45);}
html[data-theme="dark"] .nv-calc-ed .nv-calc-ex p{color:var(--dk-txt);}
html[data-theme="dark"] .nv-calc-ed .nv-calc-ex a{color:rgba(237,171,130);}
html[data-theme="dark"] .nv-calc-ed p{color:var(--dk-txt);}
html[data-theme="dark"] .nv-calc-ed a{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-prose .nv-caso-card{background:rgba(27,126,57,0.16);border:1px solid rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-prose .nv-caso-cta{background:rgba(126,106,27,0.16);border:1px solid rgba(189,160,40,0.45);color:rgba(237,171,130);}
html[data-theme="dark"] .nv-casos-chip{border:1px solid rgba(75,117,155,0.45);background:var(--dk-card2);color:var(--dk-txt);}
html[data-theme="dark"] .nv-casos-chip:hover{color:rgba(138,229,173);}
html[data-theme="dark"] .nv-prose blockquote, html[data-theme="dark"] .ep-prose blockquote{background:rgba(46,77,107,0.16);color:var(--dk-txt);}
html[data-theme="dark"] .nv-prose blockquote::before{color:rgba(148,183,219);}
html[data-theme="dark"] .nvpl-docx{color:rgba(138,229,173);background:rgba(27,126,61,0.16);border:1px solid rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-casos-card-m{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-exbox .nv-exbox-t{background:var(--dk-card2);border:1px solid rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-exbox .nv-exbox-link{border-top:1px dashed rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-exbox .nv-exbox-link a{color:rgba(132,235,171);border-bottom:1px solid rgba(40,189,94,0.45);}
html[data-theme="dark"] .nv-casos-search input{border:1.5px solid rgba(75,155,75,0.45);background:var(--dk-card2);color:rgba(148,183,219);}
html[data-theme="dark"] .nv-casos-search input::placeholder{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-casos-search-count{background:rgba(27,126,57,0.16);color:rgba(132,235,171);border:1px solid rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-casos-vacio{border:1.5px dashed rgba(75,155,75,0.45);color:var(--dk-txt-soft);background:rgba(31,122,92,0.16);}
html[data-theme="dark"] .nv-hlink:hover{color:rgba(130,237,170);}
html[data-theme="dark"] .nv-hlink-ok{color:rgba(130,237,170);}
html[data-theme="dark"] .nv-toc a.nv-toc-on{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-mini-toc{background:var(--dk-card2);border:1px solid var(--ep-slate-200,rgba(75,109,155,0.45));}
html[data-theme="dark"] .nv-mini-toc-t{color:#93a1b8;}
html[data-theme="dark"] .nv-mini-toc a{color:#c3cede;}
html[data-theme="dark"] .nv-mini-toc a:hover{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-mini-toc a.nv-toc-on{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-share{background:var(--ep-slate-50,rgba(46,76,107,0.16));border:1px solid var(--ep-slate-200,rgba(75,109,155,0.45));}
html[data-theme="dark"] .nv-share-t{color:#93a1b8;}
html[data-theme="dark"] .nv-share-cp{background:var(--dk-card2);color:var(--dk-txt);border-color:var(--ep-slate-300,rgba(75,111,155,0.45));}
html[data-theme="dark"] .nv-share-cp:hover{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-facc-item{border:1px solid var(--ep-slate-200,rgba(75,109,155,0.45));background:var(--dk-card2);}
html[data-theme="dark"] .nv-facc-item summary{color:#e6ecf5;}
html[data-theme="dark"] .nv-facc-item summary::after{color:rgba(130,237,170);}
html[data-theme="dark"] .nv-facc-body p{color:#c3cede;}
html[data-theme="dark"] .nv-fbk{border:1px dashed var(--ep-slate-300,rgba(75,111,155,0.45));background:var(--ep-slate-50,rgba(46,76,107,0.16));}
html[data-theme="dark"] .nv-fbk-q{color:#e6ecf5;}
html[data-theme="dark"] .nv-fbk-b{border:1px solid var(--ep-slate-300,rgba(75,111,155,0.45));background:var(--dk-card2);color:var(--dk-txt);}
html[data-theme="dark"] .nv-fbk-msg{color:#c3cede;}
html[data-theme="dark"] .nv-fbk-msg a{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-relnav-h h2{color:rgba(150,170,217);}
html[data-theme="dark"] .nv-relnav-all{color:rgba(130,237,170);}
html[data-theme="dark"] .nv-relnav-item{background:var(--dk-card2);color:rgba(150,170,217);}
html[data-theme="dark"] .nv-relnav-k{color:rgba(130,237,170);}
html[data-theme="dark"] .nv-relnav-item b{color:rgba(150,170,217);}
html[data-theme="dark"] .nv-relnav-d{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-relnav-a{color:rgba(130,237,170);}
html[data-theme="dark"] .nv-relnav-x .nv-relnav-k, html[data-theme="dark"] .nv-relnav-x .nv-relnav-a{color:rgba(130,237,228);}
html[data-theme="dark"] .nv-pn-item{background:var(--dk-card2);color:rgba(150,170,217);}
html[data-theme="dark"] .nv-pn-item span{color:rgba(130,237,170);}
html[data-theme="dark"] .nv-ess{background:linear-gradient(180deg,rgba(27,126,57,0.16) 0%,rgba(50,103,77,0.16) 100%);border:1px solid rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-ess-t{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-ess li{color:var(--dk-txt);}
html[data-theme="dark"] .nv-ess li::before{background:rgba(27,126,61,0.16);color:rgba(132,235,171);}
html[data-theme="dark"] .nv-ess-f{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-prose>p:first-of-type::first-letter{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-prose hr{background:linear-gradient(90deg,transparent,rgba(27,126,62,0.16) 25%,#16a34a 50%,rgba(27,126,62,0.16) 75%,transparent);}
html[data-theme="dark"] .nv-prose ul>li::marker{color:rgba(130,237,170);}
html[data-theme="dark"] .nv-prose table tbody tr:hover{background-color:rgba(27,126,57,0.16);}
html[data-theme="dark"] .nv-prose code{background:rgba(46,77,107,0.16);border:1px solid rgba(75,109,155,0.45);color:rgba(150,170,217);}
html[data-theme="dark"] ::selection{background:rgba(27,126,61,0.16);color:rgba(140,227,175);}
html[data-theme="dark"] .nv-toc ol::-webkit-scrollbar-thumb{background:rgba(27,126,62,0.16);}
html[data-theme="dark"] body.single-ep_caso .nv-ess{background:linear-gradient(180deg,rgba(27,126,103,0.16) 0%,rgba(50,103,77,0.16) 100%);border-color:rgba(40,189,160,0.45);}
html[data-theme="dark"] body.single-ep_caso .nv-ess-t{color:rgba(130,237,229);}
html[data-theme="dark"] body.single-ep_caso .nv-ess li::before{background:rgba(27,126,105,0.16);color:rgba(130,237,229);}
html[data-theme="dark"] .nv-ess-copy{color:rgba(132,235,171);background:var(--dk-card2);border:1.5px solid rgba(40,189,94,0.45);}
html[data-theme="dark"] .nv-ess-copy-ok{background:rgba(27,126,61,0.16);color:rgba(140,227,175);}
html[data-theme="dark"] body.single-ep_caso .nv-ess-copy{color:rgba(130,237,229);border-color:rgba(40,189,166,0.45);}
html[data-theme="dark"] body.single-ep_caso .nv-ess-copy-ok{background:rgba(27,126,105,0.16);color:rgba(140,227,221);}
html[data-theme="dark"] .nv-relcasos{background:linear-gradient(180deg,rgba(27,126,103,0.16) 0%,rgba(46,76,107,0.16) 100%);border:1px solid rgba(40,189,160,0.45);}
html[data-theme="dark"] .nv-relcasos-h h2{color:rgba(140,227,221);}
html[data-theme="dark"] .nv-relcasos-all{color:rgba(130,237,228);}
html[data-theme="dark"] .nv-relcasos-item{background:var(--dk-card2);border:1px solid rgba(40,189,158,0.45);}
html[data-theme="dark"] .nv-relcasos-item b{color:rgba(150,170,217);}
html[data-theme="dark"] .nv-relcasos-k{color:rgba(130,237,228);}
html[data-theme="dark"] .nv-relcasos-d{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-relcasos-a{color:rgba(130,237,228);}
html[data-theme="dark"] body.single-ep_caso .nv-facc-item summary::after{color:rgba(130,237,228);}
html[data-theme="dark"] .nv-salctx{background:linear-gradient(135deg,rgba(27,126,57,0.16),var(--dk-card2) 55%);border:1px solid rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-salctx h2{color:rgba(140,227,175);}
html[data-theme="dark"] .nv-salctx-stat{background:var(--dk-card2);border:1px solid rgba(67,162,101,0.45);}
html[data-theme="dark"] .nv-salctx-stat .k{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-salctx-stat .v{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-salctx-track{background:rgba(50,68,103,0.16);}
html[data-theme="dark"] .nv-salctx-fill{background:linear-gradient(90deg,rgba(27,126,63,0.16),#16a34a);}
html[data-theme="dark"] .nv-salctx-dot{border:3px solid var(--dk-line);}
html[data-theme="dark"] .nv-salctx-mrk em{color:var(--dk-txt-soft);background:rgba(50,76,103,0.16);border:1px solid rgba(75,101,155,0.45);}
html[data-theme="dark"] .nv-salctx-mrk--rmv em{color:rgba(237,171,130);border-color:rgba(189,160,40,0.45);background:rgba(126,106,27,0.16);}
html[data-theme="dark"] .nv-salctx-mrk--med em{color:rgba(130,237,229);border-color:rgba(40,189,160,0.45);background:rgba(27,126,103,0.16);}
html[data-theme="dark"] .nv-salctx-note{color:var(--dk-txt);}
html[data-theme="dark"] .nv-salctx-links a{color:rgba(138,229,173);background:var(--dk-card2);border:1px solid rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-salctx-links a:hover{background:rgba(27,126,57,0.16);}
html[data-theme="dark"] .nv-gloss:hover, html[data-theme="dark"] .nv-gloss:focus{background:rgba(27,126,57,0.16);}
html[data-theme="dark"] .nv-glos-hero{background:linear-gradient(135deg,rgba(27,126,57,0.16),var(--dk-card2) 60%);border:1px solid rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-glos-hero h1{color:#e6ecf5;}
html[data-theme="dark"] .nv-glos-hero p{color:#c3cede;}
html[data-theme="dark"] .nv-glos-hero-meta span{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-glos-search input{border:1.5px solid rgba(75,109,155,0.45);background:var(--dk-card2);}
html[data-theme="dark"] .nv-glos-cat{border:1px solid rgba(75,109,155,0.45);background:var(--dk-card2);color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-glos-cat:hover{border-color:rgba(40,189,94,0.45);color:rgba(138,229,173);}
html[data-theme="dark"] .nv-glos-card{background:var(--dk-card2);border:1px solid rgba(75,109,155,0.45);}
html[data-theme="dark"] .nv-glos-card:hover{border-color:rgba(40,189,94,0.45);}
html[data-theme="dark"] .nv-glos-card h2{color:#e6ecf5;}
html[data-theme="dark"] .nv-glos-badge--contra{background:rgba(27,70,126,0.16);color:rgba(130,158,237);}
html[data-theme="dark"] .nv-glos-badge--sueldo{background:rgba(27,126,57,0.16);color:rgba(132,235,171);}
html[data-theme="dark"] .nv-glos-badge--salidas{background:rgba(126,27,27,0.16);color:rgba(236,131,131);}
html[data-theme="dark"] .nv-glos-badge--salud{background:rgba(27,126,103,0.16);color:rgba(130,237,229);}
html[data-theme="dark"] .nv-glos-badge--tributos{background:rgba(126,106,27,0.16);color:rgba(237,176,130);}
html[data-theme="dark"] .nv-glos-badge--derechos{background:rgba(76,27,126,0.16);color:rgba(187,132,235);}
html[data-theme="dark"] .nv-glos-card p{color:var(--dk-txt);}
html[data-theme="dark"] .nv-glos-empty{background:rgba(46,76,107,0.16);border:1px dashed rgba(75,111,155,0.45);color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-gloss-tip-link:hover{border-bottom-color:rgba(40,189,94,0.45);}
html[data-theme="dark"] .nv-tchip--close{border-color:rgba(189,160,40,0.45);background:rgba(126,106,27,0.16);}
html[data-theme="dark"] .nv-tchip--close b{color:rgba(237,171,130);}
html[data-theme="dark"] .nv-tchip--today{border-color:rgba(189,40,40,0.45);background:rgba(126,27,27,0.16);}
html[data-theme="dark"] .nv-tchip--today b{color:rgba(236,131,131);}
html[data-theme="dark"] .nv-badge-deadline{background:rgba(126,106,27,0.16);color:rgba(237,171,130);border:1px solid rgba(189,160,40,0.45);}
html[data-theme="dark"] .nv-badge-deadline--today{background:rgba(126,27,27,0.16);color:rgba(236,131,131);border-color:rgba(189,40,40,0.45);}
html[data-theme="dark"] .nv-tchip--closed{border-color:var(--ep-slate-200,rgba(75,109,155,0.45));background:rgba(46,76,107,0.16);}
html[data-theme="dark"] .nv-tchip--closed b{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-vig--open{background:var(--nv-green-50,rgba(27,126,57,0.16));border-color:var(--nv-green-200,rgba(40,189,92,0.45));color:rgba(138,229,173);}
html[data-theme="dark"] .nv-vig--warn{background:rgba(126,106,27,0.16);border-color:rgba(189,160,40,0.45);color:rgba(237,171,130);}
html[data-theme="dark"] .nv-vig--closed{background:var(--ep-slate-50,rgba(46,76,107,0.16));border-color:var(--ep-slate-200,rgba(75,109,155,0.45));color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-rel-head h2{color:var(--dk-txt);}
html[data-theme="dark"] .nv-rel-head a{color:rgba(130,237,170);}
html[data-theme="dark"] .nv-urg-sec{background:linear-gradient(180deg,rgba(126,106,27,0.16) 0%,rgba(255,251,235,0) 220px);}
html[data-theme="dark"] .nv-home-head--urg a{color:rgba(237,176,130);}
html[data-theme="dark"] .nv-home-head--urg a:hover{color:rgba(237,171,130);}
html[data-theme="dark"] .nv-urg-sec{background:linear-gradient(180deg,rgba(126,106,27,0.16) 0%,rgba(255,251,235,0) 160px);}
html[data-theme="dark"] .nv-urg-strip{background:rgba(126,106,27,0.16);border:1px solid rgba(189,160,40,0.45);}
html[data-theme="dark"] .nv-urg-strip a{color:rgba(237,171,130);}
html[data-theme="dark"] .nv-urg-strip a strong{color:rgba(237,169,130);}
html[data-theme="dark"] .nv-urg-rss{background:var(--dk-card2);border:1px solid rgba(189,160,40,0.45);}
html[data-theme="dark"] .ep-bol-rss{color:var(--dk-txt-soft);}
html[data-theme="dark"] .ep-bol-rss a{color:rgba(130,237,170);}
html[data-theme="dark"] .nv-rss-card{border:1px solid var(--dk-line);background:var(--dk-card2);}
html[data-theme="dark"] .nv-rss-card p{color:var(--dk-txt);}
html[data-theme="dark"] .ep-modal-ctx{background:rgba(126,106,27,0.16);border:1px solid rgba(189,160,40,0.45);color:rgba(237,171,130);}
html[data-theme="dark"] .ep-modal-ctx .ep-icon{color:rgba(237,187,130);}
html[data-theme="dark"] .nv-cd{border:1px solid rgba(189,160,40,0.45);color:rgba(237,171,130);}
html[data-theme="dark"] .nv-cd--end{background:var(--dk-card2);border-color:var(--dk-line);color:var(--dk-txt-soft);}
html[data-theme="dark"] .ep-alert-success{border:1px solid rgba(40,189,121,0.45);background:linear-gradient(180deg,rgba(27,126,57,0.16),rgba(27,126,79,0.16));}
html[data-theme="dark"] .ep-alert-success-title{color:rgba(130,237,209);}
html[data-theme="dark"] .ep-alert-success-sub{color:rgba(130,237,207);}
html[data-theme="dark"] .ep-alert-success-mail{color:rgba(130,237,207);}
html[data-theme="dark"] .ep-alert-success-steps{border-top:1px dashed rgba(40,189,121,0.45);}
html[data-theme="dark"] .ep-alert-success-step{color:rgba(190,233,134);}
html[data-theme="dark"] .ep-alert-success-step--ctx{color:rgba(237,171,130);}
html[data-theme="dark"] .ep-alert-success-hint{color:var(--dk-txt-soft);}
html[data-theme="dark"] .ep-alert-success-resend{color:rgba(130,237,207);}
html[data-theme="dark"] .ep-alert-success-resend:hover{color:rgba(130,237,207);}
html[data-theme="dark"] .ep-alert-success--pending{border-color:rgba(189,160,40,0.45);background:linear-gradient(180deg,rgba(126,106,27,0.16),rgba(126,106,27,0.16));}
html[data-theme="dark"] .ep-alert-success--pending .ep-alert-success-title{color:rgba(237,169,130);}
html[data-theme="dark"] .ep-alert-success--pending .ep-alert-success-sub{color:rgba(237,171,130);}
html[data-theme="dark"] .ep-alert-success--pending .ep-alert-success-steps{border-top-color:rgba(189,160,40,0.45);}
html[data-theme="dark"] .ep-alert-success--pending .ep-alert-success-step{color:rgba(237,193,130);}
html[data-theme="dark"] .ep-alert-success--pending .ep-alert-success-step--ctx{color:rgba(237,171,130);}
html[data-theme="dark"] .ep-alert-success--pending .ep-alert-success-hint{color:rgba(237,176,130);}
html[data-theme="dark"] .ep-alert-err{color:rgba(235,132,132);}
html[data-theme="dark"] .nv-famchip{background:rgba(46,76,107,0.16);border:1px solid rgba(75,109,155,0.45);color:var(--dk-txt);}
html[data-theme="dark"] .nv-famchip .nv-famchip-n{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-casofam{border:1px solid var(--dk-line);background:var(--dk-card2);}
html[data-theme="dark"] .nv-casofam-h h2{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-casofam-h a{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-casofam-item{background:rgba(46,76,107,0.16);border:1px solid var(--dk-line);}
html[data-theme="dark"] .nv-casofam-item:hover{border-color:rgba(40,189,92,0.45);}
html[data-theme="dark"] .nv-casofam-item b{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-casofam-item span{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-casofam-item em{color:rgba(132,235,171);}
html[data-theme="dark"] .nv-casofam-pnv{color:var(--dk-txt-soft);background:var(--dk-card2);border:1px dashed rgba(75,117,155,0.45);}
html[data-theme="dark"] .nv-casofam-pnv b{color:rgba(148,183,219);}
html[data-theme="dark"] .nv-casofam-pnv:hover{color:rgba(132,235,171);background:rgba(27,126,57,0.16);}
html[data-theme="dark"] body.nv-caso-t3 .nv-readbar{background:linear-gradient(90deg,#f59e0b,rgba(126,103,27,0.16));}
html[data-theme="dark"] .nv-guiachip{background:rgba(27,126,57,0.16);border:1px solid rgba(40,189,92,0.45);color:rgba(138,229,173);}
html[data-theme="dark"] .nv-company-story .nv-story-p{color:var(--dk-txt);}
html[data-theme="dark"] .nv-company-story .nv-story-p b{color:rgba(130,237,207);}
html[data-theme="dark"] .nv-company-story .nv-story-p a{color:rgba(130,237,204);}
html[data-theme="dark"] .nv-salcat-row{background:var(--dk-card2);}
html[data-theme="dark"] .nv-salcity-wrap{background:var(--dk-card2);}
html[data-theme="dark"] .nv-salcity-row.is-top{background:linear-gradient(90deg,rgba(126,106,27,0.16),var(--dk-card2) 55%);}
html[data-theme="dark"] .nv-salcity-row.is-top .nv-salcity-pos{color:#451a03;border-color:rgba(189,154,40,0.45);} /* T320 */
html[data-theme="dark"] .nv-sallev-row{background:var(--dk-card2);}
html[data-theme="dark"] .nv-compara-form{background:var(--dk-card2);}
html[data-theme="dark"] .nv-compara-result{background:var(--dk-card2);}
html[data-theme="dark"] .nv-compara-msg.is-err{color:rgba(236,131,131);}
html[data-theme="dark"] .nv-fcomp{background:var(--dk-card2);}
html[data-theme="dark"] .nv-fcomp-msg.is-err{color:rgba(236,131,131);}
html[data-theme="dark"] .nv-fcomp-gauge{background:var(--dk-card2);}
html[data-theme="dark"] .nv-fcomp-chip{background:var(--dk-card2);}
html[data-theme="dark"] .nv-duelo-form{background:var(--dk-card2);}
html[data-theme="dark"] .nv-duelo-result{background:var(--dk-card2);}
html[data-theme="dark"] .nv-duelo-msg.is-err{color:rgba(236,131,131);}
html[data-theme="dark"] .nv-duelo-side.is-win::after{background:var(--dk-card2);}
html[data-theme="dark"] .nv-dficha{background:var(--dk-card2);}
html[data-theme="dark"] .nv-dficha-side.is-win::after{background:var(--dk-card2);}
html[data-theme="dark"] .nv-dcat{background:var(--dk-card2);}
html[data-theme="dark"] .nv-cat-more{background:var(--dk-card2);}
html[data-theme="dark"] .nv-lvl-row{background:var(--dk-card2);}
html[data-theme="dark"] .nv-steps > li{background:var(--dk-card2);}
html[data-theme="dark"] .nvx .nvx-dot{background:var(--dk-card2);color:rgba(130,158,237);}
html[data-theme="dark"] .nvx .nvx-step{background:var(--dk-card2);border:1px solid rgba(67,105,163,0.45);}
html[data-theme="dark"] .nvx .nvx-step h3{color:rgba(146,174,221);}
html[data-theme="dark"] .nvx .nvx-step h3 svg{color:rgba(130,164,237);}
html[data-theme="dark"] .nvx .nvx-step p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nvx .nvx-step p strong{color:rgba(146,174,221);}
html[data-theme="dark"] .nvx .nvx-chip{background:rgba(27,62,126,0.16);border:1px solid rgba(40,96,189,0.45);color:rgba(133,157,234);}
html[data-theme="dark"] .nvx .nvx-chip--g{background:rgba(37,116,74,0.16);border-color:rgba(61,169,113,0.45);color:rgba(130,237,187);}
html[data-theme="dark"] .nvx .nvx-ok .nvx-dot{color:rgba(130,237,188);}
html[data-theme="dark"] .nvx .nvx-ok .nvx-step h3 svg{color:rgba(130,237,196);}
html[data-theme="dark"] .nvx .nvx-avoid{background:rgba(126,27,27,0.16);border:1px solid rgba(179,50,50,0.45);}
html[data-theme="dark"] .nvx .nvx-avoid>svg{color:rgba(229,138,138);}
html[data-theme="dark"] .nvx .nvx-avoid h3{color:rgba(226,141,141);}
html[data-theme="dark"] .nvx .nvx-avoid li{color:rgba(214,154,154);}
html[data-theme="dark"] .nvx .nvx-avoid li svg{color:rgba(229,138,138);}
html[data-theme="dark"] .nv-cp-jump{border:1px solid rgba(40,96,189,0.45);background:rgba(27,67,126,0.16);color:rgba(133,157,234);}
html[data-theme="dark"] .nv-cp-jump:hover{background:rgba(27,65,126,0.16);border-color:rgba(40,89,189,0.45);}
html[data-theme="dark"] .nvr-herr-head h2{color:#e6ecf5;}
html[data-theme="dark"] .nvr-herr-head p{color:#93a1b8;}
html[data-theme="dark"] .nvr-calcbox{background:var(--dk-card2);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvr-calcbox-head{border-bottom:1px solid var(--ep-slate-100, rgba(69,115,161,0.45));}
html[data-theme="dark"] .nvr-calcbox-ic{background:var(--ep-blue-50, rgba(27,70,126,0.16));color:#8ab4ff;}
html[data-theme="dark"] .nvr-calcbox-tx h3{color:#e6ecf5;}
html[data-theme="dark"] .nvr-calcbox-tx p{color:#93a1b8;}
html[data-theme="dark"] .nvr-calcbox-pill{background:var(--ep-blue-50, rgba(27,70,126,0.16));border:1px solid var(--ep-blue-200, rgba(40,106,189,0.45));color:#8ab4ff;}
html[data-theme="dark"] .nvr-calcrow{background:rgba(46,76,107,0.16);border:1px solid rgba(73,110,156,0.45);}
html[data-theme="dark"] .nvr-calcx{border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));border-left:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));background:var(--dk-card2);}
html[data-theme="dark"] .nvr-calcx-ic{background:var(--ep-blue-50, rgba(27,70,126,0.16));color:#8ab4ff;}
html[data-theme="dark"] .nvr-calcx-tx b{color:#e6ecf5;}
html[data-theme="dark"] .nvr-calcx-tx small{color:#93a1b8;}
html[data-theme="dark"] .nvr-calcx:hover{border-color:var(--ep-blue-300, rgba(40,111,189,0.45));}
html[data-theme="dark"] .nvr-calcx:hover .nvr-calcx-tx b{color:#8ab4ff;}
html[data-theme="dark"] .nvr-tool{background:var(--dk-card2);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));border-left:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));--nvt:rgba(130,164,237);--nvt-bg:rgba(27,70,126,0.16);}
html[data-theme="dark"] .nvr-tool:hover{border-color:var(--ep-slate-300, rgba(75,111,155,0.45));}
html[data-theme="dark"] .nvr-tool-tx b{color:#e6ecf5;}
html[data-theme="dark"] .nvr-tool-tx small{color:#93a1b8;}
html[data-theme="dark"] .nvr-tool--green{--nvt:rgba(130,237,170);--nvt-bg:rgba(27,126,57,0.16);}
html[data-theme="dark"] .nvr-tool--teal{--nvt:rgba(130,237,228);--nvt-bg:rgba(27,126,103,0.16);}
html[data-theme="dark"] .nvr-tool--violet{--nvt:rgba(170,130,237);--nvt-bg:rgba(43,27,126,0.16);}
html[data-theme="dark"] .nvr-tool--teal:hover, html[data-theme="dark"] .nvr-tool--green:hover, html[data-theme="dark"] .nvr-tool--violet:hover{border-color:var(--ep-slate-300, rgba(75,111,155,0.45));}
html[data-theme="dark"] .nvr-plant{background:linear-gradient(180deg, rgba(46,76,107,0.16) 0%, var(--dk-card2) 72%);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvr-chip--casos{--nvr-c:rgba(170,130,237);--nvr-c-dark:rgba(173,134,234);--nvr-bg:rgba(43,27,126,0.16);}
html[data-theme="dark"] .nvr-chip{background:var(--dk-card2);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));color:#c3cede;}
html[data-theme="dark"] .nvr-chip:hover{border-color:var(--nvr-c, rgba(40,111,189,0.45));background:var(--nvr-bg, rgba(27,70,126,0.16));color:var(--nvr-c-dark, rgba(130,158,237));}
html[data-theme="dark"] .nvr-chip:hover span{color:var(--nvr-c, rgba(130,164,237));}
html[data-theme="dark"] .nvr-sec-head{border-bottom:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvr-sec-ic{background:var(--nvr-bg, rgba(27,70,126,0.16));color:var(--nvr-c, rgba(130,164,237));}
html[data-theme="dark"] .nvr-sec-head h2{color:#e6ecf5;}
html[data-theme="dark"] .nvr-sec-head p{color:#93a1b8;}
html[data-theme="dark"] .nvr-sec-count{background:var(--nvr-bg, rgba(46,77,107,0.16));color:var(--nvr-c-dark, var(--dk-txt-soft));}
html[data-theme="dark"] .nvr-card{background:var(--dk-card2);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvr-card::before{background:linear-gradient(90deg, var(--nvr-c, #2563eb), color-mix(in srgb, var(--nvr-c, #2563eb) 55%, var(--dk-card2)));}
html[data-theme="dark"] .nvr-card:hover{border-color:color-mix(in srgb, var(--nvr-c, #2563eb) 38%, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvr-card-ic{background:var(--nvr-bg, rgba(27,70,126,0.16));color:var(--nvr-c, rgba(130,164,237));}
html[data-theme="dark"] .nvr-card h3{color:#e6ecf5;}
html[data-theme="dark"] .nvr-card:hover h3{color:var(--nvr-c-dark, rgba(130,158,237));}
html[data-theme="dark"] .nvr-card p{color:#c3cede;}
html[data-theme="dark"] .nvr-card-meta{border-top:1px dashed var(--ep-slate-200, rgba(75,109,155,0.45));color:#93a1b8;}
html[data-theme="dark"] .nvr-go{color:var(--nvr-c, rgba(130,164,237));background:var(--nvr-bg, rgba(27,70,126,0.16));}
html[data-theme="dark"] .nvr-card:hover .nvr-arrow{color:var(--nvr-c, rgba(130,164,237));}
html[data-theme="dark"] .nvr-plant{background:radial-gradient(520px 200px at 92% -30%, rgba(37, 99, 235, 0.07), transparent 60%),
                linear-gradient(180deg, rgba(46,76,107,0.16) 0%, var(--dk-card2) 74%);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvr-pl{background:var(--dk-card2);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvr-pl:hover{border-color:var(--ep-blue-300, rgba(40,111,189,0.45));}
html[data-theme="dark"] .nvr-pl-ic{background:var(--ep-blue-50, rgba(27,70,126,0.16));color:#8ab4ff;}
html[data-theme="dark"] .nvr-pl-tx b{color:#e6ecf5;}
html[data-theme="dark"] .nvr-pl:hover .nvr-pl-tx b{color:#8ab4ff;}
html[data-theme="dark"] .nvr-pl-tx small{color:#93a1b8;}
html[data-theme="dark"] .nvr-pl-btn{color:#8ab4ff;background:var(--ep-blue-50, rgba(27,70,126,0.16));border:1px solid var(--ep-blue-200, rgba(40,106,189,0.45));}
html[data-theme="dark"] .nvr-plant-note{color:#93a1b8;}
html[data-theme="dark"] .nvr-faq details{background:var(--dk-card2);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvr-faq details:hover{border-color:var(--ep-blue-200, rgba(40,106,189,0.45));}
html[data-theme="dark"] .nvr-faq details[open]{border-color:var(--ep-blue-300, rgba(40,111,189,0.45));}
html[data-theme="dark"] .nvr-faq summary{color:#e6ecf5;}
html[data-theme="dark"] .nvr-faq summary::after{color:#8ab4ff;background:var(--ep-blue-50, rgba(27,70,126,0.16));border:1px solid var(--ep-blue-100, rgba(40,104,189,0.45));}
html[data-theme="dark"] .nvr-faq details p{color:#c3cede;}
html[data-theme="dark"] .nvpl-card{background:var(--dk-card2);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvpl-card:hover{border-color:var(--ep-blue-200, rgba(40,106,189,0.45));}
html[data-theme="dark"] .nvpl-docx{color:#8ab4ff;background:var(--ep-blue-50, rgba(27,70,126,0.16));border:1px solid var(--ep-blue-200, rgba(40,106,189,0.45));}
html[data-theme="dark"] .nvpl-card h3{color:#e6ecf5;}
html[data-theme="dark"] .nvpl-card:hover h3{color:#8ab4ff;}
html[data-theme="dark"] .nvpl-card p{color:#c3cede;}
html[data-theme="dark"] .nvpl-card .nvpl-meta{border-top:1px dashed var(--ep-slate-200, rgba(75,109,155,0.45));color:#8ab4ff;}
html[data-theme="dark"] .nvpl-steps{background:var(--dk-card2);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvpl-steps h2, html[data-theme="dark"] .nvpl-incl h2, html[data-theme="dark"] .nvpl-guide-h, html[data-theme="dark"] .nvpl-faq-h{color:#e6ecf5;}
html[data-theme="dark"] .nvpl-steps ol > li{color:#c3cede;}
html[data-theme="dark"] .nvpl-steps ol > li::before{background:var(--ep-blue-50, rgba(27,70,126,0.16));border:1px solid var(--ep-blue-200, rgba(40,106,189,0.45));color:#8ab4ff;}
html[data-theme="dark"] .nvpl-steps ol > li:not(:last-child)::after{background:linear-gradient(180deg, var(--ep-blue-200, rgba(27,71,126,0.16)), var(--ep-slate-100, rgba(46,77,107,0.16)));}
html[data-theme="dark"] .nvpl-incl{background:linear-gradient(180deg, rgba(27,126,57,0.16) 0%, var(--dk-card2) 70%);border:1px solid rgba(40,189,91,0.45);}
html[data-theme="dark"] .nvpl-incl ul li{background:var(--dk-card2);border:1px solid rgba(40,189,91,0.45);color:#c3cede;}
html[data-theme="dark"] .nvpl-incl ul li:hover{border-color:rgba(40,189,94,0.45);}
html[data-theme="dark"] .nvpl-incl ul li::after{border-right:2px solid var(--dk-line);border-bottom:2px solid var(--dk-line);}
html[data-theme="dark"] .nvpl-gcard{background:var(--dk-card2);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvpl-gcard:hover{border-color:var(--ep-blue-200, rgba(40,106,189,0.45));}
html[data-theme="dark"] .nvpl-gcard-ic{background:var(--ep-blue-50, rgba(27,70,126,0.16));color:#8ab4ff;}
html[data-theme="dark"] .nvpl-gcard-tx h3{color:#e6ecf5;}
html[data-theme="dark"] .nvpl-gcard:hover .nvr-gcard-tx h3, html[data-theme="dark"] .nvpl-gcard:hover .nvpl-gcard-tx h3{color:#8ab4ff;}
html[data-theme="dark"] .nvpl-gcard-tx p{color:#c3cede;}
html[data-theme="dark"] .nvpl-gcard-go{color:#8ab4ff;}
html[data-theme="dark"] .nvpl-dl{color:#451a03;} /* T320 */
html[data-theme="dark"] .nvpl-dl:hover{color:#3f2210;} /* T320 */
html[data-theme="dark"] .nvpl-faq details{background:var(--dk-card2);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvpl-faq details:hover{border-color:var(--ep-blue-200, rgba(40,106,189,0.45));}
html[data-theme="dark"] .nvpl-faq details[open]{border-color:var(--ep-blue-300, rgba(40,111,189,0.45));}
html[data-theme="dark"] .nvpl-faq summary{color:#e6ecf5;}
html[data-theme="dark"] .nvpl-faq summary::after{color:#8ab4ff;background:var(--ep-blue-50, rgba(27,70,126,0.16));border:1px solid var(--ep-blue-100, rgba(40,104,189,0.45));}
html[data-theme="dark"] .nvpl-faq details p{color:#c3cede;}
html[data-theme="dark"] .nvpl-more-head{border-bottom:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvpl-more-head h2{color:#e6ecf5;}
html[data-theme="dark"] .nvpl-more-head .nvpl-sec-count{background:var(--ep-blue-50, rgba(27,70,126,0.16));color:#8ab4ff;border:1px solid var(--ep-blue-200, rgba(40,106,189,0.45));}
html[data-theme="dark"] .nvpl-mini{background:var(--dk-card2);border:1px solid var(--ep-slate-200, rgba(75,109,155,0.45));}
html[data-theme="dark"] .nvpl-mini:hover{border-color:var(--ep-blue-200, rgba(40,106,189,0.45));}
html[data-theme="dark"] .nvpl-mini-ic{background:var(--ep-blue-50, rgba(27,70,126,0.16));color:#8ab4ff;}
html[data-theme="dark"] .nvpl-mini-tx b{color:#e6ecf5;}
html[data-theme="dark"] .nvpl-mini:hover .nvpl-mini-tx b{color:#8ab4ff;}
html[data-theme="dark"] .nvpl-mini-tx small{color:#93a1b8;}
html[data-theme="dark"] .nvpl-mini:hover .nvpl-mini-go{color:#8ab4ff;}
html[data-theme="dark"] .nvpl-meta-line{color:#93a1b8;}
html[data-theme="dark"] .nvpl-meta-line .nvpl-sep{background:var(--ep-slate-300, rgba(50,74,103,0.16));}
html[data-theme="dark"] .nv-caso-note{background:rgba(126,82,27,0.16);border:1px solid rgba(189,116,40,0.45);color:rgba(237,157,130);}
html[data-theme="dark"] .nv-caso-note b{color:rgba(237,157,130);}
html[data-theme="dark"] .nv-caso-note a{color:rgba(237,157,130);}
html[data-theme="dark"] .nv-leybox{background:rgba(46,76,107,0.16);border:1px solid rgba(75,109,155,0.45);}
html[data-theme="dark"] .nv-leybox>p{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-leybox li{background:var(--dk-card2);border:1px solid rgba(75,109,155,0.45);}
html[data-theme="dark"] .nv-leybox li a{color:rgba(237,176,130);}
html[data-theme="dark"] .nv-leybox li span{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-leybox .nv-ley-all{color:rgba(237,176,130);}
html[data-theme="dark"] .nv-ley-card{background:var(--dk-card2);border:1px solid rgba(75,101,155,0.45);}
html[data-theme="dark"] .nv-ley-chip{background:rgba(126,82,27,0.16);border:1px solid rgba(189,116,40,0.45);color:rgba(237,157,130);}
html[data-theme="dark"] .nv-ley-card>span{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-ley-card>em{color:rgba(237,176,130);}
html[data-theme="dark"] .nv-guide-leyref{color:var(--dk-txt-soft);}
html[data-theme="dark"] .nv-leyref:hover, html[data-theme="dark"] .nv-leyref:focus{background:rgba(126,106,27,0.16);}
html[data-theme="dark"] .nv-gloss-tip .nv-leyref-chip{color:var(--dk-txt);}

/* T320: badge «Nuevo en NIVO» legible sobre fondo menta en dark */
html[data-theme="dark"] .nv-badge-new--nivo{color:#0b1220;}
