/* Inicio, Proyectos, Documentos y Proyecto. */
/* Toda medida visual deriva del sistema compartido; cortes únicos 600 (37.5em), 840 (52.5em) y 1200 (75em). */

/* Filas de lista: ícono, nombre, una línea de detalle y la flecha de entrar. */
.cq-filas { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; min-width: 0; }
.cq-filas__item { display: flex; align-items: center; gap: var(--cq-space-1); min-width: 0; border-top: 1px solid var(--cq-line); }
.cq-filas__item > .cq-fila { flex: 1; border-top: 0; }
.cq-filas > .cq-fila:first-child, .cq-filas > .cq-filas__item:first-child { border-top: 0; }
.cq-fila { display: flex; align-items: center; gap: var(--cq-space-3); min-width: 0; min-height: var(--cq-touch); padding: var(--cq-space-3) var(--cq-space-2); border-top: 1px solid var(--cq-line); border-radius: var(--cq-radius-control); color: var(--cq-ink); text-decoration: none; }
.cq-fila[hidden] { display: none; }
.cq-fila:focus-visible { outline: none; box-shadow: var(--cq-focus-ring); }
.cq-fila__glifo { flex-shrink: 0; color: var(--cq-ink-2); }
.cq-fila__ir { flex-shrink: 0; color: var(--cq-ink-2); }
.cq-fila__textos { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--cq-space-1); }
.cq-fila__nombre { overflow-wrap: anywhere; }
.cq-fila__meta { color: var(--cq-ink-2); font-size: var(--cq-text-14); overflow-wrap: anywhere; }
.cq-fila__avance:empty { display: none; }
.cq-fila__avance { display: block; padding-top: var(--cq-space-1); }
.cq-fila--listo .cq-fila__glifo { color: var(--cq-ink); }
.cq-fila--actual { background: var(--cq-accent-tint); }
.cq-fila--actual .cq-fila__glifo { color: var(--cq-accent); }
[data-theme="light"] .cq-fila--actual .cq-fila__glifo { color: color-mix(in srgb, var(--cq-accent) 60%, var(--cq-ink)); }
.cq-fila--fallida .cq-fila__glifo { color: var(--cq-bad); }
/* Lo que sigue: filas sin enlace, solo con su «?». */
.cq-fila--estatica { color: var(--cq-ink-2); }
@media (hover: hover) {
  .cq-fila:hover { background: var(--cq-surface-2); }
  .cq-fila--estatica:hover { background: none; }
}

/* Inicio. */
.cq-inicio { display: grid; gap: var(--cq-space-6); }
.cq-inicio > section { min-width: 0; align-self: start; }
.cq-inicio > section[hidden] { display: none; }
.cq-inicio h3 { margin: 0; overflow-wrap: anywhere; }
.cq-inicio .cq-button--enlace { align-self: flex-start; }
.cq-seguir > .cq-button { align-self: stretch; }
.cq-inicio__documento { display: flex; align-items: center; min-height: var(--cq-touch); padding-block: var(--cq-space-2); color: var(--cq-ink); border-bottom: 1px solid var(--cq-line); text-decoration: none; overflow-wrap: anywhere; }
.cq-inicio__documento:hover { color: var(--cq-ai); }
@media (width >= 52.5em) {
  .cq-inicio { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cq-inicio__continuar, .cq-inicio__atencion { grid-column: 1; }
  .cq-inicio__proyectos { grid-column: 2; grid-row: 1 / span 2; }
  .cq-inicio__documentos { grid-column: 1; }
  .cq-seguir > .cq-button { align-self: flex-start; }
}

/* Proyectos y Documentos. */
.cq-fila-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cq-space-2); }
.cq-filtros { display: grid; grid-template-columns: repeat(4, max-content); gap: var(--cq-space-1); }
.cq-filtros .cq-button { border-radius: var(--cq-radius-pill); padding-inline: var(--cq-space-2); }
.cq-filtros [aria-pressed="true"] { color: var(--cq-ink); background: var(--cq-accent-tint); border-color: var(--cq-accent); }
.cq-lista-proyectos > .cq-muted[hidden] { display: none; }
@media (width >= 52.5em) {
  .cq-lista-proyectos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--cq-space-5); }
  .cq-lista-proyectos > .cq-fila:nth-child(2) { border-top: 0; }
  .cq-lista-proyectos > .cq-empty, .cq-lista-proyectos > .cq-cargando, .cq-lista-proyectos > .cq-muted, .cq-opciones > .cq-empty, .cq-opciones > .cq-cargando { grid-column: 1 / -1; }
  .cq-lista-proyectos > .cq-empty { min-height: calc(var(--cq-space-7) * 8); justify-content: center; }
}
.cq-documentos-grupos { display: grid; gap: var(--cq-space-5); align-items: start; }
.cq-grupo-proyecto { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cq-space-2); }
.cq-grupo-proyecto h2 { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.cq-grupo-proyecto__enlace { display: inline-flex; align-items: center; min-height: var(--cq-touch); color: var(--cq-ink); text-decoration: underline; text-decoration-color: var(--cq-line); text-underline-offset: var(--cq-space-1); }
.cq-grupo-proyecto__enlace:hover { text-decoration-color: currentColor; }
.cq-documentos__lista { list-style: none; margin: 0; padding: 0; }
.cq-documento { display: flex; align-items: center; gap: var(--cq-space-3); padding-block: var(--cq-space-4); border-bottom: 1px solid var(--cq-line); color: inherit; text-decoration: none; }
.cq-documento .cq-chip { flex-shrink: 0; }
.cq-documento__textos { flex: 1; min-width: 0; overflow-wrap: anywhere; }
@media (hover: hover) {
  .cq-documento:hover { background: var(--cq-surface-2); }
}
@media (width >= 52.5em) {
  .cq-documentos-grupos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Proyecto: lo que falló arriba, portada, lo que sigue, fases y lo demás. */
.cq-proyecto { gap: var(--cq-space-6); }
.cq-atencion { display: flex; flex-direction: column; gap: var(--cq-space-3); min-width: 0; }
.cq-portada { display: flex; flex-direction: column; align-items: flex-start; gap: var(--cq-space-3); min-width: 0; }
.cq-portada__titulo { display: flex; align-items: center; gap: var(--cq-space-2); min-width: 0; max-width: 100%; }
.cq-portada__titulo > .cq-display { min-width: 0; overflow-wrap: anywhere; }
.cq-portada .cq-logline { max-width: var(--cq-measure); }
.cq-sigue { align-items: stretch; }
.cq-sigue > p { max-width: var(--cq-measure); }
.cq-sigue .cq-propuesta__rotulo { display: flex; align-items: center; gap: var(--cq-space-2); font-weight: 500; }
.cq-sigue > .cq-button--enlace { align-self: flex-start; }
.cq-fases { display: grid; gap: var(--cq-space-6); min-width: 0; }
.cq-fase { display: flex; flex-direction: column; gap: var(--cq-space-2); min-width: 0; }
.cq-fase__cabecera { display: flex; align-items: baseline; justify-content: space-between; gap: var(--cq-space-2); }
.cq-fase__titulo { margin: 0; font-size: var(--cq-text-14); font-weight: 500; color: var(--cq-ink-2); }
.cq-ayuda-proyecto { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cq-space-2); padding-top: var(--cq-space-3); border-top: 1px solid var(--cq-line); }
.cq-ayuda-proyecto .cq-campo { width: auto; min-width: calc(var(--cq-touch) * 3); max-width: calc(var(--cq-space-1) * 56); flex: 1; padding-inline: var(--cq-space-2); font-size: var(--cq-text-14); }
.cq-aviso-kit { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cq-space-2); border: 1px solid var(--cq-line); background: var(--cq-surface); border-radius: var(--cq-radius-card); padding: var(--cq-space-3) var(--cq-space-4); }
.cq-aviso-kit > p { flex: 1 1 calc(var(--cq-touch) * 5); max-width: var(--cq-measure); color: var(--cq-ink-2); }
.cq-panel-vacio { display: flex; flex-direction: column; gap: var(--cq-space-2); }
.cq-panel-vacio[hidden] { display: none; }
@media (width >= 52.5em) {
  .cq-portada .cq-display { font-size: var(--cq-text-28); }
}
/* Desde 1200 las fases quedan lado a lado mientras cada una tenga al menos cinco áreas táctiles de ancho. */
@media (width >= 75em) {
  .cq-fases { grid-template-columns: repeat(auto-fit, minmax(calc(var(--cq-touch) * 5), 1fr)); gap: var(--cq-space-5); }
}

