/* ==========================================================================
   Rento · css/paginas/actas.css
   #acta-<reservaId>-entrega|devolucion, #danio-<reservaId> y #reclamo-<reservaId>
   (js/paginas/actas.js, pieza L · dev/DISENO-v3.md §3.13 y §7.3). Prefijo .pg-actas;
   clases internas ac-*. Sólo tokens de base.css: anda en claro y en oscuro sin colores
   literales. La constancia se imprime (o se guarda en PDF) con @media print, al final.
   ========================================================================== */

.pg-actas {
  padding-block: clamp(20px, 3vw, 32px) clamp(32px, 5vw, 56px);
}
.pg-actas .ac-contenedor { max-width: calc(880px + 2 * var(--gutter)); }
.pg-actas p { margin: 0; }
.pg-actas .ac-gris { color: var(--tinta-2); }
.pg-actas .vacio-texto { margin-bottom: 12px; }

/* Vistas de acceso (sin sesión, reserva no encontrada) */
.pg-actas .ac-pagina-cabecera { margin-bottom: clamp(24px, 3vw, 32px); }
.pg-actas .ac-pagina-h1 { margin: 0; }
.pg-actas .ac-sin-sesion { border-top: 1px solid var(--borde-suave); padding-block: 24px 32px; }
.pg-actas .ac-sin-sesion .vacio { padding-block: 40px 24px; }
.pg-actas .ac-acceso { padding-block: clamp(24px, 6vw, 64px); }
.pg-actas .ac-acceso .vacio { max-width: 520px; }

/* --------------------------------------------------------------------------
   Cabecera: estado, título, vehículo y fechas; la ilustración del vehículo al costado
   -------------------------------------------------------------------------- */
.pg-actas .ac-cabecera {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px 24px;
  align-items: start;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--borde-suave);
}
.pg-actas .ac-cabecera-texto { display: grid; gap: 6px; min-width: 0; }
.pg-actas .ac-cabecera h1 { margin: 0; }
.pg-actas .ac-cabecera-estado { display: flex; flex-wrap: wrap; gap: 8px; }
.pg-actas .ac-cabecera-auto { font-weight: 600; font-size: 16px; overflow-wrap: anywhere; }
.pg-actas .ac-cabecera-auto .ac-gris { font-weight: 400; font-variant-numeric: tabular-nums; }
.pg-actas .ac-cabecera-quien { font-size: 14px; overflow-wrap: anywhere; }
.pg-actas .ac-codigo { color: var(--tinta); font-weight: 600; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; }
.pg-actas .ac-cabecera-acciones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.pg-actas .ac-cabecera-foto {
  width: 132px;
  aspect-ratio: 4 / 3;
  border-radius: var(--radio-m);
  overflow: hidden;
  background: var(--fondo-2);
}
.pg-actas .ac-cabecera-foto .foto-auto { width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0; }
.pg-actas .ac-cabecera-foto .foto-auto > img,
.pg-actas .ac-cabecera-foto .foto-auto > svg { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 559px) {
  .pg-actas .ac-cabecera-foto { width: 84px; }
}

.pg-actas .ac-momento {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 16px 0 0;
  color: var(--tinta-2);
  font-size: 15px;
}
.pg-actas .ac-momento .icono { flex: none; color: var(--tinta); }

/* --------------------------------------------------------------------------
   Secciones, avisos y textos
   -------------------------------------------------------------------------- */
.pg-actas .ac-aviso { margin-top: 20px; }
.pg-actas .ac-aviso:focus { outline: none; }
.pg-actas .ac-aviso:focus-visible { box-shadow: var(--foco); }
.pg-actas .ac-aviso-texto { min-width: 0; display: grid; gap: 6px; }
.pg-actas .ac-aviso + .ac-aviso { margin-top: 12px; }

