/* Pulso Grupo SI · paleta del manual de marca 2026–2027 */
:root{
  --marino:#16284A; --lima:#8CC63F; --verde:#5C9A28; --azul:#4A6285;
  --gris:#AAB6C4; --fondo:#F1F5F8; --cuerpo:#2E3E56; --nota:#6E7C8C; --rojo:#B23A3A;
  --linea:#DCE3EA; --blanco:#FFFFFF;
  --critico:#B23A3A; --critico-s:#F8E4E4;
  --debil:#B86E12;   --debil-s:#FBEEDB;
  --aceptable:#4A6285; --aceptable-s:#E3EAF3;
  --fortaleza:#4E8A1E; --fortaleza-s:#E7F3DA;
  --radio:10px;
  --sombra:0 1px 2px rgba(22,40,74,.06), 0 4px 16px rgba(22,40,74,.05);
  --letra:"Figtree","Aptos","Segoe UI",Roboto,Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--cuerpo);font:15px/1.55 var(--letra)}
a{color:var(--marino);text-decoration-color:var(--lima);text-underline-offset:3px;text-decoration-thickness:2px}
a:hover{color:var(--verde)}
:focus-visible{outline:3px solid var(--lima);outline-offset:2px}
h1,h2,h3{color:var(--marino);line-height:1.25;text-wrap:balance;margin:0 0 .5em}
h1{font-size:1.65rem;font-weight:800;letter-spacing:-.01em}
h2{font-size:1.15rem;font-weight:700}
h3{font-size:1rem;font-weight:700}
p{margin:0 0 .8em}
code{background:var(--fondo);padding:1px 6px;border-radius:5px;font-size:.92em}
small{font-size:.8em}
.tenue{color:var(--nota)}
.ayuda{font-size:.86rem;color:var(--nota);margin:.35rem 0 1rem}
.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);margin:0 0 .4rem}
[hidden]{display:none!important}

/* ===== Marco con menú lateral ===== */
.marco{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.lateral{background:var(--blanco);border-right:1px solid var(--linea);padding:22px 16px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;overflow-y:auto}
.marca img{width:150px;display:block}
.marca-sub{font-size:.78rem;font-weight:700;color:var(--azul);letter-spacing:.06em;text-transform:uppercase;margin:6px 0 14px}
.lateral nav{display:flex;flex-direction:column;gap:2px;flex:1}
.nav-grupo{font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--gris);margin:16px 10px 6px}
.lateral nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--cuerpo);text-decoration:none;font-weight:500}
.lateral nav a:hover{background:var(--fondo);color:var(--marino)}
.lateral nav a.activo{background:var(--marino);color:var(--blanco);font-weight:600;box-shadow:inset 3px 0 0 var(--lima)}
.quien{border-top:1px solid var(--linea);padding-top:12px;margin-top:12px;display:flex;flex-direction:column;font-size:.85rem}
.quien strong{color:var(--marino)}
.quien span{color:var(--nota)}
.quien-links a{color:var(--azul)}
.contenido{min-width:0}
.barra-movil{display:none}
.pagina{max-width:1180px;margin:0 auto;padding:28px 28px 60px}

@media (max-width:900px){
  .marco{grid-template-columns:minmax(0,1fr)}
  .lateral{position:fixed;inset:0 auto 0 0;width:min(290px,86vw);z-index:40;transform:translateX(-102%);transition:transform .2s ease;box-shadow:0 0 40px rgba(22,40,74,.25)}
  .lateral.abierto{transform:none}
  .barra-movil{display:flex;align-items:center;gap:14px;background:var(--blanco);border-bottom:1px solid var(--linea);padding:10px 16px;position:sticky;top:0;z-index:30}
  .barra-movil img{height:30px}
  .btn-menu{font:600 .9rem var(--letra);background:var(--marino);color:var(--blanco);border:0;border-radius:8px;padding:8px 14px}
  .pagina{padding:20px 16px 48px}
}
@media (prefers-reduced-motion:reduce){.lateral{transition:none}}

