/* Panel de conversaciones (super admin). Botones, campo, burbujas, sello, rombo y pregunta en arena salen de
   css/ui.css (los mismos de la burbuja del sitio). Aquí: el marco de tres columnas, la lista y las 3 versiones. */

/* Con el panel a la vista, el botón del chat de visitantes se quita: taparía el botón de enviar. */
.con-chats .chat { display: none; }

/* Marco: grupos | lista | conversación. Cabe entero bajo la cabecera junto con el título de la sección. */
.pc__marco {
  display: grid;
  grid-template-columns: 13rem minmax(15rem, 19rem) minmax(0, 1fr);
  height: clamp(32rem, calc(100dvh - 9.25rem), 50rem);
}

.pc__grupos,
.pc__col-lista { min-height: 0; border-right: 1px solid var(--raya-oscura); }

/* Grupos */
.pc__grupos { padding: 1rem 0.75rem; background: var(--negro); }
.pc__grupos ul { display: grid; gap: 0.25rem; }

.pc-grupo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  min-height: 2.75rem;
  padding: 0.4rem 0.75rem;
  border: 0;
  border-radius: var(--radio-s);
  background: none;
  color: var(--gris);
  font-weight: 500;
  text-align: left;
  transition: background-color 0.2s, color 0.2s;
}

.pc-grupo:hover,
.pc-grupo--con { color: var(--hueso); }
.pc-grupo[aria-pressed="true"] { background: var(--carbon-2); color: var(--hueso); }
.pc-grupo__cuenta { flex: none; min-width: 1.5rem; font: 600 1.0625rem/1 var(--letra-app); text-align: center; }
.pc-grupo--espera { min-height: 4.25rem; margin-bottom: 0.5rem; font-weight: 600; }
.pc-grupo .ui-rombo { margin-right: 0.3rem; }

/* Lista */
.pc__col-lista { display: flex; flex-direction: column; }
.pc .pc__grupo-titulo { flex: none; margin: 0; padding: 1.1rem 1rem 0.75rem; font: 700 1.0625rem/1.2 var(--letra-titulo); }
.pc__lista { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 0.25rem; padding: 0 0.5rem 0.75rem; }
.pc__lista:empty { display: none; }

.pc-item {
  display: grid;
  gap: 0.3rem;
  width: 100%;
  padding: 0.7rem 0.75rem;
  border: 0;
  border-radius: var(--radio-s);
  background: none;
  color: var(--hueso);
  text-align: left;
  transition: background-color 0.2s;
}

.pc-item:hover { background: var(--carbon-2); }
.pc-item__arriba { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; }
.pc-item__etiqueta { font: 500 0.9375rem/1.2 var(--letra-codigo); }
.pc-item__hace,
.pc-item__pie { color: var(--gris); font-size: var(--t-chico); }
.pc-item__ultimo { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: var(--arena-2);
  overflow-wrap: anywhere; }
.pc-item__ultimo b { color: var(--hueso); font-weight: 600; }

/* La conversación abierta se marca en arena: el lado de la persona del equipo. */
.pc-item[aria-current="true"] { background: var(--arena); color: var(--tinta); }
.pc-item[aria-current="true"] .pc-item__ultimo,
.pc-item[aria-current="true"] .pc-item__ultimo b { color: var(--tinta); }
.pc-item[aria-current="true"] .pc-item__hace,
.pc-item[aria-current="true"] .pc-item__pie { color: var(--tinta-suave); }
.pc-item[aria-current="true"] .ui-ia { color: var(--naranja-tinta); box-shadow: inset 0 0 0 1px var(--naranja-tinta); }
.pc-item[aria-current="true"]:focus-visible { outline-offset: -4px; outline-color: var(--naranja-tinta); }

.pc .pc-nota { padding: 1rem; color: var(--gris); }
.pc .pc__aviso { flex: none; margin: 0 0.75rem 0.75rem; }

/* Conversación */
.pc__conv { display: flex; flex-direction: column; min-width: 0; min-height: 0; container-type: inline-size; }
.pc-hueco { flex: 1; display: grid; place-content: center; justify-items: center; gap: 1rem; padding: 2rem; color: var(--gris);
  text-align: center; }
.pc-hueco .ui-rayas { display: none; }
.pc-hueco--cargando .ui-rayas { display: flex; }
.pc-abierta { flex: 1; display: flex; flex-direction: column; min-height: 0; }

.pc-cab { flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; padding: 0.9rem var(--ui-pad);
  border-bottom: 1px solid var(--raya-oscura); }
.pc-cab__volver { display: none; }
.pc-cab__quien { flex: 1; min-width: 9rem; }
.pc .pc-cab__quien h3 { margin: 0; font: 500 1.375rem/1.15 var(--letra-codigo); letter-spacing: -0.01em; }
.pc .pc-cab__quien p { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.6rem; margin-top: 0.3rem;
  color: var(--gris); font-size: var(--t-chico); }

.pc-confirmar { flex: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1rem;
  padding: 0.9rem var(--ui-pad); font-weight: 500; }
.pc-confirmar__botones { display: flex; flex-wrap: wrap; gap: 0.5rem; }

/* Historial: cede sitio a las versiones, pero siempre deja ver lo último que dijo el visitante */
.pc-historial { flex: 1 1 4.5rem; min-height: 4.5rem; }
.pc .ui-msj { max-width: min(78%, 60ch); }