.pg-actas .ac-seccion {
  padding-block: clamp(24px, 4vw, 32px);
  border-bottom: 1px solid var(--borde-suave);
  min-width: 0;
}
.pg-actas .ac-seccion:last-child { border-bottom: 0; }
.pg-actas .ac-seccion:focus { outline: none; }
.pg-actas .ac-h2 { margin: 0 0 12px; font-size: var(--t-22); }
.pg-actas .ac-h2:focus { outline: none; }
.pg-actas .ac-h3 { margin: 0; font-size: var(--t-18); }
.pg-actas .ac-intro { margin-bottom: 16px; max-width: 64ch; line-height: 1.5; }
.pg-actas .ac-seccion-cabeza {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 16px;
  margin-bottom: 12px;
}
.pg-actas .ac-seccion-cabeza .ac-h2 { margin: 0; }

/* Lo que tiene que hacer quien mira (responder, pagar, subir el presupuesto): con el acento azul a la izquierda */
.pg-actas .ac-destacada {
  margin-top: 20px;
  padding: clamp(18px, 3vw, 24px);
  border: 1px solid var(--borde);
  border-left: 4px solid var(--azul);
  border-radius: var(--radio-m);
  background: var(--superficie);
}
.pg-actas .ac-destacada + .ac-seccion { margin-top: 8px; }

.pg-actas .ac-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; }
.pg-actas .ac-acciones:first-child { margin-top: 0; }
.pg-actas .ac-acciones [hidden] { display: none; }
.pg-actas .ac-error { align-items: flex-start; margin-top: 12px; }
.pg-actas .ac-error .icono { flex: none; margin-top: 2px; }
.pg-actas .ac-error:focus { outline: none; }

.pg-actas .ac-spinner {
  width: 16px;
  height: 16px;
  flex: none;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: ac-girar 0.8s linear infinite;
}
@keyframes ac-girar { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .pg-actas .ac-spinner { animation-duration: 2.4s; }
}

