/* Capta · 04-octubre-1.css — ficha del alumno rediseñada (29/09) hasta el 07/10: calendario, tareas, embajadores, Calendariza, favoritos, mercado, Comparte.
   Fase 3 (21/10/2026): styles.css partido en tramos SEGUIDOS, en el orden de siempre (index.html los carga así).
   Las reglas de un fichero posterior mandan sobre las anteriores: lo nuevo, al final del último (06-octubre-3.css o uno nuevo detrás). */
/* ===== Ficha de alumno (alta/edición) rediseñada · 29/09 ===== */
#modalCaja.na-modal{padding:0!important;max-width:980px;background:#f3f7fb}
#modalCaja.na-modal .na{display:flex;flex-direction:column;min-height:100%}
#modalCaja.na-modal .na-cab{position:sticky;top:0;z-index:5;display:flex;align-items:flex-start;gap:12px;padding:18px 22px 14px;margin:0;background:linear-gradient(135deg,#0d1b2a,#0f6a9c 70%,#1a8cc4);color:#fff;border-radius:0}
#modalCaja.na-modal .na-cab h3{color:#fff;font-size:21px;margin:0}#modalCaja.na-modal .na-cab .cierre-sub{color:rgba(255,255,255,.82);margin:4px 0 0;font-size:13px}
#modalCaja.na-modal .na-cab>div:first-child{flex:1;min-width:0}#modalCaja.na-modal .na-borr{color:#bfe3ff;font-size:12px;align-self:center;white-space:nowrap}
.na-win{display:flex;gap:6px}.na-wb{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;font-size:16px;font-weight:800;cursor:pointer;line-height:1}.na-wb:hover{background:rgba(255,255,255,.25)}
.na-nav{position:sticky;top:84px;z-index:4;display:flex;gap:6px;overflow-x:auto;padding:10px 22px;background:#fff;border-bottom:1px solid #e2eaf1;scrollbar-width:none}.na-nav::-webkit-scrollbar{display:none}
.na-nav button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1.5px solid #dbe6ef;background:#fff;color:#0d4a6e;border-radius:99px;padding:7px 13px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.na-nav button.on{background:#0f6a9c;border-color:#0f6a9c;color:#fff}
#modalCaja.na-modal .na-sec{margin:14px 22px 0;padding:16px 18px;border:1.5px solid #e2eaf1;border-radius:16px;background:#fff;box-shadow:0 2px 8px rgba(13,27,42,.04);scroll-margin-top:150px}
#modalCaja.na-modal .na-sec h4{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:15px;text-transform:none;letter-spacing:0;color:#0d1b2a}.na-ico{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e8f3fb;font-size:16px}
#modalCaja.na-modal .na-grid label{font-size:12.5px;font-weight:700;color:#4a5b6b}#modalCaja.na-modal .na-grid input,#modalCaja.na-modal .na-grid select{min-height:44px;border-radius:11px;font-size:15px}
#modalCaja.na-modal .na-pie{position:sticky;bottom:0;z-index:5;margin-top:16px;padding:12px 22px;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-top:1px solid #e2eaf1;display:flex;gap:8px;align-items:center}
#modalCaja.na-modal .na-pie .btn{min-height:44px}
#modalCaja.na-max{width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;margin:0!important}#modal:has(#modalCaja.na-max){padding:0!important;align-items:stretch!important}
#modalCaja.na-max .na-sec{max-width:1100px;margin-left:auto!important;margin-right:auto!important;width:calc(100% - 44px);box-sizing:border-box}
.na-pill{position:fixed;left:18px;bottom:18px;z-index:9500;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;border:0;border-radius:16px;background:linear-gradient(135deg,#0d1b2a,#0f6a9c);color:#fff;font:inherit;cursor:pointer;box-shadow:0 12px 30px rgba(13,27,42,.35);animation:bqS .2s ease-out}.na-pill span{font-size:20px}.na-pill b{font-size:14px}.na-pill small{display:block;color:#bfe3ff;font-size:12px}.na-pill{flex-wrap:wrap;max-width:320px;text-align:left}
@media(max-width:760px){#modalCaja.na-modal .na-sec{margin:10px 10px 0;padding:14px}.na-nav{top:74px;padding:8px 10px}#modalCaja.na-modal .na-cab{padding:12px 14px;align-items:center;flex-wrap:wrap;gap:8px}#modalCaja.na-modal .na-cab h3{font-size:18px}#modalCaja.na-modal .na-cab .cierre-sub{display:none}#modalCaja.na-modal .na-borr{order:3;width:100%;font-size:11px}.na-pill{left:10px;right:10px;bottom:80px;max-width:none}}

/* atajos de ficha existente en «Nuevo alumno / Editar» */
.na-atajos{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 22px;background:#eaf5fc;border-bottom:1px solid #d3e6f3}
.na-at-ficha{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px;border-radius:14px;border:0;background:linear-gradient(135deg,#0f6a9c,#1a8cc4);color:#fff;cursor:pointer;text-align:left;box-shadow:0 4px 14px rgba(15,106,156,.25);transition:transform .15s}
.na-at-ficha:hover{transform:translateY(-1px)}.na-at-ficha b{font-size:15px}.na-at-ficha small{font-size:11.5px;opacity:.88}
.na-at-cps{display:flex;flex-wrap:wrap;gap:6px}
.na-at-cp{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px;border-radius:12px;border:1.5px solid #cfe2ef;background:#fff;color:#0d1b2a;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;max-width:100%}
.na-at-cp span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.na-at-cp i{font-style:normal;font-size:11px;color:#0f6a9c;font-weight:600}
.na-at-cp:hover{border-color:#0f6a9c}
@media(max-width:760px){.na-atajos{padding:10px}.na-at-ficha{width:100%}}

/* vídeo de Embajadores en Capta */
.emv-fila{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.emv-tel{width:180px;aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#0d1b2a;border:6px solid #0d1b2a;box-shadow:0 8px 24px rgba(13,27,42,.18)}
.emv-tel video{width:100%;height:100%;object-fit:cover;display:block}
.emv-acc{flex:1;min-width:220px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.emv-btn{cursor:pointer;min-height:46px;display:inline-flex;align-items:center}
.emv-btn.cargando{opacity:.6;pointer-events:none}
.emv-barra{width:100%;max-width:340px;height:10px;border-radius:99px;background:#e2eaf1;overflow:hidden}
.emv-barra i{display:block;height:100%;width:2%;background:linear-gradient(90deg,#0f6a9c,#1a8cc4);transition:width .2s}
@media(max-width:560px){.emv-tel{width:150px}.emv-acc{min-width:0}}

/* inserción: buscador de curso y origen del trabajo */
.ins-origen .res-chip{min-height:44px}
.ins-cursos{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:260px;overflow:auto}
.ins-cur{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;border:1.5px solid #e2eaf1;border-radius:12px;background:#fff;cursor:pointer;width:100%;font:inherit}
.ins-cur:hover{border-color:#0f6a9c}.ins-cur b{font-size:14px;color:#0d1b2a}.ins-cur small{color:#4a5b6b;font-size:12.5px}
.ins-cur-on{position:relative;border-color:#0f6a9c;background:#eaf5fc;cursor:default;padding-right:44px}
.ins-cur-x{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:0;background:#fff;cursor:pointer;font-weight:800}
.sugi-libre{border-top:1px dashed #cfe2ef;color:#0f6a9c}

/* 📞 pestaña Llamadas de la ficha */
.ll-caja{padding:16px!important;display:block!important;grid-template-columns:none!important}
.ll-sk{height:58px;border-radius:14px;margin:8px 0;background:linear-gradient(90deg,#eef3f8 25%,#f7fafc 50%,#eef3f8 75%);background-size:200% 100%;animation:llsk 1.2s infinite}
@keyframes llsk{to{background-position:-200% 0}}
.ll-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.ll-cab h4{margin:0;font-size:16px}.ll-cab small{color:#6b7c8c;font-size:12px}
.ll-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}
.ll-kpis>div{background:#f3f7fb;border-radius:14px;padding:10px 8px;text-align:center}
.ll-kpis b{display:block;font-size:20px;color:#0d1b2a}.ll-kpis small{font-size:11.5px;color:#4a5b6b}
.ll-kpis .ll-k-ent{background:#e8f7ef}.ll-kpis .ll-k-ent b{color:#0f8a4b}
.ll-kpis .ll-k-sal{background:#e8f3fb}.ll-kpis .ll-k-sal b{color:#0f6a9c}
.ll-kpis .ll-k-per{background:#fdeeee}.ll-kpis .ll-k-per b{color:#c0392b}
.ll-dia h5{margin:14px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#6b7c8c}
.ll-it{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1.5px solid #e2eaf1;border-radius:14px;background:#fff;margin-bottom:6px;animation:llin .25s ease both}
@keyframes llin{from{opacity:0;transform:translateY(4px)}}
.ll-ico{flex:0 0 38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:800}
.ll-ent .ll-ico{background:#e8f7ef;color:#0f8a4b}.ll-sal .ll-ico{background:#e8f3fb;color:#0f6a9c}.ll-per .ll-ico{background:#fdeeee;color:#c0392b}
.ll-per{border-color:#f5d0cc}
.ll-txt{flex:1;min-width:0}.ll-txt b{display:block;font-size:14px;color:#0d1b2a}.ll-txt small{color:#4a5b6b;font-size:12.5px}
.ll-der{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.ll-der b{font-size:14px}
.ll-dur{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:99px;background:#eef3f8;color:#0d1b2a;white-space:nowrap}.ll-dur-no{background:#fdeeee;color:#c0392b}
.ll-vacio{text-align:center;padding:26px 10px;color:#4a5b6b}.ll-vacio span{font-size:34px;display:block}.ll-vacio b{display:block;margin:6px 0 2px;color:#0d1b2a}
@media(max-width:600px){.ll-kpis{grid-template-columns:repeat(3,1fr)}.ll-cab{flex-wrap:wrap}}

/* borrar nota del seguimiento */
.sg-borrar{margin-left:auto;width:34px;height:34px;border-radius:10px;border:1.5px solid #f1d4d0;background:#fff;cursor:pointer;font-size:15px;opacity:.55;transition:opacity .15s,background .15s}
.sg-card:hover .sg-borrar,.sg-borrar:focus{opacity:1}.sg-borrar:hover{background:#fdeeee}
@media(hover:none){.sg-borrar{opacity:1}}
.sg-dup{font-size:11px;font-weight:800;color:#b45309;background:#fff4e0;border-radius:99px;padding:2px 8px;white-space:nowrap}
.sg-card.sg-fuera{opacity:0;transform:translateX(12px);transition:all .25s}

/* 🕰 pestaña Historial de la ficha */
.hi-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.hi-cab h4{margin:0;font-size:16px}.hi-cab small{color:#6b7c8c;font-size:12px}
.hi-fil{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px}
.hi-f{flex:0 0 auto;min-height:36px;padding:6px 12px;border-radius:99px;border:1.5px solid #e2eaf1;background:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer;color:#0d1b2a}
.hi-f i{font-style:normal;background:#eef3f8;border-radius:99px;padding:0 7px;margin-left:3px;font-size:11.5px}
.hi-f.on{background:#0d1b2a;color:#fff;border-color:#0d1b2a}.hi-f.on i{background:rgba(255,255,255,.2)}
.hi-lista{position:relative}
.hi-dia{margin:16px 0 8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6b7c8c}
.hi-it{display:grid;grid-template-columns:44px 34px 1fr;align-items:flex-start;gap:0 8px;position:relative;animation:llin .25s ease both;animation-delay:var(--d)}
.hi-it::before{content:'';position:absolute;left:68px;top:34px;bottom:-8px;width:2px;background:#e2eaf1}
.hi-hora{font-size:12.5px;font-weight:800;color:#4a5b6b;padding-top:8px;text-align:right}
.hi-nodo{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:800;background:#eef3f8;position:relative;z-index:1;border:2px solid #fff}
.hi-card{background:#fff;border:1.5px solid #e2eaf1;border-radius:14px;padding:9px 12px;margin-bottom:8px;min-width:0}
.hi-t{display:flex;align-items:center;justify-content:space-between;gap:8px}.hi-t b{font-size:14px;color:#0d1b2a}
.hi-det{display:block;color:#4a5b6b;font-size:12.5px;margin-top:1px}
.hi-nota-t{margin:4px 0 0;font-size:13px;color:#1f2a37;line-height:1.45;overflow-wrap:anywhere}
.hi-pie{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:6px;font-size:12px;color:#4a5b6b}
.hi-cur{background:#f3f7fb;border-radius:99px;padding:1px 8px}
.ll-ent .hi-nodo{background:#e8f7ef;color:#0f8a4b}.ll-sal .hi-nodo{background:#e8f3fb;color:#0f6a9c}.ll-per .hi-nodo{background:#fdeeee;color:#c0392b}
.ll-per .hi-card{border-color:#f5d0cc}
.hi-est .hi-nodo{background:#f3ecff}.hi-est .hi-card{border-left:4px solid #7c5cd6}
.hi-ins .hi-nodo{background:#e8f7ef}.hi-ins .hi-card{border-left:4px solid #0f8a4b}
.hi-wa .hi-nodo{background:#e7f8ee}.hi-sms .hi-nodo,.hi-mail .hi-nodo{background:#fff4e0}
@media(max-width:600px){.hi-it{grid-template-columns:38px 30px 1fr}.hi-it::before{left:57px}.hi-nodo{width:30px;height:30px;font-size:13px}.hi-hora{font-size:11.5px}}

.ee-aviso{grid-column:1/-1;color:#b42318;font-size:12px;min-height:0}

/* 🚗 visitas FEM (modelo nuevo) */
.fv-bloque{border:1.5px solid #e2eaf1;border-radius:14px;padding:12px;margin:8px 0 12px;background:#f7fafc;display:flex;flex-direction:column;gap:6px}
.fv-bloque small{color:#4a5b6b;font-size:12.5px}
.fv-act-p{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}.fv-act-p span{flex:1;min-width:180px}
.fv-prog{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#0f6a9c}
.fv-spin{width:16px;height:16px;border-radius:50%;border:3px solid #cfe2ef;border-top-color:#0f6a9c;animation:fvsp 1s linear infinite}@keyframes fvsp{to{transform:rotate(360deg)}}
.fv-act-l{max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:6px}.fv-act-l details{background:#fff;border:1px solid #e2eaf1;border-radius:10px;padding:6px 10px}
.fv-ra{border-top:1px dashed #e2eaf1;padding:6px 0}.fv-ra p{margin:0;font-weight:700;font-size:12.5px}.fv-ra ul{margin:4px 0 0 18px;padding:0;font-size:12.5px;color:#1f2a37}
.fv-vis{border-radius:14px}.fv-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.fv-via{color:#0f8a4b;font-weight:700}
.fv-ia{display:flex;gap:8px;align-items:center;margin-top:6px}

/* 🔁 Ventana de cambio de estado (30/09/2026) */
.ce h3 { margin: 0 0 2px; font-size: 19px; }
.ce-cab { display: flex; align-items: flex-start; gap: 12px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--linea, #E4E9EE); flex-wrap: wrap; }
.ce-cab > div { flex: 1; min-width: 160px; display: flex; flex-direction: column; gap: 2px; }
.ce-av { width: 44px; height: 44px; font-size: 15px; flex: 0 0 auto; }
.ce-nom { font-size: 15px; color: var(--tinta, #16222E); }
.ce-cab small { color: var(--tinta-suave); font-size: 12.5px; line-height: 1.35; }
.ce-ahora { align-self: center; font-size: 12px; font-weight: 700; padding: 5px 10px; border-radius: 999px; color: var(--c); background: color-mix(in srgb, var(--c) 12%, #fff); border: 1px solid color-mix(in srgb, var(--c) 35%, #fff); white-space: nowrap; }
.ce-tit { margin: 4px 0 8px; font-size: 13px; font-weight: 700; color: var(--tinta, #16222E); text-transform: none; }
.ce-tit small, .ce-lab small { font-weight: 500; color: var(--tinta-suave); }
.ce-estados { display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 8px; margin-bottom: 14px; }
.ce-est { display: flex; align-items: center; gap: 7px; min-height: 46px; padding: 8px 10px; border-radius: 12px; border: 1.5px solid #E1E7ED; background: #fff; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--tinta, #16222E); cursor: pointer; text-align: left; transition: border-color .15s, background .15s, transform .1s, box-shadow .15s; position: relative; }
.ce-est span { font-size: 16px; line-height: 1; }
.ce-est:hover { border-color: var(--c); background: color-mix(in srgb, var(--c) 6%, #fff); }
.ce-est:active { transform: scale(.97); }
.ce-est.sel { border-color: var(--c); background: var(--c); color: #fff; box-shadow: 0 4px 12px color-mix(in srgb, var(--c) 35%, transparent); }
.ce-est.ce-act:not(.sel)::after { content: 'ahora'; position: absolute; top: -7px; right: 8px; font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; background: #fff; color: var(--c); padding: 0 5px; border-radius: 6px; border: 1px solid var(--c); }
.ce-fecha { background: #F3FAF6; border: 1.5px solid #BFE3CD; border-radius: 14px; padding: 12px 14px; margin: 0 0 14px; animation: ceEntra .2s ease; }
.ce-fecha label { display: block; font-weight: 700; font-size: 14px; margin-bottom: 8px; color: #1F6B40; }
.ce-oblig { font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; background: #1F6B40; color: #fff; padding: 2px 6px; border-radius: 6px; margin-left: 4px; vertical-align: 1px; }
.ce-fecha-fila { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.ce-fecha input[type=date] { flex: 1 1 170px; min-height: 46px; font-size: 16px; padding: 8px 12px; border-radius: 10px; border: 1.5px solid #BFE3CD; background: #fff; margin: 0; }
.ce-rapidas { display: flex; gap: 6px; }
.ce-rapidas button { min-height: 40px; padding: 6px 12px; border-radius: 999px; border: 1.5px solid #BFE3CD; background: #fff; font: inherit; font-size: 13px; font-weight: 600; color: #1F6B40; cursor: pointer; }
.ce-rapidas button.sel { background: #1F6B40; border-color: #1F6B40; color: #fff; }
.ce-ayuda { display: block; margin-top: 6px; color: var(--tinta-suave); font-size: 12px; }
.ce-fecha.ce-falta { background: #FDF1F0; border-color: #E8A29E; animation: ceSacude .35s ease; }
.ce-fecha.ce-falta label { color: #B23B3B; } .ce-fecha.ce-falta .ce-oblig { background: #B23B3B; }
.ce-fecha.ce-falta .ce-ayuda::before { content: '⚠ Falta la fecha. '; color: #B23B3B; font-weight: 700; }
.ce-subs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.ce-sub { min-height: 38px; padding: 6px 12px; border-radius: 999px; border: 1.5px solid #E1E7ED; background: #fff; font: inherit; font-size: 13px; cursor: pointer; color: var(--tinta, #16222E); }
.ce-sub.sel { background: var(--oceano-osc, #0B5E86); border-color: var(--oceano-osc, #0B5E86); color: #fff; }
.ce-lab { display: block; font-size: 13px; font-weight: 700; margin: 0 0 6px; }
.ce textarea { width: 100%; box-sizing: border-box; border-radius: 12px; min-height: 64px; font-size: 15px; }
.ce-pie { margin-top: 16px; display: flex; gap: 10px; justify-content: flex-end; }
.ce-pie .btn-primario { min-width: 170px; }
@keyframes ceEntra { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@keyframes ceSacude { 0%,100% { transform: none; } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
@media (max-width: 560px) {
  .ce-estados { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ce-pie { position: sticky; bottom: -1px; background: #fff; padding: 10px 0 4px; margin-bottom: -4px; }
  .ce-pie .btn { flex: 1; min-height: 48px; } .ce-pie .btn-primario { min-width: 0; flex: 2; }
  .ce-ahora { order: 3; }
}
/* fecha de alta/baja en la tarjeta del tablero */
.kb-fest { display: inline-flex; align-items: center; gap: 4px; margin: 6px 0 2px; padding: 4px 10px; border-radius: 999px; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; border: 1px solid #BFE3CD; background: #EAF7EF; color: #1F6B40; }
.kb-fest i { font-style: normal; font-size: 11px; opacity: .7; }
.kb-fest:hover { filter: brightness(.96); } .kb-fest:hover i { opacity: 1; }
.kb-fest-B { border-color: #EBC1BE; background: #FBEDEC; color: #9E2F2F; }
.kb-fest-sin { border-style: dashed; background: #fff; }

/* 📤 Comparte y suma a pantalla completa (01/10/2026) */
#modalCaja.cp-full{width:100vw!important;max-width:100vw!important;height:100vh!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;overflow:hidden!important}
#modal:has(#modalCaja.cp-full){padding:0!important;align-items:stretch!important;z-index:9999}
.cpx{display:flex;flex-direction:column;height:100%;min-height:0;background:#F4F7FA}
.cpx-cab{display:flex;align-items:flex-start;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 18px 12px;background:linear-gradient(135deg,#0D1B2A,#12466b 65%,#1A8CC4);color:#fff}
.cpx-cab>div{flex:1;min-width:0;max-width:1100px;margin:0 auto}
.cpx-cab h3{margin:0;font-size:1.35rem;color:#fff}.cpx-cab p{margin:4px 0 0;font-size:.92rem;color:rgba(255,255,255,.85);line-height:1.4}
.cpx-x{flex:0 0 44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;font-size:1.1rem;cursor:pointer}
.cpx-tabs{display:flex;gap:6px;overflow-x:auto;padding:10px 14px;background:#fff;border-bottom:1px solid #E3EAF0;scrollbar-width:none;-webkit-overflow-scrolling:touch;justify-content:safe center}
.cpx-tabs::-webkit-scrollbar{display:none}
.cpx-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:8px 14px;border-radius:999px;border:1.5px solid #E1E7ED;background:#fff;font:inherit;font-size:.92rem;font-weight:700;color:var(--tinta,#16222E);cursor:pointer;transition:background .15s,border-color .15s}
.cpx-tab.on{background:#0B5E86;border-color:#0B5E86;color:#fff;box-shadow:0 4px 12px rgba(11,94,134,.25)}
.cpx-cuerpo{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 16px calc(28px + env(safe-area-inset-bottom))}
.cpx-cuerpo>*{max-width:1100px;margin-left:auto;margin-right:auto}
.cpx-sec{margin:6px auto 10px;font-size:.8rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#5B6B7A}
.cpx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-bottom:16px}
.cpx-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px 14px 12px;border-radius:16px;border:1.5px solid #E1E7ED;background:#fff;font:inherit;cursor:pointer;box-shadow:0 2px 8px rgba(13,27,42,.04);transition:border-color .15s,transform .12s,box-shadow .15s;animation:cpxIn .3s ease both;animation-delay:calc(var(--i,0) * 40ms)}
.cpx-card:hover{border-color:#1A8CC4;box-shadow:0 6px 16px rgba(13,27,42,.08)}.cpx-card:active{transform:scale(.98)}
.cpx-card.activo{border-color:#0B5E86;background:#EEF6FB}
.cpx-card b{font-size:.98rem;line-height:1.3;color:var(--tinta,#16222E)}.cpx-card small{color:#5B6B7A;font-size:.85rem}
.cpx-chip{display:inline-block;margin-top:4px;padding:3px 9px;border-radius:999px;font-size:.76rem;font-weight:800}
.cpx-chip.rojo{background:#FBEDEC;color:#B23B3B}.cpx-chip.ambar{background:#FFF4DC;color:#9A6400}.cpx-chip.azul{background:#EEF6FB;color:#0B5E86}
.cpx-gran{display:flex;width:100%;max-width:1100px;justify-content:center;min-height:52px;font-size:1rem;margin:12px auto 0}
.cpx-hero{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #E3EAF0;border-radius:18px;padding:16px;margin-bottom:14px}
.cpx-hero>span{flex:0 0 48px;height:48px;border-radius:14px;background:#EEF6FB;display:grid;place-items:center;font-size:1.5rem}
.cpx-hero b{font-size:1.05rem}.cpx-hero p{margin:4px 0 0;color:#34475A;line-height:1.5;font-size:.93rem}
.cpx-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.cpx-f{min-height:40px;padding:7px 14px;border-radius:999px;border:1.5px solid #E1E7ED;background:#fff;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;color:var(--tinta,#16222E)}
.cpx-f.on{background:#16222E;border-color:#16222E;color:#fff}
.cpx-filtros input{width:100%;box-sizing:border-box;min-height:48px;border-radius:12px;border:1.5px solid #D5DFE7;padding:10px 14px;font-size:16px;margin-bottom:10px}
.cpx-cuenta{color:#5B6B7A;font-size:.85rem;margin:0 auto 8px}
.cpx-vacio{background:#fff;border:1px dashed #CFDCE6;border-radius:16px;padding:22px;text-align:center;color:#5B6B7A}
.cpx-enl{background:#fff;border:1px solid #E3EAF0;border-radius:16px;padding:14px;margin:14px auto 10px;display:grid;gap:10px}
.cpx-enl small{display:block;color:#5B6B7A;margin-top:3px}
.cpx-url{display:flex;gap:8px}.cpx-url input{flex:1;min-width:0;min-height:44px;border-radius:10px;border:1.5px solid #D5DFE7;padding:8px 10px;font-size:14px;background:#F8FAFC}
.cpx-stats{font-size:.82rem}
.cpx-ruta{background:#fff;border:1.5px solid #E1E7ED;border-radius:18px;padding:16px;margin-bottom:12px;animation:cpxIn .35s ease both;animation-delay:calc(var(--i,0) * 70ms)}
.cpx-ruta-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.cpx-ruta-cab b{font-size:1.1rem;color:#0D1B2A}
.cpx-para{display:block;color:#0B5E86;font-weight:600;margin-top:4px}.cpx-ruta p{margin:8px 0;color:#34475A;line-height:1.5}
.cpx-pasos{margin:8px 0 12px;padding:0;list-style:none;counter-reset:r;display:grid;gap:8px}
.cpx-pasos li{counter-increment:r;position:relative;padding:10px 12px 10px 46px;border-radius:12px;background:#F6F9FB;border:1px solid #E8EEF3}
.cpx-pasos li::before{content:counter(r);position:absolute;left:12px;top:10px;width:24px;height:24px;border-radius:50%;background:#1A8CC4;color:#fff;font-weight:800;font-size:.8rem;display:grid;place-items:center}
.cpx-pasos b{display:block;font-size:.95rem}.cpx-pasos small{color:#5B6B7A;font-size:.83rem}
.cpx-ruta .btn-primario{width:100%;min-height:48px}
.cpx-pensando{display:flex;align-items:center;gap:10px;color:#0B5E86;font-weight:600;margin:6px 0 10px}
.cpx-spin{width:18px;height:18px;border-radius:50%;border:3px solid #CFE3F0;border-top-color:#1A8CC4;animation:cpxGira .8s linear infinite}
.cpx-esq{display:grid;gap:10px;margin-top:10px}.cpx-esq i{display:block;height:74px;border-radius:16px;background:linear-gradient(90deg,#EEF2F6 25%,#F7F9FB 50%,#EEF2F6 75%);background-size:200% 100%;animation:cpxBrillo 1.2s infinite}
@keyframes cpxIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes cpxGira{to{transform:rotate(360deg)}}
@keyframes cpxBrillo{to{background-position:-200% 0}}
@media(min-width:900px){.cpx-cab{padding:20px 28px 16px}.cpx-cuerpo{padding:22px 28px 36px}}

/* 📞 Ventanita «Llámame ahora» de la web (01/10/2026) */
.wcall-caja{position:fixed;top:14px;right:14px;z-index:10050;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow-y:auto;pointer-events:none}
.wcall{flex-shrink:0;pointer-events:auto;background:#fff;border-radius:18px;box-shadow:0 18px 44px rgba(13,27,42,.28);border:3px solid #2E9E5B;overflow:hidden;animation:wcallIn .35s cubic-bezier(.2,.9,.3,1.2),wcallSacude 3s ease-in-out .4s infinite}
.wcall-ajena{border-color:#E0A526}
.wcall-mia{border-color:#0B5E86;animation:wcallIn .35s cubic-bezier(.2,.9,.3,1.2)}
.wcall-otro{border-color:#CFDCE6;animation:wcallIn .35s cubic-bezier(.2,.9,.3,1.2)}
.wcall-cab{display:flex;align-items:center;gap:12px;padding:12px 12px 10px 14px;background:linear-gradient(135deg,#E9F7EF,#fff)}
.wcall-ajena .wcall-cab{background:linear-gradient(135deg,#FFF4DC,#fff)}
.wcall-mia .wcall-cab{background:linear-gradient(135deg,#E4F1F8,#fff)}
.wcall-otro .wcall-cab{background:#F4F7FA}
.wcall-cab>div{flex:1;min-width:0}.wcall-cab b{display:block;font-size:1.05rem;color:#16222E}.wcall-cab small{color:#5B6B7A;font-size:.8rem}
.wcall-ico{position:relative;flex:0 0 48px;height:48px;display:grid;place-items:center}
.wcall-fono{position:relative;z-index:1;width:48px;height:48px;border-radius:50%;background:#2E9E5B;color:#fff;display:grid;place-items:center;font-size:1.4rem;animation:wcallTimbre 1.1s ease-in-out infinite}
.wcall-onda{position:absolute;inset:0;border-radius:50%;background:#2E9E5B;opacity:.45;animation:wcallOnda 1.6s ease-out infinite}.wcall-onda2{animation-delay:.8s}
.wcall-ajena .wcall-fono,.wcall-ajena .wcall-onda{background:#E0A526}
.wcall-mia .wcall-fono{background:#0B5E86;animation:none}.wcall-otro .wcall-fono{background:#9AA9B6;animation:none}
.wcall-mia .wcall-onda,.wcall-otro .wcall-onda{display:none}
.wcall-x{flex:0 0 36px;height:36px;border-radius:50%;border:0;background:transparent;color:#5B6B7A;font-size:1rem;cursor:pointer}.wcall-x:hover{background:#EEF2F6}
.wcall-sede{margin:2px 14px 6px;padding:8px 10px;border-radius:10px;font-size:.88rem;line-height:1.4;background:#F4F7FA;color:#34475A}
.wcall-sede-mia{background:#E9F7EF;color:#1F6B40}
.wcall-sede-ajena{background:#FFF4DC;color:#6B4A00;border:1px solid #F1D08A}
.wcall-nop{display:block;margin:0 14px 4px;color:#5B6B7A;font-size:.78rem}
.wcall-cuerpo{padding:4px 14px 10px;display:grid;gap:2px}
.wcall-et{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#7A8A99;margin-top:4px}
.wcall-nom{font-size:1.3rem;color:#0D1B2A;line-height:1.2}
.wcall-tel{font-size:1.25rem;font-weight:800;color:#0B5E86;text-decoration:none;letter-spacing:.03em}
.wcall-cur{color:#34475A;font-size:.92rem;line-height:1.35}
.wcall-auto{color:#1F6B40;font-size:.8rem;background:#E9F7EF;border-radius:8px;padding:5px 8px;margin-top:4px}
.wcall-acc{display:flex;gap:8px;padding:0 14px 8px}.wcall-acc .btn{flex:1;min-height:48px}.wcall-acc [data-wcallya]{flex:1.4;font-size:1rem}
.wcall-vercur{display:block;margin:0 14px 12px;padding:4px 0;border:0;background:none;color:#0B5E86;font-size:.85rem;text-decoration:underline;cursor:pointer}
.wcall-otro .wcall-acc{padding-bottom:14px}
@keyframes wcallIn{from{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:none}}
@keyframes wcallTimbre{0%,100%{transform:rotate(0)}5%,15%,25%,35%{transform:rotate(-16deg)}10%,20%,30%,40%{transform:rotate(16deg)}45%{transform:rotate(0)}}
@keyframes wcallOnda{from{transform:scale(1);opacity:.45}to{transform:scale(1.9);opacity:0}}
@keyframes wcallSacude{0%,88%,100%{transform:none}90%,94%,98%{transform:translateX(-3px)}92%,96%{transform:translateX(3px)}}
@media(prefers-reduced-motion:reduce){.wcall,.wcall-fono,.wcall-onda{animation:none!important}}
@media(max-width:560px){.wcall-caja{top:auto;bottom:calc(76px + env(safe-area-inset-bottom));right:8px;left:8px;width:auto;max-height:calc(100vh - 100px)}}
.cal-fem{display:inline-block;margin-left:4px;padding:1px 8px;border-radius:999px;background:#EEF6FB;color:#0B5E86;font-size:.76rem;font-weight:700}
/* 🕘 horario en el calendario del curso (01/10/2026) */
.cal-horario{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:5px 12px;border-radius:999px;background:#EEF6FB;color:#0B5E86;font-size:.86rem}
.cal-horario b{color:#0D1B2A}.cal-horario-no{background:#FFF4DC;color:#9A6400}
.cal-franja{display:block;margin-top:2px;padding:2px 6px;border-radius:6px;background:rgba(26,140,196,.12);color:#0B5E86;font-size:.72rem;font-weight:700;line-height:1.25;white-space:normal;width:fit-content;max-width:100%}
@media(max-width:700px){.cal-franja{font-size:.6rem;padding:1px 3px}}
/* 🗓 celda del día con tramos por módulo (01/10/2026) */
.cal-dias{gap:6px}
.cal-cel{min-height:84px;padding:6px 7px;border-radius:12px;display:flex;flex-direction:column;gap:4px}
.cal-dcab{display:flex;align-items:center;gap:6px;min-height:18px}
.cal-dcab b{font-size:13px}
.cal-dh{margin-left:auto;font-size:10.5px;font-weight:800;color:#1f7a4d;background:#e2f4ea;border-radius:999px;padding:1px 7px}
.cal-cel .cal-pin{position:static;order:-1}
.cal-cel.fin .cal-dh,.cal-cel.ini .cal-dh{margin-left:auto}
.cal-segs{display:flex;flex-direction:column;gap:3px}
.cal-seg{display:flex;flex-direction:column;gap:1px;padding:3px 6px 3px 7px;border-radius:7px;background:color-mix(in srgb,var(--c) 10%,#fff);border-left:4px solid var(--c);min-width:0}
.cal-seg-cod{font-size:10.5px;font-weight:800;color:var(--c);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-seg-h{display:flex;flex-wrap:wrap;gap:0 5px;font-size:10.5px;font-weight:700;color:#34475a;line-height:1.25}
.cal-seg-h em{font-style:normal;color:#1f7a4d}
.cal-cel.nolectivo small.nl{font-size:10.5px}
@media(max-width:700px){.cal-cel{min-height:66px;padding:4px}.cal-seg{padding:2px 3px 2px 4px;border-left-width:3px}.cal-seg-cod{font-size:9px}.cal-seg-h{font-size:8.5px}.cal-dh{font-size:9px;padding:0 4px}.cal-dcab .cal-pin{display:none}}
.cal-dias{grid-template-columns:repeat(7,minmax(0,1fr))}.cal-dow{grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-cel{min-width:0;overflow:hidden}
.cal-cel:not(.doble) .cal-seg-h em{display:none}
@media(max-width:700px){.cal-dias{gap:3px}.cal-cel{min-height:58px;padding:3px;border-radius:8px}.cal-seg-f{display:none}.cal-cel .cal-seg-h em{display:inline}.cal-dh{display:none}.cal-dcab b{font-size:11px}.cal-franja{display:none}.cal-cel.nolectivo small.nl{font-size:8px;overflow:hidden;text-overflow:ellipsis}}
/* 🧭 guía para montar el tablón (01/10/2026) */
.tg{border:2px solid #CFE3F0;background:linear-gradient(180deg,#F5FAFE,#fff)}
.tg-cab{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.tg-cab h3{margin:0}.tg-ico{flex:0 0 44px;height:44px;border-radius:12px;background:#EEF6FB;display:grid;place-items:center;font-size:1.4rem}
.tg-opc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.tg-o{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:14px;border-radius:14px;border:2px solid #E1E7ED;background:#fff;font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.tg-o:hover{border-color:#1A8CC4}.tg-o.on{border-color:#0B5E86;background:#EEF6FB;box-shadow:0 6px 16px rgba(11,94,134,.15)}
.tg-o b{font-size:1rem;color:#0D1B2A}.tg-o small{color:#5B6B7A;font-size:.84rem;line-height:1.35}
.tg-o-i{font-size:1.3rem}.tg-o .pad-logo{display:inline-grid;place-items:center;width:26px;height:26px;font-size:.9rem}
.tg-o em{position:absolute;top:10px;right:10px;font-style:normal;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#1F8A5B;color:#fff;padding:2px 8px;border-radius:999px}
.tg-pasos{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tg-paso{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid #E6EDF3;border-radius:14px;padding:12px 14px}
.tg-n{flex:0 0 30px;height:30px;border-radius:50%;background:#1A8CC4;color:#fff;font-weight:800;display:grid;place-items:center}
.tg-paso>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.tg-paso b{color:#0D1B2A}.tg-paso small{color:#5B6B7A;line-height:1.4}
.tg-ruta{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.tg-ruta span{background:#EEF6FB;color:#0B5E86;font-weight:700;font-size:.82rem;padding:3px 8px;border-radius:8px}.tg-ruta i{font-style:normal;color:#9AA9B6}
.tg-nombre{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tg-nombre code{font-size:.95rem;font-weight:800;background:#0D1B2A;color:#FFC857;padding:6px 10px;border-radius:8px;word-break:break-all}
.tg-docs{margin:0;padding-left:18px;columns:2;column-gap:20px;font-size:.88rem;color:#34475A}.tg-docs li{margin:2px 0;break-inside:avoid}
@media(max-width:640px){.tg-opc{grid-template-columns:minmax(0,1fr)}.tg-docs{columns:1}}
.tg-paso .btn{align-self:flex-start;width:auto}
/* 📤 Comparte · portada con tarjetas (01/10/2026) */
.cpx-cab{background:radial-gradient(circle at 90% 0%,rgba(242,178,62,.35),transparent 40%),radial-gradient(circle at 0% 120%,rgba(123,79,191,.35),transparent 45%),linear-gradient(120deg,#0D1B2A,#12466b 60%,#1A8CC4)}
.cpx-barra{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border-bottom:1px solid #E3EAF0}
.cpx-barra.oculto{display:none}
.cpx-volver{min-height:40px;padding:6px 14px;border-radius:999px;border:1.5px solid #D5DFE7;background:#fff;font:inherit;font-weight:700;color:#0B5E86;cursor:pointer}.cpx-volver:hover{background:#EEF6FB}
.cpx-bt{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:1.05rem;color:#0D1B2A}.cpx-bt i{font-style:normal;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--a) 14%,#fff)}
.cpx-hola{max-width:1100px;margin:6px auto 16px}.cpx-hola h2{margin:0;font-size:clamp(1.35rem,2.6vw,1.9rem);color:#0D1B2A}.cpx-hola p{margin:4px 0 0;color:#5B6B7A}
.cpx-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1100px;margin:0 auto}
.cpx-op{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;text-align:left;padding:20px;min-height:132px;border:0;border-radius:22px;cursor:pointer;font:inherit;color:#fff;background:linear-gradient(135deg,var(--a),var(--b));box-shadow:0 12px 28px color-mix(in srgb,var(--b) 35%,transparent);transition:transform .2s,box-shadow .2s;animation:cpxIn .45s cubic-bezier(.2,.8,.3,1.1) both;animation-delay:calc(var(--i) * 70ms)}
.cpx-op::before{content:"";position:absolute;width:180px;height:180px;right:-50px;top:-60px;border-radius:50%;background:rgba(255,255,255,.12);transition:transform .4s}
.cpx-op::after{content:"";position:absolute;width:120px;height:120px;right:40px;bottom:-70px;border-radius:50%;background:rgba(255,255,255,.08)}
.cpx-op:hover{transform:translateY(-4px);box-shadow:0 18px 36px color-mix(in srgb,var(--b) 45%,transparent)}.cpx-op:hover::before{transform:scale(1.15)}.cpx-op:active{transform:scale(.98)}
.cpx-op-grande{grid-column:1/-1;min-height:150px}
.cpx-op-ic{position:relative;z-index:1;flex:0 0 64px;height:64px;border-radius:18px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:2rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);animation:cpxFlota 3.5s ease-in-out infinite;animation-delay:calc(var(--i) * .4s)}
.cpx-op-tx{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.cpx-op-tx b{font-size:1.2rem;letter-spacing:-.01em}.cpx-op-tx small{font-size:.9rem;line-height:1.4;color:rgba(255,255,255,.9)}
.cpx-op-tx em{align-self:flex-start;margin-top:4px;font-style:normal;font-size:.78rem;font-weight:800;background:rgba(255,255,255,.22);padding:4px 10px;border-radius:999px}
.cpx-op-fl{position:relative;z-index:1;flex:0 0 40px;height:40px;border-radius:50%;background:#fff;color:var(--b);display:grid;place-items:center;font-weight:900;font-size:1.1rem;transition:transform .2s}.cpx-op:hover .cpx-op-fl{transform:translateX(4px)}
@keyframes cpxFlota{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:700px){.cpx-menu{grid-template-columns:minmax(0,1fr);gap:10px}.cpx-op{padding:16px;min-height:0;gap:12px;border-radius:18px}.cpx-op-ic{flex-basis:52px;height:52px;font-size:1.6rem}.cpx-op-tx b{font-size:1.05rem}.cpx-op-tx small{font-size:.84rem}.cpx-op-fl{display:none}}
@media (prefers-reduced-motion:reduce){.cpx-op,.cpx-op-ic{animation:none}}
.cpx-of-pie{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.cpx-of-pie .cpx-chip{margin-top:2px}.cpx-chip:not(.rojo):not(.ambar):not(.azul){background:#F1F4F7;color:#34475A}
.cpx-of-det textarea{width:100%;box-sizing:border-box;border-radius:12px;border:1.5px solid #D5DFE7;padding:10px 12px;font:inherit;font-size:15px;min-height:160px}
.cpx-lab{font-size:.85rem;font-weight:700;color:#0D1B2A}
.cpx-of-acc{display:flex;flex-wrap:wrap;gap:8px}.cpx-of-acc .btn{min-height:46px}
@media(max-width:700px){.cpx-of-acc .btn{flex:1 1 calc(50% - 8px)}}
.cpx-of-acc a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.cpx-mas{display:block;margin:14px auto 4px;min-height:46px}
.cpx-cv.activo,.cpx-of.activo{outline:3px solid #E2445C;outline-offset:2px}
.cpx-td-fmt{display:flex;gap:8px;flex-wrap:wrap}
.cpx-td-prev{display:flex;justify-content:center;background:#EEF3F7;border-radius:16px;padding:14px;min-height:200px}
.cpx-td-prev img{max-width:100%;max-height:70vh;border-radius:12px;box-shadow:0 10px 30px rgba(13,27,42,.25)}
/* 🍷 promoción Wine Club (café del evento) */
.pr-panel h3{margin:0 0 6px;font-size:17px}
.pr-pcab{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#3A0A16,#22050C);color:#F5EAD6;border-radius:14px;padding:14px 16px;margin-bottom:12px}
.pr-pcab b{display:block;font-size:15.5px}.pr-pcab small{color:#D8C3A5}.pr-pcab .btn{margin-left:auto;flex:none}
.pr-plz{display:grid;grid-template-columns:repeat(5,16px);gap:5px;flex:none}.pr-plz i{width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.15)}.pr-plz i.res{background:#D9B76A}.pr-plz i.ok{background:#7EC48A}
.pr-lista{display:grid;gap:8px;margin-top:10px}
.pr-res-f{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--borde,#E3E9EF);border-radius:14px;padding:12px 14px;background:#fff;animation:cpxEntra .35s ease both}
.pr-res-c b{display:block}.pr-res-c small{display:block;color:var(--suave,#5B6B7B);font-size:12.5px}
.pr-res-a{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.pr-e{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;white-space:nowrap}.pr-e-res{background:#FFF1D6;color:#8A5A00}.pr-e-ok{background:#DFF3E4;color:#1F6B35}.pr-e-esp{background:#E8EEF7;color:#2E4A7A}.pr-e-anu{background:#F3E3E3;color:#8E2B2B}
.pr-cursos{display:grid;gap:8px}.pr-cur{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--borde,#E3E9EF);border-radius:12px;padding:10px 12px;opacity:.7}.pr-cur.on{opacity:1;border-color:#D9B76A;background:#FFFBF2}.pr-cur b{display:block;font-size:14px}.pr-cur small{color:var(--suave,#5B6B7B);font-size:12px}
.pr-adm{display:grid;gap:10px}.pr-sms{background:#F4F6F8;border-radius:12px;padding:12px;font-family:ui-monospace,monospace;font-size:13.5px;margin:8px 0}
@keyframes cpxEntra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:700px){.pr-res-f{flex-direction:column;align-items:stretch}.pr-res-a{justify-content:flex-start}.pr-res-a .btn{flex:1 1 auto;min-height:44px}.pr-pcab{flex-wrap:wrap}}
/* aviso de cambios sin guardar dentro de la ventana y borrador recuperado (01/10/2026) */
.mc-pregunta{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;background:#FFF6E0;border:1.5px solid #F2B23E;border-radius:14px;padding:10px 12px;margin-top:10px;box-shadow:0 -6px 18px rgba(13,27,42,.12);animation:cpxEntra .2s ease both}
.mc-pregunta span{flex:1 1 220px;font-weight:700;color:#5A3D00}
.ee-borr{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#EAF6EE;border:1.5px solid #7EC48A;border-radius:14px;padding:10px 12px;margin-bottom:12px}.ee-borr span{flex:1 1 240px;font-size:14px;color:#1F5130}
.rail-item.rail-wine{background:linear-gradient(135deg,#5A1122,#2A0710);color:#F5EAD6;border:1px solid rgba(217,183,106,.5)}.rail-item.rail-wine .rw-ic{width:22px;text-align:center;font-size:17px}.rail-item.rail-wine:hover{filter:brightness(1.12)}
.em-on{display:inline-block;background:#EDE7FB;color:#5B3BA8;border-radius:999px;padding:1px 8px;font-weight:800;font-size:11px}
.res-chip.em-chip-on{border-color:#7B4FBF;color:#5B3BA8}.res-chip.em-chip-on.activo{background:#7B4FBF;color:#fff}
/* 🧩 ventana «Una página con varios cursos» (rediseño 01/10/2026) */
.emv-modal{padding:0!important;overflow:hidden!important}
.emv{display:flex;flex-direction:column;height:100%;max-height:100%;background:#F4F7FA}
.emv-cab{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:20px 22px 16px;background:linear-gradient(120deg,#145C3C,#1F8A5B 55%,#2FB37A);color:#fff}
.emv-cab h3{margin:0 0 4px;font-size:22px;color:#fff}.emv-cab p{margin:0;opacity:.92;font-size:14.5px;max-width:760px}
.emv-x{flex:none;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.15);color:#fff;font-size:18px;cursor:pointer}
.emv-filtros{position:sticky;top:0;z-index:3;display:grid;gap:10px;padding:14px 22px;background:#fff;border-bottom:1px solid #E3E9EF;box-shadow:0 6px 16px rgba(13,27,42,.05)}
.emv-nombre,.emv-buscar{width:100%;box-sizing:border-box;border:1.5px solid #D5DFE7;border-radius:12px;padding:12px 14px;font:inherit;font-size:15px;min-height:46px}
.emv-nombre{font-weight:700;border-color:#9FD5BB;background:#F3FBF7}
.emv-fila{display:flex;gap:10px;align-items:center}.emv-cuenta{flex:none;font-size:13px;color:#5B6B7B;font-weight:700}
.emv-chips-f{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.emv-chips-f .res-chip{flex:none;min-height:38px}
.emv-cuerpo{flex:1;overflow-y:auto;padding:16px 22px 20px}
.emv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.emv-card{position:relative;display:flex;flex-direction:column;background:#fff;border:2px solid transparent;border-radius:16px;overflow:hidden;cursor:pointer;box-shadow:0 4px 14px rgba(13,27,42,.07);transition:transform .15s,box-shadow .15s,border-color .15s;animation:cpxEntra .3s ease both}
.emv-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(13,27,42,.12)}
.emv-card input{position:absolute;opacity:0;pointer-events:none}
.emv-card.sel{border-color:var(--sc);box-shadow:0 0 0 4px color-mix(in srgb,var(--sc) 18%,transparent),0 10px 24px rgba(13,27,42,.12)}
.emv-img{position:relative;height:96px;background:linear-gradient(135deg,var(--sc),#0D1B2A) center/cover no-repeat;display:flex;align-items:center;justify-content:center}.emv-img i{font-style:normal;font-size:34px;opacity:.85}
.emv-tick{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.92);border:2px solid #fff;color:transparent;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 2px 8px rgba(0,0,0,.2);transition:all .15s}
.emv-card.sel .emv-tick{background:var(--sc);color:#fff;transform:scale(1.08)}
.emv-b{display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px}.emv-b b{font-size:14.5px;line-height:1.3;color:#0D1B2A}.emv-b small{font-size:12.5px;color:#5B6B7B}.emv-cod{font-size:11.5px!important;color:#8A99A8!important}
.emv-chips{display:flex;flex-wrap:wrap;gap:6px}.emv-sede{background:color-mix(in srgb,var(--sc) 12%,#fff);color:var(--sc);border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:800}.emv-urge{background:#FDECEC;color:#B03030;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:800}.emv-niv{background:#EEF3FB;color:#2F5C9E;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:800}
.emv-mas{display:block;margin:16px auto 0;min-height:46px}
.emv-pie{display:flex;gap:10px;align-items:center;padding:12px 22px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #E3E9EF;box-shadow:0 -6px 16px rgba(13,27,42,.06)}
.emv-sel{flex:1;font-size:14px;color:#334}.emv-sel b{font-size:18px;color:#1F8A5B}
.emv-pie .btn{min-height:46px}
@media(max-width:700px){.emv-cab{padding:16px}.emv-cab h3{font-size:19px}.emv-filtros,.emv-cuerpo{padding-left:12px;padding-right:12px}.emv-grid{grid-template-columns:1fr 1fr;gap:8px}.emv-img{height:70px}.emv-b b{font-size:13.5px}
 .emv-pie{flex-wrap:wrap;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.emv-sel{flex:1 1 100%}.emv-pie .btn{flex:1}#emTodos{display:none}}
@media(max-width:380px){.emv-grid{grid-template-columns:1fr}}
.emv #enlMultiLista{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:0}
.emv .em-item.emv-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border:2px solid transparent;border-radius:16px;background:#fff;flex-shrink:0}
.emv .em-item.emv-card.sel{border-color:var(--sc);background:#fff}
.emv .em-item.oculto{display:none}
@media(max-width:700px){.emv #enlMultiLista{grid-template-columns:1fr 1fr;gap:8px}}
@media(max-width:380px){.emv #enlMultiLista{grid-template-columns:1fr}}
.est-rep{margin:4px 0 2px;font-size:12.5px;font-weight:700;color:#8A5A00;background:#FFF1D6;border-radius:8px;padding:4px 8px}
.est-contac{width:100%;min-height:44px;margin:8px 0 4px}
/* 🏦 02/10 · EstudiaEnADF: pago por transferencia con justificante */
.est-tr-b{width:100%;min-height:44px;margin-top:8px;border:1.5px solid #c9dcea;border-radius:12px;background:#fff;color:#0f4c70;font:inherit;font-weight:800;font-size:14px;cursor:pointer;transition:background .15s,border-color .15s}.est-tr-b:hover{background:#f1f8fd;border-color:#0f6a9c}
.est-just{margin-top:10px;border-radius:12px;padding:10px 12px;background:#e9f7ef;border:1px solid #bfe5cf;font-size:13.5px;color:#14532d}.est-just.pend{background:#fff7e6;border-color:#f3d79a;color:#6b4a00}
.est-just>span{display:block;margin-bottom:8px;line-height:1.4}.est-just>div{display:flex;gap:8px;flex-wrap:wrap}.est-just .est-b{flex:1;min-width:130px;background:#fff}.est-b-ok{border-color:#1b7a43!important;color:#1b7a43!important;font-weight:800}
.est-pag-pc{background:#fff2d6!important;color:#7a4d00!important}
.est-just-ver{text-align:center;max-height:65vh;overflow:auto;border-radius:12px;background:#f3f6f9;padding:8px}.est-just-ver img{max-width:100%;border-radius:10px}
.ec-modo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ec-modo button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:12px 14px;border:1.5px solid #dbe5ee;border-radius:14px;background:#fff;font:inherit;cursor:pointer;min-height:64px;transition:border-color .15s,background .15s,box-shadow .15s}
.ec-modo button b{font-size:14.5px}.ec-modo button small{color:#6b7a88;font-size:12.5px;line-height:1.35}.ec-modo button.on{border-color:#0f6a9c;background:#f0f7fc;box-shadow:0 0 0 3px rgba(15,106,156,.12)}
.ec-cfg{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border-radius:12px;background:#0d1b2a;color:#fff}.ec-cfg>span{font-size:22px}.ec-cfg div{flex:1;min-width:0}.ec-cfg b{display:block}.ec-cfg small{opacity:.8;font-family:ui-monospace,Menlo,monospace;word-break:break-all}.ec-cfg .btn-link{color:#9fd3f5}
.ec-cfg-f{margin-top:10px;padding:12px 14px;border:1.5px dashed #c9dcea;border-radius:14px;background:#f8fbfd}.ec-cfg-f>small{display:block;color:#6b7a88;margin:2px 0 8px}.ec-cfg-t{color:#6b7a88;font-size:12.5px}
@media(max-width:560px){.ec-modo{grid-template-columns:1fr}}
/* 👥 02/10 · plazas visibles y editables en la tarjeta del curso */
.cu-plz{display:inline-flex;align-items:center;gap:2px}.cu-plz-mal{background:#fdecec;color:#b42323;border-radius:8px;padding:2px 8px;font-weight:700}
.pl-num{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0 6px}.pl-num input{width:110px;text-align:center;font-size:28px;font-weight:800;padding:10px;border:2px solid #dbe5ee;border-radius:14px}.pl-num input:focus{outline:none;border-color:#0f6a9c}
.pl-num button{width:52px;height:52px;border-radius:50%;border:0;background:#eef5fb;font-size:24px;font-weight:800;cursor:pointer;color:#0f4c70}.pl-num button:hover{background:#d8ebf7}
.pl-rap{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:6px}.pl-rap button{border:1.5px solid #dbe5ee;background:#fff;border-radius:999px;padding:6px 14px;font:inherit;font-weight:700;cursor:pointer;min-height:38px}.pl-rap button.on{border-color:#0f6a9c;background:#f0f7fc}
/* 🎓 02/10 · tutor/a dual del centro dentro del periodo FEM */
.fem-tdual{border-color:#c9dcea;background:#f8fbfd}
.fem-du-ok{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;padding:6px 0}.fem-du-ok b{font-size:1rem}
.fem-du-falta{background:#fff2d6!important;color:#7a4d00!important}
.fem-du-docs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 10px}.fem-du-docs small{width:100%;color:var(--tenue,#667)}
.fem-du-chip{border:1.5px solid #dbe5ee;background:#fff;border-radius:999px;padding:7px 12px;font:inherit;font-weight:600;cursor:pointer;min-height:40px}.fem-du-chip:hover{border-color:#0f6a9c;background:#f0f7fc}
.fem-du-res{display:grid;gap:6px;margin-top:6px}
/* ✅ 02/10 · Tareas y plazos */
.tab-n{display:inline-flex;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d92d20;color:#fff;font-size:11px;font-style:normal;font-weight:800;align-items:center;justify-content:center;margin-left:4px}
.nav-n-rojo{background:#d92d20!important;color:#fff!important}
.tar-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tar-cab h3{margin:0 0 2px}.tar-cab small{color:var(--tenue,#667)}.tar-cab-b{display:flex;gap:8px;flex-wrap:wrap}
.tar-vcab{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}.tar-vcab h2{margin:0}.tar-vcab p{margin:4px 0 0;color:var(--tenue,#667)}
.tar-sedes{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px;scrollbar-width:none}.tar-sede{flex:none;border:1.5px solid var(--linea,#dfe3ea);background:#fff;border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer;min-height:40px;white-space:nowrap}.tar-sede.on{background:#0d1b2a;border-color:#0d1b2a;color:#fff}
.tar-filtros{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.tar-chips{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.tar-chip{border:1.5px solid var(--linea,#dfe3ea);background:#fff;border-radius:12px;padding:8px 12px;font:inherit;font-weight:700;font-size:13.5px;cursor:pointer;min-height:40px}.tar-chip i{font-style:normal;background:#eef2f6;border-radius:8px;padding:1px 7px;margin-left:4px;font-size:12px}
.tar-chip.on{border-color:#0f6a9c;background:#f0f7fc;color:#0f4c70}.tar-chip.rojo i{background:#fdecec;color:#b42323}.tar-chip.ambar i{background:#fff2d6;color:#7a4d00}
.tar-q{flex:0 1 260px;min-width:180px;padding:10px 12px;border:1.5px solid var(--linea,#dfe3ea);border-radius:12px;font:inherit;font-size:15px}
.tar-dia{font-weight:800;font-size:13px;color:#5b6b7b;margin:14px 2px 6px}
.tar-lista{display:grid;gap:8px}
.tar-it{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--linea,#e3e8ee);border-radius:14px;padding:12px 12px 12px 12px;transition:opacity .2s,background .2s;animation:tarIn .25s ease both}
@keyframes tarIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.tar-it.tar-e-atrasada{border-left:4px solid #d92d20}.tar-it.tar-e-hoy{border-left:4px solid #f5a623}.tar-it.hecha{opacity:.72;background:#f8fafb}.tar-it.hecha .tar-t{text-decoration:line-through;color:#6b7a88}
.tar-chk{flex:none;width:30px;height:30px;border-radius:9px;border:2px solid #9fb3c4;background:#fff;color:#fff;font-weight:900;font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;margin-top:1px}
.tar-chk:hover{border-color:#1b7a43}.tar-it.hecha .tar-chk{background:#1b7a43;border-color:#1b7a43}
.tar-cu{flex:1;min-width:0}.tar-t{display:block;font-size:15px;line-height:1.35}
.tar-curso{display:block;border:0;background:none;padding:2px 0 0;color:#0f6a9c;font:inherit;font-size:13px;font-weight:700;text-align:left;cursor:pointer}.tar-curso small{color:#6b7a88;font-weight:600}.tar-curso:hover{text-decoration:underline}
.tar-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tar-meta span{font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px;background:#eef2f6;color:#3b4a58}
.tar-f-atr{background:#fdecec!important;color:#b42323!important}.tar-f-hoy{background:#fff2d6!important;color:#7a4d00!important}.tar-f-pronto{background:#e8f3fb!important;color:#0f4c70!important}.tar-f-ev{background:#f1ecfb!important;color:#5b3a9a!important}
.tar-canal{background:#f4f6f8!important;color:#5b6b7b!important}.tar-quien{background:#e9f7ef!important;color:#14532d!important}
.tar-acc{margin-top:6px;font-size:13px;color:#3b4a58}.tar-acc summary{cursor:pointer;color:#0f6a9c;font-weight:700;font-size:12.5px}.tar-acc p{margin:6px 0 0;line-height:1.45}
.tar-bts{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.tar-bell,.tar-del{border:1px solid var(--linea,#e3e8ee);background:#fff;border-radius:10px;min-width:40px;height:40px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 8px}
.tar-bell.on{background:#fff7e0;border-color:#f3d79a}.tar-bell small{font-size:11px;font-weight:800;color:#7a4d00}
.tar-grupo{margin:12px 0}.tar-grupo summary{cursor:pointer;font-weight:800;margin-bottom:8px}.tar-grupo summary i{font-style:normal;background:#eef2f6;border-radius:8px;padding:1px 8px;margin-left:4px;font-size:12px}
.tar-vacio{text-align:center;padding:26px 16px}.tar-vacio-i{font-size:38px;display:block;margin-bottom:6px}.tar-vacio p{color:var(--tenue,#667);max-width:460px;margin:6px auto 12px}
.tar-pag{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0;flex-wrap:wrap;color:#5b6b7b;font-weight:700}
.tar-frecs{display:grid;gap:8px;margin:12px 0}.tar-frec{border:1.5px solid var(--linea,#dfe3ea);background:#fff;border-radius:12px;padding:12px 14px;font:inherit;font-weight:700;text-align:left;cursor:pointer;min-height:48px}.tar-frec.on{border-color:#0f6a9c;background:#f0f7fc}
.tar-drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed #b9d3e6;border-radius:16px;padding:18px;cursor:pointer;background:#f6fafd;text-align:center}.tar-drop input{display:none}.tar-drop small{color:#6b7a88}
.tar-docs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tar-doc{background:#eef5fb;color:#0f4c70;border-radius:10px;padding:6px 10px;font-size:13px;font-weight:700}.tar-doc small{font-weight:600;color:#5b6b7b}.tar-doc-sub{background:#fff7e0;color:#7a4d00}
.tar-ia{display:flex;gap:12px;align-items:center;background:#f0f7fc;border-radius:14px;padding:14px;margin-top:10px}.tar-ia small{display:block;color:#5b6b7b}.tar-ia-sp{width:28px;height:28px;border-radius:50%;border:3px solid #cfe3f2;border-top-color:#0f6a9c;animation:tarGira 1s linear infinite;flex:none}
@keyframes tarGira{to{transform:rotate(360deg)}}
.tar-rg-top{display:flex;gap:12px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin:8px 0 12px}
.tar-rg-lista{display:grid;gap:10px;max-height:55vh;overflow:auto;padding:2px;margin-bottom:10px}
.tr-r{border:1px solid var(--linea,#e3e8ee);border-radius:14px;padding:10px 12px;background:#fff}.tr-r.off{opacity:.5;background:#f6f7f9}
.tr-r1{display:flex;gap:10px;align-items:center}.tr-tit{flex:1;min-width:0;padding:9px 10px;border:1.5px solid var(--linea,#dfe3ea);border-radius:10px;font:inherit;font-weight:700}
.tr-del{border:0;background:#fdecec;color:#b42323;border-radius:10px;width:36px;height:36px;cursor:pointer;font-weight:800}
.tr-r2{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.tr-r2 select,.tr-r2 input{padding:7px 8px;border:1.5px solid var(--linea,#dfe3ea);border-radius:10px;font:inherit;font-size:13.5px;background:#fff}.tr-n{width:76px}.tr-can{width:130px}
.tr-cuando{margin-top:6px;font-size:13px;font-weight:700;color:#0f4c70}.tr-det{margin-top:6px}.tr-det summary{cursor:pointer;font-size:12.5px;color:#5b6b7b;font-weight:700}.tr-det textarea{width:100%;margin-top:6px;border:1.5px solid var(--linea,#dfe3ea);border-radius:10px;padding:8px;font:inherit;font-size:13.5px}.tr-det small{color:#6b7a88}
.tr-sw{position:relative;width:42px;height:24px;flex:none}.tr-sw input{opacity:0;width:0;height:0}.tr-sw span{position:absolute;inset:0;background:#cfd8e1;border-radius:24px;cursor:pointer;transition:.2s}.tr-sw span:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.tr-sw input:checked+span{background:#1b7a43}.tr-sw input:checked+span:before{transform:translateX(18px)}
@media(max-width:640px){.tar-it{padding:12px 10px}.tar-q{flex:1 1 100%}.tar-bts{flex-direction:row}.tr-r2 select,.tr-r2 input{flex:1 1 45%}}
.tr-r{min-width:0;box-sizing:border-box}.tr-r1{min-width:0}.tr-tit{width:0}.tr-r2 select,.tr-r2 input{min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:640px){.tar-rg-lista{max-height:none}.tr-r2 select,.tr-r2 input{flex:1 1 calc(50% - 6px)}.tr-n{width:auto}.tr-can{width:auto}}
#cursoTareas>.al{margin:8px 0 4px;padding:10px 12px;border-radius:12px}
.tar-rg-lista,.tar-lista{grid-template-columns:minmax(0,1fr)}.tar-rg-lista>*,.tar-lista>*{min-width:0}
/* 02/10 · tipos de tarea y sede fija */
.tar-tipos{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px;scrollbar-width:none}.tar-tipos-sel{flex-wrap:wrap;overflow:visible}
.tar-tipob{flex:none;border:1.5px solid var(--linea,#dfe3ea);background:#fff;border-radius:10px;padding:7px 12px;font:inherit;font-weight:700;font-size:13px;cursor:pointer;min-height:38px;white-space:nowrap}.tar-tipob i{font-style:normal;background:#eef2f6;border-radius:8px;padding:0 7px;margin-left:4px;font-size:12px}
.tar-tipob.on{box-shadow:0 0 0 2px currentColor inset}
.tar-tipo-oficial{color:#1d4f91}.tar-tipob.tar-tipo-oficial.on{background:#e8f0fb}.tar-meta .tar-tipo-oficial{background:#e8f0fb!important;color:#1d4f91!important}
.tar-tipo-difusion{color:#a3410f}.tar-tipob.tar-tipo-difusion.on{background:#fdeee5}.tar-meta .tar-tipo-difusion{background:#fdeee5!important;color:#a3410f!important}
.tar-tipo-alumnado{color:#5b3a9a}.tar-tipob.tar-tipo-alumnado.on{background:#f1ecfb}.tar-meta .tar-tipo-alumnado{background:#f1ecfb!important;color:#5b3a9a!important}
.tar-tipo-documentacion{color:#1b6b5a}.tar-tipob.tar-tipo-documentacion.on{background:#e6f5f1}.tar-meta .tar-tipo-documentacion{background:#e6f5f1!important;color:#1b6b5a!important}
.tar-tipo-otra{color:#4a5866}.tar-tipob.tar-tipo-otra.on{background:#eef2f6}
.tar-tipob[data-tartipo=""].on,.tar-tipob[data-tartipoc=""].on{background:#0d1b2a;color:#fff;box-shadow:none;border-color:#0d1b2a}
.tar-fijar{flex:none;border:1.5px dashed #0f6a9c;background:#f0f7fc;color:#0f4c70;border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer;min-height:40px;white-space:nowrap}.tar-fijar-q{border-style:solid;border-color:#cfd8e1;background:#fff;color:#5b6b7b}
.tr-tipo{min-width:0}
/* 02/10 · pasos de cada tarea */
.tar-pasos{margin-top:8px}.tar-pasos summary{cursor:pointer;color:#0f6a9c;font-weight:700;font-size:12.5px}
.tar-pl{display:grid;gap:6px;margin-top:8px;padding-left:2px}
.tar-p{display:flex;align-items:center;gap:8px;background:#f8fafb;border:1px solid #edf1f4;border-radius:10px;padding:6px 8px;min-width:0}
.tar-p.h .tar-pt{text-decoration:line-through;color:#6b7a88}.tar-pt{flex:1;min-width:0;font-size:13.5px;overflow-wrap:anywhere}.tar-pt small{color:#1b7a43;font-weight:700;text-decoration:none;display:inline}
.tar-pc{flex:none;width:24px;height:24px;border-radius:7px;border:2px solid #9fb3c4;background:#fff;color:#fff;font-weight:900;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center}.tar-p.h .tar-pc{background:#1b7a43;border-color:#1b7a43}
.tar-pacc{display:flex;gap:2px;flex:none}.tar-pb{border:0;background:transparent;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:13px}.tar-pb:hover{background:#e8eef3}
.tar-pe-in,.tar-paso-in{flex:1;min-width:0;padding:8px 10px;border:1.5px solid var(--linea,#dfe3ea);border-radius:10px;font:inherit;font-size:14px}
.tar-padd{display:flex;gap:6px;align-items:center}
.tar-pprog{background:#eef5fb!important;color:#0f4c70!important}.tar-pprog.ok{background:#e9f7ef!important;color:#14532d!important}
/* ✅ 02/10 · Mis tareas como programa de tareas: listas · filas · detalle */
.tk{display:grid;grid-template-columns:250px minmax(0,1fr);gap:0;background:#fff;border:1px solid #e3e9ef;border-radius:18px;overflow:hidden;min-height:70vh;box-shadow:0 2px 14px rgba(13,27,42,.05)}
.tk-side{background:#f4f7fa;border-right:1px solid #e3e9ef;padding:16px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}
.tk-sedebox{padding:4px 6px 12px;border-bottom:1px solid #e3e9ef;margin-bottom:8px}.tk-sedebox label{display:block;font-size:12px;font-weight:700;color:#5b6b7b;margin-bottom:6px}
.tk-sedesel{display:flex;gap:6px}.tk-sedesel select{flex:1;min-width:0;padding:9px 10px;border:1.5px solid #d7e0e8;border-radius:10px;font:inherit;font-weight:700;background:#fff;color:#0d1b2a}
.tk-pin{flex:none;border:1.5px dashed #0f6a9c;background:#fff;color:#0f4c70;border-radius:10px;padding:0 10px;font:inherit;font-weight:700;font-size:13px;cursor:pointer;min-height:40px}.tk-pin.on{border-style:solid;background:#e6f1f8}
.tk-nav{display:flex;flex-direction:column;gap:2px}
.tk-li{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;border-radius:10px;padding:9px 10px;font:inherit;font-size:14.5px;color:#25313d;cursor:pointer;text-align:left;min-height:42px}
.tk-li:hover{background:#e8eef4}.tk-li.on{background:#fff;box-shadow:0 1px 4px rgba(13,27,42,.08);color:#0d1b2a;font-weight:800}
.tk-li-i{width:22px;text-align:center;flex:none;font-size:16px;display:flex;justify-content:center}.tk-li-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-li i{font-style:normal;font-size:12px;font-weight:800;color:#5b6b7b;background:#e3e9ef;border-radius:999px;padding:1px 8px}.tk-li.on i{background:#0d1b2a;color:#fff}
.tk-li-alerta i{background:#d92d20!important;color:#fff!important}
.tk-h{margin:14px 10px 4px;font-size:12px;font-weight:800;color:#7a8896;letter-spacing:.02em}
.tk-vacio-p{font-size:12.5px;color:#7a8896;margin:2px 10px;line-height:1.4}
.tk-imp{margin-top:auto;border:1.5px dashed #b9cbd9;background:transparent;border-radius:12px;padding:10px;font:inherit;font-weight:700;color:#0f4c70;cursor:pointer}
.tk-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#9aa8b5;border:2px solid transparent;flex:none}
.tk-c-oficial.tk-dot,.tk-dot.tk-c-oficial{background:#2563c9}.tk-dot.tk-c-difusion{background:#e0631d}.tk-dot.tk-c-alumnado{background:#7c4dce}.tk-dot.tk-c-documentacion{background:#1f9b7f}.tk-dot.tk-c-otra{background:#8a98a6}
.tk-main{display:flex;flex-direction:column;min-width:0}
.tk-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:22px 24px 14px;border-bottom:1px solid #edf1f5}
.tk-head h2{margin:0;font-size:26px;letter-spacing:-.01em;color:#0d1b2a}.tk-head p{margin:4px 0 0;color:#6b7a88;font-size:13.5px}
.tk-head-b{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tk-q{width:240px;max-width:100%;padding:10px 12px;border:1.5px solid #dfe6ec;border-radius:12px;font:inherit;font-size:14.5px;background:#f7f9fb}.tk-q:focus{background:#fff;outline:none;border-color:#0f6a9c}
.tk-rows{padding:4px 12px 16px}
.tk-grp{position:sticky;top:0;z-index:1;background:#fff;padding:14px 12px 6px;font-size:13px;font-weight:800;color:#5b6b7b}.tk-grp.atr{color:#b42323}
.tk-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;cursor:pointer;border-bottom:1px solid #f0f3f6;transition:background .12s}
.tk-row:hover{background:#f5f8fb}.tk-row.sel{background:#e9f2f9;box-shadow:inset 3px 0 0 #0f6a9c}.tk-row:focus-visible{outline:2px solid #0f6a9c;outline-offset:-2px}
.tk-chk{flex:none;width:24px;height:24px;border-radius:50%;border:2px solid #a7b6c3;background:#fff;color:transparent;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:all .15s}
.tk-chk svg{width:15px;height:15px}.tk-chk:hover{border-color:#1b7a43;color:#1b7a43}
.tk-row.hecha .tk-chk,.tk-chk[aria-checked="true"]{background:#1b7a43;border-color:#1b7a43;color:#fff}
.tk-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.tk-tit{font-size:15px;font-weight:650;color:#13202d;line-height:1.3}.tk-row.hecha .tk-tit{text-decoration:line-through;color:#8693a0;font-weight:500}
.tk-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:#6b7a88;min-width:0}.tk-sub .tk-dot{width:8px;height:8px}
.tk-cur{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}.tk-sede{color:#8a98a6}
.tk-mini{background:#eef3f7;border-radius:6px;padding:0 6px;font-weight:700;color:#3b4a58}.tk-mini.ok{background:#e6f4ec;color:#1b6b3d}
.tk-tags{display:flex;gap:4px;flex:none}.tk-tag{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;border:0;font-family:inherit;white-space:nowrap}
.tk-tag-mas{background:#eef3f7;color:#5b6b7b}
.tk-star{flex:none;border:0;background:transparent;width:34px;height:34px;border-radius:50%;cursor:pointer;color:#b8c4cf;display:flex;align-items:center;justify-content:center;gap:6px;padding:0}
.tk-star svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.tk-star:hover{color:#e0a100;background:#fff7e0}
.tk-star.on{color:#f2a900}.tk-star.on svg{fill:currentColor}
.tk-due{flex:none;min-width:70px;text-align:right;font-size:13px;font-weight:700;color:#5b6b7b}.tk-due.atr{color:#c62e22}.tk-due.hoy{color:#b26a00}.tk-due.man{color:#0f6a9c}.tk-due-sin{color:#a3afba;font-weight:600}
.tk-vacio{text-align:center;padding:60px 20px;color:#5b6b7b}.tk-vacio span{display:block;font-size:44px;margin-bottom:8px}.tk-vacio b{display:block;font-size:17px;color:#13202d}.tk-vacio p{margin:6px auto 0;max-width:380px}
/* detalle */
.tk-det{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:100vw;background:#fff;box-shadow:-12px 0 40px rgba(13,27,42,.16);z-index:900;transform:translateX(105%);transition:transform .22s ease;display:flex;flex-direction:column}
.tk-det.abierto{transform:none}
.tk-det-cab{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #edf1f5}
.tk-x{border:0;background:#f1f4f7;border-radius:10px;width:40px;height:40px;cursor:pointer;font-size:16px}
.tk-det-tipo{font-size:12.5px;font-weight:800;border-radius:999px;padding:5px 10px;background:#eef3f7;color:#3b4a58}
.tk-det-tipo.tk-c-oficial{background:#e8f0fb;color:#1d4f91}.tk-det-tipo.tk-c-difusion{background:#fdeee5;color:#a3410f}.tk-det-tipo.tk-c-alumnado{background:#f1ecfb;color:#5b3a9a}.tk-det-tipo.tk-c-documentacion{background:#e6f5f1;color:#1b6b5a}
.tk-star-g{margin-left:auto;width:auto;border-radius:999px;padding:0 12px;height:38px;border:1.5px solid #e3e9ef;color:#8a98a6;font:inherit;font-size:13px;font-weight:700}.tk-star-g.on{border-color:#f2d27a;background:#fff8e1;color:#9a6a00}.tk-star-g.on svg{color:#f2a900}
.tk-det-cuerpo{flex:1;overflow-y:auto;padding:18px 20px 24px}
.tk-det-tit{display:flex;gap:12px;align-items:flex-start}.tk-det-tit h3{margin:0;font-size:20px;line-height:1.3;color:#0d1b2a}.tk-det-tit h3.hecha{text-decoration:line-through;color:#8693a0}
.tk-chk-g{width:30px;height:30px;margin-top:1px}.tk-chk-g svg{width:18px;height:18px}
.tk-det-curso{display:block;margin:10px 0 0 42px;border:0;background:none;padding:0;font:inherit;font-weight:700;color:#0f6a9c;text-align:left;cursor:pointer}.tk-det-curso small{color:#7a8896;font-weight:600}.tk-det-curso:hover{text-decoration:underline}
.tk-props{display:grid;grid-template-columns:110px 1fr;gap:10px 12px;margin:18px 0 6px;padding:14px;background:#f7f9fb;border-radius:14px;font-size:14px}.tk-props dt{color:#6b7a88;font-weight:700}.tk-props dd{margin:0;min-width:0}
.tk-rec{border:1.5px solid #dfe6ec;background:#fff;border-radius:10px;padding:6px 10px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}.tk-rec.on{background:#fff7e0;border-color:#f3d79a}
.tk-sec{margin-top:18px}.tk-sec h4{margin:0 0 8px;font-size:14px;color:#13202d}.tk-sec h4 small{color:#6b7a88;font-weight:600}
.tk-acc{margin:0;line-height:1.5;color:#3b4a58;font-size:14px}
.tk-tagsed{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border:1.5px solid #dfe6ec;border-radius:12px;padding:6px 8px;min-height:44px}.tk-tagsed:focus-within{border-color:#0f6a9c}
.tk-tagsed .tk-tag button{border:0;background:transparent;color:inherit;font-weight:900;cursor:pointer;padding:0 0 0 2px;font-size:14px;line-height:1}
.tk-tag-in{flex:1;min-width:140px;border:0;outline:none;font:inherit;font-size:14px;padding:4px}
.tk-tagsug{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tk-tagsug .tk-tag{cursor:pointer}.tk-tag-nueva{background:#0d1b2a!important;color:#fff!important}
.tk-pasos-det>summary{display:none}
.tk-det-pie{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:24px;padding-top:14px;border-top:1px solid #edf1f5;font-size:12.5px;color:#7a8896}
body.tk-det-on .fab-capta,body.tk-det-on #capChatFab{display:none}
/* pestaña del curso: mismas filas */
#cursoTareas .tar-lista{background:#fff;border:1px solid #e3e9ef;border-radius:14px;padding:4px 8px;gap:0}
/* móvil y tablet */
@media(max-width:900px){
  .tk{grid-template-columns:minmax(0,1fr);border-radius:14px;min-height:0}
  .tk-side{border-right:0;border-bottom:1px solid #e3e9ef;padding:12px;gap:8px}
  .tk-nav{flex-direction:row;overflow-x:auto;gap:6px;scrollbar-width:none;padding-bottom:2px}
  .tk-li{width:auto;flex:none;background:#fff;border:1px solid #e3e9ef;border-radius:999px;padding:7px 12px;min-height:40px}.tk-li-t{overflow:visible}
  .tk-h{display:none}.tk-vacio-p{display:none}.tk-sedebox{border-bottom:0;margin:0;padding:0}.tk-sedebox label{display:none}.tk-imp{margin-top:4px}
  .tk-head{padding:16px 14px 10px}.tk-head h2{font-size:22px}.tk-head-b{width:100%}.tk-q{flex:1;width:auto}
  .tk-rows{padding:0 4px 12px}.tk-row{padding:12px 8px;gap:10px;flex-wrap:wrap}.tk-txt{flex:1 1 calc(100% - 140px)}.tk-tags{order:5;width:100%;padding-left:34px}.tk-tags:empty{display:none}.tk-due{min-width:0}
  .tk-cur{max-width:200px}
  .tk-det{width:100vw;top:auto;height:92vh;border-radius:20px 20px 0 0;transform:translateY(105%)}.tk-det.abierto{transform:none}
  .tk-props{grid-template-columns:96px 1fr}
}
@media(prefers-reduced-motion:reduce){.tk-det{transition:none}}
@media(min-width:1100px){body.tk-det-on #vTareas .tk{margin-right:440px;transition:margin .22s ease}#vTareas .tk{transition:margin .22s ease}}
.tk-mia{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;font-size:12.5px;color:#3b4a58}.tk-mia button{border:0;background:none;color:#0f6a9c;font:inherit;font-weight:700;cursor:pointer;padding:0;text-decoration:underline}
.tk-sedebox .tk-pin{margin-top:8px;width:100%}
.tk-det-conv{margin:6px 0 0 42px;font-size:13px;font-weight:700;color:#5b6b7b}
@media(max-width:900px){.tk-sedebox{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tk-sedesel{flex:1}.tk-sedebox .tk-pin{width:auto;margin:0}.tk-mia{margin:0}}
#modalCaja #tnT,#modalCaja #tnA,#modalCaja #tnF{width:100%;box-sizing:border-box;padding:11px 12px;border:1.5px solid #dfe6ec;border-radius:12px;font:inherit;font-size:15px}
/* 02/10 · editar la tarea entera */
.tk-edit{border:1.5px solid #dfe6ec;background:#fff;border-radius:999px;padding:0 12px;height:38px;font:inherit;font-size:13px;font-weight:700;color:#0f4c70;cursor:pointer}.tk-edit:hover{background:#f0f7fc}
.tk-ed-tit{font-size:16px}
.tk-ed label{display:block;font-size:13px;font-weight:800;color:#3b4a58;margin:14px 0 6px}.tk-ed label small{color:#7a8896;font-weight:600}
.tk-ed textarea,.tk-ed input[type=date],.tk-ed input#tkEdC{width:100%;box-sizing:border-box;padding:10px 12px;border:1.5px solid #dfe6ec;border-radius:12px;font:inherit;font-size:15px;resize:vertical}
.tk-ed textarea:focus,.tk-ed input:focus{outline:none;border-color:#0f6a9c}
.tk-ed-2{display:flex;gap:12px;align-items:flex-end}.tk-ed-2>div{flex:1}.tk-ed-sin{display:flex!important;align-items:center;gap:6px;margin:0 0 10px!important;font-weight:700!important;white-space:nowrap;cursor:pointer}
.tk-ed-nota{background:#fff7e0;border:1px solid #f3d79a;color:#6b4a00;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45}
.tk-ed-pie{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;position:sticky;bottom:0;background:#fff;padding:10px 0 4px}
.tk-retocada{margin:12px 0 0;background:#f4f1fb;color:#4b3a7a;border-radius:10px;padding:8px 10px;font-size:12.5px;font-weight:700}.tk-retocada button{border:0;background:none;color:#0f6a9c;font:inherit;text-decoration:underline;cursor:pointer;padding:0;margin-left:4px}
/* 02/10 · asignar tareas */
.tk-avs{display:flex;flex:none}.tk-av{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:11px;font-weight:800;border:2px solid #fff;flex:none}.tk-avs .tk-av+.tk-av{margin-left:-8px}.tk-av-mas{background:#eef3f7;color:#5b6b7b}
.tk-asig{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tk-asig-p{display:inline-flex;align-items:center;gap:6px;background:#f4f7fa;border-radius:999px;padding:3px 10px 3px 3px;font-size:13.5px;font-weight:700}.tk-asig-p button{border:0;background:none;cursor:pointer;font-weight:900;color:#6b7a88;font-size:15px;padding:0 0 0 2px}
.tk-asig-yo{border:1.5px dashed #0f6a9c;background:#f0f7fc;color:#0f4c70;border-radius:999px;padding:6px 12px;font:inherit;font-weight:700;font-size:13px;cursor:pointer}
.tk-asig-in{width:100%;box-sizing:border-box;margin-top:8px;padding:9px 12px;border:1.5px solid #dfe6ec;border-radius:12px;font:inherit;font-size:14px}.tk-asig-in:focus{outline:none;border-color:#0f6a9c}
.tk-asig-sug{display:grid;gap:4px;margin-top:6px}.tk-asig-sug button{display:flex;align-items:center;gap:8px;border:1px solid #edf1f5;background:#fff;border-radius:10px;padding:6px 10px;font:inherit;font-size:14px;cursor:pointer;text-align:left;min-height:42px}.tk-asig-sug button:hover{background:#f0f7fc}.tk-asig-sug small{color:#7a8896}
/* 02/10 · nueva tarea: contar desde el curso y asignar */
.tn-modo{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.tn-modo button{border:1.5px solid #dfe6ec;background:#fff;border-radius:12px;padding:10px;font:inherit;font-weight:700;font-size:13.5px;cursor:pointer;min-height:44px}.tn-modo button.on{border-color:#0f6a9c;background:#f0f7fc;color:#0f4c70}
.tn-cta{display:flex;gap:6px;flex-wrap:wrap}.tn-cta input{width:80px}.tn-cta select,.tn-desde{flex:1;min-width:0}
#tnCuenta input,#tnCuenta select{padding:10px;border:1.5px solid #dfe6ec;border-radius:12px;font:inherit;font-size:14.5px;background:#fff;box-sizing:border-box}.tn-desde{width:100%;margin-top:6px}
.tn-prev{margin-top:8px;font-weight:700;color:#0f4c70;font-size:13.5px}
.tk-resp{margin:10px 0}.tk-resp-t{display:flex;flex-direction:column;margin-bottom:8px}.tk-resp-t small{color:#6b7a88}
@media(min-width:1100px){body.tk-det-on #cursoTareas{margin-right:440px}}
.tk-det-cab{flex-wrap:nowrap}.tk-det-tipo,.tk-edit,.tk-star-g{white-space:nowrap}.tk-det-tipo{flex:none}
@media(max-width:420px){.tk-star-g span{display:none}}
/* 💼 Comparte → varias ofertas de EmpleoAquí (02/10/2026) */
.cpx-of{position:relative;padding-right:46px}
.cpx-of-ck{position:absolute;top:12px;right:12px;width:26px;height:26px;border-radius:8px;border:2px solid #C9D5E0;background:#fff;display:grid;place-items:center;font-weight:900;font-size:15px;color:#fff;transition:background .15s,border-color .15s,transform .15s}
.cpx-of.activo .cpx-of-ck{background:#EE9B14;border-color:#EE9B14;transform:scale(1.08)}
.cpx-of.activo{outline:3px solid #EE9B14!important;background:#FFFBF2}
.cpx-of-sel{display:flex;align-items:center;justify-content:space-between;gap:10px}.cpx-of-sel b{font-size:1.05rem}
.cpx-of-limpia{border:0;background:none;color:#B42318;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;padding:6px}
.cpx-of-chips{display:flex;flex-wrap:wrap;gap:6px}.cpx-of-ch{display:inline-flex;align-items:center;gap:4px;background:#FFF4DE;color:#7A4F00;border:1px solid #F6D58E;border-radius:999px;padding:4px 4px 4px 12px;font-size:.85rem;font-weight:700;max-width:100%}
.cpx-of-ch button{border:0;background:rgba(0,0,0,.06);width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:15px;line-height:1;color:#7A4F00;flex:none}
.cpx-of-todas{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:linear-gradient(135deg,#0A1A4A,#0A3D62);color:#fff;border-radius:16px;padding:14px 16px;margin-bottom:14px}
.cpx-of-todas div{flex:1;min-width:200px;display:flex;flex-direction:column}.cpx-of-todas small{opacity:.8}.cpx-of-todas .btn{text-decoration:none}
.cpx-of-flot{position:sticky;bottom:0;padding:12px 0 calc(6px + env(safe-area-inset-bottom));background:linear-gradient(rgba(242,245,248,0),#F2F5F8 40%);display:flex;justify-content:center;z-index:2}.cpx-of-flot .btn{min-height:52px;padding:0 26px;box-shadow:0 10px 26px rgba(14,104,160,.3);width:min(100%,420px)}
/* 📘 Meta: cartel del curso en el anuncio (02/10/2026) */
.mt-img.mt-cartel{display:block;width:100%;height:auto;object-fit:contain;background:#0B2545}.mt-img.mt-cartel.historia{max-height:520px;width:auto;margin:0 auto}
.mt2-vista{margin-top:10px}.mt2-sub{margin-top:8px}.mt2-sub-f{display:flex;gap:6px}.mt2-sub-f input{flex:1;min-width:0}
/* 📞 Wine Club · a quién llamar (02/10/2026) */
.prl-n{font-size:.8rem;font-weight:700;color:#7A1F2E;background:#FBEFF1;border-radius:999px;padding:3px 10px;margin-left:6px;vertical-align:middle}
.prl-guion{background:#FBF7EF;border:1px solid #EADBC2;border-radius:12px;padding:8px 12px;margin:8px 0}.prl-guion summary{cursor:pointer;font-weight:700}.prl-guion p{margin:8px 0 2px;font-size:.92rem}
.prl-lista{display:grid;gap:10px;margin-top:10px}.prl-f{border:1px solid #E5E9EE;border-radius:14px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;animation:cpxEntra .3s both}
.prl-c{display:flex;flex-direction:column;gap:2px;min-width:0}.prl-c small{color:#5B6B7A}.prl-o{font-size:.8rem}.prl-a{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}.prl-a .btn{text-decoration:none;min-height:40px}
.prl-r{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}.prl-rb{border:1.5px solid #E1E6EC;background:#fff;border-radius:999px;padding:7px 12px;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;min-height:36px}.prl-rb.on{background:#7A1F2E;color:#fff;border-color:#7A1F2E}.prl-undo{color:#5B6B7A}
@media(max-width:640px){.prl-f{grid-template-columns:minmax(0,1fr)}.prl-a{justify-content:flex-start}}
/* 🏷 convocatoria en la tarjeta del curso (02/10/2026) */
.conv-chip{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:800;border-radius:999px;padding:4px 10px;border:1px solid transparent;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.conv-chip.cv-fu{background:#E6F6F3;color:#0B6E5F;border-color:#B5E3DA}.conv-chip.cv-fc{background:#FFF1E3;color:#9A4B00;border-color:#F6D2AE}.conv-chip.cv-fpe{background:#E8F1FB;color:#11528F;border-color:#BFD7F1}.conv-chip.cv-otra,.conv-chip.cv-cargando{background:#F1F3F6;color:#4A5868;border-color:#E1E6EC}
.kb-card .conv-chip{margin:2px 0 4px;font-size:.72rem;padding:3px 8px}
/* 📲 Embajadores · peticiones de enlace (02/10/2026) */
.emp-f{align-items:flex-start}.emp-f small{display:block}.emp-acc{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-top:6px}.emp-acc .btn{text-decoration:none;min-height:38px}
@media(max-width:640px){.emp-f{flex-direction:column}.emp-f .em-ref-der{align-items:flex-start;text-align:left}.emp-acc{justify-content:flex-start}}

/* ✅ Bandeja: atendidas y último seguimiento (02/10/2026) */
.bj-ats { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.bj-item .bj-at, .bj-item .bj-seg { white-space: nowrap; }
.bj-at, .bj-seg { font-size: 11px; line-height: 1.3; border-radius: 999px; padding: 2px 8px; font-weight: 700; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.bj-at-ok { background: #E7F7EE; color: #11663A; } .bj-at-nc { background: #FFF4E0; color: #8A5300; } .bj-at-re { background: #FDECEC; color: #A3222A; }
.bj-seg { background: #EEF4FA; color: #35506A; font-weight: 600; }
.bj-atcab { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--linea); background: #FAFCFE; }
.bj-atcab .bj-ats { margin: 0; flex: 1 1 260px; } .bj-atcab .bj-seg, .bj-atcab .bj-at { white-space: normal; border-radius: 10px; }
.bj-atbs { display: flex; flex-wrap: wrap; gap: 6px; } .bj-atb { min-height: 38px; }
#bjPend.activo { background: var(--oceano); color: #fff; border-color: var(--oceano); }
@media (max-width: 760px) { .bj-atbs { width: 100%; } .bj-atb { flex: 1 1 auto; } }
@media (max-width: 760px) { .bj-cab { flex-wrap: wrap; } .bj-cab-txt { flex: 1 1 calc(100% - 110px); } .bj-cab > a.btn { flex: 1 1 100%; justify-content: center; text-align: center; } }

/* 🕘 FEM: horario distinto según el día (02/10/2026) */
.fem-trsw { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 10px 12px; border: 1px dashed var(--linea); border-radius: 12px; margin: 4px 0 12px; cursor: pointer; }
.fem-trsw input { width: 20px; height: 20px; accent-color: var(--oceano); } .fem-trsw span { font-weight: 800; } .fem-trsw small { flex: 1 1 100%; color: var(--tinta-suave); padding-left: 30px; }
.fem-tr { border: 1px solid var(--linea); border-left: 4px solid var(--oceano); border-radius: 12px; padding: 10px 12px; margin-bottom: 10px; background: #FAFCFE; }
.fem-tr:nth-child(2) { border-left-color: #E8862A; } .fem-tr:nth-child(3) { border-left-color: #2E9E5B; } .fem-tr:nth-child(4) { border-left-color: #8E44AD; }
.fem-tr-cab { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; } .fem-tr-x { border: 0; background: transparent; font-size: 16px; cursor: pointer; min-width: 36px; min-height: 36px; }
.fem-tr-g { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; margin-top: 8px; }
.fem-tr .fem-dias button:disabled { opacity: .35; cursor: not-allowed; }
@media (max-width: 520px) { .fem-tr-g { grid-template-columns: 1fr; } }
.fem-plan-m li.fem-ra-A button{flex:0 0 42px;background:#efe7fb;color:#5b2d91;font-size:12px}

/* 🎯 Embajadores · A quién invitar (RFM, 03/10/2026) */
.rfm-sedes { margin: 6px 0 12px; }
.rfm-grupos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.rfm-g { text-align: left; display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; border-radius: 16px; border: 2px solid transparent; background: #F4F8FB; cursor: pointer; transition: transform .15s, box-shadow .15s, border-color .15s; animation: rfmEntra .35s ease both; font: inherit; color: inherit; min-height: 120px; }
.rfm-g:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(13,27,42,.08); }
.rfm-g b { font-size: 26px; line-height: 1.1; } .rfm-g small { color: var(--tinta-suave); font-size: 12px; line-height: 1.35; } .rfm-g-t { font-weight: 800; font-size: 14px; } .rfm-g .rfm-g-p { margin-top: auto; font-weight: 700; }
.rfm-g.activo { border-color: var(--oceano); background: #fff; box-shadow: 0 10px 24px rgba(13,27,42,.10); }
.rfm-g-campeones { background: linear-gradient(140deg, #FFF6DD, #FFEFC2); } .rfm-g-fieles { background: #EAF3FC; } .rfm-g-prometedores { background: #EAF8EF; } .rfm-g-encamino { background: #F3F0FB; } .rfm-g-riesgo { background: #FFF1E6; } .rfm-g-dormidos { background: #F1F3F5; }
.rfm-g.activo.rfm-g-campeones { border-color: #E2A400; }
.rfm-cab .rs-sub { margin: 2px 0 10px; font-weight: 600; }
.rfm-filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; } .rfm-filtros input[type=search] { flex: 1 1 240px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--linea); border-radius: 12px; font-size: 15px; }
.rfm-solo { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; } .rfm-solo input { width: 20px; height: 20px; accent-color: var(--oceano); }
.rfm-l { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.rfm-it { border: 1px solid var(--linea); border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; background: #fff; animation: rfmEntra .3s ease both; }
.rfm-it-t { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; } .rfm-it-t b { font-size: 15px; }
.rfm-notas { display: flex; gap: 10px; flex-wrap: wrap; } .rfm-n { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; } .rfm-n i { font-style: normal; font-weight: 800; color: var(--tinta-suave); } .rfm-n b { font-size: 12px; }
.rfm-bar { width: 46px; height: 7px; border-radius: 99px; background: #E6EDF3; overflow: hidden; display: inline-block; } .rfm-bar span { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #1A8CC4, #2E9E5B); }
.rfm-dat { color: var(--tinta-suave); font-size: 12.5px; line-height: 1.4; }
.rfm-acc { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; } .rfm-acc .btn { min-height: 40px; } .rfm-no { font-size: 12.5px; color: var(--tinta-suave); align-self: center; }
.rfm-tot { text-align: center; margin-top: 10px; }
@keyframes rfmEntra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (max-width: 900px) { .rfm-grupos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rfm-l { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .rfm-g { min-height: 0; padding: 10px 12px; } .rfm-g b { font-size: 22px; } .rfm-acc .btn { flex: 1 1 auto; } }
@media (prefers-reduced-motion: reduce) { .rfm-g, .rfm-it { animation: none; } }

.rfm-correo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; } .rfm-correo small { color: var(--tinta-suave); font-weight: 700; }
.rfm-cm-kpi { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; } .rfm-cm-kpi div { background: #F4F8FB; border-radius: 12px; padding: 8px 12px; min-width: 90px; } .rfm-cm-kpi b { display: block; font-size: 20px; } .rfm-cm-kpi small { color: var(--tinta-suave); font-size: 12px; } .rfm-cm-kpi div:first-child { background: #FFF6DD; }
.rfm-cm-asunto { margin: 6px 0 10px; } .rfm-cm-asunto small { display: block; color: var(--tinta-suave); font-size: 12px; }
.rfm-cm-ifr { width: 100%; height: 56vh; border: 1px solid var(--linea); border-radius: 14px; background: #F2F5F8; }

.rfm-cm-prueba { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; } .rfm-cm-prueba label { font-weight: 700; font-size: 14px; } .rfm-cm-prueba input { flex: 1 1 220px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--linea); border-radius: 12px; font-size: 15px; }

/* 🏛️ Control FUNDAE (04/10/2026) */
.fu-nota { margin: 0 0 6px; } .fu-ent { margin: 18px 0 10px; font-size: 17px; }
.fu-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } @media (max-width: 900px) { .fu-grid { grid-template-columns: 1fr; } }
.fu-card { background: #fff; border: 1px solid var(--linea); border-top: 4px solid #CBD5DF; border-radius: 16px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; animation: rfmEntra .35s ease both; }
.fu-card.fu-ok { border-top-color: #2E9E5B; } .fu-card.fu-amb { border-top-color: #E8962A; } .fu-card.fu-rojo { border-top-color: #D64545; }
.fu-cab { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; } .fu-cab b { display: block; font-size: 17px; } .fu-tipo { font-size: 12px; font-weight: 800; color: var(--tinta-suave); text-transform: uppercase; letter-spacing: .04em; } .fu-est { font-weight: 800; font-size: 13px; white-space: nowrap; }
.fu-kpi { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .fu-kpi div { background: #F4F8FB; border-radius: 12px; padding: 8px 10px; } .fu-kpi b { display: block; font-size: 22px; } .fu-kpi small { font-size: 11.5px; color: var(--tinta-suave); line-height: 1.25; display: block; }
.fu-m-t { display: flex; justify-content: space-between; font-size: 13.5px; font-weight: 700; } .fu-m small { font-size: 12px; color: var(--tinta-suave); }
.fu-bar { position: relative; display: block; height: 9px; background: #EEF2F6; border-radius: 99px; margin: 4px 0 3px; overflow: visible; } .fu-bar span { display: block; height: 100%; border-radius: 99px; transition: width .6s ease; } .fu-bar i { position: absolute; top: -3px; width: 2px; height: 15px; background: #0D1B2A; transform: translateX(-1px); opacity: .5; }
.fu-col { font-size: 12.5px; color: var(--tinta-suave); } .fu-ccaa { display: flex; flex-wrap: wrap; gap: 6px; } .fu-ccaa span { background: #EEF4F9; border-radius: 999px; padding: 3px 9px; font-size: 12px; font-weight: 700; }
.fu-falta, .fu-falta-l { color: #A35A00; font-weight: 700; font-size: 12.5px; }
.fu-cursos { display: grid; gap: 6px; border-top: 1px dashed var(--linea); padding-top: 8px; } .fu-c { display: flex; justify-content: space-between; gap: 10px; align-items: center; text-align: left; background: #FAFCFE; border: 1px solid var(--linea); border-radius: 12px; padding: 9px 12px; cursor: pointer; font: inherit; color: inherit; min-height: 48px; } .fu-c:hover { border-color: var(--oceano); }
.fu-c b { display: block; font-size: 13.5px; } .fu-c small { font-size: 12px; color: var(--tinta-suave); } .fu-c-n { font-weight: 800; white-space: nowrap; font-size: 13.5px; } .fu-c-n i { font-style: normal; color: #A35A00; font-size: 12px; }
.fu-ccab { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; flex-wrap: wrap; } .fu-ccab h3 { margin: 0; font-size: 18px; }
.fu-pl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } @media (max-width: 900px) { .fu-pl { grid-template-columns: 1fr; } }
.fu-p { background: #fff; border: 1px solid var(--linea); border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; } .fu-p-t { display: flex; justify-content: space-between; gap: 8px; align-items: center; } .fu-p small { color: var(--tinta-suave); font-size: 12.5px; }
.fu-p-acc { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; } .fu-p-acc .btn { min-height: 40px; }
.fu-sits { display: flex; flex-wrap: wrap; gap: 6px; } .fu-sits .chip { min-height: 42px; }
.fu-bs { position: relative; } .fu-bs input { width: 100%; } .fu-bs-r { position: absolute; left: 0; right: 0; top: 100%; z-index: 5; background: #fff; border: 1px solid var(--linea); border-radius: 12px; box-shadow: 0 10px 24px rgba(13,27,42,.12); overflow: hidden; } .fu-bs-r:empty { display: none; }
.fu-bs-r button { display: block; width: 100%; text-align: left; border: 0; background: #fff; padding: 10px 12px; font: inherit; cursor: pointer; min-height: 42px; } .fu-bs-r button:hover { background: #F4F8FB; } .fu-bs-r small { color: var(--tinta-suave); } .fu-bs-mas { display: block; padding: 8px 12px; color: var(--tinta-suave); }
#fuEmp, #fuCif, #fuSecQ { width: 100%; min-height: 46px; }

.ins-ori.ins-ori-enl { background: #E8F3FB; color: #0F5F8C; font-weight: 800; }
/* 🧩 Campañas por grupo (sector · itinerarios y selecciones) — 04/10/2026 */
.grp-intro{color:#4a5d70;font-size:14.5px;margin:4px 0 14px;max-width:860px}
.grp-h{margin:18px 0 10px;font-size:17px;color:#0d1b2a}
.grp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.grp-card{min-width:0;background:#fff;border:1px solid #dde6ee;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 16px rgba(13,27,42,.05);animation:grpIn .4s both}
@keyframes grpIn{from{opacity:0;transform:translateY(10px)}}
.grp-esq{min-height:220px;gap:12px}.grp-esq i{display:block;height:16px;border-radius:8px;background:linear-gradient(90deg,#eef3f7,#f8fafc,#eef3f7);background-size:200% 100%;animation:grpEsq 1.2s infinite}.grp-esq i:nth-child(1){width:60%;height:22px}.grp-esq i:nth-child(3){width:80%}@keyframes grpEsq{to{background-position:-200% 0}}
.grp-cab{display:flex;gap:12px;align-items:flex-start}.grp-cab b{display:block;font-size:16px;line-height:1.25;overflow-wrap:anywhere}.grp-cab small{color:#5b6b7a;font-size:13px}
.grp-ico{flex:0 0 44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:linear-gradient(135deg,#e8f4fb,#fff4dc)}
.grp-aviso{background:#fff7e6;border:1px solid #f5d38a;color:#7a5200;border-radius:10px;padding:6px 10px;font-size:13px}
.grp-cursos{list-style:none;margin:0;padding:0;display:grid;gap:6px}.grp-cursos li{display:flex;flex-direction:column;background:#f6f9fb;border-radius:10px;padding:7px 10px;min-width:0}.grp-cursos li span{font-weight:700;font-size:14px;overflow-wrap:anywhere}.grp-cursos li small{color:#5b6b7a;font-size:12.5px}.grp-cursos .grp-mas{background:none;padding:2px 10px;color:#5b6b7a;font-size:13px}
.grp-can-fila{display:flex;flex-wrap:wrap;gap:6px}.grp-can{font-size:12.5px;border:1px solid #dde6ee;border-radius:99px;padding:3px 9px;color:#8a99a8;background:#fff}.grp-can.on{border-color:#9fd8b6;background:#ecf9f1;color:#1f7a45;font-weight:700}
.grp-acc{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.grp-acc .btn-primario{flex:1 1 100%;justify-content:center}.grp-acc a.btn{flex:1 1 auto;justify-content:center}.grp-acc a.btn{text-decoration:none}
.grp-barra{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.grp-barra input{flex:1 1 260px;min-width:0;font:inherit;font-size:15px;padding:12px 14px;border:1px solid #cfdbe5;border-radius:12px}
.grp-total{display:block;color:#5b6b7a;margin:0 0 8px}.grp-pag{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0}.grp-pag .btn{min-height:44px}
.grp-vacio{background:#fff;border:1px dashed #cfdbe5;border-radius:16px;padding:26px;text-align:center;color:#5b6b7a}
.grp-ed{max-width:640px}.grp-campo{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px;margin-top:12px}.grp-campo i{font-weight:500;color:#8a99a8}.grp-campo input,.grp-campo textarea{font:inherit;font-weight:500;font-size:15px;padding:12px 14px;border:1px solid #cfdbe5;border-radius:12px;min-width:0}
.grp-av{color:#9a5b00;font-size:13px;display:block;min-height:0}
.grp-res{display:grid;gap:6px;margin-top:8px}.grp-op{text-align:left;font:inherit;border:1px solid #dde6ee;background:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;min-height:48px}.grp-op:hover{border-color:#1a8cc4;background:#f3f9fd}.grp-op b{font-size:14.5px}.grp-op small{color:#5b6b7a}.grp-op.ya{opacity:.55}
.grp-sel-cab{margin:16px 0 6px;font-weight:800}.grp-sel{display:flex;flex-direction:column;gap:6px}
.grp-chip{display:flex;align-items:center;gap:10px;background:#eef7fc;border:1px solid #cde6f4;border-radius:12px;padding:8px 10px}.grp-chip b{flex:1;font-size:14px;min-width:0;overflow-wrap:anywhere}.grp-chip small{color:#4a5d70;font-size:12.5px;white-space:nowrap}.grp-chip button{border:0;background:#fff;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:14px}
.grp-url{display:flex;align-items:center;gap:10px;background:#f3f9fd;border:1px solid #cde6f4;border-radius:12px;padding:10px 12px;margin:10px 0 14px;min-width:0}.grp-url a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:#0f6a9c}
.grp-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.grp-tile{font:inherit;text-align:left;border:1px solid #dde6ee;background:#fff;border-radius:16px;padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-height:120px;transition:transform .2s,box-shadow .2s,border-color .2s;animation:grpIn .35s both}.grp-tile:hover{transform:translateY(-2px);border-color:#1a8cc4;box-shadow:0 10px 24px rgba(13,27,42,.1)}
.grp-ti{font-size:26px}.grp-tile b{font-size:15px}.grp-tile small{color:#5b6b7a;font-size:13px}.grp-ok{font-style:normal;color:#1f7a45;font-weight:700;font-size:12.5px;margin-top:auto}
.grp-hist{margin-top:14px;background:#f8fafc;border-radius:12px;padding:10px 12px}.grp-hist summary{cursor:pointer;font-weight:700}.grp-hist div{display:flex;flex-direction:column;padding:6px 0;border-top:1px solid #eef2f6}.grp-hist small{color:#5b6b7a}
.grp-txt{width:100%;font:inherit;font-size:15px;padding:12px;border:1px solid #cfdbe5;border-radius:12px;box-sizing:border-box}
@media(max-width:700px){.grp-grid{grid-template-columns:1fr}.grp-tiles{grid-template-columns:1fr 1fr}.grp-tile{min-height:110px;padding:12px}.grp-acc .btn{min-height:44px}.ctl-tabs{flex-wrap:nowrap;overflow-x:auto}.ctl-tabs button{white-space:nowrap}}
/* 📅 Calendariza — 04/10/2026 */
#vCalendariza.ca-full{position:fixed;inset:0;z-index:900;background:#f3f7fa;overflow:auto;padding:18px 22px;margin:0}
.ca-barra{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:rgba(243,247,250,.94);backdrop-filter:blur(6px);padding:10px 0;margin-bottom:6px}
.ca-anio{display:flex;align-items:center;gap:6px}.ca-anio b{font-size:22px;min-width:58px;text-align:center;font-variant-numeric:tabular-nums}.ca-anio .btn{min-width:44px;min-height:44px;font-size:20px}
.ca-seg{display:flex;flex-wrap:wrap;gap:6px}.ca-seg button{font:inherit;font-weight:700;font-size:14px;border:2px solid #cfe2ee;background:#fff;color:#0f4f75;border-radius:12px;padding:9px 12px;cursor:pointer;min-height:44px}.ca-seg button i{font-style:normal;background:#e8f3fa;border-radius:99px;padding:1px 7px;font-size:12px;margin-left:4px}.ca-seg button.on{background:linear-gradient(135deg,#0f6a9c,#1a8cc4);color:#fff;border-color:#0f6a9c}.ca-seg button.on i{background:rgba(255,255,255,.25)}
.ca-busca{position:relative;flex:1 1 240px;min-width:0}.ca-busca input{width:100%;box-sizing:border-box;font:inherit;font-size:15px;padding:11px 14px;border:1px solid #cfdbe5;border-radius:12px;min-height:44px}
.ca-qres{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 14px 34px rgba(13,27,42,.18);overflow:hidden}.ca-qres:empty{display:none}.ca-qres button{display:flex;gap:10px;align-items:center;text-align:left;font:inherit;border:0;border-bottom:1px solid #eef2f6;background:#fff;padding:10px 12px;cursor:pointer;min-height:48px}.ca-qres button:hover{background:#f3f9fd}.ca-qres button i{flex:0 0 12px;height:12px;border-radius:4px}.ca-qres b{display:block;font-size:14px}.ca-qres small{color:#5b6b7a}.ca-qres>small{padding:8px 12px;color:#5b6b7a}
.ca-sw{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;cursor:pointer;min-height:44px}.ca-sw input{display:none}.ca-sw span{width:40px;height:24px;border-radius:99px;background:#cfdbe5;position:relative;transition:background .2s}.ca-sw span::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}.ca-sw input:checked+span{background:#1a8cc4}.ca-sw input:checked+span::after{transform:translateX(16px)}
.ca-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:6px 0 14px}.ca-kpi{font:inherit;text-align:left;background:#fff;border:1px solid #dde6ee;border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;animation:grpIn .35s both}.ca-kpi span{font-size:20px}.ca-kpi b{font-size:22px;line-height:1.15}.ca-kpi small{color:#5b6b7a;font-size:12.5px}button.ca-kpi{cursor:pointer}button.ca-kpi:hover{border-color:#1a8cc4}.ca-kpi.mal{border-color:#ffc9c9;background:#fff5f5}.ca-kpi.mal b{color:#c92a2a}.ca-kpi.amb{border-color:#ffe08a;background:#fffbea}.ca-kpi.ok b{color:#2b8a3e}
.ca-esq{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ca-esq i{height:210px;border-radius:16px;background:linear-gradient(90deg,#eef3f7,#f8fafc,#eef3f7);background-size:200% 100%;animation:grpEsq 1.2s infinite}
.ca-anio-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ca-mes{background:#fff;border:1px solid #dde6ee;border-radius:16px;padding:12px;animation:grpIn .35s both;min-width:0}.ca-mes-cab{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.ca-mes-cab b{font-size:15px}.ca-mes-cab small{color:#5b6b7a;font-size:12px}
.ca-sem,.ca-dias{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.ca-sem span{text-align:center;font-size:11px;font-weight:800;color:#8a99a8}
.ca-d{position:relative;font:inherit;font-size:12.5px;font-weight:700;border:0;border-radius:7px;aspect-ratio:1;background:#f4f7fa;color:#33475b;cursor:pointer;padding:0;transition:transform .15s}.ca-d:hover{transform:scale(1.12);z-index:2;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.ca-d em{position:absolute;right:1px;bottom:0;font-style:normal;font-size:8.5px;opacity:.85}.ca-d.fin{background:#e9edf1;color:#9aa8b5}.ca-d.fest{background:repeating-linear-gradient(45deg,#ffe3e3 0 4px,#ffc9c9 4px 8px)!important;color:#c92a2a!important}.ca-d.conv{background:repeating-linear-gradient(45deg,#fff3bf 0 4px,#ffe066 4px 8px)!important;color:#8a6100!important}.ca-d.nl{background:repeating-linear-gradient(45deg,#f1f3f5 0 3px,#dee2e6 3px 6px);color:#868e96}.ca-d.apag{opacity:.45}.ca-d.hoy{outline:2.5px solid #0d1b2a;outline-offset:1px}.ca-v{aspect-ratio:1}
.ca-nota{color:#5b6b7a;font-size:13px;margin:10px 0}
.ca-tl{display:flex;background:#fff;border:1px solid #dde6ee;border-radius:16px;overflow:hidden}
.ca-tl-izq{flex:0 0 210px;border-right:1px solid #dde6ee;background:#fbfcfd;z-index:2}.ca-tl-h{height:26px;font-size:12px;font-weight:800;color:#8a99a8;padding:6px 10px;box-sizing:border-box;border-bottom:1px solid #eef2f6}
.ca-tl-a{display:flex;flex-direction:column;justify-content:center;gap:1px;width:100%;height:46px;box-sizing:border-box;text-align:left;font:inherit;border:0;border-bottom:1px solid #eef2f6;background:none;padding:4px 10px;cursor:pointer;position:relative}.ca-tl-a:hover,.ca-tl-a.on{background:#eef7fc}.ca-tl-a b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ca-tl-a small{font-size:11px;color:#5b6b7a}.ca-tl-a.sin{cursor:default;background:#fff8f0}
.ca-oc{position:absolute;right:8px;top:8px;width:46px;height:6px;border-radius:9px;background:#e9edf1}.ca-oc i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#2f9e44,#1a8cc4)}.ca-oc em{position:absolute;right:0;top:8px;font-style:normal;font-size:11px;font-weight:800;color:#0f4f75}
.ca-tl-der{flex:1;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
.ca-tl-meses{display:flex;height:26px;border-bottom:1px solid #eef2f6;width:max-content}.ca-tl-meses span{flex:none;box-sizing:border-box;border-left:1px solid #dde6ee;font-size:11.5px;font-weight:800;color:#5b6b7a;padding:6px 4px}
.ca-tl-f{display:flex;height:46px;border-bottom:1px solid #eef2f6;width:max-content}.ca-tl-f.sin{background:#fff8f0}
.ca-c{flex:none;width:var(--w);height:100%;display:flex;flex-direction:column;gap:1px;padding:3px 0;box-sizing:border-box;cursor:pointer}.ca-c b{flex:1;display:block}.ca-c.fin{background:#f1f3f5}.ca-c.fest{background:repeating-linear-gradient(45deg,#ffe3e3 0 3px,#ffc9c9 3px 6px)}.ca-c:hover{outline:1px solid #0d1b2a}
.ca-ficha{background:#fff;border:1px solid #dde6ee;border-left:6px solid var(--c);border-radius:16px;padding:12px 14px;margin-bottom:12px;animation:grpIn .3s both}.ca-ficha-cab{display:flex;gap:12px;align-items:center}.ca-ficha-cab i{flex:0 0 14px;height:14px;border-radius:5px;background:var(--c)}.ca-ficha-cab div{flex:1;min-width:0}.ca-ficha-cab b{display:block;font-size:16px}.ca-ficha-cab small{color:#5b6b7a}
.ca-ficha-d{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.ca-chip{background:#f3f7fa;border:1px solid #dde6ee;border-radius:99px;padding:5px 10px;font-size:13px;font-weight:700}.ca-chip.ok{background:#ebfbee;border-color:#b2f2bb;color:#2b8a3e}.ca-chip.mal{background:#fff5f5;border-color:#ffc9c9;color:#c92a2a}.ca-chip.amb{background:#fffbea;border-color:#ffe08a;color:#8a6100}
#caFijar{font:inherit;font-size:14px;padding:8px 10px;border:1px solid #cfdbe5;border-radius:10px;min-height:40px;max-width:100%}
.ca-ley{margin-top:14px;background:#fff;border:1px solid #dde6ee;border-radius:16px;padding:12px 14px}.ca-ley-cab{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px}.ca-ley-cab span{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;color:#5b6b7a}
.ca-k{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:middle}.ca-k.fest{background:repeating-linear-gradient(45deg,#ffe3e3 0 3px,#ffc9c9 3px 6px)}.ca-k.conv{background:repeating-linear-gradient(45deg,#fff3bf 0 3px,#ffe066 3px 6px)}.ca-k.nl{background:repeating-linear-gradient(45deg,#f1f3f5 0 3px,#dee2e6 3px 6px)}.ca-k.fin{background:#e9edf1}
.ca-ley-l{display:flex;flex-wrap:wrap;gap:6px}.ca-ley-l button{font:inherit;font-size:13px;font-weight:600;display:inline-flex;gap:6px;align-items:center;border:1px solid #dde6ee;background:#fff;border-radius:99px;padding:6px 10px;cursor:pointer;max-width:100%}.ca-ley-l button i{flex:0 0 10px;height:10px;border-radius:3px}.ca-ley-l button small{color:#8a99a8}.ca-ley-l button.on{border-color:#0d1b2a;box-shadow:0 0 0 2px #0d1b2a inset}
.ca-dia{max-width:620px}.ca-dia>small{color:#5b6b7a}.ca-fe{background:#fff5f5;border:1px solid #ffc9c9;border-radius:12px;padding:8px 12px;margin:10px 0;color:#c92a2a}.ca-dia-l{display:flex;flex-direction:column;gap:6px;margin:12px 0}.ca-dia-l button{display:flex;gap:10px;align-items:center;text-align:left;font:inherit;border:1px solid #dde6ee;background:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;min-height:48px}.ca-dia-l button:hover{border-color:#1a8cc4}.ca-dia-l i{flex:0 0 12px;height:12px;border-radius:4px}.ca-dia-l b{display:block;font-size:14px}.ca-dia-l small{color:#5b6b7a}
@media(max-width:1100px){.ca-anio-g{grid-template-columns:repeat(3,minmax(0,1fr))}.ca-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.ca-anio-g,.ca-esq{grid-template-columns:repeat(2,minmax(0,1fr))}.ca-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ca-tl-izq{flex-basis:118px}.ca-oc{display:none}.ca-mes{padding:8px}.ca-d{font-size:11px;border-radius:5px}.ca-sem,.ca-dias{gap:2px}.ca-seg button{padding:8px 10px;font-size:13px}#vCalendariza.ca-full{padding:10px}}
@media(max-width:420px){.ca-d{font-size:10.5px}.ca-d em{display:none}.ca-mes-cab small{display:none}}
.ca-ley-l.corta>:nth-child(n+17){display:none}
/* lista de cursos con su aula (04/10/2026) */
.ca-ley-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:8px}
.ca-ley-it{display:flex;flex-direction:column;gap:6px;border:1px solid #dde6ee;border-radius:14px;padding:8px;background:#fff;min-width:0;transition:border-color .15s,box-shadow .15s}
.ca-ley-it.on{border-color:#0d1b2a;box-shadow:0 0 0 1px #0d1b2a inset}
.ca-ley-it>button{border:0!important;box-shadow:none!important;border-radius:10px!important;padding:4px 6px!important;width:100%;text-align:left;justify-content:flex-start}
.ca-ley-it>button:hover{background:#f4f7fa}
.ca-ley-it>button span{flex:1;min-width:0;line-height:1.3}
.ca-ley-it>button small{flex:0 0 auto;white-space:nowrap}
.ca-ley-au{font-size:12.5px;color:#5b6b7a;padding:2px 6px}.ca-ley-au.mal{color:#c92a2a}
.ca-ley-sel{display:flex;align-items:center;gap:6px;border:1px solid #dde6ee;border-radius:10px;padding:0 0 0 10px;background:#f8fafc}
.ca-ley-sel.fija{border-color:#2f9e44;background:#ebfbee}.ca-ley-sel.mal{border-color:#ffc9c9;background:#fff5f5}
.ca-ley-sel.cargando{opacity:.6}
.ca-ley-sel select{flex:1;min-width:0;font:inherit;font-size:13.5px;border:0;background:transparent;min-height:44px;padding:0 8px;cursor:pointer;text-overflow:ellipsis}
.ca-ley-sel select:focus{outline:2px solid #1a8cc4;border-radius:8px}#caLeyMas{margin-top:8px}
/* 🚪 Aula donde se imparte (ficha del curso) — 04/10/2026 */
.cfa-caja{margin:14px 0}.cfa{background:#fff;border:1px solid #dde6ee;border-radius:16px;padding:14px 16px}.cfa-cab b{font-size:16px}.cfa-cab small,.cfa>small{display:block;color:#5b6b7a;font-size:13px;margin-top:2px}
.cfa-elegida{margin:12px 0;background:#ebfbee;border:1px solid #b2f2bb;border-radius:12px;padding:10px 12px;color:#1f5f2e}.cfa-elegida small{display:block;color:#5b6b7a;font-size:12.5px}.cfa-elegida.aviso{background:#fffbea;border-color:#ffe08a;color:#7a5200}.cfa-elegida.vacia{background:#f3f7fa;border-color:#dde6ee;color:#4a5d70}
.cfa-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin:8px 0}
.cfa-op{display:flex;align-items:center;gap:10px;text-align:left;font:inherit;border:2px solid #dde6ee;background:#fff;border-radius:14px;padding:10px 12px;cursor:pointer;min-height:56px;transition:border-color .2s,box-shadow .2s}.cfa-op:hover:not(:disabled){border-color:#1a8cc4}.cfa-op.on{border-color:#2f9e44;box-shadow:0 0 0 3px rgba(47,158,68,.15);background:#f4fcf6}.cfa-op.no{background:#fafbfc}.cfa-op:disabled{cursor:default;opacity:.85}
.cfa-radio{flex:0 0 20px;height:20px;border-radius:50%;border:2px solid #b8c6d3;position:relative}.cfa-op.on .cfa-radio{border-color:#2f9e44}.cfa-op.on .cfa-radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:#2f9e44}
.cfa-t{flex:1;min-width:0}.cfa-t b{display:block;font-size:14.5px}.cfa-t small{color:#5b6b7a;font-size:12px}
.cfa-chip{font-size:12px;font-weight:700;border-radius:99px;padding:3px 8px;background:#f1f3f5;color:#5b6b7a;white-space:nowrap}.cfa-chip.ok{background:#ebfbee;color:#2b8a3e}.cfa-chip.amb{background:#fffbea;color:#8a6100}
.cfa-mal{background:#fff5f5;border:1px solid #ffc9c9;color:#c92a2a;border-radius:12px;padding:10px 12px;margin:10px 0}.cfa-nota{color:#5b6b7a;font-size:13.5px;margin:10px 0 0}
.cfa-otras{margin-top:6px}.cfa-otras summary{cursor:pointer;font-weight:700;color:#0f6a9c;padding:6px 0}
@media(max-width:700px){.cfa-lista{grid-template-columns:1fr}.cfa-chip{white-space:normal}}
/* 🎉 festivos oficiales (BOC) en Calendariza — 04/10/2026 */
.ca-d.falta::after{content:"!";position:absolute;top:-4px;right:-3px;width:13px;height:13px;border-radius:50%;background:#e8590c;color:#fff;font-size:9px;font-weight:900;line-height:13px;text-align:center;box-shadow:0 0 0 2px #fff}
.ca-falta-txt{font-style:normal;color:#c2410c;font-weight:800}
.ca-fe small{display:block;margin-top:3px;color:inherit;opacity:.9}.ca-fe.falta{background:#fff4e6;border-color:#ffc078;color:#a63e00}.ca-fe.ok{background:#ebfbee;border-color:#b2f2bb;color:#2b8a3e}
.ca-otrosm{margin:8px 0;background:#f8fafc;border-radius:10px;padding:8px 10px}.ca-otrosm summary{cursor:pointer;font-weight:700;font-size:13.5px}.ca-otrosm span{display:block;font-size:13px;color:#4a5d70;padding:2px 0}
.ca-fl{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow:auto;margin:10px 0}.ca-fl>div{display:grid;grid-template-columns:52px 1fr auto;gap:2px 10px;align-items:center;border:1px solid #dde6ee;border-radius:12px;padding:8px 10px}.ca-fl>div.falta{border-color:#ffc078;background:#fff9f2}
.ca-fl b{grid-row:span 2;font-size:15px}.ca-fl span{font-size:12px;color:#5b6b7a}.ca-fl em{font-style:normal;font-size:13.5px;font-weight:600;grid-column:2}.ca-fl em i{font-style:normal;color:#8a99a8;font-weight:500;font-size:12px}.ca-fl small{grid-column:3;grid-row:1/span 2;font-size:12px;font-weight:700;white-space:nowrap}.ca-fl .falta small{color:#c2410c}
@media(max-width:600px){.ca-fl>div{grid-template-columns:46px 1fr}.ca-fl small{grid-column:2;grid-row:auto}}
/* 📤 Comparte · Por sector — 04/10/2026 */
.cps-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-top:14px}
.cps-card{background:#fff;border:1px solid #dde6ee;border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:10px;animation:grpIn .35s both;animation-delay:calc(var(--i) * .04s);min-width:0}
.cps-cab{display:flex;gap:10px;align-items:center}.cps-cab>span{font-size:24px}.cps-cab div{flex:1;min-width:0}.cps-cab b{display:block;font-size:15.5px}.cps-cab small{color:#5b6b7a}.cps-ver{font-weight:700;font-size:13px;color:#0f6a9c;white-space:nowrap}
.cps-msg{width:100%;box-sizing:border-box;font:inherit;font-size:14px;line-height:1.45;padding:10px 12px;border:1px solid #cfdbe5;border-radius:12px;background:#f8fbfd;resize:vertical}
.cps-acc{display:flex;flex-wrap:wrap;gap:8px}.cps-acc .btn{flex:1 1 auto;justify-content:center;min-height:44px;text-decoration:none}
@media(max-width:700px){.cps-lista{grid-template-columns:1fr}}
.ca-gen{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:#fffbea;border:1px solid #ffe08a;color:#7a5200;border-radius:14px;padding:10px 14px;margin:-4px 0 14px}

/* ⏱ Calendariza por horas: día y semana (04/10/2026) */
.cah-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 10px}.cah-nav b{font-size:16px;min-width:0;flex:1 1 220px;text-align:center}.cah-nav input[type=date]{font:inherit;border:1px solid #dde6ee;border-radius:10px;padding:8px 10px;min-height:42px;background:#fff}
.cah{--hc:42px;background:#fff;border:1px solid #dde6ee;border-radius:16px;overflow:hidden}
.cah-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cah-f{display:grid;grid-template-columns:150px repeat(var(--nd),minmax(0,1fr));border-top:1px solid #edf1f5;min-width:calc(150px + var(--nd) * 150px)}
.cah.dia .cah-f{min-width:620px}
.cah-f.on{background:#f4f9fd}.cah-f.sin{background:#fff8f0}.cah-f.onl{background:#f8f7ff}
.cah-cab{border-top:0;position:sticky;top:0;z-index:2;background:#fff}
.cah-izq{position:sticky;left:0;z-index:1;background:inherit;background-color:#fff;padding:8px 10px;border-right:1px solid #edf1f5;display:flex;flex-direction:column;justify-content:center;font-size:12.5px;color:#5b6b7a;font-weight:700}
.cah-f.sin .cah-izq{background:#fff8f0}.cah-f.onl .cah-izq{background:#f8f7ff}
.cah-izq button{font:inherit;text-align:left;background:none;border:0;padding:0;cursor:pointer;color:#0d1b2a}.cah-izq b{display:block;font-size:13.5px;color:#0d1b2a}.cah-izq small{display:block;font-weight:500;color:#8a99a8;font-size:11.5px}
.cah-c{border-left:1px solid #edf1f5;min-width:0;position:relative}
.cah-dt{font-size:12.5px;font-weight:800;padding:6px 8px 2px;color:#0d1b2a;cursor:pointer}.cah-dt.fest{color:#c92a2a}.cah-dt.on{color:#1a8cc4}
.cah.dia .cah-dt{display:none}
.cah-regla{position:relative;height:20px;margin:0 4px}.cah-regla span{position:absolute;transform:translateX(-50%);font-size:10.5px;color:#8a99a8;top:3px}
.cah.sem .cah-regla span:nth-child(even){display:none}
.cah-p{position:relative;min-height:calc(var(--nk,1) * var(--hc) + 6px);margin:0 4px}
.cah-p.fest{background:repeating-linear-gradient(45deg,#fff5f5 0 6px,#ffe3e3 6px 12px)}.cah-p.fest em{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11.5px;color:#c92a2a;font-style:normal;text-align:center;padding:0 4px}
.cah-l{position:absolute;top:0;bottom:0;width:1px;background:#f0f3f6}.cah-l.m{background:#d5dde5}
.cah-b{position:absolute;height:calc(var(--hc) - 6px);border:0;border-radius:8px;background:var(--c);color:#fff;font:inherit;text-align:left;padding:3px 7px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;justify-content:center;box-shadow:0 1px 2px rgba(13,27,42,.15);transition:transform .12s,box-shadow .12s;min-width:6px}
.cah-b:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(13,27,42,.2);z-index:3}
.cah-b b{font-size:12px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cah-b small{font-size:10.5px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cah-b.prac{background:repeating-linear-gradient(135deg,var(--c) 0 6px,color-mix(in srgb,var(--c) 70%,#fff) 6px 12px)}
.cah-b.sin{border:2px dashed rgba(255,255,255,.9);opacity:.85}
.cah-b.choque{box-shadow:0 0 0 2px #e03131,0 2px 6px rgba(224,49,49,.35)}
.cah-b.dim{opacity:.18}
@media(max-width:760px){.cah-f{grid-template-columns:112px repeat(var(--nd),minmax(0,1fr));min-width:calc(112px + var(--nd) * 130px)}.cah.dia .cah-f{min-width:560px}.cah-izq{padding:6px 8px}.cah-izq b{font-size:12.5px}.cah-nav b{order:-1;flex-basis:100%}}
.cah-regla span:first-child{transform:none}.cah-regla span:last-child{transform:translateX(-100%)}
@media(max-width:760px){.cah.dia .cah-regla span:nth-child(even){display:none}}

/* 🗓 Mes y 📆 Año por aulas (04/10/2026) */
.cag{--hc:38px}.cag-f{display:grid;grid-template-columns:150px minmax(0,1fr);border-top:1px solid #edf1f5}
.cag.mes .cag-f{min-width:calc(150px + 31 * 34px)}.cag.anio .cag-f{min-width:calc(150px + 365 * 7px)}
.cag-cab{border-top:0;position:sticky;top:0;z-index:4;background:#fff}
.cag-f.on{background:#f4f9fd}.cag-f.sin{background:#fff8f0}.cag-f.onl{background:#f8f7ff}
.cag-dias{position:relative;height:40px}.cag-dias span{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#0d1b2a;cursor:pointer;border-left:1px solid #f0f3f6}
.cag-dias span em{font-style:normal;font-size:10px;font-weight:600;color:#8a99a8}.cag-dias span.fin{color:#8a99a8;background:#f6f8fa}.cag-dias span.fest{color:#c92a2a;background:#fff0f0}.cag-dias span.hoy{color:#1a8cc4;box-shadow:inset 0 -3px 0 #1a8cc4}
.cag-dias span.mes{font-size:12.5px;border-left:1px solid #d5dde5}.cag-dias span:hover{background:#eef6fb}
.cag-pistas{display:flex;flex-direction:column;min-width:0}
.cag-p{position:relative;min-height:calc(var(--nk,1) * var(--hc) + 4px);border-left:1px solid #edf1f5}.cag-p.t{border-top:1px dashed #e3e9ef}
.cag-mt{position:absolute;left:3px;top:50%;transform:translateY(-50%);font-size:9.5px;font-weight:800;color:#b3c0cc;z-index:0;pointer-events:none}
.cag-bg{position:absolute;top:0;bottom:0;background:#f6f8fa}.cag-bg.fest{background:repeating-linear-gradient(45deg,#fff5f5 0 4px,#ffe3e3 4px 8px)}
.cag-mesl{position:absolute;top:0;bottom:0;width:1px;background:#d5dde5}.cag-hoy{position:absolute;top:0;bottom:0;width:2px;background:#1a8cc4;opacity:.6;z-index:1}
.cag-b{height:calc(var(--hc) - 4px);z-index:2}.cag-b.est{background-image:repeating-linear-gradient(45deg,transparent 0 5px,rgba(255,255,255,.18) 5px 10px)}
.cag.anio .cag-b{padding:2px 5px}.cag.anio .cag-b b{font-size:11px}.cag.anio .cag-b small{font-size:10px}
@media(max-width:760px){.cag-f{grid-template-columns:112px minmax(0,1fr)}.cag.mes .cag-f{min-width:calc(112px + 31 * 30px)}.cag.anio .cag-f{min-width:calc(112px + 365 * 6px)}}
.cag .cah-izq,.cah .cah-izq{z-index:5}.cag-cab .cah-izq{z-index:6}

/* 📂 convocatoria y ✏️ tabla (04/10/2026) */
.ca-conv{flex:1 1 220px}.ca-conv input{padding-right:40px}.ca-cvx{position:absolute;right:6px;top:6px;width:32px;height:32px;border:0;border-radius:8px;background:#eef2f6;cursor:pointer;font-size:14px}
.ca-cvchip{display:inline-block;align-self:flex-start;font-size:11.5px;font-weight:700;color:#5b6b7a;background:#f1f5f9;border-radius:99px;padding:3px 9px;margin:0 6px;max-width:calc(100% - 12px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cat-cab{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.cat-cab input{flex:1 1 240px;font:inherit;font-size:15px;padding:10px 14px;border:1px solid #cfdbe5;border-radius:12px;min-height:44px}.cat-tot{font-size:13.5px;color:#5b6b7a;font-weight:700}
.cat{background:#fff;border:1px solid #dde6ee;border-radius:16px;overflow:hidden}
.cat-f{display:grid;grid-template-columns:minmax(170px,1.6fr) 128px 80px 104px 160px 40px minmax(130px,1fr) minmax(130px,1fr);gap:6px;align-items:center;padding:8px 12px;border-top:1px solid #edf1f5;transition:background .15s}
.cat-h{border-top:0;background:#f6f8fa;font-size:12px;font-weight:800;color:#5b6b7a;text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0;z-index:2}
.cat-f.cambiada{background:#fff9db;box-shadow:inset 4px 0 0 #f08c00}
.cat-cur{display:flex;gap:8px;align-items:center;min-width:0}.cat-cur i{flex:0 0 10px;height:10px;border-radius:3px;background:var(--c)}.cat-cur b{display:block;font-size:13.5px;line-height:1.25}.cat-cur small{display:block;color:#8a99a8;font-size:11.5px}
.cat-c{display:flex;flex-direction:column;gap:2px;min-width:0}.cat-c>span{display:none;font-size:11px;font-weight:800;color:#8a99a8;text-transform:uppercase}
.cat-c input,.cat-c select{font:inherit;font-size:13.5px;border:1px solid #dde6ee;border-radius:9px;padding:6px 8px;min-height:38px;width:100%;box-sizing:border-box;background:#fff}
.cat-c input:focus,.cat-c select:focus{outline:2px solid #1a8cc4;border-color:#1a8cc4}
.cat-fin b{font-size:13.5px}.cat-fin small{color:#e67700;font-size:11px;font-weight:700}
.cat-dias{display:flex;gap:4px}.cat-dias button{flex:1;min-width:26px;height:34px;border:1px solid #dde6ee;background:#fff;border-radius:8px;font:inherit;font-size:12.5px;font-weight:800;color:#8a99a8;cursor:pointer}.cat-dias button.on{background:#1a8cc4;border-color:#1a8cc4;color:#fff}
.cat-na{font-size:12.5px;color:#5b6b7a}
.cat-pag{display:flex;justify-content:center;align-items:center;gap:12px;margin:12px 0}.cat-pag span{font-weight:700}
.cat-bar{position:sticky;bottom:12px;z-index:30;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;background:#0d1b2a;color:#fff;border-radius:16px;padding:10px 14px;margin-top:12px;box-shadow:0 12px 30px rgba(13,27,42,.25);opacity:.75;transition:opacity .2s}
.cat-bar.on{opacity:1}.cat-bar span{flex:1;font-weight:700}
@media(max-width:1100px){.cat-h{display:none}.cat-f{grid-template-columns:repeat(4,minmax(0,1fr));padding:12px}.cat-cur{grid-column:1/-1}.cat-c>span{display:block}.cat-au{grid-column:span 2}.cat-c:has(.cat-dias){grid-column:span 2}}
@media(max-width:560px){.cat-f{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-au,.cat-c:has(.cat-dias){grid-column:1/-1}.cat-bar{bottom:84px;padding:8px 10px}.cat-bar span{flex-basis:100%}.cat-bar .btn{flex:1}}
.cat{overflow-x:auto}@media(min-width:1101px){.cat-f{min-width:960px}.cat-cur{position:sticky;left:0;background:inherit;z-index:1}.cat-f:not(.cambiada) .cat-cur{background:#fff}.cat-h .cat-cur,.cat-h>div:first-child{position:sticky;left:0;background:#f6f8fa;z-index:3}}
.cat-hor input+input{margin-top:4px}.cat-dias button{min-width:22px}
.pr-panel[hidden]{display:none!important}.pr-tabs{margin:4px 0 12px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.pr-tabs .chip{flex:0 0 auto}

/* 📊 cifras de alumnado en la tabla de Calendariza (04/10/2026) */
.cat-mod{display:inline-block;font-size:11px;font-weight:800;border-radius:99px;padding:2px 8px;margin-top:3px}.cat-mod.on{background:#f3f0ff;color:#6741d9}.cat-mod.pr{background:#e7f5ff;color:#1971c2}
.cat-cif{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding-left:18px}
.cat-bar2{flex:0 0 140px;height:8px;border-radius:99px;background:#edf1f5;overflow:hidden;display:flex}.cat-bar2 i{background:#2f9e44}.cat-bar2 em{background:#fab005}
.cat-n{font-size:12px;color:#5b6b7a;white-space:nowrap}.cat-n b{color:#0d1b2a;font-size:12.5px}.cat-n.gr{color:#adb5bd}
.cat-sem{font-size:11px;font-weight:800;border-radius:99px;padding:2px 8px;white-space:nowrap}.cat-sem.ok{background:#ebfbee;color:#2b8a3e}.cat-sem.amb{background:#fff9db;color:#e67700}.cat-sem.flojo{background:#fff4e6;color:#d9480f}.cat-sem.mal{background:#fff5f5;color:#c92a2a}
.cat-cif-sk{display:block;width:160px;height:10px;border-radius:6px;background:linear-gradient(90deg,#edf1f5,#f8fafc,#edf1f5);background-size:200% 100%;animation:sk 1.2s infinite}.cat-cif-err{color:#adb5bd;font-size:11px}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* 🏛️ FUNDAE en la tarjeta del curso y en la ficha (04/10/2026) */
.kb-fu{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:11.5px;font-weight:800;border:1px solid #ffd8a8;background:#fff4e6;color:#d9480f;border-radius:99px;padding:3px 9px;margin:4px 0 2px;cursor:pointer;max-width:100%;text-align:left}
.kb-fu.ok{border-color:#b2f2bb;background:#ebfbee;color:#2b8a3e}.kb-fu:hover{filter:brightness(.97)}
.ficha-fu{border-left:4px solid #1971c2}.ffu-cab{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.ffu-cab h4{margin:0}
.ffu-f{display:flex;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid #edf1f5;padding:10px 0}.ffu-f b{display:block;font-size:14px}.ffu-f small{color:#5b6b7a}.ffu-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
@media(max-width:560px){.ffu-f{flex-direction:column;align-items:stretch}}

/* 📋 plantilla desde la bandeja (04/10/2026) */
.bj-cerrada{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.bp-res{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(13,27,42,.12);margin-top:4px}.bp-res:empty{display:none}
.bp-res button{display:block;text-align:left;font:inherit;border:0;border-bottom:1px solid #eef2f6;background:#fff;padding:9px 12px;cursor:pointer;min-height:44px}.bp-res button:hover{background:#f3f9fd}.bp-res b{display:block;font-size:14px}.bp-res em{font-style:normal;color:#2b8a3e;font-size:12px}.bp-res small{color:#5b6b7a;font-size:12px}
.bp-prev{background:#efe7dd;border-radius:14px;padding:12px;margin:10px 0}.bp-prev .bj-burbuja{background:#dcf8c6;border-radius:12px;padding:10px 12px;max-width:100%}.bp-prev .bj-burbuja small{display:block;color:#5b6b7a;margin-top:6px}
.bp-bot{display:flex;gap:6px;margin-top:6px}.bp-bot span{flex:1;text-align:center;background:#fff;border-radius:10px;padding:8px;color:#1971c2;font-weight:700;font-size:13px}

.his-pag{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:16px 0}.his-pag span{font-weight:700;color:#5b6b7a}.his-pag .btn{min-height:44px}
.nov-mas{display:block;margin:10px auto 0;min-height:44px}

/* 📸 Vida en el aula (05/10/2026) */
.au-cuenta { color: var(--suave, #5b6b7a); font-weight: 700; font-size: 14px; margin: 0 0 12px; }
.au-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.au-card { background: #fff; border: 1px solid var(--linea, #e3e9ef); border-radius: 18px; overflow: hidden; box-shadow: 0 6px 20px rgba(13,27,42,.06); display: flex; flex-direction: column; animation: auIn .4s both; }
@keyframes auIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.au-card.au-oculta { opacity: .6; }
.au-m { position: relative; aspect-ratio: 4/3; background: #0D1B2A; }
.au-m img, .au-m video { width: 100%; height: 100%; object-fit: cover; display: block; }
.au-n { position: absolute; right: 10px; top: 10px; background: rgba(13,27,42,.75); color: #fff; font-weight: 800; font-size: 13px; border-radius: 99px; padding: 3px 9px; }
.au-oc { position: absolute; left: 10px; top: 10px; background: #c0392b; color: #fff; font-weight: 800; font-size: 12px; border-radius: 99px; padding: 3px 9px; }
.au-t { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.au-t p { margin: 2px 0; font-size: 15px; }
.au-meta { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.au-meta small, .au-cur { color: var(--suave, #5b6b7a); font-size: 12.5px; }
.au-chip { background: #EAF4FA; color: #0b6fa4; font-weight: 800; border-radius: 99px; padding: 3px 10px; font-size: 12px; }
.au-acc { display: flex; gap: 8px; margin-top: auto; padding-top: 6px; flex-wrap: wrap; }
.au-acc .btn { min-height: 40px; padding: 6px 12px; font-size: 13.5px; }
.au-pag { display: flex; justify-content: center; align-items: center; gap: 12px; margin: 18px 0 70px; }
.au-pag .btn { min-height: 48px; }
.au-sk .au-m { animation: auSk 1.2s infinite alternate; background: #e6edf3; }
.au-sk .au-t i { display: block; height: 12px; border-radius: 6px; background: #e6edf3; margin: 6px 0; }
.au-sk .au-t i + i { width: 60%; }
@keyframes auSk { from { opacity: .6; } to { opacity: 1; } }
.au-drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 2px dashed #b9cfe0; border-radius: 16px; padding: 22px 14px; background: #F5F9FC; cursor: pointer; text-align: center; font-weight: 800; color: #0b6fa4; }
.au-drop small { color: var(--suave, #5b6b7a); font-weight: 600; }
.au-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.au-prev { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 120px)); gap: 8px; margin-top: 10px; }
.au-pi { position: relative; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: #0D1B2A; }
.au-pi img, .au-pi video { width: 100%; height: 100%; object-fit: cover; }
.au-pi button { position: absolute; top: 4px; right: 4px; width: 30px; height: 30px; border-radius: 50%; border: 0; background: rgba(13,27,42,.75); color: #fff; font-size: 14px; cursor: pointer; }
.au-vt { position: absolute; left: 6px; bottom: 6px; background: rgba(13,27,42,.75); color: #fff; font-size: 11.5px; font-weight: 800; border-radius: 99px; padding: 2px 8px; }
.au-cont { display: block; text-align: right; color: var(--suave, #5b6b7a); font-size: 12.5px; margin-top: 4px; }
.au-sw { grid-column: 1 / -1; display: flex; gap: 12px; align-items: flex-start; background: #FFF8E8; border: 1px solid #F5DFA8; border-radius: 14px; padding: 12px 14px; cursor: pointer; font-size: 14px; line-height: 1.4; }
.au-sw input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.au-sw-i { flex: 0 0 46px; height: 26px; border-radius: 99px; background: #c9d3dc; position: relative; transition: background .2s; margin-top: 2px; }
.au-sw-i::after { content: ""; position: absolute; left: 3px; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.au-sw input:checked + .au-sw-i { background: #1f9d6b; }
.au-sw input:checked + .au-sw-i::after { transform: translateX(20px); }
.au-sw input:focus-visible + .au-sw-i { outline: 2px solid #1a8cc4; outline-offset: 2px; }
.au-fab { display: none; }
@media (max-width: 700px) {
  .au-grid { grid-template-columns: 1fr; }
  .au-prev { grid-template-columns: repeat(4, 1fr); }
  .au-fab { display: block; position: fixed; left: 16px; right: 16px; bottom: calc(76px + env(safe-area-inset-bottom)); z-index: 40; min-height: 52px; border: 0; border-radius: 16px; background: var(--oceano, #0b6fa4); color: #fff; font-weight: 800; font-size: 16px; box-shadow: 0 10px 24px rgba(11,111,164,.35); }
  #vAula.oculto .au-fab { display: none; }
}

/* 🙋 Me lo quedo (05/10/2026) */
.ld-tomar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; background: #EEF7EF; border: 1px solid #CDE7D1; border-radius: 12px; padding: 10px 12px; margin-bottom: 10px; font-weight: 700; color: #1f6b3a; }
.ld-tomar .btn { min-height: 44px; }

/* ✨ sugerencias desde Facebook (05/10/2026) */
.au-sug { background: linear-gradient(135deg, #F3F8FF, #FFF8EC); border: 1px solid #DCE7F3; border-radius: 18px; padding: 14px; margin-bottom: 18px; }
.au-sug-cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.au-sug-cab b { display: block; font-size: 16px; } .au-sug-cab small { color: var(--suave, #5b6b7a); }
.au-sug-pista { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; }
.au-sug-it { flex: 0 0 250px; scroll-snap-align: start; background: #fff; border: 1px solid #e3e9ef; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.au-sug-it img { width: 100%; aspect-ratio: 4/3; object-fit: cover; background: #0D1B2A; }
.au-sug-tx { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 6px; flex: 1; } .au-sug-tx small { color: var(--suave, #5b6b7a); font-weight: 700; } .au-sug-tx p { margin: 0; font-size: 14px; }
.au-sug-acc { display: flex; gap: 6px; margin-top: auto; flex-wrap: wrap; } .au-sug-acc .btn { min-height: 40px; }
.au-sug-big { width: 100%; max-height: 320px; object-fit: contain; border-radius: 12px; background: #0D1B2A; }
@media (max-width: 700px) { .au-sug-it { flex-basis: 78%; } }

.au-sug-bts { display: flex; gap: 8px; flex-wrap: wrap; }
.au-pasos { margin: 0 0 8px; padding-left: 22px; line-height: 1.55; } .au-pasos li { margin: 6px 0; }

.au-falta { color: #b42318; font-weight: 700; font-size: 14px; margin: 6px 0 0; min-height: 1px; }
.au-ia { margin-top: 6px; min-height: 40px; }

/* 🪧 sitios donde dejamos cartel (05/10/2026) */
.cb-lista { display: grid; grid-template-columns: minmax(0,1fr); gap: 4px; margin-top: 6px; }
.cb-it { box-sizing: border-box; min-width: 0; color: #12263a; display: flex; align-items: center; gap: 10px; text-align: left; width: 100%; border: 1px solid var(--linea, #e3e9ef); background: #fff; border-radius: 12px; padding: 8px 10px; cursor: pointer; min-height: 48px; font: inherit; }
.cb-it:hover { background: #F3F8FC; }
.cb-ico { font-size: 18px; } .cb-tx { flex: 1; min-width: 0; } .cb-tx b { display: block; font-size: 14px; color: #12263a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .cb-tx small { display: block; color: var(--suave, #5b6b7a); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cb-it em { font-style: normal; font-size: 11px; font-weight: 800; color: #0b6fa4; background: #EAF4FA; border-radius: 99px; padding: 3px 8px; white-space: nowrap; }
.cb-nada { color: var(--suave, #5b6b7a); font-size: 12.5px; } .cb-ok { color: #1f6b3a; font-weight: 700; font-size: 12.5px; }
.of-cartel { background: #FFF8EC; border: 1px solid #F5DFA8; border-radius: 14px; padding: 12px; margin-bottom: 14px; }
.of-cartel-l { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.of-cartel-it { background: #fff; border: 1px solid #F0D9A4; border-radius: 10px; padding: 6px 10px; font-size: 13px; } .of-cartel-it small { display: block; color: var(--suave, #5b6b7a); font-size: 11.5px; }
.of-cartel-f { display: grid; grid-template-columns: 1fr 110px auto; gap: 8px; align-items: start; } .of-cartel-f input { min-height: 44px; }
@media (max-width: 600px) { .of-cartel-f { grid-template-columns: 1fr 1fr; } .of-cartel-f input:first-child { grid-column: 1 / -1; } }
.fh-cartel { border-left: 4px solid #F2B23E; } .fh-cartel h3 { margin: 0 0 4px; }
.fh-cartel-l { display: grid; gap: 8px; margin-top: 10px; }
.fh-ce { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; border: 1px solid var(--linea, #e3e9ef); border-radius: 12px; padding: 10px 12px; background: #fff; }
.fh-ce small { display: block; color: var(--suave, #5b6b7a); font-size: 12.5px; } .fh-ce .fh-ce-k { color: #9a5b00; font-weight: 700; }
.fh-ce-acc { display: flex; gap: 6px; align-items: center; }
/* 05/10/2026 progreso del envío en segundo plano (Wine Club) */
.pr-job { border: 2px solid #0b6fa4; background: #EAF4FA; border-radius: 16px; padding: 14px 16px; margin: 8px 0 12px; }
.pr-job-ok { border-color: #2e9a5c; background: #EDF8F1; }
.pr-job-t { display: flex; align-items: center; gap: 12px; }
.pr-job-t > div { flex: 1; min-width: 0; } .pr-job-t b { display: block; font-size: 18px; color: #12263a; } .pr-job-t small { display: block; font-size: 14px; color: #3c5163; margin-top: 2px; }
.pr-job-ic { font-size: 30px; } .pr-job-t em { font-style: normal; font-size: 26px; font-weight: 800; color: #0b6fa4; }
.pr-job-bar { height: 14px; border-radius: 99px; background: #fff; overflow: hidden; margin-top: 12px; box-shadow: inset 0 0 0 1px #cfe2ef; }
.pr-job-bar i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #0b6fa4, #26a0da); transition: width .6s ease; background-size: 200% 100%; animation: prJob 1.6s linear infinite; }
@keyframes prJob { from { background-position: 0 0; } to { background-position: -200% 0; } }
.pr-job-n { margin: 10px 0 0; font-size: 14px; font-weight: 700; color: #1f6b3a; }
/* 05/10/2026 varios sitios por salida */
.ra-sit-ay { display: block; color: var(--suave, #5b6b7a); font-size: 12px; font-weight: 400; margin-top: 4px; }
.ra-sitios { display: grid; grid-template-columns: minmax(0,1fr); gap: 6px; margin-top: 8px; }
.ra-sit { display: flex; align-items: center; gap: 10px; border: 1px solid #cfe7d8; background: #F2FAF5; border-radius: 12px; padding: 8px 10px; min-width: 0; animation: raSit .25s ease; }
@keyframes raSit { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.ra-sit-i { font-size: 18px; } .ra-sit-n { flex: 1; min-width: 0; } .ra-sit-n b { display: block; font-size: 14px; color: #12263a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .ra-sit-n small { display: block; font-size: 11.5px; color: #3c6b4d; font-weight: 400; }
.ra-sit input { width: 92px; min-height: 40px; border: 1px solid #cfdbe6; border-radius: 10px; padding: 0 8px; font: inherit; font-size: 14px; background: #fff; }
.ra-sit button { border: 0; background: #fff; border-radius: 10px; width: 40px; height: 40px; cursor: pointer; color: #b42318; font-weight: 800; box-shadow: inset 0 0 0 1px #f0cfcb; }
.ra-sit-tot { color: #1f6b3a; font-weight: 700; font-size: 12.5px; }
@media (max-width: 520px) { .ra-sit input { width: 82px; font-size: 13px; } .ra-sit { gap: 8px; padding: 8px; } }
/* 05/10/2026 barra fija «＋ Agregar una tarea» (como To Do) */
.tk { overflow: clip; }
.tk-rapida { position: sticky; bottom: 12px; z-index: 5; display: flex; align-items: center; gap: 12px; margin: 12px 16px 16px; padding: 0 140px 0 14px; min-height: 56px; background: #fff; border: 1px solid #dfe6ee; border-radius: 12px; box-shadow: 0 6px 20px rgba(13,27,42,.10); transition: box-shadow .2s, border-color .2s; }
.tk-rapida.on { border-color: #0b6fa4; box-shadow: 0 8px 26px rgba(11,111,164,.18); }
.tk-rap-mas { border: 0; background: none; font-size: 26px; line-height: 1; color: #0b6fa4; cursor: pointer; width: 34px; height: 44px; padding: 0; }
.tk-rapida input, .tk-rapida input:focus { flex: 1; min-width: 0; border: 0 !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; outline: 0; font: inherit; font-size: 15.5px; background: transparent; min-height: 52px; color: #12263a; }
.tk-rapida input::placeholder { color: #3c5163; }
.tk-rap-c { color: var(--suave, #5b6b7a); font-size: 12px; white-space: nowrap; display: none; }
.tk-rapida.on .tk-rap-c { display: block; }
.tk-rapida.cargando { opacity: .6; }
@media (max-width: 760px) {
  .tk-rapida { bottom: calc(72px + env(safe-area-inset-bottom)); margin: 10px 8px 12px; padding-right: 12px; }
  .tk-rapida.on .tk-rap-c { display: none; }
}
/* 05/10/2026 FEM: buscador de empresa en el periodo de prácticas */
.fpe-res { display: grid; grid-template-columns: minmax(0,1fr); gap: 4px; margin-top: 6px; max-height: 330px; overflow-y: auto; }
.fpe-h { display: block; font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--suave, #5b6b7a); margin: 6px 2px 2px; }
.fpe-it { display: flex; align-items: center; gap: 10px; width: 100%; box-sizing: border-box; min-width: 0; text-align: left; border: 1px solid #e3e9ef; background: #fff; border-radius: 12px; padding: 8px 10px; min-height: 48px; cursor: pointer; font: inherit; color: #12263a; }
.fpe-it:hover { background: #F3F8FC; border-color: #bcd6e8; } .fpe-it:disabled { opacity: .6; }
.fpe-tx { flex: 1; min-width: 0; } .fpe-tx b { display: block; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .fpe-tx small { display: block; font-size: 12px; color: var(--suave, #5b6b7a); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fpe-it em { font-style: normal; font-size: 11px; font-weight: 800; color: #0b6fa4; background: #EAF4FA; border-radius: 99px; padding: 3px 8px; white-space: nowrap; }
.fpe-nueva { border-style: dashed; border-color: #9cc3dd; background: #F7FBFE; } .fpe-nueva > span:first-child { font-size: 20px; color: #0b6fa4; font-weight: 800; }
.fpe-sel { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; border: 2px solid #2e9a5c; background: #EDF8F1; border-radius: 12px; padding: 8px 10px; }
.fpe-chip { flex: 1; min-width: 0; } .fpe-chip b { font-size: 14.5px; color: #12263a; } .fpe-chip small { display: block; font-size: 12px; color: #3c6b4d; }
.fem-busnueva { border-style: dashed !important; } .fem-busnueva small { display: block; }
@media (max-width: 520px) { .fpe-it em { display: none; } }
#fpEq { width: 100%; box-sizing: border-box; min-height: 46px; font-size: 15px; }
/* 05/10/2026 fusionar fichas con el mismo NIF */
.efu-cab { display: flex; gap: 12px; align-items: flex-start; } .efu-cab > span { font-size: 28px; } .efu-cab h3 { margin: 0 0 4px; } .efu-cab small { color: var(--suave, #5b6b7a); font-size: 14px; }
.efu-ab { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0 6px; }
.efu-c { display: flex; gap: 10px; align-items: center; border-radius: 12px; padding: 10px 12px; min-width: 0; } .efu-c b { display: block; font-size: 14.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .efu-c small { font-size: 12px; color: #3c5163; } .efu-c > div { min-width: 0; }
.efu-c i, .efu-op i { font-style: normal; font-weight: 800; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; padding: 0 4px; font-size: 13px; flex-shrink: 0; }
.efu-ca { background: #FFF6E5; } .efu-ca i { background: #f2b23e; color: #3b2a00; } .efu-cb { background: #EAF4FA; } .efu-cb i { background: #0b6fa4; color: #fff; }
.efu-cuerpo { max-height: 52vh; overflow-y: auto; padding-right: 4px; }
.efu-ay { font-size: 14px; color: #3c5163; margin: 8px 0; } .efu-ig { font-size: 13px; color: #1f6b3a; font-weight: 700; }
.efu-f { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid #eef2f6; }
.efu-l { font-size: 13px; font-weight: 700; color: #3c5163; }
.efu-ops { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 6px; min-width: 0; }
.efu-op { display: flex; gap: 8px; align-items: center; text-align: left; border: 2px solid #e3e9ef; background: #fff; border-radius: 10px; padding: 7px 9px; cursor: pointer; font: inherit; font-size: 14px; color: #12263a; min-height: 46px; min-width: 0; }
.efu-op span { overflow-wrap: anywhere; min-width: 0; } .efu-op.vacio span { color: #8a99a8; font-style: italic; }
.efu-op i { background: #eef2f6; color: #3c5163; }
.efu-op.on { border-color: #2e9a5c; background: #EDF8F1; } .efu-op.on i { background: #2e9a5c; color: #fff; }
.efu-nota { margin-top: 12px; font-size: 13.5px; }
@media (max-width: 640px) { .efu-ab { grid-template-columns: 1fr; } .efu-f { grid-template-columns: 1fr; gap: 4px; } }
/* 05/10/2026 FEM: festivos del municipio de las prácticas */
.fp-muni { margin-bottom: 6px; } .fp-mu-ok, .fp-mu-no { font-size: 13px; border-radius: 10px; padding: 8px 10px; line-height: 1.45; }
.fp-mu-ok { background: #EDF8F1; color: #1f4d33; } .fp-mu-ok small { color: #3c6b4d; }
.fp-mu-no { background: #FFF6E5; color: #5a4300; } .fp-mu-no input { display: block; width: 100%; box-sizing: border-box; margin-top: 6px; min-height: 42px; }
.fp-mu-r { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .fp-mu-r button { border: 1px solid #cfdbe6; background: #fff; border-radius: 99px; padding: 6px 12px; font: inherit; font-size: 13px; cursor: pointer; min-height: 36px; }
.fp-mu-cam { border: 0; background: none; color: #0b6fa4; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; padding: 0; }
.fem-fes-auto { background: #EDF8F1 !important; }
/* 05/10/2026 ⭐ valoración FEM del alumnado en la ficha de empresa */
.ev-caja { border: 1px solid #e3e9ef; border-left: 5px solid #9aa8b6; border-radius: 14px; padding: 12px 14px; margin: 12px 0; background: #fff; }
.ev-verde { border-left-color: #2e9a5c; } .ev-ambar { border-left-color: #f2b23e; } .ev-rojo { border-left-color: #c0392b; background: #FFF8F7; }
.ev-vacia small, .ev-cab small { display: block; color: var(--suave, #5b6b7a); font-size: 12.5px; margin-top: 2px; }
.ev-cab { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; flex-wrap: wrap; } .ev-cab b { font-size: 15px; }
.ev-sem { font-weight: 800; font-size: 16px; white-space: nowrap; } .ev-mot { margin: 6px 0 0; font-size: 13px; font-weight: 700; color: #8a2c1f; }
.ev-bs { display: grid; gap: 6px; margin: 10px 0; } .ev-b { display: grid; grid-template-columns: 150px 1fr 34px; gap: 8px; align-items: center; font-size: 13px; }
.ev-b i { height: 9px; background: #eef2f6; border-radius: 99px; overflow: hidden; } .ev-b em { display: block; height: 100%; border-radius: 99px; background: #9aa8b6; }
.ev-b em.b { background: #2e9a5c; } .ev-b em.j { background: #f2b23e; } .ev-b em.m { background: #c0392b; } .ev-b b { text-align: right; }
.ev-chips { display: flex; flex-wrap: wrap; gap: 6px; } .ev-ch { font-size: 12px; font-weight: 700; background: #eef2f6; color: #3c5163; border-radius: 99px; padding: 4px 10px; } .ev-ch-m { background: #FDECEA; color: #8a2c1f; } .ev-ch-b { background: #EDF8F1; color: #1f6b3a; }
.ev-com { margin-top: 8px; font-size: 13.5px; } .ev-com summary { cursor: pointer; font-weight: 700; color: #0b6fa4; } .ev-com p { margin: 6px 0; } .ev-com small { color: var(--suave, #5b6b7a); }
.ev-dec { border-top: 1px dashed #dfe6ee; margin-top: 10px; padding-top: 10px; } .ev-dec-act { font-size: 14px; margin-bottom: 8px; } .ev-dec-act small { display: block; color: var(--suave, #5b6b7a); font-size: 12px; }
.ev-dec-bts { display: flex; flex-wrap: wrap; gap: 6px; } .ev-db { border: 1px solid #cfdbe6; background: #fff; border-radius: 10px; padding: 8px 12px; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; min-height: 40px; } .ev-db.on { border-color: #0b6fa4; background: #EAF4FA; } .ev-db-q { color: #8a2c1f; border-style: dashed; }
.ev-dec-no { color: var(--suave, #5b6b7a); font-size: 12px; } .ev-nota { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; } .ev-nota input { flex: 1; min-width: 180px; min-height: 40px; }
@media (max-width: 520px) { .ev-b { grid-template-columns: 110px 1fr 30px; font-size: 12px; } }
/* 05/10/2026 pestaña Valoraciones de las FEM (lectura de Evaluación) */
.ev-pocas { border-left-color: #9aa8b6; }
.ev-cab { align-items: center; } .ev-nota { display: flex; align-items: baseline; gap: 3px; background: #F3F8FC; border-radius: 14px; padding: 8px 14px; } .ev-nota b { font-size: 32px; line-height: 1; color: #12263a; } .ev-nota small { font-size: 13px; color: #5b6b7a; }
.ev-verde .ev-nota { background: #EDF8F1; } .ev-ambar .ev-nota { background: #FFF6E5; } .ev-rojo .ev-nota { background: #FDECEA; }
.ev-cab-t { flex: 1; min-width: 180px; } .ev-cab-t small { display: block; color: var(--suave, #5b6b7a); font-size: 12.5px; margin-top: 3px; }
.ev-alertas { margin: 12px 0 4px; background: #FDECEA; border-radius: 12px; padding: 10px 12px; color: #6e2117; font-size: 13.5px; } .ev-alertas ul { margin: 6px 0 0; padding-left: 18px; }
.ev-h { margin: 14px 0 6px; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--suave, #5b6b7a); }
.ev-kpis { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; margin: 12px 0 4px; } .ev-kpis > div { background: #F7FAFC; border-radius: 12px; padding: 10px; } .ev-kpis b { display: block; font-size: 20px; color: #12263a; } .ev-kpis small { font-size: 12px; color: var(--suave, #5b6b7a); }
.ev-cursos { font-size: 12.5px; color: var(--suave, #5b6b7a); margin: 8px 0 0; }
.ev-dec-act { display: flex; gap: 10px; align-items: flex-start; border-radius: 12px; padding: 10px 12px; } .ev-dec-act > span { font-size: 22px; } .ev-dec-act p { margin: 4px 0; font-size: 13.5px; }
.ev-d-ok { background: #EDF8F1; } .ev-d-pa { background: #FFF6E5; } .ev-d-no { background: #FDECEA; }
.ev-vacio { text-align: center; padding: 30px 16px; color: var(--suave, #5b6b7a); } .ev-vacio span { font-size: 36px; display: block; } .ev-vacio b { display: block; color: #12263a; font-size: 16px; margin: 6px 0; }
.emp-tab-sem { font-style: normal; }
@media (max-width: 560px) { .ev-kpis { grid-template-columns: 1fr; } }
/* 05/10/2026 🎥 vídeos del equipo en Tutoriales */
.tutv-prep { position: absolute; inset: auto 10px 10px 10px; background: rgba(13,27,42,.78); color: #fff; font-size: 13px; font-weight: 700; border-radius: 10px; padding: 6px 10px; text-align: center; }
.tutv-meta { display: block; color: var(--suave, #5b6b7a); font-size: 12px; margin-top: 4px; }
.tutv-m .tutv-modos { display: flex; gap: 6px; margin: 10px 0 12px; } .tutv-modos button { flex: 1; border: 1px solid #cfdbe6; background: #fff; border-radius: 10px; padding: 10px; font: inherit; font-weight: 700; cursor: pointer; min-height: 44px; } .tutv-modos button.on { border-color: #0b6fa4; background: #EAF4FA; color: #0b6fa4; }
.tutv-drop { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; border: 2px dashed #b7cfe0; border-radius: 16px; padding: 22px 14px; background: #F7FBFE; cursor: pointer; transition: background .15s, border-color .15s; margin-bottom: 10px; }
.tutv-drop.sobre { background: #EAF4FA; border-color: #0b6fa4; } .tutv-drop.ok { border-style: solid; border-color: #2e9a5c; background: #EDF8F1; }
.tutv-drop-i { font-size: 34px; } .tutv-drop b { font-size: 15px; color: #12263a; overflow-wrap: anywhere; } .tutv-drop small { color: var(--suave, #5b6b7a); font-size: 12.5px; }
.tutv-bqs { display: flex; flex-wrap: wrap; gap: 6px; }
.tutv-prog { height: 10px; background: #eef2f6; border-radius: 99px; overflow: hidden; margin-top: 8px; } .tutv-prog i { display: block; height: 100%; background: linear-gradient(90deg, #0b6fa4, #26a0da); transition: width .3s; }
/* 05/10/2026 acceso destacado a Tutoriales arriba del menú */
.rail-tutos { display: flex; align-items: center; gap: 10px; margin: 0 12px 10px; padding: 10px 12px; border-radius: 12px; border: 0; cursor: pointer; text-align: left; font: inherit; color: #3b2a00; background: linear-gradient(135deg, #f7c14d, #f2a93b); box-shadow: 0 4px 14px rgba(242,169,59,.35); transition: transform .15s, box-shadow .15s; position: relative; }
.rail-tutos:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(242,169,59,.45); }
.rail-tutos .rt-i { width: 30px; height: 30px; border-radius: 9px; background: rgba(255,255,255,.55); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .rail-tutos svg { width: 18px; height: 18px; }
.rail-tutos .rt-t b { display: block; font-size: 13.5px; line-height: 1.15; } .rail-tutos .rt-t small { display: block; font-size: 11px; opacity: .85; }
.rail-tutos .rt-n { position: absolute; top: -6px; right: -4px; background: #c0392b; color: #fff; font-style: normal; font-size: 11px; font-weight: 800; border-radius: 99px; min-width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; padding: 0 5px; }
.rail-tutos.on { outline: 2px solid #fff; outline-offset: 1px; }
body.ancho .rail-tutos { justify-content: center; margin: 0 8px 10px; padding: 8px 0; } body.ancho .rail-tutos .rt-t { display: none; }
.rail-nav [data-vista="tutoriales"] { display: none; }
@media (max-width: 760px) { .rail-tutos { display: none; } }
.mas-tutos { display: flex; align-items: center; gap: 12px; width: 100%; box-sizing: border-box; margin: 10px 0 4px; padding: 12px 14px; border-radius: 14px; border: 0; cursor: pointer; text-align: left; font: inherit; color: #3b2a00; background: linear-gradient(135deg, #f7c14d, #f2a93b); }
.mas-tutos .rt-i { font-size: 24px; } .mas-tutos b { display: block; font-size: 15px; } .mas-tutos small { display: block; font-size: 12px; opacity: .85; }
#tvT, #tvD, #tvU { width: 100%; box-sizing: border-box; }
/* 05/10/2026 📋 plan de formación del curso (una vez para todo el alumnado) */
.fpb { display: grid; gap: 12px; }
.fpb-cab-t { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; align-items: flex-start; } .fpb-cab h3 { margin: 0 0 4px; } .fpb-cab-t > div:first-child { flex: 1; min-width: 240px; }
.fpb-acc { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.fpb-est { font-size: 12.5px; font-weight: 700; color: #3c5163; background: #eef2f6; border-radius: 99px; padding: 5px 10px; } .fpb-est.ok { background: #EDF8F1; color: #1f6b3a; } .fpb-est.guardando { background: #EAF4FA; color: #0b6fa4; } .fpb-est.mal { background: #FDECEA; color: #8a2c1f; }
.fpb-ley { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; } .fpb-l { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; background: #F7FAFC; border-radius: 99px; padding: 4px 10px 4px 4px; } .fpb-l i { font-style: normal; font-weight: 800; font-size: 11.5px; border-radius: 99px; padding: 3px 8px; } .fpb-l b { color: #12263a; }
.fpb-E i, .fpb-b.fpb-E.on { background: #0b6fa4; color: #fff; } .fpb-A i, .fpb-b.fpb-A.on { background: #7b4bd1; color: #fff; } .fpb-C i, .fpb-b.fpb-C.on { background: #2e9a5c; color: #fff; } .fpb-N i, .fpb-b.fpb-N.on { background: #8a99a8; color: #fff; }
.fpb-mh { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; } .fpb-mh > i { width: 12px; height: 12px; border-radius: 4px; flex-shrink: 0; } .fpb-mh > div:nth-child(2) { flex: 1; min-width: 200px; } .fpb-mh b { font-size: 15px; } .fpb-mh small { display: block; color: var(--suave, #5b6b7a); font-size: 12px; }
.fpb-mall { display: flex; align-items: center; gap: 4px; font-size: 12px; color: var(--suave, #5b6b7a); } .fpb-mb { border: 1px solid #cfdbe6; background: #fff; border-radius: 8px; font: inherit; font-size: 11.5px; font-weight: 800; padding: 4px 7px; cursor: pointer; min-height: 30px; }
.fpb-l-ra { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.fpb-r { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 12px; border: 1px solid #e3e9ef; background: #fff; transition: background .15s, opacity .15s; }
.fpb-r-A { background: #F6F1FD; } .fpb-r-C { background: #EDF8F1; } .fpb-r-N { opacity: .55; } .fpb-r-N .fpb-tx { text-decoration: line-through; }
.fpb-tx { flex: 1; min-width: 0; font-size: 14px; line-height: 1.35; }
.fpb-seg { display: inline-flex; border: 1px solid #cfdbe6; border-radius: 10px; overflow: hidden; flex-shrink: 0; }
.fpb-b { border: 0; border-right: 1px solid #e3e9ef; background: #fff; font: inherit; font-size: 12.5px; font-weight: 800; color: #3c5163; min-width: 44px; min-height: 38px; padding: 0 8px; cursor: pointer; transition: background .12s, color .12s; } .fpb-b:last-child { border-right: 0; } .fpb-b:hover:not(.on) { background: #F3F8FC; }
.fpb.fpb-full { position: fixed; inset: 0; z-index: 900; background: var(--fondo, #eef3f8); overflow-y: auto; padding: 16px max(16px, calc((100vw - 1100px) / 2)); }
body.fpb-abierto { overflow: hidden; }
@media (max-width: 640px) { .fpb-r { flex-direction: column; align-items: stretch; gap: 8px; } .fpb-seg { align-self: flex-end; } .fpb-mall span { display: none; } }
.fpb-res { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; background: #F3F8FC; border-radius: 12px; padding: 10px 12px; margin: 10px 0; } .fpb-res > span { font-size: 22px; } .fpb-res > div { flex: 1; min-width: 200px; } .fpb-res small { display: block; color: var(--suave, #5b6b7a); font-size: 12.5px; }
/* 05/10/2026 TGSS: resultado de cada persona en el fichero AFI */
.ftg-res { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; background: #EAF4FA; border-radius: 10px; padding: 8px 10px; font-size: 13px; margin: -2px 0 6px; } .ftg-res small { color: var(--suave, #5b6b7a); }
.ftg-res-mal { background: #FDECEA; color: #6e2117; }
.ftg-res-b { display: flex; gap: 6px; flex-wrap: wrap; } .ftg-res-no { color: #8a2c1f; }
.ftg-res-f { display: flex; gap: 6px; width: 100%; flex-wrap: wrap; } .ftg-res-f input { flex: 1; min-width: 180px; min-height: 40px; }
.ftg-afi-res { margin-top: 10px; background: #F7FAFC; border-radius: 12px; padding: 12px; display: grid; gap: 8px; } .ftg-afi-res small { color: var(--suave, #5b6b7a); }
.fem-k-roj { background: #FDECEA !important; } .fem-k-roj b { color: #8a2c1f; }
/* 05/10/2026 importador FEM: solo pegar, con pasos */
.fi-pasos { list-style: none; margin: 4px 0 12px; padding: 0; display: grid; gap: 8px; } .fi-pasos li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.4; }
.fi-pasos li > span { width: 26px; height: 26px; border-radius: 99px; background: #0b6fa4; color: #fff; font-weight: 800; font-size: 13px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.fi-pasos small { display: block; color: var(--suave, #5b6b7a); font-size: 12.5px; margin-top: 3px; }
.fi-pasos kbd, .fi-cab kbd { font: inherit; font-size: 12px; font-weight: 700; background: #fff; border: 1px solid #cfdbe6; border-bottom-width: 2px; border-radius: 6px; padding: 1px 6px; }
.fi-txt { width: 100%; box-sizing: border-box; font-family: ui-monospace, Menlo, monospace; font-size: 12.5px; border: 2px dashed #b7cfe0; border-radius: 12px; padding: 10px; background: #F7FBFE; white-space: pre; overflow: auto; }
.fi-txt:focus { border-style: solid; border-color: #0b6fa4; outline: 0; }
.fi-txt-est { font-size: 13px; margin: 6px 0 10px; color: var(--suave, #5b6b7a); } .fi-txt-est.ok { color: #1f6b3a; font-weight: 700; } .fi-txt-est.aviso { color: #8a5a00; font-weight: 700; } .fi-txt-est.mal { color: #8a2c1f; font-weight: 700; }
.ftg-resp { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 12px; padding: 12px; border-radius: 12px; background: #EDF8F1; } .ftg-resp > span { font-size: 24px; } .ftg-resp > div { flex: 1; min-width: 200px; } .ftg-resp small { display: block; color: #3c6b4d; font-size: 12.5px; }
.fsl-out h4 { margin: 12px 0 4px; } .fsl-out ul { margin: 0; padding-left: 4px; list-style: none; display: grid; gap: 4px; font-size: 14px; }
/* 05/10/2026 cursos: buscar en todos (bien visible) y buscador con IA */
.cu-buscar-todo { display: flex !important; align-items: center; gap: 12px; flex-wrap: wrap; background: #EAF4FA; border: 2px solid #9cc3dd; border-radius: 16px; padding: 14px 16px; margin: 14px 0; text-align: left; }
.cu-buscar-todo .cbt-i { font-size: 26px; } .cu-buscar-todo > div { flex: 1; min-width: 220px; } .cu-buscar-todo b { display: block; font-size: 16px; color: #12263a; } .cu-buscar-todo small { display: block; font-size: 13.5px; color: #3c5163; margin-top: 2px; }
.cu-buscar-todo .btn { min-height: 46px; font-size: 15px; }
.cu-ia { margin: 0 0 12px; } .cu-ia form { display: flex; align-items: center; gap: 10px; background: #fff; border: 2px solid #c9b8f0; border-radius: 16px; padding: 6px 6px 6px 14px; box-shadow: 0 4px 16px rgba(123,75,209,.10); transition: border-color .15s, box-shadow .15s; }
.cu-ia form:focus-within { border-color: #7b4bd1; box-shadow: 0 6px 22px rgba(123,75,209,.18); }
.cu-ia-i { font-size: 20px; } .cu-ia input { flex: 1; min-width: 0; border: 0 !important; box-shadow: none !important; outline: 0; font: inherit; font-size: 15px; min-height: 44px; background: transparent; padding: 0 !important; }
.cu-ia .btn { min-height: 44px; }
.cu-ia-r { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 6px; } .cu-ia-ok { background: #F6F1FD; color: #4b2a8a; font-weight: 700; font-size: 13.5px; border-radius: 99px; padding: 6px 12px; } .cu-ia-x { border: 0; background: none; color: #8a2c1f; font: inherit; font-weight: 700; cursor: pointer; }
@media (max-width: 560px) { .cu-ia input::placeholder { font-size: 13px; } }
.cu-res-todo { display: flex !important; align-items: center; gap: 10px; flex-wrap: wrap; background: #FFF6E5 !important; border: 2px solid #f2c46b; border-radius: 14px; padding: 10px 14px !important; font-size: 15px !important; margin: 10px 0 14px; } .cu-res-todo b { font-size: 16px; }
/* 05/10/2026 sector FUNDAE en Cursos */
.cu-sec { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; background: #fff; border: 1px solid #e3e9ef; border-radius: 14px; padding: 10px 12px; margin-bottom: 4px; }
.cu-sec-t { font-weight: 800; font-size: 13px; color: #12263a; margin-right: 4px; } .cu-sec .ms-chip i { font-style: normal; font-size: 11px; opacity: .75; margin-left: 2px; }
.sec-chip { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; color: #6b3a00; background: #FFF1DC; border: 1px solid #f5c98a; border-radius: 99px; padding: 3px 9px; margin: 2px; }
.cu-res-todo, .cu-buscar-todo { grid-column: 1 / -1; }
.cu-sec-b { border: 1px solid #e3d3bd; background: #fff; color: #5a3a10; border-radius: 99px; padding: 6px 12px; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; min-height: 36px; } .cu-sec-b i { font-style: normal; font-size: 11px; opacity: .75; margin-left: 3px; }
.cu-sec-b.on { background: #f2a93b; border-color: #f2a93b; color: #3b2a00; }
/* 05/10/2026 ⭐ favoritos del menú (de cada persona) */
.rail-favs { margin: 0 8px 10px; padding: 6px; border-radius: 12px; border: 1px dashed rgba(255,255,255,.18); background: rgba(255,255,255,.04); transition: background .15s, border-color .15s; }
.rail-favs.sobre, body.favs-arrastrando .rail-favs { border-color: #f2b23e; background: rgba(242,178,62,.12); }
.rail-favs-h { display: flex; align-items: center; justify-content: space-between; padding: 2px 6px 4px; font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #f2c46b; }
.rail-favs-ed { border: 0; background: none; color: #cfe0ee; font: inherit; font-size: 11.5px; font-weight: 700; text-decoration: underline; cursor: pointer; text-transform: none; letter-spacing: 0; }
.mas-favs .rail-favs-ed { color: #0b6fa4; margin-left: 8px; }
.rail-favs-vacio { font-size: 12px; color: rgba(255,255,255,.6); padding: 8px 6px; text-align: center; }
.mas-favs .rail-favs-vacio { color: var(--suave, #5b6b7a); text-align: left; }
.rail-fav { position: relative; } .rail-fav.antes { box-shadow: 0 -3px 0 #f2b23e; } .rail-fav.arrastrando { opacity: .4; }
.rail-fav-x { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font-size: 11px; opacity: 0; color: #fff; background: rgba(255,255,255,.15); border-radius: 6px; padding: 2px 5px; transition: opacity .15s; }
.rail-fav:hover .rail-fav-x { opacity: 1; }
.rail-nav .rail-item[draggable="true"] { cursor: grab; }
body.ancho .rail-favs-h span, body.ancho .rail-favs-vacio { display: none; }
.fav-l h4 { margin: 12px 0 6px; } .fav-r { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 10px; background: #FFF6E5; margin-bottom: 4px; font-weight: 700; }
.fav-r div { display: flex; gap: 4px; } .fav-r button { border: 1px solid #e3d3bd; background: #fff; border-radius: 8px; min-width: 36px; min-height: 34px; cursor: pointer; font: inherit; } .fav-r button:disabled { opacity: .35; }
.fav-add { display: flex; flex-wrap: wrap; gap: 6px; } .fav-chip { border: 1px solid #cfdbe6; background: #fff; border-radius: 99px; padding: 6px 12px; font: inherit; font-size: 13px; cursor: pointer; min-height: 36px; } .fav-chip:hover { background: #FFF6E5; border-color: #f2c46b; }
.ms-chip.activo[data-misede=""] { background: #12263a; border-color: #12263a; color: #fff; }

/* 05/10: botones grandes de documentos para todo el grupo (portadillas, accidente) */
.fd-todos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px;margin:0 0 14px}
.fd-todo{display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;min-height:64px;border-radius:14px;border:1.5px solid #bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff);color:#12263a;cursor:pointer;font:inherit;transition:transform .15s,box-shadow .15s}
.fd-todo:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(18,38,58,.12)}
.fd-todo:disabled{opacity:.6;cursor:wait}
.fd-todo span{flex:1;min-width:0}
.fd-todo i{font-style:normal;font-size:26px;line-height:1;flex:none}
.fd-todo b{display:block;font-size:15px}
.fd-todo small{display:block;color:#5b6b7b;font-size:12.5px;margin-top:2px}
.fd-todo.fd-todo-acc{border-color:#fecaca;background:linear-gradient(135deg,#fef2f2,#fff)}

/* 05/10: aviso fijo de envío de campaña en marcha */
.envio-vivo{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:100000;width:min(520px,calc(100vw - 24px));display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:16px;background:#12263a;color:#fff;box-shadow:0 16px 40px rgba(0,0,0,.35);border:2px solid #F2B23E;animation:evIn .25s ease-out}
.envio-vivo.ok{background:#14532d;border-color:#4ade80}.envio-vivo.mal{background:#7f1d1d;border-color:#fca5a5}
.envio-vivo .ev-txt{flex:1;min-width:0}.envio-vivo b{display:block;font-size:16px}.envio-vivo span{display:block;font-size:14px;margin-top:2px;opacity:.95}
.envio-vivo small{display:block;font-size:12.5px;margin-top:8px;color:#fde68a}
.ev-barra{height:8px;border-radius:99px;background:rgba(255,255,255,.18);margin-top:8px;overflow:hidden}.ev-barra i{display:block;height:100%;background:#F2B23E;border-radius:99px;transition:width .4s}
.ev-spin{width:30px;height:30px;flex:none;border-radius:50%;border:4px solid rgba(255,255,255,.25);border-top-color:#F2B23E;animation:evGira .9s linear infinite}
.ev-ico{font-size:26px;flex:none}.ev-x{background:none;border:0;color:#fff;font-size:20px;cursor:pointer;padding:6px 8px;min-width:40px;min-height:40px}
@keyframes evGira{to{transform:rotate(360deg)}}@keyframes evIn{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
@media (max-width:700px){.envio-vivo{bottom:calc(76px + env(safe-area-inset-bottom))}}

/* 05/10: leyenda de canales en Campañas por sector */
.grp-ley{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:6px 0 12px;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid #dde6ee;font-size:13px;color:#3b4b5b}
.grp-ley b{color:#12263a}.grp-ley span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.grp-ley i{font-style:normal}
.grp-ley .grp-can{padding:1px 7px;font-size:11.5px}
.grp-ley span.grp-ley-on{white-space:normal}

/* 05/10: rótulos de Por atender (para no confundir «sin tocar» con «todas») */
.pa-cap{margin:12px 2px 6px;font-size:13.5px;color:#3b4b5b}.pa-cap b{color:#12263a}

/* 05/10: «Comparte y suma» destacado arriba del menú (y el de abajo ya no hace falta) */
.rail-comparte{color:#fff;background:linear-gradient(135deg,#0B5C8A,#12a37f);box-shadow:0 4px 14px rgba(11,92,138,.35);animation:rcBrillo 6s ease-in-out infinite}
.rail-comparte:hover{box-shadow:0 6px 18px rgba(11,92,138,.5)}
.rail-comparte .rt-i{background:rgba(255,255,255,.22);color:#fff}
@keyframes rcBrillo{0%,85%,100%{filter:none}92%{filter:brightness(1.15)}}
@media (prefers-reduced-motion:reduce){.rail-comparte{animation:none}}
#railComparte{display:none}

/* 06/10: aviso por SMS del cambio de fecha de inicio */
.ai-n{display:flex;gap:10px;margin:10px 0;flex-wrap:wrap}.ai-n div{flex:1;min-width:90px;background:#eef5fb;border-radius:12px;padding:10px;text-align:center}.ai-n b{display:block;font-size:22px;color:#12263a}.ai-n small{color:#5b6b7b;font-size:12.5px}
.ai-n .ai-sin{background:#fff6e0}.ai-sw{display:flex;gap:10px;align-items:flex-start;margin:6px 0 12px;font-size:14px;cursor:pointer}.ai-sw input{width:20px;height:20px;flex:none;margin-top:1px}
.ai-cont{display:block;margin-top:4px;color:#5b6b7b}.ai-cont.mal{color:#b42318;font-weight:700}
#aiTxt{width:100%;box-sizing:border-box;font-size:16px;line-height:1.4;padding:10px 12px;border-radius:12px;border:1.5px solid #d6e4ee;resize:vertical;font-family:inherit}

/* 06/10: Agencias de Desarrollo Local */
.adl-h{margin:14px 0 8px;font-size:15px}.adl-h small{font-weight:500;color:#5b6b7b;margin-left:6px}
.adl-munis{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:8px}
.adl-m{text-align:left;border:1.5px solid #dde6ee;background:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;font:inherit;min-height:56px}
.adl-m b{display:block;font-size:14px;color:#12263a}.adl-m small{display:block;font-size:11.5px;color:#7a8a99;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adl-m.on{border-color:#0F6A9C;background:#eef5fb;box-shadow:inset 0 0 0 1px #0F6A9C}.adl-m.ya small{color:#1f7a45;font-weight:700}
.adl-acc-sel{margin:8px 0 4px;font-size:13px}.adl-pie{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}
@media(max-width:600px){.adl-pie .btn{flex:1}}

/* 📰 Medios de comunicación (06/10/2026) */
.md-pub{margin-top:14px;padding:14px;border:1px solid var(--borde,#dfe6ee);border-radius:14px;background:var(--fondo-suave,#f6f9fc)}
.md-pub>b{font-size:.95rem}.md-pub>small{color:var(--texto-suave,#5b6b7c)}
.md-pub-in{display:grid;grid-template-columns:200px 1fr;gap:14px;margin-top:10px;align-items:start}
.md-cartel{border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--borde,#dfe6ee);min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0}
.md-cartel img{display:block;width:100%;height:auto}.md-cartel small{padding:12px;color:var(--texto-suave,#5b6b7c)}
.md-pub textarea{width:100%;box-sizing:border-box;margin:0}
@media (max-width:640px){.md-pub-in{grid-template-columns:1fr}.md-cartel{max-width:260px;margin:0 auto}}

/* 💬 plantillas de WhatsApp pendientes de Meta (06/10/2026) */
.wa-auto{display:flex;gap:12px;align-items:flex-start;margin:12px 0 4px;padding:12px 14px;border:1.5px solid #cfe3d6;background:#f3faf5;border-radius:12px;cursor:pointer}
.wa-auto input{width:22px;height:22px;flex:0 0 auto;margin-top:1px;accent-color:#1f8a4c}
.wa-auto b{display:block;font-size:14px;color:#12263a}.wa-auto small{display:block;font-size:12.5px;color:#5b6b7c;line-height:1.4;margin-top:2px}
.wa-auto-peq{margin:10px 0 0;padding:8px 10px;background:#fff}
.wa-espera{display:flex;gap:12px;align-items:flex-start;margin:12px 0 4px;padding:14px;border-radius:12px;background:#fff8e8;border:1.5px solid #f2d79a}
.wa-espera-i{font-size:24px;line-height:1}.wa-espera b{display:block;color:#12263a}.wa-espera>div>small{display:block;color:#5b6b7c;font-size:13px;margin-top:2px}

/* ✉️ desde qué correo salen las campañas (06/10/2026) */
.rem-capa{position:fixed;inset:0;z-index:9999;background:rgba(13,27,42,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.rem-caja{background:#fff;border-radius:18px;max-width:480px;width:100%;max-height:90vh;overflow:auto;padding:22px 22px 18px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.rem-caja h3{margin:0 0 6px;font-size:18px;color:#12263a}.rem-caja>p{margin:0 0 14px;color:#5b6b7c;font-size:14px;line-height:1.45}
.rem-ops{display:flex;flex-direction:column;gap:8px}
.rem-op{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1.5px solid #dde6ee;border-radius:12px;cursor:pointer;min-height:52px}
.rem-op:has(input:checked){border-color:#0F6A9C;background:#f1f7fb}.rem-op input{width:20px;height:20px;accent-color:#0F6A9C;flex:0 0 auto}
.rem-op b{display:block;font-size:14px;color:#12263a;word-break:break-all}.rem-op small{display:block;font-size:12.5px;color:#7a8a99}
.rem-nota{font-size:13px;color:#8a5a00;background:#fff8e8;border-radius:10px;padding:10px 12px;margin:12px 0 0}
.rem-pie{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.rem-chip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 0;font-size:13px;color:#5b6b7c}.rem-chip b{color:#12263a;word-break:break-all}
@media (max-width:640px){.rem-pie{flex-direction:column-reverse}.rem-pie .btn{width:100%}}

/* 🍷 invitación de embajadores a la cata (06/10/2026) */
.emb-cata{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0 14px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#3a0a16,#5A1122);color:#F5EAD6}
.emb-cata>span{font-size:26px}.emb-cata>div{flex:1;min-width:200px}.emb-cata b{display:block;color:#fff}.emb-cata small{color:#E9D9BF}
.emb-sms{background:#f3f6f9;border-radius:12px;padding:12px 14px;margin:12px 0}.emb-sms p{margin:6px 0 0;font-size:14.5px;line-height:1.45;word-break:break-word}
.emb-lista summary{cursor:pointer;font-weight:700;margin:6px 0}.emb-fila{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eef2f6}.emb-fila.no{opacity:.55}.emb-fila small{color:#7a8a99}

/* 🔭 Estudio de mercado (06/10/2026) */
.mer-estudio summary{cursor:pointer;display:flex;flex-direction:column;gap:2px}.mer-estudio summary small{color:#7a8a99;font-weight:400}.mer-estudio p{margin:10px 0 0;line-height:1.55;color:#33475b}
.mer-barra{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:14px 0}
.mer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.mer-card{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid #e3eaf1;border-radius:16px;background:#fff;overflow:hidden;cursor:pointer;font:inherit;box-shadow:0 2px 10px rgba(15,40,70,.06);transition:transform .15s,box-shadow .15s;animation:merIn .45s ease both}
.mer-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(15,40,70,.12)}
.mer-foto{height:150px;background:#dfe8f0 center/cover;position:relative}.mer-h,.mer-ok{position:absolute;left:10px;bottom:10px;background:rgba(13,27,42,.82);color:#fff;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px}.mer-ok{left:auto;right:10px;background:#1f8a4c}
.mer-tx{padding:12px 14px 14px;display:flex;flex-direction:column;gap:5px}.mer-tx b{font-size:16px;color:#12263a;line-height:1.3}.mer-tx span{font-size:13.5px;color:#4a5d70}.mer-tx em{font-style:normal;font-size:12.5px;color:#0F6A9C}
.mer-area{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#7a8a99;font-weight:700}.mer-f{font-size:11.5px;color:#9aa8b5}
.mer-card.sk .mer-foto{animation:skel 1.2s ease-in-out infinite}
@keyframes merIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mer-ficha-foto{height:200px;border-radius:14px;background:#dfe8f0 center/cover;margin-bottom:14px}.mer-ficha-cab h3{margin:4px 0 6px;font-size:22px}.mer-ficha-cab p{margin:0 0 8px;color:#4a5d70}
.mer-porque{background:#fff8e8;border-radius:12px;padding:12px 14px;margin:14px 0}.mer-porque ul{margin:6px 0 0 18px;padding:0}.mer-porque li{margin:4px 0;font-size:14px}.mer-porque details a{display:block;font-size:12.5px;margin:4px 0;color:#0F6A9C;word-break:break-word}
.mer-tabla{width:100%;border-collapse:collapse;font-size:14px}.mer-tabla th{width:150px;text-align:left;vertical-align:top;padding:10px 10px 10px 0;color:#5b6b7c;font-weight:700;border-top:1px solid #eef2f6}.mer-tabla td{padding:10px 0;border-top:1px solid #eef2f6}.mer-tabla ul{margin:0;padding-left:18px}
.mer-ud{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:6px 0;border-bottom:1px dashed #eef2f6}.mer-ud span{color:#0F6A9C;font-weight:700}.mer-ud small{grid-column:1/-1;color:#7a8a99}
.mer-curso{margin-top:16px}.mer-ud-b{display:block;width:100%;text-align:left;margin:6px 0 0;padding:12px 14px;border:1px solid #dfe6ee;border-radius:12px;background:#f6f9fc;font:inherit;font-weight:700;cursor:pointer}.mer-ud-b small{display:block;font-weight:400;color:#7a8a99}
.mer-ud-c{padding:6px 14px 12px;border-left:3px solid #0F6A9C;margin:6px 0 0}.mer-ud-c p{line-height:1.6;color:#33475b}.mer-ud-c h5{margin:14px 0 6px;font-size:15px;color:#12263a}
.mer-caso{background:#eef6fb;border-radius:12px;padding:10px 12px;margin:10px 0}.mer-act{border:1px solid #eef2f6;border-radius:10px;padding:8px 12px;margin:6px 0}.mer-act p{margin:4px 0}
.mer-q{margin:8px 0;padding:8px 0;border-bottom:1px solid #eef2f6}.mer-q span{display:block;font-size:13.5px;margin:2px 0 0 10px}.mer-q span.ok{color:#1f7a3a;font-weight:700}.mer-q small{display:block;color:#7a8a99;margin-top:4px}
.mer-acc{flex-wrap:wrap}
@media (max-width:640px){.mer-tabla th{display:block;width:auto;padding-bottom:0;border:0}.mer-tabla td{display:block}.mer-barra .btn{width:100%}}

/* ⚽ 06/10/2026 Clubes colaboradores */
.clb-barra{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:4px 0 16px}.clb-barra p{margin:0;color:var(--gris,#5b6b7a);font-size:14px}.clb-acc{display:flex;gap:8px;flex-wrap:wrap}
.clb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
.clb-card{background:#fff;border-radius:18px;border:1px solid #e3e9ef;box-shadow:0 6px 20px rgba(13,27,42,.06);overflow:hidden;animation:clbEntra .45s both}
.clb-card.off{opacity:.65}.clb-card.sk{min-height:220px}
@keyframes clbEntra{from{opacity:0;transform:translateY(10px)}}
.clb-top{display:flex;align-items:center;gap:14px;padding:16px;background:linear-gradient(135deg,var(--co,#0A1A44),var(--ca,#1B3A8C));color:#fff}
.clb-esc{flex:none;width:64px;height:64px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--cb,#F5D33A);padding:4px;display:grid;place-items:center}.clb-esc img{width:100%;height:100%;object-fit:contain}
.clb-nom{flex:1;min-width:0}.clb-nom b{display:block;font-size:18px;line-height:1.2}.clb-nom small{opacity:.85;font-size:12.5px}
.clb-chip{flex:none;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:800;background:rgba(255,255,255,.18);color:#fff}.clb-chip.vivo{background:#2E9E5B;color:#fff}
.clb-marc{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px 6px}.clb-marc div{background:#F5F7FB;border-radius:12px;padding:10px 12px}.clb-marc b{display:block;font-size:26px;line-height:1.1;color:var(--ca,#1B3A8C);font-variant-numeric:tabular-nums}.clb-marc span{font-size:12.5px;font-weight:700;color:#5b6b7a}
.clb-url{padding:6px 16px;font-size:13px;color:#5b6b7a;word-break:break-all}
.clb-bts{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px 16px}.clb-bts .btn{padding:8px 12px;font-size:13.5px;min-height:40px;text-decoration:none;display:inline-flex;align-items:center}
.clb-vacio{background:#fff;border:1px dashed #cfd8e3;border-radius:18px;padding:34px;text-align:center;color:#5b6b7a;margin-bottom:16px}.clb-vacio div{font-size:40px}
.clb-form{display:flex;flex-direction:column;gap:8px}.clb-form input:not([type=file]):not([type=color]):not([type=checkbox]){width:100%;font-size:16px;padding:12px;border:1px solid #d5dde6;border-radius:10px}
.clb-prev{display:flex;align-items:center;gap:14px;border-radius:16px;padding:16px;color:#fff;margin-bottom:6px}.clb-prev b{display:block;font-size:19px;line-height:1.2}.clb-pk{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.clb-pesc{flex:none;width:76px;height:76px;border-radius:50%;background:#fff;display:grid;place-items:center;padding:5px;color:#5b6b7a;font-size:11px;text-align:center}.clb-pesc img{width:100%;height:100%;object-fit:contain}.clb-pesc img:not([src]){display:none}
.clb-sub{display:flex;flex-wrap:wrap;align-items:center;gap:10px;cursor:pointer}.clb-sub input{position:absolute;opacity:0;width:1px;height:1px}.clb-sub small{color:#5b6b7a;flex:1 1 220px}.clb-sub:focus-within .btn{outline:2px solid #1A8CC4}
.clb-cols{display:flex;gap:14px;flex-wrap:wrap}.clb-cols label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.clb-cols input{width:48px;height:40px;border:1px solid #d5dde6;border-radius:10px;padding:2px;background:#fff}
.clb-nota{margin:4px 0 0;font-size:13px;color:#8a5a00;background:#FFF6E0;border-radius:10px;padding:8px 12px}
.clb-pie{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
@media(max-width:600px){.clb-grid{grid-template-columns:1fr}.clb-pie{position:sticky;bottom:0;background:#fff;padding:10px 0}.clb-pie .btn{flex:1}}
.clb-cat{padding:4px 16px 0}.clb-cat span{display:inline-block;background:var(--cb,#F5D33A);color:var(--co,#0A1A44);border-radius:99px;padding:3px 10px;font-weight:800;font-size:13px}.clb-cat i{display:block;height:7px;border-radius:99px;margin:7px 0 3px;background:linear-gradient(90deg,var(--ca,#1B3A8C) var(--p),#e3e9ef var(--p))}.clb-cat small{color:#5b6b7a;font-size:12.5px}
.clb-sorteo{margin:8px 16px 0;background:linear-gradient(135deg,#FFF6E0,#FFE9B0);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.clb-sorteo span{font-size:13.5px;color:#5b4a1a}
.clb-sorteos{margin:8px 16px 0;font-size:13px;color:#33475b;display:flex;flex-direction:column;gap:6px}.clb-sorteos div{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:space-between;background:#F5F7FB;border-radius:10px;padding:8px 10px}.clb-pub{display:flex;align-items:center;gap:6px;font-weight:600}
.clb-sw{display:flex;gap:12px;align-items:flex-start;background:#F5F7FB;border-radius:12px;padding:12px;cursor:pointer;margin-top:6px}.clb-sw input{width:22px;height:22px;margin-top:2px;flex:none}.clb-sw small{display:block;color:#5b6b7a;font-size:13px}
.clb-rifa{border:1px dashed #e0c36a;border-radius:14px;padding:4px 10px 10px;margin-top:6px}.clb-ayuda{color:#8a5a00;font-size:12.5px}
.clb-gana{text-align:center;padding:10px 4px}.clb-conf{font-size:54px;animation:clbEntra .5s both}.clb-gnom{font-size:26px;font-weight:800;margin:10px 0 14px}.clb-gana .btn{display:inline-flex}
.clb-dias input{max-width:140px}
.clb-sacc{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.clb-dep{display:flex;gap:8px}.clb-dep label{flex:1}.clb-dep input{position:absolute;opacity:0}.clb-dep span{display:flex;align-items:center;justify-content:center;min-height:46px;border:2px solid #d5dde6;border-radius:12px;font-weight:700;cursor:pointer}.clb-dep input:checked+span{border-color:#1A8CC4;background:#E4F1F9}.clb-dep input:focus-visible+span{outline:2px solid #1A8CC4}

/* 💼 06/10/2026 Inserta */
.isr-barra{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:4px 0 16px}.isr-kpi b{font-size:30px;color:#0F6A9C;margin-right:8px}.isr-kpi span{color:#5b6b7a;font-size:14px}.isr-acc{display:flex;gap:8px;flex-wrap:wrap}
.isr-sedes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:16px}
.isr-sede{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:#fff;border:2px solid #e3e9ef;border-radius:18px;padding:16px;cursor:pointer;font:inherit;color:#1c2b3a;animation:clbEntra .4s both;min-height:150px}.isr-sede.sk{animation:none;background:#eef2f6}.isr-sede.on{border-color:#1A8CC4;box-shadow:0 8px 22px rgba(26,140,196,.18)}
.isr-sn{font-weight:800;font-size:16px}.isr-sv{font-size:14px;color:#5b6b7a}.isr-sv b{font-size:28px;color:#1c2b3a}.isr-ss{font-size:12.5px;color:#5b6b7a}
.isr-bar{display:block;width:100%;height:9px;border-radius:99px;background:#eef2f6;overflow:hidden}.isr-bar i{display:block;height:100%;border-radius:99px;background:#2E9E5B;transition:width .8s}.isr-sede.med .isr-bar i,.isr-bar.med i{background:#E09A1B}.isr-sede.mal .isr-bar i,.isr-bar.mal i{background:#e5484d}
.isr-tabs{margin:0 0 14px;flex-wrap:wrap}.isr-busca input{width:100%;font-size:16px;padding:12px 14px;border:2px solid #d5dde6;border-radius:12px;margin-bottom:8px}.isr-n{color:#5b6b7a;font-size:13.5px;margin:4px 0 10px}
.isr-pend{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.isr-p{background:#fff;border:1px solid #e3e9ef;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px}.isr-pt b{display:block}.isr-pt small{color:#5b6b7a}
.isr-pc{display:flex;flex-wrap:wrap;gap:6px}.isr-pc span{border-radius:99px;padding:3px 10px;font-size:12.5px;font-weight:700}.isr-q.ok{background:#E6F6EC;color:#1d6b3a}.isr-q.med{background:#FFF3DC;color:#8a5a00}.isr-q.mal{background:#FDE8E8;color:#a12626}.isr-pts{background:#E4F1F9;color:#0F6A9C}.isr-llama{background:#F1E9FF;color:#5B21B6}.isr-pad{background:#F5F7FB;color:#33475b}.isr-pad.yo{background:#E6F6EC;color:#1d6b3a}
.isr-pb{display:flex;flex-wrap:wrap;gap:6px}.isr-pag{display:flex;gap:10px;align-items:center;justify-content:center;margin:14px 0}
.isr-cursos{display:flex;flex-direction:column;gap:8px}.isr-cur{display:grid;grid-template-columns:1fr 240px;gap:12px;align-items:center;background:#fff;border:1px solid #e3e9ef;border-radius:14px;padding:12px 14px}.isr-ct b{display:block}.isr-ct small,.isr-cv small{color:#5b6b7a;font-size:12.5px}.isr-cv{display:flex;flex-direction:column;gap:4px}
.isr-muro{display:flex;flex-direction:column;gap:8px}.isr-m{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#fff,#F2FBF5);border:1px solid #d7eedf;border-radius:14px;padding:12px 14px;animation:clbEntra .4s both}.isr-mi{font-size:26px}.isr-m small{display:block;color:#5b6b7a;font-size:12.5px}
.isr-of input,.isr-of textarea{width:100%;font-size:16px;padding:11px 12px;border:1px solid #d5dde6;border-radius:10px;margin:4px 0}.isr-ofres{display:flex;flex-direction:column;gap:6px;margin:6px 0}.isr-ofb{text-align:left;background:#fff;border:2px solid #e3e9ef;border-radius:12px;padding:10px 12px;font:inherit;cursor:pointer}.isr-ofb.on{border-color:#1A8CC4;background:#E4F1F9}.isr-ofb small{display:block;color:#5b6b7a}
.isr-otra{margin:8px 0;background:#F5F7FB;border-radius:12px;padding:8px 12px}.isr-otra summary{cursor:pointer;font-weight:700;min-height:36px;display:flex;align-items:center}
.isr-cc{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 6px}.isr-cch{border-radius:99px;padding:4px 10px;font-size:12.5px;font-weight:700;background:#F5F7FB}.isr-cch.e3{background:#E6F6EC;color:#1d6b3a}.isr-cch.e2{background:#E4F1F9;color:#0F6A9C}
.isr-cl{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow:auto;padding-right:4px}.isr-cand{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid #e3e9ef;border-radius:12px;padding:10px;cursor:pointer}.isr-cand.off{opacity:.55;cursor:default}.isr-cand input{width:20px;height:20px;margin-top:2px;flex:none}.isr-cand small{display:block;color:#5b6b7a;font-size:12.5px}
.isr-env{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end;margin-top:12px;position:sticky;bottom:0;background:#fff;padding:10px 0}.isr-sw{display:flex;gap:6px;align-items:center;font-weight:700}.isr-sw input{width:20px;height:20px}
@media(max-width:600px){.isr-cur{grid-template-columns:1fr}.isr-env .btn{flex:1 1 100%}}
/* 📂 Convenio OneDrive (FEM) */
.fem-od{display:contents}.fem-od-ok{border-color:#16a34a!important;color:#166534!important;background:#f0fdf4!important}
.od-l{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow:auto;margin:10px 0}.od-f{display:flex;gap:10px;justify-content:space-between;align-items:center;border:1px solid #e5e9f0;border-radius:12px;padding:10px 12px}.od-f.on{border-color:#16a34a;background:#f0fdf4}.od-f b{display:block;font-size:14px}.od-f small{color:#5b6b7a;overflow-wrap:anywhere}.od-b{display:flex;gap:6px;flex:0 0 auto}
@media (max-width:560px){.od-f{flex-direction:column;align-items:stretch}.od-b{justify-content:flex-end}}
.od-pie{flex-wrap:wrap}.od-pie>*{flex:1 1 140px;text-align:center;text-decoration:none!important}
/* FEM: varias personas a la vez y tabla por empresa (07/10) */
.fem-selbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#f4f7fb;border:1px solid #e3e9f2;border-radius:14px;padding:10px 12px;margin:8px 0;position:sticky;top:6px;z-index:5}.fem-selbar.on{background:#eaf6ff;border-color:#9cc9ec;box-shadow:0 6px 16px rgba(13,60,110,.12)}
.fem-selall{display:flex;align-items:center;gap:6px;font-weight:700;font-size:14px;cursor:pointer}.fem-selall input,.fem-selc input{width:20px;height:20px;accent-color:#1769aa}.fem-seln{flex:1 1 160px;color:#47596b;font-size:13px}
.fem-selc{display:flex;align-items:center;padding:4px 6px 4px 0;cursor:pointer}.fem-card.fem-sel{outline:2px solid #1769aa;outline-offset:-2px}
.fem-tbl-cop{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 10px}.fem-tbl-cop span{font-weight:700;font-size:13px}.fem-tbl-cop input{width:auto;min-width:0;flex:1 1 120px}
.fem-tbl-w{max-height:60vh;overflow:auto}.fem-tbl td,.fem-tbl th{vertical-align:middle}.fem-tbl input{min-width:90px;width:100%}.fem-tbl td small{display:block;color:#5b6b7a}.fem-tbl tr.ft-cambio td{background:#fff8e6}
@media (max-width:700px){.fem-tbl thead{display:none}.fem-tbl tr{display:block;border:1px solid #e3e9f2;border-radius:12px;margin:0 0 10px;padding:8px}.fem-tbl td{display:flex;gap:8px;align-items:center;border:0;padding:4px 2px}.fem-tbl td[data-l]::before{content:attr(data-l);flex:0 0 92px;font-size:12px;color:#5b6b7a;font-weight:700}}
.fem-card{position:relative}.fem-card .fem-selc{position:absolute;top:10px;right:10px;padding:4px;z-index:1;background:#fff;border-radius:8px}.fem-card .fem-card-cab{padding-right:34px}
/* 🎮 FEM · tablero (07/10) */
.fem-mods-d{margin:6px 0}.fem-mods-d>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:12.5px;font-weight:700;color:#36506a;background:#f1f5fa;border:1px solid #dfe7f1;border-radius:99px;padding:4px 10px}.fem-mods-d>summary::-webkit-details-marker{display:none}.fem-mods-d[open]>summary{background:#e6f0fb}.fem-mods-d .fem-mods{margin-top:6px}
.ftb-top{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:4px 0 10px}.ftb-score{display:flex;gap:10px;align-items:center;background:linear-gradient(135deg,#0d3b66,#1769aa);color:#fff;border-radius:16px;padding:10px 14px;min-width:260px;flex:1 1 300px;box-shadow:0 8px 20px rgba(13,59,102,.25)}.ftb-lvl{font-size:30px}.ftb-score b{font-size:14px}.ftb-bar{height:8px;background:rgba(255,255,255,.25);border-radius:99px;margin-top:6px;overflow:hidden}.ftb-bar i{display:block;height:100%;background:linear-gradient(90deg,#ffd166,#06d6a0);border-radius:99px;transition:width .6s}.ftb-top .est-ayuda{flex:2 1 280px;margin:0}
.ftb-cols{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x proximity;align-items:flex-start}
.ftb-col{flex:0 0 260px;max-width:82vw;background:#f4f7fb;border:2px dashed transparent;border-radius:16px;padding:10px;scroll-snap-align:start;transition:border-color .15s,background .15s,transform .15s}.ftb-col header{display:grid;grid-template-columns:1fr auto;gap:2px 8px;margin-bottom:8px}.ftb-col header b{font-size:14px;line-height:1.25}.ftb-col header small{grid-column:1/-1;color:#5b6b7a;font-size:12px}.ftb-n{background:#1769aa;color:#fff;border-radius:99px;font-size:12px;font-weight:800;padding:2px 9px;align-self:start}
.ftb-sin{background:#fff7e8}.ftb-sin .ftb-n{background:#e08a00}.ftb-col.ftb-over{border-color:#1769aa;background:#e6f2ff;transform:scale(1.02)}.ftb-add{display:flex;align-items:center;justify-content:center;min-height:120px;background:transparent;border-color:#d6e0ec}
.ftb-list{display:flex;flex-direction:column;gap:8px;min-height:60px}.ftb-vacia{color:#8796a6;font-size:13px;text-align:center;padding:16px 4px;border:1px dashed #cdd8e5;border-radius:12px}
.ftb-al{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e1e8f0;border-radius:12px;padding:8px;cursor:grab;user-select:none;box-shadow:0 2px 6px rgba(13,40,70,.06);transition:transform .12s,box-shadow .12s}.ftb-al:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(13,40,70,.12)}.ftb-al:focus-visible{outline:3px solid #1769aa}
.ftb-con{border-left:4px solid #06d6a0}.ftb-asa{touch-action:none;font-size:18px;color:#9aa8b8;padding:6px 2px;cursor:grab}.ftb-av{flex:0 0 34px;height:34px;border-radius:50%;background:#1769aa;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}.ftb-tx{min-width:0}.ftb-tx b{display:block;font-size:13.5px;line-height:1.25;overflow-wrap:anywhere}.ftb-tx small{color:#5b6b7a;font-size:12px}
.ftb-orig{opacity:.35}.ftb-ghost{position:fixed;z-index:9999;pointer-events:none;transform:rotate(-3deg) scale(1.04);box-shadow:0 16px 32px rgba(13,40,70,.3);cursor:grabbing}body.ftb-arrastrando{cursor:grabbing;user-select:none}
.ftb-pick{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto;margin:8px 0}.ftb-pick button{text-align:left;border:1px solid #dfe7f1;background:#fff;border-radius:12px;padding:12px;cursor:pointer;font:inherit}.ftb-pick button.on{border-color:#1769aa;background:#eaf3fc}.ftb-pick button b{display:block}.ftb-pick button small{color:#5b6b7a}.ftb-pick .ftb-quitar{border-color:#f3c2c2;background:#fff6f6}
.ftb-res{display:flex;flex-direction:column;gap:6px;background:#f4f7fb;border-radius:12px;padding:12px;margin:8px 0}
@media (prefers-reduced-motion:reduce){.ftb-col,.ftb-al,.ftb-bar i{transition:none}}

/* 💻 Comparte · EstudiaEnADF por familia (07/10/2026) */
.eadf-fam{position:relative;padding-left:62px;min-height:84px;justify-content:center}
.eadf-fam .eadf-ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:12px;background:#EEEAFE;display:grid;place-items:center;font-size:1.3rem}
.eadf-fam:hover{border-color:#5B3FD0}.eadf-fam.activo{border-color:#5B3FD0;background:#F4F1FF;box-shadow:0 0 0 3px rgba(91,63,208,.15)}
.eadf-fam .eadf-ej{font-size:.78rem;color:#7A8794;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.eadf-todas{display:flex;margin:0 auto 6px;min-height:46px}

/* 🤝 Convenios colaborativos (07/10/2026) */
#cvnCuerpo{max-width:1100px}
.cvn-hero{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:linear-gradient(135deg,#0B5E86,#12496b);color:#fff;border-radius:20px;padding:18px 20px;margin-bottom:16px}
.cvn-hero b{font-size:1.1rem}.cvn-hero p{margin:6px 0 0;opacity:.92;max-width:680px;line-height:1.5;font-size:.93rem}.cvn-hero .btn{min-height:48px;background:#fff;color:#0B5E86;border-color:#fff}
.cvn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.cvn-card{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;background:#fff;border:1.5px solid #E1E7ED;border-radius:18px;padding:16px;font:inherit;cursor:pointer;animation:cpxIn .3s ease both;animation-delay:calc(var(--i,0)*40ms);transition:border-color .15s,box-shadow .15s}
.cvn-card:hover{border-color:#1A8CC4;box-shadow:0 8px 20px rgba(13,27,42,.08)}.cvn-card b{font-size:1rem;color:#16222E}.cvn-card small{color:#5B6B7A}
.cvn-ent{background:#EEF6FB;color:#0B5E86;font-weight:800;font-size:.75rem;border-radius:999px;padding:3px 10px}
.cvn-bar{width:100%;height:8px;border-radius:99px;background:#EEF2F6;overflow:hidden;margin-top:4px}.cvn-bar i{display:block;height:100%;background:linear-gradient(90deg,#1F9D55,#5BC98A);border-radius:99px}
.cvn-cnt{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.85rem;color:#34475A}.cvn-cnt .v{color:#1F7A45;font-weight:800}.cvn-cnt .r{color:#B23B3B;font-weight:700}
.cvn-vacio{background:#fff;border:1.5px dashed #CFDCE6;border-radius:16px;padding:22px;text-align:center;color:#5B6B7A;display:flex;flex-direction:column;gap:8px;align-items:center}.cvn-vacio b{color:#16222E}
.cvn-esq i{display:block;height:84px;border-radius:16px;margin-bottom:10px;background:linear-gradient(90deg,#EEF2F6,#F8FAFC,#EEF2F6);background-size:200% 100%;animation:cvnSk 1.2s infinite}@keyframes cvnSk{to{background-position:-200% 0}}
.cvn-ents{display:grid;gap:8px;margin:10px 0}.cvn-entb{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1.5px solid #E1E7ED;background:#fff;border-radius:14px;padding:14px;font:inherit;cursor:pointer;min-height:56px}.cvn-entb:hover{border-color:#1A8CC4;background:#F5FAFD}.cvn-entb small{color:#5B6B7A}
.cvn-cab{display:flex;gap:12px;align-items:center;margin-bottom:10px}.cvn-cab b{display:block;font-size:1.05rem}.cvn-cab small{color:#5B6B7A}
.cvn-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px;-webkit-overflow-scrolling:touch}
.cvn-tab{flex:0 0 auto;display:flex;gap:6px;align-items:center;min-height:44px;padding:8px 14px;border-radius:999px;border:1.5px solid #E1E7ED;background:#fff;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;color:#16222E}
.cvn-tab i{font-style:normal}.cvn-tab.on{background:#0B5E86;border-color:#0B5E86;color:#fff;box-shadow:0 4px 12px rgba(11,94,134,.22)}
.cvn-form label{display:block;font-weight:700;font-size:.9rem;margin-bottom:14px;color:#16222E}.cvn-form input,.cvn-form select,.cvn-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;min-height:46px;border-radius:12px;border:1.5px solid #D5DFE7;padding:10px 12px;font:inherit;font-size:16px;font-weight:400;background:#fff}
.cvn-form textarea{line-height:1.5;resize:vertical}.cvn-form input.mal{border-color:#D64545}.cvn-ay{display:block;color:#5B6B7A;font-size:.82rem;font-weight:400;margin-top:5px}
.cvn-sw{display:flex!important;gap:10px;align-items:flex-start;font-weight:600!important;font-size:.9rem;margin:6px 0 12px}.cvn-sw input{width:22px;height:22px;min-height:0!important;flex:0 0 22px;margin:0!important}
.cvn-acc{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.cvn-acc .btn{min-height:46px}
.cvn-prev{background:#F8FAFC;border:1px solid #E3EAF0;border-radius:12px;padding:14px;max-height:55vh;overflow:auto;line-height:1.5;font-size:.92rem}.cvn-btnprev{display:inline-block;background:#0f6b9b;color:#fff;font-weight:800;border-radius:10px;padding:10px 16px;margin:6px 0}
.cvn-sub{margin-bottom:10px}.cvn-sub b{display:block}.cvn-sub span{color:#5B6B7A;font-size:.88rem}
.cvn-pdf{border:1.5px solid #E1E7ED;border-radius:16px;padding:12px;margin-bottom:10px}.cvn-pdf-c{display:flex;gap:10px;align-items:center}.cvn-pdf-c>span{font-size:1.5rem}.cvn-pdf-c>div{flex:1;min-width:0}.cvn-pdf-c small{display:block;color:#5B6B7A}
.cvn-fij{background:#F8FAFC;border-radius:12px;padding:10px;margin-top:10px}.cvn-fij label{display:block;font-size:.85rem;font-weight:700;margin:8px 0}.cvn-fij input{display:block;width:100%;box-sizing:border-box;min-height:42px;border:1.5px solid #D5DFE7;border-radius:10px;padding:8px 10px;font:inherit;font-size:16px;margin-top:4px}
.cvn-pdf-pie{display:flex;justify-content:flex-end;margin-top:8px}.cvn-rojo{color:#B23B3B!important}
.cvn-subir{display:flex;justify-content:center;min-height:52px;align-items:center;margin-top:12px;cursor:pointer}.cvn-subir.cargando{opacity:.7;pointer-events:none}
.cvn-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.cvn-bus{position:relative;margin-bottom:6px}.cvn-bus input{width:100%;box-sizing:border-box;min-height:48px;border-radius:12px;border:1.5px solid #D5DFE7;padding:10px 14px;font:inherit;font-size:16px}
.cvn-busres{display:grid;gap:4px;margin-top:6px}.cvn-busi{display:flex;gap:10px;align-items:center;text-align:left;width:100%;border:1px solid #E3EAF0;background:#fff;border-radius:12px;padding:10px 12px;font:inherit;cursor:pointer;min-height:48px;color:#5B6B7A}
.cvn-busi b{display:block;color:#16222E;font-size:.92rem}.cvn-busi small{display:block;color:#5B6B7A;font-size:.8rem}.cvn-busi>span{margin-left:auto;color:#0B5E86;font-weight:800;white-space:nowrap;font-size:.85rem}.cvn-busi:disabled{opacity:.55;cursor:default}
button.cvn-busi>b,button.cvn-busi>small{flex:0 0 auto}button.cvn-busi{flex-wrap:wrap}
.cvn-kw{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.cvn-kwc{border:0;background:#EEF6FB;color:#0B5E86;font:inherit;font-weight:700;font-size:.85rem;border-radius:999px;padding:7px 12px;cursor:pointer;min-height:36px}
.cvn-kw input{width:130px;min-height:36px;border:1.5px dashed #B9C6D3;border-radius:999px;padding:4px 12px;font:inherit;font-size:16px}
.cvn-proptop{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0;color:#5B6B7A;font-size:.86rem}.cvn-proptop span{flex:1 1 220px}
.cvn-plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}
.cvn-pe{display:flex;gap:10px;align-items:flex-start;border:1.5px solid #E1E7ED;border-radius:14px;padding:12px;cursor:pointer;background:#fff;min-width:0}.cvn-pe:has(input:checked){border-color:#1F9D55;background:#F2FBF5}
.cvn-pe input{width:22px;height:22px;flex:0 0 22px;margin:0}.cvn-pe span{min-width:0}.cvn-pe b{display:block;font-size:.92rem;overflow-wrap:anywhere}.cvn-pe small{display:block;color:#5B6B7A;font-size:.8rem;overflow-wrap:anywhere}.cvn-em{color:#0B5E86!important}
.cvn-man{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#F2FBF5;border-radius:12px;padding:10px;margin:8px 0}.cvn-man b{width:100%;font-size:.88rem}.cvn-manc{display:inline-flex;gap:6px;align-items:center;background:#fff;border:1px solid #CDEBD8;border-radius:999px;padding:4px 6px 4px 12px;font-size:.85rem}.cvn-manc button{border:0;background:#EEF2F6;border-radius:50%;width:26px;height:26px;cursor:pointer}
.cvn-pag{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:14px}.cvn-pag .btn{min-height:46px}
.cvn-barra{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;justify-content:space-between;background:#fff;border:1px solid #E3EAF0;border-radius:16px;padding:10px 14px;margin-top:12px;box-shadow:0 -6px 20px rgba(13,27,42,.06);color:#5B6B7A;z-index:5}.cvn-barra.on{border-color:#1F9D55}.cvn-barra b{color:#16222E}.cvn-barra .btn{min-height:48px}
.cvn-conf{display:grid;gap:6px;max-height:40vh;overflow:auto;background:#F8FAFC;border-radius:12px;padding:10px;margin:10px 0}.cvn-conf small{display:block;color:#5B6B7A}
.cvn-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.cvn-kpis div{background:#fff;border:1px solid #E3EAF0;border-radius:16px;padding:12px 14px}.cvn-kpis b{display:block;font-size:1.5rem;color:#16222E}.cvn-kpis span{color:#5B6B7A;font-size:.82rem}.cvn-kpis .v{background:#F2FBF5;border-color:#CDEBD8}.cvn-kpis .v b{color:#1F7A45}
.cvn-segl{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.cvn-se{border:1.5px solid #E1E7ED;border-radius:16px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:6px;animation:cpxIn .3s ease both;animation-delay:calc(var(--i,0)*25ms);min-width:0}
.cvn-se-c{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.cvn-se-c b{overflow-wrap:anywhere}.cvn-se small{color:#5B6B7A;overflow-wrap:anywhere}
.cvn-st{flex:0 0 auto;font-size:.76rem;font-weight:800;border-radius:999px;padding:4px 10px;white-space:nowrap}.cvn-st.verde{background:#E5F6EC;color:#1F7A45}.cvn-st.azul{background:#EEF6FB;color:#0B5E86}.cvn-st.ambar{background:#FFF4DC;color:#9A6400}.cvn-st.rojo{background:#FBEDEC;color:#B23B3B}.cvn-st.gris{background:#EEF2F6;color:#5B6B7A}.cvn-st.morado{background:#F1ECFB;color:#5B3FD0}
.cvn-tl{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.78rem;color:#5B6B7A}.cvn-fir{background:#F2FBF5;border-radius:10px;padding:8px 10px;font-size:.86rem}.cvn-err{background:#FBEDEC;color:#B23B3B;border-radius:10px;padding:8px 10px;font-size:.82rem}
.cvn-se-acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.cvn-se-acc .btn{min-height:42px}
@media (max-width:640px){.cvn-kpis{grid-template-columns:repeat(2,1fr)}.cvn-plist,.cvn-segl{grid-template-columns:1fr}.cvn-hero .btn{width:100%}.cvn-barra{bottom:calc(64px + env(safe-area-inset-bottom))}.cvn-barra .btn{flex:1}}
@media (prefers-reduced-motion:reduce){.cvn-card,.cvn-se,.cvn-esq i{animation:none}}

.cvn-prf{display:grid;grid-template-columns:1.3fr 1fr;gap:8px;margin-bottom:8px}.cvn-prf input{min-height:46px;border-radius:12px;border:1.5px solid #D5DFE7;padding:8px 12px;font:inherit;font-size:16px;min-width:0}
@media (max-width:560px){.cvn-prf{grid-template-columns:1fr}}
.cvn-prs summary{cursor:pointer;font-weight:800;color:#5B3FD0;min-height:36px;display:flex;align-items:center}.cvn-pr{display:flex;gap:10px;align-items:center;border-top:1px solid #EEF2F6;padding:10px 0}.cvn-pr>span:first-child{flex:1;min-width:0}.cvn-pr b{display:block;font-size:.9rem}.cvn-pr small{color:#5B6B7A;font-size:.8rem;overflow-wrap:anywhere}

/* 📅 fichero de días de prácticas (07/10/2026) */
.ftd-meses{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.ftd-e{align-items:center}.ftd-e>span{flex:1;min-width:0}.ftd-n{width:64px;min-height:44px;border:1.5px solid #D5DFE7;border-radius:10px;text-align:center;font:inherit;font-size:16px;font-weight:800;flex:0 0 64px}.ftd-u{font-style:normal;color:#5B6B7A;font-size:.8rem;margin-left:4px}

/* 📆 cotización trimestral de las prácticas (07/10/2026) */
.fcot-aviso{display:flex;gap:12px;align-items:center;width:100%;text-align:left;border:1.5px solid #F2B23E;background:#FFF8E8;border-radius:16px;padding:12px 14px;margin:10px 0;font:inherit;cursor:pointer}.fcot-aviso>span{font-size:1.6rem}.fcot-aviso small{display:block;color:#5B6B7A}
.fcot .res-chips{margin-bottom:8px}.fcot-cab{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.fcot-cab small{display:block;color:#5B6B7A}.fcot-cab b{font-size:1.05rem}
.fcot-meses{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.fcot-mes{background:#fff;border:1.5px solid #E1E7ED;border-radius:14px;padding:10px 12px}.fcot-mes b{display:block;text-transform:capitalize}.fcot-mes span{display:block;font-size:.9rem}.fcot-mes small{color:#5B6B7A}.fcot-mes.ok{border-color:#CDEBD8;background:#F2FBF5}.fcot-mes.mal{border-color:#F2B23E;background:#FFF8E8}
.fcot-paso{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid #EEF2F6}.fcot-paso>i{font-style:normal;flex:0 0 32px;height:32px;border-radius:50%;background:#EEF6FB;color:#0B5E86;font-weight:900;display:grid;place-items:center}.fcot-paso.ok>i{background:#E5F6EC}
.fcot-paso>div{flex:1;min-width:0}.fcot-paso small{display:block;color:#34475A;line-height:1.45;margin-top:2px}.fcot-paso .btn{flex:0 0 auto;min-height:40px}.fcot-imp input{margin-top:8px;width:100%;max-width:220px;min-height:44px;border:1.5px solid #D5DFE7;border-radius:10px;padding:8px 10px;font:inherit;font-size:16px}
.fcot-bien{color:#1F7A45}.fcot-mal{color:#B23B3B}
#fcotQ{width:100%;box-sizing:border-box;min-height:46px;border:1.5px solid #D5DFE7;border-radius:12px;padding:8px 12px;font:inherit;font-size:16px;margin:6px 0 10px}
.fcot-al{display:grid;gap:8px}.fcot-a{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid #E3EAF0;border-radius:12px;padding:10px 12px;flex-wrap:wrap}.fcot-a>div:first-child{min-width:0;flex:1 1 200px}.fcot-a small{display:block;color:#5B6B7A;font-size:.8rem}
.fcot-am{display:flex;gap:6px}.fcot-am span{display:flex;flex-direction:column;align-items:center;min-width:46px;border-radius:10px;padding:4px 6px;font-weight:800;background:#EEF2F6}.fcot-am i{font-style:normal;font-weight:600;font-size:.72rem;color:#5B6B7A}.fcot-am .ok{background:#E5F6EC;color:#1F7A45}.fcot-am .mal{background:#FFF4DC;color:#9A6400}.fcot-am .no{opacity:.45}
@media (max-width:560px){.fcot-meses{grid-template-columns:1fr}.fcot-paso{flex-wrap:wrap}}

.cvn-fij textarea{display:block;width:100%;box-sizing:border-box;margin:6px 0 8px;border:1.5px solid #D5DFE7;border-radius:10px;padding:8px 10px;font:inherit;font-size:14px;line-height:1.45}
.cvn-pcl{margin:0 0 6px;padding-left:18px;font-size:.84rem}

/* 📄 visor del preacuerdo firmado (07/10/2026) */
#modalCaja.cvn-vis-modal{max-width:980px!important;width:96vw}
.cvn-vis-cab{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.cvn-vis-cab h3{margin:0}.cvn-vis-cab small{color:#5B6B7A}
.cvn-vis-docs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}.cvn-vis-docs .btn{min-height:40px}
.cvn-vis-pags{max-height:72vh;overflow:auto;background:#EEF2F6;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:10px;align-items:center}
.cvn-vis-pg{width:100%;max-width:880px;height:auto;background:#fff;box-shadow:0 4px 16px rgba(13,27,42,.12);border-radius:4px}.cvn-vis-if{width:100%;height:70vh;border:0;border-radius:8px;background:#fff}
@media (max-width:640px){#modalCaja.cvn-vis-modal{width:100vw}.cvn-vis-pags{max-height:68vh;padding:6px}}

