/* SulRide Cadastro Inteligente v19.82.3 */

:root{
  --sr-orange:#ff7a00;
  --sr-orange2:#ffac3b;
  --sr-green:#35d07f;
  --sr-red:#ff5f57;
  --sr-muted:#b8bec8;
}

.sr-overlay{
  overflow:auto;
  padding:16px;
  background:
    radial-gradient(circle at 50% 5%,rgba(255,122,0,.18),transparent 34%),
    linear-gradient(180deg,#040506,#090a0d 55%,#040506)!important;
}

.sr-popup{
  width:min(96vw,610px)!important;
  max-width:610px!important;
  min-height:min(94svh,860px);
  padding:25px 34px 30px!important;
  overflow:hidden!important;
  border-radius:30px!important;
  border:1px solid rgba(255,135,31,.50)!important;
  background:
    linear-gradient(180deg,rgba(19,21,27,.99),rgba(7,8,11,.995))!important;
  box-shadow:
    0 35px 100px rgba(0,0,0,.78),
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 0 45px rgba(255,122,0,.13)!important;
}

.sr-popup::before{
  content:"";
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  border:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(118deg,transparent 0 43%,rgba(255,156,66,.075) 50%,transparent 57%);
  background-size:240% 100%;
  animation:srPanelSweep 6s linear infinite;
}

.sr-popup::after{
  content:"";
  position:absolute;
  inset:12px;
  width:auto;
  height:auto;
  border:1px solid rgba(255,122,0,.11);
  border-radius:22px;
  pointer-events:none;
}

@keyframes srPanelSweep{
  to{background-position:-240% 0}
}

.sr-header{
  position:relative;
  z-index:5;
  margin:0 0 8px!important;
}

.sr-header h2{
  margin:11px 0 5px;
  color:#fff;
  font-size:clamp(25px,5vw,34px);
}

.sr-header>p{
  color:#b9bdc7;
  font-size:14px;
}

.sr-assistente-topo{
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr) 46px;
  align-items:center;
  gap:13px;
  margin:0 auto 13px!important;
  padding:13px 14px!important;
  border:1px solid rgba(255,122,0,.35)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(25,28,35,.98),rgba(10,11,15,.98))!important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.35),
    0 0 28px rgba(255,122,0,.08)!important;
}

.sr-assistente-avatar{
  position:relative;
  width:74px!important;
  height:74px!important;
  cursor:pointer;
  border-radius:50%;
  isolation:isolate;
}

.sr-assistente-avatar img{
  width:100%!important;
  height:100%!important;
  border-radius:50%;
  object-fit:cover;
}

.sr-assistente-avatar::before,
.sr-assistente-avatar::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}

.sr-assistente-avatar::before{
  inset:-7px;
  border:2px solid rgba(255,127,20,.62);
}

.sr-assistente-avatar::after{
  inset:-14px;
  border:1px solid rgba(255,127,20,.28);
}

.sr-assistente-avatar.sr-speaking{
  filter:drop-shadow(0 0 17px rgba(255,122,0,.90));
  animation:srAvatarBreath .38s ease-in-out infinite alternate;
}

.sr-assistente-avatar.sr-speaking::before{
  animation:srRingSpin .42s linear infinite;
}

.sr-assistente-avatar.sr-speaking::after{
  animation:srRingPulse .62s ease-out infinite;
}

@keyframes srAvatarBreath{
  to{transform:scale(1.075)}
}

@keyframes srRingSpin{
  to{transform:rotate(360deg)}
}

@keyframes srRingPulse{
  from{opacity:.75;transform:scale(.86)}
  to{opacity:0;transform:scale(1.42)}
}

.sr-assistente-texto{
  color:#f3f4f7;
  text-align:left;
  font-size:14px!important;
  line-height:1.45!important;
}

.sr-btn-audio{
  width:44px!important;
  height:44px!important;
  border-radius:50%;
}

.sr-progress{
  margin:13px 0 6px!important;
}

.sr-progress-text{
  margin-bottom:3px!important;
  font-weight:800;
}

/* Roleta vertical */
.sr-step{
  min-height:345px!important;
  height:345px!important;
  overflow:hidden!important;
  perspective:1600px!important;
  animation:none!important;
}

.sr-rotor-stage{
  position:relative!important;
  min-height:345px!important;
  height:345px!important;
  overflow:hidden!important;
  perspective:1600px!important;
  transform-style:preserve-3d!important;
  touch-action:pan-x!important;
}

.sr-rotor-stage>.sr-field{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:50%!important;
  width:100%!important;
  margin:0!important;
  padding:0 3px!important;
  transform-origin:center center!important;
  backface-visibility:hidden!important;
  transition:
    transform .66s cubic-bezier(.18,.78,.18,1),
    opacity .52s ease,
    filter .52s ease!important;
}

.sr-rotor-stage>.sr-field[hidden]{
  display:none!important;
}

.sr-rotor-active{
  z-index:5!important;
  opacity:1!important;
  filter:none!important;
  transform:translateY(-50%) rotateX(0deg) scale(1)!important;
  pointer-events:auto!important;
}

.sr-rotor-prev{
  z-index:1!important;
  opacity:.18!important;
  filter:blur(2.5px)!important;
  transform:translateY(-170%) rotateX(58deg) scale(.78)!important;
  pointer-events:none!important;
}

.sr-rotor-next-preview{
  z-index:2!important;
  opacity:.25!important;
  filter:blur(2px)!important;
  transform:translateY(55%) rotateX(-54deg) scale(.84)!important;
  pointer-events:none!important;
}

