/* Documento: papel, comparación, escenas, tablas, propuestas y charla. */
.cq-propuesta[data-estado="aplicada"] .cq-chip,
.cq-propuesta[data-estado="editada"] .cq-chip { color: var(--cq-ink); }
.cq-propuesta[data-estado="fallida"] .cq-chip { white-space: normal; }
.cq-propuesta { background: var(--cq-ai-tint); border: 1px dashed var(--cq-ai); display: flex; flex-direction: column; align-items: flex-start; gap: var(--cq-space-3); }
.cq-propuesta__rotulo { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cq-space-2); color: var(--cq-ai); }
.cq-propuesta .cq-propuesta__rotulo .cq-chip { white-space: nowrap; flex-shrink: 0; }
.cq-propuesta__rotulo .cq-seccion-titulo { font-size: var(--cq-text-14); }
.cq-propuesta__rotulo + .cq-meta { margin-top: calc(var(--cq-space-2) * -1); }
.cq-documento__textos { flex: 1; min-width: 0; overflow-wrap: anywhere; }
[data-theme="light"] .cq-propuesta__rotulo,
[data-theme="light"] .cq-chip--ai,
[data-theme="light"] .cq-button--ai:disabled { color: color-mix(in srgb, var(--cq-ai) 80%, var(--cq-ink)); }
.cq-propuesta .cq-diagnostico-presentes { list-style: none; padding-left: 0; }
.cq-propuesta { min-width: 0; overflow-wrap: anywhere; }
/* La tarjeta alinea al inicio, pero la vista previa y el editor ocupan su ancho: si no, una tabla se encoge a 0 y el texto queda vertical. */
.cq-propuesta > .cq-previa, .cq-propuesta > .cq-editor-propuesta { align-self: stretch; min-width: 0; }
.cq-propuesta ul { margin: 0; padding-left: var(--cq-space-5); }
.cq-propuesta .cq-seccion-titulo { color: var(--cq-ai); }
.cq-propuesta .cq-button--fantasma { color: var(--cq-ai); }
.cq-papel { color-scheme: light; background: var(--cq-paper); color: var(--cq-ink); width: 100%; max-width: var(--cq-measure); margin-inline: auto; padding: var(--cq-space-5); border-radius: var(--cq-radius-control); overflow-wrap: anywhere; }
.cq-papel h1, .cq-papel h2, .cq-papel h3 { color: var(--cq-ink); font-family: var(--cq-font-ui); font-size: var(--cq-text-20); line-height: 1.4; margin: 0; }
.cq-papel h2 { font-size: var(--cq-text-16); }
.cq-papel h3 { font-size: var(--cq-text-14); }
.cq-papel > * + * { margin-top: var(--cq-space-4); }
.cq-papel pre, .cq-papel code { font-family: var(--cq-font-mono); }
.cq-papel pre { white-space: pre-wrap; overflow-wrap: anywhere; margin-bottom: 0; }
.cq-papel ul, .cq-papel ol { padding-left: var(--cq-space-5); }
.cq-papel--fountain { font-family: var(--cq-font-mono); font-size: var(--cq-script-size); line-height: var(--cq-script-leading); }
.cq-papel--fountain > * + * { margin-top: 0; }
.cq-guion-espacio { height: var(--cq-space-4); }
.cq-guion-escena { text-transform: uppercase; font-weight: bold; }
.cq-guion-personaje { text-transform: uppercase; text-align: center; }
.cq-guion-dialogo { margin-inline: var(--cq-space-5); }
.cq-guion-parentetico { margin-inline: var(--cq-space-6); }
.cq-previa .cq-papel { padding: var(--cq-space-4); }
.cq-versiones { margin: 0; padding-left: var(--cq-space-4); }
.cq-versiones li + li { margin-top: var(--cq-space-3); }
.cq-hoja { display: flex; flex-direction: column; gap: var(--cq-space-3); min-width: 0; scroll-margin-top: var(--cq-space-5); }
.cq-editor-documento { display: block; width: 100%; min-height: calc(var(--cq-touch) * 4); border: 0; padding: 0; resize: none; overflow: hidden; background: var(--cq-paper); color: var(--cq-ink); font: inherit; line-height: inherit; }
.cq-papel--yaml .cq-editor-documento, .cq-papel--fountain .cq-editor-documento { font-family: var(--cq-font-mono); font-size: var(--cq-script-size); }
.cq-papel--fountain .cq-editor-documento { line-height: var(--cq-script-leading); }
.cq-version-previa { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cq-space-2); padding: var(--cq-space-3); border: 1px solid var(--cq-line); border-radius: var(--cq-radius-control); background: var(--cq-surface-2); }
.cq-version-previa > p { flex-basis: 100%; }
.cq-historial > summary { cursor: pointer; min-height: var(--cq-touch); align-content: center; }
.cq-versiones--interactivas { list-style: none; padding: 0; }
.cq-versiones--interactivas li { padding-bottom: var(--cq-space-3); border-bottom: 1px solid var(--cq-line); }
.cq-versiones--interactivas .cq-button { padding-inline: 0; }
.cq-comparador { font-family: var(--cq-font-ui); line-height: 1.5; border-bottom: 1px solid var(--cq-line); padding-bottom: var(--cq-space-4); margin-bottom: var(--cq-space-4); }
.cq-comparador [aria-selected="true"] { border-color: currentColor; }
.cq-comparador__resumen { margin-top: var(--cq-space-3); }
.cq-diff { color-scheme: light; background: var(--cq-paper); color: var(--cq-ink); border: 1px solid var(--cq-line); border-radius: var(--cq-radius-control); overflow: hidden; font-family: var(--cq-font-ui); line-height: 1.5; }
.cq-diff__fila { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.cq-diff--unificado .cq-diff__fila { grid-template-columns: minmax(0, 1fr); }
.cq-diff__col, .cq-diff__celda { min-width: 0; padding: var(--cq-space-2) var(--cq-space-3); }
.cq-diff__cabecera { background: var(--cq-surface-2); border-bottom: 1px solid var(--cq-line); font-weight: 600; }
.cq-diff--lado-a-lado .cq-diff__fila > :first-child { border-right: 1px solid var(--cq-line); }
.cq-diff__celda { white-space: pre-wrap; overflow-wrap: anywhere; min-height: var(--cq-space-6); }
.cq-diff .cq-diff__fila > .cq-diff__celda { margin: 0; max-width: none; }
.cq-diff__celda.cq-papel--yaml { font-family: var(--cq-font-mono); }
.cq-diff__hueco { background: var(--cq-surface-2); }
.cq-diff__quitado { color: var(--cq-ink); text-decoration-color: var(--cq-ink-2); background: var(--cq-surface-2); }
.cq-diff__agregado { color: var(--cq-ink); background: var(--cq-ai-tint); border-bottom: 1px solid var(--cq-ai); text-decoration: none; }
.cq-diff__plegado { text-align: center; border-block: 1px solid var(--cq-line); }
.cq-diff-barra, .cq-diff-opciones { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cq-space-3); font-family: var(--cq-font-ui); font-size: var(--cq-text-14); line-height: 1.5; }
.cq-diff-selector { display: flex; align-items: center; gap: var(--cq-space-2); flex: 1; min-width: calc(var(--cq-touch) * 3); }
.cq-diff-selector .cq-campo { padding: var(--cq-space-2); }
.cq-diff-modos { min-width: calc(var(--cq-touch) * 5); }
.cq-diff-resultado { display: grid; gap: var(--cq-space-3); min-width: 0; }
.cq-diff__aviso { padding: var(--cq-space-3); }
@media (width < 37.5em) {
  .cq-diff--lado-a-lado .cq-diff__fila { grid-template-columns: minmax(0, 1fr); }
  .cq-diff--lado-a-lado .cq-diff__fila > :first-child { border-right: 0; border-bottom: 1px dashed var(--cq-line); }
  .cq-diff--lado-a-lado .cq-diff__hueco { display: none; }
}
.cq-hoja .cq-papel.cq-papel--comparacion { max-width: none; padding: var(--cq-space-3); }
.cq-papel [role="tabpanel"] > * + * { margin-top: var(--cq-space-4); }
.cq-papel--fountain [role="tabpanel"] > * + * { margin-top: 0; }
.cq-documento__resumen { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
 { display: block; margin-bottom: var(--cq-space-2); }
.cq-dictado label { display: block; margin-bottom: var(--cq-space-2); }
.cq-dictado textarea { margin-top: 0; width: 100%; }
.cq-dictado__parcial:empty, .cq-dictado .cq-error:empty { display: none; }
.cq-dictado--grabando::before { content: ''; display: inline-block; width: var(--cq-space-2); height: var(--cq-space-2); margin-right: var(--cq-space-2); border-radius: var(--cq-radius-pill); background: var(--cq-accent); }
@media (prefers-reduced-motion: reduce) {
  .cq-dictado--grabando::before { animation: none; }
}
.cq-marcador { color: var(--cq-ink); border-radius: var(--cq-radius-control); }
.cq-marcador--supuesto { background: color-mix(in srgb, var(--cq-accent) 22%, var(--cq-paper)); }
.cq-marcador--confirmar { background: color-mix(in srgb, var(--cq-ai) 18%, var(--cq-paper)); }
[data-theme="light"] .cq-propuesta .cq-seccion-titulo,
[data-theme="light"] .cq-propuesta .cq-button--fantasma,
[data-theme="light"] .cq-pensando, [data-theme="light"] .cq-charla-lanzador { color: color-mix(in srgb, var(--cq-ai) 80%, var(--cq-ink)); }
 depende también del espacio que deja el soporte. */
/* El papel es lo primero del contenido; escenas, versiones y Claqueta viven en el panel. */
.cq-documento-marco { display: grid; gap: var(--cq-space-5); min-width: 0; align-items: start; }
.cq-hoja { min-width: 0; }
.cq-editor-espejo { position: absolute; top: 0; left: 0; visibility: hidden; pointer-events: none; white-space: pre-wrap; overflow-wrap: break-word; }
.cq-propuesta[data-estado="aplicada"], .cq-propuesta[data-estado="editada"] { border-style: solid; border-color: var(--cq-line); }
.cq-documento__chips { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: var(--cq-space-1); }
@media (width >= 52.5em) {
  .cq-hoja .cq-papel--markdown { max-width: var(--cq-measure); margin-inline: auto; }
}
.cq-charla-lanzador { color: var(--cq-ai); }
.cq-charla-lanzador > span { display: none; }
@media (width >= 52.5em) {
  .cq-charla-lanzador > span { display: inline; position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
}
.cq-charla { position: fixed; inset: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); margin: 0; width: auto; height: auto; max-width: none; max-height: none; padding: 0; border: 1px solid var(--cq-line); border-radius: var(--cq-radius-sheet); background: var(--cq-surface); color: var(--cq-ink); font: inherit; z-index: 60; }
.cq-charla[open] { display: flex; flex-direction: column; }
.cq-charla::backdrop { background: var(--cq-scrim); }
.cq-charla__cabecera { display: flex; align-items: center; gap: var(--cq-space-1); padding: var(--cq-space-3); border-bottom: 1px solid var(--cq-line); }
.cq-charla__cabecera h2 { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cq-charla__turnos { display: flex; flex-direction: column; gap: var(--cq-space-3); flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: var(--cq-space-4); }
.cq-charla__persona, .cq-charla__respuesta { padding: var(--cq-space-3); border-radius: var(--cq-radius-card); overflow-wrap: anywhere; white-space: pre-wrap; flex-shrink: 0; }
.cq-charla__persona { align-self: flex-end; background: var(--cq-surface-2); max-width: 90%; }
.cq-charla__respuesta { align-self: flex-start; border: 1px dashed var(--cq-ai); display: flex; flex-direction: column; gap: var(--cq-space-2); max-width: 100%; }
.cq-charla__acciones { display: flex; flex-wrap: wrap; gap: var(--cq-space-2); }
.cq-charla__acciones:empty { display: none; }
.cq-charla__acciones .cq-button { font-size: var(--cq-text-12); padding: var(--cq-space-1) var(--cq-space-2); border-radius: var(--cq-radius-pill); text-align: left; }
.cq-charla__contador:empty { display: none; }
.cq-tabla-md { container-type: inline-size; width: 100%; overflow-x: auto; }
.cq-tabla-md table { width: 100%; border-collapse: collapse; font-size: var(--cq-text-12); line-height: 1.5; }
.cq-tabla-md th, .cq-tabla-md td { padding: var(--cq-space-2); text-align: left; vertical-align: top; border-bottom: 1px solid var(--cq-line); overflow-wrap: break-word; }
.cq-tabla-md th { font-weight: 600; color: var(--cq-ink-2); }
@container (width < 30rem) {
  .cq-tabla-md thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .cq-tabla-md table, .cq-tabla-md tbody { display: flex; flex-direction: column; gap: var(--cq-space-2); }
  .cq-tabla-md tbody tr { display: flex; flex-direction: column; gap: var(--cq-space-2); padding: var(--cq-space-2) var(--cq-space-3); border: 1px solid var(--cq-line); border-radius: var(--cq-radius-control); }
  .cq-tabla-md td { display: flex; flex-direction: column; padding: 0; border: 0; font-size: var(--cq-text-14); overflow-wrap: anywhere; }
  .cq-tabla-md td::before { content: attr(data-etiqueta); font-size: var(--cq-text-12); color: var(--cq-ink-2); }
  .cq-tabla-md td:empty { display: none; }
}
.cq-charla__escucha:empty { display: none; }
.cq-charla__compositor [aria-pressed="true"] { color: var(--cq-ink); background: var(--cq-accent-tint); border-color: var(--cq-accent); }
.cq-tabla-doc { display: flex; flex-direction: column; gap: var(--cq-space-4); min-width: 0; container-type: inline-size; }
.cq-tabla-edicion { margin-bottom: var(--cq-space-3); }
.cq-tabla-errores:empty { display: none; }
.cq-tabla-resumen { display: flex; flex-wrap: wrap; gap: var(--cq-space-4); margin: 0; }
.cq-tabla-resumen > div { display: flex; flex-direction: column-reverse; }
.cq-tabla-resumen dd { margin: 0; }
.cq-tabla-resumen__valor { font-size: var(--cq-text-20); font-weight: 600; line-height: 1.2; }
.cq-tabla-grupos { display: flex; flex-direction: column; gap: var(--cq-space-4); }
.cq-tabla-grupos > .cq-button { align-self: flex-start; }
.cq-tabla-grupo { display: flex; flex-direction: column; gap: var(--cq-space-1); }
.cq-tabla-grupo[hidden] { display: none; }
.cq-tabla-grupo__cab { display: flex; align-items: baseline; justify-content: space-between; gap: var(--cq-space-2); padding-block: var(--cq-space-1); }
.cq-tabla-grupo__cab > .cq-meta { flex-shrink: 0; }
.cq-tabla-grupo__titulo { margin: 0; font-size: var(--cq-text-14); font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
/* R11 · Tablas densas: una fila breve por registro en todos los anchos, que se abre al detalle. Sin columnas angostas. */
.cq-tabla-lectura { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cq-space-2); }
.cq-tabla-lectura[hidden] { display: none; }
.cq-tabla-lectura > .cq-segmentado { flex: 1 1 calc(var(--cq-touch) * 6); max-width: calc(var(--cq-touch) * 8); }
.cq-tabla-lectura__alternar { margin-left: auto; }
.cq-tabla-filas { list-style: none; margin: 0; padding: 0; border: 1px solid var(--cq-line); border-radius: var(--cq-radius-card); background: var(--cq-surface); overflow: hidden; }
.cq-tabla-fila + .cq-tabla-fila { border-top: 1px solid var(--cq-line); }
/* La propuesta sangra sus listas; las filas de tabla ocupan todo su ancho. */
.cq-propuesta .cq-tabla-filas { padding-left: 0; align-self: stretch; }
.cq-tabla-fila__cuerpo .cq-dato > .cq-chip { align-self: flex-start; }
.cq-tabla-fila__cuerpo .cq-chip { max-width: 100%; white-space: normal; overflow-wrap: break-word; }
/* En el panel la fila es angosta: nombre, valor y avisos van uno debajo del otro con todo el ancho. */
.cq-inspector .cq-tabla-fila__cab { padding-inline: var(--cq-space-2); }
.cq-inspector .cq-tabla-fila__cab > .cq-tabla-fila__textos { grid-column: 2 / 4; }
.cq-inspector .cq-tabla-fila__cab > .cq-tabla-fila__valor { grid-row: 2; grid-column: 2 / 4; justify-self: start; max-width: none; margin-left: 0; }
.cq-inspector .cq-tabla-fila__cab > .cq-tabla-fila__avisos { grid-row: 3; }
.cq-inspector .cq-tabla-fila__cuerpo { padding-inline: var(--cq-space-2); }
/* Fuera del papel, el marcador usa el tono de aviso del tema: el del papel claro no se lee en oscuro. */
.cq-tabla-fila .cq-marcador { background: var(--cq-warn-tint); color: var(--cq-ink); }
.cq-tabla-fila[hidden] { display: none; }
.cq-tabla-fila[data-abierta="true"] { background: var(--cq-bg); }
.cq-tabla-fila__cab { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: start; row-gap: var(--cq-space-1); width: 100%; min-height: var(--cq-touch); padding: var(--cq-space-3); border: 0; background: none; color: var(--cq-ink); font: inherit; text-align: left; cursor: pointer; }
.cq-tabla-fila__cab > * { grid-row: 1; }
.cq-tabla-fila__cab > .cq-icono { grid-column: 4; margin-left: var(--cq-space-3); color: var(--cq-ink-2); margin-top: calc(var(--cq-space-1) / 2); }
.cq-tabla-fila__codigo { grid-column: 1; margin-right: var(--cq-space-3); min-width: calc(var(--cq-space-6) + var(--cq-space-1)); padding: calc(var(--cq-space-1) / 2) var(--cq-space-2); border-radius: var(--cq-radius-control); background: var(--cq-surface-2); font-size: var(--cq-text-12); font-weight: 600; text-align: center; line-height: 1.5; }
.cq-tabla-fila__textos { grid-column: 2; display: flex; flex-direction: column; gap: calc(var(--cq-space-1) / 2); min-width: 0; overflow-wrap: break-word; }
.cq-tabla-fila__titulo { font-weight: 600; line-height: 1.35; }
.cq-tabla-fila__linea { font-size: var(--cq-text-14); color: var(--cq-ink-2); line-height: 1.4; }
.cq-tabla-fila__cab > .cq-tabla-fila__avisos { grid-row: 2; grid-column: 2 / 4; display: flex; flex-wrap: wrap; gap: var(--cq-space-1); min-width: 0; }
.cq-tabla-fila__avisos .cq-chip { max-width: 100%; white-space: normal; overflow-wrap: break-word; }
/* El valor nunca aplasta el nombre: cede ancho y, si no entra, pasa a dos líneas. */
.cq-tabla-fila__valor { grid-column: 3; margin-left: var(--cq-space-3); max-width: 40cqi; font-weight: 500; font-variant-numeric: tabular-nums; text-align: end; line-height: 1.5; overflow-wrap: break-word; }
.cq-tabla-fila--bad .cq-tabla-fila__titulo { text-decoration: line-through; color: var(--cq-ink-2); }
/* Detalle: un dato debajo de otro en angosto y tres columnas anchas cuando el contenedor tiene lugar. */
.cq-tabla-fila__cuerpo { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--cq-space-3); padding: 0 var(--cq-space-3) var(--cq-space-3); }
.cq-tabla-fila__cuerpo[hidden] { display: none; }
.cq-tabla-fila__cuerpo > .cq-dato--ancho, .cq-tabla-fila__cuerpo > .cq-tabla-fila__acciones, .cq-tabla-fila__cuerpo > .cq-tabla-dif { grid-column: 1 / -1; }
.cq-tabla-fila__acciones { display: flex; flex-wrap: wrap; gap: var(--cq-space-1); border-top: 1px solid var(--cq-line); padding-top: var(--cq-space-2); }
.cq-tabla-fila__acciones .cq-button { flex: 1; padding-inline: var(--cq-space-2); }
/* Diferencias de una fila cambiada: solo los datos que cambian, el antes tachado y el después. */
.cq-tabla-comparacion { container-type: inline-size; min-width: 0; }
.cq-tabla-dif { display: grid; grid-template-columns: fit-content(40%) minmax(0, 1fr); gap: var(--cq-space-1) var(--cq-space-3); margin: 0; font-size: var(--cq-text-14); line-height: 1.45; }
.cq-tabla-dif dt { color: var(--cq-ink-2); overflow-wrap: break-word; }
.cq-tabla-dif dd { margin: 0; display: flex; flex-direction: column; gap: calc(var(--cq-space-1) / 2); min-width: 0; overflow-wrap: break-word; }
.cq-tabla-dif__antes { color: var(--cq-ink-2); text-decoration-color: var(--cq-ink-2); }
.cq-tabla-dif__despues { color: var(--cq-ink); text-decoration: none; font-weight: 500; }
@container (width >= 44rem) {
  .cq-tabla-fila__cuerpo { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--cq-space-4); padding-left: calc(var(--cq-space-3) * 2 + var(--cq-space-6) + var(--cq-space-1)); }
  .cq-tabla-fila__acciones .cq-button { flex: 0 0 auto; }
}
.cq-editor-lista { display: flex; flex-direction: column; gap: var(--cq-space-2); }
.cq-editor-lista__nueva { display: flex; gap: var(--cq-space-2); align-items: center; }
.cq-editor-lista__nueva .cq-campo { flex: 1; }
.cq-subfila { display: flex; flex-direction: column; gap: var(--cq-space-1); padding: var(--cq-space-2) var(--cq-space-3); }
.cq-subfila + .cq-subfila { border-top: 1px solid var(--cq-line); }
.cq-subfila__cabeza { display: flex; align-items: center; justify-content: space-between; gap: var(--cq-space-2); }
.cq-subfila__titulo { font-weight: 500; min-width: 0; overflow-wrap: anywhere; }
.cq-tabla-ilegible__texto { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; font-size: var(--cq-text-12); color: var(--cq-ink-2); }
.cq-tabla-ilegible summary { min-height: var(--cq-touch); align-content: center; cursor: pointer; }
.cq-area-crece { resize: none !important; overflow-y: auto; max-height: calc(var(--cq-touch) * 8); }
.cq-barra-version { display: flex; flex-direction: column; border: 1px solid var(--cq-line); border-radius: var(--cq-radius-control); background: var(--cq-surface); }
.cq-barra-version__boton { display: flex; align-items: center; gap: var(--cq-space-2); width: 100%; min-height: var(--cq-touch); padding: var(--cq-space-2) var(--cq-space-3); border: 0; background: none; color: var(--cq-ink); text-align: left; border-radius: var(--cq-radius-control); }
.cq-barra-version__boton > .cq-icono { color: var(--cq-ink-2); }
.cq-barra-version__n { flex-shrink: 0; font-weight: 600; }
.cq-barra-version__texto { flex: 1; min-width: 0; }
.cq-barra-version__panel { display: flex; flex-direction: column; align-items: flex-start; gap: var(--cq-space-3); padding: 0 var(--cq-space-3) var(--cq-space-3); }
.cq-barra-version__panel[hidden] { display: none; }
.cq-cursor-ia { display: inline-block; width: 2px; height: 1.1em; margin-inline-start: 1px; vertical-align: text-bottom; background: var(--cq-ai); }
.cq-cursor-ia--bloque { outline: 1px dashed var(--cq-ai); outline-offset: var(--cq-space-1); }
.cq-cursor-ia--marcado { outline: 1px dashed var(--cq-ai); outline-offset: var(--cq-space-1); border-radius: var(--cq-radius-control); }
.cq-cursor-ia__aviso { display: flex; flex-direction: column; gap: var(--cq-space-1); padding: var(--cq-space-3); border: 1px dashed var(--cq-ai); border-radius: var(--cq-radius-card); background: var(--cq-ai-tint); }
.cq-editor-escaleta, .cq-editor-escaleta__lista { display: flex; flex-direction: column; gap: var(--cq-space-3); min-width: 0; }
.cq-escena-editor { display: flex; flex-direction: column; gap: var(--cq-space-3); padding: var(--cq-space-3); border: 1px solid var(--cq-line); border-radius: var(--cq-radius-card); background: var(--cq-surface); scroll-margin-top: var(--cq-space-5); min-width: 0; }
.cq-escena-editor .cq-campo { padding: var(--cq-space-2) var(--cq-space-3); background: var(--cq-bg); border-color: var(--cq-ink-2); }
.cq-escena-editor__cabeza { display: flex; align-items: center; gap: var(--cq-space-2); min-width: 0; }
.cq-escena-editor__cabeza .cq-campo { flex: 1; }
.cq-escena-editor__codigo { flex-shrink: 0; font-weight: 600; }
.cq-escena-editor__fila-duracion { display: flex; align-items: center; gap: var(--cq-space-2); }
.cq-escena-editor__duracion.cq-campo { width: calc(var(--cq-touch) * 2); }
.cq-editor-escaleta__asa { cursor: grab; padding: var(--cq-space-2); margin-left: calc(var(--cq-space-2) * -1); }
@media (width < 37.5em) {
  .cq-diff-modos { display: none; }
  .cq-escena-editor .cq-campo, .cq-brief-conv .cq-campo { font-size: var(--cq-text-16); }
}
/* Compacta: todo ícono lleva etiqueta visible. Va después del lanzador de la charla. */
@media (width < 37.5em) {
  .cq-button--icono { flex-direction: column; gap: 0; padding: var(--cq-space-1); font-size: var(--cq-text-12); line-height: 1.2; }
  .cq-button--icono > span { display: inline; position: static; width: auto; height: auto; margin: 0; overflow: visible; clip-path: none; }
}