/* Datos (medición, montos, datos de la reserva) */
.pg-actas .ac-datos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr));
  gap: 12px 20px;
  margin: 0 0 16px;
}
.pg-actas .ac-dato { min-width: 0; }
.pg-actas .ac-dato dt { color: var(--tinta-2); font-size: 13px; }
.pg-actas .ac-dato dd { margin: 2px 0 0; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
@media (min-width: 744px) {
  .pg-actas .ac-datos { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
  .pg-actas .ac-datos-montos { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
}

.pg-actas .ac-notas { margin-bottom: 16px; max-width: 64ch; overflow-wrap: anywhere; }
.pg-actas .ac-cita {
  margin: 12px 0 16px;
  padding: 12px 16px;
  border-left: 3px solid var(--borde);
  background: var(--fondo-2);
  border-radius: 0 var(--radio-s) var(--radio-s) 0;
  white-space: pre-line;
  overflow-wrap: anywhere;
  max-width: 64ch;
}
.pg-actas .ac-respuesta {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  line-height: 1.45;
}
.pg-actas .ac-respuesta > .icono { flex: none; margin-top: 2px; color: var(--tinta-2); }
.pg-actas .ac-respuesta-ok > .icono { color: var(--exito); }
.pg-actas div.ac-respuesta { display: block; }
.pg-actas .ac-respuesta-titulo { display: flex; align-items: flex-start; gap: 8px; }
.pg-actas .ac-respuesta-titulo > .icono { flex: none; margin-top: 2px; color: var(--alerta); }
.pg-actas .ac-decision { display: flex; align-items: flex-start; gap: 8px; }
.pg-actas .ac-decision > .icono { flex: none; margin-top: 2px; color: var(--azul); }
.pg-actas .ac-motivos { margin: 10px 0 0; padding-left: 1.4em; display: grid; gap: 4px; }
.pg-actas .ac-informado-en { margin-bottom: 10px; font-size: 14px; }
.pg-actas .ac-garantia {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 20px;
  color: var(--tinta-2);
  font-size: 14px;
  line-height: 1.45;
}
.pg-actas .ac-garantia .icono { flex: none; margin-top: 1px; color: var(--tinta); }

/* --------------------------------------------------------------------------
   Fotos del acta: progreso y casillas por etiqueta
   -------------------------------------------------------------------------- */
.pg-actas .ac-progreso { display: inline-flex; align-items: baseline; gap: 8px; color: var(--tinta-2); font-size: 14px; }
.pg-actas .ac-progreso strong { color: var(--tinta); font-size: var(--t-22); font-weight: 700; font-variant-numeric: tabular-nums; }
.pg-actas .ac-barra {
  height: 8px;
  margin-bottom: 16px;
  border-radius: var(--radio-pill);
  background: var(--fondo-2);
  box-shadow: inset 0 0 0 1px var(--borde-suave);
  overflow: hidden;
}
.pg-actas .ac-barra > span { display: block; height: 100%; border-radius: inherit; background: var(--azul-relleno); transition: width 0.3s ease; }
.pg-actas .ac-barra.is-completa > span { background: var(--exito); }
@media (prefers-reduced-motion: reduce) {
  .pg-actas .ac-barra > span { transition: none; }
}

.pg-actas .ac-grilla {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 148px), 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pg-actas .ac-slot { display: grid; gap: 6px; min-width: 0; align-content: start; }
.pg-actas .ac-slot-boton {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 4px;
  width: 100%;
  aspect-ratio: 4 / 3;
  padding: 10px;
  border: 1.5px dashed var(--borde-control);
  border-radius: var(--radio-m);
  background: var(--fondo-2);
  color: var(--tinta);
  font: inherit;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.15s, background-color 0.15s;
}
.pg-actas .ac-slot-boton:hover:not(:disabled) { border-color: var(--tinta); background: var(--superficie); }
.pg-actas .ac-slot-boton:focus-visible { outline: none; box-shadow: var(--foco); }
.pg-actas .ac-slot-boton:disabled { cursor: not-allowed; opacity: 0.6; }
.pg-actas .ac-slot-icono { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--superficie); color: var(--azul); box-shadow: 0 0 0 1px var(--borde-suave); }
.pg-actas .ac-slot-nombre { display: inline-flex; align-items: center; gap: 4px; min-width: 0; font-size: 14px; font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.pg-actas .ac-slot-nombre .icono { flex: none; color: var(--exito); }
.pg-actas .ac-slot-accion { color: var(--tinta-2); font-size: 12px; line-height: 1.25; }
.pg-actas .ac-slot-otra .ac-slot-icono { color: var(--tinta); }
.pg-actas .ac-slot-pie { display: grid; gap: 1px; min-width: 0; }
.pg-actas .ac-slot-hora { padding-left: 18px; color: var(--tinta-2); font-size: 12px; font-variant-numeric: tabular-nums; }
.pg-actas .is-subiendo .ac-slot-hora { padding-left: 0; }

/* Foto (casilla hecha, galería y selección) */
.pg-actas .ac-foto {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  padding: 0;
  border: 0;
  border-radius: var(--radio-m);
  overflow: hidden;
  background: var(--skeleton-1);
  cursor: zoom-in;
}
.pg-actas .ac-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pg-actas .ac-foto img:not([src]) { visibility: hidden; }
.pg-actas .ac-foto:focus-visible { outline: none; box-shadow: var(--foco); }
.pg-actas .ac-foto.is-sin-imagen::after,
.pg-actas .ac-sel-media.is-sin-imagen::after {
  content: 'Sin vista previa';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--tinta-2);
  font-size: 12px;
}
.pg-actas .ac-slot-cargando {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  border-radius: var(--radio-m);
  background: var(--fondo-2);
  color: var(--tinta-2);
  cursor: progress;
}
.pg-actas .ac-chip-fuera { justify-self: start; min-height: 24px; padding: 2px 8px; font-size: 12px; }

.pg-actas .ac-galeria {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 140px), 1fr));
  gap: 12px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
