/* VAB Slider Studio · estilos del front (y del lienzo del editor). Sin dependencias; geometría por dispositivo con variables CSS. */
.vss{--vss-fh:var(--vab-font-heading,"Plus Jakarta Sans",system-ui,sans-serif);--vss-fb:var(--vab-font-body,Inter,system-ui,sans-serif);--acc:#7cc4f5;position:relative;width:100%;overflow:hidden;border-radius:var(--r,0);background:#0b2f55;color:#fff;font-family:var(--vss-fb);isolation:isolate;line-height:1.3;box-sizing:border-box}
.vss *,.vss *::before,.vss *::after{box-sizing:border-box}
.vss-stage{position:relative;width:100%;height:var(--hd,360px);overflow:hidden;transition:height .5s ease}
.vss-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity var(--sp,.7s) ease,transform var(--sp,.7s) ease,visibility 0s linear var(--sp,.7s)}
.vss-slide.is-active{opacity:1;visibility:visible;z-index:2;transition-delay:0s}
.vss--zoom .vss-slide{transform:scale(1.07)}
.vss--zoom .vss-slide.is-active{transform:scale(1)}
.vss--slide .vss-slide{opacity:1;transform:translateX(100%)}
.vss--slide .vss-slide.is-before{transform:translateX(-100%)}
.vss--slide .vss-slide.is-active{transform:translateX(0)}
.vss-bg{position:absolute;inset:0}
/* Lienzo de contenido: los % de los elementos se calculan sobre el alto de diseño (--ch); el lienzo se centra en el alto resultante y recorta el aire superior (--of) */
.vss-cv{--ch:var(--chd,360);--of:var(--ofd,0);--hc:var(--hcd,360);position:absolute;left:0;width:100%;height:calc(var(--ch)*1px);top:calc(var(--of)*-1px + (100% - var(--hc)*1px - var(--fx,0px))/2);pointer-events:none}
.vss-cv>.vss-el{pointer-events:auto}
@media (max-width:1024px){.vss:not([data-dev]) .vss-cv{--ch:var(--cht,var(--chd,360));--of:var(--oft,var(--ofd,0));--hc:var(--hct,var(--hcd,360))}}
@media (max-width:640px){.vss:not([data-dev]) .vss-cv{--ch:var(--chm,var(--cht,var(--chd,360)));--of:var(--ofm,var(--oft,var(--ofd,0)));--hc:var(--hcm,var(--hct,var(--hcd,360)))}}
.vss[data-dev="t"] .vss-cv{--ch:var(--cht,var(--chd,360));--of:var(--oft,var(--ofd,0));--hc:var(--hct,var(--hcd,360))}
.vss[data-dev="m"] .vss-cv{--ch:var(--chm,var(--cht,var(--chd,360)));--of:var(--ofm,var(--oft,var(--ofd,0)));--hc:var(--hcm,var(--hct,var(--hcd,360)))}
.vss .vss-el.vss-fill{top:0!important;height:100%!important}
/* Pantalla completa: alto del visor con mínimo por dispositivo */
.vss.vss-hm-fullscreen:not([data-dev]) .vss-stage{height:100vh;height:100svh;min-height:var(--nd,360px)}
@media (max-width:1024px){.vss.vss-hm-fullscreen:not([data-dev]) .vss-stage{min-height:var(--nt,300px)}}
@media (max-width:640px){.vss.vss-hm-fullscreen:not([data-dev]) .vss-stage{min-height:var(--nm,260px)}}
.vss.vss-hm-fullscreen[data-dev] .vss-stage{height:var(--hd,360px)}.vss.vss-hm-fullscreen[data-dev="t"] .vss-stage{height:var(--ht,300px)}.vss.vss-hm-fullscreen[data-dev="m"] .vss-stage{height:var(--hm,260px)}
.vss .vss-bgimg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block}
.vss-ov{position:absolute;inset:0;pointer-events:none}
.vss-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.vss-cover{position:absolute;inset:0;z-index:0}

/* Elementos: geometría escritorio → tablet → móvil (cada nivel hereda del anterior) */
.vss-el{position:absolute;left:var(--dx);top:var(--dy);width:var(--dw);height:var(--dh);font-size:max(calc(var(--df,16px)*var(--k,1)),min(var(--df,16px),10px));margin:0;z-index:1;min-width:0}
@media (max-width:1024px){.vss:not([data-dev]) .vss-el{left:var(--tx,var(--dx));top:var(--ty,var(--dy));width:var(--tw,var(--dw));height:var(--th,var(--dh));font-size:max(calc(var(--tf,var(--df,16px))*var(--k,1)),min(var(--tf,var(--df,16px)),10px))}}
@media (max-width:640px){.vss:not([data-dev]) .vss-el{left:var(--mx,var(--tx,var(--dx)));top:var(--my,var(--ty,var(--dy)));width:var(--mw,var(--tw,var(--dw)));height:var(--mh,var(--th,var(--dh)));font-size:max(calc(var(--mf,var(--tf,var(--df,16px)))*var(--k,1)),min(var(--mf,var(--tf,var(--df,16px))),10px))}}
.vss[data-dev="t"] .vss-el{left:var(--tx,var(--dx));top:var(--ty,var(--dy));width:var(--tw,var(--dw));height:var(--th,var(--dh));font-size:var(--tf,var(--df,16px))}
.vss[data-dev="m"] .vss-el{left:var(--mx,var(--tx,var(--dx)));top:var(--my,var(--ty,var(--dy)));width:var(--mw,var(--tw,var(--dw)));height:var(--mh,var(--th,var(--dh)));font-size:var(--mf,var(--tf,var(--df,16px)))}
@media (min-width:1025px){.vss:not([data-dev]) .vss-h-d{display:none}}
@media (min-width:641px) and (max-width:1024px){.vss:not([data-dev]) .vss-h-t{display:none}}
@media (max-width:640px){.vss:not([data-dev]) .vss-h-m{display:none}}
.vss[data-dev="d"] .vss-h-d,.vss[data-dev="t"] .vss-h-t,.vss[data-dev="m"] .vss-h-m{display:none}
/* Alturas por dispositivo */
@media (max-width:1024px){.vss:not([data-dev]) .vss-stage{height:var(--ht,300px)}}
@media (max-width:640px){.vss:not([data-dev]) .vss-stage{height:var(--hm,260px)}}
.vss[data-dev="t"] .vss-stage{height:var(--ht,300px)}
.vss[data-dev="m"] .vss-stage{height:var(--hm,260px)}

/* Cristal (glassmorphism): tres estilos con parámetros editables. Con --gb/--gt/--gbd/--gc se ajusta cada uno. */
.vss-gl--subtle{--gb:8px;--gt:.10;--gbd:.20}
.vss-gl--medium{--gb:16px;--gt:.16;--gbd:.30}
.vss-gl--strong{--gb:28px;--gt:.24;--gbd:.42}
.vss-gl--light{--gb:16px;--gt:.2;--gbd:.42;--gc:255,255,255;--gbc:255,255,255}
.vss-gl--dark{--gb:16px;--gt:.5;--gbd:.2;--gc:6,33,61;--gbc:255,255,255}
.vss-gl--blue{--gb:18px;--gt:.48;--gbd:.3;--gc:17,108,163;--gbc:255,255,255}
.vss-gl--deep{--gb:22px;--gt:.62;--gbd:.26;--gc:8,51,92;--gbc:190,225,250;--dsf:rgba(190,225,250,.065);--dsh:rgba(190,225,250,.12)}
.vss .vss-gl--deep{box-shadow:var(--shd,0 12px 30px -20px rgba(2,20,45,.6))}
.vss .vss-gl{background:rgba(var(--gc,255,255,255),var(--gt,.16))!important;border:1px solid rgba(var(--gbc,var(--gc,255,255,255)),var(--gbd,.3))!important;-webkit-backdrop-filter:blur(var(--gb,16px)) saturate(150%);backdrop-filter:blur(var(--gb,16px)) saturate(150%);background-clip:padding-box;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),var(--shd,0 8px 24px -14px rgba(2,20,45,.5))}
@media (max-width:640px){.vss .vss-gl{-webkit-backdrop-filter:blur(min(var(--gb,16px),14px)) saturate(140%);backdrop-filter:blur(min(var(--gb,16px),14px)) saturate(140%)}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.vss .vss-gl{background:rgba(8,38,70,.66)!important}}
@media (prefers-reduced-transparency:reduce){.vss .vss-gl{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(8,38,70,.78)!important}}