/* Charla sin panel: diálogo modal; desde 840 centrado, nunca suelto sobre el documento. */
@media (width >= 52.5em) {
  .cq-charla { inset: 0; margin: auto; width: min(calc(var(--cq-inspector-width) * 2), calc(100% - var(--cq-space-7))); height: min(calc(var(--cq-inspector-width) * 2), 80svh); }
}
/* Compositor: etiqueta, campo y acciones en el flujo del panel o del diálogo. */
.cq-charla__compositor { display: flex; flex-direction: column; gap: var(--cq-space-2); padding: var(--cq-space-3); border-top: 1px solid var(--cq-line); background: var(--cq-surface); }
.cq-charla__compositor textarea { width: 100%; min-height: var(--cq-touch); max-height: calc(6em + var(--cq-space-4)); resize: none; line-height: 1.5; overflow-y: auto; }
.cq-charla__botones { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--cq-space-2); }
.cq-charla__contador { text-align: right; }
.cq-charla__escucha { margin: 0; }
.cq-charla__escucha:empty { display: none; }
/* TASK-259: qué va a pasar al pedir, debajo del campo (lámina R12Compositor). */
.cq-charla__que { display: flex; gap: var(--cq-space-2); align-items: flex-start; margin: 0; font-size: var(--cq-text-12); color: var(--cq-ink-2); line-height: calc(var(--cq-text-12) + var(--cq-space-1) + var(--cq-space-1) / 2); }
.cq-charla__que .cq-icono { width: var(--cq-text-14); height: var(--cq-text-14); flex-shrink: 0; margin-top: calc(var(--cq-space-1) / 2); color: var(--cq-ai); }
.cq-charla__que b { color: var(--cq-ink); }
/* Panel del documento: pestañas y contenidos. */
.cq-panel-documento__ayuda { display: flex; align-items: center; justify-content: space-between; gap: var(--cq-space-2); }
.cq-panel-documento { display: flex; flex-direction: column; gap: var(--cq-space-3); min-width: 0; min-height: 100%; }
.cq-panel-documento__pestanas { display: flex; gap: var(--cq-space-1); border-bottom: 1px solid var(--cq-line); }
.cq-panel-documento__pestana { flex: 1; min-height: var(--cq-touch); padding: var(--cq-space-2); border: 0; border-bottom: 2px solid transparent; background: none; color: var(--cq-ink-2); font: inherit; font-size: var(--cq-text-14); font-weight: 500; }
.cq-panel-documento__pestana[aria-selected="true"] { color: var(--cq-ink); border-bottom-color: var(--cq-accent); }
.cq-panel-documento__pestana:focus-visible { outline: none; box-shadow: var(--cq-focus-ring); }
.cq-panel-documento__pestana[hidden], .cq-panel-documento__contenido[hidden] { display: none; }
.cq-panel-documento__contenido { flex: 1; min-width: 0; }
.cq-panel-documento [data-pestana="claqueta"] { display: flex; flex-direction: column; }
.cq-panel-documento [data-pestana="claqueta"][hidden] { display: none; }
.cq-panel-documento .cq-charla__turnos { flex: none; overflow: visible; padding: 0; }
.cq-panel-documento .cq-charla__compositor { margin-inline: calc(var(--cq-space-3) * -1); }
/* En el panel el navegador de escenas ya tiene su pestaña: no hace falta ocultarlo. */
.cq-panel-documento .cq-escenas > .cq-button:last-child { display: none; }
/* Hoja (menos de 600): el pedido va primero y Aplicar queda fijo al pie de la hoja mientras la propuesta está pendiente. */
/* Sin propuesta pendiente, el pedido va arriba (lienzo R5, «Pedir y charlar»); con una pendiente, la propuesta va primero. */
.cq-inspector[data-modo="hoja"] .cq-panel-documento .cq-charla__compositor { margin: 0; padding: var(--cq-space-3) 0 0; border-top: 1px solid var(--cq-line); background: none; }
.cq-inspector[data-modo="hoja"] .cq-panel-documento [data-pestana="claqueta"]:not(:has(.cq-propuesta[data-estado="propuesta"], .cq-propuesta[data-estado="generando"])) .cq-charla__compositor { order: -1; padding: 0 0 var(--cq-space-3); border-top: 0; border-bottom: 1px solid var(--cq-line); }
.cq-inspector .cq-panel-documento .cq-propuesta[data-estado="propuesta"] > .cq-acciones { position: sticky; bottom: calc(var(--cq-space-3) * -1); z-index: 1; align-self: stretch; margin-inline: calc(var(--cq-space-3) * -1 - 1px); margin-bottom: calc(var(--cq-space-3) * -1 - 1px); padding: var(--cq-space-2) var(--cq-space-3); background: var(--cq-surface); border-top: 1px solid var(--cq-line); }
/* Columna y encima (desde 600): el compositor queda al pie del panel, como en el lienzo. Con una propuesta
   pendiente cede el pie a Aplicar, que es la decisión del momento, y sigue en el flujo debajo. */
