/* Sesiones (Herramientas › Sesiones, encargo #147). Reúsa del monitor de Agentes (agentes.css) el contenedor .agm, el
   HUD .agm-hud/.agm-segs, las líneas .agm-log y la ficha dialog.agf; aquí solo lo propio. Colores con los tokens
   --agm-* (claro y oscuro); anchos y colores por CSSOM (--w, --c). Texto ≥ 14 px, toques ≥ 44 px. Lo único que se
   mueve es la luz de una sesión que trabaja, en pasos (steps) y pausada fuera de la vista (.agm.quieto). */
.ses .agm-segs li.lleno b{color:var(--err-tinta)}
.ses-mon{margin-bottom:20px}
/* Semáforo de recursos */
/* --luz pinta el foco del semáforo; --luz-t, el texto (el mismo tono, oscuro: el ámbar claro daba 3:1 sobre el papel). */
.ses-rec{padding:12px 18px 14px;border-bottom:1px solid var(--agm-linea);--luz:var(--verde);--luz-t:var(--ok-tinta)}
.ses-rec[data-luz="ambar"]{--luz:var(--ambar);--luz-t:var(--warn-tinta)}
.ses-rec[data-luz="rojo"]{--luz:var(--rojo);--luz-t:var(--err-tinta)}
.ses-luz-t{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:0 0 12px;font-size:.9375rem}
.ses-luz-t b{font-family:var(--agm-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--luz-t)}
.ses-luz-t span:last-child{color:var(--agm-tinta-2)}
.ses-sem{display:inline-flex;gap:4px;padding:5px 7px;border-radius:999px;background:color-mix(in srgb,var(--agm-tinta) 8%,transparent)}
.ses-sem i{width:10px;height:10px;border-radius:50%;background:color-mix(in srgb,var(--agm-tinta) 18%,transparent)}
.ses-rec[data-luz="rojo"] .ses-sem i:nth-child(1),.ses-rec[data-luz="ambar"] .ses-sem i:nth-child(2),
.ses-rec[data-luz="verde"] .ses-sem i:nth-child(3){background:var(--luz);box-shadow:0 0 8px 1px color-mix(in srgb,var(--luz) 60%,transparent)}
.ses-kpis{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ses-kpis li{display:grid;gap:2px;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--agm-tinta) 5%,transparent);border:1px solid var(--agm-linea)}
.ses-kpis li span{font-size:.875rem;color:var(--agm-tinta-2)}
.ses-kpis li b{font-size:1.25rem;font-variant-numeric:tabular-nums;color:var(--agm-tinta)}
.ses-kpis li small{font-size:.875rem;color:var(--agm-tinta-2);overflow-wrap:anywhere}
.ses-kpis li.mal{border-color:var(--err-tinta)}
.ses-kpis li.mal b{color:var(--err-tinta)}
.ses-kpis li.aviso b{color:var(--warn-tinta)}
.ses-barra{display:block;height:6px;border-radius:3px;margin-top:6px;background:color-mix(in srgb,var(--agm-tinta) 10%,transparent);overflow:hidden}
.ses-barra i{display:block;height:100%;width:var(--w,2%);border-radius:3px;background:var(--agm-haz)}
.ses-kpis li.mal .ses-barra i{background:var(--rojo)}
/* Lista de sesiones: una línea de terminal por sesión, más rica que .agm-log */
.ses-cuerpo{padding:6px 14px 14px}
.ses-lista{list-style:none;margin:0;padding:0;display:grid}
.ses-b{--c:var(--agm-haz);display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"dot id meta" ". chips chips";gap:4px 12px;
  align-items:center;width:100%;min-height:56px;padding:10px 8px;border:0;border-top:1px solid var(--agm-linea);background:none;color:var(--agm-tinta);
  font:inherit;font-size:.9375rem;text-align:left;cursor:pointer}