.pg-actas .ac-foto-item { display: grid; gap: 6px; min-width: 0; align-content: start; }
.pg-actas .ac-foto-pie { display: grid; gap: 1px; min-width: 0; font-size: 13px; }
.pg-actas .ac-foto-etiqueta { font-weight: 600; overflow-wrap: anywhere; }
.pg-actas .ac-foto-hora { color: var(--tinta-2); font-size: 12px; font-variant-numeric: tabular-nums; }
.pg-actas .ac-galeria-vacia { margin-top: 8px; }

/* Documentos (presupuesto, factura, PDF de pruebas) */
.pg-actas .ac-doc-item { grid-column: span 2; }
.pg-actas .ac-doc {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--borde);
  border-radius: var(--radio-m);
  background: var(--superficie);
  color: var(--tinta);
  text-decoration: none;
}
.pg-actas .ac-doc:hover { border-color: var(--tinta); }
.pg-actas .ac-doc:focus-visible { outline: none; box-shadow: var(--foco); }
.pg-actas .ac-doc > .icono { flex: none; color: var(--azul); }
.pg-actas .ac-doc.is-cargando { opacity: 0.7; cursor: progress; }
.pg-actas .ac-doc[aria-disabled="true"]:not(.is-cargando) { cursor: not-allowed; }
.pg-actas .ac-doc-texto { display: grid; gap: 2px; min-width: 0; }
.pg-actas .ac-doc-nombre { font-weight: 600; overflow-wrap: anywhere; }
.pg-actas .ac-doc-hora, .pg-actas .ac-doc-accion { color: var(--tinta-2); font-size: 12px; }
.pg-actas .ac-doc-fila { margin-bottom: 4px; max-width: 420px; }
@media (max-width: 400px) {
  .pg-actas .ac-doc-item { grid-column: 1 / -1; }
}

/* Resumen de un acta */
.pg-actas .ac-acta-resumen { min-width: 0; }
.pg-actas .ac-acta-resumen-cabeza { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 12px; }
.pg-actas .ac-acta-resumen-cabeza .ac-h2 { margin: 0; }
.pg-actas .ac-acta-resumen + .ac-ver-acta { margin: 12px 0 0; font-size: 14px; }
.pg-actas .ac-ver-acta + .ac-acta-resumen { margin-top: 28px; padding-top: 24px; border-top: 1px dashed var(--borde-suave); }
.pg-actas .ac-ver-acta a { font-weight: 600; }
.pg-actas .ac-lista-etiquetas {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
  gap: 8px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pg-actas .ac-lista-etiquetas li { display: flex; align-items: center; gap: 8px; }
.pg-actas .ac-lista-etiquetas .icono { flex: none; color: var(--tinta-2); }

/* --------------------------------------------------------------------------
   Formularios (medición, observaciones, daño, presupuesto)
   -------------------------------------------------------------------------- */
.pg-actas .ac-form { display: block; min-width: 0; }
.pg-actas .ac-campos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: 16px;
  max-width: 560px;
}
.pg-actas .ac-campo-notas { margin-top: 16px; max-width: 640px; }
.pg-actas textarea.control { min-height: 96px; resize: vertical; }
.pg-actas .ac-enviar { display: grid; justify-items: start; gap: 12px; padding-top: 24px; }
.pg-actas .ac-enviar .campo-ayuda { max-width: 64ch; }
.pg-actas .ac-enviar .ac-error { margin-top: 0; }
.pg-actas .ac-observar { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--borde-suave); }
.pg-actas .ac-observar .campo { max-width: 640px; }
.pg-actas .ac-fotos-propias { display: grid; justify-items: start; gap: 12px; margin-top: 16px; }
.pg-actas .ac-fotos-propias .ac-galeria { margin: 0; width: 100%; }
.pg-actas .ac-fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.pg-actas .ac-fieldset legend.campo-etiqueta { padding: 0; margin-bottom: 10px; }
.pg-actas #ac-presupuesto-form .ac-fieldset { margin-bottom: 20px; }
.pg-actas .ac-fila { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.pg-actas .ac-fila .control { flex: 1 1 200px; min-width: 0; }

.pg-actas .ac-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pg-actas .ac-chip-check { position: relative; }
.pg-actas .ac-chip-check input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.pg-actas .ac-chip-check:has(input:focus-visible) { box-shadow: var(--foco); }
.pg-actas .ac-chip-check:has(input:checked)::before {
  content: '';
  width: 14px;
  height: 14px;
  flex: none;
  background: currentColor;
  -webkit-mask: var(--mascara-check) center / contain no-repeat;
  mask: var(--mascara-check) center / contain no-repeat;
}
.pg-actas .ac-otra-parte { display: grid; gap: 8px; margin-top: 16px; max-width: 480px; }
.pg-actas .ac-partes-lista { margin-bottom: 4px; }
.pg-actas .ac-partes-lista .chip { white-space: normal; }

/* Elegir fotos para el reclamo */
.pg-actas .ac-sel-grupo + .ac-sel-grupo { margin-top: 16px; }
.pg-actas .ac-sel-titulo { margin-bottom: 8px; font-size: 14px; font-weight: 600; }
.pg-actas .ac-sel-lista {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 100px), 1fr));
  gap: 10px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
