/* Capta · 05-octubre-2.css — del 07/10 al 11/10: inscripciones por día, publicidad, leads, convenios, Anexo I, bandeja rediseñada, plantillas.
   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). */
/* ===== 📅 Inscripciones por día (07/10/2026): tarjetas en móvil, gráfico nuevo, récords y gestos ===== */
.ins-swipe { display: flex; flex-direction: column; gap: 10px; touch-action: pan-y; }
.ins-dia .as-dia-c { transition: transform .18s ease; }
.ins-cal { position: relative; display: inline-flex; align-items: center; gap: 4px; margin: 6px 4px 0; padding: 5px 12px; border-radius: 999px; background: var(--arena); color: var(--oceano); font-size: 12.5px; font-weight: 800; cursor: pointer; min-height: 32px; }
.ins-cal input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.ins-hoy { margin: 6px 4px 0; padding: 5px 12px; border-radius: 999px; border: 1px solid var(--linea); background: #fff; color: var(--tinta); font-size: 12.5px; font-weight: 800; cursor: pointer; min-height: 32px; }
.insg { background: #fff; border: 1px solid var(--linea); border-radius: 14px; padding: 10px 10px 6px; box-shadow: var(--sombra); }
.insg-cab { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; margin-bottom: 4px; }
.insg-cab b { font-size: 13px; color: var(--tinta); } .insg-cab small { font-size: 11.5px; color: var(--tinta-suave); display: inline-flex; align-items: center; gap: 5px; }
.insg-lm { display: inline-block; width: 16px; border-top: 2px dashed var(--guagua); }
.insg-zona { position: relative; display: flex; align-items: stretch; gap: 2px; height: 150px; touch-action: pan-y; }
.insg-media { position: absolute; left: 0; right: 0; border-top: 2px dashed var(--guagua); pointer-events: none; z-index: 1; opacity: .85; }
.insg-b { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; border: 0; background: transparent; padding: 0; cursor: pointer; border-radius: 8px; position: relative; -webkit-tap-highlight-color: transparent; }
.insg-b em { font-style: normal; font-size: 9.5px; font-weight: 800; color: var(--tinta-suave); line-height: 1.2; min-height: 12px; opacity: 0; transition: opacity .15s; }
.insg-b i { position: relative; width: 100%; max-width: 20px; background: linear-gradient(180deg, #8cc0e4, #b9d6ec); border-radius: 6px 6px 2px 2px; display: block; transition: background .15s, transform .15s; transform-origin: bottom; }
.insg-b i u { position: absolute; top: -17px; left: 50%; transform: translateX(-50%); text-decoration: none; font-size: 12px; line-height: 1; }
.insg-b small { font-size: 9px; color: var(--tinta-suave); line-height: 1.15; margin-top: 4px; height: 22px; text-align: center; text-transform: capitalize; }
.insg-b.finde i { background: #dfe8ef; } .insg-b.finde small { opacity: .6; }
.insg-b.mes small { color: var(--oceano); font-weight: 800; }
.insg-b.hoy small { color: var(--oceano); font-weight: 800; }
.insg-b:hover i { background: #6faad6; } .insg-b:hover em { opacity: 1; }
.insg-b.on i, .insg-b.toca i { background: linear-gradient(180deg, var(--oceano-claro), var(--oceano)); transform: scaleX(1.12); box-shadow: 0 2px 8px rgba(15, 106, 156, .3); }
.insg-b.on em, .insg-b.toca em { opacity: 1; color: var(--oceano); font-size: 11px; }
.insg-b.on small { color: var(--tinta); font-weight: 900; }
.insg-b.toca { background: rgba(15, 106, 156, .07); }
.insg-zona:has(.insg-b.toca) .insg-b.on:not(.toca) i { background: #9cc6e4; transform: none; box-shadow: none; }
@media (min-width: 700px) { .insg-b em { opacity: 1; } .insg-b i { max-width: 26px; } .insg-zona { height: 170px; } }
.insg-ayuda { margin: 6px 0 0; font-size: 11px; color: var(--tinta-suave); text-align: center; }
@media (hover: hover) { .insg-ayuda { display: none; } }
.insr { background: #fff; border: 1px solid var(--linea); border-radius: 14px; padding: 10px 12px 12px; box-shadow: var(--sombra); }
.insr-cab { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; } .insr-cab b { font-size: 14px; }
.insr-seg button { font-size: 12px; padding: 6px 10px; min-height: 32px; }
.insr-pod { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.insr-p { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 9px 4px 8px; border-radius: 12px; border: 1px solid var(--linea); background: var(--arena); cursor: pointer; font: inherit; color: var(--tinta); transition: transform .12s, box-shadow .12s; }
.insr-p:hover { transform: translateY(-2px); box-shadow: var(--sombra); }
.insr-p.p1 { background: linear-gradient(180deg, #fff6df, #fff); border-color: #f2d58e; }
.insr-p.on { outline: 2px solid var(--oceano); outline-offset: 1px; }
.insr-m { font-size: 20px; line-height: 1; } .insr-p b { font-size: 22px; line-height: 1.1; color: var(--oceano-osc); } .insr-p small { font-size: 11px; color: var(--tinta-suave); text-transform: capitalize; text-align: center; }
.ins-cuerpo-dia { display: flex; flex-direction: column; gap: 10px; transition: opacity .15s; }
.ins-cuerpo-dia.ins-cargando { opacity: .45; pointer-events: none; }
.ins-entra-d { animation: insEntraD .22s ease; } .ins-entra-i { animation: insEntraI .22s ease; }
@keyframes insEntraD { from { opacity: .2; transform: translateX(26px); } to { opacity: 1; transform: none; } }
@keyframes insEntraI { from { opacity: .2; transform: translateX(-26px); } to { opacity: 1; transform: none; } }
.ins-esq { display: flex; flex-direction: column; gap: 10px; } .ins-esq i { display: block; height: 58px; border-radius: 14px; background: linear-gradient(90deg, #eef3f7 25%, #f7fafc 50%, #eef3f7 75%); background-size: 200% 100%; animation: insEsq 1.2s infinite linear; } .ins-esq i.alto { height: 160px; }
@keyframes insEsq { from { background-position: 200% 0; } to { background-position: -200% 0; } }
/* cada inscripción: en ordenador fila; en móvil tarjeta (hora + nombre arriba, curso, etiquetas y botones abajo a todo lo ancho) */
.ins-it .ins-main > b { display: block; line-height: 1.25; color: var(--oceano-osc); }
@media (max-width: 700px) {
  .ins-it { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "h m" "a a"; align-items: start; gap: 6px 10px; padding: 12px 12px 12px 14px; }
  .ins-it .ins-h { grid-area: h; min-width: 0; padding: 3px 7px; border-radius: 7px; background: var(--arena); color: var(--oceano); font-size: 12px; }
  .ins-it .ins-main { grid-area: m; } .ins-it .ins-main > b { font-size: 15.5px; }
  .ins-it .ins-main > small { white-space: normal; margin-top: 2px; }
  .ins-it .ins-acc { grid-area: a; margin-left: 0; display: flex; gap: 6px; }
  .ins-it .ins-acc .btn-winfo { flex: 1; min-height: 42px; font-size: 14px; }
  .ins-it .ins-b { width: 46px; height: 42px; flex: none; }
  .ins-it .ins-tags span { font-size: 11.5px; padding: 3px 8px; }
}
.as-dia-c b.ins-fecha { text-transform: none; } .as-dia-c b.ins-fecha::first-letter { text-transform: uppercase; }
.ins-dia-acc { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; } .ins-dia-acc .ins-cal, .ins-dia-acc .ins-hoy { margin: 6px 0 0; }
@media (max-width: 700px) { .insg-b small { font-size: 8.5px; } .insg-b small span { visibility: hidden; } .insg-b small span.clave { visibility: visible; } .insg-b.on small span { visibility: visible; } }
.insg-b em u { display: block; text-decoration: none; font-size: 12px; line-height: 1; margin-bottom: 1px; } .insg-b em:has(u) { opacity: 1; min-height: 25px; }
.insr-seg button { white-space: nowrap; }
.inse { background: #fff; border: 1px solid var(--linea); border-radius: 14px; padding: 10px 12px 12px; box-shadow: var(--sombra); }
.inse .insr-seg { flex-wrap: nowrap; } .inse .insr-seg button { padding: 6px 8px; }
.inse-sub { margin: 0 0 8px; font-size: 11.5px; color: var(--tinta-suave); display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.inse-l1, .inse-l2 { display: inline-block; width: 10px; height: 10px; border-radius: 3px; background: #9cc8e6; margin-left: 4px; } .inse-l2 { background: var(--alta); }
.inse-l { display: flex; flex-direction: column; gap: 8px; }
.inse-f { display: grid; grid-template-columns: minmax(110px, 38%) 1fr; gap: 8px; align-items: center; }
.inse-n { font-size: 13px; font-weight: 700; color: var(--tinta); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inse-b { display: flex; align-items: center; gap: 6px; min-width: 0; }
.inse-b i { display: block; height: 18px; border-radius: 6px; background: linear-gradient(90deg, #7fb6dd, #a9cfea); position: relative; overflow: hidden; flex: none; max-width: calc(100% - 64px); transform-origin: left; animation: inseCrece .5s ease; }
.inse-b i u { position: absolute; left: 0; top: 0; bottom: 0; background: var(--alta); }
.inse-b b { font-size: 13px; white-space: nowrap; } .inse-b b small { font-weight: 700; color: var(--alta); font-size: 11px; }
@keyframes inseCrece { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (max-width: 700px) { .inse-f { grid-template-columns: 1fr; gap: 3px; } .inse-b i { max-width: calc(100% - 80px); } }
.insc-f { width: 100%; border: 1px solid transparent; background: transparent; padding: 4px 6px; border-radius: 10px; cursor: pointer; font: inherit; text-align: left; color: inherit; }
.insc-f:hover { background: var(--arena); } .insc-f.on { background: #eaf3fa; border-color: var(--oceano); }
.insc .inse-n { white-space: normal; }
.insc .inse-b i { max-width: calc(100% - 100px); }
.inse-b b small.inse-ins { color: var(--tinta-suave); }

/* ===== 💶 Publicidad (07/10/2026) ===== */
.pub-cab { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.pub-cab b { display: block; font-size: 17px; } .pub-cab small { color: var(--tinta-suave); font-size: 12px; }
.pub-cab-acc { display: flex; gap: 6px; align-items: center; } .pub-cab-acc select { min-height: 36px; border-radius: 10px; border: 1px solid var(--linea); padding: 0 8px; font: inherit; }
.pub-cargando { text-align: center; color: var(--tinta-suave); font-size: 13px; }
.pub-plats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 10px; }
.pub-plat { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--linea); background: #fff; cursor: pointer; font: inherit; color: var(--tinta); text-align: left; box-shadow: var(--sombra); transition: transform .12s; }
.pub-plat:hover { transform: translateY(-1px); } .pub-plat span { font-size: 12.5px; font-weight: 800; color: var(--tinta-suave); } .pub-plat b { font-size: 19px; color: var(--oceano-osc); } .pub-plat small { font-size: 11.5px; color: var(--tinta-suave); }
.pub-plat.on { border-color: var(--oceano); outline: 2px solid var(--oceano); outline-offset: -1px; background: #f3f9fd; }
.pp-meta { border-top: 4px solid #1877f2; } .pp-google { border-top: 4px solid #34a853; } .pp-youtube { border-top: 4px solid #ff0033; } .pp-spotify { border-top: 4px solid #1db954; }
.pub-barra { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 8px; }
.pub-barra input { flex: 1; min-width: 200px; min-height: 42px; border-radius: 12px; border: 1px solid var(--linea); padding: 0 12px; font: inherit; font-size: 15px; }
.pub-barra .as-seg button { white-space: nowrap; }
.pub-tot { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: var(--tinta-suave); padding: 8px 12px; background: var(--arena); border-radius: 12px; margin-bottom: 10px; } .pub-tot b { color: var(--tinta); }
.pub-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 12px; }
.pub-f { background: #fff; border: 1px solid var(--linea); border-radius: 16px; padding: 12px 14px; box-shadow: var(--sombra); display: flex; flex-direction: column; gap: 8px; border-left: 5px solid var(--linea); animation: insEntraD .25s ease; }
.pf-meta { border-left-color: #1877f2; } .pf-google { border-left-color: #34a853; } .pf-youtube { border-left-color: #ff0033; } .pf-spotify { border-left-color: #1db954; }
.pe-terminada { opacity: .85; }
.pub-f header { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.pub-pl { font-size: 12.5px; font-weight: 800; } .pub-pl small { font-weight: 600; color: var(--tinta-suave); }
.pub-est { font-size: 12px; font-weight: 800; padding: 3px 9px; border-radius: 999px; background: var(--arena); white-space: nowrap; } .pe-activa .pub-est { background: var(--alta-fondo); color: var(--alta); } .pe-pausada .pub-est { background: var(--gestion-fondo); color: var(--gestion); }
.pub-f h4 { margin: 0; font-size: 15.5px; line-height: 1.3; color: var(--oceano-osc); } .pub-f h4 button { all: unset; cursor: pointer; } .pub-f h4 button:hover { text-decoration: underline; }
.pub-meta { margin: 0; font-size: 12px; color: var(--tinta-suave); }
.pub-ms { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 6px; }
.pub-m { background: var(--arena); border-radius: 10px; padding: 7px 8px; } .pub-m b { display: block; font-size: 16px; color: var(--tinta); } .pub-m small { font-size: 10.5px; color: var(--tinta-suave); line-height: 1.2; display: block; }
.pm-g b { color: var(--oceano); } .pm-l { background: var(--alta-fondo); } .pm-l b { color: var(--alta); }
.pub-ds { display: flex; flex-direction: column; gap: 4px; border-top: 1px dashed var(--linea); padding-top: 8px; } .pub-d { font-size: 12.5px; color: var(--tinta-suave); } .pub-d b { color: var(--tinta); } .pub-mal { color: var(--baja); font-weight: 800; }
.pub-f footer a { font-size: 12.5px; font-weight: 700; color: var(--oceano); text-decoration: none; }
.pub-pag { display: flex; justify-content: center; align-items: center; gap: 12px; margin: 14px 0; } .pub-pag .btn { min-height: 44px; }
@media (max-width: 700px) { .pub-plats { grid-template-columns: repeat(2, 1fr); } .pub-plats .pub-plat:first-child { grid-column: span 2; } .pub-lista { grid-template-columns: 1fr; } .pub-barra .as-seg { width: 100%; overflow-x: auto; } }

/* ===== 🚨 Leads sin contactar al entrar en un curso (08/10/2026) ===== */
.lurg-franja { display: flex; align-items: center; gap: 8px 10px; flex-wrap: wrap; margin: 0 0 10px; padding: 10px 12px; border-radius: 14px; background: #fdecec; border: 2px solid #d93a2b; color: #8f1d14; animation: lurgPulso 1.4s ease-in-out infinite; }
.lurg-franja b { font-size: 14.5px; } .lurg-franja > span:not(.lurg-dot) { font-size: 12.5px; flex: 1; min-width: 140px; }
.lurg-dot { width: 10px; height: 10px; border-radius: 50%; background: #d93a2b; animation: lurgDot 1s ease-in-out infinite; flex: none; }
.lurg-btn { background: #d93a2b !important; color: #fff !important; border: 0 !important; font-weight: 800; }
@keyframes lurgPulso { 0%, 100% { box-shadow: 0 0 0 0 rgba(217, 58, 43, .35); } 50% { box-shadow: 0 0 0 7px rgba(217, 58, 43, 0); } }
@keyframes lurgDot { 0%, 100% { opacity: 1; } 50% { opacity: .2; } }
.lurg-velo { position: fixed; inset: 0; z-index: 9000; background: rgba(13, 27, 42, .55); display: grid; place-items: center; padding: 16px; animation: lurgVelo .2s ease; }
@keyframes lurgVelo { from { opacity: 0; } to { opacity: 1; } }
.lurg-win { width: min(460px, 100%); max-height: 90vh; overflow: auto; background: #fff; border-radius: 20px; padding: 20px 18px 16px; border: 3px solid #d93a2b; text-align: center; animation: lurgEntra .3s ease, lurgBorde 1.2s ease-in-out .3s infinite; }
@keyframes lurgEntra { from { transform: scale(.92); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes lurgBorde { 0%, 100% { border-color: #d93a2b; box-shadow: 0 0 0 0 rgba(217, 58, 43, .45); } 50% { border-color: #ff7a6b; box-shadow: 0 0 0 10px rgba(217, 58, 43, 0); } }
.lurg-ico { font-size: 40px; line-height: 1; animation: lurgDot 1s ease-in-out infinite; }
.lurg-tag { display: inline-block; margin: 6px 0 2px; padding: 3px 12px; border-radius: 999px; background: #d93a2b; color: #fff; font-weight: 900; font-size: 12px; letter-spacing: .12em; }
.lurg-win h3 { margin: 6px 0 6px; font-size: 20px; color: #8f1d14; } .lurg-win p { margin: 0 0 10px; font-size: 14px; color: var(--tinta); line-height: 1.45; }
.lurg-l { list-style: none; margin: 0 0 12px; padding: 0; text-align: left; display: flex; flex-direction: column; gap: 6px; }
.lurg-l li { background: #fff5f4; border: 1px solid #f5c9c4; border-radius: 10px; padding: 7px 10px; } .lurg-l li b { display: block; font-size: 14px; } .lurg-l li small { color: var(--tinta-suave); font-size: 12px; } .lurg-l .lurg-mas { background: none; border: 0; color: var(--tinta-suave); font-size: 12.5px; }
.lurg-acc { display: flex; gap: 8px; } .lurg-acc .btn { flex: 1; min-height: 48px; font-size: 15px; }
.lurg-pie { display: block; margin-top: 10px; font-size: 11.5px; color: var(--tinta-suave); }

/* ===== 👥 Convenios: varias personas a la vez (08/10/2026) ===== */
.cvn-equipo-av { background: #eef6fc; border: 1px solid #cfe3f2; color: var(--tinta); border-radius: 12px; padding: 9px 12px; font-size: 13px; margin-bottom: 12px; }
.cvn-sub .btn { margin-left: auto; }
.cvn-stc { display: inline-block; font-style: normal; font-size: 11.5px; font-weight: 700; border-radius: 7px; padding: 2px 8px; margin: 4px 4px 0 0; }
.cvn-stc.env { background: #f1f3f5; color: #59636e; } .cvn-stc.res { background: #fff4dc; color: #8a6100; } .cvn-stc.mia { background: #e7f6ee; color: #17693a; } .cvn-stc.rec { background: #fdecec; color: #a3261b; } .cvn-stc.otra { background: #e8f1fd; color: #1f5fa8; }
.cvn-pe.bloq { opacity: .6; } .cvn-pe.bloq b { text-decoration: line-through; text-decoration-color: rgba(0,0,0,.25); }
.cvn-busi.bloq { opacity: .7; }
.cvn-alta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .cvn-alta label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 700; color: var(--tinta); } .cvn-alta input, .cvn-alta textarea { min-height: 44px; border: 1px solid var(--linea); border-radius: 10px; padding: 8px 10px; font: inherit; font-weight: 400; }
label.cvn-alta { grid-template-columns: 1fr; margin-top: 10px; }
@media (max-width: 600px) { .cvn-alta { grid-template-columns: 1fr; } }
.cvn-sim { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; } .cvn-simi { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--linea); border-radius: 10px; } .cvn-simi.igual { border-color: #d93a2b; background: #fff5f4; } .cvn-simi small { display: block; color: var(--tinta-suave); font-size: 12px; } .cvn-ok { color: var(--alta); font-weight: 700; }
.cvn-marc { display: flex; flex-direction: column; gap: 8px; } .cvn-mf { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; gap: 8px; align-items: center; padding: 4px 6px; border-radius: 10px; } .cvn-mf.yo { background: #eef6fc; }
.cvn-mn { font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cvn-mb { display: flex; align-items: center; gap: 6px; min-width: 0; } .cvn-mb i { display: block; height: 16px; border-radius: 6px; background: linear-gradient(90deg, #7fb6dd, #a9cfea); position: relative; overflow: hidden; flex: none; max-width: calc(100% - 150px); } .cvn-mb i u { position: absolute; inset: 0 auto 0 0; background: var(--alta); } .cvn-mb b { font-size: 13px; white-space: nowrap; } .cvn-mb small { color: var(--tinta-suave); font-weight: 600; }
@media (max-width: 600px) { .cvn-mf { grid-template-columns: 1fr; gap: 2px; } .cvn-mb i { max-width: calc(100% - 160px); } }
.cvn-res { display: flex; flex-direction: column; gap: 6px; } .cvn-resi { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--linea); border-radius: 10px; } .cvn-resi small { display: block; color: var(--tinta-suave); font-size: 12px; }
.cvn-llam { margin-top: 6px; display: inline-block; background: #fff4dc; color: #8a6100; font-weight: 800; font-size: 12.5px; border-radius: 8px; padding: 3px 9px; }
.cvn-resi .btn { white-space: nowrap; flex: none; }
.cvn-resi .btn { white-space: nowrap; flex: none; }

/* ===== 📝 Anexo I FUNDAE en la tarjeta del alumno (08/10/2026) ===== */
.kb-an1 { display: inline-flex; align-items: center; gap: 4px; margin: 6px 4px 0 0; border: 1.5px solid #0f6a9c; background: #eef6fc; color: #0f5a82; font: inherit; font-size: 12.5px; font-weight: 800; border-radius: 10px; padding: 6px 10px; min-height: 34px; cursor: pointer; }
.kb-an1:hover { background: #dcecf8; } .kb-an1.med { border-color: #e0b04a; background: #fff6e0; color: #8a6100; } .kb-an1.ok { border-color: #1f8a5b; background: #e2f3ea; color: #17693a; }
/* 📧 28/10/2026: menú «¿Cómo se lo mandamos?» del Anexo I (💬 WhatsApp o 📧 email) */
.an1-menu { position: fixed; z-index: 10000; display: flex; flex-direction: column; gap: 4px; min-width: 190px; background: var(--papel, #fff); border: 1px solid #c9d7e3; border-radius: 12px; padding: 8px; box-shadow: 0 10px 28px rgba(12,42,64,.22); }
.an1-menu small { color: #5b6b7a; font-weight: 700; padding: 2px 6px 4px; }
.an1-menu button { border: 0; background: transparent; text-align: left; font: inherit; font-size: 14px; font-weight: 700; color: #0f3a55; padding: 9px 10px; border-radius: 8px; min-height: 40px; cursor: pointer; }
.an1-menu button:hover, .an1-menu button:focus-visible { background: #eef6fc; outline: none; }
.an1-vis { width: 100%; height: min(75vh, 900px); border: 1px solid var(--linea); border-radius: 12px; background: #fff; }
/* 🏢 Empresa de la persona e informe por sector/convenio (08/10) */
.ficha-sec.ficha-lab{display:block;background:#fff;border:1px solid var(--linea,#e3e8ee);border-left:4px solid #2E9E5B;border-radius:14px;padding:12px 14px;margin-top:4px}.lab-cab{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.lab-cab h4{margin:0}
.lab-emp{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 6px}.lab-emp b{font-size:16px}.lab-cif{font-size:12.5px;background:var(--fondo,#eef2f6);border-radius:8px;padding:3px 8px;font-weight:700;letter-spacing:.03em}
.lab-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.lab-chip{border:1px solid #cfe3d7;background:#eef8f2;color:#1f6b45;border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;min-height:36px;text-align:left}.lab-chip:disabled{cursor:default;opacity:.85}.lab-chip.on{background:#1f6b45;color:#fff;border-color:#1f6b45}
.lab-datos{margin-top:4px}.lab-pie{display:block;color:#6b7b8a;margin-top:8px;font-size:12px}
.lab-ed label{display:block;font-weight:700;font-size:13.5px;margin:12px 0 0}.lab-ed input{width:100%;margin-top:6px;min-height:46px;padding:10px 12px;border:1.5px solid var(--linea,#d7dee6);border-radius:12px;font:inherit;font-size:16px}
.lab-ta{display:flex;flex-direction:column;gap:6px;margin-top:6px}.lab-ta:empty{display:none}.lab-ta button{border:1.5px solid var(--linea,#d7dee6);background:#fff;border-radius:12px;padding:9px 12px;font:inherit;text-align:left;cursor:pointer;min-height:44px}.lab-ta button b{display:block;font-size:14px}.lab-ta button small{color:#6b7b8a;font-size:12px}.lab-ta button:hover{border-color:#1971c2}
.lab-ta-mas{font-size:12.5px;color:#6b7b8a;padding:2px 4px}.lab-sel{font-size:13px;color:#1f6b45;background:#e9f7ef;border-radius:10px;padding:7px 10px;margin-top:6px}.lab-sel:empty{display:none}.lab-ay{font-size:12.5px;color:#b42323;margin-top:4px}
.lab-tam{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.lab-tam button{border:1.5px solid var(--linea,#d7dee6);background:#fff;border-radius:999px;padding:9px 12px;font:inherit;font-size:13.5px;cursor:pointer;min-height:42px}.lab-tam button.on{background:#1971c2;border-color:#1971c2;color:#fff}
.lab-g2{display:grid;grid-template-columns:120px 1fr;gap:10px}@media(max-width:480px){.lab-g2{grid-template-columns:1fr}}
.lab-fil{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 10px}.lab-fil input{flex:1 1 240px;min-height:44px;padding:10px 12px;border:1px solid var(--linea,#d7dee6);border-radius:12px;font-size:15px}.lab-act{display:flex;flex-wrap:wrap;gap:6px}
.lab-tops{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:8px 0 14px}.lab-top{background:#fff;border-radius:16px;padding:14px;box-shadow:0 2px 12px rgba(0,0,0,.05)}.lab-top h4{margin:0 0 8px}
.lab-bar{position:relative;display:flex;justify-content:space-between;gap:8px;width:100%;border:0;background:#f4f7fa;border-radius:10px;padding:9px 10px;margin-bottom:6px;font:inherit;font-size:13.5px;cursor:pointer;overflow:hidden;text-align:left;min-height:40px}.lab-bar i{position:absolute;left:0;top:0;bottom:0;background:rgba(25,113,194,.13);border-radius:10px;pointer-events:none}.lab-bar span,.lab-bar b{position:relative}.lab-bar:hover{background:#e9f1f9}.lab-bar:disabled{cursor:default}
.lab-lt{margin:6px 0 8px}.lab-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.lab-p{display:flex;flex-direction:column;gap:2px;text-align:left;background:#fff;border:1px solid var(--linea,#e3e8ee);border-radius:14px;padding:11px 12px;font:inherit;cursor:pointer;min-height:44px}.lab-p span{font-size:13.5px}.lab-p small{color:#6b7b8a;font-size:12px}.lab-p:hover{border-color:#1971c2}
.lab-pag{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0}.lab-pag .btn{min-height:44px}
/* ⭐ itinerario a partir de un curso (08/10) */
.cpx-ancla{margin-bottom:12px}.cpx-ancla input{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid #E1E7ED;border-radius:12px;font:inherit;font-size:16px}
.cpx-ancla-r{display:flex;flex-direction:column;gap:6px;margin-top:6px}.cpx-ancla-r:empty{display:none}.cpx-ancla-r button{text-align:left;border:1.5px solid #E1E7ED;background:#fff;border-radius:12px;padding:9px 12px;font:inherit;cursor:pointer;min-height:44px}.cpx-ancla-r button b{display:block;font-size:14px}.cpx-ancla-r button small{color:#6b7b8a;font-size:12px}.cpx-ancla-r button:hover{border-color:#1971c2}
.cpx-ancla-mas{font-size:12.5px;color:#6b7b8a;padding:2px 4px}.cpx-ancla-on{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#FFF6DD;border:1.5px solid #F2D27A;border-radius:12px;padding:9px 12px;margin-top:8px}.cpx-ancla-on small{color:#6b7b8a}.cpx-ancla-on button{margin-left:auto;border:0;background:transparent;font-size:18px;cursor:pointer;min-width:40px;min-height:40px}
.cpx-pasos li.cpx-ancla-c b{color:#9a6b00}
/* ✏️ contacto de la empresa en Convenios (08/10) */
.cvn-edc label{display:block;font-weight:700;font-size:13.5px;margin:12px 0 0}.cvn-edc input{width:100%;margin-top:6px;min-height:46px;padding:10px 12px;border:1.5px solid var(--linea,#d7dee6);border-radius:12px;font:inherit;font-size:16px}.cvn-edc-ay{font-size:12.5px;color:#b42323;margin-top:4px;min-height:0}
/* 📲 compartir imagen: guía de pasos y pie de foto (08/10) */
.anu-guia{margin:2px 0 10px;padding:10px 12px 10px 30px;background:#EAF7EF;border:1px solid #CDEBD8;border-radius:12px;font-size:13.5px;line-height:1.5;color:#1d4d33}.anu-guia li{margin:2px 0}
.anu-pie{width:100%;margin-top:6px;padding:10px 12px;border:1.5px solid var(--linea,#d7dee6);border-radius:12px;font:inherit;font-size:15px;resize:vertical}
.anu-ppal:disabled{opacity:.65;cursor:progress}
/* 08/10: la ventana de la imagen quedaba DETRÁS de Comparte (pantalla completa, z-index 9999) y «no pasaba nada» */
.anu-fondo{z-index:10050}
.aviso{z-index:10100}   /* 08/10: los avisos («Copiado», errores…) quedaban tapados por Comparte y la ventana de la imagen */
/* 🤝 Convenios por pasos (08/10): pestañas numeradas con su estado, ayuda, reservadas, repartir y pegar */
.cvn-pasos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:4px 0 8px}
.cvn-paso{display:flex;gap:10px;align-items:center;text-align:left;min-height:58px;padding:9px 11px;border-radius:14px;border:1.5px solid #E1E7ED;background:#fff;font:inherit;cursor:pointer;color:#16222E;transition:border-color .15s,box-shadow .15s,transform .15s}
.cvn-paso:hover{border-color:#9CC4DC;transform:translateY(-1px)}
.cvn-paso i{flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:.9rem;background:#EEF3F7;color:#0B5E86}
.cvn-paso.hecho i{background:#E3F4EA;color:#1F8A5B}
.cvn-paso span{min-width:0;display:flex;flex-direction:column}.cvn-paso b{font-size:.92rem;line-height:1.2}.cvn-paso small{font-size:.76rem;color:#5B6B7A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cvn-paso.on{background:#0B5E86;border-color:#0B5E86;color:#fff;box-shadow:0 6px 16px rgba(11,94,134,.25)}.cvn-paso.on small{color:#D6E8F3}.cvn-paso.on i{background:rgba(255,255,255,.18);color:#fff}
.cvn-ayuda{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#F2F7FB;border:1px solid #DCE9F2;font-size:.9rem;color:#2A4A60;line-height:1.45}
@media(max-width:900px){.cvn-pasos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px}.cvn-paso{flex:0 0 72%;max-width:250px;scroll-snap-align:start}}
.cvn-segcab{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.cvn-rsv{border-left:4px solid #F2B23E}.cvn-rsvl{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin-top:8px}
.cvn-rsvi{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border:1px solid #EFE3C4;background:#FFFBF0;border-radius:12px}.cvn-rsvi span{min-width:0;display:flex;flex-direction:column}.cvn-rsvi small{color:#6B5B2A;font-size:.78rem}.cvn-rsvi.mia{border-color:#F2B23E}
.cvn-resp{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0 2px}.cvn-respc{font-size:.78rem;font-weight:700;padding:3px 9px;border-radius:999px;background:#EAF2FB;color:#0B5E86}.cvn-respc.yo{background:#E3F4EA;color:#1F6B45}.cvn-respc.no{background:#F4F1EA;color:#7A6A40}
.cvn-respb{border:0;background:transparent;color:#0B5E86;font:inherit;font-size:.8rem;font-weight:700;text-decoration:underline;cursor:pointer;min-height:32px;padding:0 4px}
.cvn-subacc{display:inline-flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.cvn-pegar{width:100%;min-height:150px;padding:12px;border:1.5px solid #D7DEE6;border-radius:12px;font:inherit;font-size:15px;resize:vertical}
.cvn-pprev{margin-top:10px;max-height:40vh;overflow:auto;border-radius:12px}.cvn-pprev:empty{display:none}
.cvn-pph,.cvn-ppf{display:grid;grid-template-columns:1.3fr 1fr .8fr 1.3fr;gap:8px;padding:8px 10px;font-size:.86rem}.cvn-pph{font-weight:700;color:#5B6B7A;background:#F2F5F8;border-radius:10px}.cvn-ppf{border-bottom:1px solid #EEF2F5}.cvn-ppf.mal{background:#FDECEC}.cvn-ppf em{color:#9A6B00;font-size:.8rem}
@media(max-width:640px){.cvn-pph{display:none}.cvn-ppf{grid-template-columns:1fr;gap:2px;border:1px solid #E6ECF1;border-radius:12px;margin-bottom:6px}.cvn-ppf span::before{content:attr(data-l) ': ';color:#8A99A6;font-size:.75rem}}
.cvn-rsvi .btn{white-space:nowrap;flex:0 0 auto}
/* ⏳ Por atender: pestañas grandes y claras (08/10) */
.ins-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:2px 0 14px}
.ins-tab{display:flex;align-items:center;gap:12px;text-align:left;min-height:68px;padding:12px 14px;border-radius:16px;border:1.5px solid #E1E7ED;background:#fff;font:inherit;color:var(--tinta,#16222E);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.ins-tab:hover{border-color:#9CC4DC;transform:translateY(-1px)}
.ins-tab-i{flex:0 0 42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:#EEF3F7}
.ins-tab-t{flex:1;min-width:0;display:flex;flex-direction:column}.ins-tab-t b{font-size:1.02rem}.ins-tab-t small{font-size:.8rem;color:#5B6B7A;line-height:1.3}
.ins-tab-n{font-style:normal;font-weight:800;min-width:34px;height:34px;padding:0 10px;border-radius:999px;display:grid;place-items:center;background:#D64545;color:#fff;font-size:.95rem}.ins-tab-n.cero{background:#E3F4EA;color:#1F8A5B}
.ins-tab.on{border-color:#0B5E86;background:#0B5E86;color:#fff;box-shadow:0 8px 20px rgba(11,94,134,.22)}.ins-tab.on .ins-tab-t small{color:#D6E8F3}.ins-tab.on .ins-tab-i{background:rgba(255,255,255,.16)}.ins-tab.on .ins-tab-n.cero{background:rgba(255,255,255,.2);color:#fff}
@media(max-width:600px){.ins-tabs{gap:8px}.ins-tab{min-height:62px;padding:10px;gap:8px}.ins-tab-i{flex-basis:34px;height:34px;font-size:18px}.ins-tab-t b{font-size:.92rem}.ins-tab-t small{font-size:.72rem}.ins-tab-n{min-width:28px;height:28px;font-size:.85rem}}
.cvn-certp{margin:8px 0 4px;padding:9px 11px;border-radius:12px;background:#FFF6DD;border:1px solid #F2D27A;font-size:.84rem;color:#5A4500;line-height:1.4}
.cvn-edc select{width:100%;margin-top:6px;min-height:46px;padding:10px 12px;border:1.5px solid var(--linea,#d7dee6);border-radius:12px;font:inherit;font-size:16px;background:#fff}
.cvn-subf{display:block;margin-top:12px;padding:16px;border:2px dashed #B9C6D3;border-radius:14px;text-align:center;font-weight:700;cursor:pointer;background:#FBFCFD}.cvn-subf input{display:block;margin:10px auto 0;font-size:14px;border:0;min-height:0}
.cvn-emcorr{margin:6px 0 2px;padding:8px 10px;border-radius:10px;background:#EAF4FF;border:1px solid #C5DDF5;font-size:.82rem;color:#123E5F;line-height:1.4;word-break:break-word}.cvn-emcorr s{color:#9A3B3B}
/* 📝 seguimiento rápido en la tarjeta del convenio (08/10) */
.cvn-segui{margin:8px 0 4px}.cvn-segl-l{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cvn-segui select{flex:1 1 170px;min-height:40px;padding:6px 10px;border:1.5px solid #D7DEE6;border-radius:10px;font:inherit;font-size:14px;background:#fff;color:#16222E;cursor:pointer}
.cvn-segult{font-size:.8rem;font-weight:800;padding:5px 10px;border-radius:999px;background:#EEF3F7;color:#2A4A60;white-space:nowrap}
.cvn-segult.nada{background:#FFF4E5;color:#8A5A00}.cvn-segult.r-interesa{background:#E3F4EA;color:#1F6B45}.cvn-segult.r-pensar{background:#FFF6DD;color:#7A5A00}.cvn-segult.r-nointeresa{background:#FDECEC;color:#9A2B2B}.cvn-segult.r-nocontesta,.cvn-segult.r-volver{background:#EEF0FF;color:#3A3F8F}.cvn-segult.r-contactado,.cvn-segult.r-email{background:#EAF4FF;color:#0B5E86}
.cvn-edc textarea{width:100%;margin-top:6px;padding:10px 12px;border:1.5px solid var(--linea,#d7dee6);border-radius:12px;font:inherit;font-size:16px;resize:vertical}
/* cifras pulsables en Convenios (08/10) */
.cvn-kpi{font:inherit;text-align:left;cursor:pointer;border:1px solid var(--linea,#e3e8ee);transition:border-color .15s,transform .15s,box-shadow .15s;color:inherit}
.cvn-kpi:hover{border-color:#9CC4DC;transform:translateY(-1px);box-shadow:0 6px 16px rgba(11,94,134,.10)}.cvn-kpi.on{border-color:#0B5E86;box-shadow:0 0 0 2px rgba(11,94,134,.25)}
.cvn-kpi span i{font-style:normal;font-weight:700;color:#0B5E86;font-size:.78rem;margin-left:4px}
.cvn-cnt span[data-cvnf]{cursor:pointer;border-radius:8px;padding:2px 4px}.cvn-cnt span[data-cvnf]:hover{background:rgba(11,94,134,.10)}
.cvn-fact{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;margin-bottom:8px;border-radius:12px;background:#EAF4FF;border:1px solid #C5DDF5}
.cvn-mlist{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto}.cvn-mli{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:10px 12px;border:1px solid var(--linea,#e3e8ee);border-radius:12px;background:#fff;font:inherit;cursor:pointer;min-height:48px}.cvn-mli span:first-child{display:flex;flex-direction:column;min-width:0}.cvn-mli small{color:#6B7B8A;font-size:.78rem}.cvn-mli:hover{border-color:#0B5E86}
.cvn-kpis .cvn-kpi{background:#fff;border-radius:16px;padding:12px 14px;display:block;width:100%}.cvn-kpis .cvn-kpi.v{background:#F0FAF4;border-color:#CDEBD8}.cvn-kpis .cvn-kpi.v b{color:#1F8A5B}

/* 🤝 08/10: convenio Grupo ADF */
.fem-tit-acc { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.cg-acc { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.cg-acc .btn { text-align: center; text-decoration: none; }
.cg-txt { margin-top: 12px; } .cg-txt summary { cursor: pointer; font-weight: 700; color: var(--acento, #0f6b9b); } .cg-txt .cf-ta { min-height: 160px; margin: 8px 0; }
.cvn-grupo { display: flex; align-items: center; gap: 14px; background: linear-gradient(135deg, #e8f3fb, #f4f9fd); border: 1.5px solid #cfe3f2; border-radius: 16px; padding: 14px 16px; margin: 0 0 14px; }
.cvn-grupo > span { font-size: 30px; } .cvn-grupo > div { flex: 1; min-width: 0; } .cvn-grupo b { display: block; font-size: 15.5px; } .cvn-grupo p { margin: 3px 0 0; font-size: 13.5px; color: #50657a; line-height: 1.45; }
@media (max-width: 560px) { .cvn-grupo { flex-wrap: wrap; } .cvn-grupo .btn { width: 100%; } }
.cvn-via { display: inline-block; margin-top: 6px; background: #e8f3fb; color: #0f5a82; border-radius: 8px; padding: 3px 9px; font-size: 12px; font-weight: 700; }
/* 08/10: itinerarios «uno detrás de otro» */
.cpx-seg { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; margin: 12px 0 4px; padding: 12px 14px; border: 1.5px solid var(--borde, #dde3ea); border-radius: 14px; background: #fff; cursor: pointer; font: inherit; color: inherit; }
.cpx-seg i { flex: 0 0 44px; height: 26px; border-radius: 13px; background: #cfd8e1; position: relative; transition: background .2s; }
.cpx-seg i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: left .2s; }
.cpx-seg.on { border-color: #0f6b9b; background: #f3f9fd; } .cpx-seg.on i { background: #0f6b9b; } .cpx-seg.on i::after { left: 21px; }
.cpx-seg b { display: block; font-size: 14.5px; } .cpx-seg small { display: block; color: #50657a; font-size: 12.5px; margin-top: 2px; }
/* 🔗 09/10: enlaces de OneDrive en las tareas */
.tk-enl { display: flex; flex-direction: column; gap: 6px; }
.tk-enl-i { display: flex; align-items: center; gap: 8px; background: #f3f8fc; border: 1px solid #d9e7f2; border-radius: 10px; padding: 8px 10px; min-width: 0; }
.tk-enl-i a, .tk-enl-i span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0f5a82; font-weight: 600; text-decoration: none; font-size: 14px; }
.tk-enl-i a:hover { text-decoration: underline; }
.tk-enl-i button { border: 0; background: transparent; color: #8a98a6; font-size: 18px; cursor: pointer; padding: 0 4px; line-height: 1; }
.tk-enl-add { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.tk-enl-add input { flex: 1 1 200px; min-width: 0; padding: 10px 12px; border: 1.5px solid #d7dee6; border-radius: 10px; font: inherit; font-size: 15px; }
.tk-cenl { margin-top: 6px; padding: 10px; border-radius: 12px; background: #f7fafc; border: 1px solid #e3eaf1; } .tk-cenl .tk-enl-add input { flex-basis: 100%; }
/* 🔝 09/10: barra azul de accesos rápidos (antes ocupaban la parte de arriba del menú izquierdo) */
.topbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; padding: 8px 10px; border-radius: 16px; background: linear-gradient(120deg, #0d1b2a 0%, #0f3a5c 55%, #0f6a9c 100%); box-shadow: 0 6px 20px rgba(13,27,42,.18); }
.topbar .rail-buscar { flex: 1 1 220px; max-width: 420px; margin: 0; }
.topbar .rail-tutos { margin: 0; padding: 6px 12px 6px 6px; position: relative; flex: 0 0 auto; }
.topbar .rail-tutos .rt-i { width: 28px; height: 28px; }
.topbar .rail-tutos .rt-t small { display: none; }
.topbar .rail-tutos .rt-t b { font-size: 13px; white-space: nowrap; }
.topbar .rail-ancho { margin: 0; padding: 8px 12px; font-size: 12.5px; flex: 0 0 auto; }
@media (max-width: 760px) { .topbar { display: none; } }
body.ancho .topbar .rail-buscar { justify-content: flex-start; margin: 0; } body.ancho .topbar .rail-buscar .rb-t, body.ancho .topbar .rail-buscar .rb-k { display: inline; }
body.ancho .topbar .rail-tutos .rt-t { display: block; }
body.ancho .topbar .rail-ancho { font-size: 12.5px; padding: 8px 12px; width: auto; margin: 0; } body.ancho .topbar .rail-ancho::before { content: none; }
body.ancho .topbar .rail-tutos { justify-content: flex-start; margin: 0; padding: 6px 12px 6px 6px; }
/* 📁 09/10: protocolos de la convocatoria, destacados arriba de sus tareas */
.tk-proto { background: linear-gradient(135deg, #fff8e6, #fff); border: 2px solid #f2c45a; border-radius: 18px; padding: 16px; margin: 0 0 16px; box-shadow: 0 6px 20px rgba(242,178,62,.15); }
.tk-proto-cab { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; } .tk-proto-i { font-size: 30px; }
.tk-proto-cab h3 { margin: 0; font-size: 18px; } .tk-proto-cab p { margin: 2px 0 0; color: #6b5a2e; font-size: 13.5px; }
.tk-proto-l { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.tk-proto-c { position: relative; display: flex; background: #fff; border: 1.5px solid #ecdcb2; border-radius: 14px; transition: transform .15s, box-shadow .15s; min-width: 0; }
.tk-proto-c:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0,0,0,.08); }
.tk-proto-c a { flex: 1; display: flex; gap: 10px; align-items: center; padding: 12px 34px 12px 12px; text-decoration: none; color: inherit; min-width: 0; }
.tk-proto-ci { font-size: 24px; flex: 0 0 auto; } .tk-proto-ct { min-width: 0; } .tk-proto-ct b { display: block; font-size: 15px; color: #0f3a5c; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .tk-proto-ct small { display: block; color: #6b7a88; font-size: 12px; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-proto-c button { position: absolute; top: 6px; right: 6px; border: 0; background: transparent; color: #a19678; font-size: 18px; cursor: pointer; line-height: 1; padding: 2px 6px; border-radius: 8px; } .tk-proto-c button:hover { background: #fdecec; color: #b42323; }
.tk-proto-vacio { margin: 0 0 6px; color: #6b5a2e; font-size: 14px; }
.tk-proto-add { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; } .tk-proto-add input { flex: 1 1 220px; min-width: 0; padding: 11px 12px; border: 1.5px solid #e3d3a8; border-radius: 12px; font: inherit; font-size: 15px; background: #fff; }
@media (max-width: 560px) { .tk-proto-add .btn { width: 100%; } }
.tk-proto-l { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); } .tk-proto-ct b { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.25; }
.topbar .tb-ir { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border-radius: 12px; border: 0; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; color: #fff; flex: 0 0 auto; transition: transform .15s, box-shadow .15s; }
.topbar .tb-ir:hover { transform: translateY(-1px); }
.topbar .tb-ii { width: 28px; height: 28px; border-radius: 9px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.22); font-size: 15px; }
.topbar .tb-aula { background: linear-gradient(135deg, #e0567c, #b23a8f); box-shadow: 0 4px 14px rgba(178,58,143,.35); }
.topbar .tb-cafe { background: linear-gradient(135deg, #a8693a, #7a4520); box-shadow: 0 4px 14px rgba(122,69,32,.35); }
.topbar { gap: 6px; } .topbar .rail-buscar { flex: 1 1 140px; max-width: 260px; } .topbar .rail-tutos .rt-t b, .topbar .tb-ir { font-size: 12.5px; } .topbar .rail-ancho { padding: 8px 10px; font-size: 12px; }
.topbar .rail-buscar { flex: 0 1 190px; } .topbar .rail-tutos { padding-right: 10px; } .topbar .tb-ir { padding-right: 12px; }
.topbar #btnAncho { margin-left: auto; }
/* ✅ 09/10: widget «Mis tareas» en la portada */
.hero-tar { display: flex; align-items: center; gap: 12px; padding: 12px 16px 12px 12px; border: 0; border-radius: 16px; cursor: pointer; font: inherit; text-align: left; color: #3b2a00; background: linear-gradient(135deg, #f7c14d, #f2a93b); box-shadow: 0 8px 22px rgba(242,169,59,.35); transition: transform .15s, box-shadow .15s; min-width: 250px; }
.hero-tar:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(242,169,59,.45); }
.hero-tar-i { width: 42px; height: 42px; border-radius: 12px; background: rgba(255,255,255,.55); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .hero-tar-i svg { width: 24px; height: 24px; }
.hero-tar-t { flex: 1; min-width: 0; } .hero-tar-t b { display: block; font-size: 17px; font-weight: 800; } .hero-tar-t small { display: block; font-size: 13px; font-weight: 600; opacity: .85; margin-top: 2px; }
.hero-tar-n { background: #fff; color: #8a5a00; font-weight: 800; font-size: 15px; border-radius: 999px; min-width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; padding: 0 8px; } .hero-tar-n.rojo { background: #c0392b; color: #fff; }
.hero-tar-f { font-size: 20px; font-weight: 800; }
@media (max-width: 760px) { .hero-tar { width: 100%; min-width: 0; } }
/* 09/10: Vida en el aula, Cafés y Bandeja WhatsApp se abren desde la barra azul (fuera del menú izquierdo en ordenador) */
@media (min-width: 761px) { .rail .rail-arriba { display: none !important; } }
.topbar .tb-wa { background: linear-gradient(135deg, #25b864, #128c4a); box-shadow: 0 4px 14px rgba(18,140,74,.35); }
.hero-cal { color: #fff; background: linear-gradient(135deg, #3a8fd6, #1f5fa8); box-shadow: 0 8px 22px rgba(31,95,168,.35); } .hero-cal:hover { box-shadow: 0 12px 26px rgba(31,95,168,.45); } .hero-cal .hero-tar-i { background: rgba(255,255,255,.22); font-size: 22px; }
.hero-tar + .hero-tar { margin-left: -4px; }
.hero-wid { display: flex; gap: 10px; flex-wrap: wrap; align-items: stretch; } .hero-wid .hero-tar { margin: 0; min-width: 240px; flex: 1 1 240px; } @media (max-width: 760px) { .hero-wid { width: 100%; } }
/* 📣 09/10: publicidad y difusión agrupadas en el menú izquierdo, con su propio color */
.rail-pub { margin: 8px 10px 10px; padding: 8px 6px 6px; border-radius: 14px; background: linear-gradient(160deg, rgba(232,85,140,.22), rgba(124,77,255,.16)); border: 1px solid rgba(255,140,190,.35); position: relative; }
.rail-pub-cab { display: flex; align-items: center; gap: 8px; padding: 2px 8px 6px; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: #ffc2dc; }
.rail-pub-cab span { font-size: 15px; } .rail-pub-cab b { font-weight: 800; }
.rail-pub .rail-item { margin-left: 0; margin-right: 0; }
.rail-pub .rail-item svg { color: #ff9cc6; }
.rail-pub .rail-item.activo { background: linear-gradient(135deg, #e0567c, #9b4dd6); color: #fff; } .rail-pub .rail-item.activo svg { color: #fff; }
body.ancho .rail-pub { margin: 6px 4px; padding: 6px 2px; } body.ancho .rail-pub-cab b { display: none; } body.ancho .rail-pub-cab { justify-content: center; padding: 0 0 4px; }
/* 09/10 (Domingo): barra de arriba más ligera — fondo blanco y botones suaves (el azul cargaba la vista) */
.hero-tar-n[hidden] { display: none !important; }
.topbar { background: #fff; border: 1px solid #e3e9ef; box-shadow: 0 2px 10px rgba(13,27,42,.05); padding: 6px 8px; }
.topbar .rail-buscar { background: #f3f6f9; border: 1px solid #e3e9ef; color: #50657a; }
.topbar .rail-buscar:hover { background: #eaf1f7; }
.topbar .rail-tutos, .topbar .tb-ir { background: #f6f8fa; color: #1c2b3a; box-shadow: none; border: 1px solid transparent; }
.topbar .rail-tutos:hover, .topbar .tb-ir:hover { transform: none; box-shadow: none; border-color: #d7e2ec; background: #eef3f8; }
.topbar .rail-tutos .rt-i, .topbar .tb-ii { width: 26px; height: 26px; border-radius: 8px; font-size: 14px; }
.topbar .rail-comparte .rt-i { background: #dff3ec; color: #0d7a5f; }
.topbar #btnTutos .rt-i { background: #fdf0d2; color: #a46a00; }
.topbar .tb-aula .tb-ii { background: #fbe2ec; } .topbar .tb-cafe .tb-ii { background: #f3e6da; } .topbar .tb-wa .tb-ii { background: #dcf5e6; }
.topbar .rail-ancho { background: transparent; border: 1px solid #e3e9ef; color: #50657a; }
.topbar .rail-ancho:hover { background: #f3f6f9; }
/* 🏠 09/10: Inicio con ventanas (widgets) */
@media (min-width: 761px) { .rail .rail-pub { display: none !important; } }   /* la publicidad vive en su ventana del Inicio */
.rail-inicio svg { color: #7cc4ec; }
.ini-cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 4px 0 16px; }
.ini-cab h2 { margin: 0; font-size: 26px; font-weight: 800; } .ini-cab p { margin: 4px 0 0; color: #50657a; }
.ini-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; align-items: start; }
.ini-w { background: #fff; border-radius: 18px; border: 1px solid #e3e9ef; box-shadow: 0 4px 16px rgba(13,27,42,.05); overflow: hidden; animation: iniEntra .35s ease both; animation-delay: calc(var(--i) * 40ms); --c1: #0f6b9b; --c2: #e8f2fa; }
@keyframes iniEntra { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.ini-ancha { grid-column: span 2; } @media (max-width: 700px) { .ini-ancha { grid-column: auto; } }
.ini-amarillo { --c1: #b07800; --c2: #fff5dc; } .ini-naranja { --c1: #c4561b; --c2: #fdebe0; } .ini-verde { --c1: #128c4a; --c2: #e2f6ea; } .ini-rosa { --c1: #b23a8f; --c2: #fbe6f2; } .ini-morado { --c1: #6a3fc0; --c2: #efe8fc; }
.ini-w-cab { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: var(--c2); }
.ini-w-i { width: 36px; height: 36px; border-radius: 11px; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 19px; flex-shrink: 0; }
.ini-w-cab > div { flex: 1; min-width: 0; } .ini-w-cab b { display: block; font-size: 15.5px; color: var(--c1); } .ini-w-cab small { display: block; font-size: 12px; color: #50657a; }
.ini-w-ir { border: 0; background: #fff; color: var(--c1); font: inherit; font-weight: 800; font-size: 13px; border-radius: 10px; padding: 7px 11px; cursor: pointer; white-space: nowrap; } .ini-w-ir:hover { box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.ini-w-cuerpo { padding: 10px 12px 12px; }
.ini-cifras { display: flex; gap: 8px; margin-bottom: 8px; } .ini-cifras span { flex: 1; background: #f6f8fa; border-radius: 12px; padding: 8px 10px; font-size: 12px; color: #50657a; font-weight: 600; } .ini-cifras b { display: block; font-size: 22px; color: #1c2b3a; line-height: 1.1; }
.ini-cifras .rojo b { color: #c0392b; } .ini-cifras .naranja b { color: #c4561b; } .ini-cifras .verde b { color: #128c4a; }
.ini-fila { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; border: 0; background: transparent; border-radius: 10px; padding: 8px 6px; font: inherit; cursor: pointer; color: inherit; } .ini-fila:hover { background: #f3f6f9; }
.ini-fila + .ini-fila { border-top: 1px solid #f0f3f6; } .ini-fila-t { flex: 1; min-width: 0; } .ini-fila-t b { display: block; font-size: 13.5px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .ini-fila-t small { display: block; font-size: 12px; color: #6b7a88; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ini-n { font-style: normal; background: #25b864; color: #fff; border-radius: 99px; font-size: 11.5px; font-weight: 800; padding: 2px 8px; white-space: nowrap; } .ini-n.azul { background: #e8f2fa; color: #0f5a82; }
.ini-gran { display: flex; align-items: center; gap: 12px; padding: 6px 4px; } .ini-gran b { font-size: 40px; font-weight: 800; color: var(--c1); line-height: 1; } .ini-gran span { color: #3b4a58; font-size: 14px; font-weight: 600; } .ini-gran.ok b { color: #128c4a; }
.ini-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.ini-tile { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; border: 1px solid #f1d3e6; background: linear-gradient(160deg, #fff, #fdf1f8); border-radius: 14px; padding: 12px; font: inherit; font-weight: 700; font-size: 13.5px; color: #5a2350; cursor: pointer; text-align: left; transition: transform .15s, box-shadow .15s; }
.ini-tile span { font-size: 22px; } .ini-tile:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(178,58,143,.15); }
.ini-grande { width: 100%; border: 0; border-radius: 14px; padding: 14px; font: inherit; font-weight: 800; background: var(--c2); color: var(--c1); cursor: pointer; }
.ini-ok { margin: 6px 4px; color: #128c4a; font-weight: 700; font-size: 14px; } .ini-err { margin: 6px 4px; color: #8a6100; font-size: 13.5px; } .ini-nota { margin: 4px; font-size: 12.5px; color: #6b7a88; }
.ini-sk i { display: block; height: 30px; border-radius: 10px; margin: 6px 0; background: linear-gradient(90deg, #eef2f6, #f7f9fb, #eef2f6); background-size: 200% 100%; animation: sk 1.2s infinite; }
.ini-vacio { grid-column: 1 / -1; background: #fff; border: 2px dashed #d7dee6; border-radius: 18px; padding: 30px; text-align: center; } .ini-vacio b { display: block; font-size: 17px; } .ini-vacio span { color: #50657a; }
.ini-eds { display: flex; flex-direction: column; gap: 6px; } .ini-ed { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid #e3e9ef; border-radius: 12px; } .ini-ed.on { border-color: #0f6b9b; background: #f3f9fd; }
.ini-ed-t { flex: 1; min-width: 0; } .ini-ed-t small { display: block; color: #6b7a88; font-size: 12px; }
.ini-ed-sw { flex: 0 0 44px; height: 26px; border-radius: 13px; border: 0; background: #cfd8e1; position: relative; cursor: pointer; } .ini-ed-sw i { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: left .2s; } .ini-ed.on .ini-ed-sw { background: #0f6b9b; } .ini-ed.on .ini-ed-sw i { left: 21px; }
.ini-ed-m { border: 1px solid #d7dee6; background: #fff; border-radius: 9px; width: 36px; height: 36px; font-size: 16px; cursor: pointer; }
.topbar .tb-nov { position: relative; } .topbar .tb-nov .tb-ii { background: #ece4fd; } .topbar .tb-nov .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-nov .rt-n.oculto { display: none; }
.ini-tiles-g .ini-tile { border-color: #d3e3f1; background: linear-gradient(160deg, #fff, #eef6fc); color: #12496b; } .ini-tiles-g .ini-tile:hover { box-shadow: 0 6px 16px rgba(15,107,155,.15); }
.ini-grid { grid-auto-flow: dense; }
.rail > .rail-inicio { margin: 0 10px 10px; background: linear-gradient(135deg, #1f8fd6, #0f6b9b); color: #fff; font-weight: 800; box-shadow: 0 6px 16px rgba(15,107,155,.35); } .rail > .rail-inicio svg { color: #fff; } .rail > .rail-inicio.activo { background: linear-gradient(135deg, #f7c14d, #f2a93b); color: #3b2a00; } .rail > .rail-inicio.activo svg { color: #3b2a00; }
body.ancho .rail > .rail-inicio { margin: 0 6px 8px; }
/* 🛡️ 09/10: «Salvar el curso» destacado arriba, con su numerito */
.topbar .tb-salvar { position: relative; color: #fff; background: linear-gradient(135deg, #e5484d, #b4232a); box-shadow: 0 4px 14px rgba(180,35,42,.38); font-weight: 800; }
.topbar .tb-salvar .tb-ii svg { width: 17px; height: 17px; display: block; }
.topbar .tb-salvar:hover { box-shadow: 0 8px 20px rgba(180,35,42,.5); }
.tb-salvar-n { position: absolute; top: -7px; right: -7px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: #ffd23f; color: #5a1a00; font-style: normal; font-size: 12.5px; font-weight: 900; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,.25); animation: tbLatido 2.2s ease-in-out infinite; }
.tb-salvar-n.oculto { display: none; }
@keyframes tbLatido { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }
@media (prefers-reduced-motion: reduce) { .tb-salvar-n { animation: none; } }
.hero-citas { color: #fff; background: linear-gradient(135deg, #8a63d2, #5b3aa6); box-shadow: 0 8px 22px rgba(91,58,166,.35); } .hero-citas:hover { box-shadow: 0 12px 26px rgba(91,58,166,.45); } .hero-citas .hero-tar-i { background: rgba(255,255,255,.22); font-size: 22px; }
#vInicio > .hero { margin-bottom: 18px; }
/* Ventana «Salvar el curso» del Inicio: destacada */
.ini-w.ini-salvar { border: 2px solid #f1b4b6; background: linear-gradient(180deg, #fff5f5, #fff 60%); }
.ini-w.ini-salvar .ini-w-i { background: linear-gradient(135deg, #e5484d, #b4232a); color: #fff; }
.ini-salv { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; margin-top: 10px; }
.ini-salv-c { display: flex; flex-direction: column; gap: 4px; text-align: left; font: inherit; cursor: pointer; padding: 12px; border-radius: 14px; border: 1px solid #f0d6d7; background: #fff; transition: transform .15s, box-shadow .15s; min-width: 0; }
.ini-salv-c:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(180,35,42,.14); }
.ini-salv-c b { font-size: 14.5px; line-height: 1.25; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ini-salv-c small { color: #6b7280; font-size: 12.5px; }
.ini-salv-d { align-self: flex-start; font-size: 12px; font-weight: 800; padding: 2px 9px; border-radius: 999px; background: #eef2f7; color: #374151; }
.ini-salv-c.medio .ini-salv-d { background: #fff1d6; color: #8a5300; } .ini-salv-c.urge .ini-salv-d { background: #fde2e2; color: #b4232a; } .ini-salv-c.urge { border-color: #f1b4b6; }
.ini-salv-b { height: 7px; border-radius: 99px; background: #f1f1f4; overflow: hidden; margin-top: 4px; } .ini-salv-b i { display: block; height: 100%; background: linear-gradient(90deg, #f2a93b, #2fa36b); border-radius: 99px; }
.ini-salv-f { font-size: 12.5px; color: #4b5563; } .ini-salv-f b { color: #b4232a; }
/* 🎉 Próximos festivos */
.ini-w.ini-fiesta .ini-w-i { background: linear-gradient(135deg, #ffcf5c, #ff8a3d); }
.ini-fes { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.ini-fes-f { display: flex; gap: 12px; align-items: center; padding: 8px 10px; border-radius: 12px; border: 1px solid #eceef3; background: #fff; }
.ini-fes-f.mia { border-color: #ffc98a; background: #fff8ee; }
.ini-fes-cal { width: 48px; flex-shrink: 0; text-align: center; border-radius: 10px; overflow: hidden; border: 1px solid #f0c2a0; background: #fff; }
.ini-fes-cal small { display: block; background: #ff8a3d; color: #fff; font-size: 11px; font-weight: 800; text-transform: uppercase; padding: 2px 0; }
.ini-fes-cal b { display: block; font-size: 20px; font-weight: 900; color: #3b2a00; padding: 2px 0 3px; }
.ini-fes-f.conv .ini-fes-cal { border-color: #b9a6e6; } .ini-fes-f.conv .ini-fes-cal small { background: #7a56c8; }
.ini-fes-t { flex: 1; min-width: 0; } .ini-fes-t > b { display: block; font-size: 14.5px; } .ini-fes-t > small { display: block; color: #6b7280; font-size: 12.5px; }
.ini-fes-conv { font-style: normal; font-size: 11.5px; font-weight: 800; color: #5b3aa6; background: #efe9fb; border-radius: 999px; padding: 1px 8px; margin-left: 4px; white-space: nowrap; }
.ini-fes-s { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.ini-fes-s em { font-style: normal; font-size: 11.5px; font-weight: 700; padding: 1px 8px; border-radius: 999px; background: #eef2f7; color: #374151; }
.ini-fes-s em.mia { background: #ff8a3d; color: #fff; } .ini-fes-s em.todas { background: #e3f4ea; color: #1d7a48; }
.ini-fes-mia { margin: 0 0 4px; }
.ini-salv-f b, .ini-salv-c .ini-salv-f b { display: inline; font-size: inherit; -webkit-line-clamp: unset; } .ini-salv-c > b { display: -webkit-box; }
/* ✍️ 09/10: Mis tareas del Inicio más alta y con su cajita para apuntar tareas al vuelo */
.ini-w[data-iniw="tareas"] { min-height: 430px; display: flex; flex-direction: column; }
.ini-w[data-iniw="tareas"] > div:last-child { flex: 1; display: flex; flex-direction: column; }
.ini-tq { margin-top: auto; padding-top: 12px; border-top: 1px dashed #f0d79b; }
.ini-tq-l { display: block; font-size: 13px; font-weight: 800; color: #8a5a00; margin-bottom: 6px; }
.ini-tq-f { display: flex; gap: 6px; flex-wrap: wrap; }
.ini-tq-f input { flex: 1 1 180px; min-width: 0; font: inherit; font-size: 15px; padding: 10px 12px; border: 1.5px solid #f0d79b; border-radius: 12px; background: #fffdf6; }
.ini-tq-f input:focus { outline: none; border-color: #f2a93b; box-shadow: 0 0 0 3px rgba(242,169,59,.2); }
.ini-tq-f select { font: inherit; font-size: 14px; padding: 9px 8px; border: 1.5px solid #f0d79b; border-radius: 12px; background: #fff; }
.ini-tq-f .btn { white-space: nowrap; }
.ini-tq-a { display: block; margin-top: 5px; color: #8b8f99; font-size: 12px; }
/* 🧩 09/10: Inicio en mosaico (sin huecos): filas de 6 px y cada ventana ocupa lo que mide (lo calcula iniMosaico) */
.ini-grid { grid-auto-rows: 6px; row-gap: 0; align-items: start; }
.ini-grid > .ini-w { margin-bottom: 14px; }
.ini-salv { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.ini-salv-c { padding: 10px 11px; gap: 3px; }
.ini-salv-c b { font-size: 13.5px; -webkit-line-clamp: 1; }
/* 🌊 09/10 (Domingo): banner más limpio, azul que se difumina hasta casi desaparecer */
.hero { position: relative; overflow: hidden; color: #fff; align-items: center; padding: 26px 28px;
  background: radial-gradient(120% 140% at 0% 0%, rgba(58,143,214,.55) 0%, rgba(58,143,214,0) 55%),
              linear-gradient(100deg, #0b3a5c 0%, #0f5f8f 32%, rgba(31,115,176,.55) 62%, rgba(58,143,214,.12) 85%, rgba(58,143,214,0) 100%);
  box-shadow: none; }
.hero::after { content: ''; position: absolute; right: -60px; top: -80px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(242,178,62,.18), rgba(242,178,62,0) 65%); pointer-events: none; }
.hero > * { position: relative; z-index: 1; }
.hero-resumen span { background: rgba(255,255,255,.78); border-color: rgba(15,95,143,.15); color: #0b3a5c; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); box-shadow: 0 2px 10px rgba(11,58,92,.08); }
.hero-resumen .hr-urg { background: #fff3da; border-color: #f2c46b; color: #8a5300; }
.hero-resumen .hr-alta { background: var(--guagua); color: var(--oceano-osc); }
@media (max-width: 760px) { .hero { background: radial-gradient(140% 100% at 0% 0%, rgba(58,143,214,.5) 0%, rgba(58,143,214,0) 60%), linear-gradient(170deg, #0b3a5c 0%, #0f5f8f 45%, rgba(31,115,176,.45) 80%, rgba(58,143,214,.08) 100%); } }
.ini-cita-h { font-style: normal; font-size: 12px; font-weight: 800; color: #5b3aa6; background: #efe9fb; border-radius: 999px; padding: 3px 9px; white-space: nowrap; }
.ini-w.ini-citas .ini-w-i { background: linear-gradient(135deg, #8a63d2, #5b3aa6); }
.ini-cifras .morado b { color: #5b3aa6; }
.ini-salv { grid-template-columns: repeat(2, minmax(0, 1fr)); } @media (max-width: 560px) { .ini-salv { grid-template-columns: 1fr; } }
.ini-citas { --c1: #5b3aa6; --c2: #f1ecfb; } .ini-salvar { --c1: #b4232a; --c2: #fdecec; } .ini-fiesta { --c1: #c4561b; --c2: #fff1e3; }
/* 🎉 09/10: festivos en formato compacto (próximo en grande + hojitas de calendario) */
.fes-prox { display: flex; gap: 14px; align-items: center; padding: 12px; border-radius: 14px; background: linear-gradient(120deg, #fff3e6, #fffaf4); border: 1px solid #ffd6ad; margin-top: 4px; }
.fes-prox.conv { background: linear-gradient(120deg, #f1ecfb, #faf8fe); border-color: #d5c7f2; }
.fes-prox-t { min-width: 0; } .fes-prox-t em { display: block; font-style: normal; font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #c4561b; }
.fes-prox.conv .fes-prox-t em { color: #5b3aa6; }
.fes-prox-t > b { display: block; font-size: 16.5px; margin: 1px 0; } .fes-prox-t small { color: #6b7280; font-size: 12.5px; } .fes-prox-t strong { color: #1f2937; }
.fes-hoja { width: 44px; flex-shrink: 0; text-align: center; border-radius: 9px; overflow: hidden; background: #fff; border: 1px solid #f0c2a0; box-shadow: 0 2px 6px rgba(196,86,27,.1); }
.fes-hoja small { display: block; background: #ff8a3d; color: #fff; font-size: 10px; font-weight: 800; text-transform: uppercase; padding: 1px 0; }
.fes-hoja b { display: block; font-size: 17px; font-weight: 900; color: #3b2a00; padding: 1px 0 2px; }
.fes-hoja.grande { width: 58px; } .fes-hoja.grande small { font-size: 11.5px; padding: 2px 0; } .fes-hoja.grande b { font-size: 25px; padding: 3px 0 4px; }
.conv > .fes-hoja { border-color: #b9a6e6; } .conv > .fes-hoja small { background: #7a56c8; }
.fes-rej { display: grid; grid-template-columns: repeat(auto-fill, minmax(195px, 1fr)); gap: 6px; margin-top: 8px; }
.fes-c { display: flex; gap: 8px; align-items: center; padding: 6px; border-radius: 11px; border: 1px solid #eceef3; background: #fff; min-width: 0; }
.fes-c.mia { background: #fff8ee; border-color: #ffd6ad; }
.fes-c:not(.mia) .fes-hoja { opacity: .75; }
.fes-c-t { min-width: 0; } .fes-c-t b { display: block; font-size: 12.5px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fes-c-t small { display: block; font-size: 11px; color: #8b8f99; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* 🎉 09/10: próximo festivo en la parte clara del banner */
.hero-fest { margin-left: auto; display: flex; align-items: center; gap: 12px; padding: 10px 16px 10px 10px; border-radius: 16px; background: rgba(255,255,255,.72); border: 1px solid rgba(255,214,173,.9); box-shadow: 0 6px 20px rgba(11,58,92,.08); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: #1f2937; max-width: 360px; }
.hero-fest[hidden] { display: none !important; }
.hero-fest-t { min-width: 0; } .hero-fest-t em { display: block; font-style: normal; font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #c4561b; }
.hero-fest-t b { display: block; font-size: 16px; font-weight: 800; color: #0b3a5c; margin: 1px 0; } .hero-fest-t small { font-size: 12.5px; color: #4b5563; } .hero-fest-t strong { color: #0b3a5c; }
@media (max-width: 760px) { .hero-fest { margin-left: 0; max-width: none; width: 100%; } }
.cvn-ant { margin: 8px 0; padding: 9px 12px; border-radius: 12px; background: #fffaf0; border: 1px solid #f2c46b; font-size: 13.5px; color: #5a3d00; line-height: 1.45; } .cvn-ant .cvn-respb { margin-left: 4px; }
/* 📨 09/10: Anexo I a todo el curso */
.btn-an1m { border-color: #f2c46b; background: #fffaf0; color: #8a5300; }
.an1m-prog { margin: 10px 0; padding: 10px 12px; border-radius: 12px; background: #f4f8fb; border: 1px solid #dfe8f0; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.an1m-prog span { color: #4b5563; font-size: 13px; }
.an1m-barra { display: block; height: 8px; border-radius: 99px; background: #e5edf3; overflow: hidden; margin-top: 4px; } .an1m-barra i { display: block; height: 100%; background: linear-gradient(90deg, #3a8fd6, #2fa36b); transition: width .4s; }
.an1m-can { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0 6px; }
.an1m-sw { display: inline-flex; align-items: center; gap: 10px; font: inherit; font-weight: 700; font-size: 15px; padding: 10px 16px; border-radius: 14px; border: 1.5px solid #dfe8f0; background: #fff; cursor: pointer; color: #1f2937; }
.an1m-sw > i { width: 38px; height: 22px; border-radius: 99px; background: #cfd8e0; position: relative; transition: background .2s; } .an1m-sw > i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: left .2s; }
.an1m-sw.on { border-color: #9cc8e8; background: #f0f7fd; } .an1m-sw.on > i { background: #2f8fd6; } .an1m-sw.on > i::after { left: 19px; }
.an1m-sw:disabled { opacity: .5; cursor: not-allowed; }
.aviso-suave { background: #fff8ec; border: 1px solid #f6d7a1; border-radius: 12px; padding: 10px 12px; font-size: 14px; color: #6b4a00; }
.cg-dir { margin-top: 14px; display: flex; flex-direction: column; gap: 8px; } .cg-dir small { font-weight: 700; color: #50657a; } .cg-dir .cf-url-f { display: flex; gap: 6px; flex-wrap: wrap; } .cg-dir input { flex: 1 1 200px; min-width: 0; font-size: 13px; padding: 8px 10px; border: 1px solid #dfe8f0; border-radius: 10px; }
/* 🧮 09/10: importes de beca por módulos de todo un curso */
.bmc-cobro { display: flex; gap: 8px; flex-wrap: wrap; align-items: stretch; margin: 6px 0 12px; } .bmc-cobro > span { width: 100%; font-weight: 800; font-size: 13.5px; color: #4b5563; }
.bmc-op { flex: 1 1 220px; text-align: left; font: inherit; cursor: pointer; padding: 10px 12px; border-radius: 14px; border: 2px solid #e3e9ef; background: #fff; }
.bmc-op b { display: block; font-size: 14.5px; } .bmc-op small { display: block; font-size: 12.5px; color: #6b7280; margin-top: 2px; }
.bmc-op.on { border-color: #5b34b8; background: #f4effd; } .bmc-op.on b::before { content: '● '; color: #5b34b8; }
.bmc-lista { display: flex; flex-direction: column; gap: 8px; max-height: 52vh; overflow: auto; margin-top: 8px; }
.bmc-it { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 14px; border: 1px solid #eceef3; background: #fff; }
.bmc-it.pagar { border-color: #f6c77a; background: #fffaf0; }
.bmc-main { flex: 1; min-width: 0; } .bmc-main > b { display: block; font-size: 14.5px; } .bmc-main > small { display: block; font-size: 12.5px; color: #6b7280; }
.bmc-mods { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 5px; }
.bmc-m { font-size: 11.5px; font-weight: 700; padding: 2px 7px; border-radius: 999px; background: #eef2f7; color: #374151; white-space: nowrap; }
.bmc-m.pagado { background: #e3f4ea; color: #1d7a48; } .bmc-m.apagar { background: #fff0d6; color: #8a5300; } .bmc-m.acumulado, .bmc-m.encurso { background: #e8f1fb; color: #1f5fa8; } .bmc-m.tarde, .bmc-m.baja, .bmc-m.sinalta { background: #fde2e2; color: #b4232a; text-decoration: line-through; }
.bmc-imp { text-align: right; flex-shrink: 0; } .bmc-imp b { display: block; font-size: 16px; } .bmc-imp small { font-size: 12px; color: #6b7280; white-space: nowrap; }
.bmc-cursos { display: flex; flex-direction: column; gap: 8px; }
@media (max-width: 560px) { .bmc-it { flex-wrap: wrap; } .bmc-imp { width: 100%; text-align: left; padding-left: 30px; } }
/* 📥 09/10: «Por atender» destacada en el Inicio */
.ini-w.ini-naranja[data-iniw="pa"] { border: 2px solid #f6c3a0; background: linear-gradient(180deg, #fff6ef, #fff 60%); }
.ini-w[data-iniw="pa"] .ini-w-i { background: linear-gradient(135deg, #ff9a52, #e2611d); color: #fff; }
.ini-pa { display: flex; flex-direction: column; gap: 10px; } .ini-pa .ini-gran b { font-size: 44px; } .ini-pa-b { width: 100%; justify-content: center; font-size: 15px; padding: 12px; }
/* 🧭 09/10 (Domingo): el menú izquierdo llega siempre hasta abajo. «overflow-x: hidden» en html/body rompía el «sticky» del menú (se iba con la página y dejaba un hueco); «clip» recorta igual sin crear un contenedor con scroll */
html, body { overflow-x: clip; }
/* 💼 10/10: ventana Inserta en el Inicio */
.ini-inserta { --c1: #0f7a52; --c2: #e4f5ec; } .ini-w.ini-inserta .ini-w-i { background: linear-gradient(135deg, #2fa36b, #0f7a52); }
.ini-ins-tot { position: relative; height: 22px; border-radius: 99px; background: #eef2f6; overflow: hidden; margin: 10px 0; } .ini-ins-tot i { position: absolute; inset: 0 auto 0 0; background: linear-gradient(90deg, #7fd3a5, #2fa36b); border-radius: 99px; } .ini-ins-tot span { position: relative; display: block; text-align: center; font-size: 12.5px; font-weight: 800; line-height: 22px; color: #0b3a2a; }
.ini-ins { display: flex; flex-direction: column; gap: 6px; }
.ini-ins-s { display: grid; grid-template-columns: 110px 1fr auto; gap: 8px; align-items: center; font: inherit; text-align: left; border: 0; background: none; padding: 4px 2px; cursor: pointer; border-radius: 8px; } .ini-ins-s:hover { background: #f4f8fb; }
.ini-ins-n { font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .ini-ins-b { height: 8px; border-radius: 99px; background: #eef2f6; overflow: hidden; } .ini-ins-b i { display: block; height: 100%; background: #2fa36b; border-radius: 99px; } .ini-ins-v { font-size: 12.5px; color: #6b7280; } .ini-ins-v b { color: #1f2937; }
/* 🧭 10/10: ventana «Nueva orientación» rediseñada */
#modalCaja.orf-modal { max-width: 720px; width: min(720px, 96vw); }
.orf-cab { display: flex; gap: 14px; align-items: center; padding-bottom: 14px; margin-bottom: 6px; border-bottom: 1px solid #eef2f6; }
.orf-cab h3 { margin: 0; font-size: 21px; } .orf-cab p { margin: 3px 0 0; font-size: 13.5px; color: #5b6b7a; line-height: 1.4; } .orf-cab p b { color: #0b3a5c; }
.orf-ico { width: 48px; height: 48px; flex-shrink: 0; border-radius: 14px; display: grid; place-items: center; font-size: 26px; background: linear-gradient(135deg, #e6f1fb, #d2e6f7); }
.orf-sec { margin-top: 14px; } .orf-g2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; } @media (max-width: 600px) { .orf-g2 { grid-template-columns: 1fr; } }
.orf-lab { display: block; font-size: 13px; font-weight: 800; color: #31475c; margin-bottom: 7px; letter-spacing: .01em; } .orf-lab small { font-weight: 600; color: #8b97a3; margin-left: 4px; }
.orf-in { display: block; width: 100%; box-sizing: border-box; font: inherit; font-size: 15px; padding: 11px 13px; border: 1.5px solid #dbe3eb; border-radius: 12px; background: #fbfcfd; color: #1c2b3a; resize: vertical; transition: border-color .15s, box-shadow .15s; }
.orf-in:focus { outline: none; border-color: #2f8fd6; background: #fff; box-shadow: 0 0 0 4px rgba(47,143,214,.14); }
.orf-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.orf-chip { display: inline-flex; align-items: center; gap: 7px; font: inherit; font-size: 13.5px; font-weight: 700; padding: 8px 13px; border-radius: 999px; border: 1.5px solid #dbe3eb; background: #fff; color: #31475c; cursor: pointer; transition: all .15s; }
.orf-chip span { font-size: 15px; } .orf-chip:hover { border-color: #9cc8e8; } .orf-chip.on { background: #0f6b9b; border-color: #0f6b9b; color: #fff; box-shadow: 0 4px 12px rgba(15,107,155,.25); }
.orf-atajos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.orf-atajo { font: inherit; font-size: 12.5px; font-weight: 600; padding: 5px 11px; border-radius: 999px; border: 1px dashed #c5d3df; background: #f6f9fb; color: #46607a; cursor: pointer; } .orf-atajo:hover, .orf-atajo.on { border-style: solid; border-color: #2f8fd6; color: #0f6b9b; background: #eaf4fc; }
.orf-sw { display: inline-flex; align-items: center; gap: 12px; font: inherit; font-size: 15px; font-weight: 700; color: #31475c; background: none; border: 0; padding: 4px 0; cursor: pointer; }
.orf-sw > i { width: 46px; height: 26px; border-radius: 99px; background: #cfd8e0; position: relative; transition: background .2s; flex-shrink: 0; } .orf-sw > i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: left .2s; }
.orf-sw.on > i { background: #2fa36b; } .orf-sw.on > i::after { left: 23px; }
.orf-pie { margin-top: 18px; padding-top: 14px; border-top: 1px solid #eef2f6; } .orf-pie .btn { padding: 12px 20px; font-size: 15px; }
@media (max-width: 600px) { .orf-pie { position: sticky; bottom: -1px; background: #fff; } }
/* 🛡️ 10/10: cada curso a salvar con convocatoria, modalidad e inicio-fin */
.ini-salv-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
.ini-salv-tags em { font-style: normal; font-size: 11.5px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: #eef2f7; color: #374151; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ini-salv-tags em.conv { background: #f1ecfb; color: #5b3aa6; } .ini-salv-tags em.tele { background: #e8f1fb; color: #1f5fa8; } .ini-salv-tags em.pres { background: #e3f4ea; color: #1d7a48; }
.ini-salv-fe { font-size: 12.5px; color: #4b5563; font-weight: 600; }
.ini-salv-pub { align-self: flex-start; margin-top: 6px; font: inherit; font-size: 13px; font-weight: 800; padding: 7px 12px; border-radius: 10px; border: 0; cursor: pointer; color: #fff; background: linear-gradient(135deg, #e8558c, #b23a8f); box-shadow: 0 3px 10px rgba(178,58,143,.25); }
.ini-salv-pub:hover { filter: brightness(1.06); transform: translateY(-1px); }
/* 🙈 10/10: quitar un curso de «Salvar el curso» */
.ms-quitar { color: #6b7280; } .ms-quitar:hover { color: #b4232a; border-color: #f1b4b6; }
.ms-quitados { margin: 10px 0 4px; padding: 8px 12px; border-radius: 12px; background: #f6f8fa; border: 1px dashed #d5dde5; } .ms-quitados summary { cursor: pointer; font-weight: 700; font-size: 13.5px; color: #4b5563; }
.ms-q { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 8px 0; border-top: 1px solid #e8edf2; margin-top: 6px; } .ms-q b { display: block; font-size: 14px; } .ms-q small { font-size: 12.5px; color: #6b7280; }

/* Informe de campañas: botón para ir a la plantilla en revisión (10/10/2026) */
.ic-ir{margin-top:8px}

/* ============ 💬 Bandeja WhatsApp rediseñada (10/10/2026) ============ */
#vBandeja .bj-barra{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 12px}
.bj-busca{flex:1 1 260px;display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--linea);border-radius:14px;padding:0 14px;min-height:46px;transition:border-color .15s,box-shadow .15s}
.bj-busca:focus-within{border-color:#25D366;box-shadow:0 0 0 4px rgba(37,211,102,.14)}
.bj-busca input{flex:1;border:0;outline:0;font:inherit;font-size:15px;background:transparent;min-width:0}
.bj-filtros{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.bj-filtros::-webkit-scrollbar{display:none}
.bj-f{border:1.5px solid var(--linea);background:#fff;border-radius:999px;padding:8px 13px;font:inherit;font-size:13.5px;font-weight:600;color:#3c4a5a;cursor:pointer;white-space:nowrap;min-height:40px;display:inline-flex;align-items:center;gap:6px;transition:all .15s}
.bj-f small{background:#EEF2F6;color:#51606F;border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:700}
.bj-f:hover{border-color:#9fb3c8}
.bj-f.on{background:#0E5C47;border-color:#0E5C47;color:#fff}
.bj-f.on small{background:rgba(255,255,255,.22);color:#fff}
#vBandeja .bj-cuerpo{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:0;border:1px solid var(--linea);border-radius:18px;overflow:hidden;background:#fff;height:calc(100vh - 250px);min-height:480px;box-shadow:0 6px 24px rgba(16,40,60,.06)}
#vBandeja .bj-lista{overflow-y:auto;border-right:1px solid var(--linea);background:#fff}
#vBandeja .bj-item{all:unset;box-sizing:border-box;display:flex;gap:12px;width:100%;padding:12px 14px;border-bottom:1px solid #F0F3F6;cursor:pointer;position:relative;animation:bjEntra .28s ease both;animation-delay:calc(var(--i,0)*18ms)}
#vBandeja .bj-item:hover{background:#F6FAF8}
#vBandeja .bj-item.activo{background:#E8F5EE}
#vBandeja .bj-item.activo::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--sede)}
#vBandeja .bj-item:focus-visible{outline:2px solid #25D366;outline-offset:-2px}
@keyframes bjEntra{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.bj-av{flex:0 0 46px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:15px;letter-spacing:.3px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.bj-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.bj-l1{display:flex;align-items:baseline;gap:8px}
.bj-l1 b{flex:1;min-width:0;font-size:15px;color:#13212f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bj-item.nuevo .bj-l1 b{font-weight:800}
.bj-l1 time{font-size:12px;color:#7a8794;white-space:nowrap}
.bj-item.nuevo .bj-l1 time{color:#128C4A;font-weight:700}
.bj-l2{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;color:#5c6b79}
.bj-l2 .bj-badge{margin-left:auto;background:#25D366;color:#fff;border-radius:999px;min-width:22px;height:22px;display:inline-grid;place-items:center;font-size:12px;font-weight:800;padding:0 6px}
.bj-sede{font-weight:700}
.bj-fic{background:#EEF4FA;color:#1A5E8C;border-radius:6px;padding:1px 6px;font-weight:600}
.bj-fic.no{background:#FFF4E5;color:#9A5B00}
.bj-pill{border-radius:6px;padding:1px 6px;font-weight:600}
.bj-pill.ok{background:#E6F6EC;color:#1E7A43}.bj-pill.nc{background:#FDECEC;color:#B42318}.bj-pill.re{background:#FFF4E5;color:#9A5B00}
.bj-l3{font-size:12px;color:#7a8794;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bj-vacio-lista{padding:40px 20px;text-align:center;color:#5c6b79;font-size:15px}
.bj-vacio-lista small{display:block;margin-top:6px;font-size:13px;color:#8a97a4}
.bj-sk{padding:6px 0}.bj-sk-it{display:flex;gap:12px;padding:12px 14px}.bj-sk-it span{width:46px;height:46px;border-radius:50%;background:#EEF2F5}.bj-sk-it div{flex:1;display:flex;flex-direction:column;gap:8px;padding-top:6px}.bj-sk-it i{height:11px;border-radius:6px;background:linear-gradient(90deg,#EEF2F5,#F7F9FA,#EEF2F5);background-size:200% 100%;animation:bjSk 1.2s infinite}.bj-sk-it i+i{width:60%}
@keyframes bjSk{to{background-position:-200% 0}}
#vBandeja .bj-hilo{display:flex;flex-direction:column;min-height:0;background:#EFEAE2 radial-gradient(rgba(0,0,0,.035) 1px,transparent 1px) 0 0/18px 18px}
#vBandeja .bj-cab{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--linea)}
.bj-volver{display:none;border:0;background:#F0F3F6;width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer}
.bj-cab .bj-av{flex-basis:42px;width:42px;height:42px;font-size:14px}
#vBandeja .bj-cab-txt{flex:1;min-width:0;display:flex;flex-direction:column}
#vBandeja .bj-cab-txt b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#vBandeja .bj-cab-txt small{font-size:12.5px;color:#6b7886}
.bj-cab-acc{display:flex;gap:6px}
.bj-ico{border:0;background:#F0F3F6;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:18px;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s}
.bj-ico:hover{background:#E2F5EA;transform:translateY(-1px)}
#vBandeja .bj-atcab{background:#fff;padding:6px 14px 8px;border-bottom:1px solid #F0F3F6}
.bj-ctx{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:8px 14px;background:#F8FAFC;border-bottom:1px solid var(--linea);scrollbar-width:thin}
.bj-ctx.nuevo{background:#FFF8EC}
.bj-ctx-t{font-size:12.5px;font-weight:700;color:#3c4a5a;white-space:nowrap}
.bj-ctx-c{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--linea);border-radius:10px;padding:4px 8px;white-space:nowrap;font-size:12.5px}
.bj-ctx-c b{font-weight:600;color:#13212f}
#vBandeja .bj-msgs{flex:1;overflow-y:auto;padding:14px 6% 10px;display:flex;flex-direction:column;gap:4px}
.bj-dia{text-align:center;margin:10px 0 6px}.bj-dia span{background:#fff;color:#54656F;font-size:12px;font-weight:600;padding:4px 12px;border-radius:8px;box-shadow:0 1px 1px rgba(0,0,0,.06);text-transform:capitalize}
#vBandeja .bj-msg{display:flex}#vBandeja .bj-msg.out{justify-content:flex-end}
#vBandeja .bj-burbuja{max-width:min(560px,78%);padding:7px 10px 5px;border-radius:10px;font-size:14.5px;line-height:1.42;box-shadow:0 1px 1px rgba(0,0,0,.08);word-wrap:break-word;background:#fff;color:#111b21}
#vBandeja .bj-msg.out .bj-burbuja{background:#D9FDD3}
#vBandeja .bj-msg.in .bj-burbuja{border-top-left-radius:2px}#vBandeja .bj-msg.out .bj-burbuja{border-top-right-radius:2px}
#vBandeja .bj-burbuja small{display:block;text-align:right;font-size:11px;color:#667781;margin-top:2px}
.bj-tk{font-style:normal;color:#8696a0}.bj-tk.leido{color:#53BDEB}.bj-tk.mal{color:#B42318;font-weight:700}
.bj-pie{background:#F0F2F5;border-top:1px solid var(--linea);padding:8px 12px 10px;display:flex;flex-direction:column;gap:8px}
.bj-vent{font-size:12.5px;font-weight:600;border-radius:8px;padding:5px 10px;align-self:flex-start}
.bj-vent.ok{background:#E6F6EC;color:#1E7A43}.bj-vent.poca{background:#FFF4E5;color:#9A5B00}.bj-vent.cerrada{background:#FFF4E5;color:#8A5A00;align-self:stretch}
.bj-rapidas{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.bj-rapidas::-webkit-scrollbar{display:none}
.bj-rap{border:1px solid #cfd8df;background:#fff;border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;font-weight:600;color:#33414e;cursor:pointer;white-space:nowrap;min-height:36px;transition:all .15s}
.bj-rap:hover{border-color:#25D366;color:#0E5C47;background:#F2FBF5}
.bj-rap.curso{background:#0E5C47;border-color:#0E5C47;color:#fff}.bj-rap.curso:hover{background:#0b4a39;color:#fff}
.bj-escribe{display:flex;align-items:flex-end;gap:8px}
.bj-escribe textarea{flex:1;border:0;border-radius:22px;padding:11px 16px;font:inherit;font-size:15px;line-height:1.4;resize:none;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.06);max-height:160px;min-height:44px}
.bj-escribe textarea:focus{outline:2px solid #25D366}
.bj-enviar{flex:0 0 48px;width:48px;height:48px;border-radius:50%;border:0;background:#25D366;color:#fff;font-size:20px;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 6px rgba(37,211,102,.35);transition:transform .12s,background .15s}
.bj-enviar:hover{background:#1EBE5A;transform:scale(1.05)}.bj-enviar:disabled{opacity:.6;cursor:wait}
.bj-salidas{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.bj-sal{all:unset;box-sizing:border-box;cursor:pointer;background:#fff;border:1.5px solid var(--linea);border-radius:14px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;transition:border-color .15s,transform .15s}
.bj-sal:hover{border-color:#25D366;transform:translateY(-1px)}
.bj-sal i{grid-row:span 2;font-style:normal;font-size:22px}.bj-sal b{font-size:14px;color:#13212f}.bj-sal small{font-size:12px;color:#6b7886}
.bj-sk-hilo{flex:1;display:flex;flex-direction:column;gap:12px;padding:24px 8%}.bj-sk-hilo i{height:38px;width:55%;border-radius:10px;background:rgba(255,255,255,.75)}.bj-sk-hilo i.d{align-self:flex-end;background:rgba(217,253,211,.8)}
@media (max-width:760px){
  #vBandeja .bj-cuerpo{grid-template-columns:1fr;height:calc(100vh - 230px);border-radius:14px}
  #vBandeja .bj-hilo{display:none}
  #vBandeja.bj-ver-hilo .bj-lista{display:none}
  #vBandeja.bj-ver-hilo .bj-hilo{display:flex}
  #vBandeja.bj-ver-hilo .bj-barra,#vBandeja.bj-ver-hilo .bj-numeros{display:none}
  .bj-volver{display:grid;place-items:center}
  #vBandeja .bj-msgs{padding:12px 10px}
  #vBandeja .bj-burbuja{max-width:86%}
  .bj-cab-acc .bj-ico{width:38px;height:38px}
}
@media (prefers-reduced-motion:reduce){#vBandeja .bj-item{animation:none}}

@media (max-width:760px){
  #vBandeja.bj-ver-hilo .cabecera{display:none}
  #vBandeja.bj-ver-hilo .bj-cuerpo{height:calc(100dvh - 150px);min-height:420px}
  #vBandeja .bj-cab{padding:8px 10px;gap:8px}
  #vBandeja .bj-cab .bj-av{flex-basis:38px;width:38px;height:38px;font-size:13px}
  #vBandeja .bj-cab-txt small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #vBandeja .bj-escr,#vBandeja .bj-ico-wa{display:none}
  #vBandeja .bj-cab-acc{gap:4px}
  #vBandeja .bj-atcab{display:flex;flex-direction:column;gap:6px;padding:6px 10px}
  #vBandeja .bj-atcab .bj-ats{font-size:12px}
  #vBandeja .bj-atbs{display:flex;gap:6px}
  #vBandeja .bj-atbs .btn{flex:1;font-size:12.5px;padding:8px 6px;min-height:38px}
  .bj-ctx{padding:6px 10px}
  .bj-pie{padding:6px 8px 8px;gap:6px}
  .bj-vent{font-size:12px;padding:4px 8px}
  .bj-salidas{grid-template-columns:1fr}
}
@media (max-width:760px){
  #vBandeja .bj-atcab>*{flex:0 0 auto}
  #vBandeja .bj-atcab .bj-ats{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:2.6em}
}

.bp-base-t{font-size:13px;font-weight:700;color:#3c4a5a;margin:4px 0 6px}
.bp-base{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:12px}
.bp-bc{all:unset;box-sizing:border-box;cursor:pointer;border:1.5px solid var(--linea);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:2px;background:#fff;transition:border-color .15s,transform .15s}
.bp-bc i{font-style:normal;font-size:20px}.bp-bc b{font-size:13.5px;color:#13212f}.bp-bc small{font-size:11.5px;color:#1E7A43}
.bp-bc:hover:not(:disabled){border-color:#25D366;transform:translateY(-1px)}
.bp-bc.on{border-color:#25D366;background:#F2FBF5;box-shadow:0 0 0 3px rgba(37,211,102,.15)}
.bp-bc.pend{opacity:.6;cursor:not-allowed}.bp-bc.pend small{color:#9A5B00}
@media (max-width:760px){#vBandeja .bj-numeros{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}#vBandeja .bj-numeros .res-chip{flex:0 0 auto}}

/* 📋 Ventana «Plantillas de WhatsApp» (10/10/2026) */
.ini-plbv{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0 8px}.ini-plbv small{font-weight:700;color:#3c4a5a}
.ini-plb{font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;background:#EEF2F6;color:#51606F}
.ini-plb.ok{background:#E6F6EC;color:#1E7A43}.ini-plb.pend{background:#FFF4E5;color:#9A5B00}
.ini-pl-todas{margin-top:8px;width:100%}
.ini-n.verde{background:#E6F6EC;color:#1E7A43}.ini-n.naranja{background:#FFF4E5;color:#9A5B00}.ini-n.rojo{background:#FDECEC;color:#B42318}
.pe-lista{display:flex;flex-direction:column;gap:6px;max-height:55vh;overflow-y:auto}
.pe-it{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--linea);border-radius:12px;padding:9px 12px}
.pe-it b{display:block;font-size:14px}.pe-it small{font-size:12px;color:#6b7886}
.pe-it .ini-n{white-space:nowrap;font-style:normal;font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px}

/* 💼 Inserta: lo declarado por el alumno en el WhatsApp de los 6 meses (10/10/2026) */
.cf-e.cf-e-wa{background:#E7F8EE;color:#0E5C47;border:1px dashed #25D366}

/* 🤖 marca de leads de Tizo en la bandeja (10/10/2026) */
.bj-pill.tz{background:#EEE8FB;color:#5B3CC4}
#vBandeja .bj-tizo{background:#F3EFFD;border-bottom:1px solid #DED3F8;color:#3D2A85;font-size:13px;padding:8px 14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}

/* 💬 Bandeja en su pestaña (10/10/2026): sin barra de accesos ni cabeceras de Capta; todo el alto para chatear */
body.modo-ventana .topbar, body.modo-ventana .ini-hero, body.modo-ventana #captaFab { display: none !important; }
body.modo-ventana #vBandeja .cabecera { margin-bottom: 6px; } body.modo-ventana #vBandeja .cabecera h2 { font-size: 22px; }
body.modo-ventana #vBandeja .bj-cuerpo { height: calc(100dvh - 190px); }
@media (max-width:760px){ body.modo-ventana #vBandeja .bj-cuerpo { height: calc(100dvh - 170px); } body.modo-ventana #vBandeja.bj-ver-hilo .bj-cuerpo { height: calc(100dvh - 24px); } }

/* 🏛 Empleados públicos (10/10/2026) */
.ep-bus{width:100%;box-sizing:border-box;min-height:46px;border:1px solid #cfdbe5;border-radius:12px;padding:10px 14px;font-size:15px;margin:6px 0 12px}
.ep-lista{display:grid;gap:10px;max-height:60vh;overflow-y:auto}
.ep-it{border:1px solid #e3e9ef;border-radius:14px;padding:12px;background:#fff}
.ep-cab{display:flex;justify-content:space-between;gap:8px;align-items:center}.ep-it small{color:#5b6b7a;display:block;margin-top:2px}
.ep-it p{margin:6px 0 8px;font-size:14px;color:#33465a;word-break:break-word}.ep-acc{display:flex;gap:8px;flex-wrap:wrap}
.ep-pag{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;font-size:13.5px;color:#5b6b7a}

.insc-datos{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 2px}
/* ⚙️ 11/10/2026: configurador de tareas por convocatoria (Mis tareas) */
.tk-config{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:2px 0 10px;border:0;border-radius:12px;padding:11px 12px;min-height:44px;font:inherit;font-weight:800;font-size:14px;color:#fff;background:linear-gradient(135deg,#0f6a9c,#0f4c70);box-shadow:0 4px 12px rgba(15,76,112,.22);cursor:pointer;transition:transform .15s,box-shadow .15s}
.tk-config:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,76,112,.3)}
.tc-h{margin:16px 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#5b6b7a}
.tc-lista{display:grid;gap:8px}
.tc-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e3eaf0;border-radius:14px;padding:12px 14px;background:#fff}
.tc-card-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.tc-card-t b{overflow-wrap:anywhere}
.tc-card-t small{color:#5b6b7a}
.tc-chip{align-self:flex-start;margin-top:2px;padding:2px 9px;border-radius:999px;background:#fff1dc;color:#9a5a00;font-size:12px;font-weight:700}
.tc-res{display:grid;gap:6px;margin-top:6px}
.tc-op{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;border:1px solid #e3eaf0;background:#f7fafc;border-radius:12px;padding:10px 12px;min-height:44px;font:inherit;cursor:pointer}
.tc-op:hover{background:#eef5fa;border-color:#b9cbd9}
.tc-op small{flex:none;color:#0f6a9c;font-weight:700}
.tc-mas{margin:4px 2px;color:#5b6b7a;font-size:13px}
@media (max-width:600px){.tc-card{flex-direction:column;align-items:stretch}.tc-op{flex-direction:column;align-items:flex-start}}
/* 11/10/2026: buscador de plazos en «Plazos de la convocatoria» */
.tr-buscar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0}
.tr-buscar input{flex:1 1 260px;min-height:46px;border:1.5px solid #cfdbe6;border-radius:12px;padding:10px 14px;font:inherit;font-size:15px;background:#fff}
.tr-buscar input:focus{outline:none;border-color:#0f6a9c;box-shadow:0 0 0 3px rgba(15,106,156,.15)}
.tr-buscar small{color:#5b6b7a;font-weight:700}
/* 11/10/2026 (Domingo): numerito de WhatsApp sin leer igual que el de Novedades, con destello */
.topbar .tb-wa{position:relative}
.topbar .tb-wa .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;animation:waLatido 2.4s ease-in-out infinite}
.topbar .tb-wa .rt-n::after{content:'';position:absolute;inset:-2px;border-radius:inherit;border:2px solid #e74c3c;animation:waOnda 2.4s ease-out infinite;pointer-events:none}
.topbar .tb-wa .rt-n::before{content:'✨';position:absolute;top:-11px;left:-9px;font-size:11px;animation:waChispa 2.4s ease-in-out infinite;pointer-events:none}
.topbar .tb-wa .rt-n.oculto{display:none}
@keyframes waLatido{0%,100%{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}}
@keyframes waOnda{0%{opacity:.8;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.9)}}
@keyframes waChispa{0%,55%,100%{opacity:0;transform:scale(.4) rotate(0)}15%{opacity:1;transform:scale(1.1) rotate(20deg)}35%{opacity:0;transform:scale(.6) rotate(40deg)}}
@media (prefers-reduced-motion:reduce){.topbar .tb-wa .rt-n,.topbar .tb-wa .rt-n::after,.topbar .tb-wa .rt-n::before{animation:none}.topbar .tb-wa .rt-n::after,.topbar .tb-wa .rt-n::before{display:none}}
/* 11/10/2026 (Domingo): en Calendariza los días se distinguen mejor: un día sí y otro no con fondo y línea de separación más marcada */
.cah-f>.cah-c{border-left:2px solid #c3cfdb}
.cah-f>.cah-c:nth-child(even){background-color:rgba(26,140,196,.055)}
.cah-cab>.cah-c:nth-child(even){background-color:#eef6fb}
.cah-cab>.cah-c{border-bottom:2px solid #c3cfdb}
/* 🎉 11/10/2026: menú Festivos */
#vFestivos{--fes-nac:#e03131;--fes-com:#f08c00;--fes-ins:#0c8599;--fes-loc:#1971c2;--fes-cnv:#7048e8;--fes-otr:#868e96}
.fes-barra{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;padding:12px 14px;margin-bottom:10px}
.fes-anio{display:flex;align-items:center;gap:8px}.fes-anio b{font-size:22px;min-width:64px;text-align:center}
.fes-vistas{display:flex;background:#eef2f6;border-radius:12px;padding:3px;gap:2px}
.fes-vistas button{border:0;background:transparent;font:inherit;font-weight:700;font-size:14px;padding:9px 14px;border-radius:9px;cursor:pointer;color:#33475b;min-height:40px}
.fes-vistas button.activo{background:#fff;color:#0d1b2a;box-shadow:0 1px 4px rgba(13,27,42,.12)}
.fes-solo{color:#5b6b7a}
.fes-filtros{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.fes-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.fes-chip{flex:none;display:inline-flex;align-items:center;gap:6px;border:1.5px solid #dde6ee;background:#fff;border-radius:999px;padding:7px 13px;font:inherit;font-size:13.5px;font-weight:700;color:#33475b;cursor:pointer;min-height:38px}
.fes-chip.activo{background:#0d1b2a;border-color:#0d1b2a;color:#fff}
.fes-q{min-height:46px;border:1.5px solid #cfdbe6;border-radius:12px;padding:10px 14px;font:inherit;font-size:15px;background:#fff;max-width:520px}
.fes-q:focus{outline:none;border-color:#0f6a9c;box-shadow:0 0 0 3px rgba(15,106,156,.15)}
.fes-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--fes-otr)}
.fes-dot.fes-nac{background:var(--fes-nac)}.fes-dot.fes-com{background:var(--fes-com)}.fes-dot.fes-ins{background:var(--fes-ins)}.fes-dot.fes-loc{background:var(--fes-loc)}.fes-dot.fes-cnv{background:var(--fes-cnv)}
.fes-falta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.fes-falta b{display:block}.fes-falta small{color:#7a5a00}.fes-falta ul{margin:6px 0 0;padding-left:18px;font-size:13.5px}
.fes-ok{color:#2b8a3e;font-weight:700;font-size:13.5px;margin:0 2px 10px}
.fes-anual{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.fes-mes{padding:12px;animation:fesEntra .35s ease both;animation-delay:calc(var(--i) * 25ms)}
@keyframes fesEntra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.fes-mes header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.fes-mes header button{border:0;background:none;font:inherit;font-weight:800;font-size:15px;color:#0d1b2a;cursor:pointer;padding:4px 0}
.fes-mes header button:hover{color:#0f6a9c}
.fes-cnt{background:#fff0f0;color:#c92a2a;font-weight:800;font-size:12px;border-radius:999px;padding:2px 8px}
.fes-sem,.fes-rej{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.fes-sem span{text-align:center;font-size:11px;font-weight:800;color:#8a99a8;padding:2px 0}
.fes-d{position:relative;aspect-ratio:1;border:0;border-radius:8px;background:#f4f7fa;font:inherit;font-size:12.5px;font-weight:700;color:#33475b;cursor:pointer;padding:0;transition:transform .12s}
.fes-d:hover{transform:scale(1.1);z-index:2;box-shadow:0 4px 10px rgba(0,0,0,.12)}
.fes-d.vacio{background:transparent;cursor:default}.fes-d.vacio:hover{transform:none;box-shadow:none}
.fes-d.fin{background:#eaeef2;color:#98a6b3}
.fes-d.hoy{outline:2.5px solid #0d1b2a;outline-offset:1px}
.fes-d.con{color:#fff}
.fes-b-nac{background:var(--fes-nac)!important}.fes-b-com{background:var(--fes-com)!important}.fes-b-ins{background:var(--fes-ins)!important}.fes-b-loc{background:var(--fes-loc)!important}.fes-b-cnv{background:var(--fes-cnv)!important}.fes-b-otr{background:var(--fes-otr)!important}
.fes-mas{position:absolute;top:-4px;right:-4px;background:#0d1b2a;color:#fff;font-style:normal;font-size:9.5px;border-radius:99px;min-width:15px;height:15px;display:flex;align-items:center;justify-content:center}
.fes-ley{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;color:#5b6b7a;font-size:13px;margin:12px 2px}.fes-ley span{display:inline-flex;align-items:center;gap:6px}
.fes-mesg{padding:14px}
.fes-mesg-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.fes-mesg-cab b{font-size:18px}
.fes-mesg .fes-rej{gap:5px}
.fes-mesg .fes-d{aspect-ratio:auto;min-height:92px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;padding:6px;background:#f7f9fb;color:#33475b!important}
.fes-mesg .fes-d.fin{background:#eef1f4}
.fes-mesg .fes-d.con{background:#fff!important;box-shadow:inset 0 0 0 1.5px #e3eaf0}
.fes-mesg .fes-d:hover{transform:none;box-shadow:inset 0 0 0 2px #0f6a9c}
.fes-mesg .fes-n{font-size:13px;font-weight:800}
.fes-items{display:flex;flex-direction:column;gap:3px;margin-top:4px;min-width:0}
.fes-it{display:block;font-style:normal;font-size:11.5px;font-weight:700;color:#fff;border-radius:6px;padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--fes-otr)}
.fes-it small{font-weight:600;opacity:.85}
.fes-it.fes-nac{background:var(--fes-nac)}.fes-it.fes-com{background:var(--fes-com)}.fes-it.fes-ins{background:var(--fes-ins)}.fes-it.fes-loc{background:var(--fes-loc)}.fes-it.fes-cnv{background:var(--fes-cnv)}.fes-it.otr{background:#dee2e6;color:#33475b}
.fes-tot{color:#5b6b7a;font-weight:700;margin:4px 2px 10px}
.fes-lista{display:grid;gap:8px}
.fes-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e3eaf0;border-left:5px solid var(--fes-otr);border-radius:14px;padding:10px 12px}
.fes-l-nac{border-left-color:var(--fes-nac)}.fes-l-com{border-left-color:var(--fes-com)}.fes-l-ins{border-left-color:var(--fes-ins)}.fes-l-loc{border-left-color:var(--fes-loc)}.fes-l-cnv{border-left-color:var(--fes-cnv)}
.fes-card-f{flex:none;width:52px;text-align:center;background:#f4f7fa;border-radius:10px;padding:6px 0}.fes-card-f b{display:block;font-size:20px;line-height:1}.fes-card-f small{text-transform:uppercase;font-size:11px;font-weight:800;color:#5b6b7a}
.fes-card-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.fes-card-t>b{overflow-wrap:anywhere}.fes-card-t>small{color:#5b6b7a}
.fes-card-t span{display:flex;flex-wrap:wrap;gap:5px}
.fes-tag{font-style:normal;font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;background:#f1f3f5;color:#495057}
.fes-tag.fes-nac{background:#fff0f0;color:#c92a2a}.fes-tag.fes-com{background:#fff4e6;color:#b35c00}.fes-tag.fes-ins{background:#e3fafc;color:#0b7285}.fes-tag.fes-loc{background:#e7f5ff;color:#1864ab}.fes-tag.fes-cnv{background:#f3f0ff;color:#5f3dc4}
.fes-card-a{display:flex;gap:6px;flex:none}
.fes-del{background:#fff5f5;color:#c92a2a;border:1px solid #ffc9c9}
.fes-pag{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0}.fes-pag span{font-weight:800}
.fes-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.fes-full{grid-column:1/-1}
.fes-form input,.fes-form select{min-height:46px;font-size:15px}
.fes-err{color:#c92a2a;font-weight:700;min-height:1em}
.fes-nota{color:#5b6b7a;margin:-4px 0 12px;font-size:13.5px}
.fes-hist{margin:16px 2px;color:#33475b}.fes-hist summary{cursor:pointer;font-weight:700}.fes-hist ul{font-size:13px;padding-left:18px}
@media (max-width:700px){.fes-barra{flex-direction:column;align-items:stretch}.fes-anio{justify-content:center}.fes-vistas{justify-content:center}.fes-vistas button{flex:1}.fes-acc .btn{width:100%}
 .fes-mesg .fes-d{min-height:56px;padding:4px}.fes-mesg .fes-it{font-size:0;height:6px;padding:0;border-radius:3px}.fes-mesg .fes-it small{display:none}
 .fes-card{flex-wrap:wrap}.fes-card-a{width:100%;justify-content:flex-end}.fes-form{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.fes-mes{animation:none}}
.fes-falta{border-radius:14px!important}
.fes-form input,.fes-form select{width:100%;box-sizing:border-box}
/* 📎 11/10/2026: pedir documentación por WhatsApp */
.pd-lista{display:grid;gap:6px;margin:12px 0}
.pd-op{display:flex;align-items:center;gap:10px;border:1px solid #e3eaf0;border-radius:12px;padding:10px 12px;min-height:46px;cursor:pointer;background:#fff}
.pd-op input{width:20px;height:20px;flex:none}
.pd-op:has(input:checked){border-color:#0f6a9c;background:#eef6fb}
/* ⏳ 11/10/2026: WhatsApp sin contestar */
.bj-pill.urg{background:#fff4e6;color:#b35c00;border:1px solid #ffd8a8}
.bj-pill.urg.ya{background:#fff0f0;color:#c92a2a;border-color:#ffc9c9;animation:bjUrg 2s ease-in-out infinite}
@keyframes bjUrg{50%{box-shadow:0 0 0 3px rgba(224,49,49,.15)}}
.bj-f.bj-f-urg small{background:#e8590c;color:#fff}
@media (prefers-reduced-motion:reduce){.bj-pill.urg.ya{animation:none}}
/* 🤖 11/10/2026: «Tizo prometió respuesta» */
.bj-pill.pend{background:#f3f0ff;color:#5f3dc4;border:1px solid #d0bfff;font-weight:800}
.bj-f.bj-f-tz small{background:#7048e8;color:#fff}
.bj-pendeq{display:flex;flex-direction:column;gap:3px;margin:8px 12px 0;padding:10px 12px;border-radius:12px;background:#f3f0ff;border:1px solid #d0bfff;color:#3b2a86;font-size:13.5px}
.bj-pendeq small{color:#6b5bb0}
/* 🎟️ 11/10/2026: Expofuturo en Capta */
.ex-hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;padding:18px 20px;background:linear-gradient(135deg,#fff8ec,#fdeedd);border:1px solid #f5d9b4}
.ex-hero h3{margin:8px 0 4px;font-size:20px}.ex-hero p{margin:2px 0;color:#5b4a30}
.ex-hero-b{display:flex;gap:8px;flex-wrap:wrap}
.ex-chip{display:inline-block;padding:3px 10px;border-radius:999px;background:#e9ecef;color:#495057;font-weight:800;font-size:12px}.ex-chip.on{background:#d3f9d8;color:#2b8a3e}
.ex-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
.ex-kpi{background:#fff;border:1px solid #e3eaf0;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;animation:fesEntra .35s ease both}
.ex-kpi b{font-size:26px;line-height:1.1}.ex-kpi span{color:#5b6b7a;font-size:13px}.ex-kpi.gr{background:#0f4c70;border-color:#0f4c70;color:#fff}.ex-kpi.gr span{color:#cfe3f0}
.ex-sorteo{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;background:#f3f0ff;border:1px solid #d0bfff;border-radius:14px;padding:14px 16px;margin-bottom:12px}
.ex-sorteo b{display:block;font-size:16px}.ex-sorteo span{color:#5f3dc4;font-size:13.5px}.ex-sorteo-b{display:flex;gap:8px;flex-wrap:wrap}
.ex-gana{display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,#fff3bf,#ffe8cc);border:1px solid #ffd43b;border-radius:16px;padding:16px 18px;margin-bottom:12px}
.ex-gana b{display:block;font-size:22px}.ex-gana small{display:block;color:#7a5a00}.ex-confeti{font-size:38px}.ex-res{margin-top:4px}
.ex-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ex-caja{padding:14px 16px;margin-bottom:12px}.ex-caja h4{margin:0 0 10px}
/* 21/10: QR del rollup (/feria) */
.fer-cab{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}.fer-cab h4{margin:0}.fer-cuerpo{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;align-items:start}.fer-qr img{width:100%;border-radius:10px;border:1px solid #d7e1ea;background:#fff}.fer-bot{display:flex;flex-direction:column;gap:6px;margin-top:8px}.fer-info p{margin:0 0 8px}.fer-ayuda{color:#5b6b7a;font-size:13.5px}.fer-tot b{font-size:22px}.fer-cambiar{margin-top:10px;border-top:1px solid #e3eaf1;padding-top:10px}.fer-cambiar summary{cursor:pointer;font-weight:700}.fer-cambiar label{display:block;margin:10px 0 4px;font-weight:600;font-size:13.5px}.fer-cambiar input[type=url],.fer-cambiar input:not([type]){display:block;width:100%;margin-top:4px;padding:9px 10px;border:1px solid #cfdeea;border-radius:10px;font:inherit}.fer-chk{display:flex!important;gap:8px;align-items:flex-start}.fer-cambiar small{display:block;color:#5b6b7a;margin:4px 0}
@media(max-width:640px){.fer-cuerpo{grid-template-columns:minmax(0,1fr)}.fer-qr{max-width:240px;margin:0 auto}}
.ex-barras{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:16px}
.ex-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative;min-width:16px}
.ex-bar i{width:100%;max-width:28px;background:linear-gradient(180deg,#f59f00,#e8590c);border-radius:6px 6px 2px 2px}
.ex-bar small{font-size:10.5px;color:#8a99a8;margin-top:4px}.ex-bar em{position:absolute;top:0;font-style:normal;font-size:11px;font-weight:800;color:#33475b}
.ex-cur{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eef2f6}.ex-cur b{color:#e8590c}
.ex-vacio{color:#5b6b7a}
.ex-lista-cab{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}
.ex-lista-cab input{min-height:44px;border:1.5px solid #cfdbe6;border-radius:12px;padding:8px 12px;font:inherit;flex:1 1 220px;max-width:360px}
.ex-tot{color:#5b6b7a;font-weight:700}
.ex-lista{display:grid;gap:6px}
.ex-p{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #e3eaf0;border-radius:12px;padding:10px 12px;background:#fff}
.ex-p small{display:block;color:#5b6b7a}
.ex-p-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.ex-t{font-size:12px;font-weight:700;border-radius:999px;padding:2px 8px;background:#f1f3f5;color:#495057}.ex-t.st{background:#e7f5ff;color:#1864ab}.ex-t.le{background:#d3f9d8;color:#2b8a3e}.ex-t.pap{background:#fff4e6;color:#b35c00}
@media (max-width:760px){.ex-cols{grid-template-columns:1fr}.ex-p{flex-direction:column;align-items:flex-start}.ex-p-tags{justify-content:flex-start}}
/* 🎁 11/10/2026: entregar premios de Embajadores */
.pr-intro{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:#f3f0ff;border:1px solid #d0bfff;margin-bottom:8px}.pr-intro span{color:#3b2a86;font-size:13.5px}
.pr-h{margin:16px 0 8px}
.pr-g{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;margin-bottom:8px}
.pr-g-t{display:flex;flex-direction:column;gap:3px;min-width:0}.pr-g-t small{color:#5b6b7a}
.pr-est{font-size:13px;font-weight:700;color:#b35c00}.pr-est.ok{color:#2b8a3e}.pr-est.no{color:#868e96}
.pr-g-a{display:flex;gap:8px;flex-wrap:wrap}.pr-g-a select{min-height:40px;border:1.5px solid #cfdbe6;border-radius:10px;padding:6px 10px;font:inherit;max-width:280px}
.pr-alta{padding:14px}.pr-form{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:10px}
.pr-form label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:13px}.pr-form input,.pr-form select{min-height:44px;border:1.5px solid #cfdbe6;border-radius:10px;padding:8px 10px;font:inherit;font-weight:400}
.pr-full{grid-column:1/-1}.pr-seg{display:block;color:#5b6b7a;margin-top:8px}
.pr-stock{display:grid;gap:6px;margin-top:10px}.pr-s{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid #e3eaf0;border-radius:12px;padding:8px 12px}
.pr-s small{display:block;color:#5b6b7a}.pr-s.us{opacity:.65}.pr-s em{font-style:normal;font-weight:700;font-size:12px;color:#5f3dc4}
.pr-det{margin:6px 0}.pr-det summary{cursor:pointer;font-weight:700;margin-bottom:6px}
.pr-gasto{padding:6px 14px}.pr-firma{max-width:320px;width:100%;border:1px solid #dee2e6;border-radius:10px;background:#fff;margin:8px 0}
@media (max-width:600px){.pr-form{grid-template-columns:1fr}.pr-g{flex-direction:column;align-items:stretch}.pr-g-a select{max-width:none;flex:1}}
.pr-tope{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13px}.pr-tope input{width:64px;min-height:40px;border:1.5px solid #cfdbe6;border-radius:10px;padding:6px 8px;font:inherit}
/* ⛶ 11/10/2026: conversación de la Bandeja a pantalla completa + ◀ ▶ */
.bj-nav{display:inline-flex;align-items:center;gap:4px;margin-right:4px}.bj-nav small{font-weight:700;font-size:12px;color:#5b6b7a;min-width:46px;text-align:center}.bj-nav .bj-ico:disabled{opacity:.35;cursor:default}
.bj-hilo.bj-full{position:fixed;inset:0;z-index:900;border-radius:0;max-width:none;width:100vw;height:100vh;height:100dvh;margin:0;display:flex;flex-direction:column;border:0}
.bj-hilo.bj-full .bj-volver{display:none}
body.bj-full-on{overflow:hidden}
@media (max-width:700px){.bj-nav small{min-width:0}.bj-hilo.bj-full .bj-cab-acc{flex-wrap:wrap}}
/* 📋 11/10/2026: plantillas a la vista bajo la conversación + 📝 seguimiento */
.bj-pl-in{background:#fff;border-top:1px solid var(--linea);padding:10px 12px;max-height:46vh;overflow:auto}
.bj-pl-cab{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.bj-pl-cab b{font-size:14px}.bj-pl-cab span{display:flex;gap:6px}
.bj-mini{border:1.5px solid var(--linea);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none;color:inherit;white-space:nowrap}.bj-mini:hover{border-color:var(--azul)}
.bp-inline .bp-base-t{display:none}.bp-inline .bp-base{display:flex;flex-wrap:wrap;gap:8px;grid-template-columns:none}
.bp-inline .bp-bc{display:inline-flex;flex-direction:row;align-items:center;gap:8px;width:auto;padding:8px 14px 8px 10px;border-radius:999px;min-height:44px}
.bp-inline .bp-bc i{font-size:20px;font-style:normal}.bp-inline .bp-bc b{font-size:13.5px;white-space:nowrap}.bp-inline .bp-bc small{display:none}.bp-inline .bp-bc.pend{opacity:.5}
.bp-inline .bp-bc.on{border-color:#25d366;background:#e9fbef;box-shadow:0 0 0 2px #25d36633}
.bp-inline .bp-q{margin-top:8px;max-width:420px}.bp-inline .bp-vars{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 10px}
.bp-inline .modal-pie{position:static;margin-top:8px;padding:0;background:none;border:0}
.bp-sk{display:flex;gap:8px;flex-wrap:wrap}.bp-sk i{display:block;width:140px;height:40px;border-radius:999px;background:linear-gradient(90deg,#eef2f6,#f8fafc,#eef2f6);background-size:200% 100%;animation:skel 1.2s infinite}
@keyframes skel{to{background-position:-200% 0}}
.bj-segp{background:#fffdf5;border-bottom:1px solid var(--linea);padding:10px 12px;max-height:38vh;overflow:auto}
.bj-seg-f{display:flex;gap:8px;align-items:flex-end}.bj-seg-f textarea{flex:1;border:1.5px solid #cfdbe6;border-radius:12px;padding:8px 10px;font:inherit;resize:vertical;min-height:44px}
.bj-seg-n{display:block;color:var(--tinta-suave);font-weight:700;margin:10px 0 4px}
.bj-seg-i{border-left:3px solid #f2b23e;background:#fff;border-radius:0 10px 10px 0;padding:6px 10px;margin-bottom:6px}.bj-seg-i b{font-size:13px}.bj-seg-i time{font-size:12px;color:var(--tinta-suave);margin-left:8px}.bj-seg-i p{margin:2px 0 0;font-size:13.5px;white-space:pre-wrap}
.bj-seg-v{color:var(--tinta-suave);font-size:13.5px;padding:6px 0}
@media (max-width:600px){.bj-seg-f{flex-direction:column;align-items:stretch}.bj-pl-cab{flex-wrap:wrap}}
.bj-segp,.bj-atcab,.bj-ctx,.bj-pie{flex-shrink:0}.bj-msgs{min-height:150px}.bj-segp{max-height:30vh}.bj-pl-in{max-height:40vh}
.ex-g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin:10px 0}.ex-g2>div{background:rgba(255,255,255,.7);border:1px solid #e3eaf0;border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:3px}.ex-g2 b{font-size:15px}
