/* PG Forja Clínica · Registro sanitario y calidad (prefijo .pgq-). */
.pgq { display: grid; gap: 14px; min-width: 0; }
.pgq-cuerpo { display: grid; gap: 14px; min-width: 0; }
.pgq-pestanas { display: flex; flex-wrap: wrap; gap: 4px; }
.pgq-tab { background: none; border: 0; border-bottom: 2px solid transparent; padding: 8px 12px; font: inherit; color: inherit; cursor: pointer; opacity: .75; }
.pgq-tab.on { border-bottom-color: var(--pg-primario); opacity: 1; font-weight: 600; }
.pgq-tab:focus-visible { outline: 2px solid var(--pg-primario); outline-offset: 2px; }

.pgq-resumen { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; border-left: 5px solid var(--ok); }
.pgq-resumen.pgq-ambar { border-left-color: var(--aviso); }
.pgq-resumen.pgq-rojo { border-left-color: var(--error); }
.pgq-resumen h3, .pgq-resumen p { margin: 0; }
.pgq-luz { font-size: 34px; line-height: 1; }
.pgq-apartados { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: 12px; }
.pgq-ap { display: flex; flex-direction: column; gap: 8px; border-top: 3px solid var(--ok); min-width: 0; }
.pgq-ap.pgq-ambar { border-top-color: var(--aviso); }
.pgq-ap.pgq-rojo { border-top-color: var(--error); }
.pgq-ap header { display: flex; justify-content: space-between; gap: 8px; }
.pgq-ap ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: .9em; overflow-wrap: anywhere; }
.pgq-ap .pg-btn { align-self: flex-start; margin-top: auto; }
.pgq-bien { margin: 0; opacity: .7; font-size: .9em; }

.pgq-centro h3 { margin: 8px 0 0; }
.pgq-checks { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.pgq-faltan { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; border-left: 4px solid var(--aviso); }
.pgq-enlace { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.pgq-archivado { opacity: .55; }
.pgq-acc { white-space: nowrap; text-align: right; }

.pgq-zonas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 12px; }
.pgq-zona { display: flex; flex-direction: column; gap: 6px; border-left: 4px solid var(--ok); min-width: 0; }
.pgq-zona.pgq-pend { border-left-color: var(--aviso); }
.pgq-zona header { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.pgq-ultima { margin: 0; font-size: .88em; opacity: .8; }
.pgq-zona .pg-fila-botones { margin-top: auto; flex-wrap: wrap; }
.pgq-zona [data-marcar] { min-height: 44px; flex: 1 1 100%; }
.pgq-marcar { display: grid; gap: 10px; }
.pgq-tarea { min-height: 40px; padding: 6px 8px; border: 1px solid var(--borde); border-radius: 8px; }

.pgq-rejilla th, .pgq-rejilla td { text-align: center; padding: 4px 3px; }
.pgq-rejilla th:first-child, .pgq-rejilla td:first-child { text-align: left; min-width: 150px; }
.pgq-c { min-width: 24px; font-weight: 700; }
.pgq-c-ok { color: var(--ok); }
.pgq-c-falta { color: var(--error); background: var(--superficie2); }
.pgq-c-pend { color: var(--aviso); }
.pgq-c sup { font-size: .65em; font-weight: 400; }

.pgq-w { display: grid; gap: 8px; cursor: pointer; }
.pgq-w-luces { display: flex; flex-wrap: wrap; gap: 5px; }
.pgq-w-luz { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--ok); font-size: 14px; background: var(--superficie2); }
.pgq-w-luz.pgq-ambar { border-color: var(--aviso); }
.pgq-w-luz.pgq-rojo { border-color: var(--error); }

@media (max-width: 640px) {
  .pgq-resumen { grid-template-columns: auto minmax(0, 1fr); }
  .pgq-resumen .pg-fila-botones { grid-column: 1 / -1; }
  .pgq-acc { white-space: normal; }
}