/* ===== Páginas públicas ===== */
.publico{min-height:100vh;display:flex;flex-direction:column}
.pub-cabecera{background:var(--blanco);border-bottom:4px solid var(--lima);padding:14px 16px;display:flex;justify-content:center}
.pub-cabecera img{height:44px}
.pagina-publica{max-width:720px;width:100%;margin:0 auto;padding:22px 16px 48px;flex:1}
.pub-pie{text-align:center;font-size:.8rem;color:var(--nota);padding:18px 16px 26px}

/* ===== Títulos ===== */
.titulo-pagina{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.titulo-pagina h1{margin:0 0 4px}
.bajada{color:var(--azul);margin:0;max-width:70ch}
.titulo-acciones{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* ===== Paneles ===== */
.panel{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);padding:20px 22px;margin-bottom:18px;box-shadow:var(--sombra)}
.panel-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.panel-cab h2{margin:0}
.panel.destacado{border-left:5px solid var(--lima)}
.vacio{text-align:center;padding:40px 22px}
.vacio-txt{color:var(--nota)}
.grilla-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.grilla-2-ancha{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
@media (max-width:900px){.grilla-2,.grilla-2-ancha{grid-template-columns:minmax(0,1fr)}}
.grilla-2 > .panel{margin-bottom:0}
.grilla-2{margin-bottom:18px}

details.seccion > summary,details.desplegable > summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
details.seccion > summary::-webkit-details-marker,details.desplegable > summary::-webkit-details-marker{display:none}
details.seccion > summary h2{margin:0}
details.seccion > summary::before{content:"▸";color:var(--verde);font-size:.9rem;transition:transform .15s}
details.seccion[open] > summary::before{transform:rotate(90deg)}
details.seccion[open] > summary{margin-bottom:14px}
details.desplegable > summary{font-weight:700;color:var(--marino)}
details.desplegable[open] > summary{margin-bottom:12px}
.panel details.desplegable{margin-top:10px}

/* ===== Avisos ===== */
.aviso{border-radius:8px;padding:11px 14px;margin:0 0 16px;font-size:.93rem;border:1px solid}
.aviso-ok{background:var(--fortaleza-s);border-color:#C8E2AE;color:#2F5A10}
.aviso-error{background:var(--critico-s);border-color:#EBC3C3;color:#7D2222}
.aviso-aviso{background:var(--debil-s);border-color:#EED3AC;color:#734308}
.aviso-info{background:var(--aceptable-s);border-color:#C9D6E6;color:var(--marino)}

/* ===== Botones y formularios ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:600 .92rem var(--letra);padding:10px 18px;border-radius:8px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;line-height:1.2}
.btn-primario{background:var(--marino);color:var(--blanco)}
.btn-primario:hover{background:#0E1C36;color:var(--blanco)}
.btn-secundario{background:var(--blanco);color:var(--marino);border-color:var(--gris)}
.btn-secundario:hover{border-color:var(--marino);color:var(--marino)}
.btn-peligro{background:var(--blanco);color:var(--rojo);border-color:#E3B5B5}
.btn-peligro:hover{background:var(--critico-s)}
.btn-chico{padding:6px 11px;font-size:.84rem}
.btn:disabled{opacity:.6;cursor:wait}
.form{display:flex;flex-direction:column;align-items:stretch}
.form label,label[for]{font-weight:600;color:var(--marino);font-size:.9rem;margin:12px 0 5px;display:block}
.form label:first-of-type{margin-top:0}
input,select,textarea{font:inherit;color:var(--cuerpo);background:var(--blanco);border:1.5px solid #CBD5E0;border-radius:8px;padding:9px 11px;width:100%;max-width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--marino);outline:none;box-shadow:0 0 0 3px rgba(140,198,63,.35)}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--marino)}
input[type=range]{padding:0;border:0;accent-color:var(--verde)}
input[readonly]{background:var(--fondo)}
textarea{resize:vertical;line-height:1.5}
.corto{max-width:110px}
.form .btn{align-self:flex-start;margin-top:16px}
label.check{display:flex;align-items:flex-start;gap:8px;font-weight:500;color:var(--cuerpo);margin:12px 0 0}
label.check input{margin-top:4px}
.form-linea{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;flex-direction:row}
.form-linea > div{display:flex;flex-direction:column;min-width:160px;flex:1}
.form-linea > div:last-child{flex:0 0 auto}
.form-linea label{margin-top:0!important}
.form-linea .btn{margin-top:0}
.dos-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.dos-col{grid-template-columns:1fr}}
.dos-col label{margin-top:12px}
.botones{display:flex;gap:8px;flex-wrap:wrap}
.botones .btn{margin-top:12px}
.en-linea{display:inline}
.filtros{display:flex;gap:8px;flex-wrap:wrap}
.filtros select{width:auto;min-width:180px}
.copiar{display:flex;gap:8px}
.barra-guardar{position:sticky;bottom:0;background:linear-gradient(transparent,var(--fondo) 30%);padding:18px 0 8px}
.form-eliminar{margin-top:18px;border-top:1px solid var(--linea);padding-top:14px}

/* ===== Acceso ===== */
.caja-acceso{max-width:420px;margin:30px auto;background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);padding:28px;box-shadow:var(--sombra)}
.caja-acceso .btn{width:100%;margin-top:18px}
.nota-acceso{font-size:.85rem;color:var(--nota);margin:18px 0 0}

/* ===== Tablas ===== */
.tabla-envoltura{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px}
.tabla{width:100%;border-collapse:collapse;font-size:.92rem}
.tabla th{text-align:left;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--nota);padding:9px 10px;border-bottom:2px solid var(--linea);white-space:nowrap}
.tabla td{padding:10px;border-bottom:1px solid var(--linea);vertical-align:middle}
.tabla tfoot td{border-bottom:0}
.tabla .num{text-align:right;font-variant-numeric:tabular-nums}
.tabla-compacta td{padding:7px 10px}
.fila-apagada{opacity:.5}
.fila-alerta td{background:#FFF8EC}
.acciones-fila{white-space:nowrap}
.tabla-carga input{min-width:76px;text-align:right}
.tabla select,.tabla input{padding:6px 8px}

/* ===== Chips y barras ===== */
.chip{display:inline-block;font-size:.74rem;font-weight:700;padding:2px 9px;border-radius:99px;white-space:nowrap;vertical-align:middle;letter-spacing:.02em}
.chip-critico{background:var(--critico-s);color:var(--critico)}
.chip-debil{background:var(--debil-s);color:var(--debil)}
.chip-aceptable{background:var(--aceptable-s);color:var(--aceptable)}
.chip-fortaleza{background:var(--fortaleza-s);color:var(--fortaleza)}
.chip-nd{background:var(--fondo);color:var(--nota)}
.barra-fav{display:flex;height:22px;border-radius:6px;overflow:hidden;background:var(--fondo);font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:120px}
.barra-fav span{display:flex;align-items:center;justify-content:center;color:var(--blanco);overflow:hidden;white-space:nowrap}
.bf-desf{background:#C65A5A}
.bf-neu{background:#D5DDE6}
.bf-fav{background:var(--verde)}
.mini-barra{height:8px;background:var(--fondo);border-radius:99px;overflow:hidden;min-width:70px}
.mini-barra span{display:block;height:100%;background:var(--lima);border-radius:99px}
.mini-barra-grande{height:12px;margin-top:6px}
.cifra-grande{font-size:2rem;font-weight:800;color:var(--marino);margin:.2rem 0 .8rem;font-variant-numeric:tabular-nums}
.cifra-grande small{font-size:.9rem;font-weight:500;color:var(--nota)}

/* ===== KPIs ===== */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.kpis-chicos{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
@media (max-width:1000px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.kpis{grid-template-columns:minmax(0,1fr)}}
.kpi{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);padding:16px 18px;box-shadow:var(--sombra)}
.kpi-et{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--nota);margin:0 0 6px}
.kpi-valor{font-size:1.75rem;font-weight:800;color:var(--marino);margin:0;line-height:1.15;font-variant-numeric:tabular-nums}
.kpi-valor small{font-size:.85rem;font-weight:500;color:var(--nota)}
.kpi-sub{font-size:.82rem;color:var(--nota);margin:6px 0 0;line-height:1.4}
.kpi-alerta{border-color:#EBC3C3;background:#FFF9F9}
.kpi-alerta .kpi-valor{color:var(--rojo)}
.kpi-westrum{border-top:4px solid var(--gris)}
.kpi-patologica{border-top-color:var(--critico)}
.kpi-patologica .kpi-valor{color:var(--critico)}
.kpi-burocratica{border-top-color:var(--debil)}
.kpi-burocratica .kpi-valor{color:var(--debil)}
.kpi-generativa{border-top-color:var(--verde)}
.kpi-generativa .kpi-valor{color:var(--fortaleza)}
.medidor-num{font-size:1.75rem;font-weight:800;color:var(--marino);font-variant-numeric:tabular-nums;line-height:1.15}
.medidor-num small{font-size:.8rem;font-weight:500;color:var(--nota)}
.medidor-pista{height:8px;background:var(--fondo);border-radius:99px;margin:8px 0;overflow:hidden}
.medidor-pista span{display:block;height:100%;border-radius:99px;background:var(--gris)}
.medidor-critico .medidor-pista span{background:var(--critico)}
.medidor-debil .medidor-pista span{background:var(--debil)}
.medidor-aceptable .medidor-pista span{background:var(--azul)}
.medidor-fortaleza .medidor-pista span{background:var(--verde)}
.medidor-et{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--nota)}
.medidor-sub{font-size:.82rem;color:var(--nota);margin-top:4px}
.delta{font-size:.78rem;font-weight:700;color:var(--nota);white-space:nowrap}
.delta-sube{color:var(--fortaleza)}
.delta-baja{color:var(--critico)}

/* ===== Prioridades y matriz ===== */
.grilla-prioridades{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px;align-items:center}
@media (max-width:900px){.grilla-prioridades{grid-template-columns:minmax(0,1fr)}}
.prioridades{margin:0;padding:0;list-style:none;counter-reset:p;display:flex;flex-direction:column;gap:12px}
.prioridades li{counter-increment:p;position:relative;padding-left:40px}
.prioridades li::before{content:counter(p);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--marino);color:var(--lima);font-weight:800;display:grid;place-items:center;font-size:.9rem}
.prioridades li p{margin:4px 0 0;font-size:.88rem;color:var(--nota)}
.prioridades li strong{color:var(--marino)}
.matriz{width:100%;height:auto;max-width:560px;display:block}
.m-grid{stroke:#E6EBF0;stroke-width:1}
.m-eje{fill:var(--nota);font-size:11px;font-family:var(--letra)}
.m-titulo{fill:var(--azul);font-size:11.5px;font-weight:600;font-family:var(--letra)}
.m-zona{fill:#FBEFEF}
.m-zona-txt{fill:var(--critico);font-size:11px;font-weight:700;font-family:var(--letra);letter-spacing:.06em;text-transform:uppercase}
.m-pto{fill:var(--azul);stroke:var(--blanco);stroke-width:1.5}
.m-pto-dest{fill:var(--critico)}
.m-et{fill:var(--cuerpo);font-size:11px;font-family:var(--letra)}
.m-et-dest{fill:var(--marino);font-weight:700}
.m-guia{fill:none;stroke:#C9D3DE;stroke-width:1}
.m-guia-dest{stroke:#E0A3A3}

/* ===== Dimensiones ===== */
.eje-titulo{margin:22px 0 8px;font-size:.95rem}
.eje-titulo:first-of-type{margin-top:8px}
.eje-titulo .tenue{font-weight:500}
.dims{display:flex;flex-direction:column;border-top:1px solid var(--linea)}
.dim{border-bottom:1px solid var(--linea)}
.dim > summary{display:grid;grid-template-columns:minmax(150px,1.2fr) 46px 92px minmax(140px,2fr) 54px;gap:12px;align-items:center;padding:10px 4px;cursor:pointer;list-style:none}
.dim > summary::-webkit-details-marker{display:none}
.dim > summary:hover{background:#FAFBFC}
.dim-nombre{font-weight:600;color:var(--marino)}
.dim-num{font-size:1.15rem;font-weight:800;color:var(--marino);text-align:right;font-variant-numeric:tabular-nums}
.dim-delta{text-align:right}
.dim-detalle{padding:6px 4px 16px 18px;border-left:3px solid var(--lima);margin:0 0 12px 4px}
.item{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(140px,1fr);gap:14px;align-items:center;padding:6px 0}
.item p{margin:0;font-size:.9rem}
@media (max-width:700px){
  .dim > summary{grid-template-columns:minmax(0,1fr) auto auto;row-gap:6px}
  .dim-barra{grid-column:1 / -1}
  .dim-delta{display:none}
  .item{grid-template-columns:minmax(0,1fr)}
}

/* ===== Pestañas y mapa de calor ===== */
.pestanas{display:flex;gap:4px;border-bottom:2px solid var(--linea);margin:6px 0 12px;overflow-x:auto}
.pestana{font:600 .9rem var(--letra);background:none;border:0;padding:9px 14px;color:var(--nota);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.pestana.activa{color:var(--marino);border-bottom-color:var(--lima)}
.mapa-calor th.rot{height:130px;vertical-align:bottom;padding:4px 2px}
.mapa-calor th.rot span{writing-mode:vertical-rl;transform:rotate(180deg);text-transform:none;letter-spacing:0;font-size:.78rem;font-weight:600;color:var(--azul);white-space:nowrap}
.mapa-calor td{text-align:center;font-weight:700;font-variant-numeric:tabular-nums;padding:8px 6px;border:2px solid var(--blanco)}
.mapa-calor td:first-child{text-align:left;font-weight:600;color:var(--marino);white-space:nowrap}
.celda-critico{background:var(--critico-s);color:var(--critico)}
.celda-debil{background:var(--debil-s);color:var(--debil)}
.celda-aceptable{background:var(--aceptable-s);color:var(--aceptable)}
.celda-fortaleza{background:var(--fortaleza-s);color:var(--fortaleza)}

/* ===== Distribuciones ===== */
.distribucion{display:flex;flex-direction:column;gap:9px}
.dist-fila{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(70px,1fr) 46px;gap:10px;align-items:center;font-size:.9rem}
.dist-barra{height:10px;background:var(--fondo);border-radius:99px;overflow:hidden}
.dist-barra span{display:block;height:100%;background:var(--azul);border-radius:99px}
.dist-alerta .dist-barra span{background:var(--critico)}
.dist-alerta .dist-txt{color:var(--critico);font-weight:600}
.dist-num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;color:var(--marino)}

/* ===== Comentarios, diagnóstico, bitácora ===== */
.comentarios{border-top:1px solid var(--linea);padding:10px 0}
.comentarios summary{cursor:pointer}
.comentarios ul{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.comentarios li{background:var(--fondo);border-radius:8px;padding:10px 14px;font-size:.92rem;border-left:3px solid var(--gris)}
.pie-acciones{display:flex;gap:10px;flex-wrap:wrap}
.diag-texto{max-width:75ch}
.diag-texto p{font-size:.98rem}
.diag-n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--marino);color:var(--lima);font-size:.85rem;margin-right:4px;vertical-align:2px}
.bitacora{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.bitacora li{border-left:3px solid var(--lima);padding:2px 0 2px 12px}
.bitacora li p{margin:2px 0 0}
.sug-lista{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.sug{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:var(--fondo);border-radius:8px;padding:12px 14px}
.sug p{margin:4px 0 0;font-size:.9rem}
@media (max-width:600px){.sug{flex-direction:column}}
.datos-lista{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0 0 12px}
.datos-lista dt{font-weight:700;color:var(--marino);font-size:.88rem}
.datos-lista dd{margin:0}
@media (max-width:560px){.datos-lista{grid-template-columns:minmax(0,1fr)}.datos-lista dd{margin-bottom:6px}}
.texto-largo{max-width:820px}
.texto-largo h2{margin-top:22px}
.texto-largo h2:first-child{margin-top:0}
.texto-largo li{margin-bottom:6px}

/* ===== Preguntas ===== */
.lista-preguntas{display:flex;flex-direction:column;gap:10px}
.preg-fila{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.preg-marcas{display:flex;flex-direction:column;gap:4px;font-size:.86rem;min-width:110px}
.preg-marcas label{display:flex;gap:6px;align-items:center;margin:0;font-weight:500;color:var(--cuerpo)}
@media (max-width:600px){.preg-fila{grid-template-columns:minmax(0,1fr)}.preg-marcas{flex-direction:row;flex-wrap:wrap;gap:12px}}
.lista-check{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.lista-check label{display:flex;gap:8px;align-items:flex-start;font-weight:400;color:var(--cuerpo);margin:0;font-size:.92rem}
.lista-check input{margin-top:4px}
.qr-caja{display:flex;gap:18px;align-items:center;margin-top:18px;flex-wrap:wrap}
#qr{background:var(--blanco);padding:8px;border:1px solid var(--linea);border-radius:8px;line-height:0}
#qr img,#qr canvas{width:160px;height:160px}
.clave-temporal{font-size:1.1rem;font-weight:700;letter-spacing:.08em}

/* ===== Buzón ===== */
.friccion{border-top:1px solid var(--linea);padding:12px 0}
.friccion > summary{cursor:pointer;display:flex;flex-direction:column;gap:3px;list-style:none}
.friccion > summary::-webkit-details-marker{display:none}
.friccion-txt{font-size:.92rem}
.friccion-vencida{border-left:4px solid var(--critico);padding-left:12px}
.friccion-cuerpo{padding-top:12px}
.folio{font-size:2.2rem;font-weight:800;letter-spacing:.14em;color:var(--marino);font-variant-numeric:tabular-nums;margin:.2rem 0 .8rem}
.seguir{margin-top:14px}

/* ===== Inicio ===== */
.lista-pasos{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.lista-pasos li.hecho{color:var(--nota)}
.lista-pasos li.hecho a{color:var(--nota);text-decoration:line-through}
.lista-pasos li.hecho::marker{content:"✓  ";color:var(--verde);font-weight:800}

/* ===== Encuesta ===== */
.encuesta-caja{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:24px 22px;margin-bottom:16px;box-shadow:var(--sombra)}
.encuesta-caja.centrado{text-align:center}
.encuesta-caja h1{font-size:1.5rem}
.encuesta-caja h2{font-size:1.2rem}
.encuesta-caja label{margin-top:16px}
.encuesta-check{width:64px;height:64px;border-radius:50%;background:var(--lima);color:var(--marino);font-size:2rem;font-weight:800;display:grid;place-items:center;margin:0 auto 12px}
.paso-num{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--verde);margin:0 0 6px}
.progreso{height:6px;background:var(--linea);border-radius:99px;overflow:hidden;margin-bottom:16px;position:sticky;top:0;z-index:5}
.progreso span{display:block;height:100%;width:0;background:var(--lima);transition:width .25s}
.encuesta:not(.js) .progreso{display:none}
.garantias{margin:6px 0 10px;padding:14px 16px 14px 34px;background:var(--fondo);border-radius:10px;font-size:.92rem}
.garantias li{margin-bottom:4px}
.garantias li::marker{content:"✓  ";color:var(--verde);font-weight:800}
.campo-codigo{font-size:1.2rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;max-width:220px}
fieldset{border:0;padding:0;margin:0}
legend{font-weight:600;color:var(--marino);padding:0;margin-bottom:10px;font-size:1rem;line-height:1.4}
.opciones-lista{margin-top:18px}
.opciones-lista label{display:flex;align-items:flex-start;gap:10px;font-weight:500;color:var(--cuerpo);background:var(--fondo);border:1.5px solid transparent;border-radius:10px;padding:11px 13px;margin:0 0 8px;cursor:pointer}
.opciones-lista label:has(input:checked){border-color:var(--marino);background:#EDF2F8}
.opciones-lista input{margin-top:3px}
.likert,.enps{padding:18px 0;border-bottom:1px solid var(--linea)}
.likert:last-of-type,.enps:last-of-type{border-bottom:0}
.likert-opciones{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.likert-op{margin:0!important;cursor:pointer}
.likert-op input{position:absolute;opacity:0;pointer-events:none}
.likert-op span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:58px;padding:6px 4px;border-radius:10px;background:var(--fondo);border:1.5px solid #D7DFE8;font-size:.78rem;font-weight:600;line-height:1.2;color:var(--azul);transition:background .12s,border-color .12s}
/* Un solo color al elegir: pintar de rojo o verde sugeriría cuál es la respuesta "correcta". */
.likert-op input:checked + span{background:var(--marino);border-color:var(--marino);color:var(--blanco)}
.likert-op input:focus-visible + span{outline:3px solid var(--lima);outline-offset:2px}
@media (max-width:520px){
  .likert-opciones{grid-template-columns:minmax(0,1fr);gap:6px}
  .likert-op span{min-height:44px;justify-content:flex-start;padding:8px 14px;font-size:.9rem}
}
.enps-opciones{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:4px}
.enps-op{margin:0!important;cursor:pointer}
.enps-op input{position:absolute;opacity:0;pointer-events:none}
.enps-op span{display:grid;place-items:center;height:44px;border-radius:8px;background:var(--fondo);border:1.5px solid #D7DFE8;font-weight:700;color:var(--azul);font-variant-numeric:tabular-nums}
.enps-op input:checked + span{background:var(--marino);border-color:var(--marino);color:var(--lima)}
.enps-op input:focus-visible + span{outline:3px solid var(--lima);outline-offset:2px}
.enps-extremos{display:flex;justify-content:space-between;font-size:.78rem;color:var(--nota);margin-top:6px}
@media (max-width:420px){.enps-opciones{grid-template-columns:repeat(6,minmax(0,1fr))}}
.nota-karin{font-size:.85rem;background:var(--aceptable-s);border-radius:8px;padding:10px 12px;color:var(--marino);margin-top:6px}
.abierta{margin-top:14px}
.falta{box-shadow:inset 4px 0 0 var(--rojo);padding-left:14px!important;border-radius:2px}
.falta legend{color:var(--rojo)}
.encuesta-nav{display:flex;gap:10px;justify-content:space-between;position:sticky;bottom:0;background:linear-gradient(transparent,var(--fondo) 35%);padding:16px 0 10px}
.encuesta-nav .btn{flex:1;max-width:240px;padding:13px 18px;font-size:1rem}
.encuesta-nav #btn-sigue,.encuesta-nav #btn-enviar{margin-left:auto}
.encuesta:not(.js) #btn-atras,.encuesta:not(.js) #btn-sigue{display:none}
.aviso-falta{color:var(--rojo);font-weight:600;text-align:center;margin:0}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ===== Página pública ===== */
.pub-hero{padding:10px 4px 20px}
.pub-hero h1{font-size:2rem}
.mensaje-gerencia{margin:14px 0 0;padding:14px 18px;border-left:4px solid var(--lima);background:var(--blanco);border-radius:0 10px 10px 0;font-style:italic}
.dims-publicas{border-top:0;gap:10px}
.dim-pub{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1.6fr);gap:12px;align-items:center}
@media (max-width:520px){.dim-pub{grid-template-columns:minmax(0,1fr)}}
.compromisos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.compromisos li{background:var(--fondo);border-radius:10px;padding:14px 16px}
.compromisos li p{margin:6px 0;font-size:.93rem}
.comp-cab{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.comp-cab strong{color:var(--marino)}
.comp-pie{display:flex;align-items:center;gap:10px}
.comp-pie .mini-barra{flex:0 0 120px}
