*{box-sizing:border-box} :root{--bg:#030308;--text:#f5f7ff;--muted:#8c92ad;--cyan:#00eaff;--purple:#8c4dff;--pink:#ff2bd6;--blue:#247cff}
body{margin:0;background:radial-gradient(circle at 75% 10%,#14102b 0,#05050d 28%,#020205 65%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;min-height:100vh;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(0,234,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(140,77,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 80%);pointer-events:none}
.glass{background:linear-gradient(135deg,rgba(18,18,34,.78),rgba(4,5,12,.78));border:1px solid rgba(130,150,255,.18);box-shadow:inset 0 1px rgba(255,255,255,.06),0 18px 60px rgba(0,0,0,.35);backdrop-filter:blur(18px)}
.sidebar{position:fixed;left:18px;top:18px;bottom:18px;width:240px;border-radius:24px;padding:20px;z-index:3}
.brand{display:flex;gap:12px;align-items:center;padding-bottom:22px;border-bottom:1px solid #ffffff12}.brand img{width:52px;height:52px;border-radius:14px;object-fit:cover;box-shadow:0 0 22px #8c4dff66}.brand div{display:flex;flex-direction:column}.brand strong{letter-spacing:2px}.brand span{font-size:11px;color:var(--cyan);letter-spacing:2px}.brand small{font-size:9px;color:#777d98}
nav{display:grid;gap:8px;margin-top:25px}.nav{border:0;background:transparent;color:#aeb4cd;padding:13px 14px;border-radius:12px;text-align:left;font-weight:700;cursor:pointer}.nav:hover,.nav.active{color:white;background:linear-gradient(90deg,#00eaff18,#8c4dff18,#ff2bd612);box-shadow:inset 2px 0 var(--cyan),0 0 24px #8c4dff16}
.system{position:absolute;bottom:20px;display:flex;gap:10px;align-items:center}.system i{width:9px;height:9px;border-radius:50%;background:#00ffc3;box-shadow:0 0 14px #00ffc3}.system div{display:flex;flex-direction:column}.system small{font-size:9px;color:#777d98}
main{margin-left:278px;padding:30px 34px 60px;max-width:1700px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--cyan);font-weight:800}h1,h2,h3,p{margin-top:0}h1{font-size:25px}h1 em{font-style:normal;color:#a99cff;font-weight:400}.top-actions{display:flex;gap:8px}.chip{padding:9px 12px;border-radius:999px;border:1px solid #ff2bd655;color:#ff78e5;font-size:10px;font-weight:800}.chip.cyan{border-color:#00eaff55;color:#71f4ff}
.view{display:none}.active-view{display:block}.hero{min-height:285px;border-radius:26px;padding:42px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;inset:auto -10% -70% 35%;height:300px;background:radial-gradient(circle,#8c4dff45,transparent 60%)}.status{font-size:10px;color:#54ffd2;letter-spacing:2px}.hero h2{font-size:42px;line-height:1.05;margin:18px 0}.hero h2 b{background:linear-gradient(90deg,var(--cyan),#b576ff,var(--pink));-webkit-background-clip:text;color:transparent}.hero p{color:var(--muted);max-width:580px;line-height:1.6}.orb{width:190px;height:190px;border:1px solid #00eaff55;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 60px #8c4dff55,inset 0 0 60px #00eaff22;animation:float 4s ease-in-out infinite}.orb:before,.orb:after{content:"";position:absolute;width:145px;height:145px;border:1px dashed #ff2bd688;border-radius:50%;animation:spin 10s linear infinite}.orb:after{width:115px;height:115px;border-color:#00eaff99;animation-direction:reverse}.orb-core{font-size:40px;font-weight:900;text-shadow:0 0 25px var(--cyan)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:14px 0}.card{border-radius:18px;padding:22px;display:flex;flex-direction:column;min-height:125px}.card span{font-size:9px;letter-spacing:2px;color:var(--muted)}.card strong{font-size:32px;margin:9px 0}.card small{color:#777d98}.c-cyan{box-shadow:inset 0 1px #00eaff66}.c-purple{box-shadow:inset 0 1px #8c4dff88}.c-pink{box-shadow:inset 0 1px #ff2bd688}.c-blue{box-shadow:inset 0 1px #247cff88}
.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.panel{border-radius:20px;padding:22px}.panel-head{display:flex;justify-content:space-between}.panel-head span{font-size:9px;color:var(--pink);letter-spacing:2px}.chart{height:180px;position:relative;display:flex;align-items:end;gap:12px;padding:20px 10px 5px}.chart i{width:8%;background:linear-gradient(to top,#8c4dff11,#00eaff55);height:35%;border-radius:5px 5px 0 0}.chart i:nth-child(2n){height:65%}.chart i:nth-child(3n){height:45%}.chart i:nth-child(5n){height:80%}.chart svg{position:absolute;inset:0;width:100%;height:100%}.chart polyline{fill:none;stroke:#ff2bd6;stroke-width:3;filter:drop-shadow(0 0 6px #ff2bd6)}.control-list{display:grid;gap:12px}.control-list div{padding:14px;border:1px solid #ffffff0e;border-radius:12px;background:#ffffff04}.control-list b,.control-list small{display:block}.control-list small{color:var(--muted);margin-top:5px}
.section-title{display:flex;justify-content:space-between;align-items:center}.primary{border:0;border-radius:12px;padding:12px 18px;background:linear-gradient(90deg,#1178ff,#8c4dff,#ff2bd6);color:white;font-weight:900;box-shadow:0 0 25px #8c4dff55;cursor:pointer}.client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.client{padding:20px;border-radius:18px}.client-top{display:flex;justify-content:space-between}.client .avatar{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#00eaff22,#8c4dff44);border:1px solid #00eaff44}.client small{color:var(--muted)}.client .meta{display:flex;gap:8px;margin:18px 0}.badge{font-size:9px;border:1px solid #00eaff44;border-radius:999px;padding:6px 8px;color:#79f5ff}.access{width:100%;background:#ffffff06;border:1px solid #8c4dff55;color:#ddd5ff;padding:11px;border-radius:10px;cursor:pointer}.access:hover{box-shadow:0 0 25px #8c4dff44;border-color:#ff2bd6aa}
.empty{border-radius:24px;padding:80px 30px;text-align:center}.empty span{font-size:60px;color:var(--cyan);text-shadow:0 0 30px var(--purple)}.empty p{color:var(--muted);max-width:650px;margin:auto}
.modal{position:fixed;inset:0;background:#000b;display:none;place-items:center;z-index:10;padding:20px}.modal.show{display:grid}.modal-card{width:min(520px,100%);border-radius:24px;padding:28px;position:relative;box-shadow:0 0 90px #8c4dff55}.close{position:absolute;right:15px;top:12px;border:0;background:none;color:white;font-size:28px;cursor:pointer}.admin-banner{padding:12px;border-radius:10px;background:linear-gradient(90deg,#ff2bd616,#8c4dff20);border:1px solid #ff2bd655;color:#ff8fe9;font-size:11px;font-weight:900;margin-bottom:20px}label{display:block;color:#b7bdd3;font-size:12px;margin:14px 0}select,input{width:100%;margin-top:8px;background:#05050b;color:white;border:1px solid #594f7d;border-radius:10px;padding:12px}.toggle-row{display:flex;gap:8px;margin-top:8px}.toggle{padding:9px 16px;border-radius:10px;border:1px solid #00eaff55;background:#00eaff10;color:#78f5ff}.wide{width:100%;margin-top:8px}.modal-note{display:block;text-align:center;color:#6f748c;margin-top:12px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-8px)}}
@media(max-width:1000px){.sidebar{position:relative;width:auto;left:auto;top:auto;bottom:auto;margin:12px}.sidebar nav{grid-template-columns:repeat(5,1fr)}.system{display:none}main{margin-left:0;padding:18px}.cards{grid-template-columns:repeat(2,1fr)}.client-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.brand{justify-content:center}.sidebar nav{display:flex;overflow:auto}.nav{white-space:nowrap}.hero{padding:25px}.hero h2{font-size:31px}.orb{display:none}.cards,.grid2,.client-grid{grid-template-columns:1fr}header{align-items:flex-start;gap:10px}.top-actions{flex-direction:column}.section-title{align-items:flex-end}}
/* R014 — autenticação HTTP real */
.login-page{display:grid;place-items:center;padding:20px}.login-card{width:min(470px,100%);text-align:center}.login-logo{width:105px;height:105px;object-fit:cover;border-radius:25px;box-shadow:0 0 45px #8c4dff88}.login-copy{color:#8c92ad}.logout-btn{border:1px solid #ff2bd655;background:#ff2bd610;color:#ff8fe9;border-radius:999px;padding:9px 12px;font-size:10px;font-weight:800;cursor:pointer}

/* R014 — ASBOT Neural Boot cinematográfico (~10s) */
.asbot-boot-page{overflow:hidden;background:#010105;min-height:100vh}.asbot-boot-page:before{display:none}.boot-stage{position:fixed;inset:0;margin:0;padding:0;max-width:none;display:grid;place-items:center;isolation:isolate;background:radial-gradient(circle at 50% 42%,#101337 0,#050610 28%,#010105 68%)}
.boot-grid{position:absolute;inset:-25%;background-image:linear-gradient(rgba(0,234,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(140,77,255,.055) 1px,transparent 1px);background-size:48px 48px;transform:perspective(500px) rotateX(63deg) translateY(42%);mask-image:linear-gradient(transparent 10%,#000 55%,transparent 90%);animation:bootGrid 6s linear infinite;z-index:-3}
.boot-stage:before,.boot-stage:after{content:"";position:absolute;border-radius:50%;filter:blur(75px);opacity:.32;z-index:-2}.boot-stage:before{width:35vw;height:35vw;background:#087cff;left:-12vw;top:15vh;animation:bootGlow 4s ease-in-out infinite}.boot-stage:after{width:38vw;height:38vw;background:#a018ff;right:-14vw;bottom:4vh;animation:bootGlow 5s ease-in-out infinite reverse}
.boot-particles{position:absolute;inset:0;background-image:radial-gradient(circle,#00eaff 0 1px,transparent 1.5px),radial-gradient(circle,#bd54ff 0 1px,transparent 1.5px),radial-gradient(circle,#ff2bd6 0 1px,transparent 1.5px);background-size:137px 137px,191px 191px,251px 251px;background-position:0 0,45px 70px,90px 20px;opacity:.35;animation:bootParticles 10s linear infinite;z-index:-1}
.boot-core{text-align:center;width:min(92vw,720px);padding:24px;animation:bootEnter .8s ease both}.boot-rings{position:relative;width:min(54vw,310px);aspect-ratio:1;margin:0 auto 22px;display:grid;place-items:center}.boot-rings img{width:62%;height:62%;object-fit:cover;border-radius:50%;filter:saturate(1.12) contrast(1.08);box-shadow:0 0 22px #00eaff66,0 0 70px #8c4dff55;animation:bootRobot 3.2s ease-in-out infinite}.boot-rings i{position:absolute;inset:0;border:1px solid #00eaff88;border-radius:50%;box-shadow:0 0 24px #00eaff33,inset 0 0 22px #00eaff20;animation:spin 7s linear infinite}.boot-rings i:nth-child(2){inset:8%;border-style:dashed;border-color:#9d5cffaa;animation-duration:10s;animation-direction:reverse}.boot-rings i:nth-child(3){inset:18%;border-color:#ff2bd677;border-left-color:transparent;border-right-color:transparent;animation-duration:4s}.boot-brand{font-size:10px;letter-spacing:4px;color:#7eeeff;margin:0 0 10px;text-shadow:0 0 12px #00eaff}.boot-core h1{font-size:clamp(30px,6vw,62px);letter-spacing:.08em;margin:0 0 15px;text-shadow:0 0 30px #1178ff55}.boot-core h1 em{font-style:normal;background:linear-gradient(90deg,#42eaff,#a66cff,#ff47da);-webkit-background-clip:text;color:transparent}.boot-status{font:800 10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:2.5px;color:#b8bfdc;min-height:15px}.boot-progress{height:3px;width:min(90%,520px);margin:18px auto;background:#ffffff12;border-radius:99px;overflow:hidden;box-shadow:0 0 15px #00eaff22}.boot-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#00eaff,#8c4dff,#ff2bd6);box-shadow:0 0 14px #00eaff;transition:width .08s linear}.boot-metrics{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:18px}.boot-metrics span{font-size:8px;letter-spacing:1.4px;color:#666f8f}.boot-metrics b{color:#4effc7;margin-left:4px}.boot-metrics span:last-child b{color:#ff7de8}.boot-sound{margin-top:20px;border:1px solid #00eaff55;border-radius:999px;background:#00eaff0b;color:#83f5ff;padding:8px 13px;font-size:8px;font-weight:900;letter-spacing:1.5px;cursor:pointer}.boot-sound.active{border-color:#8c4dff77;color:#d7c7ff}.boot-footer{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:2px;color:#535a78}.boot-complete .boot-core{animation:bootExit .35s ease forwards}
@keyframes bootGrid{to{background-position:0 48px,48px 0}}@keyframes bootGlow{50%{opacity:.52;transform:scale(1.08)}}@keyframes bootParticles{to{transform:translateY(-80px)}}@keyframes bootRobot{50%{transform:translateY(-6px) scale(1.015);filter:saturate(1.25) contrast(1.1) drop-shadow(0 0 9px #00eaff)}}@keyframes bootEnter{from{opacity:0;transform:scale(.94);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@keyframes bootExit{to{opacity:0;transform:scale(1.04);filter:blur(7px)}}
@media(max-width:600px){.boot-core{padding:16px}.boot-rings{width:min(68vw,275px)}.boot-brand{font-size:8px;letter-spacing:2.4px}.boot-metrics{gap:10px}.boot-footer{font-size:7px;padding:0 15px}.boot-stage:before,.boot-stage:after{width:65vw;height:65vw}}
@media(prefers-reduced-motion:reduce){.boot-grid,.boot-particles,.boot-rings i,.boot-rings img{animation:none!important}}
\n/* R018 — Admin Control Center */\n.section-help{color:var(--muted);font-size:12px;line-height:1.55}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.topic{padding:22px;border-radius:18px;display:grid;gap:8px}.topic b{font-size:15px}.topic strong{font-size:28px;color:#7ff6ff}.topic small,.question small{color:var(--muted);line-height:1.5}.question-panel{max-width:820px}.question{padding:17px;margin:12px 0;border:1px solid #ffffff12;border-radius:14px;background:#ffffff04}.question b,.question small{display:block}.question small{margin:6px 0 10px}.checkrow{display:flex;gap:20px;flex-wrap:wrap}.checkrow label{display:flex;align-items:center;gap:8px;margin:0}.checkrow input{width:auto;margin:0}@media(max-width:1000px){.sidebar nav{grid-template-columns:repeat(4,1fr)}.topic-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.topic-grid{grid-template-columns:1fr}.question-panel{padding:16px}.checkrow{gap:12px}}\n
/* =========================================================
   R023 — FIX MODAL RESPONSIVO / ROLAGEM
   Permite visualizar todo o formulário de licença em PC/mobile.
   ========================================================= */
.modal{
  overflow-y:auto;
  align-items:start;
  padding-top:20px;
  padding-bottom:20px;
}

.modal.show{
  display:grid;
}

.modal-card{
  max-height:calc(100vh - 40px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

@media(max-width:650px){
  .modal{
    padding:10px;
  }

  .modal-card{
    max-height:calc(100vh - 20px);
    padding:22px 18px;
    border-radius:18px;
  }
}

/* =========================================================
   R023 — VIEWS DA ÁREA DO CLIENTE
   ========================================================= */
.client-view{
  display:none;
}

.client-view.active-client-view{
  display:block;
  animation:clientViewIn .22s ease;
}

@keyframes clientViewIn{
  from{
    opacity:0;
    transform:translateY(5px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* R023 — BUY / SELL */
.trade-buy{
  color:#22c55e;
  font-weight:900;
}

.trade-sell{
  color:#ef4444;
  font-weight:900;
}

/* R023 — RESULTADO FINANCEIRO SIMULADO */
.pnl-profit{
  color:#38bdf8;
  font-weight:900;
  text-shadow:0 0 10px rgba(56,189,248,.25);
}

.pnl-loss{
  color:#ef4444;
  font-weight:900;
  text-shadow:0 0 10px rgba(239,68,68,.25);
}
