/* Estilos por pantalla */
.arranque { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 14px; color: var(--tenue); font: 500 14px var(--f-titulo); }
.arranque img { animation: gira 6s linear infinite; }
.noscript { padding: 24px; text-align: center; }
.riel-velo { display: none; }
@media (max-width: 900px) {
  body.riel-abierto .riel-velo { display: block; position: fixed; inset: 0; z-index: 65; background: var(--velo); }
  .oculto-chico { display: none; }
}
.carga-vista { display: grid; gap: 14px; }
.carga-vista .esqueleto:first-child { height: 38px; width: 34%; }
.carga-vista .esqueleto:nth-child(2) { height: 220px; border-radius: var(--r-l); }
.carga-vista .esqueleto:nth-child(3) { height: 160px; border-radius: var(--r-l); }

/* Acceso */
.acceso { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.9fr); }
.acceso-tela { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 40px 48px; background: radial-gradient(120% 90% at 30% 40%, color-mix(in srgb, var(--uv) 16%, var(--noche)) 0%, var(--noche) 62%); border-right: 1px solid var(--hilo); }
.acceso-tela .telarana-env { position: absolute; inset: -8% -18% -8% auto; width: 112%; max-width: none; opacity: 0.95; pointer-events: none; }
.acceso-tela .telarana { max-height: none; height: 100%; }
.acceso-marca { position: relative; display: flex; align-items: center; gap: 12px; font: 600 15px var(--f-titulo); color: var(--tenue); }
.acceso-lema { position: relative; max-width: 560px; }
.acceso-lema h1 { font-size: clamp(56px, 9vw, 128px); font-stretch: 75%; line-height: 0.86; letter-spacing: -0.03em; font-weight: 700; }
.acceso-lema p { margin-top: 18px; font-size: 17px; line-height: 1.5; color: var(--tenue); max-width: 44ch; }
.acceso-modulos { position: relative; display: flex; flex-wrap: wrap; gap: 8px 22px; color: var(--tenue); font-size: 13px; }
.acceso-modulos b { color: var(--texto); font-weight: 600; }
.acceso-form { display: grid; place-items: center; padding: 32px 24px; }
.acceso-form form { width: min(380px, 100%); display: grid; gap: 16px; }
.acceso-form h2 { font-size: 26px; font-stretch: 87.5%; }
.acceso-form .sub { color: var(--tenue); margin-top: -8px; }
.acceso-form .btn.primario { height: 44px; font-size: 15px; }
.acceso-form .btn-google { height: 44px; font-size: 15px; width: 100%; justify-content: center; gap: 10px; background: var(--tela); border-color: var(--hilo-fuerte); color: var(--texto); }
.acceso-form .btn-google:hover { border-color: var(--uv); background: var(--uv-suave); }
.separador-o { display: flex; align-items: center; gap: 12px; color: var(--apagado); font-size: 12.5px; margin: 2px 0; }
.separador-o::before, .separador-o::after { content: ""; flex: 1; height: 1px; background: var(--hilo-fuerte); }
.acceso-form .pie { font-size: 12.5px; color: var(--apagado); }
@media (max-width: 900px) {
  .acceso { grid-template-columns: 1fr; }
  .acceso-tela { min-height: 300px; padding: 24px 20px; border-right: 0; border-bottom: 1px solid var(--hilo); }
  .acceso-tela .telarana-env { inset: -30% -40% -30% 10%; width: 120%; opacity: 0.55; }
  .acceso-lema h1 { font-size: 64px; }
  .acceso-lema p { font-size: 15px; }
}

/* Telarana */
.telarana-env { width: 100%; }
.telarana { display: block; width: 100%; height: auto; max-height: 560px; overflow: visible; }
.telarana .radio { stroke: var(--hilo-fuerte); stroke-width: 1; }
.telarana .espiral { stroke: var(--hilo-fuerte); stroke-width: 1.1; }
.telarana .espiral.borde { stroke: color-mix(in srgb, var(--uv) 45%, transparent); stroke-width: 1.4; }
.telarana .radio, .telarana .espiral { stroke-dasharray: 1; stroke-dashoffset: 0; animation: teje 1.8s var(--curva) both; }
.telarana .espiral { animation-delay: 0.5s; animation-duration: 1.4s; }
.telarana .espiral.borde { animation-delay: 0.9s; }
@keyframes teje { from { stroke-dashoffset: 1; } }
.tela-marcas text { font: 500 11px var(--f-titulo); fill: var(--apagado); }
.tela-centro .nucleo { fill: var(--noche); stroke: var(--hilo-fuerte); }
.nudo { cursor: pointer; animation: aparece 600ms 1.1s both; }
.nudo .halo { opacity: 0.12; transition: opacity var(--t-rapida); }
.nudo .gota { stroke-width: 2; }
.nudo.fuera .gota { stroke-dasharray: 3 2; }
.nudo.aislado .gota { stroke: var(--critica); stroke-width: 3; }
.nudo .presa { stroke-width: 1.4; stroke-dasharray: 4 4; opacity: 0.55; }
.nudo .nombre { font: 600 12.5px var(--f-titulo); fill: var(--texto); paint-order: stroke; stroke: var(--noche); stroke-width: 4px; stroke-linejoin: round; }
.nudo:hover .halo, .nudo:focus-visible .halo { opacity: 0.32; }
.nudo:focus { outline: none; }
.nudo:focus-visible .gota { stroke: var(--rocio); stroke-width: 3; }
.onda { fill: none; stroke-width: 2; animation: onda 1.3s ease-out forwards; }
@keyframes onda { from { r: 8; opacity: 0.9; } to { r: 34; opacity: 0; } }

