/* ===========================================================================
   hubspain — panel v2 «observación y mando». DOS pieles sobre un DOM:
   .t-consola (fósforo ámbar CRT) y .t-informe (papel editorial). Cinco
   vistas: RESUMEN · SISTEMA · <NOMBRE> · CHAT · AJUSTES, nav integrada en la
   cabecera. El diseño canónico nació en el mock aprobado por Marc
   (propuesta-panel v4) y aquí respira con los datos reales.
   =========================================================================== */

/* ===========================================================================
   PROPUESTA DE ORDEN — la piel es la de PRODUCCIÓN, calcada de estilo.css
   (mismos tokens, mismas reglas, mismos componentes). Lo único nuevo es la
   DISPOSICIÓN: 3 vistas, "te necesita" arriba, tramos plegados, una cronología.
   Las pocas reglas nuevas van marcadas con  NUEVO .
   =========================================================================== */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{min-height:100vh;-webkit-font-smoothing:antialiased}
button{font:inherit;background:none;border:0;cursor:pointer;color:inherit}
input{font:inherit;color:inherit}
.sec{display:none}.sec.on{display:block}
[hidden]{display:none!important}

/* ═══════════════════════════ TEMA CONSOLA (verbatim) ═══════════════════ */
.t-consola{
  --neg:#050505; --fos:#ffb000; --fos2:#ff8c00; --fost:#ffb00033;
  --fosm:#ffd280; --verde:#00e676; --rojo:#ff3d3d; --gris:#7a6a4a;
  background:var(--neg); color:var(--fos);
  font:13px/1.55 ui-monospace,"SF Mono","JetBrains Mono",Menlo,monospace;
  text-shadow:0 0 4px var(--fost);
}
.t-consola::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:99;
  background:repeating-linear-gradient(0deg,#0000 0 2px,#00000059 2px 4px);
  mix-blend-mode:multiply}
