*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:14px}
:root{
  --bg:#080c14;--bg2:#0d1520;--bg3:#111b2a;--bg4:#162032;
  --border:rgba(255,255,255,0.07);--bord2:rgba(255,255,255,0.12);
  --text:#e8edf5;--muted:#6b7a8f;--muted2:#3a4556;
  --green:#00e5a0;--green2:#00b87a;--gbg:rgba(0,229,160,0.08);
  --red:#ff4d6d;--red2:#cc2244;--rbg:rgba(255,77,109,0.08);
  --blue:#4d9fff;--blue2:#2277dd;
  --amber:#ffbb44;--amber2:#cc8822;
  --purple:#a78bfa;--cyan:#22d3ee;
  --mono:'JetBrains Mono',monospace;--head:'Syne',sans-serif;
  --r:10px;--rs:6px;
}
body{background:var(--bg);color:var(--text);font-family:var(--mono);font-size:13px;line-height:1.5;min-height:100vh}

/* HEADER */
.header{background:var(--bg2);border-bottom:1px solid var(--border);padding:10px 20px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:100}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,#4d9fff,#a78bfa);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff}
.logo-text{font-family:var(--head);font-size:15px;font-weight:700}
.logo-sub{font-size:10px;color:var(--muted);letter-spacing:.05em}
.header-center{flex:1;display:flex;align-items:center;justify-content:center;gap:0}
.header-metric{display:flex;flex-direction:column;align-items:center;padding:0 14px}
.hm-label{font-size:9px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.hm-value{font-family:var(--head);font-size:14px;font-weight:600;color:var(--text)}
.hm-value.green{color:var(--green)}.hm-value.red{color:var(--red)}.hm-value.blue{color:var(--blue)}.hm-value.amber{color:var(--amber)}
.hm-signal{font-size:12px;font-weight:600}
.hm-signal.sig-green{color:var(--green)}.hm-signal.sig-yellow{color:var(--amber)}.hm-signal.sig-red{color:var(--red)}
.header-sep{width:1px;height:28px;background:var(--border)}
.header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.status-wrap{display:flex;align-items:center;gap:5px}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--muted2);transition:background .3s,box-shadow .3s}
.status-dot.online{background:var(--green);box-shadow:0 0 6px var(--green);animation:pulse 2s infinite}
.status-dot.error{background:var(--red)}
.status-text{font-size:11px;color:var(--muted)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.wallet-form{display:flex;gap:5px}
.wallet-input{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rs);color:var(--text);font-family:var(--mono);font-size:11px;padding:5px 10px;width:220px;outline:none;transition:border-color .15s}
.wallet-input:focus{border-color:var(--blue2)}
.wallet-input::placeholder{color:var(--muted2)}
.btn-load{background:var(--blue2);border:none;border-radius:var(--rs);color:#fff;font-family:var(--mono);font-size:11px;padding:5px 12px;cursor:pointer;transition:background .15s}
.btn-load:hover{background:var(--blue)}
.btn-refresh{background:var(--bg3);border:1px solid var(--bord2);border-radius:var(--rs);color:var(--muted);font-size:15px;width:30px;height:30px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}
.btn-refresh:hover{color:var(--text);border-color:var(--blue2)}
.btn-refresh.spin{animation:spinR .7s linear infinite}
@keyframes spinR{to{transform:rotate(360deg)}}

/* MAIN */
.main{padding:14px 20px;max-width:1400px;margin:0 auto}

/* STATS */
.stats-section{margin-bottom:12px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.stats-grid.top{margin-bottom:8px}
.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;position:relative;overflow:hidden;transition:border-color .15s}
.stat-card:hover{border-color:var(--bord2)}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.accent-green::before{background:linear-gradient(90deg,var(--green),transparent)}
.accent-red::before{background:linear-gradient(90deg,var(--red),transparent)}
.accent-blue::before{background:linear-gradient(90deg,var(--blue),transparent)}
.accent-amber::before{background:linear-gradient(90deg,var(--amber),transparent)}
.accent-purple::before{background:linear-gradient(90deg,var(--purple),transparent)}
.accent-cyan::before{background:linear-gradient(90deg,var(--cyan),transparent)}
.stat-label{font-size:9px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}
.stat-value{font-family:var(--head);font-size:20px;font-weight:600}
.stat-value.green{color:var(--green)}.stat-value.red{color:var(--red)}.stat-value.blue{color:var(--blue)}.stat-value.amber{color:var(--amber)}.stat-value.purple{color:var(--purple)}
.stat-sub{font-size:10px;color:var(--muted);margin-top:2px}

/* EV CARD */
.ev-value{font-family:var(--head);font-size:22px;font-weight:700;margin-bottom:4px}
.ev-value.green{color:var(--green)}.ev-value.red{color:var(--red)}
.ev-row{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}
.ev-item .green{color:var(--green)}.ev-item .red{color:var(--red)}
.ev-sep{color:var(--muted2)}

/* STREAK ROW */
.streak-row{display:flex;gap:8px;margin-top:8px}
.streak-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:12px 16px;flex:1}
.streak-label{font-size:9px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.streak-val{font-family:var(--head);font-size:28px;font-weight:700}
.streak-val.green{color:var(--green)}.streak-val.red{color:var(--red)}
.streak-cur{font-family:var(--head);font-size:22px;font-weight:700}
.streak-cur.green{color:var(--green)}.streak-cur.red{color:var(--red)}
.streak-tape-card{flex:3}
.streak-tape{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.tape-dot{width:18px;height:18px;border-radius:4px;display:inline-block}
.tape-dot.win{background:var(--green2)}
.tape-dot.loss{background:var(--red2)}
.streak-signal-card{flex:2}
.strategy-signal{font-size:15px;font-weight:600;margin-bottom:4px}
.strategy-signal.sig-green{color:var(--green)}.strategy-signal.sig-yellow{color:var(--amber)}.strategy-signal.sig-red{color:var(--red)}
.strategy-hint{font-size:11px;color:var(--muted);line-height:1.4}

/* CHARTS */
.charts-section{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:14px}
.chart-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px}
.chart-title{font-size:9px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.chart-wrap{position:relative}

/* TRADES */
.trades-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.section-title{font-family:var(--head);font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}
.dot{width:6px;height:6px;border-radius:50%;background:var(--blue);display:inline-block}
.trades-controls{display:flex;align-items:center;gap:8px}
.filter-tabs{display:flex;gap:4px}
.ftab{padding:5px 12px;border-radius:var(--rs);font-family:var(--mono);font-size:11px;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--muted);transition:all .15s}
.ftab:hover{color:var(--text)}
.ftab.active{background:var(--bg3);border-color:var(--bord2);color:var(--text)}
.ftab.win.active{color:var(--green);border-color:var(--green2);background:var(--gbg)}
.ftab.loss.active{color:var(--red);border-color:var(--red2);background:var(--rbg)}
.ftab.open.active{color:var(--blue);border-color:var(--blue2);background:rgba(77,159,255,.08)}
.sort-select{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rs);color:var(--muted);font-family:var(--mono);font-size:11px;padding:5px 10px;outline:none;cursor:pointer}