/* Graficos */
.grafico { position: relative; width: 100%; min-height: 120px; }
.grafico svg { display: block; }
.grafico .eje { font: 500 11px var(--f-titulo); fill: var(--apagado); }
.grafico-vacio { display: grid; place-items: center; min-height: 160px; color: var(--apagado); font-size: 13px; border: 1px dashed var(--hilo-fuerte); border-radius: var(--r-m); }
.grafico-tip { position: absolute; top: 4px; left: 0; pointer-events: none; display: grid; gap: 3px; padding: 8px 10px; border-radius: var(--r-s); background: var(--tela-2); border: 1px solid var(--hilo-fuerte); font-size: 12px; box-shadow: var(--sombra); opacity: 0; transition: opacity var(--t-rapida); min-width: 150px; }
.grafico-tip.ver { opacity: 1; }
.grafico-tip span { display: flex; gap: 6px; align-items: center; }
.grafico-tip i, .leyenda i { width: 8px; height: 8px; border-radius: 2px; display: inline-block; }
.leyenda { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; color: var(--tenue); margin-top: 10px; }
.leyenda span { display: inline-flex; gap: 6px; align-items: center; }
.medidor-num { font: 700 34px var(--f-titulo); font-stretch: 87.5%; }
.medidor-sub { font: 500 10px var(--f-titulo); }
.medidor-valor { stroke-dasharray: 400; stroke-dashoffset: 0; animation: llena 1.2s 0.3s var(--curva) both; }
@keyframes llena { from { stroke-dashoffset: 400; } }
.dona-num { font: 700 22px var(--f-titulo); }
.dona-sub { font: 500 8px var(--f-titulo); }
.barras { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.barras li { display: grid; gap: 5px; }
.barras-txt { display: flex; justify-content: space-between; gap: 10px; font-size: 13.5px; }
.barras-txt a, .barras-txt span { color: var(--texto); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.barras-pista { height: 6px; border-radius: 99px; background: var(--tela-3); overflow: hidden; }
.barras-rel { display: block; height: 100%; width: var(--v); background: var(--c); border-radius: inherit; }
.barras small { color: var(--apagado); font-size: 12px; }
.columnas { display: flex; align-items: flex-end; gap: 6px; height: calc(var(--alto) + 38px); }
.columnas .col { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; height: 100%; }
.columnas .col b { font-size: 11.5px; color: var(--tenue); }
.columnas .col small { font-size: 11px; color: var(--apagado); white-space: nowrap; }
.col-barra { position: relative; width: 100%; max-width: 34px; height: var(--v); min-height: 2px; max-height: var(--alto); background: var(--c); border-radius: 4px 4px 2px 2px; display: flex; align-items: flex-end; overflow: hidden; }
.col-sub { display: block; width: 100%; height: var(--v); background: var(--c); }
.chispa { display: block; }

/* Panorama */
.pano-cabeza { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); gap: 16px; margin-bottom: 16px; }
.pano-tela { background: radial-gradient(80% 70% at 50% 48%, color-mix(in srgb, var(--uv) 9%, var(--tela)) 0%, var(--tela) 70%); }
.pano-tela .telarana { max-height: 600px; margin: -6px auto 0; }
.leyenda i.hueco { background: transparent; border: 1.5px dashed var(--apagado); border-radius: 50%; }
.pano-pulso { display: flex; flex-direction: column; gap: 6px; }
.medidores { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding-bottom: 12px; border-bottom: 1px solid var(--hilo); }
.medidor { display: flex; flex-direction: column; align-items: center; gap: 0; color: var(--tenue); font-size: 13px; font-weight: 600; border-radius: var(--r-m); padding: 6px 0; }
.medidor:hover { text-decoration: none; background: var(--tela-2); color: var(--texto); }
.medidor svg { max-width: 100%; height: auto; }
.pulso { list-style: none; margin: 0; padding: 0; display: grid; }
.pulso li > a, .pulso li > div { display: flex; align-items: center; gap: 12px; padding: 11px 8px; border-radius: var(--r-s); color: var(--texto); }
.pulso li + li { border-top: 1px solid var(--hilo); }
.pulso li > a:hover { background: var(--tela-2); text-decoration: none; }
.pulso svg { width: 18px; height: 18px; color: var(--apagado); flex: none; }
.pulso .etq { display: block; font-weight: 600; font-size: 13.5px; }
.pulso small { display: block; color: var(--tenue); font-size: 12.5px; line-height: 1.35; }
.pulso b { font-size: 21px; font-weight: 600; white-space: nowrap; }
.tono-critica { color: var(--critica); }
.tono-alta { color: var(--alta); }
.tono-ok { color: var(--ok); }
.pano-medio { grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); margin-bottom: 16px; }
.pano-bajo { grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); }
.pano-dona { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; justify-content: center; padding: 8px 0; }
.sev-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; min-width: 150px; }
.sev-lista a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 6px 8px; border-radius: var(--r-s); color: var(--texto); }
.sev-lista a:hover { background: var(--tela-2); text-decoration: none; }
.sev-lista b { font-size: 18px; }
.recientes { list-style: none; margin: 0; padding: 8px 8px 10px; }
.recientes a { display: flex; align-items: center; gap: 14px; padding: 10px 12px; border-radius: var(--r-m); color: var(--texto); }
.recientes a:hover { background: var(--tela-2); text-decoration: none; }
.recientes b { display: block; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recientes small { display: block; color: var(--tenue); font-size: 12.5px; }
.recientes .cuando { white-space: nowrap; color: var(--apagado); }
.hilo-sev { --c: var(--info); position: relative; flex: none; width: 10px; align-self: stretch; }
.hilo-sev::before { content: ""; position: absolute; left: 4px; top: -10px; bottom: -10px; width: 1.5px; background: color-mix(in srgb, var(--c) 45%, transparent); }
.hilo-sev::after { content: ""; position: absolute; left: 0; top: calc(50% - 5px); width: 10px; height: 10px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c, var(--info)) 22%, transparent); }
.hilo-sev.sev-critica { --c: var(--critica); } .hilo-sev.sev-alta { --c: var(--alta); } .hilo-sev.sev-media { --c: var(--media); } .hilo-sev.sev-baja { --c: var(--baja); }
.hilo-sev.sev-critica, .hilo-sev.sev-alta, .hilo-sev.sev-media, .hilo-sev.sev-baja, .hilo-sev.sev-info { background: none; color: inherit; }
.hilo-sev.sev::before { content: ""; }
.peores { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.peores li { display: grid; gap: 6px; }
.peores a { font-weight: 600; color: var(--texto); }
.doble { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mini { display: grid; grid-template-columns: auto 1fr 28px; align-items: center; gap: 8px; font-size: 12px; color: var(--apagado); }
.mini b { text-align: right; color: var(--texto); font-size: 13px; }
@media (max-width: 1100px) {
  .pano-cabeza, .pano-medio, .pano-bajo { grid-template-columns: 1fr; }
}

/* Equipos */
.barra-filtros { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.busca { position: relative; flex: 1 1 260px; max-width: 420px; }
.busca svg { position: absolute; left: 11px; top: 11px; width: 16px; height: 16px; color: var(--apagado); pointer-events: none; }
.busca .entrada { padding-left: 34px; }
.eq-nombre { display: flex; align-items: center; gap: 10px; min-width: 0; }
.eq-nombre a, .eq-nombre b { font-weight: 600; color: var(--texto); }
.eq-nombre small, small.bloque { display: block; font-size: 12px; color: var(--tenue); }
.punto { width: 9px; height: 9px; border-radius: 50%; flex: none; border: 1.5px dashed var(--apagado); }
.punto.vivo { border: 0; background: var(--ok); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ok) 22%, transparent); }
.td-usos { min-width: 210px; }
.usos { display: grid; gap: 5px; }
.puntaje { --c: var(--texto); color: var(--c); font-size: 17px; }
.tarjeta-eq { display: grid; gap: 12px; color: var(--texto); transition: border-color var(--t-rapida); }
.tarjeta-eq:hover { text-decoration: none; border-color: var(--hilo-fuerte); }
.tarjeta-eq .fila-sep { font-size: 13px; }
@media (max-width: 700px) {
  .tabla.movil thead { display: none; }
  .tabla.movil tr { display: grid; grid-template-columns: 1fr auto auto; gap: 4px 14px; padding: 12px 14px; border-bottom: 1px solid var(--hilo); }
  .tabla.movil td { padding: 0; border: 0; }
  .tabla.movil td:first-child, .tabla.movil td.td-usos { grid-column: 1 / -1; }
}

/* Piezas compartidas */
.plegable { border-top: 1px solid var(--hilo); padding-top: 10px; }
.plegable > summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 600; font-size: 13px; color: var(--tenue); border-radius: var(--r-s); padding: 2px 4px 2px 0; }
.plegable > summary::-webkit-details-marker { display: none; }
.plegable > summary svg { width: 15px; height: 15px; transform: rotate(-90deg); transition: transform var(--t-rapida); }
.plegable[open] > summary svg { transform: none; }
.plegable > summary:hover { color: var(--texto); }
.plegable-cuerpo { padding-top: 10px; }
.plegable.ok > summary { color: var(--ok); }
.plegable.mal > summary { color: var(--critica); }
.acc .plegable { border-top: 0; padding-top: 6px; }
.tabla.densa th, .tabla.densa td { padding: 7px 10px; font-size: 12.5px; }
.mensaje-crudo { font-family: var(--f-codigo); font-size: 12px; color: var(--tenue); overflow-wrap: anywhere; }
pre.salida { margin: 0; padding: 10px 12px; background: var(--noche); border: 1px solid var(--hilo); border-radius: var(--r-s); white-space: pre-wrap; overflow-wrap: anywhere; max-height: 280px; overflow: auto; font-size: 12px; color: var(--tenue); }
.copiable { display: flex; gap: 10px; align-items: flex-start; padding: 10px 10px 10px 12px; background: var(--noche); border: 1px solid var(--hilo-fuerte); border-radius: var(--r-m); }
.copiable code { flex: 1; min-width: 0; overflow-wrap: anywhere; white-space: pre-wrap; font-size: 12.5px; line-height: 1.55; color: var(--texto); padding-top: 4px; }
.copiable.grande code { font: 600 17px/1.4 var(--f-codigo); letter-spacing: 0.05em; color: var(--rocio); }
fieldset { border: 1px solid var(--hilo); border-radius: var(--r-m); padding: 14px 16px 16px; margin: 0; display: grid; gap: 14px; min-width: 0; }
legend { font: 600 14px var(--f-titulo); padding: 0 6px; color: var(--texto); }
.novedades { display: flex; align-items: center; gap: 8px; width: 100%; justify-content: center; margin-bottom: 12px; padding: 9px 14px; border-radius: 99px; border: 1px solid color-mix(in srgb, var(--uv) 45%, transparent); background: var(--uv-suave); color: var(--texto); font-weight: 600; cursor: pointer; }
.novedades svg { width: 16px; height: 16px; color: var(--uv); }
.pestanas .contador { margin-left: 2px; }