/* Texto (protegido frente a estilos globales de títulos/párrafos del tema) */
.vss .vss-el .vss-txt{margin:0!important;padding:0!important;font:inherit!important;color:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;line-height:inherit!important;text-align:inherit!important;font-weight:inherit!important;font-family:inherit!important;background:none!important;border:0!important;max-width:none!important;width:auto!important}
.vss .vss-el .vss-txt .vss-acc{color:var(--acc);font:inherit}
.vss .vss-el .vss-txt b,.vss .vss-el .vss-txt strong{font-weight:800}
.vss-t-text,.vss-t-card,.vss-t-stat,.vss-t-docs{font-family:var(--vss-fb)}

/* Botones: compactos, 4 variantes + claro; foco visible */
.vss-t-button{display:flex;flex-direction:column;justify-content:flex-end}
.vss .vss-btn{flex:none;display:flex;align-items:center;justify-content:center;gap:.5em;width:100%;height:auto;min-height:100%;box-sizing:border-box;padding:.5em 1.05em;border:1.5px solid transparent;color:#fff;background:#1273c4;text-decoration:none!important;font-size:inherit;line-height:1.15;letter-spacing:.005em;text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 6px 14px -8px rgba(2,20,45,.6);transition:background .16s,color .16s,border-color .16s,box-shadow .16s,transform .16s}
.vss .vss-btn span{min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.vss .vss-btn .vss-i{width:1.15em;height:1.15em;flex:none;transition:transform .16s}
.vss a.vss-btn:hover .vss-i{transform:translateX(2px)}
.vss .vss-btn--primary:hover{filter:brightness(.9);box-shadow:0 10px 20px -10px rgba(2,20,45,.75);transform:translateY(-1px)}
.vss .vss-btn--primary:active{transform:none}
.vss .vss-btn--secondary{background:#e6f0fa;color:#084a79;box-shadow:none}
.vss .vss-btn--secondary:hover{filter:brightness(.94)}
.vss .vss-btn--outline{background:transparent;border-color:rgba(255,255,255,.72);color:#fff;box-shadow:none}
.vss .vss-btn--outline:hover{box-shadow:inset 0 0 0 99px rgba(255,255,255,.14)}
.vss .vss-btn--ghost{position:relative;justify-content:flex-start;background:transparent!important;color:inherit;padding:.5em .2em;box-shadow:none;border-color:transparent;white-space:nowrap}
.vss .vss-btn--ghost::after{content:"";position:absolute;left:-6px;right:-6px;top:50%;height:max(100%,44px);transform:translateY(-50%)}
.vss .vss-btn--ghost:hover{color:#fff}
.vss .vss-btn--ghost span{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .16s}
.vss .vss-btn--ghost:hover span{text-decoration-color:currentColor}
.vss .vss-btn--light{background:#fff;color:#084a79;box-shadow:0 6px 14px -8px rgba(2,20,45,.5)}
.vss .vss-btn--light:hover{filter:brightness(.94)}
.vss a.vss-btn:focus-visible,.vss .vss-nav:focus-visible,.vss .vss-dot:focus-visible,.vss .vss-pause:focus-visible,.vss .vss-docs a:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #1273c4}
.vss[data-tone="dark"] .vss-nav:focus-visible,.vss[data-tone="dark"] .vss-dot:focus-visible,.vss[data-tone="dark"] .vss-pause:focus-visible{outline-color:#0b2f55;box-shadow:0 0 0 5px rgba(255,255,255,.9)}
.vss-i{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Imagen, icono, forma */
.vss-t-image{overflow:hidden}
.vss .vss-img-ph{display:grid;place-items:center;width:100%;height:100%;border-radius:inherit;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.55)}
.vss .vss-img-ph .vss-i{width:2.6em;height:2.6em;max-width:56px;max-height:56px;stroke-width:1.4}
.vss .vss-img{width:100%;height:100%;display:block;max-width:none;object-position:var(--fp,50% 50%)}
.vss-fit-cover{object-fit:cover}.vss-fit-contain{object-fit:contain}
.vss-t-icon .vss-i{width:100%;height:100%;display:block}
.vss .vss-sq{width:auto!important;aspect-ratio:1/1}
.vss .vss-t-icon.vss-bx{display:grid;place-items:center;overflow:hidden}
.vss .vss-t-icon.vss-bx .vss-i{width:50%;height:50%}
.vss .vss-t-shape.vss-sq{aspect-ratio:1/1}
.vss-t-shape{pointer-events:none}

/* Tarjeta · estadística · documentos */
.vss-t-card{display:flex;align-items:center;gap:.7em;overflow:hidden}
.vss-t-card.vss-ac{justify-content:center;text-align:center}.vss-t-stat.vss-ac{align-items:center}
.vss-card-i{flex:none;display:grid;place-items:center}
.vss-card-i .vss-i{width:1.6em;height:1.6em;display:block}
.vss-t-card:not(.vss-calendar-badge):has(.vss-card-t small){flex-direction:column;align-items:flex-start;justify-content:center;gap:.8em}
.vss-t-card:not(.vss-calendar-badge):has(.vss-card-t small) .vss-card-i{width:2.6em;height:2.6em;border-radius:50%;background:color-mix(in srgb,currentColor 11%,transparent)}
.vss-t-card:not(.vss-calendar-badge):has(.vss-card-t small) .vss-card-i .vss-i{width:1.3em;height:1.3em}
.vss-card-t{display:flex;flex-direction:column;gap:.15em;min-width:0}
.vss-card-t strong{font-size:1em;font-weight:700}
.vss-card-t small{font-size:.85em;opacity:.88;font-weight:400}
.vss-t-stat{display:flex;flex-direction:column;justify-content:center;gap:.35em}
.vss-stat-v{font-family:var(--vss-fh);font-size:2.3em;line-height:1;font-weight:800}
.vss-stat-l{font-size:.85em;opacity:.85;font-weight:500}
.vss-t-docs{overflow:hidden}
.vss-docs-t{display:block;font-size:1em;font-weight:700;margin-bottom:.55em}
.vss-t-docs ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45em}
.vss-t-docs li{display:flex;align-items:center;gap:.55em;font-size:.92em;margin:0;padding:0}
.vss-t-docs li .vss-i{width:1.2em;height:1.2em;flex:none;opacity:.8}
.vss-t-docs a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Cronograma dinámico: etapas con estados (pendiente · en curso · completada · suspendida). Variables: --utla (hitos) · --utll (línea) · --utlk (texto sobre hito) · --utc (texto) · --tlns (tamaño de hito, em) · --tlw (grosor) · --tlls (estilo de línea) · --tlg (separación) */
.vss-tl{--tla:var(--utla,#6db4ea);--tll:var(--utll,rgba(255,255,255,.3));--tlk:var(--utlk,#06213d);list-style:none;margin:0;padding:0;display:flex;width:100%;font-size:inherit;box-sizing:border-box}
.vss-tl li{position:relative;margin:0;padding:0;min-width:0}
.vss-tl-n{width:calc(var(--tlns,2.2)*1.1111em);height:calc(var(--tlns,2.2)*1.1111em);border-radius:50%;display:grid;place-items:center;flex:none;font-weight:700;font-size:.9em;line-height:1;font-family:var(--vss-fb);border:var(--tlw,2px) dashed var(--tll);color:inherit;background:transparent;position:relative;z-index:1;opacity:.9;box-sizing:border-box}
.vss-tl-n .vss-i{width:1.15em;height:1.15em;stroke-width:2.6}
.vss-tl li.is-done .vss-tl-n{border-style:solid;border-color:var(--tla);color:var(--tla);background:color-mix(in srgb,var(--tla) 18%,transparent);opacity:1}
.vss-tl li.is-current .vss-tl-n{background:var(--tla);border:var(--tlw,2px) solid var(--tla);color:var(--tlk);box-shadow:0 0 0 .28em color-mix(in srgb,var(--tla) 28%,transparent),0 0 1.1em color-mix(in srgb,var(--tla) 45%,transparent);opacity:1;transform:scale(1.08)}
.vss-tl li.is-halted .vss-tl-n{border:var(--tlw,2px) solid currentColor;border-style:double;color:inherit;opacity:.9;background:repeating-linear-gradient(135deg,transparent 0 .22em,color-mix(in srgb,currentColor 16%,transparent) .22em .4em)}
.vss-tl-x{display:flex;flex-direction:column;gap:.18em;min-width:0}
.vss-tl-x strong{font-size:.95em;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.vss-tl-x small{font-size:.82em;line-height:1.25;opacity:.88}
.vss-tl-d{font-size:.8em;line-height:1.3;opacity:.82;overflow-wrap:anywhere}
.vss-tl li.is-pending .vss-tl-x{opacity:.74}.vss-tl li.is-done .vss-tl-x{opacity:.94}.vss-tl li.is-halted .vss-tl-x strong{text-decoration:line-through;text-decoration-thickness:1px}
.vss-tl li.is-current .vss-tl-x strong{font-weight:800}
.vss-tl--h{align-items:flex-start}
.vss-tl--h li{flex:1 1 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7em;padding:0 .4em}
.vss-tl--h li:not(:last-child)::after{content:"";position:absolute;top:calc(var(--tlns,2.2)*.5em);left:calc(50% + var(--tlns,2.2)*.5em + .35em);right:calc(-50% + var(--tlns,2.2)*.5em + .35em);height:0;border-top:var(--tlw,2px) var(--tlls,dashed) var(--tll);margin-top:calc(var(--tlw,2px)/-2)}
.vss-tl--h li.is-done:not(:last-child)::after{border-top-style:solid;border-top-color:var(--tla)}
.vss-tl--h.is-left li{align-items:flex-start;text-align:left}
.vss-tl--h.is-left li:not(:last-child)::after{left:calc(.4em + var(--tlns,2.2)*1em + .35em);right:-.05em}
.vss-tl--v{flex-direction:column;gap:var(--tlg,14px)}
.vss-tl--v li{display:flex;align-items:flex-start;gap:.8em;text-align:left;flex:none;min-height:calc(var(--tlns,2.2)*1em)}
.vss-tl--v li:not(:last-child)::after{content:"";position:absolute;left:calc(var(--tlns,2.2)*.5em);top:calc(var(--tlns,2.2)*1em + .3em);bottom:calc(var(--tlg,14px)*-1 + .3em);width:0;border-left:var(--tlw,2px) var(--tlls,dashed) var(--tll);margin-left:calc(var(--tlw,2px)/-2)}
.vss-tl--v li.is-done:not(:last-child)::after{border-left-style:solid;border-left-color:var(--tla)}
/* muchas etapas en horizontal: desplazamiento interno o filas */
.vss-tl--h.is-many.vss-many-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:.3em}
.vss-tl--h.is-many.vss-many-scroll li{flex:0 0 7.6em}
.vss-tl--h.is-many.vss-many-rows{flex-wrap:wrap;row-gap:1.1em}
.vss-tl--h.is-many.vss-many-rows li{flex:0 0 25%}.vss-tl--h.is-many.vss-many-rows li::after{display:none}
.vss-tl:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #1273c4}
/* estilos del cronograma (se aplican al elemento; los ajustes manuales del inspector tienen prioridad) */
.vss-t-timeline{--tl-pad:.9em 1.1em}
.vss-tls-minimal,.vss-tls-blue,.vss-tls-glass-light,.vss-tls-glass-dark,.vss-tls-solid-glass{padding:var(--tl-pad);border-radius:16px;box-sizing:border-box}
.vss-tls-minimal{background:#fff;color:#0b2f55;--utla:#116ca3;--utll:#bcd0e4;--utlk:#fff;border:1px solid #d3e1ef}
.vss-tls-blue{background:linear-gradient(135deg,#0b2f55,#0f5a8f);color:#fff;--utla:#7cc4f5;--utll:rgba(255,255,255,.38);--utlk:#06213d;border:1px solid rgba(255,255,255,.14)}
.vss-tls-glass-light{background:rgba(255,255,255,.2);color:#fff;--utla:#bfe4ff;--utll:rgba(255,255,255,.45);--utlk:#06213d;border:1px solid rgba(255,255,255,.42);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 28px -16px rgba(2,20,45,.5)}
.vss-tls-glass-dark{background:rgba(6,33,61,.52);color:#fff;--utla:#7cc4f5;--utll:rgba(255,255,255,.34);--utlk:#06213d;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);box-shadow:0 10px 28px -16px rgba(2,20,45,.6)}
.vss-tls-solid-glass{background:#0b2f55;color:#fff;--utla:#7cc4f5;--utll:rgba(255,255,255,.34);--utlk:#06213d;border:1px solid rgba(255,255,255,.12)}
.vss-tls-solid-glass .vss-tl{gap:.6em}
.vss-tls-solid-glass .vss-tl--h{align-items:stretch}
.vss-tls-solid-glass .vss-tl li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:.7em .6em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.vss-tls-solid-glass .vss-tl li::after{display:none}
.vss-tls-solid-glass .vss-tl--v li{align-items:center}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.vss-tls-glass-light{background:rgba(40,86,130,.82)}.vss-tls-glass-dark{background:rgba(6,33,61,.9)}}
@media (prefers-reduced-transparency:reduce){.vss-tls-glass-light{background:rgba(40,86,130,.92);-webkit-backdrop-filter:none;backdrop-filter:none}.vss-tls-glass-dark{background:rgba(6,33,61,.94);-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (max-width:640px){.vss:not([data-dev]) .vss-tl--h.is-many.vss-many-rows li{flex-basis:50%}}
.vss[data-dev="m"] .vss-tl--h.is-many.vss-many-rows li{flex-basis:50%}

/* Controles: flechas premium (cristal sutil · contorno · sin contenedor), simétricas; el color se adapta al fondo (data-tone) */
.vss-nav{--nc:#fff;--nb:rgba(10,36,66,.42);--nbd:rgba(255,255,255,.46);--nbh:rgba(10,36,66,.64);--nbdh:rgba(255,255,255,.8);--nsh:0 6px 18px -8px rgba(2,20,45,.55),inset 0 1px 0 rgba(255,255,255,.22);--nbf:blur(12px) saturate(150%);--nbw:1px;--nrad:50%;--nic:46%;--nsw:2;position:absolute;top:var(--ny,50%);translate:0 -50%;z-index:6;width:var(--nsz,44px);height:var(--nsz,44px);display:grid;place-items:center;padding:0;border:var(--unbw,var(--nbw)) solid var(--unbd,var(--nbd));border-radius:var(--unr,var(--nrad));background:var(--unb,var(--nb));color:var(--unc,var(--nc));opacity:var(--nop,1);cursor:pointer;box-shadow:var(--unsh,var(--nsh));-webkit-backdrop-filter:var(--unbf,var(--nbf));backdrop-filter:var(--unbf,var(--nbf));transition:background .18s,color .18s,border-color .18s,scale .18s,opacity .18s}
.vss[data-tone="dark"] .vss-nav{--nc:#0b2f55;--nb:rgba(255,255,255,.58);--nbd:rgba(11,47,85,.2);--nbh:rgba(255,255,255,.9);--nbdh:rgba(11,47,85,.42);--nsh:0 6px 18px -8px rgba(2,20,45,.3),inset 0 1px 0 rgba(255,255,255,.7)}
/* variantes: círculo con borde fino */
.vss-na-outline .vss-nav{--nb:transparent;--nbd:rgba(255,255,255,.82);--nbh:rgba(255,255,255,.16);--nbdh:#fff;--nsh:none;--nbf:none;--nbw:1.5px}
.vss-na-outline[data-tone="dark"] .vss-nav{--nb:transparent;--nbd:rgba(11,47,85,.6);--nbh:rgba(11,47,85,.08);--nbdh:#0b2f55}
/* círculo sólido */
.vss-na-solid .vss-nav{--nc:#0b2f55;--nb:#fff;--nbd:transparent;--nbh:#e3f1fc;--nbdh:transparent;--nsh:0 8px 20px -10px rgba(2,20,45,.6);--nbf:none;--nbw:0px}
.vss-na-solid[data-tone="dark"] .vss-nav{--nc:#fff;--nb:#0b2f55;--nbh:#116ca3;--nsh:0 8px 20px -10px rgba(2,20,45,.5)}
/* cuadrado redondeado */
.vss-na-square .vss-nav{--nrad:12px}
/* sin contenedor: chevrón simple, doble chevrón y flecha lineal */
.vss-na-bare .vss-nav,.vss-na-chevron .vss-nav,.vss-na-line .vss-nav,.vss-na-bare[data-tone="dark"] .vss-nav,.vss-na-chevron[data-tone="dark"] .vss-nav,.vss-na-line[data-tone="dark"] .vss-nav{--nb:transparent;--nbd:transparent;--nbh:transparent;--nbdh:transparent;--nsh:none;--nbf:none;--nbw:0px;--nic:62%}
.vss-na-bare .vss-nav svg,.vss-na-chevron .vss-nav svg,.vss-na-line .vss-nav svg{filter:drop-shadow(0 1px 3px rgba(2,20,45,.55))}
.vss-na-bare[data-tone="dark"] .vss-nav svg,.vss-na-chevron[data-tone="dark"] .vss-nav svg,.vss-na-line[data-tone="dark"] .vss-nav svg{filter:drop-shadow(0 1px 2px rgba(255,255,255,.7))}
.vss-na-bare .vss-nav{--nsw:2.2}.vss-na-chevron .vss-nav{--nsw:2.6;--nic:70%}.vss-na-line .vss-nav{--nsw:1.4;--nic:72%}
.vss-nav:hover:not(:disabled){background:var(--unbh,var(--nbh));border-color:var(--unbdh,var(--nbdh));color:var(--unch,var(--unc,var(--nc)));scale:1.07}
.vss-nav:active:not(:disabled){scale:.95}
.vss-nav:disabled{opacity:calc(var(--nop,1)*.38);cursor:default;scale:1}
.vss-nav[aria-disabled="true"]{opacity:calc(var(--nop,1)*.38);cursor:default}
.vss-prev{left:var(--ngap,16px)}.vss-next{right:var(--ngap,16px)}
.vss-nav svg{width:var(--nic);height:var(--nic);fill:none;stroke:currentColor;stroke-width:var(--nsw);stroke-linecap:round;stroke-linejoin:round;transition:translate .18s}
.vss-prev svg{transform:scaleX(-1)}
.vss-next:hover:not(:disabled) svg{translate:2px 0}.vss-prev:hover:not(:disabled) svg{translate:-2px 0}
.vss-pause svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vss-bar{position:absolute;left:0;right:0;bottom:12px;z-index:6;display:flex;justify-content:center;align-items:center;gap:12px;pointer-events:none}
.vss-bar>*{pointer-events:auto}
.vss-dots{display:flex;gap:7px;align-items:center}
.vss-dot{width:8px;height:8px;padding:0;border:0;border-radius:8px;background:rgba(255,255,255,.65);box-shadow:0 0 0 1px rgba(7,32,62,.3);cursor:pointer;transition:width .22s,background .2s}
.vss-dot:hover{background:rgba(255,255,255,.85)}
.vss-dot.is-active{background:#fff;width:22px;cursor:default}
.vss[data-tone="dark"] .vss-dot{background:rgba(11,47,85,.34);box-shadow:none}.vss[data-tone="dark"] .vss-dot:hover{background:rgba(11,47,85,.55)}.vss[data-tone="dark"] .vss-dot.is-active{background:#0b2f55}
.vss-pause{width:26px;height:26px;display:grid;place-items:center;padding:0;border:1.5px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(7,32,62,.4);color:#fff;cursor:pointer;transition:background .15s,color .15s}
.vss-pause:hover{background:#fff;color:#0b2f55}
.vss[data-tone="dark"] .vss-pause{border-color:rgba(11,47,85,.5);background:rgba(255,255,255,.6);color:#0b2f55}.vss[data-tone="dark"] .vss-pause:hover{background:#0b2f55;color:#fff}
.vss-pause .vss-ic-play{display:none}
.vss-pause.is-paused .vss-ic-play{display:block;fill:currentColor;stroke:none}.vss-pause.is-paused .vss-ic-pause{display:none}
/* interior: flechas junto a los indicadores, abajo a la derecha; «abajo»: esquinas inferiores */
.vss-np-inside .vss-nav,.vss-nbot .vss-nav{top:auto;bottom:6px;translate:none;width:min(var(--nsz,44px),42px);height:min(var(--nsz,44px),42px)}
.vss-np-inside .vss-prev{left:auto;right:64px}.vss-np-inside .vss-next{right:16px}
/* exterior: flechas en canales laterales fuera de la diapositiva (siempre sobre el fondo de la página, tono oscuro) */
.vss-np-outside{background:transparent;overflow:visible;padding:0 60px}
.vss-np-outside .vss-stage{border-radius:var(--r,0);background:#0b2f55}
@media (min-width:1025px){.vss.vss-np-outside:not([data-dev]) .vss-nav{--nc:#0b2f55;--nb:#fff;--nbd:#b9cfe4;--nbh:#0b2f55;--nbdh:#0b2f55;--nsh:0 4px 12px -6px rgba(8,30,50,.35);--nbf:none}.vss.vss-np-outside:not([data-dev]) .vss-nav:hover:not(:disabled){color:#fff}.vss.vss-np-outside:not([data-dev]) .vss-prev{left:6px}.vss.vss-np-outside:not([data-dev]) .vss-next{right:6px}}
.vss.vss-np-outside[data-dev="d"] .vss-nav{--nc:#0b2f55;--nb:#fff;--nbd:#b9cfe4;--nbh:#0b2f55;--nbdh:#0b2f55;--nsh:0 4px 12px -6px rgba(8,30,50,.35);--nbf:none}.vss.vss-np-outside[data-dev="d"] .vss-nav:hover:not(:disabled){color:#fff}.vss.vss-np-outside[data-dev="d"] .vss-prev{left:6px}.vss.vss-np-outside[data-dev="d"] .vss-next{right:6px}
/* tablet y móvil: flechas pequeñas en las esquinas inferiores, sin tapar textos (la zona inferior queda reservada) */
@media (max-width:1024px){
 .vss:not([data-dev]) .vss-nav{top:auto;bottom:6px;translate:none;width:min(var(--nsz,44px),42px);height:min(var(--nsz,44px),42px)}.vss:not([data-dev]) .vss-prev{left:12px;right:auto}.vss:not([data-dev]) .vss-next{right:12px;left:auto}
 .vss:not([data-dev]) .vss-bar{bottom:16px}
 .vss-np-outside:not([data-dev]){padding:0;background:#0b2f55;overflow:hidden}
}
.vss[data-dev="t"] .vss-nav,.vss[data-dev="m"] .vss-nav{top:auto;bottom:6px;translate:none;width:min(var(--nsz,44px),42px);height:min(var(--nsz,44px),42px)}.vss[data-dev="t"] .vss-prev,.vss[data-dev="m"] .vss-prev{left:12px;right:auto}.vss[data-dev="t"] .vss-next,.vss[data-dev="m"] .vss-next{right:12px;left:auto}.vss[data-dev="t"] .vss-bar,.vss[data-dev="m"] .vss-bar{bottom:16px}
.vss-np-outside[data-dev="t"],.vss-np-outside[data-dev="m"]{padding:0;background:#0b2f55;overflow:hidden}
/* posición personalizada (altura --ny y separación --ngap) y separación lateral en cualquier dispositivo */
.vss.vss-nca .vss-nav,.vss.vss-nca[data-dev] .vss-nav{top:var(--ny,50%);bottom:auto;translate:0 -50%;width:var(--nsz,44px);height:var(--nsz,44px)}
@media (max-width:1024px){.vss.vss-nca:not([data-dev]) .vss-nav{top:var(--ny,50%);bottom:auto;translate:0 -50%;width:var(--nsz,44px);height:var(--nsz,44px)}}
.vss.vss-ngp:not(.vss-np-inside) .vss-prev,.vss.vss-ngp[data-dev]:not(.vss-np-inside) .vss-prev{left:var(--ngap)}
.vss.vss-ngp:not(.vss-np-inside) .vss-next,.vss.vss-ngp[data-dev]:not(.vss-np-inside) .vss-next{right:var(--ngap)}
.vss.vss-ngp.vss-np-inside .vss-next{right:var(--ngap)}.vss.vss-ngp.vss-np-inside .vss-prev{right:calc(var(--ngap) + min(var(--nsz,44px),42px) + 8px)}
/* tarjetas con texto: en móvil pasan a fila compacta */
@media (max-width:640px){.vss:not([data-dev]) .vss-t-card:not(.vss-calendar-badge):has(.vss-card-t small){flex-direction:row;align-items:center;gap:.6em}.vss:not([data-dev]) .vss-t-card:not(.vss-calendar-badge):has(.vss-card-t small) .vss-card-t small{display:none}.vss:not([data-dev]) .vss-t-card:not(.vss-calendar-badge):has(.vss-card-t small) .vss-card-i{width:2em;height:2em}}
.vss[data-dev="m"] .vss-t-card:not(.vss-calendar-badge):has(.vss-card-t small){flex-direction:row;align-items:center;gap:.6em}.vss[data-dev="m"] .vss-t-card:not(.vss-calendar-badge):has(.vss-card-t small) .vss-card-t small{display:none}.vss[data-dev="m"] .vss-t-card:not(.vss-calendar-badge):has(.vss-card-t small) .vss-card-i{width:2em;height:2em}
/* ocultar flechas o indicadores por dispositivo */
@media (min-width:1025px){.vss:not([data-dev]).vss-xa-d .vss-nav{display:none}.vss:not([data-dev]).vss-xp-d .vss-dots{display:none}}
@media (min-width:641px) and (max-width:1024px){.vss:not([data-dev]).vss-xa-t .vss-nav{display:none}.vss:not([data-dev]).vss-xp-t .vss-dots{display:none}}
@media (max-width:640px){.vss:not([data-dev]).vss-xa-m .vss-nav{display:none}.vss:not([data-dev]).vss-xp-m .vss-dots{display:none}}
.vss[data-dev="d"].vss-xa-d .vss-nav,.vss[data-dev="t"].vss-xa-t .vss-nav,.vss[data-dev="m"].vss-xa-m .vss-nav{display:none}
.vss[data-dev="d"].vss-xp-d .vss-dots,.vss[data-dev="t"].vss-xp-t .vss-dots,.vss[data-dev="m"].vss-xp-m .vss-dots{display:none}

/* Animaciones por capa (solo con JS activo; sin JS el contenido es visible) */
.vss-js .vss-slide:not(.is-active) .vss-el[data-a]{opacity:0}
.vss-js .vss-slide.is-active .vss-el[data-a]{animation-duration:var(--ad,600ms);animation-delay:var(--adl,0ms);animation-fill-mode:both;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
.vss-js .is-active .vss-el[data-a="fade"]{animation-name:vss-fade}
.vss-js .is-active .vss-el[data-a="zoom"]{animation-name:vss-zoom}
.vss-js .is-active .vss-el[data-a="slide-up"]{animation-name:vss-su}
.vss-js .is-active .vss-el[data-a="slide-down"]{animation-name:vss-sd}
.vss-js .is-active .vss-el[data-a="slide-left"]{animation-name:vss-sl}
.vss-js .is-active .vss-el[data-a="slide-right"]{animation-name:vss-sr}
.vss-js .is-active .vss-el[data-a="reveal-left"]{animation-name:vss-rl}
.vss-js .is-active .vss-el[data-a="reveal-right"]{animation-name:vss-rr}
.vss-js .is-active .vss-el[data-a="reveal-up"]{animation-name:vss-ru}
.vss-js .is-active .vss-el[data-a="reveal-down"]{animation-name:vss-rd}
@keyframes vss-fade{from{opacity:0}to{opacity:1}}
@keyframes vss-zoom{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes vss-su{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes vss-sd{from{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:none}}
@keyframes vss-sl{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:none}}
@keyframes vss-sr{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}
@keyframes vss-rl{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes vss-rr{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes vss-ru{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes vss-rd{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.vss-slide,.vss-stage,.vss-nav,.vss-dot,.vss-nav svg{transition:none!important}.vss-nav:hover:not(:disabled){scale:none}.vss-js .vss-el[data-a]{animation:none!important;opacity:1!important}.vss-btn{transition:none!important}}

/* ---- 1.6: botón universal (cristal, hover propio, deshabilitado) y fusión cromática de imagen ---- */
.vss .vss-btn--glass{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 20px -12px rgba(2,20,45,.5);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}
.vss .vss-btn--glass:hover{background:rgba(255,255,255,.26)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.vss .vss-btn--glass{background:rgba(11,47,85,.84)}}
.vss .vss-btn.has-hb:hover{background:var(--hbg)!important;filter:none}
.vss .vss-btn.has-hc:hover{color:var(--hcol)!important}
.vss .vss-btn.is-disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none!important;filter:grayscale(.35)}
.vss .vss-btn.is-disabled:hover{transform:none;filter:grayscale(.35)}
.vss .vss-t-image.vss-tinted::after{content:"";position:absolute;inset:0;background:var(--tint);pointer-events:none;border-radius:inherit}
.vss .vss-t-image.vss-mult{mix-blend-mode:multiply}
/* paginación coherente con las flechas: área táctil amplia y fondo sutil en los estilos con contenedor */
.vss-dot{position:relative}.vss-dot::after{content:"";position:absolute;inset:-9px -4px}
.vss.vss-na-glass .vss-dots,.vss.vss-na-solid .vss-dots,.vss.vss-na-outline .vss-dots,.vss.vss-na-square .vss-dots{padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.vss.vss-na-solid[data-tone="dark"] .vss-dots,.vss.vss-na-glass[data-tone="dark"] .vss-dots{background:rgba(11,47,85,.08)}
/* 1.7.0 — Programas de estudio (componente universal), botón píldora, cristal azul */
.vss-t-programs{font-family:var(--vss-fb);display:flex;flex-direction:column;gap:.55em;overflow:hidden;color:#fff;min-width:0;box-sizing:border-box}
.vss-t-programs .vss-pg-t{font-family:var(--vss-fh);font-size:.74em;letter-spacing:.14em;text-transform:uppercase;font-weight:700;opacity:.8;line-height:1.2}
.vss-pg{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--pgg,8px);align-items:center}
.vss-pg li{margin:0;padding:0;min-width:0}
.vss-pg a{color:inherit;text-decoration:none}
.vss-pg a:hover{text-decoration:underline;text-underline-offset:3px}
.vss-pg a:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:4px}
.vss-pg--tags .vss-pg li{border:var(--pgw,1px) solid var(--pgl,rgba(255,255,255,.4));background:var(--pgb,rgba(255,255,255,.1));border-radius:var(--pgr,999px);padding:.3em .85em;font-size:.92em;line-height:1.3;font-weight:600}
.vss-pg--compact .vss-pg{gap:.2em .75em}
.vss-pg--compact .vss-pg li{font-weight:600;line-height:1.35}
.vss-pg--compact .vss-pg li+li::before{content:attr(data-sep);margin-right:.75em;opacity:.55;font-weight:400}
.vss-pg--list .vss-pg{flex-direction:column;align-items:flex-start;gap:calc(var(--pgg,8px)*.6)}
.vss-pg--list .vss-pg li{border-left:var(--pgw,2px) solid var(--pgl,#7cc4f5);padding-left:.75em;font-weight:600;line-height:1.3}
.vss .vss-btn--pill{background:linear-gradient(180deg,#1a82d8,#0f62a8);color:#fff;border-color:rgba(255,255,255,.2);border-radius:999px!important;padding:.55em 1.5em;font-weight:600;box-shadow:0 10px 20px -12px rgba(2,20,45,.85)}
.vss .vss-btn--pill:hover{filter:brightness(1.08);transform:translateY(-1px)}
.vss-tls-glass-blue{padding:var(--tl-pad);border-radius:16px;box-sizing:border-box;background:rgba(18,115,196,.3);color:#fff;--utla:#a8d8fb;--utll:rgba(255,255,255,.42);--utlk:#06213d;border:1px solid rgba(160,210,255,.42);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 28px -16px rgba(2,20,45,.55)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.vss-tls-glass-blue{background:rgba(14,74,130,.9)}.vss .vss-btn--pill{background:#0f62a8}}
@media (prefers-reduced-transparency:reduce){.vss-tls-glass-blue{background:rgba(14,74,130,.94);-webkit-backdrop-filter:none;backdrop-filter:none}}

/* 1.7.1 — Refinamiento transversal sin modificar datos existentes. */
.vss-t-programs{overflow:visible;min-width:0}
.vss-pg{max-width:100%;align-content:flex-start}
.vss-pg li{max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.vss-pg--tags .vss-pg li{box-sizing:border-box}
.vss-pg--tags .vss-pg a{display:inline-block;max-width:100%;overflow-wrap:anywhere}
.vss-tls-glass-blue{--tl-pad:.68em .95em;background:rgba(18,96,163,.25);border-color:rgba(170,215,250,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 22px -18px rgba(2,20,45,.55)}
.vss .vss-btn:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 5px rgba(9,57,104,.65)}
@media (max-width:640px){.vss:not([data-dev]) .vss-pg--tags .vss-pg{flex-direction:column;align-items:stretch}.vss:not([data-dev]) .vss-pg--tags .vss-pg li{width:100%;text-align:left}}
.vss[data-dev="m"] .vss-pg--tags .vss-pg{flex-direction:column;align-items:stretch}
.vss[data-dev="m"] .vss-pg--tags .vss-pg li{width:100%;text-align:left}

/* 1.7.2 — Cristal azul editorial: surface, hierarchy and milestones.
   Scoped to glass-blue only; other timeline styles and stored campaign data remain untouched. */
.vss .vss-tls-glass-blue{
  --utla:#b7e3ff;--utll:rgba(187,224,249,.47);--utlk:#082f52;
  --tl-pad:.86em 1.15em;
  position:relative;isolation:isolate;overflow:hidden;
  border-radius:14px;
  background:linear-gradient(115deg,rgba(6,38,72,.37) 0%,rgba(15,78,124,.20) 53%,rgba(7,48,87,.31) 100%);
  border:1px solid rgba(199,231,255,.31);
  -webkit-backdrop-filter:blur(18px) saturate(115%);backdrop-filter:blur(18px) saturate(115%);
  box-shadow:inset 0 1px 0 rgba(242,250,255,.23),inset 0 -1px 0 rgba(4,28,55,.16),0 14px 30px -24px rgba(0,13,37,.65);
}
.vss .vss-tls-glass-blue::before{
  content:"";position:absolute;inset:0 0 auto;height:45%;pointer-events:none;z-index:0;
  background:linear-gradient(180deg,rgba(215,239,255,.085),transparent);
}
.vss .vss-tls-glass-blue .vss-tl{position:relative;z-index:1;--tlls:solid;--tlw:1px}
.vss .vss-tls-glass-blue .vss-tl--h li{gap:.45em;padding:0 .55em}
.vss .vss-tls-glass-blue .vss-tl-n{
  width:2.05em;height:2.05em;font-size:1em;font-weight:750;
  border:1px solid rgba(198,230,252,.65);color:#fff;
  background:linear-gradient(145deg,rgba(201,234,255,.17),rgba(7,51,93,.31));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 0 3px rgba(157,211,249,.055);
  opacity:1;
}
.vss .vss-tls-glass-blue .vss-tl--h li:not(:last-child)::after{
  top:1.025em;left:calc(50% + 1.35em);right:calc(-50% + 1.35em);
  border-top:1px solid rgba(196,226,249,.50);margin-top:0;
}
.vss .vss-tls-glass-blue .vss-tl--h.is-left li:not(:last-child)::after{left:2.8em;right:0}
.vss .vss-tls-glass-blue .vss-tl-x{gap:.22em}
.vss .vss-tls-glass-blue .vss-tl-x strong{font-size:1.04em;line-height:1.25;font-weight:700;letter-spacing:-.012em}
.vss .vss-tls-glass-blue .vss-tl-x small,
.vss .vss-tls-glass-blue .vss-tl-d{font-size:.91em;line-height:1.35;opacity:.94;color:#d7ebfc}
.vss .vss-tls-glass-blue .vss-tl li.is-pending .vss-tl-x{opacity:1}
.vss .vss-tls-glass-blue .vss-tl li.is-done .vss-tl-n{background:rgba(183,227,255,.16);color:#e4f5ff}
.vss .vss-tls-glass-blue .vss-tl li.is-current .vss-tl-n{background:#c6e8ff;color:#082f52;box-shadow:0 0 0 3px rgba(186,227,255,.16)}
.vss .vss-tls-glass-blue .vss-tl--v li:not(:last-child)::after{border-left:1px solid rgba(196,226,249,.50)}
/* 1.9.6 · ajuste interno (tablet/móvil): títulos de dos líneas y 3 pasos verticales caben sin recortar fecha */
@media (min-width:641px) and (max-width:1024px){.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod{--tl-pad:.34em .95em .2em}.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod .vss-tl{--tlns:1.7}.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod .vss-tl--h li{gap:.24em}.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod .vss-tl-x{gap:.06em}.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod .vss-tl-x strong{font-size:1em;line-height:1.12}.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod .vss-tl-d,.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod .vss-tl-x small{line-height:1.15}}
.vss[data-dev="t"] .vss-tls-glass-blue.vss-tl-mod{--tl-pad:.34em .95em .2em}.vss[data-dev="t"] .vss-tls-glass-blue.vss-tl-mod .vss-tl{--tlns:1.7}.vss[data-dev="t"] .vss-tls-glass-blue.vss-tl-mod .vss-tl--h li{gap:.24em}.vss[data-dev="t"] .vss-tls-glass-blue.vss-tl-mod .vss-tl-x{gap:.06em}.vss[data-dev="t"] .vss-tls-glass-blue.vss-tl-mod .vss-tl-x strong{font-size:1em;line-height:1.12}.vss[data-dev="t"] .vss-tls-glass-blue.vss-tl-mod .vss-tl-d,.vss[data-dev="t"] .vss-tls-glass-blue.vss-tl-mod .vss-tl-x small{line-height:1.15}
@media (max-width:640px){.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod{--tl-pad:.55em .95em}.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod .vss-tl--v{--tlg:7px}.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod .vss-tl-x{gap:.1em}.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod .vss-tl-x strong{line-height:1.15}.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod .vss-tl-d,.vss:not([data-dev]) .vss-tls-glass-blue.vss-tl-mod .vss-tl-x small{line-height:1.2}}
.vss[data-dev="m"] .vss-tls-glass-blue.vss-tl-mod{--tl-pad:.55em .95em}.vss[data-dev="m"] .vss-tls-glass-blue.vss-tl-mod .vss-tl--v{--tlg:7px}.vss[data-dev="m"] .vss-tls-glass-blue.vss-tl-mod .vss-tl-x{gap:.1em}.vss[data-dev="m"] .vss-tls-glass-blue.vss-tl-mod .vss-tl-x strong{line-height:1.15}.vss[data-dev="m"] .vss-tls-glass-blue.vss-tl-mod .vss-tl-d,.vss[data-dev="m"] .vss-tls-glass-blue.vss-tl-mod .vss-tl-x small{line-height:1.2}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .vss .vss-tls-glass-blue{background:linear-gradient(115deg,#103f69,#11517b)}
}
@media (prefers-reduced-transparency:reduce){
 .vss .vss-tls-glass-blue{background:#104671;-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* VSS 1.8: documentos programados y paleta institucional sobria. */
.vss-t-docs li.is-pending{opacity:.74}
.vss-t-docs li.is-pending span{font-style:normal}
.vss-t-docs li.is-published a{font-weight:600;text-decoration:none;border-bottom:1px solid rgba(215,233,246,.45)}
.vss-t-docs li.is-published a:hover{border-color:currentColor}
.vss-t-programs.vss-pg--compact .vss-pg li{font-weight:600;letter-spacing:0}

/* 1.8.5: documentos adaptables y microslider accesible */
.vss .vss-docs--access ul{display:flex;align-items:stretch;gap:10px;list-style:none;padding:0;margin:8px 0 0}
.vss .vss-docs--access li{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;text-align:center;padding:10px 6px;border:1px solid rgba(184,221,246,.3);border-radius:9px;background:rgba(255,255,255,.055)}
.vss .vss-docs--access li svg{width:21px;height:21px}
.vss .vss-docs--access li a{font-weight:600;text-decoration:none}
.vss .vss-docs--micro ul{list-style:none;margin:9px 0 0;padding:0}
.vss .vss-docs--micro li{display:flex;align-items:center;gap:10px;min-height:55px}
.vss .vss-docs--micro li[hidden]{display:none!important}
.vss .vss-docs--micro li.is-pending,.vss .vss-docs--micro li.is-halted{opacity:.58}
.vss .vss-docs--micro li.is-done{opacity:.82}
.vss .vss-micro-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:6px}
.vss .vss-micro-nav button{background:rgba(255,255,255,.08);border:1px solid rgba(200,230,250,.32);color:inherit;border-radius:50%;width:26px;height:26px;cursor:pointer}
.vss .vss-micro-count{font-size:.78em;opacity:.85}
.vss .vss-mod-link{color:inherit;text-decoration:none}
.vss .vss-mod-link:hover{text-decoration:underline}
.vss .vss-tl li.is-done .vss-mod-link{pointer-events:none;opacity:.7}
@media(max-width:640px){.vss .vss-docs--access ul{gap:5px}.vss .vss-docs--access li{padding:7px 3px;font-size:.85em}}

/* Página pública Convocatorias. No modifica las composiciones maestras. */
.vss-archive{font-family:Inter,system-ui,sans-serif;max-width:1160px;margin:auto;color:#12314d;padding:20px}
.vss-archive>header{background:linear-gradient(115deg,#062b53,#12628e);border-radius:16px;color:#fff;padding:40px;margin-bottom:25px}
.vss-archive>header p:first-child{font-size:12px;letter-spacing:.13em;color:#9fd0f3}
.vss-archive>header h1{font-size:clamp(28px,4vw,42px);color:#fff;margin:12px 0}
.vss-archive-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}
.vss-archive-list article{border:1px solid #d4e2ed;border-radius:13px;padding:24px;background:#fff}
.vss-archive-list article span{font-size:12px;color:#34678c}
.vss-archive-list article h2{font-size:20px;line-height:1.3;margin:12px 0}
.vss-archive-list article a,.vss-archive a{color:#0869a4}

/* Componentes institucionales — versión consolidada 1.9.4.
   Las reglas se aplican por clases semánticas, no por el texto editable del tooltip. */
.vss .vss-lic-icon{display:flex;align-items:center;justify-content:center;gap:0;width:100%;height:100%;min-height:0;padding:0;border:0;background:transparent!important;box-shadow:none!important;color:#b9dcec;line-height:1;white-space:nowrap}
.vss .vss-lic-icon .vss-i{display:block;flex:none;width:16px;height:16px;stroke-width:1.8}
.vss a.vss-lic-icon:hover,.vss a.vss-lic-icon:focus-visible{color:#fff;outline-offset:3px}
.vss .vss-lic-icon>span{display:none}
/* Fecha de efemérides: icono, día y mes en una rejilla estable, centrada en ambos ejes. */
.vss .vss-t-card.vss-calendar-badge{display:grid;grid-template-rows:auto auto;justify-items:center;align-content:center;row-gap:.22em;padding:.3em .2em;box-sizing:border-box;text-align:center;line-height:1}
.vss .vss-calendar-badge .vss-card-i{display:flex;align-items:center;justify-content:center;width:auto;height:auto;min-height:0;border-radius:0;background:none;color:#fff}
.vss .vss-calendar-badge .vss-card-i .vss-i{display:block;width:max(18px,.9em);height:max(18px,.9em);stroke-width:1.8}
.vss .vss-calendar-badge .vss-card-t{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.14em;min-width:0;max-width:100%}
.vss .vss-calendar-badge .vss-card-t strong{display:block;font-size:max(20px,1.5em);line-height:1;font-weight:800;white-space:nowrap}
.vss .vss-calendar-badge .vss-card-t small{display:block;font-size:max(10px,.6em);line-height:1.1;letter-spacing:.06em;text-transform:uppercase;font-weight:600;opacity:.95;white-space:nowrap;text-align:center}
/* Los resultados acompañan al título de la modalidad: icono de 16 px y área táctil de 28 px sin alterar el flujo. */
.vss .vss-mod-heading{display:inline-flex;align-items:center;justify-content:center;gap:.5em;max-width:100%;flex-wrap:wrap}
.vss .vss-mod-heading strong{flex:0 1 auto}
.vss .vss-tl-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 .6em;min-width:0}
.vss .vss-tl-mod .vss-tl-meta{row-gap:8px}
.vss .vss-tl-mod .vss-tl-meta:has(.vss-mod-results){margin-top:8px;padding-bottom:3px}
.vss .vss-tl--v .vss-tl-meta,.vss .vss-tl--h.is-left .vss-tl-meta{justify-content:flex-start}
.vss .vss-mod-results{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;gap:.35em;min-height:24px;margin:-5px 0;padding:0 .6em 0 .5em;border:1px solid rgba(183,227,255,.5);border-radius:99px;background:rgba(10,78,140,.62);color:#fff;font:600 max(12px,.78em)/1 Inter,system-ui,sans-serif;letter-spacing:0;white-space:nowrap;text-decoration:none;transition:background-color .12s,border-color .12s}
.vss .vss-mod-results::after{content:"";position:absolute;left:-6px;right:-6px;top:50%;height:44px;transform:translateY(-50%)}
.vss .vss-mod-results .vss-i{display:block;flex:none;width:14px;height:14px;stroke-width:1.9}
.vss .vss-mod-results:hover{background:rgba(18,115,196,.85);border-color:rgba(215,238,255,.8)}
.vss .vss-mod-results:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 4px #1273c4}
/* No convertir iconos institucionales en cajas: usar su geometría completa. */
.vss .vss-t-icon:not(.vss-bx) .vss-i{width:100%;height:100%;display:block}

/* Tooltip institucional: un único componente, sin atributo title nativo. */
.vss-tip{position:fixed;left:0;top:0;z-index:2147483000;max-width:240px;box-sizing:border-box;padding:6px 10px;border:1px solid rgba(124,196,245,.4);border-radius:6px;background:#062a50;color:rgba(255,255,255,.96);font:500 12px/1.35 Inter,var(--vss-fb,system-ui),sans-serif;letter-spacing:0;text-align:left;overflow-wrap:anywhere;box-shadow:0 2px 6px rgba(3,20,40,.32);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease,visibility 0s .12s}
.vss-tip.on{opacity:1;visibility:visible;transform:none;transition:opacity .12s ease,transform .12s ease}
@media (prefers-reduced-motion:reduce){.vss-tip,.vss-tip.on{transition:none;transform:none}}

/* 1.9.5 · Convocatorias: paneles compactos de cristal azul (un solo contenedor por panel). Las campañas guardadas conservan su geometría. */
.vss .vss-t-docs{container-type:inline-size}
.vss .vss-t-docs .vss-docs-t{margin:0 0 .5em;line-height:1.25;letter-spacing:-.005em}
.vss .vss-t-docs.vss-gl{display:flex;flex-direction:column}
.vss .vss-t-docs.vss-gl>.vss-docs-t{margin-top:auto}
.vss .vss-t-docs.vss-gl>.vss-docs-body{margin-bottom:auto}
.vss .vss-docs--access ul{flex-direction:row;gap:8px;margin:0}
.vss .vss-docs--access li{position:relative;min-height:44px;padding:5px 8px;border:0;border-radius:10px;background:var(--dsf,rgba(255,255,255,.1));transition:background-color .12s}
.vss .vss-docs--access li:hover{background:var(--dsh,rgba(255,255,255,.17))}
.vss .vss-docs--access li svg{width:18px;height:18px;flex:none}
.vss .vss-docs--access li a{font-weight:600;text-decoration:none;line-height:1.2}
.vss .vss-docs--access li a::after,.vss .vss-docs--micro li a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.vss .vss-docs--access li span[aria-disabled],.vss .vss-docs--micro li span[aria-disabled]{line-height:1.2;opacity:.8}
@media(min-width:641px){@container (max-width:340px){.vss .vss-docs--access li{font-size:.86em;padding:4px 4px}}}
@container (min-width:430px){.vss .vss-docs--access li{flex-direction:row;justify-content:flex-start;text-align:left;gap:10px;padding:5px 12px}}
.vss .vss-docs--micro{display:flex;align-items:center;gap:6px}
.vss .vss-docs--micro ul{flex:1 1 auto;min-width:0;margin:0}
.vss .vss-docs--micro li{position:relative;min-height:44px;padding:4px 12px;border-radius:10px;background:var(--dsf,rgba(255,255,255,.1));gap:10px}
.vss .vss-docs--micro li.is-pending,.vss .vss-docs--micro li.is-halted{opacity:.78}
.vss .vss-docs--micro li.is-done{opacity:.9}
.vss .vss-doc-tx{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.2}
.vss .vss-doc-tx a,.vss .vss-doc-tx>span{font-weight:600;text-decoration:none}
.vss .vss-doc-st{font-size:.82em;font-weight:500;line-height:1.1;color:#cfe9fb}
.vss .vss-docs-body li a:focus-visible{outline:0;box-shadow:none}
.vss .vss-docs-body li:focus-within{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 4px #1273c4}
.vss .vss-micro-nav{flex:none;gap:0;margin:0}
.vss .vss-micro-nav button{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.vss .vss-micro-nav button::before{content:"";position:absolute;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(200,230,250,.45);transition:background-color .12s}
.vss .vss-micro-nav button:hover::before{background:rgba(255,255,255,.26)}
.vss .vss-micro-nav button .vss-i{position:relative;width:17px;height:17px;stroke-width:2.2}
.vss .vss-micro-nav button:focus-visible{outline:2px solid #fff;outline-offset:-2px;box-shadow:0 0 0 3px #1273c4}
.vss .vss-micro-count{min-width:36px;text-align:center;font-size:.82em;font-weight:600;opacity:1;font-variant-numeric:tabular-nums}
@media(max-width:640px){.vss .vss-docs--access ul{gap:5px}.vss .vss-docs--access li{padding:4px 5px;font-size:.92em}.vss .vss-docs--access li svg{display:none}.vss .vss-docs--micro li{padding:4px 8px;gap:6px}.vss .vss-docs--micro li>.vss-i{display:none}.vss .vss-micro-count{min-width:30px}}