.sr-rotor-prev label,
.sr-rotor-next-preview label{
  opacity:.55!important;
  font-size:13px!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.sr-rotor-active label{
  display:block;
  margin-bottom:10px;
  color:#f6f7fa;
  font-size:17px!important;
  font-weight:850!important;
}

.sr-input{
  width:100%!important;
  min-height:66px!important;
  height:auto!important;
  padding:0 18px!important;
  border-radius:18px!important;
  border:1.5px solid rgba(255,129,25,.55)!important;
  background:
    linear-gradient(180deg,rgba(32,35,43,.99),rgba(16,18,23,.99))!important;
  color:#fff!important;
  font-size:19px!important;
  box-shadow:
    0 13px 30px rgba(0,0,0,.31),
    0 0 0 1px rgba(255,255,255,.025) inset!important;
}

.sr-input:focus{
  outline:none!important;
  border-color:#ff8b20!important;
  box-shadow:
    0 0 0 4px rgba(255,126,20,.13),
    0 0 30px rgba(255,114,0,.18)!important;
  transform:scale(1.01);
}

.sr-rotor-controls,
.sr-rotor-next,
.sr-rotor-back{
  display:none!important;
}

.sr-validacao-mensagem{
  display:block;
  min-height:20px;
  margin-top:7px;
  font-size:14px;
  font-weight:750;
}

.sr-sugestoes-usuario{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:7px;
}

.sr-sugestao{
  border:1px solid rgba(255,122,0,.55);
  background:#17191e;
  color:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-weight:750;
}

/* Navegação */
.sr-navigation{
  position:relative;
  z-index:12;
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:12px;
  margin-top:9px;
}

.sr-navigation .sr-btn{
  width:100%;
  min-height:59px;
  height:auto;
  border-radius:17px;
  font-size:16px;
  font-weight:850;
}

#btnVoltar{
  background:linear-gradient(180deg,#292c34,#181a20)!important;
  color:#fff!important;
  border:1px solid #414650!important;
}

#btnProximo,
#btnCadastrar{
  background:linear-gradient(135deg,#ffad40,#ff7200)!important;
  color:#111!important;
  border:0!important;
  box-shadow:0 13px 30px rgba(255,112,0,.25)!important;
}

.sr-btn:disabled{
  opacity:.35!important;
  filter:grayscale(.4)!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}

.sr-termos{
  margin:6px 0 13px;
  color:#d7d9df;
}

.sr-login{
  margin-top:15px;
}

@media(max-width:600px){
  .sr-overlay{
    padding:0;
  }

  .sr-popup{
    width:100%!important;
    max-width:none!important;
    min-height:100svh;
    border-radius:0!important;
    padding:17px 18px 24px!important;
  }

  .sr-assistente-topo{
    grid-template-columns:68px minmax(0,1fr) 42px;
    padding:10px 11px!important;
  }

  .sr-assistente-avatar{
    width:62px!important;
    height:62px!important;
  }

  .sr-step,
  .sr-rotor-stage{
    min-height:330px!important;
    height:330px!important;
  }

  .sr-input{
    min-height:63px!important;
    font-size:18px!important;
  }
}


/* ==========================================================
   v19.82.3 — Moldura oficial + PWA compacto + roleta real
========================================================== */

body{
  overflow:auto!important;
  background:#030405!important;
}

.sr-overlay{
  min-height:100svh!important;
  display:grid!important;
  place-items:center!important;
  padding:6px!important;
  background:#030405!important;
}

.sr-popup{
  position:relative!important;
  width:min(96vw,520px)!important;
  max-width:520px!important;
  min-height:min(94svh,760px)!important;
  padding:112px 66px 72px!important;
  border:0!important;
  border-radius:0!important;
  background:
    url('../img/cadastro-frame.png') center/100% 100% no-repeat!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

.sr-popup::before,
.sr-popup::after{
  display:none!important;
}

.sr-frame-assistant{
  position:absolute;
  z-index:30;
  top:20px;
  left:50%;
  width:94px;
  height:94px;
  transform:translateX(-50%);
  border:0;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
}

.sr-frame-ring{
  position:absolute;
  inset:-4px;
  border:2px solid rgba(255,129,25,.58);
  border-radius:50%;
  opacity:0;
  pointer-events:none;
}

.sr-frame-ring-2{
  inset:-12px;
  border-width:1px;
}

.sr-frame-assistant.sr-speaking .sr-frame-ring-1{
  opacity:1;
  animation:srFrameSpin .48s linear infinite;
}

.sr-frame-assistant.sr-speaking .sr-frame-ring-2{
  opacity:.8;
  animation:srFramePulse .62s ease-out infinite;
}

@keyframes srFrameSpin{
  to{transform:rotate(360deg)}
}

@keyframes srFramePulse{
  from{opacity:.75;transform:scale(.88)}
  to{opacity:0;transform:scale(1.38)}
}

.sr-assistente-oculta{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

.sr-header{
  margin:0 0 5px!important;
}

.sr-header h2{
  margin:0!important;
  font-size:clamp(22px,5vw,30px)!important;
}

.sr-header p{
  margin-top:4px!important;
  font-size:13px!important;
  line-height:1.35!important;
}

.sr-progress{
  height:7px!important;
  margin:10px 0 4px!important;
}

.sr-progress-text{
  margin:0!important;
  font-size:13px!important;
}

.sr-step{
  height:305px!important;
  min-height:305px!important;
  margin-top:2px!important;
}

.sr-rotor-stage{
  height:305px!important;
  min-height:305px!important;
  overflow:hidden!important;
  perspective:1700px!important;
}

.sr-rotor-stage>.sr-field{
  top:50%!important;
  transition:
    transform .72s cubic-bezier(.16,.8,.18,1),
    opacity .55s ease,
    filter .55s ease!important;
}

.sr-rotor-prev{
  transform:
    translateY(-168%)
    translateZ(-90px)
    rotateX(62deg)
    scale(.76)!important;
  opacity:.20!important;
}

.sr-rotor-active{
  transform:
    translateY(-50%)
    translateZ(20px)
    rotateX(0deg)
    scale(1)!important;
}

.sr-rotor-next-preview{
  transform:
    translateY(58%)
    translateZ(-70px)
    rotateX(-58deg)
    scale(.82)!important;
  opacity:.26!important;
}

.sr-wheel-spin-up{
  transform-origin:center center;
}

.sr-wheel-spin-down{
  transform-origin:center center;
}

.sr-input{
  min-height:60px!important;
  font-size:18px!important;
  border-radius:16px!important;
}

.sr-navigation{
  grid-template-columns:1fr 1.35fr!important;
  gap:10px!important;
  margin-top:4px!important;
}

.sr-navigation .sr-btn{
  min-height:54px!important;
  font-size:15px!important;
}

#btnVoltar:disabled,
#btnVoltar.sr-btn-inactive{
  opacity:.28!important;
  filter:grayscale(.5)!important;
  pointer-events:none!important;
}

.sr-message{
  position:fixed!important;
  left:50%!important;
  bottom:14px!important;
  width:min(92vw,480px)!important;
  transform:translateX(-50%)!important;
  z-index:999999!important;
}

.sr-recovery-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin-top:10px!important;
}

.sr-recovery-actions a{
  display:block!important;
  padding:11px 12px!important;
  text-align:center!important;
  border-radius:12px!important;
}

@media(max-width:600px){
  .sr-popup{
    width:100vw!important;
    min-height:100svh!important;
    padding:108px 52px 64px!important;
  }

  .sr-frame-assistant{
    top:17px;
    width:88px;
    height:88px;
  }

  .sr-step,
  .sr-rotor-stage{
    height:295px!important;
    min-height:295px!important;
  }
}

@media(max-width:390px){
  .sr-popup{
    padding-left:43px!important;
    padding-right:43px!important;
  }

  .sr-navigation{
    grid-template-columns:1fr 1.2fr!important;
  }
}


/* ==========================================================
   v19.82.3 — Moldura aprovada + roleta central + efeitos vivos
========================================================== */

.sr-popup{
  width:min(96vw,520px)!important;
  max-width:520px!important;
  min-height:min(96svh,760px)!important;
  padding:116px 68px 96px!important;
  background:
    url('../img/cadastro-frame.png')
    center/100% 100%
    no-repeat!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.sr-popup::before,
.sr-popup::after{
  display:none!important;
}

.sr-header{
  margin:0!important;
}

.sr-header h2{
  font-size:clamp(21px,4.8vw,28px)!important;
  margin:0!important;
}

.sr-header p{
  margin-top:4px!important;
  font-size:12px!important;
  line-height:1.25!important;
}

.sr-progress{
  height:6px!important;
  margin:8px 0 3px!important;
}

.sr-progress-text{
  margin:0!important;
  font-size:12px!important;
}

.sr-step,
.sr-rotor-stage{
  height:320px!important;
  min-height:320px!important;
  margin:0!important;
}

.sr-rotor-stage{
  overflow:hidden!important;
  perspective:1800px!important;
  transform-style:preserve-3d!important;
  touch-action:none!important;
  cursor:grab;
}

.sr-rotor-stage:active{
  cursor:grabbing;
}

.sr-rotor-stage>.sr-field{
  top:50%!important;
  width:100%!important;
  padding:0!important;
  transition:
    transform .68s cubic-bezier(.16,.82,.16,1),
    opacity .52s ease,
    filter .52s ease!important;
}

.sr-rotor-prev{
  transform:
    translateY(-172%)
    translateZ(-110px)
    rotateX(66deg)
    scale(.74)!important;
  opacity:.20!important;
  filter:blur(2.2px)!important;
}

.sr-rotor-active{
  transform:
    translateY(-50%)
    translateZ(34px)
    rotateX(0deg)
    scale(1)!important;
  opacity:1!important;
  filter:none!important;
}

.sr-rotor-next-preview{
  transform:
    translateY(62%)
    translateZ(-92px)
    rotateX(-63deg)
    scale(.80)!important;
  opacity:.26!important;
  filter:blur(1.8px)!important;
}

.sr-wheel-live-up,
.sr-wheel-live-down{
  will-change:transform,filter;
}

.sr-input{
  min-height:58px!important;
  font-size:17px!important;
  border-radius:16px!important;
}

.sr-navigation{
  position:absolute!important;
  left:67px!important;
  right:67px!important;
  bottom:36px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:24px!important;
  margin:0!important;
  z-index:20!important;
}

.sr-navigation .sr-btn{
  min-height:78px!important;
  border:0!important;
  border-radius:20px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  text-shadow:0 2px 7px rgba(0,0,0,.95)!important;
}

#btnProximo:not(:disabled),
#btnCadastrar:not(:disabled){
  color:#ff9a2b!important;
  text-shadow:
    0 0 11px rgba(255,122,0,.9),
    0 2px 7px rgba(0,0,0,.95)!important;
}

.sr-frame-assistant{
  top:18px!important;
  width:100px!important;
  height:100px!important;
}

.sr-frame-assistant.sr-speaking .sr-frame-ring-1{
  animation:srFrameSpin .28s linear infinite!important;
}

.sr-frame-assistant.sr-speaking .sr-frame-ring-2{
  animation:srFramePulse .34s ease-out infinite!important;
}

.sr-frame-speaking{
  animation:srFrameVoiceGlow .34s ease-in-out infinite alternate!important;
}

@keyframes srFrameVoiceGlow{
  from{
    filter:
      drop-shadow(0 0 4px rgba(255,122,0,.30))
      brightness(1);
  }
  to{
    filter:
      drop-shadow(0 0 17px rgba(255,122,0,.78))
      brightness(1.08);
  }
}

.sr-frame-confirm{
  animation:srFrameConfirm .42s ease-out!important;
}

@keyframes srFrameConfirm{
  0%{
    filter:
      drop-shadow(0 0 0 rgba(255,122,0,0))
      brightness(1);
  }
  45%{
    filter:
      drop-shadow(0 0 24px rgba(255,147,53,.95))
      brightness(1.16);
  }
  100%{
    filter:
      drop-shadow(0 0 5px rgba(255,122,0,.22))
      brightness(1);
  }
}

@media(max-width:600px){
  .sr-popup{
    width:100vw!important;
    min-height:100svh!important;
    padding:110px 54px 100px!important;
  }

  .sr-navigation{
    left:54px!important;
    right:54px!important;
    bottom:34px!important;
    gap:20px!important;
  }

  .sr-navigation .sr-btn{
    min-height:74px!important;
  }
}

@media(max-width:390px){
  .sr-popup{
    padding-left:46px!important;
    padding-right:46px!important;
  }

  .sr-navigation{
    left:46px!important;
    right:46px!important;
    gap:16px!important;
  }
}


/* ==========================================================
   v19.82.3 — Correção da animação do nome
========================================================== */

#srEffectsContainer{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:999999!important;
  pointer-events:none!important;
}