/* Hallazgos como historias */
.cr-rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 20px; align-items: start; }
.cr-principal { min-width: 0; }
.cr-lateral { display: grid; gap: 14px; position: sticky; top: calc(var(--barra) + 16px); }
.cr-lateral .panel > header { margin-bottom: 10px; }
.cr-lateral .panel > header h2 { font-size: 15.5px; }
.cr-filtros2 { margin-top: -6px; }
.cr-filtros2 select.entrada { width: auto; min-width: 150px; }
.cr-filtros2 .interruptor { padding: 0; align-items: center; }
.cr-conteo { margin-left: auto; color: var(--apagado); font-size: 13px; }
.cr-dona { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.cr-dona .sev-lista { flex: 1; }
.cr-frecuentes { list-style: none; margin: 0; padding: 0; display: grid; }
.cr-frecuentes li + li { border-top: 1px solid var(--hilo); }
.cr-frecuentes button { display: flex; gap: 12px; width: 100%; text-align: left; padding: 9px 4px; border: 0; background: none; cursor: pointer; border-radius: var(--r-s); color: var(--texto); }
.cr-frecuentes button:hover { background: var(--tela-2); }
.cr-frecuentes b { display: block; font-weight: 600; font-size: 13px; line-height: 1.35; }
.cr-frecuentes small { color: var(--apagado); font-size: 12px; }
.cr-kb-enlace { display: flex; gap: 12px; align-items: center; padding: 14px 16px; border-radius: var(--r-l); border: 1px dashed var(--hilo-fuerte); color: var(--texto); }
.cr-kb-enlace:hover { text-decoration: none; border-color: var(--uv); }
.cr-kb-enlace svg { width: 22px; height: 22px; color: var(--uv); flex: none; }
.cr-kb-enlace b { display: block; font-size: 13.5px; }
.cr-kb-enlace small { color: var(--tenue); font-size: 12.5px; }
.hz-lista { display: grid; gap: 12px; }
.hz { --c: var(--info); position: relative; display: grid; grid-template-columns: 24px minmax(0, 1fr); background: var(--tela); border: 1px solid var(--hilo); border-radius: var(--r-l); padding: 16px 18px 14px 8px; transition: border-color var(--t-rapida); }
.hz.sev-critica { --c: var(--critica); } .hz.sev-alta { --c: var(--alta); } .hz.sev-media { --c: var(--media); } .hz.sev-baja { --c: var(--baja); }
.hz.sev-critica { border-color: color-mix(in srgb, var(--critica) 30%, var(--hilo)); }
.hz.cerrado { --c: var(--apagado); }
.hz.abierta { border-color: var(--hilo-fuerte); }
.hz-hilo { position: relative; }
.hz-hilo::before { content: ""; position: absolute; left: 11px; top: 10px; bottom: -8px; width: 1.5px; background: linear-gradient(180deg, var(--c), transparent); }
.hz-hilo::after { content: ""; position: absolute; left: 6px; top: 3px; width: 12px; height: 12px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 18%, transparent); }
.hz-cuerpo { min-width: 0; }
.hz-cabeza { display: flex; justify-content: space-between; gap: 6px 12px; flex-wrap: wrap; align-items: center; }
.hz-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; font-size: 12.5px; color: var(--tenue); }
.hz-cat { color: var(--tenue); }
.hz-eq { display: inline-flex; gap: 5px; align-items: center; color: var(--texto); font-weight: 600; }
.hz-eq svg { width: 14px; height: 14px; color: var(--apagado); }
.chip.hz-argos { background: var(--uv-suave); color: var(--uv); }
.hz-cifras { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: var(--apagado); }
.hz-cifras b { color: var(--texto); font-weight: 600; }
.hz h3 { font-size: 19px; font-stretch: 87.5%; margin: 9px 0 5px; line-height: 1.2; }
.hz h3 a { color: var(--texto); }
.hz-que { color: var(--tenue); max-width: 76ch; }
.hz-que.grande { font-size: 15.5px; line-height: 1.55; color: var(--texto); }
.hz-pie { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; }
.hz-leer svg { transition: transform var(--t-rapida); }
.hz-leer[aria-expanded="true"] svg { transform: rotate(180deg); }
.hz-botones { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.hz-historia { margin-top: 14px; padding-top: 16px; border-top: 1px dashed var(--hilo-fuerte); display: grid; gap: 16px; }
.hz-historia[hidden] { display: none; }
.hz-bloque h4 { font: 600 13.5px var(--f-titulo); color: var(--c, var(--uv)); margin: 0 0 8px; }
.hz-bloque > p { max-width: 76ch; }
.hz-impacto { --c: var(--alta); }
.hz-impacto p { max-width: 76ch; }
.hz-nota { margin: 0; padding: 8px 14px; border-left: 3px solid var(--uv); color: var(--tenue); font-style: italic; }
.hz-resuelto { display: flex; gap: 6px; align-items: center; color: var(--ok); font-weight: 600; }
.hz-resuelto svg { width: 16px; height: 16px; }
.hz-detalle { display: grid; gap: 14px; --c: var(--uv); }
.hz-detalle .hz-titulo { font-size: 27px; font-stretch: 87.5%; line-height: 1.12; }
.pasos-arreglo { list-style: none; counter-reset: paso; margin: 0; padding: 0; display: grid; }
.pasos-arreglo li { counter-increment: paso; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; position: relative; padding-bottom: 12px; }
.pasos-arreglo li::before { content: counter(paso); width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font: 700 13px/1 var(--f-titulo); background: var(--uv-suave); color: var(--uv); border: 1px solid color-mix(in srgb, var(--uv) 40%, transparent); }
.pasos-arreglo li:not(:last-child)::after { content: ""; position: absolute; left: 13px; top: 28px; bottom: 0; width: 1px; background: var(--hilo-fuerte); }
.pasos-arreglo li span { padding-top: 3px; max-width: 72ch; }
.pasos-arreglo li:last-child { padding-bottom: 0; }

/* Línea de tiempo del Cronista */
.cr-tl-panel { padding-top: 4px; }
.tl { list-style: none; margin: 0; padding: 0; }
.tl-dia h3 { font-size: 14px; color: var(--tenue); padding: 16px 0 8px 86px; }
.tl-dia h3::first-letter { text-transform: uppercase; }
.tl-dia:first-child h3 { padding-top: 8px; }
.tl-ev { --c: var(--info); display: grid; grid-template-columns: 54px 24px minmax(0, 1fr); gap: 0 8px; }
.tl-ev.sev-critica { --c: var(--critica); } .tl-ev.sev-alta { --c: var(--alta); } .tl-ev.sev-media { --c: var(--media); } .tl-ev.sev-baja { --c: var(--baja); }
.tl-hora { color: var(--apagado); font-size: 13px; text-align: right; padding-top: 9px; }
.tl-nudo { position: relative; }
.tl-nudo::before { content: ""; position: absolute; left: 11px; top: 0; bottom: 0; width: 1.5px; background: var(--hilo-fuerte); }
.tl-nudo::after { content: ""; position: absolute; left: 6px; top: 12px; width: 12px; height: 12px; border-radius: 50%; background: var(--tela); border: 2.5px solid var(--c); }
.tl-ev.sev-critica .tl-nudo::after, .tl-ev.sev-alta .tl-nudo::after { background: var(--c); }
.tl-cuerpo { padding: 8px 0 12px; border-bottom: 1px solid var(--hilo); min-width: 0; display: grid; gap: 4px; }
.tl-cabeza { display: flex; gap: 10px; justify-content: space-between; align-items: flex-start; }
.tl-cabeza b { font-weight: 600; }
.tl-cuerpo > p { color: var(--tenue); font-size: 13.5px; max-width: 80ch; }
.tl-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: var(--apagado); align-items: center; }
.tl-meta code { font-size: 11.5px; color: var(--apagado); }
.tl-cuerpo .plegable { border-top: 0; padding-top: 4px; }
.cr-mas { display: flex; justify-content: center; padding-top: 14px; }
.cr-mas .oculto + * { display: none; }

