/* Rednacer v2 · apps del INSTRUCTOR y de ADMINISTRACIÓN + chat del grupo. Solo var(--…) de tokens.css. */

/* ---------- Instructor · #hoy (momento héroe) ---------- */
.hoy-sesion{padding:20px}
.hoy-cab{display:flex;gap:12px;align-items:flex-start}
.hoy-cab .tit-meta>b{font-family:var(--display);font-size:var(--t-3)}
.hoy-sesion .tit-meta-fila small{color:color-mix(in srgb,var(--sobre-enfasis) 75%,transparent)}
.hoy-donde{margin:12px 0 6px;font-size:1rem}
.hoy-cuenta{display:flex;align-items:baseline;gap:8px;margin:10px 0 10px}
.hoy-n{font:800 3.25rem/1 var(--display);font-variant-numeric:tabular-nums;color:var(--sobre-enfasis)}
.hoy-cuenta span{font-weight:700}
.asist>li{display:flex}
.asist{list-style:none;margin:16px 0 10px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100px,30%),1fr));gap:10px}
.asist-p{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;min-height:118px;padding:12px 6px;border:1px solid var(--linea);border-radius:var(--radio-tarjeta);background:var(--superficie);color:var(--tinta);cursor:pointer;text-align:center;transition:border-color var(--dur-normal) var(--curva),background var(--dur-normal) var(--curva)}
.asist-p .avatar{width:52px;height:52px;font-size:1.05rem;transition:background var(--dur-normal) var(--curva),color var(--dur-normal) var(--curva)}
.asist-nom{font-weight:700;font-size:var(--t-chico);line-height:1.2;overflow-wrap:anywhere}
.asist-est{font-size:var(--t-chico);color:var(--tinta-2)}
.asist-p[aria-pressed="true"]{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,var(--superficie))}
.asist-p[aria-pressed="true"] .avatar{background:var(--ok);color:var(--superficie)}
.asist-p[aria-pressed="true"] .asist-est{color:var(--ok);font-weight:800}
.hoy-firmar{margin:6px 0 4px}
.hoy-firmar .btn .emoji,.per-acciones .btn .emoji,.gen-ia .btn .emoji,.gen-panel .btn .emoji{width:26px;height:26px}
.firma-lienzo{display:block;width:100%;height:auto;aspect-ratio:600/220;margin:10px 0;border:2px dashed var(--linea);border-radius:var(--radio);background:var(--fondo);touch-action:none;cursor:crosshair}

