/* MÉRITO INFINITO · identidad visual (25 oct 2026). Se carga después de marca.css y accesibilidad.css.
   Paleta aprobada: azul profundo #142D50, azul tecnológico #247EAA, dorado mérito #C59A48, marfil #F7F5F0.
   Auxiliares solo por accesibilidad: #1F6F97 (enlaces sobre claro), #7D5F26 (texto dorado sobre claro),
   #6BBCE0 y #E2C68E (variantes claras del logotipo, solo sobre azul profundo), y los colores de estado.
   Layout: el mismo de la aplicación; cambian tokens, tipografía (Poppins títulos, Inter texto) y la marca. */
:root:not([data-theme="dark"]){
  --bg:#F7F5F0; --bg-2:#EFECE4; --surface:#FFFFFF; --surface-2:#F2EFE8; --line:#E3E0D8; --line-soft:#ECE9E2;
  --fg:#142D50; --muted:#4A5568; --faint:#5A6474;
  --blue:#247EAA; --cyan:#247EAA; --brand-a:#247EAA; --brand-b:#247EAA; --link:#1F6F97; --info-fg:#1F6F97; --info-bg:#E8F1F6;
  --gold:#C59A48; --gold-fg:#7D5F26; --deep:#142D50;
  --ok:#047857; --ok-bg:#E3F4EC; --bad:#B42318; --bad-bg:#FCEBEA; --warn:#8A5A00; --warn-bg:#FBF1DC;
  --focus:#247EAA; --shadow:0 14px 40px rgba(20,45,80,.08);
  --wm-1:#142D50; --wm-2:#247EAA;
  --f-display:"Poppins","Segoe UI",system-ui,sans-serif; --f-body:"Inter","Segoe UI",system-ui,sans-serif; --f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0F2240; --bg-2:#122848; --surface:#142D50; --surface-2:#1B3C6B; --line:#2B4E7E; --line-soft:#21406B;
  --fg:#F7F5F0; --muted:#C9D3E0; --faint:#9AA9C0;
  --blue:#6BBCE0; --cyan:#6BBCE0; --brand-a:#247EAA; --brand-b:#247EAA; --link:#6BBCE0; --info-fg:#6BBCE0; --info-bg:rgba(107,188,224,.14);
  --gold:#C59A48; --gold-fg:#E2C68E; --deep:#0B1A31;
  --ok:#5FD3A4; --ok-bg:rgba(95,211,164,.12); --bad:#F59A8F; --bad-bg:rgba(245,154,143,.12); --warn:#E9C46A; --warn-bg:rgba(233,196,106,.12);
  --focus:#6BBCE0; --shadow:0 18px 48px rgba(0,0,0,.35);
  --wm-1:#F7F5F0; --wm-2:#6BBCE0;
  color-scheme:dark;
} }
:root[data-theme="dark"]{
  --bg:#0F2240; --bg-2:#122848; --surface:#142D50; --surface-2:#1B3C6B; --line:#2B4E7E; --line-soft:#21406B;
  --fg:#F7F5F0; --muted:#C9D3E0; --faint:#9AA9C0;
  --blue:#6BBCE0; --cyan:#6BBCE0; --brand-a:#247EAA; --brand-b:#247EAA; --link:#6BBCE0; --info-fg:#6BBCE0; --info-bg:rgba(107,188,224,.14);
  --gold:#C59A48; --gold-fg:#E2C68E; --deep:#0B1A31;
  --ok:#5FD3A4; --ok-bg:rgba(95,211,164,.12); --bad:#F59A8F; --bad-bg:rgba(245,154,143,.12); --warn:#E9C46A; --warn-bg:rgba(233,196,106,.12);
  --focus:#6BBCE0; --shadow:0 18px 48px rgba(0,0,0,.35);
  --wm-1:#F7F5F0; --wm-2:#6BBCE0;
  --f-display:"Poppins","Segoe UI",system-ui,sans-serif; --f-body:"Inter","Segoe UI",system-ui,sans-serif; --f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  color-scheme:dark;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --f-display:"Poppins","Segoe UI",system-ui,sans-serif; --f-body:"Inter","Segoe UI",system-ui,sans-serif; } }

