/* Estados de la página (T45): datos ficticios, cargando, día sin datos, error de carga.
   Solo usa los tokens y las piezas del diseño C aprobado (base.css): vacío punteado, chip de muestra, kicker y botones. */

/* banda «Datos ficticios»: fina, bajo la barra superior, nunca tapa el contenido */
.banda-fixture { background: var(--sv-bg); border-bottom: 1px solid var(--linea); }
.banda-fixture .wrap { display: flex; align-items: center; gap: 12px; min-height: 36px; padding-top: 6px; padding-bottom: 6px; font-size: 13.5px; color: var(--noche); }
.banda-fixture .chip-muestra { flex: none; background: #fff; }

/* cargando: esqueleto con la forma final de la vista (un bloque por zona) */
.cargando { position: relative; }
.cargando .vacio-t { font-size: 15px; color: var(--pizarra); }
.esq { display: block; background: var(--niebla); border-radius: var(--r); }
.esq-kick { width: 220px; height: 12px; }
.esq-h2 { width: min(420px, 70%); height: 24px; margin-top: 12px; }
.esq-filete { height: 1px; margin-top: 14px; background: var(--linea); border-radius: 0; }
.esq-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 40px; margin-top: 20px; }
.esq-cols .esq { height: 112px; }
.esq-tarjs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 56px; }
.esq-tarjs .esq { aspect-ratio: 16 / 9; }
.esq-mapa { height: 560px; margin-top: 18px; }
.esq-lista .esq { height: 72px; margin-top: 12px; }
.cargando-txt { margin-top: 20px; font: 500 13px/1.4 var(--mono); color: var(--musgo); letter-spacing: .04em; }
@media (prefers-reduced-motion: no-preference) {
  .esq { animation: esq-pulso 1.4s ease-in-out infinite alternate; }
  @keyframes esq-pulso { from { opacity: 1; } to { opacity: .55; } }
}

/* día sin datos y error de carga: mismo bloque punteado que «sin resultados», con su texto y sus acciones */
.estado-dia { max-width: 760px; }
.estado-dia .kick-mini { margin-bottom: 8px; }
.estado-dia.error { border-color: var(--sv); }
.estado-dia.error .kick-mini { color: var(--sv); }
.estado-dia .vacio-m { margin-top: 6px; font-size: 14.5px; color: var(--pizarra); }

/* control de días del mapa: un día sin datos se marca con trazo punteado y texto, no solo gris */
.dia-b.sin { border-style: dashed; color: var(--musgo); }
.dia-b.sin[aria-pressed="true"] { color: #fff; border-style: solid; }
.dia-b small.sd { font: 500 11px/1 var(--mono); }

/* descarga deshabilitada: con texto, no solo gris; en móvil, versión corta para que quepa en la barra */
.docx-corto { display: none; }

@media (max-width: 1180px) {
  .esq-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .banda-fixture .wrap { align-items: flex-start; font-size: 13px; }
  .esq-cols, .esq-tarjs { grid-template-columns: minmax(0, 1fr); }
  .esq-cols .esq:nth-child(n+2), .esq-tarjs .esq:nth-child(n+2) { display: none; }
  .esq-tarjs { margin-top: 44px; }
  .esq-mapa { height: 320px; margin-left: -16px; margin-right: -16px; border-radius: 0; }
  .estado-dia .vacio-acc .btn { min-height: 44px; white-space: normal; text-align: left; }
  .top-acc .btn.sin-docx { width: auto; padding: 0 10px; font-size: 13px; }
  .docx-corto { display: inline; }
}
