html, body { -webkit-font-smoothing: antialiased; }
body { font-family: 'Plus Jakarta Sans', sans-serif; }

/* Cenário de fundo */
.stage {
  background:
    radial-gradient(1200px 600px at 20% -10%, #dfeeeb 0%, transparent 55%),
    radial-gradient(1000px 500px at 110% 20%, #fbe7de 0%, transparent 50%),
    #eef0ec;
}

/* Frame do celular */
.phone {
  width: 390px; height: 844px;
  border-radius: 46px;
  background: #F6F3EE;
  box-shadow: 0 2px 0 #fff inset, 0 30px 60px -20px rgba(12,59,56,.35), 0 0 0 12px #10201f, 0 0 0 13px #29403e;
  position: relative; overflow: hidden;
}
.notch {
  position: absolute; top: 12px; left: 50%; transform: translateX(-50%);
  width: 128px; height: 30px; background: #10201f; border-radius: 999px; z-index: 60;
}

/* Scroll interno */
.screen { position:absolute; inset:0; display:none; flex-direction:column; }
.screen.active { display:flex; }
.scroll { overflow-y:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.scroll::-webkit-scrollbar{ display:none; }

/* Animações */
@keyframes floatUp { from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }
.anim { animation: floatUp .5s cubic-bezier(.2,.7,.2,1) both; }
.pulse-dot { animation: pulseDot 1.8s ease-in-out infinite; }
@keyframes pulseDot { 0%,100%{opacity:.35; transform:scale(.9);} 50%{opacity:1; transform:scale(1.15);} }

.tab-btn.active-tab { color:#14746F; }
.tab-btn.active-tab .tab-ico { background:#E4F0EE; }

.qa:active { transform: scale(.97); }
.qa { transition: transform .12s ease; }

/* Toast */
#toast {
  position:absolute; left:50%; bottom:104px; transform:translateX(-50%) translateY(20px);
  background:#0C3B38; color:#fff; padding:11px 18px; border-radius:14px; font-size:13px; font-weight:600;
  opacity:0; pointer-events:none; transition:all .3s cubic-bezier(.2,.7,.2,1); z-index:80; white-space:nowrap;
  box-shadow:0 12px 30px -8px rgba(12,59,56,.5);
}
#toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

.chip-conv { transition: all .15s ease; }

/* Grade de horários */
.slot { transition: all .12s ease; }
.slot.sel { background:#14746F; color:#fff; border-color:#14746F; }
