/* ============================================================
   CENTRO DE COMANDO — panel de mando, agentes en vivo y entregables por agente
   (complementa a style.css; las animaciones se apagan con prefers-reduced-motion)
   ============================================================ */

/* ---------- panel de mando: un bloque ordenado de lo general a lo particular ---------- */
.unified-stats.mando{display:flex;flex-direction:column;gap:11px;width:362px;max-height:calc(100% - 36px);overflow-y:auto;
  overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.4) transparent;padding:14px 14px 12px}
.mando>*{animation:mando-in .55s cubic-bezier(.2,.9,.25,1) both}
.mando>*:nth-child(2){animation-delay:.05s}.mando>*:nth-child(3){animation-delay:.1s}.mando>*:nth-child(4){animation-delay:.15s}
.mando>*:nth-child(5){animation-delay:.2s}.mando>*:nth-child(n+6){animation-delay:.25s}
@keyframes mando-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

.mando-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mando-title{display:flex;align-items:center;gap:7px;margin:0;font-size:10px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--text-strong)}
.mando-title svg,.mando-title .lucide{width:14px;height:14px;color:var(--yellow);filter:drop-shadow(0 0 6px rgba(var(--warn-rgb),.5))}
.mando-live{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:999px;font-family:inherit;font-size:10.5px;
  color:var(--muted);background:rgba(var(--fg-rgb),.04);border:1px solid rgba(var(--fg-rgb),.08);cursor:pointer;transition:.2s}
.mando-live b{color:var(--text-strong);font-size:12px}
.mando-live:hover,.mando-live:focus-visible{border-color:rgba(var(--ok-rgb),.45);color:var(--text-strong);outline:none}
.mando-live-dot{width:7px;height:7px;border-radius:50%;background:var(--muted-2);transition:.3s}
.mando-live.on{color:var(--text-strong);border-color:rgba(var(--ok-rgb),.4);background:rgba(var(--ok-rgb),.08)}
.mando-live.on .mando-live-dot{background:var(--ok);box-shadow:0 0 0 0 rgba(var(--ok-rgb),.7);animation:mando-latido 1.6s infinite}
@keyframes mando-latido{0%{box-shadow:0 0 0 0 rgba(var(--ok-rgb),.6)}70%{box-shadow:0 0 0 8px rgba(var(--ok-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--ok-rgb),0)}}

.mando-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px 4px 8px;border-radius:12px;
  background:linear-gradient(180deg,rgba(var(--fg-rgb),.03),transparent);border:1px solid rgba(var(--accent-rgb),.12)}
.mando .stat-value{font-variant-numeric:tabular-nums}

/* selector de vista con indicador que se desliza */
.mando .sphere-mode-toggle{position:relative;margin-top:0;gap:0}
.mando .mode-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:7px;pointer-events:none;
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.55),rgba(var(--info-rgb),.35));border:1px solid rgba(var(--accent-rgb),.45);
  box-shadow:0 0 14px rgba(var(--accent-rgb),.35);transition:transform .45s cubic-bezier(.2,.9,.25,1)}
.mando .sphere-mode-toggle[data-modo="galaxy"] .mode-thumb{transform:translateX(100%)}
.mando .mode-toggle-btn{position:relative;z-index:1;background:transparent!important;border:1px solid transparent!important;box-shadow:none!important}
.mando .mode-toggle-btn.active{color:var(--text-strong)}

/* búsqueda con ícono */
.mando-search{position:relative;display:block}
.mando-search>svg,.mando-search>.lucide{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--muted-2);pointer-events:none}
.mando #search{margin-top:0;padding-left:32px}
.mando #searchResults{margin-top:-6px}
.mando #searchResults:empty{display:none}

/* secciones plegables */
.mando-sec{border-top:1px solid rgba(var(--accent-rgb),.14);padding-top:4px}
.mando-sec-head{display:flex;align-items:center;gap:8px;width:100%;padding:7px 2px;border:0;background:none;font-family:inherit;cursor:pointer;
  color:var(--blue);font-size:10px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;text-align:left}
