/* Capta · 06-octubre-3.css — del 12/10 en adelante: días especiales, entidades, importador y cotización FEM, EmpleoAquí, automatismos, Tizo, Expofuturo.
   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). */
/* 🎉 12/10/2026: días especiales */
.di-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-bottom:12px}
.di-card{display:flex;gap:12px;align-items:flex-start;text-align:left;background:#fff;border:1px solid #e3eaf0;border-radius:16px;padding:12px 14px;font:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s;animation:diIn .35s ease both}
.di-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(13,27,42,.08)}.di-card.off{opacity:.55}
@keyframes diIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.di-ic{font-size:30px;line-height:1;flex:0 0 auto}.di-ic.gr{font-size:44px}.di-tx{display:flex;flex-direction:column;gap:3px;min-width:0}.di-tx small{color:#5b6b7a}
.di-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.di-chip{font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 8px;background:#eef2f6;color:#35506a}
.di-chip.hoy{background:#ffe066;color:#5c3d00}.di-chip.rojo{background:#ffe3e3;color:#c92a2a}.di-chip.ambar{background:#fff3bf;color:#8a5a00}.di-chip.verde{background:#d3f9d8;color:#2b8a3e}.di-chip.gris{background:#f1f3f5;color:#868e96}
.di-barra{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0}.di-barra .bj-busca{flex:1;min-width:220px}
.di-nota{color:#5b6b7a;font-size:13px}.di-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.di-form label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:13px}
.di-form input,.di-form textarea,.di-tnew input,.di-add input,.di-wa input{min-height:44px;border:1.5px solid #cfdbe6;border-radius:10px;padding:8px 10px;font:inherit;font-weight:400}
.di-form .chk{flex-direction:row;align-items:center;font-weight:600}.di-full{grid-column:1/-1}.di-ico-l input{width:70px;font-size:22px;text-align:center}.di-lab{font-size:13px;display:block;margin-bottom:6px}
.di-sedes{display:flex;flex-wrap:wrap;gap:12px}.di-sel{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.di-pin{width:100%;min-height:42px;border:1.5px solid #cfdbe6;border-radius:10px;padding:6px 10px;font:inherit}
.di-sug{display:flex;flex-direction:column}.di-sug button{display:flex;justify-content:space-between;gap:8px;text-align:left;background:#fff;border:0;border-bottom:1px solid #eef2f6;padding:8px 10px;font:inherit;cursor:pointer}.di-sug button:hover{background:#f3f7fa}.di-sug small{color:#868e96}
.di-cab{display:flex;gap:12px;align-items:center}.di-cab h3{margin:0}.di-cab>div{flex:1}.di-cab small{color:#5b6b7a}
.di-idea{background:#f8fafc;border-radius:12px;padding:8px 12px;margin:8px 0}
.di-ideas{display:flex;flex-direction:column;gap:6px}.di-id{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #e3eaf0;border-radius:12px;padding:8px 10px}.di-id.elegida{border-color:#f2b23e;background:#fff9e6}.di-id p{margin:0}.di-id small{color:#5b6b7a}.di-id-a{display:flex;gap:6px;flex:0 0 auto}
.di-add,.di-wa{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;align-items:center}.di-add input,.di-wa input{flex:1;min-width:200px}
.di-tareas{display:flex;flex-direction:column;gap:5px}.di-tareas>div{border-left:3px solid #2b8a3e;padding:4px 10px;background:#fff}.di-tareas small{display:block;color:#5b6b7a}
.di-tnew{display:grid;grid-template-columns:1fr;gap:6px;margin-top:6px}.di-tnew label{display:flex;gap:8px;align-items:center;font-weight:700;font-size:13px}
.di-prev{margin-top:8px}.di-cel{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.di-ini{display:flex;flex-direction:column;gap:6px}.di-ini-i{display:flex;gap:10px;align-items:center;text-align:left;background:#fff;border:1px solid #e3eaf0;border-radius:12px;padding:8px 10px;font:inherit;cursor:pointer}.di-ini-i small{display:block;color:#5b6b7a}
@media (max-width:600px){.di-form{grid-template-columns:1fr}.di-id{flex-direction:column;align-items:stretch}}
.ex-xtr{font-weight:700;color:#5f3dc4;margin:4px 0}
.modal-caja.di-max,#modalCaja.di-max{width:100vw!important;max-width:none!important;height:100vh;height:100dvh;max-height:none!important;border-radius:0!important;margin:0!important;overflow:auto}
.di-cab-b{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.di-conc{display:flex;flex-direction:column;gap:6px}.di-cc{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border:1px solid #e3eaf0;border-radius:12px;padding:8px 10px;background:#fffdf5}.di-cc>div:first-child{display:flex;flex-direction:column;gap:3px}.di-cc small{color:#5b6b7a}
.di-cc-a{display:flex;flex-direction:column;gap:6px;min-width:240px}.di-cnew{display:grid;grid-template-columns:1fr;gap:6px;margin-top:6px}.di-cnew label{display:flex;gap:6px;align-items:center;font-weight:700;font-size:13px}.di-cnew input{min-height:42px;border:1.5px solid #cfdbe6;border-radius:10px;padding:6px 10px;font:inherit}
.modal-caja.di-modal{max-width:760px}

/* 📈 12/10 tendencia del gráfico de inscripciones (media móvil 7 días) */
.insg-ley { display: inline-flex; flex-wrap: wrap; gap: 4px 14px; justify-content: flex-end; }
.insg-tl { position: absolute; left: 0; right: 0; bottom: 26px; width: 100%; height: calc(100% - 52px); overflow: visible; pointer-events: none; z-index: 2; }
.insg-tl polyline { fill: none; stroke: #0f6a9c; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; opacity: .85; }
.insg-lt { display: inline-block; width: 16px; border-top: 2.5px solid #0f6a9c; border-radius: 2px; }
.insg-tend.sube { color: #1b7f4b !important; font-weight: 800; } .insg-tend.baja { color: #b4232c !important; font-weight: 800; }
/* 🎉 botón Días especiales con el siguiente día */
.topbar .tb-dia-t { display: flex; flex-direction: column; line-height: 1.1; text-align: left; }
.topbar .tb-dia-t small { font-size: 10.5px; font-weight: 700; color: #6a7a89; white-space: nowrap; max-width: 190px; overflow: hidden; text-overflow: ellipsis; }
.topbar .tb-dia-t small:empty { display: none; }
.topbar .tb-dia-pronto { border-color: #f0b44c !important; background: #fff6e6 !important; }
.topbar .tb-dia-pronto small { color: #a35a00; }

/* 🧭 12/10 origen de la web en las tarjetas */
.ins-ori-web, .ins-ori:has(> span[title^="Llegó"]) { background: #e8f3fb !important; color: #0f5a85 !important; }
.ins-ori em { font-style: normal; opacity: .7; font-weight: 600; }

/* 🎂 12/10 Programa Cumpleaños */
.cu-ctl { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 16px; margin-bottom: 12px; }
.cu-ctl-t { flex: 1 1 220px; min-width: 0; } .cu-ctl-t b { display: block; font-size: 15px; } .cu-ctl-t small { color: var(--tinta-suave); font-size: 12.5px; }
.cu-ctl-b { display: flex; gap: 8px; flex-wrap: wrap; }
.cu-sw { position: relative; width: 52px; height: 30px; flex: none; cursor: pointer; } .cu-sw input { opacity: 0; width: 0; height: 0; position: absolute; }
.cu-sw span { position: absolute; inset: 0; background: #cdd6de; border-radius: 30px; transition: background .2s; } .cu-sw span:after { content: ""; position: absolute; left: 3px; top: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .2s; }
.cu-sw input:checked + span { background: #1b9a5a; } .cu-sw input:checked + span:after { transform: translateX(22px); } .cu-sw input:focus-visible + span { outline: 2px solid var(--oceano); outline-offset: 2px; }
.cu-kpis { margin-bottom: 12px; }
.cu-sorteo { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 14px 16px; background: linear-gradient(120deg, #fff8ec, #fff); border: 1px solid #f1dfb8; }
.cu-sorteo b { font-size: 15px; } .cu-sorteo small { display: block; color: var(--tinta-suave); font-size: 12.5px; margin-top: 2px; } .cu-gan { margin: 8px 0 0; font-size: 14px; }
.cu-h { font-size: 15px; margin: 20px 0 10px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; } .cu-h small { font-weight: 600; color: var(--tinta-suave); font-size: 12.5px; }
.cu-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.cu-card { background: #fff; border: 1px solid #e6edf3; border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; animation: cuEntra .35s ease both; }
@keyframes cuEntra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.cu-card-t b { display: block; font-size: 14.5px; } .cu-card-t small { color: var(--tinta-suave); font-size: 12.5px; }
.cu-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.cu-chip { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 700; padding: 3px 8px; border-radius: 20px; background: #eef2f6; color: #445566; }
.cu-chip.cu-curso { background: #e3f0fa; color: #0f5a85; } .cu-chip.cu-menor { background: #f3e9fb; color: #6b3d8f; } .cu-chip.cu-ok { background: #e2f5ea; color: #1b7f4b; } .cu-chip.cu-ko { background: #fde8e8; color: #b4232c; } .cu-chip.cu-oro { background: #fff1d6; color: #8a5a00; }
.cu-ver { align-self: flex-start; font-size: 13px; font-weight: 800; color: var(--oceano); text-decoration: none; } .cu-ver:hover { text-decoration: underline; }
.cu-prox { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.cu-dia { background: #fff; border: 1px solid #e6edf3; border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.cu-dia b { font-size: 12.5px; color: var(--oceano); text-transform: capitalize; } .cu-dia small { color: var(--tinta-suave); } .cu-nadie { color: #a9b6c2; }
.cu-pag { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 12px; } .cu-pag .btn { min-height: 44px; }
.cu-ayuda { font-size: 12.5px; color: var(--tinta-suave); margin-top: 18px; }
@media (max-width: 560px) { .cu-ctl-b, .cu-ctl-b .btn, .cu-sorteo .btn { width: 100%; } .cu-lista { grid-template-columns: 1fr; } }

/* 📋 12/10 encuestas del curso */
.en-barra { display: flex; height: 10px; border-radius: 6px; overflow: hidden; background: #eef2f6; }
.en-barra i { display: block; height: 100%; } .en-b3 { background: #1b9a5a; } .en-b2 { background: #8cc0e4; } .en-b1 { background: #e0574f; }
.en-txt { margin: 0; font-size: 14px; line-height: 1.45; color: var(--tinta); }
.cu-card.en-mal { border-color: #f3c6c3; background: #fff8f7; }

/* 🤝 12/10 entidades que nos recomiendan */
.ent-acc { display: flex; flex-wrap: wrap; gap: 6px; } .ent-acc .btn { min-height: 40px; font-size: 13px; padding: 6px 10px; text-decoration: none; }
.ent-l { display: block; font-weight: 700; font-size: 14px; margin: 12px 0 0; } .ent-i { display: block; width: 100%; min-height: 46px; margin-top: 6px; border: 1px solid #d6e2ec; border-radius: 12px; padding: 10px 12px; font: inherit; font-size: 16px; background: #fff; }
.ent-sw { display: flex; gap: 8px; align-items: center; font-weight: 600; }

/* 💬 13/10/2026: plantillas comodín de WhatsApp (Control de campañas → Publicidad) */
.cmd { background: var(--papel); border: 1px solid var(--linea); border-radius: 16px; padding: 16px; margin-bottom: 14px; box-shadow: var(--sombra); }
.cmd-cab { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.cmd-cab b { display: block; font-size: 17px; } .cmd-cab small { display: block; color: var(--tinta-suave); font-size: 12.5px; margin-top: 3px; max-width: 640px; }
.cmd-res { text-align: center; flex: 0 0 auto; } .cmd-res small { display: block; color: var(--tinta-suave); font-size: 11.5px; }
.cmd-num { font-size: 28px; font-weight: 800; color: #1f9d55; line-height: 1; } .cmd-num small { font-size: 15px; color: var(--tinta-suave); display: inline; }
.cmd-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; }
.cmd-m { border: 1px solid var(--linea); border-radius: 12px; padding: 12px; background: var(--fondo); display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cmd-m-cab { display: flex; align-items: center; gap: 8px; } .cmd-ic { font-size: 20px; } .cmd-m-cab b { font-size: 14.5px; }
.cmd-est { display: flex; flex-wrap: wrap; gap: 5px; }
.cmd-chip { font-size: 11.5px; padding: 3px 8px; border-radius: 999px; background: #eef1f5; color: var(--tinta-suave); white-space: nowrap; }
.cmd-chip.cmd-ok { background: #e3f5ea; color: #1b7a43; } .cmd-chip.cmd-pend { background: #fff4d6; color: #8a6200; } .cmd-chip.cmd-ko { background: #fde5e5; color: #a12a2a; }
.cmd-txt { margin: 0; font-size: 13.5px; line-height: 1.5; background: #e7f6ea; border-radius: 10px 10px 10px 2px; padding: 9px 11px; color: #17311f; overflow-wrap: anywhere; }
.cmd-hueco { background: #fff; border: 1px dashed #4caf6a; border-radius: 6px; padding: 0 5px; font-size: 12px; color: #1b7a43; white-space: nowrap; }
.cmd-pie { margin: -4px 0 0; font-size: 11.5px; color: var(--tinta-suave); }
.cmd-ta { width: 100%; box-sizing: border-box; font: inherit; font-size: 14px; border: 1px solid var(--linea); border-radius: 10px; padding: 9px; min-height: 120px; }
.cmd-ayuda { font-size: 11.5px; color: var(--tinta-suave); } .cmd-ayuda code { background: #eef1f5; border-radius: 4px; padding: 0 4px; }
.cmd-acc, .cmd-pie-acc { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; } .cmd-pie-acc { margin-top: 12px; }
@media (max-width: 640px) { .cmd { padding: 12px; } .cmd-cab { flex-direction: column; } .cmd-lista { grid-template-columns: 1fr; } .cmd-pie-acc .btn { flex: 1 1 100%; } }
.cmd-uso { margin: 12px 0 0; font-size: 12.5px; color: var(--tinta-suave); }

/* ➕ 13/10/2026: añadir alumnado en bloque (buscador + pegar de Excel + bandeja con estado por persona) */
.av-modal { max-width: 860px; }
.av-cod { font-family: ui-monospace, monospace; font-size: 12px; color: var(--tinta-suave); }
.av-tabs { display: flex; gap: 6px; margin: 10px 0; flex-wrap: wrap; }
.av-tab { border: 1px solid var(--linea); background: var(--papel); border-radius: 999px; padding: 8px 14px; font: inherit; font-size: 13.5px; cursor: pointer; }
.av-tab.on { background: var(--oceano); border-color: var(--oceano); color: #fff; font-weight: 600; }
#avTexto { width: 100%; box-sizing: border-box; font: inherit; font-size: 14px; border: 1px solid var(--linea); border-radius: 10px; padding: 10px; min-height: 110px; }
.av-pegar-acc { display: flex; justify-content: flex-end; margin: 8px 0; }
.av-peg-res { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.av-peg-f { border: 1px dashed var(--linea); border-radius: 10px; padding: 8px; margin: 6px 0; } .av-peg-f > small { color: var(--tinta-suave); display: block; margin-bottom: 4px; overflow-wrap: anywhere; }
.av-peg-c { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 4px 0; font-size: 13.5px; flex-wrap: wrap; }
.av-peg-no { margin: 6px 0; font-size: 13px; } .av-peg-no div { padding: 2px 0; overflow-wrap: anywhere; }
.av-bandeja { margin-top: 12px; border: 1px solid var(--linea); border-radius: 14px; background: var(--fondo); padding: 10px; }
.av-band-cab { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.av-band-cab b { font-size: 15px; }
.av-todos { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; } .av-todos small { color: var(--tinta-suave); }
.av-chip { border: 1px solid var(--linea); background: var(--papel); border-radius: 999px; padding: 5px 10px; font: inherit; font-size: 12.5px; cursor: pointer; }
.av-chip.on { background: #1f7a4d; border-color: #1f7a4d; color: #fff; }
.av-lista { display: flex; flex-direction: column; gap: 6px; max-height: 42vh; overflow-y: auto; }
.av-vacia { color: var(--tinta-suave); font-size: 13px; margin: 6px 2px; }
.av-it { display: grid; grid-template-columns: auto 1fr auto auto; gap: 8px; align-items: center; background: var(--papel); border: 1px solid var(--linea); border-radius: 10px; padding: 8px; }
.av-dat { min-width: 0; display: flex; flex-direction: column; gap: 3px; } .av-dat b { font-size: 14px; } .av-dat small { color: var(--tinta-suave); font-size: 12px; }
.av-sel select { font: inherit; font-size: 13.5px; padding: 8px; border-radius: 8px; border: 1px solid var(--linea); background: var(--papel); min-height: 40px; }
.av-x { border: 0; background: transparent; font-size: 16px; color: var(--tinta-suave); cursor: pointer; width: 36px; height: 36px; border-radius: 50%; } .av-x:hover { background: #fde5e5; color: #a12a2a; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 640px) { .av-it { grid-template-columns: auto 1fr auto; } .av-sel { grid-column: 2 / 4; } .av-sel select { width: 100%; } .av-tab { flex: 1 1 100%; text-align: center; } .av-lista { max-height: none; } }

/* 🧾 13/10/2026: Subir factura (barra de arriba, bien a la vista) */
.topbar .tb-factura { background: linear-gradient(135deg, #0f766e, #14b8a6); color: #fff; border-color: transparent; font-weight: 700; box-shadow: 0 2px 8px rgba(15, 118, 110, .3); }
.topbar .tb-factura:hover { filter: brightness(1.06); } .topbar .tb-factura .tb-ii { background: rgba(255,255,255,.2); }
.fac-zona { display: flex; flex-direction: column; align-items: center; gap: 4px; border: 2px dashed #14b8a6; border-radius: 14px; padding: 22px 14px; text-align: center; cursor: pointer; background: #f0fdfa; margin: 10px 0 12px; }
.fac-zona.sobre { background: #ccfbf1; } .fac-zona input { position: absolute; width: 1px; height: 1px; opacity: 0; } .fac-zi { font-size: 30px; } .fac-zona small { color: var(--tinta-suave); }
.fac-lista { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
.fac-it { display: flex; align-items: center; gap: 10px; border: 1px solid var(--linea); border-radius: 10px; padding: 8px 10px; background: var(--papel); }
.fac-ic { font-size: 20px; } .fac-d { flex: 1; min-width: 0; } .fac-d b { display: block; font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .fac-d small { color: var(--tinta-suave); font-size: 12px; }
.fac-st { font-size: 12px; white-space: nowrap; } .fac-ok { color: #1b7a43; font-weight: 600; } .fac-ko { color: #a12a2a; white-space: normal; } .fac-pend { color: #8a6200; }
.fac-mias { margin-top: 10px; font-size: 13px; } .fac-m { display: flex; justify-content: space-between; gap: 8px; padding: 3px 0; } .fac-m small { color: var(--tinta-suave); }
@media (max-width: 640px) { .fac-it { flex-wrap: wrap; } .fac-st { flex: 1 1 100%; } }
.fac .cierre-sub { overflow-wrap: anywhere; } .fac #facNota { width: 100%; box-sizing: border-box; }

/* ⬇ 13/10 descargar preacuerdos firmados */
.cvn-dz{display:flex;flex-direction:column;gap:12px}.cvn-dz-todo{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#EEF6EF;border:1px solid #CFE6D3;border-radius:14px;padding:14px}.cvn-dz-todo b{display:block}.cvn-dz-todo small{color:#5B6B7A}
.cvn-dz-prog{position:relative;height:30px;border-radius:10px;background:#EEF2F6;overflow:hidden}.cvn-dz-prog i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#2E9E5B,#5CC283);transition:width .3s}.cvn-dz-prog span{position:relative;display:block;text-align:center;line-height:30px;font-size:.85rem;font-weight:600;color:#1c2b3a}
.cvn-dz-sub{margin-top:4px}.cvn-dz-f{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #E3E8EE;border-radius:12px;margin-bottom:8px;animation:cvnDzIn .25s ease both}.cvn-dz-f span{min-width:0}.cvn-dz-f b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvn-dz-f small{color:#5B6B7A}.cvn-dz-f .btn{flex:none;min-height:40px}
.cvn-dz-pag{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.cvn-dz-pag span{font-size:.85rem;color:#5B6B7A}.cvn-dz-pag .btn{min-height:42px}
@keyframes cvnDzIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:600px){.cvn-dz-todo .btn{width:100%;min-height:46px}.cvn-cab{flex-wrap:wrap}}

/* 👁 13/10 preacuerdo relleno sin firmar */
.cvn-rl{display:flex;flex-direction:column;gap:10px}.cvn-rl-nota{background:#FFF7E6;border:1px solid #F3D9A4;border-radius:12px;padding:10px 12px;margin:0;font-size:.9rem}.cvn-rl-doc{margin:0;color:#5B6B7A;font-size:.85rem}
.cvn-rl-f{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cvn-rl-c{display:flex;flex-direction:column;gap:4px;grid-column:span 2}.cvn-rl-c.corto{grid-column:span 1}.cvn-rl-c span{font-size:.85rem;font-weight:600;color:#33475B}
.cvn-rl-c input{min-height:46px;border:1px solid #CDD6E0;border-radius:10px;padding:8px 12px;font-size:1rem}.cvn-rl-c input:focus{outline:2px solid #7FB3DD;border-color:#2F7BBF}.cvn-rl-c em{font-style:normal;font-size:.78rem;color:#B5651D;min-height:1em}
.cvn-rl-pie{position:sticky;bottom:0;background:inherit;padding-top:6px}.cvn-rl-pie .btn{width:100%;min-height:48px}
@media(max-width:600px){.cvn-rl-f{grid-template-columns:1fr}.cvn-rl-c.corto{grid-column:span 2}}

/* 13/10 importador FEM: subir el Excel y elegir hoja */
.fi-arch{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:4px 0 12px}.fi-arch small{color:#5B6B7A}.fi-arch .btn{min-height:44px}.fi-hojas{display:flex;flex-wrap:wrap;gap:6px;align-items:center;width:100%}.fi-hojas span{font-size:.85rem;font-weight:600;color:#33475B}

/* 13/10 cotización trimestral: pantalla completa, empresa y corregir en la línea */
.fcot-tit{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.fcot-tit h3{margin:0}.fcot-tit span{display:flex;gap:6px;flex-wrap:wrap}
#modalCaja.fcot-full{position:fixed;inset:0;width:100vw!important;max-width:none!important;height:100vh;max-height:none!important;margin:0;border-radius:0;overflow:auto}
#modalCaja.fcot-full .fcot-al{grid-template-columns:repeat(auto-fill,minmax(min(520px,100%),1fr))}
.fcot-edb{border:0;background:#EEF4FA;color:#1F5E96;border-radius:8px;padding:3px 8px;font-size:.78rem;font-weight:600;cursor:pointer;margin-left:4px;min-height:28px}.fcot-edb:hover{background:#DCEAF7}
.fcot-a.ed{border-color:#7FB3DD;box-shadow:0 0 0 3px rgba(47,123,191,.12)}.fcot-ed{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;width:100%;border-top:1px dashed #CFDCE8;padding-top:10px;animation:cvnDzIn .2s ease both}
.fcot-ed label{display:flex;flex-direction:column;gap:3px;font-size:.8rem;font-weight:600;color:#33475B}.fcot-ed input{min-height:42px;border:1px solid #CDD6E0;border-radius:10px;padding:6px 10px;font-size:.95rem}.fcot-ed input[type=number]{width:110px}
.fcot-ed-n{flex:1 1 220px;font-size:.78rem;color:#5B6B7A}.fcot-ed-b{display:flex;gap:6px;margin-left:auto}
@media(max-width:600px){#modalCaja.fcot-full .fcot-al{grid-template-columns:1fr}.fcot-ed label,.fcot-ed input{width:100%}.fcot-ed-b{width:100%}.fcot-ed-b .btn{flex:1;min-height:44px}}

.fcot-am span em{display:block;font-style:normal;font-size:.68rem;font-weight:600;opacity:.85}.fcot-am span.dif{background:#FFF1D6;color:#8A5A00;border-color:#F3C77A}
.fcot-ed-m{width:100%;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end;background:#F6F9FC;border-radius:10px;padding:10px}.fcot-ed-m>b{width:100%;font-size:.85rem}.fcot-ed-m>small{width:100%;color:#5B6B7A;font-size:.75rem}
.fcot-ed-mm span small{font-weight:400;color:#5B6B7A}.fcot-ed-mi{display:flex;gap:4px}.fcot-ed-mi input{width:110px}.fcot-ed-cp{border:1px solid #CDD6E0;background:#fff;border-radius:10px;padding:0 10px;min-height:42px;font-weight:600;color:#1F5E96;cursor:pointer}

/* 13/10 cotización: cursos incluidos */
.fcot-cur{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:8px}.fcot-cu{display:flex;flex-direction:column;gap:2px;text-align:left;border:1px solid #E3EAF0;background:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.fcot-cu:hover{border-color:#7FB3DD}.fcot-cu.on{border-color:#2F7BBF;box-shadow:0 0 0 3px rgba(47,123,191,.15);background:#F3F8FD}.fcot-cu b{font-size:.9rem}.fcot-cu span{font-size:.85rem;color:#33475B;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fcot-cu small{font-size:.78rem;color:#5B6B7A}.fcot-cu em{font-style:normal;color:#B5651D;font-weight:600}

/* 13/10 botón de la cotización trimestral: grande y, en el mes que toca (enero, abril, julio, octubre hasta el 25), latiendo */
.fem-tit-acc .fcot-btn{min-height:46px;padding:0 18px;font-size:.95rem;font-weight:700;display:inline-flex;align-items:center;gap:8px}
.fcot-btn-toca{background:linear-gradient(135deg,#E8590C,#F08C00)!important;border-color:#E8590C!important;color:#fff!important;animation:fcotLate 1.6s ease-in-out infinite}
.fcot-btn-p{background:#fff;color:#C2410C;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.fcot-aviso{animation:fcotBorde 1.6s ease-in-out infinite}
@keyframes fcotLate{0%,100%{box-shadow:0 0 0 0 rgba(232,89,12,.55);transform:scale(1)}50%{box-shadow:0 0 0 10px rgba(232,89,12,0);transform:scale(1.04)}}
@keyframes fcotBorde{0%,100%{box-shadow:0 0 0 0 rgba(240,140,0,.35)}50%{box-shadow:0 0 0 6px rgba(240,140,0,0)}}
@media(prefers-reduced-motion:reduce){.fcot-btn-toca,.fcot-aviso{animation:none}}
@media(max-width:600px){.fem-tit-acc .fcot-btn{width:100%;justify-content:center}}

/* 13/10 buscador de cursos: terminados */
.bc-term{font-style:normal;background:#EEF0F3;color:#5B6B7A;border-radius:6px;padding:0 6px;font-size:.75rem}.bc-busc{color:#5B6B7A;font-style:italic}

/* 🛡️ 13/10 Inicio: baja de publicidad (LOPD) */
.ini-lopd{background:linear-gradient(135deg,#FFF5F5,#FFFFFF);border:1px solid #F5C2C2;border-left:5px solid #D9363E;border-radius:16px;padding:14px 16px;margin:0 0 16px;box-shadow:0 2px 10px rgba(217,54,62,.06)}
.ilp-cab{display:flex;gap:12px;align-items:center;margin-bottom:10px}.ilp-ic{font-size:1.6rem;line-height:1}.ilp-cab b{display:block;font-size:1.05rem;color:#9B1C22}.ilp-cab small{color:#5B6B7A;font-size:.85rem}
.ilp-bus{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #E8C4C6;border-radius:12px;padding:0 12px}.ilp-bus:focus-within{border-color:#D9363E;box-shadow:0 0 0 3px rgba(217,54,62,.12)}.ilp-bus input{flex:1;border:0;outline:0;min-height:46px;font-size:1rem;background:transparent}
.ilp-res{margin-top:8px;display:grid;gap:6px}.ilp-nota{margin:4px 2px;color:#5B6B7A;font-size:.88rem}.ilp-nota.mal{color:#B42318}
.ilp-p{display:flex;gap:10px;align-items:center;text-align:left;background:#fff;border:1px solid #E3E8EE;border-radius:12px;padding:8px 10px;cursor:pointer;min-height:52px;animation:cvnDzIn .2s ease both}.ilp-p:hover{border-color:#D9363E}
.ilp-av{flex:none;width:36px;height:36px;border-radius:50%;background:#FDE8E8;color:#9B1C22;display:grid;place-items:center;font-weight:800;font-size:.8rem}.ilp-pt{flex:1;min-width:0}.ilp-pt b,.ilp-ft b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ilp-pt small,.ilp-ft small{color:#5B6B7A;font-size:.8rem}
.ilp-p em{flex:none;font-style:normal;font-size:.72rem;font-weight:700;border-radius:999px;padding:3px 8px}.ilp-ok{background:#E8F5EC;color:#1E7B3C}.ilp-no{background:#EEF0F3;color:#5B6B7A}
.ilp-esq{display:grid;gap:6px}.ilp-esq i{display:block;height:52px;border-radius:12px;background:linear-gradient(90deg,#F3F5F8,#E9EDF2,#F3F5F8);background-size:200% 100%;animation:ilpEsq 1.2s infinite}@keyframes ilpEsq{to{background-position:-200% 0}}
.ilp-ficha{background:#fff;border:1px solid #E8C4C6;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px;animation:cvnDzIn .2s ease both}.ilp-ft{display:flex;gap:10px;align-items:center}.ilp-ft>div{min-width:0}
.ilp-que{margin:0;font-size:.85rem;color:#33475B}.ilp-aviso{margin:0;font-size:.85rem;background:#FFF7E6;border:1px solid #F3D9A4;border-radius:10px;padding:8px 10px}
.ilp-c{display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:600;color:#33475B}.ilp-c input{min-height:44px;border:1px solid #CDD6E0;border-radius:10px;padding:8px 12px;font-size:.95rem;font-weight:400}
.ilp-sw{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;cursor:pointer}.ilp-sw input{position:absolute;opacity:0}.ilp-sw-i{flex:none;width:40px;height:24px;border-radius:999px;background:#CDD6E0;position:relative;transition:background .2s}.ilp-sw-i::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}.ilp-sw input:checked+.ilp-sw-i{background:#D9363E}.ilp-sw input:checked+.ilp-sw-i::after{transform:translateX(16px)}.ilp-sw input:focus-visible+.ilp-sw-i{outline:2px solid #2F7BBF}
.ilp-acc{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap}.ilp-btn{background:#D9363E;color:#fff;border-color:#D9363E;font-weight:700;min-height:46px}.ilp-btn:hover{background:#B42318}.ilp-btn:disabled{opacity:.6}
.ilp-hecho{background:#F0FAF3;border:1px solid #BFE3CB;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}.ilp-hecho small{color:#5B6B7A}.ilp-chs{display:flex;flex-wrap:wrap;gap:6px}.ilp-ch{font-size:.8rem;font-weight:600;border-radius:999px;padding:4px 10px;background:#EEF0F3;color:#5B6B7A}.ilp-ch.ok{background:#E8F5EC;color:#1E7B3C}.ilp-ch.amb{background:#FFF1D6;color:#8A5A00}
@media(max-width:600px){.ilp-acc .btn{width:100%}.ilp-p em{display:none}}
.ilp-p{width:100%;overflow:hidden}.ilp-pt small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ✔ 13/10 cotización: punteo por alumno */
.fcot-alc{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.fcot-alc h4{margin:0}.fcot-punt{font-size:.85rem;color:#1E7B3C;background:#E8F5EC;border-radius:999px;padding:3px 10px}.fcot-sin{display:flex;gap:6px;align-items:center;font-size:.85rem;margin-left:auto;cursor:pointer}
.fcot-pt{flex:none;display:grid;place-items:center;cursor:pointer;width:34px;height:34px;align-self:center}.fcot-pt input{position:absolute;opacity:0;width:1px;height:1px}.fcot-pt span{width:26px;height:26px;border-radius:8px;border:2px solid #B8C4D0;background:#fff;display:grid;place-items:center;transition:all .15s}
.fcot-pt input:checked+span{background:#1E9E55;border-color:#1E9E55}.fcot-pt input:checked+span::after{content:'✓';color:#fff;font-weight:900;font-size:16px}.fcot-pt input:focus-visible+span{outline:2px solid #2F7BBF;outline-offset:2px}.fcot-pt input:disabled+span{opacity:.6}
.fcot-a.punt{background:#F3FBF6;border-color:#BFE3CB}.fcot-a.punt b{color:#1E7B3C}

/* 📷 13/10 FEM: leer hoja de firmas con IA */
.focr{display:flex;flex-direction:column;gap:12px}.focr-drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed #9CC0E3;border-radius:14px;padding:20px 14px;background:#F5F9FD;cursor:pointer;text-align:center}.focr-drop:hover{border-color:#2F7BBF}.focr-drop span{font-weight:700;color:#1F5E96}.focr-drop small{color:#5B6B7A}
.focr-kpis{display:flex;flex-wrap:wrap;gap:6px}.focr-kpis span{border-radius:999px;padding:4px 10px;font-size:.85rem;font-weight:700}.focr-kpis .si{background:#E8F5EC;color:#1E7B3C}.focr-kpis .no{background:#FDE8E8;color:#B42318}.focr-kpis .fj{background:#EAF1FB;color:#1F5E96}.focr-kpis .duda{background:#FFF1D6;color:#8A5A00}.focr-kpis .nada{background:#EEF0F3;color:#5B6B7A}
.focr-mes{margin-top:6px}.focr-mes>b{display:block;text-transform:capitalize;margin-bottom:6px}.focr-dias{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}
.focr-d{display:flex;flex-direction:column;align-items:center;gap:1px;border:1px solid #E3E8EE;border-radius:10px;padding:5px 2px;font-weight:800;font-size:1rem;background:#fff;cursor:pointer;min-height:58px;transition:transform .1s}.focr-d:active{transform:scale(.95)}.focr-d i{font-style:normal;font-size:.68rem;font-weight:600;color:#5B6B7A;text-transform:uppercase}.focr-d em{font-style:normal;font-size:.8rem}
.focr-d.si{background:#E8F5EC;border-color:#9FD5B0;color:#1E7B3C}.focr-d.no{background:#FDE8E8;border-color:#F2AFAF;color:#B42318}.focr-d.fj{background:#EAF1FB;border-color:#A9C7EA;color:#1F5E96}.focr-d.duda{background:#FFF1D6;border-color:#F3C77A;color:#8A5A00}.focr-d.nada{background:#F6F7F9;color:#9AA5B1}

.focr-drop.sobre{border-color:#1E9E55;background:#EEF9F2;transform:scale(1.01)}.focr-drop{transition:all .15s}
.focr-al{border:1px solid #E3E8EE;border-radius:12px;margin-bottom:8px;overflow:hidden}.focr-al.on{border-color:#9CC0E3}.focr-al .focr-mes{padding:0 10px 10px}
.focr-alc{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;width:100%;background:#fff;border:0;padding:10px 12px;cursor:pointer;text-align:left;min-height:48px}.focr-alc b{flex:1 1 180px}.focr-alc i{font-style:normal;color:#5B6B7A}.focr-alc .focr-kpis span{font-size:.75rem;padding:2px 8px}
.focr-av{max-height:120px;overflow:auto}

.fcot-sure{background:#D9363E!important;border-color:#D9363E!important;animation:fcotBorde 1.4s ease-in-out infinite}

/* 13/10 cotización: confirmar el mes tocándolo */
.fcot-am .fcot-mb{display:flex;flex-direction:column;align-items:center;min-width:46px;border-radius:10px;padding:4px 6px;font-weight:800;border:1px solid transparent;cursor:pointer;font:inherit;font-weight:800;transition:transform .1s,box-shadow .15s}.fcot-am .fcot-mb:hover{box-shadow:0 0 0 2px #7FB3DD}.fcot-am .fcot-mb:active{transform:scale(.94)}.fcot-am .fcot-mb.cargando{opacity:.5}

/* 13/10 cotización: selección, confirmar en bloque, excluidos y «sin comunicar» en rojo */
.fcot-am .mal{background:#FDE8E8!important;color:#B42318!important;border-color:#F2AFAF!important}
.fcot-selbar{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:8px 0}.fcot-selbar #fcSelAsk{width:100%}.fcot-seln{font-size:.85rem;background:#EAF1FB;color:#1F5E96;border-radius:999px;padding:3px 10px}
.fcot-s{flex:none;display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer;font-size:.62rem;color:#5B6B7A;align-self:center}.fcot-s input{width:20px;height:20px;accent-color:#2F7BBF;cursor:pointer}
.fcot-a.sel{border-color:#2F7BBF;box-shadow:0 0 0 2px rgba(47,123,191,.18)}.fcot-a.excl{opacity:.6;background:repeating-linear-gradient(135deg,#fff,#fff 10px,#F6F7F9 10px,#F6F7F9 20px)}.fcot-exm{color:#8A5A00!important;font-weight:600}
.fcot-exf{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;background:#FFF7E6;border:1px solid #F3D9A4;border-radius:10px;padding:10px}.fcot-exf label{flex:1 1 260px;display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:600}.fcot-exf input{min-height:42px;border:1px solid #CDD6E0;border-radius:10px;padding:6px 10px;font-weight:400}
.fcot-pt{flex-direction:column;height:auto;gap:2px}.fcot-pt small{font-size:.62rem;color:#5B6B7A}.fcot-am .fcot-mb em{font-style:normal}

/* 🚫 13/10 Lista negra */
.ln-add{border-left:5px solid #3A3F47}.ln-lcab{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between}.ln-lcab h3{margin:0}.ln-lcab .cvn-bus{flex:1 1 220px;max-width:340px}
.ln-f{display:flex;gap:10px;align-items:center;border:1px solid #E3E8EE;border-radius:12px;padding:10px 12px;margin-top:8px;animation:cvnDzIn .2s ease both}.ln-ft{flex:1;min-width:0}.ln-ft b{display:block}.ln-ft small{display:block;color:#33475B;font-size:.85rem}.ln-ft .ln-q{color:#5B6B7A;font-size:.78rem}.ln-f .btn{flex:none;min-height:40px}
/* ⛔ 22/10/2026: lista negra — chip en rojo si un canal falló; aviso al escribirle (ficha, bandeja, SMS) */
.ilp-ch.mal{background:#FDECEC;color:#B42318}.ln-aviso{margin:8px 0;font-size:.9rem;line-height:1.4}.ln-f .btn+.btn{margin-left:4px}

/* 13/10 citas: «ocupada / fuera» del portal */
.ct-slot.fuera{background:#EEF0F3!important;color:#8A94A0!important;border-color:#DDE2E8!important;cursor:not-allowed;display:inline-flex;flex-direction:column;align-items:center;line-height:1.1;text-decoration:none}.ct-slot.fuera small{font-size:.6rem;font-weight:600}
/* 13/10 cotización: tarjeta de alumno ordenada (casillas a la izquierda, datos arriba y meses debajo, siempre en el mismo sitio) */
.fcot-al .fcot-a{display:grid!important;grid-template-columns:auto auto minmax(0,1fr);column-gap:12px;row-gap:8px;align-items:start;padding:12px 14px}
.fcot-al .fcot-a>.fcot-s{grid-column:1;grid-row:1/span 2;align-self:start;padding-top:2px}
.fcot-al .fcot-a>.fcot-pt{grid-column:2;grid-row:1/span 2;align-self:start;width:auto;height:auto}
.fcot-al .fcot-a>div:not(.fcot-am):not(.fcot-ed){grid-column:3;grid-row:1;min-width:0}
.fcot-al .fcot-a>.fcot-am{grid-column:3;grid-row:2;flex-wrap:wrap}
.fcot-al .fcot-a>.fcot-ed{grid-column:1/-1}
.fcot-al .fcot-a b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fcot-al .fcot-a small{line-height:1.45}
.fcot-am span,.fcot-am .fcot-mb{min-width:62px;padding:4px 8px}.fcot-am em{font-size:.66rem!important;font-weight:700;letter-spacing:.01em}
.fcot-am .no{min-width:44px;opacity:.6}
.fcot-s span,.fcot-pt small{font-size:.6rem;color:#7A8794}
@media(max-width:600px){.fcot-al .fcot-a b{white-space:normal}}

.fcot-am .fcot-lis{display:block;text-decoration:none;font-size:.6rem;font-weight:700;color:#8A5A00;background:#FFF1D6;border-radius:6px;padding:0 4px;margin-top:2px;white-space:nowrap}.fcot-ed-cp.lis{color:#8A5A00;border-color:#F3C77A;background:#FFF7E6}
/* 📅 13/10: calendario de asistencia en «Corregir» (cotización) */
.fcal{width:100%;background:#fff;border:1px solid #DCE6F0;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}
.fcal-cab{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between}.fcal-cab>b{font-size:.92rem;color:#1F3B57}
.fcal-ley{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.72rem;color:#5B6B7A}.fcal-ley>span{display:inline-flex;align-items:center;gap:4px}
.fcal-ley i{font-style:normal;font-weight:800;width:18px;height:18px;border-radius:6px;display:inline-grid;place-items:center;font-size:.7rem}
.fcal-ms{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.fcal-m{background:#F8FAFC;border-radius:10px;padding:8px}.fcal-mt{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;margin-bottom:6px}.fcal-mt b{text-transform:capitalize;font-size:.85rem}.fcal-mt small{font-size:.72rem;color:#5B6B7A}.fcal-mt em{color:#1F7A4A;font-style:normal;font-weight:700}.fcal-mt u{color:#B42318;text-decoration:none;font-weight:700}
.fcal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.fcal-h{text-align:center;font-size:.66rem;font-weight:700;color:#8A9AAB}
.fcal-d{position:relative;min-height:38px;border-radius:8px;border:1px solid transparent;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;font:inherit;padding:0;line-height:1}
.fcal-d b{font-size:.74rem;font-weight:600}.fcal-d i{font-style:normal;font-size:.72rem;font-weight:800;min-height:.8rem}
button.fcal-d{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}button.fcal-d:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(16,40,70,.12)}button.fcal-d:focus-visible{outline:2px solid #2F7BBF;outline-offset:1px}
.fcal-d.fuera,.fcal-d.vacio{color:#C3CDD7}
.fcal-d.v,.fcal-ley i.v{background:#E3F5EA;border-color:#9ED5B3;color:#17663B}
.fcal-d.f,.fcal-ley i.f{background:#FDE8E7;border-color:#F3A9A3;color:#B42318}
.fcal-d.j,.fcal-ley i.j{background:#FFF3DC;border-color:#F3C77A;color:#8A5A00}
.fcal-d.x,.fcal-ley i.x{background:#EEF1F4;border-color:#D5DCE3;color:#7A8896}.fcal-d.x b{text-decoration:line-through}
.fcal-d.e,.fcal-ley i.e{background:#DDF0FF;border-color:#7FB3DD;color:#1F5E96;border-style:dashed}
.fcal-d.n{border:1px dashed #E1E7ED;color:#9AA8B5;background:#fff}.fcal-d.n.finde{background:#FAFBFC}
.fcal-d.fest::after{content:'';position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:#E0A100}
.fcal-d.hoy{box-shadow:0 0 0 2px #2F7BBF inset}
.fcal-pie{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;font-size:.8rem;color:#33475B}.fcal-pie em{color:#B54708;font-style:normal;font-weight:700}.fcal-bt{display:flex;gap:6px;margin-left:auto}
@media(max-width:600px){.fcal{padding:8px}.fcal-ms{grid-template-columns:1fr}.fcal-d{min-height:42px}.fcal-bt{width:100%}.fcal-bt .btn{flex:1;min-height:44px}}
.fcot-al .fcot-a .fcal p b,.fcot-al .fcot-a .fcal-pie b{display:inline}.fcot-al .fcot-a .fcal-d b{display:block;overflow:visible}.fcal .est-ayuda{margin:0}
.fcot-otra{width:100%;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:#F3F8FD;border:1px dashed #9CC3E6;border-radius:10px;padding:8px 10px;font-size:.8rem;color:#33475B}
.fp-hcap small.est-ayuda{display:block;margin-top:4px}
.fp-finr{display:flex;flex-direction:column;gap:3px;margin-top:6px;font-size:.8rem}.fp-finr label{font-weight:600;color:#33475B}.fp-finr input{min-height:40px;border:1px solid #CDD6E0;border-radius:10px;padding:6px 10px;max-width:220px}.fp-finr small{color:#1F5E96}
/* 🏢 13/10: ventana de prácticas por pasos (más clara) */
.fp-paso{display:flex;align-items:center;gap:8px;margin:14px 0 8px;font-size:.92rem;color:#1F3B57}.fem-pcol>.fp-paso:first-child{margin-top:2px}
.fp-paso i{font-style:normal;width:24px;height:24px;border-radius:50%;background:#1F5E96;color:#fff;display:inline-grid;place-items:center;font-size:.78rem;font-weight:800;flex:none}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fp-linea{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;background:#F3F8FD;border:1px solid #CFE0F0;border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:.82rem}
.fp-linea>b{width:100%;color:#1F3B57}.fp-linea em{font-style:normal;color:#8A9AAB}
.fp-le{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #D5DCE3;border-radius:10px;padding:6px 10px;font-weight:600;flex-wrap:wrap}.fp-le small{font-weight:400;color:#5B6B7A;width:100%;padding-left:26px;margin-top:-2px}
.fp-le i{font-style:normal;width:20px;height:20px;border-radius:50%;background:#E3EBF3;display:inline-grid;place-items:center;font-size:.72rem}.fp-le.on{border-color:#2F7BBF;box-shadow:0 0 0 3px rgba(47,123,191,.15)}.fp-le.on i{background:#1F5E96;color:#fff}
.fp-cambio{border:1px dashed #9CC3E6;border-radius:12px;padding:8px 12px;margin:12px 0;background:#FAFCFE}.fp-cambio summary{cursor:pointer;font-weight:700;color:#1F3B57;font-size:.88rem;list-style:none}.fp-cambio summary::-webkit-details-marker{display:none}.fp-cambio summary small{font-weight:400;color:#5B6B7A;margin-left:6px}
.fp-cambio-c{display:grid;grid-template-columns:1fr 140px;gap:10px;margin-top:10px}.fp-cambio-c input{width:100%}.fp-frn{display:block;margin-top:4px;color:#17663B;font-weight:600;font-size:.76rem}
@media(max-width:600px){.fp-cambio-c{grid-template-columns:1fr}}
.fp-le{display:inline-grid;grid-template-columns:auto auto;column-gap:6px;row-gap:1px;align-items:center}.fp-le small{grid-column:2;width:auto;padding-left:0;margin-top:0}
button.fp-le{cursor:pointer;font:inherit;font-weight:600}button.fp-le:hover{border-color:#7FB3DD}
.fem-pbody>.fem-pcol{min-width:0}.fem-pcol input,.fem-pcol select{max-width:100%}@media(max-width:600px){.fp-linea em{display:none}.fp-le{width:100%}}
.fem-fadd>*{min-width:0}@media(max-width:520px){.fem-fadd{grid-template-columns:1fr auto}.fem-fadd #fpFd{grid-column:1/-1}}
/* 🏢 13/10: ventana de prácticas a pantalla completa en 3 columnas, aprovechando el ancho */
.modal-caja.fem-pc{padding:18px max(20px,calc((100vw - 1640px)/2))!important}
.fem-pc .fem-pbody{grid-template-columns:minmax(300px,1fr) minmax(360px,1.15fr) minmax(320px,1fr);gap:18px}
.fem-pc .fem-pcol{padding:16px 18px;box-shadow:0 1px 3px rgba(16,40,70,.05)}
.fem-pc .fem-pcol3{position:sticky;top:0;max-height:calc(100vh - 150px);overflow:auto}
.fem-pc .fem-pmods{gap:6px}.fem-pc .fem-pmod{padding:8px 10px}
.fem-pc .fp-linea{margin-bottom:16px}
.fp-le-mas{border:1px dashed #2F7BBF!important;color:#1F5E96;background:#F3F8FD!important}.fp-le-mas small{padding-left:0!important;grid-column:1/-1!important}
@media(max-width:1200px){.fem-pc .fem-pbody{grid-template-columns:1fr 1fr}.fem-pc .fem-pcol3{grid-column:1/-1;position:static;max-height:none}}
@media(max-width:900px){.fem-pc .fem-pbody{grid-template-columns:1fr}}
.fem-pc .fem-dias{margin-bottom:12px}
/* 13/10: módulos compactos (el detalle está en «Así quedan»), apartados plegables */
.fem-pc .fem-pmods,.fem-modal .fem-pmods{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.fem-pmods .fem-pmod{padding:8px 10px;align-items:center}.fem-pmods .fem-pmod small{display:none}.fem-pmods .fem-pmod.fem-mod-no{border-color:#F3A9A3;background:#FDF2F1}
.fp-pasoS{font-weight:400;font-size:.74rem;color:#5B6B7A;margin-left:4px}
.fp-fold{margin:14px 0 6px}.fp-fold>summary{cursor:pointer;list-style:none}.fp-fold>summary::-webkit-details-marker{display:none}.fp-fold>summary::after{content:'▾';margin-left:auto;color:#5B6B7A}.fp-fold[open]>summary::after{content:'▴'}
.fp-cambio{margin:10px 0 12px}
/* 13/10: pie de la ventana de prácticas (borrar a la izquierda, cancelar y guardar a la derecha) */
.fem-modal .modal-pie{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fem-pc .modal-pie{bottom:-18px;margin:18px 0 0;padding:14px 18px;border:1px solid #dce7ef;border-radius:16px 16px 0 0;box-shadow:0 -6px 18px rgba(16,40,70,.08);background:rgba(255,255,255,.97);backdrop-filter:blur(6px)}
.fem-modal .modal-pie .btn{min-height:44px;padding:0 18px;border-radius:12px;font-weight:700}
.fem-modal .modal-pie #fpSi{min-width:190px;font-size:1rem;box-shadow:0 4px 12px rgba(31,94,150,.25)}
.fem-modal .modal-pie #fpNo{background:#fff;border:1px solid #CDD6E0;color:#33475B}
.fem-modal .modal-pie .fem-borrar{background:transparent;border:1px solid transparent;color:#B42318;margin-right:auto}.fem-modal .modal-pie .fem-borrar:hover{background:#FDE8E7;border-color:#F3A9A3}
@media(max-width:600px){.fem-modal .modal-pie #fpSi{flex:1;min-width:0}.fem-modal .modal-pie .fem-borrar{width:100%;order:3;margin:0;justify-content:center}}
.fp-paso{flex-wrap:wrap}.fp-paso .fp-pasoS{flex-basis:100%;margin:-2px 0 0 32px}.fp-fold>summary.fp-paso{font-weight:700;flex-wrap:nowrap}.fp-fold>summary.fp-paso .fp-pasoS{flex-basis:auto;margin:0 0 0 6px}
/* 📅 13/10: calendario dentro de la ventana de prácticas */
.fpc{margin:12px 0}.fpc-cab{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.fpc-cab b{font-size:.92rem;color:#1F3B57}.fpc-cab small{color:#5B6B7A;font-size:.76rem}
.fpc-ms{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.fpc-m{background:#F8FAFC;border-radius:12px;padding:8px}.fpc-m>b{display:block;text-transform:capitalize;font-size:.82rem;margin:0 0 6px 2px}
.fpc-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.fpc-g>span{text-align:center;font-size:.64rem;font-weight:700;color:#8A9AAB}
.fpc-d{min-height:36px;border-radius:8px;border:1px solid transparent;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;font:inherit;padding:0;line-height:1.05}
.fpc-d b{font-size:.72rem;font-weight:600}.fpc-d i{font-style:normal;font-size:.62rem;font-weight:700;min-height:.7rem}
button.fpc-d{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}button.fpc-d:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(16,40,70,.14)}
.fpc-d.fuera,.fpc-d.vacio{color:#C3CDD7}
.fpc-d.si{background:#fff;border-color:#D5DCE3;border-left:3px solid var(--mc,#2F7BBF);color:#1F3B57}.fpc-d.si i{color:#17663B}
.fpc-d.ov{background:#FFF7E6;border-color:#F3C77A;border-left-color:var(--mc,#2F7BBF)}.fpc-d.ov i{color:#8A5A00}
.fpc-d.no{border:1px dashed #E1E7ED;color:#9AA8B5;background:#fff}.fpc-d.no.finde{background:#FAFBFC}.fpc-d.no.quit b{text-decoration:line-through}.fpc-d.no.quit i{color:#B42318}.fpc-d.no.fest{background:#FFFBF0}
.fpc-d.sel{box-shadow:0 0 0 2px #1F5E96!important}
.fpc-ley{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:.72rem;color:#5B6B7A;margin-top:8px}.fpc-ley span{display:inline-flex;align-items:center;gap:4px}
.fpc-ley i{width:14px;height:14px;border-radius:4px;display:inline-block}.fpc-ley i.si{background:#fff;border:1px solid #D5DCE3;border-left:3px solid #2F7BBF}.fpc-ley i.ov{background:#FFF7E6;border:1px solid #F3C77A}.fpc-ley i.no{border:1px dashed #C3CDD7}
.fpc-reset{margin-left:auto;border:0;background:none;color:#1F5E96;font-weight:700;cursor:pointer;font-size:.74rem}
.fpc-ed{margin-top:10px;background:#F3F8FD;border:1px solid #CFE0F0;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;animation:cvnDzIn .18s ease both}.fpc-ed>small{color:#5B6B7A;font-size:.78rem}
.fpc-ed-r{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.fpc-ed-r label{display:flex;flex-direction:column;gap:3px;font-size:.74rem;font-weight:700;color:#33475B}.fpc-ed-r input{width:110px;min-height:40px;border:1px solid #CDD6E0;border-radius:10px;padding:6px 10px}
.fpc-ed-r .btn{min-height:40px}.fpc-x{margin-left:auto;border:0;background:none;font-size:1rem;cursor:pointer;color:#5B6B7A;min-height:40px;padding:0 6px}
@media(max-width:600px){.fpc-d{min-height:40px}.fpc-ed-r .btn{flex:1}}
/* 📋 13/10: ventana de plantillas de WhatsApp (estado, texto y enviar) */
.pe-cab{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.pe-cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:6px 0 12px}.pe-cifras button{border:1px solid #DCE6F0;background:#fff;border-radius:12px;padding:10px;text-align:left;cursor:pointer;font:inherit;font-size:.78rem;color:#5B6B7A}
.pe-cifras b{display:block;font-size:1.35rem;color:#1F3B57}.pe-cifras .verde b{color:#17663B}.pe-cifras .rojo b{color:#B42318}.pe-cifras button.on{border-color:#2F7BBF;box-shadow:0 0 0 3px rgba(47,123,191,.15)}
.pe-filt{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.pe-n{font-size:.76rem;color:#5B6B7A;margin:2px 0 8px}
.pe-l{display:flex;flex-direction:column;gap:8px}
.pe-it2{border:1px solid #DCE6F0;border-radius:14px;background:#fff;overflow:hidden;border-left:4px solid #C3CDD7}.pe-it2.pe-approved{border-left-color:#2E9E5B}.pe-it2.pe-rejected{border-left-color:#D92D20}.pe-it2.pe-pending{border-left-color:#E0A100}
.pe-it2.ab{box-shadow:0 4px 14px rgba(16,40,70,.08)}
.pe-it2-c{width:100%;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;background:none;border:0;padding:12px 14px;text-align:left;cursor:pointer;font:inherit}
.pe-it2-c>span{display:flex;flex-direction:column;gap:2px;min-width:0}.pe-it2-c b{font-size:.92rem;color:#1F3B57}.pe-it2-c small{font-size:.74rem;color:#5B6B7A}.pe-it2-c em{font-style:normal;font-size:.78rem;color:#33475B;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pe-det{padding:0 14px 14px;display:flex;flex-direction:column;gap:10px;animation:cvnDzIn .18s ease both}
.pe-burb{background:#E7F7EE;border-radius:4px 14px 14px 14px;padding:10px 12px;font-size:.88rem;line-height:1.45;color:#1D2B36;max-width:560px;box-shadow:0 1px 2px rgba(0,0,0,.06)}.pe-burb>b{display:block;margin-bottom:4px}.pe-burb small{display:block;margin-top:6px;color:#5B6B7A;font-size:.74rem}.pe-burb mark{background:#FFF1C2;border-radius:4px;padding:0 3px}
.pe-bots{display:flex;flex-wrap:wrap;gap:6px}.pe-bots span{background:#fff;border:1px solid #CFE0F0;border-radius:10px;padding:5px 10px;font-size:.78rem;color:#1F5E96;font-weight:600}
.pe-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.72rem;color:#5B6B7A}.pe-meta code{background:#F3F6F9;border-radius:6px;padding:1px 5px}
.pe-env{background:#F3F8FD;border:1px solid #CFE0F0;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.pe-env>small{color:#5B6B7A;font-size:.74rem}
.pe-pr{display:flex;flex-direction:column;gap:4px}.pe-per{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#fff;border:1px solid #DCE6F0;border-radius:10px;padding:8px 10px;cursor:pointer;font:inherit;text-align:left}.pe-per:hover{border-color:#2F7BBF}.pe-per small{color:#5B6B7A}
@media(max-width:600px){.pe-cifras{grid-template-columns:repeat(2,1fr)}.pe-cab{flex-direction:column}}
.pe-filt .bj-busca,.pe-env .bj-busca{flex:none;height:auto}
/* 🏢 13/10: cotización — alumno con varias empresas agrupado */
.fcot-grp{grid-column:1/-1;border:1px solid #9CC3E6;border-radius:16px;background:#F3F8FD;padding:10px;display:flex;flex-direction:column;gap:10px}
.fcot-grp-h{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;padding:2px 4px}.fcot-grp-h>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.fcot-grp-h b{color:#1F3B57}.fcot-grp-h small{font-size:.76rem;color:#33475B}
.fcot-grp-m{display:flex;gap:6px}.fcot-grp-m span{display:flex;flex-direction:column;align-items:center;min-width:62px;border-radius:10px;padding:4px 8px;font-weight:800;border:1px solid transparent;background:#fff}.fcot-grp-m i{font-style:normal;font-weight:600;font-size:.7rem;color:#5B6B7A}.fcot-grp-m em{font-style:normal;font-size:.62rem;font-weight:700}
.fcot-grp-m .ok{border-color:#9ED5B3;color:#17663B;background:#E3F5EA}.fcot-grp-m .mal{border-color:#CFE0F0;color:#1F5E96}.fcot-grp-m .no{color:#9AA8B5;background:#F6F8FA}
.fcot-grp-c{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.fcot-en{position:relative;margin-top:8px}.fcot-en::before{content:attr(data-emp);position:absolute;top:-9px;left:12px;background:#1F5E96;color:#fff;font-size:.66rem;font-weight:700;border-radius:8px;padding:1px 8px}
@media(max-width:600px){.fcot-grp-c{grid-template-columns:1fr}}
.pe-it2-c small .pe-f{font-weight:700;color:#1F3B57}.pe-rejected .pe-it2-c small .pe-f{color:#B42318}
.pe-para{font-style:normal;color:#1F5E96;font-weight:600}
.pe-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#F8FAFC;border:1px solid #E3EBF3;border-radius:12px;padding:10px 12px}.pe-info>div{display:flex;flex-direction:column;gap:2px;min-width:0}.pe-info small{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#8A9AAB}.pe-info b{font-size:.84rem;color:#1F3B57}.pe-info span{font-size:.82rem;color:#33475B}.pe-info-w{grid-column:1/-1}
@media(max-width:600px){.pe-info{grid-template-columns:1fr}}
/* 🧾 13/10: curso(s) de la factura */
.fac-cs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.fac-cs:empty{display:none}.fac-c{display:inline-flex;align-items:center;gap:6px;background:#E3F5EA;border:1px solid #9ED5B3;border-radius:999px;padding:4px 6px 4px 10px;font-size:.8rem;max-width:100%}.fac-c b{color:#17663B}.fac-c button{border:0;background:#fff;border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:.7rem}
.fac-cr{display:flex;flex-direction:column;gap:4px;margin-top:4px}.fac-cr button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:#fff;border:1px solid #DCE6F0;border-radius:10px;padding:8px 10px;cursor:pointer;font:inherit;text-align:left}.fac-cr button:hover{border-color:#2F7BBF}.fac-cr small{color:#5B6B7A}.fac-m em{font-style:normal;color:#17663B}
.fac .bj-busca{flex:none}
/* 🤖 13/10: avisos automáticos en la Bandeja */
.bj-msg.auto .bj-burbuja{border:1px dashed #9ED5B3}
.bj-auto{display:block;font-size:.7rem;font-weight:700;color:#17663B;background:#fff;border-radius:8px;padding:2px 8px;margin:-2px 0 6px;width:max-content;max-width:100%}
.bj-auto-n{display:block;font-size:.76rem;color:#5B6B7A}
/* 📎 13/10: archivos recibidos por WhatsApp */
.bj-med{display:flex;gap:6px;margin-top:6px}.bj-med button{border:1px solid #CFE0F0;background:#fff;color:#1F5E96;border-radius:10px;padding:6px 10px;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.bj-med button:hover{border-color:#2F7BBF}
.bj-med-ver{display:flex;justify-content:center;background:#F6F8FA;border-radius:12px;padding:8px;max-height:70vh;overflow:auto}.bj-med-img{max-width:100%;max-height:66vh;border-radius:8px}.bj-med-pdf{width:100%;height:66vh;border:0;border-radius:8px;background:#fff}
/* 💼 13/10: EmpleoAquí en Control de campañas */
.eaqp{margin-bottom:14px}.eaqp-est{border-radius:999px;padding:6px 12px;font-weight:800;font-size:.8rem;white-space:nowrap}.eaqp-est.on{background:#E3F5EA;color:#17663B}.eaqp-est.pausa{background:#FFF3DC;color:#8A5A00}
.eaqp-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.eaqp-kpi>div{background:#F6F9FC;border:1px solid #E3EBF3;border-radius:12px;padding:10px 12px}.eaqp-kpi b{display:block;font-size:1.4rem;color:#0A3D62}.eaqp-kpi span{font-size:.76rem;color:#5B6B7A}
.eaqp-acc{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.eaqp-n{display:inline-flex;gap:6px;align-items:center;font-size:.8rem;font-weight:700;color:#33475B}.eaqp-n input{width:80px;min-height:36px;border:1px solid #CDD6E0;border-radius:10px;padding:4px 8px}
.eaqp-g{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin-top:6px}.eaqp-g h4{margin:0 0 8px;font-size:.9rem}.eaqp-g h4 small{font-weight:400;color:#5B6B7A;font-size:.74rem}
.eaqp-cli{display:flex;flex-direction:column;gap:6px}.eaqp-cli button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:#FFF7E6;border:1px solid #F3C77A;border-radius:10px;padding:8px 10px;cursor:pointer;font:inherit}.eaqp-cli button:hover{border-color:#E0A100}.eaqp-cli small{color:#5B6B7A}
.eaqp-t{width:100%;border-collapse:collapse;font-size:.82rem}.eaqp-t th,.eaqp-t td{padding:6px 8px;border-bottom:1px solid #EEF2F6;text-align:left}.eaqp-t th{font-size:.7rem;text-transform:uppercase;color:#8A9AAB}
.eaqp-as{margin-top:10px;font-size:.82rem}.eaqp-as summary{cursor:pointer;font-weight:700;color:#1F5E96}
.eaqp-pagos{display:flex;flex-direction:column;gap:6px}.eaqp-pagos>div{background:#F6F9FC;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column}.eaqp-pagos small{color:#5B6B7A}
.eaqp-prox{display:flex;flex-direction:column;gap:3px;max-height:260px;overflow:auto;background:#F6F9FC;border-radius:10px;padding:8px 10px;margin-bottom:10px;font-size:.8rem}.eaqp-prox span.no{color:#9AA8B5;text-decoration:line-through}.eaqp-prox small{color:#5B6B7A}
@media(max-width:700px){.eaqp-kpi{grid-template-columns:1fr 1fr}.eaqp-g{grid-template-columns:1fr}}
/* 📌 13/10: plan de compartir de la semana + dónde lo compartí */
.cmp{margin-bottom:14px;display:flex;flex-direction:column;gap:14px}.cmp-compacto{margin:0 0 14px;padding:12px 14px}
.cmp-bloque h4{margin:0 0 8px;font-size:.95rem;color:#0A3D62}.cmp-bloque h4 small{display:block;font-weight:400;color:#5B6B7A;font-size:.76rem;margin-top:2px}
.cmp-c{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #E3EBF3;border-radius:12px;background:#fff;margin-bottom:6px;animation:cmpIn .25s ease both}
.cmp-c>div{flex:1;min-width:0}.cmp-c b{display:block;font-size:.88rem;line-height:1.25}.cmp-c small{color:#5B6B7A;font-size:.75rem}
.cmp-emp{border-color:#F3B2B2;background:#FFF5F5}.cmp-hecho{background:#F2FAF5;border-color:#BFE3CC}.cmp-ok{color:#17663B;font-weight:800;font-size:.75rem;white-space:nowrap}
.cmp-chips{display:flex;flex-wrap:wrap;gap:6px}.cmp-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 12px;border:1px solid #D7E2EC;background:#F6F9FC;font:inherit;font-size:.8rem;max-width:100%}
button.cmp-chip{cursor:pointer;min-height:40px}button.cmp-chip:hover{border-color:#1A8CC4}.cmp-chip i{font-style:normal}.cmp-chip b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.cmp-chip small{color:#5B6B7A;font-size:.7rem;white-space:nowrap}
.cmp-libre{background:#EFF8F2;border-color:#BFE3CC}.cmp-ojo{background:#FFF7E6;border-color:#F3C77A}.cmp-desc{background:#FDECEC;border-color:#F0A8A8}.cmp-desc small{color:#A12A2A}
.cmp-nota{margin:0;font-size:.8rem;color:#5B6B7A}
.cmp-hist>div{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #EEF2F6}.cmp-hist i{font-style:normal;font-size:1.1rem}.cmp-hist span{flex:1;min-width:0}.cmp-hist b{display:block;font-size:.86rem}.cmp-hist small{color:#5B6B7A;font-size:.74rem;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmp-x{border:0;background:#F1F4F8;border-radius:50%;width:32px;height:32px;cursor:pointer;color:#5B6B7A;flex:none}.cmp-x:hover{background:#FDECEC;color:#A12A2A}
.cmp-pag{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:.8rem;color:#5B6B7A}.cmp-eq{align-self:flex-start}
.cmp-donde{position:fixed;left:0;right:0;bottom:0;z-index:140;display:flex;justify-content:center;padding:0 12px 12px;transform:translateY(110%);transition:transform .25s ease;pointer-events:none}
.cmp-donde.abierta{transform:none}.cmp-donde-c{pointer-events:auto;width:100%;max-width:560px;background:#fff;border-radius:18px;box-shadow:0 12px 40px rgba(10,61,98,.28);padding:14px;display:flex;flex-direction:column;gap:10px;border:1px solid #E3EBF3}
.cmp-donde-cab{display:flex;gap:10px;align-items:flex-start}.cmp-donde-cab>div{flex:1}.cmp-donde-cab b{display:block;color:#0A3D62}.cmp-donde-cab small{color:#5B6B7A;font-size:.76rem}
.cmp-donde-in{display:flex;gap:8px}.cmp-donde-in input{flex:1;min-width:0;min-height:44px;border:1px solid #CDD6E0;border-radius:12px;padding:8px 12px;font:inherit;font-size:16px}
.cmp-donde-no{align-self:center;border:0;background:none;color:#5B6B7A;text-decoration:underline;cursor:pointer;font:inherit;font-size:.8rem;padding:4px}
.cmp-eq-l{display:flex;flex-direction:column;gap:8px}.cmp-eq-f{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;padding:10px 12px;border:1px solid #E3EBF3;border-radius:12px}.cmp-eq-f>div:first-child{min-width:0}.cmp-eq-f b{display:block;font-size:.88rem}.cmp-eq-f small{color:#5B6B7A;font-size:.74rem}.cmp-eq-f .cmp-chips{grid-column:1/-1}
.cmp-eq-p{font-weight:800;font-size:.78rem;border-radius:999px;padding:4px 10px;background:#FFF3DC;color:#8A5A00;white-space:nowrap}.cmp-eq-p.ok{background:#E3F5EA;color:#17663B}
@keyframes cmpIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:600px){.cmp-c{flex-wrap:wrap}.cmp-c>div{flex-basis:100%}.cmp-c .btn{flex:1}.cmp-donde-in{flex-direction:column}.cmp-chip b{max-width:150px}}
.eaqp-sync{margin-top:14px;padding-top:12px;border-top:1px solid #EEF2F6}.eaqp-sync h4{margin:0 0 6px;font-size:.9rem}.eaqp-sync h4 small{display:block;font-weight:400;color:#5B6B7A;font-size:.74rem}.eaqp-sync-l{margin:6px 0 10px;padding-left:18px;font-size:.82rem}.eaqp-sync-l small{color:#5B6B7A}
/* 📣 14/10: fase 2 de EmpleoAquí */
.eaqpb{border:1px solid #E3EBF3;border-radius:14px;padding:12px 14px;margin-top:12px}.eaqpb-cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}.eaqpb-cab b{font-size:.95rem;color:#0A3D62}.eaqpb-cab small{color:#5B6B7A;font-size:.76rem}
.eaqpb .est-ayuda{margin:8px 0}.eaqp-est.err{background:#FDECEC;color:#A12A2A}
.eaqpb-l{display:flex;flex-direction:column;gap:6px}.eaqpb-f{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:#F6F9FC}.eaqpb-f>div{flex:1;min-width:180px}.eaqpb-f b{display:block;font-size:.86rem}.eaqpb-f small{color:#5B6B7A;font-size:.74rem}
.eaqpb-act{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.eaqpb-act input{width:58px;min-height:36px;border:1px solid #CDD6E0;border-radius:8px;padding:4px 6px}.eaqpb-act small{color:#5B6B7A;font-size:.72rem;margin-right:4px}
/* 14/10: fechas del Excel apuntadas a quien aún no tiene empresa */
.fem-pend{margin:6px 0 4px;padding:6px 10px;border-radius:10px;background:var(--ambar-suave,#fff6e0);color:var(--texto,#3a2a00);font-size:.82rem;line-height:1.3}
/* 🧩 14/10: ordenar módulos arrastrando (pestaña «FEM módulos» y ventana de prácticas de cada persona) */
.ord-asa{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:36px;font-size:1.15rem;color:var(--suave,#7a8699);cursor:grab;touch-action:none;user-select:none;border-radius:8px}
.ord-asa:hover{background:rgba(0,0,0,.05);color:var(--texto,#1d2a3a)}
.ord-on,.ord-on *{cursor:grabbing!important;user-select:none}
.ord-arr{position:relative;z-index:5;box-shadow:0 10px 24px rgba(20,40,80,.18);transform:scale(1.02);background:var(--fondo-tarjeta,#fff);opacity:.96}
.fmo{max-width:760px}
.fmo-cab h3{margin:0 0 4px}
.fmo-lista{list-style:none;margin:14px 0;padding:0;display:flex;flex-direction:column;gap:8px}
.fmo-it{display:flex;align-items:center;gap:10px;background:var(--fondo-tarjeta,#fff);border:1.5px solid var(--linea,#dfe5ee);border-radius:14px;padding:8px 10px;transition:box-shadow .15s}
.fmo-n{font-style:normal;font-weight:800;min-width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--acento-suave,#e7f0fb);color:var(--acento,#1d5fa8);font-size:.85rem}
.fmo-c{width:10px;height:10px;border-radius:50%;flex:0 0 10px}
.fmo-t{flex:1;min-width:0;display:flex;flex-direction:column}
.fmo-t small{color:var(--suave,#7a8699);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fmo-bt{display:flex;gap:4px}.fmo-bt .btn{min-width:40px;min-height:40px}
.fmo-pie{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}
.fmo-ap{display:flex;gap:8px;align-items:flex-start;flex:1 1 300px}.fmo-ap input{width:20px;height:20px;margin-top:2px}.fmo-ap small{display:block;color:var(--suave,#7a8699)}
.fem-pmods .ord-asa{min-height:28px;min-width:22px;margin-left:auto;order:9}
@media (max-width:600px){.fmo-pie .btn-primario{width:100%}.fmo-it{padding:8px}.fmo-t small{white-space:normal}}
/* 📋 14/10: pegar empresas desde el Excel (FEM → Empresas) */
.fem-bus2{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.fem-bus-in{flex:1 1 280px;position:relative;min-width:0}.fem-bus-in input{width:100%}
.fpe-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:10px}
.fpe-f{border:1.5px solid var(--linea,#dfe5ee);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:var(--fondo-tarjeta,#fff)}
.fpe-f.fpe-off{opacity:.55}.fpe-cab{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.fpe-dat{color:var(--suave,#7a8699);word-break:break-word}.fpe-obs{margin:0;font-size:.85rem;background:#FFF8E6;border-radius:8px;padding:6px 8px}
.fpe-f select{width:100%;min-height:40px}.fpe-ia{color:var(--suave,#7a8699);font-size:.78rem}
.fpe-sw{display:flex;align-items:center;gap:6px;font-size:.85rem;white-space:nowrap;cursor:pointer}.fpe-sw input{width:20px;height:20px}
@media (max-width:600px){.fem-bus2 .btn{width:100%}.fpe-lista{grid-template-columns:1fr}}
/* 🚫 14/10: alumnado que no va a prácticas */
.fem-np{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:6px 0;padding:8px 10px;border-radius:10px;background:#F1F3F7;color:var(--texto,#1d2a3a);font-size:.85rem}
.fnp-ops{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:12px 0}
.fnp-op{display:flex;align-items:center;gap:10px;border:1.5px solid var(--linea,#dfe5ee);border-radius:12px;padding:12px;cursor:pointer;min-height:48px;transition:border-color .15s,background .15s}
.fnp-op input{width:18px;height:18px}.fnp-op.on{border-color:var(--acento,#1d5fa8);background:var(--acento-suave,#e7f0fb)}.fnp-i{font-size:1.2rem}
#fnpNota{width:100%}
/* ✏️ 14/10: horas de FEM a mano por módulo */
.fmo-h{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:110px}
.fmo-h input{width:64px;min-height:40px;text-align:right;font-weight:700;border:1.5px solid var(--linea,#dfe5ee);border-radius:10px;padding:4px 8px}
.fmo-h.fmo-man input{border-color:#E8A33D;background:#FFF6E6}.fmo-h small{width:100%;text-align:right;color:var(--suave,#7a8699);font-size:.72rem}
.fmo-tot{margin:-4px 0 12px;font-size:.92rem}.fem-ambar{color:#B26A00}
@media (max-width:600px){.fmo-it{flex-wrap:wrap;row-gap:6px}.fmo-t{flex:1 1 calc(100% - 120px)}.fmo-h{max-width:none;margin-left:auto;flex-wrap:nowrap}.fmo-h small{width:auto;order:-1;margin-right:4px}.fmo-bt .btn{min-width:38px;min-height:38px}}
/* 14/10: datos del curso en «Comparte y suma» */
.cmp-det{display:flex;flex-wrap:wrap;gap:4px 10px;margin:6px 0 4px;font-size:.84rem;color:var(--texto,#1d2a3a)}
.cmp-det span{white-space:normal}.cmp-conv{display:inline-block;background:var(--acento-suave,#e7f0fb);color:var(--acento,#1d5fa8);font-weight:700;border-radius:999px;padding:2px 10px}
/* 👫 14/10: Programa Embajadores destacado en «Comparte y suma» */
.cpx-emb{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;align-items:center;margin:0 0 18px;padding:16px 18px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#F2B23E 0%,#E2445C 55%,#7B4FBF 100%);box-shadow:0 10px 26px rgba(226,68,92,.25);animation:cpxEmbIn .45s ease both}
.cpx-emb-ic{font-size:2.4rem;line-height:1;background:rgba(255,255,255,.18);border-radius:16px;width:62px;height:62px;display:flex;align-items:center;justify-content:center}
.cpx-emb-tx>b{display:block;font-size:1.15rem;margin:2px 0 4px}.cpx-emb-tx p{margin:0;font-size:.9rem;opacity:.95}
.cpx-emb-tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.22);border-radius:999px;padding:3px 10px}
.cpx-emb-bt{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.cpx-emb-bt .btn{min-height:44px;border-radius:12px;font-weight:700}.cpx-emb-p{background:#fff;color:#C2334B;border:0;flex:1 1 200px}.cpx-emb-s{background:rgba(255,255,255,.16);color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.cpx-emb-p:hover{background:#FFF4F6}.cpx-emb-s:hover{background:rgba(255,255,255,.28)}
@keyframes cpxEmbIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:600px){.cpx-emb{padding:14px}.cpx-emb-ic{width:50px;height:50px;font-size:2rem}.cpx-emb-s{flex:1 1 calc(33% - 8px);font-size:.82rem;padding:6px}}
/* 🔗 14/10: conversación que llegó desde un enlace personal */
.bj-ref{margin:6px 10px 0;padding:7px 12px;border-radius:12px;background:#EAF6EF;color:#14532D;font-size:.85rem;border:1px solid #BFE3CC}.bj-ref small{color:#4B7A5D;margin-left:4px}
/* 📊 14/10: embudo del programa Embajadores */
.em-embudo .emb-paso{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed var(--linea,#dfe5ee)}.em-embudo .emb-paso:last-of-type{border-bottom:0}
.emb-ic{font-size:1.4rem;width:34px;text-align:center}.emb-tx{flex:1;min-width:0}.emb-tx small{color:var(--suave,#7a8699)}
.emb-bar{height:8px;border-radius:99px;background:#EEF2F6;margin-top:6px;overflow:hidden}.emb-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#F2B23E,#E2445C)}
.emb-pc{font-weight:800;color:#2E9E5B;min-width:48px;text-align:right}.emb-pc.bajo{color:#C2334B}.emb-nota{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#FFF7EA;font-size:.9rem}

/* 🤖 15/10/2026: Automatismos */
.pe-cab-b{display:flex;gap:8px;flex-wrap:wrap}.pe-sinc{background:#e8f5ee!important;color:#1f7a4d!important;border-color:#bfe3cf!important;font-weight:800}.pe-sinc-t{color:#1f7a4d;font-weight:700}
.au-f{margin:6px 0 10px;flex-wrap:wrap}
.au-l{display:flex;flex-direction:column;gap:10px}
.au-esq{height:96px;border-radius:14px}
.au-h{margin:8px 2px 0;font-size:14px;color:var(--tinta-suave)}
.au-c{background:var(--papel);border-radius:14px;box-shadow:var(--sombra);padding:12px 14px;border-left:5px solid #1F8A5B;animation:auEnt .25s ease both}
.au-c-off{border-left-color:#9aa7b2}.au-c-pausa{border-left-color:#F2B23E}.au-c-prog,.au-c-marcha{border-left-color:var(--oceano)}
.au-c-t{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.au-c-t b{flex:1;min-width:160px;font-size:15px}
.au-ic{font-size:20px}
.au-chip{font-size:11.5px;font-weight:800;border-radius:999px;padding:3px 9px;background:#E4F7EB;color:#1F8A5B;white-space:nowrap}
.au-off{background:#EEF1F4;color:#5b6773}.au-pausa{background:#FFF3D6;color:#9a6a00}.au-prog,.au-marcha{background:#E3F0FA;color:var(--oceano)}
.au-vivo{margin:6px 0 0;font-weight:700;font-size:13.5px}
.au-dl{display:grid;grid-template-columns:76px 1fr;gap:4px 10px;margin:8px 0 0;font-size:13.5px}
.au-dl dt{color:var(--tinta-suave);font-weight:700}.au-dl dd{margin:0}
.au-pl{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.au-pl span{font-size:12px;background:#F2F5F8;border-radius:8px;padding:3px 8px}
.au-pag{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:13px;color:var(--tinta-suave)}
.au-pag span{flex:1}
@keyframes auEnt{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (max-width:560px){.au-dl{grid-template-columns:1fr}.au-dl dt{margin-top:4px}.au-pag .btn{flex:1}}
@media (prefers-reduced-motion: reduce){.au-c{animation:none}}
/* 15/10: pregunta «¿Es de algún curso?» al subir una factura */
.fac-preg{background:#FFF7E8;border:1px solid #F2C46D;border-radius:12px;padding:12px 14px;margin:10px 0;display:flex;flex-direction:column;gap:6px}
.fac-preg span{font-size:13.5px;color:var(--tinta-suave)}
.fac-preg div{display:flex;gap:8px;flex-wrap:wrap}.fac-preg .btn{flex:1;min-width:150px}
/* 🔎 15/10/2026: cotejo con la Seguridad Social (Cotización trimestral) */
.fcj .fcj-zona{margin-top:8px}
.fcj-lista{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.fcj-bt{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.fcj-cab{margin-top:12px;color:var(--tinta-suave)}
.fcj-k{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
.fcj-k>div{background:#F4F7FA;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.fcj-k>div.ok{background:#E4F7EB}
.fcj-k span{font-size:12px;color:var(--tinta-suave);font-weight:700}.fcj-k b{font-size:16px}.fcj-k small{font-size:12px;color:var(--tinta-suave)}
.fcj-s{border-radius:12px;border:1px solid #E3E9EF;padding:8px 12px;margin-top:8px;background:var(--papel)}
.fcj-s.mal{border-left:5px solid #e5484d}.fcj-s.amb{border-left:5px solid #F2B23E}
.fcj-s summary{cursor:pointer;padding:4px 0;list-style-position:inside}
.fcj-n{background:#EEF1F4;border-radius:999px;padding:1px 9px;font-weight:800;font-size:12.5px;margin-left:4px}
.fcj-f{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:7px 0;border-top:1px solid #EEF1F4}
.fcj-f small{display:block;color:var(--tinta-suave);font-size:12px}
.fcj-d{font-size:13px;white-space:nowrap}
@media (max-width:560px){.fcj-k{grid-template-columns:1fr}.fcj-f{flex-direction:column;align-items:flex-start}.fcj-d{white-space:normal}.fcj-bt .btn{width:100%}}

/* 15/10: nº de la Seguridad Social en la tarjeta FEM de alumnos */
.fem-nss{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:8px 0 2px;padding:6px 10px;border-radius:10px;background:var(--fondo-suave,#f3f7fb);font-size:13px}.fem-nss>span{color:var(--tinta-suave)}.fem-nss>b{font-variant-numeric:tabular-nums;letter-spacing:.3px}.fem-nss-falta{background:#fff6e5}.fem-nss-falta>b{color:#b45309}.fem-nss-b{border:0;background:none;cursor:pointer;font-size:15px;padding:4px 6px;border-radius:8px}.fem-nss-b:hover{background:rgba(0,0,0,.06)}.fem-nss-ed{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.fem-nss-ed input{flex:1;min-width:150px;min-height:40px;font-size:15px;padding:6px 10px;border:1px solid var(--borde,#cfd8e3);border-radius:10px}.fem-nss-ed small{flex-basis:100%;color:#b45309;font-size:12px}.fem-nss-ed small:empty{display:none}
.fcj-cur{display:flex;flex-direction:column;gap:3px;margin:-4px 0 8px;padding:0 0 8px 2px;font-size:12.5px;color:var(--tinta-suave);border-bottom:1px solid var(--borde,#e3e8ef)}.fcj-cur b{color:var(--tinta,#0f172a)}.fcj-cur i{color:#b45309;font-style:normal}.fcj-cur-no{color:#b45309}
.fema{margin:0 0 10px}.fema input{width:100%;min-height:46px;font-size:15px;padding:10px 14px;border:1px solid var(--borde,#cfd8e3);border-radius:12px;background:#fff}.fema-r{display:flex;flex-direction:column;gap:8px;margin-top:8px}.fema-r:empty{display:none}.fema-it{background:#fff;border:1px solid var(--borde,#e3e8ef);border-radius:12px;padding:10px 12px;display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;align-items:center}.fema-it small{display:block;color:var(--tinta-suave);font-size:12.5px}.fema-cs{display:flex;flex-wrap:wrap;gap:6px}.fema-c{border:1px solid #cfe0ee;background:#f3f8fc;border-radius:10px;padding:8px 10px;font:inherit;font-size:13px;cursor:pointer;text-align:left;min-height:40px}.fema-c:hover{background:#e6f1fa}.fema-c i{color:#b45309;font-style:normal}.fema-mas{color:var(--tinta-suave)}.fema-esq{display:grid;gap:8px}.fema-esq i{display:block;height:44px;border-radius:12px;background:linear-gradient(90deg,#eef2f6,#f8fafc,#eef2f6);background-size:200% 100%;animation:esqbrillo 1.2s infinite}@keyframes esqbrillo{to{background-position:-200% 0}}.fcj-cab{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.au-plb{border:1px solid var(--borde,#dbe3ec);background:#f6f9fc;border-radius:20px;padding:5px 10px;font:inherit;font-size:12.5px;cursor:pointer;min-height:32px}.au-plb:hover{background:#e9f2fa}.au-acc{margin-top:10px}.au-plv{position:fixed;inset:0;background:rgba(10,25,40,.45);z-index:3000;display:flex;align-items:center;justify-content:center;padding:16px}.au-plv-c{background:#fff;border-radius:18px;max-width:440px;width:100%;max-height:90vh;overflow:auto;padding:20px;position:relative;display:flex;flex-direction:column;gap:8px}.au-plv-x{position:absolute;right:10px;top:8px;border:0;background:none;font-size:18px;cursor:pointer;padding:6px}.au-plv-c>small{color:var(--tinta-suave)}.au-plv-wa{background:#e7f8dc;border-radius:12px 12px 12px 2px;padding:12px 14px;font-size:14.5px;line-height:1.45}.au-plv-wa p{margin:4px 0}.au-plv-wa i{background:#fff6c7;font-style:normal;border-radius:4px;padding:0 3px}.au-plv-bt{display:flex;flex-direction:column;gap:4px;margin-top:8px}.au-plv-bt span{background:#fff;border-radius:8px;text-align:center;padding:6px;color:#0b6fa4;font-weight:700;font-size:13px}.au-plv-n{color:var(--tinta-suave);font-size:12px}
.aw-sw{display:grid;gap:8px}.aw-t{display:flex;align-items:center;gap:12px;justify-content:space-between;background:#fff;border:1px solid var(--borde,#e3e8ef);border-radius:14px;padding:12px 14px;cursor:pointer;position:relative}.aw-t.on{border-color:#9fd8b5;background:#f4fbf6}.aw-t>span{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.aw-t small{color:var(--tinta-suave);font-size:12.5px}.aw-t input{position:absolute;opacity:0;width:1px;height:1px}.aw-i{flex:0 0 50px;height:28px;border-radius:20px;background:#cfd8e3;position:relative;transition:background .2s}.aw-i:after{content:'';position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}.aw-t input:checked+.aw-i{background:#1f9d55}.aw-t input:checked+.aw-i:after{transform:translateX(22px)}.aw-t input:focus-visible+.aw-i{outline:3px solid #0b6fa4;outline-offset:2px}.aw-t input:disabled+.aw-i{opacity:.55}
.aw-ex{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}.aw-ex span{display:inline-flex;align-items:center;gap:6px;background:#fff4e5;border:1px solid #f5d6a8;border-radius:20px;padding:5px 6px 5px 12px;font-size:13px}.aw-ex button{border:0;background:#fff;border-radius:50%;width:26px;height:26px;cursor:pointer;font-size:12px}.aw-log{display:flex;flex-direction:column;gap:6px}.aw-li{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--borde,#e3e8ef);border-left:4px solid #1f9d55;border-radius:10px;padding:8px 12px}.aw-li.aw-no{border-left-color:#d97706;background:#fffaf2}.aw-li small{display:block;color:var(--tinta-suave);font-size:12px}.aw-li>span{text-align:right;font-size:13px}
.ftg-sa{background:#f6f7f9;border:1px dashed #cfd8e3;opacity:.92;display:flex;flex-direction:column;gap:6px;margin:10px 0}.ftg-sa small{color:var(--tinta-suave)}.ftg-sa-f{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px 10px;background:#fff;border-radius:10px;color:#6b7785}.ftg-sa-m{font-weight:700;color:#8a5a00;font-size:13px}
.fcot-centro{display:block}.fcot-cen-t{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.fcot-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.fcot-dato{background:#f4f8fb;border-radius:12px;padding:8px 12px;position:relative}.fcot-dato small{display:block;color:var(--tinta-suave);font-size:12px}.fcot-dato b{font-size:16px;letter-spacing:.3px;font-variant-numeric:tabular-nums}.fcot-cop{border:0;background:none;cursor:pointer;margin-left:6px;font-size:14px;padding:4px}.fcot-cen-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:10px}.fcot-cen-f.oculto{display:none}.fcot-cen-f label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:700}.fcot-cen-f input{min-height:44px;font-size:15px;padding:8px 10px;border:1px solid var(--borde,#cfd8e3);border-radius:10px}.fcot-cen-e{grid-column:1/-1;color:#b45309}.fcot-cen-e:empty{display:none}.fcot-cen-b{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end}
.clb-bases{min-height:44px;display:flex;align-items:center;flex-wrap:wrap;gap:4px;background:#f4f8fb;border-radius:10px;padding:8px 12px;font-size:13.5px;color:var(--tinta-suave)}
.kb-modav{margin:6px 0 2px;background:#FFF4E5;border:1px solid #F5D6A8;color:#8a5a00;border-radius:8px;padding:4px 8px;font-size:12px;line-height:1.35}
/* 🎓 16/10/2026: pruebas de Competencias Clave (pestañita arriba) */
.cc-m .cc-dia { border: 1px solid #e3e9f0; border-radius: 14px; padding: 12px 14px; margin: 10px 0; background: #fff; animation: ccIn .25s ease both; }
.cc-m .cc-prim { border-color: #9cc6f2; background: #f2f8ff; box-shadow: 0 2px 10px rgba(30, 100, 180, .08); }
.cc-m .cc-f { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 6px; }
.cc-m .cc-f span { font-size: 12.5px; font-weight: 700; color: #1d6fc2; white-space: nowrap; }
.cc-m .cc-c { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px dashed #e3e9f0; }
.cc-m .cc-c:first-of-type { border-top: 0; }
.cc-m .cc-c small { display: block; color: #6a7a89; font-size: 12.5px; }
.cc-m .cc-tel { white-space: nowrap; min-height: 40px; display: inline-flex; align-items: center; }
.cc-m .cc-chip { font-size: 11px; background: #fff4e0; color: #8a5a00; border-radius: 99px; padding: 1px 8px; font-weight: 700; }
.cc-m .cc-act { font-size: 12px; color: #6a7a89; margin-top: 8px; }
@keyframes ccIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (max-width: 560px) { .cc-m .cc-c { flex-direction: column; align-items: stretch; } .cc-m .cc-tel { justify-content: center; } }
/* 🔁 16/10/2026: cambiar la convocatoria en lote */
#cuConvLote { margin: 6px 0 10px; } .cu-lote-b { min-height: 40px; }
.cl-res { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; } .cl-op { text-align: left; border: 1.5px solid #dfe6ee; background: #fff; border-radius: 12px; padding: 10px 12px; font: inherit; cursor: pointer; min-height: 44px; }
.cl-op:hover { border-color: #1A6FC4; } .cl-op small { color: #6a7a89; margin-left: 6px; } .cl-mas { color: #6a7a89; } .cl-sel { margin-top: 10px; font-size: 15px; }
.cl-det { margin-top: 12px; } .cl-det summary { cursor: pointer; font-weight: 700; } .cl-lista { max-height: 260px; overflow: auto; margin-top: 8px; display: flex; flex-direction: column; gap: 6px; }
.cl-lista > div { background: #f6f8fb; border-radius: 10px; padding: 8px 10px; font-size: 14px; } .cl-lista small { display: block; color: #6a7a89; }
.conv-chip.cv-falta { background: #FDE8E8; color: #B42318; border: 1.5px dashed #F2A7A0; font-weight: 800; cursor: pointer; font: inherit; font-size: 12.5px; border-radius: 999px; padding: 4px 10px; min-height: 30px; }
.conv-chip.cv-falta:hover { background: #FBD5D2; }
.cu-sinconv { background: #FFF4E5; border: 1px solid #F6C77A; color: #7A4B00; border-radius: 12px; padding: 10px 12px; margin: 6px 0 8px; font-size: 14px; line-height: 1.45; } .cu-sinconv .btn { margin-left: 6px; } .cu-sinconv-ok { background: #E9F7EF; border-color: #A6DDBA; color: #1E6B3A; }
/* 🚦 16/10/2026: estado real de los días de prácticas (aceptado / enviado / fichero / sin confirmar / rechazado) */
.cot-est { font-weight: 700; white-space: nowrap; }
.cot-ok { color: var(--alta); } .cot-env { color: #8a5300; } .cot-gen { color: #0b5cad; } .cot-sinconf { color: #8a5300; } .cot-rech { color: var(--baja); } .cot-pend { color: #8a5300; }
.cot-mot { color: var(--baja); font-weight: 600; } .cot-ayu { color: #6b7280; font-size: .85em; font-style: normal; }
.ftg-mes.ftg-e-env, .ftg-mes.ftg-e-sinconf, .ftg-mes.ftg-e-gen { background: #fff8e6; border-color: #f2d48a; }
.ftg-mes.ftg-e-rech { background: #fdeceb; border-color: #f1b4ae; }
.ftg-mes.ftg-e-ok { background: var(--alta-fondo); border-color: #a9dbb6; }
.fcot-mb.env { background: #fff4d6; border-color: #f2c76b; color: #7a4a00; }
.fcot-mb.gen { background: #e8f1fd; border-color: #a9c6ef; color: #0b4a8f; }
/* 16/10/2026: curso anulado / renuncia SCE → tarjeta en gris, como desactivada (se puede abrir igual) */
.curso.cu-anulado { filter: grayscale(1); opacity: .55; background: #f3f4f6; }
.curso.cu-anulado:hover { opacity: .8; }
.cu-anul-chip { display: inline-block; margin-bottom: 4px; padding: 2px 10px; border-radius: 999px; background: #4b5563; color: #fff; font-size: .78rem; font-weight: 700; }
/* 📌 16/10/2026: «Cursos no cerrados» — fecha de cierre en SISPECAN en la tarjeta */
.cu-cierre { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 10px 0 4px; padding: 10px 12px; border: 1.5px dashed #e0a43a; background: #fff7e6; border-radius: 12px; }
.cu-cierre b { display: block; color: #7a4a00; font-size: .92rem; } .cu-cierre small { color: #6b5a3a; font-size: .8rem; }
.cu-cierre-f { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.cu-cierre-f input[type=date] { min-height: 40px; padding: 6px 10px; border: 1px solid #d9c49a; border-radius: 10px; font: inherit; background: #fff; }
.curso.cu-cerrado-ok { outline: 3px solid var(--alta); transition: opacity .5s; opacity: .4; }
.cu-cierre.cu-cierre-hecho { border: 1px solid #b9dcc4; background: #eef8f1; padding: 6px 12px; } .cu-cierre-hecho b { color: #1f6b3a; } .cu-cierre-hecho small { color: #4a6b55; }
@media (max-width: 600px) { .cu-cierre-f { width: 100%; } .cu-cierre-f input[type=date] { flex: 1; } }
.globo-nc { right: 4px; top: 2px; }
/* 16/10/2026: FEM — Alumnado con la Seguridad Social dentro de cada tarjeta, buscador y bloque del curso */
.fem-alq { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 6px 12px; background: #fff; border: 1px solid var(--borde, #dfe5ee); border-radius: 14px; }
.fem-alq input { flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; font-size: 1rem; min-height: 40px; background: transparent; }
.fem-alq small { color: #6b7280; white-space: nowrap; }
.ftg-curso { margin: 0 0 12px; } .ftg-curso > summary { cursor: pointer; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
.ftg-curso > summary small { color: #6b7280; } .ftg-curso[open] > summary { margin-bottom: 10px; }
.ftg-mini { margin-top: 8px; border: 1px solid #dfe5ee; border-radius: 12px; background: #f7f9fc; }
.ftg-mini.ftg-mini-av { border-color: #f2c76b; background: #fffaf0; }
.ftg-mini > summary { cursor: pointer; padding: 8px 10px; display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: .86rem; list-style: none; }
.ftg-mini > summary::-webkit-details-marker { display: none; }
.ftg-mini-t { font-weight: 700; } .ftg-mini-e { color: #374151; }
.ftg-mini-c { padding: 0 10px 10px; } .ftg-mini-c .ftg-datos { margin-bottom: 6px; }
.ftg-mini-cargando { margin-top: 8px; font-size: .82rem; color: #6b7280; }
.fem-card.oculto { display: none !important; }
/* 📋 16/10/2026: planes (sectores) de una convocatoria */
.plan-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 999px; font-size: .78rem; font-weight: 700; background: #eef5ff; color: #1d4f91; border: 1px solid #c9dcf5; }
.plan-chip.plan-falta { background: #fff7e6; color: #8a5300; border-color: #f2d48a; }
#fPlan.oculto { display: none; }
.pl-ops { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; margin: 10px 0; }
.pl-op { text-align: left; padding: 12px 14px; border: 1.5px solid #dfe5ee; border-radius: 12px; background: #fff; font: inherit; font-weight: 700; cursor: pointer; min-height: 48px; }
.pl-op small { color: #6b7280; font-weight: 600; } .pl-op.on { border-color: var(--acento, #0b6fa4); background: #eef6fc; } .pl-op.pl-quitar { color: #b3261e; }
.pl-nuevo { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; } .pl-nuevo input { flex: 1; min-width: 180px; min-height: 40px; padding: 6px 10px; border: 1px solid #dfe5ee; border-radius: 10px; font: inherit; }
/* 🧾 17/10/2026: seguimiento de la factura en «Subir factura» */
.fac-seg-t { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 8px; }
.fac-seg-b { border: 1.5px solid #dfe5ee; background: #fff; border-radius: 999px; padding: 8px 12px; font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; min-height: 40px; }
.fac-seg-b.on { border-color: var(--acento, #0b6fa4); background: #eef6fc; color: #0b4a77; }
.fac-seg-b[data-facseg="no-pagar"].on { border-color: #b3261e; background: #fdeceb; color: #8c1d18; }
.fac-seg textarea { width: 100%; box-sizing: border-box; min-height: 80px; padding: 10px 12px; border: 1px solid #dfe5ee; border-radius: 12px; font: inherit; resize: vertical; }
.fac-seg-av { margin: 0 0 8px; padding: 8px 12px; border-radius: 10px; background: #fdeceb; color: #8c1d18; font-weight: 700; font-size: .9rem; }
.fac-seg-n { display: block; color: #6b7280; margin-top: 4px; } .fac-seg-n.fac-seg-falta { color: #b3261e; }
.fac-e { display: inline-block; margin-left: 6px; font-style: normal; font-size: .78rem; font-weight: 700; padding: 1px 8px; border-radius: 999px; background: #eef2f7; color: #374151; }
.fac-e.fac-e-ok { background: #e7f6ec; color: #1e6b34; } .fac-e.fac-e-ko { background: #fdeceb; color: #8c1d18; } .fac-e.fac-e-c { background: #f3f4f6; color: #6b7280; }
/* 📲 17/10/2026: Pide enlaces a Tizo por WhatsApp (Comparte y suma) */
.eqwa { padding: 16px 18px; margin-bottom: 14px; border-left: 4px solid #25D366; }
.eqwa-cab { display: flex; gap: 12px; align-items: flex-start; } .eqwa-ico { font-size: 26px; line-height: 1; }
.eqwa-cab > div > b { display: block; font-size: 15.5px; margin-bottom: 3px; } .eqwa-cab small { color: var(--tinta-suave); line-height: 1.45; }
.eqwa-acc { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 12px; } .eqwa-acc small { color: var(--tinta-suave); } .eqwa-acc a.btn { text-decoration: none; }
.eqwa-ok { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.eqwa-movil { display: inline-flex; align-items: center; gap: 6px; background: var(--alta-fondo); color: var(--alta); border-radius: 99px; padding: 4px 6px 4px 12px; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.eqwa-x { border: 0; background: none; color: var(--alta); cursor: pointer; font-size: 12px; padding: 2px 6px; border-radius: 99px; } .eqwa-x:hover { background: rgba(0, 0, 0, .06); }
.eqwa-pasos { margin: 12px 0 0; padding-left: 20px; font-size: 13.5px; line-height: 1.6; }
/* 18/10/2026: tarjeta FEM a la que se llega desde el buscador de alumnado */
.fem-card.fem-destacada { box-shadow: 0 0 0 3px var(--oceano-claro), var(--sombra); transition: box-shadow .4s; }
/* 🎧 18/10/2026: cuña de EmpleoAquí — idea y publicación con presupuesto */
.est-idea { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1.5px solid var(--linea); border-radius: 12px; font: inherit; font-size: 14.5px; line-height: 1.45; resize: vertical; }
.est-ideas { margin: 8px 0 4px; }
.est-spot-campos { display: flex; gap: 14px; flex-wrap: wrap; margin: 10px 0 6px; }
.est-spot-campos label { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: var(--tinta-suave); }
.est-spot-campos input { padding: 8px 10px; border: 1.5px solid var(--linea); border-radius: 10px; font: inherit; font-size: 14px; color: var(--tinta); }
/* 🔎 18/10/2026: Google de EmpleoAquí en directo y campaña nueva */
.eaqp-est.lim{background:#FFF4D6;color:#8A5A00}
.eaqg-f{align-items:flex-start}.eaqg-kpi{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:.82rem;color:#4A5A6A}.eaqg-kpi b{color:#1C2B3A}
.eaqg-mot{color:#8A5A00;font-weight:700}.eaqg-hora{font-size:.78rem;color:#7A8794}
.geq-grupo{border:1px solid #E3EBF3;border-radius:12px;padding:10px 12px;margin:10px 0}.geq-grupo>h4:first-child{margin:0 0 4px}
.geq-grupo textarea,#geqNeg{width:100%;box-sizing:border-box}
/* 🔍 18/10/2026: ¿Por qué ese día? */
.ipq-btn{display:inline-block;margin-top:4px;border:0;background:#EAF3FB;color:#0F5E8C;border-radius:999px;padding:4px 12px;font-weight:700;font-size:.8rem;cursor:pointer}.ipq-btn:hover{background:#D7E9F7}
.ipq-chip{background:#EAF3FB;color:#0F5E8C}
.ipq-cab{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 12px}.ipq-num{background:#F6F9FC;border-radius:14px;padding:12px;text-align:center}.ipq-num b{display:block;font-size:1.6rem;color:#1C2B3A}.ipq-num span{font-size:.8rem;color:#5B6B7B}
.ipq-num.sube{background:#E3F5EA}.ipq-num.sube b{color:#17663B}.ipq-num.baja{background:#FDECEC}.ipq-num.baja b{color:#A12A2A}
.ipq-ia{background:linear-gradient(135deg,#F3F0FF,#EAF3FB);border-radius:14px;padding:12px 14px;margin:10px 0}.ipq-ia p{margin:6px 0 0;line-height:1.5}
.ipq-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.ipq-b{border:1px solid #E3EBF3;border-radius:14px;padding:10px 12px}.ipq-b h4{margin:0 0 8px;font-size:.9rem}
.ipq-f{display:grid;grid-template-columns:minmax(0,42%) 1fr auto;gap:8px;align-items:center;font-size:.82rem;margin:5px 0}.ipq-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ipq-bar{position:relative;height:10px;background:#EEF2F6;border-radius:99px}.ipq-bar i{position:absolute;left:0;top:0;bottom:0;background:#4A90C8;border-radius:99px}.ipq-bar u{position:absolute;top:-3px;bottom:-3px;width:2px;background:#1C2B3A;border-radius:2px}
.ipq-f b{white-space:nowrap}.ipq-f small{font-weight:600;color:#7A8794}.ipq-f small.mas{color:#17663B}.ipq-f small.menos{color:#A12A2A}
.ipq-horas{display:flex;align-items:flex-end;gap:3px;height:80px}.ipq-horas span{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}.ipq-horas i{width:100%;background:#4A90C8;border-radius:4px 4px 0 0}.ipq-horas small{font-size:.65rem;color:#7A8794}
@media(max-width:600px){.ipq-cab{gap:6px}.ipq-num b{font-size:1.2rem}}
/* 📥 18/10/2026: «Por atender» como banner fijo y llamativo arriba del Inicio; la Baja LOPD pasa a ser una ventana */
.ini-lopdw { --c1: #9B1C22; --c2: #fdecec; }
.ini-patop{margin:0 0 16px}
.ipt{width:100%;display:flex;align-items:center;gap:18px;text-align:left;border:0;cursor:pointer;border-radius:20px;padding:18px 22px;color:#fff;font:inherit;
  background:radial-gradient(600px 220px at 92% 0%,rgba(255,214,102,.45),transparent 60%),linear-gradient(120deg,#E8590C,#F08C00 60%,#F59F00);box-shadow:0 10px 28px rgba(232,89,12,.28);transition:transform .15s,box-shadow .15s}
.ipt:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(232,89,12,.36)}
.ipt-n{position:relative;flex:0 0 auto;min-width:96px;height:96px;padding:0 10px;border-radius:24px;background:rgba(255,255,255,.18);display:grid;place-items:center}
.ipt-n b{font-size:3.4rem;line-height:1;font-weight:900;letter-spacing:-.02em}
.ipt-pulso{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.8);animation:iptPulso 1.6s infinite}
@keyframes iptPulso{0%{box-shadow:0 0 0 0 rgba(255,255,255,.75)}70%{box-shadow:0 0 0 16px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.ipt-t{flex:1;min-width:0}.ipt-t em{display:block;font-style:normal;font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.ipt-t strong{display:block;font-size:1.25rem;line-height:1.25;margin:4px 0}.ipt-t small{display:block;opacity:.92;font-size:.9rem}
.ipt-b{flex:0 0 auto;background:#fff;color:#C2410C;font-weight:900;border-radius:14px;padding:14px 20px;font-size:1rem;box-shadow:0 6px 16px rgba(0,0,0,.12);white-space:nowrap}
.ipt-aviso{background:linear-gradient(120deg,#F08C00,#F5B300)}.ipt-ok{background:linear-gradient(120deg,#1F8A5B,#2FB36E);box-shadow:0 8px 22px rgba(31,138,91,.22)}.ipt-ok .ipt-b{color:#17663B}
.ipt-carga{background:linear-gradient(120deg,#F3D9C6,#F7E4D3);color:#7A4A22;box-shadow:none;cursor:default}
@media(max-width:700px){.ipt{flex-wrap:wrap;gap:12px;padding:16px}.ipt-n{min-width:74px;height:74px}.ipt-n b{font-size:2.6rem}.ipt-t strong{font-size:1.05rem}.ipt-b{width:100%;text-align:center}}
@media (prefers-reduced-motion:reduce){.ipt-pulso{animation:none}.ipt{transition:none}}
/* 📤 18/10/2026: exportar conversaciones de Tizo */
.bjx-f{display:grid;gap:10px;margin:10px 0}.bjx-f label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:.85rem}.bjx-f select{min-height:40px;border:1px solid #CDD6E0;border-radius:10px;padding:6px 10px}
.bjx-f .bjx-chk{flex-direction:row;align-items:center;gap:8px;font-weight:600}.bjx-acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
/* 🤖 18/10/2026: Tizo como icono redondo con su cara, que se arrastra; panel con modo «Convocatorias y manuales» */
.capta-fab.tizo-fab{width:64px;height:64px;padding:0;border-radius:50%;background:#fff;border:3px solid #fff;overflow:visible;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 10px 26px rgba(13,27,42,.35),0 0 0 3px rgba(26,140,196,.35);transition:transform .15s,box-shadow .15s}
.capta-fab.tizo-fab img{width:100%;height:100%;border-radius:50%;object-fit:cover;pointer-events:none}
.capta-fab.tizo-fab:hover{transform:scale(1.06)}.capta-fab.tizo-fab.arrastrando{cursor:grabbing;transform:scale(1.12);box-shadow:0 18px 40px rgba(13,27,42,.45),0 0 0 4px rgba(26,140,196,.5);transition:none}
.tizo-fab-on{position:absolute;right:1px;bottom:3px;width:14px;height:14px;border-radius:50%;background:#22C55E;border:2px solid #fff}
.tizo-cab{display:flex;align-items:center;gap:10px}.tizo-cab img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.7);background:#fff}
.tizo-modos{display:flex;gap:6px;padding:8px 12px 0}.tizo-modos button{flex:1;border:1px solid #D6E2EC;background:#fff;border-radius:999px;padding:7px 10px;font:inherit;font-size:.82rem;font-weight:700;color:#4A5A6A;cursor:pointer}
.tizo-modos button.on{background:#0F5E8C;border-color:#0F5E8C;color:#fff}
.tizo-man{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 12px 0;padding:6px 10px;border-radius:10px;background:#F3F0FF;font-size:.8rem;color:#4B3D8F}
.man-l{display:flex;flex-direction:column;gap:6px;margin:6px 0 12px}.man-f{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#F6F9FC}.man-f>div{flex:1;min-width:0}.man-f b{display:block}.man-f small{color:#5B6B7A}
.man-sube{display:grid;gap:8px;border-top:1px solid #E3EBF3;padding-top:12px}.man-sube input{min-height:40px;border:1px solid #CDD6E0;border-radius:10px;padding:6px 10px;font:inherit}
.man-sel{display:flex;flex-direction:column;gap:6px}.man-it{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:6px 8px;border-radius:10px;background:#F6F9FC}
.man-it input{min-height:34px;border:1px solid #CDD6E0;border-radius:8px;padding:4px 8px;font:inherit;min-width:0}.man-st{font-size:.78rem;color:#5B6B7A;max-width:220px}.man-st.ok{color:#17663B}.man-st.err{color:#A12A2A}
/* 💬 bocadillo junto a Tizo */
.tizo-boc{position:fixed;z-index:56;display:flex;align-items:center;gap:2px;max-width:min(270px,70vw);background:linear-gradient(135deg,#0F5E8C,#1A8CC4);color:#fff;border-radius:16px;padding:4px 4px 4px 2px;box-shadow:0 10px 26px rgba(15,94,140,.35);animation:tizoBocIn .5s ease-out both}
.tizo-boc::after{content:"";position:absolute;top:50%;margin-top:-7px;left:-7px;border:7px solid transparent;border-left:0;border-right-color:#0F5E8C}
.tizo-boc.izq::after{left:auto;right:-7px;border-right:0;border-left:7px solid #1A8CC4;border-top:7px solid transparent;border-bottom:7px solid transparent}
.tizo-boc.oculto{display:none}
.tizo-boc-t{border:0;background:none;color:#fff;font:inherit;font-weight:800;font-size:.86rem;line-height:1.25;text-align:left;padding:7px 8px 7px 12px;cursor:pointer}
.tizo-boc-t.entra{animation:tizoTxt .45s ease-out}
.tizo-boc-x{border:0;background:rgba(255,255,255,.18);color:#fff;width:22px;height:22px;border-radius:50%;font-size:11px;cursor:pointer;flex:0 0 auto}
.tizo-boc-x:hover{background:rgba(255,255,255,.32)}
@keyframes tizoBocIn{from{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:none}}
@keyframes tizoTxt{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tizo-boc,.tizo-boc-t.entra{animation:none}}
/* 🏠 18/10/2026: arriba del Inicio, Por atender y Mis tareas juntos; «Personalizar» al final */
.ini-top{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:0 0 16px}.ini-top .ini-patop{margin:0}
@media(min-width:1100px){.ini-top{grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);align-items:start}}
.ini-izq{display:flex;flex-direction:column;gap:14px;min-width:0}.ini-izq .ini-patop{margin:0}.ini-salvtop{margin:0}
.ini-izq .ipt{padding:14px 18px}.ini-izq .ipt-n{min-width:78px;height:78px}.ini-izq .ipt-n b{font-size:2.8rem}.ini-izq .ipt-t strong{font-size:1.1rem}
.ini-tartop{margin:0;border:2px solid #F2D48A;box-shadow:0 8px 22px rgba(176,120,0,.14)}
.ini-tartop .ini-w-cuerpo{padding-bottom:10px}
.ini-pie{display:flex;justify-content:center;margin:18px 0 6px}
.man-ed{align-items:flex-start}.man-ed>div{display:flex;flex-direction:column;gap:5px}.man-nom{font:inherit;font-weight:800;border:1px solid transparent;border-radius:8px;padding:3px 6px;background:transparent}.man-nom:hover,.man-nom:focus{border-color:#CDD6E0;background:#fff}
.man-cv{display:flex;align-items:center;gap:6px;font-size:.78rem;color:#5B6B7A}.man-cv input{flex:1;min-height:32px;border:1px solid #CDD6E0;border-radius:8px;padding:3px 8px;font:inherit;font-size:.85rem;background:#fff}
.man-ok{font-style:normal;color:#17663B}.man-del{color:#A12A2A}.man-del-sure{background:#FDECEC;border-color:#F5B5B5}
.man-tag{background:#EAF3FB;color:#0F5E8C;border-radius:99px;padding:1px 8px;font-weight:700}
.man-it-c{display:flex;flex-direction:column;gap:4px;min-width:0}.man-it-c input{min-height:32px;border:1px solid #CDD6E0;border-radius:8px;padding:3px 8px;font:inherit;font-size:.85rem;min-width:0}
.man-modal{max-width:880px!important;width:min(880px,96vw)!important}.man-modal .man-st{max-width:280px}
/* 🚫 18/10/2026: excluido de cotizar (DA 52ª.11) */
.ftg-excl{display:inline-block;margin:3px 0;cursor:help;white-space:nowrap}.fem-nom .ftg-excl{margin:2px 0 2px}
.ftg-mini summary .ftg-excl{margin-left:6px;font-size:.72rem}
.ftg-exclf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;margin:6px 0;border-radius:10px;background:#F1F3F5}.ftg-exclf small{color:#5B6B7A}
.ftg-e-excl{opacity:.75;background:#F6F7F9}.cot-excl{color:#6B7785}
.fcj-s.gris{border-left:5px solid #9AA7B2}
.ftg-prev{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;margin:6px 0;border-radius:10px;background:#F6F8FB;border:1px dashed #CDD6E0;font-size:.85rem;cursor:pointer}
.ftg-prev input{margin-top:3px}.ftg-prev small{display:block;margin-top:4px;color:#8A5A00;font-size:.8rem}

/* ⏰ Bandeja: respuestas programadas */
.bj-prog{flex:0 0 40px;width:40px;height:40px;margin-bottom:4px;border-radius:50%;border:0;background:#fff;font-size:18px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.bj-prog:hover{background:#eef7f1}
.bj-progl{display:flex;flex-direction:column;gap:6px;margin-top:6px}.bj-progl:empty{display:none}
.bj-progi{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fff8e1;border:1px solid #f3dc9b;border-radius:10px;padding:7px 10px;font-size:13px}
.bj-progi.ok{background:#eaf7ee;border-color:#bfe5c9}.bj-progi.err{background:#fdecec;border-color:#f3c1c1}.bj-progi.cancelado{opacity:.6}
.bj-progi small{display:block;color:#555;margin-top:2px;white-space:pre-wrap;word-break:break-word}
.bj-progprev{background:#dcf8c6;border-radius:10px;padding:10px 12px;font-size:14px;white-space:pre-wrap;word-break:break-word;margin:6px 0 4px;max-height:200px;overflow:auto}

/* 📨 Confirmación de la liquidación (SILTRA) */
.fcot-confb{margin-top:8px}
.fcf-res{background:var(--fondo);border:1px solid var(--linea);border-radius:12px;padding:10px 12px;margin:6px 0 12px}
.fcf-res small{display:block;color:var(--tinta-suave);font-size:12px;word-break:break-word}
.fcf-k{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.fcf-k div{text-align:center}.fcf-k b{display:block;font-size:20px}.fcf-k span{font-size:12px;color:var(--tinta-suave)}
.fcf-mod{display:flex;flex-wrap:wrap;gap:8px}.fcf-mod label{display:flex;align-items:center;gap:6px;border:1.5px solid var(--linea);border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:600}.fcf-mod label.off{opacity:.5;cursor:not-allowed}
.fcf-av{margin:10px 0}.fcf-ok{display:flex;gap:8px;align-items:flex-start;font-weight:600;margin:6px 0 10px}
.fcf-reg{font-size:13px;margin:6px 0}.fcf-reg ul{margin:6px 0;padding-left:18px}

/* 📍 Publicar el curso en el Perfil de Google */
.gbp{margin-top:14px}.gbp h3 small{font-weight:500;color:var(--tinta-suave);font-size:13px}
.gbp-sedes{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.gbp-sedes label{display:flex;align-items:center;gap:6px;border:1.5px solid var(--linea);border-radius:10px;padding:7px 11px;font-weight:600;cursor:pointer}.gbp-sedes label.off{opacity:.55;cursor:not-allowed}
.gbp-prev{border:1px solid var(--linea);border-radius:12px;overflow:hidden;max-width:520px;background:var(--papel);margin:8px 0}.gbp-prev img{display:block;width:100%;max-height:220px;object-fit:cover}
.gbp-prev textarea{display:block;width:100%;border:0;border-top:1px solid var(--linea);padding:10px 12px;font:inherit;font-size:14px;line-height:1.45;resize:vertical;min-height:150px;background:transparent;color:inherit}
.gbp-cta{display:block;padding:8px 12px;border-top:1px solid var(--linea);font-weight:700;color:var(--oceano)}.gbp-cta small{display:block;font-weight:400;color:var(--tinta-suave);word-break:break-all}
.gbp-bt{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.gbp-bt span{font-size:13px}.gbp-hist{font-size:13px;margin-top:8px}.gbp-hist ul{padding-left:18px;margin:6px 0}
.mt2-remk{margin:-4px 0 12px}.mt2-remk-d{background:var(--fondo);border:1px solid var(--linea);border-radius:10px;padding:8px 12px;font-size:13px}.mt2-remk-d summary{cursor:pointer;font-weight:700}.mt2-remk-d ul{margin:8px 0;padding-left:18px}.mt2-remk-d li{margin:4px 0}
.fcot-k-ex{display:block;font-size:11.5px;color:var(--tinta-suave);margin-top:2px}
.fcj-cu{display:flex;flex-direction:column;gap:4px;margin-top:6px}.fcj-cu-h,.fcj-cu-f{display:grid;grid-template-columns:1fr 56px 56px 52px;gap:8px;align-items:center;font-size:13px}.fcj-cu-h{font-weight:700;color:var(--tinta-suave);font-size:12px}
.fcj-cu-f{padding:6px 0;border-top:1px solid var(--linea)}.fcj-cu-f small{display:block;color:var(--tinta-suave);font-size:12px}.fcj-cu-f span:not(:first-child){text-align:right}.fcj-cu-f .mas{color:#b3261e;font-weight:700}.fcj-cu-f .menos{color:#8a5a00;font-weight:700}

/* 📍 Bandeja: sede de atención en la línea compartida */
.bj-sedeav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;background:#fff8e1;border:1px solid #f3dc9b;border-radius:12px;padding:8px 12px;margin:6px 0 8px;font-size:13px}
.bj-otras{border:1.5px solid #d6b45a;background:#fff;border-radius:999px;padding:4px 12px;font:inherit;font-size:12.5px;cursor:pointer;margin-left:auto}.bj-otras.on{background:#fbe7b0}
.bj-sat{display:inline-block;margin:3px 0 2px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:800;color:#fff;background:var(--sat,#7b5cd6);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.bj-satbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-size:13.5px;background:color-mix(in srgb,var(--sat,#7b5cd6) 14%,#fff);border-bottom:2px solid var(--sat,#7b5cd6)}
.bj-satbar small{color:#555}.bj-satop{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}

/* 📋 FEM: «Hoy en la Seguridad Social» — compacto, con pestañas y filas de una línea */
.fhoy{border:1px solid var(--linea);border-left:4px solid #1f8f4e;border-radius:12px;padding:8px 12px;margin:8px 0;background:var(--papel)}.fhoy.hay{border-left-color:#d97706}
.fhoy-cab{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.fhoy-cab>b{font-size:14px}.fhoy-cab small{color:var(--tinta-suave);font-size:12.5px}
.fhoy-tabs{display:flex;flex-wrap:wrap;gap:6px}.fhoy-tab{border:1px solid var(--linea);background:var(--fondo);border-radius:999px;padding:4px 10px;font:inherit;font-size:12.5px;cursor:pointer;color:inherit}
.fhoy-tab b{margin-left:2px}.fhoy-tab.on{background:var(--oceano);border-color:var(--oceano);color:#fff}.fhoy-tab.rojo:not(.on){border-color:#f0b4b4;color:#b3261e}.fhoy-tab:disabled{opacity:.45;cursor:default}
.fhoy-l{margin-top:8px;display:flex;flex-direction:column}.fhoy-nota{color:var(--tinta-suave);font-size:12px;margin-bottom:4px}
.fhoy-f{display:grid;grid-template-columns:18px 20px minmax(140px,1.2fr) 94px 112px 128px minmax(110px,1.2fr) minmax(90px,.9fr) auto auto;align-items:center;gap:8px;padding:5px 4px;border-top:1px solid var(--linea);font-size:13px}
.fhoy-f{text-align:left}.fhoy-f>span,.fhoy-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.fhoy-c,.fhoy-e{color:var(--tinta-suave);font-size:12.5px}.fhoy-d{font-size:12px;color:var(--tinta-suave);white-space:nowrap}.fhoy-atr{color:#b3261e}
.fhoy-b{display:flex;gap:4px}.fhoy-ok,.fhoy-ir{border:1px solid var(--linea);background:var(--papel);border-radius:8px;padding:3px 8px;font:inherit;font-size:12px;cursor:pointer;color:inherit}.fhoy-ok{color:#17663b;border-color:#bfe5c9}.fhoy-ok.seguro{background:#17663b;color:#fff}
.fhoy-mas{margin-top:6px;font-weight:700;align-self:flex-start}
/* 21/10 (Domingo): en el menú FEM, «Hoy en la Seguridad Social» más grande (es lo que hay que mirar cada día) */
#femHoy .fhoy{padding:16px 20px;border-left-width:6px;border-radius:14px;margin:10px 0 14px;box-shadow:0 4px 14px rgba(13,27,42,.06)}#femHoy .fhoy-cab{gap:10px 16px}#femHoy .fhoy-cab>b{font-size:18px}#femHoy .fhoy-cab small{font-size:14px}#femHoy .fhoy-tabs{gap:8px}#femHoy .fhoy-tab{font-size:15px;padding:8px 16px;font-weight:600}#femHoy .fhoy-tab b{font-size:16px;margin-left:4px}#femHoy .fhoy-f{font-size:14px;padding:7px 4px}#femHoy .fhoy-ok,#femHoy .fhoy-ir{font-size:13px;padding:5px 10px}
/* 21/10 (Domingo: «más destacada, incluso con destellos en altas, bajas y atrasadas») */
#femHoy .fhoy{background:linear-gradient(135deg,#fff7ea 0%,#ffffff 55%,#eef7ff 100%);border:2px solid #f3c77a;border-left:8px solid #d97706;padding:18px 22px}
#femHoy .fhoy.nada{background:linear-gradient(135deg,#ecfaf1,#fff);border-color:#bfe5c9;border-left-color:#1f8f4e}
#femHoy .fhoy-cab>b{font-size:20px;font-weight:800;color:#0D1B2A}
#femHoy .fhoy-tab{background:#fff;box-shadow:0 2px 6px rgba(13,27,42,.08)}
#femHoy .fhoy-tab.brilla{position:relative;font-weight:800}
#femHoy .fhoy-t-alta.brilla{border-color:#34c172;color:#17663b;background:#effbf3;animation:fhoyAlta 1.8s ease-in-out infinite}
#femHoy .fhoy-t-baja.brilla{border-color:#f08a3c;color:#a3480b;background:#fff4ea;animation:fhoyBaja 1.8s ease-in-out infinite}
#femHoy .fhoy-t-atr.brilla{border-color:#e5484d;color:#b3261e;background:#fff0f0;animation:fhoyAtr 1.2s ease-in-out infinite}
#femHoy .fhoy-tab.brilla.on{color:#fff}#femHoy .fhoy-t-alta.brilla.on{background:#1f8f4e}#femHoy .fhoy-t-baja.brilla.on{background:#c2410c}#femHoy .fhoy-t-atr.brilla.on{background:#b3261e}
@keyframes fhoyAlta{0%,100%{box-shadow:0 0 0 0 rgba(52,193,114,.55)}50%{box-shadow:0 0 0 7px rgba(52,193,114,0),0 0 16px 2px rgba(52,193,114,.45)}}
@keyframes fhoyBaja{0%,100%{box-shadow:0 0 0 0 rgba(240,138,60,.55)}50%{box-shadow:0 0 0 7px rgba(240,138,60,0),0 0 16px 2px rgba(240,138,60,.45)}}
@keyframes fhoyAtr{0%,100%{box-shadow:0 0 0 0 rgba(229,72,77,.6);transform:scale(1)}50%{box-shadow:0 0 0 8px rgba(229,72,77,0),0 0 18px 3px rgba(229,72,77,.5);transform:scale(1.04)}}
@media (prefers-reduced-motion:reduce){#femHoy .fhoy-tab.brilla{animation:none}}
@media (max-width:760px){#femHoy .fhoy{padding:12px 14px}#femHoy .fhoy-cab>b{font-size:16px}#femHoy .fhoy-tab{font-size:14px;padding:7px 12px}}
@media (max-width:760px){.fhoy-f{grid-template-columns:18px 20px 1fr auto;grid-template-areas:'k i n b' 'k i s s' 'k i x y' 'k i c c' 'k i d d'}.fhoy-dni{grid-area:x}.fhoy-naf{grid-area:y}.fhoy-ck{grid-area:k}.fhoy-s{grid-area:s;justify-self:start}.fhoy-i{grid-area:i}.fhoy-n{grid-area:n}.fhoy-c{grid-area:c}.fhoy-e{display:none}.fhoy-d{grid-area:d}.fhoy-b{grid-area:b}}
.fhoy-s{display:inline-block;font-size:11.5px;font-weight:700;color:#fff;background:var(--sc,#7a8794);border-radius:999px;padding:2px 8px;text-align:center}
.fhoy-f.sel{background:#eef6ff}.fhoy-ck{width:16px;height:16px;margin:0}
.fhoy-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 4px 8px}.fhoy-bar small{color:var(--tinta-suave);font-size:12px}.fhoy-todos{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;cursor:pointer}
.fhoy-id{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:var(--tinta)}.fhoy-id.falta{display:flex;gap:3px;align-items:center}
.fhoy-id.falta input{width:100%;min-width:0;border:1.5px solid #f0b4b4;background:#fff7f7;border-radius:6px;padding:3px 6px;font:inherit;font-size:12px}.fhoy-id.falta input:focus{outline:none;border-color:var(--oceano)}
.fhoy-id.falta button{border:1px solid var(--linea);background:var(--papel);border-radius:6px;padding:2px 5px;cursor:pointer;font-size:12px}

/* 19/10: clase puesta en un día no lectivo */
.cal-cel.choca { border-color: #E5484D; box-shadow: inset 0 0 0 1px #E5484D; }
.cal-cel.choca .nl { color: #C62A2F; font-weight: 600; }
.cal-choca-aviso { margin: 10px 0; padding: 10px 12px; border-radius: 10px; background: #FFF1F1; border: 1px solid #F3B4B6; color: #8A1C20; font-size: 13px; line-height: 1.45; }
/* 19/10: EstudiaEnADF · buscador y diploma en la tarjeta de inscripción */
.est-q{flex:1 1 260px;min-width:200px;max-width:380px;padding:9px 12px;border:1.5px solid #d9e5ee;border-radius:12px;font:inherit;font-size:14px;background:#fff}
.est-q:focus{outline:none;border-color:#1a8cc4;box-shadow:0 0 0 3px rgba(26,140,196,.15)}
.est-busq-mas{margin:4px 0 10px;font-size:13px;color:#4a5b6b}.est-busq{margin:4px 0 10px}
.est-dipl{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;margin-top:10px;border-radius:12px;padding:10px 12px;background:#f3f6f9;border:1px solid #dfe7ee;font-size:13.5px;color:#1c2b3a}
.est-dipl>div:first-child{line-height:1.35}.est-dipl small{display:block;color:#5b6b7a;font-size:12.5px;margin-top:2px}
.est-dipl.ok{background:#e9f7ef;border-color:#bfe5cf}.est-dipl.env{background:#eef6fc;border-color:#cfe3f2}.est-dipl.pend{background:#fff7e6;border-color:#f3d79a}
.est-dipl-nota{font-size:22px;color:#0d4a6e;white-space:nowrap}.est-dipl-nota small{display:inline!important;font-size:12px;color:#6b7a88}
.est-dipl-acc{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.est-dipl-acc .est-b{flex:1;min-width:130px;background:#fff}
.est-dipl small.est-dipl-firma,.dp-firma{color:#1b7a43!important;font-weight:700}
.dp-pasos{margin:10px 0;padding-left:20px;line-height:1.5;font-size:14px}.dp-pasos li{margin-bottom:8px}
@media (max-width:600px){.est-q{max-width:none;flex-basis:100%}}
/* 19/10: Control de campañas · quitar un curso (no interesa publicidad) y recuperarlo */
.ctl-quitar,.ctl-recup{display:block;margin-top:8px;border:1px dashed var(--linea,#d9e5ee);background:#fff;color:#5b6b7a;border-radius:10px;padding:6px 10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.ctl-quitar:hover{color:#b42318;border-color:#f3b4b6}.ctl-recup{border-style:solid;border-color:#9fd3b6;color:#17693a;background:#EEF8F2}
.ctl-quit-info{margin-top:8px;font-size:12.5px;color:#5b6b7a}.ctl-quit-ayuda{margin:6px 0 10px}
/* 19/10: «🔎 Cotejar» en Hoy en la Seguridad Social */
.fcot-no{color:#b42318}.fcot-no.seguro{background:#fff1f1;border-color:#f3b4b6}
.fcot-filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.fcot-q{flex:1 1 220px;max-width:320px;padding:7px 10px;border:1.5px solid var(--linea,#d9e5ee);border-radius:10px;font:inherit;font-size:13px;background:#fff}
.fcot-sedes{display:flex;flex-wrap:wrap;gap:6px}.fcot-sd{border:1px solid var(--linea,#d9e5ee);background:#fff;border-radius:999px;padding:4px 10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;color:#3b4a58}
.fcot-sd[style]{border-left:4px solid var(--sc)}.fcot-sd.on{background:#0f6a9c;color:#fff;border-color:#0f6a9c}.fcot-nada{padding:10px;color:#6b7a88;font-size:13px}
@media (max-width:600px){.fcot-q{max-width:none;flex-basis:100%}}
/* 20/10: nº S.S. repetido en dos personas y ✏️ para corregirlo */
.fhoy-id.dup{color:#b42318;font-weight:700}.fhoy-edit{border:0;background:none;cursor:pointer;font-size:12px;padding:0 2px;opacity:.6}.fhoy-edit:hover{opacity:1}
/* 20/10: «Subir factura» en grande, con lo enviado debajo y «✏️ Editar» */
.fac-modal .fac{max-width:none}
.fac-mias-h{margin:18px 0 8px;font-size:15px}.fac-mias-h small{font-weight:400;color:#6b7a88;font-size:12.5px;margin-left:6px}
.fac-mias-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.fac-mc{border:1px solid var(--linea,#dfe7ee);border-radius:12px;padding:10px 12px;background:#fff;display:flex;flex-direction:column;gap:6px;font-size:13px}
.fac-mc-t{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.fac-mc-t b{word-break:break-word}
.fac-mc-d{display:flex;flex-direction:column;gap:3px;color:#34495e}.fac-mc-d small{color:#6b7a88}.fac-mc-seg{color:#8a4b00}
.fac-mc .btn{align-self:flex-start}.fac-mc-no{color:#6b7a88;font-size:12px}
.fac-edban{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:#eef6fc;border:1px solid #cfe3f2;border-radius:12px;padding:10px 12px;margin:8px 0;font-size:13.5px}
/* 📚 20/10/2026: pestañas de «Datos del curso» y módulos del curso */
.cf-pest { display: flex; gap: 8px; margin: 0 0 12px; flex-wrap: wrap; }
.mods-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.mods-cab b { display: block; color: var(--tinta); } .mods-cab small { color: var(--tinta-suave); }
.mods-res { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 10px; }
.mods-kpi { background: var(--papel); border: 1px solid var(--linea); border-radius: 12px; padding: 10px 12px; text-align: center; }
.mods-kpi b { display: block; font-size: 1.15rem; color: var(--tinta); } .mods-kpi small, .mods-kpi label { color: var(--tinta-suave); font-size: .8rem; }
.mods-kpi.ojo { border-color: #e0a43a; background: #fff7e6; }
.mods-pct span { display: flex; gap: 6px; align-items: center; justify-content: center; margin-top: 4px; flex-wrap: wrap; }
.mods-pct input { width: 70px; min-height: 36px; padding: 4px 8px; border: 1px solid var(--linea); border-radius: 8px; font: inherit; text-align: right; }
.mods-tabla-w { overflow-x: auto; border: 1px solid var(--linea); border-radius: 12px; background: var(--papel); }
.mods-tabla { width: 100%; border-collapse: collapse; font-size: .88rem; }
.mods-tabla th { text-align: left; font-size: .75rem; color: var(--tinta-suave); padding: 8px; border-bottom: 1px solid var(--linea); white-space: nowrap; }
.mods-tabla td { padding: 8px; border-bottom: 1px solid var(--linea); vertical-align: top; }
.mods-tabla td small { display: block; color: var(--tinta-suave); font-size: .75rem; }
.mods-tabla .num { text-align: right; white-space: nowrap; } .mods-tabla .fec { white-space: nowrap; color: var(--tinta-suave); }
.mods-tabla .acc { white-space: nowrap; text-align: right; } .mods-tabla tr.tot td { font-weight: 700; border-bottom: 0; }
/* 🏢 20/10/2026: cotización trimestral · resumen de todas las sedes */
.fcot-res-w { overflow-x: auto; border: 1px solid var(--linea); border-radius: 12px; background: var(--papel); margin: 10px 0; }
.fcot-res { width: 100%; border-collapse: collapse; font-size: .86rem; }
.fcot-res th { text-align: left; font-size: .74rem; color: var(--tinta-suave); padding: 8px; border-bottom: 1px solid var(--linea); white-space: nowrap; text-transform: capitalize; }
.fcot-res td { padding: 8px; border-bottom: 1px solid var(--linea); vertical-align: top; }
.fcot-res td small { display: block; color: var(--tinta-suave); font-size: .72rem; white-space: nowrap; }
.fcot-res .num { text-align: right; white-space: nowrap; } .fcot-res tr.tot td { font-weight: 700; border-bottom: 0; }
.fcot-res-s { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--oceano); cursor: pointer; text-align: left; text-decoration: underline; }
/* 💶 20/10/2026: pagos y cuotas de los cursos de pago */
.cuo-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.cuo-chip { font-size: .74rem; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--linea); background: var(--papel); white-space: nowrap; }
.cuo-chip.ok, .cuo-mf.ok { background: #eaf7ef; border-color: #b9dcc4; } .cuo-chip.venc, .cuo-mf.venc { background: #fdecec; border-color: #f0b4b4; } .cuo-chip.comp, .cuo-mf.comp { background: #fff7e6; border-color: #e0a43a; }
.cuo-plsel { min-height: 36px; border: 1px solid var(--linea); border-radius: 8px; padding: 4px 6px; font: inherit; max-width: 230px; background: var(--papel); }
.cuo-al td small { display: block; color: var(--tinta-suave); font-size: .74rem; }
.cuo-tizo { margin: 8px 0; font-size: .82rem; } .cuo-tizo div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; } .cuo-tizo span { background: var(--papel); border: 1px solid var(--linea); border-radius: 8px; padding: 4px 8px; } .cuo-tizo small { display: block; color: var(--tinta-suave); font-size: .7rem; }
.cuo-ed { margin: 10px 0; } .cuo-ed .cuo-sub { display: block; margin: 10px 0 6px; }
.cuo-edpl { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin-bottom: 6px; } .cuo-edpl input { min-height: 36px; border: 1px solid var(--linea); border-radius: 8px; padding: 4px 8px; font: inherit; }
.cuo-edpl .cuo-id { width: 52px; text-align: center; font-weight: 700; } .cuo-edpl .cuo-nom { flex: 1; min-width: 140px; } .cuo-edpl label { display: flex; flex-direction: column; font-size: .72rem; color: var(--tinta-suave); } .cuo-edpl label input { width: 110px; }
.cuo-mlista { display: flex; flex-direction: column; gap: 6px; margin: 10px 0; }
.cuo-mf { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 8px 10px; border: 1px solid var(--linea); border-radius: 10px; }
.cuo-mf small { display: block; color: var(--tinta-suave); font-size: .78rem; } .cuo-macc { display: flex; gap: 6px; flex-wrap: wrap; }
.kb-cuo { display: block; width: 100%; margin: 4px 0 0; padding: 3px 8px; border-radius: 8px; border: 1px solid var(--linea); background: var(--papel); font: inherit; font-size: .74rem; text-align: left; cursor: pointer; }
.kb-cuo.ok { background: #eaf7ef; border-color: #b9dcc4; } .kb-cuo.venc { background: #fdecec; border-color: #f0b4b4; } .kb-cuo.comp, .kb-cuo.sin { background: #fff7e6; border-color: #e0a43a; }
/* 📄 20/10/2026: contrato de matrícula en «💶 Pagos» */
.ctr-sec { margin: 10px 0; } .ctr-adm { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; } .ctr-adm select { min-height: 36px; border: 1px solid var(--linea); border-radius: 8px; padding: 4px 6px; font: inherit; max-width: 100%; }
.ctr-sube { cursor: pointer; } .ctr-td { min-width: 150px; } .ctr-acc { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.ctr-chip { display: inline-block; font-size: .74rem; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--linea); background: var(--papel); }
.ctr-chip.firmadoAlumno { background: #fff7e6; border-color: #e0a43a; } .ctr-chip.completo { background: #eaf7ef; border-color: #b9dcc4; }
.cuo-cuenta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; margin: 6px 0 10px; padding: 8px 12px; border: 1px solid var(--linea); border-radius: 10px; background: var(--papel); font-size: .86rem; }
.cuo-cuenta small { color: var(--tinta-suave); } .cuo-cen { border: 1px solid var(--linea); border-radius: 10px; margin: 8px 0; padding: 6px 12px; } .cuo-cen legend { font-weight: 700; padding: 0 6px; }
/* 📚 20/10/2026: gestión de módulos y % de FEM dentro de «Módulos y fechas» del Calendario */
.cal-modctl { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; justify-content: space-between; margin: 8px 0; padding: 8px 10px; border: 1px solid var(--linea); border-radius: 10px; background: var(--papel); font-size: .86rem; }
.cal-fempct { display: inline-flex; align-items: center; gap: 6px; } .cal-fempct label { color: var(--tinta-suave); font-size: .8rem; }
.cal-fempct input { width: 64px; min-height: 34px; padding: 4px 8px; border: 1px solid var(--linea); border-radius: 8px; font: inherit; text-align: right; }
.cal-modmov { display: flex; gap: 4px; align-items: flex-start; flex-wrap: wrap; }
.cuo-est { display: inline-block; font-size: .7rem; font-weight: 700; color: var(--c); border: 1px solid var(--c); border-radius: 999px; padding: 0 6px; margin-top: 2px; }
/* 🔍 20/10/2026: buscador de alumnado (Alumnado y Pagos del curso) */
.busca-alu { display: inline-flex; align-items: center; gap: 6px; flex: 1 1 240px; max-width: 360px; background: var(--blanco, #fff); border: 1px solid #CBD5E1; border-radius: 10px; padding: 4px 10px; }
.busca-alu:focus-within { border-color: #1A8CC4; box-shadow: 0 0 0 3px rgba(26, 140, 196, .15); }
.busca-alu input { border: 0; outline: 0; background: transparent; flex: 1; min-width: 0; font: inherit; padding: 4px 0; }
.busca-alu small { color: #64748B; white-space: nowrap; }
.cuo-busca { margin: 8px 0; }
.busca-fuera { display: none !important; }
@media (max-width: 640px) { .busca-alu { max-width: none; flex-basis: 100%; } }
/* 🏛️ 20/10/2026: Solicitud SCE (certificados de profesionalidad privados) */
.sce-g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; margin: 12px 0; }
.sce-caja { background: var(--papel); border: 1px solid var(--linea); border-radius: 14px; padding: 14px; margin-bottom: 12px; }
.sce-caja h4 { margin: 0 0 8px; } .sce-caja h4 small { color: var(--tinta-suave); font-weight: 600; } .sce-caja h5 { margin: 10px 0 4px; }
.sce-avisos ul { margin: 6px 0 0; padding-left: 18px; }
.sce-docs { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.sce-docs li { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; border: 1px solid var(--linea); border-radius: 10px; padding: 8px 10px; }
.sce-docs li b { display: block; font-size: .95rem; } .sce-docs li small { color: var(--tinta-suave); } .sce-acc { display: flex; gap: 6px; }
.sce-sube { margin-top: 10px; } .sce-sube summary { cursor: pointer; font-weight: 700; }
.sce-mod td { background: color-mix(in srgb, var(--linea) 30%, transparent); } .sce-uf { padding-left: 22px !important; color: var(--tinta-suave); }
.sce-al { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px; margin-bottom: 10px; }
.sce-alu { display: flex; gap: 8px; align-items: flex-start; border: 1px solid var(--linea); border-radius: 10px; padding: 8px; cursor: pointer; }
.sce-alu input { width: 20px; height: 20px; flex: none; margin-top: 2px; } .sce-alu b { display: block; font-size: .92rem; } .sce-alu small { color: var(--tinta-suave); }
@media (max-width: 820px) { .sce-g { grid-template-columns: 1fr; } }
/* 🤝 20/10/2026: muro «Busco / Ofrezco» de Expofuturo (moderación) */
.mu-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0 12px; }
.mu-item { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; border: 1px solid var(--linea); border-radius: 12px; padding: 10px 12px; margin-bottom: 8px; }
.mu-item-t { flex: 1 1 320px; min-width: 0; } .mu-item-t small { color: var(--tinta-suave); font-weight: 700; } .mu-item-t p { margin: 4px 0; font-size: 1rem; } .mu-item-t > span { font-size: .85rem; color: var(--tinta-suave); }
.mu-item-acc { display: flex; gap: 6px; align-items: flex-start; flex-wrap: wrap; }
.mu-ints { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; } .mu-ints li { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; align-items: center; background: color-mix(in srgb, var(--linea) 30%, transparent); border-radius: 10px; padding: 6px 8px; font-size: .9rem; } .mu-ints li span { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; } .mu-ints li.hecho { opacity: .6; }
/* 📚 21/10/2026: unidades formativas del módulo (con sus horas) */
.md-ufs { border-top: 1px solid var(--linea); margin-top: 10px; padding-top: 8px; } .md-ufs h4 { margin: 0 0 8px; } .md-ufs h4 small { font-weight: 600; color: var(--tinta-suave); } .md-ufs h4 small.md-mal { color: #b42318; }
.md-uf { display: grid; grid-template-columns: 1fr 80px auto auto; gap: 6px; align-items: center; margin-bottom: 6px; } .md-uf input { min-height: 42px; border: 1px solid var(--linea); border-radius: 10px; padding: 6px 10px; font: inherit; width: 100%; } .md-uf span { color: var(--tinta-suave); }
/* 🎰 21/10/2026: menú «Sorteos» y la ruleta */
.so-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 14px; }
.so-kpis div { background: var(--papel); border: 1px solid var(--linea); border-radius: 14px; padding: 12px 14px; } .so-kpis b { display: block; font-size: 1.6rem; } .so-kpis span { color: var(--tinta-suave); font-size: .85rem; }
.so-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.so-card { background: var(--papel); border: 1px solid var(--linea); border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 10px; border-top: 6px solid var(--so, #7A8794); }
.so-card.so-listo { --so: #F2B23E; box-shadow: 0 0 0 2px rgba(242,178,62,.35); } .so-card.so-abierto { --so: #2E9E5B; } .so-card.so-esp { --so: #1a8cc4; } .so-card.so-hecho { --so: #7B4FBF; } .so-card.so-rank { --so: #0b6fa4; } .so-card.so-vacio { --so: #9aa6b2; opacity: .85; }
.so-card header { display: flex; gap: 10px; align-items: flex-start; } .so-ico { font-size: 1.9rem; line-height: 1; } .so-card h3 { margin: 0; font-size: 1.05rem; } .so-card header small { color: var(--tinta-suave); }
.so-est { align-self: flex-start; font-weight: 800; font-size: .8rem; border-radius: 999px; padding: 3px 10px; background: color-mix(in srgb, var(--so) 16%, transparent); color: var(--tinta); }
.so-cuenta { display: flex; flex-direction: column; align-items: center; background: #0D1B2A; color: #fff; border-radius: 14px; padding: 10px; }
.so-reloj { font-variant-numeric: tabular-nums; } .so-cuenta .so-reloj b { font-size: 1.5rem; } .so-cuenta .so-reloj small { opacity: .7; margin-right: 6px; } .so-cuenta > small { opacity: .8; }
.so-premios h4 { margin: 0 0 4px; font-size: .9rem; } .so-premios ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; } .so-premios li { display: flex; gap: 6px; font-size: .92rem; }
.so-part { font-size: .95rem; } .so-part small { color: var(--tinta-suave); } .so-rk { display: flex; gap: 6px; flex-wrap: wrap; } .so-rk span { background: color-mix(in srgb, var(--linea) 40%, transparent); border-radius: 999px; padding: 2px 10px; font-size: .82rem; }
.so-gan { background: color-mix(in srgb, #F2B23E 14%, transparent); border-radius: 12px; padding: 8px 10px; display: grid; gap: 4px; } .so-gan div { display: flex; gap: 6px; align-items: baseline; flex-wrap: wrap; } .so-gan small { color: var(--tinta-suave); }
.so-sig, .so-nota { margin: 0; font-size: .85rem; color: var(--tinta-suave); } .so-sig .so-reloj b { font-size: .9rem; } .so-sig .so-reloj small { margin-right: 3px; }
.so-card footer { margin-top: auto; display: flex; gap: 6px; flex-wrap: wrap; }
.so-q { width: 100%; min-height: 42px; border: 1px solid var(--linea); border-radius: 10px; padding: 6px 10px; font: inherit; margin-bottom: 8px; }
.so-plista { display: flex; flex-wrap: wrap; gap: 6px; max-height: 50vh; overflow: auto; } .so-plista span { border: 1px solid var(--linea); border-radius: 999px; padding: 3px 10px; font-size: .88rem; }
.so-rul { text-align: center; } .so-rueda { position: relative; width: min(340px, 82vw); margin: 10px auto; } .so-giro { width: 100%; aspect-ratio: 1; will-change: transform; } .so-rueda-svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 10px 20px rgba(0,0,0,.25)); }
.so-flecha { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); z-index: 2; font-size: 2rem; color: #0D1B2A; text-shadow: 0 2px 0 #fff; }
.so-res { min-height: 54px; } .so-suspense { font-weight: 800; animation: soLate .6s ease-in-out infinite alternate; display: inline-block; }
.so-ganador { display: grid; gap: 4px; justify-items: center; background: #fff8ea; border: 2px solid #F2B23E; border-radius: 16px; padding: 12px; animation: soSale .5s cubic-bezier(.2,1.5,.4,1); } .so-ganador.prueba { background: #eef6fb; border-color: #5FA8D3; } .so-ganador b { font-size: 1.3rem; } .so-ganador small { color: var(--tinta-suave); } .so-confeti { font-size: 2rem; }
@keyframes soLate { to { transform: scale(1.08); } } @keyframes soSale { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .so-suspense, .so-ganador { animation: none; } }

/* 21/10: sondeo por nivel · quien no tiene estudios apuntados en tizo */
.sin-niv{color:#a3480b;font-weight:700}
/* 21/10: DNI del alumno/a en la tarjeta FEM, encima del nº de la Seguridad Social */
.fem-dni{margin-bottom:0}.fem-dni-no{color:#b3261e}
/* 21/10: baja dada en la Seguridad Social con otra fecha (meses de después con 0 días) */
.ftg-breal{margin:6px 0 2px;font-size:13px}.ftg-breal>span{display:block;padding:6px 10px;border-radius:10px;background:#fff7ea;border:1px solid #f3c77a}.ftg-breal-ed{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}.ftg-breal-ed small{flex:1 1 100%;color:var(--tinta-suave)}
/* 22/10: FEM · accidentes del alumnado en prácticas */
.facc-fila{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}.facc-reg{border:1px solid #f0b4b4;background:#fff0f0;color:#b3261e;border-radius:999px;padding:3px 10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.facc-f{display:flex;flex-direction:column;gap:8px}.facc-f label{display:flex;flex-direction:column;gap:3px;font-size:13px;font-weight:600}.facc-f input:not([type=checkbox]):not([type=radio]),.facc-f select,.facc-f textarea{padding:8px 10px;border:1px solid var(--linea,#d7e1ea);border-radius:10px;font:inherit;font-weight:400}
.facc-f label.facc-chk{flex-direction:row;align-items:center;gap:6px;font-weight:600}.facc-tipo{display:grid;grid-template-columns:1fr 1fr;gap:8px}.facc-op{border:2px solid var(--linea,#d7e1ea);border-radius:12px;padding:10px;cursor:pointer;flex-direction:row!important;align-items:flex-start!important;gap:8px!important}.facc-op:has(input:checked){border-color:#1A8CC4;background:#eef7fd}.facc-op small{display:block;font-weight:400;color:var(--tinta-suave)}
.facc-it,.facc-pu{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--fondo-suave,#f3f7fb)}.facc-mas summary{cursor:pointer;font-weight:700;margin:4px 0}.facc-mas[open]{padding:8px 10px;border:1px dashed var(--linea,#d7e1ea);border-radius:12px}.facc-fuente{color:var(--tinta-suave)}
.facc-cubre{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;margin:8px 0;font-size:14px}.facc-mutua{background:#ecfaf1;border:1px solid #bfe5c9}.facc-poliza{background:#eef6ff;border:1px solid #cfe3fb}
.facc-l{display:flex;flex-direction:column;gap:10px}.facc-it2{border:1px solid var(--linea,#d7e1ea);border-radius:12px;padding:10px 12px}.facc-cab{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.facc-desc{margin:6px 0;font-size:13.5px}.facc-plazo{font-size:13px;margin:4px 0}.facc-vencido,.facc-vencido b{color:#b3261e}
.facc-av{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.facc-avb{border:1px solid var(--linea,#d7e1ea);background:#fff;border-radius:999px;padding:4px 10px;font:inherit;font-size:12.5px;cursor:pointer}.facc-avb.on{background:#ecfaf1;border-color:#bfe5c9;color:#17663b;font-weight:700}
.facc-falta{margin:6px 0 0 18px;padding:0;font-size:12.5px;columns:2;column-gap:20px}.facc-aviso{display:flex;flex-direction:column;gap:6px;padding:12px 14px;margin:0 0 12px;border-radius:12px;background:#fff0f0;border:1px solid #f0b4b4}.facc-av-i{text-align:left;border:0;background:#fff;border-radius:10px;padding:8px 10px;font:inherit;font-size:13px;cursor:pointer}.facc-aviso small{color:var(--tinta-suave)}
@media (max-width:640px){.facc-tipo{grid-template-columns:1fr}.facc-falta{columns:1}}
/* 🚑 accidentes FEM (22/10): códigos de Delt@ con buscador filtrado y pasos de la solicitud de asistencia */
.facc-cb{position:relative;display:block}.facc-cb .facc-cbi{width:100%;box-sizing:border-box}
.facc-cbl{position:absolute;left:0;right:0;top:100%;z-index:30;max-height:240px;overflow-y:auto;background:#fff;border:1px solid var(--linea,#d7e1ea);border-radius:10px;box-shadow:0 8px 24px rgba(13,27,42,.14);margin-top:2px;display:flex;flex-direction:column}
.facc-cbl.oculto{display:none}.facc-cbo{text-align:left;border:0;border-bottom:1px solid #eef2f6;background:#fff;padding:7px 10px;font:inherit;font-size:13px;font-weight:400;cursor:pointer;line-height:1.3}.facc-cbo:hover,.facc-cbo:focus{background:#eef6ff}.facc-cbo b{color:var(--azul,#0D3B66);margin-right:4px}.facc-cbn{padding:8px 10px;font-size:13px;color:var(--tinta-suave)}
.facc-pasos{margin:8px 0 0 18px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.facc-solb{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.facc-solf{cursor:pointer}#fsolTxt{width:100%;box-sizing:border-box;font:inherit;font-size:13.5px}
/* 🚑 22/10 (Domingo: «mejora la maquetación y la ventana más grande»): el formulario del accidente, ancho y por bloques */
.modal-caja.facc-modal{max-width:min(1080px,96vw);width:96vw}
.facc-modal .facc-f{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.facc-sec{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--linea,#d7e1ea);border-radius:14px;background:#fff}
.facc-sec h4{margin:0 0 2px;font-size:15px;color:var(--azul,#0D3B66)}
.facc-modal section.facc-sec:first-of-type{grid-column:1/-1}
.facc-modal section.facc-sec:first-of-type{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.facc-modal section.facc-sec:first-of-type>h4{grid-column:1/-1}
.facc-modal section.facc-sec:first-of-type>.fem-g2,.facc-modal section.facc-sec:first-of-type>.facc-tipo{grid-column:span 1}
.facc-modal section.facc-sec:first-of-type>#faccIt,.facc-modal section.facc-sec:first-of-type>#faccPu,.facc-modal section.facc-sec:first-of-type>label{grid-column:span 1}
.facc-modal details.facc-mas,.facc-modal #faccErr{grid-column:1/-1}
.facc-h5{margin:12px 0 4px;font-size:14px}.facc-h5 small{font-weight:400;color:var(--tinta-suave)}
.facc-modal details.facc-mas{border:1px dashed var(--linea,#d7e1ea);background:var(--fondo-suave,#f7fafc)}.facc-modal details.facc-mas summary{margin:0}
.facc-modal .facc-codg{grid-template-columns:repeat(3,minmax(0,1fr))}
.facc-baja{align-items:end;padding:8px 10px;border-radius:10px;background:#fff8e6}
.facc-f small{font-weight:400;color:var(--tinta-suave)}
.facc-f .fem-g2{row-gap:10px}.facc-modal .facc-it{align-self:stretch}
.facc-modal details.facc-mas>.fem-g2{margin:8px 0}
@media (max-width:820px){.facc-modal .facc-f,.facc-modal section.facc-sec:first-of-type{grid-template-columns:1fr}.facc-modal .facc-codg{grid-template-columns:1fr}}
/* 🧭 22/10: guía «Qué hacer ahora» de cada accidente y protocolo de accidentes */
.facc-guia{margin:8px 0;padding:10px 12px;border-radius:12px;background:#f6f9fc;border:1px solid var(--linea,#d7e1ea)}.facc-g-tit{display:block;margin-bottom:6px;color:var(--azul,#0D3B66)}
.facc-guia ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.facc-g{padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #e3eaf1}.facc-g.ok{background:#f1faf4;border-color:#cdebd6}.facc-g.ok .facc-g-por{display:none}.facc-g.info{background:#fbfcfd}
.facc-g.ahora{border:2px solid #1A8CC4;box-shadow:0 2px 10px rgba(26,140,196,.15)}.facc-g-ya{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#1A8CC4;color:#fff;font-size:11px;font-weight:700;vertical-align:middle}
.facc-g-t{font-weight:700;font-size:13.5px}.facc-g-por{font-size:12.5px;color:#41566b;margin-top:3px;line-height:1.45}.facc-g-acc{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.facc-g-quien{color:#17663b;font-size:12px}.facc-g-ops{display:flex;flex-wrap:wrap;gap:6px}.facc-g-res{font-weight:700;font-size:13px}.facc-g-cambia{border:0;background:none;color:#1A8CC4;text-decoration:underline;cursor:pointer;font:inherit;font-size:12px}
.facc-g-ojo{display:block;width:100%;color:#8a5a00;font-size:12px}.facc-g-fb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;font-weight:600;width:100%}.facc-g-fb.oculto{display:none}.facc-g-fb input{padding:5px 8px;border:1px solid var(--linea,#d7e1ea);border-radius:8px;font:inherit}
.facc-pr-btn{border-color:#f0b4b4!important;color:#b3261e!important;background:#fff6f6!important}
.facc-pr-tel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 12px}.facc-pr-tel>div{padding:10px 12px;border-radius:12px;background:#fff0f0;border:1px solid #f0b4b4;font-size:13px;line-height:1.4}.facc-pr-tel small{display:block;color:var(--tinta-suave)}
.facc-pr{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.facc-pr-p{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--linea,#d7e1ea);border-radius:12px}.facc-pr-p p{margin:3px 0 0;font-size:13.5px;line-height:1.5}
.facc-pr-n{flex:none;width:28px;height:28px;border-radius:50%;background:#0D3B66;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.facc-pr-t{width:100%;border-collapse:collapse;font-size:13px;margin:4px 0 10px}.facc-pr-t th,.facc-pr-t td{border:1px solid #e3eaf1;padding:6px 8px;text-align:left;vertical-align:top}.facc-pr-t th{background:#f3f7fb}
@media (max-width:640px){.facc-pr-tel{grid-template-columns:1fr}}
/* 🧾 22/10: guía «Pedir presupuestos a empresas» (menú Empresas) */
.presu-pasos{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}.presu-p{display:flex;align-items:center;gap:6px;padding:6px 12px 6px 6px;border-radius:999px;background:#f1f5f9;color:#5b6b7b;font-size:13px;font-weight:600}
.presu-p b{width:22px;height:22px;border-radius:50%;background:#cfd8e3;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px}.presu-p.on{background:#e6f3fb;color:#0D3B66}.presu-p.on b{background:#1A8CC4}.presu-p.ok{color:#17663b}.presu-p.ok b{background:#2e9e5b}
.presu-consejo{margin:0 0 10px}.presu-tipos{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px;font-size:13px}.presu-tipos>span{color:var(--tinta-suave)}
.presu-busca{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:end}.presu-busca .wa-campo{margin:0}.presu-busca input,.presu-busca select{width:100%;box-sizing:border-box}
.presu-lcab{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin:12px 0 6px;font-size:13px}
.presu-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px;max-height:44vh;overflow-y:auto;padding:2px}
.presu-e{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid var(--linea,#d7e1ea);border-radius:10px;cursor:pointer;background:#fff}.presu-e.on{border-color:#1A8CC4;background:#f0f8fd}.presu-e small{display:block;color:var(--tinta-suave);font-size:12px;word-break:break-word}
.presu-res{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:#f0f8fd;border:1px solid #cfe3fb;margin-bottom:10px}.presu-res small{color:var(--tinta-suave)}
#prTexto,#prNec{width:100%;box-sizing:border-box;font:inherit;font-size:14px}.presu-adj{font-size:13px;margin-top:4px}.presu-nota{margin:6px 0 0 18px;padding:0;font-size:13px;color:#41566b}
@media (max-width:640px){.presu-busca{grid-template-columns:1fr}}
#prAsunto,#prDonde,#prPlazo,#prQ{width:100%;box-sizing:border-box}
/* 💬 22/10: WhatsApp de la propuesta: propuestas en tarjetas a la izquierda; a la derecha, la elegida para cambiarla y cómo le llegará */
.rm-wa{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start;margin:10px 0}
.rm-wa-tit{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px;color:#0D3B66;margin:0 0 8px}.rm-wa-tit span{width:22px;height:22px;border-radius:50%;background:#0D3B66;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.rm-wa-tit small{margin-left:auto;font-weight:600;color:var(--tinta-suave)}.rm-wa-tit2{margin-top:12px}
.rm-wa .rm-wa-vers{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto;margin:0;padding:2px 6px 2px 2px}
.rm-wv{display:block;position:relative;padding:12px 14px 12px 40px;border:1.5px solid var(--linea,#d7e1ea);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.rm-wv:hover{border-color:#9cc9e4}.rm-wv.on{border-color:#25a162;background:#f3fbf6;box-shadow:0 2px 10px rgba(37,161,98,.12)}
.rm-wv input{position:absolute;left:14px;top:14px;margin:0;accent-color:#25a162}
.rm-wv-cab{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:4px}.rm-wv-cab b{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#41566b}.rm-wv-cab em{font-style:normal;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;background:#fff3cd;color:#7a5600}.rm-wv-cab em.rm-wv-ed{background:#e6f3fb;color:#0D3B66}
.rm-wv-tx{white-space:pre-wrap;font-size:13.5px;line-height:1.5;color:#1c2b3a;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}.rm-wv.on .rm-wv-tx{-webkit-line-clamp:unset;display:block}
.rm-wa-r{position:sticky;top:0;display:flex;flex-direction:column;padding:12px 14px;border:1px solid var(--linea,#d7e1ea);border-radius:14px;background:#fbfcfd}
.rm-wa-r textarea{width:100%;box-sizing:border-box;min-height:220px;font:inherit;font-size:14px;line-height:1.5;padding:10px 12px;border:1px solid var(--linea,#d7e1ea);border-radius:10px;resize:vertical;background:#fff}.rm-wa-ayuda{color:var(--tinta-suave);font-size:12px;margin-top:4px}
.rm-wa-movil{background:#e7ddd3 linear-gradient(0deg,rgba(231,221,211,.92),rgba(231,221,211,.92));border-radius:12px;padding:14px;max-height:260px;overflow-y:auto}
.rm-wa-burb{position:relative;max-width:88%;background:#fff;border-radius:0 10px 10px 10px;padding:8px 10px 18px;font-size:13.5px;line-height:1.45;color:#111;box-shadow:0 1px 1px rgba(0,0,0,.12);word-break:break-word}.rm-wa-hora{position:absolute;right:8px;bottom:3px;font-size:10.5px;color:#8696a0}
#modalCaja.cr-full .rm-wa .rm-wa-vers{max-height:calc(100vh - 330px)}#modalCaja.cr-full .rm-wa-r textarea{min-height:calc(50vh - 120px)}#modalCaja.cr-full .rm-wa-movil{max-height:calc(50vh - 160px)}
@media (max-width:820px){.rm-wa{grid-template-columns:1fr}.rm-wa .rm-wa-vers{max-height:45vh}.rm-wa-r{position:static}}

/* 22/10: el banner de Embajadores (y «Pide enlaces a Tizo») centrados en la misma columna que el resto de Comparte y suma */
.cpx-emb,#eqWaCaja>.eqwa{max-width:1100px;margin-left:auto;margin-right:auto;box-sizing:border-box}
/* ✨ 22/10: Redactar con IA: ayuda bajo «Indicaciones», botón Proponer que late si hay indicación sin usar, chip «con tu indicación» */
.ia-ayuda{display:block;margin-top:4px;font-size:12px;color:var(--tinta-suave);transition:color .2s}.ia-ayuda-on{color:#B5480F;font-weight:700}
@keyframes iaPulso{0%,100%{box-shadow:0 0 0 0 rgba(242,140,40,.55);transform:scale(1)}50%{box-shadow:0 0 0 8px rgba(242,140,40,0);transform:scale(1.03)}}
.ia-pulso{animation:iaPulso 1.6s ease-in-out infinite;position:relative}
@media (prefers-reduced-motion:reduce){.ia-pulso{animation:none;outline:3px solid rgba(242,140,40,.6);outline-offset:2px}}
.ia-chip-ind{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#E6F6EC;color:#17663B;font-size:11px;font-weight:700;vertical-align:middle;white-space:nowrap}
.em-nota-btn{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.2;text-align:left}.em-nota-btn small{font-size:11px;font-weight:500;color:var(--tinta-suave);margin-top:2px}
.nota-ind{margin:6px 0;font-size:13px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.nota-ind .ia-chip-ind{margin-left:0}
/* 💳 22/10: Subir factura → pago (ya pagada) o «A pagar», como en la app de Administración */
.fac-pago-op{display:flex;flex-wrap:wrap;gap:8px}.fac-pago-chk{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--linea,#d7e1ea);border-radius:999px;cursor:pointer;font-weight:600;font-size:14px;background:#fff}
.fac-pago-chk:has(input:checked){border-color:#1A8CC4;background:#eef7fd}.fac-pago-av{display:block;margin-top:6px;padding:8px 10px;border-radius:10px;background:#fff7e6;color:#7a5600;font-size:12.5px}
.fac-pago-f{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:8px;padding:10px;border-radius:12px;background:#f6f9fc;border:1px solid var(--linea,#d7e1ea)}
.fac-pago-f label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#41566b}.fac-pago-f input,.fac-pago-f select{padding:8px 10px;border:1px solid var(--linea,#d7e1ea);border-radius:10px;font:inherit;font-size:14px;background:#fff;min-width:0}
.fac-pago-n{display:block;margin-top:4px;color:var(--tinta-suave);font-size:12px}
@media (max-width:760px){.fac-pago-f{grid-template-columns:1fr 1fr}}
.wa-campo .fac-pago-chk,.wa-campo .fac-pago-f label{text-transform:none;letter-spacing:normal}.wa-campo .fac-pago-chk{color:#1c2b3a;font-size:14px}
/* 🧾 22/10: «Subir factura de compra» por bloques; facturas de la sede y aviso de factura parecida */
.fac-cab h3{margin:0}.fac-cab .cierre-sub{margin:4px 0 12px}
.fac-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px;align-items:start}.fac-col2{display:flex;flex-direction:column;gap:14px;min-width:0}
.fac-card{border:1px solid var(--linea,#d7e1ea);border-radius:14px;padding:12px 14px;background:#fff;min-width:0}.fac-card.oculto{display:none}
.fac-card h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14.5px;color:#0D3B66}.fac-card h4>span{width:22px;height:22px;border-radius:50%;background:#0D3B66;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.fac-card h4 small{font-weight:500;color:var(--tinta-suave)}
.fac-card .fac-seg>label:first-child,.fac-card .fac-pago>label:first-child{display:none}.fac-card .wa-campo{margin-bottom:8px}.fac-card .wa-campo:last-child{margin-bottom:0}
.fac-c1 .fac-zona{min-height:150px}.fac-pie{position:sticky;bottom:0;background:var(--papel,#fff);padding-top:10px;z-index:2}
.fac-mias-h{margin:18px 0 8px}.fac-mias-h small{display:block;font-weight:500;margin-top:2px}
.fac-mc-alerta{border-color:#f0b4b4!important;background:#fff8f7}.fac-par{margin:8px 0 4px;padding:8px 10px;border-radius:10px;background:#fff0f0;border:1px solid #f0b4b4;font-size:13px;display:flex;flex-direction:column;gap:4px}
.fac-par b{color:#b3261e}.fac-par-b{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.fac-par-ret{background:#b3261e;color:#fff;border:0}.fac-mc-acc{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
@media (max-width:860px){.fac-grid{grid-template-columns:1fr}}
.fac-card .fac-pago-f{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.fac-pago-f .sb-in{min-height:0;font-weight:400}.fac-pago-f .sb-lista{min-width:220px;font-weight:400}   /* 22/10: medio y cuenta se escriben y se eligen */
/* 🧠 22/10/2026: reto del día de Tizo (preguntas tipo test y «¿Sabías que…?») en un globito junto a su icono */
.tizo-reto{position:fixed;z-index:57;width:min(340px,calc(100vw - 16px));background:#fff;color:#1F2D3A;border-radius:18px;padding:14px 14px 12px;box-shadow:0 14px 34px rgba(15,94,140,.32);border:2px solid #1A8CC4;animation:tizoBocIn .45s ease-out both}
.tizo-reto.oculto{display:none}
.tizo-reto.der::after,.tizo-reto.izq::after{content:"";position:absolute;top:50%;margin-top:-9px;border:9px solid transparent}
.tizo-reto.der::after{left:-11px;border-left:0;border-right-color:#1A8CC4}.tizo-reto.izq::after{right:-11px;border-right:0;border-left-color:#1A8CC4}
.tr-x{position:absolute;top:8px;right:8px;border:0;background:#EEF4F9;color:#4A5A6A;width:24px;height:24px;border-radius:50%;font-size:11px;cursor:pointer}
.tr-cab{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-right:26px;font-size:.84rem;color:#0F5E8C}
.tr-tema,.tr-pts{font-size:.72rem;font-weight:700;border-radius:999px;padding:2px 8px;background:#EAF4FB;color:#0F5E8C}.tr-pts{background:#FFF6DD;color:#8A6100}
.tr-q{margin:10px 0 10px;font-weight:700;font-size:.92rem;line-height:1.35}
.tr-ops{display:flex;flex-direction:column;gap:6px}
.tr-op{display:flex;align-items:flex-start;gap:8px;text-align:left;border:1px solid #D6E2EC;background:#F8FBFD;border-radius:10px;padding:8px 10px;font:inherit;font-size:.85rem;cursor:pointer;color:inherit}
.tr-op i{font-style:normal;font-weight:800;color:#0F5E8C;flex:0 0 auto}
.tr-op:hover:not(:disabled){border-color:#1A8CC4;background:#EAF4FB}.tr-op:disabled{cursor:default}
.tr-op.elige{opacity:.6}.tr-op.ok{background:#E3F6EA;border-color:#2E9E5B}.tr-op.mal{background:#FDEBEB;border-color:#C0392B}.tr-op.off{opacity:.55}
.tr-res{margin-top:10px;border-radius:10px;padding:8px 10px;font-size:.84rem;line-height:1.4}.tr-res p{margin:4px 0 0}.tr-res small{display:block;margin-top:6px;color:#5B6B7A}
.tr-res.ok{background:#E3F6EA;color:#17663B}.tr-res.mal{background:#FDEBEB;color:#A12A2A}.tr-res.info{background:#F3F0FF;color:#3B2F78}
.tr-pie{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.tr-sum{display:flex;flex-wrap:wrap;gap:10px;font-size:.88rem;margin-bottom:6px}.tr-nota{color:#5B6B7A}
@media (prefers-reduced-motion:reduce){.tizo-reto{animation:none}}
/* 22/10/2026 · Ficha del curso: guardado automático (barra fija abajo), fechas que se calculan solas y tarjeta «Dónde, cuándo y cuántos» por bloques */
.cf-auto-chip{align-self:center;background:#E3F6EA;color:#17663B;border:1px solid #BFE5CC;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:800;white-space:nowrap}
.cf-dcc{padding-bottom:6px}.cf-sub{border-top:1px dashed var(--linea);padding-top:12px;margin-top:4px}.cf-dcc>h4+.cf-sub{border-top:0;padding-top:0;margin-top:0}
.cf-sub-t{display:block;font-size:12.5px;font-weight:800;color:var(--marino);margin-bottom:8px}
.cf-card .ct-grid{align-items:start}.cf-sw-alto{min-height:42px}.cf-tele{margin-top:8px;display:flex;flex-direction:column;gap:5px}
.cf-autotag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#E3F6EA;color:#17663B;font-size:10px;letter-spacing:.04em;vertical-align:1px}
.cf-fechas-info{font-size:12.5px;color:var(--tinta-suave);margin:-2px 0 12px;line-height:1.45;background:#F5F8FB;border-radius:10px;padding:8px 10px}
.cf-fechas-info.ok{color:#17663B;background:#EEF9F2}.cf-fechas-info.mal{color:#A12A2A;background:#FDEFEF}
.cf-grid input.cf-auto{animation:cfAutoBrillo 1.8s ease}@keyframes cfAutoBrillo{0%{background:#D4F2DF;border-color:#2E9E5B}100%{background:#fff}}
.cf-barra{position:sticky;bottom:0;z-index:6;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:rgba(255,255,255,.97);border:1px solid var(--linea);border-radius:14px;padding:10px 12px;margin:14px 0;box-shadow:0 -4px 16px rgba(16,42,67,.10)}
.cf-estado{flex:1;min-width:200px;font-size:13.5px;line-height:1.35;color:var(--tinta-suave)}.cf-estado.ok{color:#17663B}.cf-estado.pend{color:#7A5A00}.cf-estado.mal{color:#A12A2A;font-weight:700}
@media (max-width:760px){.cf-barra{gap:8px}.cf-estado{flex-basis:100%;order:-1}.cf-barra .btn-primario{flex:1}.cf-auto-chip{white-space:normal}}
@media (prefers-reduced-motion:reduce){.cf-grid input.cf-auto{animation:none}}
/* 22/10/2026 (2) · Ficha del curso: cada campo con el ancho de lo que lleva (antes, tres columnas iguales: una hora ocupaba un tercio de pantalla) */
.cf-card .ct-grid.cf-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 18px}
.cf-card .cf-grid>.ct-sec{flex:0 1 260px;margin-bottom:4px}
.cf-card .cf-grid>.ct-sec.ct-full{flex:1 1 100%}
.cf-card .cf-grid>.ct-sec:has(>input[type=text]),.cf-card .cf-grid>.ct-sec:has(>input:not([type])){flex:1 1 240px;max-width:420px}
.cf-card .cf-grid>.ct-sec.ct-full{flex:1 1 100%!important;max-width:none!important}
.cf-card .cf-grid>.ct-sec:has(>input[type=date]),.cf-card .cf-grid>.ct-sec:has(>input[type=time]),.cf-card .cf-grid>.ct-sec:has(>input[type=number]){flex:0 0 auto}
.cf-card .cf-grid>.ct-sec>input[type=date]{width:180px}.cf-card .cf-grid>.ct-sec>input[type=time]{width:130px}.cf-card .cf-grid>.ct-sec>input[type=number]{width:130px}
.cf-card .cf-grid>.ct-sec>.ct-lbl{white-space:nowrap}.cf-card .cf-grid>.ct-sec.ct-full>.ct-lbl,.cf-card .cf-grid>.ct-sec.cf-largo>.ct-lbl{white-space:normal}
.cf-card .cf-grid>.ct-sec:has(>select){flex:0 1 auto;min-width:170px;max-width:100%}
.cf-card .cf-grid>.ct-sec>select{width:auto;max-width:100%;min-width:170px}
.cf-card .cf-grid>.ct-sec:has(>.sw){flex:0 0 auto}
.cf-card .cf-grid .cf-tele select{width:auto;min-width:170px}
.cf-card .cf-grid>.ct-sec.oculto{display:none}
.cf-card h4{display:flex;align-items:center;gap:6px}
/* herramientas en pestañas */
.cf-herr{margin:10px 0 14px}.cf-herr-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cf-herr-t{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-suave);margin-right:4px}
.cf-herr-b{border:1px solid var(--linea);background:#fff;border-radius:999px;padding:7px 13px;font:inherit;font-size:13px;font-weight:700;color:var(--marino);cursor:pointer}
.cf-herr-b:hover{background:#F3F7FA}.cf-herr-tabs .cf-herr-b.activo{background:#0F3B5F;border-color:#0F3B5F;color:#fff}
.cf-herr-al{background:#FFF1D6;color:#7A5A00;border-radius:999px;padding:1px 7px;font-size:11px;margin-left:4px}
.cf-herr-p{margin-top:10px}.cf-herr-p>.cf-dup,.cf-herr-p>.cf-ia,.cf-herr-p>.cf-foto{margin:0}
/* islas plegadas */
details.cfi-plegado>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}details.cfi-plegado>summary::-webkit-details-marker{display:none}
details.cfi-plegado>summary h4{margin:0 0 8px}details.cfi-plegado>summary::after{content:'▾ abrir';font-size:12px;font-weight:700;color:var(--oceano);margin-bottom:8px}details.cfi-plegado[open]>summary::after{content:'▴ plegar'}
.cfi-res{font-size:12.5px;color:var(--tinta-suave);margin-left:auto;margin-bottom:8px}
.cfi-exige{font-size:11.5px;font-weight:800;color:#17663B;background:#E3F6EA;border-radius:99px;padding:2px 8px;margin-left:6px}.cfi-opc{font-size:11.5px;font-weight:600;color:var(--tinta-suave);margin-left:6px}
.cfi-sw{margin:2px 0 10px;flex-wrap:wrap}.cfi-sw small{color:var(--tinta-suave)}.cfi-est{font-size:12.5px;color:var(--tinta-suave)}
@media (max-width:760px){.cf-card .cf-grid>.ct-sec{flex:1 1 140px!important;max-width:none!important}.cf-card .cf-grid>.ct-sec.ct-full{flex-basis:100%!important}.cf-card .cf-grid>.ct-sec>select,.cf-card .cf-grid>.ct-sec>input{width:100%!important}.cf-card .cf-grid>.ct-sec>.ct-lbl{white-space:normal}}
/* 22/10/2026 · menú Convocatorias: requisitos de cada convocatoria */
.cvr-filtros{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:4px 0 12px}.cvr-filtros input[type=search]{flex:1 1 260px;max-width:460px;padding:10px 12px;border:1.5px solid var(--linea);border-radius:10px;font:inherit}
.cvr-nota{font-size:13px;color:var(--tinta-suave);margin:0 0 10px}
.cvr-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.cvr-card{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.cvr-card.cvr-con{border-color:#9FD8B4;box-shadow:inset 4px 0 0 #2E9E5B}
.cvr-cab b{display:block;font-size:14.5px;color:var(--marino);line-height:1.3}.cvr-cab small{color:var(--tinta-suave);font-size:12px}
.cvr-reqs{display:flex;flex-direction:column;gap:6px}.cvr-reqs .sw-card{align-items:flex-start}.cvr-reqs .sw-card small{display:block;line-height:1.35}
.cvr-pie{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:640px){.cvr-lista{grid-template-columns:1fr}}

/* 📞 22/10/2026: widget destacado «Llamadas recibidas» (Inicio) y su lista */
.ilw{background:linear-gradient(120deg,#0B5E86,#1A8CC4);box-shadow:0 8px 22px rgba(11,94,134,.26)}.ilw .ipt-b{color:#0B5E86}.ilw:hover{box-shadow:0 14px 34px rgba(11,94,134,.36)}
.ilw-urge{background:linear-gradient(120deg,#B42318,#E5484D);box-shadow:0 8px 22px rgba(180,35,24,.3)}.ilw-urge .ipt-b{color:#B42318}
.ilw-aviso{background:linear-gradient(120deg,#0B5E86,#E0A526)}
.ilw-ok{background:linear-gradient(120deg,#0B5E86,#2E9E5B)}.ilw-ok .ipt-b{color:#17663B}
#modalCaja.lr-modal{max-width:min(980px,calc(100vw - 24px));width:100%}
.lr-cab h3{margin:0 0 4px}.lr-fil .ms-chip.activo{background:#0B5E86;border-color:#0B5E86;color:#fff}.lr-fil{display:flex;flex-direction:column;gap:6px;margin:10px 0 12px}.lr-fil>div{display:flex;flex-wrap:wrap;gap:6px}
.lr-lista{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.lr-fila{display:grid;grid-template-columns:76px minmax(0,1.3fr) minmax(0,1.2fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #E3EAF1;border-left:5px solid #CFDCE6}
.lr-ok{border-left-color:#2E9E5B}.lr-no{border-left-color:#E0A526}.lr-va{border-left-color:#1A8CC4}.lr-pend{border-left-color:#E5484D;background:#FFF7F7}
.lr-h b{display:block;font-size:1.15rem;color:#0D1B2A}.lr-h small{color:#5B6B7A;font-size:.78rem}.lr-h em{display:block;font-style:normal;font-size:.72rem;color:#8A5A00;background:#FFF4DC;border-radius:6px;padding:1px 5px;margin-top:3px}
.lr-p{display:flex;flex-direction:column;gap:1px;min-width:0}.lr-p b{font-size:1rem}.lr-tel{font-weight:800;color:#0B5E86;text-decoration:none}.lr-p small{color:#34475A;font-size:.82rem;line-height:1.3}
.lr-e{display:flex;flex-direction:column;gap:3px;min-width:0}.lr-e small{color:#5B6B7A;font-size:.82rem;line-height:1.35}
.lr-chip{align-self:flex-start;font-weight:800;font-size:.85rem;border-radius:99px;padding:3px 10px;background:#EEF2F6}
.lr-ok .lr-chip{background:#E9F7EF;color:#1F6B40}.lr-no .lr-chip{background:#FFF4DC;color:#8A5A00}.lr-va .lr-chip{background:#E4F1F8;color:#0B5E86}.lr-pend .lr-chip{background:#FDECEC;color:#A12A2A}
.lr-acc{display:flex;flex-direction:column;gap:5px;align-items:stretch}.lr-cur{border:0;background:none;color:#0B5E86;text-decoration:underline;font-size:.8rem;cursor:pointer;padding:2px}
@media(max-width:760px){.lr-fila{grid-template-columns:62px minmax(0,1fr)}.lr-e,.lr-acc{grid-column:1/-1}.lr-acc{flex-direction:row;flex-wrap:wrap}}

/* 22/10 · tabla de Alumnado del curso: cabeceras que ordenan (Carla Herrera) */
.tabla th.th-ord{cursor:pointer;user-select:none;white-space:nowrap}
.tabla th.th-ord:hover{color:var(--azul,#1A8CC4)}
.tabla th.th-ord.on{color:var(--azul,#1A8CC4)}
/* 📱 23/10/2026 · Bandeja en el móvil: los avisos de la conversación (Tizo, pendiente del equipo, sus cursos / sin ficha) en UNA línea que se abre al tocarla,
   para que se vean los mensajes y la caja de escribir con ⏰ y 🤖 */
.bj-avisos{flex-shrink:0}.bj-avisos-btn{display:none}
@media (max-width:760px){
  #vBandeja .bj-avisos{display:none}
  #vBandeja .bj-avisos.abierto{display:block;max-height:45vh;overflow-y:auto;border-bottom:1px solid var(--linea)}
  #vBandeja .bj-avisos-btn{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 12px;border:0;border-bottom:1px solid #DED3F8;background:#F3EFFD;color:#3D2A85;font:inherit;font-size:13px;text-align:left;cursor:pointer}
  #vBandeja .bj-avisos-btn span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #vBandeja .bj-avisos-btn b{flex-shrink:0;background:#fff;border-radius:999px;padding:1px 8px;font-size:12px}
  #vBandeja .bj-escribe .bj-prog{flex-shrink:0}
}
/* 📣 23/10/2026 · Campaña de la feria (menú Expofuturo) */
.epb-rej{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}
.epb-c{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1px solid var(--linea);border-left:4px solid #adb5bd;border-radius:12px;background:#fff;color:var(--tinta);font:inherit;text-align:left;cursor:pointer;min-width:0}
.epb-c:hover{box-shadow:var(--sombra)}.epb-c b{font-size:14px}.epb-c small{color:var(--tinta-suave);font-size:12px;line-height:1.35}
.epb-c.propuesta{border-left-color:#f59f00}.epb-c.aprobada{border-left-color:#2b8a3e}.epb-c.hecha{border-left-color:#1971c2;background:#f1f7fd}
.epb-mas{border-style:dashed;border-left-style:dashed;background:transparent}
.epb-i{font-size:22px;line-height:1}.epb-gen{color:#7048e8;font-weight:700}
.epb-m .ex-lista-cab{flex-wrap:wrap;gap:8px}.epb-m h3{margin:0}.epb-est{display:flex;flex-wrap:wrap;gap:6px}
.epb-enl{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0;padding:8px 10px;border-radius:10px;background:#f1f3f5;font-size:13px}
.epb-enl span{flex:1}.epb-enl code{order:3;flex:1 1 100%;min-width:0;overflow-wrap:anywhere;font-size:12px}
.epb-txt{width:100%;box-sizing:border-box;font:inherit;font-size:14px;line-height:1.5;padding:10px;border:1px solid var(--linea);border-radius:10px;resize:vertical}
.epb-ia{margin:10px 0}.epb-ia summary{cursor:pointer;font-weight:700}.epb-ia textarea{width:100%;box-sizing:border-box;font:inherit;margin:8px 0;padding:8px;border:1px solid var(--linea);border-radius:8px}
.epb-lab{display:block;margin:10px 0;font-weight:700}.epb-lab input,.epb-lab textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px;font:inherit;font-weight:400;padding:8px;border:1px solid var(--linea);border-radius:8px}
/* 23/10/2026 · 📄 Documentación del curso y Excel del alumnado (Control FUNDAE) */
.fu-c-fila{display:flex;gap:6px;align-items:stretch}.fu-c-fila .fu-c{flex:1;min-width:0}
.fu-xls{flex:0 0 auto;font:inherit;font-size:12.5px;font-weight:700;color:var(--oceano);background:#fff;border:1px solid var(--linea);border-radius:12px;padding:0 10px;cursor:pointer;min-height:48px}.fu-xls:hover{border-color:var(--oceano)}
.fu-xls-exp{justify-self:start;margin-top:4px}
.doc-lista{display:grid;gap:10px;max-width:760px}
.doc-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--linea);border-radius:14px;padding:14px}.doc-item>div{flex:1;min-width:0}.doc-item b{display:block}.doc-item small{color:var(--tinta-suave);font-size:13px}
.doc-ico{font-size:26px}.doc-nota{margin:2px 4px}
@media (max-width:600px){.doc-item{flex-wrap:wrap}.doc-item .btn{width:100%}}
.dax-t{font-weight:700;margin:4px 0 6px}.dax-rap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.dax-est{display:grid;gap:6px;margin-bottom:10px}.dax-e{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--linea);border-radius:10px;cursor:pointer}.dax-e b{margin-left:auto}.dax-e input{width:18px;height:18px}.dax-0{opacity:.55}.dax-est{max-height:52vh;overflow:auto}

/* ===== ⭐ Reseñas Google: numerito arriba, «🤖 Responde IA» y «⚖️ Revisar mi respuesta» (23/10/2026) ===== */
.topbar .tb-rs { position: relative; } .topbar .tb-rs .tb-ii { background: #fff3cd; } .topbar .tb-rs .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; box-shadow: 0 0 0 2px #fff; } .topbar .tb-rs .rt-n.oculto { display: none; }
.rs-rev { margin-top: 12px; border: 1.5px dashed var(--linea); border-radius: 12px; padding: 10px 12px } .rs-rev.queja { border-color: #e0a100; background: #fffaf0 }
.rs-rev > b { display: block; font-size: 13.5px } .rs-rev > small { display: block; color: var(--tinta-suave); font-size: 12.5px; margin: 2px 0 8px }
.rs-rev-res { margin-top: 10px; background: var(--papel, #fff); border-radius: 10px; padding: 10px 12px; border: 1px solid var(--linea) } .rs-rev-res ul { margin: 4px 0 8px 18px; padding: 0; font-size: 13.5px } .rs-rev-res p { margin: 6px 0; font-size: 14px; white-space: pre-line; background: var(--arena); border-radius: 8px; padding: 8px 10px }
.rs-rev-res .btn { min-height: 42px }

/* ===== 📋 Sorteo semestral: listado por curso para puntear (23/10/2026) ===== */
.so-lst { max-height: 60vh; overflow: auto; display: flex; flex-direction: column; gap: 6px; margin: 8px 0 }
.so-lst details { border: 1px solid var(--linea); border-radius: 10px; padding: 8px 10px } .so-lst summary { cursor: pointer; font-size: 13.5px; line-height: 1.5 } .so-lst summary small { color: var(--tinta-suave) }
.so-lst ol { margin: 6px 0 2px 20px; padding: 0; font-size: 13.5px } .so-lst li small { color: var(--tinta-suave) }

/* ===== 📋 Calidad: Calendario de encuestas de Evaluación en Mis tareas y en la pestaña Tareas del curso (23/10/2026) ===== */
.cal-intro { font-size: 13px; color: var(--tinta-suave); margin: 0 0 10px; line-height: 1.45 }
.cal-rows, .cal-ab { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px }
.cal-g { margin: 10px 0 2px; font-size: 13px; color: var(--oceano-osc) }
.cal-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; background: var(--papel); border: 1px solid var(--linea); border-left: 4px solid var(--linea); border-radius: 10px; padding: 8px 10px; min-width: 0 }
.cal-row.cal-atr { border-left-color: var(--baja) } .cal-row.cal-hoy { border-left-color: var(--guagua) }
.cal-f { flex: 0 0 58px; font-weight: 800; font-size: 13px; color: var(--oceano-osc); line-height: 1.2 } .cal-f small { display: block; font-weight: 400; color: var(--tinta-suave); font-size: 11.5px }
.cal-atr .cal-f small { color: var(--baja); font-weight: 700 }
.cal-c { flex: 1 1 220px; min-width: 0; font-size: 13.5px; line-height: 1.4; overflow-wrap: anywhere } .cal-t { color: var(--tinta-suave); font-size: 12.5px } .cal-ctl { color: var(--tinta) }
.cal-b { display: flex; gap: 6px; flex-wrap: wrap; margin-left: auto }
.cal-curso h4 { margin: 0 0 8px } .cal-curso h4 small { font-weight: 400; color: var(--tinta-suave); font-size: 12px }
.cal-pin { letter-spacing: 3px; font-size: 18px } .cal-mb { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px }
@media (max-width: 560px) { .cal-b { margin-left: 0; width: 100% } .cal-b .btn { flex: 1 1 auto; text-align: center } }
/* 📋 tarjeta del curso («Faltan N encuestas») y pestaña «Encuestas» de la ficha (23/10/2026) */
.cu-enc { display: inline-flex; align-items: center; gap: 4px; margin: 6px 0 2px; border: 1px solid #C9DDF0; background: #EEF6FC; color: var(--oceano); border-radius: 999px; padding: 4px 10px; font-size: 12.5px; font-weight: 700; cursor: pointer; max-width: 100% }
.cu-enc:hover { background: #E1EFFA } .cu-enc.cu-enc-atr { border-color: #F1C4BE; background: var(--baja-fondo); color: var(--baja) }
.cal-row.enc-hecha { border-left-color: var(--alta) } .cal-row.enc-atrasada { border-left-color: var(--baja) } .cal-row.enc-hoy { border-left-color: var(--guagua) }
.enc-nota { display: inline-block; font-weight: 800; font-size: 14px; margin-top: 3px } .enc-nota small { font-weight: 400; font-size: 11px; color: var(--tinta-suave) }
.enc-n-v { color: #15803D } .enc-n-a { color: #0284C4 } .enc-n-m { color: #B7791F } .enc-n-r { color: #B91C1C }
.enc-bloque { border: 1px solid var(--linea); border-radius: 10px; padding: 10px 12px; margin: 10px 0 } .enc-bloque h4 { margin: 6px 0 } .enc-bloque h4:first-child { margin-top: 0 }
.enc-kpis { display: flex; gap: 8px; flex-wrap: wrap } .enc-kpis > div { flex: 1 1 120px; background: var(--arena); border-radius: 10px; padding: 8px 10px } .enc-kpis b { display: block; font-size: 18px; color: var(--oceano-osc) } .enc-kpis small { color: var(--tinta-suave); font-size: 12px }
.enc-doc, .enc-com { margin: 4px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; font-size: 13.5px }
.enc-doc li { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px dashed var(--linea); padding: 3px 0; overflow-wrap: anywhere } .enc-com li { background: var(--arena); border-radius: 8px; padding: 6px 9px; overflow-wrap: anywhere }
.enc-com { max-height: 40vh; overflow: auto }

/* ===== 📅 Tizo: cursos que arrancan → «🧭 Siguientes pasos» / «🗺️ Esquema del manual» (24/10/2026) ===== */
.tizo-arr > b { display: block; font-size: 14.5px; color: var(--oceano-osc) } .tizo-arr > p { margin: 4px 0 8px }
.tizo-arr-g { border: 1px solid var(--linea); border-left: 4px solid var(--oceano); border-radius: 10px; padding: 8px 10px; margin: 6px 0; background: var(--arena) }
.tizo-arr-c small { display: block; color: var(--tinta-suave); font-size: 12.5px; line-height: 1.35 } .tizo-arr-c details { margin-top: 4px; font-size: 12.5px } .tizo-arr-c summary { cursor: pointer; color: var(--oceano) }
.tizo-arr-c ul { margin: 4px 0 0; padding-left: 18px } .tizo-arr-c li small { display: inline }
.tizo-arr-b { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px } .tizo-arr-b .btn { flex: 1 1 auto }
.capta-burbuja.capta-guia { max-width: 96% }
.tizo-guia .tg-intro { font-weight: 700; margin: 0 0 8px }
.tizo-guia .tg-fase { position: relative; border: 1px solid var(--linea); border-radius: 10px; padding: 8px 10px 6px 14px; margin: 0 0 8px 10px; background: #fff }
.tizo-guia .tg-fase::before { content: ""; position: absolute; left: -11px; top: 12px; width: 10px; height: 10px; border-radius: 50%; background: var(--oceano); box-shadow: 0 0 0 3px #D7EAF7 }
.tizo-guia .tg-fase:not(:last-of-type)::after { content: ""; position: absolute; left: -7px; top: 26px; bottom: -10px; border-left: 2px dashed #B9D6EC }
.tizo-guia .tg-cab { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin-bottom: 2px } .tizo-guia .tg-cab b { color: var(--oceano-osc) }
.tizo-guia .tg-cab span { font-size: 12px; font-weight: 700; color: var(--oceano); background: #EEF6FC; border-radius: 999px; padding: 1px 8px }
.tizo-guia ul { margin: 2px 0; padding-left: 18px } .tizo-guia li { margin: 3px 0 }
.tizo-guia .tg-nota { background: #FFF6E5; border: 1px solid #F3D9A4; border-radius: 10px; padding: 6px 10px; margin: 6px 0 0; font-size: 13.5px }
/* 📝 Instrucciones por convocatoria en «Manuales de las convocatorias» (25/10/2026) */
.man-ins { border-top: 1px solid var(--linea); margin-top: 14px; padding-top: 10px } .man-ins h4 { margin: 0 0 4px }
.ins-g { margin: 8px 0 } .ins-g > small { color: var(--tinta-suave) }
.ins-it { border: 1px solid var(--linea); border-radius: 10px; padding: 6px 10px; margin: 5px 0; background: var(--papel) }
.ins-it summary { cursor: pointer; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 10px } .ins-it summary small { color: var(--tinta-suave); font-size: 12px }
.ins-tx { white-space: pre-wrap; font-size: 13px; line-height: 1.45; max-height: 40vh; overflow: auto; background: var(--arena); border-radius: 8px; padding: 8px 10px; margin: 6px 0 }
.ins-f textarea { border: 1px solid #CDD6E0; border-radius: 10px; padding: 8px 10px; font: inherit; resize: vertical; min-height: 140px }
.ins-n { color: var(--tinta-suave); font-size: 12px } .ins-bs { display: flex; gap: 6px; flex-wrap: wrap }
/* 📚 «Lo que lee Tizo»: pestañas Documentos / Instrucciones, convocatoria a elegir y pie fijo (25/10/2026) */
.man-sub { margin-bottom: 8px }
.man-tabs { display: flex; gap: 6px; position: sticky; top: -20px; z-index: 2; background: var(--papel); padding: 6px 0 8px; margin-bottom: 4px; border-bottom: 1px solid var(--linea) }
.man-tabs button { flex: 1; border: 1px solid #D6E2EC; background: #fff; border-radius: 999px; padding: 8px 10px; font: inherit; font-size: .88rem; font-weight: 700; color: #4A5A6A; cursor: pointer }
.man-tabs button.on { background: #0F5E8C; border-color: #0F5E8C; color: #fff } .man-tabs i { font-style: normal; font-size: .75rem; background: rgba(0,0,0,.08); border-radius: 99px; padding: 0 7px; margin-left: 3px } .man-tabs i:empty { display: none } .man-tabs button.on i { background: rgba(255,255,255,.25) }
.man-pane { padding-top: 4px } .man-sube select, .man-cv select, .man-it-c select { min-height: 40px; border: 1px solid #CDD6E0; border-radius: 10px; padding: 6px 10px; font: inherit; background: #fff; width: 100%; min-width: 0 }
.man-cv select { min-height: 32px; padding: 3px 8px; font-size: .85rem } .man-it-c select { min-height: 32px; font-size: .85rem }
#insNueva { margin: 2px 0 10px } .ins-f { border: 1px solid var(--linea); border-radius: 12px; padding: 12px; margin: 0 0 12px; background: #F6F9FC } .ins-f b { color: var(--oceano-osc) }
.man-pie { position: sticky; bottom: -20px; background: var(--papel); margin: 14px -20px -20px; padding: 10px 20px 14px; border-top: 1px solid var(--linea); display: flex; justify-content: flex-end }
@media (max-width: 600px) { .man-pie .btn { flex: 1 } .man-sube select, .man-sube input, .ins-f textarea { font-size: 16px } }
/* 💬 chat de Tizo en el móvil: cabecera compacta (25/10/2026) */
@media (max-width: 600px) {
  .capta-cab { padding: 8px 10px } .capta-cab #captaSub { display: none } .tizo-cab img { width: 34px; height: 34px }
  .capta-cab .btn-link { margin-right: 6px; font-size: 13px } .tizo-modos { padding: 6px 8px 0 } .tizo-modos button { padding: 6px 8px; font-size: .8rem }
  .tizo-man { margin: 6px 8px 0; padding: 4px 8px } .capta-pie textarea { font-size: 16px; min-height: 52px } .capta-pie { padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) }
}
.man-tabs button { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 8px 6px } .man-cv { flex-wrap: wrap } .man-cv select { flex: 1 1 170px; width: auto }
/* 🎯 «📌 Convocatoria» de la consulta en el chat de Tizo (25/10/2026) */
.tizo-man { flex-wrap: wrap } .tizo-conv { display: flex; align-items: center; gap: 6px; flex: 1 1 100%; min-width: 0 }
.tizo-conv select { flex: 1; min-width: 0; min-height: 30px; border: 1px solid #D5CCF5; border-radius: 8px; padding: 2px 6px; font: inherit; font-size: .8rem; background: #fff; color: #4B3D8F }
.tizo-conv.on select { border-color: #0F5E8C; color: #0F5E8C; font-weight: 700 } .tizo-conv small { color: #0F5E8C; font-size: .72rem; font-weight: 700 }
@media (max-width: 600px) { .tizo-conv select { font-size: 16px } }
/* 🕘 Historial de consultas de Tizo (25/10/2026) */
.tizo-modos .tizo-hist { flex: 0 0 auto; padding-left: 12px; padding-right: 12px }
.capta-panel.ver-hist .capta-pie, .capta-panel.ver-hist #captaManInfo, .capta-panel.ver-hist #captaSug { display: none !important }
.th-bus { position: sticky; top: -12px; background: inherit; padding: 2px 0 8px; z-index: 1 } .th-bus input { width: 100%; min-height: 40px; border: 1px solid #CDD6E0; border-radius: 10px; padding: 6px 12px; font: inherit; background: #fff }
.th-g { font-size: 12px; font-weight: 800; color: var(--tinta-suave); text-transform: uppercase; letter-spacing: .04em; margin: 12px 2px 4px }
.th-it { display: flex; align-items: stretch; gap: 4px; margin: 4px 0 } .th-it.th-actual .th-abre { border-color: #0F5E8C; background: #EEF6FC }
.th-abre { flex: 1; min-width: 0; display: flex; gap: 10px; align-items: flex-start; text-align: left; border: 1px solid var(--linea); background: var(--papel); border-radius: 12px; padding: 9px 11px; font: inherit; cursor: pointer; color: var(--tinta) }
.th-abre:hover { border-color: #9DC3DF } .th-ico { font-size: 18px; line-height: 1.2 } .th-tx { min-width: 0; display: flex; flex-direction: column; gap: 2px }
.th-tx b { font-size: 14px; font-weight: 700; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical } .th-tx small { color: var(--tinta-suave); font-size: 12px } .th-tx em { font-style: normal; color: #0F5E8C; font-weight: 700 } .th-tx i { color: #0F5E8C }
.th-x { border: 1px solid var(--linea); background: var(--papel); border-radius: 12px; padding: 0 10px; cursor: pointer; font: inherit; font-size: 14px; color: #A12A2A } .th-x.th-seguro { background: #FDECEC; border-color: #F5B5B5; font-size: 12px; font-weight: 700 }
.th-vacio { color: var(--tinta-suave); text-align: center; padding: 30px 12px; font-size: 14px }
@media (max-width: 600px) { .tizo-modos .tizo-hist { padding-left: 8px; padding-right: 8px } .th-bus input { font-size: 16px } }
@media (max-width: 600px) { .tizo-modos .tm-l { display: none } }
/* 🛰 24/10/2026: Vigía IA (public/js/vigia.js) */
.vg-acc { display: flex; gap: 8px; flex-wrap: wrap }
.vg-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: 12px 0 }
.vg-kpi { display: flex; flex-direction: column; gap: 3px } .vg-kpi small { color: var(--tinta-suave); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; font-size: 12px }
.vg-kpi > b { font-size: 34px; line-height: 1.1; color: var(--oceano-osc) } .vg-kpi span { font-size: 13px; color: var(--tinta-suave) }
.vg-kpi em { font-style: normal; font-weight: 800 } .vg-sube { color: #1b7f4b } .vg-baja { color: #b4232c } .vg-err { color: #b4232c; font-weight: 800 }
.vg-alertas ul { margin: 8px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.55 } .vg-alertas li { cursor: pointer } .vg-alertas li:hover { text-decoration: underline }
.vg-evol summary, .vg-comp > small { display: block } .vg-evol summary small, .vg-comp > small { display: block; color: var(--tinta-suave); font-size: 13px; font-weight: 400 }
.vg-comp .rs-chips, .vg-preg .rs-chips { margin-top: 8px }
.vg-alertas, .vg-evol, .vg-comp, .vg-preg, #vigiaCuerpo > .al { margin-bottom: 12px }
.vg-scroll { overflow-x: auto; margin-top: 10px }
.vg-tabla { width: 100%; border-collapse: collapse; font-size: 14px } .vg-tabla th { text-align: left; font-size: 12px; color: var(--tinta-suave); padding: 6px 8px; border-bottom: 1px solid var(--linea); white-space: nowrap }
.vg-tabla td { padding: 8px; border-bottom: 1px solid var(--linea); vertical-align: top } .vg-tq tbody tr { cursor: pointer } .vg-tq tbody tr:hover { background: var(--arena) }
.vg-c { white-space: nowrap; font-weight: 700 } .vg-si { color: #1b7f4b } .vg-no { color: var(--tinta-suave) } .vg-gris { color: var(--tinta-suave); font-weight: 400; font-size: 12px }
.vg-barra { display: inline-block; width: 70px; height: 8px; border-radius: 6px; background: var(--linea); vertical-align: middle; overflow: hidden } .vg-barra i { display: block; height: 100%; background: var(--oceano) }
.vg-tipo { display: inline-block; font-size: 11px; font-weight: 800; color: var(--tinta-suave); background: var(--arena); border-radius: 10px; padding: 1px 7px; margin-right: 4px }
.vg-ficha h3 { margin: 6px 0 12px } .vg-resp { border: 1px solid var(--linea); border-radius: 12px; padding: 10px 12px; margin-bottom: 10px } .vg-resp summary { cursor: pointer }
.vg-texto { white-space: pre-wrap; font-size: 14px; line-height: 1.5; max-height: 360px; overflow: auto; background: var(--arena); border-radius: 10px; padding: 10px; margin: 8px 0 }
.vg-resp a { display: block; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
@media (max-width: 600px) { .vg-kpi > b { font-size: 28px } .vg-tabla { font-size: 13px } .vg-barra { width: 40px } }
/* 🔗 Normativa por enlace en «📄 Documentos» (25/10/2026) */
.man-url { margin-top: 12px } .man-url input[type=url] { min-height: 40px; border: 1px solid #CDD6E0; border-radius: 10px; padding: 6px 10px; font: inherit }
.man-bs { display: flex; flex-direction: column; gap: 6px; align-items: stretch } .man-f small a { color: #0F5E8C; font-weight: 700 }
@media (max-width: 600px) { .man-url input { font-size: 16px } }
@media (max-width: 600px) { .man-ed { flex-wrap: wrap } .man-ed > div:not(.man-bs) { flex: 1 1 calc(100% - 40px) } .man-bs { flex-direction: row; width: 100%; padding-left: 30px } .man-bs .btn { flex: 1 } }
/* 📋 Calidad (24/10): atrasadas de hace más de una semana, plegadas */
.cal-viejas { margin: 14px 0 6px; border: 1px dashed var(--linea); border-radius: 10px; padding: 8px 10px } .cal-viejas summary { cursor: pointer; font-weight: 700; font-size: 13px; color: var(--baja) } .cal-viejas[open] summary { margin-bottom: 8px }
/* ✍️ formularios de calidad rellenados en Capta (24/10/2026) */
.qf h3 { margin: 0 0 4px } .qf-l { display: block; font-size: 12.5px; font-weight: 700; color: var(--tinta-suave); margin: 10px 0 3px }
.qf input, .qf select, .qf textarea { width: 100%; box-sizing: border-box } .qf textarea { resize: vertical }
.qf-g { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 0 10px }
.qf-b { border: 1px solid var(--linea); border-radius: 10px; padding: 8px 10px; margin: 12px 0 } .qf-b h4 { margin: 2px 0 6px; font-size: 13.5px; color: var(--oceano-osc) }
.qf-i { padding: 7px 0; border-bottom: 1px dashed var(--linea); font-size: 13.5px } .qf-i:last-of-type { border-bottom: 0 } .qf-i > span { display: block; margin-bottom: 5px; line-height: 1.35 }
.qf-esc { display: flex; flex-wrap: wrap; gap: 5px } .qf-esc button { flex: 1 1 auto; min-width: 40px; min-height: 36px; border: 1px solid var(--linea); background: #fff; border-radius: 8px; padding: 4px 8px; font-size: 12.5px; cursor: pointer; color: var(--tinta) }
.qf-esc button.on { background: var(--oceano); border-color: var(--oceano); color: #fff; font-weight: 700 }
.qf-sem { margin-bottom: 6px } .qf-sem button.on.qf-s-v { background: #15803D; border-color: #15803D } .qf-sem button.on.qf-s-a { background: #B7791F; border-color: #B7791F } .qf-sem button.on.qf-s-r { background: #B91C1C; border-color: #B91C1C }
.qf-nota { margin-top: 10px; font-size: 14px } .qf-nota b { font-size: 18px; color: var(--oceano-osc) }
/* 📝 25/10/2026 · Tu pósit: notas de colores de la sede, pegadas en la pantalla, con respuestas y @menciones */
.ps-amarillo { --ps: #FFF4A3; --ps-b: #E8D55A } .ps-rosa { --ps: #FFD1E3; --ps-b: #EE9DBE } .ps-verde { --ps: #CDF5C9; --ps-b: #8FD488 }
.ps-azul { --ps: #CFE6FF; --ps-b: #8DBDEB } .ps-naranja { --ps: #FFDDB5; --ps-b: #F0AE62 } .ps-lila { --ps: #E6D7FF; --ps-b: #B79CEB }
.ps-barra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px }
.ps-ayuda { color: var(--tinta-suave, #5b6b7a); font-size: 12.5px }
.ps-menc { background: #fff; border: 1px solid var(--linea); border-left: 4px solid #E0457B; border-radius: 12px; padding: 10px 12px; margin-bottom: 14px; display: flex; flex-direction: column; gap: 6px }
.ps-menc-i { text-align: left; background: #FFF6FA; border: 1px solid #F6D3E1; border-radius: 9px; padding: 7px 10px; cursor: pointer; font: inherit; display: flex; flex-direction: column; gap: 2px }
.ps-menc-i span { font-weight: 700; font-size: 13px } .ps-menc-i small { color: #5b6b7a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
.ps-menc .btn-link { align-self: flex-end }
.ps-tablero { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 18px; padding: 8px 2px 30px }
.ps-nota, .ps-flota, .ps-grande, .ps-escribe { background: var(--ps); color: #2b2b1f; box-shadow: 0 6px 14px rgba(13,27,42,.16), inset 0 -2px 0 var(--ps-b) }
.ps-nota { border-radius: 4px 4px 16px 4px; padding: 0 12px 10px; min-height: 170px; display: flex; flex-direction: column; cursor: pointer; transform: rotate(-.8deg); transition: transform .15s, box-shadow .15s }
.ps-nota:nth-child(3n) { transform: rotate(.9deg) } .ps-nota:nth-child(4n+1) { transform: rotate(-.3deg) }
.ps-nota:hover { transform: rotate(0) translateY(-2px); box-shadow: 0 10px 22px rgba(13,27,42,.22) }
.ps-nota.ps-pegada { outline: 2px dashed var(--ps-b); outline-offset: 3px }
.ps-asa { display: flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; padding: 7px 0 6px; border-bottom: 1px dashed var(--ps-b); margin-bottom: 7px; cursor: grab; touch-action: none; user-select: none; white-space: nowrap; overflow: hidden }
.ps-asa > span:first-child { overflow: hidden; text-overflow: ellipsis }
.ps-txt { font-size: 14px; line-height: 1.4; flex: 1; overflow-wrap: anywhere }
.ps-arroba { color: #B4235A }
.ps-pie { display: flex; align-items: center; justify-content: space-between; margin-top: 8px } .ps-pie small { color: #6b6b55 }
.ps-mini { background: rgba(255,255,255,.55); border: 0; border-radius: 8px; padding: 3px 7px; margin-left: 4px; cursor: pointer; font-size: 13px }
.ps-mini:hover { background: #fff }
/* pegados en la pantalla: por encima del contenido y por debajo de las ventanas y de Tizo */
.ps-capa { position: fixed; inset: 0; pointer-events: none; z-index: 65 }
.ps-flota { position: fixed; width: 220px; max-height: 260px; overflow: auto; pointer-events: auto; border-radius: 4px 4px 14px 4px; padding: 0 10px 9px }
.ps-flota .ps-txt { font-size: 13px } .ps-flota.ps-min { max-height: none; overflow: hidden; padding-bottom: 0 } .ps-flota.ps-min .ps-txt { display: none } .ps-flota.ps-min .ps-asa { border-bottom: 0; margin-bottom: 0 }
.ps-flota.ps-moviendo { box-shadow: 0 16px 34px rgba(13,27,42,.32); transform: rotate(-1.5deg); cursor: grabbing }
.ps-flota .ps-asa { position: sticky; top: 0; background: var(--ps) }
.ps-bts { margin-left: auto; display: flex; gap: 2px } .ps-bts button { background: rgba(255,255,255,.5); border: 0; border-radius: 6px; min-width: 24px; height: 22px; cursor: pointer; font-size: 12px; padding: 0 4px }
.ps-bts button:hover { background: #fff }
@media (max-width: 760px) { .ps-flota { width: 170px; max-height: 200px } }
@media print { .ps-capa { display: none } }
/* editor y ficha del pósit (por encima del panel de Tizo cuando se abre desde allí) */
#modal:has(.posit-ed) { z-index: 75 }
.ps-colores { display: flex; gap: 8px; margin: 4px 0 10px } .ps-col { width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(0,0,0,.12); cursor: pointer } .ps-col.on { border-color: #1b2b3a; box-shadow: 0 0 0 2px #fff inset }
.ps-escribe { border-radius: 4px 4px 16px 4px; padding: 10px; margin-bottom: 10px; position: relative }
.ps-escribe textarea { width: 100%; box-sizing: border-box; background: transparent; border: 0; resize: vertical; font: inherit; font-size: 15px; line-height: 1.45; color: inherit; outline: none }
.ps-chk { display: flex !important; align-items: center; gap: 6px; margin: 4px 0 }
.ps-lab { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; margin-bottom: 8px }
.ps-sug { position: absolute; z-index: 5; left: 10px; right: 10px; background: #fff; border: 1px solid var(--linea); border-radius: 10px; box-shadow: 0 10px 24px rgba(13,27,42,.18); max-height: 230px; overflow: auto }
.ps-sug button { display: flex; justify-content: space-between; gap: 8px; width: 100%; text-align: left; border: 0; background: none; padding: 8px 10px; cursor: pointer; font: inherit; color: #1b2b3a } .ps-sug button:hover { background: #F1F6FB } .ps-sug small { color: #6b7b8a }
.ps-grande { border-radius: 4px 4px 18px 4px; padding: 12px 14px; margin-bottom: 12px }
.ps-cab { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-bottom: 8px } .ps-cab small { color: #6b6b55 }
.ps-tizo { font-size: 12.5px; color: #4a4a38; margin-bottom: 6px; font-style: italic }
.ps-a { margin-top: 8px; font-size: 12.5px } .ps-chip { background: rgba(255,255,255,.6); border-radius: 999px; padding: 1px 8px; color: #B4235A; font-weight: 600 }
.ps-resps { max-height: 34vh; overflow: auto; display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px }
.ps-resp { background: #F4F7FA; border-radius: 12px 12px 12px 4px; padding: 7px 10px; font-size: 13.5px; max-width: 88% } .ps-resp.mia { align-self: flex-end; background: #E6F1FB; border-radius: 12px 12px 4px 12px } .ps-resp small { color: #6b7b8a }
.ps-responde { display: flex; gap: 8px; align-items: flex-end; position: relative } .ps-responde textarea { flex: 1; border: 1px solid var(--linea); border-radius: 10px; padding: 8px; font: inherit; resize: vertical }
.ps-responde .ps-sug { bottom: 100%; top: auto }
/* Tizo: «📝 Al pósit» bajo cada respuesta */
.capta-ia { flex-direction: column; align-items: flex-start }
.capta-aposit { margin: 3px 0 0 4px; background: none; border: 0; color: var(--oceano, #1f6aa5); font-size: 12px; font-weight: 600; cursor: pointer; padding: 2px 4px; border-radius: 6px; opacity: .75 }
.capta-aposit:hover { opacity: 1; background: #FFF4A3 }
.capta-elige { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 0 2px; max-width: 92% }   /* 26/10: «¿De qué convocatoria es la consulta?» */
/* 📝 25/10/2026 · Tu pósit en el Inicio: ventana destacada con los últimos pósits de la sede */
.ipw{background:linear-gradient(120deg,#E8A317,#F6CF3B);color:#3A2A00;box-shadow:0 8px 22px rgba(201,138,0,.28);cursor:default}
.ipw .ipt-n{background:rgba(255,255,255,.4)} .ipw .ipt-b{color:#8A5A00;border:0;cursor:pointer;font:inherit;font-weight:900}
.ipw-urge{background:linear-gradient(120deg,#D6336C,#F6CF3B);color:#fff}
.ipw-notas{display:flex;gap:10px;margin-top:8px;overflow-x:auto;padding:2px 2px 6px}
.ipw-n{flex:0 0 150px;text-align:left;border:0;cursor:pointer;font:inherit;background:var(--ps);color:#2b2b1f;border-radius:3px 3px 12px 3px;padding:7px 9px;box-shadow:0 4px 10px rgba(0,0,0,.14);transform:rotate(-1deg);transition:transform .15s}
.ipw-n:nth-child(2n){transform:rotate(1deg)} .ipw-n:hover{transform:rotate(0) translateY(-2px)}
.ipw-n b{display:block;font-size:.75rem;margin-bottom:3px} .ipw-n span{display:block;font-size:.82rem;line-height:1.3;max-height:3.9em;overflow:hidden}
.ipw-nuevo{outline:3px solid #fff;outline-offset:1px}
.ipw-bts{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;align-items:stretch}
.ipw-ver{background:rgba(255,255,255,.75);border:0;color:#5A3A00;border-radius:12px;padding:9px 14px;font:inherit;font-weight:800;cursor:pointer}
.ipw-ver:hover{background:#fff}
@media(max-width:700px){.ipw-bts{width:100%;flex-direction:row}.ipw-bts>*{flex:1}}
/* 📋 25/10/2026 · Nueva tarea: ¿qué tarea es? (normal, de la sede o de un curso/convocatoria) */
.tn-clase { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px }
.tn-cl { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; border: 2px solid var(--linea); background: #fff; border-radius: 12px; padding: 10px 11px; cursor: pointer; font: inherit; color: inherit }
.tn-cl span { font-size: 20px } .tn-cl b { font-size: 13.5px } .tn-cl small { font-size: 12px; color: #5b6b7a; line-height: 1.3 }
.tn-cl:hover { border-color: #9cc3dd } .tn-cl.on { border-color: var(--oceano); background: #EEF6FC; box-shadow: 0 0 0 2px rgba(15,106,156,.12) }
@media (max-width: 600px) { .tn-clase { grid-template-columns: 1fr } .tn-cl { flex-direction: row; align-items: center; gap: 8px } .tn-cl small { display: none } }
/* 👥 Mis tareas → «Por persona»: kanban con una columna por persona; se arrastra una tarjeta para pasar la tarea */
.tk-lista-kb { overflow-x: auto; padding-bottom: 8px }
.kb { display: flex; gap: 12px; align-items: flex-start; min-height: 300px; padding: 4px 2px 10px }
.kb-col { flex: 0 0 260px; background: #F3F6F9; border: 1px solid var(--linea); border-radius: 14px; display: flex; flex-direction: column; max-height: 72vh; transition: background .15s, box-shadow .15s }
.kb-col.kb-yo { background: #EEF6FC; border-color: #BFDBEE } .kb-col.kb-sin { background: #FFF8EC; border-color: #F2DDB4 }
.kb-col.kb-sobre { box-shadow: 0 0 0 3px var(--oceano) inset; background: #E3F0FA }
.kb-cab { color: #1b2b3a; background: transparent; display: flex; align-items: center; gap: 7px; padding: 10px 11px 8px; font-size: 13.5px; position: sticky; top: 0 }
.kb-cab b { color: #1b2b3a !important; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap } .kb-cab b small { font-weight: 500; color: #5b6b7a }
.kb-cab i { font-style: normal; font-weight: 800; font-size: 12px; background: #fff; border-radius: 999px; padding: 1px 8px; color: #33475b } .kb-cab .kb-atr { background: #FDE8E8; color: #B42318 }
.kb-av-sin { background: #F2DDB4; color: #7A5200 }
.kb-cards { display: flex; flex-direction: column; gap: 7px; padding: 0 9px 10px; overflow-y: auto }
.kb-card { background: #fff; border: 1px solid var(--linea); border-left: 4px solid #9cb3c7; border-radius: 10px; padding: 8px 10px; cursor: grab; display: flex; flex-direction: column; gap: 4px; box-shadow: 0 1px 2px rgba(13,27,42,.06) }
.kb-card:hover { box-shadow: 0 4px 12px rgba(13,27,42,.12) } .kb-card.kb-arr { opacity: .45 }
.kb-card.atr { border-left-color: #D92D20 } .kb-card.hoy { border-left-color: #E8A317 }
.kb-tit { font-size: 13.5px; font-weight: 600; line-height: 1.3 } .kb-sub { font-size: 12px; color: #5b6b7a; display: flex; align-items: center; gap: 5px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis }
.kb-due { font-size: 11.5px; font-weight: 700; color: #33475b } .kb-card.atr .kb-due { color: #B42318 }
.kb-vacia, .kb-mas { font-size: 12.5px; color: #6b7b8a; text-align: center; margin: 8px 0 }
/* ✅ 25/10/2026 · Pósit → Mis tareas: casilla con la fecha y para quién */
.ps-tarea { background: #F1F8F3; border: 1px solid #CDE8D4; border-radius: 10px; padding: 4px 10px; margin: 6px 0 }
.ps-tar-op { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 2px 0 6px 24px; font-size: 13px }
.ps-tar-op label { display: flex; align-items: center; gap: 6px; font-weight: 600 } .ps-tar-op input { padding: 5px 8px } .ps-tar-op small { color: #2F6B45 }
.ps-atajo { display: block; color: #6b7b8a; font-size: 11.5px; margin-top: 4px }
.ps-para { display: flex; flex-direction: column; font-weight: 400 }
/* 📋 25/10/2026 · Tu pósit en kanban: una columna por estado (Por hacer · En marcha · Hecho), estado en la ficha y papelera */
.ps-vistas { display: inline-flex; background: #EAF0F5; border-radius: 999px; padding: 3px; gap: 2px }
.ps-vistas button { border: 0; background: transparent; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; color: #33475b }
.ps-vistas button.on { background: #fff; color: var(--oceano); box-shadow: 0 1px 3px rgba(13,27,42,.15) }
.ps-ayuda-l { display: block; margin: -2px 0 10px }
.ps-kanban { display: grid; grid-template-columns: repeat(3, minmax(230px, 1fr)); gap: 14px; align-items: start; overflow-x: auto; padding-bottom: 20px }
.ps-kcol { background: #F3F6F9; border: 1px solid var(--linea); border-radius: 14px; min-height: 260px; transition: background .15s, box-shadow .15s }
.ps-kcol > header { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; font-size: 14px; color: #1b2b3a; border-bottom: 3px solid #C9D6E2 }
.ps-kcol > header i { font-style: normal; font-weight: 800; font-size: 12px; background: #fff; border-radius: 999px; padding: 1px 9px }
.ps-k-enmarcha > header { border-bottom-color: #E8A317 } .ps-k-hecho > header { border-bottom-color: #2E9E5B } .ps-k-hecho { background: #F1F8F3 }
.ps-kcol.ps-sobre { box-shadow: 0 0 0 3px var(--oceano) inset; background: #E3F0FA }
.ps-kcards { display: flex; flex-direction: column; gap: 14px; padding: 12px }
.ps-kcards .ps-nota { min-height: 120px; cursor: grab } .ps-nota.ps-arr { opacity: .4 }
.ps-kvacia, .ps-kmas { text-align: center; color: #6b7b8a; font-size: 13px; margin: 16px 0 }
.ps-nota.ps-hecho .ps-txt { text-decoration: line-through; text-decoration-color: rgba(0,0,0,.35); opacity: .75 }
.ps-est { align-self: flex-start; font-size: 11.5px; font-weight: 700; border-radius: 999px; padding: 1px 8px; margin-bottom: 5px; background: rgba(255,255,255,.65) }
.ps-estados { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 12px }
.ps-estados button { border: 2px solid var(--linea); background: #fff; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; color: #33475b }
.ps-estados button.on.ps-e-pendiente { border-color: #5B7A99; background: #EEF3F8 } .ps-estados button.on.ps-e-enmarcha { border-color: #E8A317; background: #FFF6E0 } .ps-estados button.on.ps-e-hecho { border-color: #2E9E5B; background: #E9F7EE }
.ps-estados small { color: #6b7b8a; font-size: 12px }
@media (max-width: 760px) { .ps-kanban { grid-template-columns: repeat(3, 82vw) } }
/* 🔒 25/10/2026 · Nuevo pósit: «¿Quién lo ve?» (solo yo · una o varias sedes) y «Además» (pegar, tarea) */
.ps-sec { border: 1px solid var(--linea); border-radius: 12px; padding: 10px 12px; margin: 0 0 10px; background: #FAFCFE }
.ps-sec-t { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #4a5b6c; margin-bottom: 7px }
.ps-quien { display: grid; grid-template-columns: 1fr 1fr; gap: 8px }
.ps-quien button { display: grid; grid-template-columns: auto 1fr; column-gap: 8px; align-items: center; text-align: left; border: 2px solid var(--linea); background: #fff; border-radius: 12px; padding: 9px 11px; cursor: pointer; font: inherit; color: #1b2b3a }
.ps-quien button span { grid-row: span 2; font-size: 20px } .ps-quien button b { font-size: 14px } .ps-quien button small { color: #5b6b7a; font-size: 12px; line-height: 1.25 }
.ps-quien button.on { border-color: var(--oceano); background: #EEF6FC; box-shadow: 0 0 0 2px rgba(15,106,156,.12) }
.ps-sedes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px }
.ps-sd { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--linea); background: #fff; border-radius: 999px; padding: 5px 11px; font-size: 13px; cursor: pointer }
.ps-sd:has(input:checked) { border-color: var(--oceano); background: #EEF6FC; font-weight: 700 } .ps-sd-t { border-style: dashed }
.ps-quienve { margin: 9px 0 0; font-size: 13px; color: #2b3d4f; background: #FFF9DB; border-radius: 8px; padding: 6px 9px; line-height: 1.35 }
.ps-sec .ps-chk small { color: #6b7b8a; font-weight: 400 }
@media (max-width: 520px) { .ps-quien { grid-template-columns: 1fr } }
.ps-sec .ps-chk { flex-wrap: wrap; align-items: flex-start; margin: 3px 0 } .ps-sec .ps-chk small { flex-basis: 100%; padding-left: 24px; margin-top: -2px }
/* 🎂 25/10/2026: próximo cumpleaños del equipo al lado del festivo, en el banner azul */
.hero-fest:not([hidden]) + .hero-cumple { margin-left: 0 }
.hero-cumple { border-color: rgba(230,180,220,.95) } .hero-cumple .hero-fest-t em { color: #b03a8a } .hero-cumple .fes-hoja { border-color: #e7b3d6 } .hero-cumple .fes-hoja small { background: #d1559f }
.hero-bizum { display: block; margin-top: 3px; font-style: normal; font-size: 12px; font-weight: 800; color: #b03a8a }
/* 📜 25/10/2026: histórico del correo de agradecimiento (Embajadores → A quién invitar) */
.rfm-h { border: 1px solid var(--linea); border-radius: 12px; padding: 8px 12px; margin: 8px 0 } .rfm-h summary { cursor: pointer; display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; min-height: 32px }
.rfm-h-n { margin-left: auto; font-weight: 700; font-size: 13px } .rfm-h-l { list-style: none; margin: 8px 0 0; padding: 0; max-height: 40vh; overflow: auto }
.rfm-h-l li { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; border-top: 1px solid var(--linea); font-size: 14px } .rfm-h-l small { color: var(--tinta-suave); white-space: nowrap }
/* 🎬 25/10/2026: crear el vídeo del curso con la IA (pestaña 🎬 Vídeos) */
.vg-mini { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 10px 14px; margin-bottom: 12px; border: 1.5px dashed var(--linea); border-radius: 12px; font-size: 13.5px; color: var(--tinta-suave); }
.vg-caja .vg-bts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.vg-partes { display: flex; flex-direction: column; gap: 10px; margin: 10px 0; }
.vg-parte { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: start; padding: 10px; border: 1.5px solid var(--linea); border-radius: 12px; background: var(--papel); }
.vg-parte label { display: block; font-size: 12px; font-weight: 700; color: var(--tinta-suave); margin: 4px 0 3px; }
.vg-parte textarea, .vg-parte input { width: 100%; box-sizing: border-box; }
.vg-n { width: 30px; height: 30px; border-radius: 50%; background: var(--oceano); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; }
.vg-opc { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.vg-opc label { display: block; font-size: 12.5px; font-weight: 700; margin-bottom: 5px; }
.vg-opc .chip[disabled] { opacity: .45; cursor: not-allowed; }
.vg-grab { display: flex; align-items: center; gap: 12px; padding: 12px 0; } .vg-grab small { display: block; color: var(--tinta-suave); }
.vg-listo { display: grid; grid-template-columns: minmax(180px, 260px) 1fr; gap: 16px; align-items: start; }
.vg-listo video { width: 100%; border-radius: 12px; background: #000; aspect-ratio: 9 / 16; }
.vg-listo-t { display: flex; flex-direction: column; gap: 8px; } .vg-listo-t small { color: var(--tinta-suave); }
@media (max-width: 640px) { .vg-listo { grid-template-columns: 1fr; } .vg-listo video { max-height: 60vh; } }
.vg-caja .wa-campo input { width: 100%; box-sizing: border-box; }
.vg-bts a.btn { text-decoration: none; }
/* 📥 26/10/2026: importar la evaluación final de SISPECAN (pestaña Evaluaciones del curso) */
.ev-sisp{color:#2F7FC1!important;font-weight:700}
.es-imp{--ev-ok:#1E9E62;--ev-okf:#E3F6EC;--ev-no:#D64545;--ev-nof:#FDECEC;--ev-cv:#2F7FC1;--ev-cvf:#E4F1FA;--ev-pe:#8A97A3;--ev-pef:#F1F4F7;--ev-ab:#8A6A3E;--ev-abf:#F6EFE4}
.es-h{margin:6px 0 2px;font-size:14px}
.es-lista{display:flex;flex-direction:column;border:1px solid #E6ECF1;border-radius:12px;overflow:hidden}
.es-fila{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid #EEF2F6;flex-wrap:wrap;cursor:default}.es-fila:last-child{border-bottom:0}
label.es-fila{cursor:pointer}.es-fila input{width:18px;height:18px;flex:0 0 auto}
.es-fila.es-ojo{background:#FFF8EC}.es-fila.es-mal{background:#FDF1F1}
.es-n{flex:1 1 200px;min-width:0}.es-n b{display:block;font-size:13.5px}.es-n small{display:block;font-size:11.5px;color:var(--tinta-suave)}
.es-dato{font-size:12.5px;color:var(--tinta-suave);white-space:nowrap}.es-dato b{color:var(--tinta)}
.es-cmb{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}
.es-igual summary{cursor:pointer;font-weight:700;font-size:13px}.es-igual p{font-size:12.5px;color:var(--tinta-suave);margin:6px 0 0}
@media(max-width:640px){.es-cmb{width:100%;justify-content:flex-end}}
/* 📡 26/10/2026: conexión semanal en Moodle (FUNCATRA teleformación): botón de arriba que parpadea con el número y lista por curso */
.topbar .tb-md { position: relative; } .topbar .tb-md .tb-ii { background: #e3f0fb; }
.topbar .tb-md .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; }
.topbar .tb-md .rt-n.oculto, .topbar .tb-md.oculto { display: none; }
.topbar .tb-md.tb-md-on { animation: mdParpadeo 1.6s ease-in-out infinite; }
@keyframes mdParpadeo { 0%, 100% { background: #f6f8fa; box-shadow: 0 0 0 0 rgba(192,57,43,0); } 50% { background: #fdecec; box-shadow: 0 0 0 4px rgba(192,57,43,.25); } }
@media (prefers-reduced-motion: reduce) { .topbar .tb-md.tb-md-on { animation: none; background: #fdecec; } }
.mds-c { border: 1px solid #e3e9ef; border-radius: 12px; padding: 10px 12px; margin: 10px 0; }
.mds-c header { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; } .mds-c header b { flex: 1 1 220px; min-width: 0; } .mds-c header small { flex-basis: 100%; order: 3; color: #5b6b7b; }
.mds-cab-acc { display: flex; gap: 6px; } .mds-nota { margin: 8px 0 2px; color: #8a6100; font-size: 13px; }
.mds-a { display: flex; align-items: center; gap: 8px; padding: 7px 0; border-top: 1px solid #f0f3f6; } .mds-n { flex: 1; min-width: 0; } .mds-n b { display: block; font-size: 13.5px; } .mds-n small { color: #5b6b7b; font-size: 12px; } .mds-n em { color: #b42318; font-style: normal; font-weight: 700; }
.mds-acc { display: flex; gap: 4px; flex-shrink: 0; } .mds-act { margin-right: auto; color: #5b6b7b; align-self: center; }
/* 📚 26/10/2026: enlace curso ↔ Moodle (chip de la tarjeta y ventana obligatoria al entrar en un curso de teleformación con convocatoria) */
.mo-chip { display: inline-flex; align-items: center; gap: 4px; font: inherit; font-size: 12px; font-weight: 800; border-radius: 999px; padding: 3px 10px; cursor: pointer; white-space: nowrap; }
.mo-chip.mo-ok { background: #E8F1FB; color: #1B4F8A; border: 1px solid #BFD6EF; }
.mo-chip.mo-falta { background: #FDE8E8; color: #B42318; border: 1.5px dashed #F2A7A0; animation: cupoParpadeo 1.6s ease-in-out infinite; }
.kb-card .mo-chip { margin: 2px 0 4px; font-size: 11.5px; padding: 2px 8px; }
.mov-velo { position: fixed; inset: 0; z-index: 65; background: rgba(12, 42, 64, .6); display: flex; align-items: center; justify-content: center; padding: 16px; }
.mov-caja { background: #fff; border-radius: 16px; padding: 20px; width: 100%; max-width: 560px; max-height: 88dvh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.mov-caja h3 { margin: 0 0 8px; } .mov-cur b { display: block; } .mov-cur small { color: #5b6b7b; }
.mov-oblig { background: #FFF4E5; color: #7A4A00; border-radius: 10px; padding: 8px 10px; font-size: 13.5px; }
.mov-act { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; background: #E8F1FB; border-radius: 10px; padding: 8px 10px; margin: 8px 0; } .mov-act span { flex: 1; min-width: 0; }
.mov-lbl { display: block; font-weight: 700; font-size: 13px; margin: 10px 0 4px; } .mov-q { width: 100%; box-sizing: border-box; font: inherit; font-size: 15px; padding: 10px 12px; border: 1.5px solid #c9d6e2; border-radius: 10px; }
.mov-res { margin-top: 8px; } .mov-nota { color: #5b6b7b; font-size: 13px; margin: 6px 2px; }
.mov-op { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; font: inherit; background: #f6f8fa; border: 1px solid transparent; border-radius: 10px; padding: 8px 10px; margin: 4px 0; cursor: pointer; }
.mov-op:hover { border-color: #BFD6EF; background: #eef4fb; } .mov-op span { flex: 1; min-width: 0; } .mov-op b { display: block; font-size: 13.5px; } .mov-op small { color: #5b6b7b; font-size: 12px; }
.mov-op em { font-style: normal; font-weight: 800; color: #1B4F8A; white-space: nowrap; } .mov-op.mov-es { background: #E6F6EC; } .mov-op.mov-es em { color: #1E7A43; }
.mov-pie { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
/* 26/10/2026: buscador de cumpleaños de los últimos 30 días */
.cu-busca { margin: 14px 0; } .cu-busca label { display: block; margin-bottom: 8px; } .cu-busca label b { display: block; font-size: 15px; } .cu-busca label small { display: block; color: var(--tinta-suave); font-size: 13px; margin-top: 2px; }
.cu-busca-in { width: 100%; box-sizing: border-box; min-height: 44px; font-size: 16px; padding: 8px 12px; border: 2px solid #9cc3dd; border-radius: 12px; } #cuQRes:not(:empty) { margin-top: 10px; }
.cu-pago { cursor: pointer; border: 1.5px solid #0f6a9c; background: #EAF4FA; color: #0f6a9c; font: inherit; font-weight: 700; }
/* 26/10/2026: pestaña Moodle · control de arranque, «Qué actividades cuentan» e informes del 40 % y final en Excel */
.mo-arr { background: #FDECEC; border: 1px solid #F3C4C0; border-radius: 10px; padding: 10px 14px; margin-bottom: 10px; font-size: 13.5px; line-height: 1.9; color: #1c2b3a; }
.mo-arr.mo-arr-ok { background: #EAF6EF; border-color: #BFE3CD; }
.mo-arr input { width: 56px; min-height: 30px; font: inherit; font-weight: 700; text-align: center; border: 1px solid #c9d3dd; border-radius: 6px; padding: 0 4px; background: #fff; }
.mo-arr-res { display: block; font-weight: 800; color: #B42318; } .mo-arr-ok .mo-arr-res { color: #1F7A4D; }
.mo-arr details { margin-top: 2px; } .mo-arr summary { cursor: pointer; font-weight: 700; color: #0f6a9c; } .mo-arr ul { margin: 4px 0 0 18px; padding: 0; line-height: 1.5; }
.mo-arr .res-chips { margin-top: 8px; }
.mo-acts { max-height: 55vh; overflow-y: auto; border: 1px solid #e3e9ef; border-radius: 10px; padding: 6px 10px; margin: 8px 0; }
.mo-acts label { display: flex; gap: 8px; align-items: flex-start; padding: 6px 0; border-bottom: 1px solid #f0f3f6; font-size: 14px; cursor: pointer; } .mo-acts label:last-child { border-bottom: 0; }
.mo-acts input { margin-top: 3px; width: 18px; height: 18px; flex: none; } .mo-acts small { color: #6b7a88; }
.mo-al { padding: 10px 12px; } .mo-bus { width: 100%; box-sizing: border-box; min-height: 40px; font: inherit; font-size: 15px; padding: 6px 12px; border: 0; border-radius: 10px; background: #EEF2F6; }
.mo-ley { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: #5b6b7b; margin: 10px 0 4px; } .mo-ley span { display: inline-flex; align-items: center; gap: 5px; }
.mo-t { display: inline-block; width: 8px; height: 13px; border-radius: 2px; margin-right: 2px; vertical-align: middle; }
.mo-t-ok { background: #4CAF50; } .mo-t-pen { background: #1B4A75; } .mo-t-nh { background: #C9E7C5; } .mo-t-nc { background: #CBD5E0; }
.mo-alf { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(0, 2fr) 70px 90px; gap: 4px 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid #edf1f5; }
.mo-alc b { display: block; font-size: 13.5px; } .mo-alc small { color: #6b7a88; font-size: 12px; word-break: break-all; }
.mo-tira { line-height: 1; overflow: hidden; } .mo-alp, .mo-alu { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; font-size: 12px; }
.mo-pct { background: #FDE2E1; color: #B42318; font-weight: 800; border-radius: 999px; padding: 1px 8px; } .mo-pct-ok { background: #DDF2E4; color: #1F7A4D; }
.mo-alu b { color: #1B4A75; font-size: 13px; } .mo-alm { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; }
.mo-bad { background: #FDE2E1; color: #B42318; font-size: 11.5px; font-weight: 800; border-radius: 999px; padding: 2px 8px; } .mo-bad-a { background: #FFF1C2; color: #8A5A00; }
@media (max-width: 700px) { .mo-alf { grid-template-columns: 1fr 70px 90px; } .mo-tira { grid-column: 1 / -1; grid-row: 2; } }
/* 26/10/2026: Evaluaciones → «💻 Moodle» (teleformación) */
.evm-lista { display: grid; gap: 10px; margin-top: 10px; } .evm-card { padding: 12px 14px; }
.evm-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; } .evm-cab > div:first-child { flex: 1 1 220px; } .evm-cab > div:first-child b { display: block; font-size: 15px; } .evm-cab small { color: #6b7a88; font-size: 12px; }
.evm-kpi { display: flex; flex-direction: column; align-items: center; min-width: 70px; } .evm-kpi b { font-size: 16px; color: #1B4A75; }
.evm-acts { list-style: none; margin: 10px 0 6px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px; }
.evm-acts li { display: flex; justify-content: space-between; gap: 8px; padding: 6px 10px; border-radius: 8px; font-size: 13px; } .evm-acts li span { min-width: 0; overflow-wrap: anywhere; }
.evm-ok { background: #EAF6EF; } .evm-ok b { color: #1F7A4D; } .evm-pen { background: #F2F5F8; } .evm-pen b { color: #1B4A75; white-space: nowrap; }
.evm-con { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; color: #4b5b6b; border-top: 1px solid #edf1f5; padding-top: 8px; }
/* ⭐ 26/10/2026: curso de Moodle recomendado al enlazar (por el alumnado que coincide y el nombre) */
.mov-op.mov-rec { background: #FFF8E1; border: 1.5px solid #E8C25A; } .mov-op.mov-rec:hover { background: #FFF2C7; }
.mov-rec-t { display: inline-block; font-style: normal; font-size: 11.5px; font-weight: 800; color: #7A5A00; background: #FCE7A6; border-radius: 999px; padding: 1px 8px; margin-bottom: 3px; }
.mov-al { display: block; font-size: 12px; color: #5b6b7b; margin-top: 2px; } .mov-al.si { color: #1E7A43; font-weight: 700; }
.mov-op .mov-por { display: block; color: #7A5A00; } .mov-op .mov-ya { display: block; color: #B42318; font-weight: 700; }

/* 🎓 26/10/2026: dar de alta en estudiaenadf.es un curso de Moodle (menú EstudiaEnADF) */
.ema-lista{display:flex;flex-direction:column;gap:10px;margin-top:12px;max-height:60vh;overflow:auto}
.ema-card{border:1.5px solid #e3e8ef;border-radius:14px;padding:12px 14px;background:#fff}
.ema-card>b{display:block;font-size:15px}.ema-card>small{color:#5b6b7c;font-size:12.5px}
.ema-res{margin:6px 0 0;font-size:13px;color:#4a5866;line-height:1.4}
.ema-ok{margin-top:8px;font-size:13.5px;color:#1f7a3f}.ema-av{margin-top:6px;font-size:13px;color:#8a5a00;display:block}
.ema-acc{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:10px}
.ema-form:not(:empty){margin-top:10px;padding-top:10px;border-top:1px dashed #d5dce5}
.ema-precio input{font-size:18px;font-weight:700;max-width:180px}
/* 26/10/2026: 🚦 Arranque en Moodle (ventana del botón de arriba) */
.mar-b { margin: 8px 0 4px; } .mar-b > b { font-size: 13.5px; }
/* 27/10/2026: 🚦 Arranque en Moodle a pantalla completa (cifras, calendario de plazos, filtros y tarjetas por curso) */
#modalCaja.mar-full { position: fixed; inset: 0; width: 100vw !important; max-width: none !important; height: 100vh; max-height: none !important; margin: 0; border-radius: 0; overflow: auto; padding: 0; background: #F4F7FA; }
.mar { max-width: 1400px; margin: 0 auto; padding: 0 20px 24px; }
.mar-cab { position: sticky; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0 12px; background: #F4F7FA; border-bottom: 1px solid #e3e9ef; margin-bottom: 14px; }
.mar-cab h3 { margin: 0; font-size: 22px; } .mar-cab small { color: #5b6b7b; }
.mar-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 14px; }
.mar-kpi { background: #fff; border: 1px solid #e3e9ef; border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.mar-kpi b { font-size: 28px; line-height: 1.1; color: #1c2b3a; } .mar-kpi span { font-size: 13px; color: #5b6b7b; }
.mar-k-r { background: #FDECEC; border-color: #F3C4C0; } .mar-k-r b { color: #B42318; } .mar-k-ok b { color: #1F7A4D; }
.mar-sec { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin: 6px 0 8px; } .mar-sec h4 { margin: 0; font-size: 16px; } .mar-sec small { color: #6b7a88; font-size: 12.5px; }
.mar-sec small i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin: 0 3px 0 6px; vertical-align: -1px; }
.mar-cal { background: #fff; border: 1px solid #e3e9ef; border-radius: 14px; padding: 12px 14px; margin-bottom: 14px; }
.mar-semh, .mar-cal-g { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; } .mar-semh span { font-size: 11.5px; font-weight: 700; color: #6b7a88; text-transform: uppercase; padding: 0 6px 4px; }
.mar-dia { min-height: 64px; border: 1px solid #edf1f5; border-radius: 10px; padding: 4px 5px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.mar-dia.finde { background: #FAFBFC; } .mar-dia.pasado { opacity: .55; } .mar-dia.hoy { border: 2px solid #0f6a9c; background: #EAF4FA; opacity: 1; }
.mar-dn { font-size: 12px; font-weight: 800; color: #5b6b7b; } .mar-dia.hoy .mar-dn::after { content: ' · hoy'; color: #0f6a9c; }
.mar-ev { display: block; width: 100%; text-align: left; border: 0; border-radius: 6px; padding: 3px 6px; font: inherit; font-size: 11.5px; font-weight: 800; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #fff; }
.mar-ev span { font-weight: 600; } .mar-ev-a { background: #1A8CC4; } .mar-ev-e { background: #7B4FC2; }
.mar-ev.st-mal { box-shadow: inset 4px 0 0 #E5484D; } .mar-ev.st-ok { box-shadow: inset 4px 0 0 #3DBE76; } .mar-ev:hover { filter: brightness(1.08); }
.mar-fil { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 14px; } .mar-fil .res-chips { margin: 0; } .mar-fil .mo-bus { flex: 1 1 240px; width: auto; background: #fff; border: 1px solid #e3e9ef; }
.mar-chk { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; cursor: pointer; }
.mar-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(560px, 100%), 1fr)); gap: 14px; align-items: start; }
.mar-cur { background: #fff; border: 1px solid #e3e9ef; border-radius: 16px; padding: 14px 16px; scroll-margin-top: 80px; transition: box-shadow .3s; } .mar-cur.mar-flash { box-shadow: 0 0 0 3px #0f6a9c; }
.mar-cur > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; } .mar-cur > header b { display: block; font-size: 16px; } .mar-cur > header small { color: #6b7a88; font-size: 12.5px; }
.mar-bar { margin: 12px 0 6px; } .mar-bar small { display: block; text-align: center; color: #6b7a88; font-size: 12px; margin-top: 18px; } .mar-bar small b { color: #1c2b3a; }
.mar-bar-t { position: relative; height: 8px; background: #E6ECF1; border-radius: 99px; } .mar-bar-t i { display: block; height: 100%; background: linear-gradient(90deg, #7FC4E6, #1A8CC4); border-radius: 99px; }
.mar-mk { position: absolute; top: -4px; width: 3px; height: 16px; border-radius: 2px; transform: translateX(-50%); } .mar-mk-a { background: #1A8CC4; } .mar-mk-e { background: #7B4FC2; }
.mar-mk em { position: absolute; top: 17px; left: 50%; transform: translateX(-50%); font-style: normal; font-size: 11px; font-weight: 800; white-space: nowrap; } .mar-mk-a em { color: #1A8CC4; } .mar-mk-e em { color: #7B4FC2; }
.mar-hito { border-top: 1px solid #edf1f5; margin-top: 10px; padding-top: 10px; }
.mar-hito-c { display: flex; align-items: center; gap: 10px; } .mar-hito-c > div { flex: 1; } .mar-hito-c b { display: block; font-size: 14px; } .mar-hito-c small { color: #6b7a88; font-size: 12.5px; }
.mar-hito-i { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; font-size: 17px; flex: none; }
.mar-est { font-size: 12px; font-weight: 800; border-radius: 999px; padding: 3px 10px; white-space: nowrap; } .mar-est.mal { background: #FDE2E1; color: #B42318; } .mar-est.ok { background: #DDF2E4; color: #1F7A4D; } .mar-est.sd { background: #EEF2F6; color: #5b6b7b; }
.mar-tab { margin-top: 8px; display: grid; gap: 6px; }
.mar-p { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; background: #F7F9FB; }
.mar-p.llamado { background: #EEF8F1; } .mar-p.llamado .mar-pn b { color: #5b6b7b; text-decoration: line-through; }
.mar-ll { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; cursor: pointer; color: #B42318; } .mar-p.llamado .mar-ll { color: #1F7A4D; } .mar-ll input { width: 18px; height: 18px; }
.mar-pn b { display: block; font-size: 14px; } .mar-pn small { color: #6b7a88; font-size: 12px; }
.mar-tel a { font-weight: 800; color: #0f6a9c; text-decoration: none; white-space: nowrap; } .mar-sin { font-size: 12px; color: #9aa7b4; }
.mar-acc { display: flex; gap: 4px; }
.mar-ok { margin: 8px 0 0; color: #1F7A4D; font-weight: 700; font-size: 13.5px; } .mar-nota { margin: 8px 0 0; color: #7A5A00; font-size: 13px; }
.mar-vacio { background: #fff; border: 1px dashed #c9d3dd; border-radius: 14px; padding: 22px; text-align: center; font-size: 15px; color: #3b4b5b; margin-bottom: 14px; }
.mar-aldia { margin-top: 16px; } .mar-aldia summary { cursor: pointer; font-weight: 800; color: #1F7A4D; margin-bottom: 10px; }
.mar-pie { color: #6b7a88; font-size: 12px; margin-top: 18px; }
@media (max-width: 700px) {
  .mar { padding: 0 12px 20px; } .mar-kpi b { font-size: 22px; }
  .mar-dia { min-height: 46px; padding: 3px; } .mar-ev { font-size: 10.5px; padding: 2px 3px; } .mar-ev span { display: none; }
  .mar-p { grid-template-columns: 1fr auto; } .mar-ll { grid-column: 1 / -1; } .mar-tel { grid-column: 1; }
}
/* 27/10/2026: pestañas de «🚦 Arranque en Moodle» y «📚 Enlaces con Moodle» */
.mar-tabs { display: flex; gap: 4px; background: #E6ECF1; padding: 4px; border-radius: 12px; }
.mar-tabs button { border: 0; background: transparent; font: inherit; font-weight: 700; font-size: 14px; padding: 8px 14px; border-radius: 9px; cursor: pointer; color: #3b4b5b; display: inline-flex; align-items: center; gap: 6px; }
.mar-tabs button.on { background: #fff; color: #0f6a9c; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.mar-tab-n { font-style: normal; background: #E5484D; color: #fff; font-size: 11.5px; font-weight: 800; border-radius: 999px; padding: 0 7px; line-height: 18px; }
.men-intro { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 14px; } .men-intro p { flex: 1 1 420px; margin: 0; font-size: 13.5px; color: #3b4b5b; }
.men-l { display: grid; gap: 8px; margin-bottom: 8px; }
.men-f { display: grid; grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1.1fr) auto; align-items: center; gap: 12px; background: #fff; border: 1px solid #e3e9ef; border-left: 4px solid #E5484D; border-radius: 12px; padding: 12px 14px; }
.men-f.men-ok { border-left-color: #3DBE76; } .men-f.men-auto { border-left-color: #E8C25A; }
.men-c b, .men-m b { display: block; font-size: 14.5px; } .men-c small, .men-m small { display: block; color: #6b7a88; font-size: 12.5px; } .men-c .mar-est { display: inline-block; margin-top: 6px; }
.men-flecha { color: #9aa7b4; font-size: 20px; text-align: center; }
.men-m.prop { background: #FFF8E1; border: 1px dashed #E8C25A; border-radius: 10px; padding: 8px 10px; } .men-m .mov-al { display: block; margin-top: 3px; font-size: 12px; }
.men-m .mov-por { color: #7A5A00; } .men-m .mov-ya { color: #B42318; } .men-quien { display: block; color: #6b7a88; font-size: 12px; margin-top: 3px; }
.men-acc { display: flex; flex-direction: column; gap: 6px; } .men-acc .btn { white-space: nowrap; }
@media (max-width: 800px) { .mar-cab { flex-wrap: wrap; } .mar-tabs { order: 3; width: 100%; } .mar-tabs button { flex: 1; justify-content: center; padding: 8px 6px; font-size: 13px; }
  .men-f { grid-template-columns: 1fr; } .men-flecha { display: none; } .men-acc { flex-direction: row; } .men-acc .btn { flex: 1; min-height: 40px; } }
/* 27/10/2026: cifras de «📚 Enlaces con Moodle» como filtros */
button.men-kf { font: inherit; text-align: left; cursor: pointer; transition: box-shadow .15s, border-color .15s; }
button.men-kf:hover { border-color: #9fb3c8; box-shadow: 0 2px 8px rgba(12, 42, 64, .08); }
button.men-kf.on { border-color: #2563A8; box-shadow: 0 0 0 2px #2563A8 inset; }
.men-todos { border: 0; background: none; padding: 0; font: inherit; color: #2563A8; cursor: pointer; text-decoration: underline; }
.men-conv { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 12px; } .men-conv-t { font-weight: 600; color: #1c2b3a; margin-right: 4px; }
.men-conv .res-chip small { opacity: .75; margin-left: 4px; } .men-cv { color: #2563A8; font-weight: 600; }
/* 27/10/2026: «🔎 Buscar en Moodle» dentro de la fila de «📚 Enlaces con Moodle» (sustituye a «Cambiar») */
.men-bus { grid-column: 1 / -1; border-top: 1px dashed #d6dee6; padding-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.men-bus .mov-q { width: 100%; }
.men-bus-r { display: flex; flex-direction: column; gap: 6px; max-height: 340px; overflow: auto; }
.men-bus-o { display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid #e3e9ef; border-radius: 10px; padding: 8px 10px; background: #fafcfe; }
.men-bus-o span { display: flex; flex-direction: column; min-width: 0; } .men-bus-o small { color: #5b6b7b; } .men-bus-o em { color: #1F7A4D; font-style: normal; font-weight: 600; }
/* 🚑 26/10 (Domingo: «la ventana es muy pequeña»): el accidente a pantalla completa, con el título y los botones siempre a la vista */
#modalCaja.facc-modal{width:100vw!important;max-width:100vw!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}
#modal:has(#modalCaja.facc-modal){padding:0!important;align-items:stretch!important}
#modalCaja.facc-modal>h3{margin:0;padding:14px max(20px,calc((100vw - 1280px)/2));border-bottom:1px solid var(--linea,#d7e1ea);background:#fff}
#modalCaja.facc-modal>p.est-ayuda{margin:0;padding:6px max(20px,calc((100vw - 1280px)/2)) 0}
#modalCaja.facc-modal>.facc-f{flex:1;overflow-y:auto;padding:14px max(20px,calc((100vw - 1280px)/2)) 24px}
#modalCaja.facc-modal>.modal-pie{margin:0;padding:12px max(20px,calc((100vw - 1280px)/2));border-top:1px solid var(--linea,#d7e1ea);background:#fff;justify-content:flex-end}
#modalCaja.facc-modal>.modal-pie #faccSi{min-width:200px}
.facc-modal details.facc-mas[open]{padding:14px 16px;background:#fff;border-style:solid}
.facc-modal details.facc-mas summary{font-size:15px;color:var(--azul,#0D3B66)}
.facc-modal .facc-h5{grid-column:1/-1;border-top:1px solid #eef2f6;padding-top:10px}
.facc-modal .facc-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.facc-modal .facc-codg{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.facc-modal .facc-g4,.facc-modal .facc-codg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.facc-modal .facc-g4,.facc-modal .facc-codg{grid-template-columns:1fr}}
#modalCaja.facc-modal .facc-est{margin-right:auto;font-size:13px;color:var(--tinta-suave)}#modalCaja.facc-modal .facc-est-ok{color:#1E7B4D;font-weight:600}#modalCaja.facc-modal .facc-est-no{color:#B42318;font-weight:600}
.facc-modal #faccCub{grid-column:1/-1}.facc-modal #faccCub:empty{display:none}.facc-cub-b{margin-top:8px}
.facc-modal #faccDelta{grid-column:1/-1}.facc-modal #faccDelta:empty{display:none}.facc-modal #faccDelta .facc-falta{margin:6px 0 0;columns:2;column-gap:28px}@media (max-width:820px){.facc-modal #faccDelta .facc-falta{columns:1}}
.facc-modal #faccDelta .facc-falta{padding-left:20px}
/* 🎬 27/10/2026: varios borradores de vídeo por curso y la tarjeta «Vídeos para descargar y compartir» de Control → Publicidad */
.vg-borrs { display: flex; flex-direction: column; gap: 12px; margin-top: 10px; }
.vg-borr { border: 1.5px solid var(--linea); border-radius: 12px; padding: 12px; background: var(--papel); }
.vg-borr.vg-listo { display: grid; }
.vg-b-cab b { display: block; font-size: 14px; } .vg-b-cab small { color: var(--tinta-suave); font-size: 12.5px; }
.vg-borr .vg-bts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.vg-opc .chip { white-space: normal; text-align: left; }
.vgl-elegir { margin: 10px 0; } .vgl-elegir input[type=search] { width: 100%; box-sizing: border-box; }
.vgl-cursos { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px; max-height: 260px; overflow: auto; margin-top: 8px; padding: 2px; }
.vgl-curso { display: flex; gap: 8px; align-items: flex-start; padding: 8px 10px; border: 1.5px solid var(--linea); border-radius: 10px; cursor: pointer; background: var(--papel); }
.vgl-curso.on { border-color: var(--oceano); background: var(--arena); } .vgl-curso input { margin-top: 3px; flex: 0 0 auto; }
.vgl-curso b { display: block; font-size: 13.5px; line-height: 1.3; } .vgl-curso small { display: block; font-size: 12px; color: var(--tinta-suave); }
.vgl .wa-campo input { width: 100%; box-sizing: border-box; }
.vgl-prog { margin: 8px 0; font-weight: 700; font-size: 13.5px; color: var(--oceano-osc); } .vgl-prog:empty { display: none; }
.vgl-grupo { margin-top: 14px; } .vgl-grupo h4 { margin: 0 0 4px; font-size: 15px; display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.vgl-grupo h4 small { color: var(--tinta-suave); font-weight: 400; font-size: 12.5px; }
/* 🙂 27/10/2026: elegir la cara de HeyGen (p. ej. Noemi) */
.vg-caras { margin-top: 12px; } .vg-caras > label { display: block; font-size: 12.5px; font-weight: 700; margin-bottom: 5px; }
.vg-cara { display: inline-flex; align-items: center; gap: 6px; } .vg-cara img { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; }
.vg-caras-bus { display: flex; gap: 6px; margin-top: 8px; } .vg-caras-bus input { flex: 1; min-width: 0; box-sizing: border-box; }
/* 27/10/2026 · Convocatorias: resumen de requisitos en la tarjeta y ventana «⚙️ Configurar requisitos» */
.cvr-res{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--linea);border-radius:10px;overflow:hidden}
.cvr-res li{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:13px;color:var(--tinta-suave);background:#F8FAFC}.cvr-res li+li{border-top:1px solid var(--linea)}
.cvr-res-i{width:20px;text-align:center}.cvr-res-n{flex:1;font-weight:600}.cvr-res-v{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:#EEF1F5;color:#7A8796;white-space:nowrap}
.cvr-res li.on{background:#fff;color:var(--tinta)}.cvr-res li.on .cvr-res-v{background:#E3F5EA;color:#1F7A44}
.modal-caja.cvr-modal{max-width:640px;padding:0;display:flex;flex-direction:column}.cvr-m-cab{padding:20px 22px 6px}.cvr-m-cab h3{margin:0 0 4px;color:var(--marino)}
.cvr-cfg{padding:6px 22px 4px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.cvr-modal #cvrErr{padding:0 22px}.cvr-modal .modal-pie{display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:var(--papel);padding:12px 22px 16px;border-top:1px solid var(--linea);margin:0}
.cvr-sec{border:1.5px solid var(--linea);border-radius:14px;background:#fff;transition:border-color .15s}.cvr-sec.on{border-color:#9FD8B4;box-shadow:0 1px 0 #9FD8B4}
.cvr-sec-cab{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer}.cvr-sec-i{font-size:22px;width:30px;text-align:center}.cvr-sec-t{flex:1;min-width:0}.cvr-sec-t b{display:block;font-size:14.5px;color:var(--marino)}.cvr-sec-t small{display:block;font-size:12.5px;color:var(--tinta-suave);line-height:1.35;margin-top:2px}
.cvr-sec-cuerpo{border-top:1px dashed var(--linea);padding:12px 14px 14px;display:flex;flex-direction:column;gap:14px;background:#FAFCFB;border-radius:0 0 14px 14px}
.cvr-campo-num{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cvr-campo b{font-size:13.5px;color:var(--tinta)}
.cvr-num{display:inline-flex;align-items:center;border:1.5px solid var(--linea);border-radius:10px;background:#fff;overflow:hidden}.cvr-num button{width:36px;height:38px;border:0;background:#F1F5F9;font-size:18px;font-weight:700;color:var(--marino);cursor:pointer}.cvr-num button:hover{background:#E2E8F0}
.cvr-num input{width:56px;height:38px;border:0;text-align:center;font:inherit;font-size:16px;font-weight:700;color:var(--tinta);-moz-appearance:textfield}.cvr-num input::-webkit-inner-spin-button{-webkit-appearance:none}.cvr-num span{padding-right:8px;font-weight:700;color:var(--tinta-suave)}
.cvr-campo-cab{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.cvr-cuenta{font-size:12px;font-weight:700;color:#1F7A44;background:#E3F5EA;border-radius:999px;padding:2px 9px}
.cvr-atajos{margin-left:auto;display:flex;gap:4px}.cvr-atajos button{border:0;background:none;color:var(--oceano);font-weight:700;font-size:12.5px;cursor:pointer;padding:4px 6px;border-radius:6px}.cvr-atajos button:hover{background:#EEF4F9}
.cvr-pills{display:flex;flex-wrap:wrap;gap:6px}.cvr-pill{border:1.5px solid var(--linea);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:600;color:var(--tinta-suave);cursor:pointer;text-align:left}
.cvr-pill:hover:not(:disabled){border-color:var(--oceano)}.cvr-pill.on{background:#E3F5EA;border-color:#2E9E5B;color:#1F7A44}.cvr-pill i{font-style:normal;color:var(--oceano)}.cvr-pill:disabled{cursor:default}
.cvr-ayuda{display:block;margin-top:8px;font-size:12px;color:var(--tinta-suave)}
@media (max-width:640px){.modal-caja.cvr-modal{max-width:100%;border-radius:16px 16px 0 0;max-height:92dvh}.cvr-m-cab,.cvr-cfg,.cvr-modal .modal-pie{padding-left:16px;padding-right:16px}}
.fu-vc{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 2px}.fu-vc span{border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;background:#fff}.fu-vc .fu-vc-ok{color:#1F7A44;background:#E3F5EA}.fu-vc .fu-vc-no{color:#9A5A00}
.fu-c small i.fu-mod{font-style:normal;font-weight:700;color:var(--marino)}
.fu-tot{font-size:12.5px;font-weight:700;color:var(--marino);margin:4px 2px 2px}.fu-tot small{font-weight:400;color:var(--tinta-suave)}
.fu-cp{display:flex;flex-wrap:wrap;gap:4px;margin:-4px 0 6px}.fu-cp span{font-size:11.5px;background:#F1F5F9;border-radius:999px;padding:2px 8px;color:var(--tinta-suave)}.fu-cp b{color:var(--tinta)}
.cvr-tabs{display:flex;gap:4px;background:#EEF1F5;border-radius:10px;padding:3px;align-self:flex-start}.cvr-tabs button{border:0;background:none;border-radius:8px;padding:6px 14px;font:inherit;font-size:13px;font-weight:700;color:var(--tinta-suave);cursor:pointer}.cvr-tabs button.on{background:#fff;color:var(--marino);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.cvr-campo-num .cvr-tag{flex-basis:100%;text-align:right;font-size:11.5px;font-weight:700;margin-top:-8px;min-height:0}.cvr-tag.no{color:#33475B;font-weight:600}.cvr-tag.libre{color:#7A8796}

/* 27/10/2026 · tarjeta del expediente FUNDAE, rehecha: cifras clave, requisitos de una línea (con detalle plegado), plegables y cursos */
.fu-card{gap:14px;padding:16px 18px}
.fu-est{border-radius:999px;padding:3px 10px;font-size:12.5px;background:#EEF1F5}.fu-est-ok{background:#E3F5EA;color:#1F7A44}.fu-est-amb{background:#FDF0DC;color:#9A5A00}.fu-est-rojo{background:#FBE4E4;color:#B03030}
.fu-kpi{grid-template-columns:repeat(4,minmax(0,1fr))}.fu-kpi b{font-size:20px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fu-kpi b small{display:inline;font-size:13px;font-weight:700;color:var(--tinta-suave)}
@media (max-width:520px){.fu-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fu-sec{display:flex;flex-direction:column;gap:6px}.fu-sec-t{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-suave)}.fu-sec-t span{margin-left:auto;text-transform:none;letter-spacing:0;font-size:12px;font-weight:700;background:#EEF1F5;border-radius:999px;padding:1px 9px}
.fu-rs{border:1px solid var(--linea);border-radius:12px;overflow:hidden}
.fu-r+.fu-r{border-top:1px solid var(--linea)}.fu-r>summary,div.fu-r{display:grid;grid-template-columns:24px minmax(0,1fr) auto 90px 14px;align-items:center;gap:10px;padding:9px 12px;list-style:none}
.fu-r>summary{cursor:pointer}.fu-r>summary::-webkit-details-marker{display:none}.fu-r>summary:hover{background:#F8FAFC}
.fu-r-i{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:#fff}
span.fu-r-ok{background:#2E9E5B}span.fu-r-amb{background:#E8962A}span.fu-r-rojo{background:#D64545}
.fu-r-t{min-width:0}.fu-r-t b{display:block;font-size:13.5px;line-height:1.25}.fu-r-t small{display:block;font-size:12px;color:var(--tinta-suave);line-height:1.3}.fu-r-t em{font-style:normal;font-weight:700;color:#9A5A00}
.fu-r-v{font-weight:800;font-size:14.5px;white-space:nowrap;text-align:right}.fu-r-v small{font-size:12px;font-weight:600;color:var(--tinta-suave)}
.fu-r-bar{height:6px;background:#EEF2F6;border-radius:99px;overflow:hidden}.fu-r-bar span{display:block;height:100%;border-radius:99px;transition:width .6s ease}
.fu-r-mas{font-size:11px;color:var(--tinta-suave);transition:transform .15s}.fu-r[open] .fu-r-mas{transform:rotate(180deg)}
.fu-r-det{padding:2px 12px 12px 46px;display:flex;flex-direction:column;gap:6px}.fu-r-nota{display:block;margin:0;font-size:12px;color:var(--tinta-suave)}
.fu-chips{display:flex;flex-wrap:wrap;gap:5px}.fu-chips span{font-size:12px;font-weight:600;background:#F1F5F9;color:var(--tinta-suave);border-radius:999px;padding:3px 9px}.fu-chips b{color:var(--tinta)}.fu-chips .si{background:#E3F5EA;color:#1F7A44}.fu-chips .si b{color:#1F7A44}.fu-chips .no{background:#FDF0DC;color:#9A5A00}.fu-chips .no b{color:#9A5A00}
@media (max-width:520px){.fu-r>summary,div.fu-r{grid-template-columns:24px minmax(0,1fr) auto 14px}.fu-r-bar{grid-column:2/4;grid-row:2}.fu-r-det{padding-left:12px}}
.fu-avisos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.fu-avisos li{font-size:12.5px;font-weight:700;color:#9A5A00;background:#FDF6EA;border-radius:8px;padding:6px 10px}.fu-avisos li.rojo{color:#B03030;background:#FBEAEA}
.fu-pleg{border:1px solid var(--linea);border-radius:12px;padding:0 12px}.fu-pleg>summary{cursor:pointer;padding:9px 0;font-size:13px;font-weight:700;list-style:none;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.fu-pleg>summary::-webkit-details-marker{display:none}
.fu-pleg>summary small{font-weight:500;font-size:12px;color:var(--tinta-suave)}.fu-pleg>summary::after{content:'▾';margin-left:auto;font-size:11px;color:var(--tinta-suave)}.fu-pleg[open]>summary::after{transform:rotate(180deg)}.fu-pleg[open]{padding-bottom:10px}.fu-pleg[open]>:not(summary){margin-top:2px}
.fu-card .fu-cursos{border-top:0;padding-top:0}.fu-c-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.fu-c-tags i{font-style:normal;font-size:11.5px;font-weight:700;color:var(--marino);background:#EEF4F9;border-radius:6px;padding:1px 7px}
@media (max-width:520px){.fu-card .fu-xls{min-width:0;width:64px;padding:4px;font-size:11.5px}.fu-pleg>summary{flex-wrap:wrap}}
.fu-cct{display:flex;flex-direction:column;border:1px solid var(--linea);border-radius:10px;overflow:hidden;background:#fff}.fu-cct>div{display:grid;grid-template-columns:22px minmax(110px,auto) 1fr auto;gap:8px;align-items:center;padding:6px 10px;font-size:12.5px}.fu-cct>div+div{border-top:1px solid var(--linea)}
.fu-cct .fu-r-i{width:18px;height:18px;font-size:10px}.fu-cct small{color:var(--tinta-suave)}.fu-cct em{font-style:normal;font-weight:700;font-size:12px}.fu-cct .no em{color:#9A5A00}.fu-cct .si em{color:#1F7A44}
@media (max-width:520px){.fu-cct>div{grid-template-columns:22px 1fr auto}.fu-cct>div>span:not(.fu-r-i){grid-column:2/4;grid-row:2}}
/* 27/10/2026 · Control FUNDAE: tocar un requisito, una comunidad o un colectivo abre las personas (ventana .fup-modal) */
button.fu-r{width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;display:grid;grid-template-columns:24px minmax(0,1fr) auto 90px 14px;align-items:center;gap:10px;padding:9px 12px}button.fu-r:hover,button.fu-r:focus-visible{background:#F4F8FB}button.fu-r .fu-r-mas{font-size:16px;color:var(--oceano)}
.fu-ver-todos{align-self:flex-start;border:1.5px solid var(--oceano);background:#fff;color:var(--oceano);border-radius:999px;padding:4px 12px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}.fu-ver-todos:hover{background:#EEF4F9}
.fu-chips button{font:inherit;font-size:12px;font-weight:600;background:#F1F5F9;color:var(--tinta-suave);border:1px solid transparent;border-radius:999px;padding:3px 9px;cursor:pointer}.fu-chips button:hover:not(:disabled){border-color:var(--oceano)}.fu-chips button:disabled{cursor:default;opacity:.75}.fu-chips button b{color:var(--tinta)}
.fu-chips button.si{background:#E3F5EA;color:#1F7A44}.fu-chips button.si b{color:#1F7A44}.fu-chips button.no{background:#FDF0DC;color:#9A5A00}.fu-chips button.no b{color:#9A5A00}
.fu-cct>button{width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;display:grid;grid-template-columns:22px minmax(110px,auto) 1fr auto;gap:8px;align-items:center;padding:6px 10px;font-size:12.5px}.fu-cct>button:hover{background:#F4F8FB}.fu-cct>*+*{border-top:1px solid var(--linea)}
@media (max-width:520px){button.fu-r{grid-template-columns:24px minmax(0,1fr) auto 14px}.fu-cct>button{grid-template-columns:22px 1fr auto}.fu-cct>button>span:not(.fu-r-i){grid-column:2/4;grid-row:2}}
.fu-kpi button{background:#F4F8FB;border:1.5px solid transparent;border-radius:12px;padding:8px 10px;text-align:left;font:inherit;color:inherit;cursor:pointer}.fu-kpi button:hover{border-color:var(--oceano)}.fu-kpi button small{color:var(--oceano)!important;font-weight:700}
.fu-avisos li button{border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.fu-avisos li button u{margin-left:4px}.fu-lnk{border:0;background:none;padding:0;font:inherit;font-weight:800;color:var(--oceano);text-decoration:underline;cursor:pointer}
.modal-caja.fup-modal{max-width:1180px;width:96vw}.fup-cab{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.fup-cab h3{margin:0;color:var(--marino);display:flex;align-items:center;gap:8px}.fup-n{font-size:13px;background:#EEF4F9;color:var(--oceano);border-radius:999px;padding:2px 10px}
.fup-barra{display:flex;align-items:center;gap:10px;margin-bottom:10px}.fup-barra input{flex:1 1 260px;max-width:420px;padding:9px 12px;border:1.5px solid var(--linea);border-radius:10px;font:inherit}.fup-barra small{color:var(--tinta-suave)}
.fup-scroll{max-height:66dvh;overflow:auto}
.fup-cur{max-width:210px}.fup-cur b{display:block;font-size:12.5px}.fup-cur small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;color:var(--tinta-suave);line-height:1.3}
.fup-mail small{overflow-wrap:anywhere}.fup-nom{min-width:150px}.fup-modal .alu-acc{white-space:nowrap}.fup-modal .alu-acc .btn{min-width:36px;padding-left:8px;padding-right:8px}
.fup-mail{min-width:170px}
.fup-fu{min-width:190px}.fup-fu small{display:block;color:var(--tinta-suave);margin-bottom:4px}.fup-falta{display:block;font-size:12px;font-weight:800;color:#9A5A00;margin-bottom:5px}.fup-ok{font-size:12px;font-weight:800;color:#1F7A44}
.fup-ed{display:flex;flex-direction:column;gap:6px;min-width:230px;cursor:default}.fup-ed label{display:flex;flex-direction:column;gap:2px;font-size:11.5px;font-weight:700;color:var(--tinta-suave)}.fup-ed label[hidden]{display:none}
.fup-ed select,.fup-ed input{font:inherit;font-size:13px;padding:6px 8px;border:1.5px solid var(--linea);border-radius:8px;background:#fff;color:var(--tinta);max-width:260px}.fup-ed-pie{display:flex;gap:6px;justify-content:flex-end}.fup-ed .al{font-size:12px;padding:6px 8px;margin:0}
tr.fila-click:has(.fup-ed){background:#F8FBFF}
.fup-bts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.modal-caja.fup-modal.fup-full{max-width:none;width:100vw;height:100dvh;max-height:100dvh;border-radius:0;display:flex;flex-direction:column}.fup-full .fup-scroll{max-height:none;flex:1;min-height:0}
@media (max-width:640px){.fup-cab{flex-direction:column}.fup-bts{justify-content:flex-start}}
.modal:has(>.fup-full){padding:0}.modal-caja.fup-modal.fup-full{width:100%}
.fu-an1{display:flex;flex-direction:column;gap:8px;border:1px solid var(--linea);border-radius:12px;padding:10px 12px}.fu-an1-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:#EEF2F6}.fu-an1-bar span{display:block;height:100%}
.fup-modal td[data-th="Anexo I"] .kb-an1{white-space:nowrap}
/* 27/10/2026 · 🏛️ Seguimiento SEPE (public/js/sepe.js) */
.sp-serv { margin: 12px 0 } .sp-url { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 } .sp-url code { background: var(--arena); border-radius: 10px; padding: 8px 12px; font-size: 14px; word-break: break-all; flex: 1 1 260px }
.sp-pasos { list-style: none; margin: 8px 0 0; padding: 0 } .sp-paso { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; border-top: 1px solid var(--linea) } .sp-paso > div { flex: 1; min-width: 0 } .sp-paso small { display: block; color: var(--tinta-suave); margin-top: 2px } .sp-paso .btn { flex: none }
.sp-pie { text-align: right; margin-top: 6px } .sp-campo { display: block; margin: 10px 0 } .sp-campo > span { display: block; font-size: 12.5px; font-weight: 700; color: var(--tinta-suave); margin-bottom: 4px } .sp-campo input, .sp-campo select { width: 100%; box-sizing: border-box }
.sp-cursos { display: flex; flex-direction: column; gap: 4px; max-height: 220px; overflow: auto } .sp-cur { text-align: left; background: var(--arena); border: 1px solid var(--linea); border-radius: 10px; padding: 8px 10px; cursor: pointer; font: inherit } .sp-cur small { color: var(--tinta-suave) }
.sp-ficha .tarjeta { margin: 12px 0 } .sp-in { max-width: 150px } .sp-auto { color: var(--tinta-suave) } .sp-chk { display: inline-flex; align-items: center; gap: 4px; margin: 0 12px 6px 0 } .sp-tutor { padding: 6px 0 }
.sp-xml { max-height: 360px; overflow: auto; background: var(--arena); border-radius: 10px; padding: 10px; font-size: 12px; white-space: pre-wrap; word-break: break-all }
@media (max-width: 640px) { .sp-paso { flex-wrap: wrap } .sp-paso .btn { width: 100% } }
.fup-est{border:1px solid transparent;background:none;border-radius:999px;padding:2px 4px;font:inherit;cursor:pointer;white-space:nowrap}.fup-est:hover{border-color:var(--oceano);background:#F4F8FB}.fup-est i{font-style:normal;font-size:11px;opacity:.6}.fup-sub{display:block;font-size:11.5px;color:var(--tinta-suave);margin-top:2px}
.fup-sit{display:inline-block;border-radius:8px;padding:3px 9px;font-size:12.5px;font-weight:800;white-space:nowrap}.fup-sit-des{background:#FDE9D3;color:#A04A00;border:1.5px solid #F2B67A}.fup-sit-ocu{background:#E7F0FA;color:#1D5C99}.fup-sit-no{background:#FBE4E4;color:#B03030}
.fup-tags{display:flex;flex-wrap:wrap;gap:3px;margin:-2px 0 5px}.fup-tags i{font-style:normal;font-size:11px;font-weight:700;background:#EEF4F9;color:var(--marino);border-radius:6px;padding:1px 6px}
.fup-ed-col{display:flex;flex-direction:column;gap:3px;font-size:12px}.fup-ed-col>span{font-size:11.5px;font-weight:700;color:var(--tinta-suave)}.fup-ed-col>span small{font-weight:500}.fup-ed-col .chk{font-size:12.5px;font-weight:500;color:var(--tinta);flex-direction:row;align-items:center;gap:6px}
/* 27/10/2026 · Lista negra: supresión de datos (persona suprimida, plazo para contestar y carta) */
.ln-sup-f{background:#F7F9FB}.ln-resp{display:block;font-weight:600;color:#8A5A00}.ln-resp.ok{color:#1E7A3C}.ln-resp.mal{color:#B42318}
.ln-carta textarea{width:100%;box-sizing:border-box;border:1px solid #CDD6E0;border-radius:10px;padding:10px 12px;font:inherit;font-size:.9rem;line-height:1.45;resize:vertical}
.ln-env{display:flex;gap:8px;align-items:flex-start;font-size:.88rem;line-height:1.4;color:#33475B}.ln-env input{margin-top:3px;width:18px;height:18px;flex:none}
/* 🗺 27/10/2026: comunidades de la convocatoria en el anuncio de Meta (teleformación) */
.mt2-cc{margin-top:12px;padding-top:10px;border-top:1px dashed #cfe0ee}.mt2-cc>b{font-size:13.5px;color:#0d4a6e}.mt2-cc>small{display:block;font-size:12px;color:#5b7187;margin:2px 0 7px}
/* 🎉 29/10/2026: ¡Felicidades! reseña de 4-5★ recién llegada */
.rs-fel{text-align:center}.rs-fel-top{font-size:44px;line-height:1;margin:4px 0 6px;animation:rsFelSalta .9s ease-out}.rs-fel h3{margin:0 0 12px;font-size:1.15rem}
.rs-fel-r{text-align:left;background:var(--papel);border:1px solid var(--linea);border-radius:12px;padding:12px 14px}.rs-fel-quien{display:flex;gap:10px;align-items:center}.rs-fel-quien img{width:40px;height:40px;border-radius:50%;object-fit:cover}.rs-fel-quien b{display:block}.rs-fel-quien small{display:block;color:var(--tinta-suave);font-size:12px}
.rs-fel-t{margin:10px 0 0;white-space:pre-wrap;line-height:1.45;max-height:240px;overflow:auto}
.rs-fel-pts{text-align:left;margin:12px 0 4px;padding:10px 14px;border-radius:12px;background:#F3EEFB;color:#3f2a66;font-size:14px;line-height:1.45}.rs-fel-pts>div+div{margin-top:4px}.rs-fel-pts small{display:block;margin-top:6px;color:#6b5a8a;font-size:12.5px}
.rs-fel-mas{margin-right:auto;color:var(--tinta-suave)}
@keyframes rsFelSalta{0%{transform:scale(.3) rotate(-20deg);opacity:0}60%{transform:scale(1.25) rotate(8deg);opacity:1}100%{transform:scale(1) rotate(0)}}
/* 🎂 30/10/2026: broma del cumpleaños del jefe (bizum.js) */
.biz{text-align:center}.biz-top{font-size:54px;line-height:1;margin:4px 0 8px;animation:bizSalta 1s ease-out,bizMenea 1.6s ease-in-out 1s infinite}.biz h3{margin:0 0 10px;font-size:1.25rem}
.biz-txt{margin:0 0 12px;line-height:1.5;font-size:15px}.biz-preg{margin:6px 0 14px;font-size:1.3rem;font-weight:800;color:#c2185b}
.biz-bots{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding-bottom:12px}.biz-bots .btn{min-width:130px;transition:transform .25s ease}
.biz-ok .biz-gr{font-size:1.2rem;font-weight:800;margin:0 0 6px}.biz-sub{margin:0 0 10px;color:var(--tinta-suave)}
@keyframes bizSalta{0%{transform:scale(.3) rotate(-25deg);opacity:0}60%{transform:scale(1.3) rotate(10deg);opacity:1}100%{transform:scale(1) rotate(0)}}
@keyframes bizMenea{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}
