:root{
  --bg:#0c1220; --card:#121a2c; --card2:#0e1626; --line:#22304a;
  --txt:#e8edf5; --mut:#8b98ad; --acc:#3b82f6; --up:#16a34a; --dn:#dc2626;
  --gold:#b98a1d; --r:12px;
}
*{box-sizing:border-box}
body{margin:0;color:var(--txt);font-family:Inter,"Segoe UI",system-ui,-apple-system,Roboto,"Noto Sans",sans-serif;
  background:var(--bg);min-height:100vh}
.num,.kpi .v,td{font-variant-numeric:tabular-nums}
/* nav */
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:18px;
  padding:11px 20px;background:#0a101d;border-bottom:1px solid var(--line)}
.nav b{font-size:16px;letter-spacing:1.5px}
.nav b::after{content:"NEO";color:var(--acc);font-weight:400;margin-left:6px;font-size:12px;letter-spacing:3px}
.nav a{color:var(--mut);text-decoration:none;font-size:14px}
.nav a:hover{color:var(--txt)}
.nav #st{margin-left:auto;font-size:12px;color:var(--mut);border:1px solid var(--line);
  padding:4px 12px;border-radius:20px)}
/* strip */
.strip{overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--line);
  background:#0a101d;
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.strip-track{display:inline-block;padding:8px 0;animation:strip 45s linear infinite}
@keyframes strip{to{transform:translateX(-50%)}}
.stk{display:inline-block;margin:0 18px;font-size:13px;color:var(--mut)}
/* hero */
.wrap{max-width:1000px;margin:0 auto;padding:16px 16px 60px}
.hero{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;
  border-radius:var(--r);padding:18px 20px;margin:14px 0;background:var(--card);border:1px solid var(--line)}
.hero .lab{font-size:11.5px;text-transform:uppercase;letter-spacing:2px;color:var(--mut)}
.hero .big{font-size:44px;font-weight:750;line-height:1.1;margin:2px 0}
.hero .big.up{color:var(--up)} .hero .big.dn{color:var(--dn)}
.hero .sub{color:var(--mut);font-size:13.5px}
.ring{width:96px;height:96px;position:relative}
.ring svg{transform:rotate(-90deg)}
.ring .pct{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring .pct b{font-size:19px}
.ring .pct span{font-size:9.5px;color:var(--mut);letter-spacing:1px}
/* kpis */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.kpi{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--acc);
  border-radius:var(--r);padding:12px 14px}
.kpi.g{border-left-color:var(--up)} .kpi.r{border-left-color:var(--dn)} .kpi.y{border-left-color:var(--gold)}
.kpi .l{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--mut)}
.kpi .v{font-size:26px;font-weight:700;margin:3px 0 0}
.kpi .v.small{font-size:18px}
.kpi .s{font-size:12.5px;color:var(--mut);margin-top:2px}
.up{color:var(--up)} .dn{color:var(--dn)}
/* sections/cards */
.sect{font-size:12px;text-transform:uppercase;letter-spacing:1.8px;color:var(--mut);margin:22px 4px 8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;margin:10px 0}
.card h3{margin:2px 0 8px;font-size:15.5px}
.card.auto{border-left:3px solid var(--gold)}
.note{font-size:14.5px;margin:6px 0;line-height:1.55}
.hint{font-size:12.5px;color:var(--mut)}
/* table */
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden}
th,td{padding:10px 12px;text-align:left;font-size:14px}
th{background:#0e1626;color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:1px}
tbody tr{border-top:1px solid var(--line)}
tbody tr:hover{background:rgba(59,130,246,.06)}
.csym{font-weight:700;font-size:14.5px}
.csub{font-size:11px;color:var(--mut);margin-left:4px}
/* alist */
.alist{list-style:none;padding:0;margin:0}
.alist li{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--acc);
  border-radius:10px;padding:9px 13px;margin-bottom:7px;font-size:13.5px;line-height:1.5}