.mando-sec-head em{flex:1;font-style:normal;font-weight:600;letter-spacing:.2px;text-transform:none;color:var(--muted);font-size:11px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}
.mando-sec-head svg,.mando-sec-head .lucide{width:14px;height:14px;color:var(--muted);transition:transform .35s cubic-bezier(.2,.9,.25,1)}
.mando-sec-head:hover,.mando-sec-head:focus-visible{color:var(--text-strong);outline:none}
.mando-sec.cerrada .mando-sec-head svg,.mando-sec.cerrada .mando-sec-head .lucide{transform:rotate(-90deg)}
.mando-sec-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .4s cubic-bezier(.2,.9,.25,1),opacity .3s}
.mando-sec.cerrada .mando-sec-body{grid-template-rows:0fr;opacity:0}
.mando-sec-inner{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:7px;padding-bottom:4px}
.mando-sub{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:9.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted-2)}
.mando-clear{margin-left:auto;border:0;background:none;padding:0;font:inherit;letter-spacing:.3px;text-transform:none;font-size:10.5px;color:var(--yellow);cursor:pointer}
.mando-clear:hover{text-decoration:underline}
.mando-clear[hidden]{display:none}
.mando .vault-pills{margin-top:0;max-height:none;overflow:visible}

/* chips de categorías de skills */
.cat-chips{display:flex;flex-wrap:wrap;gap:6px}
.cat-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:999px;font-family:inherit;font-size:11px;font-weight:600;
  color:var(--text);background:rgba(var(--fg-rgb),.035);border:1px solid rgba(var(--fg-rgb),.08);cursor:pointer;
  transition:transform .18s,background .18s,border-color .18s,box-shadow .18s,color .18s}
.cat-chip i{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--c);box-shadow:0 0 7px var(--c);transition:.2s}
.cat-chip em{font-style:normal;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.cat-chip:hover,.cat-chip:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--c) 55%,transparent);
  background:color-mix(in srgb,var(--c) 12%,transparent);outline:none}
.cat-chip.on{color:var(--text-strong);border-color:color-mix(in srgb,var(--c) 70%,transparent);background:color-mix(in srgb,var(--c) 20%,transparent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 14%,transparent),0 0 16px color-mix(in srgb,var(--c) 30%,transparent)}
.cat-chip.on i{background:var(--c);transform:scale(1.15)}
.cat-chip.on em{color:var(--text-strong)}
.cat-chips:empty::before{content:"Las categorías aparecen cuando cargan las skills.";font-size:11px;color:var(--muted-2)}

/* agentes trabajando ahora */
.mando-trabajando{display:flex;flex-direction:column;gap:6px}
.mt-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;width:100%;padding:7px 9px;border-radius:12px;font-family:inherit;
  text-align:left;color:var(--text);cursor:pointer;border:1px solid color-mix(in srgb,var(--c) 30%,transparent);
  background:linear-gradient(90deg,color-mix(in srgb,var(--c) 12%,transparent),rgba(var(--fg-rgb),.02));
  animation:mt-in .5s cubic-bezier(.2,.9,.25,1) both;transition:transform .18s,border-color .18s,box-shadow .18s}
.mt-row:hover,.mt-row:focus-visible{transform:translateX(3px);border-color:color-mix(in srgb,var(--c) 65%,transparent);
  box-shadow:0 0 18px color-mix(in srgb,var(--c) 22%,transparent);outline:none}
.mt-row.saliendo{animation:mt-out .35s ease forwards;pointer-events:none}
@keyframes mt-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@keyframes mt-out{to{opacity:0;transform:translateX(-10px);height:0;padding-top:0;padding-bottom:0;margin:0;border-width:0}}
.mt-row .hp-av{width:30px;height:30px;position:relative}
.mt-row .hp-av::after{content:"";position:absolute;right:-2px;bottom:-2px;width:8px;height:8px;border-radius:50%;background:var(--ok);
  border:2px solid var(--panel);animation:mando-latido 1.6s infinite}
