:root {
  --glass-bg: rgba(15, 23, 42, 0.72);
  --glass-border: rgba(56, 189, 248, 0.18);
  --neon: #22d3ee;
  --neon-soft: rgba(34, 211, 238, 0.35);
}

body {
  background: radial-gradient(1200px 600px at 10% -10%, rgba(56, 189, 248, 0.12), transparent),
    radial-gradient(900px 500px at 90% 0%, rgba(168, 85, 247, 0.12), transparent),
    #020617;
}

.glass {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(14px);
}

.neon-ring {
  box-shadow: 0 0 0 1px var(--neon-soft), 0 0 40px rgba(34, 211, 238, 0.15);
}

@keyframes pulse-soft {
  0% {
    opacity: 0.55;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.55;
  }
}

.live-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: #22c55e;
  animation: pulse-soft 1.8s infinite;
}

/* Receipt import mismatch — full-screen red “siren” backdrop behind modal */
@keyframes ops-siren-backdrop {
  0%,
  100% {
    background-color: rgba(24, 4, 4, 0.94);
    box-shadow: inset 0 0 100px rgba(220, 38, 38, 0.22);
  }
  50% {
    background-color: rgba(69, 10, 10, 0.97);
    box-shadow: inset 0 0 140px rgba(248, 113, 113, 0.38);
  }
}

.ops-receipt-alert-root--siren {
  animation: ops-siren-backdrop 1.05s ease-in-out infinite;
}
