body {
  background: var(--night);
  isolation: isolate;
}

.auth-video {
  position: fixed;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 62%;
  pointer-events: none;
  filter: saturate(1.12) contrast(1.08) brightness(.62);
  transform: scale(1.015);
}

.auth-video-shade {
  position: fixed;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(2,10,25,.93) 0%, rgba(2,10,25,.63) 46%, rgba(2,10,25,.78) 100%),
    linear-gradient(180deg, rgba(2,10,25,.58) 0%, rgba(2,10,25,.08) 45%, rgba(2,10,25,.86) 100%);
  box-shadow: inset 0 0 180px rgba(0,0,0,.42);
}

.ambient-particles { z-index: 2; }
.auth-shell { z-index: 3; }
.auth-shell::after { border-color: rgba(219,229,255,.22); }
.auth-intro h1 { letter-spacing: -.04em; text-shadow: 0 16px 55px rgba(0,0,0,.36); }
.auth-intro h1 strong { color: #bfeaff; }
.auth-intro > p:last-child { color: #b3c5e2; text-shadow: 0 3px 20px rgba(0,0,0,.48); }
.auth-panel {
  background: rgba(3,14,29,.76);
  border-color: rgba(164,218,255,.27);
  backdrop-filter: blur(22px) saturate(1.15);
  box-shadow: 0 28px 90px rgba(0,0,0,.36), inset 0 1px rgba(213,240,255,.08);
  overflow: hidden;
}
.social-auth{display:grid;gap:10px;margin:0 0 24px}.social-button{min-height:52px;width:100%;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:13px;padding:0 17px;border:1px solid rgba(164,218,255,.22);background:rgba(132,205,255,.045);color:var(--ice);font:500 11px/1 var(--mono);letter-spacing:.045em;cursor:pointer;transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}.social-button svg{width:18px;height:18px}.social-button b{color:var(--blue);font-size:14px;font-weight:400}.social-button:hover{background:rgba(132,205,255,.1);border-color:rgba(164,218,255,.48);box-shadow:0 10px 34px rgba(31,143,207,.1);transform:translateY(-1px)}.social-button:disabled{cursor:wait;opacity:.58;transform:none}.social-button.is-loading b{animation:socialArrow .7s ease-in-out infinite alternate}.auth-divider{display:flex;align-items:center;gap:14px;color:#7084a4;font:400 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:rgba(164,218,255,.16)}.auth-divider span{white-space:nowrap}@keyframes socialArrow{to{transform:translate(3px,-3px)}}
.social-button{text-decoration:none}

/* A entrada usa a mesma linguagem cinética da landing, sem bloquear o formulário. */
.auth-structure {
  position: fixed;
  z-index: 2;
  inset: 0;
  overflow: clip;
  contain: strict;
  pointer-events: none;
  opacity: .46;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 0 42%, transparent 75%);
  mask-image: radial-gradient(ellipse at center, #000 0 42%, transparent 75%);
}
.auth-structure i {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(103, 203, 255, .08) 25%, rgba(142, 224, 255, .8) 62%, transparent);
  background-repeat: no-repeat;
  background-size: 46% 100%;
  background-position: -70vw 0;
  box-shadow: 0 0 20px rgba(69, 184, 255, .2);
  animation: authStructuralDrift 19s linear infinite;
}
.auth-structure i:nth-child(1) { top: 31%; }
.auth-structure i:nth-child(2) { top: 53%; animation-duration: 25s; animation-delay: -9s; opacity: .62; }
.auth-structure i:nth-child(3) { top: 72%; animation-duration: 31s; animation-delay: -18s; opacity: .4; }

.js.motion-forced .wordmark,
.js.motion-forced .auth-intro .eyebrow,
.js.motion-forced .auth-intro h1,
.js.motion-forced .auth-intro > p:last-child,
.js.motion-forced .auth-panel {
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(.22, 1, .36, 1);
}
.js.motion-forced .wordmark { animation-name: authReveal; animation-duration: .55s; }
.js.motion-forced .auth-intro .eyebrow { animation-name: authReveal; animation-duration: .62s; animation-delay: .06s; }
.js.motion-forced .auth-intro h1 { animation-name: authTitleIgnition; animation-duration: .9s; animation-delay: .1s; }
.js.motion-forced .auth-intro > p:last-child { animation-name: authReveal; animation-duration: .72s; animation-delay: .2s; }
.js.motion-forced .auth-panel {
  animation-name: authPanelReveal;
  animation-duration: .78s;
  animation-delay: .13s;
  transform-origin: 50% 45%;
}
.js.motion-forced .auth-panel::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 25%, rgba(158, 226, 255, .12) 47%, transparent 67%);
  transform: translateX(-120%);
  animation: authPanelGlint 1.25s .45s cubic-bezier(.22, 1, .36, 1) both;
}
.js.motion-forced .auth-panel > * {
  animation: authFieldReveal .52s cubic-bezier(.22, 1, .36, 1) both;
}
.js.motion-forced .auth-panel > :nth-child(1) { animation-delay: .27s; }
.js.motion-forced .auth-panel > :nth-child(2) { animation-delay: .32s; }
.js.motion-forced .auth-panel > :nth-child(3) { animation-delay: .37s; }
.js.motion-forced .auth-panel > :nth-child(4) { animation-delay: .42s; }
.js.motion-forced .auth-panel > :nth-child(5) { animation-delay: .47s; }
.js.motion-forced .auth-panel > :nth-child(6) { animation-delay: .51s; }