.pg-actas .ac-sel { position: relative; display: grid; gap: 4px; cursor: pointer; }
.pg-actas .ac-sel-check { position: absolute; top: 8px; left: 8px; z-index: 1; margin: 0; }
.pg-actas .ac-sel-media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  border-radius: var(--radio-s);
  overflow: hidden;
  background: var(--skeleton-1);
  box-shadow: 0 0 0 1px var(--borde-suave);
}
.pg-actas .ac-sel-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pg-actas .ac-sel-media img:not([src]) { visibility: hidden; }
.pg-actas .ac-sel:has(.ac-sel-check:checked) .ac-sel-media { box-shadow: 0 0 0 3px var(--azul); }
.pg-actas .ac-sel:has(.ac-sel-check:focus-visible) .ac-sel-media { box-shadow: var(--foco); }
.pg-actas .ac-sel-texto { color: var(--tinta-2); font-size: 12px; overflow-wrap: anywhere; }

/* Monto con "$" adelante */
.pg-actas .ac-campo-monto { max-width: 320px; margin-bottom: 20px; }
.pg-actas .ac-monto-caja { position: relative; display: flex; align-items: center; }
.pg-actas .ac-monto-caja > span { position: absolute; left: 14px; color: var(--tinta-2); font-weight: 600; pointer-events: none; }
.pg-actas .ac-monto-caja .control { padding-left: 30px; font-variant-numeric: tabular-nums; }

/* Opciones (estimación / presupuesto / factura) */
.pg-actas .ac-opciones { display: grid; gap: 10px; }
.pg-actas .ac-opciones-fila { grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); max-width: 420px; }
.pg-actas .ac-opcion {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--borde);
  border-radius: var(--radio-m);
  background: var(--superficie);
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.pg-actas .ac-opcion:hover { border-color: var(--tinta); }
.pg-actas .ac-opcion input { flex: none; margin: 1px 0 0; }
.pg-actas .ac-opcion.is-elegida,
.pg-actas .ac-opcion:has(input:checked) { border-color: var(--tinta); box-shadow: inset 0 0 0 1px var(--tinta); }
.pg-actas .ac-opcion-texto { display: grid; gap: 2px; min-width: 0; }
.pg-actas .ac-opcion-texto span { color: var(--tinta-2); font-size: 14px; line-height: 1.4; }
.pg-actas .ac-doc-campo { margin-top: 16px; }
.pg-actas .ac-doc-elegido { color: var(--tinta-2); font-size: 14px; overflow-wrap: anywhere; min-width: 0; }