/* ---------- Convocatorias ---------- */
.conv-lista>li{align-items:flex-start}
.conv-cupo{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.conv-cupo small{color:var(--tinta-2)}
.lista>li>.tit-meta .progreso{margin-top:4px}

/* ---------- Generador de convocatorias ---------- */
.gen-pasos{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;counter-reset:p}
.gen-pasos li{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:var(--t-chico);font-weight:700;color:var(--tinta-2);text-align:center}
.gen-pasos span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;border:2px solid var(--linea);background:var(--superficie);font-weight:800}
.gen-pasos li.hecho span{background:var(--ok);border-color:var(--ok);color:var(--superficie)}
.gen-pasos li[aria-current] {color:var(--tinta)}
.gen-pasos li[aria-current] span{background:var(--marca);border-color:var(--marca);color:var(--sobre-marca);box-shadow:0 0 0 5px var(--marca-suave-2)}
.gen-panel{min-height:240px}
.gen-panel h2{font-size:var(--t-3)}
.gen-opciones{display:grid;gap:10px;margin-top:12px}
.gen-op{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--linea);border-radius:var(--radio);cursor:pointer}
.gen-op input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--marca)}
.gen-op:has(input:checked){border-color:var(--marca);background:var(--marca-suave)}
.gen-op.no{opacity:.62;cursor:not-allowed}
.gen-grupo{border:0;margin:0;padding:0;display:grid;gap:10px}
.gen-grupo legend{font:800 1rem var(--display);margin-bottom:8px;padding:0}
.segmento{display:flex;gap:6px;flex-wrap:wrap}
.segmento label{flex:1 1 90px}
.segmento input{position:absolute;opacity:0;width:1px;height:1px}
.segmento span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 12px;border:1px solid var(--linea);border-radius:999px;font-weight:700;cursor:pointer}
.segmento input:checked+span{background:var(--marca);border-color:var(--marca);color:var(--sobre-marca)}
.segmento input:focus-visible+span{outline:3px solid var(--marca);outline-offset:2px}
.gen-ia{margin:12px 0 18px}
.gen-desc{margin:12px 0 0;padding:14px;border-radius:var(--radio);background:var(--fondo);line-height:1.6;min-height:3.2em}
.gen-desc.vacia{color:var(--tinta-2)}
.gen-sub{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:6px 0 2px;font:800 1rem var(--display)}
.gen-ev{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.gen-ev .consentimiento{padding:10px 12px;border:1px solid var(--linea);border-radius:var(--radio);color:var(--tinta);min-height:48px}
.gen-ev .consentimiento b{display:block;font-weight:700}
.gen-ev .consentimiento small{display:block;color:var(--tinta-2)}
.gen-previa{padding:20px;border-radius:var(--radio-tarjeta);margin:12px 0}
.gen-previa h3{margin:4px 0 8px;font:800 var(--t-3)/1.2 var(--display)}
.gen-previa-ec{margin:0;font-weight:800;font-size:var(--t-chico)}
.gen-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 6px}
.gen-dl dt{font-size:var(--t-chico);font-weight:700;color:color-mix(in srgb,var(--sobre-enfasis) 72%,transparent)}
.gen-dl dd{margin:0;font-weight:800}
.gen-evn{margin:0;font-size:var(--t-chico);font-weight:700}
.gen-enlace{overflow-wrap:anywhere}
.gen-enlace code{font-size:.95rem;padding:2px 6px;border-radius:6px;background:var(--fondo)}
.gen-rev{margin:12px 0;color:var(--tinta);font-size:1rem}
.gen-nav{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));z-index:5;display:flex;justify-content:space-between;gap:10px;margin-top:12px;padding:10px;border-radius:999px;background:var(--vidrio-fuerte);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.gen-nav [data-sig]{margin-left:auto}
@media (min-width:900px){.gen-nav{bottom:16px}}

/* ---------- Solicitudes ---------- */
.sol-grupo{margin-bottom:22px}
.sol-cab{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin:0 0 10px}
.sol-cab h2{margin:0;font-size:1.0625rem}
.sol-libres{font-size:var(--t-chico);color:var(--tinta-2)}
.sol-libres b{font:800 1.25rem var(--display);color:var(--marca-oscura)}
html[data-modo="oscuro"] .sol-libres b{color:var(--marca)}
.sol-motivo{margin:10px 0 12px;color:var(--tinta);font-style:italic}
.sol.decidida{opacity:.85}
.sol-acc .btn{flex:1 1 auto}

/* ---------- Seguimiento ---------- */
.per-lista .tit-meta .progreso{width:100%;margin-top:6px}
.per-cab{display:flex;gap:14px;align-items:center}
.per-cab p{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.per-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.per-kpis .kpi b{font-size:var(--t-2)}
.per-acciones{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

/* ---------- Chat del grupo ---------- */
.chat-privacidad{margin:0 0 14px;padding:10px 14px;border-radius:var(--radio);background:var(--marca-suave);color:var(--tinta);font-size:var(--t-chico)}
.chat-grupo{min-height:40dvh;padding-bottom:12px}
.chat-redactar{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));display:flex;gap:8px;margin-top:12px;padding:8px;border-radius:999px;background:var(--superficie);box-shadow:var(--sombra-alta)}
.chat-redactar input{flex:1;min-width:0;min-height:48px;padding:0 16px;border:0;border-radius:999px;background:var(--fondo);color:var(--tinta);font-size:1rem}
.chat-enviar{width:48px;min-width:48px;padding:0}
@media (min-width:900px){.chat-redactar{bottom:16px}}