.sr-wave-confirmation{
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:rgba(0,0,0,.66)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  z-index:999999!important;
  pointer-events:none!important;
  animation:srConfirmOverlayIn .24s ease both!important;
}

.sr-wave-name{
  max-width:92vw!important;
  text-align:center!important;
  color:#fff!important;
  font-size:clamp(30px,8vw,58px)!important;
  line-height:1.15!important;
  font-weight:950!important;
  letter-spacing:.4px!important;
  text-shadow:
    0 0 10px rgba(255,255,255,.22),
    0 0 24px rgba(255,122,0,.72),
    0 0 46px rgba(255,122,0,.38)!important;
}

.sr-wave-name span{
  display:inline-block!important;
  opacity:0;
  animation:srLetterWavePremium .56s cubic-bezier(.18,.8,.22,1) both!important;
  animation-delay:calc(var(--i) * 42ms)!important;
}

@keyframes srConfirmOverlayIn{
  from{opacity:0}
  to{opacity:1}
}

@keyframes srLetterWavePremium{
  0%{
    opacity:0;
    transform:translateY(34px) scale(.68) rotateX(-35deg);
    filter:blur(8px);
  }
  48%{
    opacity:1;
    transform:translateY(-12px) scale(1.16) rotateX(0deg);
    color:#ff9d2e;
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1) rotateX(0deg);
    color:#fff;
    filter:blur(0);
  }
}


