:root{
  --bg:#080705;
  --orange:#ff8a14;
  --text:#f7f4ef;
  --muted:#c4beb5;
  --shadow:0 28px 80px rgba(0,0,0,.46);
}
*{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-x:hidden;background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;max-width:100%;overflow-x:hidden;margin:0;min-height:100vh;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:#080705}
button,input,textarea,select{font:inherit;touch-action:manipulation}
.page-shell{position:relative;width:min(100%,920px);min-height:100vh;margin:auto;background:#080705;overflow:visible;box-shadow:0 0 90px rgba(0,0,0,.6)}

/* O vídeo permanece no topo enquanto o quadro de cadastro é rolado. */
.hero{position:sticky;top:0;height:clamp(390px,68svh,620px);overflow:hidden;isolation:isolate;background:#080705;z-index:1}
.hero-ambient{position:absolute;inset:-20%;z-index:-2;background:radial-gradient(ellipse at 50% 45%,rgba(255,119,8,.22),transparent 53%);filter:blur(30px)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:0;transform:scale(1.01);filter:saturate(.94) contrast(1.03) brightness(.88);transition:opacity .7s ease,filter .7s ease;pointer-events:none}
.hero-video.is-active{opacity:1}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,7,5,.68),transparent 11%,transparent 89%,rgba(8,7,5,.68)),linear-gradient(180deg,rgba(8,7,5,.18),transparent 55%,rgba(8,7,5,.58));pointer-events:none}
.hero-bottom-fade{position:absolute;left:0;right:0;bottom:-1px;height:34%;background:linear-gradient(180deg,transparent,rgba(8,7,5,.36) 52%,rgba(8,7,5,.88));pointer-events:none}

/* Película invisível/vidro: qualquer toque inicia, sem texto ou ícone. */
.presentation-glass{position:absolute;inset:0;z-index:5;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.005));backdrop-filter:blur(.4px);-webkit-backdrop-filter:blur(.4px);box-shadow:inset 0 1px rgba(255,255,255,.055);-webkit-tap-highlight-color:transparent;transition:opacity .35s ease,visibility .35s ease}
.presentation-glass.is-hidden{opacity:0;visibility:hidden;pointer-events:none}

/* O formulário nasce sobre o vídeo e sobe sobre ele com a rolagem da página. */
.form-layer{position:relative;z-index:4;margin-top:-150px;padding:0 14px max(34px,env(safe-area-inset-bottom));pointer-events:none}
.glass-card{position:relative;min-height:490px;overflow:visible;border:1px solid rgba(255,255,255,.15);border-radius:34px 34px 0 0;background:linear-gradient(145deg,rgba(17,15,13,.46),rgba(15,13,11,.20));backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.13),0 0 0 1px rgba(255,132,17,.045);pointer-events:auto;transform:translateZ(0)}
.glass-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.055) 42%,transparent 59%);transform:translateX(-120%);animation:glassSweep 9s ease-in-out infinite;z-index:2}
.form-scroll{position:relative;height:auto;overflow:visible;padding:34px 28px 46px}

