/* Modal – z-index: 3 (ajústalo si lo necesitas) */
.qsapfm-modal { position: fixed; inset: 0; z-index: 3 !important; font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, sans-serif; }
.qsapfm-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); z-index: 1; }
.qsapfm-dialog { position: relative; z-index: 2; width: min(96vw, 980px); max-height: 90vh; min-height: 200px; background: #ffffff; border-radius: 14px; border: 1px solid rgba(10, 20, 40, 0.08); box-shadow: 0 20px 60px rgba(0,0,0,.35); overflow: hidden; display: block; }
.qsapfm-close { position: absolute; top: 10px; right: 12px; border: 0; background: #0b3a6a; color: #fff; padding: 6px 12px; border-radius: 6px; cursor: pointer; font-size: 14px; z-index: 3; }
.qsapfm-close:hover { opacity: .9; }
.qsapfm-content { position: relative; padding: 0; overflow: hidden; max-height: 90vh; min-height: 260px; pointer-events: auto; }
.qsapfm-iframe{ width:100%; height:70vh; border:0; display:block; }
@media (max-width:768px){ .qsapfm-iframe{ height:78vh; } }

/* Cover centrado (siempre por encima del iframe) */
.qsapfm-cover{ position:absolute; inset:0; display:grid; place-items:center; background:#ffffff; z-index: 2; pointer-events: none; }
.qsapfm-content.is-loading .qsapfm-cover{ opacity:1; visibility:visible; }

/* Barra de carga */
.qsapfm-loadingbar{ width: min(560px, 90%); }
.qsapfm-loadingbar .bar{ position:relative; display:block; width:100%; height:6px; background:#eef2f7; border-radius:999px; overflow:hidden; box-shadow: inset 0 0 0 1px rgba(11,58,106,.06); }
.qsapfm-loadingbar .bar i{ position:absolute; inset:0; transform:translateX(-100%); width:40%; background:#0b3a6a; border-radius:999px; animation:qsapfm-scan 1.2s linear infinite; }
@keyframes qsapfm-scan { 0%{transform:translateX(-100%);} 50%{transform:translateX(0%);} 100%{transform:translateX(160%);} }