/* K48 · indicador agregado de cola fiscal. Estado visual independiente. */
.prestax-fiscal-queue-status {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, calc(env(safe-area-inset-bottom) + 12px));
  z-index: 214748250;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  max-width: min(420px, calc(100vw - 32px));
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: rgba(27, 31, 39, 0.96);
  color: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.38);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.prestax-fiscal-queue-status[hidden] {
  display: none !important;
}
.prestax-fiscal-queue-status:hover,
.prestax-fiscal-queue-status:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.45);
  outline: none;
}
.prestax-fiscal-queue-status.is-pending {
  border-color: rgba(255, 193, 7, 0.65);
}
.prestax-fiscal-queue-status.is-rejected {
  border-color: rgba(255, 152, 0, 0.8);
}
.prestax-fiscal-queue-status.is-critical {
  border-color: rgba(244, 67, 54, 0.9);
}
.prestax-fiscal-queue-status.is-quarantine {
  border-color: rgba(96, 165, 250, 0.85);
}
.prestax-fiscal-queue-status.is-offline {
  opacity: 0.78;
}
.prestax-fiscal-queue-status__icon {
  display: grid;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  font-size: 1rem;
}
.prestax-fiscal-queue-status.is-checking .prestax-fiscal-queue-status__icon {
  animation: prestax-k48-queue-spin 1s linear infinite;
}
@keyframes prestax-k48-queue-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 600px) {
  .prestax-fiscal-queue-status {
    right: 12px;
    bottom: max(12px, calc(env(safe-area-inset-bottom) + 8px));
    max-width: calc(100vw - 24px);
    padding: 9px 12px;
    font-size: 0.82rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .prestax-fiscal-queue-status,
  .prestax-fiscal-queue-status__icon {
    transition: none;
    animation: none !important;
  }
}
/* Estado crítico del índice K37 dentro del Historial. */
#fullHistoryModal .history-fiscal-badge.is-critical {
  border-color: rgba(244, 67, 54, 0.9);
  background: rgba(127, 29, 29, 0.22);
  color: #fecaca;
}

/* V46.18B · Los indicadores globales nunca se superponen a un modal.
   El contador y su cola siguen funcionando: al cerrar se vuelve a mostrar. */
/* V46.18C · K48 visible solo en Home (ningún modal abierto).
   Detecta tanto modales declarativos como los abiertos mediante style.display,
   sin alterar los pulsos, el contador ni el botón de acceso al historial. */
body.is-modal-open > #prestaxFiscalQueueStatus,
body:has(.modal-backdrop[aria-hidden="false"]) > #prestaxFiscalQueueStatus,
body:has(.modal-backdrop.active) > #prestaxFiscalQueueStatus,
body:has(.modal-backdrop[style*="display: flex"]) > #prestaxFiscalQueueStatus,
body:has(.modal-backdrop[style*="display:flex"]) > #prestaxFiscalQueueStatus,
body:has(.modal-backdrop[style*="display: block"]) > #prestaxFiscalQueueStatus,
body:has(.modal-backdrop[style*="display:block"]) > #prestaxFiscalQueueStatus,
body:has([role="dialog"][aria-hidden="false"]) > #prestaxFiscalQueueStatus,
body:has([role="dialog"].active) > #prestaxFiscalQueueStatus {
  display: none !important;
}

/* V46.18B · Acciones de exportación en escritorio intermedio.
   Mantener ambas visibles y disponibles sin comprimirlas. */
@media (min-width: 980px) and (max-width: 1279px) and (hover: hover) and (pointer: fine) {
  #exportModal .modal-footer:has(#previewFullscreenBtn):has(#exportPdfBtn) {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: sticky !important;
    bottom: 0 !important;
    z-index: 5 !important;
    background: var(--surface, #fff) !important;
  }
  #exportModal #previewFullscreenBtn,
  #exportModal #exportPdfBtn {
    display: inline-flex !important;
    flex: 0 1 auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-width: min(100%, 150px) !important;
    max-width: 100% !important;
  }
}
