/* ===== O acesso em janela (30/10/2026, Diego: "um formato assim igual da LastWeek, tanto pra login, tanto pra cadastro,
   só que melhor"): o e-mail, o código que chega nele e, para quem é novo, o cadastro curto. Abre por cima da landing,
   na cor da área que está aberta. ===== */
:where(.ac) button{appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}
:where(.ac) :is(h2,p,form){margin:0}
:where(.ac) a{color:inherit}
.ac{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:16px}
.ac[hidden]{display:none}
.ac-fundo{position:absolute;inset:0;background:rgb(10 16 28 / .46);animation:ac-fundo .3s ease both}
.ac-cx{position:relative;width:100%;max-width:468px;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;border-radius:28px;background:#fff;
  box-shadow:0 30px 80px -24px rgb(10 16 28 / .45), 0 0 0 1px rgb(10 16 28 / .04);animation:ac-entra .42s cubic-bezier(.2,.9,.25,1.05) both;overflow:hidden}
.ac-topo{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 0;flex:none}
.ac-bt{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#2B3442;transition:background .2s}
.ac-bt:hover{background:#F1F3F6}
.ac-bt svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ac-bt[hidden]{visibility:hidden;display:grid}
.ac-corpo{padding:4px 36px 32px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#D5DAE1 transparent}
.ac-passo{animation:ac-passo .38s cubic-bezier(.2,.8,.2,1) both}
.ac-passo.volta{animation-name:ac-passo-volta}
.ac-logo{display:block;width:44px;height:44px;margin:0 auto 14px;background:var(--g-marca, var(--v-verde));-webkit-mask:url(../img/simbolo.png) center/contain no-repeat;mask:url(../img/simbolo.png) center/contain no-repeat;transition:background .5s}
.ac h2{margin:0;text-align:center;font-size:24px;font-weight:700;letter-spacing:-.02em;color:#141A23}
.ac-sub{margin:8px 0 26px;text-align:center;font-size:14.5px;line-height:1.5;color:#5F6B7A}
.ac-sub b{font-weight:600;color:#262F3B}
.ac-campo{position:relative;display:block;margin-bottom:14px}
.ac-campo>span{display:block;margin-bottom:8px;font-size:15px;font-weight:600;color:#1B222C}
.ac-campo small{display:block;margin-top:7px;font-size:12.5px;line-height:1.45;color:#6B7684}
.ac input{width:100%;height:56px;padding:0 20px;border:1px solid #CDD3DB;border-radius:16px;background:#fff;font:inherit;font-size:16px;color:#141A23;transition:border-color .2s, box-shadow .2s}
.ac input::placeholder{color:#8B95A3}
.ac input:focus{outline:0;border-color:var(--v-verde);box-shadow:0 0 0 4px color-mix(in srgb, var(--v-verde) 16%, transparent)}
.ac input[aria-invalid="true"]{border-color:#D92D20}
.ac-olho{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#5F6B7A}
.ac-olho svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ac-campo:has(.ac-olho) input{padding-right:56px}
.ac-erro{margin:-4px 0 12px;font-size:13.5px;color:#B42318}
.ac-erro[hidden]{display:none}
.ac-aviso{margin:0 0 16px;padding:11px 14px;border-radius:12px;font-size:13.5px;line-height:1.45;background:#FEF3F2;color:#B42318}
.ac-aviso.ok{background:color-mix(in srgb, var(--v-verde) 9%, #fff);color:var(--v-texto)}
.ac-aviso[hidden]{display:none}
.ac-ir{position:relative;width:100%;height:56px;margin-top:8px;border-radius:16px;font:inherit;font-size:16.5px;font-weight:700;color:#fff;
  background:linear-gradient(110deg, var(--v-verde-2), var(--v-verde));box-shadow:0 12px 26px -14px rgb(var(--v-a) / .9);transition:transform .2s, box-shadow .2s, opacity .2s, background .5s}
.ac-ir:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 30px -14px rgb(var(--v-a) / 1)}
.ac-ir:disabled{background:#EEF0F3;color:#A2AAB5;box-shadow:none;cursor:default}
.ac-ir.ocupado{color:transparent;pointer-events:none}
.ac-ir.ocupado::after{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border:2.5px solid rgb(255 255 255 / .35);border-top-color:#fff;border-radius:50%;animation:ac-gira .7s linear infinite}
.ac-link{font:inherit;font-size:14px;font-weight:600;color:#262F3B;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.ac-link:hover{color:var(--v-verde)}
.ac-link:disabled{color:#9AA3AE;text-decoration:none;font-weight:500;cursor:default}
.ac-pe{margin:18px 0 0;text-align:center;font-size:14px;color:#5F6B7A}
.ac-ou{display:flex;align-items:center;gap:14px;margin:22px 0 18px;font-size:12.5px;color:#8B95A3}
.ac-ou::before,.ac-ou::after{content:"";flex:1;height:1px;background:#E6E9EE}
.ac-alt{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;border:1px solid #D3D8DF;border-radius:999px;font:inherit;font-size:15px;font-weight:600;color:#1B222C;transition:background .2s, border-color .2s}
.ac-alt:hover{background:#F6F7F9;border-color:#C2C8D1}
.ac-alt svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* o código: uma caixa só, os números espaçados e os tracinhos esperando */
.ac-codigo{width:min(100%, 280px)!important;height:76px!important;margin:0 auto;display:block;text-align:center;font-size:30px!important;font-weight:600;
  letter-spacing:.42em;text-indent:.42em;font-variant-numeric:tabular-nums;border-radius:20px!important}
.ac-codigo::placeholder{color:#C7CDD5;letter-spacing:.42em}
.ac-reenvia{margin:16px 0 22px;text-align:center;font-size:14px;color:#5F6B7A}
.ac-dica{margin:-10px 0 18px;text-align:center;font-size:12.5px;color:#8B95A3}

/* o cadastro: a escolha em abas, sem cartão nem bolinha */
.ac-grupo{margin-bottom:16px}
.ac-grupo>p{margin:0 0 7px;font-size:14px;font-weight:600;color:#1B222C}
.ac-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:#F1F3F6}
.ac-seg label{position:relative;cursor:pointer}
.ac-seg input{position:absolute;opacity:0;pointer-events:none}
.ac-seg span{display:grid;place-items:center;height:40px;border-radius:9px;font-size:14.5px;font-weight:600;color:#5F6B7A;transition:background .2s, color .2s, box-shadow .2s}
.ac-seg label:hover span{color:#1B222C}
.ac-seg input:checked+span{background:#fff;color:#141A23;box-shadow:0 1px 2px rgb(10 16 28 / .08), 0 0 0 1px rgb(10 16 28 / .06)}
.ac-seg input:focus-visible+span{outline:2px solid var(--v-verde);outline-offset:1px}
.ac-campo>span em{font-style:normal;font-weight:400;color:#8B95A3}
.ac-termos{margin:14px 0 0;text-align:center;font-size:12.5px;line-height:1.55;color:#6B7684}
.ac-termos a{color:#262F3B;text-decoration:underline;text-underline-offset:2px}
.ac-termos a:hover{color:var(--v-verde)}

/* mais sóbrio (30/10/2026, Diego: "muita cara de IA, deixe mais profissional"): botão de cor chapada sem brilho, campo e
   caixa com canto menor, título menor */
.ac-cx{border-radius:20px;max-width:440px}
.ac-corpo{padding:0 32px 28px}
.ac h2{font-size:21px}
.ac-sub{margin:6px 0 22px;font-size:14px}
.ac-campo>span{font-size:14px;margin-bottom:7px}
.ac input{height:48px;border-radius:12px;padding:0 14px;border-color:#D5DAE1}
.ac input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--v-verde) 14%, transparent)}
.ac-codigo{height:64px!important;border-radius:14px!important;font-size:26px!important}
.ac-ir{height:48px;border-radius:12px;font-size:15px;font-weight:600;background:var(--v-verde);box-shadow:none}
.ac-ir:hover:not(:disabled){transform:none;box-shadow:none;filter:brightness(.93)}
.ac-alt{height:48px;border-radius:12px;font-size:14.5px}
.ac-logo{width:36px;height:36px;margin-bottom:12px}

html.ac-aberto{overflow:hidden}
@keyframes ac-fundo{from{opacity:0}}
@keyframes ac-entra{from{opacity:0;transform:translateY(18px) scale(.96)}}
@keyframes ac-passo{from{opacity:0;transform:translateX(22px)}}
@keyframes ac-passo-volta{from{opacity:0;transform:translateX(-22px)}}
@keyframes ac-gira{to{transform:rotate(360deg)}}
.ac.sai .ac-fundo{animation:ac-fundo .22s ease reverse both}
.ac.sai .ac-cx{animation:ac-sai .22s ease both}
@keyframes ac-sai{to{opacity:0;transform:translateY(10px) scale(.97)}}
@media (prefers-reduced-motion: reduce){ .ac-fundo,.ac-cx,.ac-passo{animation:none} }
@media (max-width:520px){
  .ac{padding:12px}
  .ac-cx{border-radius:18px}
  .ac-corpo{padding:0 20px 22px}
  .ac h2{font-size:20px}
}

/* no entrar.html: as cores da área (a landing já tem as dela) e a tela antiga escondida enquanto a janela está aberta */
.ac-pagina .ac{--v-verde:#1A56D6;--v-verde-2:#1A6BFF;--v-a:26 107 255;--v-texto:#0B1626;--g-marca:linear-gradient(135deg,#1A6BFF,#13B5E3)}
html.ac-pagina[data-area="vet"] .ac{--v-verde:#0F8A7C;--v-verde-2:#14B8A6;--v-a:20 184 166;--v-texto:#0E2A26;--g-marca:linear-gradient(135deg,#14B8A6,#0F8A7C)}
html.ac-pagina.ac-aberto .au-centro{visibility:hidden}
.ac-pagina .ac-fundo{background:rgb(4 10 20 / .35)}
.ac-topo [data-ac-fechar]{margin-left:auto}

/* a tela da senha: "Esqueci a senha" de um lado e "Entrar com código no e-mail" do outro, logo abaixo do campo */
.ac-lado{display:flex;justify-content:space-between;gap:12px;margin:-2px 0 16px}
.ac-lado .ac-link{font-size:13.5px}
.ac h2.ac-t-so{margin-bottom:22px}

/* "Tente de outra forma": o botão cinza embaixo do Entrar e o cartãozinho com o código por e-mail */
.ac-cinza{display:grid;place-items:center;width:100%;height:48px;margin-top:10px;border-radius:12px;background:#F1F3F6;font-size:15px;font-weight:500;color:#1B222C;transition:background .2s}
.ac-cinza:hover{background:#E7EAEF}
.ac-outra{position:fixed;inset:0;z-index:2;display:grid;place-items:center;padding:16px}
.ac-outra-fundo{position:absolute;inset:0;background:rgb(10 16 28 / .28);animation:ac-fundo .2s ease both}
.ac-outra-cx{position:relative;width:100%;max-width:420px;padding:22px 22px 24px;border-radius:20px;background:#fff;box-shadow:0 24px 60px -20px rgb(10 16 28 / .45);animation:ac-entra .3s cubic-bezier(.2,.9,.25,1.05) both}
.ac-outra-topo{position:relative;display:flex;align-items:center;justify-content:center;min-height:38px;margin-bottom:18px}
.ac-outra-topo h3{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em;color:#141A23}
.ac-outra-topo .ac-bt{position:absolute;right:-6px;top:0}
.ac-opcao{display:flex;align-items:center;gap:14px;width:100%;padding:10px;border-radius:14px;text-align:left;transition:background .2s}
.ac-opcao:hover{background:#F6F7F9}
.ac-opcao.ocupado{opacity:.6;pointer-events:none}
.ac-opcao-ic{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;border:1px solid #E1E5EA;color:#1B222C}
.ac-opcao-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ac-opcao b{display:block;font-size:15px;font-weight:500;color:#141A23}
.ac-opcao small{display:block;margin-top:2px;font-size:13.5px;color:#6B7684}
.ac-outra .ac-aviso{margin:12px 0 0}