/* Con las versiones a la vista, el historial y la caja se encogen para que quepan las tres */
.pc-abierta:has(.pc-versiones:not([hidden])) .pc-historial { flex-basis: 3rem; min-height: 3rem; }
.pc-abierta:has(.pc-versiones:not([hidden])) .pc-form__texto { min-height: 3.5rem; }

/* 3 versiones: una al lado de la otra si la columna es ancha; apiladas si es angosta */
.pc-versiones { flex: 0 1 auto; display: flex; flex-direction: column; min-height: 0; padding: 0.6rem var(--ui-pad) 0;
  border-top: 1px solid var(--raya-oscura); }
.pc-versiones__cabeza { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pc-versiones__lista { flex: 0 1 auto; min-height: 0; max-height: 24rem; overflow-y: auto; display: grid; align-content: start;
  gap: 0.4rem; margin-top: 0.4rem; }
.pc-versiones__lista:empty { display: none; }

.pc-version { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.35rem 0.9rem;
  padding: 0.6rem 0.75rem; border-radius: var(--radio-s); background: var(--carbon-2); }
.pc-version__cabeza { display: flex; align-items: center; gap: 0.4rem; }
.pc-version__tono { font: 600 1rem/1.2 var(--letra-app); letter-spacing: 0.02em; color: var(--naranja-claro); }
.pc-version__tono::first-letter { text-transform: uppercase; }
.pc-version .ui-btn { grid-row: 1; grid-column: 2; }
.pc .pc-version__texto { grid-column: 1 / -1; white-space: pre-wrap; overflow-wrap: anywhere; }

@container (min-width: 36rem) {
  .pc-versiones__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); align-content: stretch; }
  .pc-version { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr auto; align-items: start; font-size: 0.875rem; }
  .pc-version .ui-btn { grid-row: 3; grid-column: 1; justify-self: start; min-height: 2.25rem; margin-top: 0.25rem; }
}

/* Caja de respuesta */
.pc-form { flex: none; display: grid; gap: 0.5rem; padding: 0.9rem var(--ui-pad) 1.1rem; border-top: 1px solid var(--raya-oscura); }
.pc-versiones + .pc-form { border-top: 0; padding-top: 0.6rem; }
.pc-form__texto { min-height: 4.75rem; max-height: 14rem; background: var(--negro); resize: vertical; }
.pc-form__pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.5rem 0.75rem; }
.pc .pc-form__estado { flex: 1; min-width: 10rem; }
.pc-contador { color: var(--gris); font: 500 0.9375rem/1 var(--letra-app); font-variant-numeric: tabular-nums; }
.pc-contador--tope { color: var(--naranja-claro); }
.pc .pc-nota--cerrada { border-top: 1px solid var(--raya-oscura); padding: 1rem var(--ui-pad); }

/* Pantallas medianas: los grupos pasan arriba como fila */
@media (max-width: 1100px) {
  .pc__marco { grid-template-columns: minmax(15rem, 19rem) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  .pc__grupos { grid-column: 1 / -1; padding: 0.6rem; border-right: 0; border-bottom: 1px solid var(--raya-oscura);
    overflow-x: auto; scrollbar-width: none; }
  .pc__grupos ul { display: flex; gap: 0.25rem; }
  .pc__grupos li { flex: none; }
  .pc-grupo,
  .pc-grupo--espera { min-height: 2.75rem; margin: 0; white-space: nowrap; }
  .pc-grupo .ui-rombo { width: 1.6rem; height: 1.6rem; margin-inline: 0.25rem; }
  .pc-grupo .ui-rombo b { font-size: 1rem; }
}

/* Celular: una cosa a la vez (lista → conversación, con botón para volver). El título de la sección y el marco
   caben juntos bajo la cabecera fija. */
@media (max-width: 760px) {
  .pc__marco { grid-template-columns: minmax(0, 1fr); height: calc(100dvh - 10.25rem); min-height: 26rem; }
  .pc__col-lista { border-right: 0; }
  .pc[data-vista="lista"] .pc__conv,
  .pc[data-vista="conversacion"] .pc__grupos,
  .pc[data-vista="conversacion"] .pc__col-lista { display: none; }
  .pc[data-vista="conversacion"] .pc__marco { grid-template-rows: minmax(0, 1fr); }
  .pc-cab { padding-block: 0.6rem; gap: 0.5rem 0.75rem; }
  .pc-cab__volver { display: inline-flex; }
  .pc-cab #pc-cerrar { margin-left: auto; }
  .pc-cab__quien { order: 3; flex-basis: 100%; }
  .pc .pc-cab__quien h3 { font-size: 1.1875rem; }
  .pc-cab .ui-btn { padding-inline: 0.85rem; font-size: 0.875rem; }
  .pc .ui-msj { max-width: 88%; }
  .pc-form { padding-bottom: 0.9rem; }
  .pc-form__texto { min-height: 4rem; }
  .pc .pc-form__estado { flex-basis: 100%; }
  .pc .pc-form__estado:empty,
  .pc-contador:not(.pc-contador--tope) { display: none; } /* el contador solo sale cerca del tope, como en la burbuja */
  .pc-form__pie .ui-btn { padding-inline: 0.9rem; }
  .pc-abierta:has(.pc-versiones:not([hidden])) .pc-historial { flex: 0 0 0; min-height: 0; padding-block: 0; }
  .pc-versiones__lista { max-height: none; }
  .pc-confirmar__botones { width: 100%; }
  .pc-confirmar__botones .ui-btn { flex: 1 1 auto; }
}