/* R10 · Dónde y para quién: aviso «por confirmar», fila del proyecto, campos y nodo del panel. Solo tokens. */
.cq-lugar-proyecto { gap: var(--cq-space-3); }
.cq-lugar-aviso { display: flex; gap: var(--cq-space-3); align-items: flex-start; max-width: var(--cq-measure); 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); }
.cq-lugar-aviso__icono { flex-shrink: 0; margin-top: var(--cq-space-1); color: var(--cq-warn); }
.cq-lugar-aviso__texto { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--cq-space-2); overflow-wrap: anywhere; }
.cq-lugar-aviso__titulo { font-weight: 600; }
.cq-lugar-aviso .cq-acciones { display: flex; flex-wrap: wrap; gap: var(--cq-space-2); }
.cq-lugar-proyecto .cq-filas { max-width: var(--cq-measure); border: 1px solid var(--cq-line); border-radius: var(--cq-radius-card); background: var(--cq-surface); }
button.cq-lugar-fila { width: 100%; border: 0; background: none; font: inherit; text-align: left; cursor: pointer; padding-inline: var(--cq-space-3); }
.cq-lugar-fila .cq-chip { flex-shrink: 0; }
.cq-lugar-fila:focus-visible { outline: none; box-shadow: var(--cq-focus-ring); }
.cq-lugar__campos { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--cq-space-3); }
.cq-lugar__campos[hidden], .cq-lugar__campo[hidden] { display: none; }
.cq-lugar__campo { gap: var(--cq-space-1); }
.cq-lugar__campo > label { font-size: var(--cq-text-14); }
.cq-lugar select.cq-input { appearance: auto; }
.cq-lugar > .cq-button--primario { align-self: flex-start; }
.cq-lugar-panel { display: flex; flex-direction: column; gap: var(--cq-space-2); padding: var(--cq-space-3); border: 1px solid var(--cq-line); border-radius: var(--cq-radius-card); background: var(--cq-bg); }
.cq-lugar-panel__cabeza { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cq-space-2); }
.cq-lugar-panel__titulo { font-size: var(--cq-text-12); font-weight: 600; color: var(--cq-ink-2); }
.cq-lugar-panel__datos { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--cq-space-1) var(--cq-space-3); margin: 0; font-size: var(--cq-text-14); }
.cq-lugar-panel__datos dt { color: var(--cq-ink-2); }
.cq-lugar-panel__datos dd { margin: 0; overflow-wrap: anywhere; }
.cq-lugar-panel > .cq-button { align-self: flex-start; }
@container (width >= 30rem) {
  .cq-lugar__campos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
