:root{--bg:#07090c;--panel:#0d1117;--panel2:#111720;--line:#1c2430;--txt:#d6dde6;--mut:#6b7787;--g:#14f195;--r:#ff4d6d;--y:#f5c542;--b:#4cc9f0;--p:#9945ff}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--txt);font:14px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}
a{color:var(--b);text-decoration:none}a:hover{text-decoration:underline}
.muted{color:var(--mut)}.small{font-size:12px}.pos{color:var(--g)}.neg{color:var(--r)}.r{text-align:right}
.top{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 16px;background:rgba(7,9,12,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.brand{font-weight:700;letter-spacing:.08em;display:flex;align-items:center;gap:8px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--mut);display:inline-block}
.dot.live{background:var(--g);box-shadow:0 0 10px var(--g);animation:pulse 2s infinite}.dot.bad{background:var(--r);box-shadow:0 0 10px var(--r)}
@keyframes pulse{50%{opacity:.4}}
.badges{display:flex;flex-wrap:wrap;gap:6px}
.badge{padding:3px 8px;border:1px solid var(--line);border-radius:4px;font-size:11px;letter-spacing:.06em;background:var(--panel)}
.badge.g{color:var(--g);border-color:rgba(20,241,149,.35)}.badge.r{color:var(--r);border-color:rgba(255,77,109,.4)}.badge.y{color:var(--y);border-color:rgba(245,197,66,.4)}.badge.b{color:var(--b);border-color:rgba(76,201,240,.35)}
.right{display:flex;gap:10px;align-items:center}
button{font:inherit;cursor:pointer;border-radius:4px}
button.ghost{background:transparent;color:var(--mut);border:1px solid var(--line);padding:4px 10px;font-size:11px}button.ghost:hover{color:var(--txt)}
main{max-width:1400px;margin:0 auto;padding:14px 16px 30px;display:flex;flex-direction:column;gap:14px}
.card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:8px;padding:12px 14px;min-width:0}
.ch{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;letter-spacing:.08em;margin-bottom:10px;color:#aeb8c4;gap:8px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kpi .lbl{font-size:11px;letter-spacing:.1em;color:var(--mut)}.kpi .val{font-size:26px;font-weight:700;margin:4px 0 2px;white-space:nowrap}.kpi .sub{font-size:12px;color:var(--mut)}
.bar{height:6px;background:#1a212b;border-radius:3px;overflow:hidden;margin:6px 0 4px}.bar>div{height:100%;width:0;background:var(--y);transition:width .4s}
.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:14px}
canvas{width:100%;display:block}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{font-size:11px;letter-spacing:.08em;color:var(--mut);text-align:left;font-weight:500;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:7px 8px;border-bottom:1px solid #151b24;white-space:nowrap}
tr:hover td{background:rgba(255,255,255,.02)}
td.reason{white-space:normal;color:#9aa6b4;font-size:12px;min-width:200px;max-width:420px}
.side{font-weight:700;font-size:11px;padding:2px 6px;border-radius:3px}
.side.BUY{color:var(--b);background:rgba(76,201,240,.1)}.side.SELL{color:var(--p);background:rgba(153,69,255,.12)}.side.SELL_PARTIAL{color:var(--y);background:rgba(245,197,66,.1)}
.empty{color:var(--mut);padding:18px 4px;text-align:center}
.settings{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 18px;font-size:12px}
.settings h4{grid-column:1/-1;margin:8px 0 2px;font-size:11px;letter-spacing:.1em;color:var(--b);font-weight:600}
.settings .kv{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed #18202a;padding:2px 0}
.settings .kv span:first-child{color:var(--mut);overflow:hidden;text-overflow:ellipsis}
.log{margin:0;max-height:300px;overflow:auto;font-size:11px;color:#8d99a8;white-space:pre-wrap;word-break:break-all}
footer{text-align:center;padding-top:6px}
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.login-card{width:100%;max-width:340px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:12px}
.login-card input{font:inherit;font-size:20px;letter-spacing:.3em;padding:10px 12px;background:#05070a;border:1px solid var(--line);border-radius:6px;color:var(--txt);outline:none}
.login-card input:focus{border-color:var(--g)}
.login-card button{padding:10px;background:var(--g);color:#04110b;border:0;font-weight:700;letter-spacing:.1em}
.msg{min-height:18px;color:var(--r);font-size:12px}.foot{margin-top:6px}
@media (max-width:1000px){.kpis{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}}
@media (max-width:520px){.top{position:static}main{padding:10px}.kpis{gap:10px}.kpi .val{font-size:20px}.card{padding:10px}.top{padding:8px 10px}.right .small{display:none}}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.agent{border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:rgba(0,0,0,.18);display:flex;flex-direction:column;gap:4px;min-width:0}
.agent .an{font-weight:700;display:flex;align-items:center;gap:8px;justify-content:space-between}
.agent .ar{font-size:12px;color:#9aa6b4}
.agent .as{font-size:12px;color:var(--mut);word-break:break-word}
.agent .as b{color:var(--txt);font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.chip{font-size:11px;padding:1px 6px;border-radius:3px;background:rgba(76,201,240,.1);color:var(--b)}
.chk{display:flex;justify-content:space-between;gap:6px;font-size:12px;border-bottom:1px dashed #18202a;padding:1px 0}.chk span:last-child{color:var(--mut);text-align:right}
.fkpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:6px}
.fk{border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:rgba(0,0,0,.18)}
.fk .lbl{font-size:11px;letter-spacing:.08em;color:var(--mut)}.fk .val{font-size:22px;font-weight:700;margin:2px 0}.fk .sub{font-size:12px;color:var(--mut)}
.fh{font-size:11px;letter-spacing:.1em;color:var(--b);margin:12px 0 4px}
.trend{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tc{border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:12px;background:rgba(0,0,0,.18)}
.tc h5{margin:0 0 4px;font-size:13px}.tc .sig{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.side.long{color:var(--g);background:rgba(20,241,149,.1)}.side.short{color:var(--r);background:rgba(255,77,109,.1)}.side.flat{color:var(--mut);background:rgba(255,255,255,.04)}
@media (max-width:1000px){.trend{grid-template-columns:1fr}}
@media (max-width:520px){.fkpis{grid-template-columns:1fr}.fk .val{font-size:18px}}
.chk{flex-direction:column;gap:0}.chk span:last-child{text-align:left;padding-left:14px;font-size:11px}
.scrollbox{max-height:720px;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid #151b24;border-radius:6px}
.scrollbox thead th{position:sticky;top:0;z-index:2;background:var(--panel2)}
.scrollbox td.reason{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}
@media (max-width:520px){.scrollbox td.reason{max-width:260px}}
