/* NAVEX HUB · Auth rev469 · portal seguro e responsivo */
body{overflow:hidden;background:var(--void)}
.lwrap{min-height:100dvh;display:grid;grid-template-columns:minmax(32rem,1.12fr) minmax(28rem,.88fr);position:relative}

/* narrativa do produto */
.lhero{position:relative;isolation:isolate;display:grid;grid-template-rows:auto 1fr auto;gap:2.5rem;padding:clamp(2rem,4vw,4.5rem);overflow:hidden;border-right:1px solid var(--line);background:var(--surface)}
.lhero::before{content:'';position:absolute;z-index:-2;inset:0;background:linear-gradient(115deg,color-mix(in srgb,var(--surface) 96%,transparent) 0%,color-mix(in srgb,var(--surface) 78%,transparent) 55%,color-mix(in srgb,var(--accent-soft) 72%,var(--surface)) 100%)}
.lhero::after{content:'';position:absolute;z-index:-1;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--line) 45%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 45%,transparent) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(135deg,#000 4%,transparent 64%);opacity:.45}
.orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(1px);pointer-events:none}
.orb.a{width:28rem;height:28rem;right:-15rem;top:-15rem;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);box-shadow:0 0 0 4rem color-mix(in srgb,var(--accent) 2.4%,transparent),0 0 0 8rem color-mix(in srgb,var(--accent) 1.6%,transparent)}
.orb.b{width:16rem;height:16rem;left:-9rem;bottom:-8rem;border:1px solid color-mix(in srgb,#7a5cff 20%,transparent)}
.lbrand{position:absolute;top:clamp(2rem,4vw,4.5rem);left:clamp(2rem,4vw,4.5rem);display:flex;align-items:center;gap:.75rem;z-index:2}
.lbrand img{width:2rem;height:2rem;object-fit:contain;filter:drop-shadow(0 5px 12px rgba(11,102,213,.18))}
.lbrand b{font:800 1rem/1 var(--ff-d);letter-spacing:-.02em;color:var(--starlight)}
.lhero-status{justify-self:end;display:inline-flex;align-items:center;gap:.5rem;min-height:2rem;padding:0 .75rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 80%,transparent);font:700 .625rem/1 var(--ff-m);letter-spacing:.08em;text-transform:uppercase;color:var(--orbit);backdrop-filter:blur(12px)}
.lhero-status i,.lhint i{width:.42rem;height:.42rem;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 12%,transparent)}
.lpitch{grid-row:2;align-self:center;max-width:42rem;padding-top:2rem}
.leyebrow{display:inline-flex;align-items:center;gap:.625rem;font:750 .68rem/1 var(--ff-m);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.leyebrow::before{content:'';width:1.5rem;height:1px;background:var(--accent)}
.lpitch h2{max-width:42rem;margin-top:1.125rem;font:760 clamp(2.55rem,4.35vw,4.9rem)/.99 var(--ff-d);letter-spacing:-.062em;color:var(--starlight)}
.lword{display:inline-block;background:linear-gradient(96deg,#0b66d5 0%,#1687ea 45%,#7a5cff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lclaim{max-width:34rem;margin-top:1.5rem;font-size:clamp(.95rem,1.2vw,1.075rem);line-height:1.7;color:var(--orbit)}
.lsystem{grid-row:3;width:min(100%,42rem);border:1px solid var(--line);border-radius:1.25rem;background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:0 14px 42px rgba(9,34,67,.06);overflow:hidden;backdrop-filter:blur(16px)}
.lsystem-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.25rem;padding:0 1rem;border-bottom:1px solid var(--line);font-size:.7rem;color:var(--orbit)}
.lsystem-head span{font:750 .625rem/1 var(--ff-m);letter-spacing:.13em;text-transform:uppercase}
.lsystem-head b{font-weight:650;color:var(--nebula)}
.lsystem-grid{display:grid;grid-template-columns:1fr 1fr;padding:.4rem}
.lsystem-item{display:flex;align-items:center;gap:.75rem;min-width:0;padding:.85rem;border-radius:.85rem;transition:background .16s ease}
.lsystem-item:hover{background:var(--hover)}
.lsystem-item>span{min-width:0}
.lsystem-item b{display:block;font-size:.76rem;color:var(--starlight)}
.lsystem-item small{display:block;margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;color:var(--orbit)}
.lsignal{flex:0 0 auto;width:.6rem;height:.6rem;border-radius:3px;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent)}
.lsignal.cyan{background:#00a9ce}.lsignal.violet{background:#7a5cff}.lsignal.green{background:var(--good)}

/* credenciais */
.lform{position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(2rem,5vw,5rem);background:color-mix(in srgb,var(--void) 92%,var(--surface))}
.lform::before{content:'';position:absolute;inset:0;background:radial-gradient(50% 42% at 82% 14%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 72%);pointer-events:none}
.lmobile-brand{display:none}
.lcard{position:relative;width:min(100%,27rem);padding:clamp(1.75rem,3vw,2.5rem);border:1px solid var(--line);border-radius:1.5rem;background:var(--surface);box-shadow:0 24px 70px rgba(10,39,74,.1),0 1px 0 rgba(255,255,255,.6) inset;animation:auth-in .42s cubic-bezier(.2,.8,.2,1) both}
@keyframes auth-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.lcard::before{content:'';position:absolute;left:2rem;right:2rem;top:0;height:2px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,#0b66d5,#1687ea,#7a5cff)}
.lcard-kicker{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;font:750 .63rem/1 var(--ff-m);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.lcard-kicker i{display:grid;place-items:center;width:1.75rem;height:1.75rem;border:1px solid var(--line);border-radius:.55rem;background:var(--surface-2);font-style:normal;letter-spacing:0;color:var(--orbit)}
.lt{font:770 clamp(1.75rem,2.5vw,2.25rem)/1.08 var(--ff-d);letter-spacing:-.045em;color:var(--starlight)}
.ls{margin:.6rem 0 1.75rem;font-size:.84rem;line-height:1.55;color:var(--orbit)}
.lerr{display:none;margin-bottom:1rem;padding:.72rem .85rem;border:1px solid color-mix(in srgb,var(--fail) 32%,var(--line));border-radius:.75rem;background:var(--fail-soft);font-size:.76rem;line-height:1.45;color:var(--fail);animation:shake .28s ease}
.lerr.show{display:block}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.f-group{margin-bottom:1rem}
.f-label{display:block;margin-bottom:.45rem;font:720 .66rem/1.2 var(--ff-m);letter-spacing:.08em;text-transform:uppercase;color:var(--orbit)}
.f-ic{position:relative}
.f-ic>svg{position:absolute;z-index:1;left:.95rem;top:50%;transform:translateY(-50%);color:var(--mute);pointer-events:none;transition:color .15s}
.f-ic .field-i{width:100%;height:3.125rem;padding:0 2.8rem;border:1px solid var(--line-2);border-radius:.78rem;background:color-mix(in srgb,var(--field) 68%,var(--surface));font-size:.86rem;color:var(--starlight);transition:border-color .15s,box-shadow .15s,background .15s}
.f-ic .field-i:hover{border-color:color-mix(in srgb,var(--accent) 24%,var(--line-2))}
.f-ic .field-i:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px var(--accent-soft);outline:none}
.f-ic:focus-within>svg{color:var(--accent)}
.peek{position:absolute;z-index:2;right:.4rem;top:50%;display:grid;place-items:center;width:2.3rem;height:2.3rem;transform:translateY(-50%);border:0;border-radius:.65rem;background:transparent;color:var(--mute);cursor:pointer}
.peek:hover{background:var(--hover);color:var(--accent)}
.lanc-btn{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:3.2rem;margin-top:.4rem;border:0;border-radius:.8rem;background:linear-gradient(105deg,#0758bd,#0b66d5 56%,#1687ea);box-shadow:0 10px 24px rgba(11,102,213,.22);font:750 .84rem/1 var(--ff-b);color:#fff;cursor:pointer;overflow:hidden;transition:transform .15s,box-shadow .15s,filter .15s}
.lanc-btn::after{content:'→';position:absolute;right:1.1rem;font-size:1rem;transition:transform .15s}
.lanc-btn:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(11,102,213,.28);filter:saturate(1.08)}
.lanc-btn:hover::after{transform:translateX(3px)}
.lanc-btn:active{transform:translateY(0)}
.lhint{display:flex;align-items:center;justify-content:center;gap:.55rem;margin-top:1rem;font-size:.64rem;color:var(--mute)}
.lhint i{width:.36rem;height:.36rem;box-shadow:none}
#otpStep{margin-top:1.25rem!important;padding-top:1.25rem!important;border-top:1px solid var(--line)!important}
.lotp-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.lotp-head span{font:750 .6rem/1 var(--ff-m);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.lotp-head b{font-size:.75rem;color:var(--starlight)}
.otp-help{margin:-.1rem 0 .9rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface-2);font-size:.69rem;line-height:1.5;color:var(--orbit)}
#otpStep .pc-opt{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0;color:var(--mute)}
.lcard-foot{display:flex;align-items:center;justify-content:space-between;margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--line);font:650 .56rem/1 var(--ff-m);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}

html[data-theme="light"] .lhero{background:var(--surface);border-color:var(--line)}
html[data-theme="light"] .lform{background:#edf4fa}
html[data-theme="light"] .lcard{box-shadow:0 24px 70px rgba(20,63,105,.11),0 1px 0 #fff inset}
html[data-theme="light"] .lsystem{background:rgba(255,255,255,.72);box-shadow:0 12px 36px rgba(20,63,105,.06)}

@media(max-width:920px){
 body{overflow:auto}
 .lwrap{grid-template-columns:1fr}
 .lhero{display:none}
 .lform{min-height:100dvh;padding:5.5rem 1.25rem 2rem}
 .lmobile-brand{position:absolute;top:1.35rem;left:1.35rem;display:flex;align-items:center;gap:.65rem;color:var(--starlight)}
 .lmobile-brand span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.65rem;background:linear-gradient(135deg,#0758bd,#1687ea);font:800 .85rem/1 var(--ff-d);color:#fff;box-shadow:0 8px 18px rgba(11,102,213,.2)}
 .lmobile-brand b{font-size:.82rem;letter-spacing:-.01em}
}
@media(max-width:520px){
 .lform{align-items:flex-start;padding:5rem .85rem 1rem}
 .lcard{padding:1.4rem;border-radius:1.15rem}
 .lcard::before{left:1.4rem;right:1.4rem}
 .lt{font-size:1.65rem}
 .lcard-foot{margin-top:1.25rem}
}
@media(max-height:720px) and (min-width:921px){
 .lhero{padding:2rem 3rem;gap:1.5rem}
 .lbrand{top:2rem;left:3rem}
 .lpitch{padding-top:1rem}
 .lpitch h2{font-size:clamp(2.5rem,4vw,4rem)}
 .lclaim{margin-top:1rem}
 .lsystem-item{padding:.65rem .8rem}
 .lform{padding:1.5rem}
 .lcard{padding:1.75rem}
 .ls{margin-bottom:1.25rem}
}
@media(prefers-reduced-motion:reduce){.lcard,.lerr{animation:none}.lanc-btn,.lsystem-item{transition:none}}