.alist li:has(.e-r){border-left-color:var(--dn)}
.alist li:has(.e-g){border-left-color:var(--up)}
.alist .t{color:var(--mut);font-size:12px;margin-right:8px}
.chip{display:inline-block;background:rgba(220,38,38,.12);color:#f08a88;border:1px solid rgba(220,38,38,.3);
  border-radius:20px;padding:3px 11px;font-size:12px;margin:2px 5px 2px 0}
canvas.eq{width:100%;height:110px;display:block}
/* forms */
label{display:block;margin:10px 0;font-size:14px}
input,select{background:#0a1220;border:1px solid var(--line);color:var(--txt);
  padding:9px 12px;border-radius:9px;font-size:14px;min-width:210px;margin-top:4px}
input:focus,select:focus{outline:none;border-color:var(--acc)}
input[type=checkbox]{min-width:0;width:16px;height:16px;accent-color:var(--acc)}
button{background:var(--acc);color:#fff;border:0;border-radius:9px;
  padding:10px 26px;font-size:14.5px;font-weight:650;margin-top:10px;cursor:pointer}
button:hover{filter:brightness(1.1)}
/* login */
.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;max-width:1020px;margin:0 auto}
.login-art{display:flex;flex-direction:column;justify-content:center;padding:56px;border-right:1px solid var(--line)}
.login-art h1{font-size:38px;margin:0;line-height:1.2;font-weight:750}
.login-art h1 span{color:var(--acc)}
.login-art p{color:var(--mut);line-height:1.7;font-size:14.5px}
.login-side{display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{width:350px;max-width:94vw;background:var(--card);
  border:1px solid var(--line);border-radius:16px;padding:30px 26px}
.login-card .cap{font-size:34px;text-align:center}
.login-card .logo{font-size:22px;font-weight:800;letter-spacing:2px;text-align:center}
.login-card .logo span{color:var(--acc);font-weight:400}
.login-card .sub{color:var(--mut);font-size:13px;margin:6px 0 18px;text-align:center}
.login-card input{width:100%;margin:0 0 11px}
.login-card button{width:100%}
/* mobile */
@media (max-width:760px){
  .login-wrap{grid-template-columns:1fr}
  .login-art{padding:34px 24px 6px;border-right:0;text-align:center}
  .login-art h1{font-size:28px}
}
@media (max-width:640px){
  .wrap{padding:12px 10px 50px}
  .nav{flex-wrap:wrap;gap:10px;padding:10px 12px}
  .nav #st{margin-left:0;width:100%}
  .hero{grid-template-columns:1fr auto;padding:14px 15px;gap:8px}
  .hero .big{font-size:32px}
  .hero .sub{font-size:12.5px}
  .ring{width:72px;height:72px}
  .ring .pct b{font-size:15px}
  .ring svg{width:72px;height:72px}
  .kpis{grid-template-columns:1fr 1fr;gap:8px}
  .kpi{padding:10px 12px}
  .kpi .v{font-size:20px}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  th,td{padding:7px 6px;font-size:12px;white-space:nowrap}
  td.num{font-size:11.5px}
  .csym{font-size:13px}
  .alist li{font-size:13px}
  input,select{min-width:0;width:100%}
  label input,label select{margin-left:0}
}

.rcard{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--acc);
  border-radius:12px;padding:12px 14px;margin-bottom:10px}
.rcard.win{border-left-color:var(--up);background:linear-gradient(90deg,rgba(22,163,74,.10),var(--card) 55%)}
.rcard.loss{border-left-color:var(--dn);background:linear-gradient(90deg,rgba(220,38,38,.10),var(--card) 55%)}
.rcard .top{display:flex;align-items:center;gap:10px}
.rcard .pnl{margin-left:auto;font-size:22px;font-weight:800}
.rcard .mid{font-size:13px;color:var(--mut);margin-top:6px;line-height:1.6}
.rcard .why{font-size:12.5px;color:var(--mut);margin-top:4px}
.empty{background:var(--card);border:1px dashed var(--line);border-radius:12px;padding:14px;
  color:var(--mut);font-size:14px;text-align:center}