.eyebrow{color:#f2ad62;font-size:13px;font-weight:750;letter-spacing:.26em;margin-bottom:12px}
.glass-card h1{font-size:clamp(34px,7vw,54px);line-height:1.02;margin:0 0 10px;letter-spacing:-.045em}
.subtitle{margin:0 0 29px;color:var(--muted)}
.field-capsule{position:relative;display:flex;align-items:center;min-height:68px;margin-top:15px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.115),rgba(255,255,255,.045));box-shadow:inset 0 1px rgba(255,255,255,.11),inset 0 -12px 26px rgba(0,0,0,.12),0 12px 30px rgba(0,0,0,.17);transition:border-color .25s,box-shadow .25s,transform .25s}
.field-capsule:focus-within{border-color:rgba(255,162,64,.78);box-shadow:inset 0 1px rgba(255,255,255,.14),0 0 0 4px rgba(255,132,17,.09),0 14px 35px rgba(0,0,0,.24)}
.field-icon{width:72px;text-align:center;color:#ffad58;font-size:25px;filter:drop-shadow(0 0 8px rgba(255,139,20,.35))}
.field-capsule input{flex:1;min-width:0;height:66px;padding:0 26px 0 0;border:0;outline:0;background:transparent;color:#fff;font-size:19px;line-height:1.25}
.field-capsule input::placeholder{color:#d0cac1}
.field-error{display:block;min-height:18px;padding:5px 24px 0;color:#ff9c83;font-size:12px}
.field-capsule.has-error{border-color:rgba(255,91,61,.75)}
.submit-button{position:relative;overflow:hidden;width:100%;min-height:68px;margin-top:18px;border:0;border-radius:999px;color:#18110a;background:linear-gradient(90deg,#ff7a00,#ffa42f 55%,#ffd17c);box-shadow:0 18px 42px rgba(255,116,0,.23),inset 0 1px rgba(255,255,255,.55);font-weight:850;letter-spacing:.05em;display:flex;align-items:center;justify-content:space-between;padding:0 32px;cursor:pointer}
.submit-button::after{content:"";position:absolute;top:-20%;bottom:-20%;width:70px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg) translateX(-180px);animation:buttonSweep 5.6s ease-in-out infinite}
.arrow{font-size:28px}.privacy-note{text-align:center;color:#a19b92;font-size:12px;line-height:1.5;margin:16px 16px 0}.form-status{text-align:center;min-height:20px;margin-top:12px;color:#ffd08c}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes glassSweep{0%,72%{transform:translateX(-120%)}92%,100%{transform:translateX(120%)}}
@keyframes buttonSweep{0%,62%{transform:skewX(-18deg) translateX(-180px)}85%,100%{transform:skewX(-18deg) translateX(780px)}}
@media(max-width:560px){
  .hero{height:clamp(390px,58svh,540px);min-height:390px;max-height:540px}
  .hero-video{object-position:center top}
  .form-layer{margin-top:-118px;padding-left:10px;padding-right:10px}
  .glass-card{min-height:470px;border-radius:28px 28px 0 0}
  .form-scroll{padding:28px 16px 42px}
  .field-capsule{min-height:64px}.field-capsule:focus-within{transform:none}.field-capsule input{height:62px;font-size:18px}.field-icon{width:62px}.submit-button{padding:0 23px;font-size:15px}.privacy-note{font-size:11px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Confirmação dos dados antes de gravar o pré-cadastro. */
body.review-open{overflow:hidden}
.review-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(3,3,3,.24);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
.review-overlay.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.review-glass{position:relative;width:min(94vw,520px);max-height:90vh;overflow:auto;padding:30px 24px 24px;border:1px solid rgba(255,156,55,.42);border-radius:28px;background:linear-gradient(145deg,rgba(17,15,13,.22),rgba(10,9,8,.09));backdrop-filter:blur(13px) saturate(1.12);-webkit-backdrop-filter:blur(13px) saturate(1.12);box-shadow:0 26px 80px rgba(0,0,0,.44),inset 0 1px rgba(255,255,255,.18),0 0 32px rgba(255,126,15,.10);transform:translateY(14px) scale(.975);transition:transform .26s ease}
.review-overlay.is-visible .review-glass{transform:translateY(0) scale(1)}
.review-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(10,9,8,.18);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.review-kicker{padding-right:42px;color:#ffb15e;font-size:11px;font-weight:850;letter-spacing:.22em}
.review-glass h2{margin:9px 0 8px;font-size:clamp(26px,6vw,36px);letter-spacing:-.035em}
.review-warning{margin:0 0 19px;color:#f4ede5;line-height:1.55;font-size:14px;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.review-data{display:grid;gap:10px}
.review-item{padding:14px 16px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(5,5,5,.18);box-shadow:inset 0 1px rgba(255,255,255,.08)}
.review-item span{display:block;margin-bottom:4px;color:#e2b98f;font-size:11px;font-weight:750;letter-spacing:.10em;text-transform:uppercase}
.review-item strong{display:block;overflow-wrap:anywhere;color:#fff;font-size:16px;font-weight:700}
.review-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin-top:18px}
.review-button{min-height:52px;border-radius:999px;font-weight:820;cursor:pointer}
.review-edit{border:1px solid rgba(255,255,255,.23);background:rgba(12,11,10,.20);color:#fff}
.review-confirm{border:0;background:linear-gradient(90deg,#ff7a00,#ffae45);color:#1b1007;box-shadow:0 14px 34px rgba(255,112,0,.22)}
.review-deadline{margin:15px 5px 0;text-align:center;color:#ddd2c6;font-size:12px;line-height:1.5;text-shadow:0 1px 6px rgba(0,0,0,.72)}
@media(max-width:480px){.review-glass{padding:28px 17px 20px;border-radius:24px}.review-actions{grid-template-columns:1fr}.review-button{min-height:50px}}

.review-result{text-align:center;padding:8px 2px 2px}
.review-result[hidden]{display:none}
.review-result-icon{display:grid;place-items:center;width:72px;height:72px;margin:4px auto 16px;border:1px solid rgba(126,255,170,.48);border-radius:50%;background:rgba(18,115,57,.22);box-shadow:0 0 34px rgba(50,255,126,.17);color:#8dffb2;font-size:38px;font-weight:900}
.review-result h3{margin:0 0 10px;color:#fff;font-size:clamp(24px,6vw,32px);line-height:1.12;letter-spacing:-.025em}
.review-result p{margin:0 auto 20px;max-width:390px;color:#f2e8dd;font-size:14px;line-height:1.6;text-shadow:0 1px 7px rgba(0,0,0,.75)}
.review-result-close{width:min(100%,300px)}
.review-result.is-error .review-result-icon{border-color:rgba(255,126,126,.52);background:rgba(135,25,25,.25);box-shadow:0 0 34px rgba(255,70,70,.14);color:#ffaaaa}
.review-result.is-error .review-result-close{background:linear-gradient(90deg,#ff7a00,#ffae45)}

/* v20.01.42 — estado real do envio e reenvio da ativação. */
.review-result.is-warning .review-result-icon{border-color:rgba(255,184,87,.58);background:rgba(140,78,9,.25);box-shadow:0 0 34px rgba(255,143,30,.16);color:#ffc47a}
.review-resend-area{width:min(100%,390px);margin:2px auto 15px;padding:15px 14px 13px;border:1px solid rgba(255,155,52,.28);border-radius:18px;background:rgba(15,11,8,.28)}
.review-resend-area[hidden]{display:none}
.review-resend-hint,.review-resend-countdown{margin:0 auto 11px!important;color:#eadfd4!important;font-size:12px!important;line-height:1.5!important}
.review-resend-countdown{margin:9px auto 0!important;color:#ffc783!important}
.review-resend-button{width:100%;min-height:52px}
.review-resend-button:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.62;box-shadow:none}
.review-result-close{margin-top:6px;width:min(100%,300px)}

/* v20.01.45 — estabilidade real em tablet/teclado virtual. */
.review-resend-button[hidden],.review-resend-countdown[hidden]{display:none!important}
@supports(height:100svh){body,.page-shell{min-height:100svh}}
@media (hover:none) and (pointer:coarse){
  /* O vídeo continua fixo no topo; o formulário de vidro passa por cima dele. */
  .hero{position:sticky;top:0}
  .glass-card{background:linear-gradient(145deg,rgba(17,15,13,.48),rgba(15,13,11,.22));backdrop-filter:blur(14px) saturate(1.06);-webkit-backdrop-filter:blur(14px) saturate(1.06)}
  .field-capsule:focus-within{transform:none}
  .field-capsule input{font-size:18px!important}
  input,textarea,select{scroll-margin-block:24vh}
}



/* v20.01.47 — estabilidade de digitação em tablet Android. */
@media (hover:none) and (pointer:coarse){
  .page-shell{width:100%;max-width:100%;overflow-x:hidden}
  .field-capsule input,.field-capsule textarea,.field-capsule select{font-size:18px!important;transform:none!important}
  /* Mantém o vidro do formulário durante a digitação. Apenas o modal perde
     o blur enquanto o teclado está aberto, reduzindo custo sem quebrar o visual. */
  body.precad-input-active .review-glass{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.precad-input-active .glass-card{
    backdrop-filter:blur(10px) saturate(1.04)!important;
    -webkit-backdrop-filter:blur(10px) saturate(1.04)!important;
  }
  body.precad-input-active .glass-card::before,
  body.precad-input-active .submit-button::after{animation:none!important}
  body.precad-input-active .hero-video{transition:none!important;filter:saturate(.94) contrast(1.03) brightness(.88)!important}
}


/* v20.01.48 — rolagem sobre o vídeo e estabilidade do primeiro toque. */
html{scroll-padding-top:16px}
.hero{will-change:transform}
.form-layer{isolation:isolate}
@media (hover:none) and (pointer:coarse){
  .page-shell{overflow:visible}
  .form-layer{margin-top:-132px}
  .glass-card{box-shadow:0 26px 72px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.13),0 0 0 1px rgba(255,132,17,.045)}
  .submit-button,.review-button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
}

/* v20.01.50 — formulário completo, data acessível e autorização de responsável. */
.form-scroll{overflow:visible}
.field-capsule{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;padding:10px 18px 9px;gap:1px 9px}
.field-capsule .field-icon{grid-row:1/3;grid-column:1;width:48px;font-size:18px;font-weight:900}
.field-capsule .field-label{grid-column:2;color:#d7c9bc;font-size:11px;font-weight:760;letter-spacing:.04em;line-height:1.2}
.field-capsule input,.field-capsule select{grid-column:2;width:100%;min-width:0;height:38px;padding:0;border:0;outline:0;background:transparent;color:#fff;font-size:17px}
.field-capsule:not(:has(.field-icon)){grid-template-columns:minmax(0,1fr)}
.field-capsule:not(:has(.field-icon)) .field-label,.field-capsule:not(:has(.field-icon)) input,.field-capsule:not(:has(.field-icon)) select{grid-column:1}
.field-capsule select option,.date-select-grid select option{background:#1b130d;color:#fff}
.required-mark{color:#ff9c4b;font-size:13px}
.address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px;margin-top:7px}
.address-grid .field-capsule{margin-top:0}
.date-fieldset{margin:9px 0 4px;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(6,5,4,.18)}
.date-fieldset legend{padding:0 8px;color:#f2e6da;font-size:13px;font-weight:800}
.date-select-grid{display:grid;grid-template-columns:1.1fr 1.45fr .85fr;gap:9px}
.date-select-grid label{display:grid;gap:5px}.date-select-grid label span{padding-left:7px;color:#d0bda9;font-size:10px;font-weight:800;letter-spacing:.12em}
.date-select-grid select{width:100%;height:52px;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:0 14px;background:rgba(0,0,0,.25);color:#fff;font-size:15px;outline:0}
.date-select-grid select:focus{border-color:#ff8a00;box-shadow:0 0 0 3px rgba(255,138,0,.12)}
.date-help{display:block;margin:9px 4px 0;color:#a99d91;font-size:11px;line-height:1.45}
.guardian-section{margin-top:15px;padding:17px;border:1px solid rgba(255,146,43,.35);border-radius:24px;background:linear-gradient(145deg,rgba(81,43,10,.28),rgba(10,8,6,.16));box-shadow:inset 0 1px rgba(255,255,255,.08)}
.guardian-section[hidden]{display:none}
.guardian-head{display:grid;gap:5px;margin-bottom:12px}.guardian-head strong{color:#ffae5d;font-size:16px}.guardian-head span{color:#d8cdc2;font-size:12px;line-height:1.5}
.guardian-find{width:100%;min-height:48px;margin-top:10px;border:1px solid rgba(255,160,63,.5);border-radius:999px;background:rgba(255,132,0,.12);color:#ffc482;font-weight:850;letter-spacing:.05em;cursor:pointer}
.guardian-find:disabled{opacity:.6;cursor:wait}
.guardian-card{display:flex;align-items:center;gap:13px;margin-top:12px;padding:13px;border:1px solid rgba(117,255,166,.32);border-radius:18px;background:rgba(23,96,53,.16)}
.guardian-card[hidden],.guardian-confirm[hidden]{display:none}
.guardian-card img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.22);background:#1a120c}
.guardian-card div{display:grid;gap:3px}.guardian-card small{color:#8fffb7;font-size:9px;letter-spacing:.14em}.guardian-card b{font-size:15px}.guardian-card span{color:#d7cdc3;font-size:12px}
.guardian-confirm{display:flex;align-items:flex-start;gap:10px;margin-top:11px;padding:11px 12px;border-radius:15px;background:rgba(255,255,255,.045);color:#eee2d6;font-size:12px;line-height:1.45}.guardian-confirm input{width:19px;height:19px;accent-color:#ff8500;flex:0 0 auto}
.has-error{border-color:rgba(255,91,61,.75)!important}
@media(max-width:620px){.address-grid{grid-template-columns:1fr}.date-select-grid{grid-template-columns:1fr 1fr}.date-select-grid label:last-child{grid-column:1/-1}.field-capsule{padding-left:14px;padding-right:14px}.field-capsule .field-icon{width:40px}.form-layer{margin-top:-142px}.glass-card{background:linear-gradient(145deg,rgba(18,15,13,.56),rgba(10,9,8,.30));backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08)}}

/* v20.01.52 — pré-cadastro mínimo: nome, e-mail e telefone. */
.precad-minimal .glass-card{min-height:0}
.precad-minimal .form-scroll{padding-bottom:36px}
.precad-minimal .subtitle{max-width:640px;line-height:1.55}
.precad-minimal .privacy-note{max-width:560px;margin-left:auto;margin-right:auto}
.precad-minimal .review-data{grid-template-columns:1fr}
@media(min-width:700px){
  .precad-minimal .form-layer{padding-left:42px;padding-right:42px}
  .precad-minimal .glass-card{border-radius:34px}
}

/* v20.01.52 R5 — vídeo fixo ao fundo; somente o card rola por cima. */
body.precad-minimal{
  min-height:100vh;
  overflow-x:hidden;
  overflow-y:auto;
  background:#080705;
}

/* Reserva no documento somente a altura necessária para o card nascer
   sobre a parte inferior do vídeo. O vídeo real fica fora do fluxo e fixo. */
.precad-minimal .page-shell{
  --sr-hero-height:clamp(390px,68vh,620px);
  --sr-card-overlap:150px;
  position:relative;
  min-height:100vh;
  padding-top:calc(var(--sr-hero-height) - var(--sr-card-overlap));
  overflow:visible;
  background:#080705;
}

@supports(height:100svh){
  .precad-minimal .page-shell{
    --sr-hero-height:clamp(390px,68svh,620px);
  }
}

/* Mantém os elementos <video> originais parados no mesmo lugar da tela.
   O card possui z-index maior e passa por cima durante a rolagem. */
.precad-minimal .hero{
  position:fixed!important;
  top:0;
  left:50%;
  width:min(100%,920px);
  height:var(--sr-hero-height)!important;
  min-height:0!important;
  max-height:none!important;
  transform:translateX(-50%);
  z-index:1;
  overflow:hidden;
  background:#080705;
}

.precad-minimal .hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

.precad-minimal .form-layer{
  position:relative;
  z-index:10;
  margin-top:0!important;
  overflow:visible;
}

/* Card leve e transparente; cresce com o conteúdo, sem rolagem interna. */
.precad-minimal .glass-card{
  height:auto;
  min-height:0;
  overflow:hidden;
  border-color:rgba(255,255,255,.13);
  background:linear-gradient(145deg,rgba(18,15,13,.14),rgba(8,7,6,.045));
  backdrop-filter:blur(7px) saturate(1.04);
  -webkit-backdrop-filter:blur(7px) saturate(1.04);
  box-shadow:0 24px 68px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.11),0 0 0 1px rgba(255,132,17,.035);
}

.precad-minimal .glass-card::before{
  background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.035) 43%,transparent 60%);
}

.precad-minimal .form-scroll{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  overscroll-behavior:auto;
  -webkit-overflow-scrolling:auto;
}

@media(max-width:560px){
  .precad-minimal .page-shell{
    --sr-hero-height:clamp(390px,58vh,540px);
    --sr-card-overlap:118px;
  }
  @supports(height:100svh){
    .precad-minimal .page-shell{
      --sr-hero-height:clamp(390px,58svh,540px);
    }
  }
  .precad-minimal .glass-card{
    background:linear-gradient(145deg,rgba(18,15,13,.13),rgba(8,7,6,.04));
    backdrop-filter:blur(6px) saturate(1.03);
    -webkit-backdrop-filter:blur(6px) saturate(1.03);
  }
}

@media (hover:none) and (pointer:coarse){
  body.precad-minimal.precad-input-active .glass-card{
    backdrop-filter:blur(5px) saturate(1.02)!important;
    -webkit-backdrop-filter:blur(5px) saturate(1.02)!important;
  }
}

/* v20.01.52 R6 — verificação antecipada do e-mail e retomada do cadastro. */
.field-capsule.has-warning{
  border-color:rgba(255,170,67,.72);
  box-shadow:inset 0 1px rgba(255,255,255,.11),0 0 0 4px rgba(255,145,32,.08),0 12px 30px rgba(0,0,0,.18);
}
.field-capsule.has-success{
  border-color:rgba(94,228,144,.58);
  box-shadow:inset 0 1px rgba(255,255,255,.11),0 0 0 4px rgba(51,205,111,.07),0 12px 30px rgba(0,0,0,.18);
}
.field-capsule.is-checking{
  border-color:rgba(255,180,95,.46);
}
.email-lookup{
  display:grid;
  gap:12px;
  margin:4px 5px 13px;
  padding:15px 16px;
  border:1px solid rgba(255,162,61,.30);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(37,26,17,.26),rgba(8,7,6,.12));
  box-shadow:inset 0 1px rgba(255,255,255,.07),0 12px 28px rgba(0,0,0,.15);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.email-lookup[hidden]{display:none!important}
.email-lookup-copy{display:grid;gap:4px}
.email-lookup-copy strong{color:#ffd19b;font-size:14px;line-height:1.3}
.email-lookup-copy span{color:#e4d9ce;font-size:12px;line-height:1.5}
.email-lookup.is-available,
.email-lookup.is-success-message{
  border-color:rgba(88,226,139,.32);
  background:linear-gradient(145deg,rgba(21,83,47,.20),rgba(8,22,14,.10));
}
.email-lookup.is-available .email-lookup-copy strong,
.email-lookup.is-success-message .email-lookup-copy strong{color:#8fffb8}
.email-lookup.is-account{
  border-color:rgba(255,136,78,.42);
  background:linear-gradient(145deg,rgba(102,39,14,.22),rgba(27,12,7,.12));
}
.email-lookup.is-checking .email-lookup-copy strong{color:#ffc17a}
.email-lookup.is-checking .email-lookup-copy strong::after{
  content:"";
  display:inline-block;
  width:12px;
  height:12px;
  margin-left:8px;
  border:2px solid rgba(255,193,122,.35);
  border-top-color:#ffc17a;
  border-radius:50%;
  vertical-align:-2px;
  animation:srEmailSpin .8s linear infinite;
}
.email-lookup-actions{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:9px;
}
.email-lookup-actions[hidden]{display:none!important}
.email-lookup-button{
  min-height:46px;
  padding:0 15px;
  border-radius:999px;
  font-size:11px;
  font-weight:850;
  letter-spacing:.035em;
  cursor:pointer;
  touch-action:manipulation;
}
.email-lookup-primary{
  border:0;
  color:#1b1007;
  background:linear-gradient(90deg,#ff7a00,#ffb34f);
  box-shadow:0 10px 26px rgba(255,112,0,.18);
}
.email-lookup-other{
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
  background:rgba(8,7,6,.20);
}
.email-lookup-button:disabled{
  cursor:not-allowed;
  opacity:.58;
  filter:saturate(.45);
  box-shadow:none;
}
.email-lookup-countdown{
  min-height:0;
  margin:0;
  color:#ffc783;
  text-align:center;
  font-size:11px;
  line-height:1.45;
}
.email-lookup-countdown:empty{display:none}
@keyframes srEmailSpin{to{transform:rotate(360deg)}}
@media(max-width:520px){
  .email-lookup{margin-left:0;margin-right:0;padding:14px 13px}
  .email-lookup-actions{grid-template-columns:1fr}
  .email-lookup-button{min-height:48px}
}

/* v20.01.52 R8 — recuperação dentro do mesmo card do pré-cadastro. */
.card-view[hidden]{display:none!important}
.card-view{position:relative;z-index:4}
.recovery-view{width:min(100%,650px);margin:0 auto;padding:2px 0 6px;opacity:0;transform:translateY(16px) scale(.985)}
.recovery-view.is-entering{animation:srRecoveryEnter .34s cubic-bezier(.22,.82,.28,1) forwards}
.recovery-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}
.recovery-badge{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 13px;border:1px solid rgba(100,232,151,.28);border-radius:999px;background:rgba(32,137,72,.12);color:#98f5b9;font-size:10px;font-weight:900;letter-spacing:.10em}
.recovery-badge i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#67db91;color:#092214;font-style:normal;font-size:11px}
.recovery-close{width:38px;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(6,5,4,.20);color:#fff;font-size:25px;line-height:1;cursor:pointer}
.recovery-eyebrow{margin-bottom:9px}
.glass-card .recovery-view h1{margin-bottom:8px;font-size:clamp(29px,5.2vw,43px)}
.recovery-subtitle{max-width:590px;margin-bottom:18px;line-height:1.55}
.recovery-account{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 13px;padding:12px 15px;border:1px solid rgba(255,165,74,.22);border-radius:17px;background:rgba(10,8,6,.16);box-shadow:inset 0 1px rgba(255,255,255,.06)}
.recovery-account span{color:#b9aea2;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.recovery-account strong{max-width:62%;overflow-wrap:anywhere;text-align:right;color:#ffbd77;font-size:14px}
.recovery-capsule{min-height:57px;margin-top:10px;border-radius:19px;padding-right:15px}
.recovery-capsule .field-icon{width:55px;font-size:20px}
.recovery-capsule .field-label{font-size:10px}
.recovery-capsule input{height:42px;font-size:15px;padding-right:4px}
.recovery-error{min-height:20px;padding-left:15px}
.recovery-actions{display:grid;grid-template-columns:.92fr 1.28fr;gap:10px;margin-top:10px}
.recovery-button{min-height:52px;border-radius:17px;padding:0 16px;font-size:11px;font-weight:900;letter-spacing:.035em;cursor:pointer;touch-action:manipulation}
.recovery-secondary{border:1px solid rgba(255,255,255,.18);background:rgba(7,6,5,.18);color:#fff}
.recovery-primary{display:flex;align-items:center;justify-content:space-between;border:0;background:linear-gradient(100deg,#ff7a00,#ffa938);color:#1c1006;box-shadow:0 13px 30px rgba(255,116,0,.20)}
.recovery-button:disabled{opacity:.56;cursor:not-allowed;box-shadow:none}
.recovery-links{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:15px 4px 0}
.recovery-links a,.recovery-links button{border:0;padding:2px;background:transparent;color:#ffae5b;font-size:12px;font-weight:780;text-decoration:none;cursor:pointer}
.recovery-status{min-height:21px;margin-top:13px;text-align:center;color:#ffd08c;font-size:12px;line-height:1.45}
.recovery-view.is-success .recovery-status{color:#91efb2}
body.recovery-mode .glass-card{border-color:rgba(255,151,48,.24);background:linear-gradient(145deg,rgba(17,14,12,.16),rgba(6,5,4,.055));backdrop-filter:blur(8px) saturate(1.05);-webkit-backdrop-filter:blur(8px) saturate(1.05)}
@keyframes srRecoveryEnter{to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:560px){
  .recovery-view{padding-top:0}
  .recovery-account{align-items:flex-start;flex-direction:column;gap:5px}
  .recovery-account strong{max-width:100%;text-align:left}
  .recovery-actions{grid-template-columns:1fr}
  .recovery-primary{order:-1}
  .recovery-links{align-items:flex-start;flex-direction:column;gap:9px}
  .recovery-capsule{min-height:56px;border-radius:17px}
}

/* v20.01.52 R9 — bloqueio do fluxo duplicado e recuperação por CPF. */
.field-capsule.is-disabled{
  opacity:.48;
  filter:saturate(.55);
  border-color:rgba(255,255,255,.10);
  background:rgba(7,6,5,.12);
  box-shadow:inset 0 1px rgba(255,255,255,.04);
}
.field-capsule.is-disabled input{
  cursor:not-allowed;
  color:#aaa29a;
}
.submit-button:disabled{
  cursor:not-allowed;
  opacity:.46;
  filter:saturate(.42);
  box-shadow:none;
}
.submit-button:disabled::after{animation:none}
.recovery-heading-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:6px;
}
.recovery-heading-row .recovery-eyebrow{margin:0}
.recovery-entered-name{
  max-width:52%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:7px 12px;
  border:1px solid rgba(255,172,84,.26);
  border-radius:999px;
  background:rgba(18,12,8,.16);
  color:#ffd09a;
  font-size:11px;
  font-weight:850;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.recovery-entered-name:empty{display:none}
.recovery-countdown{
  min-height:18px;
  margin:4px 0 0;
  text-align:center;
  color:#ffbe72;
  font-size:11px;
  font-weight:720;
}
.recovery-countdown:empty{display:none}
.recovery-capsule input:disabled{
  cursor:not-allowed;
  opacity:.62;
}
@media(max-width:560px){
  .recovery-heading-row{align-items:flex-start;flex-direction:column;gap:8px}
  .recovery-entered-name{max-width:100%}
}


/* v20.01.52 R11 — código e nova senha no mesmo padrão de vidro do pré-cadastro. */
.recovery-stage-page .page-shell{min-height:100vh}
.recovery-stage-page .form-layer{padding-bottom:max(42px,env(safe-area-inset-bottom))}
.recovery-flow-card{max-width:850px;margin:0 auto;border-radius:34px!important}
.security-flow{width:min(100%,700px);margin:0 auto}
.security-flow-subtitle{max-width:620px;line-height:1.55}
.security-form{display:grid;gap:16px}
.security-message{margin:0 0 16px;padding:13px 15px;border-radius:17px;font-size:13px;line-height:1.5}
.security-message.is-error{border:1px solid rgba(255,103,79,.42);background:rgba(122,26,17,.20);color:#ffb5a8}
.security-actions{display:grid;grid-template-columns:.92fr 1.28fr;gap:10px;margin-top:4px}
.security-actions .recovery-button,.security-single-action{text-decoration:none;display:flex;align-items:center;justify-content:center}
.security-actions .recovery-primary,.security-single-action{justify-content:space-between}
.security-single-action{width:min(100%,460px);margin:18px auto 0}
.security-hint{margin:0;text-align:center;color:#bfb3a7;font-size:12px;line-height:1.5}

.code-capsules{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:10px;margin:8px auto 2px;width:min(100%,520px)}
.code-capsules input{width:100%;height:72px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.035));box-shadow:inset 0 1px rgba(255,255,255,.10),0 12px 26px rgba(0,0,0,.18);outline:0;color:#fff;text-align:center;font-size:28px;font-weight:850;caret-color:#ff9b35;transition:border-color .2s,box-shadow .2s,transform .2s}
.code-capsules input:focus{border-color:rgba(255,159,61,.82);box-shadow:0 0 0 4px rgba(255,134,22,.10),0 12px 30px rgba(0,0,0,.24);transform:translateY(-1px)}
.code-capsules input.is-filled{border-color:rgba(102,226,147,.48);background:linear-gradient(180deg,rgba(55,158,93,.14),rgba(12,45,25,.08))}

.password-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.password-capsule{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;grid-template-rows:auto auto!important;border-radius:20px!important;min-height:66px!important;margin-top:0!important;padding:10px 10px 8px 18px!important}
.password-capsule .field-label{grid-column:1/3!important;grid-row:1!important}
.password-capsule input{grid-column:1!important;grid-row:2!important;height:38px!important;padding:0 8px 0 0!important;font-size:15px!important}
.password-visibility{grid-column:2;grid-row:2;align-self:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(6,5,4,.18);color:#ffc078;cursor:pointer}
.password-visibility.is-showing{border-color:rgba(103,225,146,.38);color:#8ef7b3}
.password-requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px;padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(7,6,5,.14)}
.password-rule{display:flex;align-items:center;gap:9px;min-height:34px;color:#baafa4;font-size:12px;transition:color .2s}
.password-rule i{display:grid;place-items:center;width:22px;height:22px;flex:0 0 auto;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.045);color:transparent;font-style:normal;font-size:12px;transition:all .2s}
.password-rule.is-valid{color:#94efb5}
.password-rule.is-valid i{border-color:rgba(87,225,137,.45);background:rgba(45,162,87,.24);box-shadow:0 0 16px rgba(70,232,130,.12);color:#9affbd}
.security-password-submit{width:100%;margin-top:2px}
.security-success{text-align:center}
.security-success-icon{display:grid;place-items:center;width:76px;height:76px;margin:4px auto 16px;border:1px solid rgba(94,237,146,.52);border-radius:50%;background:rgba(32,137,72,.20);box-shadow:0 0 34px rgba(74,233,132,.15);color:#96ffbb;font-size:38px;font-weight:900}
.security-success h2{margin:0 0 8px;font-size:clamp(25px,5vw,34px)}
.security-success p{margin:0 auto 18px;max-width:520px;color:#d5cac0;line-height:1.55}

@media(max-width:620px){
  .security-actions{grid-template-columns:1fr}
  .security-actions .recovery-primary{order:-1}
  .code-capsules{gap:6px}
  .code-capsules input{height:60px;border-radius:16px;font-size:24px}
  .password-fields-grid,.password-requirements{grid-template-columns:1fr}
  .recovery-flow-card{border-radius:28px 28px 0 0!important}
}

/* v20.01.52 R13 — envio do código em etapa separada, sem segundo clique. */
.code-delivery{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:52px;
  margin:2px 0 4px;
  padding:12px 15px;
  border:1px solid rgba(255,178,93,.22);
  border-radius:18px;
  background:rgba(11,8,6,.16);
  color:#ffd09a;
  font-size:12px;
  line-height:1.45;
  box-shadow:inset 0 1px rgba(255,255,255,.055);
}
.code-delivery[data-state="pending"]::before{
  content:"";
  width:18px;
  height:18px;
  flex:0 0 auto;
  border:2px solid rgba(255,173,84,.22);
  border-top-color:#ff9d35;
  border-radius:50%;
  animation:srEmailSpin .8s linear infinite;
}
.code-delivery[data-state="sent"]{
  border-color:rgba(88,226,139,.32);
  background:rgba(27,122,63,.13);
  color:#9af0b8;
}
.code-delivery[data-state="sent"]::before{
  content:"✓";
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  flex:0 0 auto;
  border-radius:50%;
  background:rgba(62,190,105,.22);
  color:#9dffc0;
  font-weight:900;
}
.code-delivery[data-state="error"]{
  border-color:rgba(255,103,79,.38);
  background:rgba(122,26,17,.17);
  color:#ffb5a8;
}
.code-delivery span{flex:1}
.code-delivery-retry{
  flex:0 0 auto;
  min-height:36px;
  padding:0 12px;
  border:1px solid rgba(255,176,91,.32);
  border-radius:12px;
  background:rgba(255,128,18,.12);
  color:#ffc17d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.035em;
  cursor:pointer;
}
.code-capsules input:disabled{
  cursor:not-allowed;
  opacity:.43;
  filter:saturate(.45);
}
@media(max-width:560px){
  .code-delivery{align-items:flex-start;flex-wrap:wrap}
  .code-delivery-retry{width:100%}
}

/* v20.01.52 R14 — login da Central Família dentro do card final. */
.embedded-family-login{
  width:min(100%,650px);
  margin:22px auto 0;
  padding-top:2px;
}
.embedded-login-divider{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
  margin:4px 0 17px;
  color:#ffb568;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
}
.embedded-login-divider span{height:1px;background:linear-gradient(90deg,transparent,rgba(255,160,64,.36))}
.embedded-login-divider span:last-child{background:linear-gradient(90deg,rgba(255,160,64,.36),transparent)}
.embedded-family-login h2{margin:0 0 7px;text-align:center;font-size:clamp(23px,4.3vw,31px)}
.embedded-login-intro{max-width:560px;margin:0 auto 17px;color:#d4c9bf;text-align:center;font-size:13px;line-height:1.5}
.embedded-login-form{display:grid;gap:11px}
.embedded-login-field{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  align-items:center!important;
  min-height:60px!important;
  margin:0!important;
  padding:7px 13px 7px 8px!important;
  border-radius:19px!important;
}
.embedded-login-field .field-icon{
  display:grid;
  place-items:center;
  width:42px!important;
  color:#ffad59;
  font-size:20px;
}
.embedded-login-field .field-content{display:block;min-width:0}
.embedded-login-field .field-label{display:block!important;margin:0 0 1px!important;font-size:9px!important}
.embedded-login-field input{width:100%;height:34px!important;padding:0!important;border:0!important;background:transparent!important;color:#fff;font-size:15px!important;outline:0}
.embedded-password-field{grid-template-columns:48px minmax(0,1fr) 40px!important}
.embedded-password-toggle{
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  background:rgba(5,4,3,.18);
  color:#ffc078;
  cursor:pointer;
}
.embedded-password-toggle.is-showing{border-color:rgba(103,225,146,.38);color:#8ef7b3}
.embedded-login-status{
  min-height:20px;
  margin:0 4px;
  color:#ffd08f;
  text-align:center;
  font-size:12px;
  line-height:1.45;
}
.embedded-login-status[hidden]{display:block;visibility:hidden}
.embedded-login-status[data-state="error"]{color:#ffafa1}
.embedded-login-status[data-state="success"]{color:#94efb5}
.embedded-login-submit{width:100%;margin-top:1px;text-decoration:none}
.embedded-login-security{margin:11px 0 0;color:#a99e94;text-align:center;font-size:10px;line-height:1.45}
.embedded-login-submit:disabled{opacity:.5;box-shadow:none;cursor:not-allowed}

@media(max-width:520px){
  .embedded-family-login{margin-top:18px}
  .embedded-login-field{min-height:58px!important;border-radius:17px!important}
  .embedded-login-divider{gap:8px;font-size:9px}
  .embedded-login-submit{min-height:54px}
}

/* v20.01.52 R15 — verificação de telefone e bloqueio de duplicidades. */
.phone-lookup{margin-top:4px}
.email-lookup.is-account-unrecoverable{
  border-color:rgba(255,112,79,.44);
  background:linear-gradient(145deg,rgba(104,31,20,.22),rgba(28,10,7,.12));
}
.email-lookup.is-account-unrecoverable .email-lookup-copy strong{color:#ffb49e}


/* v20.01.52 R16 — recepção provisória pós-login antes do retorno à página inicial. */
html.sr-welcome-lock,
html.sr-welcome-lock body{overflow:hidden!important}
.sr-welcome-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 38%,rgba(255,133,35,.14),transparent 34%),
    linear-gradient(160deg,#070605 0%,#100b07 48%,#050505 100%);
  opacity:0;
  visibility:hidden;
  transition:opacity .38s ease,visibility .38s ease;
}
.sr-welcome-overlay.is-visible{opacity:1;visibility:visible}
.sr-welcome-ambient{
  position:absolute;
  width:min(86vw,760px);
  aspect-ratio:1;
  border:1px solid rgba(255,145,51,.10);
  border-radius:50%;
  box-shadow:
    0 0 0 72px rgba(255,132,29,.018),
    0 0 0 145px rgba(255,132,29,.012),
    0 0 120px rgba(255,123,14,.10);
  animation:srWelcomeAmbient 6s ease-in-out infinite;
}
.sr-welcome-card{
  position:relative;
  width:min(100%,610px);
  padding:clamp(28px,5vw,46px);
  border:1px solid rgba(255,169,83,.30);
  border-radius:32px;
  background:linear-gradient(145deg,rgba(30,24,19,.94),rgba(9,8,7,.97));
  box-shadow:
    0 36px 90px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 44px rgba(255,119,11,.08);
  text-align:center;
  backdrop-filter:blur(18px);
  transform:translateY(14px) scale(.985);
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
.sr-welcome-overlay.is-visible .sr-welcome-card{transform:translateY(0) scale(1)}
.sr-welcome-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(110deg,transparent 18%,rgba(255,184,112,.055) 48%,transparent 70%);
}
.sr-welcome-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  margin:0 auto 27px;
}
.sr-welcome-logo-wrap{
  width:58px;
  height:58px;
  padding:3px;
  overflow:hidden;
  border:1px solid rgba(255,164,69,.38);
  border-radius:50%;
  background:#090807;
  box-shadow:0 0 22px rgba(255,127,22,.16);
}
.sr-welcome-logo-wrap img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.sr-welcome-brand-copy{text-align:left;line-height:1}
.sr-welcome-brand-copy span{
  display:block;
  color:#fff;
  font-size:18px;
  font-weight:950;
  letter-spacing:.18em;
}
.sr-welcome-brand-copy small{
  display:block;
  margin-top:7px;
  color:#c9b8a6;
  font-size:9px;
  font-weight:750;
  letter-spacing:.05em;
}
.sr-welcome-check{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin:0 auto 17px;
  border:1px solid rgba(255,169,83,.45);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,145,42,.19),rgba(255,126,14,.045));
  color:#ffc27d;
  font-size:30px;
  font-weight:900;
  box-shadow:0 0 28px rgba(255,137,29,.13);
}
.sr-welcome-eyebrow{
  margin:0 0 9px;
  color:#ffad5a;
  font-size:10px;
  font-weight:950;
  letter-spacing:.18em;
}
.sr-welcome-card h2{
  margin:0;
  color:#fff;
  font-size:clamp(29px,5vw,42px);
  line-height:1.12;
  letter-spacing:-.025em;
}
.sr-welcome-lead{
  margin:15px 0 0;
  color:#f0e7df;
  font-size:15px;
  font-weight:760;
  line-height:1.55;
}
.sr-welcome-message{
  max-width:500px;
  margin:11px auto 0;
  color:#cdbfb3;
  font-size:13px;
  line-height:1.68;
}
.sr-welcome-progress{
  position:relative;
  width:min(100%,410px);
  height:4px;
  margin:27px auto 13px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.075);
}
.sr-welcome-progress span{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#ff8b21,#ffc06d);
  transform-origin:left center;
  animation:srWelcomeProgress 10s linear forwards;
  box-shadow:0 0 15px rgba(255,147,47,.42);
}
.sr-welcome-countdown{
  margin:0;
  color:#b9aca1;
  font-size:11px;
  line-height:1.5;
}
.sr-welcome-countdown strong{color:#ffb563;font-size:13px}
.sr-welcome-signature{
  margin:22px 0 0;
  color:#e2d8cf;
  font-size:11px;
  font-weight:800;
  letter-spacing:.025em;
}
@keyframes srWelcomeProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes srWelcomeAmbient{0%,100%{transform:scale(.97);opacity:.65}50%{transform:scale(1.035);opacity:1}}
@media(max-width:520px){
  .sr-welcome-overlay{padding:15px}
  .sr-welcome-card{padding:29px 20px;border-radius:25px}
  .sr-welcome-brand{margin-bottom:22px}
  .sr-welcome-logo-wrap{width:52px;height:52px}
  .sr-welcome-message{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .sr-welcome-overlay,.sr-welcome-card{transition:none}
  .sr-welcome-ambient{animation:none}
  .sr-welcome-progress span{animation-duration:10s}
}

/* v1.5.16 — confirmação híbrida de e-mail (código + link) */
.email-verification-panel{
  margin-top:18px;
  padding:18px 16px 16px;
  border:1px solid rgba(255,145,45,.30);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,132,20,.08),rgba(0,0,0,.16));
  box-shadow:inset 0 1px rgba(255,255,255,.05);
  text-align:center;
}
.email-verification-panel[hidden]{display:none!important}
.email-verification-badge{
  color:#ffad59;
  font-size:9px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.email-verification-panel h4{
  margin:7px 0 5px;
  color:#fff;
  font-size:18px;
  line-height:1.2;
}
.email-verification-destination{
  margin:0 0 15px;
  color:#cfc1b5;
  font-size:12px;
  line-height:1.5;
}
.email-code-wrap{display:block;width:min(100%,300px);margin:0 auto 10px}
.email-code-wrap input{
  width:100%;
  height:58px;
  padding:0 10px 0 17px;
  border:1px solid rgba(255,164,72,.40);
  border-radius:17px;
  outline:none;
  background:rgba(4,3,2,.42);
  color:#fff;
  font-size:27px;
  font-weight:900;
  letter-spacing:.30em;
  text-align:center;
  font-variant-numeric:tabular-nums;
  box-shadow:inset 0 1px rgba(255,255,255,.05);
}
.email-code-wrap input::placeholder{color:rgba(255,255,255,.22)}
.email-code-wrap input:focus{border-color:#ff8a00;box-shadow:0 0 0 3px rgba(255,138,0,.10)}
.email-code-submit{width:min(100%,300px);margin:0 auto;display:block}
.email-verification-hint{
  max-width:430px;
  margin:14px auto 0;
  color:#c7b9ae;
  font-size:11px;
  line-height:1.55;
}
.email-verification-hint strong{color:#ffd09a}
.email-verification-expiry{
  margin:10px 0 0;
  color:#ad9f94;
  font-size:10px;
  line-height:1.45;
}
.email-verification-status{
  min-height:18px;
  margin-top:10px;
  color:#ffbd75;
  font-size:11px;
  font-weight:750;
  line-height:1.45;
}
.email-verification-status.is-success{color:#8ee8a6}
.email-verification-status.is-error{color:#ff9a91}
.review-result.is-verifying .review-result-icon{background:rgba(255,138,0,.09);border-color:rgba(255,138,0,.35);color:#ffad58}
.review-result.is-verified .review-result-icon{background:rgba(101,217,133,.10);border-color:rgba(101,217,133,.38);color:#8ee8a6}
@media(max-width:520px){
  .email-verification-panel{padding:16px 12px 14px}
  .email-code-wrap input{height:55px;font-size:24px;letter-spacing:.25em}
}