.mt-txt{min-width:0;display:flex;flex-direction:column;gap:1px}
.mt-txt b{font-size:12px;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-txt small{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-lado{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.mt-tiempo{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.mt-eq{display:flex;align-items:flex-end;gap:2px;height:10px}
.mt-eq i{width:2.5px;height:100%;border-radius:2px;background:var(--c);transform-origin:bottom;animation:mt-eq 1s ease-in-out infinite}
.mt-eq i:nth-child(2){animation-delay:.2s}.mt-eq i:nth-child(3){animation-delay:.4s}
@keyframes mt-eq{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
.mando-vacio{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:11px;border:1px dashed rgba(var(--fg-rgb),.1);
  font-size:11.5px;color:var(--muted);line-height:1.4}
.mando-vacio button{margin-left:auto;flex-shrink:0;border:0;background:none;padding:0;font:inherit;color:var(--yellow);font-weight:700;cursor:pointer}
.mando-vacio button:hover{text-decoration:underline}

/* entregables por agente en el chat en curso */
.mando-chat-titulo{flex:1;min-width:0;letter-spacing:.2px;text-transform:none;font-weight:600;color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mando-chat{display:flex;flex-wrap:wrap;gap:6px}
.mc-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 6px 4px 4px;border-radius:999px;font-family:inherit;font-size:11.5px;font-weight:600;
  color:var(--text);background:rgba(var(--fg-rgb),.035);border:1px solid rgba(var(--fg-rgb),.08);cursor:pointer;
  animation:mt-in .45s cubic-bezier(.2,.9,.25,1) both;transition:transform .18s,border-color .18s,background .18s}
.mc-chip .hp-av{width:22px;height:22px;border-radius:50%;font-size:8.5px}
.mc-chip em{font-style:normal;font-size:10px;font-weight:800;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 28%,transparent);color:var(--text-strong)}
.mc-chip:hover,.mc-chip:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--c) 60%,transparent);
  background:color-mix(in srgb,var(--c) 14%,transparent);outline:none}

/* ---------- ficha del agente: estado y pestañas ---------- */
.hp-estado{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:5px 11px 5px 9px;border-radius:999px;font-size:11px;font-weight:700;
  color:var(--e);background:color-mix(in srgb,var(--e) 12%,transparent);border:1px solid color-mix(in srgb,var(--e) 40%,transparent);
  --e:var(--muted);transition:color .3s,background .3s,border-color .3s}
.hp-estado::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--e)}
.hp-estado[data-clave="trabajando"]{--e:var(--ok)}
.hp-estado[data-clave="trabajando"]::before,.hp-estado[data-clave="pensando"]::before{animation:mando-latido 1.6s infinite}
.hp-estado[data-clave="pensando"]{--e:var(--accent-2)}
.hp-estado[data-clave="permiso"]{--e:var(--warn)}
.hp-estado[data-clave="cola"],.hp-estado[data-clave="pausa"]{--e:var(--muted)}
.hp-estado[data-clave="listo"]{--e:var(--info)}
.hp-estado[data-clave="error"]{--e:var(--danger)}
.hp-estado[data-clave="cancelado"]{--e:var(--muted)}

.hp-tabs{position:relative;display:flex;gap:2px;margin-top:14px;padding:3px;border-radius:12px;background:rgba(var(--panel-rgb),.55);border:1px solid rgba(var(--accent-rgb),.18)}
.hp-tab{position:relative;z-index:1;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 8px;border:0;border-radius:9px;
  background:none;font-family:inherit;font-size:11.5px;font-weight:700;color:var(--muted);cursor:pointer;transition:color .25s}
.hp-tab svg,.hp-tab .lucide{width:13px;height:13px}
.hp-tab em{font-style:normal;font-size:9.5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;display:inline-grid;place-items:center;
  background:rgba(var(--fg-rgb),.08);color:var(--text)}
.hp-tab:hover,.hp-tab:focus-visible{color:var(--text-strong);outline:none}
.hp-tab[aria-selected="true"]{color:var(--text-strong)}
.hp-tab .vivo-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);animation:mando-latido 1.6s infinite}
.hp-tab-ink{position:absolute;top:3px;bottom:3px;left:var(--x,3px);width:var(--w,0);border-radius:9px;
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.55),rgba(var(--warn-rgb),.22));border:1px solid rgba(var(--accent-rgb),.45);
  box-shadow:0 0 14px rgba(var(--accent-rgb),.3);transition:left .4s cubic-bezier(.2,.9,.25,1),width .4s cubic-bezier(.2,.9,.25,1)}
.hp-tabpanel{margin-top:14px}
.hp-tabpanel>.hp-sec:first-child{margin-top:0;border-top:0;padding-top:0}
.hp-tabpanel[hidden]{display:none}
.hp-tabpanel.entrando{animation:hp-rise .4s cubic-bezier(.2,.9,.25,1) both}

