/* RUTA 24 · Pulso de sistema (Alertas y mejoras) y Mantenimientos */
.ps-captura { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ps-btn { min-height: 92px; padding: 12px 8px; }
.ps-btn b { font-size: 15px; } .ps-btn span { font-size: 12.5px; }
@media (max-width: 520px) { .ps-captura { grid-template-columns: 1fr; } .ps-btn { min-height: 64px; } }
.ps-minis { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 4px; }
.ps-mini { position: relative; width: 96px; height: 96px; border-radius: 10px; overflow: hidden; background: #1c2530; }
.ps-mini img, .ps-mini video { width: 100%; height: 100%; object-fit: cover; display: block; }
.ps-mini .quitar { position: absolute; top: 4px; right: 4px; width: 26px; height: 26px; border-radius: 50%; border: 0; background: rgba(28,37,48,.8); color: #fff; font-size: 17px; cursor: pointer; }
.ps-dur { position: absolute; left: 4px; bottom: 4px; background: rgba(0,0,0,.65); color: #fff; font-size: 11px; padding: 1px 6px; border-radius: 6px; }
.ps-acciones { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.ps-cab .pill { margin-right: 2px; }
.ps-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.ps-galeria figure { margin: 0; background: var(--fondo); border-radius: 10px; overflow: hidden; }
.ps-galeria img, .ps-galeria video { width: 100%; max-height: 300px; object-fit: contain; background: #1c2530; display: block; }
.ps-galeria figcaption { font-size: 12.5px; color: var(--apagado); padding: 6px 8px; }
.ps-item { cursor: pointer; } .ps-item:hover { background: #fafbfc; }
.ps-item .t span .pill { display: inline-block; width: auto; margin: 2px 2px 0 0; }
.ps-sinfoto { display: grid; place-items: center; font: 800 26px var(--f-titulo); }
.ps-calor { border-collapse: separate; border-spacing: 3px; font-size: 12px; }
.ps-calor th { font-weight: 600; color: var(--apagado); padding: 2px 4px; text-align: center; }
.ps-calor td { width: 34px; height: 28px; text-align: center; border-radius: 5px; border: 1px solid #eef1f5; font-weight: 700; }
.ps-pasos { margin: 10px 0 12px 18px; padding: 0; } .ps-pasos li { margin: 4px 0; }
/* PDF */
.ps-pdf { font-family: 'IBM Plex Sans', Arial, sans-serif; color: #1A1A1A; padding: 18px 22px; font-size: 13px; }
.ps-pdf-cab { display: flex; align-items: center; gap: 14px; border-bottom: 2px solid #0F1E3D; padding-bottom: 10px; }
.ps-pdf-cab img:first-child { height: 46px; } .ps-pdf-cab img:last-child { height: 28px; margin-left: auto; }
.ps-pdf-cab div b { display: block; font: 800 italic 18px Montserrat, Arial; color: #0F1E3D; } .ps-pdf-cab div span { font-size: 11px; color: #6b7886; }
.ps-pdf-tit { border-left: 5px solid; padding: 4px 0 4px 12px; margin: 14px 0; }
.ps-pdf-tit small { font-weight: 700; letter-spacing: .08em; font-size: 11px; } .ps-pdf-tit h1 { font-size: 20px; margin: 4px 0; } .ps-pdf-tit p { margin: 0; color: #6b7886; }
.ps-pdf-kv { border-collapse: collapse; width: 100%; margin-bottom: 8px; }
.ps-pdf-kv th { text-align: left; width: 170px; color: #6b7886; font-weight: 600; padding: 5px 8px; border-bottom: 1px solid #e7eaef; vertical-align: top; }
.ps-pdf-kv td { padding: 5px 8px; border-bottom: 1px solid #e7eaef; }
.ps-pdf h3 { font-size: 14px; margin: 14px 0 6px; color: #0F1E3D; } .ps-pdf p { margin: 0 0 6px; white-space: pre-wrap; }
.ps-pdf-fotos { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ps-pdf-fotos figure { margin: 0; } .ps-pdf-fotos img { width: 100%; height: 210px; object-fit: contain; background: #f4f6f9; border: 1px solid #e7eaef; border-radius: 6px; }
.ps-pdf-fotos figcaption { font-size: 10.5px; color: #6b7886; }
.ps-pdf-pie { display: flex; gap: 12px; align-items: center; border-top: 1px solid #e7eaef; margin-top: 14px; padding-top: 10px; font-size: 11px; color: #3D4650; word-break: break-all; }
.ps-pdf-pie i { color: #D62828; }
/* Mantenimientos */
.mant-buscar { width: 100%; max-width: 460px; font-size: 16px; padding: 12px 14px; margin-bottom: 16px; }
.mant-grupo { margin-bottom: 20px; }
.mant-grupo h3 { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--apagado); margin: 0 0 8px; display: flex; align-items: center; gap: 8px; }
.mant-grupo h3 i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.mant-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.mant-card { text-align: left; background: var(--blanco); border: 1.5px solid var(--linea); border-left: 5px solid var(--c); border-radius: 12px; padding: 14px; cursor: pointer; font: inherit; color: inherit; }
.mant-card:hover, .mant-card:focus-visible { border-color: var(--c); }
.mant-card b { display: block; font-size: 15.5px; margin-bottom: 3px; } .mant-card span { color: var(--apagado); font-size: 13px; }
.mant-volver { margin: 0 0 10px; }
/* Formularios en la barra lateral: uno debajo de otro (el repositorio crece) */
.modulos { grid-template-columns: 1fr; }
.modulos button { text-align: left; padding: 9px 12px; }
.modulos button small { display: inline; margin: 0 0 0 6px; }
@media (max-width: 860px) {
  .modulos { grid-template-columns: repeat(3, 1fr); }
  .modulos button { text-align: center; padding: 8px 4px; }
  .modulos button small { display: block; margin: 2px 0 0; }
}
.ps-calor { width: auto !important; } .ps-calor th:first-child { text-align: left; width: 44px; }