/* TRADE CARD */
.trade-list{display:flex;flex-direction:column;gap:6px}
.trade-card{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--muted2);border-radius:var(--r);overflow:hidden;transition:border-color .15s;animation:fadeUp .2s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.trade-card:hover{border-color:var(--bord2)}
.trade-card.win{border-left-color:var(--green2)}.trade-card.loss{border-left-color:var(--red2)}.trade-card.open{border-left-color:var(--blue2)}
.trade-main{padding:12px 16px 8px}
.trade-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px}
.trade-left{display:flex;align-items:center;gap:10px;flex:1;flex-wrap:wrap}
.tbadge{font-size:11px;font-weight:700;letter-spacing:.08em;padding:4px 12px;border-radius:5px;flex-shrink:0}
.tbadge.win{background:var(--gbg);color:var(--green);border:1px solid rgba(0,229,160,.25)}
.tbadge.loss{background:var(--rbg);color:var(--red);border:1px solid rgba(255,77,109,.25)}
.tbadge.open{background:rgba(77,159,255,.1);color:var(--blue);border:1px solid rgba(77,159,255,.25)}
.outcome-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px;letter-spacing:.05em}
.outcome-up{background:rgba(0,229,160,.1);color:var(--green);border:1px solid rgba(0,229,160,.2)}
.outcome-down{background:rgba(255,77,109,.08);color:var(--red);border:1px solid rgba(255,77,109,.2)}
.trade-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.trade-size{font-family:var(--head);font-size:15px;font-weight:600;color:var(--text)}
.trade-shares{font-size:12px;color:var(--blue)}
.trade-date{font-size:11px;color:var(--muted2)}
.trade-et{font-size:11px;color:var(--cyan);background:rgba(34,211,238,.08);border:1px solid rgba(34,211,238,.2);border-radius:4px;padding:2px 7px}
.trade-pnl{text-align:right;flex-shrink:0}
.pnl-val{font-family:var(--head);font-size:20px;font-weight:700}
.pnl-val.pos{color:var(--green)}.pnl-val.neg{color:var(--red)}.pnl-val.neu{color:var(--blue)}
.pnl-total{font-size:11px;color:var(--muted);margin-top:1px}
.trade-market-name{font-size:12px;color:var(--muted);margin-bottom:7px}
.indicators{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:2px}
.tag{font-size:11px;padding:3px 9px;border-radius:5px;border:1px solid;font-family:var(--mono);font-weight:500}
.tag-entry{background:var(--gbg);color:var(--green);border-color:rgba(0,229,160,.25)}
.tag-exit{background:rgba(255,255,255,.05);color:var(--text);border-color:var(--bord2)}
.tag-atr{background:rgba(167,139,250,.1);color:var(--purple);border-color:rgba(167,139,250,.25)}
.tag-atr-bad{background:var(--rbg);color:var(--red);border-color:rgba(255,77,109,.25)}
.tag-time{background:rgba(77,159,255,.1);color:var(--blue);border-color:rgba(77,159,255,.25)}
.tag-rsi{background:rgba(255,187,68,.1);color:var(--amber);border-color:rgba(255,187,68,.25)}
.tag-rsi-ob{background:var(--rbg);color:var(--red);border-color:rgba(255,77,109,.25)}
.tag-rsi-os{background:rgba(77,159,255,.1);color:var(--blue);border-color:rgba(77,159,255,.25)}
.tag-macd-p{background:var(--gbg);color:var(--green);border-color:rgba(0,229,160,.25)}
.tag-macd-n{background:var(--rbg);color:var(--red);border-color:rgba(255,77,109,.25)}
.tag-btc{background:rgba(255,187,68,.08);color:var(--amber);border-color:rgba(255,187,68,.2)}
.trade-comment-row{border-top:1px solid var(--border);padding:7px 16px}
.comment-toggle{font-size:10px;color:var(--muted);cursor:pointer;display:inline-block}
.comment-toggle:hover{color:var(--text)}
.comment-area{display:none;flex-direction:row;gap:6px;margin-top:6px}
.comment-area.open{display:flex}
.comment-inp{flex:1;background:var(--bg3);border:1px solid var(--border);border-radius:var(--rs);color:var(--text);font-family:var(--mono);font-size:11px;padding:4px 9px;outline:none;transition:border-color .15s}
.comment-inp:focus{border-color:var(--blue2)}
.btn-s{background:var(--bg3);border:1px solid var(--bord2);border-radius:var(--rs);color:var(--muted);font-family:var(--mono);font-size:11px;padding:4px 10px;cursor:pointer;transition:all .15s}
.btn-s.save:hover{border-color:var(--green2);color:var(--green)}.btn-s.del:hover{border-color:var(--red2);color:var(--red)}