/* ---------- en vivo: como el chat de cada IA ---------- */
.vv-sesion{display:flex;align-items:center;gap:9px;margin-bottom:12px;padding:9px 11px;border-radius:12px;font-size:11.5px;line-height:1.4;color:var(--text-strong);
  background:rgba(var(--ok-rgb),.08);border:1px solid rgba(var(--ok-rgb),.35);animation:vv-in .4s cubic-bezier(.2,.9,.25,1) both}
.vv-sesion svg{flex-shrink:0;color:var(--ok);width:14px;height:14px}
.vv-sesion span{flex:1;min-width:0}
.vv-sesion b{color:var(--text-strong);font-weight:700;overflow-wrap:anywhere}
.vv-sesion button{flex-shrink:0;border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--text-strong);cursor:pointer}
.vv-sesion button:hover{text-decoration:underline}
.vv-jobs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:12px}
.vv-jobs::-webkit-scrollbar{display:none}
.vv-job{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-family:inherit;font-size:10.5px;font-weight:600;
  color:var(--muted);background:rgba(var(--fg-rgb),.035);border:1px solid rgba(var(--fg-rgb),.08);cursor:pointer;transition:.18s}
.vv-job i{width:6px;height:6px;border-radius:50%;background:var(--muted-2)}
.vv-job.en-curso i{background:var(--ok);animation:mando-latido 1.6s infinite}
.vv-job.error i{background:var(--danger)}
.vv-job[aria-pressed="true"]{color:var(--text-strong);border-color:rgba(var(--accent-rgb),.55);background:rgba(var(--accent-rgb),.18)}
.vv-pedido{margin-left:24px;padding:10px 12px;border-radius:14px 14px 4px 14px;font-size:12.5px;line-height:1.5;color:var(--text);
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.22),rgba(var(--accent-rgb),.1));border:1px solid rgba(var(--accent-rgb),.32);
  white-space:pre-wrap;overflow-wrap:anywhere;max-height:120px;overflow:hidden;position:relative;cursor:pointer}
.vv-pedido.abierto{max-height:none}
.vv-pedido:not(.abierto)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:26px;border-radius:0 0 4px 14px;
  background:linear-gradient(transparent,rgba(var(--panel-rgb),.95))}
.vv-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:12px 0 4px;font-size:11px;color:var(--muted)}
.vv-ia{display:inline-flex;align-items:center;gap:6px;color:var(--text-strong);font-weight:700}
.vv-ia svg,.vv-ia .lucide{width:14px;height:14px;color:var(--yellow)}
.vv-modelo{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:10.5px;padding:1px 7px;border-radius:6px;background:rgba(var(--fg-rgb),.06)}
.vv-reloj{margin-left:auto;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-variant-numeric:tabular-nums;color:var(--text)}

/* línea de tiempo */
.vv-linea{list-style:none;margin:10px 0 0;padding:0 0 0 2px;position:relative}
.vv-linea::before{content:"";position:absolute;left:12px;top:8px;bottom:8px;width:1.5px;
  background:linear-gradient(180deg,rgba(var(--accent-rgb),.5),rgba(var(--accent-rgb),.08))}
.vv-paso{position:relative;display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:start;padding:5px 0}
.vv-paso.nuevo{animation:vv-in .45s cubic-bezier(.2,.9,.25,1) both}
@keyframes vv-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.vv-ico{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;position:relative;z-index:1;
  color:var(--k,var(--accent-2));background:var(--panel);border:1.5px solid color-mix(in srgb,var(--k,var(--accent-2)) 55%,transparent)}
.vv-ico svg,.vv-ico .lucide{width:12px;height:12px}
.vv-paso.en-curso .vv-ico{--k:var(--ok)}
.vv-paso.en-curso .vv-ico::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid transparent;
  border-top-color:var(--ok);border-right-color:rgba(var(--ok-rgb),.4);animation:vv-giro .9s linear infinite}
