/* EFI R3 · estilos limitados al lector y a su impresión */
body.efi-documento-abierto { overflow: hidden; }
body.efi-documento-abierto .acceso-contacto-flotante,
body.efi-documento-abierto .instalar-pwa-efi-flotante,
body.efi-documento-abierto .acceso-sac-flotante { visibility: hidden; pointer-events: none; }
.efi-documento-visor { position: fixed; top: 0; right: 0; bottom: 0; left: 0; inset: 0; width: 100%; height: 100%; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; z-index: 4000; color: #163148; background: #f1f5f9; font: 16px/1.5 system-ui, -apple-system, sans-serif; box-sizing: border-box; }
.efi-documento-visor[open] { display: flex; flex-direction: column; }
.efi-documento-visor::backdrop { background: #10293bd9; }
.efi-documento-cabecera { position: static; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left)); background: #fff; border-bottom: 1px solid #cbd5e1; flex-shrink: 0; }
.efi-documento-cabecera h2 { margin: 0; min-width: 0; overflow-wrap: anywhere; font-size: 1.05rem; line-height: 1.3; }
.efi-documento-estado { margin: 0; padding: 8px 16px; font-size: .9rem; flex-shrink: 0; }
.efi-documento-estado[role="alert"] { color: #70420a; background: #fff4dc; }
.efi-documento-acciones, .efi-documento-navegacion { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 6px 16px; flex-shrink: 0; }
.efi-documento-navegacion[hidden] { display: none; }
.efi-documento-boton { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; border: 1px solid #a4b6c7; border-radius: 10px; color: #153d62; background: #fff; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; touch-action: manipulation; }
.efi-documento-boton:disabled { opacity: .5; cursor: default; }
.efi-documento-boton:focus-visible { outline: 3px solid #167bd1; outline-offset: 2px; }
.efi-documento-contador { font-size: .85rem; }
.efi-documento-paginas { min-height: 0; flex: 1; overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 12px 12px max(18px, env(safe-area-inset-bottom)); }
.efi-documento-pagina { display: block; margin: 0 auto; background: #fff; box-shadow: 0 3px 16px #16314826; max-width: none; }
.efi-documento-imagen { display: block; width: auto; max-width: 100%; height: auto; margin: 0 auto; }
.efi-documento-texto-accesible { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.efi-documento-impresion { display: none; }
@media (max-width: 520px) { .efi-documento-acciones, .efi-documento-navegacion { gap: 6px; padding: 4px 10px; } .efi-documento-boton { font-size: .82rem; padding: 7px 10px; } .efi-documento-estado { padding: 6px 10px; font-size: .82rem; } }
@media print {
  body.efi-documento-imprimiendo { overflow: visible !important; margin: 0 !important; padding: 0 !important; background: #fff !important; }
  body.efi-documento-imprimiendo > *:not(#efiDocumentoVisor) { display: none !important; }
  body.efi-documento-imprimiendo #efiDocumentoVisor { display: block !important; position: static !important; width: auto !important; height: auto !important; max-height: none !important; padding: 0 !important; margin: 0 !important; overflow: visible !important; background: #fff !important; }
  body.efi-documento-imprimiendo .efi-documento-visor > *:not(.efi-documento-impresion) { display: none !important; }
  body.efi-documento-imprimiendo .efi-documento-impresion { display: block !important; }
  .efi-documento-hoja { display: block; max-width: 100%; max-height: 245mm; width: auto; height: auto; margin: 0 auto; object-fit: contain; break-inside: avoid; break-after: page; page-break-after: always; }
  .efi-documento-hoja:last-child { break-after: auto; page-break-after: auto; }
}