/* PAGINATION */
.pagination{display:flex;justify-content:center;gap:5px;margin-top:10px}
.pg-btn{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rs);color:var(--muted);font-family:var(--mono);font-size:11px;padding:4px 10px;cursor:pointer;transition:all .15s}
.pg-btn:hover,.pg-btn.active{background:var(--bg4);color:var(--text);border-color:var(--bord2)}

/* EMPTY */
.empty-state{text-align:center;padding:50px 20px;color:var(--muted)}
.empty-icon{font-size:32px;margin-bottom:12px;opacity:.3}
.empty-text{font-family:var(--head);font-size:16px;margin-bottom:5px}
.empty-sub{font-size:12px}

/* TOAST */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--bg3);border:1px solid var(--bord2);border-radius:var(--r);padding:8px 18px;font-size:12px;color:var(--text);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:999}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.ok{border-color:var(--green2);color:var(--green)}.toast.err{border-color:var(--red2);color:var(--red)}

/* LOADER */
#loader{position:fixed;inset:0;background:rgba(8,12,20,.85);display:none;align-items:center;justify-content:center;z-index:1000}
.loader-box{background:var(--bg2);border:1px solid var(--bord2);border-radius:var(--r);padding:28px 36px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.loader-spinner{width:28px;height:28px;border:2px solid var(--bord2);border-top-color:var(--blue);border-radius:50%;animation:spinR .8s linear infinite}
.loader-msg{font-size:12px;color:var(--muted)}

/* RESPONSIVE */
@media(max-width:1100px){.header-center{display:none}}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}.charts-section{grid-template-columns:1fr 1fr}.chart-card.wide{grid-column:span 2}.streak-row{flex-wrap:wrap}}
@media(max-width:600px){.charts-section{grid-template-columns:1fr}.chart-card.wide{grid-column:span 1}}

