/* El visor existente comparte una sola ventana para todos los documentos. */
html #sn2-dialog {
    width: min(1100px, 96vw);
    max-width: 1100px;
    inset: 50% auto auto 50%;
}

#sn2-dialog .sn-card {
    display: flex;
    flex-direction: column;
    height: 94vh;
    height: 94dvh;
}

#sn2-dialog .sn-hdr { gap: 12px; flex-shrink: 0; }
#sn2-dialog .sn-title { line-height: 1.35; flex: 1; }
#sn2-open { flex-shrink: 0; margin: 0; color: #19566e; text-shadow: none; font-size: 13px; }
#sn2-dialog .sn-close { flex-shrink: 0; }
#sn2-dialog .sn-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    padding: 10px 16px;
}
#sn2-dialog .sn-view { flex: 1; min-height: 0; height: auto; margin-top: 0; }
#convocatorias-home-nav { flex-shrink: 0; padding: 10px 12px; }
#convocatorias-home-nav[hidden] { display: none; }
#convocatorias-home-nav .sn-btn { color: #19566e; text-shadow: none; }
#convocatorias-home-buttons {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 8px;
}
#convocatorias-home-buttons .sn-btn { margin: 0; border-radius: 8px; font-size: 14px; line-height: 1.3; }
#convocatorias-home-buttons .sn-btn[aria-pressed="true"] { background: #2379a2; border-color: #2379a2; color: #fff; }
#sn2-dialog button:focus-visible, #sn2-dialog a:focus-visible { outline: 3px solid #2379a2; outline-offset: 3px; }

@media (max-width: 600px) {
    #sn2-dialog .sn-hdr { padding: 10px; display: grid; grid-template-columns: 1fr auto; gap: 8px; }
    #sn2-dialog .sn-close { grid-column: 2; grid-row: 1 / 3; }
    #sn2-open { grid-column: 1; justify-self: start; padding: 6px 10px; font-size: 12px; }
    #sn2-dialog .sn-title { font-size: 14px; }
    #sn2-dialog .sn-body { padding: 6px; }
    #convocatorias-home-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    #convocatorias-home-buttons .sn-btn { padding: 7px; font-size: 12px; }
}
