/* Editor · vista «Informe de claridad».
   Troceado de `compact_workspace.css` (lote C3). Carga en `head_extra` de
   editor/editor.html, ANTES del núcleo: ante una regla del núcleo con la misma
   especificidad, pierde. El orden entre módulos lo fija tests/css_manifest.py. */
/* =====================================================================
   VISTA «INFORME DE CLARIDAD»
   Segunda vista del área principal, hermana del editor en la retícula: el
   shell lleva data-editor-view y aquí se decide cuál de las dos ocupa la
   pantalla. El informe se lee a todo lo ancho — sin carriles: ni estructura
   ni recomendaciones tienen nada que decir sobre un PDF ya generado.
   ===================================================================== */
/* La vista vive DENTRO del marco, como hermana del folio, y crece en el hueco
   que dejan la tira de la cinta y la barra de estado: `flex:1` con
   `min-height:0`, no una altura de ventana propia. Colgaba del shell con un
   `grid-area:report` que ninguna retícula declaraba —caía en pistas
   implícitas— y ocupaba la ventana entera escondiendo `.editor-main-panel`,
   la cinta con él. */
.editor-report-view { display:none; flex:1 1 auto; flex-direction:column; min-width:0; min-height:0; background:var(--insp-surface-2); }
.public-editor-shell[data-editor-view="informe"] .editor-report-view { display:flex; }
/* Lo que se retira es el FOLIO y su cromo, no el marco: la tira de la cinta
   se queda y es la barra de aplicación de las tres vistas. La fila de
   comandos y las pestañas sí se van —hablan del texto, y aquí no hay texto
   que mandar— pero eso lo decide el bloque de la barra, más abajo. */
.public-editor-shell[data-editor-view="informe"] .editor-import-notice,
.public-editor-shell[data-editor-view="informe"] .editor-document-card,
.public-editor-shell[data-editor-view="informe"] .editor-statusbar,
.public-editor-shell[data-editor-view="informe"] .editor-rail,
.public-editor-shell[data-editor-view="informe"] .rail-reopen { display:none; }
/* La columna de contenido es una sola en la vista de informe. Los selectores
   repiten las clases de apertura de carril porque las reglas de la retícula
   (arriba) las llevan: sin igualar su especificidad, la vista de informe
   heredaría columnas para carriles que ya no se pintan. */
.public-editor-shell.is-structure-open.is-suggestions-open[data-editor-view="informe"],
.public-editor-shell.is-structure-open[data-editor-view="informe"],
.public-editor-shell.is-suggestions-open[data-editor-view="informe"],
.public-editor-shell[data-editor-view="informe"] { grid-template-columns:minmax(0,1fr); grid-template-areas:"editor"; }

.report-view-head { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:12px 18px; background:var(--bg-card); border-bottom:1px solid var(--insp-line); }
/* El aviso de error baja a su propia línea en vez de meterse entre el título y
   el botón: en estrecho el título ocupa tres líneas y ahí no cabe nadie. */
.report-view-status:not(:empty) { flex:1 0 100%; order:3; margin:0; }
/* La identidad se queda el espacio libre para que el estado de la descarga y
   el botón queden juntos a la derecha, sin repartirse el hueco entre ellos. */
.report-view-id { display:flex; flex:1; flex-direction:column; min-width:0; }
.report-view-id strong { font-size:14px; color:var(--insp-ink); }
.report-view-id small { font-size:11.5px; color:var(--insp-muted); }
/* Descargar el PDF es LA acción de esta vista: el informe se lee aquí y se
   guarda ahí. Va con cuerpo de botón principal, no de enlace discreto. */
.report-view-download { display:inline-flex; align-items:center; gap:9px; margin-left:auto; padding:11px 20px; color:var(--text-inverse); background:var(--ed-accent); border-radius:10px; font-size:14px; font-weight:600; letter-spacing:.01em; text-decoration:none; box-shadow:0 4px 12px rgba(16,40,70,.16); }
.report-view-download:hover { background:var(--ed-accent-dark); }
.report-view-download svg { width:18px; height:18px; }
.report-view-download.is-disabled { color:var(--insp-muted); background:var(--insp-line-2); box-shadow:none; }
.report-view-download.is-disabled:hover { background:var(--insp-line-2); }
/* Estado de carga: el PDF se pide por fetch para poder enseñar que está en
   marcha —la primera vez lo compone WeasyPrint y tarda—, y mientras dura el
   botón cambia de icono (loader-2), de rótulo y de cursor, y no admite más
   clics. Mismo giro que el de «Analizar», ed-spin, y misma renuncia con
   prefers-reduced-motion: el icono se queda quieto y lo que informa es el
   rótulo. */
.report-view-download.is-loading { cursor:progress; background:var(--ed-accent-dark); box-shadow:none; }
.report-view-download.is-loading:hover { background:var(--ed-accent-dark); }
.report-view-download.is-loading svg { animation:ed-spin .8s linear infinite; }
@media (prefers-reduced-motion: reduce) { .report-view-download.is-loading svg { animation:none; } }
/* El resultado de la descarga, con las clases de la caja de estado del menú
   Archivo (.editor-file-status), al lado del botón que lo produce. */
.report-view-status { flex:0 1 auto; font-size:12px; }

/* El cuerpo es el contenedor de desplazamiento: el informe HTML crece hacia
   abajo tanto como haga falta, no se pagina. */
.report-view-body { flex:1; display:flex; flex-direction:column; min-height:0; overflow:auto; padding:22px 16px 40px; }
/* El fragmento del servidor trae su propio ancho y su propia hoja; aquí solo
   se le da sitio. Todo lo que pinta cuelga de .artext-dossier. */
.report-view-doc { width:100%; }
.report-view-doc[hidden] { display:none; }
.report-view-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; flex:1; color:var(--insp-muted); text-align:center; }
.report-view-empty[hidden] { display:none; }
.report-view-empty svg { width:34px; height:34px; opacity:.5; }
.report-view-empty h2 { font-size:15px; color:var(--insp-ink); }
.report-view-empty p { max-width:38ch; font-size:12.5px; }
.report-view-retry { margin-top:6px; padding:8px 15px; color:var(--text-inverse); background:var(--ed-accent); border:0; border-radius:9px; font-size:12.5px; font-weight:600; cursor:pointer; }
.report-view-retry:hover { background:var(--ed-accent-dark); }
