/* FORTALECECAR | identidade de acesso apenas; nenhuma regra fora do gate. */
/* Carregada depois das folhas existentes. Login, cadastro e recuperação mantêm IDs e fluxos. */
#g88CloudGate{
  --fc-accent:#00cdb9;--fc-accent-deep:#007f75;--fc-ink:#12191c;
  --fc-outline:#d5dfe6;--fc-muted:#617080;
  grid-template-columns:minmax(0,525px) minmax(0,540px);
  background:radial-gradient(ellipse at 20% 10%,#e3eff7 0,transparent 46%),linear-gradient(135deg,#f4f8fb,#e8eff7);
  padding:24px 16px;
  color:var(--fc-ink);
}
#g88CloudGate .g88-auth-brand{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:610px;
  padding:46px 45px 40px;
  background:
    radial-gradient(ellipse at 5% -4%,#05867d80 0,transparent 34%),
    radial-gradient(ellipse at 101% 102%,#008b8270 0,transparent 42%),
    linear-gradient(150deg,#11181b 0%,#10171a 60%,#071d1e 100%);
  border-radius:24px 0 0 24px;
  box-shadow:0 24px 60px #13232b1e;
}
#g88CloudGate .g88-auth-brand::after{
  content:"";position:absolute;z-index:-1;right:-130px;bottom:-185px;
  width:430px;height:430px;border-radius:50%;border:1px solid #00d6c759;
  box-shadow:0 0 0 80px #00d6c70a,0 0 0 160px #00d6c705;
  pointer-events:none;
}
#g88CloudGate .g88-brand-mark{
  position:relative;align-self:flex-start;max-width:100%;
  font-size:clamp(26px,2.85vw,37px);
  line-height:1.1;letter-spacing:-1.6px;font-weight:850;color:#fff;
}
#g88CloudGate .g88-brand-name{display:block;position:relative;color:#fff!important;white-space:nowrap}
#g88CloudGate .g88-brand-name b{font-weight:inherit;color:#00ddc7}
#g88CloudGate .g88-brand-name::after{
  content:"";display:block;height:5px;width:75%;margin-top:7px;
  background:linear-gradient(90deg,#00ddc7 0%,#00ddc7 18%,transparent 100%);
  clip-path:polygon(0 0,100% 45%,0 100%);
}
#g88CloudGate .g88-brand-mark small{
  display:block;margin-top:10px;letter-spacing:2.3px;
  font-size:10px;line-height:1.5;font-weight:750;color:#e2eded;text-align:right;
}
#g88CloudGate .g88-brand-main{max-width:450px}
#g88CloudGate .g88-brand-main h1{
  margin:0 0 27px;font-size:clamp(35px,3.45vw,47px);
  line-height:1.12;letter-spacing:-1.75px;font-weight:850;color:#fff;
}
#g88CloudGate .g88-brand-main h1::after{
  content:"";display:block;background:var(--fc-accent);
  width:66px;height:6px;border-radius:6px;margin-top:24px;
}
#g88CloudGate .g88-brand-main p{font-size:16px;line-height:1.6;color:#cbd5d7}
#g88CloudGate .g88-brand-bottom{
  padding-top:24px;border-color:#ffffff30;color:#e3ebeb;
  font-size:13px;line-height:1.55;
}
#g88CloudGate .g88-brand-tick{background:#006b6152;color:#00e4cf}
#g88CloudGate .g88-auth-card{
  min-height:610px;padding:44px 48px;
  border:1px solid #ebeff2;border-left:0;
  border-radius:0 24px 24px 0;background:#fff;
  box-shadow:0 24px 60px #13232b1e;
}
#g88CloudGate .g88-auth-card h2{
  font-size:clamp(26px,2.6vw,36px);line-height:1.16;
  letter-spacing:-1.2px;color:#12191c;font-weight:850;
}
#g88CloudGate .g88-auth-eyebrow{
  margin-bottom:12px;font-size:11px;font-weight:850;letter-spacing:2px;
  color:var(--fc-accent-deep);
}
#g88CloudGate .g88-auth-card p{color:var(--fc-muted);font-size:14px;line-height:1.55}
#g88CloudGate .g88-auth-card form{margin-top:17px}
#g88CloudGate .g88-auth-card label{color:#172126;font-size:13px;font-weight:750;margin:17px 0 7px}
#g88CloudGate .g88-auth-card input{
  min-height:51px;border-radius:11px;border:1px solid var(--fc-outline);
  background-color:#f3f7fa;color:#152029;font-size:15px;
}
#g88CloudGate .g88-auth-card input::placeholder{color:#748495}
#g88CloudGate .g88-auth-card input:focus{
  border-color:#009d91;box-shadow:0 0 0 3px #00cdb927;
}
#g88CloudGate #g88CloudLogin #g88CloudEmail{
  padding-left:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' fill='none' stroke='%23748695' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:21px;background-position:15px center;
}
#g88CloudGate .g88-login-password-wrap{position:relative;width:100%;min-width:0}
#g88CloudGate .g88-login-password-wrap::before{
  content:"";position:absolute;z-index:1;top:50%;left:16px;transform:translateY(-50%);
  width:20px;height:20px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23748695' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
}
#g88CloudGate .g88-login-password-wrap input{padding-left:44px;padding-right:52px}
#g88CloudGate .g88-login-password-toggle,
#g88CloudGate .g88-login-password-toggle:hover{
  position:absolute;right:5px;top:50%;transform:translateY(-50%);
  width:42px;height:42px;min-height:42px;padding:9px;display:grid;place-items:center;
  background:transparent;border:0;color:#667988;box-shadow:none;
  cursor:pointer;
}
#g88CloudGate .g88-login-password-toggle:focus-visible{outline:2px solid var(--fc-accent-deep);outline-offset:-3px}
#g88CloudGate .g88-login-password-toggle[aria-pressed="true"]{color:var(--fc-accent-deep)}
#g88CloudGate .g88-auth-actions{margin-top:22px}
#g88CloudGate .g88-auth-card button.primary{
  min-height:52px;border:1px solid var(--fc-accent);border-radius:11px;
  color:#07191b;background:var(--fc-accent);
  box-shadow:0 7px 18px #00cdb925;font-size:15px;font-weight:850;
}
#g88CloudGate .g88-auth-card button.primary:hover{
  background:#00e0c9;border-color:#00e0c9;box-shadow:0 8px 20px #00cdb934;
}
#g88CloudGate .g88-auth-card button:focus-visible{outline:3px solid #0aab9b;outline-offset:2px}
#g88CloudGate .g88-auth-card .g88-auth-link{
  color:var(--fc-accent-deep);font-weight:750;font-size:13px;
}
#g88CloudGate .g88-cloud-note{color:#6e7e89}
#g88CloudGate .g88-auth-switch{
  margin-top:24px;padding-top:20px;border-color:#e3eaed;color:#6f7d87;
}
#g88CloudGate .g88-auth-create{
  min-height:38px;padding:9px 15px;border:0;border-radius:10px;
  background:#dff8f3;color:#006c65;font-weight:800;
}
#g88CloudGate .g88-auth-create:hover{background:#c9f4eb}
#g88CloudGate .g88-signup-result-icon{background:#e3fbf6;color:var(--fc-accent-deep);border-color:#c5eee5}
#g88CloudGate #g88SignupStatus:not(:empty){background:#f2faf8;border-color:#bee7df;color:#125d55}
#g88CloudRecoveryForm input:focus,#g88CloudRequestForm input:focus{outline:2px solid #00b8a6}
@media(max-width:850px){
  #g88CloudGate{
    display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:0;padding:0;margin:0;overflow-x:hidden;overflow-y:auto;
    background:#10191c;
  }
  #g88CloudGate .g88-auth-brand{
    display:flex!important;flex:none;min-height:277px;
    padding:29px 24px 35px;border:0;border-radius:0;box-shadow:none;
    gap:22px;
  }
  #g88CloudGate .g88-auth-brand::after{width:330px;height:330px;bottom:-170px;right:-115px}
  #g88CloudGate .g88-brand-mark{font-size:clamp(25px,6.3vw,37px);letter-spacing:-1.3px}
  #g88CloudGate .g88-brand-mark small{font-size:8px;letter-spacing:1.75px}
  #g88CloudGate .g88-brand-main h1{font-size:clamp(27px,6.5vw,33px);letter-spacing:-1px;margin:0}
  #g88CloudGate .g88-brand-main h1::after{height:5px;width:53px;margin-top:15px}
  #g88CloudGate .g88-brand-main p{display:none}
  #g88CloudGate .g88-brand-bottom{padding:0;border:0;font-size:11px;gap:9px}
  #g88CloudGate .g88-brand-tick{width:27px;height:27px}
  #g88CloudGate .g88-auth-card,
  #g88CloudGate #g88CloudSignupCard{
    position:relative;z-index:1;flex:none;align-self:stretch;
    width:100%;max-width:none;min-height:0;max-height:none;
    padding:32px clamp(21px,6.5vw,36px) 36px;
    margin-top:-18px;border:0;border-radius:28px 28px 0 0;
    box-shadow:none;overflow:visible;background:#fff;
  }
  #g88CloudGate .g88-auth-mobile-brand{display:none!important}
  #g88CloudGate .g88-auth-card h2{font-size:clamp(27px,6.8vw,32px);letter-spacing:-1.1px}
  #g88CloudGate .g88-auth-card label{margin:12px 0 6px}
  #g88CloudGate .g88-auth-card form{margin-top:8px}
  #g88CloudGate .g88-auth-card input{min-height:49px}
  #g88CloudGate .g88-auth-switch{margin-top:20px;padding-top:18px}
  #g88CloudGate #g88CloudSignupCard{padding-top:31px;padding-bottom:36px}
}
@media(max-width:370px){
  #g88CloudGate .g88-auth-brand{padding:22px 19px 31px;min-height:260px}
  #g88CloudGate .g88-brand-mark{font-size:25px}
  #g88CloudGate .g88-brand-mark small{letter-spacing:1.4px}
  #g88CloudGate .g88-auth-card,#g88CloudGate #g88CloudSignupCard{padding:26px 19px 32px}
}
@media(prefers-reduced-motion:reduce){
 #g88CloudGate *,#g88CloudGate *::before,#g88CloudGate *::after{transition:none!important}
}
