:root{--bg:#06070b;--p:rgba(255,255,255,.045);--b:rgba(255,255,255,.09);--t:#eceef4;--m:#8b90a3;--a:#7c6cff;--a2:#38e1c8;--w:#ffb547;--r:#ff6b7d;--g:#4ade80}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--t);font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
#bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
#app{position:relative;z-index:1;min-height:100vh}
a{color:var(--a2)}button{font:inherit;color:inherit;cursor:pointer}
.glass{background:var(--p);border:1px solid var(--b);border-radius:16px;backdrop-filter:blur(14px)}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:99px;background:rgba(255,181,71,.12);color:var(--w);border:1px solid rgba(255,181,71,.3);white-space:nowrap}
.btn{background:var(--a);border:0;border-radius:10px;padding:10px 16px;font-weight:600;color:#fff;box-shadow:0 0 24px rgba(124,108,255,.35);transition:transform .15s}.btn:hover{transform:translateY(-1px)}
.btn.g{background:transparent;border:1px solid var(--b);box-shadow:none}
input,textarea{font:inherit;color:var(--t);background:rgba(255,255,255,.05);border:1px solid var(--b);border-radius:10px;padding:11px 13px;width:100%;outline:none}input:focus{border-color:var(--a)}
/* login */
.login{min-height:100vh;display:grid;place-items:center;padding:20px}
.login .card{width:min(420px,100%);padding:34px;text-align:center}
.login h1{margin:14px 0 4px;font-size:30px;letter-spacing:-.02em}.login p{color:var(--m);margin:0 0 22px}
.login form{display:grid;gap:12px;text-align:left}.login label{font-size:13px;color:var(--m)}
.code{display:flex;gap:8px;justify-content:center}.code input{width:46px;text-align:center;font-size:22px;padding:10px 0}
.logo{width:64px;height:64px;margin:0 auto}
/* shell */
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
nav.side{position:sticky;top:0;height:100vh;padding:20px 14px;border-right:1px solid var(--b);background:rgba(6,7,11,.6);backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:2px;overflow:auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;padding:4px 10px 18px}.brand svg{width:30px;height:30px}
nav.side a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;color:var(--m);text-decoration:none;font-size:14px}
nav.side a:hover{background:var(--p);color:var(--t)}nav.side a.on{background:rgba(124,108,255,.14);color:#fff}
nav.side a kbd{margin-left:auto}
kbd{font:11px ui-monospace,monospace;color:var(--m);border:1px solid var(--b);border-radius:5px;padding:1px 5px}
.side .k{margin-top:auto;padding:12px 10px 0;font-size:12px;color:var(--m)}
main{padding:22px 32px 60px;max-width:1240px;width:100%;margin:0 auto;animation:in .45s ease}
@keyframes in{from{opacity:0;transform:translateY(8px)}}
.top{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.search{flex:1;display:flex;align-items:center;gap:10px;padding:10px 14px;color:var(--m);cursor:pointer;text-align:left}
h2.sec{text-align:center;font-size:26px;letter-spacing:-.02em;margin:6px 0 4px}p.sub{text-align:center;color:var(--m);margin:0 0 22px}
.grid{display:grid;gap:16px}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.box{padding:18px}.box h3{margin:0 0 12px;font-size:15px}
.kpi .v{font-size:28px;font-weight:700;letter-spacing:-.02em}.kpi .l{color:var(--m);font-size:13px}.up{color:var(--g)}.dn{color:var(--r)}
.row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--b)}.row:first-of-type{border-top:0}
.row .s{color:var(--m);font-size:13px}.grow{flex:1;min-width:0}
.pill{font-size:12px;padding:2px 9px;border-radius:99px;background:var(--p);border:1px solid var(--b);white-space:nowrap}
.pill.r{color:var(--r);border-color:rgba(255,107,125,.35)}.pill.w{color:var(--w);border-color:rgba(255,181,71,.35)}.pill.g{color:var(--g);border-color:rgba(74,222,128,.35)}.pill.a{color:#b9b0ff;border-color:rgba(124,108,255,.4)}
.ava{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:linear-gradient(135deg,var(--a),var(--a2));flex:none}
/* hero */
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;margin-bottom:16px}
.orbwrap{position:relative;display:grid;place-items:center;padding:24px;min-height:330px;overflow:hidden}
.orb{width:250px;height:250px}
.orbtxt{position:absolute;text-align:center}.orbtxt .v{font-size:54px;font-weight:800;letter-spacing:-.03em;background:linear-gradient(90deg,#fff,var(--a2));-webkit-background-clip:text;background-clip:text;color:transparent}.orbtxt .l{color:var(--m);font-size:13px}
.ring{transform-origin:125px 125px;animation:spin 18s linear infinite}.ring.r2{animation-duration:30s;animation-direction:reverse}
.pulse{transform-origin:125px 125px;animation:pul 3.2s ease-in-out infinite}
.sweep{transform-origin:125px 125px;animation:spin 5s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pul{50%{transform:scale(1.06);opacity:.7}}
.brief p{margin:0 0 10px}.typing::after{content:"▍";color:var(--a2);animation:bl 1s steps(1) infinite}@keyframes bl{50%{opacity:0}}
.spark path{stroke-dasharray:400;stroke-dashoffset:400;animation:draw 1.6s ease forwards}@keyframes draw{to{stroke-dashoffset:0}}
.bar{height:6px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden}.bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--a),var(--a2));transform-origin:left;animation:grow 1.2s ease}
@keyframes grow{from{transform:scaleX(0)}}
/* cmdk */
#cmdk{position:fixed;inset:0;z-index:50;background:rgba(3,4,8,.6);backdrop-filter:blur(6px);display:grid;place-items:start center;padding-top:12vh}
#cmdk[hidden]{display:none}
.ck{width:min(680px,94vw);padding:0;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(124,108,255,.25)}
.ck .in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--b)}.ck .in input{border:0;background:none;padding:4px;font-size:17px}
.ck .it{display:flex;gap:10px;align-items:center;padding:10px 16px;cursor:pointer}.ck .it.on,.ck .it:hover{background:rgba(124,108,255,.14)}
.ck .ans{padding:16px;border-top:1px solid var(--b);min-height:60px;white-space:pre-wrap}
.mic{background:none;border:1px solid var(--b);border-radius:8px;padding:5px 8px}
#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(80px);background:#151726;border:1px solid var(--b);padding:10px 16px;border-radius:10px;z-index:60;transition:transform .3s,opacity .3s;opacity:0;pointer-events:none}#toast.on{transform:translateX(-50%);opacity:1}
.kan{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kan .col{padding:12px}.kan .c{padding:10px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--b);margin-top:8px;font-size:14px}
.cal{display:grid;grid-template-columns:52px repeat(5,1fr);gap:4px;font-size:12px}.cal .h{color:var(--m);text-align:center;padding:4px}.cal .t{color:var(--m);text-align:right;padding-right:6px}
.cal .e{border-radius:7px;padding:4px 6px;min-height:34px;background:rgba(255,255,255,.03)}
.e.m{background:rgba(124,108,255,.22);border-left:3px solid var(--a)}.e.f{background:rgba(56,225,200,.14);border-left:3px solid var(--a2)}.e.x{background:rgba(255,107,125,.12);border-left:3px solid var(--r);text-decoration:line-through;color:var(--m)}
.mail{cursor:pointer}.mail.on{background:rgba(124,108,255,.08);border-radius:10px}
.draft{white-space:pre-wrap;padding:14px;border-radius:10px;background:rgba(0,0,0,.3);border:1px solid var(--b);margin:10px 0}
.src{font-size:12px;color:var(--m)}.fact .v{font-size:40px;font-weight:800;color:var(--a2)}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:9px 6px;border-top:1px solid var(--b);text-align:left}th{color:var(--m);font-weight:500;border:0}
.mtop{display:none}
@media (max-width:900px){.shell{grid-template-columns:1fr}nav.side{display:none}nav.side.open{display:flex;position:fixed;z-index:40;width:260px}.mtop{display:inline-flex}main{padding:16px}.g4,.g3{grid-template-columns:repeat(2,1fr)}.g2,.hero,.kan{grid-template-columns:1fr}.search span.t{display:none}.cal{min-width:480px;grid-template-columns:40px repeat(5,minmax(80px,1fr))}}
@media (max-width:520px){.g4,.g3{grid-template-columns:1fr 1fr}.kpi .v{font-size:22px}.orb{width:220px;height:220px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.spark path{stroke-dashoffset:0}}
.shell>*,.grid>*,.hero>*,.kan>*{min-width:0}.brief #brief{white-space:pre-wrap}.tw{overflow-x:auto}.search{min-width:0;overflow:hidden}
.intro{width:220px;margin:4px auto 14px;color:#eceef4}.intro svg{width:100%;overflow:visible}
.intro .lm-ring{stroke-dasharray:101;stroke-dashoffset:101;animation:draw2 1s .1s cubic-bezier(.6,0,.2,1) forwards}
.intro .lm-sp{stroke-dasharray:19 200;stroke-dashoffset:19;animation:draw2 .9s .6s ease forwards}
.intro .lm-dot{transform-origin:28px 28px;transform:scale(0);animation:pop .5s 1.2s cubic-bezier(.3,1.6,.5,1) forwards}
.intro .lm-word{opacity:0;transform:translateX(-10px);animation:wd .7s 1.1s ease forwards}
.intro .lm-mark{transform-origin:28px 28px;animation:glow 3.5s 2s ease-in-out infinite}
@keyframes draw2{to{stroke-dashoffset:0}}@keyframes pop{to{transform:scale(1)}}@keyframes wd{to{opacity:1;transform:none}}
@keyframes glow{50%{filter:drop-shadow(0 0 6px rgba(124,108,255,.8))}}
.brand{color:#eceef4}.brand svg{width:104px;height:auto}.brand .lm-mark{transform-origin:28px 28px;animation:spin 40s linear infinite}
@media (prefers-reduced-motion:reduce){.intro *{opacity:1!important;transform:none!important;stroke-dashoffset:0!important}}
/* estilo Vexto: grafite neutro, linhas finas, laranja pontual */
:root{--bg:#0c0c0d;--p:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));--b:rgba(255,255,255,.07);--t:#ededed;--m:#8a8a8f;--a:#ff8a3d;--a2:#d9d9d9;--g:#6fdc8c;--w:#ffb547;--r:#ff6058}
body{font-family:"Helvetica Neue",Helvetica,Inter,Arial,sans-serif;letter-spacing:.005em}
.glass{background:var(--p);border-radius:22px;backdrop-filter:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
nav.side{background:#0a0a0b}nav.side a.on{background:rgba(255,255,255,.06);box-shadow:inset 2px 0 0 var(--a)}
.btn{background:#efefef;color:#111;box-shadow:none;border-radius:99px;font-weight:500}.btn.g{color:var(--t);border-radius:99px}
h2.sec{font-weight:300;font-size:34px;letter-spacing:-.01em}.kpi .v{font-weight:300;font-size:32px}.fact .v{font-weight:300;color:#fff}
.pill{border-radius:99px;background:rgba(255,255,255,.05)}.pill.a{color:var(--a);border-color:rgba(255,138,61,.35)}
.box h3{font-weight:500}.ava{background:#2a2a2d;color:#ddd}.bar i{background:linear-gradient(90deg,#888,#eee)}
.e.m{background:rgba(255,255,255,.07);border-left-color:#ddd}.e.f{background:rgba(111,220,140,.1);border-left-color:var(--g)}
.ck{box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08)}.ck .it.on,.ck .it:hover{background:rgba(255,255,255,.06)}
.typing::after{color:var(--a)}
/* ilustração da empresa */
.hqcard{position:relative;margin-bottom:16px;padding:10px;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,rgba(255,255,255,.06),transparent 70%),#111113}
.hq{width:100%;height:auto;display:block}
.hq .map path{stroke:rgba(255,255,255,.045);fill:none}
.hq .route{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1.5;stroke-dasharray:6 8;animation:flow 3s linear infinite}
@keyframes flow{to{stroke-dashoffset:-56}}
.hq .shadow{fill:rgba(0,0,0,.5)}
.hq .bld path{fill:rgba(16,16,18,.9);stroke:#d8d8d8;stroke-width:1.4;stroke-linejoin:round}.hq .bld .fl{stroke:rgba(255,255,255,.25)}
.hq .win{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.25);stroke-width:.8}
.hq .win.lit{animation:lit 5s ease-in-out infinite}@keyframes lit{0%,100%{fill:rgba(255,255,255,.04)}50%{fill:rgba(255,200,140,.55)}}
.hq .beacon{fill:var(--a);animation:pul 1.6s infinite}
.hq .call{fill:none;stroke:rgba(255,255,255,.3);stroke-width:1;stroke-dasharray:3 4;animation:flow 6s linear infinite}
.hq .hs circle{fill:var(--g)}.hq .hs .ring2{fill:rgba(111,220,140,.15);stroke:var(--g);stroke-width:1;transform-box:fill-box;transform-origin:center;animation:ping 2.4s ease-out infinite}
.hq .hs.wa circle{fill:var(--w)}.hq .hs.wa .ring2{fill:rgba(255,181,71,.15);stroke:var(--w)}.hq .hs.al circle{fill:var(--r)}.hq .hs.al .ring2{fill:rgba(255,96,88,.18);stroke:var(--r);animation-duration:1.2s}
@keyframes ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.9);opacity:0}}
.hq .tag rect{fill:rgba(24,24,27,.92);stroke:rgba(255,255,255,.1)}.hq .tn{fill:#f0f0f0;font-size:13px;font-weight:500}.hq .tt{fill:#8d8d93;font-size:11.5px}
.hq .dot.ok{fill:var(--g)}.hq .dot.wa{fill:var(--w)}.hq .dot.al{fill:var(--r)}
.hqside{position:absolute;right:28px;bottom:22px;text-align:right}.hqside .l{color:var(--m);font-size:13px}.hqside .big{font-size:56px;font-weight:300;line-height:1.1;color:#fff}
.hqside .chips{display:flex;gap:6px;justify-content:flex-end;margin-top:6px}
.hd{display:block;width:120px;height:56px;margin:4px auto -2px;fill:none;stroke:#cfcfd4;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.hd .ac{stroke:var(--a)}.hd .bk{stroke:rgba(255,255,255,.25)}
@media (max-width:900px){.hqside{position:static;text-align:center;padding:4px 0 10px}.hqside .chips{justify-content:center;flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.hq *{animation:none!important}}
