:root{
  --safira-azul:#0d6efd;
  --safira-azul-escuro:#0b5ed7;
  --safira-azul-claro:#63a3ff;
}
html, body{ height:100%; }
body.safira-bg{
  background: linear-gradient(160deg, var(--safira-azul) 0%, #ffffff 70%);
  min-height:100vh;
}
.safira-card{
  backdrop-filter: blur(6px);
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(255,255,255,0.6);
  border-radius: 1.25rem;
  box-shadow: 0 20px 60px rgba(13,110,253,0.2);
}
.safira-brand{ font-weight:800; letter-spacing:.5px; color: var(--safira-azul-escuro); }
.safira-wave{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.btn-safira{ background: var(--safira-azul); border:none; }
.btn-safira:hover{ background: var(--safira-azul-escuro); }
.form-control:focus{
  border-color: var(--safira-azul);
  box-shadow: 0 0 0 .2rem rgba(13,110,253,.25);
}
.small-muted{ color:#6c757d; font-size:.9rem; }

.troco-box { animation: pulseTroco 1.5s infinite; }
@keyframes pulseTroco {
  0% { box-shadow: 0 0 0 0 rgba(13,110,253,.4); }
  70% { box-shadow: 0 0 0 15px rgba(13,110,253,0); }
  100% { box-shadow: 0 0 0 0 rgba(13,110,253,0); }
}

.safira-bg{
  background:
    radial-gradient(1100px 520px at 12% -10%, rgba(13,110,253,.10), transparent 70%),
    radial-gradient(900px 560px at 90% -15%, rgba(13,110,253,.08), transparent 68%),
    radial-gradient(900px 520px at 50% 120%, rgba(13,110,253,.06), transparent 60%),
    linear-gradient(180deg, #f7faff 0%, #ffffff 58%, #eef4ff 100%);
  min-height: 100vh;
  background-attachment: fixed;
}
.safira-card{background:#fff;border-radius:16px;box-shadow:0 12px 28px rgba(13,110,253,.07)}

@media (min-width: 992px){
  .sticky-right{
    position: sticky;
    top: 80px;                    /* ajuste conforme a altura da sua navbar */
    max-height: calc(100vh - 96px);
    overflow: auto;               /* rolagem dentro do card se passar da tela */
    z-index: 10;
  }
}
