/* Panel lateral derecho modal, común al histórico y a «Caso actual» (panel-lateral.js): 540 px de ancho (todo el ancho
   en pantallas más estrechas), a toda la altura y sobre el fondo --scrim; cabecera con título y acciones, cuerpo con su
   propio desplazamiento. Oculto hasta abrirlo; se cierra con «Cerrar», Escape o pulsando fuera. */
.side-overlay { position: fixed; inset: 0; z-index: 40; display: flex; justify-content: flex-end; background: var(--scrim); }
.side-overlay[hidden] { display: none; }
/* No modal («Caso actual»): sin fondo y sin capturar las pulsaciones fuera del panel. */
.side-overlay.sin-fondo { background: transparent; pointer-events: none; }
.side-overlay.sin-fondo .side-panel { pointer-events: auto; }
.side-panel { width: 540px; max-width: 100%; height: 100%; display: flex; flex-direction: column; gap: 12px; padding: 16px 20px; background: var(--surface); border-left: 1px solid var(--line-strong); box-shadow: var(--shadow); }
.side-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.side-head h2 { font-size: 1.1875rem; margin: 0 0 2px; letter-spacing: -.3px; }
.side-actions { display: flex; align-items: center; gap: 8px; flex: none; }
.side-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
@media (max-width: 670px) { .side-panel { padding: 14px; } }