/* ==========================================================
   v19.82.3 — Moldura sem distorção e conteúdo dentro da borda
========================================================== */

html,body{
  min-height:100%;
  background:#030405!important;
}

.sr-overlay{
  min-height:100svh!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:10px 0 24px!important;
  overflow:auto!important;
}

.sr-popup{
  position:relative!important;
  width:min(96vw,720px)!important;
  max-width:720px!important;
  aspect-ratio:1 / 1!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  background:
    url('../img/cadastro-frame.png')
    center center / contain
    no-repeat!important;
  overflow:visible!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}

.sr-frame-content{
  position:absolute!important;
  z-index:10!important;
  left:13.5%!important;
  right:13.5%!important;
  top:16.5%!important;
  bottom:13.5%!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  overflow:hidden!important;
}

.sr-frame-assistant{
  top:1.8%!important;
  left:50%!important;
  width:15%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  transform:translateX(-50%)!important;
}

.sr-header{
  flex:0 0 auto!important;
  margin:0!important;
  text-align:center!important;
}

.sr-header h2{
  margin:0!important;
  font-size:clamp(18px,4vw,30px)!important;
  line-height:1.1!important;
}

.sr-header p{
  margin:4px 0 0!important;
  font-size:clamp(10px,2.2vw,14px)!important;
  line-height:1.25!important;
}

.sr-progress{
  flex:0 0 auto!important;
  height:6px!important;
  margin:8px 0 3px!important;
}

.sr-progress-text{
  flex:0 0 auto!important;
  margin:0!important;
  font-size:clamp(10px,2vw,13px)!important;
}

#cadastroForm{
  position:relative!important;
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}

.sr-step{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  overflow:hidden!important;
}

.sr-rotor-stage{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}

.sr-rotor-stage>.sr-field{
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
}

.sr-input{
  width:100%!important;
  max-width:100%!important;
  min-height:50px!important;
  height:50px!important;
  padding:0 14px!important;
  font-size:clamp(15px,3.5vw,18px)!important;
  border-radius:14px!important;
}

.sr-rotor-active label{
  margin-bottom:7px!important;
  font-size:clamp(13px,3vw,17px)!important;
}

.sr-navigation{
  position:absolute!important;
  z-index:25!important;
  left:7.2%!important;
  right:7.2%!important;
  bottom:1.8%!important;
  height:13.5%!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12%!important;
  margin:0!important;
  align-items:stretch!important;
}

.sr-navigation .sr-btn{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0 8px!important;
  border-radius:12px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font-size:clamp(13px,3vw,18px)!important;
}

.sr-wave-confirmation{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:rgba(0,0,0,.72)!important;
  backdrop-filter:blur(5px)!important;
}

.sr-wave-name{
  position:relative!important;
  max-width:90vw!important;
  text-align:center!important;
  font-size:clamp(24px,7vw,48px)!important;
  line-height:1.15!important;
  color:#fff!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-shadow:
    0 0 14px rgba(255,122,0,.75),
    0 0 28px rgba(255,122,0,.35)!important;
}

@media(max-width:520px){
  .sr-overlay{
    padding-top:6px!important;
  }

  .sr-popup{
    width:98vw!important;
  }

  .sr-frame-content{
    left:13.8%!important;
    right:13.8%!important;
    top:16.8%!important;
    bottom:13.8%!important;
  }

  .sr-input{
    min-height:46px!important;
    height:46px!important;
  }
}


/* ==========================================================
   v19.82.3 — Giro acompanha o dedo + layout proporcional
========================================================== */

.sr-rotor-stage{
  touch-action:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  transition:
    transform .18s ease,
    filter .18s ease!important;
}

.sr-rotor-stage.sr-dragging{
  transition:none!important;
}

.sr-frame-content,
.sr-header,
.sr-progress,
.sr-progress-text,
#cadastroForm,
.sr-step,
.sr-rotor-stage,
.sr-navigation{
  box-sizing:border-box!important;
}