/* ---------- Administración ---------- */
.adm-ejemplo{margin:-8px 0 14px;display:flex;align-items:center;gap:8px}
.adm-kpis{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
.adm-kpis .kpi{display:flex;flex-direction:column;gap:2px}
.adm-kpis .kpi b{font-variant-numeric:tabular-nums;white-space:nowrap}
.kpi-suf{font-size:.45em;margin-left:.15em;font-weight:800}
.adm-kpis .kpi .gris{font-size:var(--t-chico)}
.adm-gasto .progreso{margin:6px 0 4px;background:color-mix(in srgb,var(--sobre-enfasis) 14%,transparent)}
.adm-dos{display:grid;gap:14px}
@media (min-width:1100px){.adm-dos{grid-template-columns:1.3fr 1fr}}
.embudo{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:12px}
.embudo li{display:grid;grid-template-columns:minmax(110px,170px) 1fr auto;gap:10px;align-items:center}
.emb-t{font-weight:700;font-size:var(--t-chico)}
.emb-barra{height:28px;border-radius:8px;background:var(--marca-suave);overflow:hidden}
.emb-barra i{display:block;height:100%;width:calc(var(--p,0)*100%);border-radius:inherit;background:linear-gradient(90deg,var(--marca),color-mix(in srgb,var(--marca) 62%,var(--superficie)))}
.embudo b{font:800 1.125rem var(--display);font-variant-numeric:tabular-nums;min-width:2.5ch;text-align:right}
@media (max-width:480px){.embudo li{grid-template-columns:1fr auto}.emb-barra{grid-column:1/-1;grid-row:2}}
.adm-cupo{display:flex;align-items:center;gap:8px;min-width:120px}
.adm-cupo .progreso{flex:1}
.adm-tabla th[scope="row"]{font-weight:700}
.adm-tarjetas{display:none}
@media (max-width:760px){.adm-tabla{display:none}.adm-tarjetas{display:grid}}
.eq-lista .tit-meta-fila{margin-top:2px}
.chip.rol-administracion{background:var(--enfasis);color:var(--sobre-enfasis)}
.chip.rol-evaluador{background:color-mix(in srgb,var(--ok) 14%,var(--superficie));color:var(--ok)}
.chip.rol-instructor{background:color-mix(in srgb,var(--acento) 26%,var(--superficie));color:var(--tinta)}
.eq-ec{background:var(--fondo);color:var(--tinta);border:1px solid var(--linea)}
.eq-roles{border:0;margin:0;padding:0;display:grid;gap:6px}
.eq-roles legend{font-weight:700;font-size:var(--t-chico);margin-bottom:6px;padding:0}
.eq-roles .consentimiento{color:var(--tinta);font-size:1rem;min-height:44px;align-items:center}
.eq-error{margin:0;color:var(--error);font-weight:700}
.ia-barras li{grid-template-columns:44px 1fr auto}
.ia-barras b{font-variant-numeric:tabular-nums}
.ia-switch{align-items:flex-start;gap:12px}
.ia-switch small{display:block}
.ia-pasos>li{min-height:56px}
.priv-lista>li{align-items:flex-start}
.priv-lista .tit-meta-fila small{color:var(--tinta-2);font-size:var(--t-chico)}
.bitacora{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:0}
.bitacora li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--linea)}
.bitacora li:first-child{border-top:0}
.bitacora time{font-weight:800;color:var(--marca-oscura);font-size:var(--t-chico)}
html[data-modo="oscuro"] .bitacora time{color:var(--marca)}
.bitacora b{display:block}
.bitacora small{color:var(--tinta-2);font-size:var(--t-chico)}
@media (max-width:480px){.bitacora li{grid-template-columns:1fr;gap:2px}}
.kpi .kpi-suf{display:inline}
/* Costo por paso: el chip es corto y cabe junto al nombre del paso aun a 320 px. */
@media (max-width:480px){
  .ia-pasos>li{flex-wrap:nowrap!important;min-height:52px}
  .ia-pasos>li::after{content:none!important}
  .ia-pasos>li>.chip{order:0!important;margin-top:0!important}
}
