/* PG Forja Clínica · Protocolos de tratamiento por patología. */
.pgpt-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 14px; }
.pgpt-prot h3 { margin: 0 0 6px; }
.pgpt-mini { margin: 6px 0 10px; padding-left: 20px; font-size: .9em; }
.pgpt-mini small { opacity: .7; }
.pgpt-aviso { border-left: 4px solid var(--aviso, #b7791f); background: var(--superficie2, #f6f7f8); padding: 8px 12px; border-radius: 6px; font-size: .9em; }
.pgpt-rej { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pgpt-rej3 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); }
.pgpt-fase-ed { border: 1px solid var(--borde, #d0d7de); border-radius: 8px; padding: 10px 12px; margin: 0 0 12px; min-width: 0; }
.pgpt-fase-ed textarea { width: 100%; }

.pgpt-fase { border-top: 1px solid var(--borde, #d0d7de); padding-top: 8px; margin-top: 12px; }
.pgpt-fase h4 { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; margin: 0 0 6px; }
.pgpt-fase h4 small { font-weight: 400; opacity: .75; }
.pgpt-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 10px; }
.pgpt-grupo { min-width: 0; margin: 6px 0; }
.pgpt-grupo h5 { margin: 0 0 4px; font-size: .78em; text-transform: uppercase; letter-spacing: .04em; color: var(--pg-primario); }
.pgpt-grupo ul { margin: 0; padding-left: 18px; font-size: .92em; }
.pgpt-prec { border-left: 3px solid var(--error, #c0392b); padding-left: 8px; }
.pgpt-prec h5 { color: var(--error, #c0392b); }

.pgpt-asig { margin-bottom: 14px; }
.pgpt-asig.retraso { border-left: 4px solid var(--error, #c0392b); }
.pgpt-asig.adelanto { border-left: 4px solid var(--info, #2b6cb0); }
.pgpt-asig h3 { margin: 0 0 4px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pgpt-alerta { background: var(--superficie2, #f6f7f8); border-left: 4px solid var(--error, #c0392b); padding: 8px 12px; border-radius: 6px; }
.pgpt-alerta.ok { border-left-color: var(--info, #2b6cb0); }
.pgpt-linea { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 6px; padding: 0; margin: 10px 0 14px; }
.pgpt-linea li { min-width: 0; border-top: 5px solid var(--borde, #d0d7de); padding: 6px 4px 0; font-size: .85em; display: flex; flex-direction: column; gap: 2px; overflow-wrap: anywhere; }
.pgpt-linea li.hecha { border-top-color: var(--ok, #2f855a); opacity: .75; }
.pgpt-linea li.actual { border-top-color: var(--pg-primario); }
.pgpt-linea li.teorica { background: var(--superficie2, #f6f7f8); border-radius: 0 0 6px 6px; }
.pgpt-linea small { opacity: .7; }
.pgpt-linea em { font-style: normal; font-size: .85em; font-weight: 600; color: var(--pg-primario); }
.pgpt-linea em.cal { color: var(--aviso, #b7791f); }
.pgpt-crit { list-style: none; padding: 0 !important; }
.pgpt-crit li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid var(--borde, #d0d7de); }
.pgpt-crit li label { flex: 1 1 240px; min-width: 0; margin: 0; }
.pgpt-crit li input[type="text"] { flex: 0 1 130px; min-width: 80px; }
.pgpt-sug p { margin: 4px 0; }
.pgpt-sesion { border: 1px solid var(--borde, #d0d7de); border-left: 4px solid var(--pg-primario); border-radius: 8px; padding: 8px 12px; margin-bottom: 12px; background: var(--superficie2, #f6f7f8); }
.pgpt-sesion summary { cursor: pointer; }
.pgpt-sesion details + details { margin-top: 6px; }

/* Área del paciente */
.pgpt-pac-prot + .pgpt-pac-prot { border-top: 1px solid var(--borde, #d0d7de); margin-top: 12px; padding-top: 12px; }
.pgpt-pac h4 { margin: 12px 0 4px; font-size: .95em; }
.pgpt-pasos { list-style: none; display: flex; gap: 4px; padding: 0; margin: 8px 0; }
.pgpt-pasos li { flex: 1 1 0; height: 8px; border-radius: 4px; background: var(--borde, #d0d7de); }
.pgpt-pasos li.hecha { background: var(--ok, #2f855a); }
.pgpt-pasos li.actual { background: var(--pg-primario); }
.pgpt-pac-crit { list-style: none; padding: 0; margin: 0; }
.pgpt-pac-crit li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px; padding: 5px 0; border-bottom: 1px solid var(--borde, #d0d7de); }
.pgpt-pac-crit li span:first-child { flex: 1 1 200px; min-width: 0; }
@media (max-width: 700px) { .pgpt-rej, .pgpt-rej3 { grid-template-columns: minmax(0, 1fr); } }
