:root{--ink:#102c46;--blue:#1f567d;--paper:#f8f7f2;--mist:#eef2f0;--line:#d9dfda;--orange:#e96f3b;--mint:#a9d2c4;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif;--serif:'Playfair Display',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.1fr) minmax(420px,.9fr)}.auth-intro{background:var(--ink);color:#f7fbfa;min-height:100vh;padding:42px clamp(34px,7vw,108px);display:flex;flex-direction:column;position:relative;overflow:hidden}.brand{color:white;text-decoration:none;font-size:18px;font-weight:800;letter-spacing:-.8px;display:flex;align-items:center;gap:8px}.brand span{height:25px;width:25px;border:1px solid #b9d7d1;border-radius:50%;font:italic 20px var(--serif);display:grid;place-items:center}.intro-copy{margin:auto 0;position:relative;z-index:1;max-width:520px}.eyebrow{font:500 10px var(--mono);letter-spacing:.13em;color:#718991;margin:0 0 12px}.intro-copy .eyebrow{color:#8fbbb2}.intro-copy h1{font:600 clamp(46px,6vw,78px)/.98 var(--serif);letter-spacing:-.065em;margin:0 0 24px}.intro-copy h1 em{color:#a9d2c4}.intro-copy>p:last-child{max-width:390px;color:#ccdadb;font-size:15px;line-height:1.7}.intro-foot{font:11px/1.6 var(--mono);color:#91aab6;max-width:300px;position:relative;z-index:1}.signal{position:absolute;right:-84px;bottom:7%;height:360px;width:360px;border-radius:50%;border:1px solid #2e4d64;display:grid;place-items:center;transform:rotate(-18deg)}.signal:before,.signal:after{content:'';position:absolute;border:1px solid #2e4d64;border-radius:50%;inset:35px}.signal:after{inset:70px}.signal b{font:600 50px var(--serif);color:#e9b771}.signal i{position:absolute;width:6px;background:#91c6b7;border-radius:10px;bottom:52%;transform-origin:3px 130px}.signal i:nth-of-type(1){height:32px;transform:rotate(-55deg)}.signal i:nth-of-type(2){height:56px;transform:rotate(-25deg)}.signal i:nth-of-type(3){height:82px;background:#e9b771}.signal i:nth-of-type(4){height:46px;transform:rotate(29deg)}.signal i:nth-of-type(5){height:28px;transform:rotate(57deg)}.auth-panel{display:grid;place-items:center;padding:52px 28px;background:linear-gradient(150deg,#f8f7f2 65%,#e6efec)}.auth-card,.success-card{width:min(100%,430px)}.mode-switch{display:grid;grid-template-columns:1fr 1fr;background:#e8ece9;padding:4px;border-radius:7px;margin-bottom:37px}.mode-switch button{background:transparent;border:0;border-radius:5px;padding:10px;color:#62737b;font-size:12px;font-weight:800;cursor:pointer}.mode-switch button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 2px 7px #102c4612}.auth-card header h2,.success-card h2{font:600 36px/1.06 var(--serif);letter-spacing:-.045em;margin:0 0 12px}.auth-card header>p:last-child,.success-card>p:not(.eyebrow){color:#6d7e82;font-size:13px;line-height:1.65;margin:0 0 28px}form{display:grid;gap:14px}label{display:grid;gap:7px;font-size:11px;font-weight:800;color:#304b5a}input{border:1px solid #cbd4d0;border-radius:5px;background:#fff;padding:13px;color:var(--ink);font:13px var(--sans);outline-color:var(--blue)}.submit{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:5px;padding:14px 17px;background:var(--ink);color:white;text-decoration:none;font-size:13px;font-weight:800;cursor:pointer;margin-top:8px}.submit:disabled{opacity:.6;cursor:wait}.message{min-height:20px;margin:13px 0 0;font-size:12px;line-height:1.5;color:#bf4d28}.message.success{color:#28745f}.terms{font-size:10px;line-height:1.6;color:#7a888b;margin-top:18px}.success-card{padding:39px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 50px #102c4610}.success-mark{height:36px;width:36px;border-radius:50%;display:grid;place-items:center;background:#dcece4;color:#28745f;font-weight:800;margin-bottom:24px}@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.auth-intro{min-height:330px;padding:32px}.intro-copy{margin:auto 0 16px}.intro-copy h1{font-size:48px}.signal{height:260px;width:260px;right:-80px;bottom:-75px}.intro-foot{display:none}.auth-panel{padding:44px 24px;min-height:600px}}@media(max-width:420px){.auth-panel{padding:34px 20px}.auth-card header h2,.success-card h2{font-size:31px}}

.auth-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.5;color:#48606b;margin-top:2px}.auth-consent input{width:17px;min-width:17px;height:17px;margin:2px 0 0;accent-color:#102c46}
.forgot-password{justify-self:end;border:0;background:transparent;color:var(--blue);font:700 11px var(--sans);padding:0;cursor:pointer}
.security-check{display:grid;gap:5px;max-width:100%;overflow:hidden}.security-check[hidden]{display:none}.security-check p{margin:0;color:#718187;font:10px/1.5 var(--sans)}#auth-turnstile{max-width:100%;min-width:0}
.turnstile-alert{display:grid;gap:10px;margin-top:4px;padding:14px 16px;border-radius:7px;background:#fdece3;border:1px solid #f0b596}.turnstile-alert[hidden]{display:none}.turnstile-alert p{margin:0;color:#8a3417;font-size:13px;font-weight:700;line-height:1.5}
.turnstile-retry{justify-self:start;border:1px solid #8a3417;background:#fff;color:#8a3417;font:800 12px var(--sans);padding:9px 14px;border-radius:5px;cursor:pointer}.turnstile-retry:hover{background:#8a3417;color:#fff}.turnstile-retry[hidden]{display:none}
.webview-hint{display:block;margin-top:4px;padding:12px 14px;border-radius:7px;background:#eef2f0;border:1px solid #cbd8d3}.webview-hint[hidden]{display:none}.webview-hint p{margin:0;color:#304b5a;font-size:12px;line-height:1.55}
.password-field{position:relative;display:block}.password-field input{width:100%;padding-right:48px}.password-field button{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:#526f7c;cursor:pointer}.password-field button:hover{background:#edf2f0}.password-field button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.password-field svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}.password-field button[aria-pressed=true] svg{color:#174f70}.password-field button[aria-pressed=true]:after{content:'';position:absolute;width:23px;height:1.5px;border-radius:2px;background:currentColor;transform:rotate(-45deg)}

/* O fluxo de conclusao do WhatsApp nao pede credenciais novamente. */
#auth-form label[hidden]{display:none!important}

/* Mantem as telas de entrada estaveis no toque, sem rolagem lateral. */
html,body{width:100%;max-width:100%;overflow-x:hidden}.auth-shell{width:100%;max-width:100%;overflow-x:hidden}.auth-intro,.auth-panel{min-width:0}@media(max-width:800px){.auth-shell{display:block;min-width:0}.auth-intro,.auth-panel{width:100%;max-width:100%;min-width:0}.auth-panel{display:block;min-height:0;padding:38px 20px}.auth-card,.success-card{width:100%;max-width:430px;margin-inline:auto}.success-card{overflow-wrap:anywhere}}

/* Protecao adicional contra arrasto lateral nas telas de entrada. */
@media (max-width:800px){
  html,body{overflow-x:clip!important;overscroll-behavior-x:none;touch-action:pan-y}
  .auth-shell{width:100%;min-width:0;overflow-x:clip;isolation:isolate}
  .auth-intro,.auth-panel{overflow-x:clip;contain:paint}
  .auth-intro{min-height:330px}
  .auth-panel{min-height:0}
  .signal{pointer-events:none}
}

.onboarding-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;margin:0 0 28px;padding:0;min-width:0}.onboarding-steps li{display:flex;min-width:0;align-items:center;gap:6px;color:#7b898c;font:500 9px var(--mono)}.onboarding-steps li:after{content:'';height:1px;background:#d6deda;flex:1;min-width:8px}.onboarding-steps li:last-child:after{display:none}.onboarding-steps span{width:21px;height:21px;flex:0 0 21px;border:1px solid #c6d1cd;border-radius:50%;display:grid;place-items:center}.onboarding-steps li.active,.onboarding-steps li.done{color:var(--ink)}.onboarding-steps li.active span{background:var(--ink);border-color:var(--ink);color:#fff}.onboarding-steps li.done span{background:#dcece4;border-color:#b9d8cd;color:#28745f}.next-steps{display:grid;gap:11px;list-style:none;margin:0 0 24px;padding:0}.next-steps li{display:flex;align-items:center;gap:10px;color:#48606b;font-size:12px;line-height:1.45}.next-steps span{width:24px;height:24px;flex:0 0 24px;border-radius:50%;display:grid;place-items:center;background:#e5f0ec;color:#28745f;font:500 10px var(--mono)}

@media(max-width:420px){.auth-panel{width:100vw!important}.auth-card,.success-card{width:calc(100vw - 40px)!important;max-width:none!important;min-width:0;margin-inline:0!important}.onboarding-steps{gap:8px}.onboarding-steps li{font-size:8px;gap:4px;line-height:1.2;align-items:flex-start}.onboarding-steps li:after{display:none}.onboarding-steps span{width:20px;height:20px;flex-basis:20px}.auth-intro{min-height:260px;padding:26px 20px}.intro-copy h1{font-size:40px}.intro-copy>p:last-child{font-size:13px;max-width:290px}.signal{opacity:.7}.mode-switch{margin-bottom:28px}.success-card{padding:28px 22px}}
@media(max-width:800px){#auth-form input:not([type=checkbox]){font-size:16px}}
.terms a{color:inherit;font-weight:700;text-underline-offset:3px}.terms a:focus-visible{outline:3px solid #e9b771;outline-offset:3px;border-radius:2px}
.connected-account{display:grid;gap:4px;margin:0 0 18px;padding:12px 14px;border:1px solid #cbd8d3;border-radius:6px;background:#edf3f0}.connected-account[hidden]{display:none}.connected-account span{font:500 9px var(--mono);letter-spacing:.1em;color:#718187;text-transform:uppercase}.connected-account strong{font-size:12px;overflow-wrap:anywhere}.connected-account button{justify-self:start;border:0;background:transparent;color:var(--blue);font:800 11px var(--sans);padding:4px 0 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.selected-plan{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-19px 0 28px;padding:13px 15px;border:1px solid #cbdad4;border-radius:7px;background:#f1f6f3;color:var(--ink)}.selected-plan[hidden]{display:none}.selected-plan div{display:grid;gap:3px}.selected-plan span{font:500 9px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#647d7d}.selected-plan strong{font-size:13px}.selected-plan p{margin:0;color:#28745f;font-size:12px;font-weight:800;text-align:right}

/* Cadastro enxuto no celular: topo compacto para o primeiro campo aparecer sem rolar,
   e o aviso de cookies nao cobre o formulario. */
@media(max-width:800px){
  .auth-intro{min-height:0;padding:18px 20px 14px}
  .auth-intro .brand img{width:116px;height:auto}
  .intro-copy{margin:10px 0 0;max-width:none}
  .intro-copy .eyebrow,.intro-copy>p:last-child,.signal,.intro-foot{display:none}
  .intro-copy h1{font-size:30px;line-height:1.05;margin:0}
  .auth-panel{padding:22px 20px 28px}
  .onboarding-steps{margin-bottom:18px}
  .mode-switch{margin-bottom:18px}
  .auth-card header h2{font-size:26px;margin-bottom:8px}
  .auth-card header>p:last-child{margin-bottom:16px}
  body:has(#gf-consent-banner) .auth-panel{padding-bottom:190px}
  #gf-consent-banner{left:8px!important;right:8px!important;bottom:8px!important;padding:10px 12px!important;font-size:12.5px!important;line-height:1.35!important}
  #gf-consent-banner p{margin:0 0 8px!important}
}