/* HEADER — только BTC */
.header-center{flex:1;display:flex;align-items:center;justify-content:center}
.btc-block{display:flex;align-items:center;gap:10px}
.btc-label{font-size:11px;color:var(--muted);letter-spacing:.1em}
.btc-price{font-family:var(--head);font-size:18px;font-weight:700;color:var(--amber)}

/* TAPE */
.streak-tape{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0 4px}
.tape-dot{width:16px;height:16px;border-radius:3px;display:inline-block;flex-shrink:0}
.tape-dot.win{background:var(--green2)}.tape-dot.loss{background:var(--red2)}
.tape-legend{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--muted)}

/* UP/DOWN */
.updown-card{flex:2}
.updown-grid{display:flex;align-items:stretch;gap:0;height:100%;margin-top:6px}
.updown-col{flex:1;display:flex;flex-direction:column;gap:4px}
.updown-divider{width:1px;background:var(--border);margin:0 14px}
.updown-label{font-size:12px;font-weight:600;margin-bottom:2px}
.updown-label.up{color:var(--green)}.updown-label.down{color:var(--red)}
.updown-val{font-family:var(--head);font-size:20px;font-weight:700;color:var(--text)}
.updown-sub{font-size:10px;color:var(--muted)}
.updown-pnl{font-size:12px;font-weight:600;margin-top:2px}
.updown-pnl.green{color:var(--green)}.updown-pnl.red{color:var(--red)}

