/* FUTURA Classroom · rediseño oct 2026 (propuesta).
   Mismo sistema que futuradata.pe (futura-v2.css): paleta y tipografía del design system, titulares de un solo color y
   un solo peso, sin texto en degradado, sin cursivas decorativas, sin brillos. Es una app: claridad y jerarquía primero.
   Estados con color solo donde es semántico (en vivo / vencido = error del DS · WhatsApp = verde de WhatsApp). */

/* ═════════ 1 · tokens y base ═════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --deep:#060E2A; --deep-2:#0A1640; --navy:#1B3080; --azul:#1E52C0; --azul-h:#1A3A9A;
  --teal:#00B5CC; --teal-l:#5DD8E8; --teal-xl:#B3EDF5; --teal-o:#007890; --teal-s:#E3F7FB;
  --ink:#0F1E52; --text:#1F2940; --muted:#4B5568; --soft:#6B7489; --line:#E4E7EF; --line-2:#EDF0F6; --paper:#F5F7FC; --azul-s:#EEF2FF;
  --vivo:#C81E1E; --vivo-s:#FEF2F2; --vivo-t:#991B1B;
  --wa:#128C4B;
  --display:'Raleway',system-ui,-apple-system,sans-serif; --body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; --mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
  --curva:cubic-bezier(.2,.7,.2,1); --max:1220px; --gut:clamp(16px,3.6vw,40px);
  --r-card:18px; --sombra:0 1px 2px rgba(10,22,64,.04),0 8px 24px -18px rgba(10,22,64,.22); --sombra-h:0 2px 4px rgba(10,22,64,.05),0 22px 44px -26px rgba(10,22,64,.38);
  --top-h:64px;
}
/* El DS trae verde para «éxito»; aquí el éxito va en el teal profundo de la marca. */
:root:root{--color-success:#00687D;--color-success-surface:#E3F7FB;--color-success-text:#005A70;--color-ink-muted-48:#5E6678;--color-ink-muted-80:#4B5568;--color-heading:#0F1E52;--color-hairline:#E4E7EF;--color-divider-soft:#EDF0F6;--color-canvas-parchment:#F5F7FC}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{font-family:var(--body);font-size:15px;line-height:1.5;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
svg{flex:none}
::selection{background:var(--azul);color:#fff}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--azul);outline-offset:2px;border-radius:10px}
.fl-oscuro :focus-visible,.fl-top :focus-visible,.fl-foot :focus-visible,.fl-hero :focus-visible,#fl-player :focus-visible{outline-color:var(--teal-l)}
.fl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fl-wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut);width:100%}
@keyframes flUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes flLate{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}
@keyframes flGiro{to{transform:rotate(360deg)}}
@keyframes flBrillo{to{background-position:-200% 0}}
@keyframes flFade{from{opacity:0}to{opacity:1}}
/* El aviso flotante va centrado con translateX(-50%): su entrada conserva ese desplazamiento. */
@keyframes flToast{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
/* Integración (14 oct 2026): las entradas de las vistas y paneles usan fill-mode «backwards», no «both». Con «both» el
   transform del último fotograma se queda puesto y convierte al contenedor en el marco de sus hijos position:fixed
   (la hoja del webinar en el celular, el visor, la contraseña): se pintaban dentro de la columna y no a pantalla completa. */

/* ═════════ 2 · piezas ═════════ */
.fl-kick{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--teal-o)}
.fl-kick::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor}
.fl-oscuro .fl-kick{color:var(--teal-l)}
.fl-h1{font-family:var(--display);font-weight:800;font-size:clamp(26px,3vw,36px);line-height:1.1;letter-spacing:-.8px;color:var(--ink);text-wrap:balance}
.fl-h2{font-family:var(--display);font-weight:800;font-size:clamp(19px,1.8vw,22px);line-height:1.2;letter-spacing:-.3px;color:var(--ink)}
.fl-h3{font-family:var(--display);font-weight:800;font-size:18px;line-height:1.25;letter-spacing:-.2px;color:var(--ink)}
.fl-sub{font-size:15.5px;line-height:1.55;color:var(--muted);max-width:68ch}
.fl-label{font-size:12px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--soft)}
.fl-muted{color:var(--muted)}
.fl-m{font-size:13.5px;line-height:1.45;color:var(--muted)}
.fl-metal{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;list-style:none;font-size:14.5px;font-weight:600;color:var(--muted)}
.fl-metal li{display:inline-flex;align-items:center;gap:7px}
.fl-metal svg{color:var(--teal-o)}
.fl-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sombra)}
.fl-secth{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
.fl-secth .fl-cuenta-s{font-size:13.5px;color:var(--soft);font-weight:600}
.fl-stack{display:flex;flex-direction:column;gap:12px}
.fl-parahoy:empty{display:none}

.fl-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 20px;border-radius:999px;font-size:15px;font-weight:700;line-height:1.15;white-space:nowrap;cursor:pointer;border:1px solid transparent;transition:background .25s var(--curva),border-color .25s,color .25s,transform .2s var(--curva),box-shadow .25s}
.fl-btn:active{transform:scale(.98)}
.fl-btn-p{background:var(--azul);color:#fff}
.fl-btn-p:hover{background:var(--azul-h)}
.fl-btn-t{background:var(--teal);color:#04263A}
.fl-btn-t:hover{background:var(--teal-l)}
.fl-btn-o{background:#fff;border-color:var(--line);color:var(--ink)}
.fl-btn-o:hover{border-color:var(--azul);color:var(--azul)}
.fl-btn-g{border-color:rgba(255,255,255,.28);color:#fff}
.fl-btn-g:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5)}
.fl-btn-wa{background:var(--wa);color:#fff}
.fl-btn-wa:hover{background:#0E7A40}
.fl-btn-lg{min-height:52px;padding:0 26px;font-size:16px}
.fl-btn-sm{min-height:38px;padding:0 15px;font-size:13.5px}
.fl-btn-block{width:100%}
.fl-btn[disabled],.fl-btn[aria-disabled="true"]{opacity:.55;cursor:default}
.fl-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--azul);transition:gap .25s var(--curva)}
.fl-link:hover{gap:10px}
.fl-oscuro .fl-link{color:var(--teal-l)}
.fl-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--muted);transition:border-color .2s,color .2s}
.fl-iconbtn:hover{border-color:var(--azul);color:var(--azul)}
.fl-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;line-height:1.2;padding:5px 10px;border-radius:999px;white-space:nowrap;background:var(--paper);color:var(--muted)}
.fl-chip-vivo{background:var(--vivo);color:#fff}
.fl-chip-vivo i,.fl-pulso{width:7px;height:7px;border-radius:50%;background:currentColor;animation:flLate 1.5s ease-in-out infinite}
.fl-chip-azul{background:var(--azul-s);color:var(--azul)}
.fl-chip-teal{background:var(--teal-s);color:#00687D}
.fl-back{display:inline-flex;align-items:center;gap:6px;min-height:36px;font-size:14px;font-weight:700;color:var(--muted)}
.fl-back:hover{color:var(--azul)}
.fl-back .fl-back-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}
.fl-bar{height:8px;border-radius:99px;background:#E9EDF5;overflow:hidden}
.fl-bar>span{display:block;height:100%;border-radius:99px;background:var(--azul);transition:width .5s var(--curva)}
.fl-msg{font-size:14px;line-height:1.45;border-radius:12px;padding:10px 13px}
.fl-vacio{text-align:center;padding:clamp(26px,4vw,40px) 22px;display:flex;flex-direction:column;align-items:center;gap:6px}
.fl-vacio b{font-size:16px;color:var(--ink)}
.fl-vacio>span:not(.fl-vacio-ic){font-size:14.5px;color:var(--muted);max-width:46ch}
.fl-vacio-ic{width:48px;height:48px;border-radius:14px;background:var(--azul-s);color:var(--azul);display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.fl-ext{flex:none;width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;letter-spacing:.3px}

/* chapa de fecha (la del hub de webinars) — también la usa assets/webinar-ui y la alternativa del panel */
.wb-chapa{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:58px;padding:7px 0 6px;background:#fff;border-radius:12px;border:1px solid var(--line);line-height:1;flex:none;font-variant-numeric:tabular-nums}
.wb-chapa i{font-style:normal;font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--teal-o)}
.wb-chapa b{font-family:var(--display);font-size:24px;font-weight:800;color:var(--ink);margin:3px 0 2px;letter-spacing:-.5px}
.wb-chapa small{font-size:10.5px;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.6px}
.wb-chapa.xl{width:78px;padding:10px 0 9px;border-radius:16px}.wb-chapa.xl b{font-size:34px}.wb-chapa.xl i{font-size:12px}
.wb-chapa.sm{width:50px;padding:6px 0 5px;border-radius:10px}.wb-chapa.sm b{font-size:20px;margin:2px 0 1px}.wb-chapa.sm i{font-size:10px}.wb-chapa.sm small{font-size:9.5px}
.wb-tag{font-size:11.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--teal-o)}
.wb-cuando{font-size:13px;font-weight:600;color:var(--muted)}
.wb-est{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;white-space:nowrap}

/* ═════════ 3 · armazón de la app ═════════ */
.fl-app{min-height:100vh;display:flex;flex-direction:column}
.fl-top{position:sticky;top:0;z-index:100;background:var(--deep-2);border-bottom:1px solid rgba(255,255,255,.08);color:#fff}
.fl-top .fl-wrap{height:var(--top-h);display:flex;align-items:center;gap:20px}
.fl-brand{display:flex;align-items:center;gap:10px;flex:none;min-height:44px}
.fl-brand img{height:30px;width:auto}
.fl-brand b{display:block;font-family:var(--display);font-size:18px;font-weight:800;letter-spacing:1.5px;line-height:1}
.fl-brand small{display:block;font-size:9px;font-weight:700;letter-spacing:2.2px;color:var(--teal-l);margin-top:4px}
.fl-nav{display:flex;align-items:center;gap:2px;margin-left:10px}
.fl-navlk{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 12px;border-radius:10px;font-size:14.5px;font-weight:600;color:rgba(255,255,255,.76);transition:color .2s,background .2s}
.fl-navlk:hover{color:#fff;background:rgba(255,255,255,.06)}
.fl-navlk[aria-current="page"]{color:#fff;background:rgba(93,216,232,.13)}
.fl-num{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--teal-l);color:var(--deep);font-size:11.5px;font-weight:800;line-height:1}
.fl-vivodot{width:8px;height:8px;border-radius:50%;background:#F04438;box-shadow:0 0 0 2px var(--deep-2)}
.fl-top-der{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}
.fl-user{position:relative}
.fl-top-wa{display:none;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;background:var(--wa);color:#fff}
.fl-userbtn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:4px 10px 4px 4px;border-radius:999px;color:#fff;transition:background .2s}
.fl-userbtn:hover,.fl-userbtn[aria-expanded="true"]{background:rgba(255,255,255,.08)}
.fl-avatar{width:36px;height:36px;border-radius:50%;background:var(--azul);color:#fff;font-family:var(--display);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px rgba(255,255,255,.14)}
.fl-username{font-size:14px;font-weight:700;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-menu-velo{position:fixed;inset:0;z-index:140;background:transparent;cursor:default}
.fl-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:150;width:280px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 60px -24px rgba(6,14,42,.45);padding:8px;color:var(--text);animation:flUp .18s var(--curva) backwards}
.fl-menu-h{padding:10px 12px 12px;border-bottom:1px solid var(--line-2);margin-bottom:6px}
.fl-menu-h b{display:block;font-size:15px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-menu-h>span{display:block;font-size:13px;color:var(--soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-menu-i{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;border-radius:10px;font-size:14.5px;font-weight:600;color:var(--text);text-align:left}
.fl-menu-i:hover{background:var(--paper)}
.fl-menu-i svg{color:var(--azul)}
.fl-menu-i.fl-salir{color:var(--vivo-t)}
.fl-menu-i.fl-salir svg{color:currentColor}
.fl-main{flex:1;width:100%;padding:clamp(22px,3.4vw,40px) 0 72px}
.fl-vista{display:flex;flex-direction:column;gap:clamp(24px,3vw,36px);animation:flUp .35s var(--curva) backwards}
.fl-foot{background:var(--deep);color:rgba(255,255,255,.6);font-size:13.5px}
.fl-foot .fl-wrap{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px}
.fl-foot-l{display:flex;align-items:center;gap:10px}
.fl-foot-l img{height:20px;width:auto;opacity:.9}
.fl-foot nav{display:flex;gap:6px 20px;flex-wrap:wrap}
.fl-foot nav a{display:inline-flex;align-items:center;min-height:36px;color:rgba(255,255,255,.8);font-weight:600}
.fl-foot nav a:hover{color:var(--teal-l)}
.fl-tabbar{display:none}
.fl-fab{position:fixed;right:22px;bottom:22px;z-index:130;display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:0 18px 0 14px;border-radius:999px;background:var(--wa);color:#fff;font-size:14.5px;font-weight:700;box-shadow:0 14px 30px -12px rgba(6,14,42,.55);transition:transform .25s var(--curva),background .2s}
.fl-fab:hover{transform:translateY(-2px);background:#0E7A40}
.fl-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:320;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);background:var(--ink);color:#fff;border-radius:14px;padding:12px 16px;box-shadow:0 20px 40px -18px rgba(6,14,42,.6);font-size:14px;font-weight:600;animation:flToast .2s var(--curva) both}
.fl-toast>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-toast.fl-toast-red{background:#3A2A0A}
.fl-toast.fl-toast-red{background:var(--deep-2);border:1px solid rgba(255,255,255,.14)}
.fl-toast button{flex:none;min-height:36px;padding:0 14px;border-radius:999px;background:#fff;color:var(--ink);font-size:13.5px;font-weight:700}

/* ═════════ 4 · portada ═════════ */
.fl-hola{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.fl-hola>div{display:flex;flex-direction:column;gap:10px}
.fl-hola .fl-sub{font-size:16px}
.fl-oscuro{position:relative;isolation:isolate;overflow:hidden;background:var(--deep-2);color:#fff}
.fl-oscuro::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(640px 380px at 100% 0%,rgba(30,82,192,.55),transparent 64%),radial-gradient(460px 320px at 0% 110%,rgba(0,181,204,.16),transparent 64%)}
.fl-oscuro::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}
.fl-hero{border-radius:24px;padding:clamp(22px,3vw,34px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,2.6vw,32px);align-items:center}
.fl-hero .wb-chapa{border:0;box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.fl-hero-info{display:flex;flex-direction:column;gap:12px;min-width:0}
.fl-estado{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;background:rgba(255,255,255,.1);color:#fff}
.fl-estado.fl-e-vivo{background:var(--vivo);color:#fff}
.fl-estado.fl-e-hoy{background:rgba(93,216,232,.16);color:var(--teal-l)}
.fl-estado.fl-e-vivo i{width:7px;height:7px;border-radius:50%;background:#fff;animation:flLate 1.5s ease-in-out infinite}
.fl-hero-t{font-family:var(--display);font-weight:800;font-size:clamp(22px,2.6vw,30px);line-height:1.15;letter-spacing:-.5px;color:#fff;text-wrap:balance}
.fl-hero-meta{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;font-size:14.5px;font-weight:600;color:rgba(255,255,255,.86)}
.fl-hero-meta li{display:inline-flex;align-items:center;gap:8px}
.fl-hero-meta svg{color:var(--teal-l)}
.fl-hero-mod{font-size:13.5px;color:rgba(255,255,255,.6);overflow:hidden;text-overflow:ellipsis}
.fl-hero-acc{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:230px}
.fl-cuenta{display:flex;align-items:baseline;gap:8px;justify-content:center;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.fl-cuenta b{font-family:var(--display);font-size:30px;font-weight:800;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.fl-cuenta>span{font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.62)}
.fl-hero-nota{font-size:13px;color:rgba(255,255,255,.62);text-align:center;line-height:1.4}
.fl-hero .fl-btn-g{min-height:44px}
.fl-hoy{display:flex;flex-direction:column;gap:10px;padding:16px 18px}
.fl-hoyrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line-2)}
.fl-hoyrow:first-of-type{border-top:0}
.fl-hoyrow>span{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:2px}
.fl-hoyrow b{font-size:15px;color:var(--ink)}
.fl-hoyrow small{font-size:13.5px;color:var(--soft)}

.fl-home-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.fl-col{display:flex;flex-direction:column;gap:clamp(24px,3vw,32px);min-width:0}
.fl-entrega{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px}
.fl-entrega.fl-tarde{background:var(--vivo-s);border-color:rgba(153,27,27,.18)}
.fl-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--azul-s);color:var(--navy)}
.fl-entrega-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.fl-entrega-t .fl-label{color:var(--teal-o)}
.fl-tarde .fl-entrega-t .fl-label{color:var(--vivo-t)}
.fl-entrega-t b{font-size:16px;color:var(--ink);line-height:1.3}
.fl-entrega-t>.fl-m{font-size:13.5px;color:var(--muted)}
.fl-entrega-a{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.fl-sv{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 18px 14px 14px;transition:box-shadow .3s var(--curva),border-color .3s}
.fl-sv:hover{box-shadow:var(--sombra-h);border-color:#D4DAE8}
.fl-sv-mini{width:112px;aspect-ratio:16/9;border-radius:12px;display:flex;align-items:center;justify-content:center}
.fl-sv-mini>span{width:40px;height:40px;border-radius:50%;background:rgba(6,14,42,.55);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center}
.fl-sv-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.fl-sv-t .fl-label{color:var(--teal-o)}
.fl-sv-t b{font-size:16px;color:var(--ink);line-height:1.3}
.fl-sv-av{display:flex;align-items:center;gap:10px;margin-top:6px}
.fl-sv-av .fl-bar{flex:1;max-width:260px;height:6px}
.fl-sv-av small{font-size:12.5px;font-weight:600;color:var(--soft);white-space:nowrap;font-variant-numeric:tabular-nums}
.fl-aviso{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px}
.fl-aviso-ic{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex:none}
.fl-aviso-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.fl-aviso-t b{font-size:15px;color:var(--ink);line-height:1.3}
.fl-aviso-t>.fl-m{font-size:13.5px;line-height:1.45;color:var(--muted)}
.fl-aviso-a{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.fl-prog{padding:clamp(18px,2.4vw,24px);display:flex;flex-direction:column;gap:16px;cursor:pointer;transition:box-shadow .3s var(--curva),border-color .3s}
.fl-prog:hover{box-shadow:var(--sombra-h);border-color:#D4DAE8}
.fl-prog-h{display:flex;align-items:flex-start;gap:14px}
.fl-prog-ic{width:52px;height:52px;border-radius:14px;background:var(--navy);color:var(--teal-l);display:flex;align-items:center;justify-content:center;flex:none}
.fl-prog-h>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.fl-prog-h small{font-size:12.5px;font-weight:600;color:var(--soft)}
.fl-prog-meta{font-size:14px;color:var(--muted)}
.fl-prog-av{display:flex;flex-direction:column;gap:8px}
.fl-prog-av>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;font-weight:600;color:var(--muted)}
.fl-prog-av b{color:var(--ink)}
.fl-prog-pie{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;border-top:1px solid var(--line-2);padding-top:16px}
.fl-prog-pie>span{font-size:13.5px;color:var(--soft);min-width:0}
.fl-prog-pie>div{display:flex;align-items:center;gap:14px;flex-wrap:wrap}

.fl-certband{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px}
.fl-sello{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.fl-certband-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.fl-certband-t b{font-family:var(--display);font-size:17px;font-weight:800;color:var(--ink);line-height:1.25}
.fl-certband-t>.fl-m{font-size:13.5px;color:var(--muted);line-height:1.45}
.fl-certband-t em{font-style:normal;font-size:13px;color:var(--soft);white-space:pre-line;line-height:1.5}
.fl-certband-a{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.fl-avance{padding:20px;display:flex;flex-direction:column;gap:16px}
.fl-avance-c{display:flex;align-items:center;gap:18px}
.fl-anillo{position:relative;width:96px;height:96px;flex:none}
.fl-anillo svg{transform:rotate(-90deg)}
.fl-anillo b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:22px;font-weight:800;color:var(--ink)}
.fl-avance-c>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.fl-avance-c strong{font-size:15px;color:var(--ink);line-height:1.3}
.fl-avance-c .fl-m{font-size:13px;color:var(--soft)}
.fl-stats{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--line-2)}
.fl-stats li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2);font-size:14px;color:var(--muted)}
.fl-stats li:last-child{border-bottom:0;padding-bottom:0}
.fl-stats b{color:var(--ink);text-align:right;min-width:0}
.fl-rapidos{padding:8px}
.fl-rapidos .fl-label{display:block;padding:10px 12px 6px}
.fl-rap{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 12px;border-radius:12px;font-size:14.5px;font-weight:600;color:var(--text);transition:background .2s}
.fl-rap:hover{background:var(--paper)}
.fl-rap>svg:first-child{color:var(--azul)}
.fl-rap>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-rap>svg:last-child{color:#AEB6C8}

/* ── tarjetas de webinars (portada y hub) ── */
.cl-wbgrid{display:grid;gap:16px}
.cl-wbcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;color:inherit;box-shadow:var(--sombra);transition:box-shadow .3s var(--curva),border-color .3s}
.cl-wbcard:hover{box-shadow:var(--sombra-h);border-color:#D4DAE8}
.cl-wbcard[aria-current="true"]{box-shadow:0 0 0 2px var(--azul),var(--sombra)}
.cl-wbaf{container-type:inline-size;position:relative;display:block;aspect-ratio:16/9;overflow:hidden;color:#fff;background-color:var(--deep-2);background-size:cover;background-position:center top}
.cl-wbaf::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 100% 0%,rgba(30,82,192,.75),transparent 60%),linear-gradient(160deg,#13246A,#0A1640);z-index:0}
.cl-wbaf::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:8cqw 8cqw;z-index:0}
.cl-wbaf.con-img::before,.cl-wbaf.con-img::after{display:none}
.cl-wbaf-in{position:absolute;inset:0;z-index:1;padding:6cqw 6cqw 7cqw;display:flex;flex-direction:column;justify-content:flex-end;gap:3cqw}
.cl-wbaf-k{align-self:flex-start;margin-bottom:auto;font-size:3.4cqw;font-weight:800;letter-spacing:.3cqw;text-transform:uppercase;color:var(--teal-l)}
.cl-wbaf-d{font-family:var(--display);font-weight:800;font-size:17cqw;line-height:.9;color:#fff;letter-spacing:-.5cqw}
.cl-wbaf-m{font-size:3.8cqw;font-weight:800;letter-spacing:.4cqw;text-transform:uppercase;color:var(--teal-xl)}
.cl-wbaf-t{font-family:var(--display);font-weight:800;font-size:7cqw;line-height:1.12;letter-spacing:-.15cqw;color:#fff;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cl-wbaf-logo{position:absolute;right:5cqw;top:5cqw;height:7cqw;width:auto;z-index:1}
.cl-wbvivo{position:absolute;left:12px;top:12px;z-index:2;align-items:center;gap:6px;background:var(--vivo);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.cl-wbvivo i{width:7px;height:7px;border-radius:50%;background:#fff;animation:flLate 1.5s ease-in-out infinite}
.cl-wbcard-t{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px 18px 16px;flex:1;min-width:0}
.cl-wbcard-t>.wb-chapa{display:none}
.cl-wbcard-h{font-family:var(--display);font-size:17px;font-weight:800;letter-spacing:-.2px;line-height:1.25;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wb-pon{display:flex;align-items:center;gap:10px;min-width:0}
.wb-pon>span:last-child{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.wb-pon b{font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wb-pon small{font-size:12.5px;color:var(--soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wb-av{width:32px;height:32px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;background-color:var(--azul-s);background-size:cover;background-position:center top;border:1px solid var(--line)}
.cl-wbcard-pie{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line-2)}
.cl-wbacc{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--azul);white-space:nowrap}
.cl-wbacc svg{transition:transform .3s var(--curva)}
.cl-wbcard:hover .cl-wbacc svg{transform:translateX(3px)}

/* ═════════ 5 · curso ═════════ */
.fl-ph{display:flex;flex-direction:column;gap:12px}
.fl-ph-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 28px;flex-wrap:wrap}
.fl-ph-row>div:first-child{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1 1 420px}
.fl-curso-prog{padding:18px 20px;display:flex;flex-direction:column;gap:10px;flex:0 1 360px;min-width:260px}
.fl-curso-prog>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.fl-curso-prog b{font-family:var(--display);font-size:28px;font-weight:800;color:var(--ink);line-height:1}
.fl-curso-prog>.fl-m{font-size:13.5px;color:var(--muted)}
.fl-pills{display:flex;gap:8px;flex-wrap:wrap}
.fl-pill{display:inline-flex;align-items:baseline;gap:6px;padding:7px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--soft)}
.fl-pill b{font-size:14.5px;color:var(--ink);font-weight:700}
.fl-strip{border-radius:18px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px 20px;flex-wrap:wrap}
.fl-strip>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.fl-strip .fl-label{color:var(--teal-l);display:inline-flex;align-items:center;gap:8px}
.fl-strip b{font-family:var(--display);font-size:18px;font-weight:800;color:#fff;line-height:1.3}
.fl-mods{display:flex;flex-direction:column;gap:12px}
.fl-mod{overflow:hidden}
.fl-mod.fl-activo{border-color:rgba(30,82,192,.4);box-shadow:0 0 0 1px rgba(30,82,192,.25),var(--sombra)}
.fl-modh{width:100%;display:flex;align-items:center;gap:16px;padding:16px clamp(14px,2.2vw,22px);text-align:left;min-height:72px}
.fl-modn{width:44px;height:44px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:15px;font-weight:800}
.fl-modt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.fl-modt b{font-family:var(--display);font-size:17px;font-weight:800;color:var(--ink);line-height:1.25}
.fl-modt>.fl-m{font-size:13.5px;color:var(--soft)}
.fl-chev{color:#9AA3B8;transition:transform .25s var(--curva)}
.fl-modb{border-top:1px solid var(--line-2)}
.fl-modtareas{display:flex;flex-direction:column;gap:8px;padding:14px clamp(14px,2.2vw,22px);background:var(--paper);border-bottom:1px solid var(--line-2)}
.fl-trow{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 12px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;transition:border-color .2s}
.fl-trow:hover{border-color:var(--azul)}
.fl-trow-tipo{flex:none;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--azul);background:var(--azul-s);border-radius:6px;padding:4px 7px}
.fl-trow-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fl-trow-t b{font-size:14.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-trow-t>.fl-m{font-size:13px;color:var(--soft)}
.fl-noinc{margin:14px clamp(14px,2.2vw,22px);padding:18px;border:1.5px dashed #C9D1E2;border-radius:14px;background:var(--paper);display:flex;flex-direction:column;gap:14px}
.fl-noinc-h{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
.fl-noinc-h>div{display:flex;flex-direction:column;gap:4px}
.fl-noinc-h b{font-size:15px;color:var(--ink)}
.fl-noinc-h .fl-m{font-size:13.5px;color:var(--muted)}
.fl-noinc ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 20px;border-top:1px solid var(--line);padding-top:12px}
.fl-noinc li{display:flex;gap:8px;font-size:13.5px;color:var(--muted);line-height:1.45}
.fl-noinc li svg{color:var(--azul);margin-top:3px}
.fl-ses{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px clamp(14px,2.2vw,22px);border-top:1px solid var(--line-2)}
.fl-ses:first-child{border-top:0}
.fl-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;flex:none}
.fl-ses-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.fl-ses-t b{font-size:15px;font-weight:600;line-height:1.35}
.fl-ses-t>.fl-m{font-size:13px;color:var(--soft)}
.fl-ses-a{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fl-chip-meet{background:var(--azul-s);color:var(--azul)}
.fl-chip-meet:hover{background:#E1E9FF}
.fl-chip-dash{background:#fff;border:1px dashed #C9D1E2;color:var(--soft)}
.fl-abrir{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 12px;border-radius:999px;font-size:13.5px;font-weight:700;color:var(--azul);border:1px solid transparent;transition:border-color .2s,background .2s}
.fl-abrir:hover{border-color:var(--line);background:#fff}

/* ═════════ 6 · sesión ═════════ */
.fl-seslay{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.fl-seslay[data-rail="si"]{grid-template-columns:280px minmax(0,1fr)}
.fl-rail{position:sticky;top:calc(var(--top-h) + 16px);max-height:calc(100vh - var(--top-h) - 32px);overflow-y:auto;padding:8px 0;scrollbar-width:thin;animation:flUp .25s var(--curva) backwards}
.fl-rail-m{display:flex;flex-direction:column}
.fl-rail-m .fl-label{padding:12px 16px 6px;font-size:11.5px}
.fl-rail-i{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:9px 14px;min-height:44px;border-left:3px solid transparent;font-size:13.5px;line-height:1.38}
.fl-rail-i:hover{background:var(--paper)}
.fl-rail-i .fl-dot{width:24px;height:24px;font-size:11px;margin-top:-2px}
.fl-rail-i>span:last-child{flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.fl-sesmain{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;min-width:0}
/* con el carril abierto (como en Coursera): carril | vídeo, y debajo resumen y materiales */
.fl-seslay[data-rail="si"] .fl-sesmain{grid-template-columns:minmax(0,1fr)}
.fl-seslay[data-rail="si"] .fl-sesmain>aside{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start}
.fl-sescol{display:flex;flex-direction:column;gap:16px;min-width:0}
#fl-player{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:18px;overflow:hidden;user-select:none}
#fl-yt{position:absolute;inset:0}
#fl-yt iframe{width:100%;height:100%;border:0}
.fl-pl-clic{position:absolute;inset:0;cursor:pointer}
.fl-pl-capa{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;background:var(--deep-2)}
.fl-pl-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.fl-pl-play>span{width:72px;height:72px;border-radius:50%;background:rgba(6,14,42,.55);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center}
.fl-pl-fallo{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:var(--deep-2)}
.fl-pl-fallo b{font-size:15px;color:#fff;line-height:1.45;max-width:36ch}
.fl-pl-ctl{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.78));display:flex;flex-direction:column;gap:6px}
.fl-plbar{width:100%;height:4px;accent-color:var(--teal);cursor:pointer}
.fl-plrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fl-plb{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;height:36px;padding:0 9px;border-radius:9px;color:#fff;background:rgba(255,255,255,.12);font-size:13.5px;font-weight:700;white-space:nowrap}
.fl-plb:hover{background:rgba(255,255,255,.22)}
.fl-pltime{font-size:13.5px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;padding:0 4px}
.fl-plvol{width:80px;height:4px;accent-color:#fff;cursor:pointer}
.fl-plsel{height:36px;padding:0 8px;border-radius:9px;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:13.5px;font-weight:700;cursor:pointer}
.fl-plsel option{color:var(--ink)}
.fl-pl-mas{display:none}
.fl-pl-extra{display:inline-flex;align-items:center;gap:6px}
.fl-pl-der{margin-left:auto}
.fl-seguir{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--azul-s);border-radius:12px;padding:10px 14px;font-size:14px;font-weight:700;color:var(--azul)}
.fl-seguir button{font-size:14px;font-weight:600;color:var(--muted);text-decoration:underline;min-height:32px}
.fl-sinvideo{position:relative;aspect-ratio:16/9;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}
.fl-sinvideo p{font-size:14.5px;color:rgba(255,255,255,.75);max-width:40ch}
.fl-sinvideo .fl-sv-k{position:absolute;right:16px;top:14px;font-size:11.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--teal-l)}
.fl-cerrado{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);font-size:14px;font-weight:700;color:rgba(255,255,255,.75)}
.fl-resumen{padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.fl-resumen p{font-size:15.5px;line-height:1.65;color:var(--text);white-space:pre-line;max-width:70ch}
.fl-prevnext{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fl-files-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-2)}
.fl-files-h>span:last-child{font-size:13px;font-weight:700;color:var(--azul)}
.fl-file{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;border-top:1px solid var(--line-2);min-height:62px}
.fl-files-h+.fl-file{border-top:0}
.fl-file-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fl-file-t a{font-size:14px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-file-t a:hover{color:var(--azul);text-decoration:underline}
.fl-file-t>.fl-m{font-size:12.5px;color:var(--soft)}
.fl-file .fl-iconbtn{border-radius:50%}
.fl-carp{width:100%;display:flex;align-items:center;gap:12px;padding:12px 18px;min-height:62px;text-align:left;border-top:1px solid var(--line-2)}
.fl-carp>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fl-carp b{font-size:14px;color:var(--ink)}
.fl-carp small{font-size:12.5px;color:var(--soft)}
.fl-carp-in{background:var(--paper)}
.fl-carp-in .fl-file{padding-left:28px;border-top-color:#E8ECF4}
.fl-carp-in .fl-ext{width:34px;height:34px;font-size:9.5px}
.fl-files-vacio{padding:18px;font-size:14px;color:var(--soft)}

/* ═════════ 7 · tareas ═════════ */
.fl-grupo{display:flex;flex-direction:column;gap:10px}
.fl-tlist{overflow:hidden}
.fl-tl{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:16px 18px;border-top:1px solid var(--line-2);cursor:pointer;transition:background .2s;border-left:3px solid transparent}
.fl-tl:first-child{border-top:0}
.fl-tl:hover{background:var(--paper)}
.fl-tl-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.fl-tl-k{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;font-weight:700;letter-spacing:.3px;color:var(--soft)}
.fl-tl-t b{line-height:1.35}
.fl-tl-t>.fl-m{font-size:13.5px;color:var(--muted)}
.fl-tl-e{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.fl-tl-e small{font-size:12.5px;font-weight:700}
.fl-tl-tit{font-weight:700;line-height:1.35}
.fl-chip-a{min-height:34px;padding:0 12px}
.fl-drop:focus-within{border-color:var(--azul);box-shadow:0 0 0 3px rgba(30,82,192,.18)}
.fl-tl-cta{font-size:14px;font-weight:700;color:var(--azul);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.fl-tgrid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
.fl-consigna{padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.fl-consigna-c{display:flex;flex-direction:column;gap:2px;font-size:15.5px;color:var(--text)}
.fl-nota{padding:20px 22px;display:flex;flex-direction:column;gap:8px;background:var(--teal-s);border-color:#BDE7EE}
.fl-nota .fl-label{color:var(--teal-o)}
.fl-nota strong{font-family:var(--display);font-size:34px;font-weight:800;color:var(--ink);line-height:1}
.fl-nota .fl-de{font-size:16px;color:var(--soft)}
.fl-nota p{font-size:15px;line-height:1.6;white-space:pre-line}
.fl-entregar{padding:20px;display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--top-h) + 16px)}
.fl-yaentregada{display:flex;flex-direction:column;gap:6px;background:var(--paper);border-radius:12px;padding:12px 14px;font-size:14px}
.fl-yaentregada a{font-weight:600;color:var(--azul);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:28px;display:flex;align-items:center}
.fl-drop{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:1.5px dashed #BFC8DA;border-radius:14px;padding:20px 16px;cursor:pointer;transition:border-color .2s,background .2s}
.fl-drop:hover{border-color:var(--azul);background:var(--azul-s)}
.fl-drop svg{color:var(--azul)}
.fl-drop b{font-size:14.5px;color:var(--ink)}
.fl-drop>span{font-size:12.5px;color:var(--soft)}
.fl-elegido{display:flex;align-items:center;gap:10px;background:var(--paper);border-radius:10px;padding:6px 6px 6px 12px}
.fl-elegido>span{flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-elegido small{font-size:12.5px;color:var(--soft)}
.fl-elegido button{width:36px;height:36px;border-radius:50%;color:var(--muted);font-size:18px;line-height:1}
.fl-elegido button:hover{background:#fff;color:var(--vivo-t)}
.fl-campo{display:flex;flex-direction:column;gap:7px}
.fl-campo>span{font-size:13.5px;font-weight:700;color:var(--muted)}
.fl-input{width:100%;font-size:16px;color:var(--text);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;min-height:48px;transition:border-color .2s,box-shadow .2s}
.fl-input:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 3px rgba(30,82,192,.18)}
textarea.fl-input{resize:vertical;min-height:96px;line-height:1.5}
.fl-ayuda{font-size:12.5px;color:var(--soft);line-height:1.45}
.fl-girando{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:flGiro .7s linear infinite}

/* ═════════ 8 · agenda ═════════ */
.fl-agprox{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.fl-agcard{position:relative;border-radius:18px;padding:16px 80px 16px 16px;display:flex;flex-direction:column;gap:7px;min-width:0;background:#fff;border-width:1.5px}
.fl-agcard .wb-chapa{position:absolute;top:14px;right:14px}
.fl-agest{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}
.fl-agest i{width:8px;height:8px;border-radius:50%;flex:none}
.fl-agcard b,.fl-agdia b{font-size:15.5px;line-height:1.35;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fl-agcuando{font-size:13.5px;font-weight:700;color:var(--text)}
.fl-agsub{font-size:13px;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fl-agacc{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.fl-cal{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}
.fl-mes{padding:16px;min-width:0}
.fl-mes-h{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.fl-mes-h b{flex:1;text-align:center;font-family:var(--display);font-size:18px;font-weight:800;color:var(--ink)}
.fl-dows,.fl-celdas{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.fl-dows>span{text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--soft);padding-bottom:4px}
.fl-celda{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-height:clamp(52px,7vw,82px);padding:5px 4px;text-align:left;border:1.5px solid transparent;border-radius:10px;overflow:hidden;min-width:0}
.fl-celda>span:first-child{align-self:flex-end;min-width:22px;height:22px;padding:0 5px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:12.5px}
.cl-chip{display:block;width:100%;font-size:10.5px;font-weight:700;line-height:1.3;padding:2px 4px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-leyenda{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-2)}
.fl-leyenda>span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted)}
.fl-leyenda i{width:12px;height:12px;border-radius:4px;flex:none}
.fl-dia{display:flex;flex-direction:column;gap:12px;min-width:0}
.fl-dia>b{font-size:16px;color:var(--ink)}
.fl-agdia{padding:16px;display:flex;flex-direction:column;gap:7px;border-left:4px solid}
.fl-diavacio{background:#fff;border:1px dashed #C9D1E2;border-radius:16px;padding:18px;text-align:center;font-size:14px;color:var(--muted);line-height:1.5}
.fl-sinfecha{padding:6px}
.fl-sf{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 12px;border-radius:12px}
.fl-sf:hover{background:var(--paper)}
.fl-sf i{width:10px;height:10px;border-radius:3px;border:1.5px dashed #9AA6C4;flex:none}
.fl-sf>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.fl-sf b{font-size:14px;color:var(--ink);line-height:1.35}
.fl-sf small{font-size:12.5px;color:var(--soft)}
.fl-sf em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--soft);white-space:nowrap}

/* ═════════ 9 · certificados ═════════ */
.fl-certgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}
.fl-cert{position:relative;overflow:hidden;display:flex;flex-direction:column;border-radius:20px;transition:box-shadow .3s var(--curva)}
.fl-cert:hover{box-shadow:var(--sombra-h)}
.fl-cert-top{height:5px;background:var(--azul)}
.fl-cert-top.fl-teal{background:var(--teal)}
.fl-cert-in{position:relative;flex:1;padding:20px 22px 22px;display:flex;flex-direction:column;gap:14px}
.fl-cert-h{display:flex;align-items:center;gap:12px}
.fl-cert-h .fl-sello{width:44px;height:44px}
.fl-cert-h>span:nth-child(2){flex:1;min-width:0;font-size:12px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;line-height:1.35}
.fl-cert-p{font-size:12.5px;font-weight:600;color:var(--soft);margin-bottom:-8px}
.fl-cert-t{font-family:var(--display);font-size:clamp(18px,1.8vw,21px);font-weight:800;letter-spacing:-.3px;color:var(--ink);line-height:1.25}
.fl-cert-d{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:12px 0}
.fl-cert-d>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.fl-cert-d b{font-family:var(--display);font-size:16px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-cert-d small{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--soft)}
.fl-cod{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:13px;letter-spacing:.4px;color:var(--muted)}
.fl-cert-a{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.fl-camino{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 20px}
@media (min-width:760px){.fl-cert-t{min-height:2.5em}}

/* ═════════ 10 · webinars ═════════ */
.cl-wbfil{min-height:42px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--ink);transition:background .2s,color .2s,border-color .2s}
.cl-wbfil[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.cl-wbhead-fil{display:flex;gap:8px;flex-wrap:wrap}
.cl-wbsplit{display:grid;gap:24px;align-items:start}
.cl-wbpanel{position:sticky;top:calc(var(--top-h) + 14px);max-height:calc(100vh - var(--top-h) - 28px);flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 70px -40px rgba(10,22,64,.45);overflow:hidden;animation:flUp .3s var(--curva) backwards}
.cl-wbbar{flex:none;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 14px;border-bottom:1px solid var(--line-2);background:#fff}
.cl-wbbar-t{flex:1;min-width:0;font-size:12.5px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-wbext{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;font-size:13px;font-weight:700;color:var(--azul);padding:0 12px;border-radius:999px;white-space:nowrap}
.cl-wbext:hover{background:var(--azul-s)}
.cl-wbcerrar{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;height:40px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14px;font-weight:700}
.cl-wbcerrar:hover{border-color:var(--azul);color:var(--azul)}
.cl-wbcerrar .cl-solo-movil{display:none}
.cl-wbhost{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.cl-wbcarga{padding:22px;display:flex;flex-direction:column;gap:14px}
.cl-wbcarga span,.fl-skel{display:block;border-radius:12px;background:linear-gradient(90deg,#ECEFF6 0%,#F6F8FC 50%,#ECEFF6 100%);background-size:200% 100%;animation:flBrillo 1.3s linear infinite}
.cl-wbalt{padding:22px clamp(18px,2.4vw,26px) 26px;display:flex;flex-direction:column;gap:16px}
.cl-wbalt h3{font-family:var(--display);font-size:clamp(21px,2.2vw,26px);font-weight:800;letter-spacing:-.5px;line-height:1.15;color:var(--ink);text-wrap:balance}
.cl-wbalt p{font-size:15px;line-height:1.6;color:var(--muted)}
.cl-wbalt ol{list-style:none;border-top:1px solid var(--line-2)}
.cl-wbalt li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line-2)}
.cl-wbalt li b{display:block;font-size:14.5px;line-height:1.35;color:var(--ink)}
.cl-wbalt li small{display:block;font-size:12.5px;color:var(--soft);margin-top:2px}
.cl-wbalt .cl-wbalt-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 24px;border-radius:999px;background:var(--azul);color:#fff;font-size:15px;font-weight:700}
.cl-wbalt .cl-wbalt-n{font-size:13px;color:var(--soft);font-weight:600}
[data-sel="si"] .cl-wbcard,.cl-wbfila .cl-wbcard{flex-direction:row}
[data-sel="si"] .cl-wbaf{width:92px;flex:none;aspect-ratio:1/1;align-self:flex-start;margin:12px 0 12px 12px;border-radius:12px}
[data-sel="si"] .cl-wbaf-in{display:none!important}
[data-sel="si"] .cl-wbaf-logo{left:50%;top:50%;right:auto;height:30%;transform:translate(-50%,-50%)}
[data-sel="si"] .cl-wbvivo{left:6px;top:auto;bottom:6px;padding:3px 6px;font-size:9.5px}
[data-sel="si"] .cl-wbcard-t{padding:12px 14px;gap:5px}
[data-sel="si"] .cl-wbcard-h{font-size:15.5px}
[data-sel="si"] .wb-pon .wb-av,[data-sel="si"] .wb-pon small{display:none}
[data-sel="si"] .cl-wbcard-pie{padding-top:6px;border-top:0}
html.cl-hoja-abierta,html.cl-hoja-abierta body{overflow:hidden}

/* ═════════ 11 · diálogos ═════════ */
.fl-velo{position:fixed;inset:0;z-index:300;background:rgba(6,14,42,.62);display:flex;align-items:center;justify-content:center;padding:clamp(10px,2vw,24px);animation:flFade .15s ease both;overflow-y:auto}
.fl-dialogo{width:100%;max-width:440px;margin:auto;background:#fff;border-radius:20px;box-shadow:0 40px 80px -30px rgba(6,14,42,.6);padding:clamp(20px,3vw,28px);display:flex;flex-direction:column;gap:16px;animation:flUp .2s var(--curva) backwards}
.fl-dialogo-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.fl-dialogo-h>div{display:flex;flex-direction:column;gap:4px}
.fl-dialogo-pie{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--line-2);padding-top:16px}
.fl-visor{width:100%;max-width:1100px;height:min(92vh,900px);background:#fff;border-radius:18px;box-shadow:0 40px 80px -30px rgba(6,14,42,.6);display:flex;flex-direction:column;overflow:hidden}
.fl-visor-h{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--line-2)}
.fl-visor-h>b{flex:1;min-width:0;font-size:15px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-visor iframe{flex:1;width:100%;border:0}

/* ═════════ 12 · pausa, carga, error ═════════ */
.fl-bloq{max-width:720px;margin:0 auto;width:100%;padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:16px}
.fl-bloq .fl-label{color:var(--vivo-t);display:inline-flex;align-items:center;gap:8px}
.fl-bloq .fl-label i{width:8px;height:8px;border-radius:50%;background:var(--vivo)}
.fl-cuota{display:flex;flex-direction:column;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.fl-cuota b{font-size:15.5px;color:var(--ink)}
.fl-cuota>span{font-size:14px;color:var(--muted)}
.fl-cuota-val{align-items:flex-start;gap:8px;font-size:13.5px;line-height:1.5;font-weight:600;color:var(--navy);background:var(--azul-s);border-radius:10px;padding:9px 12px}
.fl-cuota-a{display:flex;gap:8px;flex-wrap:wrap}
.fl-carga{display:flex;flex-direction:column;gap:20px}
.fl-error{max-width:520px;margin:0 auto;padding:clamp(22px,3vw,30px);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;font-size:15.5px}

/* ═════════ 13 · login ═════════ */
.fl-login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--paper)}
.fl-login-marca{display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(28px,4vw,56px)}
.fl-login-marca .fl-brand{color:#fff}
.fl-login-msg{display:flex;flex-direction:column;gap:18px;max-width:520px}
.fl-login-h{font-family:var(--display);font-weight:800;font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-1.3px;color:#fff;text-wrap:balance}
.fl-login-p{font-size:17px;line-height:1.6;color:rgba(255,255,255,.75);max-width:44ch}
.fl-ilus{position:relative;max-width:440px;margin-top:8px}
.fl-ilus-c{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px}
.fl-ilus-r{display:flex;align-items:center;gap:12px}
.fl-ilus-b{height:9px;border-radius:6px;background:rgba(255,255,255,.18)}
.fl-ilus-btn{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:999px;background:var(--teal);color:#04263A;font-size:13px;font-weight:700}
.fl-ilus-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.fl-ilus-mini>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:rgba(255,255,255,.82)}
.fl-ilus-mini svg{color:var(--teal-l)}
.fl-login-pie{display:flex;flex-direction:column;gap:18px}
.fl-cifras{display:flex;gap:28px;flex-wrap:wrap}
.fl-cifras>span{display:flex;flex-direction:column;gap:2px}
.fl-cifras b{font-family:var(--display);font-size:22px;font-weight:800;color:#fff}
.fl-cifras small{font-size:12px;color:rgba(255,255,255,.55)}
.fl-sellos{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}
.fl-sellos .fl-label{color:rgba(255,255,255,.5);font-size:11px}
.fl-sellos img.iso{height:48px;width:auto}
.fl-sellos .ccl{display:inline-flex;background:#fff;border-radius:10px;padding:6px 12px}
.fl-sellos .ccl img{height:28px;width:auto}
.fl-login-form{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:clamp(24px,4vw,56px) var(--gut)}
.fl-login-movil{display:none}
.fl-form{width:100%;max-width:420px;padding:clamp(24px,3vw,34px);display:flex;flex-direction:column;gap:20px;animation:flUp .4s var(--curva) backwards}
.fl-form-h{display:flex;flex-direction:column;gap:6px}
.fl-form-h .fl-h1{font-size:clamp(25px,2.6vw,30px)}
.fl-form form{display:flex;flex-direction:column;gap:14px}
.fl-pass{position:relative}
.fl-pass .fl-input{padding-right:54px}
.fl-pass button{position:absolute;right:4px;bottom:2px;width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--soft)}
.fl-pass button:hover{color:var(--azul)}
.fl-form-fila{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.fl-check{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-size:14px;font-weight:600;color:var(--muted);user-select:none}
.fl-check input{width:20px;height:20px;accent-color:var(--azul);cursor:pointer}
.fl-form-ayuda{border-top:1px solid var(--line-2);padding-top:16px}
.fl-login-links{display:flex;align-items:center;justify-content:center;gap:6px 18px;flex-wrap:wrap;font-size:13px}
.fl-login-links a{color:var(--muted);font-weight:600;min-height:36px;display:inline-flex;align-items:center}
.fl-login-links a:hover{color:var(--azul)}
.fl-login-links>span{color:var(--soft)}

/* ═════════ 14 · adaptable ═════════ */
@media (max-width:1180px){ .fl-username{display:none} .fl-userbtn{padding-right:6px} }
@media (max-width:1100px){
  .fl-home-grid,.fl-tgrid,.fl-sesmain{grid-template-columns:minmax(0,1fr)}
  .fl-seslay[data-rail="si"] .fl-sesmain{grid-template-columns:minmax(0,1fr)}
  .fl-entregar{position:static}
  .fl-cal{grid-template-columns:minmax(0,1fr)}
}
@media (min-width:641px) and (max-width:1100px){ .fl-home-grid>aside{display:grid;grid-template-columns:1fr 1fr;align-items:start} }
@media (max-width:980px){
  .fl-hero{grid-template-columns:minmax(0,1fr)}
  .fl-hero>.wb-chapa{display:none}
  .fl-hero-acc{flex-direction:row;flex-wrap:wrap;min-width:0}
  .fl-hero-acc .fl-cuenta{flex:0 0 auto}
  .fl-hero-acc .fl-btn{flex:1 1 220px}
  .fl-hero-nota{flex-basis:100%;text-align:left}
}
@media (max-width:899px){
  :root{--top-h:56px}
  .fl-nav,.fl-fab-txt{display:none}
  .fl-brand img{height:26px}.fl-brand b{font-size:16px}
  .fl-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;background:rgba(255,255,255,.98);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 24px -20px rgba(6,14,42,.35)}
  .fl-tab{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:58px;padding:6px 2px;color:var(--soft);font-size:11px;font-weight:700;letter-spacing:.2px}
  .fl-tab[aria-current="page"]{color:var(--azul)}
  .fl-tab[aria-current="page"]::before{content:"";position:absolute;top:0;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--azul)}
  .fl-tab .fl-num{position:absolute;top:5px;left:calc(50% + 5px);min-width:17px;height:17px;font-size:10.5px;background:var(--azul);color:#fff;box-shadow:0 0 0 2px #fff}
  .fl-tab .fl-vivodot{position:absolute;top:8px;left:calc(50% + 8px);box-shadow:0 0 0 2px #fff}
  .fl-main{padding-bottom:40px}
  .fl-foot .fl-wrap{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .fl-fab{display:none}
  .fl-top-wa{display:inline-flex}
  .fl-top-der{gap:6px}
  .fl-top .fl-wrap{gap:10px}
  .fl-userbtn{padding:4px}
  .fl-userbtn>svg{display:none}
  .fl-toast{bottom:calc(76px + env(safe-area-inset-bottom))}
  .fl-menu{position:fixed;left:12px;right:12px;top:calc(var(--top-h) + 6px);width:auto}
  .fl-seslay[data-rail="si"]{grid-template-columns:minmax(0,1fr)}
  .fl-rail{position:static;max-height:min(54vh,440px)}
  /* reproductor en el celular: progreso, play, tiempo y pantalla completa; el resto detrás de «⋯» */
  .fl-pl-extra{display:none}
  .fl-pl-extra.cl-abierto{display:inline-flex;order:5}
  .fl-plrow:has(.cl-abierto)::before{content:"";order:4;flex-basis:100%;height:0}
  .fl-plvol{width:70px}
  .fl-pl-mas{display:inline-flex}
  .fl-plbar{height:7px}
  .fl-plb,.fl-plsel{min-height:40px;height:40px}
  .cl-wbgrid{grid-template-columns:minmax(0,1fr)!important;gap:12px}
  .cl-wbcard{flex-direction:row}
  .cl-wbaf{width:92px;flex:none;aspect-ratio:1/1;align-self:flex-start;margin:12px 0 12px 12px;border-radius:12px}
  .cl-wbaf-in{display:none!important}
  .cl-wbaf-logo{left:50%;top:50%;right:auto;height:30%;transform:translate(-50%,-50%)}
  .cl-wbvivo{left:6px;top:auto;bottom:6px;padding:3px 6px;font-size:9.5px}
  .cl-wbcard-t{padding:12px 14px;gap:5px}
  .cl-wbcard-h{font-size:15.5px}
  .wb-pon .wb-av,.wb-pon small{display:none}
  .cl-wbcard-pie{padding-top:6px;border-top:0}
  .cl-wbacc{display:none}
  .cl-wbhead-fil{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .fl-tira{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--gut));padding:2px var(--gut) 6px;scrollbar-width:none;gap:12px}
  .fl-tira::-webkit-scrollbar{display:none}
  .fl-tira>a{flex:0 0 84%;scroll-snap-align:start}
  .fl-login{grid-template-columns:minmax(0,1fr);background:var(--deep-2)}
  .fl-login-marca{display:none}
  .fl-login-form{justify-content:flex-start;padding-top:26px}
  .fl-login-movil{display:flex;width:100%;max-width:420px;flex-direction:column;gap:14px;color:#fff;padding:0 2px}
  .fl-login-movil .fl-login-h{font-size:26px;letter-spacing:-.6px}
  .fl-login-links a{color:rgba(255,255,255,.75)}
  .fl-login-links>span{color:rgba(255,255,255,.45)}
}
/* La hoja del webinar a pantalla completa va con el mismo corte que la lógica (wbTick bloquea el desplazamiento del
   fondo con innerWidth <= 860, y wbCols pasa a una columna en ese mismo ancho). */
@media (max-width:860px){
  .cl-wbsplit{grid-template-columns:minmax(0,1fr)!important}
  .cl-wbpanel{position:fixed!important;inset:0;top:0!important;z-index:260;max-height:none!important;border-radius:0;border:0}
  .cl-wbbar{padding:calc(8px + env(safe-area-inset-top)) 10px 8px 8px;min-height:56px}
  .cl-wbcerrar{border:0;padding:0 12px 0 6px;min-height:44px;font-size:15px}
  .cl-wbcerrar .cl-solo-movil{display:inline}.cl-wbcerrar .cl-solo-escr{display:none}
  .cl-wbhost{padding-bottom:env(safe-area-inset-bottom)}
}
@media (max-width:640px){
  .fl-entrega,.fl-aviso,.fl-certband,.fl-camino,.fl-sv{grid-template-columns:auto minmax(0,1fr)}
  .fl-sv-mini{width:72px}.fl-sv-btn{display:none}
  .fl-entrega-a,.fl-aviso-a,.fl-certband-a,.fl-camino>a{grid-column:1 / -1;justify-content:flex-start}
  .fl-entrega-a .fl-btn,.fl-certband-a .fl-btn{flex:1 1 auto}
  .fl-ses{grid-template-columns:auto minmax(0,1fr);row-gap:8px}
  .fl-ses-a{grid-column:2;justify-content:flex-start}
  .fl-chip-a{min-height:44px;padding:0 14px}
  .fl-trow{flex-wrap:wrap;row-gap:6px}
  .fl-trow-t{order:3;flex:1 1 100%}
  .fl-trow-t b{white-space:normal}
  .fl-trow>.fl-chip{margin-left:auto}
  .fl-abrir{min-height:44px;padding:0 14px;border-color:var(--line);background:#fff}
  .fl-tl{grid-template-columns:auto minmax(0,1fr);row-gap:10px}
  .fl-tl-e{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap}
  .fl-tl-cta{display:none}
  .fl-modh{gap:12px;flex-wrap:wrap}
  .fl-modt{flex:1 1 calc(100% - 100px)}
  .fl-modh .fl-chip{order:3;margin-left:56px}
  .fl-chip{font-size:11.5px}
  .fl-hero-acc .fl-cuenta{display:none}
  .fl-hero-acc .fl-btn{flex:1 1 100%}
  .fl-prog-pie>div{width:100%}
  .fl-prog-pie .fl-btn{flex:1 1 auto}
  .fl-avance-c{gap:14px}
  .fl-anillo{width:80px;height:80px}.fl-anillo svg{width:80px;height:80px}.fl-anillo b{font-size:19px}
  .cl-chip{font-size:9.5px;padding:1px 2px;letter-spacing:-.2px}
  .fl-chip-n{display:none}
  .fl-celda{padding:4px 2px}
  .fl-cert-d{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fl-file .fl-iconbtn{width:44px;height:44px}
  .fl-rail-i{min-height:48px}
  .fl-curso-prog{flex-basis:100%}
  .fl-dialogo-pie .fl-btn{flex:1 1 auto}
  .fl-agcard{padding-right:72px}
  .fl-strip .fl-btn{width:100%}
  .fl-prevnext .fl-btn{flex:1 1 auto}
}
@media (max-width:440px){ .cl-wbbar-t{display:none} .cl-wbext{margin-left:auto} }

/* ═════════ 15 · movimiento reducido ═════════ */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