/* Enciclopedia */
.kb-al-dia, .kb-desc { margin-bottom: 16px; }
.kb-al-dia { --c: var(--ok); }
.kb-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 8px; }
.kb-item { display: flex; gap: 12px; align-items: center; padding: 11px 14px 11px 10px; border: 1px solid var(--hilo); border-radius: var(--r-m); background: var(--tela); color: var(--texto); min-width: 0; }
.kb-item:hover { text-decoration: none; border-color: var(--hilo-fuerte); background: var(--tela-2); }
.kb-item b { display: block; font-weight: 600; font-size: 13.5px; line-height: 1.35; }
.kb-item small { display: block; color: var(--apagado); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kb-item .hilo-sev::before { top: 0; bottom: 0; }
.kb-item .chip { flex: none; }
.kb-form { padding-bottom: 12px; }
.kb-form h2 { font-size: 24px; font-stretch: 87.5%; }
.pasos-editor { list-style: none; counter-reset: paso; margin: 0; padding: 0; display: grid; gap: 6px; }
.pasos-editor li { counter-increment: paso; display: grid; grid-template-columns: 24px minmax(0, 1fr) 30px; gap: 8px; align-items: center; }
.pasos-editor li::before { content: counter(paso); font: 700 13px var(--f-titulo); color: var(--uv); text-align: center; }

/* Acciones */
.lista-acc { display: grid; gap: 8px; }
.acc { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 12px 14px; border: 1px solid var(--hilo); border-radius: var(--r-m); background: var(--tela); }
.acc.compacta { padding: 9px 12px; background: var(--tela-2); }
.acc-punto { width: 10px; height: 10px; border-radius: 50%; background: var(--c, var(--info)); margin-top: 6px; box-shadow: 0 0 0 3px color-mix(in srgb, var(--c, var(--info)) 22%, transparent); }
.acc.est-enviada .acc-punto { animation: latido 1.8s infinite; }
.acc-cuerpo { min-width: 0; }
.acc-titulo { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.acc-titulo b { font-weight: 600; }
.acc-quien { display: block; color: var(--tenue); font-size: 12.5px; margin-top: 2px; }
.acc-quien a { color: var(--texto); font-weight: 600; }
.acc-params { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.acc-params code { font-size: 11.5px; color: var(--texto); }
.acc-motivo { display: block; color: var(--apagado); font-size: 12.5px; margin-top: 4px; }
.acc-botones { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.acc-ficha { padding: 12px 14px; border-radius: var(--r-m); background: var(--tela-2); border: 1px solid var(--hilo); display: grid; gap: 6px; }
.acc-ficha b { font-weight: 600; }

@media (max-width: 1100px) {
  .cr-rejilla { grid-template-columns: 1fr; }
  .cr-lateral { position: static; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}
@media (max-width: 600px) {
  .acc { grid-template-columns: 12px minmax(0, 1fr); }
  .acc-botones { grid-column: 2; justify-content: flex-start; }
  .tl-ev { grid-template-columns: 40px 20px minmax(0, 1fr); gap: 0 6px; }
  .tl-nudo::before { left: 9px; } .tl-nudo::after { left: 4px; }
  .tl-dia h3 { padding-left: 66px; }
  .tl-cabeza { flex-direction: column; gap: 4px; }
  .kb-lista { grid-template-columns: 1fr; }
  .hz { padding: 14px 14px 12px 4px; }
  .cr-filtros2 select.entrada { flex: 1 1 140px; }
  .cr-conteo { margin-left: 0; width: 100%; }
}

/* Detalle de equipo */
.hz.abierta .hz-pie .hz-botones { display: none; }
.eq-cabeza { margin-bottom: 16px; }
.eq-cabeza h1 { overflow-wrap: anywhere; }
.eq-cabeza .punto { width: 12px; height: 12px; }
.chip.eq-etq.especial { background: color-mix(in srgb, var(--alta) 16%, transparent); color: var(--alta); }
.eq-aislado { --c: var(--critica); margin-bottom: 16px; }
.eq-tablero { display: grid; grid-template-columns: minmax(250px, 1.35fr) minmax(150px, 0.6fr) minmax(150px, 0.6fr) minmax(240px, 1.1fr); gap: 14px; margin-bottom: 18px; }
.eq-vivo .usos { gap: 9px; margin-bottom: 14px; }
.eq-vivo .uso { grid-template-columns: 40px 1fr 44px; font-size: 12.5px; }
.eq-vivo .uso .pista { height: 8px; }
.eq-kv { font-size: 13px; grid-template-columns: minmax(100px, max-content) 1fr; gap: 5px 14px; }
.eq-medidor { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: var(--texto); text-align: center; transition: border-color var(--t-rapida); }
.eq-medidor:hover { text-decoration: none; border-color: var(--hilo-fuerte); }
.eq-medidor > span { font: 600 15px var(--f-titulo); }
.eq-medidor small { color: var(--tenue); font-size: 12px; }
.eq-nota { white-space: pre-wrap; margin-bottom: 12px; }
.eq-notas > p.tenue { font-size: 13px; margin-bottom: 12px; }
.eq-resumen { grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); }
.eq-cambios { list-style: none; margin: 0; padding: 0; display: grid; }
.eq-cambios li { display: flex; align-items: center; gap: 12px; padding: 9px 0; }
.eq-cambios li + li { border-top: 1px solid var(--hilo); }
.eq-cambios b { display: block; font-weight: 600; font-size: 13.5px; }
.eq-cambios small { display: block; color: var(--tenue); font-size: 12px; }
.eq-seg { grid-template-columns: 280px minmax(0, 1fr); align-items: start; }
.eq-seg-nota { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; position: sticky; top: calc(var(--barra) + 16px); }
.eq-seg-nota p { color: var(--tenue); font-size: 13.5px; }
.eq-seg-hz { grid-column: 1 / -1; }
.controles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 6px 18px; }
.controles li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--hilo); font-size: 13.5px; }
.ctrl-marca { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--tela-3); color: var(--apagado); }
.ctrl-marca svg { width: 13px; height: 13px; stroke-width: 2.6; }
.controles .cumple .ctrl-marca { background: color-mix(in srgb, var(--ok) 18%, transparent); color: var(--ok); }
.controles .falla .ctrl-marca { background: color-mix(in srgb, var(--critica) 18%, transparent); color: var(--critica); }
.controles .falla { font-weight: 600; }
.controles .sin-dato { color: var(--tenue); }
.ctrl-peso { color: var(--apagado); font-size: 12px; min-width: 22px; text-align: right; }
.inv-ts { margin-bottom: 12px; font-size: 13px; }
.inv-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 16px; }
.inv-ficha .kv { font-size: 13px; gap: 6px 16px; }
.inv-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.inv-lista li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.inv-lista b { font-weight: 600; font-size: 13.5px; }
.inv-lista small { color: var(--tenue); font-size: 12.5px; }
.inv-sw > header .busca { max-width: 280px; }
.inv-sw .tabla-env { max-height: 520px; overflow-y: auto; }
@media (max-width: 1250px) { .eq-tablero { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .eq-resumen, .eq-seg, .inv-rejilla { grid-template-columns: 1fr; }
  .eq-seg-nota { position: static; }
}
@media (max-width: 520px) {
  .eq-tablero { grid-template-columns: 1fr 1fr; }
  .eq-vivo, .eq-notas { grid-column: 1 / -1; }
  .eq-medidor svg { width: 104px; height: auto; }
  .controles { grid-template-columns: 1fr; }
}
.migas svg { width: 13px; height: 13px; flex: none; }
.aviso-linea p { min-width: 0; }

/* Cinta de cifras */
.cinta { display: flex; flex-wrap: wrap; margin: 0 0 20px; border: 1px solid var(--hilo); border-radius: var(--r-l); background: var(--tela); }
.cifra { flex: 1 1 110px; padding: 12px 16px; display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 2px; min-width: 0; }
.cifra + .cifra { border-left: 1px solid var(--hilo); }
.cifra dt { font-size: 12.5px; color: var(--tenue); }
.cifra dd { margin: 0; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.cifra dd b { font-size: 28px; font-weight: 600; font-stretch: 87.5%; line-height: 1.1; }
.cifra dd small { color: var(--apagado); font-size: 12px; }
.acc-ayuda { font-size: 13px; margin-bottom: 14px; max-width: 90ch; }

/* Catálogo de reparaciones */
.catalogo { display: grid; gap: 22px; }
.cat-grupo h2 { font-size: 16px; display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.cat-grupo h2 .n { color: var(--apagado); font-size: 13px; font-weight: 500; }
.cat-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 10px; }
.cat-item { --c: var(--baja); display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border: 1px solid var(--hilo); border-top: 3px solid color-mix(in srgb, var(--c) 70%, transparent); border-radius: var(--r-m); background: var(--tela); }
.cat-item.riesgo-medio { --c: var(--media); } .cat-item.riesgo-alto { --c: var(--critica); }
.cat-item h3 { font-size: 15px; }
.cat-item p { color: var(--tenue); font-size: 13px; flex: 1; }
.cat-pie { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.cat-pie .btn { margin-left: auto; }
@media (max-width: 700px) {
  .cifra { flex-basis: 45%; }
  .cifra + .cifra { border-left: 0; }
  .cifra:nth-child(n+3) { border-top: 1px solid var(--hilo); }
  .cifra:nth-child(2n) { border-left: 1px solid var(--hilo); }
}

/* Argos */
.chip.ar-bitacora { height: 30px; padding: 0 12px; }
.chip.ar-bitacora.ok { color: var(--ok); background: color-mix(in srgb, var(--ok) 14%, transparent); }
.chip.ar-bitacora.mal { color: var(--critica); background: color-mix(in srgb, var(--critica) 14%, transparent); }
.chip.ar-bitacora:hover { text-decoration: none; }
.ar-cabeza { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); gap: 16px; margin-bottom: 16px; }
.ar-nota { display: flex; gap: 26px; align-items: center; flex-wrap: wrap; }
.ar-nota h2 { font-size: 22px; font-stretch: 87.5%; margin-bottom: 4px; }
.ar-amenazas { display: grid; grid-template-columns: repeat(4, minmax(64px, 1fr)); gap: 8px; margin: 16px 0 10px; }
.ar-am { --c: var(--info); padding: 8px 10px; border-radius: var(--r-m); background: color-mix(in srgb, var(--c) 10%, transparent); border: 1px solid color-mix(in srgb, var(--c) 25%, transparent); }
.ar-am.sev-critica { --c: var(--critica); } .ar-am.sev-alta { --c: var(--alta); } .ar-am.sev-media { --c: var(--media); } .ar-am.sev-baja { --c: var(--baja); }
.ar-am dt { font-size: 12px; color: var(--c); font-weight: 600; }
.ar-am dd { margin: 0; font-size: 26px; font-weight: 600; line-height: 1.1; }
.ar-sub { color: var(--tenue); font-size: 13px; }
.ar-eq { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; }
.ar-eq .mini { grid-column: 1 / -1; }
.ar-aislados { --c: var(--critica); margin-top: 14px; }
.ar-medio { grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); margin-bottom: 16px; align-items: start; }
.ar-ctrls { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ar-ctrls li { display: grid; gap: 5px; font-size: 13.5px; }
.ar-ctrls li.con-fallas > .fila-sep > span:first-child { font-weight: 600; }
.ar-n { font-size: 12.5px; white-space: nowrap; }
.ar-pila { display: flex; height: 8px; border-radius: 99px; overflow: hidden; background: var(--tela-3); gap: 2px; }
.ar-pila span { width: var(--v); }
.ar-pila .ok, .leyenda i.ok { background: var(--ok); }
.ar-pila .mal, .leyenda i.mal { background: var(--critica); }
.ar-pila .nd, .leyenda i.nd { background: var(--apagado); opacity: 0.45; }
.ar-mitre { list-style: none; margin: 0; padding: 0; display: grid; }
.ar-mitre li { display: flex; align-items: baseline; gap: 12px; padding: 9px 0; font-size: 13.5px; }
.ar-mitre li + li { border-top: 1px solid var(--hilo); }
.ar-mitre code { flex: none; min-width: 82px; color: var(--uv); font-size: 12px; }
.ar-alertas { margin-bottom: 20px; }
.ar-alerta { --c: var(--info); display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--hilo); }
.ar-alerta:last-child { border-bottom: 0; }
.ar-alerta.sev-critica { --c: var(--critica); } .ar-alerta.sev-alta { --c: var(--alta); } .ar-alerta.sev-media { --c: var(--media); }
.ar-alerta.est-atendida, .ar-alerta.est-descartada { opacity: 0.75; }
.ar-hz > h2 { font-size: 18px; margin-bottom: 12px; }
@media (max-width: 1100px) { .ar-cabeza, .ar-medio { grid-template-columns: 1fr; } }
@media (max-width: 520px) {
  .ar-nota { justify-content: center; text-align: left; }
  .ar-amenazas { grid-template-columns: repeat(2, 1fr); }
  .ar-alerta { grid-template-columns: 12px minmax(0, 1fr); }
  .ar-alerta .acc-botones { grid-column: 2; justify-content: flex-start; }
}

/* Bastión */
.bas-lanzar { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; margin-bottom: 20px; padding: 14px 16px; }
.bas-lanzar-perfil { display: grid; gap: 6px; flex: 1 1 340px; min-width: 0; }
.bas-desc { font-size: 12.5px; }
.bas-lanzar select.entrada { width: auto; min-width: 200px; flex: 0 1 240px; }
.bas-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); gap: 16px; margin-bottom: 16px; }
.bas-nota { display: flex; gap: 26px; align-items: flex-start; flex-wrap: wrap; padding: 6px 4px; }
.bas-marcador { display: flex; flex-direction: column; align-items: flex-start; }
.bas-num { --c: var(--texto); font-size: clamp(92px, 11vw, 150px); font-weight: 700; font-stretch: 75%; line-height: 0.8; letter-spacing: -0.04em; color: var(--c); }
.bas-de { font: 600 15px var(--f-titulo); color: var(--tenue); margin-top: 10px; }
.bas-datos { flex: 1 1 300px; display: grid; gap: 8px; min-width: 0; }
.bas-datos h2 { font-size: 22px; font-stretch: 87.5%; }
.bas-dif { font-size: 13.5px; }
.bas-totales { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 4px 0 6px; }
.bas-tot { display: flex; align-items: baseline; gap: 6px; }
.bas-tot dt { font-size: 12.5px; color: var(--tenue); order: 2; }
.bas-tot dd { margin: 0; font-size: 20px; font-weight: 600; }
.bas-tot.falla dd { color: var(--critica); } .bas-tot.cumple dd { color: var(--ok); }
.bas-tend .grafico-vacio { min-height: 150px; }
.bas-muralla { margin-bottom: 20px; }
.muralla { display: grid; gap: 6px; padding: 8px 0 4px; }
.hilera { display: flex; gap: 6px; }
.hilera:nth-child(2) { padding-left: 22px; }
.hilera:nth-child(3) { padding-right: 22px; }
.piedra { --c: var(--ok); --p: 0%; position: relative; flex: var(--peso) 1 0; min-width: 52px; height: 62px; border-radius: 7px; border: 1px solid color-mix(in srgb, var(--c) 45%, var(--hilo)); background: var(--tela-2); overflow: hidden; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; padding: 6px 8px; color: var(--texto); text-align: left; transition: transform var(--t-rapida), border-color var(--t-rapida); }
.piedra-relleno { position: absolute; left: 0; right: 0; bottom: 0; height: var(--p); background: color-mix(in srgb, var(--c) 30%, transparent); border-top: 2px solid var(--c); }
.piedra.hueca { border-style: dashed; }
.piedra.hueca .piedra-relleno { display: none; }
.piedra.rota::after { content: ""; position: absolute; top: 0; right: 12px; width: 10px; height: 26px; border-right: 1.5px solid var(--critica); border-bottom: 1.5px solid var(--critica); transform: skewX(-24deg); opacity: 0.7; }
.piedra:hover { transform: translateY(-2px); border-color: var(--c); }
.piedra-id, .piedra-n { position: relative; }
.piedra-id { font-size: 13px; font-weight: 700; }
.piedra-n { font-size: 11.5px; color: var(--tenue); }
.leyenda i.medio { background: var(--media); }
.bas-ctrls { display: grid; gap: 10px; margin-bottom: 20px; }
.bas-ctrls > h2 { font-size: 18px; margin-bottom: 2px; }
.bas-ctrl { display: grid; gap: 12px; padding: 16px 18px; border: 1px solid var(--hilo); border-radius: var(--r-l); background: var(--tela); scroll-margin-top: calc(var(--barra) + 16px); }
.bas-ctrl.falla { border-left: 3px solid var(--critica); }
.bas-ctrl.ok { background: transparent; }
.bas-ctrl:focus { outline: 2px solid var(--rocio); outline-offset: 2px; }
.bas-ctrl-cabeza { display: flex; gap: 14px; align-items: flex-start; }
.bas-id { flex: none; padding: 3px 8px; border-radius: 6px; background: var(--tela-3); color: var(--texto); font-size: 12px; font-weight: 600; }
.bas-ctrl h3 { font-size: 16px; margin-bottom: 2px; }
.bas-ctrl-n { display: grid; justify-items: end; text-align: right; flex: none; }
.bas-ctrl-n small { font-size: 12px; }
.bas-explica { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; font-size: 13.5px; color: var(--tenue); }
.bas-explica b { color: var(--texto); }
.bas-excs { display: flex; gap: 6px; align-items: center; font-size: 12.5px; color: var(--info); }
.bas-excs svg { width: 15px; height: 15px; }
.bas-ctrl .plegable { border-top: 0; padding-top: 0; }
.bas-res { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.bas-res li { display: grid; grid-template-columns: 96px minmax(110px, 160px) 1fr; gap: 10px; align-items: center; font-size: 13px; }
.bas-res .chip { justify-self: start; }
.bas-pie { grid-template-columns: minmax(0, 1.3fr) minmax(300px, 1fr); align-items: start; }
.bas-mini { grid-template-columns: 1fr 30px; min-width: 120px; }
.bas-exc { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.bas-exc li { display: flex; gap: 10px; align-items: flex-start; }
.bas-exc b { font-size: 13.5px; }
.bas-exc p { color: var(--tenue); font-size: 13px; margin: 2px 0; }
.bas-hist { list-style: none; margin: 0; padding: 0; display: grid; }
.bas-hist a { display: flex; gap: 12px; align-items: center; padding: 8px 8px; border-radius: var(--r-s); color: var(--texto); font-size: 13.5px; }
.bas-hist a:hover { background: var(--tela-2); text-decoration: none; }
.bas-hist a[aria-current="true"] { background: var(--uv-suave); }
.bas-hist b { min-width: 30px; font-size: 17px; }
.bas-hist small { color: var(--apagado); white-space: nowrap; }
.bas-check { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.bas-check input { margin-top: 3px; accent-color: var(--uv); width: 16px; height: 16px; }
.bas-check b { display: block; font-weight: 600; font-size: 13.5px; }
.bas-check small { color: var(--tenue); font-size: 12px; }
@media (max-width: 1100px) { .bas-hero, .bas-pie { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
  .hilera { flex-wrap: wrap; padding: 0 !important; }
  .piedra { flex-basis: 64px; height: 54px; }
  .bas-explica { grid-template-columns: 1fr; }
  .bas-res li { grid-template-columns: auto 1fr; }
  .bas-res small { grid-column: 1 / -1; }
  .bas-ctrl-cabeza { flex-wrap: wrap; }
  .bas-ctrl-n { justify-items: start; text-align: left; width: 100%; }
}

/* Custodio */
.cu-hero { margin-bottom: 16px; padding: 22px 24px; background: radial-gradient(90% 120% at 0% 0%, color-mix(in srgb, var(--rocio) 8%, var(--tela)) 0%, var(--tela) 60%); }
.cu-pregunta { display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.cu-pregunta-etq { flex: 1 1 420px; display: flex; align-items: baseline; gap: 12px; font: 600 clamp(26px, 3.6vw, 40px)/1.1 var(--f-titulo); font-stretch: 87.5%; letter-spacing: -0.01em; color: var(--texto); min-width: 0; }
.cu-pregunta-etq > span { flex: none; }
.cu-pregunta-entrada { flex: 1; min-width: 0; border: 0; border-bottom: 2px solid var(--hilo-fuerte); background: transparent; padding: 4px 2px 6px; font: inherit; font-weight: 500; color: var(--rocio); outline: none; transition: border-color var(--t-rapida); }
.cu-pregunta-entrada::placeholder { color: var(--apagado); font-size: 0.55em; font-weight: 400; font-family: var(--f-texto); font-stretch: normal; letter-spacing: 0; }
.cu-pregunta-entrada:focus { border-bottom-color: var(--rocio); }
.cu-pregunta-entrada::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; display: none; }
.cu-pregunta .btn { height: 42px; }
.cu-respuesta:empty { display: none; }
.cu-respuesta { margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--hilo-fuerte); }
.cu-frase { font-size: clamp(17px, 2vw, 21px); line-height: 1.45; max-width: 70ch; }
.cu-frase b { color: var(--rocio); }
.cu-frase code { font-size: 0.8em; padding: 1px 6px; border-radius: 5px; background: var(--tela-3); overflow-wrap: anywhere; }
.cu-hallado { display: grid; gap: 16px; }
.cu-hallado-cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 0.9fr); gap: 16px; align-items: start; }
.cu-kv { font-size: 13px; gap: 6px 16px; }
.cu-rescate { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 14px 16px; border-radius: var(--r-m); background: var(--rocio-suave); border: 1px solid color-mix(in srgb, var(--rocio) 35%, transparent); }
.cu-rescate > .crece { flex: 1 1 200px; }
.cu-rescate > svg { width: 24px; height: 24px; color: var(--rocio); flex: none; }
.cu-rescate p { color: var(--tenue); font-size: 13px; }
.cu-rescate.sin { background: color-mix(in srgb, var(--alta) 10%, transparent); border-color: color-mix(in srgb, var(--alta) 30%, transparent); }
.cu-rescate.sin > svg { color: var(--alta); }
.cu-nada { display: flex; gap: 10px; align-items: flex-start; color: var(--tenue); }
.cu-nada svg { width: 18px; height: 18px; flex: none; margin-top: 2px; }
.cu-medio { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); gap: 16px; margin-bottom: 18px; align-items: stretch; }
.cu-medio .cinta { margin: 0; }
.cu-cinta .cifra { flex-basis: 72px; padding: 12px 14px; }
.cu-borran { padding: 14px 16px; }
.cu-borran h2 { font-size: 14px; color: var(--tenue); margin-bottom: 6px; }
.cu-borran ol { list-style: none; margin: 0; padding: 0; display: grid; }
.cu-persona { display: flex; align-items: center; gap: 10px; width: 100%; padding: 6px 4px; border: 0; background: none; border-radius: var(--r-s); cursor: pointer; text-align: left; color: var(--texto); }
.cu-persona:hover { background: var(--tela-2); }
.cu-persona svg { width: 16px; height: 16px; color: var(--apagado); }
.cu-busca-persona { flex: 0 1 200px; }
.cu-panel-lista { padding-top: 6px; }
.cu-lista { list-style: none; margin: 0; padding: 0; }
.cu-lista.compacta { padding-top: 8px; }
.cu-dia h3 { padding-left: 0; }
.cu-mov { display: grid; grid-template-columns: 52px 104px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--hilo); }
.cu-mov time { color: var(--apagado); font-size: 13px; white-space: nowrap; }
.cu-mov .chip { justify-self: start; }
.cu-mov small { display: block; color: var(--tenue); font-size: 12.5px; }
.cu-ruta { display: block; font-size: 12.5px; color: var(--texto); overflow-wrap: anywhere; }
.cu-ruta-larga { font-size: 13px; overflow-wrap: anywhere; color: var(--texto); }
.cu-carpetas { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 12px; }
.cu-carpeta { display: grid; gap: 10px; }
.cu-carpeta .fila svg { width: 20px; height: 20px; color: var(--rocio); flex: none; }
.cu-shadow { font-size: 11.5px; color: var(--tenue); }
@media (max-width: 900px) { .cu-medio, .cu-hallado-cuerpo { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
  .cu-hero { padding: 16px; }
  .cu-pregunta-etq { flex-wrap: wrap; flex-basis: 100%; }
  .cu-pregunta-entrada { flex-basis: 100%; }
  .cu-pregunta .btn { width: 100%; }
  .cu-mov { grid-template-columns: 44px minmax(0, 1fr); }
  .cu-mov > .chip { grid-column: 2; grid-row: 1; }
  .cu-mov > div { grid-column: 1 / -1; }
  .cu-mov > .btn { grid-column: 1 / -1; justify-self: start; }
  .cu-carpetas { grid-template-columns: 1fr; }
}

[hidden] { display: none !important; }

/* Sondas */
.so-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 14px; }
.so-vacio { grid-column: 1 / -1; }
.so { --c: var(--apagado); display: grid; gap: 14px; align-content: start; }
.so.est-ok { --c: var(--ok); } .so.est-lento { --c: var(--alta); } .so.est-caida { --c: var(--critica); border-color: color-mix(in srgb, var(--critica) 45%, var(--hilo)); }
.so-cabeza { display: flex; gap: 12px; align-items: flex-start; }
.so-luz { width: 12px; height: 12px; margin-top: 5px; border-radius: 50%; background: var(--c); flex: none; box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 20%, transparent); }
.so.est-caida .so-luz { animation: latido-rojo 1.6s infinite; }
@keyframes latido-rojo { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--critica) 60%, transparent); } 70% { box-shadow: 0 0 0 9px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
.so-cabeza h2 { font-size: 16px; }
.so-obj { display: block; font-size: 12px; color: var(--tenue); overflow-wrap: anywhere; margin-top: 2px; }
.so-cifras { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.so-grande { display: block; font-size: 26px; font-weight: 600; font-stretch: 87.5%; line-height: 1.1; color: var(--texto); }
.so.est-caida .so-cifras > div:first-child .so-grande { color: var(--critica); }
.so-cifras small { color: var(--tenue); font-size: 12px; }
.so-hist { min-height: 58px; }
.so-hist .esqueleto { height: 56px; }
.so-graf { display: grid; gap: 6px; }
.so-graf .chispa { width: 100%; height: 40px; }
.so-tira { display: flex; gap: 2px; height: 16px; }
.so-tira span { flex: 1; border-radius: 2px; background: var(--tela-3); }
.so-tira .ok { background: color-mix(in srgb, var(--ok) 75%, transparent); }
.so-tira .medio { background: var(--alta); }
.so-tira .mal { background: var(--critica); }
.so-eje { display: flex; justify-content: space-between; font-size: 11px; color: var(--apagado); }
.so-sin { font-size: 12.5px; padding: 18px 0; }
.so-error { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: var(--critica); overflow-wrap: anywhere; }
.so-error svg { width: 16px; height: 16px; flex: none; margin-top: 2px; }
.so-pie { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 10px; border-top: 1px solid var(--hilo); }
.so-pie small { font-size: 12px; flex: 1 1 200px; }
@media (max-width: 420px) { .so-rejilla { grid-template-columns: 1fr; } }

/* Automatización */
.au-siempre { --c: var(--uv); margin-bottom: 18px; }
.au-lista { display: grid; gap: 18px; }
.au-grupo { display: grid; gap: 18px; }
.au-grupo > header { margin-bottom: 0; }
.au-modo { display: grid; gap: 10px; padding: 16px 18px; border-radius: var(--r-m); background: var(--tela-2); }
.au-escala { --i: 0; position: relative; display: grid; grid-template-columns: repeat(4, 1fr); }
.au-escala::before, .au-escala::after { content: ""; position: absolute; top: 10px; left: 12.5%; height: 3px; border-radius: 3px; }
.au-escala::before { right: 12.5%; background: var(--tela-3); }
.au-escala::after { width: calc(25% * var(--i)); background: var(--uv); transition: width var(--t-media) var(--curva); }
.au-paso { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; text-align: center; }
.au-paso input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.au-punto { width: 23px; height: 23px; border-radius: 50%; background: var(--tela); border: 2px solid var(--hilo-fuerte); transition: background var(--t-rapida), border-color var(--t-rapida), transform var(--t-rapida); }
.au-paso.hecho .au-punto { border-color: var(--uv); background: color-mix(in srgb, var(--uv) 35%, var(--tela)); }
.au-paso input:checked + .au-punto { background: var(--uv); transform: scale(1.15); box-shadow: 0 0 0 5px var(--uv-suave); }
.au-paso input:focus-visible + .au-punto { outline: 2px solid var(--rocio); outline-offset: 3px; }
.au-paso-txt { font: 600 13.5px var(--f-titulo); color: var(--tenue); }
.au-paso input:checked ~ .au-paso-txt { color: var(--texto); }
.au-paso input:disabled ~ * { cursor: default; }
.au-modo-desc { font-size: 14px; max-width: 80ch; padding-top: 4px; }
.au-cuerpo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.au-cuerpo .interruptor { padding: 2px 0; }
.au-pie { display: flex; justify-content: flex-end; gap: 10px; }
@media (max-width: 1150px) { .au-cuerpo { grid-template-columns: 1fr 1fr; } .au-cuerpo fieldset:nth-child(2) { grid-row: span 2; } }
@media (max-width: 700px) {
  .au-cuerpo { grid-template-columns: 1fr; }
  .au-paso-txt { font-size: 12px; }
}

/* Notificaciones */
.no-smtp { --c: var(--alta); }
.no-canales { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 14px; }
.no-canal { display: grid; gap: 12px; align-content: start; }
.no-canal.apagado { opacity: 0.7; }
.no-canal-cabeza { display: flex; gap: 12px; align-items: center; }
.no-canal-cabeza h2 { font-size: 16px; }
.no-canal-cabeza small { color: var(--tenue); font-size: 12.5px; overflow-wrap: anywhere; }
.no-ic { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--uv-suave); color: var(--uv); flex: none; }
.no-ic svg { width: 19px; height: 19px; }
.no-filtro { font-size: 13.5px; color: var(--tenue); display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; }
.no-temas { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.no-temas-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px 16px; }
.no-hist { margin-top: 20px; }
.no-hist .vacio { padding: 26px 18px; }
@media (max-width: 420px) { .no-canales { grid-template-columns: 1fr; } }

/* Enrolar */
.en-rejilla { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin-bottom: 16px; align-items: start; }
.en-form { display: grid; gap: 14px; }
.en-form h2, .en-pasos h2 { font-size: 17px; }
.en-form .btn { justify-self: start; }
.en-pasos { display: grid; gap: 14px; }
.en-revelado:empty { display: none; }
.en-revelado { margin-bottom: 16px; }
.en-token { display: grid; gap: 14px; border-color: color-mix(in srgb, var(--rocio) 45%, var(--hilo)); background: radial-gradient(80% 140% at 100% 0%, var(--rocio-suave) 0%, var(--tela) 55%); animation: sube var(--t-media) var(--curva); }
.en-token > header { margin-bottom: 0; }
.en-unavez { --c: var(--alta); }
@media (max-width: 900px) { .en-rejilla { grid-template-columns: 1fr; } }

/* Scripts */
.sc-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 14px; }
.sc { display: grid; gap: 10px; align-content: start; }
.sc h2 { font-size: 16px; }
.sc.retirado { opacity: 0.65; }
.sc-huella { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; font-size: 12.5px; }
.sc-huella span { color: var(--apagado); }
.sc-huella code { font-size: 12px; color: var(--tenue); }
.sc-codigo, .sc-editor { display: grid; grid-template-columns: auto minmax(0, 1fr); border: 1px solid var(--hilo-fuerte); border-radius: var(--r-m); background: var(--noche); overflow: hidden; }
.sc-codigo { max-height: 52vh; overflow: auto; }
.sc-num { margin: 0; padding: 12px 10px 12px 12px; text-align: right; color: var(--apagado); background: var(--tela-2); border-right: 1px solid var(--hilo); font: 12.5px/1.6 var(--f-codigo); user-select: none; overflow: hidden; }
.sc-txt { margin: 0; padding: 12px 14px; font: 12.5px/1.6 var(--f-codigo); color: var(--texto); white-space: pre; overflow-x: auto; }
.sc-area { min-height: 320px; max-height: 56vh; resize: vertical; border: 0; outline: none; padding: 12px 14px; background: transparent; color: var(--texto); font: 12.5px/1.6 var(--f-codigo); white-space: pre; overflow: auto; tab-size: 4; }
.sc-editor:focus-within { border-color: var(--uv); box-shadow: 0 0 0 3px var(--uv-suave); }
.sc-editor .sc-num { max-height: 56vh; }
.modal.sc-modal { width: min(980px, 100%); }
.sc-ver { gap: 14px; }
.sc-ejecutar { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; padding: 14px; border-radius: var(--r-m); background: var(--tela-2); }
.sc-ejecutar .campo { flex: 1 1 220px; }
@media (max-width: 420px) { .sc-lista { grid-template-columns: 1fr; } }