.t-consola::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:98;
  background:radial-gradient(ellipse 120% 100% at 50% 50%,#0000 55%,#000c 100%)}
@keyframes parpadeo{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes ap{from{opacity:0}to{opacity:1}}
.t-consola .sec.on{animation:ap .3s}
.t-consola .marco{max-width:1180px;margin:0 auto;padding:16px 16px 48px}
.t-consola .top{border:1px solid var(--fost);padding:9px 13px;display:flex;
  justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.t-consola .top .t{letter-spacing:.16em;font-size:12px}
.t-consola .top .r{font-size:11px;color:var(--gris);display:flex;gap:11px;align-items:center;flex-wrap:wrap}
.t-consola .led{width:7px;height:7px;background:var(--verde);border-radius:50%;
  box-shadow:0 0 7px var(--verde);animation:parpadeo 2.4s steps(1) infinite}
.t-consola .btn{border:1px solid var(--fost);padding:5px 10px;font-size:11px;
  letter-spacing:.08em;color:var(--fos);transition:.12s}
.t-consola .btn:active{background:var(--fos);color:var(--neg);text-shadow:none}
.t-consola .top{flex-wrap:wrap}
.t-consola nav.pestanas{width:100%;order:9;display:flex;border-top:1px solid var(--fost);
  margin:9px -13px -9px;overflow-x:auto}
.t-consola nav.pestanas b{position:relative;padding:9px 15px;font-weight:400;white-space:nowrap;
  cursor:pointer;border-right:1px solid var(--fost);font-size:11.5px;letter-spacing:.1em;color:var(--gris)}
.t-consola nav.pestanas b.on{background:var(--fos);color:var(--neg);text-shadow:none}
.t-consola nav.pestanas b:last-child{border-right:0}
.t-consola h2{font-size:13px;letter-spacing:.2em;font-weight:400;margin:18px 0 10px;color:var(--fosm)}
.t-consola h2::before{content:"══ "}
.t-consola h2 span{color:var(--gris);letter-spacing:.06em}


.t-consola .g{display:grid;gap:9px;margin-bottom:16px}
.t-consola .g4{grid-template-columns:repeat(4,1fr)}
.t-consola .card{border:1px solid var(--fost);padding:11px 13px}
.t-consola .card .k{font-size:10.5px;letter-spacing:.15em;color:var(--gris)}
.t-consola .card .v{font-size:26px;line-height:1.2;margin:5px 0}
.t-consola .card .s{font-size:11px;color:var(--gris)}
.t-consola .medidor{font-size:11px;letter-spacing:-.5px;margin-top:6px;white-space:nowrap;overflow:hidden}
.t-consola .medidor .f{color:var(--fos)}
.t-consola .medidor .e{color:#3a3020}
.t-consola table{width:100%;border-collapse:collapse;font-size:12px}
.t-consola td{padding:6px 9px;border-bottom:1px solid #1a1610;vertical-align:top}
.t-consola tr:hover td{background:#ffb00008}
.t-consola .st{width:14px}
.t-consola .ok{color:var(--verde)}.t-consola .er{color:var(--rojo)}
.t-consola .num{text-align:right;color:var(--gris);white-space:nowrap}
.t-consola small{display:block;color:var(--gris);font-size:11px}
.t-consola .spark{display:block;width:100%;height:52px;margin:8px 0 4px}
.t-consola .spark path{fill:none;stroke:var(--fos);stroke-width:1.2}
.t-consola .arte{display:none}
@media(max-width:760px){
  .t-consola .g4{grid-template-columns:repeat(2,1fr)}
  .t-consola .marco{padding:12px 11px 44px}
  .t-consola .card .v{font-size:22px}
}

/* ═══════════════════════════ TEMA INFORME (verbatim) ═══════════════════ */
.t-informe{
  --papel:#faf9f7; --papel2:#f2f0ec; --tinta:#111110; --tinta2:#57534e;
  --tinta3:#8f8a84; --linea:#e0ddd7; --linea2:#c9c5bd;
  --senal:#c2410c; --verde:#3f6212; --ambar:#a16207;
  background:var(--papel); color:var(--tinta);
  font:15px/1.5 "Helvetica Neue",Inter,-apple-system,"Segoe UI",system-ui,sans-serif;
}
.t-informe .marco{max-width:1080px;margin:0 auto;padding:0 34px 56px}
.t-informe .top{border-bottom:2px solid var(--tinta);padding:24px 0 12px;margin-bottom:0;
  display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;
  position:sticky;top:0;background:var(--papel);z-index:20}
.t-informe .top .t{font-size:22px;font-weight:600;letter-spacing:-.02em}
.t-informe .top .r{font-size:11.5px;color:var(--tinta3);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.t-informe .led{width:7px;height:7px;border-radius:50%;background:var(--verde)}
.t-informe .btn{border:1px solid var(--linea2);border-radius:2px;padding:5px 10px;
  font-size:11px;letter-spacing:.06em;background:#fff;transition:.12s}
.t-informe .btn:active{background:var(--tinta);color:var(--papel)}
.t-informe .arte{display:block;position:relative;overflow:hidden}
.t-informe .arte svg,.t-informe .arte video{display:block;width:100%;height:clamp(240px,30vh,360px);object-fit:contain;object-position:center;
  object-fit:cover;filter:saturate(.92) contrast(.97)}
.t-informe .arte .vloop{position:relative;width:100%;height:clamp(240px,30vh,360px);overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000),linear-gradient(180deg,#0000,#000 14%,#000 80%,#0000);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000),linear-gradient(180deg,#0000,#000 14%,#000 80%,#0000);
  mask-composite:intersect}
.arte .vloop::before{content:"";position:absolute;inset:-30px;z-index:0;
  background:var(--fondo, none) center/cover no-repeat;
  filter:blur(36px) saturate(.85) brightness(1.03);opacity:.55}
.arte .vloop video,.arte .vloop img{position:relative;z-index:1}
.arte .velo{z-index:2}
.arte .palabra{z-index:3}
.t-informe .arte .vloop video{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;opacity:0;transition:opacity 2s ease}
.t-informe .arte .vloop video.on{opacity:1}
.t-informe .arte .velo{position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg,#faf9f7 0%,#faf9f700 22%),
    linear-gradient(180deg,#faf9f700 42%,#faf9f7ee 86%,#faf9f7 100%),
    linear-gradient(90deg,#faf9f7 0%,#faf9f700 7%,#faf9f700 93%,#faf9f7 100%)}
.t-informe .arte .palabra{position:absolute;left:50%;transform:translateX(-50%);
  bottom:18px;width:100%;max-width:1080px;padding:0 34px}
.t-informe .arte .palabra .z{font-size:16.5px;color:var(--tinta);font-style:italic;
  line-height:1.5;font-weight:500;
  text-shadow:0 0 14px #faf9f7,0 0 5px #faf9f7,0 1px 2px #faf9f7}
.t-informe .arte .palabra .f{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--tinta3);margin-top:7px;text-shadow:0 0 9px #faf9f7,0 1px 2px #faf9f7}
@keyframes respira{0%,100%{opacity:.5}50%{opacity:.86}}
.t-informe .arte .sol{animation:respira 9s ease-in-out infinite}
/* NUEVO — el mismo lugar, otro tiempo: la capa del clima se funde sobre la
   calma en 2 s, así el cambio de estado se ve llegar como llega el tiempo */
.t-informe .arte .clima{position:absolute;inset:0;width:100%;
  height:min(300px,34vh);object-fit:cover;opacity:0;pointer-events:none;
  transition:opacity 2s ease;filter:saturate(.92) contrast(.97)}
.t-informe .arte .clima.on{opacity:1}
.t-informe nav.pestanas{display:flex;gap:2px;overflow-x:auto;margin:0 8px;align-self:flex-end}
.t-informe nav.pestanas b{position:relative;padding:8px 11px 12px;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;cursor:pointer;color:var(--tinta3);white-space:nowrap;
  font-weight:500;border-bottom:2px solid transparent;margin-bottom:-14px}
.t-informe nav.pestanas b.on{color:var(--tinta);border-bottom-color:var(--tinta)}
/* el puntito de «te espera algo» en la propia nav */
.navb{position:absolute;top:3px;right:2px;width:6px;height:6px;border-radius:50%;font-style:normal}
.t-informe .navb{background:var(--senal)}
.t-consola .navb{background:var(--fos);box-shadow:0 0 6px var(--fos);top:5px;right:5px}
@keyframes fd{from{opacity:0}to{opacity:1}}
.t-informe .sec.on{animation:fd .3s}


.t-informe .g{display:grid;margin-bottom:42px}
.t-informe .g4{grid-template-columns:repeat(4,1fr);border-top:1px solid var(--tinta)}
/* sin tabiques entre tarjetas: el aire separa, no la línea (petición de Marc) */
.t-informe .card{padding:22px 24px 22px 0}
.t-informe .card .k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tinta3);margin-bottom:13px}
.t-informe .card .v{font-size:clamp(34px,5vw,50px);line-height:.94;letter-spacing:-.045em;
  font-weight:600;font-variant-numeric:tabular-nums}
.t-informe .card .s{font-size:12px;color:var(--tinta3);margin-top:9px}
.t-informe .medidor{height:2px;background:var(--linea);margin-top:13px;font-size:0;overflow:hidden}
.t-informe .medidor .f{display:block;height:100%;background:var(--tinta)}
.t-informe .medidor .e{display:none}
.t-informe h2{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  padding-bottom:9px;border-bottom:1px solid var(--tinta);margin:0 0 4px}
.t-informe .bloque{margin-bottom:42px}
.t-informe table{width:100%;border-collapse:collapse}
.t-informe td{padding:13px 0;border-bottom:1px solid var(--linea);font-size:14.5px;vertical-align:baseline}
.t-informe .st{width:16px;font-size:15px}
.t-informe .ok{color:var(--verde)}.t-informe .er{color:var(--senal)}
.t-informe .num{color:var(--tinta3);text-align:right;white-space:nowrap;font-size:13px;
  font-variant-numeric:tabular-nums}
.t-informe small{display:block;color:var(--tinta3);font-size:12px;margin-top:2px}
.t-informe .spark{width:100%;height:92px;display:block;margin:18px 0 6px}
.t-informe .spark path{fill:none;stroke:var(--tinta);stroke-width:1.3}
@media(max-width:760px){
  .t-informe .marco{padding:0 20px 48px}
  .t-informe .arte .palabra{left:0;transform:none;padding:0 20px}
  .t-informe .g4{grid-template-columns:repeat(2,1fr)}
  .t-informe .top{padding:16px 0 10px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ═══════ componentes de producción que la propuesta recoloca (verbatim) ═══════ */
.hilo{cursor:pointer}
.hilo-cab{display:flex;align-items:center;gap:12px;padding:14px 2px}
.hilo-cab .flecha{margin-left:auto;flex:none;transition:transform .25s;font-size:11px}
.hilo.abierto .flecha{transform:rotate(90deg)}
.hilo-cab .nom{flex:1;min-width:0}
.hilo-cuerpo{display:none;padding:2px 0 20px}
.hilo.abierto .hilo-cuerpo{display:block;animation:fd .3s}
.t-informe .hilo-cab{border-bottom:1px solid var(--linea)}
.t-informe .hilo:hover .hilo-cab{background:var(--papel2)}
.t-informe .hilo-cuerpo{border-bottom:1px solid var(--linea)}
.t-consola .hilo-cab{border-bottom:1px solid #1a1610}
.t-consola .hilo:hover .hilo-cab{background:#ffb00008}
.t-consola .hilo-cuerpo{border-bottom:1px solid #1a1610}

.bitacora{display:flex;flex-direction:column}
.bitacora .nota{display:flex;gap:14px;align-items:baseline;padding:9px 0}
.bitacora .nota time{flex:0 0 auto;font-size:11.5px;letter-spacing:.4px;opacity:.55}
.bitacora .nota p{margin:0;font-size:13.5px;line-height:1.55}
.t-consola .bitacora .nota{border-bottom:1px dashed #ffb00022}
.t-consola .bitacora .nota time{color:#ffb000}
.t-informe .bitacora .nota{border-bottom:1px solid #11111014}
.t-informe .bitacora .nota p{font-size:14.5px}
@media (max-width:760px){.bitacora .nota{flex-direction:column;gap:2px}}


@media (max-width:760px){}

button.encargar{display:block;margin-top:9px;cursor:pointer;font-size:11px;
  letter-spacing:.06em;background:transparent;padding:4px 10px}
.t-consola button.encargar{border:1px dashed #ffb00055;color:#ffb000cc}
.t-consola button.encargar:hover{border-style:solid;background:#ffb00011}
.t-consola button.encargar.hecho{border:1px solid #3fb95044;color:#3fb950;cursor:default}
.t-informe button.encargar{border:1px solid #11111026;color:#111110b3;border-radius:2px}
.t-informe button.encargar:hover{border-color:#111110;color:#111110}
.t-informe button.encargar.hecho{border-color:#3d6b3d55;color:#3d6b3d;cursor:default}

.encargos-recientes .enc{display:flex;gap:12px;align-items:baseline;padding:6px 0;
  font-size:12.5px;flex-wrap:wrap}
.encargos-recientes .enc time{flex:0 0 auto;font-size:11px;opacity:.55}
.encargos-recientes .enc span{display:flex;flex-direction:column;gap:2px}
.encargos-recientes .enc .cierre{font-style:normal;font-size:11.5px}
.t-consola .encargos-recientes .enc{border-bottom:1px dashed #ffb00019;color:#ffb000b3}
.t-informe .encargos-recientes .enc{border-bottom:1px solid #11111010;color:#111110a6}
.t-consola .enc .cierre{color:#3fb950}
.t-consola .enc .cierre.pendiente{color:#ffb00066}
.t-informe .enc .cierre{color:#3d6b3d}
.t-informe .enc .cierre.pendiente{color:#11111059;font-style:italic}
.enc-acciones{flex:0 0 auto;margin-left:auto;display:inline-flex;gap:6px}
button.mini{cursor:pointer;font-size:10.5px;letter-spacing:.05em;padding:3px 9px;background:transparent}
.t-consola button.mini{border:1px dashed #ffb00044;color:#ffb00099}
.t-consola button.mini:hover{border-style:solid;color:#ffb000}
.t-informe button.mini{border:1px solid #11111022;color:#11111080;border-radius:2px}
.t-informe button.mini:hover{border-color:#111110;color:#111110}

.t-consola h2{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.t-informe h2{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
h2 .filtros{margin-left:auto;display:inline-flex;gap:6px}
button.filtro{cursor:pointer;font-size:10.5px;letter-spacing:.08em;padding:3px 10px;background:transparent}
.t-consola button.filtro{border:1px solid #ffb00033;color:#ffb00080}
.t-consola button.filtro.on{border-color:#ffb000;color:#ffb000}
.t-informe button.filtro{border:1px solid #11111022;color:#11111073;border-radius:20px}
.t-informe button.filtro.on{border-color:#111110;color:#111110;background:#11111008}

.voz{margin:2px 0 22px;font-size:14.5px;line-height:1.55}
.t-consola .voz{color:#ffb000cc;border-left:2px solid #ffb00044;padding-left:12px}
.t-informe .voz{color:#111110b3;font-style:italic;border-left:2px solid #c2410c55;padding-left:14px}

.duda-caja{padding:12px 14px;margin-top:2px}
.t-consola .duda-caja{border:1px dashed #e3b34166;background:#e3b34108}
.t-informe .duda-caja{border:1px solid #a8630f40;border-radius:3px;background:#fdf9f3}
.duda-q{font-size:13px;line-height:1.55;margin-bottom:10px;display:flex;gap:8px;
  align-items:baseline;flex-wrap:wrap}
.t-consola .duda-q{color:#e3b341}
.t-informe .duda-q{color:#7a5010}
.duda-form{display:flex;gap:10px}
.duda-form input{flex:1;min-width:0;background:transparent;outline:none;border:none}
.duda-form button{cursor:pointer;white-space:nowrap;font-size:12px;letter-spacing:.08em;padding:7px 14px}
.t-consola .duda-form input{border-bottom:1px solid #e3b34155;color:#ffb000;padding:7px 2px}
.t-consola .duda-form button{border:1px solid #e3b34188;color:#e3b341}
.t-informe .duda-form input{border-bottom:1px solid #a8630f44;color:#111110;padding:7px 2px}
.t-informe .duda-form button{background:#a8630f;border:1px solid #a8630f;color:#fff;
  border-radius:2px;text-transform:uppercase}

.propuesta{margin:6px 0 20px;padding:14px}
.prop-tit{font-size:13px;font-weight:600;margin-bottom:10px;display:flex;
  gap:10px;align-items:baseline;flex-wrap:wrap}
.prop-tit span{font-weight:400;font-size:11px;opacity:.6}
.prop-media{display:block;width:100%;max-height:260px;object-fit:cover;margin-bottom:12px}
.t-consola .propuesta{border:1px dashed #ffb00066;background:#ffb00008}
.t-informe .propuesta{border:1px solid #11111022;border-radius:4px;
  background:#fffefc;box-shadow:0 4px 18px #00000010}

.rondas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:14px;margin-bottom:26px}
.ronda{padding:15px 17px;display:flex;flex-direction:column;gap:8px}
.ronda-cab{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ronda-cab b{font-size:14px}
.ronda p{font-size:12.5px;line-height:1.5;opacity:.75;margin:0;flex:1;overflow-wrap:anywhere;
  overflow:hidden;max-height:4.6em}
.ronda-pie{display:flex;justify-content:space-between;gap:10px;font-size:11px;flex-wrap:wrap}
.ronda-pie em{font-style:normal}
.ronda-cab .ronda-ya{margin-left:auto}
.ronda-acc{margin-left:auto;display:inline-flex;gap:6px}
.t-consola .ronda{border:1px solid #ffb00026}
.t-consola .ronda.viva{border-color:#3fb95066;background:#3fb95008}
.t-consola .ronda-pie{color:#ffb00080}
.t-consola .ronda.viva .ronda-pie em{color:#3fb950}
.t-informe .ronda{border:1px solid #11111018;border-radius:3px;background:#fffefc}
.t-informe .ronda.viva{border-color:#3d6b3d66;background:#f6f9f6}
.t-informe .ronda-pie{color:#11111073}
.t-informe .ronda.viva .ronda-pie em{color:#3d6b3d}
@media (max-width:760px){.rondas-grid{grid-template-columns:1fr}}

.en-marcha{margin:16px 0 4px;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline}
.em-tit{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.55;flex:0 0 100%}
.em-item{font-size:12px;display:inline-flex;align-items:center;gap:6px;opacity:.8}

.chip{font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  padding:2.5px 8px;border-radius:20px;white-space:nowrap}
.t-consola .chip{border:1px solid #ffb00033;color:#ffb000b3}
.t-consola .chip.e-hecha{color:#3fb950;border-color:#3fb95044}
.t-informe .chip{border:1px solid #11111022;color:#111110a6;background:#faf9f7}
.t-informe .chip.e-hecha{border-color:#3d6b3d44;color:#3d6b3d}

.clk{cursor:pointer}
tr.clk:hover td{opacity:.85}
.t-consola tr.clk:hover{background:#ffb00008}
.t-informe tr.clk:hover{background:#11111005}

.s-pie{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:3px}
.s-eje{display:flex;justify-content:space-between;flex:1;font-size:10.5px;letter-spacing:.04em}
.s-cifra{font-size:11px;white-space:nowrap}
.t-consola .s-eje{color:#ffb00059}
.t-consola .s-cifra{color:#ffb00099}
.t-informe .s-eje{color:#11111052}
.t-informe .s-cifra{color:#11111080}

/* ═══════ NUEVO: la banda de aire bajo las cifras ═══════
   El segundo clip vive DETRÁS de los cuatro indicadores, tratado igual que la
   cabecera: cubre, se funde con el papel por los cuatro lados y deja pasar los
   números. Bucle sin costura de 16 s. */
.g4{position:relative}
.g4 .card{position:relative}          /* las cifras, siempre por encima */
.aire{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.aire video{width:100%;height:100%;object-fit:cover;display:block}
.aire .velo-aire{position:absolute;inset:0}
/* la tinta del clip es contrastada de nacimiento: se aplana (menos contraste,
   más luz) para que sea textura y no mancha. grayscale(1) PRIMERO porque el
   códec deja rastro de color y el sepia sin saturar evita salirse de gama. */
.t-informe .aire video{opacity:.42;
  filter:grayscale(1) sepia(.7) contrast(.62) brightness(1.16)}
.t-informe .aire .velo-aire{background:
  linear-gradient(180deg,#faf9f7 0%,#faf9f799 30%,#faf9f799 70%,#faf9f7 100%),
  linear-gradient(90deg,#faf9f7 0%,#faf9f700 12%,#faf9f700 88%,#faf9f7 100%)}
/* en la consola el aire es fósforo: se suma a la luz, nunca ensucia el negro */
/* la consola no tiñe: parte del ámbar del fósforo y lo modula con la luz del
   clip (multiply sobre campo ámbar). Así jamás aparece un color que no sea de
   la casa — el verde de antes venía de saturar un tinte fuera de gama. */
.t-consola .aire{background:var(--fos);isolation:isolate}
.t-consola .aire video{mix-blend-mode:multiply;
  filter:grayscale(1) brightness(.55) contrast(1.35)}
.t-consola .aire .velo-aire{background:
  linear-gradient(180deg,#050505 0%,#05050566 34%,#05050566 66%,#050505 100%),
  linear-gradient(90deg,#050505 0%,#05050500 10%,#05050500 90%,#050505 100%)}

/* ═══════════ AJUSTES: sección de pleno derecho (el modal murió en v4) ═══════
   Filas de ajuste con la piel de producción; el mundo se elige VIÉNDOLO. */
.ajuste{display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:13px 0;flex-wrap:wrap}
.aj-txt{flex:1;min-width:210px}
.aj-txt b{display:block;font-size:14px;margin-bottom:2px;font-weight:600}
.aj-txt span{font-size:12px;opacity:.65;line-height:1.45}
.aj-control{display:flex;align-items:center;gap:10px}
.aj-control select,.aj-control input{font:inherit;font-size:13px;padding:7px 10px;
  cursor:pointer;background:transparent;max-width:280px}
.aj-control input{cursor:text;width:150px}
.aj-estado{font-size:11px;font-style:normal;opacity:0;transition:opacity .2s}
.aj-estado.on{opacity:1}
.t-consola .ajuste{border-bottom:1px dashed #ffb00022}
.t-consola .aj-control select,.t-consola .aj-control input{border:1px solid #ffb00055;color:#ffb000}
.t-consola .aj-control select option{background:#0a0a08;color:#ffb000}
.t-consola .aj-estado{color:#3fb950}
.t-informe .ajuste{border-bottom:1px solid #11111012}
.t-informe .aj-control select,.t-informe .aj-control input{border:1px solid #11111033;
  border-radius:3px;color:#111110;background:#fffefc}
.t-informe .aj-estado{color:#3d6b3d}
@media (max-width:760px){.ajuste{flex-direction:column;align-items:flex-start}
  .aj-control{width:100%}.aj-control select{flex:1;max-width:none}}

/* el mundo se elige mirándolo */
.mundos-tira{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:6px 0 18px}
.mundo-card{cursor:pointer;overflow:hidden;transition:.15s}
.mundo-card img{display:block;width:100%;height:82px;object-fit:cover}
.mundo-card b{display:block;font-size:13px;padding:8px 10px 1px;font-weight:600}
.mundo-card span{display:block;font-size:11px;opacity:.6;padding:0 10px 9px}
.t-consola .mundo-card{border:1px solid #ffb00026}
.t-consola .mundo-card:hover{border-color:#ffb00066}
.t-consola .mundo-card.on{border-color:#ffb000;background:#ffb0000f}
.t-informe .mundo-card{border:1px solid #11111018;border-radius:3px;background:#fff}
.t-informe .mundo-card:hover{border-color:#11111040}
.t-informe .mundo-card.on{border-color:#111110;box-shadow:0 2px 14px #0000000d}
.estados-tira{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:2px 0 4px}
.est-mini{cursor:pointer;text-align:center}
.est-mini img{display:block;width:100%;height:44px;object-fit:cover;transition:.15s}
.est-mini i{font-style:normal;font-size:10px;letter-spacing:.04em;opacity:.6;
  display:block;margin-top:4px}
.t-consola .est-mini img{border:1px solid #ffb00026}
.t-consola .est-mini.on img{border-color:#ffb000}
.t-informe .est-mini img{border:1px solid #11111018;border-radius:2px}
.t-informe .est-mini.on img{border-color:#111110}
.est-mini.on i{opacity:1;font-weight:600}
@media (max-width:760px){.mundos-tira{grid-template-columns:1fr}
  .estados-tira{grid-template-columns:repeat(3,1fr)}}

/* el gasto del mes, con su tope */
.gasto{margin:10px 0 4px}
.gasto-cifra{display:flex;justify-content:space-between;align-items:baseline;
  font-size:13px;margin-bottom:7px}
.gasto-cifra b{font-size:20px;font-weight:600}
.gasto-desglose{font-size:11.5px;opacity:.6;margin-top:7px}
.aj-intro{font-size:12.5px;opacity:.6;margin:2px 0 12px;line-height:1.5}
.aj-nota{font-size:12px;opacity:.55;margin:8px 0 2px;line-height:1.5}

/* ═══════════ NUEVO: el perfil de la inteligencia ═══════════
   La entidad como persona: banner (su mundo, vivo), avatar, bio, cositas.
   Misma piel: hairlines de papel en Informe, ámbar y trazos en Consola. */
/* el perfil vive EN la cabecera (informe): avatar y nombre sobre el mundo.
   En consola (sin cabecera de arte) hay una cabecera compacta en la sección. */
#arte-extra{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;
  width:100%;max-width:1080px;padding:0 34px;display:flex;gap:14px;align-items:flex-end}
#arte-extra .perfil-avatar{width:76px;height:76px}
#arte-extra .pq{flex:1;min-width:0;padding-bottom:4px}
#arte-extra .perfil-nombre b{font-size:24px;
  text-shadow:0 0 14px #faf9f7,0 0 5px #faf9f7,0 1px 2px #faf9f7}
#arte-extra .perfil-handle,#arte-extra .perfil-ahora{text-shadow:0 0 9px #faf9f7,0 1px 2px #faf9f7}
#arte-extra .perfil-acciones{padding-bottom:8px}
@media(max-width:760px){#arte-extra{left:0;transform:none;padding:0 20px}}
.perfil-cab-seccion{display:flex;gap:14px;align-items:center;margin:6px 0 4px;flex-wrap:wrap}
.perfil-cab-seccion .pq{flex:1;min-width:200px}
.t-informe .perfil-cab-seccion{display:none}
.t-informe .perfil-bio{margin-top:24px}
.perfil-avatar{width:92px;height:92px;border-radius:50%;object-fit:cover;flex:none}
.t-informe .perfil-avatar{border:3px solid var(--papel);background:#fff;box-shadow:0 2px 10px #0002}
.t-informe .perfil-cab-seccion .perfil-avatar{border-color:#fff}
.t-consola .perfil-avatar{border:1px solid var(--fos);filter:grayscale(1) sepia(1) saturate(2.4) hue-rotate(-8deg)}
.perfil-quien{flex:1;min-width:200px;padding-bottom:6px}
.perfil-nombre{display:flex;align-items:baseline;gap:10px}
.perfil-nombre b{font-size:22px;font-weight:600;letter-spacing:-.02em}
.t-consola .perfil-nombre b{font-weight:400;letter-spacing:.08em;color:var(--fosm)}
.perfil-handle{font-size:12.5px;opacity:.55}
.perfil-ahora{font-size:12px;opacity:.75;display:flex;gap:7px;align-items:center;margin-top:3px}
.perfil-acciones{display:flex;gap:10px;padding-bottom:6px}
.perfil-bio{margin:14px 0 10px;font-size:14.5px;line-height:1.6;max-width:62ch}
.t-consola .perfil-bio{color:var(--fosm)}
.perfil-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;opacity:.6}
.perfil-stats{display:flex;flex-wrap:wrap;margin:16px 0 4px}
.stat{font-size:12.5px;padding:6px 16px 6px 0;margin-right:16px}
.stat b{font-size:17px;font-weight:600;margin-right:6px;font-variant-numeric:tabular-nums}
.t-informe .stat{border-right:1px solid var(--linea)}
.t-informe .stat:last-child{border-right:0}
.t-consola .stat{border-right:1px solid #1a1610}
.t-consola .stat:last-child{border-right:0}
.t-consola .stat b{color:var(--fosm)}
.cositas{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:18px 0 8px}
.cosa{padding:12px 14px}
.cosa b{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.55;margin-bottom:5px;font-weight:600}
.cosa span{font-size:13px;line-height:1.5}
.t-informe .cosa{border:1px solid #11111018;border-radius:3px;background:#fffefc}
.t-consola .cosa{border:1px solid #ffb00026}
.props{margin-top:12px}
.prop{display:flex;gap:12px;align-items:center;padding:12px 0;flex-wrap:wrap}
.prop-txt{flex:1;min-width:220px}
.prop-txt b{display:block;font-size:14px;font-weight:600}
.t-consola .prop-txt b{font-weight:400;color:var(--fosm)}
.prop-txt span{font-size:12.5px;opacity:.65}
.t-informe .prop{border-bottom:1px solid var(--linea)}
.t-consola .prop{border-bottom:1px dashed #ffb00022}
.post{display:flex;gap:12px;padding:12px 0;align-items:flex-start}
.pava{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;margin-top:2px}
.t-informe .pava{border:1px solid var(--linea)}
.t-consola .pava{filter:grayscale(1) sepia(1) saturate(2.4) hue-rotate(-8deg);border:1px solid #ffb00044}
.pcuerpo{flex:1;min-width:0}
.pcab{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap}
.pcab b{font-size:13.5px;font-weight:600}
.t-consola .pcab b{font-weight:400;color:var(--fosm)}
.pcab time{font-size:11px;opacity:.5}
.post p{margin:2px 0 0;font-size:13.5px;line-height:1.55}
.t-informe .post{border-bottom:1px solid #11111010}
.t-consola .post{border-bottom:1px dashed #ffb00019}
.post.fijado{padding:12px 14px;margin:14px 0 6px}
.t-informe .post.fijado{background:#fffefc;border:1px solid #11111018;border-radius:3px;border-left:2px solid var(--senal)}
.t-consola .post.fijado{border:1px dashed #ffb00055;background:#ffb00008}

/* ═══════════ NUEVO: AJUSTES como panel de control ═══════════
   Lo estás configurando a él, para ti: hero personal, secciones a la
   izquierda, y controles que se entienden con las manos (deslizar = de más
   rápido a más capaz), no leyendo nombres de modelos. */
.aj-pagina{margin-top:26px}
.t-informe #aj-hero{display:none}   /* en informe el hero vive en la cabecera */
#aj-hero{display:flex;gap:14px;align-items:center;margin-bottom:16px}
#aj-hero img{width:54px;height:54px;border-radius:50%;object-fit:cover;flex:none}
#aj-hero b{display:block;font-size:18px;font-weight:600;letter-spacing:-.01em}
#aj-hero span{font-size:12.5px;opacity:.6;line-height:1.45;display:block;max-width:56ch}
.t-consola #aj-hero img{filter:grayscale(1) sepia(1) saturate(2.4) hue-rotate(-8deg);border:1px solid var(--fos)}
.t-consola #aj-hero b{font-weight:400;letter-spacing:.08em;color:var(--fosm)}
#aj-layout{display:flex;gap:26px;align-items:flex-start}
#aj-nav{flex:0 0 148px;display:flex;flex-direction:column;gap:2px}
#aj-nav button{text-align:left;padding:9px 12px;font-size:13px;opacity:.6;border-left:2px solid transparent}
#aj-nav button:hover{opacity:.9}
#aj-nav button.on{opacity:1;font-weight:600;border-left-color:var(--senal)}
.t-informe #aj-nav{border-right:1px solid var(--linea)}
.t-consola #aj-nav{border-right:1px solid #1a1610}
.t-consola #aj-nav button.on{font-weight:400;border-left-color:var(--fos);color:var(--fos);background:#ffb00011}
#aj-cuerpo{flex:1;min-width:0}
@media(max-width:700px){#aj-layout{flex-direction:column;gap:10px}
  #aj-nav{flex-direction:row;overflow-x:auto;width:100%;border-right:0}
  #aj-nav button{border-left:0;border-bottom:2px solid transparent;white-space:nowrap}
  #aj-nav button.on{border-bottom-color:var(--senal)}}

/* slider de niveles: izquierda responde antes, derecha piensa mejor */
.aj-v .aj-control{flex-direction:column;align-items:stretch;flex:1;min-width:260px;max-width:340px}
.sli{user-select:none;touch-action:none;cursor:pointer}
.sli-extremos{display:flex;justify-content:space-between;font-size:11px;opacity:.55;margin-bottom:7px}
.sli-track{height:28px;border-radius:14px}
.t-informe .sli-track{background:var(--papel2);border:1px solid var(--linea)}
.t-consola .sli-track{background:#0f0d08;border:1px solid #ffb00033}
.sli-linea{position:relative;height:100%;margin:0 16px}
.sli-punto{position:absolute;top:50%;width:4px;height:4px;border-radius:50%;transform:translate(-50%,-50%)}
.t-informe .sli-punto{background:#11111038}
.t-consola .sli-punto{background:#ffb00044}
.t-informe .sli-punto.fin{background:var(--senal)}
.t-consola .sli-punto.fin{background:var(--fos);box-shadow:0 0 6px var(--fos)}
.sli-thumb{position:absolute;top:50%;width:30px;height:22px;border-radius:11px;
  transform:translate(-50%,-50%);transition:left .16s}
.sli:active .sli-thumb{transition:none}
.t-informe .sli-thumb{background:#fff;border:1px solid var(--linea2);box-shadow:0 2px 8px #00000022}
.t-consola .sli-thumb{background:var(--fos);box-shadow:0 0 10px #ffb00066}
.sli-val{margin-top:7px;font-size:12px;text-align:right}
.t-informe .sli-val{color:var(--senal)}
.t-consola .sli-val{color:var(--fosm)}

/* interruptor */
.tgl{display:inline-flex;align-items:center;gap:9px;padding:4px 2px;cursor:pointer}
.tgl i{width:38px;height:22px;border-radius:11px;position:relative;transition:.2s;flex:none;font-style:normal}
.tgl i::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;transition:.2s}
.t-informe .tgl i{background:#11111022}
.t-informe .tgl i::after{background:#fff;box-shadow:0 1px 4px #0003}
.t-informe .tgl.on i{background:var(--verde)}
.tgl.on i::after{left:18px}
.t-consola .tgl i{border:1px solid #ffb00055}
.t-consola .tgl i::after{background:#7a6a4a;top:1px;left:1px}
.t-consola .tgl.on i{background:#ffb00022;border-color:var(--fos)}
.t-consola .tgl.on i::after{background:var(--fos);left:16px;box-shadow:0 0 8px var(--fos)}
.tgl span{font-size:12.5px;opacity:.8}

/* segmentado: pocas opciones con nombre, a la vista */
.seg{display:inline-flex}
.t-informe .seg{border:1px solid #11111033;border-radius:3px;overflow:hidden;background:#fffefc}
.t-informe .seg button{padding:7px 13px;font-size:12px;border-right:1px solid #11111014}
.t-informe .seg button:last-child{border-right:0}
.t-informe .seg button.on{background:var(--tinta);color:var(--papel)}
.t-consola .seg{border:1px solid #ffb00044}
.t-consola .seg button{padding:7px 13px;font-size:12px;color:#ffb00099;border-right:1px solid #ffb00022}
.t-consola .seg button:last-child{border-right:0}
.t-consola .seg button.on{background:var(--fos);color:var(--neg);text-shadow:none}

/* ═══════════ NUEVO: el chat — una sección de pleno derecho ═══════════
   Conversación a lo ancho de una columna de lectura; la identidad (avatar,
   nombre, estado) vive en la cabecera del mundo, como en el perfil. */
.chat-pagina{max-width:680px;margin:22px auto 0}
.chat-hist{display:flex;flex-direction:column;gap:10px;min-height:46vh;padding:8px 0 12px}
.mensaje{max-width:82%;font-size:14px;line-height:1.58;overflow-wrap:anywhere}
.mensaje.ia{align-self:stretch;max-width:70ch;padding:2px 0 10px}
.mensaje.yo{align-self:flex-end;padding:9px 14px}
.t-informe .mensaje.ia{color:var(--tinta)}
.t-informe .mensaje.yo{background:var(--tinta);color:var(--papel);border-radius:16px 16px 4px 16px}
.t-consola .mensaje.ia{color:var(--fosm)}
.t-consola .mensaje.yo{background:var(--fos);color:var(--neg);text-shadow:none;border-radius:2px}
.chat-viva{display:flex;gap:9px;align-items:center;font-size:12.5px;padding:2px 0 6px;
  animation:entra .3s ease}
.t-informe .chat-viva{color:var(--tinta3)}
.t-consola .chat-viva{color:var(--gris)}
.cur-puntos{display:inline-flex;gap:3px}
.cur-puntos i{width:4px;height:4px;border-radius:50%;background:currentColor;
  animation:tecleo 1.2s ease-in-out infinite}
.cur-puntos i:nth-child(2){animation-delay:.18s}
.cur-puntos i:nth-child(3){animation-delay:.36s}
.turno-tools{align-self:stretch;font-size:12.5px;margin:0 0 4px}
.turno-tools summary{cursor:pointer;list-style:none;display:inline-flex;gap:6px;align-items:center;
  padding:3px 0;user-select:none}
.turno-tools summary::after{content:"›";transition:transform .15s;font-size:14px;opacity:.6}
.turno-tools[open] summary::after{transform:rotate(90deg)}
.t-informe .turno-tools{color:var(--tinta3)}
.t-informe .turno-tools summary:hover{color:var(--tinta)}
.t-consola .turno-tools{color:var(--gris)}
.tt-lista{margin:6px 0 8px;border-radius:8px;padding:8px 12px}
.t-informe .tt-lista{background:var(--papel2);border:1px solid var(--linea)}
.t-consola .tt-lista{border:1px solid var(--fost)}
.tt-fila{display:flex;gap:10px;padding:4px 0;font-size:12.5px;align-items:baseline}
.tt-fila span{font-variant-numeric:tabular-nums;opacity:.5;min-width:16px}
.tt-fila i{font-style:normal;opacity:.5;margin-left:auto;font:11px ui-monospace,Menlo,monospace}
.chat-bajar{position:absolute;right:14px;bottom:86px;width:36px;height:36px;
  border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;
  padding:0;z-index:5;animation:entra .25s ease}
.t-informe .chat-bajar{background:var(--papel);border:1px solid var(--linea2);
  color:var(--tinta2);box-shadow:0 4px 16px #00000018}
.t-informe .chat-bajar:hover{color:var(--tinta);border-color:var(--tinta3)}
.t-consola .chat-bajar{background:var(--neg);border:1px solid var(--fost);color:var(--fos)}
.chat-pagina{position:relative}
.chat-caja{display:flex;gap:6px;align-items:flex-end;width:100%;padding:8px 10px;border-radius:24px}
.t-informe .chat-caja{border:1px solid var(--linea2);background:var(--papel);box-shadow:0 2px 14px #00000008}
.t-informe .chat-caja:focus-within{border-color:var(--tinta3)}
.t-consola .chat-caja{border:1px solid var(--fost);background:var(--neg)}
.chat-caja textarea{flex:1;font:inherit;font-size:14.5px;line-height:1.45;border:none;outline:none;
  background:none;resize:none;max-height:152px;padding:8px 4px;color:inherit}
.chat-caja textarea::placeholder{opacity:.5}
/* EL GASTO: gráficos con la misma tinta que el resto — nada de colorines */
.gd-grafico{display:flex;align-items:flex-end;gap:3px;height:96px;margin:10px 0 4px}
.gd-barra{flex:1;display:flex;flex-direction:column;justify-content:flex-end;
  align-items:center;height:100%;gap:4px;cursor:default}
.gd-barra i{width:100%;border-radius:2px 2px 0 0;transition:height .3s ease}
.t-informe .gd-barra i{background:var(--tinta)}
.t-consola .gd-barra i{background:var(--fos)}
.gd-barra:hover i{background:var(--senal)}
.gd-barra span{font-size:9px;opacity:.4;font-variant-numeric:tabular-nums}
.gd-repartos{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:18px}
@media (max-width:560px){.gd-repartos{grid-template-columns:1fr}}
.gd-rep-t{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.t-informe .gd-rep-t{color:var(--tinta3)}
.gd-fila{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:4px 0}
.gd-k{flex:none;width:74px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-riel{flex:1;height:3px;border-radius:2px;overflow:hidden}
.t-informe .gd-riel{background:var(--linea)}
.t-consola .gd-riel{background:#ffb00022}
.gd-riel i{display:block;height:100%}
.t-informe .gd-riel i{background:var(--tinta2)}
.t-consola .gd-riel i{background:var(--fos)}
.gd-fila b{flex:none;font-variant-numeric:tabular-nums;font-weight:600;width:52px;text-align:right}
.gd-fila em{flex:none;font-style:normal;opacity:.4;font-size:11px;width:26px;text-align:right}
.gd-reloj{display:flex;align-items:flex-end;gap:2px;height:52px;margin:8px 0}
.gh{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:3px}
.gh i{width:100%;border-radius:1px}
.t-informe .gh i{background:var(--tinta3)}
.t-consola .gh i{background:var(--fost)}
.gh span{font-size:9px;opacity:.35;font-variant-numeric:tabular-nums}
.gd-caro{display:flex;gap:10px;align-items:baseline;font-size:12.5px;padding:5px 0}
.t-informe .gd-caro+.gd-caro{border-top:1px solid var(--linea)}
.gd-caro span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-caro b{font-variant-numeric:tabular-nums}

/* la píldora del cerebro: discreta, como en Claude pero con nuestra piel */
.chat-cerebro{flex:none;align-self:center;display:flex;gap:6px;align-items:baseline;
  font:inherit;font-size:12px;padding:6px 12px;border-radius:20px;cursor:pointer;
  white-space:nowrap;transition:all .15s}
.chat-cerebro i{font-style:normal;font-size:11px;opacity:.55}
.t-informe .chat-cerebro{background:var(--papel2);border:1px solid var(--linea);color:var(--tinta2)}
.t-informe .chat-cerebro:hover{border-color:var(--tinta3);color:var(--tinta)}
.t-consola .chat-cerebro{border:1px solid var(--fost);color:var(--fosm);background:none}
@media (max-width:560px){.chat-cerebro i{display:none}}
/* la capa de elección */
.cer-lista{display:flex;flex-direction:column;margin:4px 0}
.cer-fila{display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  font:inherit;background:none;border:none;cursor:pointer;padding:11px 4px}
.t-informe .cer-fila+.cer-fila{border-top:1px solid var(--linea)}
.t-consola .cer-fila+.cer-fila{border-top:1px dashed #ffb00019}
.cer-fila div{flex:1;min-width:0}
.cer-fila b{display:block;font-size:14.5px;font-weight:600}
.cer-fila b em{font-style:normal;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  opacity:.45;margin-left:7px;font-weight:400}
.cer-fila span{display:block;font-size:12.5px;margin-top:2px}
.t-informe .cer-fila span{color:var(--tinta3)}
.t-consola .cer-fila span{color:var(--gris)}
.t-informe .cer-fila.on{color:var(--tinta)}
.t-informe .cer-fila:hover{background:var(--papel2);border-radius:8px}
.cer-fila svg{flex:none;color:var(--senal)}
.chat-ico{flex:none;width:36px;height:36px;border-radius:50%;border:none;background:none;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.t-informe .chat-ico{color:var(--tinta3)}
.t-informe .chat-ico:hover{color:var(--tinta);background:var(--papel2)}
.t-consola .chat-ico{color:var(--gris)}
.t-consola .chat-ico:hover{color:var(--fos)}
.chat-ico.grabando{color:#fff !important;background:var(--senal) !important;animation:respira 1.6s ease-in-out infinite}
.chat-grab{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:0 4px}
#chat-onda{width:120px;height:26px;display:block}
.chat-grab b{font-variant-numeric:tabular-nums;font-weight:600}
.chat-grab .chat-ico{width:28px;height:28px;font-size:13px}
.chat-enviar{flex:none;width:38px;height:38px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}
/* la nota de voz, como un mensaje más */
.voz-msg{display:flex;gap:10px;align-items:center;cursor:pointer;min-width:210px;padding:2px 0}
.voz-btn{flex:none;width:32px;height:32px;border-radius:50%;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:0}
.mensaje.yo .voz-btn{background:var(--papel);color:var(--tinta)}
.mensaje.ia .voz-btn{background:var(--tinta);color:var(--papel)}
.t-consola .mensaje.yo .voz-btn{background:var(--neg);color:var(--fos)}
.voz-onda{position:relative;flex:1;display:flex;gap:2px;align-items:center;height:26px;overflow:hidden}
.voz-onda i{flex:1;border-radius:2px;opacity:.45;min-height:3px}
.mensaje.yo .voz-onda i{background:var(--papel)}
.mensaje.ia .voz-onda i{background:var(--tinta2)}
.voz-avance{position:absolute;inset:0 auto 0 0;width:0;background:none;border-right:1.5px solid currentColor;opacity:.9}
.voz-dur{font-size:11.5px;font-variant-numeric:tabular-nums;opacity:.8}
.voz-trans{font-size:12px;opacity:.6;margin-top:4px;max-width:52ch;font-style:italic}
/* el adjunto pendiente, dentro del composer */
#comp-adj{padding:0 4px 8px}
.comp-adj-img{position:relative;display:inline-block}
.comp-adj-img img{width:64px;height:64px;object-fit:cover;border-radius:12px;display:block}
.t-informe .comp-adj-img img{border:1px solid var(--linea2)}
.comp-adj-doc{position:relative;display:inline-flex;gap:8px;align-items:center;
  padding:9px 30px 9px 12px;border-radius:10px;font-size:12.5px;max-width:280px}
.t-informe .comp-adj-doc{border:1px solid var(--linea2);background:var(--papel2)}
.comp-adj-doc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comp-adj-x{position:absolute;top:-7px;right:-7px;width:20px;height:20px;border-radius:50%;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.t-informe .comp-adj-x{background:var(--tinta);color:var(--papel);border:2px solid var(--papel)}
.t-consola .comp-adj-x{background:var(--fos);color:var(--neg);border:2px solid var(--neg)}

/* la tarjeta grande del hilo, al estilo Claude */
.adj-tarjeta{display:flex;padding:2px 0}
.adj-tarjeta.yo{justify-content:flex-end}
.adj-tarjeta img{max-width:min(340px,78%);max-height:300px;border-radius:16px;
  cursor:zoom-in;display:block}
.t-informe .adj-tarjeta img{border:1px solid var(--linea2)}
.adj-tarjeta .adj-doc{max-width:min(340px,78%)}
.t-informe .adj-tarjeta.yo .adj-doc{border:1px solid var(--linea2);background:var(--papel2);color:var(--tinta)}

/* adjuntos en el hilo: imagen y documento */
.adj-img{max-width:min(300px,72%);max-height:240px;border-radius:10px;cursor:zoom-in;display:block}
.t-informe .adj-img{border:1px solid var(--linea2)}
.adj-doc{display:inline-flex;gap:9px;align-items:center;padding:10px 14px;border-radius:9px;
  text-decoration:none;font-size:13.5px;max-width:100%}
.t-informe .mensaje.yo .adj-doc{background:#ffffff18;color:var(--papel)}
.t-informe .mensaje.ia .adj-doc{border:1px solid var(--linea2);color:var(--tinta)}
.adj-doc i{font-style:normal;font-size:11px;opacity:.6;margin-left:4px}
.adj-doc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adj-texto{margin-top:6px}
/* visor a pantalla completa */
.visor-img{margin:0;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;gap:10px;align-items:center}
.visor-img img{max-width:100%;max-height:80vh;border-radius:10px;box-shadow:0 22px 70px #00000055}
.visor-x{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  background:#00000066;color:#fff;border:1px solid #ffffff33;backdrop-filter:blur(6px)}
.visor-x:hover{background:#000000aa}
.visor-img figcaption{font-size:12.5px;color:#fff;opacity:.85}
.visor-img figcaption a{color:#fff;text-decoration:underline}
/* tablas del markdown */
.md-tabla{overflow-x:auto;margin:8px 0}
.md-tabla table{border-collapse:collapse;font-size:13px;min-width:min(100%,340px)}
.md-tabla th{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
  text-align:left;padding:6px 14px 6px 0}
.md-tabla td{padding:6px 14px 6px 0;vertical-align:top}
.t-informe .md-tabla th{border-bottom:1.5px solid var(--tinta);color:var(--tinta2)}
.t-informe .md-tabla td{border-bottom:1px solid var(--linea)}
.t-consola .md-tabla th{border-bottom:1px solid var(--fos);color:var(--fosm)}
.t-consola .md-tabla td{border-bottom:1px dashed #ffb00019}
.mensaje.yo .voz-trans{text-align:right}
.t-informe .chat-enviar{background:var(--tinta);color:var(--papel);border:1px solid var(--tinta)}
.t-informe .chat-enviar:disabled{background:var(--papel2);color:var(--tinta3);border-color:var(--linea);cursor:default}
.t-consola .chat-enviar{background:var(--fos);color:var(--neg);border:1px solid var(--fos)}
.t-consola .chat-enviar:disabled{background:none;color:var(--gris);border-color:var(--fost)}
.mensaje.escribiendo{opacity:.55;font-style:italic}
.chat-pie{position:sticky;bottom:0;display:flex;gap:8px;padding:12px 0 18px;align-items:center}
.t-informe .chat-pie{background:linear-gradient(180deg,#faf9f700,var(--papel) 30%)}
.t-consola .chat-pie{background:linear-gradient(180deg,#05050500,var(--neg) 30%)}
.chat-pie input{flex:1;min-width:0;background:transparent;outline:none;border:none;
  font-size:13.5px;padding:7px 2px}
.t-informe .chat-pie input{border-bottom:1px solid #11111033}
.t-consola .chat-pie input{border-bottom:1px solid #ffb00044;color:var(--fos)}
.chat-pie .mini-ico{cursor:pointer;opacity:.55;font-size:15px;padding:4px}
.chat-pie .mini-ico:hover{opacity:1}

/* ═══════ NUEVO (solo disposición): separador de día y botón fuerte ═══════
   — el separador reutiliza el trazo de .em-tit; el botón, el de #btn-lote — */
.dia-sep{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.55;
  margin:18px 0 2px}
.encargos-recientes .enc span.enc-acciones{flex-direction:row;gap:6px}
.btn-fuerte{cursor:pointer;font-size:12px;letter-spacing:.08em;padding:8px 16px}
.t-consola .btn-fuerte{background:transparent;border:1px solid #ffb00088;color:#ffb000}
.t-consola .btn-fuerte:hover{background:#ffb00014}
.t-informe .btn-fuerte{background:#111110;color:#faf9f7;border:1px solid #111110;
  text-transform:uppercase;border-radius:2px}
.t-informe .btn-fuerte:hover{background:#000}
.acc-fila{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

#boot{position:fixed;inset:0;z-index:100;background:#050505;padding:24px;color:#ffb000;
  font:12px/1.7 ui-monospace,Menlo,monospace;text-shadow:0 0 4px #ffb00033}
#boot.fuera{opacity:0;pointer-events:none;transition:opacity .5s}
#boot .ok{color:#00e676}


/* ═══════════════════════ ACCESO (compartido, se tematiza) ═══════════════════════ */
.entrada{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:22px}
.t-consola .entrada{background:var(--neg)}
.t-informe .entrada{background:var(--papel)}
.entrada .caja{width:100%;max-width:360px;text-align:center}
.t-consola .entrada pre{color:var(--fosm);font-size:11px;line-height:1.25;margin-bottom:20px;white-space:pre}
.t-informe .entrada pre{display:none}
.entrada h1{margin-bottom:6px}
.t-consola .entrada h1{font-size:15px;letter-spacing:.22em;font-weight:400}
.t-informe .entrada h1{font-size:44px;font-weight:600;letter-spacing:-.035em}
.entrada .sub{margin-bottom:30px;font-size:13px}
.t-consola .entrada .sub{color:var(--gris)}
.t-informe .entrada .sub{color:var(--tinta3)}
.puntos{display:flex;gap:12px;justify-content:center;margin-bottom:26px}
.puntos i{width:12px;height:12px;transition:.2s}
.t-consola .puntos i{border:1px solid var(--fost)}
.t-consola .puntos i.on{background:var(--fos);box-shadow:0 0 10px var(--fos)}
.t-informe .puntos i{border:1px solid var(--linea2);border-radius:50%}
.t-informe .puntos i.on{background:var(--tinta);border-color:var(--tinta)}
.puntos.error{animation:temblor .4s}
@keyframes temblor{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.teclado{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:250px;margin:0 auto}
.teclado b{padding:14px 0;text-align:center;font-weight:400;font-size:17px;
  cursor:pointer;user-select:none;transition:.1s}
.t-consola .teclado b{border:1px solid var(--fost)}
.t-consola .teclado b:active{background:var(--fos);color:var(--neg);text-shadow:none}
.t-informe .teclado b{border:1px solid var(--linea2);border-radius:2px;background:#fff}
.t-informe .teclado b:active{background:var(--tinta);color:var(--papel)}
.teclado b.vacia{visibility:hidden}
.entrada .fallo{min-height:20px;margin-top:14px;font-size:12px}
.t-consola .entrada .fallo{color:var(--rojo)}
.t-informe .entrada .fallo{color:var(--senal)}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}


/* ═══════════════════ ACCESO REDISEÑADO (cada tema, su puerta) ═══════════════════ */
.solo-consola{display:none}.solo-informe{display:none}
.t-consola .solo-consola{display:revert}
.t-informe .solo-informe{display:revert}

.entrada .caja{position:relative;z-index:2}
#form-acceso{display:flex;flex-direction:column;gap:0;text-align:left}
.campo{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.campo input{font:inherit;outline:none;width:100%}
.entrar{font:inherit;cursor:pointer}

/* --- consola: terminal puro, sin cajas --- */
.t-consola .telon{display:none}
.t-consola .term-cab{color:var(--gris);font-size:12px;line-height:1.7;margin-bottom:26px;white-space:pre}
.t-consola .caja{max-width:430px;width:100%;text-align:left}
.t-consola .campo{flex-direction:row;align-items:baseline;gap:10px;margin-bottom:10px}
.t-consola .campo label{color:var(--fos2);font-size:13px;min-width:86px}
.t-consola .campo input{background:transparent;border:0;border-bottom:1px solid #2a2418;
  color:var(--fos);caret-color:var(--fos);padding:4px 2px;font-size:13px}
.t-consola .campo input:focus{border-bottom-color:var(--fos)}
.t-consola .entrar{background:none;border:1px solid var(--fost);color:var(--fos);
  padding:9px 16px;margin-top:16px;font-size:12px;letter-spacing:.1em;align-self:flex-start}
.t-consola .entrar:hover{background:var(--fos);color:var(--neg);text-shadow:none}

/* --- informe: la obra del mes de telón, tarjeta de papel flotando --- */
.t-informe .entrada{padding:0}
.t-informe .telon{position:absolute;inset:0;z-index:0;overflow:hidden}
.t-informe .telon img{width:100%;height:100%;object-fit:cover;
  filter:saturate(.85) brightness(1.03)}
.t-informe .telon::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,#faf9f75c 0%,#faf9f70f 45%,#faf9f7a8 100%)}
.t-informe .caja{background:#fffefcf2;border:1px solid var(--linea);
  backdrop-filter:blur(7px);border-radius:3px;padding:44px 42px 34px;
  max-width:400px;width:calc(100% - 40px);text-align:left;
  box-shadow:0 24px 70px -30px #11111040}
.t-informe .marca-acceso{font-size:34px;font-weight:600;letter-spacing:-.035em;margin-bottom:4px}
.t-informe .marca-acceso span{color:var(--senal)}
.t-informe .sub-acceso{color:var(--tinta3);font-size:13px;margin-bottom:30px}
.t-informe .campo label{font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--tinta3)}
.t-informe .campo input{background:transparent;border:0;border-bottom:1px solid var(--linea2);
  padding:8px 1px;font-size:15.5px;color:var(--tinta);border-radius:0}
.t-informe .campo input:focus{border-bottom-color:var(--tinta)}
.t-informe .entrar{background:var(--tinta);color:var(--papel);border:0;border-radius:2px;
  padding:13px;margin-top:14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.t-informe .entrar:hover{background:#000}
.t-informe .zen-pie{margin-top:26px;font-size:12.5px;color:var(--tinta3);font-style:italic;text-align:center}

#form-acceso.error{animation:temblor .4s}
@media(max-width:520px){
  .t-informe .caja{padding:34px 26px 28px}
}

/* el conmutador de tema en el acceso: presente, pero sin pedir protagonismo */
.tema-acceso{position:fixed;top:18px;right:18px;z-index:5;width:40px;height:40px;
  border-radius:50%;cursor:pointer;font-size:17px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .25s,transform .25s}
.tema-acceso:hover{transform:rotate(180deg)}
.t-consola .tema-acceso{background:transparent;border:1px solid #ffb00055;
  color:#ffb000;text-shadow:0 0 8px #ffb00088}
.t-consola .tema-acceso:hover{border-color:#ffb000;background:#ffb00011}
.t-informe .tema-acceso{background:#fffefcd9;border:1px solid #11111022;
  color:#111110;box-shadow:0 2px 10px #0002;backdrop-filter:blur(4px)}
.t-informe .tema-acceso:hover{border-color:#111110}


/* ═══════ v2: frescura del dato y la línea efímera de la inteligencia ═══════ */
.fresco{cursor:default}
.aviso-ia{margin:14px 0 4px;padding:11px 14px;font-size:13px;display:flex;
  gap:10px;align-items:baseline;animation:fd .4s}
.aviso-ia b{font-weight:600}
.t-informe .aviso-ia{border:1px solid #a8630f40;border-radius:3px;background:#fdf9f3;color:#7a5010}
.t-consola .aviso-ia{border:1px dashed #e3b34166;background:#e3b34108;color:#e3b341}
.mini-form{display:flex;gap:8px;margin:8px 0 4px;flex-wrap:wrap}
.mini-form input{flex:1;min-width:180px;background:transparent;outline:none;border:none;
  font-size:12.5px;padding:6px 2px}
.t-informe .mini-form input{border-bottom:1px solid #11111033}
.t-consola .mini-form input{border-bottom:1px solid #ffb00044;color:var(--fos)}

/* ═══════════════ v3: COMPACTO Y ESTABLE — nada baila, todo widget ═══════════
   La barra vive SIEMPRE arriba (fija, fuera del flujo del arte); la cabecera
   del mundo tiene ALTURA CONSTANTE en todas las vistas; el chat scrollea por
   dentro. NOVA absorbe el resumen en una rejilla de widgets. */
.barra{position:sticky;top:0;z-index:40}
.t-informe .barra{background:var(--papel)}
.t-consola .barra{background:var(--neg)}
.t-informe .barra .top{max-width:1080px;margin:0 auto;padding:10px 34px 8px;
  position:static;border-bottom:2px solid var(--tinta)}
.t-consola .barra .top{max-width:1180px;margin:0 auto 0;padding:9px 13px}
.t-informe .barra .top .t{font-size:18px}
@media(max-width:760px){.t-informe .barra .top{padding:8px 20px 6px}}

/* cabecera del mundo: constante y contenida */
.t-informe .arte svg,.t-informe .arte video,
.t-informe .arte .vloop{height:clamp(210px,26vh,300px)}
.t-informe .arte .palabra{bottom:10px}
.t-informe .arte .palabra .z{font-size:14px}
#arte-extra{bottom:10px}
#arte-extra .perfil-avatar{width:58px;height:58px}
#arte-extra .perfil-nombre b{font-size:19px}

/* aire recortado: de editorial-paseo a cuadro de mando */
.t-informe .marco{padding-top:6px}
.t-informe .bloque,.t-informe .sec>div{margin-bottom:20px}
.t-informe h2{margin-top:4px}
.t-consola h2{margin:10px 0 8px}
.voz{margin:2px 0 12px}

/* el chat es un widget de página completa: scrollea por dentro, no la página */
.chat-pagina{max-width:680px;margin:10px auto 0;
  height:calc(100dvh - clamp(290px,34vh,400px));min-height:380px;display:flex;flex-direction:column}
.chat-hist{flex:1;overflow-y:auto;min-height:0;padding:6px 2px 10px}
.chat-pie{position:static;background:none!important;padding:10px 0 6px}

/* tooltip de las gráficas */
.spark-wrap{position:relative;cursor:crosshair}
#stip{position:fixed;z-index:80;pointer-events:none;font-size:11.5px;padding:5px 9px;
  border-radius:6px;white-space:nowrap;transform:translate(-50%,-130%);display:none}
.t-informe #stip{background:var(--tinta);color:var(--papel)}
.t-consola #stip{background:var(--fos);color:var(--neg)}
#stip b{font-variant-numeric:tabular-nums}
.spark-linea{position:absolute;top:0;bottom:18px;width:1px;display:none;pointer-events:none}
.t-informe .spark-linea{background:var(--linea2)}
.t-consola .spark-linea{background:var(--fost)}

/* sistema y ajustes, recortados */
.t-informe .spark{height:64px;margin:10px 0 4px}
.hilo-cab{padding:11px 2px}
.hilo-cuerpo{padding:2px 0 14px}
.ajuste{padding:10px 0}
.aj-pagina{margin-top:14px}
.sli-track{height:24px;border-radius:12px}
.sli-thumb{width:26px;height:18px;border-radius:9px}

/* ═══════ PROPUESTA v8 · EL PERIÓDICO — la edición moderna ═══════
   Vuelta al alma original: veredicto gigante, numerales de portada,
   filetes y tipografía. Modernizado: más aire, cero cajas, dos columnas
   limpias. El mundo, cabecera notable con su palabra — como siempre. */
body.vista-loom .arte svg,body.vista-loom .arte video,
body.vista-loom .arte .vloop{height:clamp(340px,44vh,540px)}
body.vista-loom .arte .vloop{
  -webkit-mask-image:linear-gradient(90deg,#0000,#000 6%,#000 94%,#0000),linear-gradient(180deg,#0000,#000 9%,#000 100%);
  mask-image:linear-gradient(90deg,#0000,#000 6%,#000 94%,#0000),linear-gradient(180deg,#0000,#000 9%,#000 100%)}
body.vista-loom .arte video{object-fit:contain;object-position:center}
body.vista-loom .arte .palabra{bottom:26px;max-width:min(760px,86vw)}
.hero-kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  opacity:.75;margin-bottom:10px}
.hero-titular{font-size:clamp(24px,3.6vw,40px);line-height:1.14;font-weight:750;
  letter-spacing:-.02em;text-wrap:balance;font-style:normal}
body.vista-loom .arte .velo{background:linear-gradient(180deg,#0000 30%,
  color-mix(in srgb, var(--papel) 68%, transparent) 78%, var(--papel) 100%)}

@media(max-width:760px){}
.fila-p{display:flex;gap:12px;padding:11px 2px;align-items:baseline;font-size:13.5px;
  line-height:1.5}
.t-informe .fila-p+.fila-p{border-top:1px solid var(--linea)}
.t-consola .fila-p+.fila-p{border-top:1px dashed #ffb00019}
.fila-p .st2{flex:none;width:14px;text-align:center}
.fila-p .ok2{color:var(--verde)}.fila-p .ab2{opacity:.45}
.fila-p .txt{min-width:0}
.fila-p .txt em{font-style:normal;font-size:11px;opacity:.5;margin-left:8px}
.fila-p .meta{margin-left:auto;font-size:10.5px;opacity:.5;white-space:nowrap}
.fila-p .acc{display:none;gap:4px;margin-left:8px}
.fila-p:hover .acc{display:inline-flex}
.fila-p .acc button{font-size:10.5px;padding:2px 7px;opacity:.6}
.fila-p .acc button:hover{opacity:1}
.fila-p .encargar{margin:0;font-size:10.5px;padding:3px 9px}
.senal2{display:flex;gap:13px;padding:9px 2px;font-size:12.5px;line-height:1.55}
.t-informe .senal2+.senal2{border-top:1px solid #11111009}
.t-consola .senal2+.senal2{border-top:1px dashed #ffb00012}
.senal2 time{flex:none;font-size:10px;opacity:.45;font-variant-numeric:tabular-nums;
  padding-top:2px}


/* ═══════ v8.1: EL ASENTIMIENTO — un solo feedback, uniforme en toda la app ═
   Cada gesto que muta algo responde al instante: toast abajo al centro,
   2,4 s, con la piel de cada tema. Nada queda en silencio. */
/* ── sistema de botones: primario, secundario, terciario ─────────────── */
.b1,.b2,.b3{font:inherit;font-size:12.5px;letter-spacing:.02em;cursor:pointer;
  padding:7px 14px;border-radius:7px;transition:all .15s ease;white-space:nowrap}
.b1:focus-visible,.b2:focus-visible,.b3:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.b1:disabled,.b2:disabled,.b3:disabled{opacity:.4;cursor:default}
.t-informe .b1{background:var(--tinta);color:var(--papel);border:1px solid var(--tinta)}
.t-informe .b1:hover:not(:disabled){background:#000}
.t-informe .b2{background:none;color:var(--tinta2);border:1px solid var(--linea2)}
.t-informe .b2:hover:not(:disabled){border-color:var(--tinta2);color:var(--tinta)}
.t-informe .b3{background:none;border:1px solid transparent;color:var(--tinta3)}
.t-informe .b3:hover:not(:disabled){color:var(--tinta)}
.t-consola .b1{background:var(--fos);color:var(--neg);border:1px solid var(--fos)}
.t-consola .b2{background:none;color:var(--fos);border:1px solid var(--fost)}
.t-consola .b2:hover:not(:disabled){border-color:var(--fos)}
.t-consola .b3{background:none;border:1px solid transparent;color:var(--gris)}
.t-consola .b3:hover:not(:disabled){color:var(--fos)}
.b2.peligro:hover:not(:disabled){border-color:var(--senal);color:var(--senal)}
.t-consola .b2.peligro:hover:not(:disabled){border-color:var(--rojo);color:var(--rojo)}
.b2.armado{border-color:var(--senal);color:var(--senal);animation:tiembla .18s ease 2}
.t-consola .b2.armado{border-color:var(--rojo);color:var(--rojo)}
@keyframes tiembla{25%{transform:translateX(-1.5px)}75%{transform:translateX(1.5px)}}

/* ── pills de estado y riesgo ────────────────────────────────────────── */
.pill{display:inline-block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  padding:2px 8px;border-radius:20px;vertical-align:1px;margin-right:6px}
.t-informe .pill{background:var(--papel2);color:var(--tinta2);border:1px solid var(--linea)}
.t-consola .pill{background:none;color:var(--fosm);border:1px solid var(--fost)}
.t-informe .pill.p-en_manos{background:#eef3e4;color:var(--verde);border-color:#d3ddb9}
.t-informe .pill.p-vigilando,.t-informe .pill.p-en_cola{background:#f4ede0;color:var(--ambar);border-color:#e3d5b8}
.t-informe .pill.p-prop{background:#fbe9dc;color:var(--senal);border-color:#f0cdb4}
.t-informe .pill.r-bajo,.t-informe .pill.r-ninguno{color:var(--verde)}
.t-informe .pill.r-medio{color:var(--ambar)}
.t-informe .pill.r-alto{color:var(--senal);border-color:var(--senal)}

/* ── markdown de la casa ─────────────────────────────────────────────── */
.md{font-size:14.5px;line-height:1.6}
.md p{margin:0 0 2px}
.md .md-br{display:block;height:9px}
.md ul{margin:4px 0 6px;padding-left:20px}
.md li{margin:2px 0}
.md h4{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;margin:12px 0 5px}
.t-informe .md h4{color:var(--tinta3)}
.t-consola .md h4{color:var(--gris)}
.md code{font:12.5px/1.4 ui-monospace,Menlo,monospace;padding:1px 5px;border-radius:4px}
.t-informe .md code{background:var(--papel2);border:1px solid var(--linea)}
.t-consola .md code{background:#ffb00014;border:1px solid var(--fost)}
.md pre{font:12.5px/1.5 ui-monospace,Menlo,monospace;padding:10px 13px;border-radius:7px;
  overflow-x:auto;margin:7px 0}
.t-informe .md pre{background:var(--papel2);border:1px solid var(--linea)}
.t-consola .md pre{background:#ffb00010;border:1px solid var(--fost)}

/* ── la capa de detalle ──────────────────────────────────────────────── */
#capa-enc{position:fixed;inset:0;z-index:60;display:flex;align-items:center;
  justify-content:center;padding:20px;background:#00000048;animation:apar .18s ease}
#capa-enc .de-caja{animation:sube .2s ease}
.de-caja{max-width:640px;width:100%;max-height:85vh;overflow:auto;padding:24px 28px 20px}
.t-informe .de-caja{background:var(--papel);border:1px solid var(--linea2);
  border-radius:11px;box-shadow:0 18px 60px #00000030}
.t-consola .de-caja{background:var(--neg);border:1px solid var(--fos);
  box-shadow:0 0 30px var(--fost)}
.de-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:13px;
  display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.t-informe .de-kicker{color:var(--tinta3)}
.t-consola .de-kicker{color:var(--gris)}
.de-titulo{font-size:18px;line-height:1.35;margin:0 0 7px;font-weight:650}
.t-consola .de-titulo{font-weight:400;color:var(--fosm)}
.de-cuerpo{margin-bottom:14px}
.de-cuerpo .md{font-size:15px;line-height:1.62}
.de-detalle{padding:12px 15px;border-radius:8px;margin-top:-4px}
.t-informe .de-detalle{background:var(--papel2)}
.t-consola .de-detalle{background:#ffb0000d;border:1px solid var(--fost)}
.de-meta{margin-top:4px}
.de-l{display:flex;gap:14px;font-size:13.5px;padding:9px 0}
.t-informe .de-l+.de-l{border-top:1px solid var(--linea)}
.t-consola .de-l+.de-l{border-top:1px dashed #ffb00019}
.de-l>span{flex:none;width:104px;font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;padding-top:3px}
.t-informe .de-l>span{color:var(--tinta3)}
.t-consola .de-l>span{color:var(--gris)}
.de-l>div{min-width:0}
.de-l .md{font-size:13.5px}
.de-l i{font-style:normal;opacity:.55}
.de-pie{display:flex;gap:9px;margin-top:18px;align-items:center;flex-wrap:wrap}
.de-pie .de-x{margin-left:auto}
.no-nota{flex:1 1 100%;font:inherit;font-size:13.5px;padding:8px 12px;border-radius:7px;
  margin-bottom:4px}
.t-informe .no-nota{border:1px solid var(--linea2);background:var(--papel);color:var(--tinta)}
.t-consola .no-nota{border:1px solid var(--fost);background:var(--neg);color:var(--fos)}

/* ── LA MESA ─────────────────────────────────────────────────────────── */
#capa-mesa{position:fixed;inset:0;z-index:55;overflow-y:auto;background:#00000052;
  animation:apar .2s ease}
.mesa-marco{max-width:880px;margin:26px auto;padding:30px 34px 40px;
  min-height:calc(100vh - 52px);animation:sube .24s ease}
@keyframes sube{from{opacity:0;transform:translateY(14px)}}
.t-informe .mesa-marco{background:var(--papel);border:1px solid var(--linea2);
  border-radius:13px;box-shadow:0 22px 70px #00000038}
.t-consola .mesa-marco{background:var(--neg);border:1px solid var(--fos)}
.mesa-cab{display:flex;justify-content:space-between;align-items:start;margin-bottom:22px}
.mesa-titulo{font-size:26px;font-weight:700;letter-spacing:-.01em}
.t-consola .mesa-titulo{font-weight:400;color:var(--fosm)}
.mesa-sub{display:flex;gap:8px;align-items:center;font-size:12.5px;margin-top:3px}
.t-informe .mesa-sub{color:var(--tinta3)}
.t-consola .mesa-sub{color:var(--gris)}
.me-pulso{width:8px;height:8px;border-radius:50%;background:var(--linea2);flex:none;transition:background .3s}
.me-pulso.on{background:var(--verde);animation:respira 2.2s ease-in-out infinite}
.t-consola .me-pulso.on{background:var(--verde);box-shadow:0 0 8px var(--verde)}
@keyframes respira{50%{opacity:.35;transform:scale(.8)}}
.ovh-form{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 8px}
.ovh-form input,.ovh-form select{font:inherit;font-size:13px;padding:8px 12px;border-radius:7px;flex:1;min-width:150px}
.t-informe .ovh-form input,.t-informe .ovh-form select{border:1px solid var(--linea2);background:var(--papel);color:var(--tinta)}
.t-consola .ovh-form input,.t-consola .ovh-form select{border:1px solid var(--fost);background:var(--neg);color:var(--fos)}
.ovh-estado{display:flex;gap:8px;align-items:center;font-size:13.5px;margin:12px 0;flex-wrap:wrap}
.ovh-estado .ind-ok{color:var(--verde)}
/* barras de consumo del mes */
.consumo{margin:0 0 16px}
.consumo-cab{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}
.consumo-cab span{font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.t-informe .consumo-cab span{color:var(--tinta3)}
.consumo-cab b{font-variant-numeric:tabular-nums;font-size:15px}
.consumo-cab i{font-style:normal;opacity:.5;font-weight:400;font-size:12.5px}
.consumo-riel{height:3px;border-radius:2px;margin:6px 0 4px;overflow:hidden}
.t-informe .consumo-riel{background:var(--linea)}
.t-consola .consumo-riel{background:#ffb00022}
.consumo-riel i{display:block;height:100%;border-radius:2px;transition:width .4s ease}
.t-informe .consumo-riel i{background:var(--tinta)}
.t-consola .consumo-riel i{background:var(--fos)}
.consumo-riel i.tope{background:var(--senal)}
.consumo-pie{font-size:11.5px;opacity:.55}

/* trabajos: la factura honesta de cada pensada */
.trab-viva{display:flex;gap:12px;align-items:center;padding:11px 2px}
.trab-fila{display:flex;gap:12px;align-items:center;padding:9px 2px;font-size:13px}
.t-informe .trab-fila+.trab-fila{border-top:1px solid var(--linea)}
.t-consola .trab-fila+.trab-fila{border-top:1px dashed #ffb00019}
.trab-origen{flex:none;font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  width:64px;opacity:.55}
.trab-cuerpo{flex:1;min-width:0}
.trab-titulo{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trab-sub{font-size:11.5px;margin-top:2px;font-variant-numeric:tabular-nums}
.t-informe .trab-sub{color:var(--tinta3)}
.t-consola .trab-sub{color:var(--gris)}
.mesa-nueva{display:flex;gap:9px;margin:0 0 22px;animation:entra .3s ease}
.mesa-nueva input{flex:1;font:inherit;font-size:14px;padding:10px 14px;border-radius:8px}
.t-informe .mesa-nueva input{border:1px solid var(--linea2);background:var(--papel);color:var(--tinta)}
.t-consola .mesa-nueva input{border:1px solid var(--fost);background:var(--neg);color:var(--fos)}
.me-franja{margin:0 0 26px}
.me-franja h3{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  margin:0 0 4px;padding-bottom:7px;display:flex;align-items:baseline;gap:9px}
.t-informe .me-franja h3{color:var(--tinta2);border-bottom:2px solid var(--tinta)}
.t-consola .me-franja h3{color:var(--fosm);border-bottom:1px solid var(--fost)}
.me-franja h3 span{font-weight:400;font-size:11.5px;letter-spacing:.04em;text-transform:none}
.t-informe .me-franja h3 span{color:var(--tinta3)}
.me-franja.urgente h3{color:var(--senal);border-color:var(--senal)}
.me-vacio{font-size:13.5px;padding:14px 2px;font-style:italic}
.t-informe .me-vacio{color:var(--tinta3)}
.t-consola .me-vacio{color:var(--gris)}
.me-tarjeta{display:flex;gap:13px;padding:13px 2px;align-items:start}
.t-informe .me-tarjeta+.me-tarjeta{border-top:1px solid var(--linea)}
.t-consola .me-tarjeta+.me-tarjeta{border-top:1px dashed #ffb00019}
.me-tarjeta.nueva{animation:entra .4s ease}
@keyframes entra{from{opacity:0;transform:translateY(-7px)}}
.me-cuerpo{flex:1;min-width:0;cursor:pointer}
.me-titulo{font-size:14.5px;line-height:1.4;font-weight:550}
.t-consola .me-titulo{font-weight:400}
.me-sub{font-size:12.5px;margin-top:3px}
.t-informe .me-sub{color:var(--tinta3)}
.t-consola .me-sub{color:var(--gris)}
.me-chips{margin-top:6px;display:flex;gap:5px;flex-wrap:wrap}
.me-acciones{display:flex;gap:2px;flex:none;align-items:center}
.me-duda{margin-top:6px;padding:10px 13px;border-radius:8px;font-size:13.5px}
.t-informe .me-duda{background:#fbe9dc66;border:1px solid #f0cdb4}
.t-consola .me-duda{border:1px solid var(--fos2);color:var(--fosm)}
.me-resp{display:flex;gap:8px;margin-top:9px}
.me-resp input{flex:1;font:inherit;font-size:13px;padding:7px 11px;border-radius:7px}
.t-informe .me-resp input{border:1px solid var(--linea2);background:var(--papel);color:var(--tinta)}
.t-consola .me-resp input{border:1px solid var(--fost);background:var(--neg);color:var(--fos)}
.me-dia{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;margin:13px 0 3px}
.t-informe .me-dia{color:var(--tinta3)}
.t-consola .me-dia{color:var(--gris)}
.me-hecha{display:flex;gap:10px;padding:7px 2px;font-size:13px;cursor:pointer;
  align-items:baseline;border-radius:5px}
.t-informe .me-hecha:hover{background:var(--papel2)}
.t-consola .me-hecha:hover{background:#ffb0000d}
.me-ok{flex:none;color:var(--verde)}
.me-htxt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.me-hcierre{margin-left:auto;flex:none;max-width:38%;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;font-size:12px;opacity:.6}
.chip{font:inherit;font-size:11px;letter-spacing:.05em;padding:2px 10px;border-radius:20px;
  cursor:pointer;background:none}
.t-informe .chip{border:1px solid var(--linea2);color:var(--tinta3)}
.t-informe .chip.on{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.t-consola .chip{border:1px solid var(--fost);color:var(--gris)}
.t-consola .chip.on{background:var(--fos);color:var(--neg)}
.me-filtros{display:inline-flex;gap:5px;margin-left:auto}

/* ── SISTEMA v2: el periódico de la máquina ──────────────────────────── */
.sis .bloque{margin-bottom:34px}
.sis .g4{margin-bottom:4px}
.sis-sparks{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:18px}
@media (max-width:760px){.sis-sparks{grid-template-columns:1fr}}
.sis-tabla{width:100%;border-collapse:collapse;font-size:13.5px}
.sis-tabla td{padding:8px 2px}
.t-informe .sis-tabla tr+tr td{border-top:1px solid var(--linea)}
.t-consola .sis-tabla tr+tr td{border-top:1px dashed #ffb00019}
.sis-tabla .num{text-align:right;font-variant-numeric:tabular-nums;opacity:.75}
.sis-tabla .st{width:18px}
.sis-tabla .st.ok{color:var(--verde)}
.sis-tabla .st.er{color:var(--senal)}
.sis-nota{font-size:12px;margin-top:9px;opacity:.55}
.sis-audit{display:flex;gap:14px;align-items:center;justify-content:space-between;
  margin-top:16px;font-size:13px;flex-wrap:wrap}
.sis-coment{margin-left:10px;font-size:11px;opacity:0;transition:opacity .15s}
h2:hover .sis-coment{opacity:1}
.g2.sin-tabique{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media (max-width:760px){.g2.sin-tabique{grid-template-columns:1fr}}

/* el badge del directo en una tarjeta */
.vivo-badge{font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--verde);animation:respira 2.2s ease-in-out infinite;white-space:nowrap}

/* markdown dentro de las burbujas del chat */
.mensaje .md{font-size:inherit;line-height:inherit}
.mensaje .md p{margin:0 0 3px}
.mensaje .md p:last-child{margin:0}

/* ── el directo: lo que Loom hace, fluyendo ──────────────────────────── */
.me-franja.directo h3{color:var(--verde);border-color:var(--verde)}
.dir-hito{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  margin:10px 0 4px;opacity:.6}
.dir-tool{display:inline-block;font-size:11px;letter-spacing:.04em;padding:1px 8px;
  border-radius:20px;margin:3px 0}
.t-informe .dir-tool{background:var(--papel);border:1px solid var(--linea2);color:var(--tinta2)}
.t-consola .dir-tool{border:1px solid var(--fost);color:var(--fosm)}
.dir-cod{font-family:ui-monospace,Menlo,monospace;padding:0 4px;border-radius:3px}
.t-informe .dir-cod{background:#11111010}
.dir-tit{display:block;font-weight:650;margin:8px 0 2px}
#vivo-pre b{font-weight:650}
#vivo-pre{font:12px/1.55 ui-monospace,Menlo,monospace;max-height:270px;overflow-y:auto;
  padding:13px 16px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;
  margin:8px 0 0;-webkit-mask-image:linear-gradient(#0000,#000 26px);
  mask-image:linear-gradient(#0000,#000 26px)}
.t-informe #vivo-pre{background:var(--papel2);border:1px solid var(--linea);color:var(--tinta2)}
.t-consola #vivo-pre{background:#ffb0000a;border:1px solid var(--fost);color:var(--fosm)}

/* ── señales tipadas ─────────────────────────────────────────────────── */
/* ── fila v2 de la portada: indicador + cuerpo + acciones con palabras ── */
.fila-p.v2{align-items:start;padding:13px 2px}
.fila-p.v2 .fp-cuerpo{flex:1;min-width:0}
.fila-p.v2 .fp-titulo{font-size:14.5px;line-height:1.4;font-weight:550}
.t-consola .fila-p.v2 .fp-titulo{font-weight:400}
.fila-p.v2 .fp-sub{font-size:12.5px;margin-top:3px}
.t-informe .fila-p.v2 .fp-sub{color:var(--tinta3)}
.t-consola .fila-p.v2 .fp-sub{color:var(--gris)}
.fila-p.v2 .fp-acc{display:flex;gap:2px;flex:none;opacity:0;transition:opacity .15s;align-items:center}
.fila-p.v2:hover .fp-acc,.fila-p.v2 .fp-acc.siempre{opacity:1}
.fila-p.v2.urgente .fp-duda{margin-top:8px;padding:11px 14px;border-radius:8px;font-size:13.5px}
.t-informe .fila-p.v2.urgente .fp-duda{background:#fbe9dc66;border:1px solid #f0cdb4}
.t-consola .fila-p.v2.urgente .fp-duda{border:1px solid var(--fos2);color:var(--fosm)}
.pieza-sub{font-size:12.5px;margin-top:5px;opacity:.75}
.duda-caja .acc-fila{display:flex;gap:8px;margin-top:10px}
.sen-grupo{font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin:15px 0 3px}
.t-informe .sen-grupo{color:var(--tinta3)}
.t-consola .sen-grupo{color:var(--gris)}
.senal2 .sen-txt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.senal2 .sen-t{flex:none;width:15px;text-align:center;font-size:12px}
.sen-cierre{color:var(--verde)}
.sen-alarma{color:var(--senal)}
.sen-lectura,.sen-rutina{opacity:.55}
.sen-propuesta{color:var(--senal)}
.senal2.nueva{animation:entra .5s ease}
.senal2.clk{cursor:pointer;border-radius:5px}
.t-informe .senal2.clk:hover{background:var(--papel2)}
.t-consola .senal2.clk:hover{background:#ffb0000d}
.sen-mas{font-size:12px;padding:9px 2px 0;letter-spacing:.04em;cursor:pointer}
.t-informe .sen-mas{color:var(--tinta3)}
.t-informe .sen-mas:hover{color:var(--tinta)}
.t-consola .sen-mas{color:var(--gris)}
.t-consola .sen-mas:hover{color:var(--fos)}
.dia-lista{max-height:60vh;overflow-y:auto;margin:0 -6px;padding:0 6px}

/* ── indicadores de estado, animados con honestidad ──────────────────── */
.ind{flex:none;width:20px;text-align:center;font-size:13px;padding-top:1px}
.ind-activa{display:inline-flex;gap:2.5px;align-items:center;height:100%;padding-top:7px}
.ind-activa i{width:4px;height:4px;border-radius:50%;background:var(--verde);
  animation:tecleo 1.2s ease-in-out infinite}
.ind-activa i:nth-child(2){animation-delay:.18s}
.ind-activa i:nth-child(3){animation-delay:.36s}
@keyframes tecleo{30%{opacity:.25;transform:translateY(-2px)}}
.ind-vigila{color:var(--ambar);animation:respira 4s ease-in-out infinite}
.ind-espera{color:var(--ambar)}
.ind-cola{opacity:.4}
.ind-duda{color:var(--senal);font-weight:700;animation:respira 2.6s ease-in-out infinite}
.ind-prop{color:var(--senal)}

#toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(8px);
  z-index:90;padding:9px 18px;font-size:12.5px;letter-spacing:.02em;
  opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;
  max-width:min(92vw,560px);text-align:center}
#toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.t-informe #toast{background:var(--tinta);color:var(--papel);border-radius:7px;
  box-shadow:0 8px 26px #00000038}
.t-consola #toast{background:#0a0a08;border:1px solid var(--fos);color:var(--fos);
  box-shadow:0 0 18px #ffb00033}

/* Decisión en vuelo: la fila lo cuenta mientras el host la registra. */
.vuelo { display: inline-flex; align-items: center; gap: 7px;
  font-size: 12px; font-style: italic; color: var(--tinta3); }
.vuelo-punto { width: 7px; height: 7px; border-radius: 50%;
  background: var(--verde-ok, #8fae5a); animation: vuelo-late 1.1s ease-in-out infinite; }
.vuelo-fallo { display: block; font-size: 11px; color: var(--senal); margin-bottom: 4px; }
@keyframes vuelo-late { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }

/* El modo (la correa) en el chat y su hoja. */
#chat-modo svg { vertical-align: -2px; margin-right: 5px; }
.cer-fila .modo-ico { display: flex; align-items: center; color: var(--tinta2);
  margin-right: 11px; flex: none; }

/* Serif de display: el titular del parte y los títulos de hoja, con la
   letra del periódico. Las etiquetas y el cuerpo siguen en la de siempre. */
.hero-titular, .de-titulo, .mesa-titulo, .cs-hola {
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  letter-spacing: -0.012em; }

/* El saludo del chat vacío. */
.chat-saludo { display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 10px; min-height: 55vh; text-align: center;
  padding: 0 24px; }
.cs-hola { font-size: 27px; color: var(--tinta); }
.cs-parte { font-size: 13px; font-style: italic; color: var(--tinta3);
  max-width: 420px; line-height: 1.5; }

/* Acciones por mensaje: finas, casi invisibles hasta que hacen falta. */
.turno-acc { margin: -4px 0 6px; }
.turno-acc button { background: none; border: none; color: var(--tinta3);
  cursor: pointer; padding: 3px 5px; opacity: .55; border-radius: 6px; }
.turno-acc button:hover { opacity: 1; background: var(--papel2); }

/* Pensando: antes de la primera palabra. */
.pensando { font-style: italic; color: var(--tinta3);
  animation: vuelo-late 1.2s ease-in-out infinite; }

/* Fila fantasma: el encargo recién pedido, ya en su sitio. */
.fantasma { opacity: .75; }

/* La meta de cada hilo en la lista. */
.hilo-meta { font-size: 11px; color: var(--tinta3); font-style: normal;
  flex: none; margin-left: 10px; }