/* Retrato: tudo proporcional à moldura */
@media (orientation:portrait){

  .sr-popup{
    width:min(96vw,720px)!important;
    aspect-ratio:1/1!important;
  }

  .sr-frame-content{
    left:14.5%!important;
    right:14.5%!important;
    top:17.2%!important;
    bottom:15.2%!important;
  }

  .sr-navigation{
    left:8.4%!important;
    right:8.4%!important;
    bottom:2.2%!important;
    height:13.8%!important;
    gap:14%!important;
  }

  .sr-input{
    width:88%!important;
    max-width:88%!important;
    margin:0 auto!important;
  }

  .sr-rotor-active label{
    width:88%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Paisagem: moldura inteira redimensiona e todo conteúdo acompanha */
@media (orientation:landscape) and (max-height:700px){

  .sr-overlay{
    min-height:100svh!important;
    padding:4px!important;
    align-items:center!important;
    overflow:hidden!important;
  }

  .sr-popup{
    width:min(88vh,92vw)!important;
    max-width:none!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    min-height:0!important;
  }

  .sr-frame-content{
    left:15%!important;
    right:15%!important;
    top:17.4%!important;
    bottom:15.5%!important;
  }

  .sr-frame-assistant{
    top:1.7%!important;
    width:14.6%!important;
  }

  .sr-header h2{
    font-size:clamp(16px,3.4vh,25px)!important;
  }

  .sr-header p{
    font-size:clamp(9px,1.9vh,12px)!important;
  }

  .sr-progress{
    height:4px!important;
    margin:5px 0 2px!important;
  }

  .sr-progress-text{
    font-size:clamp(9px,1.7vh,11px)!important;
  }

  .sr-input{
    width:84%!important;
    max-width:84%!important;
    height:clamp(38px,10vh,50px)!important;
    min-height:38px!important;
    margin:0 auto!important;
    font-size:clamp(14px,3.2vh,18px)!important;
  }

  .sr-rotor-active label{
    width:84%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-size:clamp(12px,2.7vh,16px)!important;
  }

  .sr-navigation{
    left:8.5%!important;
    right:8.5%!important;
    bottom:2.1%!important;
    height:13.2%!important;
    gap:15%!important;
  }

  .sr-navigation .sr-btn{
    font-size:clamp(12px,2.8vh,16px)!important;
  }

  .sr-step,
  .sr-rotor-stage{
    min-height:0!important;
    height:auto!important;
    flex:1 1 auto!important;
  }
}


/* ==========================================================
   v19.82.3 — Conteúdo proporcional dentro da moldura
========================================================== */

.sr-frame-content{
  left:17.5%!important;
  right:17.5%!important;
  top:18.5%!important;
  bottom:17.5%!important;
  overflow:hidden!important;
}

.sr-header{
  max-width:92%!important;
  margin:0 auto!important;
}

.sr-header h2{
  font-size:clamp(17px,4vw,27px)!important;
}

.sr-header p{
  font-size:clamp(9px,2vw,13px)!important;
}

.sr-progress{
  width:86%!important;
  margin:6px auto 2px!important;
}

.sr-progress-text{
  font-size:clamp(9px,2vw,12px)!important;
}

.sr-rotor-stage>.sr-field{
  width:100%!important;
  max-width:100%!important;
}

.sr-rotor-active label,
.sr-input,
.sr-validacao-mensagem,
.sr-sugestoes-usuario{
  width:76%!important;
  max-width:76%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.sr-input{
  min-width:0!important;
  padding-left:13px!important;
  padding-right:13px!important;
}

.sr-navigation{
  left:16.2%!important;
  right:16.2%!important;
  bottom:3.2%!important;
  height:10.8%!important;
  gap:17%!important;
}

.sr-navigation .sr-btn{
  min-width:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  font-size:clamp(11px,2.6vw,16px)!important;
}

.sr-recovery-actions{
  width:76%!important;
  max-width:76%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media (orientation:landscape) and (max-height:700px){

  .sr-popup{
    width:min(86vh,88vw)!important;
    aspect-ratio:1/1!important;
  }

  .sr-frame-content{
    left:18%!important;
    right:18%!important;
    top:19%!important;
    bottom:18%!important;
  }

  .sr-header h2{
    font-size:clamp(14px,3.2vh,22px)!important;
  }

  .sr-header p{
    font-size:clamp(8px,1.7vh,11px)!important;
  }

  .sr-rotor-active label,
  .sr-input,
  .sr-validacao-mensagem,
  .sr-sugestoes-usuario{
    width:72%!important;
    max-width:72%!important;
  }

  .sr-input{
    height:clamp(34px,8.5vh,46px)!important;
    min-height:34px!important;
    font-size:clamp(13px,2.8vh,17px)!important;
  }

  .sr-navigation{
    left:16.5%!important;
    right:16.5%!important;
    bottom:3.3%!important;
    height:10.5%!important;
    gap:17.5%!important;
  }
}


/* ==========================================================
   v19.82.3 — Roleta centralizada e botões nos nichos da moldura
========================================================== */

.sr-overlay{
  min-height:100svh!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:8px 0 26px!important;
  overflow:auto!important;
  background:#030405!important;
}

.sr-popup{
  position:relative!important;
  width:min(98vw,720px)!important;
  max-width:720px!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:
    url('../img/cadastro-frame.png')
    center/100% 100%
    no-repeat!important;
  box-shadow:none!important;
}

/* Área útil preta da moldura */
.sr-frame-content{
  position:absolute!important;
  z-index:10!important;
  left:16%!important;
  right:16%!important;
  top:17.5%!important;
  bottom:15.5%!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  overflow:visible!important;
}

.sr-header{
  flex:0 0 auto!important;
  width:90%!important;
  margin:0 auto!important;
  text-align:center!important;
}

.sr-header h2{
  margin:0!important;
  font-size:clamp(18px,4vw,29px)!important;
  line-height:1.08!important;
}

.sr-header p{
  margin:4px 0 0!important;
  font-size:clamp(9px,2vw,13px)!important;
  line-height:1.25!important;
}

.sr-progress{
  flex:0 0 auto!important;
  width:86%!important;
  height:6px!important;
  margin:8px auto 3px!important;
}

.sr-progress-text{
  flex:0 0 auto!important;
  margin:0!important;
  font-size:clamp(9px,1.9vw,12px)!important;
}

/* O formulário ocupa somente o centro; navegação sai para os nichos inferiores */
#cadastroForm{
  position:relative!important;
  flex:1 1 auto!important;
  min-height:0!important;
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:visible!important;
}

.sr-step{
  position:relative!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  overflow:hidden!important;
  perspective:1800px!important;
}

/* Área da roleta: campo anterior, atual e próximo visíveis */
.sr-rotor-stage{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  perspective:1800px!important;
  transform-style:preserve-3d!important;
  touch-action:none!important;
  cursor:grab!important;
}

.sr-rotor-stage.sr-dragging{
  cursor:grabbing!important;
}

.sr-rotor-stage>.sr-field{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:50%!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  transform-origin:center center!important;
  backface-visibility:hidden!important;
  transition:
    transform .68s cubic-bezier(.16,.82,.16,1),
    opacity .50s ease,
    filter .50s ease!important;
}

.sr-rotor-stage>.sr-field[hidden]{
  display:none!important;
}

/* Cilindro visível */
.sr-rotor-prev{
  z-index:2!important;
  opacity:.24!important;
  filter:blur(1.8px)!important;
  transform:
    translateY(-172%)
    translateZ(-105px)
    rotateX(64deg)
    scale(.76)!important;
  pointer-events:none!important;
}

.sr-rotor-active{
  z-index:6!important;
  opacity:1!important;
  filter:none!important;
  transform:
    translateY(-50%)
    translateZ(28px)
    rotateX(0deg)
    scale(1)!important;
  pointer-events:auto!important;
}

.sr-rotor-next-preview{
  z-index:3!important;
  opacity:.28!important;
  filter:blur(1.5px)!important;
  transform:
    translateY(72%)
    translateZ(-90px)
    rotateX(-62deg)
    scale(.80)!important;
  pointer-events:none!important;
}

.sr-rotor-active label,
.sr-input,
.sr-validacao-mensagem,
.sr-sugestoes-usuario{
  width:76%!important;
  max-width:76%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

.sr-rotor-active label{
  display:block!important;
  margin-bottom:7px!important;
  color:#fff!important;
  font-size:clamp(13px,2.8vw,17px)!important;
  font-weight:900!important;
}

.sr-input{
  display:block!important;
  min-width:0!important;
  height:clamp(46px,8vw,58px)!important;
  min-height:46px!important;
  padding:0 14px!important;
  border-radius:15px!important;
  font-size:clamp(15px,3.2vw,18px)!important;
}

/* Botões encaixados nos dois nichos desenhados na base da imagem */
.sr-navigation{
  position:absolute!important;
  z-index:30!important;
  left:-13.2%!important;
  right:-13.2%!important;
  bottom:-20.5%!important;
  height:18.5%!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:15.5%!important;
  align-items:stretch!important;
  margin:0!important;
  pointer-events:none!important;
}

.sr-navigation .sr-btn{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:18px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:clamp(12px,2.7vw,17px)!important;
  font-weight:950!important;
  text-shadow:0 2px 7px rgba(0,0,0,.95)!important;
  pointer-events:auto!important;
}

#btnVoltar:not(:disabled){
  color:#fff!important;
}

#btnProximo:not(:disabled),
#btnCadastrar:not(:disabled){
  color:#ff9b31!important;
  text-shadow:
    0 0 11px rgba(255,122,0,.85),
    0 2px 7px rgba(0,0,0,.95)!important;
}

#btnVoltar:disabled,
#btnProximo:disabled{
  opacity:.28!important;
  filter:grayscale(.5)!important;
}

/* Logo/IA permanece alinhada ao topo da moldura */
.sr-frame-assistant{
  top:2.1%!important;
  left:50%!important;
  width:15%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  transform:translateX(-50%)!important;
}

.sr-security-seal{
  position:absolute!important;
  z-index:35!important;
  top:15.5%!important;
  right:11.5%!important;
}

/* Retrato pequeno */
@media(max-width:520px) and (orientation:portrait){
  .sr-popup{
    width:100vw!important;
  }

  .sr-frame-content{
    left:15.5%!important;
    right:15.5%!important;
    top:17.8%!important;
    bottom:15.8%!important;
  }

  .sr-rotor-active label,
  .sr-input,
  .sr-validacao-mensagem,
  .sr-sugestoes-usuario{
    width:78%!important;
    max-width:78%!important;
  }

  .sr-navigation{
    left:-12.5%!important;
    right:-12.5%!important;
    bottom:-20.8%!important;
    height:18.8%!important;
    gap:15%!important;
  }

  .sr-input{
    height:48px!important;
    min-height:48px!important;
  }
}

/* Paisagem: a moldura inteira encolhe e todos os elementos acompanham */
@media(orientation:landscape) and (max-height:700px){
  .sr-overlay{
    align-items:center!important;
    padding:4px!important;
    overflow:hidden!important;
  }

  .sr-popup{
    width:min(91vh,90vw)!important;
    max-width:none!important;
  }

  .sr-frame-content{
    left:16.5%!important;
    right:16.5%!important;
    top:18%!important;
    bottom:16%!important;
  }

  .sr-header h2{
    font-size:clamp(14px,3.3vh,22px)!important;
  }

  .sr-header p{
    font-size:clamp(8px,1.8vh,11px)!important;
  }

  .sr-progress{
    height:4px!important;
    margin:5px auto 2px!important;
  }

  .sr-progress-text{
    font-size:clamp(8px,1.7vh,10px)!important;
  }

  .sr-rotor-active label,
  .sr-input,
  .sr-validacao-mensagem,
  .sr-sugestoes-usuario{
    width:72%!important;
    max-width:72%!important;
  }

  .sr-input{
    height:clamp(34px,8vh,44px)!important;
    min-height:34px!important;
    font-size:clamp(12px,2.8vh,16px)!important;
  }

  .sr-navigation{
    left:-13%!important;
    right:-13%!important;
    bottom:-20.5%!important;
    height:18.2%!important;
    gap:16%!important;
  }

  .sr-navigation .sr-btn{
    font-size:clamp(10px,2.5vh,14px)!important;
  }
}


/* ==========================================================
   Porta de entrada do cadastro — v19.82.33
========================================================== */
.sr-mode-gate{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:clamp(16px,4vw,36px);
  overflow:auto;
  opacity:1;
  visibility:visible;
  transition:opacity .32s ease,visibility .32s ease;
}
.sr-mode-gate-film{
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,rgba(151,157,165,.68),rgba(39,43,49,.79));
  backdrop-filter:blur(14px) saturate(.78);
  -webkit-backdrop-filter:blur(14px) saturate(.78);
}
.sr-mode-gate-film::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 49.7%,rgba(255,255,255,.09) 50%,transparent 50.3%),
    radial-gradient(circle at 50% 22%,rgba(255,255,255,.18),transparent 35%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 5px);
  pointer-events:none;
}
.sr-mode-gate-panel{
  position:relative;
  width:min(620px,94vw);
  padding:clamp(24px,5vw,44px);
  border:1px solid rgba(255,255,255,.28);
  border-radius:30px;
  background:linear-gradient(155deg,rgba(21,24,29,.90),rgba(7,9,12,.94));
  box-shadow:0 32px 90px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.12);
  color:#fff;
  text-align:center;
  overflow:hidden;
}
.sr-mode-gate-panel::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(130deg,rgba(255,255,255,.35),rgba(255,122,0,.65),rgba(255,255,255,.08));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}
.sr-mode-gate-logo-wrap{
  width:78px;
  height:78px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,124,0,.25),rgba(255,124,0,.04) 62%,transparent 63%);
  box-shadow:0 0 34px rgba(255,115,0,.24);
}
.sr-mode-gate-logo{max-width:66px;max-height:66px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,128,0,.34));}
.sr-mode-gate-kicker{display:block;margin-bottom:8px;color:#ff8a1c;font-size:11px;font-weight:800;letter-spacing:.22em;}
.sr-mode-gate h1{margin:0;font-size:clamp(23px,5vw,36px);line-height:1.12;letter-spacing:-.03em;}
.sr-mode-gate p{max-width:500px;margin:14px auto 25px;color:rgba(255,255,255,.69);font-size:14px;line-height:1.55;}
.sr-mode-gate-actions{display:grid;gap:14px;}
.sr-mode-choice{
  position:relative;
  width:100%;
  min-height:92px;
  display:grid;
  grid-template-columns:58px 1fr 28px;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:20px;
  color:#fff;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.sr-mode-choice::before{content:"";position:absolute;inset:0;opacity:.88;z-index:-1;}
.sr-mode-choice-voice::before{background:linear-gradient(120deg,rgba(255,117,0,.28),rgba(26,29,34,.94));}
.sr-mode-choice-manual::before{background:linear-gradient(120deg,rgba(255,255,255,.10),rgba(24,27,32,.96));}
.sr-mode-choice:hover,.sr-mode-choice:focus-visible{transform:translateY(-2px);border-color:rgba(255,137,42,.72);box-shadow:0 14px 32px rgba(0,0,0,.28),0 0 0 3px rgba(255,124,0,.10);outline:none;}
.sr-mode-choice:active{transform:translateY(0) scale(.99);}
.sr-mode-choice-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.09);font-size:25px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);}
.sr-mode-choice-copy{display:grid;gap:5px;}
.sr-mode-choice-copy strong{font-size:clamp(15px,3.8vw,18px);line-height:1.2;}
.sr-mode-choice-copy small{color:rgba(255,255,255,.62);font-size:12px;line-height:1.4;}
.sr-mode-choice-arrow{font-size:34px;color:#ff8b24;line-height:1;}
.sr-mode-gate-security{margin-top:22px;color:rgba(255,255,255,.48);font-size:11px;letter-spacing:.02em;}
.sr-mode-gate-hidden{opacity:0;visibility:hidden;pointer-events:none;}
body.sr-mode-gate-open{overflow:hidden!important;}
.sr-mode-switcher{position:fixed;z-index:9990;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(255,132,28,.55);border-radius:999px;background:rgba(8,10,13,.84);backdrop-filter:blur(8px);color:#fff;font-size:11px;font-weight:700;box-shadow:0 10px 28px rgba(0,0,0,.35);}
.sr-mode-switcher[hidden]{display:none!important;}
body.sr-mode-manual .sr-voice-input{display:none!important;}
body.sr-mode-manual .sr-assistente{display:none!important;}
body.sr-mode-voice .sr-voice-input{display:grid;}
@media(max-width:520px){
  .sr-mode-gate{padding:12px;}
  .sr-mode-gate-panel{padding:24px 16px 20px;border-radius:24px;}
  .sr-mode-choice{grid-template-columns:48px 1fr 20px;gap:10px;padding:13px 12px;min-height:84px;border-radius:17px;}
  .sr-mode-choice-icon{width:45px;height:45px;border-radius:13px;font-size:21px;}
  .sr-mode-choice-copy small{font-size:10.5px;}
  .sr-mode-choice-arrow{font-size:28px;}
}

/* ==========================================================
   SulRide v19.82.37 — refinamentos da porta e modo por voz
========================================================== */
body.sr-mode-gate-open input,
body.sr-mode-gate-open select,
body.sr-mode-gate-open textarea{
  pointer-events:none!important;
}

.sr-mode-gate-actions{
  width:min(92%,520px);
  margin-inline:auto;
  gap:18px;
}

.sr-mode-choice{
  isolation:isolate;
  min-height:76px;
  grid-template-columns:46px 1fr 20px;
  gap:11px;
  padding:11px 14px;
  border:1px solid rgba(255,132,28,.62)!important;
  background:linear-gradient(145deg,#272a2f,#15171b)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.32),0 0 18px rgba(255,119,0,.08);
}
.sr-mode-choice::before{
  z-index:0;
  opacity:.42;
  pointer-events:none;
}
.sr-mode-choice>*{position:relative;z-index:1;}
.sr-mode-choice-icon{
  width:40px;
  height:40px;
  border-radius:12px;
  color:#ff8a1c;
  background:rgba(255,126,22,.10);
  font-size:19px;
}
.sr-mode-choice-copy strong{font-size:15px;color:#fff;}
.sr-mode-choice-copy small{font-size:10.5px;color:rgba(255,255,255,.68);}
.sr-mode-choice-arrow{font-size:25px;color:#ff8b24;}

/* No modo por voz, a SR Suri avança o campo sem exibir seta interna. */
body.sr-mode-voice .sr-inline-confirm{
  display:none!important;
}

@media(max-width:520px){
  .sr-mode-gate-actions{width:90%;gap:14px;}
  .sr-mode-choice{
    min-height:72px;
    grid-template-columns:40px 1fr 18px;
    padding:10px 12px;
    border-radius:16px;
  }
  .sr-mode-choice-icon{width:36px;height:36px;font-size:17px;}
  .sr-mode-choice-copy strong{font-size:14px;}
  .sr-mode-choice-copy small{font-size:9.8px;}
}

/* ==========================================================
   SulRide v19.82.38 — recepção SR Suri + teclado seguro
========================================================== */
.sr-mode-gate-panel{
  width:min(560px,92vw);
  padding:clamp(22px,4.2vw,36px);
}
.sr-mode-gate h1{
  font-size:clamp(22px,4.6vw,32px);
}
.sr-mode-gate p{
  margin:11px auto 20px;
  font-size:13px;
}
.sr-mode-gate-actions{
  width:min(88%,460px);
  gap:12px;
}
.sr-mode-choice{
  min-height:64px!important;
  grid-template-columns:38px 1fr!important;
  gap:10px!important;
  padding:9px 12px!important;
  border-radius:15px!important;
  background:
    linear-gradient(145deg,rgba(29,33,39,.95),rgba(10,12,15,.98))!important;
  border:1px solid rgba(255,130,24,.78)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 0 1px rgba(255,128,20,.05),
    0 8px 22px rgba(0,0,0,.34),
    0 0 18px rgba(255,111,0,.08)!important;
}
.sr-mode-choice::after{
  content:"";
  position:absolute;
  left:10%;right:10%;top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,180,95,.7),transparent);
  opacity:.7;
}
.sr-mode-choice-icon{
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  font-size:16px!important;
  border:1px solid rgba(255,139,36,.25);
  box-shadow:inset 0 0 12px rgba(255,120,0,.08),0 0 10px rgba(255,112,0,.06);
}
.sr-mode-choice-copy strong{font-size:13.5px!important;letter-spacing:.01em;}
.sr-mode-choice-copy small{font-size:9.7px!important;line-height:1.3;}
.sr-mode-choice-arrow{display:none!important;}
.sr-mode-choice:active{
  transform:scale(.975)!important;
  box-shadow:0 0 26px rgba(255,119,0,.20)!important;
}

.sr-secure-keyboard{
  position:fixed;
  inset:0;
  z-index:100500;
  display:grid;
  align-items:end;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
}
.sr-secure-keyboard.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.sr-secure-keyboard-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.60);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.sr-secure-keyboard-panel{
  position:relative;
  width:min(520px,100%);
  margin-inline:auto;
  padding:18px max(16px,env(safe-area-inset-left)) calc(16px + env(safe-area-inset-bottom));
  border:1px solid rgba(255,132,30,.62);
  border-bottom:0;
  border-radius:26px 26px 0 0;
  background:
    linear-gradient(155deg,rgba(27,30,35,.98),rgba(6,8,11,.99));
  box-shadow:0 -24px 70px rgba(0,0,0,.60),0 0 28px rgba(255,112,0,.08);
  transform:translateY(105%);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.sr-secure-keyboard.is-open .sr-secure-keyboard-panel{transform:translateY(0);}
.sr-secure-keyboard-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
  color:#fff;
}
.sr-secure-keyboard-head>div{display:grid;gap:3px;text-align:left;}
.sr-secure-keyboard-badge{
  color:#ff8a1c;
  font-size:9px;
  font-weight:900;
  letter-spacing:.19em;
}
.sr-secure-keyboard-head strong{font-size:16px;}
.sr-secure-keyboard-lock{
  width:32px;height:32px;display:grid;place-items:center;border-radius:50%;
  color:#ff8a1c;border:1px solid rgba(255,138,28,.35);background:rgba(255,125,20,.08);
}
.sr-secure-keyboard-display{
  display:grid;
  gap:5px;
  min-height:66px;
  margin-bottom:12px;
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:15px;
  background:rgba(255,255,255,.035);
  text-align:left;
}
.sr-secure-keyboard-display small{color:rgba(255,255,255,.55);font-size:10px;}
.sr-secure-keyboard-display output{color:#fff;font-size:24px;font-weight:800;letter-spacing:.04em;}
.sr-secure-keyboard-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.sr-secure-keyboard-grid button{
  min-height:48px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(41,45,52,.96),rgba(17,19,23,.98));
  color:#fff;
  font:800 19px/1 inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 5px 12px rgba(0,0,0,.22);
}
.sr-secure-keyboard-grid button:active{
  transform:scale(.96);
  border-color:#ff8a1c;
  color:#ff8a1c;
  box-shadow:0 0 18px rgba(255,122,0,.18);
}
.sr-secure-keyboard-grid .sr-key-action{color:#ff9b42;font-size:16px;}
.sr-secure-keyboard-confirm{
  width:100%;
  min-height:46px;
  margin-top:11px;
  border:1px solid #ff8a1c;
  border-radius:14px;
  background:linear-gradient(135deg,#ff9a2e,#f06d00);
  color:#111;
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 9px 22px rgba(255,112,0,.20);
}
.sr-secure-keyboard-note{
  margin:8px 0 0;
  color:rgba(255,255,255,.46);
  font-size:9.5px;
  text-align:center;
}
.sr-keyboard-error .sr-secure-keyboard-display{
  animation:sr-keyboard-shake .34s ease;
  border-color:rgba(255,91,69,.78);
}
@keyframes sr-keyboard-shake{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-7px)}
  75%{transform:translateX(7px)}
}
body.sr-secure-keyboard-open{overflow:hidden!important;}
body.sr-mode-voice input[readonly]{caret-color:transparent;}

@media(max-width:520px){
  .sr-mode-gate-panel{padding:20px 14px 18px;}
  .sr-mode-gate-actions{width:86%;gap:10px;}
  .sr-mode-choice{min-height:60px!important;padding:8px 10px!important;}
  .sr-mode-choice-copy strong{font-size:12.5px!important;}
  .sr-mode-choice-copy small{font-size:9px!important;}
  .sr-secure-keyboard-panel{padding-top:14px;}
  .sr-secure-keyboard-grid button{min-height:44px;}
}

/* ==========================================================
   SulRide v19.82.39 — recepção institucional + AI Core
========================================================== */
.sr-mode-gate-audio-state{
  min-height:18px;
  margin:14px auto 0;
  color:rgba(255,255,255,.58);
  font-size:10px;
  letter-spacing:.035em;
  transition:color .2s ease,opacity .2s ease;
}

.sr-mode-choice:disabled{
  cursor:wait;
  opacity:.58;
  filter:saturate(.72);
  transform:none!important;
}

.sr-mode-gate.sr-system-speaking .sr-mode-gate-logo-wrap{
  animation:srSystemLogoPulse 1.45s ease-in-out infinite;
}

.sr-mode-gate.sr-system-speaking .sr-mode-gate-logo{
  animation:srSystemLogoGlow 1.45s ease-in-out infinite;
}

.sr-mode-gate.sr-system-speaking .sr-mode-gate-audio-state{
  color:#ff9a3c;
}

.sr-mode-gate.sr-system-ready .sr-mode-choice{
  animation:srChoiceReady .42s ease both;
}

.sr-mode-gate.sr-system-ready .sr-mode-choice:nth-child(2){
  animation-delay:.08s;
}

@keyframes srSystemLogoPulse{
  0%,100%{transform:scale(1);box-shadow:0 0 28px rgba(255,115,0,.20);}
  50%{transform:scale(1.055);box-shadow:0 0 48px rgba(255,115,0,.42);}
}

@keyframes srSystemLogoGlow{
  0%,100%{filter:drop-shadow(0 0 9px rgba(255,128,0,.34));}
  50%{filter:drop-shadow(0 0 19px rgba(255,128,0,.78));}
}

@keyframes srChoiceReady{
  from{opacity:.55;transform:translateY(6px);}
  to{opacity:1;transform:translateY(0);}
}