/* Qué pasa con la plata (en vivo) */
.pg-actas .ac-retencion:empty { display: none; }
.pg-actas .ac-retencion {
  margin-top: 8px;
  padding: 16px 18px;
  border: 1px solid var(--borde-suave);
  border-radius: var(--radio-m);
  background: var(--azul-suave);
}
.pg-actas .ac-retencion-titulo { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-weight: 600; }
.pg-actas .ac-retencion-titulo .icono { flex: none; color: var(--azul); }
.pg-actas .ac-retencion-lista { margin: 0; padding-left: 1.3em; display: grid; gap: 6px; line-height: 1.45; }
.pg-actas .ac-retencion-linea { display: flex; align-items: flex-start; gap: 8px; }
.pg-actas .ac-retencion-linea.is-error { color: var(--error); font-weight: 500; }
.pg-actas .ac-retencion-linea .icono { flex: none; margin-top: 2px; }
.pg-actas .ac-retencion:has(.is-error) { background: var(--error-suave); border-color: transparent; }

/* --------------------------------------------------------------------------
   Plazos (línea de tiempo) e historial
   -------------------------------------------------------------------------- */
.pg-actas .ac-linea { position: relative; display: grid; gap: 14px; margin: 0; padding: 0 0 0 4px; list-style: none; }
.pg-actas .ac-linea-item { position: relative; display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 12px; align-items: start; }
.pg-actas .ac-linea-item:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 18px;
  bottom: -14px;
  width: 2px;
  background: var(--borde-suave);
}
.pg-actas .ac-linea-punto { width: 16px; height: 16px; margin-top: 2px; border-radius: 50%; border: 2px solid var(--borde-control); background: var(--superficie); }
.pg-actas .ac-linea-item.is-hecho .ac-linea-punto { border-color: var(--azul); background: var(--azul-relleno); }
.pg-actas .ac-linea-texto { display: grid; gap: 2px; min-width: 0; }
.pg-actas .ac-linea-nombre { font-weight: 600; }
.pg-actas .ac-linea-texto .ac-gris { font-size: 14px; }