@keyframes vv-giro{to{transform:rotate(360deg)}}
.vv-paso.listo .vv-ico{--k:var(--info)}
.vv-paso.error .vv-ico{--k:var(--danger)}
.vv-paso.recien .vv-ico{animation:vv-pop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes vv-pop{0%{transform:scale(.6)}60%{transform:scale(1.18)}100%{transform:scale(1)}}
.vv-paso.inicio .vv-ico{--k:var(--warn)}
.vv-paso.aviso .vv-ico{--k:var(--warn)}
.vv-cuerpo{min-width:0;font-size:12px;line-height:1.45;color:var(--text);padding-top:3px}
.vv-cuerpo b{color:var(--text-strong);font-weight:700}
.vv-detalle{display:block;margin-top:2px;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:10.5px;color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vv-lado{padding-top:4px;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:10px;color:var(--muted-2);white-space:nowrap}
.vv-paso.error .vv-lado{color:var(--danger)}
.vv-pensando{background:linear-gradient(90deg,var(--accent-2) 0%,#fff 50%,var(--accent-2) 100%);background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:vv-brillo 1.6s linear infinite;font-weight:700}
@keyframes vv-brillo{from{background-position:200% 0}to{background-position:-200% 0}}

/* respuesta mientras se escribe */
.vv-respuesta{margin-top:12px;padding:12px 13px;border-radius:14px 14px 14px 4px;font-size:12.5px;line-height:1.6;color:var(--text);
  background:rgba(var(--fg-rgb),.035);border:1px solid rgba(var(--fg-rgb),.07);overflow-wrap:anywhere}
.vv-respuesta:empty{display:none}
.vv-respuesta{white-space:pre-wrap}
.vv-respuesta .md-h{display:block;font-weight:800;color:var(--text-strong);margin:6px 0 2px;font-size:13px}
.vv-respuesta .md-li{display:block;padding-left:8px}
.vv-respuesta .md-code{white-space:pre;overflow-x:auto;padding:8px 10px;border-radius:9px;background:rgba(var(--bg-rgb),.35);border:1px solid var(--line)}
.vv-respuesta code{font-size:11px}
.vv-respuesta.escribiendo::after{content:"";display:inline-block;width:7px;height:14px;margin-left:3px;vertical-align:-2px;
  background:var(--yellow);border-radius:1px;animation:vv-cursor 1s steps(2) infinite}
@keyframes vv-cursor{50%{opacity:0}}
.vv-error{margin-top:10px;padding:9px 11px;border-radius:11px;font-size:12px;color:var(--text-strong);background:rgba(var(--danger-rgb),.08);border:1px solid rgba(var(--danger-rgb),.3)}

/* pedido de permiso */
.vv-permiso{margin-top:12px;padding:12px;border-radius:13px;background:rgba(var(--warn-rgb),.08);border:1px solid rgba(var(--warn-rgb),.45);
  animation:vv-in .4s cubic-bezier(.2,.9,.25,1) both,vv-aviso 2.4s ease-in-out infinite}
@keyframes vv-aviso{50%{box-shadow:0 0 22px rgba(var(--warn-rgb),.22)}}
.vv-permiso b{display:block;font-size:12.5px;color:var(--text-strong)}
.vv-permiso span{display:block;margin-top:4px;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:11px;color:var(--text-strong);overflow-wrap:anywhere}
.vv-permiso div{display:flex;gap:8px;margin-top:10px}

.vv-acciones{display:flex;gap:8px;margin-top:14px}
.vv-acciones .hp-btn{padding:9px 12px;font-size:12px}
.hp-btn.peligro{background:rgba(var(--danger-rgb),.1);border-color:rgba(var(--danger-rgb),.4);color:var(--text-strong)}
.hp-btn.peligro:hover,.hp-btn.peligro:focus-visible{background:rgba(var(--danger-rgb),.22);color:var(--text-strong);outline:none}
.vv-final{position:sticky;bottom:6px;margin:10px auto 0;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;
  border:1px solid rgba(var(--accent-rgb),.5);background:rgba(var(--panel-rgb),.95);color:var(--text-strong);font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.4);animation:vv-in .3s ease both}
.vv-final[hidden]{display:none}
.vv-actividad{display:flex;flex-direction:column;gap:6px}

/* ---------- entregables ---------- */
.ent-grupo{margin-top:12px;padding-top:12px;border-top:1px solid rgba(var(--accent-rgb),.14);animation:vv-in .45s cubic-bezier(.2,.9,.25,1) both}
.ent-grupo:first-child{margin-top:0;padding-top:0;border-top:0}
.ent-pedido{display:flex;align-items:baseline;gap:8px;margin:0 0 8px;font-size:11.5px;color:var(--muted)}
.ent-pedido q{flex:1;min-width:0;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;quotes:"«" "»"}
.ent-pedido small{flex-shrink:0;font-size:10px;color:var(--muted-2)}
.ent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.ent-card{display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:12px;font-family:inherit;text-align:left;cursor:pointer;color:var(--text);
  background:rgba(var(--fg-rgb),.03);border:1px solid rgba(var(--fg-rgb),.07);
  transition:transform .2s cubic-bezier(.2,.9,.25,1),border-color .2s,box-shadow .2s;min-width:0}
.ent-card:hover,.ent-card:focus-visible{transform:translateY(-3px);border-color:rgba(var(--accent-rgb),.55);box-shadow:0 12px 26px rgba(0,0,0,.4),0 0 18px rgba(var(--accent-rgb),.2);outline:none}
.ent-thumb{aspect-ratio:4/3;border-radius:8px;overflow:hidden;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 20%,rgba(var(--accent-rgb),.25),rgba(var(--panel-rgb),.6));color:var(--yellow)}
.ent-thumb img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}
.ent-thumb img.cargada{opacity:1}
.ent-thumb svg,.ent-thumb .lucide{width:26px;height:26px}
.ent-nombre{font-size:11px;font-weight:600;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}
.ent-tipo{font-size:9.5px;color:var(--muted-2);text-transform:uppercase;letter-spacing:1px;padding:0 2px}

/* ---------- teléfono y movimiento reducido ---------- */
@media (max-width:760px){
  .unified-stats.mando{width:auto;max-height:52vh;padding:10px 12px;gap:8px}
  .mando .mando-stats{padding:6px 2px}
  .ent-grid{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  .mando>*,.mt-row,.mc-chip,.vv-paso.nuevo,.ent-grupo,.vv-permiso,.hp-tabpanel.entrando,.vv-final{animation:none!important}
  .mando .mode-thumb,.hp-tab-ink,.mando-sec-body,.cat-chip,.ent-card{transition:none!important}
  .vv-paso.en-curso .vv-ico::after,.mt-eq i,.vv-pensando,.mando-live.on .mando-live-dot,.mt-row .hp-av::after,.vv-respuesta.escribiendo::after{animation:none!important}
}

/* ---------- muelle de sistemas (galaxia): saltar de vault en vault ---------- */
.galaxy-dock{position:absolute;top:52px;left:50%;transform:translateX(-50%);z-index:7;display:flex;align-items:center;gap:3px;max-width:min(calc(100% - 40px),760px);
  padding:5px;border-radius:14px;background:rgba(var(--panel-rgb),.84);border:1px solid rgba(var(--accent-rgb),.24);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 10px 30px rgba(0,0,0,.4);overflow-x:auto;scrollbar-width:none}
.galaxy-dock[hidden]{display:none}
.galaxy-dock::-webkit-scrollbar{display:none}
.galaxy-dock button{display:inline-flex;align-items:center;gap:6px;flex:none;padding:6px 10px;border-radius:10px;border:1px solid transparent;font-family:inherit;
  font-size:11px;font-weight:650;letter-spacing:.2px;cursor:pointer;color:var(--muted);background:transparent;transition:background .2s,color .2s,border-color .2s}
.galaxy-dock button em{font-style:normal;font-size:10px;color:var(--muted-2);font-variant-numeric:tabular-nums}
.galaxy-dock button:hover,.galaxy-dock button:focus-visible{color:var(--text-strong);background:rgba(var(--fg-rgb),.06);outline:none}
.galaxy-dock .gd-vault.activo{color:var(--on-accent);background:color-mix(in srgb,var(--c,var(--accent)) 22%,transparent);border-color:color-mix(in srgb,var(--c,var(--accent)) 60%,transparent)}
.galaxy-dock .gd-vault.activo em{color:var(--text-strong)}
.galaxy-dock .gd-todo.activo{color:var(--text-strong);background:linear-gradient(135deg,rgba(var(--accent-rgb),.4),rgba(var(--warn-rgb),.18))}
.galaxy-dock .gd-todo svg{width:13px;height:13px;color:var(--yellow)}
.gd-dot{width:8px;height:8px;border-radius:50%;background:var(--c,var(--accent));box-shadow:0 0 8px var(--c,var(--accent));flex:none}
.gd-ayuda{flex:none;padding:0 8px 0 6px;font-size:10px;letter-spacing:1px;color:var(--muted-2)}
.view.is-galaxy .unified-hint{display:none}
@media (max-width:760px){.galaxy-dock{top:auto;bottom:98px;max-width:calc(100% - 20px)}.gd-ayuda{display:none}}

/* ---------- ficha de una nota del grafo ---------- */
.np-cuerpo{display:flex;flex-direction:column;gap:14px;padding-right:2px}
.np-cab{--c:var(--accent);display:flex;flex-direction:column;gap:5px;padding-right:30px}
.np-ojo{display:flex;align-items:center;gap:6px;margin:0;font-size:10px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--c)}
.np-ojo i{font-style:normal;color:var(--muted-2)}
.np-cab h2{margin:0;font-size:19px;line-height:1.25;color:var(--text-strong);word-break:break-word}
.np-ruta{display:flex;flex-wrap:wrap;align-items:center;gap:3px;font-size:10.5px;color:var(--muted)}
.np-ruta span{padding:2px 7px;border-radius:999px;background:rgba(var(--fg-rgb),.05);border:1px solid rgba(var(--fg-rgb),.07)}
.np-ruta i{font-style:normal;color:var(--muted-2)}
.np-cifras{margin:0;font-size:11px;color:var(--muted-2)}
.np-acciones{display:flex;flex-wrap:wrap;gap:6px}
.np-acciones .hp-btn{text-decoration:none}
.np-meta{display:flex;flex-wrap:wrap;gap:5px}
.np-meta:empty{display:none}
.np-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11px;color:var(--text);background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.25)}
.np-chip small{font-size:9.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}
.np-chip.tag{color:var(--text-strong);background:rgba(var(--warn-rgb),.1);border-color:rgba(var(--warn-rgb),.25)}
.np-sec h4{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:10px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:var(--blue)}
.np-sec h4 svg{width:13px;height:13px}
.np-md{font-size:13px;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word;padding:14px 16px;border-radius:12px;
  background:rgba(var(--fg-rgb),.03);border:1px solid rgba(var(--fg-rgb),.06)}
