@import url('/static/vendor/inter/inter.css');
/* ===== Paleta moderna multicolor — común a todo el programa (16/10/2026) =====
   Pedido: "aplica el cambio de colores a todo el programa incluyendo las fichas".
   Se carga AL FINAL del <head> de cada pantalla (login, panel, Administrador, Financiero, Acceso rápido,
   Conciliación, vistas tipo Excel, bloqueo, automatización en curso...) y pinta los componentes de
   Bootstrap con degradés. Solo estilo: ningún id ni función cambia. NO usar :has() (dejó el panel de
   Electron en blanco). La pantalla principal suma su propio bloque en templates/index.html. */
:root {
    --pm-indigo: #4f46e5; --pm-violeta: #7c3aed; --pm-rosa: #ec4899; --pm-coral: #f43f5e; --pm-naranja: #fb923c;
    --pm-ambar: #f59e0b; --pm-esmeralda: #10b981; --pm-lima: #84cc16; --pm-cielo: #0ea5e9; --pm-turquesa: #14b8a6;
    --pm-azul: #2563eb; --pm-cian: #06b6d4; --pm-texto: #1e1b4b; --pm-suave: #64748b; --pm-linea: #e6e8f3;
    --g-indigo: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
    --g-oceano: linear-gradient(135deg, #0ea5e9 0%, #14b8a6 100%);
    --g-atardecer: linear-gradient(135deg, #f43f5e 0%, #fb923c 100%);
    --g-aurora: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
    --g-menta: linear-gradient(135deg, #10b981 0%, #84cc16 100%);
    --g-cielo: linear-gradient(135deg, #2563eb 0%, #06b6d4 100%);
    --g-ambar: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
    --icbf-azul: #4f46e5;
    --bs-primary: #4f46e5; --bs-primary-rgb: 79, 70, 229;
    --bs-info: #06b6d4; --bs-info-rgb: 6, 182, 212;
    --bs-link-color: #4f46e5; --bs-link-color-rgb: 79, 70, 229; --bs-link-hover-color: #4338ca; --bs-link-hover-color-rgb: 67, 56, 202;
    --bs-primary-text-emphasis: #3730a3; --bs-primary-bg-subtle: #eef0ff; --bs-primary-border-subtle: #c7d2fe;
}
/* :where() = especificidad 0: si la pantalla define su propio fondo (login con foto, bloqueo), manda el suyo. */
/* 13/11/2026 («ligero lag al mover rápido» en Windows): sin background-attachment: fixed — obligaba a redibujar
   TODA la pantalla en cada paso del desplazamiento (en Windows con pantalla escalada se notaba). */
:where(body) {
    background:
        radial-gradient(900px 520px at 0% 0%, rgba(99,102,241,.10), transparent 60%),
        radial-gradient(800px 500px at 100% 8%, rgba(20,184,166,.10), transparent 60%),
        radial-gradient(900px 600px at 50% 100%, rgba(236,72,153,.07), transparent 60%),
        #f6f7fc;
}

/* Botones sólidos en degradé */
.btn-primary { --bs-btn-bg: #4f46e5; --bs-btn-border-color: transparent; --bs-btn-hover-bg: #4338ca; --bs-btn-active-bg: #4338ca;
    --bs-btn-disabled-bg: #a5b4fc; --bs-btn-disabled-border-color: transparent; background-image: var(--g-indigo);
    box-shadow: 0 8px 18px -10px rgba(79,70,229,.8); }
.btn-success { --bs-btn-bg: #10b981; --bs-btn-border-color: transparent; --bs-btn-hover-bg: #059669; --bs-btn-active-bg: #059669;
    --bs-btn-disabled-border-color: transparent; background-image: linear-gradient(135deg, #10b981 0%, #22c55e 100%);
    box-shadow: 0 8px 18px -10px rgba(16,185,129,.8); }
.btn-danger { --bs-btn-bg: #f43f5e; --bs-btn-border-color: transparent; --bs-btn-hover-bg: #e11d48; --bs-btn-active-bg: #e11d48;
    --bs-btn-disabled-border-color: transparent; background-image: var(--g-atardecer); box-shadow: 0 8px 18px -10px rgba(244,63,94,.8); }
.btn-warning { --bs-btn-bg: #f59e0b; --bs-btn-border-color: transparent; --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #d97706;
    --bs-btn-active-bg: #d97706; --bs-btn-active-color: #fff; --bs-btn-disabled-border-color: transparent;
    background-image: linear-gradient(135deg, #f59e0b 0%, #f97316 100%); box-shadow: 0 8px 18px -10px rgba(245,158,11,.8); }
.btn-info { --bs-btn-bg: #06b6d4; --bs-btn-border-color: transparent; --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #0891b2;
    --bs-btn-active-bg: #0891b2; --bs-btn-active-color: #fff; --bs-btn-disabled-border-color: transparent;
    background-image: var(--g-oceano); box-shadow: 0 8px 18px -10px rgba(14,165,233,.8); }
.btn-dark { background-image: linear-gradient(135deg, #1e1b4b 0%, #312e81 100%); border-color: transparent; }
.btn-primary:hover, .btn-success:hover, .btn-danger:hover, .btn-warning:hover, .btn-info:hover, .btn-dark:hover { filter: brightness(1.06) saturate(1.1); }
.btn-primary:disabled, .btn-success:disabled, .btn-danger:disabled, .btn-warning:disabled, .btn-info:disabled { box-shadow: none; filter: grayscale(.25); }

/* Botones de contorno con tinte */
.btn-outline-primary { --bs-btn-color: #4f46e5; --bs-btn-border-color: #a5b4fc; --bs-btn-hover-bg: #4f46e5; --bs-btn-hover-border-color: #4f46e5;
    --bs-btn-active-bg: #4338ca; --bs-btn-active-border-color: #4338ca; --bs-btn-disabled-color: #818cf8; --bs-btn-disabled-border-color: #c7d2fe; }
.btn-outline-success { --bs-btn-color: #059669; --bs-btn-border-color: #6ee7b7; --bs-btn-hover-bg: #10b981; --bs-btn-hover-border-color: #10b981;
    --bs-btn-active-bg: #059669; --bs-btn-active-border-color: #059669; }
.btn-outline-danger { --bs-btn-color: #e11d48; --bs-btn-border-color: #fda4af; --bs-btn-hover-bg: #f43f5e; --bs-btn-hover-border-color: #f43f5e;
    --bs-btn-active-bg: #e11d48; --bs-btn-active-border-color: #e11d48; }
.btn-outline-warning { --bs-btn-color: #d97706; --bs-btn-border-color: #fcd34d; --bs-btn-hover-bg: #f59e0b; --bs-btn-hover-color: #fff;
    --bs-btn-hover-border-color: #f59e0b; --bs-btn-active-bg: #d97706; --bs-btn-active-color: #fff; }
.btn-outline-info { --bs-btn-color: #0891b2; --bs-btn-border-color: #67e8f9; --bs-btn-hover-bg: #06b6d4; --bs-btn-hover-color: #fff;
    --bs-btn-hover-border-color: #06b6d4; --bs-btn-active-bg: #0891b2; --bs-btn-active-color: #fff; }
.btn-outline-secondary { --bs-btn-color: #475569; --bs-btn-border-color: #cbd5e1; --bs-btn-hover-bg: #eef0ff; --bs-btn-hover-color: #4338ca;
    --bs-btn-hover-border-color: #a5b4fc; --bs-btn-active-bg: #e0e7ff; --bs-btn-active-color: #3730a3; }

/* Fondos, textos e insignias */
.bg-primary { background-image: var(--g-indigo) !important; }
.bg-success { background-image: linear-gradient(135deg, #10b981 0%, #22c55e 100%) !important; background-color: #10b981 !important; }
.bg-danger { background-image: var(--g-atardecer) !important; background-color: #f43f5e !important; }
.bg-warning { background-color: #fbbf24 !important; }
.bg-info { background-image: var(--g-oceano) !important; background-color: #06b6d4 !important; }
.text-primary { color: #4f46e5 !important; }
.text-success { color: #059669 !important; }
.text-danger { color: #e11d48 !important; }
.text-info { color: #0891b2 !important; }
.badge { border-radius: 999px; font-weight: 600; }
.text-bg-primary { background: var(--g-indigo) !important; color: #fff !important; }
.text-bg-success { background: linear-gradient(135deg, #10b981 0%, #22c55e 100%) !important; color: #fff !important; }
.text-bg-danger { background: var(--g-atardecer) !important; color: #fff !important; }
.text-bg-info { background: var(--g-oceano) !important; color: #fff !important; }
.text-bg-warning { background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%) !important; color: #3b2300 !important; }

/* Alertas suaves con filete de color */
.alert { border-radius: 12px; border-width: 1px; border-left-width: 4px; }
.alert-primary { background: #eef0ff; border-color: #c7d2fe; border-left-color: #4f46e5; color: #3730a3; }
.alert-info { background: #ecfeff; border-color: #a5f3fc; border-left-color: #06b6d4; color: #155e75; }
.alert-success { background: #ecfdf5; border-color: #a7f3d0; border-left-color: #10b981; color: #065f46; }
.alert-warning { background: #fffbeb; border-color: #fde68a; border-left-color: #f59e0b; color: #92400e; }
.alert-danger { background: #fff1f2; border-color: #fecdd3; border-left-color: #f43f5e; color: #9f1239; }

/* Formularios */
.form-control:focus, .form-select:focus { border-color: #a5b4fc; box-shadow: 0 0 0 .22rem rgba(99,102,241,.16); }
.form-check-input:checked { background-color: #4f46e5; border-color: #4f46e5; }
.form-check-input:focus { border-color: #a5b4fc; box-shadow: 0 0 0 .22rem rgba(99,102,241,.16); }
.form-switch .form-check-input:checked { background-color: #6366f1; }
.form-range::-webkit-slider-thumb { background: #4f46e5; }

/* Navegación */
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { background: var(--g-indigo); box-shadow: 0 6px 14px -6px rgba(79,70,229,.7); }
.nav-pills .nav-link { color: #4338ca; }
.nav-tabs:not(.nav-tabs-icbf) .nav-link.active { color: #4338ca; border-top: 3px solid #6366f1; }
.page-link { color: #4f46e5; }
.active > .page-link, .page-link.active { background: var(--g-indigo); border-color: #4f46e5; }
.dropdown-item.active, .dropdown-item:active { background: var(--g-indigo); }

/* Barras de progreso */
.progress-bar { background-image: var(--g-indigo); }
.progress-bar.bg-success { background-image: var(--g-menta) !important; }
.progress-bar.bg-danger { background-image: var(--g-atardecer) !important; }
.progress-bar.bg-warning { background-image: var(--g-ambar) !important; }
.progress-bar.bg-info { background-image: var(--g-oceano) !important; }

/* Tarjetas, ventanas modales y tablas */
.card { border-color: var(--pm-linea); border-radius: 16px; box-shadow: 0 1px 2px rgba(30,27,75,.04), 0 10px 26px -14px rgba(79,70,229,.25); }
.card > .card-header:first-child { border-radius: 15px 15px 0 0; }
.card-header.bg-primary, .card-header.bg-info, .card-header.bg-success, .card-header.bg-danger { color: #fff; }
.modal-content { border: 0; border-radius: 18px; box-shadow: 0 30px 70px -20px rgba(30,27,75,.45); overflow: hidden; }
.modal-header { border-bottom-color: var(--pm-linea); }
.modal-header.bg-primary, .modal-header.bg-info, .modal-header.bg-success, .modal-header.bg-danger, .modal-header.bg-dark { color: #fff; }
.table > thead.table-light > tr > th, .table > thead > tr > th.table-light { background: #f5f6ff; color: #4b5563; }
.table-hover > tbody > tr:hover > * { --bs-table-hover-bg: #f5f6ff; }
.table-primary { --bs-table-bg: #eef0ff; --bs-table-border-color: #c7d2fe; }

/* Barras de desplazamiento */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #a5b4fc, #c4b5fd); border-radius: 999px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-track { background: transparent; }

/* (los enlaces ya toman --bs-link-color) */
::selection { background: rgba(124,58,237,.18); }


/* =====================================================================================================
   REDISEÑO MODERNO (16/10/2026) — pedido del usuario: estética tipo SaaS (Linear/Vercel), botones con
   micro-interacciones, íconos SVG de trazo uniforme (Lucide, ver static/js/iconos-modernos.js), tipografía
   Inter y modo claro + oscuro con interruptor (static/js/tema.js). Se mantienen los colores por módulo.
   100 % visual: ningún id, name, función ni evento cambia.
   ===================================================================================================== */
:root {
    --dm-radio: 14px; --dm-radio-chico: 10px;
    --dm-curva: cubic-bezier(0.4, 0, 0.2, 1);
    --dm-sombra: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px -12px rgba(15,23,42,.16);
    --dm-sombra-alta: 0 2px 4px rgba(15,23,42,.05), 0 18px 40px -16px rgba(15,23,42,.28);
    --dm-anillo: 0 0 0 3px rgba(99,102,241,.35);
    --dm-superficie: #ffffff; --dm-superficie-2: #f8fafc; --dm-borde: rgba(15,23,42,.08);
    --dm-texto: #0f172a; --dm-texto-2: #475569; --dm-texto-3: #94a3b8;
}

/* ---------- Tipografía ---------- */
body { font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-font-smoothing: antialiased;
    font-feature-settings: 'cv11', 'ss01'; color: var(--dm-texto); }
button, input, select, textarea, .btn, .form-control, .form-select, .tooltip, .popover { font-family: inherit; }
h1, h2, h3, h4, h5, h6, .card-header-icbf, .mod-hero-titulo, .vb-hero-titulo, .navbar-title { letter-spacing: -0.015em; }
.text-muted, .form-text { color: var(--dm-texto-2) !important; }

/* ---------- Botones: táctiles, con elevación, presión y anillo de foco ---------- */
.btn { border-radius: var(--dm-radio-chico); font-weight: 600; letter-spacing: -0.005em;
    display: inline-flex; align-items: center; justify-content: center; gap: .45em;
    transition: transform .25s var(--dm-curva), box-shadow .25s var(--dm-curva), background-color .25s var(--dm-curva),
                border-color .25s var(--dm-curva), color .25s var(--dm-curva), filter .25s var(--dm-curva); }
.btn.w-100, .btn.d-block { display: flex; }
.btn:hover:not(:disabled):not(.disabled) { transform: translateY(-2px); }
.btn:active:not(:disabled):not(.disabled), .btn.active:active { transform: scale(0.97); }
.btn:focus-visible { outline: none; box-shadow: var(--dm-anillo) !important; }
.btn-primary:hover:not(:disabled), .btn-success:hover:not(:disabled), .btn-danger:hover:not(:disabled),
.btn-warning:hover:not(:disabled), .btn-info:hover:not(:disabled), .btn-icbf-primary:hover:not(:disabled) {
    box-shadow: 0 12px 24px -10px currentColor, 0 10px 22px -12px rgba(79,70,229,.55) !important; }
/* Secundarios estilo «ghost»: fondo casi transparente y borde suave */
.btn-outline-secondary, .btn-light, .btn-secondary { --bs-btn-bg: rgba(15,23,42,.03); --bs-btn-border-color: var(--dm-borde);
    --bs-btn-color: var(--dm-texto-2); --bs-btn-hover-bg: rgba(99,102,241,.08); --bs-btn-hover-color: #4338ca;
    --bs-btn-hover-border-color: rgba(99,102,241,.35); --bs-btn-active-bg: rgba(99,102,241,.14); --bs-btn-active-color: #3730a3; }
.btn-outline-primary:hover:not(:disabled), .btn-outline-success:hover:not(:disabled), .btn-outline-danger:hover:not(:disabled),
.btn-outline-warning:hover:not(:disabled), .btn-outline-info:hover:not(:disabled) { box-shadow: 0 8px 18px -10px currentColor; }
.btn-link { text-decoration: none; }
.btn-close { transition: transform .25s var(--dm-curva), opacity .25s var(--dm-curva); }
.btn-close:hover { transform: rotate(90deg); }

/* ---------- Íconos Lucide (el <i> original queda, con el SVG adentro) ---------- */
i.lc { font-style: normal; display: inline-flex; align-items: center; justify-content: center; line-height: 1; vertical-align: -0.14em; }
i.lc::before, i.lc::after { content: none !important; display: none !important; }
i.lc > svg { width: 1.05em; height: 1.05em; stroke-width: 1.85; flex: none; transition: transform .3s var(--dm-curva); }
i.lc.fa-fw > svg { width: 1.15em; }
i.lc.fa-2x > svg { width: 2em; height: 2em; } i.lc.fa-3x > svg { width: 3em; height: 3em; }
.btn > i.lc:first-child, .btn > i.lc:last-child { margin: 0; }
/* Micro-animaciones: el ícono se mueve un poco al pasar sobre su botón, pestaña o tarjeta */
.btn:hover i.lc > svg, .nav-link:hover i.lc > svg, .dropdown-item:hover i.lc > svg { transform: translateY(-1px) scale(1.1); }
.btn:hover i.lc:is([data-lc="refresh-cw"], [data-lc="rotate-cw"], [data-lc="rotate-ccw"], [data-lc="settings"], [data-lc="settings-2"]) > svg { transform: rotate(90deg); }
.btn:hover i.lc:is([data-lc="play"], [data-lc="send"], [data-lc="arrow-right"], [data-lc="log-in"], [data-lc="external-link"], [data-lc="chevron-right"]) > svg { transform: translateX(2px); }
.btn:hover i.lc:is([data-lc="download"], [data-lc="file-down"], [data-lc="cloud-download"]) > svg { transform: translateY(2px); }
.btn:hover i.lc:is([data-lc="upload"], [data-lc="file-up"], [data-lc="cloud-upload"]) > svg { transform: translateY(-2px); }
.btn:hover i.lc:is([data-lc="trash"], [data-lc="trash-2"], [data-lc="x"]) > svg { transform: rotate(-8deg) scale(1.1); }
.card-header-icbf:hover > i:first-child > svg, .card-header-icbf:hover > span:first-child > i:first-child > svg { transform: rotate(-8deg) scale(1.08); }
.nav-tabs-icbf .nav-link:hover i.lc > svg { transform: scale(1.15) rotate(-6deg); }
@media (prefers-reduced-motion: reduce) { .btn, i.lc > svg { transition: none !important; } .btn:hover { transform: none !important; } }

/* ---------- Tarjetas y módulos (bento: bordes redondeados, borde sutil, sombra difusa, aire) ---------- */
.card:not([class*="border-"]) { border-color: var(--dm-borde); }
.card-icbf { border-color: var(--dm-borde) !important; }
.card, .card-icbf { border-radius: 16px; box-shadow: var(--dm-sombra);
    transition: box-shadow .3s var(--dm-curva), transform .3s var(--dm-curva); }
.card-icbf:hover { box-shadow: var(--dm-sombra-alta), 0 10px 30px -18px color-mix(in srgb, var(--ac1, #4f46e5) 45%, transparent); }
.card-header-icbf { padding: 18px 22px 14px !important; font-weight: 700; }
.card-icbf > .card-body { padding: 20px 22px; }
.nav-tabs-icbf { gap: 12px !important; }
.nav-tabs-icbf .nav-link { border-radius: 16px !important; border: 1px solid var(--dm-borde) !important;
    transition: transform .25s var(--dm-curva), box-shadow .25s var(--dm-curva), background .25s var(--dm-curva), color .25s var(--dm-curva) !important; }
.nav-tabs-icbf .nav-link:active { transform: scale(0.97) !important; }
.nav-tabs-icbf .nav-link i { border-radius: 12px !important; }
.mod-hero, .vb-hero, .nut-hero { border-radius: 18px !important; }
.modal-content { border-radius: 20px; border: 1px solid var(--dm-borde); }
.dropdown-menu { border-radius: 12px; border: 1px solid var(--dm-borde); box-shadow: var(--dm-sombra-alta); padding: 6px; }
.dropdown-item { border-radius: 8px; transition: background .2s var(--dm-curva); }
.form-control, .form-select { border-radius: var(--dm-radio-chico); border-color: rgba(15,23,42,.12);
    transition: border-color .2s var(--dm-curva), box-shadow .2s var(--dm-curva), background .2s var(--dm-curva); }
.form-control:hover:not(:focus), .form-select:hover:not(:focus) { border-color: rgba(99,102,241,.35); }
.form-control:focus, .form-select:focus { border-color: #818cf8; box-shadow: var(--dm-anillo); }
.badge { letter-spacing: .01em; }
.table { --bs-table-bg: transparent; }
.toast { border-radius: 14px; border: 1px solid var(--dm-borde); box-shadow: var(--dm-sombra-alta); }

/* ---------- Interruptor claro / oscuro ---------- */
.tema-toggle { position: relative; width: 34px; height: 34px; border-radius: 10px; border: 1px solid var(--dm-borde);
    background: rgba(15,23,42,.03); color: var(--dm-texto-2); display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer; overflow: hidden; flex: none; padding: 0; font-size: 1rem;
    transition: transform .25s var(--dm-curva), background .25s var(--dm-curva), color .25s var(--dm-curva), box-shadow .25s var(--dm-curva); }
.tema-toggle:hover { transform: translateY(-2px); color: #4f46e5; background: rgba(99,102,241,.08); box-shadow: 0 8px 18px -10px rgba(79,70,229,.6); }
.tema-toggle:active { transform: scale(.94); }
.tema-toggle:focus-visible { outline: none; box-shadow: var(--dm-anillo); }
.tema-toggle > span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    transition: transform .45s var(--dm-curva), opacity .3s var(--dm-curva); }
.tema-toggle .tema-luna { transform: translateY(120%) rotate(-90deg); opacity: 0; }
html[data-tema="oscuro"] .tema-toggle .tema-sol { transform: translateY(-120%) rotate(90deg); opacity: 0; }
html[data-tema="oscuro"] .tema-toggle .tema-luna { transform: none; opacity: 1; }
.tema-toggle-flotante { position: fixed; top: 14px; right: 14px; z-index: 1080; backdrop-filter: blur(8px); background: rgba(255,255,255,.7); }
html.tema-transicion, html.tema-transicion * { transition: background-color .35s var(--dm-curva), color .35s var(--dm-curva), border-color .35s var(--dm-curva) !important; }

/* =====================================================================================================
   MODO OSCURO — html[data-tema="oscuro"] (+ data-bs-theme="dark" de Bootstrap 5.3 para sus componentes)
   ===================================================================================================== */
html[data-tema="oscuro"] {
    color-scheme: dark;
    --dm-superficie: #111827; --dm-superficie-2: #0b1220; --dm-borde: rgba(148,163,184,.14);
    --dm-texto: #e5e7eb; --dm-texto-2: #94a3b8; --dm-texto-3: #64748b;
    --dm-sombra: 0 1px 2px rgba(0,0,0,.4), 0 10px 30px -14px rgba(0,0,0,.7);
    --dm-sombra-alta: 0 2px 6px rgba(0,0,0,.45), 0 24px 50px -18px rgba(0,0,0,.8);
    --bs-body-bg: #0f172a; --bs-body-color: #e5e7eb; --bs-secondary-color: #94a3b8; --bs-tertiary-bg: #162033;
    --bs-border-color: rgba(148,163,184,.16); --bs-emphasis-color: #f8fafc; --bs-heading-color: #f1f5f9;
    --bs-card-bg: #111827; --bs-link-color: #a5b4fc; --bs-link-color-rgb: 165, 180, 252; --bs-link-hover-color: #c7d2fe;
    /* variables propias de las pantallas */
    --pp-texto: #e5e7eb; --pp-suave: #94a3b8; --pp-linea: rgba(148,163,184,.16); --pp-fondo: #0b1220; --pp-azul-s: rgba(99,102,241,.14);
    --pm-texto: #e5e7eb; --pm-suave: #94a3b8; --pm-linea: rgba(148,163,184,.16);
    --icbf-fondo: #0f172a;
}
html[data-tema="oscuro"] :is(#tabCargue, #tabCruce, #tabAsistencia, #tabBienestarina, #tabTalentoHumano, #tabCalidadDatos, #tabTareasProgramadas, #tabVideos, #tabIa) {
    --mod-linea: rgba(148,163,184,.16); --mod-fondo: #0b1220; --mod-texto: #e5e7eb; --mod-suave: #94a3b8; }
html[data-tema="oscuro"] :is(#tabNutricional, #tabEntrega) { --nut-linea: rgba(148,163,184,.16); --nut-fondo: #0b1220; --nut-texto: #e5e7eb; --nut-suave: #94a3b8; }
html[data-tema="oscuro"] #tabVincular { --vb-borde: rgba(148,163,184,.16); --vb-suave: #0b1220; --vb-texto2: #94a3b8; }

html[data-tema="oscuro"] body {
    background:
        radial-gradient(900px 520px at 0% 0%, rgba(99,102,241,.16), transparent 60%),
        radial-gradient(800px 500px at 100% 8%, rgba(20,184,166,.10), transparent 60%),
        radial-gradient(900px 600px at 50% 100%, rgba(236,72,153,.08), transparent 60%),
        #0b1120 !important;
    color: var(--dm-texto); }
/* Superficies */
html[data-tema="oscuro"] :is(.card, .card-icbf, .nut-card, .vb-card, .modal-content, .dropdown-menu, .list-group-item, .toast, .popover,
    .accordion-item, .accordion-button, .offcanvas, .tipo-ac-tarjeta, .nav-tabs-icbf .nav-link, .vb-accion, .est-modulo-card) {
    background-color: var(--dm-superficie) !important; color: var(--dm-texto); border-color: var(--dm-borde) !important; }
html[data-tema="oscuro"] :is(.card-header, .card-footer, .modal-header, .modal-footer, .card-header-icbf) { background-color: transparent; border-color: var(--dm-borde) !important; }
html[data-tema="oscuro"] :is(.bg-white, .bg-light, .bg-body, .bg-body-tertiary, .table-light) { background-color: #162033 !important; color: var(--dm-texto) !important; }
html[data-tema="oscuro"] :is([style*="background:#fff"], [style*="background: #fff"], [style*="background-color:#fff"], [style*="background-color: #fff"],
    [style*="background:white"], [style*="background: white"], [style*="background-color:white"], [style*="background-color: white"],
    [style*="background:#f8f9fa"], [style*="background: #f8f9fa"], [style*="background:#f5f8fc"], [style*="background: #f5f8fc"],
    [style*="background:#f7f9fc"], [style*="background: #f7f9fc"], [style*="background:#fbfcfd"], [style*="background-color: #f8f9fa"]) {
    background-color: #162033 !important; background-image: none !important; }
/* Textos */
html[data-tema="oscuro"] :is(h1, h2, h3, h4, h5, h6, .h5, .h6, .text-dark, .text-body, .form-label, .tac-nombre, .op-nombre, .navbar-title, .card-header-icbf, label, dt, strong, b) { color: #f1f5f9; }
html[data-tema="oscuro"] .navbar-title { -webkit-text-fill-color: transparent; background: linear-gradient(135deg, #a5b4fc, #c4b5fd); -webkit-background-clip: text; background-clip: text; }
html[data-tema="oscuro"] :is(.text-muted, .text-secondary, .form-text, small.text-muted, .navbar-text, dd, td, th) { color: var(--dm-texto-2); }
html[data-tema="oscuro"] :is([style*="color:#14304f"], [style*="color: #14304f"], [style*="color:#333"], [style*="color: #333"], [style*="color:#212529"], [style*="color: #212529"], [style*="color:#495057"], [style*="color: #495057"]) { color: #e5e7eb !important; }
/* Barra superior */
html[data-tema="oscuro"] .navbar-icbf { background: rgba(15,23,42,.97) !important; box-shadow: 0 1px 0 var(--dm-borde), 0 8px 24px -12px rgba(0,0,0,.6) !important; }
html[data-tema="oscuro"] .navbar-brand img { filter: brightness(0) invert(1); opacity: .9; }
/* Tablas */
html[data-tema="oscuro"] .table { --bs-table-color: #e5e7eb; --bs-table-bg: transparent; --bs-table-border-color: rgba(148,163,184,.12);
    --bs-table-hover-bg: rgba(99,102,241,.08); --bs-table-striped-bg: rgba(148,163,184,.04); color: #e5e7eb; }
html[data-tema="oscuro"] :is(.table > thead > tr > th, .table-icbf th, .table thead th) { background: #162033 !important; color: #94a3b8 !important; border-color: var(--dm-borde) !important; }
html[data-tema="oscuro"] .table-icbf > tbody > tr > td, html[data-tema="oscuro"] .table > tbody > tr > td { border-color: rgba(148,163,184,.10) !important; color: #e5e7eb; }
html[data-tema="oscuro"] :is(.table-icbf > tbody > tr:hover > td, .table > tbody > tr:hover > td) { background: rgba(99,102,241,.08) !important; }
html[data-tema="oscuro"] :is(.table-responsive, #tipoACContenido .table-responsive) { border-color: var(--dm-borde) !important; }
/* Formularios */
html[data-tema="oscuro"] :is(.form-control, .form-select, .input-group-text) { background-color: #0b1220 !important; color: #e5e7eb !important; border-color: rgba(148,163,184,.2) !important; }
html[data-tema="oscuro"] .form-control::placeholder { color: #64748b; }
html[data-tema="oscuro"] .form-control:disabled, html[data-tema="oscuro"] .form-select:disabled { background-color: #111827 !important; color: #64748b !important; }
/* Botones secundarios / ghost */
html[data-tema="oscuro"] :is(.btn-outline-secondary, .btn-light, .btn-secondary) { --bs-btn-bg: rgba(148,163,184,.06); --bs-btn-color: #cbd5e1;
    --bs-btn-border-color: rgba(148,163,184,.2); --bs-btn-hover-bg: rgba(99,102,241,.16); --bs-btn-hover-color: #c7d2fe; --bs-btn-hover-border-color: rgba(129,140,248,.5); }
html[data-tema="oscuro"] .btn-outline-primary { --bs-btn-color: #a5b4fc; --bs-btn-border-color: rgba(129,140,248,.45); }
html[data-tema="oscuro"] .btn-outline-success { --bs-btn-color: #6ee7b7; --bs-btn-border-color: rgba(52,211,153,.45); }
html[data-tema="oscuro"] .btn-outline-danger { --bs-btn-color: #fda4af; --bs-btn-border-color: rgba(251,113,133,.45); }
html[data-tema="oscuro"] .btn-outline-warning { --bs-btn-color: #fcd34d; --bs-btn-border-color: rgba(251,191,36,.45); }
html[data-tema="oscuro"] .btn-outline-info { --bs-btn-color: #67e8f9; --bs-btn-border-color: rgba(34,211,238,.45); }
html[data-tema="oscuro"] .card-icbf .btn-icbf-outline { color: color-mix(in srgb, var(--ac1) 55%, #fff); background: transparent; }
/* Alertas */
html[data-tema="oscuro"] .alert-primary { background: rgba(99,102,241,.12); border-color: rgba(129,140,248,.28); color: #c7d2fe; }
html[data-tema="oscuro"] .alert-info { background: rgba(6,182,212,.10); border-color: rgba(34,211,238,.25); color: #a5f3fc; }
html[data-tema="oscuro"] .alert-success { background: rgba(16,185,129,.10); border-color: rgba(52,211,153,.25); color: #a7f3d0; }
html[data-tema="oscuro"] .alert-warning { background: rgba(245,158,11,.10); border-color: rgba(251,191,36,.25); color: #fde68a; }
html[data-tema="oscuro"] .alert-danger { background: rgba(244,63,94,.10); border-color: rgba(251,113,133,.25); color: #fecdd3; }
html[data-tema="oscuro"] :is(.alert-light, .alert-secondary) { background: rgba(148,163,184,.08); border-color: var(--dm-borde); color: #cbd5e1; }
/* Insignias claras */
html[data-tema="oscuro"] :is(.badge.bg-light, .badge.text-dark, .badge.bg-white) { background: rgba(148,163,184,.14) !important; color: #e5e7eb !important; }
/* Menú de módulos e insignias */
html[data-tema="oscuro"] .nav-tabs-icbf .nav-link { color: #cbd5e1; }
html[data-tema="oscuro"] .nav-tabs-icbf .nav-link:not(.active) i { background: color-mix(in srgb, var(--m1, #4f46e5) 18%, transparent) !important;
    color: color-mix(in srgb, var(--m1, #4f46e5) 55%, #fff) !important; }
html[data-tema="oscuro"] .nav-tabs-icbf .nav-link.active { background: linear-gradient(135deg, var(--m1, #4f46e5), var(--m2, #7c3aed)) !important; }
html[data-tema="oscuro"] .tipo-ac-tarjeta.tipo-ac-a { background: linear-gradient(180deg, rgba(244,63,94,.14) 0%, #111827 70%) !important; }
html[data-tema="oscuro"] .tipo-ac-tarjeta.tipo-ac-c { background: linear-gradient(180deg, rgba(14,165,233,.14) 0%, #111827 70%) !important; }
html[data-tema="oscuro"] #operatorsTable .op-correo { background: rgba(16,185,129,.14); color: #6ee7b7; }
html[data-tema="oscuro"] .progress { background-color: rgba(148,163,184,.14); }
html[data-tema="oscuro"] hr { border-color: var(--dm-borde); opacity: 1; }
html[data-tema="oscuro"] .tema-toggle { background: rgba(148,163,184,.08); color: #fcd34d; }
html[data-tema="oscuro"] .tema-toggle-flotante { background: rgba(15,23,42,.7); }
html[data-tema="oscuro"] ::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #4338ca, #6d28d9); background-clip: padding-box; }
html[data-tema="oscuro"] ::selection { background: rgba(129,140,248,.35); }

/* ---------- Modo oscuro: utilidades de Tailwind (Conciliador ICBF) ---------- */
html[data-tema="oscuro"] { --surface: #111827; --surface-2: #0b1220; --bg: #0b1120; --border: rgba(148,163,184,.16); --border-strong: rgba(148,163,184,.26); --text: #e5e7eb; --text-soft: #94a3b8; --primary-light: rgba(90,158,51,.16); --accent-light: rgba(199,125,46,.16); --danger-light: rgba(220,53,69,.16); --info-light: rgba(13,110,253,.16); --purple-light: rgba(124,79,199,.18); }
html[data-tema="oscuro"] .bg-white { background-color: #111827 !important; }
html[data-tema="oscuro"] .bg-slate-50, html[data-tema="oscuro"] .bg-gray-50 { background-color: #0b1220 !important; }
html[data-tema="oscuro"] :is(.bg-slate-100, .bg-gray-100, .bg-slate-200, .bg-gray-200) { background-color: #162033 !important; }
html[data-tema="oscuro"] :is(.text-slate-900, .text-slate-800, .text-gray-900, .text-gray-800, .text-black) { color: #f1f5f9 !important; }
html[data-tema="oscuro"] :is(.text-slate-700, .text-gray-700) { color: #cbd5e1 !important; }
html[data-tema="oscuro"] :is(.text-slate-600, .text-slate-500, .text-gray-600, .text-gray-500) { color: #94a3b8 !important; }
html[data-tema="oscuro"] :is(.text-slate-400, .text-gray-400) { color: #64748b !important; }
html[data-tema="oscuro"] :is(.border-slate-100, .border-slate-200, .border-gray-200, .border-gray-100) { border-color: rgba(148,163,184,.14) !important; }
html[data-tema="oscuro"] :is(.border-slate-300, .border-gray-300) { border-color: rgba(148,163,184,.24) !important; }
html[data-tema="oscuro"] :is(.divide-slate-100, .divide-slate-200) > * + * { border-color: rgba(148,163,184,.12) !important; }
html[data-tema="oscuro"] :is(.hover\:bg-slate-50, .hover\:bg-slate-100, .hover\:bg-gray-50):hover { background-color: #1e293b !important; }
html[data-tema="oscuro"] .bg-green-50 { background-color: rgba(34,197,94,.10) !important; } html[data-tema="oscuro"] .bg-green-100 { background-color: rgba(34,197,94,.16) !important; }
html[data-tema="oscuro"] :is(.text-green-900, .text-green-800) { color: #bbf7d0 !important; } html[data-tema="oscuro"] :is(.text-green-700, .text-green-600) { color: #86efac !important; }
html[data-tema="oscuro"] :is(.border-green-100, .border-green-200, .border-green-300) { border-color: rgba(34,197,94,.32) !important; }
html[data-tema="oscuro"] .bg-emerald-50 { background-color: rgba(16,185,129,.10) !important; } html[data-tema="oscuro"] .bg-emerald-100 { background-color: rgba(16,185,129,.16) !important; }
html[data-tema="oscuro"] :is(.text-emerald-900, .text-emerald-800) { color: #a7f3d0 !important; } html[data-tema="oscuro"] :is(.text-emerald-700, .text-emerald-600) { color: #6ee7b7 !important; }
html[data-tema="oscuro"] :is(.border-emerald-100, .border-emerald-200, .border-emerald-300) { border-color: rgba(16,185,129,.32) !important; }
html[data-tema="oscuro"] .bg-blue-50 { background-color: rgba(59,130,246,.10) !important; } html[data-tema="oscuro"] .bg-blue-100 { background-color: rgba(59,130,246,.16) !important; }
html[data-tema="oscuro"] :is(.text-blue-900, .text-blue-800) { color: #bfdbfe !important; } html[data-tema="oscuro"] :is(.text-blue-700, .text-blue-600) { color: #93c5fd !important; }
html[data-tema="oscuro"] :is(.border-blue-100, .border-blue-200, .border-blue-300) { border-color: rgba(59,130,246,.32) !important; }
html[data-tema="oscuro"] .bg-sky-50 { background-color: rgba(14,165,233,.10) !important; } html[data-tema="oscuro"] .bg-sky-100 { background-color: rgba(14,165,233,.16) !important; }
html[data-tema="oscuro"] :is(.text-sky-900, .text-sky-800) { color: #bae6fd !important; } html[data-tema="oscuro"] :is(.text-sky-700, .text-sky-600) { color: #7dd3fc !important; }
html[data-tema="oscuro"] :is(.border-sky-100, .border-sky-200, .border-sky-300) { border-color: rgba(14,165,233,.32) !important; }
html[data-tema="oscuro"] .bg-indigo-50 { background-color: rgba(99,102,241,.10) !important; } html[data-tema="oscuro"] .bg-indigo-100 { background-color: rgba(99,102,241,.16) !important; }
html[data-tema="oscuro"] :is(.text-indigo-900, .text-indigo-800) { color: #c7d2fe !important; } html[data-tema="oscuro"] :is(.text-indigo-700, .text-indigo-600) { color: #a5b4fc !important; }
html[data-tema="oscuro"] :is(.border-indigo-100, .border-indigo-200, .border-indigo-300) { border-color: rgba(99,102,241,.32) !important; }
html[data-tema="oscuro"] .bg-purple-50 { background-color: rgba(168,85,247,.10) !important; } html[data-tema="oscuro"] .bg-purple-100 { background-color: rgba(168,85,247,.16) !important; }
html[data-tema="oscuro"] :is(.text-purple-900, .text-purple-800) { color: #e9d5ff !important; } html[data-tema="oscuro"] :is(.text-purple-700, .text-purple-600) { color: #d8b4fe !important; }
html[data-tema="oscuro"] :is(.border-purple-100, .border-purple-200, .border-purple-300) { border-color: rgba(168,85,247,.32) !important; }
html[data-tema="oscuro"] .bg-violet-50 { background-color: rgba(139,92,246,.10) !important; } html[data-tema="oscuro"] .bg-violet-100 { background-color: rgba(139,92,246,.16) !important; }
html[data-tema="oscuro"] :is(.text-violet-900, .text-violet-800) { color: #ddd6fe !important; } html[data-tema="oscuro"] :is(.text-violet-700, .text-violet-600) { color: #c4b5fd !important; }
html[data-tema="oscuro"] :is(.border-violet-100, .border-violet-200, .border-violet-300) { border-color: rgba(139,92,246,.32) !important; }
html[data-tema="oscuro"] .bg-amber-50 { background-color: rgba(245,158,11,.10) !important; } html[data-tema="oscuro"] .bg-amber-100 { background-color: rgba(245,158,11,.16) !important; }
html[data-tema="oscuro"] :is(.text-amber-900, .text-amber-800) { color: #fde68a !important; } html[data-tema="oscuro"] :is(.text-amber-700, .text-amber-600) { color: #fcd34d !important; }
html[data-tema="oscuro"] :is(.border-amber-100, .border-amber-200, .border-amber-300) { border-color: rgba(245,158,11,.32) !important; }
html[data-tema="oscuro"] .bg-yellow-50 { background-color: rgba(234,179,8,.10) !important; } html[data-tema="oscuro"] .bg-yellow-100 { background-color: rgba(234,179,8,.16) !important; }
html[data-tema="oscuro"] :is(.text-yellow-900, .text-yellow-800) { color: #fef08a !important; } html[data-tema="oscuro"] :is(.text-yellow-700, .text-yellow-600) { color: #fde047 !important; }
html[data-tema="oscuro"] :is(.border-yellow-100, .border-yellow-200, .border-yellow-300) { border-color: rgba(234,179,8,.32) !important; }
html[data-tema="oscuro"] .bg-orange-50 { background-color: rgba(249,115,22,.10) !important; } html[data-tema="oscuro"] .bg-orange-100 { background-color: rgba(249,115,22,.16) !important; }
html[data-tema="oscuro"] :is(.text-orange-900, .text-orange-800) { color: #fed7aa !important; } html[data-tema="oscuro"] :is(.text-orange-700, .text-orange-600) { color: #fdba74 !important; }
html[data-tema="oscuro"] :is(.border-orange-100, .border-orange-200, .border-orange-300) { border-color: rgba(249,115,22,.32) !important; }
html[data-tema="oscuro"] .bg-red-50 { background-color: rgba(239,68,68,.10) !important; } html[data-tema="oscuro"] .bg-red-100 { background-color: rgba(239,68,68,.16) !important; }
html[data-tema="oscuro"] :is(.text-red-900, .text-red-800) { color: #fecaca !important; } html[data-tema="oscuro"] :is(.text-red-700, .text-red-600) { color: #fca5a5 !important; }
html[data-tema="oscuro"] :is(.border-red-100, .border-red-200, .border-red-300) { border-color: rgba(239,68,68,.32) !important; }
html[data-tema="oscuro"] .bg-rose-50 { background-color: rgba(244,63,94,.10) !important; } html[data-tema="oscuro"] .bg-rose-100 { background-color: rgba(244,63,94,.16) !important; }
html[data-tema="oscuro"] :is(.text-rose-900, .text-rose-800) { color: #fecdd3 !important; } html[data-tema="oscuro"] :is(.text-rose-700, .text-rose-600) { color: #fda4af !important; }
html[data-tema="oscuro"] :is(.border-rose-100, .border-rose-200, .border-rose-300) { border-color: rgba(244,63,94,.32) !important; }
html[data-tema="oscuro"] .bg-teal-50 { background-color: rgba(20,184,166,.10) !important; } html[data-tema="oscuro"] .bg-teal-100 { background-color: rgba(20,184,166,.16) !important; }
html[data-tema="oscuro"] :is(.text-teal-900, .text-teal-800) { color: #99f6e4 !important; } html[data-tema="oscuro"] :is(.text-teal-700, .text-teal-600) { color: #5eead4 !important; }
html[data-tema="oscuro"] :is(.border-teal-100, .border-teal-200, .border-teal-300) { border-color: rgba(20,184,166,.32) !important; }
html[data-tema="oscuro"] .bg-cyan-50 { background-color: rgba(6,182,212,.10) !important; } html[data-tema="oscuro"] .bg-cyan-100 { background-color: rgba(6,182,212,.16) !important; }
html[data-tema="oscuro"] :is(.text-cyan-900, .text-cyan-800) { color: #a5f3fc !important; } html[data-tema="oscuro"] :is(.text-cyan-700, .text-cyan-600) { color: #67e8f9 !important; }
html[data-tema="oscuro"] :is(.border-cyan-100, .border-cyan-200, .border-cyan-300) { border-color: rgba(6,182,212,.32) !important; }

/* ---------- Modo oscuro: ajustes de la pantalla principal ---------- */
html[data-tema="oscuro"] :is(.est-m-nombre, .est-m-pct) { color: #f1f5f9; }
html[data-tema="oscuro"] :is(.est-m-sub, .est-subfila, .est-leyenda, .est-notas, .est-menu-tit) { color: #94a3b8; }
html[data-tema="oscuro"] .est-cifra { background: rgba(148,163,184,.08); border-color: rgba(148,163,184,.18); color: #e5e7eb; }
html[data-tema="oscuro"] .est-tile { border-color: rgba(148,163,184,.16); border-top-color: var(--est-tile-color); background: #111827; }
html[data-tema="oscuro"] .est-chip-alerta { background: rgba(244,63,94,.15); color: #fda4af; }
html[data-tema="oscuro"] .est-menu { border-color: rgba(148,163,184,.16); }
html[data-tema="oscuro"] .tipo-ac-numero { color: var(--tipo-ac-color) !important; }
html[data-tema="oscuro"] .tipo-ac-tarjeta.tipo-ac-a { --tipo-ac-color: #fb7185; }
html[data-tema="oscuro"] .tipo-ac-tarjeta.tipo-ac-c { --tipo-ac-color: #38bdf8; }
html[data-tema="oscuro"] .tipo-ac-tarjeta:not(.tipo-ac-a):not(.tipo-ac-c) { --tipo-ac-color: #a5b4fc; }
/* Dentro de las cabeceras de color los botones claros siguen blancos en los dos modos (se leen sobre el degradé) */
:is(.nut-hero, .mod-hero, .vb-hero) :is(.btn-light, .btn-outline-light, .nut-hero-btn, .mod-hero-ayuda, .btn-sm.btn-light) {
    background: rgba(255,255,255,.94) !important; color: #1e1b4b !important; border-color: transparent !important; }
html[data-tema="oscuro"] :is(.nut-hero, .mod-hero, .vb-hero) :is(h1, h2, h3, h4, h5, h6, strong, b, label, .form-label) { color: inherit; }

/* Tailwind con opacidad (bg-blue-50/50) y estados deshabilitados del Conciliador */
html[data-tema="oscuro"] :is([class*="bg-green-50/"], [class*="bg-green-100/"]) { background-color: rgba(34,197,94,.09) !important; } html[data-tema="oscuro"] .text-green-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="bg-emerald-50/"], [class*="bg-emerald-100/"]) { background-color: rgba(16,185,129,.09) !important; } html[data-tema="oscuro"] .text-emerald-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="bg-blue-50/"], [class*="bg-blue-100/"]) { background-color: rgba(59,130,246,.09) !important; } html[data-tema="oscuro"] .text-blue-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="bg-sky-50/"], [class*="bg-sky-100/"]) { background-color: rgba(14,165,233,.09) !important; } html[data-tema="oscuro"] .text-sky-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="bg-indigo-50/"], [class*="bg-indigo-100/"]) { background-color: rgba(99,102,241,.09) !important; } html[data-tema="oscuro"] .text-indigo-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="bg-purple-50/"], [class*="bg-purple-100/"]) { background-color: rgba(168,85,247,.09) !important; } html[data-tema="oscuro"] .text-purple-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="bg-amber-50/"], [class*="bg-amber-100/"]) { background-color: rgba(245,158,11,.09) !important; } html[data-tema="oscuro"] .text-amber-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="bg-orange-50/"], [class*="bg-orange-100/"]) { background-color: rgba(249,115,22,.09) !important; } html[data-tema="oscuro"] .text-orange-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="bg-red-50/"], [class*="bg-red-100/"]) { background-color: rgba(239,68,68,.09) !important; } html[data-tema="oscuro"] .text-red-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="bg-rose-50/"], [class*="bg-rose-100/"]) { background-color: rgba(244,63,94,.09) !important; } html[data-tema="oscuro"] .text-rose-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="bg-teal-50/"], [class*="bg-teal-100/"]) { background-color: rgba(20,184,166,.09) !important; } html[data-tema="oscuro"] .text-teal-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="bg-cyan-50/"], [class*="bg-cyan-100/"]) { background-color: rgba(6,182,212,.09) !important; } html[data-tema="oscuro"] .text-cyan-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="bg-yellow-50/"], [class*="bg-yellow-100/"]) { background-color: rgba(234,179,8,.09) !important; } html[data-tema="oscuro"] .text-yellow-950 { color: #e5e7eb !important; }
html[data-tema="oscuro"] :is([class*="disabled:bg-slate-300"]):disabled { background-color: #1e293b !important; color: #64748b !important; }
:is(.nut-hero, .mod-hero, .vb-hero) :is(.btn-light, .btn-outline-light, .nut-hero-btn, .mod-hero-ayuda):hover { background: #fff !important; box-shadow: 0 10px 22px -10px rgba(0,0,0,.45); }

/* Entrada suave de cada pantalla (13/11/2026, pedido «mejor animación»): solo opacidad, una vez al cargar; no mueve
   nada fijo (botones flotantes, modales) ni se repite cuando la pantalla refresca sus datos. */
body { animation: pmPantallaEntra .32s ease-out both; }
@keyframes pmPantallaEntra { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { body { animation: none; } }
@media print { body { animation: none; } }

/* Logo del Centro de Control RUB (13/11/2026: reemplaza el del ICBF; el escudo de la pantalla de inicio de sesión).
   Ya trae su propio fondo morado: igual en tema claro y oscuro (sin silueta blanca ni círculo). */
.navbar-brand img.logo-rub, html[data-tema="oscuro"] .navbar-brand img.logo-rub, img.logo-rub {
    filter: none !important; opacity: 1 !important; background: transparent !important; border-radius: 22% !important;
    width: auto; height: 40px; max-height: 40px; box-shadow: 0 6px 14px -8px rgba(79,70,229,.7); }