.pg-actas .ac-historial { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pg-actas .ac-historial li { display: grid; gap: 2px; padding-left: 12px; border-left: 2px solid var(--borde-suave); line-height: 1.45; overflow-wrap: anywhere; }
.pg-actas .ac-historial-fecha { font-size: 13px; font-variant-numeric: tabular-nums; }

/* Inputs de archivo: los abren los botones (cámara, archivos, presupuesto) */
.pg-actas .ac-archivo-oculto { display: none; }

/* Sólo en la constancia impresa */
.pg-actas .ac-solo-impresion { display: none; }

/* --------------------------------------------------------------------------
   Visor de una foto (modal: fuera de .pg-actas)
   -------------------------------------------------------------------------- */
.modal-ac-foto .ac-visor { margin: 0; display: grid; gap: 12px; }
.modal-ac-foto .ac-visor img {
  display: block;
  width: 100%;
  max-height: min(70vh, 720px);
  object-fit: contain;
  border-radius: var(--radio-m);
  background: var(--fondo-2);
}
.modal-ac-foto .ac-visor figcaption { color: var(--tinta-2); font-size: 14px; line-height: 1.45; }
.modal-ac-foto .ac-visor-vacio { margin: 0; color: var(--tinta-2); }

/* --------------------------------------------------------------------------
   Constancia impresa ("Guardar como PDF"): sin la cabecera del sitio, el pie, los
   formularios ni los botones; las fotos en grilla chica y sin cortar a la mitad.
   -------------------------------------------------------------------------- */
@media print {
  body:has(.pg-actas) .cabecera,
  body:has(.pg-actas) .pie,
  body:has(.pg-actas) .saltar,
  body:has(.pg-actas) .banda-prueba,
  body:has(.pg-actas) .toasts,
  body:has(.pg-actas) #ac-anuncios,
  .pg-actas .migas,
  .pg-actas .ac-no-imprimir,
  .pg-actas .ac-cabecera-foto,
  .pg-actas form,
  .pg-actas button:not(.ac-foto),
  .pg-actas .ac-archivo-oculto { display: none !important; }
  /* La constancia sale SIEMPRE con la paleta clara de base.css, aunque la página esté en oscuro: Chrome no imprime los
     fondos y oscurece el texto claro hasta un gris de 2,6:1 sobre el papel, y otros navegadores lo dejarían casi blanco
     sobre blanco. Los tokens se redefinen en .pg-actas (los alias de :root también, porque allá se calculan con los
     oscuros); la raíz y el body, con :has(), donde existe. */
  :root:has(.pg-actas), body:has(.pg-actas) { color-scheme: light; background: #ffffff; color: #222222; }
  .pg-actas {
    color-scheme: light;
    --fondo: #ffffff;
    --fondo-2: #f7f7f7;
    --superficie: #ffffff;
    --superficie-elevada: #ffffff;
    --borde: #dddddd;
    --borde-suave: #ebebeb;
    --borde-control: #b0b0b0;
    --tinta: #222222;
    --tinta-2: #6a6a6a;
    --tinta-3: #717171;
    --tinta-inversa: #ffffff;
    --tinta-fuerte: #000000;
    --azul: #1b5ef2;
    --azul-hover: #1449c9;
    --azul-suave: #edf3ff;
    --azul-relleno: #1b5ef2;
    --azul-gradiente: linear-gradient(90deg, #2f7bff 0%, #1b5ef2 50%, #1448d6 100%);
    --sobre-azul: #ffffff;
    --exito: #008a05;
    --exito-texto: #006e04;
    --exito-suave: #eaf6ea;
    --exito-borde: #cfe9cf;
    --alerta: #9e5d00;
    --alerta-suave: #fff8ec;
    --alerta-chip: #fdf3e2;
    --alerta-borde: #f5e0bd;
    --error: #c13515;
    --error-suave: #fcece8;
    --error-relleno: #c13515;
    --control-invalido: #fff8f6;
    --skeleton-1: #f2f2f2;
    --skeleton-2: #e6e6e6;
    --badge-foto: rgb(255 255 255 / 0.95);
    --avatar-anonimo: #717171;
    --sombra-suave: 0 1px 2px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.05);
    --sombra-chica: 0 2px 6px rgb(0 0 0 / 0.14);
    --sombra-tarjeta: 0 6px 16px rgba(0, 0, 0, 0.12);
    --logo-tinta: var(--tinta);
    --superficie-2: var(--fondo-2);
    --borde-fuerte: var(--borde-control);
    --acento: var(--azul);
    --acento-tinta: #ffffff;
    --acento-fuerte: var(--azul-hover);
    --celeste: var(--azul);
    --celeste-suave: var(--azul-suave);
    --asfalto: var(--fondo-2);
    --asfalto-tinta: var(--tinta);
    --linea-ruta: linear-gradient(var(--borde-suave), var(--borde-suave));
    color: var(--tinta);
    background: #ffffff;
  }
  .pg-actas { padding: 0; }
  .pg-actas .ac-contenedor { max-width: none; padding: 0; }
  .pg-actas .ac-solo-impresion { display: block; }
  .pg-actas .ac-constancia-cabeza { margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #999; font-size: 12px; }
  .pg-actas .ac-constancia-cabeza p + p { margin-top: 4px; }
  .pg-actas .ac-foto-quien { font-size: 11px; color: #555; }
  .pg-actas .ac-cabecera { grid-template-columns: 1fr; }
  .pg-actas .ac-seccion { padding-block: 14px; break-inside: auto; }
  .pg-actas .ac-galeria { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .pg-actas .ac-foto-item, .pg-actas .ac-dato, .pg-actas .ac-linea-item, .pg-actas .ac-historial li { break-inside: avoid; }
  .pg-actas .ac-foto { cursor: default; box-shadow: none; }
  .pg-actas .ac-aviso, .pg-actas .ac-cita, .pg-actas .ac-retencion { background: none; }
  .pg-actas a[data-doc] { border-color: #999; }
}