.np-md .md-h{display:block;font-weight:800;font-size:14.5px;color:var(--text-strong);margin:10px 0 2px}
.np-md .md-h:first-child{margin-top:0}
.np-md .md-li{display:block;padding-left:12px}
.np-md b{color:var(--text-strong)}
.np-md code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:1px 5px;border-radius:5px;background:rgba(var(--accent-rgb),.14);color:var(--text)}
.np-md hr{border:0;border-top:1px solid rgba(var(--fg-rgb),.1);margin:10px 0}
.np-md a{color:var(--info)}
.np-md .code-block-wrapper{margin:8px 0;border-radius:10px;overflow:hidden;background:rgba(var(--bg-rgb),.35);border:1px solid rgba(var(--fg-rgb),.08);white-space:normal}
.np-md .code-block-header{display:flex;justify-content:space-between;align-items:center;padding:4px 10px;font-size:10px;color:var(--muted);background:rgba(var(--fg-rgb),.04)}
.np-md .code-block-wrapper pre{margin:0;padding:10px 12px;font-size:11.5px;white-space:pre;overflow-x:auto}
.np-wl{display:inline;padding:0 4px;border:0;border-bottom:1px dashed rgba(var(--info-rgb),.6);border-radius:3px;font:inherit;color:var(--info);background:rgba(var(--info-rgb),.08);cursor:pointer}
.np-wl:hover,.np-wl:focus-visible{background:rgba(var(--info-rgb),.2);color:var(--text-strong);outline:none}
.np-cargando{margin:0;color:var(--muted);font-size:12px}
.np-conex{display:flex;flex-direction:column;gap:4px}
.np-con{--c:var(--accent);display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border-radius:9px;text-align:left;font-family:inherit;cursor:pointer;
  color:var(--text,var(--text));background:rgba(var(--fg-rgb),.03);border:1px solid rgba(var(--fg-rgb),.06);transition:border-color .2s,background .2s}
.np-con:hover,.np-con:focus-visible{border-color:color-mix(in srgb,var(--c) 55%,transparent);background:color-mix(in srgb,var(--c) 8%,transparent);outline:none}
.np-con b{flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.np-con small{flex:none;font-size:9.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted-2)}
