/* ═══════════════════════════════════════════════════
   aibot.css — AI Trading Bot Simulator
═══════════════════════════════════════════════════ */

/* ── LAYOUT ── */
.bot-layout{display:grid;grid-template-columns:320px 1fr 300px;gap:16px;max-width:1280px;margin:0 auto}
@media(max-width:1100px){.bot-layout{grid-template-columns:1fr;gap:12px}}

/* ── PANELS ── */
.bot-panel{background:var(--panel);border:1px solid var(--panelborder);border-radius:16px;padding:18px;backdrop-filter:blur(12px);position:relative;overflow:hidden}
.bot-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(240,185,11,.2),transparent)}
.bot-panel-title{font-weight:800;font-size:.92rem;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.bot-panel-title svg{flex-shrink:0}

/* ── STRATEGY SELECTOR ── */
.bot-strat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.bot-strat-card{padding:10px 12px;border:1.5px solid rgba(255,255,255,.08);border-radius:12px;cursor:pointer;transition:all .2s;text-align:center;background:rgba(255,255,255,.02)}
.bot-strat-card:hover{border-color:rgba(240,185,11,.3);background:rgba(240,185,11,.04)}
.bot-strat-card.active{border-color:var(--gold);background:rgba(240,185,11,.08);box-shadow:0 0 16px rgba(240,185,11,.15)}
.bot-strat-name{font-weight:700;font-size:.78rem;margin-bottom:2px}
.bot-strat-desc{font-size:.6rem;color:var(--muted);line-height:1.3}
.bot-strat-ico{font-size:1.4rem;margin-bottom:4px}

/* ── CONFIG INPUTS ── */
.bot-field{margin-bottom:10px}
.bot-label{font-size:.66rem;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.bot-input{width:100%;padding:9px 12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;color:var(--text);font-size:.82rem;font-family:var(--mono);outline:none;transition:border .2s}
.bot-input:focus{border-color:rgba(240,185,11,.35)}
.bot-select{width:100%;padding:9px 12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;color:var(--text);font-size:.82rem;font-family:var(--mono);outline:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.bot-select option{background:#0d1b2a;color:var(--text)}
.bot-row{display:flex;gap:8px}
.bot-row .bot-field{flex:1}

/* ── CONTROL BUTTONS ── */
.bot-controls{display:flex;gap:8px;margin-top:14px}
.bot-btn{flex:1;padding:11px;border:none;border-radius:12px;font-size:.82rem;font-weight:800;cursor:pointer;transition:all .2s;font-family:var(--font);display:flex;align-items:center;justify-content:center;gap:6px}
.bot-btn-start{background:linear-gradient(135deg,#10B981,#059669);color:#fff}
.bot-btn-start:hover{box-shadow:0 6px 20px rgba(16,185,129,.4);transform:translateY(-1px)}
.bot-btn-start:disabled{background:rgba(255,255,255,.06);color:var(--muted);cursor:not-allowed;transform:none;box-shadow:none}
.bot-btn-pause{background:rgba(240,185,11,.15);color:var(--gold);border:1px solid rgba(240,185,11,.3)}
.bot-btn-pause:hover{background:rgba(240,185,11,.25)}
.bot-btn-stop{background:rgba(239,68,68,.12);color:#EF4444;border:1px solid rgba(239,68,68,.25)}
.bot-btn-stop:hover{background:rgba(239,68,68,.22)}
.bot-btn-reset{background:rgba(255,255,255,.06);color:var(--muted);border:1px solid rgba(255,255,255,.08)}
.bot-btn-reset:hover{background:rgba(255,255,255,.1);color:var(--text)}

/* ── STATUS BADGE ── */
.bot-status{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:.7rem;font-weight:700;margin-bottom:12px}
.bot-status.idle{background:rgba(148,163,184,.1);color:var(--muted)}
.bot-status.running{background:rgba(16,185,129,.1);color:#10B981;border:1px solid rgba(16,185,129,.2)}
.bot-status.paused{background:rgba(240,185,11,.1);color:var(--gold);border:1px solid rgba(240,185,11,.2)}
.bot-status.error{background:rgba(239,68,68,.1);color:#EF4444}
.bot-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.bot-status.idle .bot-status-dot{background:var(--muted)}
.bot-status.running .bot-status-dot{background:#10B981;box-shadow:0 0 8px #10B981;animation:pulse 1.5s infinite}
.bot-status.paused .bot-status-dot{background:var(--gold);box-shadow:0 0 6px var(--gold)}
.bot-status.error .bot-status-dot{background:#EF4444}

/* ── LIVE DASHBOARD (center) ── */
.bot-dash-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
@media(max-width:800px){.bot-dash-grid{grid-template-columns:1fr 1fr}}
.bot-metric{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px 14px;text-align:center;transition:border-color .3s}
.bot-metric.positive{border-color:rgba(16,185,129,.25)}
.bot-metric.negative{border-color:rgba(239,68,68,.2)}
.bot-metric-label{font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
.bot-metric-value{font-size:1.2rem;font-weight:800;font-family:var(--mono)}
.bot-metric-change{font-size:.62rem;margin-top:2px}
.bot-metric-change.up{color:#10B981}
.bot-metric-change.dn{color:#EF4444}

/* ── CHART AREA ── */
.bot-chart-wrap{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px;margin-bottom:14px;position:relative;min-height:200px}
.bot-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.bot-chart-title{font-weight:700;font-size:.78rem}
.bot-chart-btns{display:flex;gap:4px}
.bot-chart-btn{padding:4px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:none;color:var(--muted);font-size:.62rem;font-weight:600;cursor:pointer;font-family:var(--font);transition:all .15s}
.bot-chart-btn.active,.bot-chart-btn:hover{background:rgba(240,185,11,.1);color:var(--gold);border-color:rgba(240,185,11,.3)}
.bot-chart-canvas{width:100%;height:180px;border-radius:8px}

/* ── LIVE TRADE FEED ── */
.bot-feed{max-height:320px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(240,185,11,.2) transparent}
.bot-feed::-webkit-scrollbar{width:4px}
.bot-feed::-webkit-scrollbar-thumb{background:rgba(240,185,11,.2);border-radius:4px}
.bot-trade{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(255,255,255,.04);border-radius:10px;margin-bottom:6px;font-size:.72rem;transition:all .3s;animation:fadeIn .3s ease}
.bot-trade.buy{border-left:3px solid #10B981;background:rgba(16,185,129,.04)}
.bot-trade.sell{border-left:3px solid #EF4444;background:rgba(239,68,68,.04)}
.bot-trade.arb{border-left:3px solid var(--cyan);background:rgba(0,212,255,.04)}
.bot-trade-side{font-weight:800;font-size:.66rem;text-transform:uppercase;min-width:32px}
.bot-trade.buy .bot-trade-side{color:#10B981}
.bot-trade.sell .bot-trade-side{color:#EF4444}
.bot-trade.arb .bot-trade-side{color:var(--cyan)}
.bot-trade-pair{font-weight:700;flex:1}
.bot-trade-amt{font-family:var(--mono);font-weight:600;color:var(--text)}
.bot-trade-pnl{font-family:var(--mono);font-weight:700;min-width:60px;text-align:right}
.bot-trade-pnl.up{color:#10B981}
.bot-trade-pnl.dn{color:#EF4444}
.bot-trade-time{font-size:.58rem;color:var(--dim);min-width:50px;text-align:right}
.bot-trade-hash{min-width:0;flex-shrink:1}
.bot-trade-hash a:hover{text-decoration:underline!important;color:var(--gold)!important}

/* ── PORTFOLIO (right sidebar) ── */
.bot-portfolio-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(255,255,255,.05);border-radius:10px;margin-bottom:6px}
.bot-portfolio-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;flex-shrink:0}
.bot-portfolio-info{flex:1}
.bot-portfolio-sym{font-weight:700;font-size:.78rem}
.bot-portfolio-amt{font-size:.66rem;color:var(--muted);font-family:var(--mono)}
.bot-portfolio-val{text-align:right;font-family:var(--mono)}
.bot-portfolio-usd{font-weight:700;font-size:.78rem}
.bot-portfolio-pct{font-size:.6rem;margin-top:1px}

/* ── SETTINGS SECTION ── */
.bot-settings-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.bot-settings-row:last-child{border-bottom:none}
.bot-settings-label{font-size:.72rem;color:var(--muted)}
.bot-settings-value{font-size:.72rem;font-weight:600;font-family:var(--mono)}

/* ── TOGGLE SWITCH ── */
.bot-toggle{position:relative;width:36px;height:20px;cursor:pointer}
.bot-toggle input{display:none}
.bot-toggle-track{position:absolute;inset:0;background:rgba(255,255,255,.1);border-radius:10px;transition:background .2s}
.bot-toggle input:checked+.bot-toggle-track{background:rgba(16,185,129,.4)}
.bot-toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.bot-toggle input:checked~.bot-toggle-knob{transform:translateX(16px)}

/* ── DB COLLECTOR PANEL ── */
.bot-db-panel{margin-top:14px}
.bot-db-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.bot-db-stat{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:8px 10px;text-align:center}
.bot-db-stat-label{font-size:.56rem;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.bot-db-stat-val{font-size:.88rem;font-weight:800;font-family:var(--mono);margin-top:2px}
.bot-db-actions{display:flex;gap:6px;flex-wrap:wrap}
.bot-db-btn{padding:7px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--text);font-size:.66rem;font-weight:600;cursor:pointer;font-family:var(--font);transition:all .15s;display:flex;align-items:center;gap:4px}
.bot-db-btn:hover{background:rgba(240,185,11,.1);border-color:rgba(240,185,11,.25);color:var(--gold)}

/* ── SPEED SLIDER ── */
.bot-speed{display:flex;align-items:center;gap:8px;margin-top:8px}
.bot-speed-label{font-size:.66rem;color:var(--muted);min-width:40px}
.bot-speed input[type=range]{flex:1;-webkit-appearance:none;height:4px;background:rgba(255,255,255,.1);border-radius:4px;outline:none}
.bot-speed input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--gold);cursor:pointer;box-shadow:0 0 8px rgba(240,185,11,.4)}
.bot-speed-val{font-size:.66rem;font-weight:700;font-family:var(--mono);min-width:24px;text-align:right;color:var(--gold)}

/* ── ANIMATIONS ── */
@keyframes fadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes flashGreen{0%{background:rgba(16,185,129,.15)}100%{background:transparent}}
@keyframes flashRed{0%{background:rgba(239,68,68,.15)}100%{background:transparent}}
.flash-green{animation:flashGreen .6s ease}
.flash-red{animation:flashRed .6s ease}
