.trade-hero { background: linear-gradient(135deg, #0f172a, #1e293b); color: #fff; padding: 28px 20px 20px; text-align: center; }
.trade-hero .hero-icon { width: 60px; height: 60px; border-radius: 18px; background: linear-gradient(135deg,#a855f7,#10b981); display: inline-flex; align-items: center; justify-content: center; font-size: 26px; margin-bottom: 12px; }
.trade-hero h1 { font-size: 22px; font-weight: 800; margin-bottom: 4px; }
.trade-hero p { font-size: 13px; opacity: .75; margin-bottom: 14px; }
.account-strip { display: flex; justify-content: center; gap: 24px; background: rgba(255,255,255,.08); border-radius: 14px; padding: 12px 20px; }
.acct-item { text-align: center; }
.acct-val { display: block; font-size: 16px; font-weight: 800; color: #10b981; }
.acct-lbl { font-size: 11px; opacity: .6; }
.section-hdr { font-size: 14px; font-weight: 700; padding: 16px 16px 8px; color: var(--text); display: flex; align-items: center; gap: 8px; }
.section-hdr i { color: var(--purple); }
.terminal-card { background: var(--card-bg); border-radius: 20px; margin: 16px; padding: 18px; border: 1px solid var(--border); }
.terminal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; font-weight: 700; font-size: 14px; }
.btn-reset-demo { font-size: 12px; background: transparent; border: 1px solid var(--border); border-radius: 8px; padding: 5px 12px; cursor: pointer; color: var(--muted); }
.terminal-form .form-row { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.terminal-form .form-group { flex: 1; min-width: 100px; }
.terminal-form label { font-size: 12px; color: var(--muted); margin-bottom: 4px; display: block; }
.dir-btns { display: flex; gap: 6px; }
.btn-buy { flex:1; padding:10px; border:none; border-radius:10px; background:#334155; color:#10b981; font-weight:800; cursor:pointer; }
.btn-sell { flex:1; padding:10px; border:none; border-radius:10px; background:#334155; color:#ef4444; font-weight:800; cursor:pointer; }
.btn-buy.active { background: rgba(16,185,129,.2); border: 1.5px solid #10b981; }
.btn-sell.active { background: rgba(239,68,68,.15); border: 1.5px solid #ef4444; }
.quote-display { background: #0f172a; border-radius: 12px; padding: 14px; text-align: center; margin: 10px 0; display: flex; align-items: center; justify-content: center; gap: 20px; }
.q-bid { font-size: 20px; font-weight: 900; color: #ef4444; }
.q-ask { font-size: 20px; font-weight: 900; color: #10b981; }
.q-label { font-size: 11px; color: #64748b; }
.position-card { background: var(--card-bg); border-radius: 14px; padding: 14px 16px; margin: 0 16px 8px; border: 1px solid var(--border); }
.pos-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.pos-symbol { font-weight: 800; font-size: 15px; }
.badge-buy { background: rgba(16,185,129,.15); color:#10b981; font-size:11px; font-weight:700; padding:3px 10px; border-radius:10px; }
.badge-sell { background: rgba(239,68,68,.12); color:#ef4444; font-size:11px; font-weight:700; padding:3px 10px; border-radius:10px; }
.pos-meta { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.pos-pnl { font-size: 16px; font-weight: 800; }
.pos-pnl.profit { color: #10b981; }
.pos-pnl.loss { color: #ef4444; }
.btn-close-pos { padding: 7px 16px; border: none; border-radius: 10px; background: linear-gradient(135deg,#a855f7,#10b981); color:#fff; font-size:13px; font-weight:700; cursor:pointer; }
.history-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--border); }
.history-row:last-child { border: none; }
.h-sym { font-weight: 700; font-size: 13px; }
.h-meta { font-size: 11px; color: var(--muted); }
.h-pnl { font-weight: 800; font-size: 14px; }
.h-pnl.profit { color: #10b981; }
.h-pnl.loss { color: #ef4444; }
.history-wrap { background: var(--card-bg); border-radius: 14px; margin: 0 16px 16px; border: 1px solid var(--border); overflow: hidden; }
.signals-header { display: flex; justify-content: space-between; align-items: flex-start; padding: 16px 16px 8px; }
.signals-header h3 { font-size: 16px; font-weight: 800; margin-bottom: 2px; }
.signals-sub { font-size: 12px; color: var(--muted); }
.btn-refresh { padding: 8px 14px; border: 1px solid var(--border); border-radius: 10px; background: transparent; font-size: 13px; cursor: pointer; color: var(--purple); font-weight: 700; }
.premium-teaser-bar { background: rgba(168,85,247,.1); border: 1px solid rgba(168,85,247,.3); border-radius: 12px; margin: 0 16px 12px; padding: 10px 14px; font-size: 13px; display: flex; align-items: center; gap: 8px; }
.premium-teaser-bar a { color: var(--purple); font-weight: 700; }
.signal-card { background: var(--card-bg); border-radius: 16px; padding: 16px; margin: 0 16px 10px; border: 1px solid var(--border); }
.signal-card.locked { opacity: .55; filter: blur(1px); pointer-events: none; }
.signal-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.signal-sym { font-size: 17px; font-weight: 900; }
.signal-levels { display: flex; gap: 14px; font-size: 12px; color: var(--muted); margin-bottom: 10px; }
.signal-levels span strong { color: var(--text); font-size: 13px; }
.confidence-row { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--muted); }
.confidence-bar { flex: 1; height: 6px; background: var(--border); border-radius: 3px; overflow: hidden; }
.confidence-fill { height: 100%; border-radius: 3px; background: linear-gradient(90deg,#a855f7,#10b981); }
.signal-reason { font-size: 11px; color: var(--muted); margin-top: 6px; font-style: italic; }
.watchlist-add { display: flex; gap: 10px; padding: 16px; }
.watchlist-add select { flex: 1; }
.btn-add-watch { padding: 10px 16px; border: none; border-radius: 12px; background: linear-gradient(135deg,#a855f7,#10b981); color:#fff; font-weight:700; cursor:pointer; font-size:13px; }
.watchlist-grid { display: flex; flex-direction: column; gap: 8px; padding: 0 16px 80px; }
.watch-card { background: var(--card-bg); border-radius: 14px; padding: 14px 16px; border: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; }
.watch-sym { font-weight: 800; font-size: 15px; }
.watch-rate { font-size: 14px; color: var(--muted); }
.watch-change { font-size: 13px; font-weight: 700; }
.watch-change.up { color: #10b981; }
.watch-change.down { color: #ef4444; }
.btn-rm-watch { background: transparent; border: none; color: var(--muted); cursor: pointer; font-size: 14px; padding: 4px 8px; }
.progress-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 16px 8px; }
.prog-title { font-size: 15px; font-weight: 800; }
.prog-badge { font-size: 12px; background: rgba(168,85,247,.15); color: var(--purple); padding: 4px 12px; border-radius: 20px; font-weight: 700; }
.lesson-grid { display: flex; flex-direction: column; gap: 8px; padding: 0 16px 80px; }
.lesson-card { background: var(--card-bg); border-radius: 14px; padding: 14px 16px; border: 1px solid var(--border); display: flex; align-items: center; gap: 14px; cursor: pointer; transition: transform .15s; }
.lesson-card:hover { transform: translateX(3px); }
.lesson-num { width: 36px; height: 36px; border-radius: 50%; background: var(--border); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; flex-shrink: 0; }
.lesson-num.done { background: linear-gradient(135deg,#a855f7,#10b981); color:#fff; }
.lesson-info { flex: 1; }
.lesson-info h4 { font-size: 14px; font-weight: 700; margin-bottom: 2px; }
.lesson-info p { font-size: 12px; color: var(--muted); }
.lesson-cat { font-size: 11px; background: var(--border); border-radius: 8px; padding: 2px 8px; color: var(--muted); }
.lesson-modal { position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 1000; display: flex; align-items: flex-end; }
.lesson-modal-box { background: var(--card-bg); border-radius: 24px 24px 0 0; width: 100%; max-height: 80vh; overflow-y: auto; padding: 24px; }
.lesson-modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; font-size: 16px; font-weight: 800; }
.lesson-modal-header button { background: transparent; border: none; font-size: 18px; cursor: pointer; color: var(--muted); }
.lesson-point { display: flex; gap: 10px; margin-bottom: 12px; font-size: 14px; line-height: 1.5; }
.lesson-point i { color: var(--purple); margin-top: 3px; flex-shrink: 0; }
.lesson-tip { background: rgba(16,185,129,.1); border-left: 3px solid #10b981; padding: 12px 14px; border-radius: 0 10px 10px 0; font-size: 13px; margin-top: 16px; }
.lesson-tip strong { color: #10b981; }
.lesson-modal-footer { margin-top: 20px; }
.btn-complete-lesson { width: 100%; padding: 14px; border: none; border-radius: 14px; background: linear-gradient(135deg,#a855f7,#10b981); color:#fff; font-size:15px; font-weight:800; cursor:pointer; }
.btn-complete-lesson.done { background: #334155; color: var(--muted); cursor: default; }
html.dark-mode .terminal-card, html.dark-mode .position-card, html.dark-mode .signal-card,
html.dark-mode .watch-card, html.dark-mode .lesson-card, html.dark-mode .lesson-modal-box,
html.dark-mode .history-wrap { background: #1e293b; border-color: #334155; }

/* Tab layout */
.tab-bar { display: flex; overflow-x: auto; gap: 4px; padding: 12px 16px 0; border-bottom: 1px solid var(--border); background: var(--card-bg); scrollbar-width: none; }
.tab-bar::-webkit-scrollbar { display: none; }
.tab-btn { flex-shrink: 0; padding: 10px 16px; border: none; border-radius: 10px 10px 0 0; background: transparent; font-size: 13px; font-weight: 600; color: var(--muted); cursor: pointer; display: flex; align-items: center; gap: 6px; border-bottom: 2px solid transparent; }
.tab-btn.active { color: var(--purple); border-bottom-color: var(--purple); background: rgba(168,85,247,.08); }
.tab-content { display: none; padding-bottom: 80px; }
#tab-chart { padding-bottom: 0; display: none; flex-direction: column; height: calc(100vh - 50px); min-height: 700px; }
#tab-chart.active { display: flex; }
#tab-chart { padding-bottom: 0; }
.tab-content.active { display: block; }
.empty-state { text-align: center; padding: 40px 16px; color: var(--muted); }
.empty-state i { font-size: 32px; display: block; margin-bottom: 10px; opacity: .3; }
.empty-state p { font-size: 14px; }
.btn-primary { width: 100%; padding: 13px; border: none; border-radius: 14px; background: linear-gradient(135deg,#a855f7,#10b981); color:#fff; font-size:15px; font-weight:800; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; margin-top:10px; }
.form-group { display: flex; flex-direction: column; }
.form-group label { font-size: 12px; color: var(--muted); margin-bottom: 4px; }
.form-group input, .form-group select { padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; font-size: 14px; background: var(--card-bg); color: var(--text); }
.premium-teaser { text-align: center; padding: 16px; font-size: 13px; color: var(--muted); }
.premium-teaser a { color: var(--purple); font-weight: 700; }


/* === migrated from trade/premium.html === */
.prem-wrap{max-width:640px;margin:0 auto;padding:16px 16px 80px}
    .prem-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
    .prem-header h1{font-size:20px;font-weight:800;display:flex;align-items:center;gap:8px}
    .prem-header h1 i{color:#f59e0b}
    .prem-back{font-size:13px;color:var(--purple);text-decoration:none}
    .prem-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#a855f7,#10b981);color:#fff;border-radius:20px;padding:5px 16px;font-size:13px;font-weight:700;margin-bottom:14px}
    .section-title{font-size:15px;font-weight:700;margin:22px 0 10px;display:flex;align-items:center;gap:8px}
    .section-title i{color:var(--purple)}
    .broker-card{background:var(--card-bg);border-radius:16px;padding:16px;border:1px solid var(--border);margin-bottom:10px}
    .broker-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:10px}
    .broker-row select,.broker-row input{flex:1;min-width:120px}
    .analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .analytics-tile{background:var(--card-bg);border-radius:14px;padding:16px;border:1px solid var(--border);text-align:center}
    .analytics-tile .av{font-size:20px;font-weight:900;background:linear-gradient(135deg,#a855f7,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
    .analytics-tile .al{font-size:11px;color:var(--muted);margin-top:4px}
    .not-premium{text-align:center;padding:60px 16px;color:var(--muted)}
    .not-premium i{font-size:48px;margin-bottom:12px;display:block;opacity:.4}
    .not-premium a{color:var(--purple);font-weight:700}
    .prem-loading{text-align:center;padding:60px 16px;color:var(--muted)}
    html.dark-mode .broker-card,.analytics-tile{background:#1e293b;border-color:#334155}


/* === migrated from trade/upgrade.html === */
.upgrade-wrap{max-width:480px;margin:0 auto;padding:24px 16px}
    .upgrade-card{background:var(--card-bg);border-radius:24px;padding:28px;border:1px solid var(--border);text-align:center}
    .up-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#a855f7,#10b981);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:30px;color:#fff}
    .up-title{font-size:22px;font-weight:800;margin-bottom:6px}
    .up-price{font-size:32px;font-weight:900;background:linear-gradient(135deg,#a855f7,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:10px 0 4px}
    .up-cycle{font-size:13px;color:var(--muted);margin-bottom:20px}
    .feature-list{text-align:left;margin-bottom:24px;display:flex;flex-direction:column;gap:10px}
    .feature-item{display:flex;align-items:center;gap:10px;font-size:14px}
    .feature-item i{color:#10b981;font-size:16px;width:20px}
    .btn-pay{width:100%;padding:15px;border:none;border-radius:14px;background:linear-gradient(135deg,#a855f7,#10b981);color:#fff;font-size:16px;font-weight:800;cursor:pointer}
    .btn-back{display:block;margin-top:14px;color:var(--muted);font-size:13px;text-align:center;text-decoration:none}
    .status-msg{padding:14px;border-radius:12px;font-size:14px;font-weight:600;margin-bottom:16px;display:none}
    .status-msg.success{background:rgba(16,185,129,.15);color:#10b981;display:block}
    .status-msg.error{background:rgba(239,68,68,.12);color:#ef4444;display:block}

/* ── Chart Tab ──────────────────────────────────────────────────────────────── */
.chart-acct-strip{display:flex;gap:12px;padding:10px 16px;background:rgba(16,185,129,.07);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}
.chart-acct-strip::-webkit-scrollbar{display:none}
.ca-item{display:flex;flex-direction:column;align-items:center;min-width:58px}
.ca-lbl{font-size:10px;color:var(--muted)}
.ca-val{font-size:13px;font-weight:800}
.ca-val.ca-green{color:#10b981}
.chart-info-bar{display:flex;align-items:center;gap:12px;padding:5px 14px;font-size:12px;background:var(--card-bg);border-bottom:1px solid var(--border);min-height:26px;overflow-x:auto;scrollbar-width:none}
.chart-info-bar::-webkit-scrollbar{display:none}
.ci-item{color:var(--muted);white-space:nowrap}
.ci-item strong{color:var(--text)}
.ci-item.up,.ci-item.up strong{color:#10b981}
.ci-item.down,.ci-item.down strong{color:#ef4444}
.chart-canvas-wrap{position:relative;width:100%;flex:1;min-height:0;background:#0f172a;touch-action:none;user-select:none;display:flex;flex-direction:column}
.chart-canvas-wrap canvas{display:block;width:100%;flex:1;min-height:0;height:100% !important;cursor:crosshair}
.chart-loading-overlay{position:absolute;inset:0;background:rgba(15,23,42,.75);display:flex;align-items:center;justify-content:center;gap:10px;color:rgba(255,255,255,.8);font-size:14px;z-index:10}
/* == Connect Trading Account Panel == */
.chart-connect-form{
  background:linear-gradient(160deg,#0f172a 0%,#1a2540 100%);
  border:1px solid rgba(99,102,241,.25);
  border-radius:16px;
  margin:10px 12px 6px;
  overflow:hidden;
  box-shadow:0 8px 32px rgba(0,0,0,.45),0 0 0 1px rgba(99,102,241,.1);
  animation:ccf-slide-in .22s ease;
}
@keyframes ccf-slide-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.ccf-header{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 18px;
  background:linear-gradient(90deg,rgba(99,102,241,.18),rgba(16,185,129,.10));
  border-bottom:1px solid rgba(99,102,241,.2);
  font-size:14px;font-weight:700;color:#e2e8f0;
  letter-spacing:.02em;
}
.ccf-header span{display:flex;align-items:center;gap:8px}
.ccf-header span i{color:#818cf8;font-size:15px}
.ccf-header button{
  width:28px;height:28px;border-radius:8px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  color:#94a3b8;cursor:pointer;font-size:14px;
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.ccf-header button:hover{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3);color:#f87171}
.ccf-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:0}
.ccf-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;max-width:780px}
.ccf-row:last-of-type{margin-bottom:0}
.ccf-group{flex:1;min-width:160px;max-width:360px;display:flex;flex-direction:column;gap:6px}
.ccf-group label{
  font-size:11px;font-weight:700;color:#64748b;
  text-transform:uppercase;letter-spacing:.06em;
}
.ccf-req{color:#f87171;margin-left:2px}
.ccf-group input,
.ccf-group select{
  padding:10px 13px;
  border:1px solid rgba(99,102,241,.2);
  border-radius:10px;
  background:rgba(15,23,42,.7);
  color:#e2e8f0;
  font-size:13px;
  transition:border-color .15s,box-shadow .15s;
  outline:none;
  -webkit-appearance:none;
}
.ccf-group input::placeholder{color:#475569}
.ccf-group input:focus,
.ccf-group select:focus{
  border-color:#6366f1;
  box-shadow:0 0 0 3px rgba(99,102,241,.15);
}
.ccf-group select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  padding-right:28px;
  cursor:pointer;
}
.ccf-note{
  display:flex;align-items:flex-start;gap:8px;
  font-size:11px;color:#475569;
  background:rgba(16,185,129,.07);
  border:1px solid rgba(16,185,129,.15);
  border-radius:10px;
  padding:10px 12px;
  margin:4px 0 16px;
  line-height:1.6;
}
.ccf-note i{color:#10b981;font-size:12px;margin-top:1px;flex-shrink:0}
.ccf-submit{
  width:100%;padding:13px;border:none;border-radius:12px;
  background:linear-gradient(135deg,#6366f1,#10b981);
  color:#fff;font-size:14px;font-weight:700;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  letter-spacing:.02em;
  box-shadow:0 4px 16px rgba(99,102,241,.35);
  transition:opacity .15s,transform .1s;
}
.ccf-submit:hover{opacity:.9;transform:translateY(-1px)}
.ccf-submit:active{transform:translateY(0)}
@media(max-width:600px){
  .chart-connect-form{margin:8px 8px 4px;border-radius:14px}
  .ccf-body{padding:14px 14px 16px}
  .ccf-row{flex-direction:column;gap:10px;margin-bottom:10px}
  .ccf-group{min-width:unset}
}
html.dark-mode .chart-info-bar{background:#1e293b;border-color:#334155}
html.dark-mode .chart-acct-strip{border-color:#334155}

/* ── Drawing + Indicator Toolbar ──────────────────────────────────────────── */

.toolbar-sect-lbl{font-size:12px;color:var(--muted);margin-right:2px}






.ind-btn{display:flex;align-items:center;gap:3px;padding:5px 9px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;font-weight:700;transition:all .15s;white-space:nowrap}
.ind-btn.active{background:rgba(16,185,129,.15);color:#10b981;border-color:#10b981}
.ind-sub{font-size:9px;opacity:.7;font-weight:400}
.ind-period{width:34px;padding:1px 3px;border:1px solid var(--border);border-radius:5px;background:var(--card-bg);color:var(--text);font-size:10px;text-align:center;margin-left:2px}
.ind-period:focus{outline:none;border-color:var(--purple)}


/* ── TF / ctrl select ─────────────────────────────────────────────────────── */



/* ── Robot toggle ─────────────────────────────────────────────────────────── */



.toggle-switch{position:relative;display:inline-block;width:42px;height:22px;flex-shrink:0}
.toggle-switch input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;cursor:pointer;inset:0;background:#334155;border-radius:22px;transition:.3s}
.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background:#94a3b8;border-radius:50%;transition:.3s}
.toggle-switch input:checked + .toggle-slider{background:rgba(168,85,247,.35);border:1px solid #a855f7}
.toggle-switch input:checked + .toggle-slider:before{transform:translateX(19px);background:#a855f7}

/* ── Indicator dropdown ───────────────────────────────────────────────────── */












/* ── EA / Robot panel ─────────────────────────────────────────────────────── */











/* ── Manual trading panel ─────────────────────────────────────────────────── */







/* ── Trade results panel ──────────────────────────────────────────────────── */
.trade-results{margin:0;padding:16px;background:var(--card-bg);border-top:2px solid var(--border)}
.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.results-title{font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px}
.clear-trades-btn{padding:5px 12px;border:1px solid rgba(239,68,68,.4);border-radius:7px;background:transparent;color:#ef4444;font-size:11px;cursor:pointer;display:flex;align-items:center;gap:4px}
.clear-trades-btn:hover{background:rgba(239,68,68,.1)}
.results-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.stat-box{flex:1;min-width:90px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:10px;padding:10px 14px;text-align:center}
.stat-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.stat-val{font-size:18px;font-weight:800;color:var(--text)}
.stat-val.pos{color:#10b981}
.stat-val.neg{color:#ef4444}
.trade-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--border)}
.trade-table{width:100%;border-collapse:collapse;font-size:12px}
.trade-table thead th{padding:8px 10px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:rgba(255,255,255,.03);border-bottom:1px solid var(--border)}
.trade-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background .1s}
.trade-table tbody tr:hover{background:rgba(255,255,255,.03)}
.trade-table tbody td{padding:7px 10px;color:var(--text)}
.buy-cell{color:#10b981;font-weight:700}
.sell-cell{color:#ef4444;font-weight:700}
.pos{color:#10b981;font-weight:700}
.neg{color:#ef4444;font-weight:700}
.res-badge{display:inline-block;padding:2px 7px;border-radius:5px;font-size:10px;font-weight:700}
.res-badge.tp{background:rgba(16,185,129,.2);color:#10b981}
.res-badge.sl{background:rgba(239,68,68,.2);color:#ef4444}
.res-badge.open{background:rgba(168,85,247,.2);color:#a855f7}
.no-trades-msg{padding:16px;text-align:center;color:var(--muted);font-size:13px}

/* ── Date navigator bar ───────────────────────────────────────────────────── */











/* ── Date input in EA / Manual panels ────────────────────────────────────── */



/* ── From badge in results header ────────────────────────────────────────── */
.from-badge{margin-left:8px;padding:2px 8px;border-radius:5px;background:rgba(168,85,247,0.15);color:#a855f7;font-size:10px;font-weight:600}

/* ── Mobile responsive (chart) ──────────────────────────────────────────────── */
@media (max-width: 520px) {
  .chart-canvas-wrap:-webkit-full-screen { background: #0f172a; width: 100vw; height: 100vh; }
.chart-canvas-wrap:-webkit-full-screen canvas { width: 100% !important; height: 100% !important; }
.chart-canvas-wrap:fullscreen { background: #0f172a; width: 100vw; height: 100vh; }
.chart-canvas-wrap:fullscreen canvas { width: 100% !important; height: 100% !important; }
}

/* ── Floating manual trade overlay (shown during manual replay) ──────────── */
.float-trade-panel {
  display: none;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: rgba(15,23,42,0.96);
  border: 1px solid rgba(168,85,247,0.35);
  border-radius: 10px;
  margin: 6px 0 2px;
  flex-wrap: wrap;
}
.float-trade-hint { font-size: 12px; color: rgba(255,255,255,0.55); flex: 1 1 100%; margin-bottom: 2px; }
.float-buy-btn, .float-sell-btn {
  padding: 12px 32px;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: .5px;
  transition: opacity .15s;
}
.float-buy-btn  { background: linear-gradient(135deg,#059669,#10b981); color:#fff; }
.float-sell-btn { background: linear-gradient(135deg,#b91c1c,#ef4444); color:#fff; }
.float-stop-btn {
  padding: 12px 18px;
  border: none;
  border-radius: 8px;
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.65);
  cursor: pointer;
  font-size: 13px;
  transition: background .15s;
}
.float-buy-btn:hover, .float-sell-btn:hover { opacity: .85; }
.float-stop-btn:hover { background: rgba(255,255,255,0.2); }
@media (max-width: 520px) {
  .float-buy-btn, .float-sell-btn { padding: 10px 22px; font-size: 14px; }
}


/* fullscreen: hide sidebar or keep it */
.chart-canvas-wrap:fullscreen .chart-side-toolbar{display:none}
/* mobile: make sidebar horizontal strip above chart */
@media(max-width:600px){
  .chart-with-sidebar{flex-direction:column}
  .chart-side-toolbar{flex-direction:row;width:100%;min-width:unset;border-right:none;border-bottom:1px solid #334155;padding:4px 8px;gap:6px}
  .side-tool-sep{width:1px;height:22px;margin:0 4px}
}

/* ══════════════════════════════════════════════════════════════════════════
   MAIN TOOLBAR  (ct-bar)
══════════════════════════════════════════════════════════════════════════ */
#tab-chart .ct-bar{display:flex !important;align-items:center;justify-content:space-between;gap:6px;
  padding:5px 8px;background:#1e293b;border-bottom:1px solid #334155;
  flex-wrap:wrap;min-height:44px}
.ct-left{display:flex;align-items:center;gap:5px;flex-wrap:wrap;flex:1;min-width:0}
.ct-right{display:flex;align-items:center;gap:4px;flex-shrink:0}

.ct-sel{background:#0f172a;color:#e2e8f0;border:1px solid #334155;
  border-radius:5px;padding:3px 6px;font-size:12px;cursor:pointer;height:28px}
.ct-sel:hover,.ct-sel:focus{border-color:#6366f1;outline:none}
.ct-pair{font-weight:600;min-width:90px}

.ct-divider{width:1px;height:20px;background:#334155;margin:0 2px;flex-shrink:0}

.ct-icon-btn{width:26px;height:26px;border:1px solid transparent;border-radius:5px;
  background:transparent;color:#94a3b8;cursor:pointer;display:flex;align-items:center;
  justify-content:center;font-size:11px;transition:all .15s}
.ct-icon-btn:hover{background:#334155;color:#e2e8f0;border-color:#475569}

.ct-connect-btn{padding:3px 10px;height:26px;background:#6366f1;color:#fff;
  border:none;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;
  display:flex;align-items:center;gap:4px;white-space:nowrap;transition:background .15s}
.ct-connect-btn:hover{background:#4f46e5}

.ct-mode-wrap{display:flex;align-items:center;gap:5px;flex-shrink:0}
.ct-mode-lbl{font-size:11px;color:#94a3b8;white-space:nowrap}

/* Indicators dropdown */
.ct-ind-wrap{position:relative}
.ct-ind-btn{display:flex;align-items:center;gap:4px;height:28px;padding:0 8px;
  background:#0f172a;color:#94a3b8;border:1px solid #334155;border-radius:5px;
  font-size:12px;cursor:pointer;white-space:nowrap;transition:all .15s}
.ct-ind-btn:hover{border-color:#6366f1;color:#e2e8f0}
.ct-ind-panel{display:none;position:absolute;top:calc(100% + 4px);left:0;
  background:#1e293b;border:1px solid #334155;border-radius:8px;
  padding:10px;min-width:240px;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.5);
  max-height:80vh;overflow-y:auto}
.ct-ind-panel.open{display:block}
.ct-ind-title{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;
  letter-spacing:.06em;margin-bottom:8px}
.ct-ind-row{display:flex;align-items:center;gap:6px;padding:4px 0;
  border-bottom:1px solid #0f172a;cursor:pointer;font-size:12px;color:#cbd5e1}
.ct-ind-row:last-child{border-bottom:none}
.ct-ind-row input[type=checkbox]{accent-color:#6366f1;width:14px;height:14px}
.ct-ind-period{width:44px;background:#0f172a;border:1px solid #334155;
  border-radius:4px;color:#e2e8f0;font-size:11px;padding:1px 3px;text-align:center}
.ct-ind-hint{font-size:10px;color:#475569;margin-left:auto}

/* Jump to date */
.ct-jump-wrap{display:flex;align-items:center;gap:4px}
.ct-jump-icon{color:#64748b;font-size:11px}
.ct-jump-inp{background:#0f172a;border:1px solid #334155;border-radius:5px;
  color:#cbd5e1;font-size:11px;padding:2px 5px;height:26px}
.ct-jump-go{height:26px;padding:0 8px;background:#334155;color:#e2e8f0;
  border:none;border-radius:5px;font-size:11px;cursor:pointer}
.ct-jump-go:hover{background:#475569}

/* ══════════════════════════════════════════════════════════════════════════
   TRADING PANELS  (trade-panel)
══════════════════════════════════════════════════════════════════════════ */
.trade-panel{display:flex;align-items:center;flex-wrap:wrap;gap:6px;
  padding:6px 10px;background:#162032;border-bottom:1px solid #334155}
.tp-section{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tp-divider{width:1px;height:28px;background:#334155;margin:0 4px}
.tp-label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;
  letter-spacing:.05em;white-space:nowrap}
.tp-lbl{display:flex;align-items:center;gap:4px;font-size:11px;color:#94a3b8;white-space:nowrap}
.tp-inp{width:52px;background:#0f172a;border:1px solid #334155;border-radius:4px;
  color:#e2e8f0;font-size:11px;padding:2px 4px;text-align:center}
.tp-inp:focus{outline:none;border-color:#6366f1}
.tp-date{background:#0f172a;border:1px solid #334155;border-radius:4px;
  color:#cbd5e1;font-size:11px;padding:2px 4px}

.tp-btn{height:26px;padding:0 10px;border:none;border-radius:5px;
  font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;
  gap:4px;white-space:nowrap;transition:all .15s}
.tp-run{background:#6366f1;color:#fff}
.tp-run:hover{background:#4f46e5}
.tp-replay{background:#0891b2;color:#fff}
.tp-replay:hover{background:#0e7490}
.tp-buy{background:#16a34a;color:#fff}
.tp-buy:hover{background:#15803d}
.tp-sell{background:#dc2626;color:#fff}
.tp-sell:hover{background:#b91c1c}
.tp-clear{background:#374151;color:#9ca3af}
.tp-clear:hover{background:#4b5563;color:#f3f4f6}

/* ══════════════════════════════════════════════════════════════════════════
   LEFT SIDE TOOLBAR  (drawing tools)
══════════════════════════════════════════════════════════════════════════ */

@media(max-width:700px){
  .ct-bar{padding:4px 6px;gap:4px}
  .ct-jump-wrap{display:none}
  .chart-with-sidebar{flex-direction:column}
  .chart-side-toolbar{flex-direction:row;width:100%;border-right:none;
    border-bottom:1px solid #334155;padding:4px 8px;gap:6px}
  .side-tool-sep{width:1px;height:22px;margin:0 4px}
}


/* == cTrader OAuth box == */
.ccf-ctrader-box{display:flex;gap:14px;align-items:flex-start;background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.25);border-radius:12px;padding:14px 16px;margin-bottom:14px}
.ccf-ctrader-logo{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#10b981);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0}
.ccf-ctrader-info{flex:1}
.ccf-ctrader-info strong{font-size:13px;color:#e2e8f0;display:block;margin-bottom:4px}
.ccf-ctrader-info p{font-size:12px;color:#64748b;margin:0 0 8px;line-height:1.5}
.ccf-ctrader-brokers{display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-size:11px;color:#475569}
.ccf-broker-tag{background:rgba(99,102,241,.15);color:#818cf8;border-radius:5px;padding:2px 7px;font-size:10px;font-weight:600}

/* ══════════════════════════════════════════════════════════════════════════
   DEMO TAB
══════════════════════════════════════════════════════════════════════════ */
.demo-hero{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:16px;background:linear-gradient(135deg,#0f172a,#1a2540);border-bottom:1px solid #334155;margin-bottom:0}
.demo-hero-left{display:flex;align-items:center;gap:14px}
.demo-hero-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#6366f1,#10b981);display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;flex-shrink:0}
.demo-hero h2{font-size:17px;font-weight:800;color:#e2e8f0;margin-bottom:3px}
.demo-hero p{font-size:12px;color:#64748b;margin:0}
.demo-hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}
.demo-partner-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;background:linear-gradient(135deg,#6366f1,#10b981);color:#fff;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;transition:opacity .15s}
.demo-partner-btn:hover{opacity:.88}
.demo-partner-note{font-size:11px;color:#475569}
.demo-connect-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 16px;background:rgba(99,102,241,.06);border-bottom:1px solid rgba(99,102,241,.15)}
.demo-connect-left{display:flex;align-items:center;gap:12px}
.demo-connect-icon{font-size:20px;color:#6366f1}
.demo-connect-left strong{display:block;font-size:13px;color:#e2e8f0;margin-bottom:2px}
.demo-connect-left span{font-size:12px;color:#64748b}
.demo-connect-btn{padding:9px 18px;background:#6366f1;color:#fff;border:none;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .15s}
.demo-connect-btn:hover{background:#4f46e5}
.demo-acct-strip{display:flex;gap:12px;align-items:center;padding:10px 16px;background:rgba(16,185,129,.07);border-bottom:1px solid #334155;flex-wrap:wrap}
.da-item{display:flex;flex-direction:column;align-items:center;min-width:60px}
.da-lbl{font-size:10px;color:#64748b}
.da-val{font-size:13px;font-weight:800;color:#e2e8f0}
.da-green{color:#10b981}
.da-disconnect{margin-left:auto;padding:6px 12px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#f87171;border-radius:8px;font-size:12px;cursor:pointer}
.demo-live-badge{font-size:11px;font-weight:700;color:#10b981;display:flex;align-items:center;gap:4px}
.demo-live-badge i{font-size:8px;animation:pulse 1.5s infinite}
.btn-demo-buy{flex:1;padding:13px;border:none;border-radius:12px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;font-size:15px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.btn-demo-sell{flex:1;padding:13px;border:none;border-radius:12px;background:linear-gradient(135deg,#b91c1c,#ef4444);color:#fff;font-size:15px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.demo-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:16px}
.demo-guide-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:20px 16px;text-align:center;position:relative}
.dgc-num{position:absolute;top:12px;left:14px;width:22px;height:22px;border-radius:50%;background:rgba(99,102,241,.2);color:#818cf8;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.dgc-icon{font-size:28px;color:#6366f1;margin:10px 0 10px}
.demo-guide-card h4{font-size:14px;font-weight:700;margin-bottom:6px}
.demo-guide-card p{font-size:12px;color:var(--muted);line-height:1.5}
@media(max-width:600px){.demo-hero{flex-direction:column;align-items:flex-start}.demo-hero-actions{flex-direction:column;align-items:flex-start;width:100%}.demo-connect-bar{flex-direction:column;align-items:flex-start}}

/* ══════════════════════════════════════════════════════════════════════════
   REAL TAB
══════════════════════════════════════════════════════════════════════════ */
.real-hero{text-align:center;padding:32px 20px 24px;background:linear-gradient(160deg,#0f172a,#1a2540);border-bottom:1px solid #334155}
.real-hero-icon{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#f59e0b,#ef4444);display:inline-flex;align-items:center;justify-content:center;font-size:28px;color:#fff;margin-bottom:14px}
.real-hero h2{font-size:20px;font-weight:800;color:#e2e8f0;margin-bottom:6px}
.real-hero p{font-size:13px;color:#64748b;margin-bottom:16px}
.real-brokers-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:20px}
.real-broker-tag{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);color:#10b981;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:5px}
.real-connect-box{max-width:480px;margin:0 auto;background:rgba(99,102,241,.07);border:1px solid rgba(99,102,241,.2);border-radius:16px;padding:20px}
.real-connect-inner{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;text-align:left}
.real-ctrader-logo{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#10b981);display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;flex-shrink:0}
.real-connect-inner strong{display:block;font-size:13px;color:#e2e8f0;margin-bottom:4px}
.real-connect-inner p{font-size:12px;color:#64748b;margin:0;line-height:1.5}
.real-connect-btn{width:100%;padding:13px;border:none;border-radius:12px;background:linear-gradient(135deg,#6366f1,#10b981);color:#fff;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;transition:opacity .15s}
.real-connect-btn:hover{opacity:.88}
.real-no-account{font-size:12px;color:#475569;text-align:center}
.real-no-account a{color:#818cf8;font-weight:600}
.real-acct-strip{display:flex;gap:12px;align-items:center;padding:10px 16px;background:rgba(239,68,68,.06);border-bottom:1px solid #334155;flex-wrap:wrap}
.ra-item{display:flex;flex-direction:column;align-items:center;min-width:60px}
.ra-lbl{font-size:10px;color:#64748b}
.ra-val{font-size:13px;font-weight:800;color:#e2e8f0}
.ra-green{color:#10b981}
.ra-live{color:#f59e0b;font-size:11px;font-weight:800;letter-spacing:.05em}
.ra-disconnect{margin-left:auto;padding:6px 12px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#f87171;border-radius:8px;font-size:12px;cursor:pointer}
.real-live-badge{font-size:11px;font-weight:700;color:#ef4444;display:flex;align-items:center;gap:4px}
.real-live-badge i{font-size:8px;animation:pulse 1.5s infinite}
.real-risk-warning{display:flex;align-items:center;gap:8px;font-size:11px;color:#f59e0b;background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:8px 12px;margin:10px 0}
.btn-real-buy{flex:1;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;font-size:15px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px rgba(16,185,129,.3)}
.btn-real-sell{flex:1;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#b91c1c,#ef4444);color:#fff;font-size:15px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px rgba(239,68,68,.3)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ══════════════════════════════════════════════════════════════════════════
   BACKTEST TAB
══════════════════════════════════════════════════════════════════════════ */
.backtest-hero{display:flex;align-items:center;gap:14px;padding:14px 16px;background:linear-gradient(135deg,#0f172a,#1a2540);border-bottom:1px solid #334155}
.bth-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#0891b2,#6366f1);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0}
.backtest-hero h2{font-size:16px;font-weight:800;color:#e2e8f0;margin-bottom:3px}
.backtest-hero p{font-size:12px;color:#64748b;margin:0}
.backtest-layout{display:flex;gap:0;height:calc(100vh - 220px);min-height:500px}
.backtest-config{width:260px;flex-shrink:0;background:#162032;border-right:1px solid #334155;overflow-y:auto;padding:12px}
.btc-section{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #1e293b}
.btc-section:last-child{border-bottom:none}
.btc-label{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;display:flex;align-items:center;gap:5px}
.btc-row{display:flex;gap:8px;flex-wrap:wrap}
.btc-sel{background:#0f172a;color:#e2e8f0;border:1px solid #334155;border-radius:5px;padding:4px 8px;font-size:12px;cursor:pointer;flex:1}
.btc-sel:focus{outline:none;border-color:#6366f1}
.btc-lbl{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#94a3b8;flex:1}
.btc-inp{background:#0f172a;border:1px solid #334155;border-radius:4px;color:#e2e8f0;font-size:11px;padding:3px 5px;width:100%;margin-top:2px}
.btc-inp:focus{outline:none;border-color:#6366f1}
.btc-date{background:#0f172a;border:1px solid #334155;border-radius:4px;color:#cbd5e1;font-size:11px;padding:3px 5px;width:100%;margin-top:2px}
.btc-actions{display:flex;flex-direction:column;gap:7px;margin-top:4px}
.btc-run-btn{padding:11px;border:none;border-radius:9px;background:linear-gradient(135deg,#6366f1,#0891b2);color:#fff;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.btc-replay-btn{padding:9px;border:none;border-radius:9px;background:#0891b2;color:#fff;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.btc-clear-btn{padding:8px;border:none;border-radius:9px;background:#374151;color:#9ca3af;font-size:12px;cursor:pointer}
.backtest-chart-area{flex:1;display:flex;flex-direction:column;min-width:0;background:#0f172a}
.backtest-chart-toolbar{display:flex;align-items:center;gap:6px;padding:5px 8px;background:#1e293b;border-bottom:1px solid #334155}
.btc-icon-btn{width:26px;height:26px;border:1px solid transparent;border-radius:5px;background:transparent;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all .15s}
.btc-icon-btn:hover{background:#334155;color:#e2e8f0}
.backtest-canvas-wrap{flex:1;position:relative;min-height:300px}
.backtest-canvas-wrap canvas{display:block;width:100%;height:100%}
.backtest-results{padding:14px;background:var(--card-bg);border-top:2px solid #334155;max-height:280px;overflow-y:auto}
@media(max-width:700px){
  .backtest-layout{flex-direction:column;height:auto}
  .backtest-config{width:100%;border-right:none;border-bottom:1px solid #334155}
  .btc-row{flex-direction:row}
}

/* ══════════════════════════════════════════════════════════════════════════
   LEARN TAB
══════════════════════════════════════════════════════════════════════════ */
.learn-hero{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:16px;background:linear-gradient(135deg,#0f172a,#1a2540);border-bottom:1px solid #334155}
.lh-left{display:flex;align-items:center;gap:14px}
.lh-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#f59e0b,#ef4444);display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;flex-shrink:0}
.learn-hero h2{font-size:calc(var(--lesson-font-sz,13px) + 4px);font-weight:800;color:#e2e8f0;margin-bottom:3px}
.learn-hero p{font-size:calc(var(--lesson-font-sz,13px) - 1px);color:#64748b;margin:0}
.lh-progress{display:flex;align-items:center;gap:8px;flex-shrink:0}
.lh-prog-label{font-size:11px;color:#64748b}
.lh-prog-bar{width:100px;height:6px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}
.lh-prog-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);border-radius:99px;transition:width .4s}
.lh-prog-pct{font-size:12px;font-weight:700;color:#f59e0b;min-width:30px}
.learn-modules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;padding:16px}
.learn-module-card{background:var(--card-bg,#162032);border:1px solid var(--border,#1e293b);border-radius:16px;padding:18px;cursor:pointer;transition:transform .15s,border-color .15s;position:relative;overflow:hidden}
.learn-module-card:hover{transform:translateY(-2px);border-color:#6366f1}
.learn-module-card.completed{border-color:rgba(16,185,129,.4)}
.lmc-num{position:absolute;top:12px;right:14px;font-size:11px;font-weight:700;color:#475569}
.lmc-icon{font-size:28px;margin-bottom:10px}
.lmc-title{font-size:14px;font-weight:800;color:#e2e8f0;margin-bottom:4px}
.lmc-desc{font-size:12px;color:#64748b;line-height:1.5;margin-bottom:10px}
.lmc-meta{display:flex;gap:8px;flex-wrap:wrap}
.lmc-tag{background:rgba(99,102,241,.12);color:#818cf8;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}
.lmc-done{background:rgba(16,185,129,.12);color:#10b981;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}
.lmc-progress-bar{height:3px;background:rgba(255,255,255,.06);border-radius:99px;margin-top:12px;overflow:hidden}
.lmc-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#10b981);border-radius:99px;transition:width .3s}
/* Lesson view */
.lesson-topbar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#162032;border-bottom:1px solid #334155;position:sticky;top:0;z-index:10}
.lesson-back-btn{padding:6px 12px;background:transparent;border:1px solid #334155;color:#94a3b8;border-radius:8px;font-size:calc(var(--lesson-font-sz,13px) - 1px);cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap}
.lesson-back-btn:hover{background:#1e293b;color:#e2e8f0}
.lesson-font-ctrl{display:flex;align-items:center;gap:4px;flex-shrink:0}
.lesson-font-ctrl button{padding:4px 10px;background:transparent;border:1px solid #334155;color:#94a3b8;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;line-height:1.4;white-space:nowrap}
.lesson-font-ctrl button:hover{background:#1e293b;color:#e2e8f0}
.lesson-title-bar{font-size:var(--lesson-font-sz,13px);font-weight:700;color:#e2e8f0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lesson-step-badge{background:rgba(99,102,241,.15);color:#818cf8;border-radius:20px;padding:3px 10px;font-size:calc(var(--lesson-font-sz,13px) - 2px);font-weight:700;white-space:nowrap;flex-shrink:0}
.lesson-body{padding:16px;max-width:680px;margin:0 auto}
.lesson-slide{animation:slideIn .25s ease}
@keyframes slideIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.lesson-slide h3{font-size:18px;font-weight:800;color:#e2e8f0;margin:0 0 6px}
.lesson-slide .lesson-subtitle{font-size:13px;color:#64748b;margin-bottom:16px}
.lesson-img-wrap{border-radius:12px;overflow:hidden;margin-bottom:16px;background:#1e293b;text-align:center}
.lesson-img-wrap img{max-width:100%;height:auto;display:block;margin:0 auto}
.lesson-img-caption{font-size:11px;color:#475569;padding:6px;text-align:center}
.lesson-body-text{font-size:var(--lesson-font-sz,13px);color:#cbd5e1;line-height:1.75;margin-bottom:14px}
.lesson-body-text strong{color:#e2e8f0}
.lesson-key-points{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:8px}
.lesson-key-points li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#cbd5e1;line-height:1.5}
.lesson-key-points li i{color:#10b981;margin-top:2px;flex-shrink:0}
.lesson-example-box{background:rgba(99,102,241,.07);border:1px solid rgba(99,102,241,.2);border-radius:12px;padding:14px;margin-bottom:14px}
.lesson-example-box .ex-label{font-size:10px;font-weight:700;color:#818cf8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.lesson-example-box p{font-size:13px;color:#cbd5e1;margin:0;line-height:1.6}
.lesson-video-link{display:flex;align-items:center;gap:10px;background:rgba(239,68,68,.07);border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:12px 14px;text-decoration:none;margin-bottom:14px;transition:opacity .15s}
.lesson-video-link:hover{opacity:.85}
.lesson-video-link .lv-icon{width:38px;height:38px;border-radius:10px;background:#ef4444;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;flex-shrink:0}
.lesson-video-link .lv-text strong{display:block;font-size:13px;color:#e2e8f0;margin-bottom:2px}
.lesson-video-link .lv-text span{font-size:11px;color:#64748b}
.lesson-practice-box{background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.2);border-radius:12px;padding:14px;margin-bottom:14px}
.lesson-practice-box .pr-label{font-size:10px;font-weight:700;color:#10b981;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;display:flex;align-items:center;gap:5px}
.lesson-practice-box p{font-size:13px;color:#a7f3d0;margin:0;line-height:1.6}
.lesson-practice-box .pr-btn{margin-top:10px;padding:8px 16px;background:#10b981;border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:700;cursor:pointer}
/* Quiz */
.quiz-wrap{background:rgba(99,102,241,.06);border:1px solid rgba(99,102,241,.2);border-radius:16px;padding:16px;margin-bottom:14px}
.quiz-question{font-size:14px;font-weight:700;color:#e2e8f0;margin-bottom:12px;line-height:1.5}
.quiz-options{display:flex;flex-direction:column;gap:8px}
.quiz-option{padding:11px 14px;background:rgba(255,255,255,.03);border:1px solid #334155;border-radius:10px;font-size:13px;color:#cbd5e1;cursor:pointer;text-align:left;transition:all .15s;display:flex;align-items:center;gap:10px}
.quiz-option:hover:not([disabled]){background:rgba(99,102,241,.1);border-color:#6366f1;color:#e2e8f0}
.quiz-option.correct{background:rgba(16,185,129,.1);border-color:#10b981;color:#a7f3d0}
.quiz-option.wrong{background:rgba(239,68,68,.1);border-color:#ef4444;color:#fca5a5}
.quiz-option .qo-dot{width:18px;height:18px;border-radius:50%;border:2px solid #334155;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px}
.quiz-feedback{margin-top:10px;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:600;display:none}
.quiz-feedback.show{display:block}
.quiz-feedback.correct{background:rgba(16,185,129,.1);color:#10b981}
.quiz-feedback.wrong{background:rgba(239,68,68,.1);color:#ef4444}
/* Lesson nav */
.lesson-nav{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-top:1px solid #1e293b;position:sticky;bottom:0;background:#0f172a;z-index:10}
.lesson-nav-btn{padding:10px 20px;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;transition:opacity .15s}
.lesson-nav-btn.primary{background:linear-gradient(135deg,#6366f1,#10b981);color:#fff}
.lesson-nav-btn.secondary{background:rgba(255,255,255,.06);color:#94a3b8;border:1px solid #334155}
.lesson-nav-btn:disabled{opacity:.35;cursor:not-allowed}
.lesson-nav-btn:hover:not(:disabled){opacity:.88}
@media(max-width:600px){.learn-modules-grid{grid-template-columns:1fr}.lh-progress{width:100%}.lh-prog-bar{width:80px}}

/* ══════════════════════════════════════════════════════════════════════════
   MINI CHART (Demo & Real tabs)
══════════════════════════════════════════════════════════════════════════ */
.mini-chart-wrap{background:#0f172a;border-bottom:1px solid #334155}
.mini-chart-toolbar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#1e293b;border-bottom:1px solid #334155;flex-wrap:wrap}
.mini-ct-sel{background:#0f172a;color:#e2e8f0;border:1px solid #334155;border-radius:5px;padding:3px 7px;font-size:11px;cursor:pointer}
.mini-ct-sel:focus{outline:none;border-color:#6366f1}
.mini-ct-btn{width:26px;height:26px;border:1px solid transparent;border-radius:5px;background:transparent;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all .15s}
.mini-ct-btn:hover{background:#334155;color:#e2e8f0}
.mini-chart-canvas-wrap{position:relative;height:260px;transition:height .3s}
.mini-chart-canvas-wrap.collapsed{height:0;overflow:hidden}
.mini-chart-canvas-wrap canvas{display:block;width:100%;height:100%}
@media(max-width:600px){.mini-chart-canvas-wrap{height:200px}}

/* ══════════════════════════════════════════════════════════════════════════
   CALENDAR TAB
══════════════════════════════════════════════════════════════════════════ */
.cal-filter-btn{padding:5px 12px;border:1px solid #334155;border-radius:20px;background:transparent;color:#64748b;font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .15s}
.cal-filter-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}
.cal-dd{position:relative;display:inline-flex}
.cal-dd-btn{padding:5px 12px;border:1px solid #334155;border-radius:8px;background:#0f172a;color:#e2e8f0;font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .15s;white-space:nowrap}
.cal-dd-btn:hover{border-color:#6366f1}
.cal-dd-btn i{font-size:9px;color:#64748b;transition:transform .15s}
.cal-dd.open .cal-dd-btn{border-color:#6366f1}
.cal-dd.open .cal-dd-btn i{transform:rotate(180deg)}
.cal-dd-menu{display:none;position:absolute;top:calc(100% + 4px);left:0;background:#1a2540;border:1px solid #334155;border-radius:8px;min-width:140px;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,.45);overflow:hidden;padding:4px}
.cal-dd.open .cal-dd-menu{display:block}
.cal-dd-right .cal-dd-menu{left:auto;right:0}
.cal-dd-item{padding:7px 10px;font-size:12px;color:#94a3b8;cursor:pointer;border-radius:6px;display:flex;align-items:center;gap:6px;white-space:nowrap}
.cal-dd-item:hover{background:rgba(255,255,255,.06);color:#e2e8f0}
.cal-dd-item.active{background:#6366f1;color:#fff}
.cal-day-group{margin-bottom:2px}
.cal-day-hdr{padding:8px 16px;background:#162032;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #1e293b;position:sticky;top:0;z-index:2}
.cal-event-row{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s}
.cal-event-row:hover{background:rgba(255,255,255,.02)}
.cal-time{font-size:11px;color:#64748b;min-width:48px;font-family:monospace}
.cal-impact{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.cal-impact.high{background:#ef4444;box-shadow:0 0 6px #ef444488}
.cal-impact.med{background:#f59e0b}
.cal-impact.low{background:#64748b}
.cal-currency{font-size:11px;font-weight:700;color:#818cf8;min-width:32px}
.cal-event-name{font-size:13px;color:#e2e8f0;flex:1}
.cal-forecast{font-size:13px;font-weight:600;color:#94a3b8;min-width:64px;text-align:right}
.cal-forecast-model{color:#f59e0b;font-style:italic;}
.cal-previous{font-size:13px;font-weight:600;color:#94a3b8;min-width:64px;text-align:right}
.cal-actual{font-size:15px;font-weight:800;min-width:64px;text-align:right;color:#e2e8f0}
.cal-actual.beat{color:#10b981}
.cal-actual.miss{color:#ef4444}
.cal-actual.inline{color:#f59e0b}
.cal-event-row-stacked{align-items:flex-start;padding-top:14px;padding-bottom:14px}
.cal-currency-stacked{display:flex;flex-direction:column;gap:4px;width:auto;min-width:170px}
.cal-asset-group{display:flex;align-items:center;gap:4px;white-space:nowrap}
.cal-asset-label{font-size:9px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.03em;min-width:68px;flex-shrink:0}
.cal-empty{text-align:center;padding:48px 20px;color:#475569;font-size:13px}

/* ══════════════════════════════════════════════════════════════════════════
   ALERTS TAB
══════════════════════════════════════════════════════════════════════════ */
.alert-form{background:var(--card-bg,#162032);border:1px solid #334155;border-radius:16px;padding:20px}
.alert-form h4{font-size:14px;font-weight:800;color:#e2e8f0;margin:0 0 14px}
.alert-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.alert-inp{flex:1;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#e2e8f0;font-size:13px;padding:9px 12px;min-width:120px}
.alert-inp:focus{outline:none;border-color:#6366f1}
.alert-sel{background:#0f172a;border:1px solid #334155;border-radius:8px;color:#e2e8f0;font-size:13px;padding:9px 12px;cursor:pointer}
.alert-submit{padding:10px 20px;background:linear-gradient(135deg,#6366f1,#10b981);border:none;border-radius:10px;color:#fff;font-size:13px;font-weight:700;cursor:pointer;width:100%}
.alert-card{display:flex;align-items:center;gap:12px;background:var(--card-bg,#162032);border:1px solid #334155;border-radius:12px;padding:14px 16px;margin-bottom:8px}
.alert-card-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.alert-card-icon.above{background:rgba(16,185,129,.15);color:#10b981}
.alert-card-icon.below{background:rgba(239,68,68,.15);color:#ef4444}
.alert-card-info{flex:1}
.alert-card-pair{font-size:14px;font-weight:800;color:#e2e8f0}
.alert-card-cond{font-size:12px;color:#64748b;margin-top:2px}
.alert-card-price{font-size:15px;font-weight:800;color:#f59e0b}
.alert-card-status{font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px}
.alert-card-status.active{background:rgba(16,185,129,.12);color:#10b981}
.alert-card-status.triggered{background:rgba(239,68,68,.12);color:#ef4444}
.alert-del-btn{padding:6px 10px;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:12px;cursor:pointer}
.alert-empty{text-align:center;padding:48px 20px}
.alert-empty i{font-size:40px;color:#1e293b;display:block;margin-bottom:12px}
.alert-empty p{color:#475569;font-size:13px}

/* ══════════════════════════════════════════════════════════════════════════
   JOURNAL TAB
══════════════════════════════════════════════════════════════════════════ */
.journal-form{background:var(--card-bg,#162032);border:1px solid #334155;border-radius:16px;padding:20px;margin-bottom:16px}
.journal-form h4{font-size:14px;font-weight:800;color:#e2e8f0;margin:0 0 14px;display:flex;align-items:center;gap:8px}
.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.journal-inp{width:100%;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#e2e8f0;font-size:13px;padding:9px 12px;box-sizing:border-box}
.journal-inp:focus{outline:none;border-color:#6366f1}
.journal-textarea{width:100%;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#e2e8f0;font-size:13px;padding:9px 12px;min-height:80px;resize:vertical;box-sizing:border-box}
.journal-textarea:focus{outline:none;border-color:#6366f1}
.journal-rating{display:flex;gap:6px;margin-bottom:12px}
.journal-rating span{font-size:12px;color:#64748b;margin-right:4px;line-height:28px}
.journal-star{background:transparent;border:1px solid #334155;border-radius:6px;color:#64748b;width:28px;height:28px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}
.journal-star.active{color:#f59e0b;border-color:#f59e0b;background:rgba(245,158,11,.1)}
.journal-submit{padding:10px 20px;background:linear-gradient(135deg,#f59e0b,#ef4444);border:none;border-radius:10px;color:#fff;font-size:13px;font-weight:700;cursor:pointer}
.journal-card{background:var(--card-bg,#162032);border:1px solid #334155;border-radius:14px;padding:16px;margin-bottom:10px}
.journal-card-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.journal-card-pair{font-size:15px;font-weight:800;color:#e2e8f0}
.journal-card-dir{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}
.journal-card-dir.buy{background:rgba(16,185,129,.12);color:#10b981}
.journal-card-dir.sell{background:rgba(239,68,68,.12);color:#ef4444}
.journal-card-pnl{margin-left:auto;font-size:15px;font-weight:800}
.journal-card-pnl.win{color:#10b981}
.journal-card-pnl.loss{color:#ef4444}
.journal-card-meta{font-size:11px;color:#475569;margin-bottom:8px;display:flex;gap:12px;flex-wrap:wrap}
.journal-card-notes{font-size:13px;color:#94a3b8;line-height:1.6;border-top:1px solid #1e293b;padding-top:8px}
.journal-card-stars{color:#f59e0b;font-size:12px}
.journal-del{float:right;padding:4px 10px;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:11px;cursor:pointer}
.journal-empty{text-align:center;padding:48px 20px}
.journal-empty i{font-size:40px;color:#1e293b;display:block;margin-bottom:12px}

/* ══════════════════════════════════════════════════════════════════════════
   LEADERBOARD TAB
══════════════════════════════════════════════════════════════════════════ */
.lb-podium{display:flex;justify-content:center;align-items:flex-end;gap:12px;padding:24px 16px 0;margin-bottom:16px}
.lb-podium-item{display:flex;flex-direction:column;align-items:center;gap:6px}
.lb-podium-avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;border:3px solid transparent}
.lb-podium-item.rank-1 .lb-podium-avatar{width:64px;height:64px;font-size:24px;background:linear-gradient(135deg,#f59e0b,#ef4444);border-color:#f59e0b}
.lb-podium-item.rank-2 .lb-podium-avatar{background:linear-gradient(135deg,#94a3b8,#64748b);border-color:#94a3b8}
.lb-podium-item.rank-3 .lb-podium-avatar{background:linear-gradient(135deg,#b45309,#78350f);border-color:#b45309}
.lb-podium-name{font-size:12px;font-weight:700;color:#e2e8f0;max-width:70px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb-podium-val{font-size:13px;font-weight:800;color:#10b981}
.lb-podium-crown{font-size:18px}
.lb-podium-block{border-radius:8px 8px 0 0;width:70px}
.lb-podium-item.rank-1 .lb-podium-block{height:60px;background:rgba(245,158,11,.2);border:1px solid rgba(245,158,11,.3)}
.lb-podium-item.rank-2 .lb-podium-block{height:40px;background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.2)}
.lb-podium-item.rank-3 .lb-podium-block{height:28px;background:rgba(180,83,9,.1);border:1px solid rgba(180,83,9,.2)}
.lb-table{width:100%;border-collapse:collapse}
.lb-table th{padding:8px 12px;font-size:10px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid #1e293b;background:#162032}
.lb-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px;color:#cbd5e1}
.lb-table tr:hover td{background:rgba(255,255,255,.02)}
.lb-rank-badge{width:24px;height:24px;border-radius:6px;background:#1e293b;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#64748b}
.lb-rank-badge.top3{background:rgba(245,158,11,.15);color:#f59e0b}
.lb-avatar-sm{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#10b981);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;margin-right:8px}

/* ══════════════════════════════════════════════════════════════════════════
   PORTFOLIO TAB
══════════════════════════════════════════════════════════════════════════ */
.portfolio-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}
.port-stat{background:var(--card-bg,#162032);border:1px solid #334155;border-radius:12px;padding:14px;text-align:center}
.port-stat-lbl{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.port-stat-val{font-size:18px;font-weight:800;color:#e2e8f0}
.port-stat-val.green{color:#10b981}
.port-stat-val.red{color:#ef4444}
.port-exposure-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.06);margin:12px 0 4px;overflow:hidden}
.port-exposure-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#6366f1,#10b981)}
.port-pair-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.port-pair-sym{font-size:13px;font-weight:700;color:#e2e8f0;min-width:80px}
.port-pair-dir{padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700}
.port-pair-dir.buy{background:rgba(16,185,129,.12);color:#10b981}
.port-pair-dir.sell{background:rgba(239,68,68,.12);color:#ef4444}
.port-pair-lots{font-size:12px;color:#64748b;min-width:50px}
.port-pair-pnl{font-size:13px;font-weight:800;margin-left:auto}
.port-pair-pnl.win{color:#10b981}
.port-pair-pnl.loss{color:#ef4444}

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE TAB BAR
══════════════════════════════════════════════════════════════════════════ */
.tab-bar{display:flex;overflow-x:auto;gap:2px;padding:8px 10px 0;border-bottom:1px solid var(--border);background:var(--card-bg);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tab-bar::-webkit-scrollbar{display:none}
.tab-btn{flex-shrink:0;padding:8px 13px;border:none;border-radius:8px 8px 0 0;background:transparent;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:5px;border-bottom:2px solid transparent;transition:color .15s,background .15s;white-space:nowrap}
.tab-btn.active{color:var(--purple);border-bottom-color:var(--purple);background:rgba(168,85,247,.08)}
.tab-btn:hover:not(.active){color:var(--text);background:rgba(255,255,255,.04)}
.tab-lbl{display:inline}

/* Compact mode: icon only on very small screens */
@media(max-width:640px){
  .tab-bar{gap:1px;padding:6px 6px 0}
  .tab-btn{padding:7px 9px;font-size:12px;gap:0}
  .tab-lbl{display:none}
  .tab-btn.active .tab-lbl{display:inline;font-size:11px;margin-left:4px}
  .tab-btn i{font-size:14px}
}
@media(max-width:400px){
  .tab-btn{padding:6px 7px}
  .tab-btn i{font-size:13px}
}

/* ══════════════════════════════════════════════════════════════════════════
   CHART DRAWING TOOLS — upgraded side toolbar
══════════════════════════════════════════════════════════════════════════ */
.chart-with-sidebar{display:flex;flex-direction:row;width:100%;flex:1;min-height:0;overflow:hidden}
.chart-with-sidebar .chart-canvas-wrap{flex:1;min-width:0}
.chart-side-toolbar{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;background:#111827;border-right:1px solid #1e2d40;width:48px;flex-shrink:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#334155 transparent;align-self:stretch}
.chart-side-toolbar::-webkit-scrollbar{width:3px}
.chart-side-toolbar::-webkit-scrollbar-thumb{background:#334155;border-radius:2px}
.chart-side-toolbar::-webkit-scrollbar-track{background:transparent}
.side-tool-btn{width:36px;height:36px;border:1px solid transparent;border-radius:7px;background:transparent;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s;position:relative;flex-shrink:0}
.side-tool-btn:hover{background:rgba(148,163,184,.1);color:#94a3b8;border-color:#1e2d40}
.side-tool-btn.active{background:rgba(99,102,241,.18);color:#818cf8;border-color:rgba(99,102,241,.5)}
.side-tool-sep{width:24px;height:1px;background:#1e2d40;margin:2px 0;flex-shrink:0}
.side-tool-clear:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#f87171}
.side-tool-sep{width:20px;height:1px;background:#334155;margin:3px 0;flex-shrink:0}
.side-tool-clear:hover{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.4);color:#f87171}

/* Tooltip on hover */
.side-tool-btn::after{content:attr(title);position:absolute;left:48px;top:50%;transform:translateY(-50%);background:#1e293b;color:#e2e8f0;font-size:11px;white-space:nowrap;padding:4px 8px;border-radius:5px;border:1px solid #334155;pointer-events:none;opacity:0;transition:opacity .15s;z-index:500}
.side-tool-btn:hover::after{opacity:1}

/* Mobile: horizontal above chart */
@media(max-width:700px){
  .chart-with-sidebar{flex-direction:column}
  .chart-side-toolbar{flex-direction:row;width:100%;height:48px;border-right:none;border-bottom:1px solid #1e2d40;padding:4px 6px;gap:3px;overflow-x:auto;overflow-y:hidden}
  .side-tool-sep{width:1px;height:20px;margin:0 3px}
  .side-tool-btn::after{display:none}
}

/* ══════════════════════════════════════════════════════════════════════════
   RIGHT-CLICK CONTEXT MENU
══════════════════════════════════════════════════════════════════════════ */
.chart-ctx-menu{position:fixed;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:4px;min-width:200px;z-index:9999;box-shadow:0 8px 32px rgba(0,0,0,.6)}
.ctx-item{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;color:#cbd5e1;cursor:pointer;border-radius:7px;transition:background .12s}
.ctx-item:hover{background:rgba(99,102,241,.15);color:#e2e8f0}
.ctx-item i{width:14px;text-align:center;color:#64748b;font-size:12px}
.ctx-item:hover i{color:#818cf8}
.ctx-sep{border-top:1px solid #334155;margin-top:4px;padding-top:10px}
.ctx-danger{color:#f87171}
.ctx-danger:hover{background:rgba(239,68,68,.1)}
.ctx-danger i{color:#f87171}



html{overflow-y:scroll}
