/* ============ Alertas de vulnerabilidades ============ */
.alertas-section { padding-top: var(--space-5); }
.alertas { max-width: 920px; margin-inline: auto; }
.alertas-estado { text-align: center; color: var(--muted); padding: var(--space-4) 0; margin: 0; }
.alertas-estado a { color: var(--amber); }
.alertas__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.alertas-fuente { margin: var(--space-2) 0 0; font: 400 0.75rem var(--font-mono); color: var(--muted); text-align: center; }
.alertas-mas { margin: var(--space-3) 0 0; }

/* tarjeta completa (/alertas) */
.alerta { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); padding: var(--space-3); }
.alerta__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0 0 var(--space-1); font: 400 0.78rem var(--font-mono); color: var(--muted); }
.alerta__n { color: var(--amber); font-weight: 600; }
.alerta__producto { font-size: 1.2rem; margin: 0 0 4px; color: var(--text); }
.alerta__tipo { margin: 0 0 var(--space-1); color: var(--amber); font-weight: 600; font-size: 0.92rem; }
.alerta__desc { margin: 0 0 var(--space-2); color: var(--body-c); font-size: 0.94rem; max-width: 72ch; }
.alerta__cve { display: inline-flex; align-items: center; min-height: 44px; font: 500 0.82rem var(--font-mono); color: var(--amber); }

/* severidad: siempre con texto, nunca solo color */
.sev { display: inline-flex; align-items: center; gap: 6px; font: 600 0.7rem var(--font-mono); letter-spacing: 0.04em; text-transform: uppercase; padding: 3px 8px; border-radius: 3px; border: 1px solid currentColor; }
.sev--critica { color: var(--critical); }
.sev--alta { color: #F2A365; }
.sev--media { color: var(--amber); }
.sev--baja { color: var(--body-c); }

/* lista compacta (portada) */
.alertas__lista--c { gap: 0; border-top: 1px solid var(--line); }
.alerta-c { border-bottom: 1px solid var(--line); }
.alerta-c__link { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) minmax(0, 1fr) auto; gap: 4px var(--space-2); align-items: center; min-height: 56px; padding: 10px 4px; color: inherit; text-decoration: none; transition: background var(--transition); }
.alerta-c__link:hover { background: var(--surface); }
.alerta-c__fecha { font: 400 0.78rem var(--font-mono); color: var(--muted); }
.alerta-c__producto { color: var(--text); font-weight: 600; }
.alerta-c__tipo { color: var(--body-c); font-size: 0.9rem; }

/* qué hacer */
.alertas-pasos { list-style: none; counter-reset: p; margin: 0 auto var(--space-4); padding: 0; max-width: 920px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.alertas-pasos li { counter-increment: p; display: flex; flex-direction: column; gap: 6px; border-top: 2px solid var(--amber); padding-top: var(--space-2); }
.alertas-pasos li::before { content: "0" counter(p); font: 600 0.8rem var(--font-mono); color: var(--amber); }
.alertas-pasos b { color: var(--text); }
.alertas-pasos span { color: var(--body-c); font-size: 0.94rem; }

@media (max-width: 760px) {
  .alerta-c__link { grid-template-columns: minmax(0, 1fr) auto; }
  .alerta-c__fecha { grid-column: 1 / -1; }
  .alerta-c__tipo { grid-column: 1; }
  .alerta-c__link .sev { grid-row: 2 / span 2; grid-column: 2; align-self: center; }
  .alertas-pasos { grid-template-columns: minmax(0, 1fr); }
}
