:root{
  --bg:#0a0e1a; --bg2:#0f1524; --panel:#131b2e; --panel2:#182136;
  --line:rgba(255,255,255,.08); --txt:#e8edf7; --muted:#93a1bd;
  --cyan:#12e6c8; --violet:#7c5cff; --green:#2fe38b; --red:#ff5d73;
  --amber:#ffb547; --blue:#3d8bff; --grad:linear-gradient(120deg,#12e6c8,#7c5cff);
  --wa:#25d366;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--txt);line-height:1.6}
a{text-decoration:none;color:inherit}
.hidden{display:none!important}
.grad-txt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.25rem}
.logo-mark{width:34px;height:34px;border-radius:9px;background:var(--grad);display:grid;place-items:center;color:#04121a;font-weight:900;transform:rotate(45deg)}
.logo-mark span{transform:rotate(-45deg)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:40px;font-weight:700;font-size:.92rem;cursor:pointer;border:none;transition:.25s;font-family:inherit}
.btn-primary{background:var(--grad);color:#04121a}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{background:rgba(255,255,255,.05);color:var(--txt);border:1px solid var(--line)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-whatsapp{background:var(--wa);color:#04240f}
.btn-whatsapp:hover{transform:translateY(-2px)}
.btn-block{width:100%}
.wa-mini{background:rgba(37,211,102,.14);border:1px solid rgba(37,211,102,.4);color:var(--wa)}

.mini-btn{padding:7px 14px;border-radius:20px;background:var(--panel2);border:1px solid var(--line);color:var(--txt);font-weight:700;font-size:.78rem;cursor:pointer;font-family:inherit;transition:.2s}
.mini-btn:hover{border-color:var(--cyan)}
.bc-live{display:flex;align-items:center;gap:7px;color:var(--cyan);font-size:.8rem;font-weight:700}
.dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.disclaimer{color:#5f6b82;font-size:.78rem;line-height:1.5}
.up{color:var(--green)} .down{color:var(--red)}

.divider{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:.78rem;margin:18px 0 12px;gap:10px}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}

.login-screen{min-height:100vh;display:grid;place-items:center;text-align:center;padding:20px}
.login-card{max-width:420px;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:40px}
.app-shell{max-width:1240px;margin:0 auto;padding:20px}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap;gap:12px}
.acct{display:flex;gap:12px;align-items:center;font-size:.9rem;flex-wrap:wrap}
.acct b{color:var(--txt)} .acct span{color:var(--muted)}
.acct-badge{padding:4px 12px;border-radius:20px;font-weight:800;font-size:.75rem}
.acct-switch{padding:8px 12px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);color:var(--txt);font-family:inherit;font-size:.82rem}
.bal{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 16px;font-weight:800}

.tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.tab{padding:11px 20px;border-radius:30px;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-weight:700;cursor:pointer;font-family:inherit;transition:.2s}
.tab.active{background:var(--grad);color:#04121a}

.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:20px}
.panel h3{font-size:1.05rem;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}
select,input{width:100%;padding:11px 13px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);color:var(--txt);font-family:inherit;margin-bottom:12px}
label{font-size:.78rem;color:var(--muted);font-weight:700;display:block;margin-bottom:5px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

#chart{width:100%;height:320px;background:#070b14;border:1px solid var(--line);border-radius:12px;display:block}
#smartchart { height:460px !important; max-height:460px !important; width:100% !important; position:relative !important; overflow:hidden !important; }
#smartchart > * { height:100% !important; max-height:460px !important; position:relative !important; }
#smartchart .smartcharts-mobile, #smartchart .ciq-chart-area, #smartchart .cq-context { height:100% !important; position:relative !important; }
.chart-legend{display:flex;gap:16px;font-size:.75rem;color:var(--muted);margin-top:8px;flex-wrap:wrap}
.lg{display:inline-flex;align-items:center;gap:5px}
.lg i{width:14px;height:3px;border-radius:2px;display:inline-block}

.score-badge{font-size:2.8rem;font-weight:900}
.safety-dot{display:inline-block;width:16px;height:16px;border-radius:50%;margin-right:8px;vertical-align:middle;box-shadow:0 0 12px currentColor}
.pill{padding:5px 14px;border-radius:20px;font-weight:800;font-size:.85rem}
.metrics,.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.metric{background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:9px;text-align:center}
.metric .k{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.metric .v{font-weight:800;font-size:.95rem;margin-top:2px}
.reasons{list-style:none;display:grid;gap:8px;margin-top:14px;max-height:260px;overflow:auto}
.reasons li{display:flex;gap:10px;font-size:.85rem;color:var(--muted);padding:10px;background:var(--panel2);border-radius:9px}
.reasons .r-ok{color:var(--green)} .reasons .r-no{color:var(--red)}

.log{height:220px;overflow:auto;background:#070b14;border:1px solid var(--line);border-radius:10px;padding:12px;font-family:ui-monospace,monospace;font-size:.8rem}
.log div{margin-bottom:5px;line-height:1.4}
.log .win{color:var(--green)} .log .loss{color:var(--red)} .log .trade{color:var(--cyan)}
.log .wait{color:var(--amber)} .log .stop{color:#ff8fa0} .log .start{color:var(--blue)} .log .err{color:var(--red)} .log .warn{color:#ff9d3d}

table{width:100%;border-collapse:collapse;font-size:.84rem}
th,td{text-align:left;padding:9px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}

.builder-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--panel);border:1px solid var(--line);border-radius:16px 16px 0 0;flex-wrap:wrap;gap:10px}
.builder-actions{display:flex;gap:8px;align-items:center}
.blockly-canvas{width:100%;height:640px;background:#1e1e1e;border:1px solid var(--line);border-radius:0 0 16px 16px;overflow:hidden}

.site-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 0;color:var(--muted);font-size:.82rem;border-top:1px solid var(--line);margin-top:10px}
.site-footer a{color:var(--wa);font-weight:700}

::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:var(--panel2);border-radius:10px}
@media(max-width:900px){.grid{grid-template-columns:1fr}.metrics,.stats-grid{grid-template-columns:repeat(2,1fr)}.blockly-canvas{height:480px}}

/* Dashboard */
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.dash-hero{text-align:center;padding:48px 20px;background:var(--panel);border:1px solid var(--line);border-radius:18px;margin-bottom:22px}
.dash-hero h1{font-size:2.2rem;margin:0 0 10px}
.dash-hero p{color:var(--muted);max-width:620px;margin:0 auto 22px;font-size:1.02rem}
.dash-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.dash-cards{grid-template-columns:1fr}}
.dash-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;transition:.2s}
.dash-card:hover{transform:translateY(-3px);border-color:var(--accent,#7c5cff)}
.dc-ico{font-size:1.9rem;margin-bottom:10px}
.dash-card h3{margin:0 0 6px;font-size:1.05rem}
.dash-card p{color:var(--muted);font-size:.9rem;margin:0}
/* Coming soon */
.soon{text-align:center;padding:80px 20px;background:var(--panel);border:1px dashed var(--line);border-radius:18px}
.soon-ico{font-size:3rem;margin-bottom:14px;opacity:.8}
.soon h2{margin:0 0 8px}
.soon p{color:var(--muted)}