/* Marca */
.mi-lockup{display:inline-flex;align-items:center;gap:10px;min-width:0}
.mi-lockup .mi-simbolo{flex:none;display:block}
.mi-palabra{display:flex;flex-direction:column;gap:.14em;font-family:"Poppins","Segoe UI",system-ui,sans-serif;font-weight:700;line-height:1;letter-spacing:.01em}
.mi-p1{color:var(--wm-1)}.mi-p2{color:var(--wm-2)}
.mi-fondo-oscuro .mi-p1{color:#F7F5F0}.mi-fondo-oscuro .mi-p2{color:#6BBCE0}
.mi-fondo-claro .mi-p1{color:#142D50}.mi-fondo-claro .mi-p2{color:#247EAA}
.mi-eslogan{font-family:"Poppins",system-ui,sans-serif;font-size:.86rem;color:var(--gold-fg);padding-left:12px;margin-left:2px;border-left:1px solid var(--line);line-height:1.25;max-width:22ch}
.mi-fondo-oscuro .mi-eslogan{color:#E2C68E;border-color:rgba(247,245,240,.25)}
.mi-en-oscuro{display:none !important}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .mi-en-claro{display:none !important} :root:not([data-theme="light"]) .mi-en-oscuro{display:block !important} }
:root[data-theme="dark"] .mi-en-claro{display:none !important}
:root[data-theme="dark"] .mi-en-oscuro{display:block !important}
.mi-apertura{display:flex;justify-content:center}
.mi-apertura-svg{width:100%;max-width:420px;height:auto;display:block}
@media (max-width:600px){.mi-eslogan{display:none}}

/* Componentes que tenían colores fijos de la marca anterior */
body{font-family:var(--f-body)}
a{color:var(--link)}
.grad{background:none;color:var(--wm-2);-webkit-text-fill-color:currentColor}
.btn.primary{background:#247EAA;border-color:#247EAA;color:#fff}
.btn.primary:hover{background:#142D50;border-color:#142D50;filter:none}
:root[data-theme="dark"] .btn.primary:hover{background:#2B8FBF;border-color:#2B8FBF}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .btn.primary:hover{background:#2B8FBF;border-color:#2B8FBF} }
.avatar{background:#142D50;color:#F7F5F0;box-shadow:inset 0 0 0 2px var(--gold)}
.meter i,.bar-row .track i:not(.badfill):not(.warnfill){background:linear-gradient(90deg,var(--blue),var(--gold))}
.eyebrow{color:var(--gold-fg)}
.pill.info{color:var(--info-fg);background:var(--info-bg)}
.comp-card .code,.dx-k{color:var(--info-fg)}
.top .name{font-family:var(--f-display)}
.mi-programa{font-size:.8rem;color:var(--muted);font-weight:500;line-height:1.2;max-width:24ch}
.mi-programa a{color:inherit;text-decoration:none}
.mi-programa a:hover{color:var(--link);text-decoration:underline}
.foot{flex-wrap:wrap;gap:6px 18px}
.foot .mi-respaldo{flex-basis:100%;color:var(--muted)}

/* Pantalla de acceso: panel de marca en azul profundo con el logotipo animado */
.auth-brand{background:radial-gradient(120% 90% at 30% 0%,#1B3C6B 0%,#142D50 55%,#0F2240 100%);color:#F7F5F0}
.auth-brand .mi-apertura-svg{max-width:300px;margin:-8px auto -18px}
.brand-lockup .ls b,.product h1 .inf{background:none;color:#6BBCE0;-webkit-text-fill-color:currentColor}
.product h1{font-family:"Poppins",system-ui,sans-serif}
.product p{color:#C9D3E0}
.product .mi-eslogan-grande{font-family:"Poppins",system-ui,sans-serif;color:#E2C68E;font-size:1.15rem;line-height:1.35;margin-top:-6px}
.auth-brand .eyebrow{color:#E2C68E}
.feat .ic{background:rgba(197,154,72,.12);border-color:rgba(197,154,72,.45);color:#E2C68E}
.feat span{color:#C9D3E0}
.tagline{color:#C9D3E0;letter-spacing:.06em;text-transform:none;font-size:.8rem;font-family:var(--f-body)}
@media (max-width:900px){.auth-brand .mi-apertura-svg{max-width:220px}}

/* Animación oficial del logotipo (copiada sin cambios de la propuesta aprobada) */
.a-stage *{transform-box:view-box}
.a-stage .a-fb{transform-box:fill-box}
.a-pr{transform-origin:200px 222px;transform:rotate(var(--ang))}
.a-pl{transform-origin:200px 222px;transform:rotate(calc(var(--ang) * -1))}
.a-go .a-pr{animation:a-openR 3s var(--d,0s) both}
.a-go .a-pl{animation:a-openL 3s var(--d,0s) both}
@keyframes a-openR{0%{opacity:0;transform:rotate(-90deg)}12%{opacity:1;transform:rotate(-90deg)}35%{transform:rotate(-90deg);animation-timing-function:cubic-bezier(.2,.9,.3,1.12)}100%{opacity:1}}
@keyframes a-openL{0%{opacity:0;transform:rotate(90deg)}12%{opacity:1;transform:rotate(90deg)}35%{transform:rotate(90deg);animation-timing-function:cubic-bezier(.2,.9,.3,1.12)}100%{opacity:1}}
.a-orb-x,.a-orb-y,.a-orb-core,.a-flash{opacity:0}
.a-go .a-orb-x{animation:a-orbX 1.5s cubic-bezier(.2,.7,.3,1) 2.6s both}
.a-go .a-orb-y{transform-box:fill-box;transform-origin:50% 50%;animation:a-orbY 1.5s cubic-bezier(.55,0,.8,.4) 2.6s both}
.a-go .a-orb-core{transform-box:fill-box;transform-origin:50% 50%;animation:a-orbOut .7s ease-in 4.1s both}
.a-go .a-flash{transform-box:fill-box;transform-origin:50% 50%;animation:a-flash 1s ease-out 4.1s forwards}
@keyframes a-orbX{from{opacity:1;transform:translateX(-62px)}to{opacity:1;transform:translateX(0)}}
@keyframes a-orbY{0%{opacity:0;transform:translateY(0) scale(.18)}15%{opacity:1}100%{opacity:1;transform:translateY(-82px) scale(1.2)}}
@keyframes a-orbOut{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.15)}}
@keyframes a-flash{0%{opacity:.95;transform:scale(.4)}100%{opacity:0;transform:scale(6)}}
.a-lobe{stroke-dasharray:100;stroke-dashoffset:0}
.a-go .a-lobe{animation:a-draw 1.5s cubic-bezier(.5,0,.2,1) 4.2s both}
@keyframes a-draw{from{stroke-dashoffset:100}}
.a-go .a-spin{transform-origin:200px 118px;animation:a-spinY 7s ease-in-out 6.2s infinite}
@keyframes a-spinY{0%{transform:scaleX(1)}25%{transform:scaleX(.04)}50%{transform:scaleX(-1)}75%{transform:scaleX(.04)}100%{transform:scaleX(1)}}
.a-go .a-bob{animation:a-bob 3s ease-in-out 6.2s infinite alternate}
@keyframes a-bob{from{transform:translateY(2px)}to{transform:translateY(-4px)}}
.a-halo{filter:url(#a-blur)}
.a-go .a-halo-wrap{animation:a-fade 1s ease-out 4.9s both}
.a-go .a-halo{animation:a-pulse 2.2s ease-in-out 4.9s infinite alternate}
@keyframes a-pulse{from{opacity:.3}to{opacity:1}}
@keyframes a-fade{from{opacity:0}to{opacity:1}}
.a-go .a-rays-wrap{animation:a-fade 1s ease-out 5.2s both}
.a-rays{transform-origin:200px 118px}
.a-go .a-rays{animation:a-rot 28s linear 5.2s infinite,a-vib 1s ease-in-out 5.2s infinite alternate}
@keyframes a-rot{to{transform:rotate(360deg)}}
@keyframes a-vib{from{opacity:.25}to{opacity:.8}}
.a-sp{opacity:0;transform-origin:50% 50%}
.a-go .a-sp{transform-box:fill-box;animation:a-tw 2.2s ease-in-out calc(5.4s + var(--d,0s)) infinite}
@keyframes a-tw{0%,100%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.1)}}
.a-pool{transform-box:fill-box;transform-origin:50% 50%}
.a-go .a-pool{animation:a-fade 1s ease-out 5s both,a-poolp 2.2s ease-in-out 5s infinite alternate}
@keyframes a-poolp{from{transform:scaleX(.85)}to{transform:scaleX(1.12)}}
.a-word{opacity:1}
.a-go .a-word{animation:a-fade 1.2s ease-out 6s both}
.a-stop *{animation:none !important}
@media (prefers-reduced-motion: reduce){.a-go *{animation:none !important}.a-orb-x,.a-orb-y,.a-orb-core,.a-flash{opacity:0}}

/* Barra superior: en tema claro el logotipo fijo va sobre blanco, como en la versión horizontal aprobada
   (el azul tecnológico del nombre alcanza 4,5:1 sobre blanco). */
.top{background:color-mix(in srgb,var(--surface) 96%,transparent)}
.top .mi-lockup{background:var(--surface)}
.mi-lockup.placa{background:var(--surface);padding:8px 12px;border-radius:12px;border:1px solid var(--line-soft)}
/* Portada y barra en pantallas medianas y pequeñas */
@media (max-width:1380px){.top .mi-programa{display:none}}
@media (max-width:760px){.portada-top .nav{display:none}}