.cq-inspector:not([data-modo="hoja"]) .cq-panel-documento .cq-charla__compositor { position: sticky; z-index: 2; bottom: calc(var(--cq-space-3) * -1); margin-top: auto; margin-bottom: calc(var(--cq-space-3) * -1); }
.cq-inspector:not([data-modo="hoja"]) .cq-panel-documento [data-pestana="claqueta"]:has(.cq-propuesta[data-estado="propuesta"]) .cq-charla__compositor { position: static; }
/* Edición: Cancelar y Guardar comparten la zona en el teléfono. */
.cq-zona > .cq-documento-primaria > .cq-button { flex: 1; width: auto; }
/* El papel empieza arriba: debajo de la tira solo va la barra de versión (A7 de DOC-227). */
.cq-contenido--documento { padding-top: var(--cq-space-3); gap: var(--cq-space-3); }

/* R12 · Archivos del documento (TASK-258): Descargar, Cargar correcciones y «Por revisar». */
.cq-documento-archivos { display: none; align-items: center; gap: var(--cq-space-2); }
.cq-documento-archivos .cq-button { white-space: nowrap; }
@media (width >= 52.5em) { .cq-documento-archivos { display: flex; } }
.cq-archivos-hoja[open] { display: flex; flex-direction: column; gap: var(--cq-space-3); }
.cq-archivos-hoja__cab { display: flex; align-items: center; justify-content: space-between; gap: var(--cq-space-2); }
.cq-archivos-hoja__cab .cq-seccion-titulo { margin: 0; overflow-wrap: anywhere; }
.cq-archivos-hoja__cuerpo { display: flex; flex-direction: column; gap: var(--cq-space-3); }
.cq-archivos-hoja__cuerpo p { margin: 0; line-height: 1.45; }
.cq-archivos-hoja__pie { display: flex; gap: var(--cq-space-2); }
.cq-archivos-hoja__principal { flex: 1; }
@media (width >= 37.5em) { .cq-archivos-hoja.cq-menu__hoja { width: calc(var(--cq-touch) * 8); } }
.cq-archivos-formatos { display: flex; flex-direction: column; gap: var(--cq-space-1); }
.cq-archivos-formato { display: flex; align-items: center; gap: var(--cq-space-3); width: 100%; min-height: calc(var(--cq-touch) + var(--cq-space-3)); padding: var(--cq-space-2) var(--cq-space-3); border: 1px solid transparent; border-radius: var(--cq-radius-control); background: none; color: inherit; font: inherit; text-align: start; cursor: pointer; }
.cq-archivos-formato[aria-checked="true"] { border-color: var(--cq-accent); background: var(--cq-accent-tint); }
.cq-archivos-formato:focus-visible { outline: none; box-shadow: var(--cq-focus-ring); }
.cq-archivos-formato > .cq-icono { flex-shrink: 0; color: var(--cq-ink-2); }
.cq-archivos-formato__textos, .cq-archivos-elegido__textos { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cq-archivos-formato__nombre, .cq-archivos-elegido__nombre { font-weight: 500; }
.cq-archivos-elegido { display: flex; align-items: center; gap: var(--cq-space-3); padding: var(--cq-space-3); border: 1px solid var(--cq-line); border-radius: var(--cq-radius-card); background: var(--cq-surface-2); }
.cq-archivos-elegido[hidden] { display: none; }
.cq-archivos-elegido > .cq-icono { flex-shrink: 0; color: var(--cq-ink-2); }
.cq-archivos-elegido__nombre { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.cq-hoja > .cq-revisar { margin-bottom: var(--cq-space-3); }
.cq-revisar { display: flex; flex-direction: column; gap: var(--cq-space-2); padding: var(--cq-space-3) var(--cq-space-4); border: 1px solid var(--cq-warn); border-radius: var(--cq-radius-card); background: var(--cq-warn-tint); color: var(--cq-ink); font-family: var(--cq-font-ui); }
.cq-revisar p { margin: 0; line-height: 1.45; }
.cq-revisar__cab { display: flex; align-items: center; flex-wrap: wrap; gap: var(--cq-space-2); }
.cq-revisar__cab > .cq-icono { flex-shrink: 0; color: var(--cq-warn); }
[data-theme="light"] .cq-revisar__cab > .cq-icono { color: color-mix(in srgb, var(--cq-warn) 60%, var(--cq-ink)); }
.cq-revisar__cab .cq-meta { overflow-wrap: anywhere; }
.cq-decisiones { display: flex; flex-direction: column; gap: var(--cq-space-2); margin: 0; padding: 0; list-style: none; }
.cq-decision { display: flex; flex-direction: column; gap: var(--cq-space-1); padding: var(--cq-space-2) var(--cq-space-3); border: 1px solid var(--cq-line); border-radius: var(--cq-radius-control); background: var(--cq-surface-2); overflow-wrap: anywhere; }
.cq-decision__cab { display: flex; align-items: center; flex-wrap: wrap; gap: var(--cq-space-2); }
.cq-decision__antes { color: var(--cq-ink-2); }
.cq-decision__despues { color: var(--cq-ink); }
/* Desde 600 la ventana de archivos se ancla al botón, como «···»; no hereda el margen de la hoja inferior. */
@media (width >= 37.5em) { .cq-archivos-hoja.cq-menu__hoja { margin: 0; max-height: calc(100dvh - var(--cq-space-6)); } }
