/* Equipo IA · panel de control. Estilo: panel denso de datos, azul sobrio, ámbar para lo que pide atención. */
:root {
  --fondo: #f6f8fb; --superficie: #ffffff; --superficie-2: #f1f4f9; --borde: #dde3ec; --borde-fuerte: #c3ccda;
  --texto: #0f172a; --texto-2: #475569; --texto-3: #64748b;
  --primario: #1e40af; --primario-h: #1b3a9c; --primario-suave: #e3ebfd; --sobre-primario: #ffffff;
  --acento: #f59e0b; --acento-suave: #fff3d6; --acento-texto: #7a4a00;
  --ok: #15803d; --ok-suave: #dcf5e4; --peligro: #b91c1c; --peligro-suave: #fde4e4; --info-suave: #e0efff;
  --sombra: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .05);
  --sombra-2: 0 10px 30px rgba(15, 23, 42, .14);
  --radio: 10px; --radio-s: 7px;
  --fuente: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "Cascadia Code", "SF Mono", Consolas, "Liberation Mono", monospace;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="claro"]) {
    --fondo: #0b1220; --superficie: #111a2c; --superficie-2: #16223a; --borde: #25324b; --borde-fuerte: #34446a;
    --texto: #e6ebf5; --texto-2: #b0bbd1; --texto-3: #8a97b2;
    --primario: #6ea0ff; --primario-h: #8bb4ff; --primario-suave: #1b2c52; --sobre-primario: #08122b;
    --acento: #fbbf24; --acento-suave: #3a2c08; --acento-texto: #fcd982;
    --ok: #4ade80; --ok-suave: #12301f; --peligro: #f87171; --peligro-suave: #3b1717; --info-suave: #12263f;
    --sombra: none; --sombra-2: 0 10px 30px rgba(0, 0, 0, .5);
    color-scheme: dark;
  }
}
:root[data-tema="oscuro"] {
  --fondo: #0b1220; --superficie: #111a2c; --superficie-2: #16223a; --borde: #25324b; --borde-fuerte: #34446a;
  --texto: #e6ebf5; --texto-2: #b0bbd1; --texto-3: #8a97b2;
  --primario: #6ea0ff; --primario-h: #8bb4ff; --primario-suave: #1b2c52; --sobre-primario: #08122b;
  --acento: #fbbf24; --acento-suave: #3a2c08; --acento-texto: #fcd982;
  --ok: #4ade80; --ok-suave: #12301f; --peligro: #f87171; --peligro-suave: #3b1717; --info-suave: #12263f;
  --sombra: none; --sombra-2: 0 10px 30px rgba(0, 0, 0, .5);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body { margin: 0; background: var(--fondo); color: var(--texto); font: 15px/1.55 var(--fuente); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { line-height: 1.25; margin: 0; font-weight: 650; }
h1 { font-size: 1.45rem; } h2 { font-size: 1.12rem; } h3 { font-size: 1rem; }
p { margin: 0 0 .7em; }
a { color: var(--primario); text-decoration: none; } a:hover { text-decoration: underline; }
code, pre { font-family: var(--mono); font-size: .88em; }
:focus-visible { outline: 2.5px solid var(--primario); outline-offset: 2px; border-radius: 4px; }
.solo-lectores { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.oculto { display: none !important; }
.sub { color: var(--texto-2); } .tenue { color: var(--texto-3); } .peq { font-size: .86rem; } .mono { font-family: var(--mono); }
.derecha { margin-left: auto; } .fila { display: flex; align-items: center; gap: .6rem; } .fila-envolver { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.espacio { height: 1rem; } .espacio-g { height: 1.6rem; } .centro { text-align: center; }
.icono { width: 1.15em; height: 1.15em; flex: none; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.2em; }

/* --- botones y formularios --- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 40px; padding: .45rem .95rem; border: 1px solid var(--borde-fuerte);
  border-radius: var(--radio-s); background: var(--superficie); color: var(--texto); font: inherit; font-weight: 550; cursor: pointer;
  transition: background-color .15s, border-color .15s, color .15s, opacity .15s; }
.btn:hover:not(:disabled) { background: var(--superficie-2); border-color: var(--texto-3); }
.btn:disabled { opacity: .55; cursor: not-allowed; }
.btn-primario { background: var(--primario); border-color: var(--primario); color: var(--sobre-primario); }
.btn-primario:hover:not(:disabled) { background: var(--primario-h); border-color: var(--primario-h); }
.btn-ok { background: var(--ok); border-color: var(--ok); color: #fff; } .btn-ok:hover:not(:disabled) { filter: brightness(.93); background: var(--ok); }
.btn-peligro { color: var(--peligro); border-color: color-mix(in srgb, var(--peligro) 55%, var(--borde)); }
.btn-peligro:hover:not(:disabled) { background: var(--peligro-suave); }
.btn-solido-peligro { background: var(--peligro); border-color: var(--peligro); color: #fff; } .btn-solido-peligro:hover:not(:disabled) { filter: brightness(.92); background: var(--peligro); }
.btn-fantasma { border-color: transparent; background: transparent; } .btn-fantasma:hover:not(:disabled) { background: var(--superficie-2); border-color: transparent; }
.btn-peq { min-height: 32px; padding: .2rem .65rem; font-size: .88rem; }
.btn-icono { width: 40px; padding: 0; } .btn-peq.btn-icono { width: 32px; }
label.campo { display: block; font-weight: 550; font-size: .9rem; margin-bottom: .3rem; }
input[type=text], input[type=password], input[type=number], input[type=url], input[type=search], input[type=email], select, textarea {
  width: 100%; min-height: 40px; padding: .5rem .7rem; border: 1px solid var(--borde-fuerte); border-radius: var(--radio-s);
  background: var(--superficie); color: var(--texto); font: inherit; }
textarea { resize: vertical; min-height: 90px; line-height: 1.5; }
input:disabled, select:disabled, textarea:disabled { opacity: .6; }
select { appearance: auto; }
.ayuda { font-size: .84rem; color: var(--texto-3); margin-top: .25rem; }
.grupo { margin-bottom: 1rem; }
.rejilla-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.interruptor { display: inline-flex; align-items: center; gap: .55rem; cursor: pointer; font-weight: 500; }
.interruptor input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.interruptor .pista { width: 38px; height: 22px; border-radius: 999px; background: var(--borde-fuerte); position: relative; transition: background-color .15s; flex: none; }
.interruptor .pista::after { content: ""; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .15s; box-shadow: 0 1px 2px rgba(0,0,0,.3); }
.interruptor input:checked + .pista { background: var(--primario); }
.interruptor input:checked + .pista::after { transform: translateX(16px); }
.interruptor input:focus-visible + .pista { outline: 2.5px solid var(--primario); outline-offset: 2px; }

/* --- piezas --- */
.tarjeta { background: var(--superficie); border: 1px solid var(--borde); border-radius: var(--radio); box-shadow: var(--sombra); padding: 1.1rem 1.2rem; }
.tarjeta + .tarjeta { margin-top: 1rem; }
.tarjeta-cab { display: flex; align-items: center; gap: .6rem; margin-bottom: .8rem; flex-wrap: wrap; }
.chip { display: inline-flex; align-items: center; gap: .3rem; padding: .08rem .55rem; border-radius: 999px; font-size: .78rem; font-weight: 600; background: var(--superficie-2); color: var(--texto-2); border: 1px solid var(--borde); white-space: nowrap; }
.chip-ok { background: var(--ok-suave); color: var(--ok); border-color: transparent; }
.chip-aviso { background: var(--acento-suave); color: var(--acento-texto); border-color: transparent; }
.chip-peligro { background: var(--peligro-suave); color: var(--peligro); border-color: transparent; }
.chip-info { background: var(--primario-suave); color: var(--primario); border-color: transparent; }
.aviso { display: flex; gap: .7rem; align-items: flex-start; padding: .8rem 1rem; border-radius: var(--radio); border: 1px solid var(--borde); background: var(--info-suave); margin-bottom: 1rem; }
.aviso .icono { margin-top: .2rem; }
.aviso-aviso { background: var(--acento-suave); color: var(--acento-texto); border-color: transparent; }
.aviso-peligro { background: var(--peligro-suave); color: var(--peligro); border-color: transparent; }
.aviso-ok { background: var(--ok-suave); color: var(--ok); border-color: transparent; }
.vacio { text-align: center; color: var(--texto-3); padding: 2.2rem 1rem; }
.cargando::after { content: ""; display: inline-block; width: 1em; height: 1em; margin-left: .5rem; border: 2px solid var(--borde-fuerte); border-top-color: var(--primario); border-radius: 50%; animation: gira .8s linear infinite; vertical-align: -.15em; }
@keyframes gira { to { transform: rotate(360deg); } }
.tabla-envoltorio { overflow-x: auto; border: 1px solid var(--borde); border-radius: var(--radio); background: var(--superficie); }
table { width: 100%; border-collapse: collapse; font-size: .92rem; }
th, td { padding: .6rem .8rem; text-align: left; border-bottom: 1px solid var(--borde); vertical-align: middle; }
th { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--texto-3); background: var(--superficie-2); white-space: nowrap; }
tbody tr:last-child td { border-bottom: 0; } tbody tr:hover { background: var(--superficie-2); }
td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }
.pestanas { display: flex; gap: .2rem; border-bottom: 1px solid var(--borde); margin-bottom: 1rem; overflow-x: auto; }
.pestana { padding: .6rem .9rem; border: 0; background: transparent; color: var(--texto-2); font: inherit; font-weight: 550; cursor: pointer; border-bottom: 2.5px solid transparent; white-space: nowrap; }
.pestana:hover { color: var(--texto); } .pestana[aria-selected=true] { color: var(--primario); border-bottom-color: var(--primario); }
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.kpi { background: var(--superficie); border: 1px solid var(--borde); border-radius: var(--radio); padding: .95rem 1.1rem; box-shadow: var(--sombra); display: block; color: inherit; }
a.kpi:hover { text-decoration: none; border-color: var(--primario); }
.kpi .valor { font-size: 1.75rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; }
.kpi .etiqueta { color: var(--texto-2); font-size: .86rem; }
.kpi.atencion { border-color: var(--acento); background: var(--acento-suave); }
.barra { height: 8px; border-radius: 999px; background: var(--superficie-2); overflow: hidden; border: 1px solid var(--borde); }
.barra > span { display: block; height: 100%; background: var(--primario); border-radius: 999px; }
.lista-sin-vineta { list-style: none; margin: 0; padding: 0; }
.lista-estado li { display: flex; align-items: center; gap: .6rem; padding: .5rem 0; border-bottom: 1px solid var(--borde); } .lista-estado li:last-child { border: 0; }
pre.bloque { background: var(--superficie-2); border: 1px solid var(--borde); border-radius: var(--radio-s); padding: .8rem; overflow: auto; max-height: 340px; margin: 0; white-space: pre-wrap; word-break: break-word; }

/* --- estructura --- */
.app { display: grid; grid-template-columns: 252px minmax(0, 1fr); min-height: 100vh; }
.lateral { background: var(--superficie); border-right: 1px solid var(--borde); display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; padding: 1rem .8rem; gap: .2rem; z-index: 30; }
.marca { display: flex; align-items: center; gap: .6rem; padding: .2rem .6rem 1rem; font-weight: 700; font-size: 1.05rem; }
.marca .logo { width: 30px; height: 30px; border-radius: 8px; background: var(--primario); color: var(--sobre-primario); display: grid; place-items: center; }
.nav-item { display: flex; align-items: center; gap: .7rem; padding: .55rem .7rem; border-radius: var(--radio-s); color: var(--texto-2); font-weight: 550; min-height: 42px; }
.nav-item:hover { background: var(--superficie-2); text-decoration: none; color: var(--texto); }
.nav-item[aria-current=page] { background: var(--primario-suave); color: var(--primario); }
.nav-item .insignia { margin-left: auto; background: var(--acento); color: #2b1a00; border-radius: 999px; font-size: .74rem; font-weight: 700; padding: 0 .5rem; min-width: 1.4rem; text-align: center; }
.lateral-pie { margin-top: auto; display: flex; flex-direction: column; gap: .4rem; padding-top: .8rem; border-top: 1px solid var(--borde); }
.principal { min-width: 0; display: flex; flex-direction: column; }
.barra-superior { display: none; align-items: center; gap: .6rem; padding: .6rem .9rem; background: var(--superficie); border-bottom: 1px solid var(--borde); position: sticky; top: 0; z-index: 25; }
.contenido { padding: 1.5rem clamp(1rem, 3vw, 2rem) 3rem; max-width: 1280px; width: 100%; }
.cabecera-pagina { display: flex; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
.cabecera-pagina p { margin: .2rem 0 0; color: var(--texto-2); }
.pausa-banda { background: var(--peligro); color: #fff; padding: .55rem 1rem; display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; font-weight: 600; }
.pausa-banda .btn { background: #fff; color: var(--peligro); border-color: #fff; }
.velo { display: none; }

@media (max-width: 900px) {
  .app { grid-template-columns: minmax(0, 1fr); }
  .lateral { position: fixed; left: 0; top: 0; bottom: 0; width: 280px; transform: translateX(-102%); transition: transform .2s; box-shadow: var(--sombra-2); }
  .lateral.abierto { transform: none; }
  .velo.abierto { display: block; position: fixed; inset: 0; background: rgba(8, 15, 30, .5); z-index: 29; }
  .barra-superior { display: flex; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* --- acceso --- */
.acceso { min-height: 100vh; display: grid; place-items: center; padding: 1rem; }
.acceso .tarjeta { width: min(430px, 100%); padding: 1.7rem; }
.acceso h1 { margin-bottom: .3rem; }

/* --- equipo / chat --- */
.equipo { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 1rem; align-items: start; }
.panel-lateral { background: var(--superficie); border: 1px solid var(--borde); border-radius: var(--radio); box-shadow: var(--sombra); overflow: hidden; position: sticky; top: 1rem; max-height: calc(100vh - 2rem); display: flex; flex-direction: column; }
.grupo-titulo { font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; color: var(--texto-3); padding: .7rem .9rem .3rem; font-weight: 700; }
.puesto { display: flex; align-items: center; gap: .6rem; width: 100%; padding: .5rem .9rem; border: 0; background: transparent; color: var(--texto); font: inherit; text-align: left; cursor: pointer; min-height: 44px; border-left: 3px solid transparent; }
.puesto:hover { background: var(--superficie-2); } .puesto[aria-current=true] { background: var(--primario-suave); border-left-color: var(--primario); font-weight: 650; }
.puesto .avatar { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: var(--primario-suave); color: var(--primario); font-weight: 700; font-size: .85rem; flex: none; }
.puesto .estado-punto { width: 9px; height: 9px; border-radius: 50%; background: var(--ok); margin-left: auto; flex: none; animation: pulso 1.4s ease-in-out infinite; }
@keyframes pulso { 50% { opacity: .35; } }
.puesto .insignia { margin-left: auto; background: var(--acento); color: #2b1a00; border-radius: 999px; font-size: .72rem; font-weight: 700; padding: 0 .45rem; }
.lista-scroll { overflow-y: auto; }
.conv-item { display: block; width: 100%; text-align: left; border: 0; background: transparent; color: var(--texto); font: inherit; padding: .5rem .9rem; cursor: pointer; border-top: 1px solid var(--borde); }
.conv-item:hover { background: var(--superficie-2); } .conv-item[aria-current=true] { background: var(--primario-suave); }
.conv-item .t { display: block; font-weight: 550; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.chat { background: var(--superficie); border: 1px solid var(--borde); border-radius: var(--radio); box-shadow: var(--sombra); display: flex; flex-direction: column; min-height: min(78vh, 760px); }
.chat-cab { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; padding: .8rem 1rem; border-bottom: 1px solid var(--borde); }
.chat-mensajes { flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: .9rem; max-height: calc(100vh - 290px); min-height: 300px; }
.msg { max-width: min(760px, 94%); }
.msg-usuario { align-self: flex-end; } .msg-usuario .burbuja { background: var(--primario); color: var(--sobre-primario); border-radius: 14px 14px 4px 14px; padding: .65rem .95rem; white-space: pre-wrap; word-break: break-word; }
.msg-agente .burbuja { background: var(--superficie-2); border: 1px solid var(--borde); border-radius: 14px 14px 14px 4px; padding: .7rem 1rem; word-break: break-word; }
.msg-meta { font-size: .76rem; color: var(--texto-3); margin: .25rem .3rem 0; display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; }
.msg-usuario .msg-meta { justify-content: flex-end; }
.ruta { align-self: flex-end; font-size: .8rem; color: var(--texto-2); max-width: min(760px, 94%); }
.ruta summary { cursor: pointer; list-style: none; text-align: right; } .ruta summary::-webkit-details-marker { display: none; }
.ruta .detalle { background: var(--superficie-2); border: 1px solid var(--borde); border-radius: var(--radio-s); padding: .6rem .8rem; margin-top: .3rem; text-align: left; }
.ruta ul { margin: .3rem 0 0 1.1rem; padding: 0; }
.herr { align-self: flex-start; max-width: min(760px, 94%); }
.herr > summary, .herr > .herr-fijo { display: inline-flex; align-items: center; gap: .45rem; cursor: pointer; list-style: none; padding: .25rem .7rem; border: 1px solid var(--borde); border-radius: 999px; background: var(--superficie); font-size: .84rem; color: var(--texto-2); }
.herr > summary::-webkit-details-marker { display: none; }
.herr[open] > summary { border-color: var(--primario); }
.herr .cuerpo { margin-top: .4rem; padding: .7rem .9rem; border-left: 3px solid var(--borde-fuerte); background: var(--superficie-2); border-radius: 0 var(--radio-s) var(--radio-s) 0; font-size: .92rem; }
.herr.con-error > summary { border-color: var(--peligro); color: var(--peligro); }
.redactando::after { content: "▍"; animation: pulso 1s steps(2) infinite; margin-left: 2px; color: var(--primario); }
.pensando { align-self: flex-start; color: var(--texto-3); font-size: .88rem; }
.compositor { border-top: 1px solid var(--borde); padding: .8rem 1rem; display: grid; gap: .6rem; }
.compositor textarea { min-height: 72px; max-height: 240px; }
.compositor-fila { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.compositor select { width: auto; min-height: 36px; font-size: .88rem; }

/* markdown */
.md > :first-child { margin-top: 0; } .md > :last-child { margin-bottom: 0; }
.md h1, .md h2, .md h3, .md h4 { margin: 1.1em 0 .4em; } .md h1 { font-size: 1.2rem; } .md h2 { font-size: 1.1rem; } .md h3, .md h4 { font-size: 1rem; }
.md p { margin: 0 0 .7em; } .md ul, .md ol { margin: 0 0 .7em; padding-left: 1.4em; } .md li { margin: .15em 0; }
.md code { background: var(--superficie); border: 1px solid var(--borde); border-radius: 5px; padding: .05em .35em; }
.md pre { background: var(--superficie); border: 1px solid var(--borde); border-radius: var(--radio-s); padding: .7rem .85rem; overflow-x: auto; }
.md pre code { background: none; border: 0; padding: 0; }
.md blockquote { margin: 0 0 .7em; padding: .1em .9em; border-left: 3px solid var(--borde-fuerte); color: var(--texto-2); }
.md table { width: auto; max-width: 100%; display: block; overflow-x: auto; margin-bottom: .7em; } .md th, .md td { padding: .4rem .65rem; border: 1px solid var(--borde); }
.md hr { border: 0; border-top: 1px solid var(--borde); margin: 1em 0; }

/* --- bandeja --- */
.prop { border-left: 4px solid var(--acento); }
.prop.nivel-2 { border-left-color: var(--peligro); }
.prop.hecha { border-left-color: var(--borde-fuerte); }
.prop .iframe-previa { width: 100%; height: 420px; border: 1px solid var(--borde); border-radius: var(--radio-s); background: #fff; }
.prop-acciones { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--borde); }
.dl { display: grid; grid-template-columns: max-content 1fr; gap: .25rem 1rem; margin: 0; } .dl dt { color: var(--texto-3); font-size: .86rem; } .dl dd { margin: 0; word-break: break-word; }

/* --- modelos y costes --- */
.proveedor { display: grid; gap: .8rem; }
.proveedor .cab { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.clave-fila { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; } .clave-fila input { flex: 1; min-width: 200px; }
.resultado-prueba { padding: .5rem .8rem; border-radius: var(--radio-s); font-size: .9rem; }
.grafico { width: 100%; height: 190px; display: block; }
.grafico .eje { stroke: var(--borde); stroke-width: 1; } .grafico text { fill: var(--texto-3); font-size: 10px; font-family: var(--fuente); }
.grafico rect.barra-d { fill: var(--primario); } .grafico rect.barra-d:hover { fill: var(--primario-h); }
.fila-barra { display: grid; grid-template-columns: minmax(120px, 220px) 1fr auto; gap: .8rem; align-items: center; padding: .35rem 0; }
.celda-edit { width: 84px; min-height: 32px; padding: .2rem .4rem; text-align: right; font-variant-numeric: tabular-nums; }
.select-peq { min-height: 32px; padding: .2rem .4rem; width: auto; }

/* --- avisos emergentes y modal --- */
.toasts { position: fixed; right: 1rem; bottom: 1rem; display: grid; gap: .5rem; z-index: 100; max-width: min(420px, calc(100vw - 2rem)); }
.toast { background: var(--texto); color: var(--fondo); padding: .7rem 1rem; border-radius: var(--radio-s); box-shadow: var(--sombra-2); font-size: .92rem; }
.toast.error { background: var(--peligro); color: #fff; } .toast.ok { background: var(--ok); color: #fff; }
.modal-fondo { position: fixed; inset: 0; background: rgba(8, 15, 30, .55); z-index: 90; display: grid; place-items: center; padding: 1rem; }
.modal { background: var(--superficie); border-radius: var(--radio); box-shadow: var(--sombra-2); width: min(640px, 100%); max-height: 90vh; overflow: auto; padding: 1.3rem; }
.modal h2 { margin-bottom: .8rem; }
.modal-pie { display: flex; gap: .6rem; justify-content: flex-end; margin-top: 1.1rem; flex-wrap: wrap; }

@media (max-width: 1000px) {
  .equipo { grid-template-columns: minmax(0, 1fr); }
  .panel-lateral { position: static; max-height: none; }
  .chat-mensajes { max-height: none; }
}