@keyframes authReveal {
  from { opacity: 0; transform: translateY(20px); filter: blur(6px); clip-path: inset(0 0 100% 0); }
  to { opacity: 1; transform: none; filter: none; clip-path: inset(0); }
}
@keyframes authTitleIgnition {
  0% { opacity: 0; transform: translateY(28px); filter: blur(7px); clip-path: inset(0 0 100% 0); text-shadow: none; }
  68% { opacity: 1; filter: blur(0); text-shadow: 0 0 36px rgba(99, 199, 255, .38); }
  100% { opacity: 1; transform: none; clip-path: inset(0); text-shadow: 0 16px 55px rgba(0,0,0,.36); }
}
@keyframes authPanelReveal {
  from { opacity: 0; transform: translateY(26px) scale(.985); filter: blur(7px); clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%); }
  to { opacity: 1; transform: none; filter: none; clip-path: polygon(0 22px,22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%); }
}
@keyframes authFieldReveal { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes authPanelGlint { 55%, 100% { transform: translateX(120%); } 100% { opacity: 0; } }
@keyframes authStructuralDrift { to { background-position: 150vw 0; } }

@media (max-width: 850px) {
  .auth-video { object-position: 58% center; }
  .auth-video-shade { background: linear-gradient(180deg, rgba(2,10,25,.78), rgba(2,10,25,.44) 42%, rgba(2,10,25,.86)); }
}

@media (prefers-reduced-motion: reduce) {
  .auth-video { transform: none; }
  html:not(.motion-forced) .auth-structure i,
  html:not(.motion-forced) .auth-shell * { animation: none !important; }
  html:not(.motion-forced) .auth-structure { opacity: .18; }
}

/* Em notebooks e no navegador embutido, evita comprimir o formulário em duas colunas. */
@media (min-width: 851px) and (max-width: 1100px) {
  .auth-main {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 48px;
    padding: 74px clamp(2px, 4vw, 42px) 48px;
  }
  .auth-intro h1 { font-size: clamp(58px, 10vw, 86px); }
  .auth-panel { justify-self: start; max-width: 620px; }
}

/* Login da landing escura: mesma escala, material e edifício do hero. */
:root{--night:#050505;--night-2:#0b0b0b;--ice:#f4f4f1;--blue:#d8f0ff;--muted:#92928d;--line:rgba(255,255,255,.14);--sans:"Manrope",sans-serif}
html,body{background:#050505}
body{font-family:var(--sans);background:radial-gradient(circle at 49% 45%,rgba(255,255,255,.055),transparent 28%),#050505}
body::before{background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);opacity:.48}
.auth-video-shade{z-index:0;background:linear-gradient(90deg,#050505 0,rgba(5,5,5,.5) 48%,#050505 100%),linear-gradient(180deg,#050505 0,transparent 48%,#050505 100%);box-shadow:none}
.ambient-particles,.auth-structure{filter:grayscale(1);opacity:.1}
.auth-shell{padding:32px clamp(28px,4.3vw,82px)}
.auth-shell::after{inset:18px;border-color:rgba(255,255,255,.12);clip-path:none}
.wordmark{color:#f4f4f1}.wordmark b{color:#a9a9a4}.wordmark i{background:#f4f4f1;box-shadow:none}
.auth-shell{display:block}
.auth-main{grid-template-columns:minmax(0,1fr) minmax(430px,540px);gap:clamp(70px,9vw,160px);padding:48px clamp(0px,1.4vw,26px);min-height:calc(100vh - 64px)}
.auth-intro{align-self:center}.eyebrow{color:#aaa9a4;margin-bottom:34px}.auth-intro h1{max-width:7ch;color:#f5f5f2;font-size:clamp(62px,5.5vw,96px);line-height:1;letter-spacing:-.04em}.auth-intro h1 strong{display:inline-block;color:#fff;font-weight:600;padding-bottom:.14em;margin-bottom:-.14em}.auth-intro>p:last-child{color:#aaa9a4;max-width:42ch}
.auth-building{position:relative;align-self:center;justify-self:center;width:min(26vw,450px);height:min(68vh,650px);isolation:isolate;pointer-events:none}
.auth-building::before{content:"";position:absolute;z-index:-1;inset:8% -14%;background:radial-gradient(ellipse,rgba(255,255,255,.08),transparent 68%);filter:blur(28px)}
.auth-building-video,.auth-building-final{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:screen;filter:grayscale(1) contrast(1.23) brightness(.92);transition:opacity .5s ease}
.auth-building-video{opacity:.95}.auth-building-final{opacity:0}.auth-building.video-complete .auth-building-video{opacity:0}.auth-building.video-complete .auth-building-final{opacity:.95}
.auth-panel{align-self:center;justify-self:end;max-width:540px;padding:clamp(30px,3vw,48px);background:#0b0b0b;border-color:#343432;border-radius:14px;clip-path:none;backdrop-filter:none;box-shadow:0 34px 100px rgba(0,0,0,.46)}
.social-button{border-color:#353533;background:#111;color:#ededE9;border-radius:8px}.social-button:hover{border-color:#777;background:#161616;box-shadow:none}
.auth-divider{color:#777}.auth-divider::before,.auth-divider::after{background:#30302e}
label{color:#aaa9a4}input{color:#f4f4f1;border-bottom-color:#343432}input:focus{border-color:#f4f4f1}input::placeholder{color:#666661}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:#f4f4f1;caret-color:#f4f4f1;-webkit-box-shadow:0 0 0 1000px #0b0b0b inset;box-shadow:0 0 0 1000px #0b0b0b inset;border-bottom-color:#555;transition:background-color 9999s ease-out 0s}
.remember-row span{color:#aaa9a4}.auth-help a{color:#d8f0ff!important}.submit{border-color:#f3f3ef;background:#f3f3ef;color:#080808;border-radius:999px;clip-path:none}.submit:hover{background:transparent;color:#fff}.auth-panel>p{color:#858580}.auth-panel>p a{color:#d8f0ff}
@media(max-width:1250px) and (min-width:851px){.auth-main{grid-template-columns:minmax(0,1fr) minmax(400px,520px);gap:clamp(38px,6vw,76px)}.auth-intro{grid-column:1;grid-row:1}.auth-panel{grid-column:2;grid-row:1}.auth-intro h1{font-size:clamp(58px,7vw,82px)}}
@media(max-width:850px){.auth-main{grid-template-columns:1fr;gap:42px;padding-top:64px}.auth-panel{grid-column:1;grid-row:2}.auth-intro h1{font-size:clamp(54px,14vw,72px)}}
@media(prefers-reduced-motion:reduce){.auth-building-video{display:none}.auth-building-final{opacity:.95}}

/* 2026 premium alignment — shared material language with the public landing. */
:root{--shine-blue:#64cefb;--shine-white:#fff;--sans:"Inter",sans-serif}
html,body{background:#000}
body{background:#000;font-family:var(--sans)}
body::before{content:none}
.auth-video{z-index:-3;object-position:center center;filter:saturate(.92) contrast(1.08) brightness(.7);transform:none}
.auth-video-shade{z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.48) 43%,rgba(0,0,0,.78) 100%),linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.2) 48%,rgba(0,0,0,.82));box-shadow:none}
.ambient-particles,.auth-structure{display:none}
.auth-shell{z-index:1}
.auth-shell::after{border-color:rgba(255,255,255,.14)}
.wordmark{gap:5px;font-size:clamp(8px,.66vw,11px);letter-spacing:.1em;white-space:nowrap}
.wordmark span,.wordmark b{font-weight:500}
.wordmark b,.eyebrow,.auth-intro h1 strong,.auth-panel>p a,.auth-help a{
  background-image:linear-gradient(100deg,var(--shine-blue) 0%,var(--shine-blue) 34%,var(--shine-white) 50%,var(--shine-blue) 66%,var(--shine-blue) 100%);
  background-size:220% 100%;background-position:120% 50%;background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;animation:authShine 3s linear infinite
}
.wordmark i{width:22px;background:var(--shine-blue);box-shadow:none}
.auth-intro h1{color:#fff;font-weight:400;text-shadow:0 10px 52px rgba(0,0,0,.7)}
.auth-intro h1 strong{font-weight:600}
.auth-intro>p:last-child{color:rgba(255,255,255,.66);text-shadow:0 2px 24px #000}
.auth-building{width:min(29vw,470px);height:min(72vh,680px)}
.auth-building::before{inset:16% -8%;background:radial-gradient(ellipse,rgba(100,206,251,.1),transparent 68%);filter:blur(34px)}
.auth-building canvas{display:block;width:100%!important;height:100%!important;filter:drop-shadow(0 24px 50px rgba(0,0,0,.72))}
.auth-panel{background:rgba(5,5,5,.8);border-color:rgba(255,255,255,.2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 32px 100px rgba(0,0,0,.55);border-radius:16px}
.social-button{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.16);border-radius:10px}
.social-button:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.34)}
input{border-bottom-color:rgba(255,255,255,.2)}input:focus{border-color:var(--shine-blue)}
.submit{border-color:#fff;background:#fff}.submit:hover{background:#101010;border-color:#fff;color:#fff}
@keyframes authShine{to{background-position:-120% 50%}}
@media(max-width:1250px) and (min-width:851px){.auth-building{width:min(36vw,360px);height:390px}}
@media(max-width:850px){.auth-video{object-position:58% center}.auth-video-shade{background:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.5) 42%,rgba(0,0,0,.9))}.auth-building{width:min(78vw,340px);height:400px}.auth-panel{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}}
@media(prefers-reduced-motion:reduce){.wordmark b,.eyebrow,.auth-intro h1 strong,.auth-panel>p a,.auth-help a{animation:none;background-position:50% 50%}}