/* ── AI BUTTONS ───────────────────────────────────────── */
.ai-btns{display:flex;gap:5px}
.btn-ai-main{
  background:linear-gradient(135deg,rgba(167,139,250,.15),rgba(77,159,255,.15));
  border:1px solid rgba(167,139,250,.3);
  border-radius:var(--rs);color:var(--purple);
  font-family:var(--mono);font-size:11px;font-weight:500;
  padding:5px 12px;cursor:pointer;transition:all .15s;
  letter-spacing:.02em;
}
.btn-ai-main:hover{background:linear-gradient(135deg,rgba(167,139,250,.25),rgba(77,159,255,.25));border-color:var(--purple);color:#fff}

.trade-comment-top{display:flex;align-items:center;justify-content:space-between}
.btn-ai{
  background:rgba(167,139,250,.1);
  border:1px solid rgba(167,139,250,.2);
  border-radius:var(--rs);color:var(--purple);
  font-family:var(--mono);font-size:10px;font-weight:500;
  padding:3px 9px;cursor:pointer;transition:all .15s;
}
.btn-ai:hover{background:rgba(167,139,250,.2);border-color:var(--purple);color:#fff}

/* ── EXPORT DROPDOWN ──────────────────────────────────── */
.export-wrap{position:relative}
.btn-export{
  background:var(--bg3);border:1px solid var(--bord2);
  border-radius:var(--rs);color:var(--text);
  font-family:var(--mono);font-size:11px;font-weight:500;
  padding:5px 14px;cursor:pointer;transition:all .15s;
}
.btn-export:hover{border-color:var(--blue2);color:var(--blue)}
.export-menu{
  position:absolute;right:0;top:calc(100% + 6px);
  background:var(--bg3);border:1px solid var(--bord2);
  border-radius:var(--r);padding:10px;
  min-width:160px;z-index:200;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.export-menu button{
  display:block;width:100%;text-align:left;
  background:transparent;border:none;
  color:var(--muted);font-family:var(--mono);font-size:11px;
  padding:5px 8px;cursor:pointer;border-radius:4px;
  transition:all .15s;
}
.export-menu button:hover{background:var(--bg4);color:var(--text)}
.export-section-label{
  font-size:9px;color:var(--muted2);letter-spacing:.1em;
  text-transform:uppercase;padding:2px 8px 4px;
}

/* ── VOLUME STATS BLOCK ───────────────────────────────── */
.vol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:4px 0;height:100%}
.vol-item{display:flex;flex-direction:column;gap:2px}
.vol-label{font-size:9px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.vol-val{font-family:var(--head);font-size:16px;font-weight:600;color:var(--text)}
.vol-val.green{color:var(--green)}.vol-val.red{color:var(--red)}.vol-val.blue{color:var(--blue)}.vol-val.amber{color:var(--amber)}
.vol-sub{font-size:10px;color:var(--muted2)}

/* ── GLOBAL NAV (все страницы) ───────────────────────────── */
.nav-tabs{display:flex;gap:3px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:3px}
.nav-tab{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);text-decoration:none;padding:5px 14px;border-radius:6px;border:none;transition:all .15s;white-space:nowrap;letter-spacing:.02em}
.nav-tab:hover{color:var(--text);background:rgba(255,255,255,.05)}
.nav-tab.active{color:#fff;background:var(--blue2);box-shadow:0 1px 4px rgba(0,0,0,.3)}
.header-center{flex:1;display:flex;align-items:center;justify-content:center;gap:16px}
.btc-block{display:flex;align-items:center;gap:8px}
.btc-label{font-size:11px;color:var(--muted);letter-spacing:.05em}
.btc-price{font-family:var(--head);font-size:20px;font-weight:700;color:var(--amber)}


.coin-switch{display:flex;gap:1px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:2px}
.filter-sep{width:1px;height:20px;background:rgba(255,255,255,.07);margin:0 4px;align-self:center}

/* ── COIN SWITCH — 7 монет ────────────────────────────────── */
.coin-switch{display:flex;gap:1px;flex-wrap:wrap;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:2px}
.filter-sep{width:1px;height:20px;background:rgba(255,255,255,.07);margin:0 4px;align-self:center;flex-shrink:0}