.ses-lista li:first-child .ses-b{border-top:0}
.ses-b:hover{background:color-mix(in srgb,var(--agm-haz) 8%,transparent)}
.ses-b:focus-visible{outline:2px solid var(--agm-acento);outline-offset:-2px}
.ses-dot{grid-area:dot;width:12px;height:12px;border-radius:50%;background:color-mix(in srgb,var(--agm-tinta) 25%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 35%,transparent)}
.ses-b.trabajando .ses-dot{background:var(--agm-senal);animation:agm-late 1.4s steps(2,jump-none) infinite alternate}
.ses-b.pide .ses-dot{background:var(--ambar)}
.ses-id{grid-area:id;display:grid;min-width:0}
.ses-id b{font-family:var(--agm-mono);font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ses-est{color:var(--agm-tinta-2);font-size:.875rem}
.ses-b.pide .ses-est{color:var(--warn-tinta);font-weight:600}
.ses-meta{grid-area:meta;display:grid;justify-items:end;font-size:.875rem;color:var(--agm-tinta-2);white-space:nowrap}
.ses-chips{grid-area:chips;display:flex;flex-wrap:wrap;gap:6px}
.ses-chips:empty{display:none}
.ses-chip{font-size:.875rem;padding:2px 9px;border-radius:999px;border:1px solid var(--agm-linea);color:var(--agm-tinta-2);font-family:var(--agm-mono)}
.ses-chip.ses-n{color:var(--agm-acento);border-color:color-mix(in srgb,var(--agm-acento) 45%,transparent)}
.ses-chip.ses-n i{font-style:normal;letter-spacing:1px;margin-right:6px}
.ses-chip.tmux{color:var(--agm-tinta)}
.ses-h3{margin:14px 8px 4px;font-size:.9375rem;font-family:var(--agm-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--agm-tinta-2)}
.ses-h3 small{font-size:.875rem}
.ses-vacio{margin:12px 8px;font-size:.9375rem;color:var(--agm-tinta-2);list-style:none}
.ses-viejo{color:var(--warn-tinta)}
/* Cupo */
.ses-cupo{background:var(--tarjeta);border:1px solid var(--linea);border-radius:20px;padding:16px 18px;max-width:900px}
.ses-cupo h3{margin:0 0 8px;font-size:1.0625rem}
.ses-cupo p{margin:0 0 8px;font-size:.9375rem;line-height:1.5}
.ses-cupo-d{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px}
.ses-cupo .ses-chip{color:var(--tinta-2);border-color:var(--linea)}
.ses-gancho{display:inline-block;padding:2px 12px;border-radius:999px;font-weight:600;font-size:.875rem}
.ses-gancho.si{background:var(--ok-suave);color:var(--ok-tinta)}
.ses-gancho.no{background:var(--warn-suave);color:var(--warn-tinta)}
.ses-dias{list-style:none;margin:10px 0;padding:0;display:grid;gap:4px;max-width:520px}
.ses-dias li{display:grid;grid-template-columns:6.5em minmax(0,1fr) 2.5em auto;align-items:center;gap:10px;font-size:.875rem}
.ses-dias .ses-barra{margin:0;--agm-tinta:var(--tinta)}
.ses-dias .ses-barra i{background:var(--ambar)}
.ses-dias b{font-variant-numeric:tabular-nums;text-align:right}
.ses-dias small{color:var(--tinta-2);font-size:.875rem}
.ses-nota{color:var(--tinta-2)}
/* Ficha */
.ses-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:4px 0 0}
.ses-dl div{background:var(--papel);border-radius:12px;padding:10px 14px;min-width:0}
.ses-dl dt{font-size:.875rem;color:var(--tinta-2);margin-bottom:2px}
.ses-dl div:last-child:nth-child(odd){grid-column:1/-1}
.ses-dl dd{margin:0;font-size:.9375rem;overflow-wrap:anywhere}
.ses-dl small{color:var(--tinta-2);font-size:.875rem}
.ses-f-sec{margin-bottom:16px}
.ses-f-sec p{margin:0 0 8px}
.ses-subs{padding:0;--agm-linea:var(--linea);--agm-tinta:var(--tinta);--agm-tinta-2:var(--tinta-2);--agm-acento:var(--chip-cielo-tinta)}
.ses-subs .agm-log-b{cursor:default;flex-wrap:wrap;row-gap:2px}
.ses-subs .agm-log-t{flex-basis:100%;white-space:normal;padding-left:22px}
.ses-subs .agm-log-b:hover{background:none}
@container agm (max-width:759px){
  .ses-rec{padding:10px 14px 12px}
  .ses-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ses-cuerpo{padding:4px 8px 10px}
  .ses-b{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"dot id" ". meta" ". chips"}
  .ses-meta{justify-items:start;display:flex;flex-wrap:wrap;gap:0 10px;white-space:normal}
}
@media (max-width:360px){.ses-dl{grid-template-columns:1fr}}
@media (max-width:640px){
  .ses-dl{gap:8px}
  .ses-dias li{grid-template-columns:5.5em minmax(0,1fr) 2em}
  .ses-dias small{display:none}
}
@media (prefers-reduced-motion:reduce){.ses-b.trabajando .ses-dot{animation:none}}