/* Auditoría */
.au-cadena { display: grid; gap: 16px; margin-bottom: 18px; }
.au-sello { --c: var(--ok); display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.au-sello.mal { --c: var(--critica); }
.au-sello > svg { width: 44px; height: 44px; padding: 10px; border-radius: 50%; color: var(--c); background: color-mix(in srgb, var(--c) 14%, transparent); box-shadow: 0 0 0 6px color-mix(in srgb, var(--c) 7%, transparent); flex: none; }
.au-sello h2 { font-size: 22px; font-stretch: 87.5%; color: var(--c); }
.au-sello p { color: var(--tenue); font-size: 13.5px; }
.au-huellas { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.au-tabla td { vertical-align: top; }
.au-tabla .plegable { border-top: 0; padding-top: 4px; }
.au-hash { font-family: var(--f-codigo); font-size: 11px; color: var(--apagado); margin-top: 2px; }
.au-mas { padding: 14px; }
@media (max-width: 800px) { .au-huellas { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
  .au-tabla thead { display: none; }
  .au-tabla tr { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 10px 14px; border-bottom: 1px solid var(--hilo); }
  .au-tabla td { padding: 0; border: 0; }
  .au-tabla td:nth-child(3) { grid-column: 1 / -1; }
}

/* Ajustes */
.aj-rejilla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.aj-perfil { display: flex; gap: 16px; align-items: center; }
.aj-perfil h2 { font-size: 20px; }
.aj-perfil .chip { margin-top: 6px; }
.avatar.grande { width: 58px; height: 58px; font-size: 21px; }
.aj-clave { display: grid; gap: 14px; }
.aj-clave h2 { font-size: 17px; }
.aj-2fa { --c: var(--alta); display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
.aj-2fa.ok { --c: var(--ok); margin-bottom: 0; }
.aj-2fa > svg { width: 22px; height: 22px; color: var(--c); flex: none; margin-top: 1px; }
.aj-2fa b { color: var(--c); }
.aj-2fa-pasos .pasos-arreglo li { padding-bottom: 18px; }
.aj-qr { display: flex; gap: 18px; align-items: flex-start; flex-wrap: wrap; }
.aj-qr > div:last-child { display: grid; gap: 8px; flex: 1 1 220px; min-width: 0; }
.aj-qr-img { padding: 8px; border-radius: var(--r-m); background: #ffffff; line-height: 0; flex: none; }
.aj-qr-img svg { display: block; width: 184px; height: 184px; }
.aj-codigo { width: 150px; font-size: 22px; letter-spacing: 0.3em; text-align: center; height: 44px; }
.aj-ses { list-style: none; margin: 0; padding: 0; display: grid; }
.aj-ses li { display: flex; gap: 12px; align-items: center; padding: 10px 0; }
.aj-ses li + li { border-top: 1px solid var(--hilo); }
.aj-ses li > svg { width: 20px; height: 20px; color: var(--apagado); flex: none; }
.aj-ses b { display: block; font-weight: 600; font-size: 13.5px; }
.aj-ses small { color: var(--tenue); font-size: 12.5px; }
.aj-roles { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; flex: 1; font-size: 12.5px; }
.aj-roles dt { font-weight: 600; }
.aj-roles dd { margin: 0; color: var(--tenue); max-width: 34ch; }
.tabla tr.apagado td { opacity: 0.6; }
.tabla select.entrada { height: 32px; width: auto; min-width: 130px; }
.aj-api-intro { display: flex; gap: 16px; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin-bottom: 16px; }
.aj-api-intro > div { max-width: 78ch; }
.aj-api-intro h2 { font-size: 17px; margin-bottom: 4px; }
.aj-clave-nueva { margin-bottom: 16px; }
@media (max-width: 900px) { .aj-rejilla { grid-template-columns: 1fr; } }

/* Informes */
.if-tarjetas { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin-top: 14px; }
.if-tarjeta { display: flex; flex-direction: column; gap: 10px; }
.if-tarjeta h3 { margin: 0; font-size: 16px; }
.if-tarjeta p { flex: 1; margin: 0; font-size: 13.5px; }
.if-tarjeta .chip { align-self: flex-start; }
.if-vivo { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 10px; margin-top: 10px; }

/* Servidor */
.sv-lista { list-style: none; padding: 0; margin: 0; }
